:root{--accent:#4ee0a1;--bg:#04060a;--panel:#090e16db;--line:#78a0c82e;--ink:#cddfef;--ink-dim:#bed6ea9e;--ink-faint:#aac4da66;--mono:ui-monospace, SFMono-Regular, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--topbar:44px}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.55;overflow:hidden}body.doc{overflow:auto}kbd{border:1px solid var(--line);font:inherit;color:var(--ink);background:#ffffff0a;border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:.86em;display:inline-block}.topbar{z-index:5;height:var(--topbar);border-bottom:1px solid var(--line);background:linear-gradient(#0a1018f5,#060a10e6);align-items:center;gap:22px;padding:0 clamp(10px,2vw,20px);display:flex;position:relative}.topbar h1,.topbar-brand{letter-spacing:.3em;text-transform:uppercase;color:var(--ink);white-space:nowrap;margin:0;font-size:13px;font-weight:600}.topbar h1:before,.topbar-brand:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);vertical-align:1px;border-radius:2px;margin-right:10px;display:inline-block}.topbar nav{gap:16px;display:flex}.topbar nav button{color:var(--ink-dim);font:inherit;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:2px 0;font-size:12px}.topbar nav button:hover,.topbar nav button:focus-visible{color:var(--ink);border-bottom-color:var(--accent);outline:none}.topbar nav button:disabled{color:var(--ink-faint);cursor:not-allowed;opacity:.45;border-bottom-color:#0000}.topbar-note{letter-spacing:.1em;color:var(--ink-faint);margin:0 0 0 auto;font-size:11px}#app{width:100%;height:calc(100dvh - var(--topbar));position:relative;overflow:hidden}#stage{touch-action:none;cursor:crosshair;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.noscript{text-align:center;color:var(--ink-dim);place-content:center;padding:2rem;display:grid;position:absolute;inset:0}.is-hidden{display:none!important}.hud{pointer-events:none;font-size:12px;position:absolute;inset:0}.hud-block{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:6px;padding:10px 14px;position:absolute}.hud-mission{max-width:min(46vw,420px);top:14px;left:14px}.hud-title{letter-spacing:.18em;color:var(--accent);margin:0;font-size:13px}.hud-sub{color:var(--ink-dim);margin:3px 0 0;font-size:11.5px}.hud-stats{gap:3px;min-width:168px;display:grid;top:14px;right:14px}.hud-stat{justify-content:space-between;gap:16px;display:flex}.hud-stat-label{color:var(--ink-faint);letter-spacing:.14em;font-size:10.5px}.hud-stat-value{color:var(--ink);font-variant-numeric:tabular-nums}.hud-progress{width:min(280px,40vw);position:absolute;bottom:14px;left:14px}.hud-progress-text{letter-spacing:.16em;color:var(--ink-faint);font-size:10.5px}.hud-progress-bar{border:1px solid var(--line);border-radius:3px;height:4px;margin-top:5px;overflow:hidden}.hud-progress-fill{background:var(--accent);width:0;height:100%;box-shadow:0 0 12px var(--accent);transition:width .25s ease-out}.hud-toasts{justify-items:center;gap:6px;width:max-content;max-width:90vw;display:grid;position:absolute;top:74px;left:50%;transform:translate(-50%)}.hud-toast{border:1px solid var(--line);border-left:2px solid var(--accent);background:var(--panel);border-radius:4px;align-items:baseline;gap:10px;padding:6px 14px;animation:.22s ease-out toast-in;display:flex}.hud-toast strong{letter-spacing:.14em;font-size:11.5px;font-weight:600}.hud-toast span{color:var(--ink-faint);font-size:11px}.hud-toast-good{border-left-color:#5ef2a8}.hud-toast-good strong{color:#7ff5bd}.hud-toast-bad{border-left-color:#ff6f88}.hud-toast-bad strong{color:#ff92a4}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}}.hud-hints{text-align:center;justify-items:center;gap:4px;max-width:min(90vw,620px);display:grid;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.hud-hint{color:var(--ink-dim);background:#060a10b8;border-radius:4px;margin:0;padding:5px 14px;font-size:12px}.hud-hint:first-child{color:var(--ink)}.inspector{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;scrollbar-width:thin;border-radius:6px;width:min(330px,42vw);max-height:min(58vh,520px);padding:12px 14px;font-size:11.5px;position:absolute;bottom:14px;right:14px;overflow:auto}.inspector.is-pinned{pointer-events:auto;border-color:var(--accent)}.inspector header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:8px;display:flex}.ins-kind{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:10px}.ins-addr{color:var(--ink);font-size:11px}.ins-meta{gap:2px;margin:8px 0;display:grid}.ins-meta div{justify-content:space-between;gap:12px;display:flex}.ins-meta dt{color:var(--ink-faint);letter-spacing:.1em;font-size:10.5px}.ins-meta dd{color:var(--ink);margin:0}.ins-code{color:#d6e8f8eb;white-space:pre-wrap;background:#00000059;border-radius:4px;margin:8px 0;padding:8px 10px;font-size:11px;line-height:1.6;overflow-x:auto}.ins-label{letter-spacing:.18em;color:var(--ink-faint);text-transform:uppercase;margin:10px 0 4px;font-size:10px}.ins-strings,.ins-events{margin:0;padding-left:16px}.ins-strings li{color:#ffd68c}.ins-events li{color:var(--ink-dim)}.ins-events span{color:var(--accent)}.ins-blocks{color:var(--ink-faint);word-break:break-all;margin:0;font-size:10.5px}.ins-note{color:var(--ink-faint);margin:8px 0 0;font-size:10.5px;line-height:1.5}.ins-prov strong{color:#ff92a4}.ins-dim{color:var(--ink-faint)}.debug{pointer-events:none;background:#040a08e6;border:1px solid #78f0be59;border-radius:6px;width:min(320px,44vw);max-height:66vh;padding:10px 12px;font-size:11px;position:absolute;top:96px;left:14px;overflow:auto}.debug-title{letter-spacing:.2em;color:#6ef2b4;margin:0 0 6px;font-size:10px}.debug dl{gap:1px;margin:0;display:grid}.debug dl div{justify-content:space-between;gap:12px;display:flex}.debug dt{color:#96dcbea6}.debug dd{text-align:right;color:#d8f5e8;word-break:break-word;margin:0}.debug-note{color:#96dcbe8c;margin:8px 0 0;line-height:1.5}.screens{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(circle at 50% 40%,#080e16db,#030509f7);place-items:center;padding:clamp(12px,3vw,32px);display:grid;position:absolute;inset:0;overflow:auto}.screen{border:1px solid var(--line);background:#070b12e6;border-radius:10px;width:min(760px,100%);padding:clamp(18px,3vw,30px);box-shadow:0 30px 90px #0009}.screen-eyebrow{letter-spacing:.28em;color:var(--accent);margin:0;font-size:10.5px}.screen-heading{letter-spacing:.16em;margin:4px 0 14px;font-size:clamp(22px,4vw,34px)}.screen-lede{color:var(--ink-dim);max-width:62ch;margin:10px 0 20px}.screen-loading-text,.screen-error{text-align:center;letter-spacing:.14em;color:var(--ink-dim);margin:0}.screen-error{color:#ff92a4}.mission-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mission{border:1px solid var(--line);border-left:3px solid var(--accent);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#0a1018b3;border-radius:6px;align-items:center;gap:16px;padding:12px 14px;transition:background .14s,transform .14s;display:flex}.mission:hover,.mission:focus-visible{background:#121c28e6;outline:none;transform:translate(3px)}.mission-no{letter-spacing:.06em;color:var(--accent);min-width:40px;font-size:22px}.mission-body{flex:1;gap:2px;min-width:0;display:grid}.mission-name{letter-spacing:.2em;font-size:15px}.mission-tag{color:var(--ink-dim);font-size:11.5px}.mission-facts{color:var(--ink-faint);letter-spacing:.06em;font-size:10.5px}.mission-shape{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;opacity:.72;font-size:10px}.mission-status{letter-spacing:.16em;justify-items:end;gap:2px;font-size:10px;display:grid}.mission-done{color:#6ef2b4}.mission-best,.mission-todo{color:var(--ink-faint)}.screen-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.screen-actions button{border:1px solid var(--line);color:var(--ink);font:inherit;letter-spacing:.1em;cursor:pointer;background:#0e1620e6;border-radius:5px;padding:9px 16px;font-size:12px}.screen-actions button:hover,.screen-actions button:focus-visible{border-color:var(--accent);color:#fff;outline:none}.screen-actions button:first-child{border-color:var(--accent);color:var(--accent)}.screen-stats{gap:28px;margin:0;display:flex}.screen-stats dt{letter-spacing:.2em;color:var(--ink-faint);font-size:10px}.screen-stats dd{color:var(--accent);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:20px}.screen-controls{border-top:1px solid var(--line);margin-top:22px;padding-top:14px}.screen-controls ul{color:var(--ink-dim);gap:4px;margin:8px 0 0;padding:0;font-size:11.5px;list-style:none;display:grid}.screen-controls kbd{margin-right:4px}.screen-footnote{color:var(--ink-faint);margin:16px 0 0;font-size:10.5px;line-height:1.6}.sheet{border:1px solid var(--line);width:min(720px,100vw - 24px);max-height:min(82dvh,900px);color:var(--ink);background:#070b12f7;border-radius:10px;padding:0;overflow:hidden;box-shadow:0 40px 120px #000000b3}.sheet::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030509b8}.sheet-inner{max-height:inherit;overscroll-behavior:contain;scrollbar-width:thin;padding:clamp(16px,3vw,26px);overflow-y:auto}.sheet-head{z-index:1;background:linear-gradient(#070b12fc 72%,#070b1200);justify-content:space-between;align-items:baseline;gap:16px;margin:calc(-1*clamp(16px,3vw,26px)) calc(-1*clamp(16px,3vw,26px)) 4px;padding:clamp(16px,3vw,26px) clamp(16px,3vw,26px) 12px;display:flex;position:sticky;top:calc(-1*clamp(16px,3vw,26px))}.sheet h2{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0;font-size:clamp(17px,3vw,21px)}.sheet h3{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin:22px 0 6px;font-size:11px}.sheet p,.sheet li{color:var(--ink-dim);font-size:12.5px;line-height:1.7}.sheet-lede{color:var(--ink);margin:0 0 4px}.sheet ul{margin:0;padding-left:18px}.sheet li{margin:4px 0}.sheet strong{color:var(--ink)}.sheet code{color:var(--ink);background:#ffffff0d;border-radius:3px;padding:1px 5px;font-size:.92em}.sheet-keys{gap:5px;padding:0;list-style:none;display:grid}.sheet-keys li{grid-template-columns:minmax(112px,148px) 1fr;align-items:baseline;gap:12px;margin:0;display:grid}.sheet-keys li>span:first-child{color:var(--ink);text-align:right;white-space:nowrap}.sheet-note{border-top:1px solid var(--line);color:var(--ink-faint);margin:20px 0 0;padding-top:14px;font-size:11.5px}.sheet-close{border:1px solid var(--line);width:30px;height:30px;color:var(--ink-dim);font:inherit;cursor:pointer;background:#0e1620e6;border-radius:5px;flex:none;line-height:1}.sheet-close:hover,.sheet-close:focus-visible{border-color:var(--accent);color:var(--ink);outline:none}.audio-sheet{width:min(560px,100vw - 24px)}.source-sheet{width:min(1080px,100vw - 24px);max-height:min(90dvh,980px)}.source-sheet-inner{flex-direction:column;display:flex;overflow:hidden}.source-sheet-head{flex:none}.source-sheet-head>div{min-width:0}.sheet .source-filename{color:var(--ink-faint);letter-spacing:.14em;text-transform:uppercase;margin:0 0 2px;font-size:10px}.sheet .source-context{color:var(--ink-faint);flex:none;margin:0 0 14px;font-size:11px}.source-build{flex:none;margin:2px 0 16px}.source-build-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:6px;display:flex}.sheet .source-build-heading h3{margin:0}.source-build-heading span{color:var(--ink-faint);white-space:nowrap;font-size:10px}.source-build-heading i{background:#f18bbd;border-radius:2px;width:7px;height:7px;margin-right:5px;display:inline-block;box-shadow:0 0 7px #f18bbd8c}.source-command{border:1px solid var(--line);border-left:2px solid var(--accent);white-space:pre-wrap;overflow-wrap:anywhere;background:#05080d;border-radius:5px;margin:0;padding:10px 12px}.sheet .source-command code{color:#9eb2c4;font:11px/1.7 var(--mono);background:0 0;padding:0}.command-tool{color:#7ee787;font-weight:600}.command-hikari{color:#f18bbd;background:#f18bbd1a;border-radius:3px;padding:1px 3px;font-weight:600}.command-forwarder{color:#b792e6}.sheet .source-defaults{color:var(--ink-faint);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:7px 0 0;font-size:9.5px;display:flex}.source-defaults span{letter-spacing:.08em;text-transform:uppercase;margin-right:2px}.sheet .source-defaults code{color:#d7a7cf;padding:1px 4px}.source-code{border:1px solid var(--line);overscroll-behavior:contain;scrollbar-width:thin;tab-size:4;counter-reset:source-line;background:#05080d;border-radius:6px;flex:1;min-height:0;margin:0;overflow:auto}.sheet .source-code code{color:#c9d8e6;min-width:max-content;font:12px/1.62 var(--mono);background:0 0;border-radius:0;padding:12px 0;display:block}.source-line{counter-increment:source-line;min-height:1.62em;padding-right:18px;display:block}.source-line:before{content:counter(source-line);color:#aac4da52;text-align:right;-webkit-user-select:none;user-select:none;background:#05080d;border-right:1px solid #78a0c81f;width:5ch;margin-right:16px;padding:0 10px 0 8px;display:inline-block;position:sticky;left:0}.source-line:hover{background:#78a0c80b}.c-comment{color:#668596;font-style:italic}.c-directive{color:#b792e6}.c-keyword{color:#f18bbd}.c-type{color:#65d7e3}.c-function{color:#7ee787}.c-string{color:#e8c277}.c-number{color:#f3a96b}.c-operator{color:#8dbfe8}.audio-settings{gap:16px;margin-top:24px;display:grid}.audio-setting{color:var(--ink-dim);grid-template-columns:minmax(112px,1fr) minmax(140px,2fr) 44px;align-items:center;gap:14px;font-size:12px;display:grid}.audio-setting input[type=range]{width:100%;accent-color:var(--accent)}.audio-setting output{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.audio-mute{width:max-content;color:var(--ink);cursor:pointer;align-items:center;gap:10px;font-size:12px;display:flex}.audio-mute input{width:16px;height:16px;accent-color:var(--accent)}@media (width<=560px){.source-build-heading{display:block}.source-build-heading span{margin-top:3px;display:block}.sheet-keys li{grid-template-columns:1fr;gap:0}.sheet-keys li>span:first-child{text-align:left}.audio-setting{grid-template-columns:1fr 44px}.audio-setting input[type=range]{grid-area:2/1/auto/-1}}.touch-pad{pointer-events:none;justify-content:space-between;padding:16px;display:flex;position:absolute;bottom:0;left:0;right:0}.touch-pad button{pointer-events:auto;border:1px solid var(--line);width:62px;height:62px;color:var(--ink-dim);font:inherit;touch-action:none;background:#0a10188c;border-radius:50%;margin-right:10px;font-size:13px}.touch-pad button[data-touch=jump]{border-color:var(--accent);color:var(--accent);margin:0}@media (hover:hover) and (pointer:fine){.touch-pad{display:none}}.prose{max-width:68ch;color:var(--ink-dim);margin:0 auto;padding:clamp(24px,5vw,56px) clamp(16px,4vw,24px) 80px;line-height:1.75}.prose h1{letter-spacing:.1em;color:var(--ink);margin:0 0 8px;font-size:clamp(24px,5vw,34px)}.prose h2{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:34px 0 8px;font-size:14px}.prose code{color:var(--ink);background:#ffffff0d;border-radius:3px;padding:1px 5px;font-size:.92em}.prose ul{padding-left:20px}.prose li{margin:4px 0}@media (width<=720px){:root{--topbar:68px}.topbar{flex-wrap:wrap;align-content:center;gap:4px 18px;padding-top:8px;padding-bottom:8px}.topbar-note{flex-basis:100%;margin-left:0}.hud-mission{max-width:calc(100vw - 178px)}.hud-stats{min-width:0;padding:6px 9px;font-size:10.5px}.hud-stat{gap:8px}.inspector{display:none}.hud-hints{bottom:92px}.mission{flex-wrap:wrap;gap:8px 12px}.screen-stats{gap:18px}}@media (width<=620px){.topbar{gap:4px}.topbar nav{flex-basis:100%;justify-content:space-between;gap:8px}.topbar-note{display:none}}@media (width<=440px){.topbar nav button{letter-spacing:0;font-size:10px}.hud-mission{max-width:calc(100vw - 28px)}.hud-stats{gap:12px;padding:5px 10px;display:flex;top:auto;bottom:52px;right:14px}.hud-stat{flex-direction:column;align-items:flex-end;gap:0}.hud-progress{width:calc(100vw - 28px)}}@media (prefers-reduced-motion:reduce){.hud-toast{animation:none}.hud-progress-fill,.mission{transition:none}}
