*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:Bravura;src:url(/fonts/bravura.woff2) format("woff2");font-display:block}:root{--emerald: #10b981;--emerald-soft: #34d399;--emerald-darker: #065f46;--ink: #0f172a;--ink-soft: #334155;--muted: rgba(255,255,255,.8);--accent: #fb923c;--accent-dark: #ea580c;--accent-darker: #9a3412;--danger: #dc2626;--header-h: 56px;--radius: 1rem;--radius-lg: 1.5rem;--shadow-card: 0 12px 28px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.08);--gradient: linear-gradient(135deg, #34d399 0%, #06b6d4 50%, #6366f1 100%);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";-webkit-font-smoothing:antialiased}html,body{min-height:100%}body{background:var(--gradient);background-attachment:fixed;color:#fff;line-height:1.5}#root{min-height:100vh;display:flex;flex-direction:column}button,input{font-family:inherit}:focus-visible{outline:3px solid #fff;outline-offset:3px;border-radius:.5rem}.panel :focus-visible,.mode-card:focus-visible{outline-color:var(--accent-dark)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}kbd{display:inline-block;min-width:1.6em;padding:0 .35em;margin:0 .1em;border-radius:.35rem;background:#ffffff38;border:1px solid rgba(255,255,255,.4);font:700 .8em/1.6 ui-monospace,Consolas,monospace;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.7rem 1.3rem;border-radius:var(--radius);border:none;border-bottom:4px solid transparent;cursor:pointer;font-size:1rem;font-weight:800;color:#fff;transition:transform .12s ease,background-color .15s,box-shadow .15s;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.96)}.btn-primary{background:var(--emerald-soft);color:var(--ink);border-bottom-color:var(--emerald-darker);box-shadow:0 8px 18px #10b98159}.btn-primary:hover:not(:disabled){background:#6ee7b7}.btn-ghost{background:#ffffff2e;border:1.5px solid rgba(255,255,255,.45);border-bottom:4px solid rgba(255,255,255,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-ghost:hover:not(:disabled){background:#ffffff4d}.btn-play{background:var(--accent-dark);border-bottom-color:var(--accent-darker);box-shadow:0 8px 18px #ea580c59;min-width:9.5rem}.btn-play:hover:not(:disabled){background:#f97316}.btn-check{font-size:1.15rem;padding:.8rem 1.8rem}.btn-levelup{background:#6d28d9;border-bottom-color:#4c1d95}.seg{display:inline-flex;gap:.25rem;padding:.25rem;border-radius:.9rem;background:#f1f5f9}.seg--wrap{flex-wrap:wrap}.seg--dark{background:#ffffff2e;border:1px solid rgba(255,255,255,.3)}.seg-btn{min-height:40px;min-width:44px;padding:.35rem .8rem;border:none;border-radius:.7rem;cursor:pointer;background:transparent;color:var(--ink-soft);font-weight:800;font-size:.95rem}.seg--dark .seg-btn{color:#fff}.seg-btn--on{background:#fff;color:var(--accent-darker);box-shadow:0 2px 6px #00000026}.seg--dark .seg-btn--on{color:var(--accent-darker)}.view{min-height:100vh;display:flex;flex-direction:column}.view-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;min-height:var(--header-h);padding:.4rem 1rem;background:#0f172a66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.2)}.view-header__title{flex:1;font-weight:900;font-size:1.05rem;white-space:nowrap}.view-header__sub{font-weight:600;opacity:.85}.view-header__actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.back-btn,.header-btn{min-height:40px;padding:.4rem .9rem;border-radius:.75rem;cursor:pointer;background:#ffffff2e;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.9rem;font-weight:700;white-space:nowrap}.back-btn:hover,.header-btn:hover{background:#ffffff4d}.header-select select{min-height:40px;padding:.35rem .6rem;border-radius:.75rem;cursor:pointer;font:inherit;font-weight:800;font-size:.95rem;color:#fff;background:#ffffff2e;border:1px solid rgba(255,255,255,.3)}.header-select option,.header-select optgroup{color:var(--ink);background:#fff}.header-btn--on{background:#fff;color:var(--accent-darker)}.extras{display:inline-flex;flex-wrap:wrap;gap:.4rem}.extras__chip{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.3rem .8rem;border-radius:.8rem;cursor:pointer;font-weight:800;background:#ffffff2e;border:1px solid rgba(255,255,255,.35)}.extras__chip,.palette__mode .seg-btn,.teacher__val{overflow:hidden}.extras__chip input{width:20px;height:20px;accent-color:var(--accent-dark)}.extras__chip--off{opacity:.5;cursor:not-allowed}.extras__glyph{font-family:Bravura;font-size:1.4rem;line-height:0;display:inline-block;transform:translateY(.12em);letter-spacing:-.1em}.score-pill{padding:.35rem .8rem;border-radius:999px;font-weight:900;background:#fff3;border:1px solid rgba(255,255,255,.35)}.home{flex:1;display:flex;flex-direction:column;align-items:center;gap:2rem;padding:3rem 1rem 2rem}.home__hero{text-align:center}.home__glyphs{font-family:Bravura;font-size:3rem;line-height:1;display:flex;gap:1.2rem;justify-content:center;margin-bottom:1rem;opacity:.9}.home__glyphs span{display:inline-block;transform:translateY(.2em)}.home__title{font-size:clamp(2.4rem,7vw,4rem);font-weight:900;letter-spacing:-.02em;line-height:1.05;text-shadow:0 4px 24px rgba(0,0,0,.25)}.home__sub{margin-top:.5rem;font-size:1.15rem;color:var(--muted);font-weight:600}.home__modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;width:min(760px,100%)}.mode-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.6rem 1.5rem 1.4rem;min-height:210px;text-align:left;cursor:pointer;background:#fffffff2;color:var(--ink);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}.mode-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--accent),var(--accent-dark))}.mode-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px #ea580c59}.mode-card__icon{font-size:2.4rem}.mode-card__title{font-size:1.45rem;font-weight:900}.mode-card__text{color:var(--ink-soft);font-weight:500;flex:1}.mode-card__cta{margin-top:.5rem;padding:.45rem 1rem;border-radius:999px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-dark))}.home__teacher{display:inline-flex;align-items:center;gap:.6rem;min-height:52px;padding:.7rem 1.4rem;border-radius:999px;cursor:pointer;font:inherit;font-weight:800;color:#fff;background:#0f172a59;border:1.5px solid rgba(255,255,255,.5)}.home__teacher:hover{background:#0f172a80}.home__soon{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;width:min(760px,100%)}.soon-card{padding:.5rem .9rem;border-radius:.9rem;font-weight:700;font-size:.95rem;background:#0f172a40;border:1px dashed rgba(255,255,255,.45)}.soon-card__badge{margin-left:.3rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.home__footer{margin-top:auto;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;font-size:.9rem;color:var(--muted);text-align:center}.home__footer a{color:#fff;font-weight:800}.workspace{flex:1;width:min(1280px,100%);margin:0 auto;display:flex;flex-direction:column;gap:1rem;padding:1rem}.task{font-size:1.15rem;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.25)}.task__gap{display:inline-block;padding:0 .55rem;border:2.5px dashed #fff;border-radius:.5rem;font-weight:900}.stage{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1rem;border-radius:var(--radius-lg);transition:box-shadow .15s,outline-color .15s;outline:3px dashed transparent;outline-offset:6px}.stage.is-drag-over{outline-color:#fff}.panel{display:flex;flex-direction:column;gap:.5rem;min-width:0;padding:1rem;border-radius:var(--radius-lg);background:#fffffff5;color:var(--ink);box-shadow:var(--shadow-card)}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:48px}.panel__title{font-weight:800;color:var(--ink-soft)}.panel--pulse{animation:pulse 1.1s ease 2}@keyframes pulse{0%,to{box-shadow:var(--shadow-card)}50%{box-shadow:0 0 0 6px var(--accent),var(--shadow-card)}}.panel--score{justify-content:flex-start}.metaphor-svg--wide{max-height:30vh}.metaphor-svg{width:100%;height:auto;max-height:52vh;display:block;margin:0 auto;touch-action:manipulation}.metaphor-label{font-weight:900;pointer-events:none;paint-order:stroke}.metaphor-count{font-weight:900;font-size:15px;fill:var(--ink-soft)}.metaphor-part--tap{cursor:pointer}.metaphor-part--tap:hover{filter:brightness(1.12)}.metaphor-part--active{filter:brightness(1.15) drop-shadow(0 0 6px rgba(251,146,60,.9))}.score{position:relative;flex:1;display:flex;align-items:center;min-height:140px}.score__svg{width:100%;overflow-x:auto}.score__svg svg{width:100%;height:auto;display:block}.score__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--ink-soft)}.feedback{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1.1rem;border-radius:var(--radius);background:#fffffff5;color:var(--ink);font-size:1.1rem;font-weight:600;box-shadow:var(--shadow-card);border-left:8px solid #94a3b8}.feedback__icon{font-size:1.5rem;line-height:1.2}.feedback--missing{border-left-color:#0ea5e9}.feedback--full{border-left-color:var(--emerald)}.feedback--overflow,.feedback--wrong{border-left-color:var(--danger)}.palette{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.palette__chips{display:flex;flex-wrap:wrap;gap:.6rem;flex:1}.palette__chip{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.6rem;align-items:center;min-width:140px;min-height:64px;padding:.4rem .9rem .4rem .7rem;border:none;border-radius:var(--radius);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;color:var(--ink);text-align:left;border-left:10px solid var(--value-color);border-bottom:4px solid rgba(15,23,42,.18);box-shadow:0 6px 14px #00000026;transition:transform .12s,box-shadow .15s}.palette__chip:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #0003}.palette__chip:active:not(:disabled){cursor:grabbing;transform:scale(.97)}.palette__chip:disabled{opacity:.45;cursor:not-allowed}.palette__glyph{grid-row:span 2;font-family:Bravura;font-size:2.4rem;line-height:0;color:var(--value-color);width:2.2rem;text-align:center;transform:translateY(.18em)}.palette__glyph--wide{width:auto;min-width:2.2rem;letter-spacing:-.12em;font-size:2rem}.palette__name{font-weight:900;font-size:1.05rem}.palette__frac{font-weight:700;color:var(--ink-soft);font-size:.9rem}.palette__mode{align-self:center;display:inline-flex;gap:.25rem;padding:.25rem;border-radius:.9rem;background:#ffffff2e;border:1px solid rgba(255,255,255,.3)}.palette__mode .seg-btn{display:inline-flex;align-items:center;gap:.35rem;color:#fff;min-height:48px;line-height:1}.palette__mode .seg-btn--on{color:var(--accent-darker)}.palette__mini{font-family:Bravura;font-size:1.5rem;line-height:0;display:inline-block;transform:translateY(.1em)}.drag-ghost{position:fixed;z-index:100;pointer-events:none;transform:translate(-50%,-60%) scale(1.15);display:grid;place-items:center;width:64px;height:64px;border-radius:1rem;background:#fff;border:4px solid var(--value-color);box-shadow:0 14px 30px #0000004d}.drag-ghost .palette__glyph{transform:translateY(.15em)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.toolbar__main{display:flex;flex-wrap:wrap;gap:.75rem}.toolbar__edit{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}.transport{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.transport__tempo{display:flex;align-items:center;gap:.6rem;font-weight:700}.transport__tempo input{width:140px;accent-color:var(--accent-dark);height:32px}.transport__sound{display:inline-flex;align-items:center;gap:.5rem;font-weight:700}.transport__sound select{min-height:44px;padding:.35rem 2rem .35rem .8rem;border-radius:.75rem;cursor:pointer;font:inherit;font-weight:800;color:var(--ink);background:#fff;border:none;border-bottom:3px solid rgba(15,23,42,.18)}.toggle{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;cursor:pointer;min-height:44px}.toggle input{width:22px;height:22px;accent-color:var(--accent-dark)}.hint{font-size:.9rem;color:var(--muted)}.quiz-prompt{padding:1.1rem 1.25rem}.quiz-prompt__body{display:flex;flex-direction:column;align-items:center;gap:.75rem}.quiz-prompt__head{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.quiz-prompt__q{font-size:1.3rem;font-weight:900}.quiz-prompt__show{display:flex;justify-content:center;align-items:center;min-height:150px;width:100%}.quiz-prompt__show .mini{width:min(240px,60vw)}.quiz-prompt__hint{color:var(--ink-soft);font-weight:600;font-size:.95rem}.quiz-note{display:flex;flex-direction:column;align-items:center;width:min(260px,70vw)}.quiz-note .score{min-height:0;width:100%}.quiz-note__name{font-weight:900;font-size:1.1rem;color:var(--accent-darker)}.choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.choices--wide{grid-template-columns:repeat(4,minmax(0,1fr))}.choice{position:relative;display:flex;align-items:center;justify-content:center;min-height:120px;padding:1rem .75rem;cursor:pointer;background:#fff;color:var(--ink);border:3px solid transparent;border-bottom:6px solid rgba(15,23,42,.18);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);font:inherit;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s}.choice--open:hover{transform:translateY(-4px);box-shadow:0 18px 36px #00000038}.choice--open:active{transform:scale(.97)}.choice--correct{border:5px solid var(--emerald-darker);background:#ecfdf5}.choice--wrong{border:5px dashed var(--danger);background:#fef2f2}.choice--idle{opacity:.82;filter:saturate(.75);cursor:default}.choice:disabled{cursor:default}.choice__key{position:absolute;top:.5rem;left:.6rem;width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:.45rem;background:#f1f5f9;color:var(--ink-soft);font-weight:900;font-size:.85rem}.choice__mark{position:absolute;top:.35rem;right:.55rem;font-size:1.6rem;font-weight:900;line-height:1}.choice--correct .choice__mark{color:var(--emerald-darker)}.choice--wrong .choice__mark{color:var(--danger)}.choice__num{font-size:2rem;font-weight:900;font-variant-numeric:tabular-nums}.choice .mini{width:100%;max-width:170px}.choice .metaphor-svg{max-height:180px}.note-glyph{display:inline-flex;flex-direction:column;align-items:center;gap:.15rem}.note-glyph__sign{font-family:Bravura;line-height:0;color:var(--value-color);display:block}.note-glyph--l .note-glyph__sign{font-size:4.2rem;height:4.4rem;padding-top:3.1rem}.note-glyph__name{font-weight:900;font-size:1.05rem}.term-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1rem}.term-row__item{display:inline-flex;align-items:center;gap:1rem;white-space:nowrap}.term-row__op{font-size:2.4rem;font-weight:900;color:var(--ink-soft)}.term-row__eq{font-size:2.2rem;font-weight:900;color:var(--accent-darker)}.term-row__q{display:inline-grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:.8rem;border:3px dashed #64748b;font-size:2rem;font-weight:900;color:var(--ink-soft)}.teacher__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,2fr);gap:1rem;align-items:start}.teacher__form,.teacher__share{gap:.75rem}.teacher__share{position:sticky;top:calc(var(--header-h) + 1rem)}.teacher__h{font-size:1.05rem;font-weight:900;color:var(--ink);margin-top:.5rem}.teacher__label{font-weight:700;color:var(--ink-soft);min-width:7.5rem}.teacher__modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.5rem}.teacher__mode,.teacher__level{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-height:52px;padding:.6rem .9rem;border-radius:.9rem;cursor:pointer;font:inherit;font-weight:800;text-align:left;background:#f8fafc;color:var(--ink);border:2px solid #e2e8f0}.teacher__mode{flex-direction:row;align-items:center;gap:.5rem}.teacher__mode--on,.teacher__level--on{border-color:var(--accent-dark);background:#fff7ed;box-shadow:0 0 0 2px var(--accent-dark) inset}.teacher__level span{font-weight:600;font-size:.85rem;color:var(--ink-soft)}.teacher__levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.teacher__ts-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.teacher__checks{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.teacher__check{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-weight:700;color:var(--ink);cursor:pointer}.teacher__check input{width:22px;height:22px;accent-color:var(--accent-dark)}.teacher__check small{font-weight:500;color:var(--ink-soft)}.teacher__check--off{opacity:.55}.teacher__vals{display:flex;flex-wrap:wrap;gap:.5rem}.teacher__val{display:inline-flex;align-items:center;gap:.4rem;min-height:48px;padding:.3rem .8rem .3rem .5rem;cursor:pointer;border-radius:.8rem;font-weight:800;color:var(--ink);background:#f8fafc;border:2px solid #e2e8f0;border-left:8px solid var(--value-color)}.teacher__val--on{background:#fff;border-color:var(--value-color)}.teacher__val input{width:20px;height:20px;accent-color:var(--value-color)}.teacher__val-glyph{font-family:Bravura;font-size:1.8rem;line-height:0;color:var(--value-color);transform:translateY(.15em);letter-spacing:-.12em}.teacher__note{font-size:.9rem;color:var(--ink-soft);width:100%}.teacher__note strong{color:var(--accent-darker)}.teacher__tick{font-size:.95em}.teacher__qr{width:min(260px,100%);margin:0 auto}.teacher__qr svg,.qr-overlay__qr svg{width:100%;height:auto;display:block}.teacher__link{display:flex;gap:.5rem}.teacher__link input{flex:1;min-width:0;min-height:48px;padding:.5rem .75rem;border-radius:.75rem;border:2px solid #e2e8f0;font:inherit;font-size:.85rem;color:var(--ink)}.teacher__actions{display:flex;flex-wrap:wrap;gap:.5rem}.qr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:1rem;background:#0f172abf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.qr-overlay__card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:#fff;color:var(--ink);border-radius:var(--radius-lg);box-shadow:0 25px 60px #0000004d;width:min(92vw,80vh)}.qr-overlay__title{font-size:1.6rem;font-weight:900;text-align:center}.qr-overlay__qr{width:100%}.qr-overlay__hint{font-size:1.2rem;font-weight:700;color:var(--ink-soft)}@media (max-width: 900px){.teacher__grid{grid-template-columns:1fr}.teacher__share{position:static}}.hear-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.25rem;color:var(--ink)}.btn-hear{font-size:1.25rem;padding:.9rem 2rem;min-width:12rem}.toggle--ink{color:var(--ink)}.choices--scores{grid-template-columns:repeat(2,minmax(0,1fr))}.choices--scores .choice{padding:2rem .75rem .75rem;min-height:0}.choices--scores .score{min-height:0;width:100%}.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.compare__col{display:flex;flex-direction:column;gap:.5rem;min-width:0}.compare__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--ink)}.btn-ghost--ink{color:var(--accent-darker);background:#fff7ed;border-color:#fdba74;border-bottom-color:#fb923c;min-height:40px;padding:.4rem .9rem}.mini .metaphor-count{font-size:22px}.quiz-pic{padding:1rem 1.25rem}.quiz-pic__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.quiz-pic__row{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem}.quiz-pic__row .mini{width:min(230px,42vw)}@media (max-width: 900px){.stage{grid-template-columns:1fr}.metaphor-svg{max-height:40vh}}@media (max-width: 900px){.choices,.choices--wide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.choices--scores,.compare{grid-template-columns:1fr}}@media (max-width: 600px){.quiz-prompt__q{font-size:1.1rem}.note-glyph--l .note-glyph__sign{font-size:3.2rem;height:3.4rem;padding-top:2.4rem}.note-glyph__name{font-size:.9rem}.term-row{gap:.25rem .6rem}.term-row__item{gap:.5rem}.term-row__op{font-size:1.8rem}.term-row__eq{font-size:1.6rem}.choice{min-height:96px}.workspace{padding:.75rem;gap:.75rem}.view-header__title{font-size:.95rem}.view-header__sub,.hide-sm,.seg--wrap .seg-btn__label{display:none}.palette__chip{min-width:calc(50% - .3rem);flex:1 1 calc(50% - .3rem)}.toolbar__edit{margin-left:0}.feedback{font-size:1rem}.hint{display:none}}@media (min-width: 1600px){html{font-size:19px}.workspace{width:min(1600px,100%)}}.progress-pill{position:relative;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .8rem;border-radius:999px;font-weight:900;font-variant-numeric:tabular-nums;background:#ffffff38;border:1px solid rgba(255,255,255,.4)}.progress-pill__gain{position:absolute;right:.2rem;top:-.2rem;pointer-events:none;font-weight:900;color:#fde68a;text-shadow:0 2px 6px rgba(0,0,0,.45);animation:gainUp 1.3s ease-out forwards}@keyframes gainUp{0%{transform:translateY(0) scale(.8);opacity:0}15%{opacity:1;transform:translateY(-6px) scale(1.15)}to{transform:translateY(-34px) scale(1);opacity:0}}.badge-party{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:grid;place-items:center;padding:1rem;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.badge-party__card{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;width:min(380px,100%);padding:2rem 1.5rem 1.5rem;border-radius:var(--radius-lg);background:#fff;color:var(--ink);box-shadow:0 25px 60px #00000059;animation:partyIn .5s cubic-bezier(.34,1.56,.64,1) both}.badge-party__icon{font-size:4rem;line-height:1;animation:partyIcon 1.4s ease-in-out infinite}.badge-party__title{font-weight:800;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}.badge-party__name{font-size:1.7rem;font-weight:900;color:var(--accent-darker)}.badge-party__text{color:var(--ink-soft);font-weight:600;margin-bottom:.5rem}@keyframes partyIn{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes partyIcon{0%,to{transform:rotate(-8deg) scale(1)}50%{transform:rotate(8deg) scale(1.12)}}.home__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:1rem;width:min(1100px,100%)}.home-card{padding:1rem 1.2rem;border-radius:var(--radius-lg);background:#fffffff5;color:var(--ink);box-shadow:var(--shadow-card)}.progress-card{display:flex;gap:1rem;align-items:center}.progress-card__badge{font-size:3.4rem;line-height:1;min-width:4.2rem;text-align:center}.progress-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.progress-card__title{font-size:1.3rem;font-weight:900;color:var(--accent-darker)}.progress-card__points{font-weight:600;color:var(--ink-soft)}.progress-card__points strong{font-size:1.2rem;color:var(--ink)}.progress-card__bar{height:14px;border-radius:999px;background:#fde7d2;overflow:hidden}.progress-card__bar span{display:block;height:100%;background:linear-gradient(90deg,#fbbf24,var(--accent-dark));transition:width .6s}.progress-card__next{font-size:.9rem;font-weight:700;color:var(--ink-soft)}.progress-card__ladder{display:flex;flex-wrap:wrap;gap:.25rem}.progress-card__step{font-size:.95rem;padding:.1rem .4rem;border-radius:.5rem;background:#f1f5f9;filter:grayscale(1);opacity:.45}.progress-card__step--got{filter:none;opacity:1;background:#fef3c7}.level-card{display:flex;flex-direction:column;gap:.5rem}.level-card__title{font-weight:900;font-size:1.05rem}.level-card__options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.level-card__opt{display:flex;flex-direction:column;align-items:center;gap:.1rem;min-height:64px;padding:.5rem .4rem;cursor:pointer;border-radius:1rem;font:inherit;background:#f8fafc;color:var(--ink);border:2px solid #e2e8f0;border-bottom-width:4px}.level-card__opt--on{background:#fff7ed;border-color:var(--accent-dark);box-shadow:0 0 0 2px var(--accent-dark) inset}.level-card__icon{font-size:1.5rem;line-height:1.1}.level-card__name{font-weight:900}.level-card__desc{font-size:.75rem;color:var(--ink-soft);text-align:center;line-height:1.2}.level-card__extras{display:flex;flex-wrap:wrap;gap:.25rem 1.2rem}.level-card__extra{display:inline-flex;align-items:center;gap:.4rem;min-height:36px;font-weight:700;cursor:pointer}.level-card__extra input{width:20px;height:20px;accent-color:var(--accent-dark)}.level-card__hint{font-size:.8rem;color:var(--ink-soft);font-weight:600}.mode-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.4rem;width:100%;flex-wrap:wrap}.mode-card__count{font-size:.8rem;font-weight:800;color:var(--accent-darker);background:#fff7ed;border-radius:999px;padding:.15rem .55rem}.home__teacher--quiet{background:transparent;border-style:dashed;font-weight:700}.home__reset{background:none;border:none;color:#fff;text-decoration:underline;cursor:pointer;font:inherit;font-size:.85rem;opacity:.85}@media (max-width: 760px){.home__top{grid-template-columns:1fr}}.home__practice{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,4fr);gap:1rem;width:min(1100px,100%);align-items:stretch}.explore-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;cursor:pointer;padding:1.1rem 1rem 1rem;border-radius:var(--radius-lg);font:inherit;color:#fff;background:#0f172a47;border:2px dashed rgba(255,255,255,.65);transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s}.explore-card:hover{transform:translateY(-4px);background:#0f172a61}.explore-card__tag{align-self:flex-end;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .55rem;border-radius:999px;background:#ffffff38}.explore-card__icon{font-size:2rem}.explore-card__title{font-size:1.25rem;font-weight:900}.explore-card__text{font-size:.9rem;opacity:.92;flex:1}.explore-card__cta{margin-top:.3rem;padding:.35rem .9rem;border-radius:999px;font-weight:800;background:#fffffff2;color:var(--ink)}.home__scored{display:flex;flex-direction:column;gap:.5rem;padding:.7rem;border-radius:calc(var(--radius-lg) + .3rem);background:#ffffff24;border:1px solid rgba(255,255,255,.3)}.home__scored-title{font-size:1rem;font-weight:900;padding-left:.3rem}.home__scored .home__modes{width:100%;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.level-card__pts{font-size:.78rem;font-weight:900;color:var(--accent-darker)}.level-card__bonus{font-size:.78rem;font-weight:900;color:var(--accent-darker);background:#fff7ed;border-radius:999px;padding:0 .4rem}@media (max-width: 760px){.home__practice{grid-template-columns:1fr}}.home__row{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.ch-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:999px;font-weight:800;font-size:.9rem;background:#fff3;border:1px solid rgba(255,255,255,.4)}.ch-chip--ink{background:#fff7ed;color:var(--accent-darker);border-color:#fed7aa}.ch-chip--away{opacity:.45}.ch-join{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem 1rem}.ch-join__card{width:min(420px,100%);display:flex;flex-direction:column;align-items:stretch;gap:.75rem;text-align:center;padding:1.75rem 1.5rem;border-radius:var(--radius-lg);background:#fffffff5;color:var(--ink);box-shadow:var(--shadow-card)}.ch-join__card form{display:flex;flex-direction:column;gap:.75rem}.ch-join__icon{font-size:3rem}.ch-join__title{font-size:1.7rem;font-weight:900}.ch-join__label{font-weight:800;color:var(--ink-soft)}.ch-join__input{min-height:64px;text-align:center;font:inherit;font-size:2rem;font-weight:900;letter-spacing:.3em;border-radius:1rem;border:3px solid #e2e8f0;color:var(--ink);text-transform:uppercase}.ch-join__input:focus{outline:none;border-color:var(--accent-dark)}.ch-join__error{color:var(--danger);font-weight:700}.ch-join__hint{font-size:.9rem;color:var(--ink-soft)}.ch-header__name{flex:1;font-weight:900;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-main{gap:.75rem}.ch-prompt{align-items:center;gap:.6rem;padding:.9rem 1rem;text-align:center}.ch-feedback{display:flex;flex-direction:column;gap:.6rem}.ch-feedback .btn-check{align-self:flex-end}.ch-task{margin:0}.ch-wait{margin:auto;width:min(560px,100%);display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;padding:2rem 1.5rem;border-radius:var(--radius-lg);background:#fffffff5;color:var(--ink);box-shadow:var(--shadow-card)}.ch-wait__you{font-weight:700;color:var(--ink-soft)}.ch-wait__name{font-size:clamp(1.8rem,6vw,2.6rem);font-weight:900;color:var(--accent-darker);line-height:1.1}.ch-wait__text{font-weight:600;color:var(--ink-soft)}.ch-wait__modes{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.ch-wait__modes .ch-chip{background:#fff7ed;color:var(--accent-darker);border-color:#fed7aa}.ch-dots{display:flex;gap:.5rem;margin-top:.5rem}.ch-dots span{width:12px;height:12px;border-radius:50%;background:var(--accent);animation:chDot 1.2s ease-in-out infinite}.ch-dots span:nth-child(2){animation-delay:.15s}.ch-dots span:nth-child(3){animation-delay:.3s}@keyframes chDot{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-8px);opacity:1}}.ch-final__rank{font-size:clamp(2.4rem,9vw,3.6rem);font-weight:900;color:var(--accent-darker);line-height:1}.ch-final__rank span{font-size:.4em;color:var(--ink-soft)}.ch-podium{list-style:none;display:flex;flex-direction:column;gap:.35rem;width:100%}.ch-podium li{display:flex;align-items:center;gap:.5rem;justify-content:space-between;padding:.4rem .8rem;border-radius:.75rem;background:#f8fafc;font-weight:800}.host{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:1rem;align-items:start}.host__join{align-items:center;text-align:center}.host__code-label{font-weight:800;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.12em;font-size:.85rem}.host__code{font-size:clamp(2rem,4.4vw,3.8rem);font-weight:900;letter-spacing:.1em;max-width:100%;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.host__qr{width:min(260px,100%)}.host__qr svg{width:100%;height:auto;display:block}.host__url{font-weight:700;color:var(--ink-soft);word-break:break-all}.host__config{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}.host__board{min-height:0}.host__board-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.host__actions{display:flex;flex-wrap:wrap;gap:.5rem}.host__names{display:flex;flex-wrap:wrap;gap:.4rem}.host__empty{color:var(--ink-soft);font-weight:600;padding:1rem 0}.host__list{list-style:none;display:flex;flex-direction:column;gap:.3rem;overflow-y:auto}.host__row{display:grid;grid-template-columns:2.4rem minmax(0,1.4fr) minmax(0,2fr) 3.6rem 3.6rem;align-items:center;gap:.6rem;padding:.35rem .6rem;border-radius:.7rem;background:#f8fafc;color:var(--ink);font-weight:800}.host__row--done{background:#ecfdf5}.host__row--away{opacity:.55}.host__rank{color:var(--ink-soft)}.host__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.host__bar{height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden}.host__bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-dark));transition:width .4s}.host__count{font-size:.85rem;color:var(--ink-soft);text-align:right}.host__score{text-align:right;font-variant-numeric:tabular-nums}.host__podium{list-style:none;display:flex;justify-content:center;align-items:flex-end;gap:.75rem;margin:.5rem 0}.host__step{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.8rem 1rem;min-width:8rem;border-radius:1rem 1rem .4rem .4rem;background:#fff7ed;color:var(--ink);font-weight:900}.host__step--1{order:2;padding-top:1.6rem;background:#fef3c7}.host__step--2{order:1}.host__step--3{order:3}.host__medal{font-size:2rem}.host__step-score{color:var(--accent-darker)}@media (max-width: 900px){.host{grid-template-columns:1fr}.host__row{grid-template-columns:2rem minmax(0,1fr) 4rem 3rem}.host__row .host__bar{display:none}}@media (min-width: 900px) and (min-height: 480px) and (orientation: landscape){.view{height:100vh;height:100dvh;min-height:0}.workspace{flex:1 1 0;min-height:0;gap:.6rem;padding:.6rem 1rem .75rem;overflow-y:auto}.task{font-size:1rem;flex:none}.stage{flex:1 1 0;min-height:170px}.panel{min-height:0;padding:.6rem .85rem;gap:.35rem}.panel__head{min-height:0}.panel>.metaphor-svg{flex:1 1 0;min-height:0;height:100%;max-height:none}.score{flex:1 1 0;min-height:0}.score__svg{height:100%;display:flex;align-items:center}.score__svg svg{width:100%!important;height:100%!important;min-width:0!important;max-height:100%}.feedback{flex:none;padding:.5rem .9rem;font-size:1rem;border-left-width:6px}.feedback__icon{font-size:1.25rem}.palette{flex:none;gap:.5rem}.palette__chips{gap:.45rem}.palette__chip{min-height:48px;min-width:0;padding:.2rem .65rem .2rem .45rem;column-gap:.45rem;border-left-width:7px}.palette__glyph{font-size:1.8rem;width:1.8rem}.palette__glyph--wide{font-size:1.5rem}.palette__name{font-size:.88rem}.palette__frac{font-size:.78rem}.extras__chip,.palette__mode .seg-btn{min-height:40px}.panel--metaphor .seg{padding:.2rem;gap:.15rem}.panel--metaphor .seg-btn{min-height:34px;padding:.25rem .55rem;font-size:.85rem}.toolbar{flex:none;gap:.5rem 1rem}.btn{min-height:44px;padding:.5rem 1.1rem}.btn-check{font-size:1.05rem;padding:.55rem 1.4rem}.hint{display:none}.quiz-prompt{flex:none;padding:.6rem 1rem}.quiz-prompt__body{gap:.4rem}.quiz-prompt__q{font-size:1.1rem}.quiz-prompt__show{min-height:0;height:clamp(80px,20vh,210px)}.quiz-prompt__show .mini,.quiz-note{height:100%;width:auto;aspect-ratio:auto}.quiz-prompt__show .mini .metaphor-svg,.quiz-note .score__svg svg{height:100%!important;width:auto!important;max-width:100%}.quiz-note .score{height:100%}.quiz-prompt__hint{font-size:.85rem}.choices{flex:1 1 0;min-height:110px;grid-auto-rows:minmax(0,1fr)}.choice{min-height:0;height:100%;padding:.6rem}.choice .mini{height:100%;max-width:none;display:flex;justify-content:center}.choice .mini .metaphor-svg{height:100%;width:auto;max-width:100%;max-height:none}.note-glyph--l .note-glyph__sign{font-size:clamp(2.4rem,7vh,4.2rem);height:clamp(2.6rem,7.4vh,4.4rem);padding-top:clamp(1.8rem,5.2vh,3.1rem)}.choices--scores{grid-template-rows:repeat(2,minmax(0,1fr))}.choices--scores .choice{padding:1.6rem .6rem .4rem}.choices--scores .score{height:100%}.quiz-pic{flex:1 1 0;min-height:150px;padding:.5rem .9rem}.quiz-pic__row,.compare{flex:1 1 0;min-height:0}.quiz-pic__row .mini,.compare__col>.metaphor-svg{height:100%;min-height:0}.quiz-pic__row .mini .metaphor-svg{height:100%;width:auto;max-width:100%}.compare__col{min-height:0}.compare__col>.metaphor-svg{flex:1 1 0;max-height:none}.hear-controls{gap:.5rem 1rem}.hear-prompt{flex-direction:row;flex-wrap:wrap;justify-content:center}.hear-prompt .quiz-prompt__hint{display:none}.choices--scores .choice{padding:.9rem .6rem .3rem}.btn-hear{font-size:1.1rem;padding:.55rem 1.5rem}.home{justify-content:center;gap:.8rem;padding:.8rem 1rem;min-height:0;height:100vh;height:100dvh}.home__glyphs{display:none}.home__top{width:min(1100px,100%);gap:.8rem}.home-card{padding:.7rem 1rem}.progress-card__badge{font-size:2.8rem;min-width:3.4rem}.level-card{gap:.35rem}.level-card__opt{min-height:0;padding:.35rem .3rem}.level-card__icon{font-size:1.2rem}.mode-card__text{display:none}.mode-card{gap:.25rem;padding:.8rem .8rem .7rem}.home__title{font-size:clamp(2rem,6vh,3.2rem)}.home__sub{font-size:1rem;margin-top:.2rem}.home__modes{width:min(1100px,100%);grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}.home__scored .home__modes{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.home__practice{gap:.8rem}.home__scored{padding:.5rem .6rem .6rem;gap:.35rem}.explore-card{padding:.8rem .9rem;gap:.2rem}.explore-card__text{display:none}.mode-card{min-height:0;padding:1rem .9rem .9rem}.mode-card__icon{font-size:1.8rem}.mode-card__title{font-size:1.15rem}.mode-card__text{font-size:.9rem}.mode-card__cta{padding:.3rem .8rem;font-size:.9rem}.home__footer{margin-top:0}.teacher__grid{flex:1 1 0;min-height:0;align-items:stretch}.teacher__form{overflow-y:auto}.teacher__share{position:static;overflow-y:auto}.teacher__qr{width:min(240px,34vh)}}@media (min-width: 900px) and (min-height: 480px) and (orientation: landscape){.host{flex:1 1 0;min-height:0;align-items:stretch}.host__join,.host__board{min-height:0;overflow-y:auto}.host__qr{width:min(240px,27vh)}.host__join{gap:.4rem}.host__config .ch-chip{font-size:.8rem;padding:.2rem .6rem}.ch-main .stage{min-height:150px}}@media (min-width: 900px) and (max-width: 1150px) and (orientation: landscape){.home__modes{grid-template-columns:repeat(3,minmax(0,1fr))}.home__scored .home__modes{grid-template-columns:repeat(2,minmax(0,1fr))}}html.beamer{font-size:22px}html.beamer .hint,html.beamer .home__footer,html.beamer .home__soon{display:none}html.beamer .workspace{width:100%;max-width:none;padding:1rem 2rem}html.beamer .metaphor-svg{max-height:62vh}html.beamer .feedback{font-size:1.25rem}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
