@font-face{font-family:AmazDooM;src:url(/fonts/AmazDooMLeft.ttf) format("truetype");font-display:swap}@font-face{font-family:ChainsawCarnage;src:url(/fonts/ChainsawCarnage.ttf) format("truetype");font-display:swap}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:Share Tech Mono,Courier New,Courier,monospace;color:#c4a484;-webkit-user-select:none;user-select:none}#app{width:100%;height:100%;position:relative;background:#000}#game-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000;z-index:1;transform-origin:center center;will-change:transform,filter}.beat-fx-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;overflow:hidden;--beat-vignette: 0;--beat-ember: 0;--beat-grain: 0;--beat-warp: 0;--grain-shift: 0;--volume-dim: 1;--volume-lift: 0}.beat-fx-dim{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#000;opacity:var(--volume-dim)}.beat-fx-dim:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,248,235,var(--volume-lift));mix-blend-mode:screen}.beat-fx-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 85% 75% at 50% 48%,transparent 42%,rgba(8,0,0,calc(.08 + var(--beat-vignette) * .62)) 100%)}.beat-fx-ember{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 calc(24px + var(--beat-ember) * 72px) rgba(140,22,12,calc(var(--beat-ember) * .38)),inset 0 0 calc(8px + var(--beat-ember) * 28px) rgba(255,110,40,calc(var(--beat-ember) * .16));border:1px solid rgba(255,70,30,calc(var(--beat-ember) * .12))}.beat-fx-grain{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;opacity:calc(.04 + var(--beat-grain) * .14);background-image:repeating-radial-gradient(circle at calc(var(--grain-shift) * 1%) 20%,transparent 0,rgba(255,255,255,.07) 1px,transparent 2px),repeating-radial-gradient(circle at 80% calc(var(--grain-shift) * .8%),transparent 0,rgba(0,0,0,.08) 1px,transparent 2px);mix-blend-mode:overlay;animation:beat-grain-drift 8s linear infinite}@keyframes beat-grain-drift{0%{transform:translate(0)}to{transform:translate(-2%,1.5%)}}#game-wrap.hidden{display:none}#start-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:2;background:radial-gradient(ellipse 70% 55% at 50% 38%,rgba(90,12,8,.45) 0%,transparent 68%),radial-gradient(ellipse 100% 80% at 50% 100%,rgba(40,0,0,.35) 0%,transparent 55%),#000;transition:opacity .6s ease}#start-screen.hidden{opacity:0;pointer-events:none}.dos-frame{position:relative;width:100%;height:100%;display:flex;flex-direction:column;background:transparent;overflow:hidden}.dos-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(0,0,0,.14) 2px,rgba(0,0,0,.14) 4px);opacity:.55}.dos-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4vh;padding:3vh 4vw;overflow:hidden}.doom-header{text-align:center;width:100%;flex-shrink:0}.doom-logo .word-main,.doom-logo .word-sub{font-family:AmazDooM,sans-serif;color:#d4281c;letter-spacing:.02em;filter:drop-shadow(0 0 24px rgba(255,40,20,.35))}.doom-logo .word-main{font-size:clamp(5rem,26vh,12rem)}.tagline{margin-top:1.5vh;font-size:clamp(1rem,3vh,1.5rem);color:#a88068;letter-spacing:.12em;text-transform:uppercase}.doom-hint{font-size:clamp(1rem,2.8vh,1.35rem);color:#8a7256;letter-spacing:.04em}.doom-hint kbd{display:inline-block;padding:.15em .55em;font-family:inherit;font-size:.95em;color:#d8b888;background:#50140a80;border:1px solid rgba(160,60,40,.45);border-radius:2px}.doom-status-line{font-size:clamp(1.1rem,3.4vh,1.65rem);letter-spacing:.06em;text-align:center}.doom-status-line.ok{color:#6fdc6f}.doom-status-line.loading{color:#88b8d8}.doom-status-line.warn{color:#e0b048}.menu-panel{position:relative;width:min(96%,920px);padding:4vh 3rem 3.5vh}.doom-menu{display:flex;flex-direction:column;align-items:stretch;gap:1.2vh;margin-bottom:3vh}.menu-option{position:relative;display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1vh .5rem;background:none;border:none;cursor:pointer;font-family:ChainsawCarnage,sans-serif;color:#c8261a;text-shadow:.04em .04em 0 #4a0d09,.08em .08em 0 #1a0503;transition:color .08s ease}.menu-cursor{width:1.4em;flex-shrink:0;font-family:AmazDooM,sans-serif;font-size:1.4em;color:#ffcf40;opacity:0;transform:translate(-4px);transition:opacity .08s ease,transform .08s ease}.menu-option-text{font-size:clamp(2.4rem,9vh,5rem);letter-spacing:.04em;text-transform:uppercase;line-height:1.05}.menu-option:hover,.menu-option:focus-within,.menu-option:focus-visible{color:#ffcf40;outline:none}.menu-option:hover .menu-cursor,.menu-option:focus-within .menu-cursor,.menu-option:focus-visible .menu-cursor{opacity:1;transform:translate(0)}.menu-option-primary{color:#ffcf40}.menu-option-primary .menu-cursor{opacity:1;transform:translate(0)}.menu-option-primary:hover,.menu-option-primary:focus-visible{color:#fff2b0}#track-info{display:flex;flex-direction:column;align-items:stretch;gap:.2vh}#track-info.hidden{display:none}.track-loaded{font-size:clamp(1rem,2.8vh,1.35rem);color:#a89070;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.8vh 0}.menu-settings{display:flex;flex-direction:column;gap:2vh;padding-top:2.5vh;border-top:2px solid rgba(120,30,20,.45)}.menu-setting{display:grid;grid-template-columns:minmax(7rem,10rem) 1fr minmax(4rem,6rem);align-items:center;gap:1.25rem}.menu-setting-label{font-family:ChainsawCarnage,sans-serif;font-size:clamp(1.8rem,5.5vh,3.2rem);color:#c8261a;text-transform:uppercase;letter-spacing:.03em}.menu-setting-value{font-family:Share Tech Mono,Courier New,Courier,monospace;font-size:clamp(1.2rem,3.8vh,2.2rem);color:#c8261a;text-align:right}.map-select{width:100%;min-width:0;padding:.6rem 2.2rem .6rem .75rem;font-family:Share Tech Mono,Courier New,Courier,monospace;font-size:clamp(1rem,3vh,1.5rem);color:#ffcf40;background-color:#0000008c;border:1px solid rgba(100,30,20,.6);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#a85030 50%),linear-gradient(135deg,#a85030 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 4px),calc(100% - 11px) calc(50% - 4px);background-size:7px 7px,7px 7px;background-repeat:no-repeat}.map-select:focus{outline:none;border-color:#aa5530;color:#fff2b0}.map-select:disabled{opacity:.5;cursor:wait}.volume-bar{position:relative;height:clamp(28px,4.5vh,44px);background:#0009;border:2px solid rgba(80,25,15,.7);box-shadow:inset 0 2px 4px #0009}.volume-bar-fill{height:100%;width:50%;background:linear-gradient(180deg,#e03020,#901810);pointer-events:none;box-shadow:0 0 8px #ff281466}#volume-slider{position:absolute;top:-6px;right:0;bottom:-6px;left:0;width:100%;height:calc(100% + 12px);margin:0;opacity:0;cursor:pointer}.menu-status{flex-shrink:0;text-align:center;display:flex;flex-direction:column;gap:1.2vh}.doom-logo{display:flex;flex-direction:column;align-items:center;line-height:.85}#hud{position:fixed;top:1rem;left:1rem;z-index:3;pointer-events:none;font-family:Share Tech Mono,Courier New,Courier,monospace}#hud.hidden{display:none}#stats{display:flex;flex-direction:column;gap:.5rem}#bpm-display{font-size:1.4rem;color:#ff2020;text-shadow:0 0 10px #ff0000}.hud-hint{font-size:.85rem;color:#654}#energy-bar{display:block;width:160px;height:6px;background:#311;border:1px solid #552222}#energy-fill{display:block;height:100%;width:0%;background:linear-gradient(90deg,#ff2020,#f80);transition:width .05s linear}body.drag-over .menu-panel{outline:2px solid #ffcf40;outline-offset:8px}
