@import url('https://fonts.googleapis.com/css2?family=DotGothic16&display=swap');

*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#eee7d8;color:#403c35;font-family:DotGothic16,sans-serif}
body{display:block}
#game-shell{position:relative;width:100vw;height:100vh;overflow:hidden;background:#eee7d8}
canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}
#background{z-index:0;pointer-events:none}
#game{z-index:1}
#menu-scene,#game-scene{position:absolute;inset:0;width:100%;height:100%}
#menu-scene{display:grid;place-items:center;z-index:10;background:#eee7d8;overflow:hidden}#menu-scene:before,#menu-scene:after{content:"";position:absolute;inset:-20%;pointer-events:none;background:repeating-linear-gradient(7deg,transparent 0,transparent 52px,rgba(64,60,53,.10) 53px,transparent 55px);transform:rotate(-3deg)}#menu-scene:after{background:repeating-linear-gradient(83deg,transparent 0,transparent 76px,rgba(196,111,50,.08) 77px,transparent 79px);transform:rotate(2deg)}
#menu-character{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.menu-panel{position:static;z-index:2;width:min(620px,92vw);text-align:center;padding:42px 52px;border:3px solid #403c35;background:#f4eee2;box-shadow:8px 9px 0 rgba(64,60,53,.16);transform:rotate(-.7deg);position:relative}.menu-panel:before{content:"";position:absolute;inset:7px;border:1px dashed rgba(64,60,53,.28);pointer-events:none}
#menu-scene .logo{position:relative;top:auto;left:auto;text-align:center;font-family:DotGothic16,sans-serif;font-weight:700;transform:rotate(-2deg);text-shadow:2px 2px 0 #d0c7b8}
#menu-scene .menu-panel{text-align:center}
#menu-scene .menu-panel p,#menu-scene .menu-panel .controls{position:static;margin:10px 0;text-align:center}
#menu-scene .menu-panel .controls{margin-top:4px}
#menu-scene .menu-actions{justify-items:center;position:static;transform:none;margin:26px auto 0;width:min(300px,80vw)}
.menu-panel p,.menu-panel .controls{color:#6d665c;letter-spacing:.12em}
.menu-panel .controls{font-size:12px;margin:8px 0 10px}
.menu-actions{display:grid;gap:12px;margin-top:12px}
button.secondary{opacity:.82}
#hud,#xp-wrap,#start,#upgrade,#level-complete,#gameover{z-index:10}
#hud{position:absolute;top:22px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;pointer-events:none;font-size:clamp(14px,1.55vw,25px);color:#403c35;text-shadow:1px 1px 0 rgba(255,255,255,.55);font-family:DotGothic16,sans-serif;font-weight:600}
#weapon-hud{position:absolute;z-index:10;left:4.5%;top:66px;display:flex;gap:10px;pointer-events:none;flex-wrap:wrap;max-width:70vw;align-items:flex-start}
.corner-settings{position:absolute;z-index:20;top:14px;right:18px;width:42px;height:42px;padding:0;font-size:25px;line-height:1;display:grid;place-items:center;transform:rotate(1deg)}
@media (max-width:700px){
  #hud{top:58px;left:10px;right:70px;padding:0;font-size:14px;display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;align-items:start}
  #hud .hud-left,#hud .hud-right{display:flex;gap:8px;flex-wrap:wrap}
  #hud .hud-right{justify-content:flex-end}
  .combo{grid-column:1/-1;text-align:center}
  #weapon-hud{top:112px;left:10px;max-width:calc(100vw - 20px)}
  .corner-settings{top:10px;right:10px}
}
#debug-panel{position:absolute;z-index:50;left:10px;bottom:10px;width:min(620px,calc(100vw - 20px));max-height:calc(100vh - 20px);overflow:auto;padding:12px;background:rgba(244,238,226,.97);border:2px solid #403c35;box-shadow:4px 4px 0 rgba(54,48,40,.18);font:12px/1.35 "Share Tech Mono",monospace;color:#403c35;pointer-events:auto;white-space:normal}.debug-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;margin-bottom:8px;border-bottom:1px dashed #9b9285;color:#c46f32;font-size:14px}.debug-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}.debug-tool-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px;border:1px solid #cfc5b5;background:rgba(255,255,255,.12)}.debug-tool-card>span{font-weight:700}.debug-time-scale{display:flex;gap:3px}.debug-time-scale button{padding:4px 7px;font:11px/1 "Share Tech Mono",monospace;transform:none}.debug-time-scale button.active{background:#c46f32;color:#fff;border-color:#c46f32;transform:none}.debug-head span{padding:2px 6px;border:1px solid #777064;color:#403c35;font-size:11px}.debug-title{margin:10px 0 5px;padding-bottom:3px;border-bottom:1px solid #cfc5b5;font-weight:700;color:#c46f32}.debug-row{display:grid;grid-template-columns:minmax(120px,1fr) 45px 30px 30px 44px 44px;gap:4px;align-items:center;margin:4px 0}.debug-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-value{text-align:center;color:#c46f32}.debug-row button{padding:4px 3px;font:11px/1 "Share Tech Mono",monospace;box-shadow:1px 1px 0 rgba(64,60,53,.12);transform:none}.debug-row button:hover{transform:none}.debug-row button.evo{border-color:#c46f32}.debug-row button.wide{padding-left:2px;padding-right:2px}@media(max-width:650px){#debug-panel{left:6px;bottom:6px;width:calc(100vw - 12px);font-size:11px}.debug-row{grid-template-columns:minmax(90px,1fr) 36px 27px 27px 40px 40px;gap:3px}}
#debug-panel.hidden{display:none!important}
#mobile-joystick{display:none;position:absolute;z-index:15;left:0;top:0;width:128px;height:128px;border:2px solid rgba(64,60,53,.35);border-radius:50%;background:rgba(244,238,226,.28);touch-action:none;user-select:none;-webkit-user-select:none;pointer-events:none}
#mobile-dash{display:none;position:absolute;z-index:16;right:24px;bottom:78px;width:92px;height:92px;padding:0;border:2px solid rgba(235,230,240,.55);border-radius:50%;background:rgba(145,25,43,.78);color:#fff;font:700 16px/1 DotGothic16,sans-serif;letter-spacing:.08em;box-shadow:0 0 24px rgba(226,59,82,.28),0 6px 18px rgba(0,0,0,.4);touch-action:none;user-select:none;-webkit-user-select:none}
#mobile-joystick.active{display:block;pointer-events:auto}
#joystick-knob{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px;border:2px solid rgba(64,60,53,.55);border-radius:50%;background:rgba(196,111,50,.5);box-shadow:2px 2px 0 rgba(64,60,53,.12);pointer-events:none}
#settings{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:rgba(238,231,216,.78);backdrop-filter:blur(3px)}
#settings.hidden{display:none!important}
#characters{position:absolute;inset:0;z-index:45;display:grid;place-items:center;background:rgba(52,50,54,.88);backdrop-filter:blur(3px)}
#characters.hidden{display:none!important}
.characters-panel{width:min(760px,92vw);max-height:88vh;overflow:auto;text-align:center;padding:30px 36px;border:2px solid #403c35;background:#aaa3a5;box-shadow:7px 8px 0 rgba(10,9,12,.3)}
.characters-panel h1{margin:8px 0 22px;color:#2e2b2e}
.character-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px}
.character-card{padding:14px;border:2px solid #625b60;background:#777074;min-height:235px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;cursor:pointer;user-select:none}
.character-card:hover{border-color:#a51f2b;transform:translateY(-2px)}
.character-card.selected{border-color:#d23a46;box-shadow:0 0 0 2px rgba(210,58,70,.25),4px 4px 0 rgba(0,0,0,.25)}
.character-sprite{position:static!important;inset:auto!important;width:64px!important;height:64px!important;display:block;image-rendering:pixelated;image-rendering:crisp-edges;background:#343236;border:1px solid #625b60}
.character-card .character-name{font-family:DotGothic16,sans-serif;font-size:25px;font-weight:700;color:#eee7e8}
.character-features{width:100%;text-align:left;font-size:13px;line-height:1.4;color:#d0c9cb}
.character-features>div:first-child{color:#eee7e8;font-weight:700;margin-bottom:2px}
@media(max-width:650px){.character-list{grid-template-columns:repeat(2,1fr);gap:10px}.character-card{min-height:220px;padding:10px}.character-features{font-size:12px}}

#leaderboard.hidden,#start.hidden,#upgrade.hidden,#level-complete.hidden,#gameover.hidden{display:none!important}
.settings-panel{width:min(560px,92vw);text-align:center;padding:34px 42px;border:2px solid #403c35;background:#f4eee2;box-shadow:6px 7px 0 rgba(54,48,40,.14);transform:rotate(-.5deg)}
.settings-panel h1{margin:8px 0 24px}
.settings-actions{display:grid;gap:10px;margin-top:25px}
.settings-actions button{width:100%}
.weapon-hud-item{width:34px;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}
.weapon-hud-icon{height:27px;display:flex;align-items:center;justify-content:center;color:#c46f32;font-family:DotGothic16,sans-serif;font-size:24px;line-height:1;text-shadow:1px 1px 0 rgba(255,255,255,.5)}
.weapon-cooldown{display:block;width:34px;height:5px;border:1px solid #777064;background:#d6cebf;box-shadow:1px 1px 0 rgba(54,48,40,.1);overflow:hidden;transform:rotate(-.5deg)}
.weapon-cooldown>span{display:block;height:100%;background:#c46f32;transition:none}
.hud-left,.hud-right{display:flex;gap:34px}
b{font-weight:700}
#xp-wrap{position:absolute;left:9%;right:9%;bottom:18px;height:9px;border:2px solid #777064;background:#d6cebf;transform:rotate(-.15deg)}
#xp-wrap:after{content:"LEVEL " attr(data-level);position:absolute;left:0;bottom:8px;font-family:DotGothic16,sans-serif;font-size:14px;font-weight:700;color:#403c35;white-space:nowrap}
#xp-bar{height:100%;width:0%;background:#b8a77f}
#start,#upgrade,#level-complete,#gameover,#leaderboard,#timed-ad-notice{position:absolute;inset:0;display:grid;place-items:center;background:rgba(238,231,216,.76);backdrop-filter:blur(2px)}
#timed-ad-notice{z-index:60}
#timed-ad-notice.hidden{display:none!important}
.timed-ad-panel{text-align:center;padding:34px 52px;border:2px solid #403c35;background:#f4eee2;box-shadow:6px 7px 0 rgba(54,48,40,.14)}
#timedAdCountdown{margin-top:10px;font:700 64px/1 DotGothic16,sans-serif;color:#c46f32}
.leaderboard-panel{width:min(620px,92vw);max-height:82vh;overflow:auto;text-align:center;padding:34px 42px;border:1px solid #4d4d4d;background:#f4eee2;box-shadow:5px 6px 0 rgba(54,48,40,.14)}
#leaderboardEntries{margin:18px 0;text-align:left;font-family:DotGothic16,sans-serif;font-size:20px}
.leaderboard-row{display:grid;grid-template-columns:52px 1fr auto;gap:12px;padding:8px 10px;border-bottom:1px solid #d0c7b8}
.leaderboard-row.me{font-weight:700;color:#c46f32}
.hidden{display:none!important}
.start-panel,.upgrade-panel,.gameover-panel{width:min(900px,92vw);text-align:center;padding:34px 42px;border:1px solid #4d4d4d;background:#f4eee2;box-shadow:5px 6px 0 rgba(54,48,40,.14)}
.logo{font-size:clamp(52px,8vw,110px);line-height:.77;letter-spacing:.03em;color:#403c35}
.logo span{color:#c46f32}
.start-panel p,.controls{color:#c46f32;letter-spacing:.08em}
.controls{font-size:12px;margin:18px 0 26px}
button{border:2px solid #403c35;color:#302d28;background:#f5f0e6;padding:13px 34px;font-family:DotGothic16,sans-serif;font-size:20px;font-weight:600;cursor:pointer;box-shadow:3px 3px 0 rgba(64,60,53,.16);transform:rotate(-.5deg)}
button:hover{background:#e3dac9;border-color:#403c35;transform:rotate(.5deg) translateY(-1px)}
.upgrade-panel{min-width:min(900px,92vw)}
.upgrade-kicker{color:#c46f32;letter-spacing:.2em;font-size:13px}
.upgrade-panel h1,.gameover-panel h1{margin:8px 0 22px;letter-spacing:.06em}
#upgrade-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
#rerollUpgradeBtn{margin:18px auto 0}
#rerollUpgradeBtn.hidden{display:none!important}
.card{min-height:150px;padding:20px 15px;text-align:left;border:1px solid #505050;background:#eee7d8;cursor:pointer;transition:none}
.card:hover{transform:translateY(-4px);background:#e4dccd;border-color:#7b7367}
.card .icon{font-size:28px;color:#c46f32}
.card h3{margin:10px 0 5px;font-size:20px;color:#403c35}.card p{margin:0;color:#6d665c;line-height:1.35}.weapon-level{margin:-1px 0 8px;color:#c46f32;font-family:DotGothic16,sans-serif;font-size:16px;font-weight:700;letter-spacing:.04em}
@media(max-width:650px){#menu-scene .menu-panel{padding:30px 22px;width:min(92vw,520px)}#menu-scene .logo{font-size:clamp(52px,16vw,82px)}#hud{padding:0 3%;font-size:11px;top:12px}.hud-left,.hud-right{gap:9px;flex-direction:column}.combo{align-self:flex-start}#weapon-hud{left:3%;top:58px;max-width:88vw;gap:7px}.weapon-hud-item{width:30px}.weapon-hud-icon{font-size:21px;height:24px}.weapon-cooldown{width:30px;height:4px}#upgrade-cards{grid-template-columns:1fr}.upgrade-panel{padding:22px;max-height:92vh;overflow:auto}}

.language-picker{display:flex;justify-content:center;align-items:center;gap:10px;margin:18px auto 0;font-family:DotGothic16,sans-serif;font-size:18px;color:#6d665c}.language-picker select{border:2px solid #403c35;background:#f5f0e6;color:#302d28;padding:6px 10px;font-family:DotGothic16,sans-serif;font-size:13px;cursor:pointer;box-shadow:2px 2px 0 rgba(64,60,53,.12)}
.volume-picker{display:flex;align-items:center;gap:16px;margin:18px auto 0;font-family:DotGothic16,sans-serif;font-size:18px;color:#6d665c}.volume-picker input{width:min(260px,55vw);accent-color:#c46f32;cursor:pointer}
/* DEMON SURVIVAL Р Р†Р вЂљРІР‚Сњ infernal red / charcoal theme */
:root{--d-bg:#151416;--d-panel:#242125;--d-panel2:#1c1a1e;--d-red:#a51f2b;--d-red2:#d23a46;--d-text:#ddd6d2;--d-muted:#928b89;--d-line:#51474a}
html,body,#game-shell{background:var(--d-bg);color:var(--d-text)}
#menu-scene{background:radial-gradient(circle at 50% 45%,#34272a 0%,#1d1a1e 48%,#0d0c0f 100%)}
#menu-scene:before{background:radial-gradient(ellipse at 18% 72%,rgba(165,31,43,.18),transparent 42%),radial-gradient(ellipse at 82% 25%,rgba(190,190,190,.07),transparent 38%);transform:none}
#menu-scene:after{background:repeating-linear-gradient(135deg,transparent 0,transparent 70px,rgba(210,58,70,.05) 71px,transparent 74px);transform:none}
.menu-panel,.settings-panel,.start-panel,.upgrade-panel,.gameover-panel,.timed-ad-panel,.leaderboard-panel{background:rgba(28,26,30,.95);border-color:#625457;box-shadow:8px 9px 0 rgba(0,0,0,.4)}
.menu-panel:before{border-color:rgba(210,58,70,.22)}
.logo{color:var(--d-text);text-shadow:2px 2px 0 #000}.logo span,#menu-scene .logo span{color:var(--d-red2)}
.menu-panel p,.menu-panel .controls{color:var(--d-muted)}
.menu-panel .controls,.upgrade-kicker,#timedAdCountdown,.weapon-hud-icon,.debug-head,.debug-title,.debug-value{color:var(--d-red2)}
button{color:#eee9e6;background:#2a282c;border-color:#67585b;box-shadow:3px 3px 0 rgba(0,0,0,.4)}
button:hover{background:#39292c;border-color:var(--d-red2)}
#hud{color:var(--d-text);text-shadow:1px 1px 0 #000}.weapon-cooldown{background:#302d32;border-color:#5c5355}.weapon-cooldown>span{background:var(--d-red)}
#xp-wrap{background:#262429;border-color:#574e51}#xp-wrap:after{color:#aaa29f}#xp-bar{background:var(--d-red)}
#settings,#start,#upgrade,#level-complete,#gameover,#leaderboard,#timed-ad-notice{background:rgba(5,5,7,.75)}
.card{background:#29272c;border-color:#554c4f;color:var(--d-text)}.card:hover{background:#382a2e;border-color:var(--d-red)}.card h3{color:#eee9e6}.card p{color:#aaa29f}.card .icon{color:var(--d-red2)}
.language-picker,.volume-picker{color:#aaa29f}.language-picker select{background:#2a282c;color:#eee9e6;border-color:#625457}.volume-picker input{accent-color:var(--d-red2)}
#debug-panel{background:rgba(23,21,25,.97);border-color:#625457;color:var(--d-text)}.debug-head{border-color:#493f42}.debug-row button{background:#2a282c;color:var(--d-text)}
#mobile-joystick{border-color:rgba(220,210,210,.28);background:rgba(30,28,32,.4)}#joystick-knob{border-color:rgba(220,210,210,.5);background:rgba(165,31,43,.55)}

/* FINAL VISUAL STYLE — DARK FANTASY / ARCANE ACTION */
html,body,#game-shell{background:#08090d;color:#e9e8ee;font-family:DotGothic16,sans-serif}
#menu-scene{background:radial-gradient(circle at 50% 38%,#24141c 0%,#111119 42%,#050609 100%)}
#menu-scene:before{background:radial-gradient(circle at 20% 70%,rgba(180,35,60,.14),transparent 32%),radial-gradient(circle at 80% 20%,rgba(91,64,160,.13),transparent 34%);transform:none}
#menu-scene:after{background:linear-gradient(115deg,transparent 35%,rgba(255,55,80,.035) 50%,transparent 65%);transform:none}
.menu-panel,.settings-panel,.start-panel,.upgrade-panel,.gameover-panel,.timed-ad-panel,.leaderboard-panel{background:rgba(15,15,22,.96);border:1px solid #403d4c;border-radius:10px;box-shadow:0 20px 70px rgba(0,0,0,.6);transform:none}
.menu-panel:before{display:none}
#menu-scene .logo{font-family:DotGothic16,sans-serif;font-weight:800;letter-spacing:.04em;transform:none;text-shadow:0 4px 20px rgba(225,45,70,.22)}
.logo{font-family:DotGothic16,sans-serif;color:#f0eef4;text-shadow:none}.logo span,#menu-scene .logo span{color:#e23b52}
.menu-panel p,.menu-panel .controls,.start-panel p,.controls{color:#888593;letter-spacing:.14em}
button{font-family:DotGothic16,sans-serif;font-size:14px;font-weight:700;letter-spacing:.04em;color:#f2eff4;background:#191820;border:1px solid #4a4657;border-radius:7px;box-shadow:0 5px 18px rgba(0,0,0,.3);transform:none}
button:hover{background:#271820;border-color:#e23b52;transform:translateY(-1px);box-shadow:0 7px 22px rgba(0,0,0,.38)}
#hud{font-family:DotGothic16,sans-serif;color:#e8e6ec;text-shadow:0 2px 5px #000;font-weight:600}
#weapon-hud{gap:8px}.weapon-hud-item{width:38px}.weapon-hud-icon{font-family:DotGothic16,sans-serif;color:#e65a70;text-shadow:0 0 12px rgba(226,59,82,.5)}
.weapon-cooldown{width:38px;height:4px;border:0;border-radius:4px;background:#292731}.weapon-cooldown>span{background:linear-gradient(90deg,#a51f39,#ef5263)}
#xp-wrap{height:7px;border:0;border-radius:8px;background:#24232c;box-shadow:0 0 0 1px #3d3946}#xp-bar{background:linear-gradient(90deg,#8e2944,#e34860);box-shadow:0 0 12px rgba(224,60,88,.4)}
#xp-wrap:after{font-family:DotGothic16,sans-serif;color:#777382;font-size:10px;letter-spacing:.12em;bottom:8px}
#settings,#start,#upgrade,#level-complete,#gameover,#leaderboard,#timed-ad-notice{background:rgba(3,3,7,.82);backdrop-filter:blur(8px)}
.card{border:1px solid #403d4b;border-radius:9px;background:linear-gradient(145deg,#1b1a23,#111118);color:#e9e7ee;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.card:hover{transform:translateY(-4px);background:linear-gradient(145deg,#251a22,#17151e);border-color:#b53b51}.card h3{color:#f0edf3}.card p{color:#908d9b}.card .icon,.upgrade-kicker,#timedAdCountdown{color:#e34b61}
#debug-panel{background:rgba(10,10,15,.96);border:1px solid #403d4b;border-radius:7px;box-shadow:0 12px 35px rgba(0,0,0,.5);font-family:monospace;color:#d8d5df}.debug-head,.debug-title,.debug-value{color:#e34b61}
#debug-panel .debug-row button{font-family:monospace;background:#181720;color:#ddd9e2;border-color:#403d4b;box-shadow:none}
#mobile-joystick{border:1px solid rgba(220,215,230,.25);background:rgba(12,12,18,.48);box-shadow:0 0 25px rgba(0,0,0,.35)}#joystick-knob{border:1px solid rgba(235,230,240,.5);background:rgba(190,40,65,.65);box-shadow:0 0 16px rgba(226,59,82,.35)}#mobile-dash{border-color:rgba(235,230,240,.55);background:rgba(145,25,43,.78);color:#fff}
#characters{background:rgba(3,3,7,.88);backdrop-filter:blur(9px)}.characters-panel{background:#111118;border:1px solid #403d4b;border-radius:10px;box-shadow:0 20px 70px rgba(0,0,0,.65)}
.character-card{border:1px solid #3f3b49;border-radius:8px;background:#191820;min-height:235px}.character-card:hover{border-color:#b53b51;transform:translateY(-2px)}.character-card.selected{border-color:#e34860;box-shadow:0 0 0 1px rgba(227,72,96,.25),0 12px 30px rgba(0,0,0,.35)}
.character-sprite{background:#0a0a0f;border:1px solid #383542;border-radius:5px;image-rendering:auto}.character-card .character-name{font-family:DotGothic16,sans-serif;font-size:18px;color:#eeeaf1}.character-features{color:#918e9c}.character-features>div:first-child{color:#e9e5ed}
.language-picker,.volume-picker{font-family:DotGothic16,sans-serif;color:#908d9b}.language-picker select{font-family:DotGothic16,sans-serif;background:#191820;color:#eeeaf1;border:1px solid #403d4b}.volume-picker input{accent-color:#df435b}
.corner-settings{border-radius:8px;font-family:DotGothic16,sans-serif;transform:none}
.leaderboard-row{border-bottom:1px solid #292732}.leaderboard-row.me{color:#e34b61}

/* MENU HUD WORLD */
#menu-scene{display:grid;place-items:center;z-index:10;background:#09090b;overflow:hidden}
#menu-scene:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 48%,rgba(94,48,54,.24),transparent 34%),radial-gradient(circle at 50% 50%,transparent 35%,rgba(0,0,0,.72) 100%);z-index:2}
#menu-scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:100% 4px;opacity:.25;z-index:3}
.menu-frozen-world{position:absolute;inset:0;overflow:hidden;background:#09090b;z-index:0}
.menu-grid{display:none}
#menu-world{position:absolute;inset:0;width:100%;height:100%;z-index:0;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none}
.menu-vignette{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 0 28%,rgba(0,0,0,.12) 48%,rgba(0,0,0,.78) 100%);z-index:1}
.menu-player,.menu-enemy,.menu-enemy-a,.menu-enemy-b,.menu-enemy-c,.menu-enemy-d{display:none}
.menu-hud{position:absolute;z-index:4;font:600 15px/1 DotGothic16,sans-serif;letter-spacing:.08em;color:#9f9897;text-shadow:1px 1px #000;display:flex;gap:28px}.menu-hud b{color:#ddd6d2}.menu-hud-left{left:4.5%;top:25px}.menu-hud-right{right:4.5%;top:25px}.menu-hud-bottom{left:4.5%;right:4.5%;bottom:25px;justify-content:space-between;color:#706a6c;font-size:13px}
.menu-center{position:relative;z-index:5;width:min(440px,84vw);text-align:center}.menu-title-kicker{margin-bottom:13px;color:#9a777b;font:600 13px/1 DotGothic16,sans-serif;letter-spacing:.18em}
#menu-scene .logo{position:relative;top:auto;left:auto;text-align:center;font-family:DotGothic16,sans-serif;font-weight:400;transform:none;text-shadow:3px 3px 0 #09090b}
#menu-scene .menu-actions{justify-items:center;position:static;transform:none;margin:28px auto 0;width:100%;display:grid;gap:13px}
.menu-best-score{margin:-2px 0 18px;color:#eeeaf1;font:700 clamp(24px,4vw,38px)/1 DotGothic16,sans-serif;letter-spacing:.08em;text-shadow:0 0 18px rgba(226,59,82,.18)}
#menu-scene .menu-start{width:min(330px,78vw);font-size:25px;padding:16px 30px;background:#8f202c;border-color:#d05a63;color:#f4eeee;box-shadow:0 0 0 1px rgba(0,0,0,.5),5px 5px 0 rgba(0,0,0,.5)}
#menu-scene .menu-subactions{display:flex;justify-content:center;gap:10px}#menu-scene .menu-subactions button{min-width:140px;background:rgba(27,25,29,.82);border-color:#51474a;padding:9px 18px;font-size:17px}
@media(max-width:650px){
  html,body,#game-shell{width:100%;height:100%;min-height:100dvh}
  #game-scene{touch-action:none}
  #mobile-dash{display:grid;place-items:center}
  #hud{top:12px;left:10px;right:10px;padding:0;font-size:11px}
  .hud-left,.hud-right{gap:7px;flex-direction:column}
  .hud-right{align-items:flex-end}
  #xp-wrap{left:6%;right:6%;bottom:14px;height:7px}
  #settingsBtn{top:10px;right:10px;width:38px;height:38px}
  #upgrade-cards{grid-template-columns:1fr}
  .upgrade-panel,.start-panel,.gameover-panel,.settings-panel{width:calc(100vw - 24px);max-height:90dvh;overflow:auto;padding:20px 16px}
  .upgrade-panel h1,.gameover-panel h1{font-size:24px}
  .card{min-height:125px;padding:14px 12px}
  .characters-panel{width:calc(100vw - 20px);max-height:92dvh;padding:18px 12px}
  .character-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .character-card{min-height:190px;padding:8px}
  .character-sprite{width:56px!important;height:56px!important}
  .character-card .character-name{font-size:15px}
  .character-features{font-size:10px}
  #debug-panel{max-height:70dvh}

  .menu-center{width:90vw}.menu-hud{font-size:12px;gap:12px}.menu-hud-left{left:14px;top:18px;flex-direction:column;gap:5px}.menu-hud-right{right:14px;top:18px;flex-direction:column;align-items:flex-end;gap:5px}.menu-hud-bottom{left:14px;right:14px;bottom:16px;font-size:10px}.menu-hud-bottom span:last-child{display:none}.menu-title-kicker{font-size:10px}.menu-subactions{width:100%;gap:7px}.menu-subactions button{min-width:0!important;flex:1;padding:8px 10px!important;font-size:15px!important}.menu-enemy-a{left:18%;top:38%}.menu-enemy-b{left:77%;top:34%}.menu-enemy-c{left:16%;top:68%}.menu-enemy-d{left:79%;top:90%}}
