@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/dbd827405181b508-s.1e7lfzpvfrh7f.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/101a8ea8ee0a71f8-s.1-avrnevmoafi.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/a80398e50828056b-s.1n1ntp5se85-_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/996b4d9a15bee5b0-s.p.0kf5m0zv7sxld.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/9d760601823f9ac2-s.0ongx-zmnmtio.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/e683b1ee568be024-s.p.0sv86lbjkn8rn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik Fallback;src:local(Arial);ascent-override:89.06%;descent-override:23.81%;line-gap-override:0.0%;size-adjust:104.98%}.uqgBnW_className{font-family:Rubik,Rubik Fallback;font-style:normal}.uqgBnW_variable{--font-rubik:"Rubik", "Rubik Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/258bd0ab5fdd762a-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/99a2019bdfa8519b-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/44e0cb21b0d052b7-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/f9cd5a77d065db98-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/954d21e04331b2ae-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/53897e768d329f66-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.C_talG_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.C_talG_variable{--font-mono-face:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--cream-50:#fff8ea;--cream-100:#ffeecb;--ink-900:#1e2a44;--ink-600:#4a5674;--navy-800:#16324f;--navy-600:#24507a;--sun-400:#ffc83d;--coral-400:#ff7a66;--teal-400:#2ec4b6;--teal-700:#0d6e65;--grape-600:#5b3fc4;--leaf-700:#1c7a44;--red-700:#b3261e;--color-bg:var(--cream-50);--color-surface:#fff;--color-ink:var(--ink-900);--color-muted:var(--ink-600);--color-action:var(--grape-600);--color-on-action:#fff;--color-go:var(--leaf-700);--color-error:var(--red-700);--color-accent-sun:var(--sun-400);--color-accent-coral:var(--coral-400);--color-accent-teal:var(--teal-400);--color-accent-grape:var(--grape-600);--board-bg:var(--navy-800);--board-card:var(--navy-600);--board-line:#f6fbff;--board-ink:#f6fbff;--avatar-skin:#f6cfae;--avatar-skin-shade:#e3b08a;--avatar-hair:#4a2a1e;--avatar-top:var(--grape-600);--avatar-collar:#fff;--avatar-ink:#2b1d17;--avatar-blush:#f08a7a;--avatar-mouth:#7c2d2d;--font-sans:var(--font-rubik), "Noto Sans Hebrew", Arial, sans-serif;--font-mono:var(--font-mono-face), "Cascadia Code", Consolas, monospace;--text-sm:.9375rem;--text-base:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--leading:1.7;--border:3px solid var(--color-ink);--radius-md:12px;--radius-lg:20px;--lift:0 4px 0 var(--color-ink);--gap:14px}*{box-sizing:border-box}html,body{block-size:100%}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading);word-spacing:.05em;margin:0}code,pre,kbd,samp{font-family:var(--font-mono);direction:ltr;unicode-bidi:isolate}h1,h2,p{margin:0}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-action);outline-offset:2px}.mirror:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){transform:scaleX(-1)}.app{block-size:100dvh;padding:var(--gap);gap:var(--gap);grid-template-rows:auto minmax(0,1fr);display:grid}.classroom{gap:var(--gap);grid-template-columns:minmax(250px,300px) minmax(0,1.15fr) minmax(0,1fr);min-block-size:0;display:grid}.panel{background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--lift);flex-direction:column;gap:10px;min-block-size:0;padding:12px;display:flex}.topbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.brand{flex-direction:column;line-height:1.3;display:flex}.brand strong{font-size:var(--text-lg)}.btn.map-open{box-shadow:none;background:var(--color-accent-sun);margin-block-start:3px;padding:1px 10px;font-size:.875rem}.brand span{font-size:var(--text-sm);color:var(--color-muted)}.worlds{justify-content:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.world{text-align:center;flex-direction:column;flex:0 92px;align-items:center;min-inline-size:0;display:flex;position:relative}.world:not(:last-child):after{content:"";background:var(--color-muted);opacity:.35;border-radius:2px;block-size:4px;inline-size:calc(100% - 32px);position:absolute;inset-block-start:15px;inset-inline-start:calc(50% + 18px)}.world-done:not(:last-child):after{background:var(--color-go);opacity:1}.world-dot{border:var(--border);background:var(--color-surface);block-size:34px;inline-size:34px;font-weight:700;font-size:var(--text-sm);border-radius:50%;place-items:center;line-height:1;display:grid}.world-current .world-dot{background:var(--color-accent-sun)}.world-done .world-dot{background:var(--color-go);color:#fff}.world-open .world-dot{background:var(--cream-100)}.world-locked{color:var(--color-muted)}.world-name{margin-block-start:3px;font-size:.8125rem;line-height:1.25}.world-current .world-name{color:var(--color-ink);font-weight:700}.lesson-bar{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.lesson-title{font-weight:700;line-height:1.2}.steps{gap:4px;margin:0;padding:0;list-style:none;display:flex}.step{border:2px solid var(--color-ink);color:var(--color-muted);background:var(--color-surface);border-radius:999px;padding-inline:11px;font-size:.875rem;line-height:1.6}.step-done{background:var(--cream-100);color:var(--color-ink)}.step-now{background:var(--color-action);color:var(--color-on-action);font-weight:600}.teacher{align-items:stretch}.avatar{flex:none;inline-size:min(100%,130px);margin-inline:auto;display:block;overflow:visible}.avatar-head{transform-origin:120px 170px;transition:transform .35s}.avatar-brows path,.eyes-happy,.eyes-open,.avatar-thought,.avatar-rings{transition:all .25s}.eyes-happy,.avatar-thought{opacity:0}.avatar-rings{opacity:0;fill:none;stroke:var(--color-accent-teal);stroke-width:4px}.avatar-smile{transition:opacity .1s linear}.eye{transform-box:fill-box;transform-origin:50%;animation:4.2s infinite blink}@keyframes blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}.avatar[data-state=explaining] .avatar-head{animation:2.6s ease-in-out infinite nod}@keyframes nod{0%,to{transform:rotate(0)}50%{transform:rotate(1.6deg)translateY(1px)}}.avatar[data-state=happy] .eyes-open{opacity:0}.avatar[data-state=happy] .eyes-happy{opacity:1}.avatar[data-state=happy] .avatar-head{animation:.7s ease-in-out infinite alternate bounce}.avatar[data-state=happy] .brow-a,.avatar[data-state=happy] .brow-b{transform:translateY(-5px)}@keyframes bounce{to{transform:translateY(-7px)}}.avatar[data-state=thinking] .avatar-head{transform:rotate(-5deg)}.avatar[data-state=thinking] .avatar-thought{opacity:1;animation:1.8s ease-in-out infinite alternate float}.avatar[data-state=thinking] .brow-a{transform:translateY(-5px)}@keyframes float{to{transform:translateY(-5px)}}.avatar[data-state=listening] .avatar-head{transform:rotate(5deg)}.avatar[data-state=listening] .avatar-rings{opacity:.8;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.2}}.chat{scrollbar-gutter:stable;background:var(--color-bg);border:var(--border);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:6px;min-block-size:96px;padding:8px;display:flex;overflow-y:auto}.chat-line{border-radius:var(--radius-md);max-inline-size:92%;font-size:var(--text-sm);padding:3px 12px;line-height:1.55}.chat-teacher{background:var(--cream-100);align-self:flex-start}.chat-child{background:var(--color-accent-teal);align-self:flex-end}.quick{flex-wrap:wrap;gap:6px;display:flex}.btn.quick-btn{font-size:var(--text-sm);box-shadow:0 3px 0 var(--color-ink);flex:auto;padding:3px 8px;line-height:1.4}.btn.quick-next{background:var(--color-accent-sun);flex-basis:100%;gap:4px}.talk{flex-direction:column;gap:6px;display:flex}.btn{border:var(--border);border-radius:var(--radius-md);box-shadow:var(--lift);background:var(--color-surface);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-weight:600;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--color-ink);transform:translateY(3px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-action);color:var(--color-on-action)}.btn-secondary{background:var(--cream-100)}.btn-big{font-size:var(--text-lg);padding-block:10px}.btn-run{background:var(--color-go);color:#fff;padding-block:5px}.talk-btn{background:var(--color-accent-coral);-webkit-user-select:none;user-select:none;touch-action:none;min-block-size:52px;line-height:1.3}.talk-btn-on{background:var(--color-accent-teal)}.icon-btn{padding:6px 10px}.toggle{font-size:var(--text-sm);cursor:pointer;align-items:center;gap:8px;display:flex}.toggle input{block-size:18px;inline-size:18px;accent-color:var(--color-action)}.type-box{gap:8px;display:flex}.type-box input,.console-input input,.onboarding-card input:not([type=radio]){border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);flex:1;inline-size:100%;min-inline-size:0;padding:6px 10px}.type-box input.type-needed{border-color:var(--color-error);outline:3px solid var(--color-accent-coral)}.listen-on{color:var(--teal-700);align-items:center;gap:8px;font-weight:600;display:flex}.dot{background:var(--teal-700);border-radius:50%;block-size:12px;inline-size:12px}.listen-active .dot{background:var(--color-error);animation:.7s infinite pulse}.notice{color:var(--color-error);font-size:var(--text-sm)}.board{background:var(--board-bg);color:var(--board-ink);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--lift);flex-direction:column;gap:12px;min-block-size:0;padding:16px;display:flex;position:relative;overflow:hidden}.board-stage{flex:1;place-items:center;min-block-size:0;animation:.35s rise;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.board-idle{color:var(--board-ink);opacity:.75;font-size:var(--text-lg)}.board-code{border-radius:var(--radius-md);white-space:pre-wrap;text-align:start;overflow-wrap:anywhere;background:#0d2236;margin:0;padding:10px 14px;font-size:1.125rem;line-height:1.55}.board-code-big{margin-block:auto;padding:20px;font-size:1.5rem}.board-finale{text-align:center;font-size:var(--text-2xl);font-weight:700;position:absolute;inset-block-start:40%;inset-inline:0}.v-print{justify-items:center;gap:6px;display:grid}.v-print-screen{inline-size:min(100%,210px)}.v-print-bubble{background:var(--board-line);color:var(--color-ink);border-radius:var(--radius-lg);font-size:var(--text-xl);padding:8px 20px;font-weight:700;animation:.4s cubic-bezier(.3,1.6,.6,1) .2s backwards pop}@keyframes pop{0%{opacity:0;transform:scale(.4)}}.v-beads{align-items:center;gap:8px;max-inline-size:100%;display:flex}.v-quote{color:var(--color-accent-sun);padding-block-start:22px;font-size:5rem;font-weight:700;line-height:.6}.v-string{background:linear-gradient(transparent 47%, var(--board-line) 47% 53%, transparent 53%);justify-content:center;gap:3px;min-inline-size:0;padding-block:4px;display:flex}.v-bead{aspect-ratio:1;background:var(--color-accent-teal);min-inline-size:0;color:var(--color-ink);font-weight:700;font-size:var(--text-lg);animation:pop .3s calc(var(--i) * 70ms) backwards;border-radius:50%;flex:0 40px;place-items:center;display:grid}.v-bead:nth-child(3n+2){background:var(--color-accent-sun)}.v-bead:nth-child(3n){background:var(--color-accent-coral)}.v-ascii{color:var(--color-accent-sun);margin:0;font-size:2.5rem;line-height:1.15}.v-box{justify-items:center;display:grid}.v-box-value{z-index:1;border-radius:var(--radius-md);background:var(--color-accent-sun);color:var(--color-ink);font-size:var(--text-xl);margin-block-end:-14px;padding:6px 22px;font-weight:700;animation:.7s cubic-bezier(.3,1.4,.6,1) .2s backwards drop}@keyframes drop{0%{opacity:0;transform:translateY(-70px)rotate(-8deg)}}.v-box-body{border:4px solid var(--board-line);background:#c98a4b;border-radius:10px;place-items:center;block-size:130px;inline-size:210px;display:grid}.v-box-tag{background:var(--board-line);color:var(--color-ink);font-family:var(--font-mono);font-weight:700;font-size:var(--text-lg);border-radius:8px;padding:2px 18px}.v-mail{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;inline-size:100%;display:grid}.v-mail-box{inline-size:130px}.v-mail-note{background:var(--board-line);color:var(--color-ink);border-radius:var(--radius-md);text-align:center;padding:8px 12px;font-weight:600;line-height:1.35}.v-mail-answer{background:var(--color-accent-sun);animation:.4s .8s backwards pop}.v-fork{justify-items:center;inline-size:100%;display:grid}.v-fork-condition{background:var(--color-accent-sun);color:var(--color-ink);border-radius:var(--radius-md);padding:6px 16px;font-size:1.125rem;font-weight:700}.v-fork-road{inline-size:min(100%,320px)}.v-fork-ends{grid-template-columns:1fr 1fr;gap:12px;inline-size:min(100%,420px);display:grid}.v-fork-end{text-align:center;border-radius:var(--radius-md);color:var(--color-ink);gap:2px;padding:8px;line-height:1.3;display:grid}.v-fork-yes{background:var(--color-accent-teal)}.v-fork-no{background:var(--color-accent-coral)}.v-loop{place-items:center;display:grid;position:relative}.v-loop svg{max-block-size:34dvh;inline-size:min(100%,230px)}.v-loop-car{transform-origin:110px 110px;animation:lap var(--lap) linear infinite}@keyframes lap{to{transform:rotate(360deg)}}.v-loop-count{font-size:var(--text-2xl);color:var(--color-accent-sun);font-weight:700;position:absolute}.v-counter{block-size:1.4em;line-height:1.4;display:inline-block;overflow:hidden}.v-counter b{animation:count calc(var(--lap) * var(--laps)) steps(var(--laps)) infinite;display:block}@keyframes count{to{transform:translateY(calc(var(--laps) * -100%))}}.v-bag{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;display:grid}.v-bag-shape{max-block-size:34dvh;inline-size:130px}.v-bag-items{gap:6px;margin:0;padding:0;list-style:none;display:grid}.v-bag-items li{background:var(--board-line);color:var(--color-ink);border-radius:999px;padding:3px 16px;font-weight:600}.v-bag-items .v-bag-new{background:var(--color-accent-sun);animation:.5s .5s backwards pop}.v-spell{justify-items:center;gap:8px;display:grid}.v-spell-scroll{background:var(--cream-100);color:var(--color-ink);border-radius:var(--radius-md);padding:8px 20px;font-size:1.125rem;font-weight:700}.v-spell-wand{inline-size:130px}.v-spell-star{transform-box:fill-box;transform-origin:50%;animation:1.4s ease-in-out infinite sparkle}@keyframes sparkle{50%{transform:scale(1.25)rotate(20deg)}}.v-spell-result{background:var(--color-accent-sun);color:var(--color-ink);border-radius:var(--radius-md);font-size:var(--text-lg);padding:6px 20px;font-weight:700}.v-party{grid-template-columns:repeat(3,76px);justify-items:center;display:grid}.v-party-star{inline-size:76px;animation:pop .5s calc(var(--i) * .15s) backwards cubic-bezier(.3, 1.8, .6, 1)}.v-party p{font-size:var(--text-2xl);grid-column:1/-1;font-weight:700}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti span{border-radius:2px;block-size:14px;inline-size:10px;animation:1.9s ease-in forwards fall;position:absolute;inset-block-start:-14px}@keyframes fall{to{opacity:.4;transform:translateY(70dvh)rotate(540deg)}}.panel-title{justify-content:space-between;align-items:center;display:flex}.panel-title h2{font-size:var(--text-lg);line-height:1.2}.editor{border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);flex:3;min-block-size:110px;overflow:hidden}.editor>div,.editor .cm-editor{block-size:100%}.editor .cm-editor{font-size:1.125rem}.editor .cm-content,.editor .cm-gutters{font-family:var(--font-mono)}.console{color:#e9f4ff;border-radius:var(--radius-md);background:#0d2236;flex:2;min-block-size:90px;padding:8px 12px;font-size:1.0625rem;line-height:1.5;overflow-y:auto}.console-line{white-space:pre-wrap;overflow-wrap:anywhere}.console-empty{color:#b9cce0}.console-error{color:#ffc7c0;font-weight:600}.console-pass{color:#a7f3c9;font-weight:700;font-size:var(--text-lg)}.console-input{gap:8px;margin-block-start:6px;display:flex}.console-input input{color:var(--color-ink)}.console-input .btn{box-shadow:none;color:var(--color-ink);padding-block:2px}.onboarding{flex-wrap:wrap;justify-content:center;align-items:center;gap:32px;min-block-size:100dvh;padding:16px;display:flex}.onboarding-teacher{inline-size:240px}.onboarding-teacher .avatar{inline-size:100%}.onboarding-card{background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);inline-size:min(100%,440px);box-shadow:var(--lift);padding:22px}.onboarding-card h1{font-size:var(--text-2xl);line-height:1.3}.onboarding-card h2{font-size:var(--text-base);margin-block-start:12px}.onboarding-card form{gap:4px;margin-block-start:8px;display:grid}.onboarding-card label{margin-block-start:8px;font-weight:600}.onboarding-card fieldset{border:0;margin:8px 0 12px;padding:0}.onboarding-card legend{padding:0;font-weight:600}.onboarding-card #child-age{text-align:center;justify-self:start;inline-size:90px}.returning-list{flex-wrap:wrap;gap:8px;margin-block-start:6px;display:flex}.choice{gap:10px;display:flex}.chip{border:var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:3px 22px;display:flex;margin:0!important}.chip-on{background:var(--color-accent-sun)}.chip input{opacity:0;position:absolute}.chip:focus-within{outline:3px solid var(--color-action);outline-offset:2px}.btn-danger{background:var(--color-error);color:#fff}.map{border:var(--border);border-radius:var(--radius-lg);max-block-size:calc(100dvh - 32px);inline-size:min(100% - 32px,980px);color:var(--color-ink);background:var(--color-bg);padding:0}.map[open]{flex-direction:column;display:flex}.map::backdrop{background:#0e1c3099}.map-header,.map-footer{background:var(--color-surface);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.map-header{border-block-end:var(--border)}.map-header h2{font-size:var(--text-xl);line-height:1.3}.map-footer{border-block-start:var(--border);flex-wrap:wrap}.map-confirm{gap:8px;display:flex}.map-worlds{flex:1;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;min-block-size:0;margin:0;padding:14px 16px;list-style:none;display:grid;overflow-y:auto}.map-world{background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);padding:10px}.map-world h3{font-size:var(--text-base);align-items:center;gap:8px;margin:0 0 6px;line-height:1.3;display:flex}.map-number{background:var(--color-accent-sun);block-size:28px;inline-size:28px;font-size:var(--text-sm);border-radius:50%;flex:none;place-items:center;display:grid}.map-lessons{gap:4px;margin:0;padding:0;list-style:none;display:grid}.map-lesson{background:var(--cream-100);text-align:start;inline-size:100%;font-size:var(--text-sm);cursor:pointer;border:2px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:3px 8px;display:flex}.map-lesson:hover:not(:disabled){border-color:var(--color-ink)}.map-lesson:disabled{color:var(--color-muted);cursor:not-allowed;background:0 0}.map-lesson-now{background:var(--color-action);color:var(--color-on-action);font-weight:600}.map-mark{inline-size:16px;color:var(--color-go);flex:none;place-items:center;display:grid}.map-lesson:disabled .map-mark{color:var(--color-muted)}.map-lesson-now .map-mark{color:inherit}.brand-actions{gap:6px;display:flex}.map.settings{inline-size:min(100% - 32px,560px)}.settings-body{flex:1;gap:14px;min-block-size:0;padding:14px 16px;display:grid;overflow-y:auto}.voice-group{border:0;margin:0;padding:0}.voice-group legend{padding:0;font-weight:700}.voice-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-block-start:6px;display:grid}.voice{background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:5px 10px;display:grid}.voice input{accent-color:var(--color-action);grid-row:span 2}.voice-name{font-weight:600;line-height:1.3}.voice-detail{color:var(--color-muted);grid-column:2;font-size:.8125rem;line-height:1.3}.voice-on{background:var(--color-accent-sun)}.voice-on .voice-detail{color:var(--color-ink)}.voice:focus-within{outline:3px solid var(--color-action);outline-offset:2px}.speed{grid-template-columns:1fr auto;align-items:center;gap:2px 8px;display:grid}.speed label,.speed output{font-weight:700}.speed input{inline-size:100%;accent-color:var(--color-action);grid-column:1/-1}.speed-ends{color:var(--color-muted);grid-column:1/-1;justify-content:space-between;font-size:.8125rem;display:flex}.toast{background:var(--color-ink);color:#fff;border-radius:var(--radius-md);padding:8px 16px;position:fixed;inset-block-end:16px;inset-inline-end:16px}@media (max-width:1180px){.classroom{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(230px,270px) minmax(0,1fr)}.teacher{grid-row:1/3}.world-name{display:none}}@media (max-width:760px){.app{block-size:auto;min-block-size:100dvh}.topbar{grid-template-columns:1fr;gap:8px}.lesson-bar{align-items:flex-start}.classroom{grid-template-rows:none;grid-template-columns:minmax(0,1fr)}.teacher{grid-row:auto}.chat{max-block-size:260px}.board{min-block-size:340px}.playground{min-block-size:440px}.avatar{inline-size:150px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
