:root{color:#d8d2b4;font-synthesis:none;--abyss:#061116;--floor:#17343a;--ink:#10191b;--verdigris:#4f8178;--bone:#d8d2b4;--lumen:#f2b85b;--ember:#e05d4f;--eclipse:#8c72b8;--lacquer:#061519f7;--datum:#698b809e;background:#061116;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#game-shell,#game,#game-ui{width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 50% 42%, #15343b 0%, var(--abyss) 74%);min-width:1024px;min-height:576px}button{font:inherit}button:focus-visible{outline:none}button:disabled{cursor:wait;opacity:.58}canvas{display:block}#game-shell{isolation:isolate;position:relative}#game{position:absolute;inset:0}#game canvas{object-fit:contain;width:100%!important;height:100%!important}#game-ui{pointer-events:none;position:absolute;inset:0}#game-ui button,#game-ui input{pointer-events:auto}.is-hidden{display:none!important}.screen{z-index:20;color:var(--bone);pointer-events:auto;background:radial-gradient(circle at 50% 43%,#2352515c,#0000 28%),linear-gradient(#020a0d94,#02080beb);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.screen:before,.screen:after{content:"";pointer-events:none;position:absolute}.screen:before{border-top:1px solid #f2b85b80;border-bottom:1px solid #4f817873;inset:24px}.screen:after{border:1px solid #4f817826;border-radius:50%;width:min(74vw,880px);height:min(74vw,880px);top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 70px #4f817809,0 0 0 150px #f2b85b05}.screen>*{z-index:1;position:relative}.screen-kicker{color:var(--lumen);letter-spacing:4px;margin:0 0 14px;font:700 12px/1.2 Georgia,serif}.title-screen h1,.weapon-select h2,.pause-screen h2,.result-screen h2{color:#eee4c5;letter-spacing:11px;text-shadow:0 8px 30px #000000b8,0 0 36px #f2b85b2e;margin:0;font-family:Georgia,serif;font-weight:700;line-height:.95}.title-screen h1{font-size:clamp(66px,8vw,112px)}.weapon-select h2{letter-spacing:7px;color:#eee4c5;margin:5px 0 24px;font-size:clamp(38px,5vw,62px)}.pause-screen h2,.result-screen h2{font-size:clamp(54px,6vw,84px)}.title-line,.result-line,.pause-note{color:#91aaa3;letter-spacing:1px;font-family:Georgia,serif}.title-line{margin:20px 0 34px;font-size:18px}.boot-status{color:#83a69d;letter-spacing:2px;min-height:16px;margin:-16px 0 16px;font-size:10px}.pause-note{margin:28px 0 0;font-size:14px}.result-line{margin:18px 0 30px;font-size:16px}.title-sigil{border:1px solid #f2b85bbf;border-radius:50%;place-items:center;width:92px;height:92px;margin-bottom:22px;display:grid;box-shadow:0 0 34px #f2b85b2e,inset 0 0 28px #f2b85b1f}.title-sigil:before,.title-sigil:after{content:"";background:var(--lumen);position:absolute}.title-sigil:before{width:116px;height:1px}.title-sigil:after{width:1px;height:116px}.title-sigil span{background:var(--lumen);width:30px;height:30px;box-shadow:0 0 32px var(--lumen);border-radius:50%}.primary-action,.secondary-action{border:1px solid var(--lumen);color:#f5e7c7;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);letter-spacing:2px;cursor:pointer;background:linear-gradient(100deg,#f2b85b24,#081f22f0 62%);justify-content:space-between;align-items:center;gap:28px;min-width:238px;min-height:52px;padding:0 24px;font:700 15px Georgia,serif;transition:color .14s,background .14s,transform .14s;display:inline-flex}.primary-action:hover,.primary-action:focus-visible{color:#fff3d6;box-shadow:inset 4px 0 var(--lumen), 0 0 26px #f2b85b33;background:linear-gradient(100deg,#f2b85b52,#0d2d2ef7 68%)}.primary-action:active{transform:translateY(1px)}.primary-action kbd{color:#a4beb6;font:600 10px Segoe UI,sans-serif}.secondary-action{border-color:var(--verdigris);color:#afc3bd;background:#081d20d1;min-height:44px}.secondary-action:hover,.secondary-action:focus-visible{border-color:var(--lumen);color:var(--bone);box-shadow:inset 4px 0 var(--lumen)}.settings-ledger{flex-direction:column;gap:8px;display:flex}.title-settings{width:250px;position:absolute;bottom:28px;left:34px}.settings-ledger label{color:#83a69d;letter-spacing:1.4px;grid-template-columns:58px 1fr 30px;align-items:center;gap:9px;min-height:28px;font-size:9px;font-weight:700;display:grid}.settings-ledger input{width:100%;height:18px;accent-color:var(--lumen);cursor:pointer}.settings-ledger input:focus-visible{outline:1px solid var(--lumen);outline-offset:3px}.settings-ledger output{color:var(--bone);text-align:right;font-variant-numeric:tabular-nums}.setting-action{border:1px solid var(--verdigris);color:#a9beb7;letter-spacing:1.5px;cursor:pointer;background:#071b1ed1;min-height:44px;font-size:10px;font-weight:700}.setting-action:hover,.setting-action:focus-visible{border-color:var(--lumen);color:var(--bone);box-shadow:inset 4px 0 var(--lumen)}.weapon-select{background:radial-gradient(circle at 50% 45%,#23525147,#0000 35%),linear-gradient(#020a0db8,#02080bf5)}.selection-heading{width:min(850px,78vw)}.selection-heading>span{color:var(--lumen);letter-spacing:3px;font:700 11px Georgia,serif}.starting-weapons{border-top:1px solid var(--datum);border-bottom:1px solid var(--datum);grid-template-columns:1fr 1fr;width:min(850px,78vw);display:grid}.starting-weapon{min-height:112px;color:var(--bone);text-align:left;cursor:pointer;background:#071b1e80;border:0;border-bottom:1px solid #4f81786b;grid-template-columns:24px 68px minmax(0,1fr) 58px;align-items:center;gap:14px;padding:16px 18px;display:grid;position:relative}.starting-weapon:nth-child(odd){border-right:1px solid #4f81786b}.starting-weapon:nth-last-child(-n+2){border-bottom:0}.starting-weapon:before{content:"";left:0;background:0 0;width:4px;position:absolute;inset-block:0}.starting-weapon:hover,.starting-weapon:focus-visible{background:linear-gradient(90deg,#f2b85b26,#071b1eb3)}.starting-weapon:focus-visible:before{background:var(--lumen);box-shadow:0 0 18px #f2b85b73}.starting-weapon img{object-fit:contain;width:62px;height:62px}.starting-weapon strong{color:#eee5c9;white-space:nowrap;font:700 18px Georgia,serif;display:block}.starting-weapon small{color:#9fb6af;white-space:nowrap;margin-top:7px;font-size:12px;line-height:1.3;display:block}.starting-weapon em{color:var(--lumen);text-align:right;white-space:nowrap;font-size:10px;font-style:normal;font-weight:700}.weapon-select>.secondary-action{min-width:160px;margin-top:24px}.hud{z-index:8;color:var(--bone);pointer-events:none;text-shadow:0 2px 4px var(--abyss);position:absolute;inset:0}.instrument-heading{color:#a8beb6;letter-spacing:2px;justify-content:space-between;gap:20px;font:700 11px Georgia,serif;display:flex}.instrument-heading strong{color:#eadfc0;letter-spacing:0;font-variant-numeric:tabular-nums;font:700 12px Segoe UI,sans-serif}.vitality-instrument{width:238px;position:absolute;top:24px;left:28px}.instrument-track,.boss-track{background:var(--ink);border:1px solid #d8d2b48c;height:14px;margin-top:8px;padding:2px;position:relative}.instrument-track i,.boss-track i{background:linear-gradient(90deg, #a97d3c, var(--lumen));width:100%;height:100%;transition:width .12s linear;display:block}.vitality-instrument.is-critical .instrument-track{border-color:#e05d4feb;box-shadow:0 0 18px #e05d4f38}.vitality-instrument.is-critical .instrument-track i{background:var(--ember);animation:.76s ease-in-out infinite alternate critical-pulse}.vitality-instrument.is-critical .instrument-heading strong{color:#f3c0b8}.vitality-instrument.is-previewed .instrument-track{border-color:var(--lumen);overflow:visible}.vitality-instrument.is-previewed .instrument-track:after{content:"";border:1px dashed var(--lumen);background:#f2b85b26;width:18%;position:absolute;top:-1px;bottom:-1px;left:100%}@keyframes critical-pulse{to{opacity:.55}}.time-instrument{flex-direction:column;align-items:center;display:flex;position:absolute;top:19px;left:50%;transform:translate(-50%)}.time-instrument strong{color:#e9ddbc;letter-spacing:4px;font-variant-numeric:tabular-nums;font:700 27px Georgia,serif}.time-instrument span{color:#718f88;letter-spacing:2px;margin-top:3px;font:700 9px Segoe UI,sans-serif}.kill-instrument{color:var(--lumen);align-items:center;gap:8px;display:flex;position:absolute;top:25px;right:78px}.kill-instrument strong{color:var(--bone);font-variant-numeric:tabular-nums;font-size:14px}.icon-action{color:#98b1aa;cursor:pointer;background:#061519b8;border:1px solid #4f8178b3;width:38px;height:38px;position:absolute;top:19px;right:25px}.icon-action:hover,.icon-action:focus-visible{border-color:var(--lumen);color:var(--lumen);box-shadow:0 0 18px #f2b85b2e}.weapon-rack{gap:8px;display:flex;position:absolute;bottom:30px;left:28px}.weapon-slot{background:#071b1edb;border:1px solid #4f8178c7;place-items:center;width:52px;height:52px;display:grid;position:relative}.weapon-slot:after{content:"";border:1px solid #f2b85b24;position:absolute;inset:4px}.weapon-cooldown{background:conic-gradient(from -90deg, #f2b85b4d var(--cooldown,0%), #040f12bd 0);place-items:center;display:grid;position:absolute;inset:3px}.weapon-icon{object-fit:contain;filter:drop-shadow(0 1px 3px #000c);width:40px;height:40px}.weapon-level{z-index:2;color:var(--bone);font:700 9px Segoe UI,sans-serif;position:absolute;bottom:2px;right:3px}.weapon-evolution{z-index:2;color:#d5cbe5;text-transform:uppercase;white-space:nowrap;max-width:43px;font:700 7px Segoe UI,sans-serif;position:absolute;top:2px;left:3px;overflow:hidden}.weapon-slot.is-empty{opacity:.38;filter:grayscale(.72)}.weapon-slot.is-empty .weapon-cooldown{background:repeating-linear-gradient(135deg,#4f817814 0 5px,#0000 5px 10px)}.weapon-slot.is-ready{border-color:#f2b85bad}.weapon-slot.is-evolved{border-color:var(--eclipse);box-shadow:inset 0 0 0 1px #8c72b85c}.weapon-slot.is-previewed{opacity:1;filter:none;border-color:var(--lumen);box-shadow:inset 0 0 0 2px #f2b85b2e,0 0 24px #f2b85b47}.weapon-slot.is-applied,.vitality-instrument.is-applied{animation:.18s ease-out both native-commit}.material-count{color:var(--eclipse);align-items:center;gap:5px;font-size:14px;display:flex;position:absolute;bottom:43px;left:208px}.material-count strong{color:var(--bone);font-variant-numeric:tabular-nums;font-size:10px}.level-instrument{color:var(--bone);letter-spacing:2px;align-items:baseline;gap:10px;font:700 11px Georgia,serif;display:flex;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.level-instrument span{color:#7ea099;letter-spacing:0;font-variant-numeric:tabular-nums;font:700 10px Segoe UI,sans-serif}.experience-rail{background:var(--ink);height:7px;position:absolute;bottom:0;left:0;right:0}.experience-rail i{background:linear-gradient(90deg, #80632e, var(--lumen));width:0;height:100%;transition:width .18s ease-out;display:block;box-shadow:0 0 12px #f2b85b80}.boss-instrument{z-index:9;background:linear-gradient(90deg,#0000,#071219f0 12% 88%,#0000);width:min(620px,52vw);padding:10px 18px 12px;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.boss-instrument>div:first-child{color:#b7a7d2;letter-spacing:3px;justify-content:space-between;font:700 11px Georgia,serif;display:flex}.boss-instrument strong{color:#d5cbe5;letter-spacing:0;font-variant-numeric:tabular-nums;font:700 10px Segoe UI,sans-serif}.boss-track{border-color:#8c72b8b8}.boss-track i{background:linear-gradient(90deg, #55406f, var(--eclipse))}.level-up{z-index:16;width:min(41vw,526px);min-width:440px;color:var(--bone);pointer-events:auto;background:linear-gradient(#081d20fb,#051216fb);border-top:1px solid #f2b85b94;border-bottom:1px solid #4f8178b3;border-left:3px solid #886a34;padding:22px;position:absolute;top:78px;bottom:48px;right:24px;box-shadow:-28px 14px 60px #000000b8}.level-up:before{content:"";z-index:-1;background:linear-gradient(90deg,#030b0e2e,#030b0e4d 54%,#030b0ec7);position:fixed;inset:0}.register-heading>span{color:var(--lumen);letter-spacing:3px;font:700 11px Georgia,serif}.register-heading h2{color:#eee4c5;letter-spacing:4px;margin:6px 0 18px;font:700 26px Georgia,serif}.upgrade-choices{flex-direction:column;display:flex}.upgrade-choice{width:100%;height:143px;color:inherit;text-align:left;border:0;border-top:1px solid var(--datum);cursor:pointer;background:0 0;grid-template-columns:22px 58px minmax(0,1fr) 112px;align-items:center;gap:13px;padding:14px 14px 14px 12px;display:grid;position:relative}.upgrade-choice:before{content:"";background:0 0;width:4px;position:absolute;top:0;bottom:0;left:-12px}.upgrade-choice:hover,.upgrade-choice:focus-visible{background:linear-gradient(90deg,#f2b85b24,#0000 72%)}.upgrade-choice:focus-visible:before{background:var(--lumen);box-shadow:0 0 18px #f2b85b73}.choice-index{color:#6d8f87;letter-spacing:1px;align-self:start;padding-top:7px;font:700 9px Segoe UI,sans-serif}.choice-icon{border:1px solid var(--verdigris);width:56px;height:56px;color:var(--lumen);background:#11282c;place-items:center;font:700 20px Georgia,serif;display:grid}.choice-art{object-fit:contain;filter:drop-shadow(0 2px 5px #000000b8);width:48px;height:48px}.choice-seal{fill:#4f8178;stroke:#10191b;stroke-width:4px;stroke-linejoin:round;width:38px;height:38px;overflow:visible}.choice-seal .seal-accent{fill:none;stroke:#f2b85b;stroke-width:4px;stroke-linecap:round}.choice-seal--vitality{fill:#8caa8f}.choice-seal--movement{fill:#d8d2b4}.choice-seal--pickup{fill:#4f8178}.choice-seal--damage{fill:#f2b85b}.choice-seal--armor{fill:#6a918a}.weapon-fallback{fill:#284f4c;stroke:#f2b85b;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.upgrade-choice:focus-visible .choice-icon{border-color:var(--lumen);box-shadow:0 0 18px #f2b85b38}.choice-copy{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.choice-name{color:#eee5c9;white-space:nowrap;text-overflow:ellipsis;width:100%;font:700 17px/1.1 Georgia,serif;overflow:hidden}.choice-description{color:#afc3bc;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:7px;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.choice-level{color:#678a83;letter-spacing:1px;margin-top:8px;font-size:9px}.choice-delta{color:var(--lumen);font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;align-items:flex-end;font-size:11px;font-weight:750;line-height:1.55;display:flex}.register-footer{color:#718f88;letter-spacing:1px;align-items:center;gap:8px;font-size:9px;display:flex;position:absolute;bottom:12px;right:22px}.register-footer kbd{color:#aac0ba;font:inherit;border:1px solid #4f81788c;padding:3px 6px}.pause-screen{background:linear-gradient(90deg,#030b0e0a 0 48%,#030b0ea8 66%,#030b0ef0 100%);align-items:flex-end;padding-right:72px}.pause-screen:before{background:#051417eb;border:1px solid #4f8178a8;border-left:3px solid #f2b85b8f;width:390px;inset:52px 42px 52px auto;box-shadow:-22px 12px 48px #0000008f}.pause-screen:after{display:none}.pause-screen h2{letter-spacing:8px;text-align:left;width:330px;font-size:52px}.pause-actions{flex-direction:column;gap:12px;width:330px;margin-top:24px;display:flex}.pause-actions .primary-action,.pause-actions .secondary-action{width:100%}.pause-settings{border-top:1px solid #4f817873;margin-top:8px;padding-top:12px}.controller-recovery{color:#f1c1ba;letter-spacing:1.2px;width:330px;margin:18px 0 0;font-size:10px;line-height:1.5}.result-actions{gap:12px;margin-top:34px;display:flex}.audio-action{z-index:30;color:#91aaa3;letter-spacing:1.4px;cursor:pointer;background:#06111680;border:1px solid #0000;min-width:118px;min-height:44px;font-size:10px;position:absolute;bottom:8px;right:18px}.motion-action{bottom:52px}.audio-action:hover,.audio-action:focus-visible{color:var(--lumen);border-color:var(--verdigris);box-shadow:inset 3px 0 var(--lumen)}.audio-action.is-suppressed{display:none}.result-screen[data-outcome=victory]{background:radial-gradient(circle at 50% 42%,#f2b85b33,#0000 30%),linear-gradient(#030c0e94,#02080af5)}.result-screen[data-outcome=defeat]{background:radial-gradient(circle at 50% 42%,#e05d4f1f,#0000 30%),linear-gradient(#030c0ead,#02080afa)}.result-screen[data-outcome=defeat] h2{color:#e4c4b9}.result-ledger{border-top:1px solid #4f81789e;border-bottom:1px solid #4f81789e;grid-template-columns:repeat(7,1fr);width:min(880px,76vw);margin:0;display:grid}.result-ledger div{text-align:center;border-left:1px solid #4f817847;padding:18px 14px}.result-ledger div:first-child{border-left:0}.result-ledger dt{color:#6f9189;letter-spacing:2px;font-size:9px}.result-ledger dd{color:var(--bone);font-variant-numeric:tabular-nums;margin:8px 0 0;font:700 19px Georgia,serif}.result-weapons{grid-template-columns:1fr 1fr;column-gap:34px;width:min(720px,66vw);margin-top:18px;display:grid}.result-weapons div{color:#9fb6af;border-bottom:1px solid #4f817847;justify-content:space-between;align-items:baseline;min-height:28px;font-size:11px;display:flex}.result-weapons strong{color:var(--bone);font-variant-numeric:tabular-nums}.toast{z-index:40;color:#dce5cf;text-align:center;border-top:1px solid var(--verdigris);letter-spacing:2px;background:linear-gradient(90deg,#0000,#071b1ef0 15% 85%,#0000);min-width:320px;padding:11px 24px;font:700 12px Georgia,serif;animation:.18s ease-out both toast-in;position:absolute;top:112px;left:50%;transform:translate(-50%)}.toast[data-tone=danger]{color:#f1c1ba;border-color:var(--ember)}.toast[data-tone=elite]{color:#ffd28b;border-color:var(--lumen)}.toast[data-tone=boss]{color:#d5cbe5;border-color:var(--eclipse);font-size:14px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-7px)}}@keyframes native-commit{0%{filter:brightness()}50%{filter:brightness(1.8)}to{filter:brightness()}}@media (width<=1100px),(height<=620px){.level-up{width:446px;min-width:0;padding:12px 17px;top:58px;bottom:30px;right:18px}.register-heading h2{letter-spacing:3px;margin:4px 0 9px;font-size:22px}.register-heading>span{font-size:9px}.upgrade-choice{grid-template-columns:18px 48px minmax(0,1fr) 92px;gap:10px;height:116px;padding:9px}.choice-icon{width:46px;height:46px}.choice-name{font-size:16px}.choice-description{margin-top:5px;font-size:12px}.choice-level{margin-top:5px}.choice-delta{font-size:10px}.register-footer{display:none}.title-sigil{width:74px;height:74px;margin-bottom:16px}.title-screen h1{font-size:70px}.title-line{margin:14px 0 24px}.title-settings{width:210px;bottom:18px;left:18px}.starting-weapons{width:820px}.starting-weapon{grid-template-columns:20px 54px minmax(0,1fr) 52px;gap:10px;min-height:94px;padding:10px 12px}.starting-weapon img{width:50px;height:50px}.starting-weapon strong{font-size:16px}.weapon-select h2{margin-bottom:14px;font-size:42px}.result-ledger{width:74vw}.result-ledger div{padding:9px 5px}.result-ledger dd{font-size:15px}.result-line{margin:10px 0 18px}.result-weapons{margin-top:10px}.result-actions{margin-top:16px}.pause-screen{padding-right:42px}.pause-screen:before{width:360px;inset:34px 18px 34px auto}.pause-screen h2,.pause-actions{width:300px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
