.game-catalog{max-width:1320px;min-height:calc(100dvh - 210px)}.catalog-heading{text-align:center;margin-bottom:34px}.catalog-heading .pill{background:#fff0b7;border-color:#e6c95d;color:#695017}.catalog-heading h1{margin:18px 0 8px;font-size:clamp(42px,4vw,66px);color:#483561;letter-spacing:-2px}.catalog-heading p{color:#62647a;font-size:19px}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.game-card{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:390px;padding:18px;overflow:hidden;text-align:left;border:3px solid #d7c9e8;border-radius:32px;background:#fffdf9;box-shadow:0 10px #d9cce7,0 20px 38px #4c3c6220}.game-card:hover{transform:translateY(-5px);box-shadow:0 15px #d9cce7,0 26px 44px #4c3c6226}.game-card-art{position:relative;display:block;width:100%;aspect-ratio:1;align-self:center;overflow:hidden;border-radius:22px;background:linear-gradient(#bce9ff 0,#bce9ff 62%,#85ce7b 63%)}.game-card-art:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-18%;height:42%;border-radius:50% 50% 0 0;background:#55aa62}.game-card-copy{display:flex;flex-direction:column;align-items:flex-start;padding:18px 12px 10px 24px}.game-card-tag{padding:8px 12px;border-radius:12px;background:#eadcf8;color:#6f429b;font-size:12px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.game-card-copy>strong{margin:14px 0 10px;color:#3e344d;font-size:30px;line-height:1.08}.game-description{color:#686a7c;font-size:15px;line-height:1.48}.game-details{display:flex;flex-direction:column;gap:7px;margin-top:auto;padding-top:18px;color:#646276;font-size:14px}.game-details b{color:#423752}.open-game{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:18px;min-height:54px;padding:0 17px;border-radius:15px;background:#7446ab;color:#fff;font-size:17px;font-weight:800;box-shadow:0 4px #502c7a}.open-game b{font-size:28px}.tug-card .game-card-art{background:linear-gradient(#d8f3ff 0,#d8f3ff 64%,#f2d995 65%)}.tug-team{position:absolute;z-index:2;top:46%;display:grid;place-items:center;width:70px;height:70px;border:6px solid #fff;border-radius:50%;color:#fff;font-size:30px;font-weight:900;box-shadow:0 7px #25394b33}.tug-team.left{left:20px;background:#22a993}.tug-team.right{right:20px;background:#ed8952}.mini-rope{position:absolute;z-index:1;top:58%;left:65px;right:65px;height:10px;border-radius:10px;background:#80552b;transform:rotate(-3deg)}.mini-rope i{position:absolute;left:50%;top:-14px;width:10px;height:38px;background:#f1c13f;border-radius:5px}.math-bubble{position:absolute;display:grid;place-items:center;width:60px;height:60px;border-radius:18px;color:#5f4383;background:#fff0a7;font-size:37px;font-weight:900;transform:rotate(-12deg)}.math-bubble.plus{top:28px;left:25px}.math-bubble.times{top:70px;right:30px;color:#1c7469;background:#c4f0e1;transform:rotate(12deg)}.preview-butterfly{position:absolute;z-index:2;width:150px}.preview-butterfly.one{left:15px;top:35px;transform:rotate(-12deg)}.preview-butterfly.two{right:5px;top:105px;width:135px;transform:rotate(12deg)}.preview-butterfly.three{left:50px;bottom:35px;width:120px;transform:rotate(6deg)}.preview-flower{position:absolute;z-index:3;right:28px;bottom:3px;color:#ffe38e;font-size:70px}@media(max-width:1100px){.game-card{grid-template-columns:1fr}.game-card-art{width:min(280px,100%);margin:0 auto}.game-card-copy{padding:18px 10px 8px}}@media(max-width:700px){.game-grid{grid-template-columns:1fr}.game-catalog{padding-left:18px;padding-right:18px}.game-card{min-height:0}}.butterfly-game{width:min(1840px,100%);min-height:calc(100dvh - 112px);margin:0 auto;padding:18px 42px 28px;overflow:hidden}.butterfly-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,2fr) minmax(360px,1fr);align-items:center;gap:18px;margin-bottom:14px}.butterfly-heading{text-align:center}.butterfly-heading .eyebrow{color:#7d4aa9}.butterfly-heading h1{margin-top:4px;font-size:clamp(27px,2.2vw,42px);color:#44305f}.butterfly-actions{display:flex;justify-content:flex-end;gap:10px}.butterfly-actions button,.back-to-games{min-height:72px}.sound-toggle{padding:0 18px;border:2px solid #b8d9cf;background:#e4f6ee;color:#1b6759}.sound-toggle span{margin-right:8px;font-size:23px}.sound-toggle[aria-pressed=false]{background:#f1eef4;color:#716a7a;border-color:#d8d1df}.butterfly-garden{position:relative;height:280px;overflow:hidden;border:3px solid #9ccbe3;border-radius:30px;background:#aee1f5;box-shadow:inset 0 -8px #438c55,0 7px #dac9ea}.butterfly-forest{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.forest-flowers text:nth-child(odd){fill:#ffe28c}.forest-flowers text:nth-child(2n){fill:#ffc0d6}.garden-copy{position:absolute;z-index:3;top:18px;left:22px;display:flex;flex-direction:column;gap:4px;padding:10px 15px;border-radius:16px;background:#fffbe9d9;color:#46524d}.garden-copy span{font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}.garden-copy strong{font-size:16px}.matched-butterflies{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;pointer-events:none}.landed-butterfly{position:absolute;animation:butterfly-flight 1.75s cubic-bezier(.18,.72,.22,1) both;transform-origin:center bottom;filter:drop-shadow(0 6px 5px #172f3540)}.complete-butterfly{position:relative;display:block;width:100%;aspect-ratio:1.5;transform-style:preserve-3d}.complete-wing{position:absolute;top:0;width:54%;filter:drop-shadow(0 8px 5px #394b5a40);transform-origin:95% 55%}.complete-wing.left{left:0;animation:wing-flap-left 1.35s ease-in-out infinite}.complete-wing.right{right:0;transform-origin:5% 55%;animation:wing-flap-right 1.35s ease-in-out infinite}.complete-wing svg{display:block;width:100%}.butterfly-body{position:absolute;z-index:3;left:50%;top:37%;width:8%;height:47%;transform:translate(-50%);border-radius:60% 60% 45% 45%;background:linear-gradient(90deg,#2b2434,#66576c,#2b2434)}.butterfly-body:before{content:"";position:absolute;width:170%;aspect-ratio:1;left:-35%;top:-28%;border-radius:50%;background:#2b2434}.match-feedback{min-height:50px;display:flex;align-items:center;justify-content:center;gap:10px;color:#514462;font-weight:800;font-size:18px}.match-feedback span{font-size:25px}.assembly-board{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;padding:10px 18px;border:2px dashed #d6c6e8;border-radius:28px;background:linear-gradient(180deg,#fffdf7d9,#f2ecfad9)}.butterfly-slot{position:relative;height:126px;min-width:0;border-radius:42% 42% 24px 24px;background:radial-gradient(circle at 50% 48%,#fff 0,#fff 15%,#edf8f3 16%,#edf8f3 58%,#e1f0ea 59%);perspective:500px}.fixed-wing,.wing-drop-zone{position:absolute;top:6px;width:54%;height:112px}.fixed-wing{left:0}.fixed-wing svg{width:100%;height:100%;filter:drop-shadow(0 6px 4px #30283b35)}.wing-drop-zone{right:0;min-height:0;padding:0;border:0;border-radius:46%;background:transparent;box-shadow:none}.wing-drop-zone svg{width:100%;height:100%;transform:scaleX(-1)}.wing-drop-zone path{fill:#fff;fill-opacity:.42;stroke:#9a82b7;stroke-width:2.2;stroke-dasharray:7 7}.wing-drop-zone>span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#80649f;font-size:32px;font-weight:500}.wing-drop-zone:not(:disabled):hover path,.wing-drop-zone:focus-visible path{fill:#eee3fb;fill-opacity:.8;stroke:#7545aa}.slot-body{position:absolute;z-index:4;left:50%;top:48%;width:9px;height:50px;transform:translate(-50%,-20%);border-radius:50%;background:#302638}.slot-body:before{content:"";position:absolute;left:-3px;top:-7px;width:15px;height:15px;border-radius:50%;background:#302638}.butterfly-slot.wrong{animation:wing-wrong .28s ease-in-out 2;background:#fff0ee}.butterfly-slot.completed{opacity:.26}.butterfly-slot.completed .fixed-wing,.butterfly-slot.completed .slot-body{opacity:0}.slot-complete{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#25856c;font-size:48px;font-weight:900}.loose-wing-tray{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));align-items:center;gap:20px;min-height:118px;padding:2px 34px 0}.loose-wing{min-width:0;min-height:105px;height:105px;padding:0;border:0;border-radius:48%;background:transparent;box-shadow:none;touch-action:none;-webkit-user-select:none;user-select:none}.loose-wing svg{width:min(150px,100%);height:100%;filter:drop-shadow(0 8px 5px #30273d45);transition:transform .18s ease,filter .18s ease}.loose-wing:hover svg{transform:translateY(-5px) scale(1.04)}.loose-wing.selected svg{transform:translateY(-7px) scale(1.06);filter:drop-shadow(0 0 10px #8c5bbe) drop-shadow(0 8px 5px #30273d35)}.loose-wing.drag-source{opacity:.18}.loose-wing:disabled{opacity:0;pointer-events:none}.dragging-wing{position:fixed;z-index:100;width:150px;height:105px;pointer-events:none;filter:drop-shadow(0 15px 10px #261d3338);transform:scale(1.06) rotate(2deg)}.dragging-wing svg{width:100%;height:100%}.wing-shadow{fill:#2f263b33;transform:translateY(5px)}.celebration-butterfly{width:230px;margin:-18px auto 0}@keyframes wing-flap-left{50%{transform:perspective(280px) rotateY(34deg) rotate(-3deg)}}@keyframes wing-flap-right{50%{transform:perspective(280px) rotateY(-34deg) rotate(3deg)}}@keyframes butterfly-flight{0%{opacity:0;transform:translate(var(--flight-x),var(--flight-y)) scale(.2) rotate(-24deg)}14%{opacity:1}38%{transform:translate(65px,-58px) scale(.62) rotate(15deg)}66%{transform:translate(-38px,20px) scale(.82) rotate(-10deg)}84%{transform:translate(16px,-12px) scale(.94) rotate(5deg)}to{opacity:1;transform:translate(0) scale(1) rotate(var(--perch-rotation))}}@keyframes wing-wrong{25%{transform:translate(-7px) rotate(-2deg)}75%{transform:translate(7px) rotate(2deg)}}@media(max-width:1250px){.butterfly-game{padding:16px 22px 26px}.butterfly-toolbar{grid-template-columns:180px 1fr 320px}.butterfly-actions .quiet{display:none}.assembly-board,.loose-wing-tray{grid-template-columns:repeat(3,1fr)}.butterfly-garden{height:250px}}@media(max-width:800px){.butterfly-game{padding:12px 16px 25px}.butterfly-toolbar{grid-template-columns:1fr 1fr}.butterfly-heading{grid-column:1 / -1;grid-row:1}.back-to-games{grid-column:1;grid-row:2}.butterfly-actions{grid-column:2;grid-row:2}.butterfly-actions .sound-toggle{width:100%}.butterfly-garden{height:230px}.landed-butterfly{width:96px!important}.assembly-board{grid-template-columns:repeat(3,1fr);gap:8px;padding:8px}.butterfly-slot{height:112px}.fixed-wing,.wing-drop-zone{height:100px}.loose-wing-tray{grid-template-columns:repeat(3,1fr);gap:6px;padding:0 12px}.loose-wing{height:95px;min-height:95px}.match-feedback{font-size:15px;text-align:center}}@media(max-width:520px){.butterfly-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between}.butterfly-heading{order:-1;width:100%}.butterfly-heading h1{font-size:27px}.back-to-games,.butterfly-actions{width:calc(50% - 5px)}.sound-toggle{font-size:0}.sound-toggle span{margin:0;font-size:25px}.garden-copy{left:10px;top:10px}.garden-copy{transform:scale(.9);transform-origin:top left}.assembly-board,.loose-wing-tray{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.complete-wing,.landed-butterfly{animation:none}}:root{font-family:DM Sans,sans-serif;color:#243b36;background:#f7f5ed;font-synthesis:none;font-weight:500;--green: #24766c;--orange: #bc4e2e;--border: #dcded3}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;min-height:72px;border:1px solid var(--border);border-radius:16px;background:#fff;color:inherit;font-weight:700;touch-action:manipulation;transition:background .15s,transform .12s,box-shadow .15s}button:active{transform:translateY(3px) scale(.98);filter:brightness(.92)}button:focus-visible,input:focus-visible{outline:4px solid #d99a1c;outline-offset:4px}button:disabled{opacity:.5;cursor:default}h1,h2,p{margin:0}h1,h2,strong,.question,.keypad{font-family:Outfit,sans-serif}em{font-style:normal;color:var(--green)}.app-header{height:112px;max-width:1840px;margin:auto;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:flex;gap:14px;align-items:center;font-family:Outfit,sans-serif;font-size:26px;font-weight:700}.brand-icon{font-size:48px;color:var(--green)}.brand-light{font-weight:400;color:#737c70}.quiet{background:transparent;padding:0 24px;border-color:var(--border);font-size:17px}.fullscreen{position:relative}.fullscreen [role=status]{position:absolute;top:100%;right:0;width:300px;background:#fff;padding:12px;z-index:5;box-shadow:0 4px 20px #0002}.eyebrow{display:block;font-size:13px;letter-spacing:2px;font-weight:800}.pill{display:inline-block;padding:11px 17px;border:1px solid #cbd5c4;border-radius:30px;font-size:12px;letter-spacing:1.5px;font-weight:800}.primary{background:var(--green);color:#fff;border-color:var(--green);padding:0 32px;font-size:22px;display:inline-flex;gap:46px;align-items:center;justify-content:space-between;box-shadow:0 5px #15574f}.primary span{font-size:30px}.page{max-width:1400px;margin:auto;padding:54px 48px}.home{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:60px;min-height:calc(100dvh - 200px)}.home h1{font-size:clamp(44px,4.1vw,78px);letter-spacing:-3px;line-height:1.08;margin:28px 0}.home-copy p{font-size:20px;line-height:1.7;max-width:540px;color:#667167;margin-bottom:34px}.home-meta{margin-top:32px;letter-spacing:1px;font-size:12px;color:#687569}.home-meta span{margin:0 12px}.home-art{background:#eeefe1;border:1px solid #dde1ce;border-radius:48% 48% 24px 24px;text-align:center;padding:65px 18px 30px}.home-art h2{font-size:44px;margin:12px 0}.home-art p{font-size:15px;color:#62715f}.home-art .rope-meter,.home-art .rope-caption{display:none}footer{max-width:1744px;margin:0 auto;padding:28px 48px;color:#7b8476;font-size:11px;letter-spacing:1.5px;display:flex;justify-content:space-between}footer span{letter-spacing:0;font-size:13px}.setup{max-width:1160px;padding-top:30px}.page-title{text-align:center;margin-bottom:30px}.page-title h1{font-size:46px;letter-spacing:-1.7px;margin:10px 0}.page-title p{color:#69756a;font-size:17px}.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.name-card{padding:20px 24px;border-radius:18px;background:#e9f1e9;border:1px solid #cbdfd4}.name-card.team-1{background:#faeee3;border-color:#edcfbb}.name-card input{margin-top:10px;border:0;border-bottom:2px solid #a6c2b5;border-radius:0;background:transparent;color:inherit;font-size:28px;font-weight:700;width:100%;min-height:72px;padding:8px 0}.name-card.team-1 input{border-color:#dcac94}fieldset{border:0;padding:0;margin:28px 0 0;min-width:0}legend{margin-bottom:15px;font-size:17px;font-weight:700}legend b{color:#859281;margin-right:12px;font-size:13px}.options{display:flex;gap:12px}.options button{flex:1;padding:0 16px;text-transform:capitalize;font-size:20px}.options button[aria-pressed=true]{background:#e4eee4;border:2px solid var(--green);box-shadow:0 0 0 1px var(--green)}.operations button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:88px;font-size:17px}.operations strong{font-size:32px}.setup-bottom{display:grid;grid-template-columns:1fr 1fr;gap:34px}.start-row{display:flex;justify-content:space-between;align-items:center;margin-top:36px;padding-top:26px;border-top:1px solid var(--border)}.start-row p{line-height:1.7;color:#72806e;font-size:14px}.start-row strong{color:#435b4f}.start-row .primary{min-width:300px}.game-page{max-width:1920px;margin:auto;padding:20px 40px 28px}.match-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.match-heading h1{font-size:28px;margin-top:6px}.match-heading h1 span{font:500 15px DM Sans,sans-serif;color:#788371;text-transform:capitalize}.arena{display:grid;grid-template-columns:minmax(300px,1fr) minmax(330px,1.22fr) minmax(300px,1fr);gap:26px;height:calc(100dvh - 260px);min-height:640px;max-height:820px}.team-panel{border:1px solid #c4dcd0;border-radius:24px;background:#edf4ed;padding:26px;display:flex;flex-direction:column;min-width:0;transition:box-shadow .15s}.team-panel.team-1{grid-column:3;background:#fbefe5;border-color:#ecd0bf}.team-heading{display:flex;justify-content:space-between;gap:8px;align-items:center}.team-heading h2{font-size:clamp(24px,2vw,38px);line-height:1.15;overflow-wrap:anywhere;margin-top:7px}.team-0 .eyebrow{color:#286e64}.team-1 .eyebrow{color:#a44c31}.score{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;border-radius:16px;background:#fff9;min-width:75px;padding:10px}.score strong{font-size:32px;line-height:1}.score span{font-size:12px;margin-top:5px}.question{font-size:clamp(36px,3.3vw,64px);text-align:center;white-space:nowrap;letter-spacing:-1px;margin:24px 0 16px}.question span{color:#839180}.answer{height:86px;min-height:72px;border:2px solid #9cbdac;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:42px;background:#fff}.answer span{font-size:20px;color:#7d897c}.team-1 .answer{border-color:#dab49d}.feedback{height:42px;min-height:42px;display:flex;align-items:center;justify-content:center;font-size:15px;color:#70816d}.feedback.correct{color:#166442;font-weight:800}.feedback.wrong{color:#a63b27;font-weight:800}.team-panel.correct{box-shadow:0 0 0 4px #4c9a68}.team-panel.wrong{box-shadow:0 0 0 4px #cf7051}.keypad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,minmax(72px,1fr));gap:12px;flex:1}.keypad button{min-width:72px;font-size:34px;box-shadow:0 4px #cad9ca;border-color:#cfdbcc;-webkit-user-select:none;user-select:none}.team-1 .keypad button{box-shadow:0 4px #e2cabc;border-color:#e8d3c4}.keypad .clear-key{background:#dfe9df;font-size:26px}.team-1 .keypad .clear-key{background:#f0dfd0}.keypad .submit-key{background:var(--green);color:#fff;border-color:var(--green)}.team-1 .keypad .submit-key{background:var(--orange);border-color:var(--orange)}.center-panel{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:space-between;padding:12px 0 20px;min-width:0}.timer{width:180px}.timer strong{display:block;font-size:64px;font-variant-numeric:tabular-nums;line-height:1.2}.timer-track{height:5px;background:#dde2d5;border-radius:8px;overflow:hidden;margin-top:10px}.timer-track i{display:block;height:100%;background:var(--green);transition:width .3s}.timer.urgent{color:#ac3d25}.timer.urgent i{background:#ac3d25}.scene-title{margin-top:25px}.scene-title h2{font-size:clamp(28px,2.6vw,48px);line-height:1.1;letter-spacing:-1px;margin-top:18px}.tug-scene{width:100%;min-width:0}.tug-scene svg{width:100%;overflow:hidden}.tug-scene text{font-size:16px;fill:#73826a;font-family:DM Sans,sans-serif}.rope-group{transition:transform .45s cubic-bezier(.2,.7,.3,1)}.puller{animation:pull 1.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}.puller-1{animation-delay:.15s}@keyframes pull{50%{rotate:-3deg}}.rope-meter{height:8px;border-radius:10px;background:linear-gradient(to right,#3b8b7b,#dce3cc 49%,#ecd9bd 51%,#cf7454);position:relative;margin:10px 42px 20px}.rope-meter i{position:absolute;top:-5px;width:8px;height:18px;border-radius:4px;background:#314b3b;transform:translate(-50%);transition:left .45s}.rope-caption{font-size:13px;color:#6c7b66}.rope-caption strong{margin-left:9px;color:#324d3b}.game-hint{font-size:14px;line-height:1.7;color:#718168;margin-top:20px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#213b32a6;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:grid;place-items:center;z-index:20;padding:24px}.modal{background:#faf8ef;border:1px solid #fff;border-radius:30px;padding:40px;text-align:center;width:min(600px,100%);max-height:95dvh;overflow:auto;box-shadow:0 30px 100px #14271e40}.modal h2{font-size:44px;overflow-wrap:anywhere;margin:12px 0}.modal p{color:#6a7a64;line-height:1.6;margin:12px 0 24px}.modal button{display:flex;justify-content:center;width:100%;margin-top:16px}.trophy{font-size:80px;color:#c89420;line-height:1.2}.result-scores{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}.result-scores div{display:flex;flex-direction:column;gap:8px;background:#e9efdf;padding:20px;border-radius:16px;overflow-wrap:anywhere}.result-scores strong{font-size:48px}.result-scores small{color:#63765d}@media(min-width:1700px){.home{max-width:1570px}.setup{padding-top:45px}.page-title{margin-bottom:36px}.name-card{padding:24px}.setup fieldset{margin-top:36px}.start-row{margin-top:44px}.arena{gap:36px}.team-panel{padding:32px}.keypad{gap:16px}.keypad button{font-size:40px}.question{margin:30px 0 20px}.feedback{height:50px;min-height:50px;font-size:17px}}@media(max-width:1150px){.app-header{padding:12px 24px;height:96px}.game-page{padding:14px 18px}.arena{gap:12px;grid-template-columns:minmax(250px,1fr) minmax(200px,.85fr) minmax(250px,1fr);min-height:620px;height:calc(100dvh - 220px)}.team-panel{padding:16px}.keypad{gap:8px}.question{font-size:36px}.team-heading h2{font-size:24px}.scene-title h2{font-size:30px}.timer strong{font-size:52px}.home{gap:24px}.operations button{font-size:14px;padding:8px}.setup{padding:25px}.page-title h1{font-size:38px}}@media(max-width:800px){.brand{font-size:19px}.brand-light{display:none}.quiet{padding:0 14px}.page{padding:30px 20px}.home{grid-template-columns:1fr}.home-art{max-width:500px;margin:auto}.home h1{letter-spacing:-2px}.setup-bottom{grid-template-columns:1fr;gap:0}.operations{display:grid;grid-template-columns:1fr 1fr}.name-grid{gap:12px}.name-card{padding:16px}.start-row{gap:20px;flex-direction:column}.start-row .primary{width:100%}footer{padding:25px 20px}footer span{display:none}.arena{grid-template-columns:1fr 1fr;min-height:0;height:auto;max-height:none}.center-panel{grid-column:1 / -1;grid-row:1;display:grid;grid-template-columns:150px 1fr;padding:0;gap:16px}.center-panel .scene-title,.center-panel .game-hint,.center-panel .rope-caption{display:none}.center-panel .tug-scene{max-width:350px;margin-left:auto}.center-panel .tug-scene svg{max-height:145px}.center-panel .rope-meter{margin-top:0;margin-bottom:10px}.team-panel{grid-row:2}.team-panel.team-1{grid-column:2}.keypad{grid-template-rows:repeat(4,72px)}.match-heading h1 span{display:block;font-size:12px;margin-top:5px}.question{font-size:30px}.team-heading{align-items:flex-start}.score{min-width:48px;padding:8px}.score strong{font-size:24px}.score span{font-size:10px}.team-heading h2{font-size:20px}.eyebrow{font-size:11px}.feedback{font-size:12px}.answer span{font-size:16px}}@media(max-width:480px){.game-page{padding:12px 8px}.team-panel{padding:8px}.arena{gap:8px}.keypad{gap:6px}.keypad button{min-width:0;font-size:26px}.question{font-size:26px}.team-heading{flex-direction:column}.score{flex-direction:row;gap:8px}.team-heading h2{min-height:28px}.name-grid{grid-template-columns:1fr}.brand-icon{font-size:32px}.fullscreen .quiet{font-size:14px}.modal{padding:24px}.modal h2{font-size:34px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}dialog.modal{color:inherit;margin:auto}dialog.modal::backdrop{background:#213b32a6;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.header-actions{display:flex;align-items:center;gap:12px}.google-sign-in,.profile-trigger{min-height:58px;border-color:#d8cbed;padding:0 16px;display:flex;align-items:center;gap:9px;color:#513674}.google-sign-in span,.profile-trigger>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#7344ae;color:#fff}.profile-loading{width:132px;height:58px;border-radius:16px;background:#eee9f5}.profile-menu{position:relative}.profile-trigger img{width:34px;height:34px;border-radius:50%}.profile-trigger i{font-style:normal}.profile-dropdown{position:absolute;z-index:30;right:0;top:calc(100% + 10px);width:280px;padding:10px;border:1px solid #ded2ef;border-radius:18px;background:#fffdf8;box-shadow:0 18px 50px #3620502b}.profile-summary{padding:12px 14px 16px;border-bottom:1px solid #ece5f2;display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}.profile-summary small{color:#756b7c}.profile-dropdown button{width:100%;min-height:48px;border:0;text-align:left;background:transparent;padding:0 14px}.profile-dropdown button:hover{background:#f3ecfb}.profile-dropdown .sign-out{color:#a03d4a;border-top:1px solid #ece5f2}.premium-crown{display:block;color:#e3aa25;font-size:54px}.premium-modal ul{text-align:left;margin:18px auto 24px;max-width:420px;padding:0;list-style:none;display:grid;gap:8px;color:#4d5f58}.premium-modal li:first-letter{color:#2c8a70}.plan-selector{display:grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:18px;background:#eee7f7}.plan-selector button{min-height:54px;border:0;background:transparent}.plan-selector button[aria-pressed=true]{background:#7344ae;color:#fff;box-shadow:0 4px #51317b}.premium-total{margin:18px 0;padding:18px;border-radius:18px;background:#fff2ca;display:grid;gap:5px}.premium-total strong{font-size:30px;color:#513674}.premium-total small{color:#76642d}.premium-pay{width:100%}.trial-button{width:100%;margin-top:12px;color:#5d3689;border-color:#bfa9dc;background:#f6f0fd}.premium-close{width:100%;margin-top:10px;min-height:50px}.account-error{color:#9e283c;background:#fdebed;padding:10px;border-radius:12px;margin:10px 0}.mock-checkout{display:grid;gap:8px}.premium-success{position:fixed;right:24px;bottom:24px;z-index:40;padding:18px 24px;border-radius:16px;background:#236f5d;color:#fff;box-shadow:0 12px 40px #183b333d}.expiry-banner{max-width:1744px;margin:10px auto 0;padding:10px 18px;border:1px solid #e6ca78;border-radius:16px;background:#fff3c9;color:#684f14;display:flex;align-items:center;justify-content:center;gap:20px}.expiry-banner button{min-height:44px;padding:0 16px;background:#7344ae;color:#fff;border-color:#7344ae}.premium-badge{position:absolute;z-index:2;top:14px;right:14px;padding:7px 10px;border-radius:999px;background:#7344ae;color:#fff;font-size:11px;letter-spacing:.6px;box-shadow:0 3px #51317b}.game-card{position:relative}.account-page{max-width:1080px;min-height:calc(100dvh - 210px)}.account-heading{text-align:center;margin-bottom:28px}.account-heading h1{font-size:48px;margin-top:12px;color:#432f59}.account-card{border:1px solid #ded2ea;border-radius:26px;padding:30px;background:#fffdf8;box-shadow:0 8px #e7ddf0}.profile-card{display:flex;align-items:center;gap:24px}.profile-card img{width:92px;height:92px;border-radius:50%}.profile-card h2{font-size:34px}.subscription-card>strong{display:block;font:700 36px Outfit,sans-serif;color:#513674;margin:14px 0 24px}.subscription-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.subscription-card dl div{padding:18px;background:#f4f0f8;border-radius:16px}.subscription-card dt{color:#756b7c;font-size:13px}.subscription-card dd{margin:8px 0 0;font-weight:800}.subscription-history{margin-top:28px;padding-top:22px;border-top:1px solid #e9e2ec}.subscription-history h3{font-size:20px}.subscription-history>div{display:grid;grid-template-columns:1fr auto 2fr;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #eee8f1}.subscription-history small{text-align:right;color:#756b7c}.status-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eee8f5;color:#5b3c7d;font-size:12px;font-weight:900;letter-spacing:.7px}.status-badge.active,.status-badge.paid,.status-badge.trial{background:#dff3e9;color:#17634c}.status-badge.failed,.status-badge.expired,.status-badge.payment.failed{background:#f9dfe3;color:#972d40}.billing-scroll{overflow-x:auto}.billing-card table{width:100%;border-collapse:collapse;text-align:left}.billing-card th,.billing-card td{padding:15px 10px;border-bottom:1px solid #e9e2ec;white-space:nowrap}.billing-card a{color:#6840a0;font-weight:800}.empty-state{text-align:center;padding:40px;color:#756b7c}@media(max-width:1050px){.google-sign-in{font-size:0;padding:0 12px}.profile-trigger b{display:none}.subscription-card dl{grid-template-columns:1fr}}@media(max-width:800px){.header-actions{gap:5px}.profile-trigger,.google-sign-in{min-width:56px;padding:0 10px}.profile-dropdown{position:fixed;top:90px;right:12px}.account-heading h1{font-size:36px}}@media(min-width:801px)and (max-height:950px){.app-header{height:96px}.game-page{padding:14px 24px 20px}.match-heading{margin-bottom:14px}.arena{height:calc(100dvh - 225px);min-height:665px}.team-panel{padding:12px}.score{padding:8px}.question{font-size:40px;margin:8px 0}.answer{height:72px;min-height:72px}.feedback{height:32px;min-height:32px}.keypad{gap:8px}}:root{font-family:Trebuchet MS,Segoe UI,sans-serif;color:#29334c;background:#fffaf0;--green: #14766f;--orange: #ba4c25;--border: #dedce9}body{background-image:radial-gradient(#bcb1d52b 1.5px,transparent 1.5px);background-size:28px 28px}#root{position:relative;isolation:isolate}h1,h2,strong,.question,.keypad,.brand{font-family:Trebuchet MS,Segoe UI,sans-serif}.classroom-doodles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;overflow:hidden;opacity:.65}.classroom-doodles svg{width:100%;height:100%}#root:has(.game-page) .classroom-doodles{opacity:.15}.app-header{background:#fffaf0e8;border-bottom:2px dashed #d6cde6}.brand-button{min-height:72px;padding:0;border:0;border-radius:14px;background:transparent;text-align:left}.brand-button:focus-visible{outline-offset:8px}.main-navigation{margin-left:auto;margin-right:22px}.games-link{display:flex;align-items:center;gap:10px;padding:0 22px;border:2px solid #d8c8eb;background:#f5ecff;color:#684292;font-size:17px;box-shadow:0 4px #d6c6e8}.games-link span{font-size:28px}.games-link[aria-current=page]{border-color:#7446ab;background:#7446ab;color:#fff;box-shadow:0 4px #502c7a}.brand-icon{color:#8153b9}.brand-light{color:#68647d}.header-actions{display:flex;gap:16px;align-items:center}.language-selector{display:flex;gap:4px;padding:4px;border:1px solid #d9cce9;border-radius:20px;background:#f2eafb}.language-selector button{min-width:72px;border:0;background:transparent;color:#654688;font-size:18px}.language-selector button[aria-pressed=true]{background:#7446ab;color:#fff;box-shadow:0 3px #57317f}.quiet{background:#fffcf7}.primary{background:#7446ab;border-color:#7446ab;box-shadow:0 5px #502c7a;border-radius:20px}.home em{color:#7446ab}.home h1{font-size:clamp(40px,3.5vw,67px);letter-spacing:-2px;line-height:1.14}.home-copy p,.page-title p{color:#5f6276}.home .pill{background:#fff0b7;border-color:#e6c95d;color:#695017}.home-art{position:relative;background:#eaf5ff;border:3px solid #c1e0ef;border-radius:100px 100px 36px 36px;box-shadow:9px 10px #dbd0ec}.home-art h2{color:#5b3f84}.home-art p{color:#425f75;font-weight:700}.math-stickers{position:absolute;top:-24px;left:12%;right:12%;display:flex;justify-content:space-between}.math-stickers span{display:grid;place-items:center;width:64px;height:64px;border:3px solid white;border-radius:19px;font-size:38px;font-weight:800;background:#ffe08b;color:#755419;transform:rotate(-12deg);box-shadow:0 4px #29334c15}.math-stickers span:nth-child(2){background:#ddc9f5;color:#684094;transform:rotate(9deg)}.math-stickers span:nth-child(3){background:#ace1da;color:#1d645d;transform:rotate(-7deg)}.math-stickers span:nth-child(4){background:#ffcbb6;color:#974522;transform:rotate(13deg)}.page-title .eyebrow{color:#77549c}.name-card,.team-panel{background:#e2f5ed;border:2px solid #abd7c8}.name-card.team-1,.team-panel.team-1{background:#fff0de;border:2px solid #ecc799}.name-card input::placeholder{color:inherit;opacity:1}legend b{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:10px;color:#714a9d;background:#eadcf8}.options button{text-transform:none;box-shadow:0 3px #ddd5e8}.options button[aria-pressed=true]{border-color:#7950a8;background:#efe5fa;box-shadow:0 0 0 1px #7950a8}.operations strong{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#66438e;background:#e7d9f7}.operations button:nth-child(2) strong{color:#166f63;background:#c7ebe0}.operations button:nth-child(3) strong{color:#964321;background:#ffdac5}.operations button:nth-child(4) strong{color:#7b5c11;background:#ffe7a1}.team-heading .eyebrow span{display:inline-block;color:#b8891b;margin-right:4px}.team-1 .team-heading .eyebrow span{color:#b45423}.team-panel{border-top:7px solid #45aa97}.team-panel.team-1{border-top:7px solid #ed995c}.question{color:#283e48}.keypad button{border-radius:20px}.keypad .clear-key{background:#d5ece3}.team-1 .keypad .clear-key{background:#fae0bb}.scene-title .pill{color:#755a1d;background:#fff0b7;border-color:#e7cf80}.scene-title h2{color:#604486}.timer{background:#fffaf0ed;border-radius:24px}.feedback{text-align:center;color:#54645b}.game-hint,.rope-caption{color:#52624a;background:#fffaf0d9;border-radius:12px}.modal{background:#fffaf0;border:3px solid #d9c6f0}.result-scores div:first-child{background:#def2e9}.result-scores div:last-child{background:#ffebd2}@media(max-width:1150px){.header-actions{gap:8px}.main-navigation{margin-right:8px}.games-link{max-width:210px;padding:0 14px;line-height:1.15}.home-art{border-radius:65px 65px 28px 28px}.math-stickers span{width:54px;height:54px;font-size:32px}.home-meta{line-height:1.9;letter-spacing:0}.operations strong{width:36px;height:36px}.operations button{gap:7px}}@media(max-width:800px){.app-header{height:auto;min-height:96px;gap:8px;flex-wrap:wrap}.main-navigation{order:3;width:100%;margin:0}.games-link{width:100%;max-width:none;justify-content:center}#root:has(.game-page) .app-header,#root:has(.butterfly-game) .app-header{height:96px;min-height:96px;flex-wrap:nowrap}#root:has(.game-page) .main-navigation,#root:has(.butterfly-game) .main-navigation{display:none}.home-art{margin-top:30px}.home h1{font-size:44px}.classroom-doodles{opacity:.35}.feedback{font-size:11px;line-height:1.2}}@media(max-width:560px){.app-header{height:auto;min-height:112px;flex-wrap:wrap;gap:10px;padding:12px 16px}.header-actions{width:100%;justify-content:space-between}.brand-light{display:inline}.home-art h2{font-size:34px}.home h1{font-size:38px}.home-meta span{margin:0 5px}.primary{font-size:19px;padding:12px 24px;gap:20px}.home-art{padding-top:58px}.game-page .match-heading h1{font-size:23px}}
