.masthead{--mast-line: color-mix(in srgb, var(--text) 12%, transparent);--mast-fill: 0;position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;min-height:var(--hud);padding-inline:var(--gutter);background:color-mix(in srgb,var(--bg) calc(var(--mast-fill) * 82%),transparent);border-bottom:1px solid color-mix(in srgb,var(--text) calc(var(--mast-fill) * 12%),transparent);backdrop-filter:blur(calc(var(--mast-fill) * 14px)) saturate(calc(1 + var(--mast-fill) * .2));transition:opacity .4s ease,translate .5s cubic-bezier(.6,0,.4,1)}@property --mast-fill{syntax: "<number>"; inherits: true; initial-value: 0;}@keyframes mast-fill{to{--mast-fill: 1}}@supports (animation-timeline: scroll()){.masthead{animation:mast-fill 1ms linear both;animation-timeline:scroll(root);animation-range:0 96px}}@supports not (animation-timeline: scroll()){.masthead{--mast-fill: 1}}[data-brand]{display:flex;align-items:center;gap:10px;justify-self:start;min-width:0;min-height:44px;white-space:nowrap}[data-mark]{display:block;flex:none;width:26px;height:26px;filter:drop-shadow(0 0 calc(8px * var(--glow)) color-mix(in srgb,var(--magenta) 50%,transparent))}[data-brand] strong{font-size:15px;font-weight:700;letter-spacing:.01em}[data-brand] span{overflow:hidden;padding-left:10px;border-left:1px solid var(--mast-line);font-family:var(--mono);font-size:11px;text-overflow:ellipsis;color:var(--muted)}[data-nav]{display:flex;gap:2px;padding:4px;border:1px solid var(--mast-line);background:color-mix(in srgb,var(--bg) 40%,transparent)}[data-nav] a{display:flex;align-items:center;gap:8px;min-height:36px;padding-inline:14px;font-size:13px;color:var(--muted);transition:color .16s,background .16s}[data-nav] a:before{content:"";width:6px;height:6px;background:currentColor;opacity:0;rotate:45deg;transition:opacity .16s}[data-nav] a:hover{color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}[data-nav] a[aria-current]{color:var(--text);background:color-mix(in srgb,var(--text) 9%,transparent)}[data-nav] a[aria-current]:before{opacity:1;color:var(--green);box-shadow:0 0 8px var(--green)}.mast-actions{display:flex;grid-column:3;align-items:center;justify-content:flex-end;gap:8px}.lang-pill{display:flex;align-items:center;font-family:var(--mono);font-size:12px}.lang-pill a{display:grid;place-items:center;min-width:36px;min-height:40px;color:var(--muted);transition:color .16s}.lang-pill a:hover{color:var(--text)}.lang-pill a[aria-current]{color:var(--text);text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:6px}.lang-pill span{color:var(--mast-line)}.mast-button{display:flex;align-items:center;gap:12px;min-height:40px;padding-inline:14px 12px;border:1px solid var(--mast-line);background:color-mix(in srgb,var(--bg) 40%,transparent);font-size:13px;transition:border-color .16s,background .16s,color .16s}.settings-toggle{gap:10px;padding-inline:12px 14px}.settings-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:rotate .4s cubic-bezier(.2,.8,.2,1)}.settings-toggle:hover svg{rotate:60deg}#top:has([data-settings]:modal) .settings-toggle{background:var(--text);border-color:var(--text);color:var(--bg)}.mast-button:hover{border-color:var(--text)}.burger{display:grid;gap:4px;width:16px}.burger b{display:block;height:2px;background:currentColor;transition:translate .2s,rotate .2s,width .2s}.burger b:last-child{justify-self:end;width:10px}site-hud:has([data-drawer]:modal) .menu-toggle{background:var(--text);border-color:var(--text);color:var(--bg)}site-hud:has([data-drawer]:modal) .burger b:first-child{translate:0 3px;rotate:45deg}site-hud:has([data-drawer]:modal) .burger b:last-child{width:100%;translate:0 -3px;rotate:-45deg}[data-drawer]{position:fixed;inset:0 0 0 auto;display:none;flex-direction:column;gap:28px;width:min(420px,100vw);height:100dvh;max-height:none;margin:0;padding:22px 24px 28px;overflow-y:auto;color:var(--text);font-family:var(--sans);background:var(--bg);border:0;border-left:1px solid color-mix(in srgb,var(--text) 12%,transparent);box-shadow:-30px 0 60px -30px #000;translate:100% 0;transition:translate .35s cubic-bezier(.2,.8,.2,1),display .35s allow-discrete,overlay .35s allow-discrete}:root:has([data-drawer]:modal){overflow:hidden}[data-drawer]:modal{display:flex;translate:0 0}@starting-style{[data-drawer]:modal{translate:100% 0}}[data-drawer]::backdrop{background:#05050800;backdrop-filter:blur(0);transition:background .3s,backdrop-filter .3s,display .3s allow-discrete,overlay .3s allow-discrete}[data-drawer]:modal::backdrop{background:#0505088c;backdrop-filter:blur(3px)}@starting-style{[data-drawer]:modal::backdrop{background:#05050800;backdrop-filter:blur(0)}}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-head h2{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.drawer-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid color-mix(in srgb,var(--text) 12%,transparent)}.drawer-close:hover{border-color:var(--text)}.drawer-close svg{width:14px;height:14px;fill:currentColor}.drawer-links{display:grid}.drawer-links a{display:flex;align-items:center;gap:14px;min-height:46px;border-top:1px solid color-mix(in srgb,var(--text) 10%,transparent);font-size:22px;font-weight:700;transition:color .16s,padding .2s}.drawer-links a small{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--muted)}.drawer-links a:hover{padding-left:6px;color:var(--green)}.drawer-foot{display:grid;gap:6px;margin-top:auto;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--text) 10%,transparent);font-family:var(--mono);font-size:12px;color:var(--muted)}.drawer-foot a:first-child{color:var(--text)}.drawer-foot a:hover{color:var(--green)}@media(max-width:1180px){.masthead{grid-template-columns:minmax(0,1fr) auto}[data-nav]{display:none}.mast-actions{grid-column:2}}@media(max-width:560px){[data-brand] span{display:none}[data-brand]{max-width:100%}[data-brand] strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.mast-actions{gap:4px}.mast-button>span{display:none}.settings-toggle{width:40px;justify-content:center;padding-inline:0}}@media(prefers-reduced-motion:reduce){[data-drawer],[data-drawer]::backdrop{transition:none}}[data-settings]{--n: var(--green);--on-n: var(--on-green);display:none;flex-direction:column;width:min(560px,calc(100vw - 32px));height:min(640px,calc(100dvh - 32px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;color:var(--text);font-family:var(--sans);background:var(--bg);border:1px solid color-mix(in srgb,var(--n) 55%,transparent);box-shadow:0 30px 80px -20px #000,0 0 calc(60px * var(--glow)) -30px var(--n);opacity:0;translate:0 12px;transition:opacity .25s,translate .3s cubic-bezier(.2,.8,.2,1),display .3s allow-discrete,overlay .3s allow-discrete}[data-settings]:modal{display:flex;opacity:1;translate:0 0}@starting-style{[data-settings]:modal{opacity:0;translate:0 12px}}[data-settings]::backdrop{background:#05050800;backdrop-filter:blur(0);transition:background .3s,backdrop-filter .3s,display .3s allow-discrete,overlay .3s allow-discrete}[data-settings]:modal::backdrop{background:#0505089e;backdrop-filter:blur(3px)}@starting-style{[data-settings]:modal::backdrop{background:#05050800;backdrop-filter:blur(0)}}:root:has([data-settings]:modal){overflow:hidden}[data-settings][data-context=site] [data-when=game],[data-settings][data-context=game] [data-when=site]{display:none}.settings-bar{flex:none;min-height:40px;padding-block:0;padding-right:8px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;background:var(--screen)}.settings-bar h2{flex:1;font:inherit;text-transform:uppercase}.settings-close{display:flex;align-items:center;gap:8px;height:28px;padding-inline:8px;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);font-family:var(--mono);font-size:11px;color:var(--muted);transition:border-color .16s,color .16s}.settings-close:hover{border-color:var(--text);color:var(--text)}.settings-close kbd{font-family:inherit}.settings-close svg{width:10px;height:10px;fill:currentColor}.settings-tabs{display:grid;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--edge);background:var(--screen)}.settings-tabs button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);transition:background-color .16s,color .16s}.settings-tabs button+button{border-left:1px solid var(--edge)}.settings-tabs button:hover{color:var(--text)}.settings-tabs button[aria-selected=true]{background:var(--n);color:var(--on-n)}.settings-tabs button:focus-visible{outline:2px solid var(--text);outline-offset:-4px}.settings-tabs svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}.settings-body{flex:1;min-height:0;padding:20px;overflow-y:auto}[data-settings-panel]{display:flex;flex-direction:column;gap:20px}[data-settings-panel][hidden]{display:none}[data-settings-panel=fx]{gap:0}.settings-card{display:grid;gap:14px;padding:18px;border:1px solid var(--edge);background:var(--screen)}.settings-volume{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.settings-volume label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.settings-volume output{font-family:var(--mono);font-size:28px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.settings-volume small{font-size:14px;color:var(--n)}.settings-bars{--volume: .6;display:flex;align-items:flex-end;gap:3px;height:44px}.settings-bars i{flex:1;height:100%;background:linear-gradient(to top,var(--magenta),var(--green));transform:scaleY(max(.06,calc(var(--h) * var(--volume))));transform-origin:bottom;transition:transform .2s}[data-settings-volume]{width:100%;height:18px;margin:0;appearance:none;background:transparent;cursor:pointer}[data-settings-volume]::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,var(--magenta),var(--green))}[data-settings-volume]::-moz-range-track{height:4px;background:linear-gradient(90deg,var(--magenta),var(--green))}[data-settings-volume]::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px;appearance:none;background:var(--text);rotate:45deg;box-shadow:0 0 calc(10px * var(--glow)) var(--green)}[data-settings-volume]::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:0;background:var(--text);rotate:45deg;box-shadow:0 0 calc(10px * var(--glow)) var(--green)}[data-settings-volume]:focus-visible{outline:2px solid var(--green);outline-offset:4px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:64px;padding-block:14px;border-bottom:1px solid color-mix(in srgb,var(--text) 10%,transparent);text-align:left}.settings-row>span{display:grid;gap:4px}.settings-row b{font-size:15px;font-weight:600}.settings-row small{font-size:13px;line-height:1.45;color:var(--muted)}.settings-row--stack{flex-direction:column;align-items:stretch}.settings-switch{position:relative;flex:none;width:40px;height:22px;border:1px solid color-mix(in srgb,var(--text) 25%,transparent);transition:background-color .2s,border-color .2s}.settings-switch:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:var(--muted);transition:translate .2s,background-color .2s}[aria-checked=true]>.settings-switch{border-color:var(--n);background:color-mix(in srgb,var(--n) 16%,transparent)}[aria-checked=true]>.settings-switch:after{translate:18px 0;background:var(--n)}.settings-segment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--edge)}.settings-segment button{min-height:44px;font-family:var(--mono);font-size:12px;color:var(--muted);transition:background-color .16s,color .16s}.settings-segment button+button{border-left:1px solid var(--edge)}.settings-segment button:hover{color:var(--text)}.settings-segment [aria-checked=true]{background:var(--n);color:var(--on-n)}.settings-keys{display:grid;gap:10px}.settings-keys p{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--n)}.settings-keys ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.settings-keys li{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);font-size:13px;color:var(--muted)}.settings-keys kbd,.settings-back kbd{min-width:22px;padding:2px 6px;border:1px solid color-mix(in srgb,var(--text) 30%,transparent);font-family:var(--mono);font-size:10px;text-align:center;color:var(--text)}.settings-preview{display:flex;align-items:center;gap:16px;margin-top:18px;padding:16px;border:1px solid var(--edge);background:var(--screen)}.settings-preview [data-cube]{flex:none;width:44px;height:44px;filter:drop-shadow(0 0 calc(18px * var(--glow)) var(--magenta))}.settings-preview p{font-size:13px;line-height:1.45;color:var(--muted)}[data-settings] [data-swatch]{aspect-ratio:auto;min-height:46px}[data-settings] .kit-foot{margin-top:12px}.settings-foot{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 12px 0 20px;border-top:1px solid var(--edge);background:var(--screen)}.settings-saved{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--muted)}.settings-saved i{width:6px;height:6px;background:var(--n);box-shadow:0 0 calc(8px * var(--glow)) var(--n)}.settings-back{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 14px 0 10px;border:1px solid color-mix(in srgb,var(--text) 20%,transparent);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;transition:border-color .16s}.settings-back:hover{border-color:var(--text)}.settings-hint{font-family:var(--mono);font-size:11px;color:var(--muted)}@media(max-width:640px){[data-settings]{width:100%;height:min(640px,calc(100dvh - 48px));margin:auto 0 0;border-width:1px 0 0;translate:0 100%}[data-settings]:modal{translate:0 0}@starting-style{[data-settings]:modal{translate:0 100%}}.settings-body{padding:16px}.settings-hint{display:none}.settings-keys ul{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){[data-settings],[data-settings]::backdrop{transition:none}}[data-kit]{display:block}.kit-preview{display:flex;align-items:center;gap:18px;margin-bottom:16px;padding:16px;background:linear-gradient(transparent 70%,color-mix(in srgb,var(--green) 18%,transparent) 70% 72%,transparent 72%),var(--screen);border:1px solid var(--edge)}.kit-preview [data-cube]{width:60px;height:60px;filter:drop-shadow(0 0 calc(14px * var(--glow)) var(--magenta))}.chips{display:grid;gap:8px;font-family:var(--mono);font-size:12px;color:var(--muted)}.chip{display:flex;align-items:center;gap:10px}.chip i{width:20px;height:20px;border:1px solid rgb(255 255 255 / .3);box-shadow:0 0 calc(10px * var(--glow)) var(--chip);background:var(--chip)}.chip b{font-weight:500;color:var(--text)}.chip-slot--1{--chip: var(--magenta)}.chip-slot--2{--chip: var(--green)}.kit-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px;border:1px solid var(--edge)}.kit-slots button{min-height:44px;font-family:var(--mono);font-size:13px;color:var(--muted)}.kit-slots button:hover{color:var(--text)}.kit-slots button[data-on=on][data-slot="1"]{background:var(--magenta);color:var(--on-magenta)}.kit-slots button[data-on=on][data-slot="2"]{background:var(--green);color:var(--on-green)}[data-swatches]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}[data-swatch]{position:relative;aspect-ratio:1;min-height:36px;border:2px solid rgb(0 0 0 / .65);box-shadow:inset 0 0 0 1px #ffffff24;transition:scale .12s}[data-swatch]:hover{scale:1.1;z-index:1}[data-swatch][data-on=on]{outline:2px solid var(--text);outline-offset:2px;z-index:1}[data-swatch] span{position:absolute;right:3px;bottom:1px;font-family:var(--mono);font-size:11px;font-weight:500;color:#fff;text-shadow:0 0 2px #000,0 0 4px #000,0 0 6px #000}.kit-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.kit-foot p{max-width:28ch;font-size:12px;line-height:1.45;color:var(--muted)}.kit-foot button{flex:none;min-height:40px;padding-inline:14px;border:1px solid var(--green);font-family:var(--mono);font-size:12px;color:var(--green)}.kit-foot button:hover{background:var(--green);color:var(--on-green)}[data-level-spike]{background:var(--magenta);clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--magenta) 50%,transparent))}[data-level-spike]:after{content:"";position:absolute;inset:3px;background:var(--bg);clip-path:polygon(50% 0,100% 100%,0 100%)}[data-level-block]{background:color-mix(in srgb,var(--green) 10%,transparent);border:2px solid var(--green)}[data-level-launch]{background:linear-gradient(to top,var(--magenta) 20%,transparent 20%)}[data-level-spike][data-inverted]{rotate:180deg}[data-portal]{z-index:1;border:3px solid var(--magenta);border-radius:50%;background:color-mix(in srgb,var(--magenta) 10%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--magenta) 40%,transparent);pointer-events:none}[data-portal=ball]{border-color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)}[data-portal=ufo]{border-color:orange;background:color-mix(in srgb,orange 10%,transparent)}[data-speed-portal]{z-index:1;border:3px solid var(--green);border-radius:4px;background:color-mix(in srgb,var(--green) 15%,transparent)}[data-speed-portal]:after{content:attr(data-speed) "×";position:absolute;top:50%;left:50%;translate:-50% -50%;color:var(--green);font:bold 14px var(--mono)}[data-window]{margin-bottom:24px;background:var(--screen);border:1px solid var(--edge);font-family:var(--mono);font-size:13px;line-height:1.9}.window-bar{display:flex;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--edge);color:var(--muted)}.window-bar i{width:9px;height:9px;background:var(--n)}.window-bar i:nth-child(2){opacity:.6}.window-bar i:nth-child(3){margin-right:6px;opacity:.3}[data-console]{min-width:0;align-self:start;font-family:var(--mono);font-size:12.5px;line-height:1.75}[data-console] .window-bar{background:var(--screen)}.console-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border-bottom:1px solid var(--edge);background:color-mix(in srgb,var(--screen) 70%,transparent)}.case-panel{display:none;padding:14px 14px 4px}[data-console]:has(input[value="0"]:checked) .case-panel--0,[data-console]:has(input[value="1"]:checked) .case-panel--1,[data-console]:has(input[value="2"]:checked) .case-panel--2,[data-console]:has(input[value="3"]:checked) .case-panel--3{display:block}.flow{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:14px;list-style:none}.flow li{--state: var(--muted);display:flex;align-items:center;gap:6px;padding:3px 9px;border:1px solid color-mix(in srgb,var(--state) 60%,transparent);color:var(--state);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.flow li:not(:last-child):after{content:"→";margin-left:6px;color:var(--muted);opacity:.5}.flow li[data-state=idle]{opacity:.35}:is(.flow li,.trace li)[data-state=ok],:is(.flow li,.trace li)[data-state=hit]{--state: var(--green)}:is(.flow li,.trace li)[data-state=miss]{--state: var(--magenta)}:is(.flow li,.trace li)[data-state=wait]{--state: #ffd84a}:is(.flow li,.trace li)[data-state=error]{--state: #ff4d6d}.flow li:is([data-state=hit],[data-state=ok],[data-state=error],[data-state=wait]){box-shadow:0 0 calc(12px * var(--glow)) -4px var(--state)}.trace{display:grid;gap:2px;list-style:none}.trace li{--state: var(--text);display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;padding:3px 8px;border-left:2px solid transparent}.trace li[data-state]{border-left-color:var(--state);background:color-mix(in srgb,var(--state) 6%,transparent)}.trace b{max-width:100%;font-weight:600;overflow-wrap:anywhere;color:var(--n)}.trace span{flex:1 1 14ch;min-width:0;overflow-wrap:anywhere;color:var(--text)}.trace em{margin-left:auto;font-style:normal;font-size:11px;white-space:nowrap;color:var(--state)}.trace li[data-out] span{white-space:pre-wrap;color:var(--muted)}.console-note{padding:10px 14px 14px;font-size:11px;color:var(--muted)}@media(min-width:1000px){[data-project]{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.case-panel{min-height:340px}}@keyframes trace-in{0%{opacity:0;translate:-6px 0}}@media(prefers-reduced-motion:no-preference){[data-motion=on]{.trace li{animation:trace-in .32s ease-out calc(var(--i) * .11s) backwards}}}.terrain{--cell: max(18px, 100vw / 36);position:relative;height:calc(3 * var(--cell));overflow-x:clip;pointer-events:none}.terrain.flip{scale:1 -1}.terrain>i{position:absolute;left:calc(var(--x) * var(--cell));bottom:calc(var(--y, 0) * var(--cell));display:block;width:calc(var(--width, 1) * var(--cell));height:calc(var(--height, 1) * var(--cell))}.terrain-block{border:2px solid var(--n);border-bottom:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text) 22%,transparent),transparent) calc(var(--sweep) - var(--x) * var(--cell)) 0 / 24vw 100% no-repeat,linear-gradient(90deg,color-mix(in srgb,var(--n) 16%,transparent) 1px,transparent 1px) 0 0 / var(--cell) var(--cell),linear-gradient(color-mix(in srgb,var(--n) 16%,transparent) 1px,transparent 1px) 0 0 / var(--cell) var(--cell),color-mix(in srgb,var(--n) 9%,transparent);box-shadow:0 0 calc(12px * var(--glow)) color-mix(in srgb,var(--n) 55%,transparent)}.terrain>.terrain-block{box-sizing:border-box;width:calc(var(--width) * var(--cell) + 2px)}.terrain>[data-level-spike]{height:calc(.8 * var(--cell))}@keyframes comet{0%{--sweep: -30vw}to{--sweep: 130vw}}@media(prefers-reduced-motion:no-preference){[data-motion=on]{.comet{animation:comet 7s linear infinite}}}
