:root{--ink:#0b1d24;--panel:#081a21b8;--edge:#78dce647;--text:#d8f3f5;--dim:#8fb9c2;--health:#ff6a5a;--ink-color:#7c5cff;--ammo:#ffd166}*{box-sizing:border-box}html,body{height:100%;color:var(--text);-webkit-user-select:none;user-select:none;touch-action:none;background:#061419;margin:0;font:500 14px/1.45 ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow:hidden}#stage{position:fixed;inset:0}#game{width:100%;height:100%;display:block;position:absolute;inset:0}#hud{pointer-events:none;padding:max(14px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-left));position:absolute;inset:0}.meter{width:220px;position:absolute;top:18px}.meter--health{left:18px}.meter--ink{left:258px}.meter__label{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:11px;display:block}.meter__track{border:1px solid var(--edge);background:#ffffff12;border-radius:3px;height:12px;margin-top:4px;position:relative;overflow:hidden}.meter__fill{width:100%;height:100%;transition:width .12s linear}.meter--health .meter__fill{background:linear-gradient(90deg, #8d1f18, var(--health))}.meter--ink .meter__fill{background:linear-gradient(90deg, #2f2270, var(--ink-color))}.meter__num{color:var(--text);font-size:12px;position:absolute;top:0;right:0}.meter.is-low .meter__track{border-color:var(--health);animation:.9s infinite throb}@keyframes throb{50%{border-color:#ff6a5a59}}.ammo{position:absolute;top:18px;left:498px}.ammo__pips{gap:4px;margin-top:5px;display:flex}.ammo__pip{border:1px solid var(--edge);background:#ffffff0f;border-radius:2px;width:12px;height:14px}.ammo__pip.is-full{background:var(--ammo);box-shadow:0 0 8px #ffd1668c}.ammo__pip.is-charging{background:#ffd16659}.score{text-align:right;position:absolute;top:18px;right:18px}.score__label{letter-spacing:.12em;text-transform:uppercase;width:84px;color:var(--dim);font-size:11px;display:inline-block}.score span:last-child{font-size:18px}.status{color:#ffe9b0;text-shadow:0 1px 3px #000;max-width:420px;min-height:20px;font-size:13px;position:absolute;top:74px;left:18px}.status.is-bad{color:#ff9b8f}.cooldowns{gap:14px;display:flex;position:absolute;bottom:22px;left:18px}.cd{letter-spacing:.12em;text-transform:uppercase;width:120px;color:var(--dim);font-size:11px}.cd__track{border:1px solid var(--edge);background:#ffffff0f;border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.cd__fill{background:#66d9d1;width:0%;height:100%}.flash{pointer-events:none;opacity:0;background:radial-gradient(#ff281e00 45%,#ff281e8c 100%);position:absolute;inset:0}.inkveil{pointer-events:none;opacity:0;background:radial-gradient(#0a061a26 20%,#0e0822cc 100%);transition:opacity .25s;position:absolute;inset:0}.touch{position:absolute;inset:0}.touch__stick{left:max(22px, env(safe-area-inset-left));bottom:max(24px, env(safe-area-inset-bottom));border:1px solid var(--edge);background:var(--panel);border-radius:50%;width:168px;height:168px;position:absolute}.touch__knob{border:1px solid var(--edge);background:#78dce638;border-radius:50%;width:64px;height:64px;margin:-32px 0 0 -32px;position:absolute;top:50%;left:50%}.touch__lookpad{width:52%;height:62%;position:absolute;top:0;right:0}.touch__buttons{right:max(18px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));grid-template-columns:repeat(3,78px);gap:10px;display:grid;position:absolute}.tbtn{font:inherit;letter-spacing:.1em;color:var(--text);background:var(--panel);border:1px solid var(--edge);pointer-events:auto;border-radius:10px;padding:14px 4px;font-size:12px}.tbtn--small{opacity:.85;padding:10px 4px;font-size:11px}.tbtn.is-down{background:#78dce652;transform:translateY(1px)}.tbtn--strike{border-color:#ff786480}.tbtn--ink{border-color:#7c5cff80}.tbtn--fire{border-color:#ffd16680}.boot{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-align:center;background:#040e13d1;place-content:center;gap:14px;display:grid;position:absolute;inset:0}.boot h1{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:34px}.boot__sub{color:var(--dim);margin:0}.boot__keys{text-align:left;background:var(--panel);border:1px solid var(--edge);columns:2;border-radius:8px;column-gap:26px;max-width:560px;margin:6px auto 0;padding:12px 18px;list-style:none}.boot__keys li{color:var(--text);break-inside:avoid;margin-bottom:5px;font-size:12.5px}.boot__keys b{color:#9ff0e6}.boot__start{font:inherit;color:#041318;cursor:pointer;pointer-events:auto;background:#7fe3d8;border:0;border-radius:8px;justify-self:center;padding:12px 26px;font-size:15px}.boot__start:hover{background:#a8f2e8}.boot__status{color:var(--dim);margin:0;font-size:12px}.boot.is-hidden{display:none}@media (width<=900px){.meter{width:132px}.meter--ink{left:168px}.ammo{left:316px}.boot__keys{columns:1}.score span:last-child{font-size:14px}}
