:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#eae7de;background:#141513;font-synthesis:none;--muted:#96978f;--line:#34362f;--accent:#e3a65b}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 38%,#252720 0,transparent 65%)}main{max-width:1120px;margin:auto;padding:0 40px}header{height:89px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{font-weight:950;font-size:25px;letter-spacing:-1.5px;color:#f1ede2;text-decoration:none}.brand span{font:10px monospace;letter-spacing:1.5px;margin-left:12px;color:var(--muted)}.edition,.eyebrow,.stamp,h2,.machine-bar,.toolbar,footer,.small{font-family:monospace}.edition{font-size:10px;letter-spacing:1.4px;color:var(--muted)}.dot{color:var(--accent);margin:0 12px;font-size:7px}.intro{display:flex;align-items:center;justify-content:space-between;padding:42px 0 31px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);margin:0 0 12px}h1{font-size:clamp(40px,5vw,58px);line-height:1.05;letter-spacing:-2.7px;margin:0 0 13px;font-weight:800}.intro p:not(.eyebrow){color:#aaa99e;font-size:14px;margin:0}.stamp{text-align:right;font-size:11px;line-height:1.9;letter-spacing:1px}.stamp span{font-size:9px;color:#808378}.machine{border:1px solid #45483d;background:#0c0d0b;box-shadow:0 24px 80px #0005}.machine-bar{height:39px;display:flex;justify-content:space-between;align-items:center;padding:0 17px;font-size:9px;letter-spacing:1.4px;color:#999e8e;background:#21231d;border-bottom:1px solid #383b32}.machine-bar i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:6px}.machine-bar i.live{background:#a5ba78}.viewport{position:relative;display:flex;align-items:center;justify-content:center;background:#050605;min-height:300px;aspect-ratio:16/9;overflow:hidden}canvas{display:block;height:100%;max-width:100%;aspect-ratio:4/3;width:auto;image-rendering:pixelated;outline:none}canvas:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#44341b60,transparent 66%),repeating-linear-gradient(0deg,#0002 0px,#0002 1px,transparent 1px,transparent 4px),#0b0d09ee}.overlay[hidden]{display:none}.start-card{text-align:center}.start-card .eyebrow{font-size:9px;color:#ada78f;letter-spacing:3px}.doom-word{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(70px,14vw,150px);font-weight:950;line-height:1.2;letter-spacing:-8px;transform:scaleX(1.12);color:#d3b47a;text-shadow:0 2px #71592f,0 4px #655332,0 6px #302b20;filter:drop-shadow(0 10px 20px #000)}#overlay-description{color:#aaa696;font-size:13px;margin:12px 0 25px}button,.file-button{cursor:pointer;border:1px solid #484b3f;background:transparent;color:#dfdfd3;padding:10px 15px;font:11px monospace;transition:background .15s,color .15s}button:hover:not(:disabled),.file-button:hover{background:#33372c}button:focus-visible,.file-button:focus-within,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.4;cursor:default}.primary{display:inline-flex;gap:50px;align-items:center;background:var(--accent);color:#201b12;border:1px solid #eec68c;padding:15px 23px;font-weight:bold;letter-spacing:1px}.primary:hover:not(:disabled){background:#f0c07c;color:#171a13}.primary span{font-size:19px}.small{font-size:10px;color:#8c9080;line-height:1.8}.start-card .small{margin-top:17px;font-size:9px}.toolbar{display:flex;justify-content:space-between;align-items:center;min-height:47px;padding:5px 12px 5px 17px;background:#1d1f1a;color:#7d8272;font-size:9px;letter-spacing:1px;border-top:1px solid #34372d}.toolbar button{border:0;color:#b9beae;font-size:10px;padding:9px 10px;letter-spacing:0}.below{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;padding:33px 0 32px}h2{font-size:10px;letter-spacing:1.3px;margin:0 0 22px;font-weight:400;color:#c2c5b7}h2 span{color:#6d7361;float:right;font-size:9px}dl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 12px;margin:0 0 20px}dt{height:25px;white-space:nowrap;color:#767e68;font-size:10px}dd{margin:6px 0 0;color:#9fa592;font-size:11px}kbd{display:inline-block;min-width:20px;text-align:center;font:10px monospace;padding:4px 5px;margin-right:3px;background:#252820;border:1px solid #3e4434;border-radius:3px;box-shadow:0 2px #0b0d09;color:#c3c9b6}.controls>.small kbd{font-size:9px;min-width:0;padding:2px 3px}.loadout{border-left:1px solid var(--line);padding-left:36px}.loadout h2{margin-bottom:15px}.loadout p:not(.small):not(.error){font-size:12px;color:#9c9f92;line-height:1.8;max-width:280px;margin-bottom:20px}.file-button{display:inline-block;position:relative;font-size:11px}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-button:has(input:disabled){opacity:.4;cursor:default}.file-button input:disabled{cursor:default}.error{font-size:12px;color:#f1ac8b;line-height:1.5}footer{border-top:1px solid var(--line);padding:22px 0 30px;display:flex;justify-content:space-between;font-size:9px;color:#818775;letter-spacing:.5px}footer a{color:#aeb59e;text-decoration:none}.slash{padding:0 9px;color:#53594b}.viewport:fullscreen{aspect-ratio:auto;width:100vw;height:100vh}.viewport:fullscreen canvas{height:100%;max-width:100%;object-fit:contain}.prose{max-width:780px;padding-top:40px;line-height:1.7}.prose a{color:var(--accent)}.prose h1{font-size:40px}.prose h2{margin-top:35px;font-size:14px}.prose p,.prose li{font-size:14px;color:#b1b5a7}
@media(max-width:700px){main{padding:0 18px}header{height:70px}.edition,.stamp{display:none}.intro{padding:30px 0 25px}.brand span{font-size:9px}.viewport{aspect-ratio:4/3;min-height:0}.machine-bar{font-size:8px;padding:0 10px}.toolbar{padding:6px}.toolbar>span{display:none}.toolbar>div{display:flex;justify-content:space-around;width:100%}.below{grid-template-columns:1fr;gap:26px;padding-top:26px}.loadout{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}footer{gap:20px;line-height:1.8}footer span{max-width:210px}.doom-word{font-size:90px}.start-card .eyebrow{margin-bottom:0}#overlay-description{margin:8px 0 18px}.primary{padding:10px 20px}}

.game-options{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.game-options p{margin:0 0 8px}.save-info{text-align:right}.sensitivity{display:flex;align-items:center;gap:12px;font:10px monospace;color:#aeb59e}.sensitivity input{width:110px;accent-color:var(--accent)}.sensitivity output{min-width:16px}.game-options button{padding:5px 10px}#game{cursor:crosshair}@media(max-width:700px){.game-options{flex-direction:column;gap:14px}.save-info{text-align:left}.toolbar button{padding:9px 7px}}
.resolution{display:flex;align-items:center;gap:12px;margin:14px 0 8px;font:10px monospace;color:#aeb59e}.resolution select{background:#252820;color:#eae7de;border:1px solid #484b3f;padding:7px 9px;font:11px monospace;max-width:100%}.resolution select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#resolution-state{color:#858e78;font-size:9px}
.adversaries{display:flex;justify-content:space-between;gap:24px;padding:24px;margin-top:22px;border:1px solid #3c4033;background:#1d201855;transition:border-color .2s,background .2s}.adversaries.enabled{border-color:#9c7847;background:#372a1644}.adversaries .eyebrow{font-size:9px;margin-bottom:13px}.mod-toggle{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;cursor:pointer}.mod-toggle input{width:18px;height:18px;margin:0;accent-color:var(--accent);cursor:pointer}.mod-toggle input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#worthy-description,#rocket-marines-description,#mirror-description{max-width:570px;font-size:12px;line-height:1.8;color:#a4aa96;margin:10px 0 0}.mod-note{flex-shrink:0;text-align:right;align-self:center;font:9px monospace;line-height:1.9;color:#8c9480}.mod-note span{letter-spacing:1px;color:#b8bdac}.enabled .mod-note span{color:var(--accent)}.mod-note p{margin-bottom:0}@media(max-width:700px){.adversaries{padding:18px;flex-direction:column;gap:15px}.mod-note{text-align:left;align-self:flex-start}.mod-toggle{font-size:18px}}
