@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fredoka-latin-400-normal-17JuUzdy.woff2)format("woff2"),url(/assets/fredoka-latin-400-normal-DbXSrOeS.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(/assets/fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/baloo-2-latin-400-normal-D8VfTcZx.woff2)format("woff2"),url(/assets/baloo-2-latin-400-normal-DCk_bY-6.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/baloo-2-latin-600-normal-tIfxVoAe.woff2)format("woff2"),url(/assets/baloo-2-latin-600-normal-B4tNaogw.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2)format("woff2"),url(/assets/baloo-2-latin-800-normal-B8BXfZF7.woff)format("woff")}:root,[data-style=playground]{--font:"Nunito", ui-rounded, system-ui, -apple-system, sans-serif;--bg:#f4f5fb;--surface:#fff;--soft:#eceef8;--ink:#1f2340;--muted:#555b72;--line:#dcdfec;--brand:#3b4bd8;--brand-edge:#2a37a8;--on-brand:#fff;--accent-text:#3b4bd8;--ok:#17824b;--warn:#a35f00;--danger:#c0392b;--star:#f2b705;--star-off:#d5d8e6;--lessons:#1f9d5c;--lessons-edge:#177a47;--puzzles:#6b3ff0;--puzzles-edge:#4f2bc2;--play:#e8730c;--play-edge:#b85a06;--live:#1a87d6;--live-edge:#13679f;--openings:#c2185b;--openings-edge:#8e1243;--beginner:#e8730c;--beginner-soft:#fde9d6;--strong:#3b4bd8;--strong-soft:#e1e4fb;--on-area:#fff;--border:0 solid transparent;--press-x:0px;--press-y:5px;--press-x-down:0px;--press-y-down:2px;--press-ink:initial;--press-move:translateY(3px);--card-border:0 solid transparent;--card-shadow:0 6px 0 var(--line), 0 10px 24px #1f234014;--radius:16px;--radius-card:26px;--heading-weight:900;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--level1:#177a47;--level1-edge:#0f5732;--level1-ink:#fff;--level2:#232a6b;--level2-edge:#141a4d;--level2-ink:#fff;--level2-accent:#f2b705;--level2-soft:#3a4290}[data-style=night]{--font:"Fredoka", ui-rounded, system-ui, -apple-system, sans-serif;--bg:#1b1446;--surface:#2a2168;--soft:#352a7e;--ink:#fff;--muted:#c9c2f2;--line:#4a3f99;--brand:#ff5fa2;--brand-edge:#c23a79;--on-brand:#1b1446;--accent-text:#ff8cc0;--ok:#2ee6c5;--warn:#ffd23f;--danger:#ff8a8a;--star:#ffd23f;--star-off:#4a4090;--lessons:#2ee6c5;--lessons-edge:#1fae94;--puzzles:#ff5fa2;--puzzles-edge:#c23a79;--play:#ffd23f;--play-edge:#c9a020;--live:#5bc8ff;--live-edge:#3497cc;--openings:#ff8f6b;--openings-edge:#c9603f;--beginner:#ffa34d;--beginner-soft:#4a2f52;--strong:#8f9bff;--strong-soft:#34307a;--on-area:#1b1446;--press-ink:initial;--card-border:2px solid var(--line);--card-shadow:0 0 28px #0000004d;--heading-weight:700;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--level1:#2ee6c5;--level1-edge:#1fae94;--level1-ink:#1b1446;--level2:#3a2a10;--level2-edge:#ffd23f;--level2-ink:#fff4cf;--level2-accent:#ffd23f;--level2-soft:#5a4520}[data-style=sticker]{--font:"Baloo 2", ui-rounded, system-ui, -apple-system, sans-serif;--bg:#fff4d6;--surface:#fff;--soft:#ffe9b3;--ink:#1f1a17;--muted:#574d44;--line:#1f1a17;--brand:#ffd23f;--brand-edge:#1f1a17;--on-brand:#1f1a17;--accent-text:#1f1a17;--ok:#157347;--warn:#9a5200;--danger:#b42318;--star:#f5b400;--star-off:#e6d7b0;--lessons:#6ee7b7;--lessons-edge:#1f1a17;--puzzles:#c4b5fd;--puzzles-edge:#1f1a17;--play:#ffd23f;--play-edge:#1f1a17;--live:#ff9f7a;--live-edge:#1f1a17;--openings:#f9a8d4;--openings-edge:#1f1a17;--beginner:#f08a24;--beginner-soft:#ffd9b0;--strong:#5b6cff;--strong-soft:#dfe3ff;--on-area:#1f1a17;--border:3px solid #1f1a17;--press-x:4px;--press-y:4px;--press-x-down:1px;--press-y-down:1px;--press-ink:#1f1a17;--press-move:translate(3px, 3px);--card-border:3px solid #1f1a17;--card-shadow:5px 5px 0 #1f1a17;--heading-weight:800;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--level1:#6ee7b7;--level1-edge:#1f1a17;--level1-ink:#1f1a17;--level2:#1f1a17;--level2-edge:#1f1a17;--level2-ink:#fff4d6;--level2-accent:#ffd23f;--level2-soft:#4a4038}:root,[data-style]{font-family:var(--font)}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0}main{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.pawn{color:var(--accent-text);font-size:96px;line-height:1}.home-logo{width:min(280px,70%);height:auto}h1{font-size:clamp(32px,6vw,56px);font-weight:var(--heading-weight);margin:0}h2,h3{font-weight:var(--heading-weight)}.tagline{color:var(--muted);margin:0 0 16px;font-size:22px}.dot{background:var(--warn);border-radius:50%;width:14px;height:14px}.dot.connected{background:var(--ok)}.page{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.card{border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);width:min(480px,100%);box-shadow:var(--card-shadow);text-align:left;padding:28px 24px}.card h1{margin:0 0 12px;font-size:30px}.prose{-webkit-user-select:text;user-select:text;width:min(680px,100%);line-height:1.5}.prose h2{margin:24px 0 4px;font-size:20px}.muted{color:var(--muted)}form{flex-direction:column;gap:16px;margin:16px 0;display:flex}label{flex-direction:column;gap:6px;font-weight:600;display:flex}label small{color:var(--muted);font-weight:400}input[type=email],input[type=password],input[type=text]{width:100%;font:inherit;border:2px solid var(--line);-webkit-user-select:text;user-select:text;border-radius:12px;padding:12px 14px;font-size:18px}input:focus{border-color:var(--accent-text);outline:none}.password{align-items:center;gap:8px;display:flex}label.check{flex-direction:row;align-items:flex-start;gap:12px;font-weight:400}label.check input{flex:none;width:24px;height:24px;margin:0}button,.button{font:inherit;border:var(--border);border-radius:var(--radius);background:var(--brand);color:var(--on-brand);box-shadow:var(--press-x) var(--press-y) 0 var(--press-ink,var(--edge,var(--brand-edge)));text-align:center;cursor:pointer;padding:14px 24px;font-size:18px;font-weight:800;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-block}button:active:not(:disabled),.button:active{transform:var(--press-move);box-shadow:var(--press-x-down) var(--press-y-down) 0 var(--press-ink,var(--edge,var(--brand-edge)))}button:disabled{opacity:.5}.button.secondary,button.secondary{--edge:var(--line);background:var(--surface);color:var(--accent-text)}button.link{min-height:44px;box-shadow:none;color:var(--accent-text);font-size:inherit;background:0 0;border:0;padding:0 8px;font-weight:700;text-decoration:underline}button.link:active{box-shadow:none;transform:none}a{color:var(--accent-text)}.error{color:var(--danger);margin:0}.row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.badge{background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:14px;display:inline-flex;box-shadow:0 1px 4px #0000000f}.badge .dot{width:10px;height:10px}.back,.board-settings-open{min-height:52px;margin-bottom:8px;padding:10px 20px;font-size:19px}.page{position:relative}.page:has(>.back,>.back-row){padding-top:max(84px, env(safe-area-inset-top))}.back-row{align-items:center;gap:8px;margin-bottom:8px;display:inline-flex}.back-row>.back,.lesson-top .back-row{margin-bottom:0}.home-button{padding:10px 14px}.home-button svg{fill:currentColor;width:26px;height:26px;display:block}.page>.corner-link{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));padding:8px 16px;font-size:16px;position:absolute}.page>.back,.page>.back-row{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));margin:0;position:absolute}input.code{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:32px}.page>.callout{max-width:560px}.callout{background:var(--soft);color:var(--ink);border-radius:12px;padding:12px 16px}.card.wide{width:min(640px,100%)}.card h2{margin:20px 0 8px;font-size:20px}button.small,.button.small{min-height:44px;padding:10px 16px;font-size:16px}button.caution{color:var(--danger);box-shadow:inset 0 0 0 2px var(--danger)}@media (min-width:1100px){.page.family-settings{grid-template-columns:repeat(2,minmax(0,560px));justify-content:center;align-items:start;display:grid}.family-settings>.card{width:100%}.family-settings>:first-child{grid-column:1/-1;justify-self:center;width:min(640px,100%)}}button.danger{--edge:#8e2a1f;background:var(--danger);color:#fff}.row.start{justify-content:flex-start;margin-top:16px}fieldset{border:none;margin:0 0 20px;padding:0}fieldset.danger{border-top:1px solid var(--line);margin-top:32px;padding-top:16px}legend{margin-bottom:8px;font-size:18px;font-weight:700}.kid-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.kid-row{background:var(--bg);width:100%;color:var(--ink);text-align:left;align-items:center;gap:16px;padding:10px 14px;font-weight:400;display:flex}.kid-row span:nth-child(2){flex-direction:column;flex:1;display:flex}.kid-row small{color:var(--muted)}.child-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.child-head h1{flex:1;margin:0}.page.stack{justify-content:flex-start}.card.panel h2{margin-top:0}.card.panel h3{margin:20px 0 6px;font-size:17px}.card.panel .admin{border-top:0;margin-top:0;padding-top:0}.card.danger-zone{border:2px solid var(--danger)}button.hand-over{width:100%;margin-top:8px;padding:20px 24px;font-size:22px}.row.start.tight{margin-top:0}.code-ways{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:16px;display:grid}.code-way{background:var(--soft);border-radius:12px;padding:16px}.card.panel .code-way h3{margin-top:0}.activity-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.activity-list li{background:var(--bg);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.activity-list li>span:first-child{flex-direction:column;flex:1;min-width:0;display:flex}.activity-list small{color:var(--muted)}.my-games{width:min(100%,640px)}.my-games li{background:0 0;padding:0}.my-games button{background:var(--surface);width:100%;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line);text-align:left;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;font-size:20px;text-decoration:none;display:flex}.my-games button small{font-size:15px}.tag{background:var(--soft);color:var(--danger);border-radius:999px;padding:4px 10px;font-size:14px;font-weight:600}.chevron{color:var(--muted);font-size:28px}.name-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.name{font-size:28px;font-weight:700}.name-parts{flex-wrap:wrap;gap:8px;margin:12px 0 6px;display:flex}select{font:inherit;border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px 10px;font-size:17px}.avatar{border-radius:50%;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.avatar-preview{align-items:center;gap:16px;margin-bottom:12px;display:flex}.segmented button[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}.swatches{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.swatch{border-radius:50%;width:44px;height:44px;padding:0}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--surface), 0 0 0 6px var(--accent-text)}.segmented{flex-wrap:wrap;gap:8px;margin-bottom:6px;display:flex}.segmented button{--edge:var(--line);background:var(--soft);color:var(--ink);min-width:72px}.picker{flex-wrap:wrap;justify-content:center;gap:24px;margin:8px 0 16px;display:flex}.picker-tile{color:var(--ink);background:0 0;flex-direction:column;align-items:center;gap:10px;padding:16px;font-size:20px;display:flex}.picker-tile:active{transform:scale(.96)}.pinpad{flex-direction:column;align-items:center;gap:16px;display:flex}.card .pinpad{align-items:flex-start}.pin-dots{gap:12px;display:flex}.pin-dots span{background:var(--soft);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;font-size:30px;display:flex}.pin-dots span.filled{background:var(--surface);box-shadow:var(--card-shadow)}.pin-grid{grid-template-columns:repeat(3,96px);gap:14px;display:grid}.pin-grid button{background:var(--surface);border-radius:22px;height:96px;padding:0;font-size:52px;box-shadow:0 3px 10px #00000014}.pin-grid button:active{transform:scale(.94)}.pinpad.shake .pin-dots{animation:.4s shake}@media (max-height:760px){.pin-page .avatar{width:72px!important;height:72px!important;font-size:43px!important}.pin-page h1{margin:4px 0;font-size:28px}.pin-page>p{margin:4px 0}.pin-page .pinpad{gap:12px}.pin-page .pin-dots span{width:44px;height:44px}.pin-page .pin-grid{grid-template-columns:repeat(3,84px);gap:12px}.pin-page .pin-grid button{height:84px;font-size:46px}}button.level-card.locked.nudged{animation:.4s shake}@keyframes shake{25%{transform:translate(-10px)}50%{transform:translate(10px)}75%{transform:translate(-6px)}}.getting-started h3{margin:20px 0 4px}.getting-started li{margin:8px 0;line-height:1.45}.getting-started .steps li.done::marker{content:"✓  ";color:var(--ok)}.getting-started .steps li.done{color:var(--muted)}.callout.install{text-align:left;max-width:480px}.callout.install p{margin:6px 0 0}.callout.install svg{vertical-align:-3px;color:var(--brand)}.admin{border-top:1px solid var(--line);margin-top:28px;padding-top:8px}.application{background:var(--bg);border-radius:14px;align-items:center;gap:10px;padding:10px 14px;display:flex}.application span{overflow-wrap:anywhere;flex-direction:column;flex:1;display:flex}.application small{color:var(--muted)}.builder{justify-content:flex-start}.builder-top{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex}.builder-actions{flex-direction:column;gap:10px;display:flex}.builder-tabs{justify-content:safe center;gap:8px;width:min(1100px,100%);padding-bottom:6px;display:flex;overflow-x:auto}.builder-tabs button{flex:none}@media (max-width:700px){.builder-top{z-index:2;background:var(--bg);gap:12px;padding:8px 0;position:sticky;top:0}.builder-top>.avatar{width:96px!important;height:96px!important}.builder-actions{flex-flow:wrap;justify-content:center}}.builder-tabs button{background:var(--surface);color:var(--ink);min-height:48px;padding:10px 16px}.builder-tabs button[aria-pressed=true],.builder-tile[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}.builder-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;width:min(900px,100%);display:grid}.builder-tile{background:var(--surface);color:var(--ink);border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:8px;display:flex}.builder-tile img{width:96px;height:96px}.builder-colours{text-align:left;width:min(900px,100%)}.builder-credit{font-size:14px}.kid-board{touch-action:none;-webkit-touch-callout:none;width:min(100%,100dvh - 260px,760px);min-width:280px;position:relative}.kid-board .piece{-webkit-touch-callout:none;pointer-events:none;width:100%;height:100%;display:block}.promotion{background:#1f2a448c;border-radius:4px;flex-wrap:wrap;place-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.promotion button:not(.link){aspect-ratio:1;background:var(--bg);border-radius:18px;width:22%;padding:6px}.promotion img{width:100%;height:100%}.promotion .link{color:#fff;flex-basis:100%;font-size:20px}.piece-sets{flex-wrap:wrap;justify-content:center;gap:8px;max-width:760px;display:flex}.piece-sets button{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line);grid-template-columns:40px 40px;gap:2px;padding:8px;font-size:14px;display:grid}.piece-sets button[aria-pressed=true]{box-shadow:inset 0 0 0 4px var(--accent-text)}.piece-sets img{width:40px;height:40px}.piece-sets span{grid-column:span 2}.button.toggle[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}.button.review-cta{background:var(--brand);width:100%;max-width:28rem;color:var(--on-brand);margin:0 auto 12px;display:block}.making-review ul{text-align:left;margin:8px auto 0;padding:0;font-size:20px;line-height:1.6;list-style:none}.making-review li.done{opacity:.6}.making-review li.now{font-weight:700;animation:.4s ease-out making-in}@keyframes making-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.making-review li.now{animation:none}}button.big{border-radius:20px;padding:20px 48px;font-size:26px}.lesson{height:100dvh;padding:max(12px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));grid-template:"top""say""board"1fr"quiz""feedback""next"/minmax(0,1fr);place-items:center;gap:10px;display:grid;overflow:hidden}@media (orientation:landscape) and (min-width:700px){.lesson{grid-template:"board top""board say""board quiz""board feedback""board."1fr"board next"/1fr minmax(280px,36%);column-gap:24px}.lesson.play{grid-template:"board top""board say""board."1fr"board quiz""board feedback""board next"/1fr minmax(280px,36%)}.lesson .area-board{align-self:stretch;align-items:center}}@media (orientation:portrait),(max-width:699px){.lesson.play{grid-template-rows:auto auto minmax(min(100vw - 32px,62dvh),1fr) auto auto auto;height:auto;min-height:100dvh;overflow:visible}}@media (orientation:portrait) and (max-height:700px){.lesson.play{padding-top:max(8px, env(safe-area-inset-top));gap:6px}.lesson.play .lesson-top .back,.lesson.play .lesson-top .board-settings-open{min-height:44px;padding:6px 14px;font-size:17px}.lesson.play .live-player{padding:2px 8px}.lesson.play .play-actions{font-size:17px}.lesson.play .play-actions .button{padding:8px 14px;font-size:16px}.lesson.play .emote-bar button{min-width:44px;padding:4px 8px;font-size:22px}}.area-top{grid-area:top}.area-say{grid-area:say}.area-quiz{grid-area:quiz}.area-feedback{grid-area:feedback}.area-next{grid-area:next}.area-board{grid-area:board;justify-content:center;align-items:flex-start;width:100%;min-width:0;height:100%;min-height:0;display:flex;container-type:size}.area-board .kid-board{width:min(100cqw,100cqh);min-width:0}.lesson.finished{flex-direction:column;justify-content:center;height:auto;min-height:100dvh;display:flex}.lesson-top{align-items:center;gap:16px;width:min(100%,760px);display:flex}.lesson-top progress{width:auto;min-width:0;height:16px;accent-color:var(--ok);flex:1}.lesson-say{align-items:center;gap:12px;max-width:760px;display:flex}.lesson-say>div{flex:1;min-width:0}.say-stack{display:grid}.say-stack>*{grid-area:1/1}.say-stack>.ghost{visibility:hidden}.say-stack>.ghost:before{content:attr(data-text)}.scoresheet{border-collapse:collapse;background:var(--surface);font-variant-numeric:tabular-nums;place-self:start;font-size:20px}.scoresheet th,.scoresheet td{text-align:left;border:1px solid;padding:4px 16px}.scoresheet thead th{font-size:15px}.lesson-text{margin:0;font-size:clamp(20px,3vw,28px);font-weight:600;line-height:1.3}button.speak{background:var(--surface);width:56px;height:56px;box-shadow:inset 0 0 0 2px var(--line);flex:none;padding:0;font-size:28px}.lesson-feedback,.lesson-count{min-height:1.4em;color:var(--warn);margin:0;font-size:22px;font-weight:700}.lesson-feedback.good{color:var(--ok)}.lesson-count{color:var(--muted)}.button.next{min-width:200px;font-size:22px}.quiz{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.quiz button{background:var(--surface);min-width:110px;min-height:110px;color:var(--ink);box-shadow:inset 0 0 0 3px var(--line);padding:12px;font-size:32px}.quiz button img{width:84px;height:84px}.quiz button.right{box-shadow:inset 0 0 0 4px var(--ok);background:var(--soft)}.quiz button.wrong{opacity:.4}.lesson.game .area-say{align-self:start;align-items:flex-start;min-height:7.5em;max-height:28dvh;overflow-y:auto}.lesson.game .area-say>*{margin-block:auto}@media (orientation:landscape) and (min-width:700px){.lesson.game .area-say{max-height:45dvh}}@media (max-width:500px) and (orientation:portrait){.lesson.game{gap:6px}.lesson.game .area-say{min-height:5em;max-height:22dvh}.lesson.game .lesson-text{font-size:18px}.lesson.game button.speak{width:44px;height:44px;font-size:22px}.lesson.game .game-buttons button{min-height:52px}.lesson.game .lesson-feedback,.lesson.game .lesson-count{font-size:18px}}.game-controls{flex-direction:column-reverse;align-items:center;gap:12px;display:flex}.game-buttons{gap:12px;display:flex}.game-buttons button{background:var(--surface);min-width:72px;min-height:64px;color:var(--ink);box-shadow:inset 0 0 0 3px var(--line);font-size:28px}.game-buttons button:disabled{opacity:.35}.what-if{font-size:18px}.game-about,.game-move{color:var(--muted);margin:0 0 4px;font-size:16px;font-weight:700}.game-move{font-variant-numeric:tabular-nums;font-size:20px}.game-turn{color:var(--ok);margin:0 0 8px;font-size:clamp(22px,3.2vw,30px);font-weight:800}.button.next.hidden{visibility:hidden}.lesson-stars,.stars{color:var(--star);letter-spacing:.1em;margin:0}.lesson-stars{font-size:72px}.lesson-stars span,.stars span{color:var(--star-off)}.play-banner{text-align:center;justify-content:center;align-items:center;gap:10px;display:flex}.play-banner .lesson-text{margin:0}.play-waiting{opacity:.6;margin-left:8px;display:flex}.play-banner strong{color:var(--danger)}.play-actions{text-align:center;flex-direction:column;align-items:center;gap:8px;font-size:20px;display:flex}.play-actions p{margin:0}.avatar.guest{background:var(--soft)}.with-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.board-settings-open{white-space:nowrap;margin-left:auto}.lesson-top .back,.lesson-top .board-settings-open{margin-bottom:0}.sheet{z-index:10;background:#1f2a448c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sheet-card{background:var(--bg);border-radius:20px;flex-direction:column;align-items:center;gap:14px;width:min(100%,640px);max-height:100%;padding:24px 16px;display:flex;overflow-y:auto}.sheet-card h2,.sheet-card h3{margin:0}.sheet-done{min-width:200px;box-shadow:var(--press-x) var(--press-y) 0 var(--press-ink,var(--edge,var(--brand-edge))), 0 0 0 12px var(--bg);flex:none;position:sticky;bottom:0}.picker-tile small{color:var(--muted);font-size:15px}.picker-tile:disabled{opacity:.55}.invite h2{font-size:28px}.live-top,.live-bottom{flex-direction:column;align-items:stretch;gap:6px;width:min(100%,640px);display:flex}.live .play-banner{margin:0}.live-player{background:var(--surface);box-shadow:inset 0 0 0 2px var(--line);border-radius:14px;align-items:center;gap:10px;padding:4px 10px;display:flex;position:relative}.live-name{flex-direction:column;align-items:flex-start;font-size:20px;font-weight:600;display:flex}.live-name small{color:var(--warn);font-size:14px;font-weight:400}.clock{background:var(--soft);font-variant-numeric:tabular-nums;text-align:center;border-radius:10px;min-width:4.2ch;margin-left:auto;padding:4px 12px;font-size:28px;font-weight:700}.clock.ticking{background:var(--ink);color:var(--bg)}.clock.low{background:var(--warn);color:var(--ink)}.clock.very-low.ticking{animation:1s ease-in-out infinite clock-pulse}@keyframes clock-pulse{50%{transform:scale(1.08)}}.emote-bubble{z-index:2;background:var(--brand);color:var(--on-brand);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:20px;animation:3.5s ease-out forwards emote-pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes emote-pop{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}10%,80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0}}.emote-bar{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.emote-bar button{background:var(--surface);min-width:52px;box-shadow:inset 0 0 0 2px var(--line);padding:6px 10px;font-size:28px}@media (prefers-reduced-motion:reduce){.clock.very-low.ticking,.emote-bubble,.pinpad.shake .pin-dots,button.level-card.locked.nudged{animation:none}}.rank-badge{background:var(--surface);box-shadow:inset 0 0 0 2px var(--line);border-radius:16px;align-items:center;gap:12px;padding:8px 16px;font-size:22px;display:flex}.rank-badge div{flex-direction:column;display:flex}.puzzle-title{flex:1;font-size:20px;font-weight:700}.puzzle-help,.puzzle-after{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.puzzle-help .placeholder{visibility:hidden}.celebrate{color:var(--ok);margin:0;font-size:24px;font-weight:700}@media not all and (orientation:landscape) and (min-width:700px){.lesson.puzzle .puzzle-after{flex-wrap:wrap;align-content:center;gap:8px 12px;min-height:96px}.lesson.puzzle .celebrate{text-align:center;flex-basis:100%;font-size:20px}.lesson.puzzle .rank-badge{padding:4px 12px;font-size:16px}.lesson.puzzle .rank-badge img{width:40px;height:40px}.lesson.puzzle .rank-badge strong{display:none}.lesson.puzzle .rank-ladder{width:auto;box-shadow:none;background:0 0;border:none;grid-template-columns:auto;padding:0}.lesson.puzzle .rank-ladder li:not(.now){display:none}.lesson.puzzle .rank-ladder li.now{flex-direction:row;gap:8px;padding:4px 12px}.lesson.puzzle .rank-ladder li.now img{width:40px}.lesson.puzzle .rank-ladder li.now .rank-name{display:none}.lesson.puzzle .button.next{flex:none;padding:12px 20px;font-size:18px}}.streak-score{margin:0;font-size:96px;font-weight:800;line-height:1}progress.star-bar{width:100%;height:8px;accent-color:var(--star)}.star-next{text-align:center;color:var(--muted);flex-basis:100%;margin:0;font-size:17px;font-weight:600}.rank-ladder{border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);width:min(100%,760px);box-shadow:var(--card-shadow);grid-template-columns:repeat(6,1fr);align-items:center;gap:4px;margin:0;padding:12px 16px;list-style:none;display:grid}.rank-ladder li{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.rank-ladder img{width:100%;max-width:56px}.rank-name{font-size:14px;font-weight:700}.rank-ladder li.passed .rank-name{color:var(--ok)}.rank-ladder li.now{background:var(--soft);box-shadow:inset 0 0 0 3px var(--star);border-radius:18px;padding:6px 2px}.rank-ladder li.now img{max-width:80px}.rank-ladder li.now .stars{font-size:16px}.rank-ladder li.next{opacity:.5;filter:grayscale()}.home{text-align:left;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) clamp(16px, 4vw, 56px) max(20px, env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-start;align-items:stretch;gap:24px;display:flex}.home-head{flex-wrap:wrap;align-items:center;gap:16px 20px;display:flex}.home-head .avatar{box-shadow:0 0 0 5px var(--surface)}.home-hello{text-align:left;flex:280px}.home-hello h1{font-size:clamp(30px,4.5vw,46px);line-height:1.1}.home-hello p{margin:4px 0 0}.home-head-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.home-head .switch-player{align-self:flex-start;padding:8px 16px;font-size:16px}.home-head-actions button{padding:10px 18px;font-size:17px}.home-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,22px);display:grid}@media (max-width:900px){.home-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px) and (min-height:700px){button.tile{justify-content:center;min-height:220px}}button.tile{--edge:var(--tile-edge);border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);color:var(--ink);text-align:center;box-shadow:0 8px 0 var(--tile-edge), 0 14px 28px #0000001a;flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;padding:20px 12px 18px;display:flex}[data-style=sticker] button.tile{background:var(--tile);box-shadow:var(--card-shadow)}[data-style=night] button.tile{border-color:var(--tile);box-shadow:0 0 28px color-mix(in srgb, var(--tile) 30%, transparent)}button.tile:active{transform:var(--press-move);box-shadow:0 3px 0 var(--tile-edge)}.tile-icon{aspect-ratio:1;border:var(--card-border);background:var(--tile);border-radius:28px;flex:none;justify-content:center;align-items:center;width:clamp(72px,8vw,92px);display:flex}[data-style=sticker] .tile-icon{background:var(--surface);border-radius:50%}.tile-icon img{width:78%;height:78%}.tile-words{flex-direction:column;align-items:center;gap:2px;display:flex}.tile-words strong{font-size:clamp(22px,2.6vw,30px);font-weight:var(--heading-weight);line-height:1.1}.tile-words small{color:var(--muted);font-size:17px;font-weight:600}[data-style=sticker] .tile-words small{color:var(--ink)}.home-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.area-lessons{--tile:var(--lessons);--tile-edge:var(--lessons-edge);--area:var(--lessons)}.area-puzzles{--tile:var(--puzzles);--tile-edge:var(--puzzles-edge);--area:var(--puzzles)}.area-play{--tile:var(--play);--tile-edge:var(--play-edge)}.area-live{--tile:var(--live);--tile-edge:var(--live-edge)}.area-openings{--tile:var(--openings);--tile-edge:var(--openings-edge);--area:var(--openings)}.style-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}button.style-choice{--edge:var(--line);background:var(--bg);min-height:96px;color:var(--ink);font-family:var(--font);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 8px;font-size:17px;display:flex}button.style-choice[aria-pressed=true]{outline:4px solid var(--star);outline-offset:2px}.style-swatch{gap:4px;display:flex}.style-swatch span{border:var(--card-border);border-radius:50%;width:22px;height:22px}@media (prefers-reduced-motion:reduce){button,.button{transition:none}}.friend-pad .pin-grid{grid-template-columns:repeat(6,64px);gap:10px}.friend-pad .pin-grid button{border-radius:16px;height:64px;font-size:36px}@media (max-width:480px){.friend-pad .pin-grid{grid-template-columns:repeat(4,64px)}}.friend-code{gap:10px;font-size:40px;display:flex}.friend-code span{background:var(--soft);border-radius:14px;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.lobby-group{margin-top:8px}.card-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 0;display:flex}.tile-icon{position:relative}.tile-badge{background:var(--danger);min-width:32px;height:32px;color:var(--on-brand);border-radius:16px;justify-content:center;align-items:center;padding:0 8px;font-size:18px;font-weight:800;display:flex;position:absolute;top:-8px;right:-8px}.slow-list li{gap:12px}.friend-pad.labelled .pin-grid button{flex-direction:column;justify-content:center;align-items:center;gap:2px;height:80px;display:flex}.friend-pad.labelled .pin-grid small{color:var(--muted);font-size:11px}.friend-pad.labelled .pin-grid{grid-template-columns:repeat(6,72px)}@media (max-width:560px){.friend-pad.labelled .pin-grid{grid-template-columns:repeat(4,72px)}}.slow-waiting{flex-direction:column;gap:10px;display:flex}.slow-card{background:var(--surface);border:var(--card-border);box-shadow:var(--card-shadow);border-radius:20px;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:12px 16px;display:flex}.slow-card strong{flex:200px;font-size:20px}.draft-tag{color:var(--muted);font-weight:400}.review-item{flex-direction:column;gap:6px;display:flex}.review-approved .application{opacity:.6}.review-note{margin:0 14px}.review-write{flex-direction:column;align-items:flex-start;gap:8px;margin:0 14px;display:flex}.review-write textarea{width:100%;font:inherit;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.weekly-text{width:100%;font:inherit;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;padding:8px 10px}.level-1{--level:var(--level1);--level-edge:var(--level1-edge);--level-ink:var(--level1-ink);--level-accent:var(--star);--level-soft:var(--soft)}.level-2,.level-3,.level-4,.level-5,.level-6,.level-7{--level:var(--level2);--level-edge:var(--level2-edge);--level-ink:var(--level2-ink);--level-accent:var(--level2-accent);--level-soft:var(--level2-soft)}.shelf-plain,.up-next.area-puzzles{--level:var(--puzzles);--level-edge:var(--puzzles-edge);--level-ink:var(--on-area);--level-accent:var(--star);--level-soft:var(--soft)}.up-next{border:var(--card-border);border-radius:var(--radius-card);background:var(--level);color:var(--level-ink);box-shadow:0 8px 0 var(--level-edge), 0 14px 28px #0000001f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 24px;padding:22px 26px;display:grid}[data-style=sticker] .up-next{box-shadow:var(--card-shadow)}[data-style=night] .up-next{border-color:var(--level-edge);box-shadow:0 0 36px color-mix(in srgb, var(--level-accent) 35%, transparent)}.up-next-pic{aspect-ratio:1;border:var(--card-border);background:var(--surface);border-radius:30px;place-items:center;width:clamp(84px,10vw,116px);display:grid}[data-style=sticker] .up-next-pic{border-radius:50%}.up-next-pic img{width:80%;height:80%}.up-next-words{flex-direction:column;gap:2px;display:flex}.up-next-words small{letter-spacing:.06em;text-transform:uppercase;font-size:15px;font-weight:800}.up-next-words strong{font-size:clamp(30px,4.2vw,46px);font-weight:var(--heading-weight);line-height:1.05}.up-next-words span{font-size:18px;font-weight:700}button.up-next-go{--edge:#00000040;background:var(--surface);color:var(--ink);border-radius:22px;padding:18px 34px;font-size:clamp(22px,2.8vw,30px)}[data-style=sticker] button.up-next-go{background:var(--brand)}.level-2 button.up-next-go,.level-3 button.up-next-go{background:var(--level-accent);color:#1f1a17}@media (max-width:700px){.up-next{grid-template-columns:auto minmax(0,1fr)}button.up-next-go{grid-column:1/-1}}.levels-page,.shelf-page,.library-page,.puzzles-menu,.trick-page,.play-page{width:min(100%,1080px);min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) clamp(16px, 4vw, 48px) max(24px, env(safe-area-inset-bottom));text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:22px;margin:0 auto;display:flex}.levels-page h1,.library-page h1,.moves-tip{border-radius:var(--radius-card);background:var(--surface);box-shadow:inset 0 0 0 2px var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:14px 20px;display:flex}.moves-tip p{flex:260px;margin:0}.puzzles-menu h1,.play-page h1{font-size:clamp(32px,4.6vw,48px)}.level-tag{border:var(--card-border);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:2px 12px;font-size:15px;font-weight:900;display:inline-block}button.level-card{--edge:var(--level-edge);border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);width:100%;color:var(--ink);text-align:left;box-shadow:0 8px 0 var(--level-edge), 0 14px 28px #0000001a;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 26px;padding:24px 28px;display:grid}.level-2 button.level-card,button.level-card.level-2,button.level-card.level-3{background:var(--level);color:var(--level-ink)}[data-style=sticker] button.level-card{box-shadow:var(--card-shadow)}[data-style=night] button.level-card{border-color:var(--level-accent);box-shadow:0 0 32px color-mix(in srgb, var(--level-accent) 32%, transparent)}[data-style=night] button.level-card.level-1{border-color:var(--level);box-shadow:0 0 32px color-mix(in srgb, var(--level) 30%, transparent)}.level-badge{aspect-ratio:1;border:var(--card-border);background:var(--level);border-radius:50%;place-items:center;width:clamp(92px,11vw,128px);display:grid;position:relative}.level-card.level-2 .level-badge,.level-card.level-3 .level-badge{background:var(--level-accent)}.level-badge img{width:70%;height:70%}.level-badge .level-tag{background:var(--ink);color:var(--bg);position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.level-card.level-2 .level-badge .level-tag,.level-card.level-3 .level-badge .level-tag{background:var(--level-ink);color:var(--level)}.level-words{flex-direction:column;gap:4px;min-width:0;display:flex}.level-words strong{font-size:clamp(26px,3.6vw,38px);font-weight:var(--heading-weight);line-height:1.05}.level-words small{opacity:.85;font-size:18px;font-weight:600}.level-arrow{opacity:.6;font-size:44px;font-weight:900}.level-trophy{font-size:17px;font-weight:800}@media (max-width:500px){button.level-card{grid-template-columns:auto minmax(0,1fr);gap:12px 16px;padding:18px 16px}button.level-card .level-badge{width:72px}button.level-card .level-badge .level-tag{font-size:12px}button.level-card .level-arrow{display:none}.level-words strong{font-size:24px}.level-words small{font-size:16px}}button.level-card.locked,button.level-card.locked.level-2,button.level-card.locked.level-3{border-color:var(--line);background:var(--surface);color:var(--ink);opacity:.65;box-shadow:none;cursor:default}[data-style=night] button.level-card.locked.locked{border-color:var(--line);box-shadow:none}.level-card.locked .level-badge{border-color:var(--line);background:var(--level-soft)}.level-card.locked .level-badge .level-tag{background:var(--ink);color:var(--bg)}.level-lock{font-size:clamp(40px,5vw,56px)}.meter{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:8px;display:flex}.meter .track{border:var(--card-border);background:var(--level-soft);border-radius:999px;flex:180px;height:18px;overflow:hidden}.level-card.level-4 .meter .track,.level-card.level-5 .meter .track{background:var(--soft)}.meter .fill{background:var(--level);border-radius:999px;height:100%;display:block}.level-card.level-2 .meter .fill,.level-card.level-3 .meter .fill,.shelf-banner .meter .fill{background:var(--level-accent)}.meter .count{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:19px;font-weight:800}.star{color:var(--star)}button.library-link{--edge:var(--line);border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);width:100%;color:var(--ink);text-align:left;align-items:center;gap:22px;padding:16px 22px;display:flex}.library-pics{flex:none;display:flex}.library-pics img{border:2px solid var(--surface);background:var(--soft);border-radius:50%;width:48px;height:48px;margin-right:-12px;padding:4px}.shelf-banner{border:var(--card-border);border-radius:var(--radius-card);background:var(--level);color:var(--level-ink);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:20px 24px;display:flex}.shelf-banner>div{flex:260px;min-width:0}.shelf-banner h1{font-size:clamp(30px,4.4vw,46px);line-height:1.05}.shelf-banner p{margin:4px 0 0;font-size:18px;font-weight:600}.shelf-banner .meter{flex:280px;margin:0}.shelf-banner .meter .track{background:color-mix(in srgb, var(--level-ink) 25%, transparent)}.shelf-banner .star{color:inherit}.course-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));align-items:start;gap:22px 18px;display:grid}.course-card{border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow);flex-direction:column;align-items:center;display:flex;position:relative}.course-card.here{box-shadow:inset 0 0 0 4px var(--accent-text), var(--card-shadow)}.course-card.open{padding-bottom:16px}button.course-head{width:100%;box-shadow:none;color:var(--ink);background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:18px 12px 14px;display:flex}button.course-head:active:not(:disabled){box-shadow:none}.course-head strong{font-size:21px;line-height:1.1}.course-head small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.course-pic{aspect-ratio:1;border:var(--card-border);background:var(--soft);border-radius:50%;place-items:center;width:76px;display:grid}.course-pic.done{background:var(--level)}.course-pic img{width:76%;height:76%}.course-tick{background:var(--ok);width:32px;height:32px;color:var(--surface);border-radius:50%;place-items:center;font-weight:900;display:grid;position:absolute;top:10px;right:12px}[data-style=night] .course-tick{color:var(--bg)}.course-flag{background:var(--accent-text);color:var(--surface);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:2px 12px;font-size:14px;font-weight:900;position:absolute;top:-13px;left:50%;transform:translate(-50%)}[data-style=night] .course-flag{color:var(--bg)}[data-style=sticker] .course-flag{border:2px solid var(--ink);background:var(--brand);color:var(--ink)}.course-card ol{gap:10px;width:calc(100% - 24px);margin:0;padding:0;list-style:none;display:grid}.course-card li button{--edge:var(--line);background:var(--soft);width:100%;color:var(--ink);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:17px;display:flex}.course-card li button.suggested{box-shadow:inset 0 0 0 3px var(--accent-text), var(--press-x) var(--press-y) 0 var(--press-ink,var(--edge,var(--brand-edge)))}.course-card .stars{flex:none;font-size:20px}.library-shelf h2{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 8px;font-size:26px;display:flex}.library-shelf h2 small{color:var(--muted);font-size:16px;font-weight:600}.library-row{scroll-snap-type:x mandatory;gap:16px;padding:4px 4px 16px;display:flex;overflow-x:auto}.library-shelf.locked .library-row{opacity:.7;filter:grayscale(.6)}.library-shelf.locked h2 small{color:var(--ink)}button.book{--edge:var(--line);border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);width:168px;color:var(--ink);scroll-snap-align:start;flex-direction:column;flex:none;align-items:center;gap:6px;padding:14px 10px 12px;display:flex}.book-cover{border:var(--card-border);background:var(--level);border-radius:16px;place-items:center;width:100%;height:112px;display:grid}.book-cover img{width:88px;height:88px}.book strong{font-size:18px;line-height:1.15}.book small{color:var(--muted);font-size:14px;font-weight:700}.celebration{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--level-accent) 30%, var(--bg)), var(--bg) 70%);position:relative;overflow:hidden}.celebration>:not(.confetti){position:relative}.celebration h1{text-wrap:balance;max-width:16ch}svg.trophy{width:min(200px,40vw);height:auto}.celebration-tally{flex-wrap:wrap;justify-content:center;gap:12px;margin:0;display:flex}.celebration-tally>span{border:var(--card-border);background:var(--surface);border-radius:999px;padding:8px 16px;font-size:18px;font-weight:800}button.celebration-go{--edge:var(--level-edge);background:var(--level);color:var(--level-ink)}[data-style=night] button.celebration-go{--edge:#c9a020;background:var(--level-accent);color:var(--bg)}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{background:var(--level-accent);border-radius:3px;width:12px;height:18px;animation:3.2s linear infinite confetti-fall;position:absolute;top:-20px}.confetti i:nth-child(4n+1){background:var(--lessons)}.confetti i:nth-child(4n+2){background:var(--puzzles)}.confetti i:nth-child(4n+3){background:var(--live)}@keyframes confetti-fall{to{transform:translateY(110vh)rotate(540deg)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}}.rank-card{gap:12px;display:grid}.rank-words{flex-direction:column;gap:2px;margin:0;display:flex}.rank-words strong{font-size:clamp(24px,3vw,32px);font-weight:var(--heading-weight)}.rank-words .stars{font-size:.9em}.rank-words>span{color:var(--muted);font-size:18px;font-weight:600}.rank-card .rank-ladder{width:100%}.go-card{border:var(--card-border);border-radius:var(--radius-card);background:var(--area);color:var(--on-area);box-shadow:0 8px 0 var(--tile-edge), 0 14px 28px #0000001f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 24px;padding:22px 26px;display:grid}[data-style=sticker] .go-card{box-shadow:var(--card-shadow)}[data-style=night] .go-card{border-color:var(--area);box-shadow:0 0 36px color-mix(in srgb, var(--area) 45%, transparent)}.go-card-pic{aspect-ratio:1;border:var(--card-border);background:var(--surface);border-radius:28px;place-items:center;width:clamp(80px,10vw,108px);display:grid}[data-style=sticker] .go-card-pic{border-radius:50%}.go-card-pic img{width:80%;height:80%}.go-card-words{flex-direction:column;gap:4px;display:flex}.go-card-words strong{font-size:clamp(30px,4vw,44px);font-weight:var(--heading-weight);line-height:1.05}.go-card-words span{font-size:18px;font-weight:700}button.go-card-go{--edge:#00000040;background:var(--surface);color:var(--ink);border-radius:22px;padding:16px 30px;font-size:clamp(22px,2.8vw,28px)}[data-style=sticker] button.go-card-go{background:var(--brand)}@media (max-width:700px){.go-card{grid-template-columns:auto minmax(0,1fr)}button.go-card-go{grid-column:1/-1}}.mode-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (max-width:640px){.mode-pair{grid-template-columns:1fr}}button.mode-card{--edge:var(--puzzles-edge);border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);color:var(--ink);text-align:left;align-items:center;gap:16px;padding:16px 20px;display:flex}[data-style=night] button.mode-card{border-color:var(--puzzles)}.mode-icon{border:var(--card-border);background:var(--soft);border-radius:18px;flex:none;place-items:center;width:60px;height:60px;font-size:30px;display:grid}.mode-card strong{font-size:24px;display:block}.mode-card small{color:var(--muted);font-size:16px;font-weight:600;display:block}.mode-card small b{color:var(--ink)}.puzzles-menu h2{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:8px 0 0;font-size:26px;display:flex}.puzzles-menu h2 small{color:var(--muted);font-size:16px;font-weight:600}.trick-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:16px;display:grid}button.trick-tile{--edge:var(--line);border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);color:var(--ink);flex-direction:column;align-items:center;gap:8px;padding:16px 8px 12px;display:flex;position:relative}.trick-pic{aspect-ratio:1;border:var(--card-border);background:var(--puzzles);border-radius:50%;place-items:center;width:72px;display:grid}.trick-pic img{width:74%;height:74%}.trick-tile strong{font-size:17px;line-height:1.15}.trick-learnt{background:var(--ok);color:var(--surface);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:900;position:absolute;top:8px;right:10px}[data-style=night] .trick-learnt{color:var(--bg)}.trick-sheet{border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px 32px;padding:26px;display:grid}@media (max-width:700px){.trick-sheet{grid-template-columns:1fr}}.trick-sheet h1{font-size:clamp(32px,4.4vw,48px)}.trick-sheet .lesson-text{max-width:30ch;margin:8px 0 0}.trick-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px;display:flex}.trick-page button.big{--edge:var(--puzzles-edge);background:var(--puzzles);color:var(--on-area)}.mini-board{aspect-ratio:1;border:var(--card-border);border-radius:10px;grid-template-columns:repeat(8,1fr);width:min(280px,70vw);display:grid;overflow:hidden}.mini-board span{background:#f0d9b5;place-items:center;display:grid;position:relative}.mini-board span.dark{background:#b58863}.mini-board img{width:92%;height:92%}.mini-board span.mark:after{content:"";border:3px solid #d62f35;border-radius:50%;position:absolute;inset:10%}.play-page .picker{justify-content:flex-start}.play-page .lobby-group h2{align-items:center;gap:10px;margin:0;display:flex}.play-page .lobby-group h2 .dot{width:16px;height:16px}.play-page .callout{align-self:flex-start}.play-steps{color:var(--muted);flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:15px;font-weight:800;list-style:none;display:flex}.play-steps li{background:var(--soft);border-radius:999px;padding:4px 12px}.play-steps li.on{background:var(--ink);color:var(--bg)}.play-who{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.play-who h1{line-height:1.1}.play-choices{gap:16px;display:grid}button.play-choice{--edge:var(--tile-edge);border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);width:100%;color:var(--ink);text-align:left;box-shadow:0 7px 0 var(--tile-edge), 0 12px 24px #00000014;align-items:center;gap:20px;padding:18px 24px;display:flex}[data-style=sticker] button.play-choice{background:var(--tile);box-shadow:var(--card-shadow)}[data-style=night] button.play-choice{border-color:var(--tile);box-shadow:0 0 24px color-mix(in srgb, var(--tile) 28%, transparent)}.play-choice-pic{border:var(--card-border);background:var(--tile);border-radius:22px;flex:none;place-items:center;width:76px;height:76px;display:grid}[data-style=sticker] .play-choice-pic{background:var(--surface);border-radius:50%}.play-choice-pic img{width:78%;height:78%}.play-choice strong{font-size:clamp(22px,2.8vw,28px);line-height:1.1;display:block}.play-choice small{color:var(--muted);margin-top:2px;font-size:17px;font-weight:600;display:block}[data-style=sticker] .play-choice small{color:var(--ink)}.play-clocks{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (max-width:700px){.play-clocks{grid-template-columns:1fr}}button.play-clock{--edge:var(--line);border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);color:var(--ink);flex-direction:column;align-items:center;gap:6px;padding:20px 12px;display:flex}button.play-clock[aria-pressed=true]{box-shadow:inset 0 0 0 4px var(--live), var(--press-x) var(--press-y) 0 var(--press-ink,var(--line))}.play-clock-icon{font-size:44px;line-height:1}.play-clock strong{font-size:24px}.play-clock small{color:var(--muted);font-size:16px;font-weight:600}button.play-send{--edge:var(--live-edge);background:var(--live);color:var(--on-area);align-self:center}.puzzles-menu>button,.trick-page>button,.play-page>button{align-self:flex-start}.oops{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100dvh;padding:2rem 1rem;display:flex}.loading{text-align:center;padding:2rem 1rem;animation:0s .5s both loading-appear}@keyframes loading-appear{0%{visibility:hidden}}.prose{overflow-wrap:anywhere}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:16px;margin:24px auto;font-size:22px;font-weight:600;display:flex}.empty-state p{margin:0}.empty-pic{font-size:88px;line-height:1}.how-stars summary{cursor:pointer;font-size:18px;font-weight:700}.how-stars ul{gap:6px;margin:8px 0 0;padding-left:1.2em;font-size:17px;display:grid}.boss-card{box-shadow:inset 0 0 0 3px var(--star)}@media (min-width:900px){.home-tiles:has(>:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}}.openings-page{width:min(100%,1080px);min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) clamp(16px, 4vw, 48px) max(24px, env(safe-area-inset-bottom));text-align:left;flex-direction:column;align-items:stretch;gap:22px;margin:0 auto;display:flex}.openings-page>.back-row{align-self:flex-start}.openings-head{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.openings-head h1{margin:0;font-size:clamp(32px,4.6vw,48px)}.side-switch,.explorer-tabs{border:var(--card-border);background:var(--soft);border-radius:999px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.side-switch button,.explorer-tabs button{min-height:44px;color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:999px;padding:8px 18px;font-weight:800}.side-switch button[aria-selected=true]{background:var(--surface);box-shadow:0 2px 0 var(--line)}.explorer-tabs button[aria-selected=true]{background:var(--area);color:var(--on-area)}.opening-group h2{margin:0 0 12px;font-size:22px}.opening-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;display:grid}button.opening-card{border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);color:var(--ink);box-shadow:var(--card-shadow);text-align:left;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:14px;padding:14px;font-weight:600;display:grid}.opening-words{flex-direction:column;gap:4px;min-width:0;font-size:16px;display:flex}.opening-words strong{font-size:20px;font-weight:var(--heading-weight);line-height:1.2}.opening-moves{color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.mini-board{aspect-ratio:1;border-radius:8px;grid-template:repeat(8,1fr)/repeat(8,1fr);width:96px;display:grid;overflow:hidden}.mini-board>span{position:relative}.mini-board .light{background:#f0d9b5}.mini-board .dark{background:#b58863}.mini-board img{width:100%;height:100%;position:absolute;inset:0}.team-chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.chip{color:var(--ink);border-radius:999px;padding:2px 10px;font-size:14px;font-weight:800}.chip.beginner{background:var(--beginner-soft)}.chip.strong{background:var(--strong-soft)}.explorer{width:min(100%,1200px);min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) clamp(16px, 3vw, 32px) max(24px, env(safe-area-inset-bottom));text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:16px;margin:0 auto;display:flex}.explorer-top{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.explorer-top .back-row,.explorer-top .board-settings-open{margin-bottom:0}.explorer-top h1{flex:200px;margin:0;font-size:clamp(24px,3vw,34px)}.explorer-soon{font-size:19px}.explorer-body{grid-template-columns:minmax(0,min(100dvh - 190px,640px)) minmax(280px,1fr);align-items:start;gap:20px;display:grid}@media (max-width:820px){.explorer-body{grid-template-columns:minmax(0,1fr)}}.explorer-board{flex-direction:column;gap:10px;min-width:0;display:flex}.explorer-board .kid-board{width:100%}@media (max-width:820px){.explorer-board .kid-board{width:min(100%,100dvh - 300px);margin:0 auto}}.explorer-nav{align-items:center;gap:8px;display:flex}.explorer-nav button{min-width:56px;min-height:48px;font-size:22px}.explorer-moves{white-space:nowrap;min-width:0;color:var(--muted);font-variant-numeric:tabular-nums;flex:1;font-weight:800;overflow-x:auto}.explorer-moves .current{color:var(--ink)}.explorer-moves .ahead{opacity:.5}.explorer-panel{flex-direction:column;gap:14px;min-width:0;display:flex}.explorer-where{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;display:flex}.explorer-turn{background:var(--soft);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:3px 12px;font-size:14px;font-weight:900}.explorer-turn.yours{background:var(--area);color:var(--on-area)}.explorer-name{color:var(--muted);font-weight:800}.explorer-say{border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow);flex-direction:column;align-items:flex-start;gap:10px;padding:16px 20px;display:flex}.explorer-say p{margin:0;font-size:18px}.explorer-message{color:var(--warn);font-weight:800}.explorer-few{color:var(--muted);margin:0}.teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (max-width:460px){.teams{grid-template-columns:minmax(0,1fr)}}.team{border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);min-width:0;box-shadow:var(--card-shadow);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.team h2{align-items:center;gap:8px;margin:0;font-size:17px;display:flex}.team h2 i{border-radius:50%;width:12px;height:12px}.team.beginner{--team:var(--beginner)}.team.strong{--team:var(--strong)}.team h2 i,.team .fill{background:var(--team)}button.team-move{color:var(--ink);box-shadow:none;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px;display:grid}button.team-move:disabled{opacity:1;cursor:default}button.team-move:not(:disabled):active{background:var(--soft);transform:none}.team-move b{font-variant-numeric:tabular-nums;font-size:19px}.team-move .track{background:var(--soft);border-radius:7px;height:14px;overflow:hidden}.team-move .fill{border-radius:7px;height:100%;display:block}.team-move .word{min-width:44px;color:var(--muted);text-align:right;font-size:15px;font-weight:800}.explorer-tabs button:disabled{opacity:.45}.explorer-lock{color:var(--muted);margin:-8px 0 0;font-weight:700}.explorer-step{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:900}.explorer-say p.explorer-intro{border-bottom:2px solid var(--line);padding-bottom:10px}.explorer-good{color:var(--ok);font-weight:800}.explorer-hint{font-weight:700}.explorer-plans{gap:8px;margin:0;padding:0;list-style:none;display:grid}.explorer-plans li{border:var(--card-border);background:var(--soft);border-radius:12px;padding:10px 12px}.explorer-plans b{margin-right:4px}.key-point{border-radius:var(--radius);background:var(--soft);flex-direction:column;align-self:stretch;gap:6px;padding:10px 14px;display:flex}.key-point.prefer{background:var(--strong-soft)}.key-point.watch{background:var(--beginner-soft)}.key-point>span{background:var(--surface);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:13px;font-weight:900}.explorer-say .key-point p{font-size:17px}.teams.stale{opacity:.45;transition:opacity .15s}.team-rows{gap:8px;display:grid;position:relative}.team-move .fill{transition:width .35s}.team-move b,.team-move .word{transition:opacity .2s}button.team-move.empty{visibility:hidden}.team-none{align-items:center;display:flex;position:absolute;inset:0}.explorer-where{min-height:32px}@media (prefers-reduced-motion:reduce){.team-move .fill,.teams.stale{transition:none}}.trap-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px;display:grid}.trap-card{border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow);flex-direction:column;align-items:flex-start;gap:10px;padding:18px 20px;display:flex}.trap-card h2{margin:0;font-size:22px}.trap-card p{margin:0}.trap-tag{background:var(--beginner-soft);color:var(--ink);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:900}.openings-about{max-width:60ch;color:var(--muted);margin:-8px 0 0;font-weight:600}.health-table{overflow-x:auto}.health-table table{border-collapse:collapse;font-size:.9rem}.health-table th,.health-table td{text-align:right;white-space:nowrap;padding:.25rem .6rem}.health-table th[scope=row]{text-align:left}.health-alerts{padding:0;list-style:none}.health-alerts li{border-left:4px solid;margin-bottom:.4rem;padding:.4rem .6rem}.health-alerts .problem strong{color:#b42318}.page.daily{text-align:left;justify-content:flex-start;align-items:stretch;width:100%;max-width:900px;margin-inline:auto}.page.daily>h1,.page.daily>.muted{text-align:center}.daily-day{border:var(--card-border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow);grid-template-columns:160px 1fr;align-items:start;gap:20px;padding:18px;display:grid}.daily-day>img{border-radius:8px;width:160px;height:160px}.daily-day>div>*{margin-block:0 10px}.daily-day h2{margin-top:0;font-size:1.25rem}.daily-day h3{margin:0 0 8px;font-size:.95rem}.daily-day details>summary{cursor:pointer;font-weight:600}.daily-day .row.start{flex-wrap:wrap;gap:8px}.daily-tag{vertical-align:middle;background:var(--line,#dcdfec);border-radius:999px;padding:2px 8px;font-size:.8rem}.daily-channels{padding:0;list-style:none}.daily-channels li{border-left:4px solid var(--line,#dcdfec);margin-bottom:4px;padding:3px 0 3px 10px}.daily-channels li.ok{border-color:var(--ok)}.daily-channels li.wait{border-color:var(--warn)}.daily-channels li.bad{border-color:#b42318}.daily-channels li.muted{color:var(--muted)}.daily-out{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:10px;display:grid}.daily-out-card{border:1px solid var(--line,#dcdfec);border-radius:10px;padding:12px}.daily-out-card img,.daily-out-card video{border-radius:6px;display:block}.daily-words{white-space:pre-line;color:var(--muted);font-size:.85rem}@media (max-width:560px){.daily-day{grid-template-columns:1fr}}
