:root{color-scheme:dark;--bg:#101616;--ink:#e5e6d9;--muted:#7d8e87;--accent:#edab7e;--line:#2b3633;--green:#a6c5a3;font-family:'Segoe UI','Microsoft YaHei',sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 15%,#22302970,transparent 62%),var(--bg);color:var(--ink)}body:before{content:'';position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(#8b9c7905 1px,transparent 1px),linear-gradient(90deg,#8b9c7905 1px,transparent 1px);background-size:48px 48px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{cursor:default;opacity:.4}.app{width:min(1240px,calc(100% - 80px));margin:0 auto}.site-header{height:110px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:14px;align-items:center;color:var(--ink);text-decoration:none;font-weight:750;font-size:17px;letter-spacing:3px}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:5px;color:var(--muted);margin-top:5px}.brand-mark{display:grid;place-items:center;width:36px;height:38px;border:1px solid #798379;color:var(--accent);font-family:Impact,sans-serif;font-size:28px;letter-spacing:-3px;position:relative}.brand-mark span{position:absolute;right:-8px;font-size:24px;color:var(--bg);text-shadow:-2px 0 var(--accent)}.edition{font:10px Consolas,monospace;color:#a3aca1;letter-spacing:1.7px}.edition i,.eyebrow i,.frame-label i,.field-note i{display:inline-block;width:5px;height:5px;background:var(--accent);margin-right:8px}.edition span{color:#526459;margin:0 10px}.header-actions{display:flex;gap:12px}.icon-button{display:grid;place-items:center;background:none;border:1px solid var(--line);width:33px;height:33px;color:#b4bdb0;font:16px Consolas,monospace}.icon-button:hover{border-color:var(--accent);color:var(--accent)}.icon-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4}.icon-button[aria-pressed=false]{opacity:.4}.frame-label{display:flex;justify-content:space-between;margin-bottom:13px;font:10px Consolas,'Microsoft YaHei',monospace;letter-spacing:1.5px;color:#7f8f84}.frame-label b{font-weight:400;color:var(--accent);margin-right:7px}.frame-label i{width:4px;height:4px;margin:0 0 1px 7px;background:var(--green)}.game-frame{position:relative;width:100%;aspect-ratio:16/9;background:#152528;border:1px solid #506051;box-shadow:0 22px 60px #0005;isolation:isolate;overflow:hidden;container-type:inline-size}.game-frame:after{content:'';position:absolute;inset:0;border:5px solid #131a1733;pointer-events:none;z-index:20}#game{width:100%;height:100%;display:block;image-rendering:pixelated;outline:none}.scanlines{position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(transparent 0px,transparent 3px,#0000000c 3px,#0000000c 4px);pointer-events:none;opacity:.6}.screen{position:absolute;inset:0;z-index:10}.hidden{display:none!important}.menu-screen{background:linear-gradient(90deg,#0d1b1bef,#0e1b1ac7 34%,#0d1b1b35 66%,#0d1b1b18),linear-gradient(0deg,#0d191dd9,transparent 23%)}.menu-copy{position:absolute;left:5.5%;top:10%;width:60%}.eyebrow{font:9px Consolas,'Microsoft YaHei',monospace;font-size:clamp(8px,.9cqw,12px);letter-spacing:2px;color:var(--accent)}h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(45px,7.1cqw,92px);font-weight:900;letter-spacing:1px;line-height:.89;margin:2.1cqw 0 0;color:#e6e6cf;text-shadow:4px 4px 0 #101b1c;position:relative;width:max-content}h1>span{display:block;color:var(--accent)}h1 sup{position:absolute;left:calc(100% + 1.6cqw);bottom:.2cqw;writing-mode:vertical-rl;font-family:'Microsoft YaHei',sans-serif;font-size:1.35cqw;letter-spacing:.65cqw;font-weight:400;color:#b7bfa9;white-space:nowrap;line-height:1.2}.tagline{font-size:1.25cqw;color:#d0d5c1;letter-spacing:1px;margin:2.1cqw 0 .9cqw}.menu-detail{font-size:1cqw;line-height:1.9;color:#879b91;margin:0 0 2.3cqw}.primary-button{position:relative;border:1px solid #ffce9e;background:var(--accent);color:#18211c;min-width:23cqw;padding:1.2cqw 1.65cqw;font-weight:700;font-size:1.18cqw;text-align:left;box-shadow:3px 3px 0 #0005;transition:background .15s,transform .15s}.primary-button:hover{background:#f5c29c;transform:translateY(-2px)}.primary-button>span{margin-left:2cqw;font-size:1.4cqw}.primary-button small{position:absolute;right:1.5cqw;top:50%;transform:translateY(-50%);font:9px Consolas,monospace;border:1px solid #1d2b2440;padding:3px 5px;letter-spacing:1px}.menu-links{display:flex;align-items:center;gap:1.6cqw;margin-top:1.4cqw}.menu-links button{border:0;background:none;color:#a3b3a3;font-size:.95cqw;padding:0}.menu-links button:hover{color:var(--accent)}.menu-links button span{color:var(--accent);margin-left:7px;font-family:Consolas,monospace}.menu-divider{height:9px;width:1px;background:#7583745c}.field-note{position:absolute;right:5.5%;top:20%;border-left:1px solid #a3b29350;padding-left:1.4cqw;transform:rotate(-.5deg)}.tiny{font:8px Consolas,'Microsoft YaHei',monospace;font-size:.75cqw;letter-spacing:1.4px;color:#95a597}.field-note p{font-size:1.1cqw;line-height:1.9;color:#bacab6;margin:1.2cqw 0}.field-note>div{font:7px Consolas,monospace;font-size:.65cqw;letter-spacing:1px;color:#91a791}.field-note i{width:4px;height:4px;background:#9ca987}.menu-bottom{position:absolute;bottom:3.5%;left:5.5%;right:5.5%;display:flex;justify-content:space-between;font:9px Consolas,'Microsoft YaHei',monospace;font-size:.85cqw;letter-spacing:1px;color:#7f9786}.menu-bottom>span:last-child{color:#bcbea1;letter-spacing:2px}.menu-bottom i{color:var(--accent);font-size:1.2cqw;margin-left:.8cqw}.hud{position:absolute;z-index:3;left:2.7%;right:2.7%;top:4.4%;display:flex;justify-content:space-between;pointer-events:none;text-shadow:0 2px 2px #000}.hud-left{width:22%}.health-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.health-heading strong{font:1.6cqw Consolas,monospace;color:#e9e9d1}.health-heading strong small{font-size:.9cqw;color:#9fa991}.health-track,.xp-track,.dash-track,.boss-track{background:#091719d9;padding:2px;border:1px solid #94a69342;height:.95cqw}.health-track>div{height:100%;width:100%;background:#a8c599;transition:width .1s}.xp-row{display:flex;align-items:center;gap:8px;margin-top:.65cqw}.xp-row>span{font:.75cqw Consolas,monospace;color:#c4c4a7}.xp-track{flex:1;height:.45cqw;padding:0;border:0}.xp-track>div{height:100%;background:var(--accent);width:0}.hud-center{text-align:center;padding:0 1cqw}.hud-center>span{font:.7cqw Consolas,monospace;letter-spacing:2px;color:var(--accent)}.hud-center strong{display:block;font-size:1.2cqw;font-weight:500;letter-spacing:3px;margin:.5cqw 0}.hud-center small{font-size:.75cqw;color:#aab7a3}.hud-right{position:relative;width:22%;text-align:right;padding-right:3cqw}.hud-right strong{display:block;font:2.5cqw Consolas,monospace;line-height:1.15;color:#e0dfc7}.hud-right small{font:.8cqw Consolas,monospace;color:#aab5a3}.pause-btn{position:absolute;top:0;right:0;width:2.2cqw;height:2.2cqw;min-width:24px;min-height:24px;background:#0d1a1e99;border:1px solid #768d7866;font-size:1cqw;pointer-events:auto}.bottom-hud{position:absolute;left:2.7%;right:2.7%;bottom:3.4%;display:flex;align-items:center;justify-content:space-between;z-index:3;pointer-events:none}.weapon-hud{display:flex;align-items:center;gap:1.1cqw;border-left:2px solid var(--accent);background:linear-gradient(90deg,#111d1ee0,#111d1e00);padding:.55cqw 1.1cqw;min-width:28cqw}.weapon-icon{font:3cqw Consolas,monospace;color:var(--accent)}.weapon-hud strong:not(.ammo strong){display:block;font-size:1.1cqw;letter-spacing:2px;font-weight:500;margin-top:3px}.ammo{margin-left:1.4cqw;min-width:5cqw}.ammo strong{font:2cqw Consolas,monospace;color:#e0e2cb}.ammo span{font:.8cqw Consolas,monospace;color:#93a38d}.ammo small{display:block;font-size:.65cqw;color:var(--accent)}.dash-hud{width:10cqw;text-align:right}.dash-hud>div:first-child{display:flex;justify-content:space-between;align-items:center}.dash-hud span{font-size:1.8cqw;color:var(--accent);line-height:1}.dash-hud b{font-size:.8cqw;font-weight:400}.dash-track{height:.6cqw;margin:4px 0}.dash-track i{display:block;width:100%;height:100%;background:#b7c5a0}.dash-hud>small{font:.65cqw Consolas,monospace;color:#879d89}.build-strip{display:flex;gap:.4cqw;flex-wrap:wrap;max-width:40%}.build-badge{width:2.2cqw;height:2.2cqw;background:#14201dda;border:1px solid #77917760;display:grid;place-items:center;font-size:1.1cqw;position:relative}.build-badge sup{position:absolute;right:1px;bottom:0;font:8px Consolas,monospace;color:#eddfbb}.toast{position:absolute;z-index:6;top:26%;left:50%;transform:translateX(-50%) translateY(-5px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;background:#0d1c21ed;border-left:2px solid var(--accent);padding:.8cqw 1.4cqw;white-space:nowrap;color:#dfdec6;font-size:1cqw;box-shadow:0 4px 20px #0004}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.boss-hud{position:absolute;top:20%;left:30%;right:30%;z-index:3}.boss-hud>div:first-child{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5cqw}.boss-hud span{font:.6cqw Consolas,monospace;color:#d4a698;letter-spacing:1px}.boss-hud b{font-size:.9cqw;color:#e5b6a0;font-weight:400}.boss-track{height:.7cqw}.boss-track i{display:block;height:100%;background:#c37b75;width:100%}.modal-screen{background:#0c171bec;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:3cqw}.modal-screen h2{font-size:2.8cqw;font-weight:600;letter-spacing:.15cqw;margin:1.2cqw 0}.modal-screen>p,.modal-heading>p{color:#95a99d;font-size:1cqw;margin:0 0 1.8cqw;line-height:1.7}.modal-heading{text-align:center}.upgrade-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4cqw;width:82%;margin:1.2cqw 0 2cqw}.upgrade-card{position:relative;text-align:left;min-height:17cqw;padding:1.8cqw 1.5cqw;border:1px solid #56685870;background:linear-gradient(140deg,#26372c80,#14202480);transition:transform .16s,border .16s}.upgrade-card:hover{border-color:var(--card-color,var(--accent));transform:translateY(-5px);background:#27382fcc}.upgrade-card .card-index{position:absolute;right:1.3cqw;top:1.2cqw;border:1px solid #6e806d70;padding:.2cqw .45cqw;font:.8cqw Consolas,monospace;color:#9caa92}.card-icon{display:block;font:3.4cqw Consolas,monospace;color:var(--card-color,var(--accent));height:4cqw;margin-bottom:1cqw}.card-tag{font-size:.7cqw;letter-spacing:1px;color:var(--card-color,var(--accent))}.upgrade-card h3{font-size:1.6cqw;font-weight:500;margin:.8cqw 0}.upgrade-card p{font-size:.92cqw;line-height:1.8;color:#a7b6a5;margin:0}.upgrade-card .owned{display:block;font:.7cqw Consolas,'Microsoft YaHei',monospace;color:#7d9183;margin-top:.85cqw}.modal-foot{font-size:.85cqw;color:#819486}.modal-foot kbd{font-size:.75cqw}.compact{margin:1.2cqw 0;min-width:24cqw}.text-button{border:0;background:none;color:#8ea296;font-size:.9cqw;margin-top:1.2cqw}.text-button:hover{color:var(--accent)}.secondary-button{padding:1cqw 1.8cqw;border:1px solid #596957;background:#1b292660;color:#bdc8b8;font-size:1cqw}.secondary-button:hover{border-color:var(--accent);color:var(--accent)}.end-stats{display:flex;gap:0;border-top:1px solid #6f806544;border-bottom:1px solid #6f806544;margin:1.2cqw 0;width:75%;padding:1.8cqw 0}.end-stat{flex:1;text-align:center;border-right:1px solid #6f806544}.end-stat:last-child{border:0}.end-stat strong{display:block;font:2.5cqw Consolas,monospace;color:var(--accent);margin-bottom:.7cqw}.end-stat small{color:#9eae9b;font-size:.8cqw}.end-buttons{display:flex;gap:1.4cqw;align-items:center}#camp-cells{margin-left:2cqw;color:var(--accent);font-weight:400}.camp-items .upgrade-card{min-height:16cqw}.help-grid{width:80%;display:grid;grid-template-columns:1fr 1fr;gap:1.5cqw 4cqw;margin:.8cqw 0}.help-grid b{font-size:1.1cqw;font-weight:500;color:var(--accent)}.help-grid p{font-size:.95cqw;color:#a7b8a6;line-height:2.2;margin:.8cqw 0}.help-grid kbd{font-size:.75cqw}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:19px}.control-legend{display:flex;gap:18px;color:#a0ad9c;font-size:10px}.control-legend>span{white-space:nowrap}kbd{display:inline-block;font:9px Consolas,monospace;background:#202c25;border:1px solid #40503e;box-shadow:0 2px 0 #0a1210;padding:3px 5px;line-height:1;min-width:17px;text-align:center;color:#c6cbbb;margin-right:4px}.footer-note{font-size:10px;color:#8d9b8b}.footer-note span{margin-left:12px;color:#596f61}.page-bottom{display:flex;justify-content:space-between;border-top:1px solid #36443866;margin:32px 0 24px;padding-top:17px;font:8px Consolas,'Microsoft YaHei',monospace;color:#586e5e;letter-spacing:1.3px}.page-bottom i{color:#9ea77c;font-size:6px;font-style:normal;margin:0 8px}.touch-controls{display:none;position:absolute;bottom:12%;left:2%;right:2%;z-index:5;justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;gap:9px}.touch-controls button{pointer-events:auto;width:44px;height:44px;border:1px solid #a8b89a77;background:#17282299;border-radius:4px;touch-action:none;color:#d4dbc2;font-size:21px}.game-frame:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border:0;container-type:size;background:#101a1b}.game-frame:fullscreen canvas{object-fit:contain}.game-frame:fullscreen .screen{padding-top:3vh}.game-frame:fullscreen .menu-copy{top:12%}@media(max-width:1000px){.app{width:calc(100% - 36px)}.site-header{height:85px}.edition{font-size:8px}.game-footer{align-items:flex-start}.footer-note{display:none}.control-legend{gap:12px;font-size:9px}.page-bottom{margin-top:25px}}@media(max-width:600px){.app{width:calc(100% - 16px)}.site-header{height:72px}.edition{display:none}.brand{font-size:14px}.header-actions{gap:6px}.game-frame{min-height:340px;aspect-ratio:4/3}.game-frame canvas{object-fit:cover;object-position:center}.menu-copy{top:12%;left:6%}h1{font-size:13cqw}.eyebrow{font-size:1.8cqw}h1 sup{font-size:2cqw}.tagline{font-size:2.2cqw;margin:4cqw 0 2cqw}.menu-detail{font-size:1.8cqw;margin-bottom:4cqw}.primary-button{font-size:2.4cqw;padding:2.5cqw 3cqw;min-width:44cqw}.primary-button span{font-size:3cqw}.menu-links{margin-top:3cqw;gap:3cqw}.menu-links button{font-size:2cqw}.field-note{display:none}.menu-bottom{font-size:1.8cqw}.menu-bottom span:last-child{display:none}.hud-center strong{font-size:2.3cqw}.hud-center small{font-size:1.5cqw}.hud-center>span,.tiny{font-size:1.4cqw}.hud-right strong{font-size:4cqw}.health-heading strong{font-size:2.8cqw}.health-heading strong small{font-size:1.8cqw}.health-track{height:1.5cqw}.xp-row>span{font-size:1.4cqw}.hud-right small{font-size:1.4cqw}.weapon-hud strong:not(.ammo strong){font-size:2cqw}.ammo strong{font-size:3cqw}.ammo span,.ammo small{font-size:1.4cqw}.dash-hud{width:17cqw}.dash-hud b,.dash-hud small{font-size:1.3cqw}.modal-screen h2{font-size:4.3cqw}.modal-screen>p,.modal-heading>p{font-size:2cqw}.upgrade-cards{width:95%;gap:1.5cqw}.upgrade-card{padding:3cqw 2cqw;min-height:30cqw}.card-icon{height:6cqw;font-size:6cqw}.card-tag{font-size:1.7cqw}.upgrade-card h3{font-size:2.8cqw;margin:2cqw 0}.upgrade-card p{font-size:1.9cqw}.upgrade-card .owned{font-size:1.5cqw}.upgrade-card .card-index{font-size:1.6cqw}.modal-foot{font-size:1.8cqw}.modal-foot kbd{font-size:1.8cqw}.secondary-button,.text-button{font-size:2.2cqw;padding:2cqw 3cqw}.end-stat strong{font-size:4cqw}.end-stat small{font-size:1.8cqw}.help-grid{width:95%;gap:2cqw}.help-grid b{font-size:2.2cqw}.help-grid p{font-size:1.85cqw}.help-grid kbd{font-size:1.5cqw}.game-footer .control-legend{flex-wrap:wrap;gap:10px}.page-bottom{font-size:7px}.toast{font-size:2.3cqw;padding:2cqw 3cqw}.build-badge{width:3.2cqw;height:3.2cqw;font-size:2cqw}.boss-hud{left:26%;right:26%}.boss-hud span{font-size:1.1cqw}.boss-hud b{font-size:1.8cqw}}@media(pointer:coarse){body.playing .touch-controls{display:flex}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.scanlines{display:none}}
/* Keep the complete playfield and controls visible on shorter laptop screens. */
@media (min-width:601px) and (max-height:850px) {
  .app { width:min(calc(100% - 48px),calc((100dvh - 190px) * 16 / 9)); }
  .site-header { height:70px; }
  .frame-label { margin-bottom:10px; }
  .game-footer { margin-top:14px; }
  .page-bottom { margin:20px 0 12px; padding-top:12px; }
  .control-legend { gap:12px; }
  .footer-note { display:none; }
}
@media (max-width:600px) { .game-frame canvas { object-fit:contain; } }
.toast:empty { display:none; }
.upgrade-actions{display:flex;align-items:center;justify-content:center;gap:1cqw;margin:0 0 1cqw;flex-shrink:0}
.upgrade-actions .secondary-button{display:flex;align-items:center;gap:.8cqw;padding:.8cqw 1.1cqw;font-size:clamp(11px,.95cqw,14px)}
.upgrade-actions b{font:clamp(11px,1cqw,14px) Consolas,monospace;color:var(--accent);border-left:1px solid #70815d66;padding-left:.8cqw}
.upgrade-actions kbd{font-size:clamp(9px,.7cqw,11px);margin:0;color:#ceb88e}
.upgrade-actions button:disabled{opacity:.38}
#upgrade-screen .modal-foot{margin-top:.35cqw;line-height:1.65;text-align:center;font-size:clamp(9px,.8cqw,12px)}
.ammo .reserve-count{display:block;color:#d3c28e;font:clamp(9px,.72cqw,11px) Consolas,'Microsoft YaHei',monospace;line-height:1.35;white-space:nowrap}
.ammo .reserve-count.depleted{color:#df9b86}
@media(max-width:600px){.upgrade-actions{gap:1.5cqw;width:100%}.upgrade-actions .secondary-button{font-size:10px;padding:1.5cqw;gap:1.2cqw}.upgrade-actions b{font-size:10px}.upgrade-actions kbd{display:none}#upgrade-screen .modal-foot{font-size:9px}.ammo .reserve-count{font-size:8px}}
/* Arsenal update: dossier, independent equipment slots and paused pickup comparison. */
.difficulty-panel{position:absolute;right:5.5%;top:46%;width:29%;padding:1.3cqw;border:1px solid #64795c55;background:#142620c7}
.difficulty-options{display:grid;grid-template-columns:1fr 1fr;gap:.5cqw;margin:.9cqw 0}
.difficulty-option{border:1px solid #53695080;background:#10231d70;text-align:left;padding:.6cqw .8cqw;color:#a5b79f;font-size:1cqw}
.difficulty-option small{display:block;font-size:.65cqw;color:#81917c;margin-top:.3cqw}
.difficulty-option.selected{border-color:var(--accent);background:#b88d5420;color:var(--accent)}
.difficulty-option:hover{border-color:#b9bd98}
.difficulty-panel>p{font-size:.69cqw;line-height:1.6;color:#99ab93;margin:.7cqw 0 0}
.field-note{top:16%}
.loadout-hud{width:39%;display:flex;flex-direction:column;align-items:center;gap:.5cqw}
.weapon-slots{display:flex;gap:.4cqw;pointer-events:auto;width:100%;justify-content:center}
.slot-button{display:flex;align-items:center;gap:.45cqw;padding:.5cqw .6cqw;background:#13231fe8;border:1px solid #526a5370;color:#91a590;font-size:.75cqw;white-space:nowrap;min-height:2.25cqw}
.slot-button b{font:.75cqw Consolas,monospace;border:1px solid #72806b55;padding:.15cqw .3cqw;color:#b7bea3}
.slot-button.active{border-color:var(--accent);color:#e5cea5;background:#3a3f29d9}.slot-button:disabled{opacity:.45}
.loadout-hud .build-strip{max-width:100%;flex-wrap:nowrap;max-height:1.6cqw;overflow:hidden;justify-content:center;gap:.25cqw}
.loadout-hud .build-badge{width:1.6cqw;height:1.6cqw;font-size:.85cqw;flex-shrink:0}
.loadout-hud .build-badge sup{font-size:.52cqw}
.weapon-hud{min-width:28cqw;max-width:40%}.weapon-hud .tiny{font-size:.63cqw;letter-spacing:.6px}
.ammo{margin-left:.6cqw}.ammo small{font-size:.62cqw}.dash-hud{width:8cqw}
.dossier-screen{align-items:stretch;justify-content:flex-start;padding:2.5cqw 4cqw}
.dossier-heading{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.dossier-heading h2{font-size:2.4cqw;margin:.7cqw 0 1cqw}
.dossier-heading .secondary-button{padding:.7cqw 1cqw;font-size:.8cqw}
.dossier-tabs{display:flex;gap:2cqw;border-bottom:1px solid #70836755;margin:.4cqw 0 1.4cqw;flex-shrink:0}
.dossier-tabs button{border:0;background:none;border-bottom:2px solid transparent;padding:.75cqw .1cqw;color:#879f8b;font-size:1cqw}
.dossier-tabs button.active{color:var(--accent);border-color:var(--accent)}
.dossier-content{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding-right:.8cqw;scrollbar-width:thin;scrollbar-color:#55694d #10201b}
.dossier-summary{display:flex;justify-content:space-between;font-size:.8cqw;color:#a1b597;line-height:1.7;border-bottom:1px solid #63745433;padding-bottom:1cqw}
.stat-section>h3{font-size:.85cqw;font-weight:500;letter-spacing:1px;color:var(--accent);margin:1.4cqw 0 .7cqw}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55cqw}
.stat-cell{padding:.7cqw .9cqw;background:#26382a78;border-left:1px solid #627a585c;display:flex;align-items:center;justify-content:space-between;gap:.5cqw}
.stat-cell>span{font-size:.78cqw;color:#8fa590}.stat-cell strong{font:1.2cqw Consolas,'Microsoft YaHei',monospace;color:#e1e2c8;white-space:nowrap}
.dossier-note{font-size:.8cqw;line-height:1.8;color:#91a48c;margin:.7cqw 0 1.1cqw}
.equipment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85cqw}
.equipment-card{padding:1cqw;border:1px solid #5e79515c;background:#21342966;min-width:0}.equipment-card.equipped{border-color:var(--accent)}
.equipment-top{display:flex;align-items:center;gap:.6cqw}.equipment-top .tiny{font-size:.6cqw;letter-spacing:.5px}
.weapon-glyph{font:3cqw Consolas,monospace;color:var(--card-color,var(--accent))}
.equipment-card h3{font-size:1.4cqw;font-weight:500;margin:.6cqw 0}.equipment-card>p{font-size:.78cqw;color:#92a58d;line-height:1.7;min-height:4cqw;margin:.5cqw 0 1cqw}
.equipment-card dl{display:grid;grid-template-columns:1fr auto;gap:.55cqw;font-size:.73cqw;line-height:1.4;margin:.5cqw 0 1cqw}
.equipment-card dt{color:#8ba089}.equipment-card dd{margin:0;color:#d6dabe;text-align:right}
.effect-tags{border-top:1px solid #61745255;padding-top:.6cqw;font-size:.7cqw;line-height:1.8;color:var(--card-color,var(--accent))}
.equipment-card.empty{opacity:.55}.ammo-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6cqw;margin-top:1cqw}
.ammo-chip{padding:.8cqw;background:#25332a77;border:1px solid #4b665033}.ammo-chip.active{border-color:#92b99199}.ammo-chip b{display:block;font-size:.85cqw;font-weight:500;margin-bottom:.4cqw}.ammo-chip span{font-size:.72cqw;line-height:1.7;color:#93a88d}
.build-library{display:grid;grid-template-columns:1fr 1fr;gap:.7cqw}.build-entry{display:flex;align-items:center;gap:1cqw;padding:.9cqw;background:#24362b70;border:1px solid #59724d55}.build-entry>span{font:2cqw Consolas,monospace;color:var(--card-color)}.build-entry>div{flex:1}.build-entry h3{font-size:1cqw;font-weight:500;margin:0 0 .5cqw}.build-entry h3 small{margin-left:.5cqw;font:.7cqw Consolas,monospace;color:var(--card-color)}.build-entry p{font-size:.76cqw;line-height:1.6;color:#8ca48c;margin:0}.build-entry em{font-style:normal;font-size:.65cqw;color:var(--card-color)}
.empty-dossier{text-align:center;padding:6cqw 0;color:#8da58e}.empty-dossier>span{font-size:4cqw;color:var(--accent)}.empty-dossier h3{font-size:1.5cqw;font-weight:500}.empty-dossier p{font-size:1cqw}
.bestiary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8cqw;margin-top:1cqw}.bestiary-card{background:#28392c66;border-left:1px solid #657c5855;padding:1cqw}.bestiary-card h3{font-size:1.1cqw;font-weight:500;margin:.6cqw 0;color:#d1d8bc}.bestiary-card p{font-size:.8cqw;color:#97ac93;line-height:1.8;min-height:3.5cqw;margin:.4cqw 0}.bestiary-card small{font:.7cqw Consolas,'Microsoft YaHei',monospace;color:#c0b999}
.pickup-screen{padding:1.8cqw 5cqw}.pickup-screen .modal-heading h2{font-size:2.2cqw;margin:.6cqw 0}.pickup-screen .modal-heading p{font-size:.85cqw;margin:0 0 .7cqw}
.compare-tabs{display:flex;gap:.6cqw;margin-bottom:.7cqw}.compare-tabs button{background:#26382a88;border:1px solid #64775677;color:#92a38b;font-size:.8cqw;padding:.4cqw 1cqw}.compare-tabs button.active{border-color:var(--accent);color:var(--accent)}
.weapon-comparison{width:100%;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#55694d #10201b}
.comparison-weapons{display:grid;grid-template-columns:1fr 1fr;gap:1cqw;margin-bottom:1cqw}
.comparison-weapon{display:flex;align-items:center;gap:1cqw;min-width:0;padding:.8cqw 1.2cqw;background:#24352888;border:1px solid #667b5766}
.comparison-weapon.incoming{border-color:var(--card-color)}.comparison-weapon h3{font-size:1.5cqw;font-weight:500;margin:.4cqw 0;color:#e4e4cf}.comparison-weapon p{font-size:.75cqw;line-height:1.6;margin:.3cqw 0;color:#9db192}.comparison-weapon small{font-size:.67cqw;color:var(--card-color)}.comparison-weapon .tiny{font-size:.66cqw}.comparison-weapon .weapon-glyph{width:3cqw;flex-shrink:0}
.comparison-row{display:grid;grid-template-columns:1.3fr 1fr 1.4fr;gap:1cqw;border-bottom:1px solid #3a4e382f;padding:.42cqw 1cqw;font-size:.82cqw;align-items:center}.comparison-row>span{color:#94a88e}.comparison-row strong{font:1cqw Consolas,'Microsoft YaHei',monospace;color:#d9dec4}.comparison-row strong small{display:inline-block;font-size:.68cqw;margin-left:.8cqw;min-width:3cqw}.comparison-row:nth-child(even){background:#31422d3c}.comparison-row.table-heading{background:#34453077;font-size:.68cqw;letter-spacing:.5px}.better{color:#aed9a3}.worse{color:#e29783}.neutral{color:#7f977e}
.comparison-note{font-size:.68cqw!important;margin:.7cqw 0!important;color:#80947d!important;line-height:1.5!important}
.pickup-actions{display:flex;align-items:center;justify-content:center;gap:1cqw;flex-shrink:0}.pickup-actions .primary-button{min-width:17cqw;padding:.75cqw 1.2cqw;font-size:1cqw}.pickup-actions .secondary-button{padding:.75cqw 1.2cqw;font-size:.9cqw}
@media(max-width:600px){
  .difficulty-panel{top:14%;right:4%;width:30%;padding:1.6cqw}.difficulty-panel>.tiny{font-size:1.25cqw;letter-spacing:0}.difficulty-options{grid-template-columns:1fr;gap:.9cqw}.difficulty-option{font-size:2.1cqw;padding:1.2cqw}.difficulty-option small{font-size:1.3cqw}.difficulty-panel>p{font-size:1.35cqw}
  .dossier-screen{padding:4cqw}.dossier-heading h2{font-size:3.4cqw;margin:1cqw 0 2cqw}.dossier-heading .secondary-button{font-size:1.8cqw;padding:1cqw}.dossier-heading .eyebrow{font-size:1.4cqw;letter-spacing:.5px}.dossier-tabs{gap:3cqw;margin-bottom:2cqw}.dossier-tabs button{font-size:2.2cqw;padding:1.8cqw 0}
  .stat-grid{grid-template-columns:1fr 1fr;gap:1cqw}.stat-cell{padding:1.8cqw 2cqw}.stat-cell>span{font-size:1.9cqw}.stat-cell strong{font-size:2.4cqw}.stat-section>h3{font-size:2cqw;margin:2.5cqw 0 1.5cqw}.dossier-summary,.dossier-note{font-size:1.8cqw}.dossier-summary{gap:2cqw}
  .equipment-grid{grid-template-columns:1fr 1fr;gap:1.5cqw}.equipment-card{padding:2cqw}.equipment-top .tiny{font-size:1.4cqw}.weapon-glyph{font-size:5cqw}.equipment-card h3{font-size:2.8cqw}.equipment-card>p{font-size:1.8cqw;min-height:8cqw}.equipment-card dl{font-size:1.7cqw;gap:1cqw}.effect-tags{font-size:1.6cqw}.ammo-library{grid-template-columns:1fr;gap:1.2cqw}.ammo-chip{padding:2cqw}.ammo-chip b{font-size:2cqw}.ammo-chip span{font-size:1.8cqw}
  .build-library{grid-template-columns:1fr}.build-entry{padding:2cqw;gap:2cqw}.build-entry>span{font-size:4cqw}.build-entry h3{font-size:2.2cqw}.build-entry h3 small,.build-entry em{font-size:1.7cqw}.build-entry p{font-size:1.8cqw}.empty-dossier h3{font-size:3cqw}.empty-dossier p{font-size:2cqw}.bestiary-grid{grid-template-columns:1fr 1fr;gap:1.3cqw}.bestiary-card{padding:2cqw}.bestiary-card .tiny{font-size:1.3cqw}.bestiary-card h3{font-size:2.3cqw}.bestiary-card p{font-size:1.8cqw}.bestiary-card small{font-size:1.6cqw}
  .pickup-screen{padding:3cqw}.pickup-screen .modal-heading h2{font-size:3.8cqw}.pickup-screen .modal-heading p{font-size:1.8cqw}.compare-tabs button{font-size:1.8cqw;padding:1cqw 2cqw}.comparison-weapon{padding:1.5cqw;gap:1.5cqw}.comparison-weapon .weapon-glyph{font-size:4cqw;width:4cqw}.comparison-weapon .tiny{font-size:1.3cqw}.comparison-weapon h3{font-size:2.8cqw}.comparison-weapon p{font-size:1.6cqw}.comparison-weapon small{font-size:1.4cqw}.comparison-row{font-size:1.8cqw;padding:.7cqw 1cqw;gap:1cqw}.comparison-row strong{font-size:2.1cqw}.comparison-row strong small{font-size:1.5cqw}.comparison-row.table-heading{font-size:1.5cqw}.comparison-note{font-size:1.5cqw!important;margin:1.5cqw 0!important}.pickup-actions .primary-button,.pickup-actions .secondary-button{font-size:1.8cqw;padding:1.5cqw 2cqw;min-width:0}
  .loadout-hud{width:45%;gap:1cqw}.weapon-hud{max-width:37%;min-width:30cqw;gap:.5cqw;padding:.5cqw}.weapon-hud .tiny,.ammo small{font-size:1.1cqw}.slot-button{font-size:1.25cqw;padding:.5cqw;gap:.4cqw;min-height:4.5cqw;flex-direction:column}.slot-button b{font-size:1.2cqw}.loadout-hud .build-strip{max-height:2.4cqw}.loadout-hud .build-badge{width:2.4cqw;height:2.4cqw;font-size:1.4cqw}.dash-hud{width:12cqw}
}
/* Dense data stays legible on a laptop; dossier content scrolls rather than shrinking text. */
.stat-cell>span{font-size:clamp(10px,.88cqw,13px)}.stat-cell strong{font-size:clamp(12px,1.2cqw,17px)}
.stat-section>h3,.dossier-summary,.dossier-note{font-size:clamp(10px,.85cqw,13px)}
.dossier-tabs button{font-size:clamp(11px,1cqw,15px)}
.equipment-card>p,.equipment-card dl,.bestiary-card p,.build-entry p{font-size:clamp(10px,.8cqw,13px)}
.equipment-top .tiny,.effect-tags,.comparison-weapon .tiny,.comparison-weapon small{font-size:clamp(9px,.7cqw,11px)}
.comparison-weapon p{font-size:clamp(10px,.8cqw,12px)}.comparison-row{font-size:clamp(10px,.85cqw,13px)}
.comparison-row strong{font-size:clamp(11px,1cqw,15px)}.comparison-row strong small{font-size:clamp(9px,.7cqw,11px)}
.comparison-note{font-size:clamp(9px,.72cqw,11px)!important}
.difficulty-option{font-size:clamp(11px,1cqw,15px)}.difficulty-option small{font-size:clamp(9px,.68cqw,11px)}.difficulty-panel>p{font-size:clamp(9px,.7cqw,11px)}
@media(max-width:600px){.difficulty-panel{width:31%;top:12%}.difficulty-panel>p{display:none}.difficulty-option small{display:none}.stat-grid{grid-template-columns:1fr 1fr}.dossier-content{padding-right:1.2cqw}.comparison-weapon .weapon-glyph{display:none}.comparison-row{grid-template-columns:1.25fr .8fr 1.3fr}.comparison-row strong small{margin-left:3px}.comparison-note{line-height:1.6!important}.equipment-card dl{grid-template-columns:1fr;gap:2px}.equipment-card dd{text-align:left;margin-bottom:4px}.comparison-weapon .tiny{letter-spacing:0}.dossier-tabs{gap:3cqw}}
