:root{font-family:Consolas,'Courier New',monospace;color:#e8f3ed;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:#090f16;overflow:hidden}canvas{display:block;width:100vw;height:100dvh;touch-action:none}header{position:absolute;top:26px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center}.logo{font-size:23px;color:#d5be83;font-weight:bold;letter-spacing:3px}.logo span{color:#e8f3ed;margin-left:18px;font-size:16px;letter-spacing:2px}.logo b{color:#d5be83}.actions{display:flex;gap:10px}button{font:600 12px Consolas,monospace;padding:13px 18px;cursor:pointer;color:#ddece7;background:#15242bdd;border:1px solid #4a605a;touch-action:none}button:hover{border-color:#d5be83}button:focus-visible{outline:2px solid #d5be83;outline-offset:4px}button:disabled{opacity:.4;cursor:default}.hud{position:absolute;top:90px;left:32px;display:flex;gap:35px;padding:18px 24px;background:#111913bb;border:1px solid #35474c;pointer-events:none}.hud label{display:block;color:#95aba9;font-size:11px;letter-spacing:2px;margin-bottom:10px}.hud strong{font-size:19px;font-weight:400;white-space:nowrap}.hud>div:first-child{width:160px}.bar{width:120px;height:7px;background:#35494a;margin-top:15px}.bar i{display:block;width:100%;height:100%;background:#d5be83}#health{position:absolute;left:151px;top:47px;font-size:13px;color:#d5be83}#dash{color:#d5be83}#overlay{position:absolute;inset:0;background:linear-gradient(90deg,#101713e8 0%,#10171399 43%,#10171322 100%);display:flex;align-items:center;padding:6% 9%}.panel{max-width:650px;max-height:calc(100dvh - 12vw);overflow-y:auto;overscroll-behavior:contain}.panel small{font-size:12px;letter-spacing:3px;color:#d5be83}h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(45px,7vw,96px);font-weight:400;line-height:1.02;letter-spacing:2px;margin:22px 0}p{font-size:15px;line-height:1.9;color:#b2c6c7}#start{background:#d5be83;border:0;color:#13211d;padding:19px 30px;font-size:15px;margin-top:16px;min-width:230px}#start:hover{background:#ead49a}.sub{font-size:12px;color:#8aa2a6;margin-top:23px}footer{position:absolute;bottom:25px;width:100%;display:flex;justify-content:center;gap:26px;font-size:11px;color:#92a9ac;pointer-events:none}footer b{color:#e1ebe6;margin-right:6px;font-weight:400}#banner{position:absolute;top:23%;width:100%;text-align:center;font-size:24px;letter-spacing:5px;color:#d5be83;pointer-events:none}.touch{display:none;position:absolute;bottom:18px;left:15px;right:15px;justify-content:space-between;align-items:end}.touch button{min-width:46px;min-height:46px;margin:2px;background:#15242be6}@media(max-width:700px){header{top:16px;left:16px;right:16px}.logo{font-size:16px;letter-spacing:1px}.logo span{font-size:12px;margin-left:8px;letter-spacing:0}.actions{gap:5px}.actions button{padding:9px;font-size:10px}.hud{top:67px;left:16px;right:16px;gap:20px;padding:14px}.hud label{font-size:9px;letter-spacing:0}.hud strong{font-size:16px}.hud>div:first-child{width:95px;flex-shrink:0}.hud>div:last-child{display:none}.bar{width:75px}#health{left:97px;top:43px}.touch{display:flex}footer{display:none}#overlay{padding:120px 24px 170px}.panel small{font-size:10px}.sub{display:none}h1{font-size:48px;margin:15px 0}p{font-size:13px}#start{padding:15px;margin-top:6px}#banner{top:27%;font-size:18px}}@media(max-height:550px){#overlay{padding:90px 7% 55px}h1{font-size:38px;margin:10px 0}.panel small,.sub{display:none}p{font-size:12px;margin:8px 0}#start{padding:12px;margin-top:0}.hud{top:65px;padding:10px 16px}.touch{bottom:8px}}

.weapons{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center}.weapons button{min-width:112px}.weapons .selected{background:#d5be83;color:#1b231a;border-color:#ead49a}.weapons span{font-size:11px;color:#c9cbbd;margin-left:10px;white-space:nowrap}@media(max-width:700px){.weapons{bottom:157px;gap:4px}.weapons button{min-width:0;width:96px;padding:10px 5px}.weapons span{display:block;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin:0 0 8px;font-size:12px}.logo span{font-size:10px}.hud{gap:16px}}

#bossHud{position:absolute;top:185px;left:50%;transform:translateX(-50%);width:min(380px,80vw);text-align:center;color:#e6c3ff;font-size:12px;letter-spacing:1px;pointer-events:none}#bossHud[hidden]{display:none}#bossHud>div{height:9px;background:#292030;border:1px solid #6e467e;margin-top:9px}#bossHealth{display:block;height:100%;background:#b95bed;width:100%}@media(max-width:700px){#bossHud{top:146px;font-size:10px}#banner{top:31%;font-size:15px}}
#bossHud.enraged{color:#ffb4cf;text-shadow:0 0 10px #d52d75}#bossHud.enraged>div{border-color:#d94c83;box-shadow:0 0 12px #c5266c88}#bossHud.enraged #bossHealth{background:#ef397d;animation:enragedPulse .65s ease-in-out infinite alternate}@keyframes enragedPulse{to{filter:brightness(1.45);box-shadow:0 0 11px #ff3b82}}

#banner{top:255px;font-size:20px}@media(max-width:700px){#banner{top:212px;font-size:14px;letter-spacing:2px}}

#coins{align-self:center;color:#e6c66d;font-size:13px;white-space:nowrap}#runCoins,#scrollRate{position:absolute;right:32px;top:88px;color:#e6c66d;font-size:13px;pointer-events:none}#scrollRate{top:109px;color:#bca7e8;font-size:11px}#endRun{display:block;margin-top:12px}#endRun[hidden]{display:none}dialog{width:min(720px,94vw);max-height:88dvh;overflow:auto;padding:26px;background:#101a16;color:#e8f3ed;border:1px solid #786b49}dialog::backdrop{background:#000b}.shopTop{display:flex;justify-content:space-between;gap:20px;align-items:center}.shopTop h2{margin:0 0 10px;font-size:22px}.shopTop strong{color:#e6c66d}.shopTop button{align-self:start}#abilityList{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}#abilityList article{border:1px solid #465047;padding:18px;display:flex;flex-direction:column}#abilityList h3{margin:0;color:#dec58b}#abilityList p{font-size:13px;line-height:1.6;flex:1}#abilityList button{margin-top:8px}#saveStatus{font-size:12px;color:#a7b8a9}#equipped{font-size:13px;color:#dfc98b}dialog p{font-size:14px}#overlay .panel{max-width:750px}header{z-index:2}#overlay{z-index:1}@media(max-width:700px){header{flex-wrap:wrap;gap:9px}.actions{margin-left:auto}#coins{font-size:10px}#sound{display:block;font-size:0;padding:6px;width:34px}#sound::after{content:"♪";font-size:18px}#sound[aria-pressed="true"]{background:#d5be83;color:#13211d}.logo span{display:none}#runCoins{top:142px;right:18px;font-size:11px}#scrollRate{top:160px;right:18px;font-size:9px}#abilityList{grid-template-columns:1fr}dialog{padding:18px}#shopDialog h2{font-size:18px}.touch button{font-size:10px}.panel p{font-size:12px}.hud>div:last-child{display:none}}

#mobileAbilityStatus{display:block;text-align:right;color:#dfc98b;font-size:12px;line-height:1.4;min-height:18px;padding:5px 4px 0;pointer-events:none}

@media(max-width:420px){.touch>div:last-child{display:grid;grid-template-columns:1fr;justify-items:stretch;max-width:130px}.touch>div:last-child button{padding:10px 8px}#mobileAbilityStatus{text-align:center}}

#bossWarning{display:block;min-height:1.3em;margin-top:6px;color:#ffe3a1;font-weight:bold;letter-spacing:.5px}

@media(max-width:700px){.panel{max-height:calc(100dvh - 290px)}}@media(max-height:550px){.panel{max-height:calc(100dvh - 145px)}}

#menuPanel:focus-visible{outline:2px solid #d5be83;outline-offset:4px}

@media(max-width:700px){header>.logo{flex-shrink:0}.actions{flex:1;min-width:0;justify-content:flex-end}.actions button{flex-shrink:0}#coins{min-width:0;overflow:hidden;text-overflow:ellipsis}}

.healingTip{font-size:12px;line-height:1.6;color:#a7b8a9;margin:8px 0}
.scrollTip{font-size:12px;line-height:1.6;color:#bca7e8;margin:8px 0}

[hidden]{display:none!important}#classPicker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 8px}#classPicker button{padding:16px;text-align:left;display:flex;flex-direction:column;gap:7px}#classPicker button b{font-size:16px;color:#e7d093}#classPicker button span{color:#a9bfba;font-weight:400}#classPicker button.selected{background:#d5be83;color:#14211d;border-color:#f0dfa8}#classPicker button.selected b,#classPicker button.selected span{color:#14211d}#classLoadout{font-size:12px;line-height:1.55;color:#9ed8d5;margin:8px 0}#classUpgradeList{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 26px}#classUpgradeList article,#scrollList article{border:1px solid #465047;padding:16px;display:flex;flex-direction:column;gap:9px}#classUpgradeList h4,#scrollList h4{margin:0;color:#dec58b;font-size:15px}#classUpgradeList p,#scrollList p{font-size:12px;line-height:1.5;margin:0;flex:1}#scrollList{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}#scrollList .scrollActions{display:flex;gap:7px}#scrollList .scrollActions button{flex:1;padding:10px 7px}#scrollList .empty{grid-column:1/-1;color:#9bada8;border:1px dashed #465047;padding:18px}#armoryStatus{font-size:12px;color:#a7b8a9}dialog>h3{font-size:13px;letter-spacing:2px;color:#94aaa5;margin:22px 0 8px}.weapons button[hidden]{display:none}.weapons button.scroll-ember{box-shadow:0 0 15px #ff561f88}.weapons button.scroll-blood{box-shadow:0 0 15px #dd315988}.weapons button.scroll-storm{box-shadow:0 0 15px #4db8ff88}
@media(max-width:700px){#classPicker{grid-template-columns:1fr;gap:7px;margin:10px 0}#classPicker button{padding:11px}#classUpgradeList,#scrollList{grid-template-columns:1fr}#armory{font-size:0;padding:7px;width:40px}#armory::after{content:"⚔";font-size:17px}}
@media(max-width:900px) and (min-width:701px){.hud{gap:22px;padding:15px 18px}.hud>div:first-child{width:135px}.hud strong{font-size:16px}.hud label{letter-spacing:1px}#runCoins{top:180px;right:22px}#scrollRate{top:200px;right:22px}#bossHud{top:218px}#banner{top:248px}}
#realmMode{padding:18px 22px;margin:16px 0 0 8px;border-color:#7655a1;color:#dfcaff;background:#21182ddd}#realmMode:hover{border-color:#c18cff;background:#31203f}@media(max-width:700px){#realmMode{margin:8px 0 0;padding:14px 12px}}
