:root{--ink:#f4f1ea;--ink-dim:#f4f1eab8;--glass:#181c2094;--line:#ffffff29;--accent:#e8c86a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:#1b1e21;height:100%;margin:0;overflow:hidden}body{color:var(--ink);-webkit-font-smoothing:antialiased;font:15px/1.45 Helvetica Neue,Helvetica,Arial,sans-serif}#stage{touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}#view{filter:contrast(.94)saturate(.9);width:100%;height:100%;display:block}.grain{pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:.5s steps(4,end) infinite grain;position:absolute;inset:-50%}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,-1%)}}.card{left:50%;bottom:max(28px, env(safe-area-inset-bottom));background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);border-radius:14px;width:min(560px,100% - 32px);padding:18px 20px;transition:opacity .4s;position:absolute;transform:translate(-50%)}.card.hidden,.hidden{opacity:0;pointer-events:none}.card .lead{letter-spacing:.01em;margin:0 0 4px;font-size:19px;font-weight:600}.card .small{color:var(--ink-dim);margin:0 0 14px;font-size:13px}.row{flex-wrap:wrap;gap:10px;display:flex}button,select{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ffffff24;border-radius:999px;min-height:34px;padding:7px 14px}button:hover,select:hover{background:#ffffff3d}button.ghost{background:0 0}@media (max-width:640px),(max-height:560px){.card{padding:12px 14px}.card .lead{font-size:16px}#drop .small{display:none}#drop .row{gap:6px}#drop button{min-height:30px;padding:6px 11px;font-size:13px}}#choose{background:var(--accent);color:#1d1d1b;border-color:#0000;font-weight:600}select option{background:#2a2e33}body.dragging #stage:after{content:"Drop to depart";border:2px dashed var(--accent);pointer-events:none;background:#00000040;border-radius:18px;place-items:center;font-size:26px;display:grid;position:absolute;inset:16px}#bar{left:50%;bottom:max(14px, env(safe-area-inset-bottom));background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:8px;width:min(980px,100% - 24px);padding:8px 10px;transition:opacity .6s;display:none;position:absolute;transform:translate(-50%)}body.running #bar{display:flex}body.running.idle #bar,body.running.idle #credits{opacity:0}body.running.idle #stage{cursor:none}body.paused #drop{bottom:max(84px, env(safe-area-inset-bottom))}#bar button,#bar select{min-height:30px;padding:5px 10px;font-size:13px}#play{width:40px}#time{font-variant-numeric:tabular-nums;color:var(--ink-dim);text-align:center;min-width:84px;font-size:13px}.scrubwrap{flex:1;align-items:center;min-width:60px;height:22px;display:flex;position:relative}#analysed{pointer-events:none;background:#e8c86a59;border-radius:2px;width:0;height:4px;position:absolute;top:9px;left:0}#scrub{width:100%;accent-color:var(--accent);background:0 0;position:relative}#status{color:var(--ink-dim);letter-spacing:.04em;text-shadow:0 1px 6px #0009;pointer-events:none;white-space:nowrap;font-size:13px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}#toast{background:var(--glass);border:1px solid var(--line);opacity:0;pointer-events:none;text-align:center;border-radius:999px;max-width:calc(100% - 32px);padding:8px 14px;font-size:13px;transition:opacity .3s,transform .3s;position:absolute;top:18px;left:50%;transform:translate(-50%,-8px)}#gate{z-index:6;background:#121216f0;border-color:#ffc45a99;top:18px;bottom:auto}#gate.none{border-color:#ff5a5acc}#gate ul{margin:0 0 14px;padding-left:18px}#gate li{margin:0 0 4px}#toast.show{opacity:1;transform:translate(-50%)}#credits{max-width:min(420px,60%);color:var(--ink-dim);text-align:right;text-shadow:0 1px 4px #000000b3;pointer-events:none;font-size:11px;transition:opacity .6s;position:absolute;top:12px;right:14px}.debug{pointer-events:none;border-radius:10px;width:calc(100% - 24px);height:min(42vh,300px);display:none;position:absolute;top:12px;left:12px;right:12px}#endcard{top:18px;bottom:auto}#menu{border:1px solid var(--line);background:#121418f0;border-radius:14px;flex-direction:column;gap:2px;min-width:230px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);right:8px}#menu.hidden{display:none}#bar #menu button{text-align:left;white-space:nowrap;border:0;border-radius:8px;padding:8px 10px}#menu kbd{float:right;opacity:.6;margin-left:12px;font:11px ui-monospace,monospace}@media (max-width:640px){#bar{gap:4px;padding:6px}#bar button,#bar select{padding:4px 8px}#bar #center{display:none}#pack{max-width:34vw}#time{min-width:0;font-size:12px}#credits{max-width:70%}}@media (max-width:820px){#credits{max-width:80%;top:42px}}[hidden]{display:none!important}#credits a{color:inherit;text-underline-offset:2px;pointer-events:auto;text-decoration:underline}#vr.on{color:#111;background:#f2c94c}#tuning{z-index:50;color:#d9dce3;background:#0d0f14;font:13px/1.4 system-ui,sans-serif;display:flex;position:fixed;inset:0}#tuning.hidden{display:none}#tuning .tn-roll{flex:1;min-width:0;position:relative}#tuning canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#tuning .tn-info{font-variant-numeric:tabular-nums;pointer-events:none;background:#0d0f14d1;border-radius:6px;padding:4px 8px;position:absolute;top:8px;left:64px;right:8px}#tuning .tn-tip{pointer-events:none;background:#1b1f29;border:1px solid #333a4a;border-radius:6px;width:220px;padding:8px 10px;font-size:12px;position:absolute}#tuning .tn-tip.hidden{display:none}#tuning .tn-panel{background:#141823;border-left:1px solid #232836;flex:none;width:320px;padding:12px 14px 20px;overflow-y:auto}#tuning header{justify-content:space-between;align-items:center;display:flex}#tuning h2{margin:0;font-size:17px}#tuning h3{letter-spacing:.08em;text-transform:uppercase;color:#7d8597;margin:14px 0 4px;font-size:11px}#tuning .tn-lede{color:#9aa1ad;margin:6px 0 10px}#tuning .tn-autonote{color:#c9b8ff;margin:8px 0 0;font-size:12px}#tuning .tn-autonote:empty{display:none}#tuning .tn-preset{color:#9aa1ad;align-items:center;gap:8px;margin:10px 0 0;font-size:12px;display:flex}#tuning .tn-preset select{color:#e6e9ef;background:#1c2130;border:1px solid #2c3346;border-radius:6px;flex:1;padding:4px 6px}#tuning .tn-row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}#tuning .tn-zoom{color:#9aa1ad;align-items:center;gap:6px;display:flex}#tuning .tn-legend{color:#9aa1ad;flex-wrap:wrap;gap:4px 10px;margin:6px 0;display:flex}#tuning .tn-legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}#tuning .tn-param{cursor:help;grid-template-columns:1fr auto;gap:0 8px;margin:6px 0;display:grid}#tuning .tn-param input{grid-column:1/-1;width:100%}#tuning .tn-param output{font-variant-numeric:tabular-nums;color:#9aa1ad}#tuning .tn-param.changed span,#tuning .tn-param.changed output{color:#f2c94c}#tuning .tn-actions{background:#141823;padding:8px 0;position:sticky;bottom:-20px}@media (max-width:720px){#tuning{flex-direction:column}#tuning .tn-panel{border-top:1px solid #232836;border-left:0;width:auto;height:42%}}#frames{z-index:40;color:#d9dce3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0c12db;border:1px solid #2a3040;border-radius:8px;width:min(460px,100% - 24px);padding:8px 10px;font:12px/1.4 system-ui,sans-serif;position:absolute;bottom:64px;left:12px}#frames.hidden{display:none}#frames header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}#frames .fa-btns{gap:4px;display:flex}#frames .fa-btns button{padding:2px 8px;font-size:12px}#frames canvas{background:#00000059;border-radius:4px;width:100%;height:110px;display:block}#frames .fa-text{font-variant-numeric:tabular-nums;margin-top:6px}#frames .fa-spike{color:#ffb3b5;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#frames .fa-spike i{color:#9aa1ad}#fork{z-index:20;color:#ffffffbf;opacity:.55;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0c1259;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font:12px/1.3 system-ui,sans-serif;transition:opacity .3s;display:flex;position:absolute;top:10px;left:12px}#fork:hover{opacity:1}body.quiet #fork{opacity:0;pointer-events:none;transition:opacity 1.2s}#fork a{color:inherit;text-decoration:none}#fork a:hover{text-decoration:underline}#endcard a{color:inherit}#fork .inst.hidden,#tonon.hidden{display:none}#bar #deep{opacity:.65;white-space:nowrap;font-size:12px}#bar #deep:hover{opacity:1}#deep.hidden{display:none}#depart{z-index:20;position:absolute;bottom:76px;left:50%;transform:translate(-50%)}#depart[hidden]{display:none}#depart small{opacity:.6;margin-top:2px;font-size:.68em;display:block}#fsx{display:none}body.fullscreen #fsx{z-index:50;color:#ffffff2e;background:0 0;border:none;border-radius:50%;width:22px;height:22px;padding:0;font-size:11px;line-height:22px;display:block;position:absolute;top:6px;right:6px}body.fullscreen #fsx:hover{color:#fffc;background:#0006}body.fullscreen #bar,body.fullscreen #credits,body.fullscreen #fork,body.fullscreen #status,body.fullscreen #toast,body.fullscreen #endcard,body.fullscreen.running #drop,body.fullscreen .debug,body.fullscreen #tuning,body.fullscreen #frames{display:none!important}body.fullscreen #stage{cursor:none}#door{cursor:pointer;color:#fff;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:0;animation:6s linear infinite door-hue;display:flex;position:absolute;bottom:calc(100% + 12px);right:18px}#door .sign{letter-spacing:.18em;text-transform:uppercase;color:#ffd6f6;text-shadow:0 0 4px #ff4fd8,0 0 12px #ff4fd8;font:700 10px/1 Helvetica Neue,Helvetica,Arial,sans-serif;animation:4.1s step-end infinite door-flicker}#door .frame{perspective:160px;background:#08040e;border:2px solid #ff4fd8;border-radius:28px 28px 3px 3px;width:56px;height:88px;animation:.48s ease-out infinite door-beat;position:relative;overflow:hidden}#door .glow{filter:blur(6px)brightness(1.2);background:conic-gradient(at 50% 70%,#ff4fd8,#4fd8ff,#ffe14f,#7cff4f,#ff4fd8);animation:3s linear infinite door-spin;position:absolute;inset:0}#door .leaf{transform-origin:0;background:linear-gradient(90deg,#1a0f24,#24142f 60%,#1a0f24);transition:transform .5s cubic-bezier(.3,1.4,.5,1);position:absolute;inset:0;box-shadow:inset 0 -10px 14px -8px #ff4fd8}#door .knob{background:#ffe14f;border-radius:50%;width:5px;height:5px;position:absolute;top:52%;right:8px;box-shadow:0 0 4px #ffe14f}#door:hover .leaf,#door:focus-visible .leaf{transform:rotateY(-68deg)}#door:hover .frame{animation-duration:.24s}@keyframes door-beat{0%{box-shadow:0 0 4px #ff4fd8,0 0 26px 4px #ff4fd8,inset 0 0 12px #ff4fd8}to{box-shadow:0 0 2px #ff4fd8,0 0 8px #ff4fd84d,inset 0 0 3px #ff4fd8}}@keyframes door-hue{to{filter:hue-rotate(360deg)}}@keyframes door-spin{to{transform:rotate(360deg)scale(1.4)}}@keyframes door-flicker{0%,to{opacity:1}71%{opacity:.35}72%{opacity:1}89%{opacity:.6}90%{opacity:1}}body.disco #door{animation:none}body.disco #door .frame{border-color:#e8c86a;animation:none;box-shadow:0 0 10px #e8c86a80}body.disco #door .sign{color:#f4f1ea;text-shadow:0 0 6px #e8c86acc;animation:none}body.disco #door .glow{filter:none;background:linear-gradient(#9fb6cf,#ecdccb 60%,#a8aa68 60%);animation:none}@media (max-width:640px){#door{right:10px}#door .frame{width:44px;height:70px}}@media (prefers-reduced-motion:reduce){#door,#door .frame,#door .glow,#door .sign{animation:none}}#meter{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);pointer-events:none;border-radius:12px;width:min(420px,100% - 32px);padding:12px 16px;transition:opacity .4s;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}#meter .mlabel{letter-spacing:.04em;justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}#meter .mbar{background:#ffffff14;border-radius:5px;height:10px;position:relative;overflow:hidden}#meter .mbar i{background:linear-gradient(90deg,#4fd88a 0% 60%,#e8c86a 80%,#ff5a4f 100%) 0 0/420px 100%;border-radius:5px;width:0;position:absolute;inset:0 auto 0 0}#meter .mbar b{opacity:.8;background:#fff;width:2px;position:absolute;top:0;bottom:0;left:0}#meter .mwarn{color:#ffb27a;min-height:0;margin-top:8px;font-size:12px}#meter .mwarn:empty{display:none}body.fullscreen #meter{display:none!important}@media (max-width:480px){#fork{white-space:nowrap;max-width:calc(100% - 24px);font-size:11px;overflow:hidden}#fork .long{display:none}#credits{max-width:calc(100% - 24px);top:46px}}#boot{z-index:0;pointer-events:none;background:radial-gradient(at 50% 40%,#3a3f47,#16161d 75%);flex-direction:column;justify-content:center;align-items:center;gap:10px;transition:opacity .8s;display:flex;position:absolute;inset:0}#boot.gone{opacity:0}#boot .strip{letter-spacing:.08em;color:#ffb02e;background:#0b0b0c;border-radius:3px;padding:8px 14px;font:700 13px/1 ui-monospace,monospace;box-shadow:0 0 0 2px #3a3a3a}#boot .strip span{font-weight:400;animation:1.2s steps(2,end) infinite boot-blink}#boot .board{color:#fff;background:#14284a;border:4px solid #c9ced6;flex-direction:column;align-items:center;gap:6px;padding:18px 34px;font-family:system-ui,sans-serif;display:flex;box-shadow:0 0 0 3px #26324a,0 10px 30px #00000080}#boot .board b{letter-spacing:.02em;font-size:clamp(28px,7vw,46px)}#boot .board small{opacity:.9;font-size:14px}@keyframes boot-blink{50%{opacity:.4}}
