:root{--c-orange:#ff9424;--c-orange-deep:#ee7a10;--c-orange-soft:#ffb45e;--c-red:#d64550;--c-red-deep:#a92b36;--c-ink-900:#070c1c;--c-ink-800:#0b1226;--c-ink-700:#101935;--c-ink-600:#182346;--c-ink-500:#23305c;--c-line:#96aceb29;--c-text:#eef2ff;--c-text-soft:#b6c2ea;--c-text-mute:#7f8db8;--c-brand-violet:#9b7be8;--c-brand-gold:#ffc93c;--c-logo-arc:#ffffffeb;--c-signal:#58e8dd;--c-hud-glass:#0a1024d1;--c-hud-edge:#96b0f538;--c-blue-card:#3f7fdb;--c-blue-card-2:#2c5fb3;--c-green-glow:#7cf7a0;--topbar-h:64px;--editor-w:clamp(760px, 52vw, 980px);--dock-gap:26px;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--radius-pill:999px;--shadow-card:0 24px 60px #00000080;--shadow-soft:0 10px 26px #00000059;--font-display:"Baloo 2", "Nunito", system-ui, -apple-system, sans-serif;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}.app--simple-toolbox{--editor-w:clamp(500px, 33vw, 680px)}@media (max-width:1180px){:root{--editor-w:clamp(600px, 66vw, 800px)}.app--simple-toolbox{--editor-w:clamp(460px, 52vw, 620px)}}@media (max-width:900px){:root,.app--simple-toolbox{--editor-w:100%}}.blockly-host .injectionDiv{border-radius:0}.blockly-host .blocklyMainBackground{stroke:none;fill:#0000!important}.blockly-host .blocklySvg{background:0 0}.blockly-host .blocklyToolbox{border-right:1px solid var(--c-line);background:linear-gradient(#0b1124f5,#090e1efa);width:190px;padding:12px 0}.blockly-host .blocklyToolboxCategory{border-radius:var(--radius-sm);white-space:nowrap;height:auto;transition:background .16s var(--ease-out), transform .16s var(--ease-out);margin:2px 8px;padding:9px 10px;line-height:1.25;border-left-width:5px!important}.blockly-host .blocklyToolboxCategory:hover{background:#ffffff12;transform:translate(2px)}.blockly-host .blocklyToolboxSelected{background:#ffffff21!important}.blockly-host .blocklyToolboxCategoryLabel{font:700 13.5px var(--font-display);color:var(--c-text-soft);padding:0 4px}.blockly-host .blocklyToolboxSelected .blocklyToolboxCategoryLabel{color:#fff}.blockly-host .blocklyTreeSeparator{border-color:var(--c-line);margin:10px 14px}.blockly-host .blocklyFlyoutBackground{fill:#0e152cf7}.blockly-host .blocklyScrollbarHandle{fill:#96aceb57}.blockly-host .blocklyScrollbarHandle:hover{fill:#96aceb8c}.blockly-host .blocklyZoom>image,.blockly-host .blocklyZoom>svg>image{opacity:.5}.blockly-host .blocklyZoom>image:hover,.blockly-host .blocklyZoom>svg>image:hover{opacity:.95}.blockly-host .blocklyTrash{opacity:.55}.blocklyWidgetDiv .blocklyMenu{border:1px solid var(--c-line);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);background:#131b36;padding:4px}.blocklyWidgetDiv .blocklyMenuItem{color:var(--c-text-soft);font-family:var(--font-body);border-radius:6px;font-weight:700}.blocklyWidgetDiv .blocklyMenuItemHighlight,.blocklyWidgetDiv .blocklyMenuItem:hover{color:#fff;background:#ffffff1a}.blocklyTooltipDiv{border:1px solid var(--c-line);color:var(--c-text-soft);font-family:var(--font-body);box-shadow:var(--shadow-soft);opacity:1;background:#0e1530;border-radius:8px;max-width:260px;padding:7px 10px;font-size:12.5px;font-weight:600}.blockly-host .blocklyHighlightedConnectionPath{stroke:var(--c-green-glow)}.blockly-host .blocklyPathLight{display:none}.blockly-host .blocklySelected>.blocklyPath{stroke:var(--c-green-glow);stroke-width:3px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--c-ink-900);color:var(--c-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-weight:600;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--c-green-glow);outline-offset:2px;border-radius:6px}.app{isolation:isolate;width:100%;height:100%;position:relative;overflow:hidden}.editor-width-probe{width:var(--editor-w);visibility:hidden;pointer-events:none;height:0;position:absolute;top:0;left:0}.game-layer,.game-layer>canvas{position:absolute;inset:0}.game-canvas{display:block}.editor-scrim{width:var(--editor-w);-webkit-backdrop-filter:saturate(.45)brightness(.66)blur(2px);backdrop-filter:saturate(.45)brightness(.66)blur(2px);pointer-events:none;opacity:1;transition:opacity .42s var(--ease-out), width .42s var(--ease-out);z-index:1;background:linear-gradient(#060a18b8 0%,#060a1899 52%,#060a18c2 100%);position:absolute;inset:0 auto 0 0}.app--preview-collapsed .editor-scrim{width:100%}.app--running .editor-scrim,.app--intro .editor-scrim{opacity:0;width:100%}.app--success .editor-scrim,.app--epilogue .editor-scrim,.app--failure .editor-scrim{opacity:0}.logo{width:auto;display:block}.logo--animated .logo__arc{transform-box:view-box;transform-origin:13px 35px;animation:logo-broadcast 1.8s var(--ease-in-out) infinite}.logo--animated .logo__arc--far{animation-delay:.22s}.logo--animated .logo__dot{transform-box:view-box;transform-origin:13px 35px;animation:logo-dot 1.8s var(--ease-in-out) infinite}@keyframes logo-broadcast{0%,to{opacity:.16;transform:scale(.93)}22%{opacity:1;transform:scale(1)}62%{opacity:.16;transform:scale(1.07)}}@keyframes logo-dot{0%,to{transform:scale(1)}14%{transform:scale(1.16)}40%{transform:scale(1)}}.topbar{height:var(--topbar-h);z-index:6;pointer-events:none;transition:opacity .32s var(--ease-out);justify-content:space-between;align-items:center;gap:18px;padding:0 16px;display:flex;position:absolute;inset:0 0 auto}.topbar:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(#0408149e,#04081400);height:132px;position:absolute;inset:-8px 0 auto}.topbar>*{pointer-events:auto}.app--story .topbar{opacity:0;pointer-events:none}.app--running .topbar{opacity:.25}.app--running .topbar:hover{opacity:1}.topbar__cluster{align-items:center;gap:10px;min-width:0;display:flex}.topbar__cluster:first-child{flex:auto}.topbar__cluster:last-child{flex:none}.topbar__mission{min-width:0}.topbar__plate{background:var(--c-hud-glass);border:1px solid var(--c-hud-edge);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);border-radius:15px;align-items:center;gap:12px;height:46px;padding:0 15px;display:flex;box-shadow:inset 0 1px #bed2ff24,0 8px 22px #02050e73}.topbar__rule{background:linear-gradient(180deg, transparent, var(--c-hud-edge) 22%, var(--c-hud-edge) 78%, transparent);flex:none;width:1px;height:24px}.topbar__nav{width:42px;height:46px;color:var(--c-text-mute);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .18s var(--ease-out), border-color .18s var(--ease-out), color .18s var(--ease-out), transform .18s var(--ease-out);background:#0a102499;border:1px solid #0000;border-radius:14px;place-items:center;display:grid}.topbar__nav:hover:not(:disabled){background:var(--c-hud-glass);border-color:var(--c-hud-edge);color:var(--c-text);transform:translate(-2px)}.topbar__nav:disabled{opacity:.22}.topbar__mission{gap:13px;min-width:0;padding-left:16px}.topbar__logo,.topbar__logo-mark{color:var(--c-text);flex:none;display:block}.topbar__logo-mark{display:none}.topbar__place{flex-direction:column;justify-content:center;gap:2px;min-width:0;display:flex}.topbar__chapter{letter-spacing:.16em;text-transform:uppercase;color:var(--c-text-mute);white-space:nowrap;font-size:9.5px;font-weight:800;display:block}.topbar__title{font-family:var(--font-display);letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:21px;font-weight:800;line-height:1.05;overflow:hidden}.pips{flex:none;display:block;overflow:visible}.pips__done{fill:var(--c-brand-violet)}.pips__todo{fill:none;stroke:#96b0f557;stroke-width:1.5px}.pips__live{fill:var(--c-brand-gold)}.pips__ping{fill:none;stroke:var(--c-brand-gold);stroke-width:1.6px;animation:pip-ping 2.6s var(--ease-out) infinite}@keyframes pip-ping{0%{opacity:.75;transform:scale(1)}60%,to{opacity:0;transform:scale(1.95)}}.topbar__key{border:1px solid var(--c-hud-edge);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);height:46px;color:var(--c-text-soft);font-family:var(--font-display);transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out), color .14s var(--ease-out), filter .14s var(--ease-out);background:linear-gradient(#2a3764f2,#172042f2);border-radius:15px;align-items:center;gap:7px;padding:0 17px 0 14px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 3px #03061099,0 8px 18px #02050e59}.topbar__key:hover{color:var(--c-text);transform:translateY(-2px);box-shadow:0 5px #03061099,0 12px 22px #02050e66}.topbar__key:active{transform:translateY(2px);box-shadow:0 1px #03061099,0 4px 10px #02050e59}.topbar__key--hint{color:#fff;background:linear-gradient(#a077f0,#7e56d8 44%,#5f3fb0);border-color:#cebaff42;box-shadow:0 3px #301a64f2,0 8px 20px #7c54d866}.topbar__key--hint svg{color:var(--c-brand-gold)}.topbar__key--hint:hover{box-shadow:0 5px #301a64f2,0 13px 26px #7c54d87a}.topbar__key--hint:active{box-shadow:0 1px #301a64f2,0 4px 12px #7c54d866}.topbar__status{gap:13px;padding:0 16px}.topbar__timer{font-variant-numeric:tabular-nums;font-family:var(--font-display);color:var(--c-text);flex-direction:column;gap:1px;font-size:15px;font-weight:700;line-height:1.05;display:flex}.topbar__timer-label,.topbar__xp-unit{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--c-text-mute);font-size:9.5px;font-weight:800}.topbar__xp{align-items:center;gap:8px;display:inline-flex}.topbar__xp-value{font-family:var(--font-display);color:var(--c-brand-gold);font-size:17px;font-weight:800;line-height:1}.topbar__xp-unit{color:#ffc93c99;align-self:center;margin-left:-3px}.topbar__xp-orb{background:radial-gradient(circle at 34% 28%, #fff3c4, var(--c-brand-gold) 58%, #b96f08);border-radius:50%;width:15px;height:15px;box-shadow:0 0 12px #ffc93c8c}.topbar__xp.is-awarded .topbar__xp-orb{animation:xp-flare .9s var(--ease-out)}.topbar__xp.is-awarded .topbar__xp-value{animation:xp-pop .9s var(--ease-out)}@keyframes xp-flare{0%,to{transform:scale(1);box-shadow:0 0 12px #ffc93c8c}30%{transform:scale(1.35);box-shadow:0 0 26px #ffc93cf2}}@keyframes xp-pop{0%,to{transform:scale(1)}30%{transform:scale(1.22)}}.topbar__utility{gap:2px;padding:0 6px}.topbar__icon{width:34px;height:34px;color:var(--c-text-mute);transition:background .18s var(--ease-out), color .18s var(--ease-out);border-radius:11px;place-items:center;display:grid}.topbar__icon:hover:not(:disabled){color:var(--c-text);background:#ffffff1a}.topbar__icon:disabled{opacity:.3}@media (max-width:1180px){.topbar__key{gap:0;padding:0 13px;font-size:0}.topbar__key svg{font-size:14px}.topbar__title{font-size:19px}}@media (max-width:900px){.topbar{gap:10px;padding:0 10px}.topbar__nav,.topbar__logo,.topbar__timer-label{display:none}.topbar__logo-mark{display:block}.topbar__mission{gap:11px;padding-left:13px}}@media (max-width:700px){:root,.app--simple-toolbox{--topbar-h:56px}.topbar{gap:8px}.topbar__plate,.topbar__key,.topbar__nav{border-radius:13px;height:40px}.topbar__plate{gap:10px;padding:0 12px}.topbar__mission{padding-left:13px}.topbar__key{padding:0 11px}.topbar__title{font-size:17px}.topbar__status .topbar__rule,.topbar__timer,.topbar__icon--debug{display:none}}@media (max-width:540px){.topbar{gap:6px;padding:0 8px}.topbar__place~.topbar__rule,.pips,.topbar__xp-unit{display:none}.topbar__chapter{letter-spacing:.12em;font-size:9px}.topbar__title{font-size:16px}.topbar__status{padding:0 10px}.topbar__key{padding:0 9px}.topbar__icon{width:30px}}@media (prefers-reduced-motion:reduce){.pips__ping{opacity:0;animation:none}.topbar__xp.is-awarded .topbar__xp-orb,.topbar__xp.is-awarded .topbar__xp-value,.story-intro__brand{animation:none}.logo--animated .logo__arc,.logo--animated .logo__dot{opacity:1;animation:none}}.editor{top:var(--topbar-h);width:var(--editor-w);z-index:3;transition:opacity .38s var(--ease-out), transform .46s var(--ease-out), width .42s var(--ease-out);flex-direction:column;display:flex;position:absolute;bottom:0;left:0}.app--preview-collapsed .editor{width:100%}.app--running .editor,.app--success .editor,.app--epilogue .editor,.app--failure .editor,.app--intro .editor{opacity:0;pointer-events:none;transform:translate(-3%)scale(.985)}.blockly-host{flex:1;min-height:0}.editor-footer{height:34px;color:var(--c-text-mute);border-top:1px solid var(--c-line);background:#080d1cb8;align-items:center;gap:14px;padding:0 16px;font-size:11.5px;display:flex}.editor-footer__warning{color:#ffcf7a}.preview-toggle{top:calc(var(--topbar-h) + 12px);left:calc(var(--editor-w) - 14px);border:1px solid var(--c-line);width:28px;height:28px;color:var(--c-text-soft);z-index:5;transition:left .42s var(--ease-out), opacity .32s var(--ease-out), background .18s var(--ease-out);background:#0c1226d9;border-radius:50%;place-items:center;display:grid;position:absolute}.preview-toggle:hover{color:var(--c-text);background:#1e2a4ef2}.app--preview-collapsed .preview-toggle{left:auto;right:14px}.app--running .preview-toggle,.app--success .preview-toggle,.app--epilogue .preview-toggle,.app--failure .preview-toggle,.app--intro .preview-toggle{opacity:0;pointer-events:none}.run-overlay{top:calc(var(--topbar-h) + 8px);z-index:5;pointer-events:none;position:absolute;left:18px}.compact-program{animation:slide-in .38s var(--ease-out) both;transition:opacity .34s var(--ease-out);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.compact-program.is-dimmed{opacity:.4}.run-dock{right:var(--dock-gap);bottom:var(--dock-gap);z-index:7;transition:opacity .26s var(--ease-out), transform .26s var(--ease-out);position:absolute}.app--intro .run-dock,.app--success .run-dock,.app--epilogue .run-dock,.app--failure .run-dock{opacity:0;pointer-events:none;transform:translateY(12px)scale(.94)}.mini-block{background:var(--mini-colour);color:#fff;min-width:92px;font-family:var(--font-display);text-shadow:0 1px 1px #00000047;transition:box-shadow .18s var(--ease-out), transform .18s var(--ease-out);border-radius:7px;align-items:center;padding:6px 14px 7px;font-size:12.5px;font-weight:700;line-height:1.15;display:inline-flex;position:relative;box-shadow:inset 0 -2px #00000038,0 2px 5px #00000052}.mini-block--md{min-width:104px;padding:9px 18px 10px;font-size:14px}.mini-block--hat{border-radius:12px 12px 7px 7px;padding-top:9px}.mini-block--hat:before{content:"";background:inherit;border-radius:14px 14px 0 0;height:14px;position:absolute;top:-7px;left:0;right:0}.mini-block__notch{background:inherit;border-radius:0 0 4px 4px;width:16px;height:5px;position:absolute;bottom:-3px;left:13px}.mini-block__label{white-space:nowrap;position:relative}.mini-block.is-active{box-shadow:0 0 0 3px var(--c-green-glow), 0 0 18px #7cf7a08c, inset 0 -2px 0 #00000038;transform:translate(2px)}.mini-block.is-dimmed{filter:saturate(.7)brightness(.8)}.run-button{border-radius:var(--radius-pill);background:linear-gradient(180deg, var(--c-orange-soft), var(--c-orange) 42%, var(--c-orange-deep));color:#fff;height:62px;font-family:var(--font-display);letter-spacing:.01em;transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out), background .26s var(--ease-out);align-items:center;gap:10px;padding:0 30px 0 24px;font-size:19px;font-weight:800;display:inline-flex;box-shadow:0 10px #964a068c,0 18px 34px #ff942447}.run-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px #964a068c,0 22px 40px #ff942457}.run-button:active:not(:disabled){transform:translateY(5px);box-shadow:0 5px #964a068c,0 10px 20px #ff942442}.run-button:disabled{opacity:.45;box-shadow:none}.run-button.is-running{background:linear-gradient(180deg, #e8626c, var(--c-red) 45%, var(--c-red-deep));box-shadow:0 10px #78182099,0 18px 34px #d645504d}.run-button__glyph{place-items:center;display:grid}.btn{border-radius:var(--radius-sm);height:42px;font-family:var(--font-display);letter-spacing:.05em;transition:transform .15s var(--ease-out), filter .15s var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:14px;font-weight:800;display:inline-flex}.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn--primary{background:linear-gradient(180deg, var(--c-orange-soft), var(--c-orange) 50%, var(--c-orange-deep));color:#fff;box-shadow:0 5px #964a0680}.btn--wide{min-width:190px}.btn--ghost{color:#fff;background:#ffffff1f}.btn--link{color:#8fd0ff;text-underline-offset:3px;background:0 0;height:auto;padding:0 10px;text-decoration:underline}.overlay{z-index:9;animation:fade-in .26s var(--ease-out) both;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.overlay--dim{background:radial-gradient(circle at 50% 46%,#04081480,#030610db)}.overlay--soft{background:#0408149e}.objective-intro{z-index:9;text-align:left;width:100%;animation:fade-in .3s var(--ease-out) both;background:#04081424;display:block;position:absolute;inset:0}.objective-intro__bubble{top:calc(var(--topbar-h) + 22px);border-radius:var(--radius-md);max-width:min(560px,74vw);box-shadow:var(--shadow-card);font-family:var(--font-display);text-align:center;animation:drop-in .46s var(--ease-out) both;background:#0a1022eb;border:1.5px solid #b4c8ff4d;padding:12px 22px;font-size:17px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.objective-intro__continue,.story-intro__skip{right:var(--dock-gap);bottom:var(--dock-gap);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);font-family:var(--font-display);color:var(--c-text);cursor:pointer;transition:background .16s var(--ease-out), border-color .16s var(--ease-out), transform .16s var(--ease-out);background:#0a1022eb;border:1.5px solid #b4c8ff4d;padding:15px 28px;font-size:15px;font-weight:700;position:absolute}.objective-intro__continue{animation:pulse-soft 2.4s var(--ease-in-out) infinite}.objective-intro:hover .objective-intro__continue,.story-intro__skip:hover{background:#16203ef5;border-color:#b4c8ff8c;transform:translateY(-2px)}.success-card{border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 18%, #ffffff38, transparent 62%), linear-gradient(165deg, var(--c-blue-card), var(--c-blue-card-2));width:min(440px,92vw);box-shadow:var(--shadow-card);text-align:center;animation:pop-in .46s var(--ease-out) both;padding:34px 34px 22px;position:relative}.success-card__xp{font-family:var(--font-display);text-shadow:0 3px #0000002e;margin:0 0 18px;font-size:34px;font-weight:800}.success-card__stars{justify-content:center;align-items:center;gap:6px;margin-bottom:18px;display:flex}.success-card__star{opacity:0;animation:star-pop .52s var(--ease-out) both;display:block;transform:scale(.4)}.success-card__star.is-centre{margin-top:-18px}.success-card__time{color:#ffffffeb;margin:0 0 22px;font-size:17px}.success-card__time strong{font-variant-numeric:tabular-nums;font-family:var(--font-display)}.success-card__replay{letter-spacing:.08em;color:#ffffffd9;background:0 0;height:30px;padding:0 10px;font-size:12.5px;position:absolute;bottom:16px;left:22px}.epilogue__card{border-radius:var(--radius-lg);width:min(520px,92vw);box-shadow:var(--shadow-card);text-align:center;animation:rise-in .72s var(--ease-out) both;background:#080e20e6;border:1.5px solid #b4d2ff38;padding:40px 40px 30px}.epilogue__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--c-signal-cyan,#6fdcea);margin:0 0 14px;font-size:12.5px;font-weight:700}.epilogue__title{font-family:var(--font-display);margin:0 0 16px;font-size:30px;font-weight:800;line-height:1.15}.epilogue__body{color:#ffffffe6;margin:0 0 30px;font-size:18px;line-height:1.5}.epilogue--finale .epilogue__card{animation-duration:1.1s}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.oops{text-align:center;animation:pop-in .42s var(--ease-out) both}.oops__word{font-family:var(--font-display);letter-spacing:-.02em;background:linear-gradient(#ffd06a,#ff9424 52%,#f07a10);color:#0000;filter:drop-shadow(0 8px #78380473)drop-shadow(0 18px 30px #00000080);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(72px,13vw,168px);font-style:italic;font-weight:800;line-height:.92}.oops__title{font-family:var(--font-display);margin:10px 0 4px;font-size:22px;font-weight:700}.oops__message{color:var(--c-text-soft);margin:0;font-size:15px}.hint-card{border-radius:var(--radius-md);color:#1b2138;width:min(560px,94vw);box-shadow:var(--shadow-card);animation:pop-in .38s var(--ease-out) both;background:#fdfdff;padding:26px 28px 22px;position:relative}.hint-card__close{color:#6a7392;border-radius:50%;width:28px;height:28px;font-size:14px;position:absolute;top:12px;right:14px}.hint-card__close:hover{background:#0000000f}.hint-card__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#7a83a6;margin:0 0 10px;font-size:11px;font-weight:800}.hint-card__headline{font-family:var(--font-display);margin:0 0 8px;font-size:20px;font-weight:800}.hint-card__body{color:#39405f;margin:0 0 12px;font-size:14.5px;line-height:1.5}.hint-card__blocks{flex-direction:column;gap:12px;margin:16px 0 4px;padding:0;list-style:none;display:flex}.hint-card__blocks li{color:#39405f;align-items:center;gap:16px;font-size:14px;line-height:1.45;display:flex}.hint-card__answer{border-radius:var(--radius-sm);background:#eef1f9;border:1px dashed #b9c2dc;margin-top:16px;padding:12px 16px}.hint-card__answer-title{letter-spacing:.12em;text-transform:uppercase;color:#7a83a6;margin:0 0 6px;font-size:11px;font-weight:800}.hint-card__answer pre{color:#2a3150;white-space:pre-wrap;margin:0;font-family:SFMono-Regular,ui-monospace,Menlo,monospace;font-size:13px;line-height:1.6}.hint-card__actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:20px;display:flex}.speech-anchor{pointer-events:none}.speech-bubble{color:#1b2138;max-width:220px;font-family:var(--font-display);text-align:center;animation:pop-in .26s var(--ease-out) both;background:#fff;border-radius:14px;padding:9px 14px;font-size:15px;font-weight:700;position:relative;box-shadow:0 6px 18px #00000059}.speech-bubble:after{content:"";border:8px solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.speech-bubble--think{border-radius:20px}.speech-bubble--think:after{background:#fff;border:0;border-radius:50%;width:9px;height:9px;bottom:-12px}.score-pop{font-family:var(--font-display);color:#ffffff52;text-shadow:0 4px 18px #00000073;white-space:nowrap;pointer-events:none;animation:score-rise 1.6s var(--ease-out) both;font-size:46px;font-weight:800}.debug-panel{z-index:8;border-radius:var(--radius-sm);border:1px solid var(--c-line);width:244px;color:var(--c-text-soft);box-shadow:var(--shadow-soft);background:#060a18eb;padding:12px 14px;font-family:SFMono-Regular,ui-monospace,Menlo,monospace;font-size:11px;position:absolute;bottom:104px;right:16px}.debug-panel__title{letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-mute);margin:0 0 8px;font-size:10px}.debug-panel dl{margin:0}.debug-panel__row{justify-content:space-between;gap:12px;padding:2px 0;display:flex}.debug-panel__row dt{color:var(--c-text-mute)}.debug-panel__row dd{color:var(--c-text);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes drop-in{0%{opacity:0;transform:translate(-50%,-18px)}to{opacity:1;transform:translate(-50%)}}@keyframes slide-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes star-pop{0%{opacity:0;transform:scale(.3)rotate(-24deg)}62%{opacity:1;transform:scale(1.18)rotate(6deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes score-rise{0%{opacity:0;transform:translateY(10px)scale(.85)}22%{opacity:1;transform:translateY(-6px)scale(1.04)}to{opacity:0;transform:translateY(-64px)scale(1)}}@keyframes pulse-soft{0%,to{opacity:.7}50%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.story-intro{z-index:12;animation:fade-in .42s var(--ease-out) both;position:absolute;inset:0}.story-intro:before{content:"";transition:opacity .6s var(--ease-out);background:radial-gradient(at 50% 45%,#04081452,#040814a8);position:absolute;inset:0}.story-intro--playing:before{background:linear-gradient(#04081400 52%,#040814b8 100%)}.story-intro__title{text-align:center;width:min(620px,86vw);animation:story-title-in .62s var(--ease-out) both;justify-items:center;gap:10px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes story-title-in{0%{opacity:0;transform:translate(-50%,calc(16px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.story-intro__brand{color:#fff;filter:drop-shadow(0 4px 20px #040c1ea6);animation:story-brand-in .76s var(--ease-out) both;margin-bottom:14px;display:block}@keyframes story-brand-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.story-intro__name{font-family:var(--font-display);color:#fff;text-shadow:0 4px 26px #040c1eb3;margin:0;font-size:clamp(30px,5.2vw,54px);font-weight:800;line-height:1.05}.story-intro__tagline{text-wrap:balance;color:#e8f2ffdb;max-width:44ch;font-size:15.5px}.story-intro__begin{background:var(--c-orange);color:#2a1602;font-family:var(--font-display);cursor:pointer;transition:transform .14s var(--ease-out), filter .14s var(--ease-out);border:none;border-radius:999px;margin-top:14px;padding:13px 42px;font-size:17px;font-weight:800;box-shadow:0 10px 30px #00000057}.story-intro__begin:hover{filter:brightness(1.06);transform:translateY(-2px)}.story-intro__sound{color:#e8f2ff99;font-size:12px}.story-intro__caption{text-align:center;max-width:min(760px,82vw);font-family:var(--font-display);color:#fff;text-shadow:0 2px 18px #040c1ee6;animation:caption-in .46s var(--ease-out) both;margin:0;font-size:clamp(17px,2.1vw,23px);font-weight:700;line-height:1.4;position:absolute;bottom:92px;left:50%;transform:translate(-50%)}@keyframes caption-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.story-intro__beats{gap:7px;display:flex;position:absolute;bottom:62px;left:50%;transform:translate(-50%)}.story-intro__beat{width:22px;height:3px;transition:background .32s var(--ease-out);background:#e8f2ff3d;border-radius:2px}.story-intro__beat.is-on{background:var(--c-orange)}.loading-veil{z-index:20;background:var(--c-ink-900);transition:opacity .42s var(--ease-out);place-items:center;display:grid;position:absolute;inset:0}.loading-veil.is-done{opacity:0;pointer-events:none}.loading-veil__inner{justify-items:center;gap:16px;display:grid}.loading-veil__inner .logo{color:var(--c-text);margin-bottom:4px}.loading-veil__track{border-radius:var(--radius-pill);background:#ffffff1f;width:180px;height:3px;overflow:hidden}.loading-veil__fill{border-radius:inherit;background:var(--c-orange);height:100%;transition:width .26s var(--ease-out);display:block}.loading-veil__caption{letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-mute);margin:0;font-size:12px}
