*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#020304;color:#f4f4f4;font-family:Arial,Helvetica,sans-serif}
body{user-select:none}
button{font:inherit}
.hidden{display:none!important}
#menu{position:absolute;inset:0;overflow-y:auto;background:#030405}
.menu-bg{position:absolute;inset:0;background:
linear-gradient(90deg,rgba(0,0,0,.98),rgba(0,0,0,.78) 34%,rgba(0,0,0,.35) 70%,rgba(0,0,0,.82)),
url("assets/preview.png") center/cover no-repeat fixed}
.menu-vignette{position:absolute;inset:0;background:
radial-gradient(circle at 28% 38%,transparent 0,rgba(0,0,0,.15) 45%,rgba(0,0,0,.8) 100%),
repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.015) 4px)}
.topbar{position:absolute;z-index:5;top:0;left:0;right:0;height:76px;padding:0 6vw;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(#000b,transparent)}
.brand{font-weight:900;letter-spacing:4px;font-size:15px}.brand span{color:#d00000}
.edition{margin-left:auto;font-size:10px;color:#777;letter-spacing:3px}
.menu-content{position:relative;z-index:4;min-height:100vh;width:min(720px,92vw);padding:18vh 0 90px 7vw}
.eyebrow{font-size:11px;color:#aaa;letter-spacing:4px}
h1{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:clamp(76px,12vw,158px);line-height:.78;letter-spacing:-6px;margin:22px 0 18px;text-shadow:0 12px 40px #000}
h1 span{color:#cf0000;text-shadow:0 0 30px rgba(190,0,0,.25)}
.tagline{font-size:17px;color:#aaa;letter-spacing:3px}.tagline:after{content:"";display:inline-block;width:70px;height:1px;background:#c90000;margin:0 0 5px 15px}
.menu-buttons{display:flex;flex-direction:column;width:310px;margin-top:45px}
.menu-buttons button{height:48px;text-align:left;padding:0 18px;border:0;border-left:4px solid transparent;background:transparent;color:#aaa;letter-spacing:2px;cursor:pointer;transition:.2s}
.menu-buttons button:hover,.menu-buttons button:first-child{color:#fff;background:linear-gradient(90deg,rgba(150,0,0,.28),transparent);border-left-color:#d00000}
.headphones{margin-top:38px;font-size:10px;color:#666;letter-spacing:2px}
.preview{position:relative;z-index:4;padding:55px 6vw 80px;background:#030405;border-top:1px solid #26282d}
.preview-title{font-size:18px;color:#aaa;letter-spacing:3px;margin-bottom:18px}.preview-title span{color:#d00000}
.preview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.preview-grid article{min-height:190px;padding:18px;background:linear-gradient(160deg,#101219,#050608);border:1px solid #292b32;position:relative;overflow:hidden;transition:.25s}
.preview-grid article:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(160,0,0,.16),transparent 50%);pointer-events:none}
.preview-grid article:hover{transform:translateY(-5px);border-color:#7c0000}
.preview-grid b{font-size:32px;color:#777}.preview-grid h2{font-size:13px;letter-spacing:2px;margin:28px 0 8px}.preview-grid p{font-size:11px;color:#777;line-height:1.5;margin:0}
#game{position:absolute;inset:0;background:#020306}
#game canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
#hud{position:absolute;z-index:20;top:18px;left:22px;right:22px;display:flex;justify-content:space-between;pointer-events:none;text-shadow:0 2px 10px #000}
.hud-title{font-size:11px;letter-spacing:3px}.hud-left #objective{margin-top:7px;font-size:10px;color:#888;letter-spacing:1px}.hud-right{text-align:right}.hud-right #clock{font-size:12px;letter-spacing:2px}.hud-right #status{margin-top:7px;font-size:10px;color:#c60000;letter-spacing:2px}
#crosshair{position:absolute;z-index:21;left:50%;top:50%;width:8px;height:8px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.65);border-radius:50%;box-shadow:0 0 8px #000}
#message{position:absolute;z-index:22;left:50%;top:76px;transform:translateX(-50%);padding:11px 18px;background:rgba(3,4,7,.88);border:1px solid #30333a;box-shadow:0 15px 40px #000;color:#ddd;font-size:11px;letter-spacing:1px;opacity:0;transition:.25s;pointer-events:none}
#message.show{opacity:1}
#prompt{position:absolute;z-index:22;left:50%;bottom:85px;transform:translateX(-50%);font-size:12px;color:#ddd;text-shadow:0 2px 8px #000;opacity:0;transition:.2s;pointer-events:none}
#prompt.show{opacity:1}
#staminaWrap{position:absolute;z-index:22;left:50%;bottom:55px;transform:translateX(-50%);width:190px;height:4px;background:#24262c;opacity:.8}
#stamina{width:100%;height:100%;background:#c80000;transition:width .1s}
#controlsHint{position:absolute;z-index:22;left:50%;bottom:18px;transform:translateX(-50%);font-size:9px;color:#777;letter-spacing:1.5px;white-space:nowrap}
#fade{position:absolute;z-index:30;inset:0;background:#000;opacity:1;pointer-events:none;transition:opacity 1.2s}
#modal{position:absolute;z-index:100;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.72)}
.modal-card{width:min(500px,90vw);padding:30px;background:#090a0e;border:1px solid #30333a;box-shadow:0 30px 100px #000}.modal-card #modalTitle{font-size:18px;letter-spacing:3px;margin-bottom:20px}.modal-card p{color:#888}.modal-card b{color:#fff}.modal-card button{margin-top:10px;padding:10px 18px;border:0;background:#c80000;color:#fff;cursor:pointer}
@media(max-width:900px){.preview-grid{grid-template-columns:1fr 1fr}.menu-content{padding-left:6vw}.preview{padding-left:6vw;padding-right:6vw}}
@media(max-width:600px){.preview-grid{grid-template-columns:1fr}.controlsHint{display:none}.edition{display:none}}
