: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:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--color-paper:#060815;--color-paper-2:#0d1021;--color-paper-3:#161b31;--color-ink:#eaeefb;--color-neutral:#aeb6d5;--color-muted:#8b93b6;--color-rule:#7d89bd38;--color-rule-strong:#91a0e366;--color-accent:#fb8900;--color-accent-strong:#e87300;--color-accent-ink:#1d0d03;--color-violet:#a588f7;--color-violet-soft:#876bd029;--color-signal:#33ebdd;--color-gold:#fbcc00;--color-error:#f45959;--color-error-surface:#371211;--color-success:#7fe284;--color-success-surface:#0c230d;--color-focus:#33ebdd;--color-overlay:#010105c2;--color-shadow:#00000280;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.953rem;--text-2xl:2.441rem;--text-display:clamp(2.75rem, 5vw + 1rem, 5.25rem);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-thin:1px;--radius-control:12px;--radius-surface:16px;--radius-dialog:24px;--z-base:1;--z-raised:10;--z-sticky:200;--z-modal:400;--z-toast:500}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(2.35561% 1.04899 -6.27397);--color-paper-2:lab(5.02668% 2.01364 -11.4197);--color-paper-3:lab(10.2587% 3.48121 -15.8223);--color-ink:lab(94.0832% .589877 -6.77224);--color-neutral:lab(74.1572% 1.9744 -16.6856);--color-muted:lab(61.3279% 2.58473 -19.1591);--color-rule:lab(57.5647% 5.11044 -29.1075/.22);--color-rule-strong:lab(66.6486% 6.81093 -36.272/.4);--color-accent:lab(68.8918% 42.9531 85.8485);--color-accent-strong:lab(61.676% 49.2972 102.994);--color-accent-ink:lab(5.15344% 6.12943 6.71938);--color-violet:lab(63.0096% 29.7562 -52.5041);--color-violet-soft:lab(51.4862% 28.5493 -49.1058/.16);--color-signal:lab(84.2486% -48.0287 -6.72897);--color-gold:lab(84.2143% 6.78745 87.3411);--color-error:lab(59.8053% 60.0856 33.9993);--color-error-surface:lab(11.2406% 18.9283 9.94222);--color-success:lab(82.2443% -44.8302 36.6692);--color-success-surface:lab(11.2877% -14.0231 10.7847);--color-focus:lab(84.2486% -48.0287 -6.72897);--color-overlay:lab(.430788% .293754 -1.55327/.76);--color-shadow:lab(.0967522% .176072 -.719753/.5)}}.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}.cgnal-hub,.student-gate,.project-library,.app-builder,.shared-play,.coming-next,.shared-error,.shared-loading{color:var(--color-ink);background-color:var(--color-paper);font-family:var(--font-body);position:fixed;inset:0;overflow:auto}.student-gate{background:radial-gradient(circle at 50% 18%, var(--color-violet-soft), transparent 34%), var(--color-paper)}.student-gate__nav{align-items:center;gap:var(--space-sm);min-height:68px;padding:var(--space-sm) clamp(var(--space-md), 4vw, var(--space-xl));color:var(--color-neutral);font-size:var(--text-sm);font-weight:800;display:flex}.student-gate__main{min-height:calc(100dvh - 68px);padding:var(--space-lg) var(--space-md) var(--space-2xl);place-items:center;display:grid}.student-gate__card{gap:var(--space-sm);width:min(100%,520px);padding:clamp(var(--space-lg), 5vw, var(--space-xl));border-radius:var(--radius-dialog);background-color:var(--color-paper-2);box-shadow:0 24px 72px var(--color-shadow), 0 0 0 var(--rule-thin) var(--color-rule);display:grid}.student-gate__eyebrow{color:var(--color-signal);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:900}.student-gate h1{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(2.25rem,8vw,4rem);line-height:1.02}.student-gate p{margin:0 0 var(--space-xs);color:var(--color-neutral);font-size:var(--text-md);line-height:1.5}.student-gate label{color:var(--color-neutral);font-size:var(--text-xs);font-weight:800}.student-gate input{min-height:52px;padding-inline:var(--space-md);color:var(--color-ink);border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-control);background-color:var(--color-paper);font:800 var(--text-md) / 1 var(--font-body)}.student-gate input:focus-visible{border-color:var(--color-focus);outline:3px solid color-mix(in oklch, var(--color-focus) 38%, transparent);outline-offset:2px}.student-gate__error{color:var(--color-error);font-size:var(--text-sm);font-weight:800}.student-gate small{color:var(--color-muted);line-height:1.45}.cgnal-hub{background:radial-gradient(circle at 18% 0%, var(--color-violet-soft), transparent 34%), var(--color-paper)}.app-button,.app-icon-button,.screen-list__tools button,.builder-mobile-tabs button,.save-banner button,.undo-toast button{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-control);white-space:nowrap;min-width:44px;min-height:44px;transition-property:transform,background-color,color,opacity;transition-duration:var(--dur-micro);transition-timing-function:var(--ease-out);font-weight:800;display:inline-flex}.app-button:active,.app-icon-button:active,.screen-list__tools button:active,.builder-mobile-tabs button:active,.save-banner button:active,.undo-toast button:active{transform:scale(.96)}.app-button:disabled,.app-icon-button:disabled,.screen-list__tools button:disabled{cursor:not-allowed;opacity:.48}.app-button{padding-inline:var(--space-md)}.app-button--primary{color:var(--color-accent-ink);background-color:var(--color-accent)}.app-button--run{color:var(--color-accent-ink);background-color:var(--color-gold)}.app-button--quiet,.app-icon-button{color:var(--color-ink);background-color:var(--color-paper-3)}.app-button--danger,.app-icon-button--danger{color:var(--color-ink);background-color:var(--color-error-surface)}.app-icon-button{width:44px;padding:0}@media (hover:hover) and (pointer:fine){.app-button:hover,.app-icon-button:hover,.screen-list__tools button:hover,.save-banner button:hover,.undo-toast button:hover{transform:translateY(-1px)}.app-button--primary:hover{background-color:var(--color-accent-strong)}.app-button--quiet:hover,.app-icon-button:hover{background-color:var(--color-paper-2)}}.hub-nav,.library-nav{align-items:center;gap:var(--space-sm);min-height:68px;padding:var(--space-sm) clamp(var(--space-md), 4vw, var(--space-xl));display:flex}.hub-nav{justify-content:space-between}.hub-nav__student,.library-nav__name{color:var(--color-neutral);font-size:var(--text-sm);font-weight:800}.hub-main,.library-main{width:min(100%,1480px);padding:clamp(var(--space-lg), 4vw, var(--space-2xl)) clamp(var(--space-md), 4vw, var(--space-xl));margin-inline:auto}.hub-heading{max-width:760px;margin-block:var(--space-lg) var(--space-xl)}.hub-heading h1,.library-heading h1,.coming-next h1,.shared-error h1{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-size:clamp(2.25rem,7vw,4.75rem);line-height:1.03}.cgnal-hub h2,.project-library h2,.app-builder h2,.shared-play h1,.shared-play h2,.share-dialog h2{overflow-wrap:anywhere;min-width:0}.hub-heading p,.library-heading p,.coming-next p,.shared-error p{max-width:62ch;margin-block:var(--space-sm) 0;color:var(--color-neutral);font-size:var(--text-md);text-wrap:pretty;line-height:1.55}.hub-choices{gap:var(--space-md);display:grid}.hub-choice{gap:var(--space-md);min-width:0;padding:var(--space-md);background-color:var(--color-paper-2);border-radius:var(--radius-surface);box-shadow:0 18px 52px var(--color-shadow), 0 0 0 var(--rule-thin) var(--color-rule);grid-template-rows:auto 1fr auto;display:grid}.hub-choice--apps{background-color:var(--color-paper-3)}.hub-choice__copy h2{font-family:var(--font-display);font-size:var(--text-xl);text-wrap:balance;margin:0;line-height:1.05}.hub-choice__copy p{margin-block:var(--space-xs) 0;color:var(--color-neutral);text-wrap:pretty;line-height:1.5}.hub-choice__status{min-height:28px;padding-inline:var(--space-sm);color:var(--color-gold);background-color:var(--color-paper);border-radius:var(--radius-pill);font-size:var(--text-sm);align-items:center;margin-block-start:var(--space-sm);font-weight:900;display:inline-flex}.hub-choice__image{aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--radius-surface) - var(--space-xs));background-color:var(--color-paper);width:100%;box-shadow:inset 0 0 0 var(--rule-thin) var(--color-rule);display:block}.hub-footer{width:min(100% - 2rem,1400px);margin:var(--space-xl) auto 0;padding-block:var(--space-lg);border-top:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm)}.coming-next,.shared-error{place-content:center;justify-items:start;gap:var(--space-lg);padding:var(--space-xl);display:grid}.coming-next>*,.shared-error>*{max-width:680px}.coming-next__signal{align-items:end;gap:var(--space-xs);height:76px;display:flex}.coming-next__signal span{border-radius:var(--radius-pill);background-color:var(--color-violet);width:16px}.coming-next__signal span:first-child{height:34%}.coming-next__signal span:nth-child(2){background-color:var(--color-signal);height:66%}.coming-next__signal span:nth-child(3){background-color:var(--color-accent);height:100%}.library-nav{z-index:var(--z-sticky);background-color:var(--color-paper);box-shadow:0 1px 0 var(--color-rule);position:sticky;inset-block-start:0}.library-nav__new{margin-inline-start:0}.library-nav__student{min-height:44px;padding:var(--space-2xs) var(--space-sm);color:var(--color-ink);border-radius:var(--radius-control);background-color:var(--color-paper-2);justify-items:end;margin-inline-start:auto;font-weight:800;display:grid}.library-nav__student small{color:var(--color-signal);font-size:var(--text-xs)}@media (max-width:39.99rem){.library-nav{gap:var(--space-xs);padding-inline:var(--space-sm)}.library-nav__name{display:none}.library-nav__student{min-width:0;max-width:92px}.library-nav__student span{text-overflow:ellipsis;white-space:nowrap;max-width:72px;overflow:hidden}.library-nav__new{width:44px;padding:0}.library-nav__new span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.library-heading{margin-block-end:var(--space-xl)}.library-heading h1{font-size:clamp(2.25rem,6vw,4rem)}.template-chooser{padding:var(--space-md);border-radius:var(--radius-surface);background-color:var(--color-paper-2);box-shadow:0 0 0 var(--rule-thin) var(--color-rule);margin-block-end:var(--space-xl)}.template-chooser__heading{justify-content:space-between;align-items:start;gap:var(--space-md);margin-block-end:var(--space-md);display:flex}.template-chooser h2,.library-empty h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.template-chooser p,.library-empty p{max-width:64ch;margin-block:var(--space-xs) 0;color:var(--color-neutral);line-height:1.5}.template-list{gap:var(--space-xs);display:grid}.template-option{align-items:center;gap:var(--space-sm);min-width:0;min-height:72px;padding:var(--space-sm);color:var(--color-ink);text-align:start;border-radius:var(--radius-control);background-color:var(--color-paper-3);grid-template-columns:20px minmax(0,1fr) auto;display:grid}.template-option__mark{border-radius:var(--radius-pill);background-color:var(--color-violet);width:12px;height:38px}.template-option--story .template-option__mark{background-color:var(--color-signal)}.template-option--score .template-option__mark{background-color:var(--color-gold)}.template-option--calculator .template-option__mark{background-color:var(--color-success)}.template-option--blank .template-option__mark{background-color:var(--color-accent)}.template-option strong,.template-option small,.project-tile strong,.project-tile small,.project-tile time{display:block}.template-option small{color:var(--color-neutral);margin-block-start:var(--space-2xs);line-height:1.4}.template-option__action{align-items:center;gap:var(--space-2xs);color:var(--color-accent);white-space:nowrap;font-weight:900;display:inline-flex}.library-empty{text-align:center;place-content:center;justify-items:center;min-height:420px;display:grid}.library-empty__mini{place-content:center;gap:var(--space-xs);width:118px;height:92px;border-radius:var(--radius-surface);background-color:var(--color-paper-2);margin-block-end:var(--space-lg);display:grid;transform:rotate(-2deg)}.library-empty__mini span{border-radius:var(--radius-pill);background-color:var(--color-violet);width:62px;height:8px}.library-empty__mini span:nth-child(2){background-color:var(--color-signal);width:40px}.library-empty__mini span:nth-child(3){background-color:var(--color-accent);width:52px}.library-empty .app-button{margin-block-start:var(--space-lg)}.project-grid,.project-skeleton{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));display:grid}.project-tile{min-width:0;color:var(--color-ink);border-radius:var(--radius-surface);background-color:var(--color-paper-2);box-shadow:0 0 0 var(--rule-thin) var(--color-rule);position:relative}.project-tile__open{align-items:center;gap:var(--space-md);width:100%;min-width:0;min-height:102px;padding:var(--space-sm);color:var(--color-ink);text-align:start;border-radius:inherit;transition-property:background-color;transition-duration:var(--dur-short);transition-timing-function:var(--ease-out);grid-template-columns:92px minmax(0,1fr) auto;padding-inline-end:calc(var(--space-sm) + 44px + var(--space-xs));display:grid}.project-tile__delete{z-index:var(--z-raised);position:absolute;inset-block-start:calc(50% - 22px);inset-inline-end:var(--space-sm)}@media (hover:hover) and (pointer:fine){.project-tile__open:hover{background-color:var(--color-paper-3)}.project-tile__delete:hover{background-color:var(--color-error-surface)}}.project-tile__preview{height:78px;padding:var(--space-sm);border-radius:var(--radius-control);background-color:var(--color-paper-3);align-content:center;gap:6px;display:grid}.project-tile__preview i{border-radius:var(--radius-pill);background-color:var(--color-violet);height:7px;display:block}.project-tile__preview i:nth-child(2){background-color:var(--color-signal);width:70%}.project-tile__preview i:nth-child(3){background-color:var(--color-accent);width:84%}.project-tile__body{min-width:0}.project-tile strong{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:var(--text-md);overflow:hidden}.project-tile small,.project-tile time{color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-block-start:var(--space-2xs)}.project-skeleton span{border-radius:var(--radius-surface);background-color:var(--color-paper-2);opacity:.7;min-height:120px}.app-alert{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);margin-block-end:var(--space-md);display:flex}.app-alert--error{color:var(--color-ink);background-color:var(--color-error-surface)}.app-builder{background-color:var(--color-paper);overflow:hidden}.builder-bar{align-items:center;gap:var(--space-sm);min-height:112px;padding:var(--space-xs) var(--space-sm);background-color:var(--color-paper-2);box-shadow:0 1px 0 var(--color-rule);grid-template-columns:auto minmax(0,1fr);display:grid}.builder-bar__identity,.builder-bar__actions,.builder-bar__project,.save-indicator{align-items:center;gap:var(--space-xs);min-width:0;display:flex}.builder-bar__identity>span{font-family:var(--font-display);font-weight:800;display:none}.builder-bar__project{flex-direction:column;grid-area:2/1/auto/-1;justify-content:center;align-items:stretch}.builder-bar__project input,.design-workspace__heading input,.design-workspace__heading select,.element-inspector input,.element-inspector select,.variable-row input,.variable-row select,.share-link-row input{border:var(--rule-thin) solid var(--color-rule-strong);outline-offset:1px;border-radius:var(--radius-control);min-width:0;height:44px;color:var(--color-ink);background-color:var(--color-paper);font:inherit;outline:2px solid #0000;font-weight:800}.builder-bar__project input{width:100%;padding-inline:var(--space-sm);font-family:var(--font-display)}.builder-bar__project p{color:var(--color-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;margin:0;display:none;overflow:hidden}.builder-bar__actions{justify-content:end}.builder-bar__actions .app-button{padding-inline:var(--space-sm)}.builder-test-current,.save-indicator small,.save-indicator>span:not(.save-indicator__pulse){display:none}.save-indicator{min-height:44px;color:var(--color-neutral);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:800}.save-indicator--saved{color:var(--color-success)}.save-indicator--offline,.save-indicator--error,.save-indicator--conflict{color:var(--color-error)}.save-indicator__pulse{background-color:var(--color-accent);width:9px;height:9px;animation:save-pulse 1.2s var(--ease-in-out) infinite;border-radius:50%}@keyframes save-pulse{50%{opacity:.36;transform:scale(.76)}}.save-banner{align-items:center;gap:var(--space-xs);min-height:48px;padding:var(--space-xs) var(--space-sm);color:var(--color-ink);background-color:var(--color-error-surface);font-size:var(--text-sm);grid-template-columns:20px minmax(0,1fr) minmax(0,1fr);font-weight:700;display:grid}.save-banner>svg{grid-column:1;align-self:start;margin-block-start:2px}.save-banner span{grid-column:2/-1;min-width:0}.save-banner button{min-width:0;padding-inline:var(--space-xs);color:var(--color-ink);background-color:var(--color-paper-3)}.save-banner button:first-of-type{grid-column:2}.save-banner button:last-of-type{grid-column:3}.save-banner button:only-of-type{grid-column:2/-1}.builder-mobile-tabs{height:52px;padding:var(--space-2xs);background-color:var(--color-paper-2);grid-template-columns:1fr 1fr;display:grid}.builder-mobile-tabs button{color:var(--color-muted)}.builder-mobile-tabs button[aria-selected=true]{color:var(--color-ink);background-color:var(--color-paper-3)}.builder-workspace{grid-template-rows:164px minmax(0,1fr);min-width:0;height:calc(100dvh - 164px);display:grid}.save-banner+.builder-mobile-tabs+.builder-workspace{height:calc(100dvh - 212px)}.screen-rail,.design-workspace,.code-workspace{min-width:0;min-height:0}.screen-rail{gap:var(--space-xs);padding:var(--space-xs);background-color:var(--color-paper-2);box-shadow:0 1px 0 var(--color-rule);grid-template-rows:auto minmax(0,1fr);grid-template-columns:auto minmax(0,1fr);display:grid;overflow:hidden}.screen-rail__heading{align-items:center;gap:var(--space-xs);padding-inline:var(--space-xs);display:flex}.screen-rail h2,.code-workspace h2{font-family:var(--font-display);font-size:var(--text-md);margin:0}.screen-rail__heading span{color:var(--color-muted);font-variant-numeric:tabular-nums}.screen-list{gap:var(--space-xs);padding:0 0 var(--space-2xs);grid-column:1/-1;margin:0;list-style:none;display:flex;overflow-x:auto}.screen-list li{border-radius:var(--radius-control);background-color:var(--color-paper);min-width:0;box-shadow:0 0 0 var(--rule-thin) var(--color-rule);flex:0 0 180px;position:relative}.screen-list li.is-selected{background-color:var(--color-paper-3);box-shadow:inset 0 0 0 2px var(--color-violet)}.screen-list li.has-broken-link{box-shadow:inset 0 0 0 2px var(--color-error)}.screen-list__select{align-items:center;gap:var(--space-xs);width:100%;min-height:70px;padding:var(--space-xs);color:var(--color-ink);text-align:start;grid-template-columns:28px minmax(0,1fr) auto;display:grid}.screen-list__select strong,.screen-list__select small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.screen-list__select .screen-list__destination{color:var(--color-signal);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:800;display:-webkit-box}.screen-list li.has-broken-link .screen-list__destination{color:var(--color-error)}.screen-list__select small{color:var(--color-muted);font-size:var(--text-xs);margin-block-start:var(--space-2xs)}.screen-list__number{color:var(--color-signal);font-variant-numeric:tabular-nums;font-weight:900}.screen-list__tools{gap:var(--space-2xs);padding:0 var(--space-xs) var(--space-xs);display:flex}.screen-list__tools button{min-width:40px;min-height:40px;color:var(--color-neutral);background-color:var(--color-paper-2)}.screen-rail__add{align-self:start;align-items:center;gap:var(--space-xs);min-height:44px;padding-inline:var(--space-sm);border-radius:var(--radius-control);color:var(--color-ink);background-color:var(--color-paper-3);white-space:nowrap;font-weight:800;display:inline-flex}.part-shelf{display:none}.design-workspace{gap:var(--space-sm);padding:var(--space-sm);flex-direction:column;display:flex;overflow:auto}.design-workspace__heading{justify-content:space-between;align-items:end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.design-workspace__heading label,.element-inspector label,.share-success>label{gap:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs);font-weight:800;display:grid}.design-workspace__heading input{width:min(52vw,320px);padding-inline:var(--space-sm)}.design-workspace__heading select,.element-inspector select,.variable-row select{min-width:0;height:44px;padding-inline:var(--space-sm) 36px;border:var(--rule-thin) solid var(--color-rule-strong);outline-offset:1px;border-radius:var(--radius-control);color:var(--color-ink);background-color:var(--color-paper);font:inherit;outline:2px solid #0000;font-weight:800}.design-workspace__heading select{width:min(42vw,190px)}.design-workspace__heading>span{color:var(--color-muted);font-size:var(--text-sm);text-align:end;display:none}.design-test-current{flex:none}.app-stage-shell{place-items:center;gap:var(--space-xs);display:grid}.app-stage{aspect-ratio:3/4;width:min(100%,420px);padding:var(--space-xs);border-radius:calc(var(--radius-surface) + var(--space-xs));background-color:var(--color-paper-3);box-shadow:0 24px 58px var(--color-shadow), 0 0 0 var(--rule-thin) var(--color-rule-strong)}.app-stage__safe-area,.runtime-stage{border-radius:var(--radius-surface);width:100%;height:100%;color:var(--color-ink);background:radial-gradient(circle at 72% 16%, var(--color-violet-soft), transparent 28%), var(--color-paper-2);position:relative;overflow:hidden}.app-stage__alignment-guide{z-index:20;pointer-events:none;background-color:var(--color-signal);position:absolute}.app-stage__alignment-guide--vertical{width:var(--rule-thin);inset-block:0}.app-stage__alignment-guide--horizontal{height:var(--rule-thin);inset-inline:0}.app-stage__empty{justify-items:center;gap:var(--space-xs);color:var(--color-neutral);text-align:center;display:grid;position:absolute;inset:34% 12% auto}.app-stage__empty>span{width:44px;height:44px;color:var(--color-signal);background-color:var(--color-paper-3);font-size:var(--text-lg);border-radius:50%;place-content:center;display:grid}.app-stage__empty small{color:var(--color-muted)}.app-stage-shell__caption{color:var(--color-muted);font-size:var(--text-xs);text-align:center;margin:0}.stage-element,.runtime-element{justify-content:center;align-items:center;gap:var(--space-xs);min-width:44px;min-height:44px;padding:var(--space-xs);border-radius:var(--radius-control);color:var(--color-ink);text-align:center;font-weight:800;display:flex;position:absolute;overflow:visible}.stage-element{cursor:grab}.stage-element:active{cursor:grabbing}.stage-element--button,.runtime-element--button{color:var(--color-accent-ink);background-color:var(--color-accent)}.stage-element--text,.runtime-element--text{font-family:var(--font-display);font-size:var(--text-lg);text-align:start;justify-content:start;padding:0;line-height:1.12}.stage-element--number,.runtime-element--number{background-color:var(--color-paper-3);font-variant-numeric:tabular-nums;flex-direction:column}.stage-element--input,.runtime-element--input{color:var(--color-muted);background-color:var(--color-paper);box-shadow:inset 0 0 0 var(--rule-thin) var(--color-rule-strong);justify-content:start}.stage-element--image,.runtime-element--image{background-color:var(--color-violet);padding:0}.runtime-element--image{overflow:hidden}.stage-element--sound,.runtime-element--sound{background-color:var(--color-paper-3)}.app-stage--calculator .app-stage__safe-area,.runtime-stage--calculator{background:var(--c-ink-900)}.stage-element--calculator-display,.runtime-element--calculator-display{padding-inline:var(--space-xs);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-2xl);text-align:end;white-space:nowrap;font-variant-numeric:tabular-nums;background-color:#0000;justify-content:flex-end;font-weight:600;line-height:1}.stage-element--calculator-key,.stage-element--calculator-zero,.runtime-element--calculator-key,.runtime-element--calculator-zero{color:var(--color-ink);background-color:var(--color-paper-3);font-size:var(--text-md);border-radius:50%}.stage-element--calculator-zero,.runtime-element--calculator-zero{padding-inline:var(--space-md);border-radius:var(--radius-pill);justify-content:flex-start}.stage-element--calculator-utility,.runtime-element--calculator-utility{color:var(--color-paper);background-color:var(--color-neutral);font-size:var(--text-md);border-radius:50%}.stage-element--calculator-operator,.runtime-element--calculator-operator{color:var(--color-accent-ink);background-color:var(--color-accent);font-size:var(--text-xl);border-radius:50%}.runtime-element--calculator-key,.runtime-element--calculator-zero,.runtime-element--calculator-utility,.runtime-element--calculator-operator{transition-property:transform,background-color;transition-duration:var(--dur-micro);transition-timing-function:var(--ease-out)}.runtime-element--calculator-key:active,.runtime-element--calculator-zero:active,.runtime-element--calculator-utility:active,.runtime-element--calculator-operator:active{transform:scale(.96)}.stage-element.is-selected{outline:3px solid var(--color-focus);outline-offset:3px}.stage-element__selected-label{color:var(--color-paper);background-color:var(--color-focus);border-radius:6px;padding:3px 7px;font-size:10px;line-height:1;position:absolute;inset:auto auto calc(100% + 5px) 0}.stage-element__resize-handle{z-index:30;width:40px;height:40px;color:var(--color-paper);cursor:nwse-resize;touch-action:none;place-content:center;display:grid;position:absolute;inset:auto 0 0 auto}.stage-element__resize-handle:before{border:3px solid var(--color-focus);border-radius:var(--radius-control);background-color:var(--color-paper-3);box-shadow:0 6px 16px var(--color-shadow);content:"";position:absolute;inset:8px}.stage-element__resize-handle svg{z-index:1;fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:16px;height:16px;position:relative}.stage-element__image,.runtime-element__image{width:100%;height:100%;display:block;position:relative}.stage-element__image{border-radius:inherit;overflow:hidden}.stage-element__image i,.runtime-element__image i{background-color:var(--color-signal);border-radius:50%;position:absolute}.stage-element__image i:first-child,.runtime-element__image i:first-child{width:36%;height:36%;inset:16% auto auto 14%}.stage-element__image i:last-child,.runtime-element__image i:last-child{background-color:var(--color-paper-3);width:68%;height:68%;inset:auto -8% -20% auto}.stage-element__input-line{background-color:var(--color-rule-strong);width:76%;height:2px}.stage-element__number{font-size:var(--text-2xl)}.element-inspector{gap:var(--space-xs);width:min(100%,720px);padding:var(--space-sm);border-radius:var(--radius-surface);background-color:var(--color-paper-2);grid-template-columns:minmax(0,1fr);align-items:end;margin-inline:auto;display:grid}.element-inspector input{width:100%;padding-inline:var(--space-sm)}.element-inspector select{width:100%}.element-inspector__check{align-items:center;gap:var(--space-xs);min-height:44px;color:var(--color-neutral)!important;display:flex!important}.element-inspector__check input{width:20px;height:20px;accent-color:var(--color-accent)}.element-inspector__align{gap:var(--space-xs);grid-column:1/-1;min-width:0;display:grid}.element-inspector__align>span{color:var(--color-neutral);font-size:var(--text-xs);font-weight:800}.element-inspector__align-buttons{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.element-inspector__align-buttons .app-button{padding-inline:var(--space-xs);font-size:var(--text-xs)}.code-workspace{background-color:var(--color-paper-2);grid-template-rows:auto auto minmax(0,1fr);display:none}.app-builder--code .screen-rail,.app-builder--code .design-workspace{display:none}.app-builder--code .code-workspace{grid-row:1/-1;display:grid}.code-workspace__heading{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:66px;padding:var(--space-xs) var(--space-sm);box-shadow:0 1px 0 var(--color-rule);display:flex}.code-workspace__heading p{margin:var(--space-2xs) 0 0;color:var(--color-muted);font-size:var(--text-xs)}.code-workspace__warning{align-items:center;gap:var(--space-2xs);color:var(--color-error);font-size:var(--text-xs);font-weight:900;display:inline-flex}.variables-panel{border-block-end:var(--rule-thin) solid var(--color-rule);background-color:var(--color-paper)}.variables-panel summary{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-xs) var(--space-sm);color:var(--color-neutral);cursor:pointer;font-size:var(--text-sm);font-weight:900;list-style-position:inside;display:flex}.variables-panel summary>span:first-child{align-items:center;gap:var(--space-xs);color:var(--color-ink);display:inline-flex}.variables-panel summary small{border-radius:var(--radius-pill);min-width:24px;color:var(--color-signal);background-color:var(--color-paper-3);text-align:center;font-variant-numeric:tabular-nums;padding:2px 7px}.variables-panel__hint{color:var(--color-muted);font-size:var(--text-xs);font-weight:700}.variables-panel__body{align-items:end;gap:var(--space-xs);max-height:214px;padding:0 var(--space-sm) var(--space-sm);grid-template-columns:minmax(0,1fr);display:grid;overflow:auto}.variables-panel__body>p{color:var(--color-muted);font-size:var(--text-xs);margin:0}.variables-panel__list{gap:var(--space-xs);min-width:0;display:grid}.variable-row{gap:var(--space-xs);grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;min-width:0;display:grid}.variable-row>input:first-child{grid-column:1/-1}.variable-row input{width:100%;padding-inline:var(--space-sm)}.variable-row .app-icon-button{width:44px;height:44px}.variables-panel__add{justify-content:center;align-items:center;gap:var(--space-xs);min-height:44px;padding-inline:var(--space-sm);border-radius:var(--radius-control);color:var(--color-ink);background-color:var(--color-paper-3);font-size:var(--text-xs);white-space:nowrap;font-weight:900;display:inline-flex}.app-builder-blockly{width:100%;height:100%}.test-overlay{z-index:var(--z-modal);padding:var(--space-sm);background-color:var(--color-overlay);position:fixed;inset:0}.runtime-player{border-radius:var(--radius-dialog);width:100%;height:100%;color:var(--color-ink);background-color:var(--color-paper-2);box-shadow:0 24px 70px var(--color-shadow);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.runtime-player__bar{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:66px;padding:var(--space-xs) var(--space-sm);background-color:var(--color-paper-3);display:flex}.runtime-player__bar>div{text-align:center;min-width:0}.runtime-player__bar strong,.runtime-player__bar small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.runtime-player__bar strong{font-family:var(--font-display)}.runtime-player__bar small{color:var(--color-muted);font-size:var(--text-xs)}.runtime-stage{aspect-ratio:3/4;width:min(100%,520px);height:auto;max-height:calc(100dvh - 110px);box-shadow:0 0 0 var(--rule-thin) var(--color-rule-strong);place-self:center}.runtime-element--number strong{font-size:var(--text-2xl)}.runtime-message,.runtime-sound{inset:auto var(--space-md) var(--space-md);justify-content:center;align-items:center;gap:var(--space-xs);min-height:44px;padding:var(--space-sm);border-radius:var(--radius-control);color:var(--color-ink);background-color:var(--color-paper-3);box-shadow:0 14px 32px var(--color-shadow);display:flex;position:absolute}.runtime-sound{inset:var(--space-md) var(--space-md) auto auto;color:var(--color-signal)}.share-dialog,.delete-dialog{border-radius:var(--radius-dialog);width:min(100% - 2rem,620px);max-height:calc(100dvh - 2rem);color:var(--color-ink);background-color:var(--color-paper-2);box-shadow:0 30px 90px var(--color-shadow);border:0;padding:0}.share-dialog::backdrop{background-color:var(--color-overlay)}.delete-dialog::backdrop{background-color:var(--color-overlay)}.share-dialog__content,.delete-dialog>div{padding:var(--space-lg)}.share-dialog__heading{gap:var(--space-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.share-dialog h2,.delete-dialog h2,.share-success h2{font-family:var(--font-display);font-size:var(--text-xl);text-wrap:balance;margin:0}.share-dialog p,.delete-dialog p{color:var(--color-neutral);text-wrap:pretty;line-height:1.5}.share-scope{gap:var(--space-xs);margin-block:var(--space-lg);border:0;padding:0;display:grid}.share-scope legend{margin-block-end:var(--space-xs);font-weight:900}.share-scope label{align-items:center;gap:var(--space-sm);min-height:64px;padding:var(--space-sm);border-radius:var(--radius-control);background-color:var(--color-paper-3);grid-template-columns:auto minmax(0,1fr);display:grid}.share-scope input{width:20px;height:20px;accent-color:var(--color-accent)}.share-scope strong,.share-scope small{display:block}.share-scope small{color:var(--color-muted);margin-block-start:var(--space-2xs)}.share-dialog__actions,.delete-dialog__actions{justify-content:end;gap:var(--space-xs);display:flex}.share-dialog__error{align-items:center;gap:var(--space-xs);display:flex;color:var(--color-error)!important}.delete-dialog__error{align-items:start;gap:var(--space-xs);margin-block:var(--space-md);padding:var(--space-sm);border-radius:var(--radius-control);color:var(--color-ink);background-color:var(--color-error-surface);font-size:var(--text-sm);line-height:1.4;display:flex}.delete-dialog__error svg{flex:none;margin-block-start:var(--space-3xs)}.share-success{gap:var(--space-md);display:grid}.share-success>svg{color:var(--color-success)}.share-success strong{color:var(--color-signal);font-variant-numeric:tabular-nums}.share-link-row{gap:var(--space-xs);grid-template-columns:minmax(0,1fr) auto;display:grid}.share-link-row input{width:100%;padding-inline:var(--space-sm);font-size:var(--text-sm)}.undo-toast{inset:auto var(--space-md) var(--space-md) auto;z-index:var(--z-toast);align-items:center;gap:var(--space-md);min-height:52px;padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-md);border-radius:var(--radius-control);color:var(--color-ink);background-color:var(--color-paper-3);box-shadow:0 18px 42px var(--color-shadow);display:flex;position:fixed}.undo-toast button{color:var(--color-signal);padding-inline:var(--space-sm)}.shared-play{padding:var(--space-sm);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.shared-play__heading{align-items:center;gap:var(--space-sm);grid-template-columns:auto minmax(0,1fr) auto;padding-block-end:var(--space-sm);display:grid}.shared-play__heading h1{font-family:var(--font-display);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.shared-play__heading p{margin:var(--space-2xs) 0 0;color:var(--color-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden}.shared-play .runtime-player{justify-self:center;max-width:1000px}.shared-loading{color:var(--color-neutral);place-content:center;display:grid}.editor-loading{gap:var(--space-xs);padding:var(--space-xs);background-color:var(--color-paper);grid-template:90px 1fr/240px 1fr 42%;display:grid;position:fixed;inset:0}.editor-loading>*{border-radius:var(--radius-control);background-color:var(--color-paper-2);opacity:.7}.editor-loading__bar{grid-column:1/-1}.editor-load-error{place-content:center;justify-items:center;gap:var(--space-md);padding:var(--space-xl);color:var(--color-ink);background-color:var(--color-paper);text-align:center;display:grid;position:fixed;inset:0}.editor-load-error h1{font-family:var(--font-display);margin:0}.editor-load-error p{max-width:55ch;color:var(--color-neutral)}@media (min-width:40rem){.hub-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.template-list{grid-template-columns:1fr 1fr}.element-inspector{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto auto}.element-inspector__align-buttons{grid-template-columns:repeat(6,minmax(0,1fr))}.variables-panel__body{grid-template-columns:minmax(0,1fr) auto}.builder-bar__identity>span,.save-indicator>span:not(.save-indicator__pulse){display:inline}}@media (min-width:64rem){.hub-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.save-banner{display:flex}.save-banner>svg{align-self:auto;margin-block-start:0}.save-banner span{flex:1}.builder-bar{min-height:76px;padding-inline:var(--space-md);grid-template-columns:auto minmax(240px,1fr) auto}.builder-bar__project{grid-area:auto;align-items:start}.builder-bar__project input{max-width:360px;height:34px;padding-inline:var(--space-xs)}.builder-bar__project p{max-width:56vw;display:block}.builder-test-current,.save-indicator small{display:inline-flex}.design-workspace__heading>span{display:block}.design-test-current,.builder-mobile-tabs{display:none}.builder-workspace,.save-banner+.builder-mobile-tabs+.builder-workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:238px minmax(380px,.92fr) minmax(430px,1.08fr);height:calc(100dvh - 76px)}.save-banner+.builder-mobile-tabs+.builder-workspace{height:calc(100dvh - 124px)}.screen-rail{padding:var(--space-sm);box-shadow:1px 0 0 var(--color-rule);grid-template-rows:auto minmax(160px,1fr) auto auto;grid-template-columns:1fr}.screen-list{grid-column:auto;display:block;overflow:auto}.screen-list li{margin-block-end:var(--space-xs)}.screen-list__tools button{min-width:40px;min-height:40px}.part-shelf{border-top:var(--rule-thin) solid var(--color-rule);padding-block-start:var(--space-sm);display:block}.part-shelf p{margin:var(--space-2xs) 0 var(--space-sm);color:var(--color-muted);font-size:var(--text-xs)}.part-shelf__items{gap:var(--space-xs);grid-template-columns:1fr 1fr;display:grid}.part-shelf__items button{align-items:center;gap:var(--space-xs);min-height:54px;padding:var(--space-xs);border-radius:var(--radius-control);color:var(--color-neutral);background-color:var(--color-paper);font-size:var(--text-xs);font-weight:800;display:flex}.part-icon{border:2px solid var(--color-violet);border-radius:5px;width:18px;height:18px;display:block}.part-icon--text{border-width:0 0 2px;border-radius:0}.part-icon--button{background-color:var(--color-accent);border-color:var(--color-accent)}.part-icon--image{border-color:var(--color-signal);transform:rotate(5deg)}.part-icon--sound{border-color:var(--color-gold);border-radius:50%}.part-icon--number{border-style:dashed}.part-icon--input{border-width:0 0 2px;border-radius:0;width:24px}.design-workspace{padding:var(--space-md)}.app-stage{width:min(100%,390px)}.code-workspace,.app-builder--code .code-workspace{box-shadow:-1px 0 0 var(--color-rule);grid-area:1/3;display:grid}.app-builder--code .screen-rail{display:grid}.app-builder--code .design-workspace{display:flex}}@media (min-width:90rem){.builder-workspace,.save-banner+.builder-mobile-tabs+.builder-workspace{grid-template-columns:260px minmax(440px,1fr) minmax(500px,1.08fr)}}@media (prefers-reduced-motion:reduce){.save-indicator__pulse{animation:none}.app-button,.app-icon-button,.project-tile,.screen-list__tools button,.builder-mobile-tabs button,.save-banner button,.undo-toast button,.runtime-element--calculator-key,.runtime-element--calculator-zero,.runtime-element--calculator-utility,.runtime-element--calculator-operator{transition-duration:.01ms}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overflow-x:clip}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}.lesson-intro{z-index:9;animation:fade-in .3s var(--ease-out) both;pointer-events:none;position:absolute;inset:0}.lesson-intro:before{content:"";background:linear-gradient(#04081400 46%,#040814c7 100%);position:absolute;inset:0}.lesson-intro__caption{border-radius:var(--radius-md);max-width:min(720px,82vw);box-shadow:var(--shadow-card);text-align:center;text-wrap:balance;font-family:var(--font-display);color:#fff;animation:caption-in .42s var(--ease-out) both;background:#080e20d1;border:1.5px solid #b4c8ff42;margin:0;padding:16px 26px;font-size:clamp(16px,1.9vw,21px);font-weight:700;line-height:1.42;position:absolute;bottom:128px;left:50%;transform:translate(-50%)}.lesson-intro[data-beat=mission] .lesson-intro__caption{border-color:#ff942480}.lesson-intro__beats{gap:7px;display:flex;position:absolute;bottom:100px;left:50%;transform:translate(-50%)}.lesson-intro__beat{width:22px;height:3px;transition:background .32s var(--ease-out);background:#e8f2ff3d;border-radius:2px}.lesson-intro__beat.is-on,.lesson-intro__beat.is-done{background:var(--c-orange)}.lesson-intro__beat.is-done{background:#ff942473}.lesson-intro__actions{right:var(--dock-gap);bottom:var(--dock-gap);pointer-events:auto;align-items:center;gap:10px;display:flex;position:absolute}.lesson-intro__replay,.lesson-intro__go{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}.lesson-intro__replay{color:#e8f2ffc7;padding:13px 20px;font-size:13.5px}.lesson-intro__replay:hover,.lesson-intro__go:hover,.story-intro__skip:hover{background:#16203ef5;border-color:#b4c8ff8c;transform:translateY(-2px)}.lesson-intro__go.is-ready{background:var(--c-orange);color:#2a1602;animation:pulse-soft 2.4s var(--ease-in-out) infinite;border-color:#0000}.lesson-intro__go.is-ready:hover{background:var(--c-orange-soft);border-color:#0000}.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}.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}.star-report{border-radius:var(--radius-md);text-align:left;background:#060c1c47;margin:0 0 20px;padding:16px 18px}.star-report__heading{font-family:var(--font-display);letter-spacing:.02em;color:#fff;margin:0 0 12px;font-size:15px;font-weight:800}.star-report__criteria{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.star-report__criterion{color:#ffffffb8;align-items:baseline;gap:9px;font-size:13.5px;line-height:1.4;display:flex}.star-report__criterion.is-met{color:#fffffff2}.star-report__mark{width:14px;font-family:var(--font-display);color:#ffffff8c;flex:none;font-size:13px;font-weight:800}.star-report__criterion.is-met .star-report__mark{color:var(--c-signal-cyan,#6fdcea)}.star-report__note{color:#ffffffe0;margin:0;font-size:13.5px;line-height:1.5}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.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;width:100%;height:30px;margin-top:10px;padding:0 10px;font-size:12.5px;display:block}.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}
