:root{color-scheme:dark;--paper:#f3edd5;--muted:#a5ae96;--lime:#d2eb76;--ink:#121c18;--line:#344137;--panel:#1c2921}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);font-family:Arial,Helvetica,sans-serif;color:var(--paper);touch-action:none}button{font:inherit;cursor:pointer;border:0;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--paper);outline-offset:5px}[hidden]{display:none!important}#game{position:fixed;inset:0;width:100%;height:100%;image-rendering:pixelated}.screen{position:absolute;inset:0;padding:24px max(32px,calc((100vw - 1240px)/2),env(safe-area-inset-left));background:radial-gradient(ellipse at 70% 0%,#283b29 0,transparent 65%),#121e18;overflow:auto;touch-action:pan-y}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px;gap:16px}header>.eyebrow{display:flex;align-items:center;gap:12px;color:var(--paper);font-size:10px;letter-spacing:1.8px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border:1px solid #7c9368;color:var(--lime);font-size:26px}.version{color:#86947e;font-family:monospace;font-size:10px}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700;color:var(--muted)}.small{background:#ffffff04;border:1px solid #4b5b48;padding:9px 14px;font-size:10px;letter-spacing:.8px;border-radius:3px;transition:background .15s}.small:hover{background:#ffffff0e}.title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:27px 0 24px}.title .eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 13px}.status-dot{width:5px;height:5px;background:var(--lime);display:inline-block;box-shadow:0 0 8px #d2eb7630}h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(44px,5.3vw,77px);line-height:.96;letter-spacing:-1.7px;margin:0;font-weight:900}h1 em{font-style:normal;color:var(--lime)}.intro{text-align:right;color:var(--muted);font-size:13px;line-height:1.6}.intro p{margin:9px 0 0}.sector{font-family:monospace;font-size:10px;letter-spacing:1.5px;color:#d1d8b7}.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:9px;letter-spacing:1.5px;color:#8e9d84}.section-label b{color:#d8dfc3;font-size:10px}.heroes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hero{position:relative;text-align:left;padding:0;background:#27372b;border:1px solid #465541;border-radius:4px;overflow:hidden;transition:border-color .18s,transform .18s,box-shadow .18s}.hero:hover{border-color:#8b9b73;transform:translateY(-3px)}.hero.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 12px 25px #00000025}.card-top{position:absolute;z-index:2;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;align-items:center;font-family:monospace;font-size:10px;letter-spacing:1px;color:#d6dfbd}.selected-tag{opacity:0;font-size:8px;background:#19251deb;padding:5px 6px;color:var(--accent);border-radius:2px}.selected .selected-tag{opacity:1}.selected-tag i{font-style:normal;margin-left:4px}.portrait{height:clamp(180px,32vh,330px);background:#657052;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;padding:22px 7px 0;isolation:isolate}.portrait canvas{height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:pixelated;display:block;transition:transform .22s}.hero:hover canvas{transform:translateY(-2px)}.hero .label{padding:16px 15px 9px;background:#1b2a21;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #43513b}.label b{font-size:13px;letter-spacing:.5px}.label i{height:5px;width:18px;background:var(--accent);border-radius:1px}.hero small{display:block;color:#a7b097;font-size:10px;padding:0 15px 16px;background:#1b2a21;line-height:1.4}footer{display:flex;gap:24px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin:23px 0 0;padding-top:20px}.instructions{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#a4b096;line-height:1.6}.instructions b{color:#dbe0c6;font-size:9px;letter-spacing:1px;display:flex;align-items:center;gap:8px}.separator{color:#62745b;margin:0 3px}kbd{font:10px monospace;letter-spacing:1px;border:1px solid #52624a;border-bottom-width:2px;border-radius:3px;padding:4px 7px;color:#e3e8cd;background:#263527}.instructions small{color:#809175;font-size:10px}.primary{background:var(--lime);color:#1a261b;padding:19px 26px;font-size:13px;font-weight:900;letter-spacing:1.4px;min-width:240px;border-radius:3px;border-bottom:3px solid #8da647;box-shadow:0 5px 20px #00000020;transition:background .15s,transform .15s}.primary:hover{background:#e3f899;transform:translateY(-2px)}.primary:active{transform:translateY(1px);box-shadow:none}.primary span{margin-left:65px;font-size:19px}.launch{text-align:right}.launch small{display:block;font:10px monospace;letter-spacing:.6px;color:#b9c69b;margin-bottom:10px}.note{font:9px monospace;letter-spacing:.6px;color:#708269;display:flex;justify-content:center;gap:10px;margin:18px 0 0}.note span{color:#aecb7c}.modal{position:absolute;inset:0;background:#0c1914dd;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;text-align:center;padding:15px}.modal>div{max-width:480px;width:100%;padding:32px;border:1px solid #4a5b42;border-top:3px solid var(--lime);border-radius:5px;background:linear-gradient(155deg,#283a2a,#18271e);box-shadow:0 20px 80px #0007}.modal-symbol{display:flex;width:48px;height:48px;margin:18px auto;align-items:center;justify-content:center;border:1px solid #8aa267;color:var(--lime);font-size:32px}.modal h2{font-size:30px;letter-spacing:-1px;margin:12px 0 18px}.modal p{font-size:12px;color:#b5c3a5;line-height:1.8}.secondary{display:block;background:none;color:#bac8ab;margin:20px auto 0;font-size:11px;border-bottom:1px solid #53654a;padding-bottom:4px}.modal .primary{width:100%;min-width:0}#results{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0;gap:1px;background:#526344;border:1px solid #526344;border-radius:3px;overflow:hidden}#results>div{background:#1a2b20;padding:17px 5px}#results b{display:block;font:700 25px monospace;color:var(--lime);margin-bottom:8px}#results small{font-size:9px;letter-spacing:1px;color:#aab89b}#hud{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;font-variant-numeric:tabular-nums;gap:12px}.hudleft,.hudright{display:flex;gap:7px;align-items:stretch}.healthbox,.weaponbox,.timerbox,.scorebox{background:#14231eea;border:1px solid #74806370;border-radius:3px;padding:9px 12px;box-shadow:0 3px 10px #14201630}#hud small{display:block;font:8px monospace;letter-spacing:1.5px;color:#a8b99a;margin-bottom:5px}#hp{color:#ff8795;font:700 14px monospace;display:block;min-width:78px}.health-track{height:3px;background:#354437;margin-top:6px}.health-track i{display:block;height:100%;width:100%;background:#ff7185;transition:width .15s}#gun{font-size:11px;font-weight:700}.timerbox{text-align:center;min-width:100px}#clock{font:700 22px monospace;color:#f3edcf;letter-spacing:1px}.scorebox b{font:700 19px monospace;color:#e3efb7}.hudright button{pointer-events:auto;background:#18291feb;border:1px solid #74806370;border-radius:3px;padding:10px 14px;font-size:18px}#toast{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);pointer-events:none;background:#14261df0;border:1px solid #6b8054;border-left:3px solid var(--lime);border-radius:3px;padding:12px 20px;font-size:11px;letter-spacing:.3px;opacity:0;transition:opacity .2s;max-width:90%;text-align:center}#rotate{display:none;position:fixed;inset:0;background:#192b21;z-index:10;align-items:center;justify-content:center;flex-direction:column;text-align:center}#rotate span{font-size:70px;color:var(--lime)}#rotate p{line-height:1.8;color:#b7c4a4}@media(orientation:portrait) and (pointer:coarse){#rotate{display:flex}}@media(max-height:650px){.screen{padding:12px max(22px,env(safe-area-inset-left))}header{padding-bottom:9px}.title{margin:14px 0}.title .eyebrow{font-size:8px;margin-bottom:7px}h1{font-size:37px;letter-spacing:-1px}.intro{font-size:11px}.sector{font-size:9px}.portrait{height:32vh;padding-top:14px}.hero .label{padding:10px 10px 8px}.label b{font-size:10px}.hero small{display:none}.card-top{left:8px;right:8px;top:7px}.section-label{margin-bottom:9px}.heroes{gap:10px}footer{margin-top:13px;padding-top:12px;gap:12px}.instructions{font-size:10px;gap:4px}.instructions small{font-size:9px}.primary{padding:13px 20px;min-width:210px}.note{margin-top:11px;font-size:8px}.small{padding:6px 10px}.brand-mark{height:23px;width:23px;font-size:21px}.launch small{font-size:9px}header>.eyebrow{font-size:8px}.modal>div{padding:16px 24px}.modal-symbol{margin:8px auto;width:32px;height:32px;font-size:23px}.modal h2{font-size:25px;margin:10px 0}.modal p{margin:9px 0}#results{margin:15px 0}.secondary{margin-top:14px}}@media(max-height:440px){.title{margin:10px 0}h1{font-size:29px}.title .eyebrow{display:none}.intro p{margin:3px 0 0}.portrait{height:31vh}.section-label{font-size:8px;margin-bottom:6px}.hero .label{padding:8px 10px}.instructions>span{display:none}.note{margin-top:8px}.primary{padding:11px 18px}.launch small{margin-bottom:6px}.healthbox,.weaponbox,.timerbox,.scorebox{padding:6px 9px}#hud small{font-size:7px}#clock{font-size:18px}.scorebox b{font-size:17px}}@media(max-width:650px){.section-label span{display:none}.label b{font-size:9px}.intro{display:none}.version{font-size:8px}.instructions b{font-size:8px;gap:4px}kbd{font-size:8px;padding:3px}.primary{min-width:160px}.primary span{margin-left:22px}.weaponbox{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* v0.5 — editorial field dossier */
.screen{padding:20px max(28px,calc((100vw - 1280px)/2),env(safe-area-inset-left));background:#111d17}
.briefing{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;margin-top:20px;border:1px solid #4f6149;border-radius:5px;overflow:hidden}
.showcase{position:relative;isolation:isolate;background:#657052;min-height:530px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.showcase-top{position:absolute;z-index:3;top:20px;left:22px;right:22px;display:flex;justify-content:space-between;gap:10px;font:9px monospace;letter-spacing:1px;color:#e3e6c9}.ready{color:#f0efd4}.showcase-word{position:absolute;top:110px;left:20px;right:20px;font-size:clamp(50px,7vw,110px);font-weight:950;letter-spacing:-7px;color:#dae0b51a;transform:rotate(-90deg);transform-origin:center;z-index:-1;pointer-events:none}
#showcaseArt{height:470px;width:auto;max-width:95%;object-fit:contain;image-rendering:pixelated;margin-bottom:30px;filter:drop-shadow(10px 12px 0 #24321f30)}
.showcase-bottom{position:absolute;bottom:0;left:0;right:0;padding:48px 24px 23px;background:linear-gradient(transparent,#26371de8)}.showcase-bottom h2{font-size:29px;letter-spacing:-.7px;margin:8px 0 5px}.showcase-bottom p{font-size:11px;color:#cbd2b2;margin:0}.hero-line{display:block;width:32px;height:4px;background:var(--hero-color)}
.briefing-right{background:#e8e4ca;color:#243223;padding:32px 34px;display:flex;flex-direction:column;justify-content:center}.briefing-right .title{margin:0 0 15px}.briefing-right .eyebrow{font:9px monospace;letter-spacing:1.4px;color:#626d52;margin-bottom:15px}.briefing-right h1{font-size:clamp(36px,4.2vw,63px);letter-spacing:-2px;line-height:1.02}.briefing-right h1 em{color:#3d5837}.title-dot{color:#d7733f}.lead{font-size:13px;color:#667057;line-height:1.6;margin:0 0 25px}.briefing-right .section-label{color:#778064;font:9px monospace;margin-bottom:9px}.briefing-right .section-label b{color:#34442e;font-size:9px}.heroes{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.hero{border:1px solid #a0ac8b;border-radius:2px;background:#788461;box-shadow:none}.hero.selected{box-shadow:0 0 0 2px #273f27;border-color:#e5e8c9;transform:translateY(-3px)}.hero .portrait{height:112px;padding:4px 1px 0;background:#657052}.hero .label{padding:8px 3px;background:#334b32;justify-content:center;border:0}.hero .label b{font-size:8px;letter-spacing:0;color:#f0efd8}.hero .label i,.hero small,.hero .card-top{display:none}.hero.selected .label{background:#20341f}.hero.selected:after{content:'✓';position:absolute;right:5px;top:5px;width:17px;height:17px;background:#e6edbd;color:#21371f;border-radius:50%;text-align:center;font-size:12px;line-height:17px}
.launch{margin-top:23px;text-align:left}.launch small{color:#536647;font:9px monospace;margin-bottom:10px}.primary{background:#d6f076;color:#172710;border-bottom-color:#829b40;box-shadow:0 4px 0 #142618;min-width:0}.launch .primary{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;font-size:12px}.primary span{margin:0}.arsenal-strip{display:flex;gap:9px;align-items:center;margin-top:24px;color:#718064;font:8px monospace}.arsenal-strip b{color:#354b2b;font-size:16px}.arsenal-strip i{height:17px;width:1px;background:#b5bca0}.arsenal-strip span:last-child{font-size:7px}footer{padding-top:16px;margin-top:17px}.instructions strong{color:#e1e6c9;font-weight:500}.field-notes{display:flex;gap:20px;color:#9baa8c;font-size:10px}.field-notes span{display:flex;flex-direction:column;gap:5px}.field-notes b{font:17px monospace;color:#d3e0ae}.note{font-size:8px;margin-top:15px;color:#748568}#ammo{display:block;font:12px monospace;color:#dfecb3;margin-top:5px}.ammo-track{height:2px;background:#42533b;margin-top:5px}.ammo-track i{height:100%;width:100%;display:block;background:#d6ef83}#buffs{position:absolute;top:100px;left:20px;font:11px monospace;color:#d6efdb;text-shadow:1px 1px #15251c;pointer-events:none}
@media(max-height:720px){.screen{padding-top:12px}.briefing{margin-top:12px}.showcase{min-height:410px}#showcaseArt{height:365px;margin-bottom:26px}.briefing-right{padding:23px 26px}.briefing-right h1{font-size:42px}.lead{font-size:11px;margin-bottom:17px}.hero .portrait{height:85px}.launch{margin-top:16px}.arsenal-strip{margin-top:18px}.showcase-bottom{padding:35px 20px 18px}.showcase-top{top:16px;left:16px;right:16px;font-size:8px}footer{margin-top:12px;padding-top:12px}}
@media(max-height:480px){.screen{padding:8px 18px}header{padding-bottom:7px}.briefing{grid-template-columns:36% 64%;margin-top:9px}.showcase{min-height:280px}#showcaseArt{height:260px;margin-bottom:4px}.showcase-top{top:9px;left:10px;right:10px;font-size:6px;letter-spacing:0}.showcase-top .ready{display:none}.showcase-bottom{padding:28px 12px 10px}.showcase-bottom h2{font-size:20px}.showcase-bottom p{font-size:8px}.briefing-right{padding:13px 18px}.briefing-right .title{margin-bottom:6px}.briefing-right .title .eyebrow{display:none}.briefing-right h1{font-size:28px;line-height:.94}.lead{font-size:10px;margin:3px 0 8px;line-height:1.3}.lead br{display:none}.hero .portrait{height:62px}.hero .label{padding:5px 2px}.hero .label b{font-size:7px}.launch{margin-top:9px}.launch small{font-size:8px;margin-bottom:6px}.launch .primary{padding:11px 14px;font-size:10px}.arsenal-strip{display:none}.section-label{margin-bottom:5px}.instructions>span{display:block;font-size:9px}.instructions small{font-size:8px}.instructions b{font-size:8px}.field-notes{gap:12px;font-size:8px}.field-notes b{font-size:12px}.note{font-size:7px;margin-top:8px}footer{padding-top:9px;margin-top:9px}#buffs{top:85px;font-size:9px}.weaponbox{display:block}}
@media(max-width:650px){.briefing-right{padding-left:11px;padding-right:11px}.briefing-right h1{font-size:25px}.field-notes{display:none}.hero .label b{font-size:6px}.showcase-bottom h2{font-size:17px}.showcase-bottom p{font-size:7px}.hero .portrait{height:55px}.weaponbox{max-width:106px}}

/* v0.6 — fit the available landscape viewport, including phone safe areas */
html,body,#game{height:100dvh}.screen{height:100dvh;padding:14px max(22px,env(safe-area-inset-right)) 10px max(22px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:0}.screen header,.screen footer,.screen>.note{flex-shrink:0}.audio-controls{display:flex;gap:8px}.briefing{flex:1;min-height:350px;grid-template-columns:42% 58%;margin-top:14px}.showcase{min-height:0}.showcase-top{top:15px}.showcase-word{top:35%;font-size:clamp(65px,9vw,155px)}#showcaseArt{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;object-fit:contain}.briefing-right{padding:clamp(16px,3vh,36px) clamp(18px,3vw,60px);justify-content:space-evenly;gap:10px}.briefing-right .title{margin:0}.briefing-right h1{font-size:clamp(32px,5.5vh,66px)}.briefing-right .eyebrow{margin-bottom:10px}.lead{margin:0;font-size:12px}.lead br{display:none}.hero .portrait{height:clamp(65px,16vh,180px)}.launch{margin-top:0}.arsenal-strip{margin-top:0}.section-label{margin-bottom:0}.showcase-bottom{padding-bottom:20px}.screen footer{margin-top:12px;padding-top:10px}.screen>.note{margin:8px 0 0}.instructions>span{display:block}.instructions b{text-transform:none}.small[aria-pressed="true"]{color:#e0f19a;border-color:#a5bd70}.modal>div{max-height:95dvh;overflow:auto;touch-action:pan-y}.hudright button{min-width:44px;min-height:44px}#toast{bottom:max(15px,env(safe-area-inset-bottom))}.weaponbox{display:block}
@media(max-height:600px){.screen{padding-top:8px;padding-bottom:max(6px,env(safe-area-inset-bottom))}.screen header{padding-bottom:7px}.briefing{min-height:230px;margin-top:8px;grid-template-columns:35% 65%}.briefing-right{padding:10px 20px;gap:6px}.briefing-right h1{font-size:30px}.briefing-right .title .eyebrow,.lead,.arsenal-strip{display:none}.hero .portrait{height:clamp(48px,16vh,90px)}.hero .label{padding:5px 2px}.launch small{margin-bottom:5px}.launch .primary{padding:12px 14px}.showcase-bottom{padding:30px 14px 12px}.showcase-bottom h2{font-size:22px}.showcase-bottom p{font-size:9px}.screen footer{margin-top:8px;padding-top:7px}.screen>.note{display:none}.instructions{gap:3px}.instructions small{font-size:9px}.instructions>span{font-size:10px}.field-notes{font-size:8px}.field-notes b{font-size:12px}.audio-controls{gap:5px}.small{padding:7px 9px;font-size:9px}header>.eyebrow{gap:7px;letter-spacing:1px}.showcase-top .ready{display:none}#buffs{top:85px}}
@media(max-height:380px){.briefing{min-height:200px}.briefing-right{gap:4px;padding:8px 16px}.briefing-right h1{font-size:23px}.hero .portrait{height:48px}.launch .primary{padding:10px 12px}.showcase-bottom p,.field-notes{display:none}.showcase-top{font-size:6px}.screen footer{margin-top:6px;padding-top:5px}.instructions small{font-size:8px}}
/* Beta 0.7 — sharper, smaller portraits and a readable briefing */
#showcaseArt{inset:7% 9% 11%;width:82%;height:82%;filter:none;image-rendering:pixelated}.selection-note{margin:10px 0 0;color:#b8c3a1;font-size:11px;text-align:right}.briefing-content{flex:1;padding:22px 0;display:flex;flex-direction:column;justify-content:center;gap:24px}.briefing-heading h1{font-size:clamp(24px,3.5vw,48px)}.briefing-heading .eyebrow{margin:0 0 12px}.lesson-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}.lesson{padding:22px;background:#233326;border:1px solid #526149;border-top:3px solid #bcd779;border-radius:4px}.lesson-number{font:10px monospace;letter-spacing:1px;color:#bed98a}.lesson h2{font-size:20px;margin:17px 0}.lesson p{font-size:13px;line-height:1.6;color:#d1d9bd;margin:12px 0}.lesson b{color:#f0f0d6}.finger-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px}.finger-controls b{font-size:11px;color:#d6ed87}.computer-controls{border-top:1px solid #526149;padding-top:12px}.briefing-actions{display:flex;justify-content:space-between;align-items:center;padding:12px 0 max(8px,env(safe-area-inset-bottom));gap:18px}.briefing-actions .primary{padding:18px 32px;font-size:13px}.weaponbox{min-width:130px;border-color:#a0bc70}#ammo{font-size:22px;font-weight:800;color:#efffb0;line-height:1.15}.ammo-track{height:6px;margin-top:7px}.ammo-track i{background:#d9f56d}.low-ammo{border-color:#ffb56d;box-shadow:0 0 0 2px #ffb56d55!important}.low-ammo #ammo{color:#ffc07b}.low-ammo .ammo-track i{background:#ffac62}#buffs{background:#16271de8;border-radius:3px;padding:6px 10px;color:#e9ffcc;font-size:13px;font-weight:bold}#buffs:empty{display:none}#ammoWarning{position:fixed;top:58%;left:50%;transform:translateX(-50%);padding:5px 9px;background:#2e251ce8;color:#ffcb8c;border:1px solid #eea85d;font:bold 10px monospace;pointer-events:none}#clock{color:#fff8d5}
@media(max-height:600px){.briefing-content{padding:12px 0;gap:10px}.briefing-heading h1{font-size:23px}.briefing-heading h1 br{display:none}.briefing-heading .eyebrow{display:none}.lesson-grid{gap:8px}.lesson{padding:12px}.lesson h2{font-size:15px;margin:10px 0}.lesson p{font-size:11px;line-height:1.45;margin:8px 0}.lesson-number{font-size:8px}.finger-controls{gap:9px}.finger-controls b{font-size:9px}.briefing-actions{padding-top:5px}.briefing-actions .primary{padding:12px 20px}.selection-note{font-size:9px}#ammo{font-size:18px}.weaponbox{min-width:110px}.ammo-track{height:5px}}
@media(max-width:700px){.lesson-grid{grid-template-columns:1fr 1fr}.controls-lesson{grid-column:1/-1}.briefing-heading h1{font-size:20px}.lesson p{font-size:12px}.briefing-content{justify-content:flex-start}.instructions-screen{overflow:auto}.briefing-actions{flex-shrink:0}.weaponbox{max-width:none}}
/* Beta 0.8 */
#results{grid-template-columns:repeat(2,1fr)}.instruction-header{position:sticky;top:-14px;z-index:4;background:#111d17;padding:12px 0;flex-shrink:0}.instruction-header>div{display:flex;align-items:center;gap:20px}.instruction-header h1{font:700 25px Arial,sans-serif;margin:0;letter-spacing:-.5px}.instruction-header>.primary{padding:15px 24px;white-space:nowrap;font-size:13px}.instructions-screen .briefing-content{justify-content:flex-start;padding-top:22px}.instructions-screen .lesson p{font-size:14px;line-height:1.5}.language-control{color:#e2f6a4;border-color:#819961;font-weight:bold;white-space:nowrap}.hero .label b{font-size:8px}.selection-note{line-height:1.5}
@media(max-height:600px){.instruction-header{top:-8px;padding:8px 0}.instruction-header h1{font-size:21px}.instruction-header>.primary{padding:12px 17px;font-size:11px}.instructions-screen .briefing-content{padding-top:12px}.instructions-screen .lesson p{font-size:12px;line-height:1.4}.instructions-screen .lesson h2{font-size:16px}.instruction-header>div{gap:12px}.audio-controls{gap:4px}.audio-controls .small{padding:6px 8px}}
@media(max-width:700px){.instruction-header h1{font-size:18px}.instruction-header>div{gap:8px}.instruction-header>.primary{padding:12px;font-size:10px}.audio-controls .small{font-size:8px;padding:6px}.instructions-screen .lesson-grid{grid-template-columns:1fr 1fr}.instructions-screen .controls-lesson{grid-column:1/-1}.instruction-header .small{font-size:9px}.screen header>.eyebrow{font-size:7px;letter-spacing:.5px;gap:5px}.screen header{gap:6px}}
/* Beta 0.9 — seasonal standings */
.season-card{padding:12px 14px;background:#d7ddbd;border:1px solid #a8b38d;border-radius:3px}.season-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.season-card-head b{font-size:13px}.season-card-head>span{font:9px monospace;color:#5f6e4f}.season-personal{display:flex;align-items:center;gap:14px;margin:8px 0}.season-personal strong{font:700 24px monospace;color:#354e2b}.season-personal>span{font:700 14px monospace}.season-card>small{display:block;font-size:9px;color:#5b6b4b;line-height:1.35}.ranking-buttons{display:flex;gap:7px;margin-top:10px}.ranking-buttons .small{flex:1;color:#2c4127;border-color:#8d9e71;font-size:10px}.ranking-buttons .small:hover{background:#eaf1d2}.briefing-right{gap:8px}.briefing-right .lead,.briefing-right .arsenal-strip{display:none}.launch #best{display:none}.ranking-tabs{display:flex;gap:8px;margin:20px 0 8px}.ranking-tabs button{padding:13px 20px;background:#273927;border:1px solid #536449;border-radius:3px}.ranking-tabs [aria-selected=true]{background:#d3eb87;color:#21321c}.board-heading h2{margin:14px 0 8px;font-size:30px}.board-heading p{font-size:12px;color:#bac9a3;line-height:1.5;margin:5px 0}.rank-row{display:grid;grid-template-columns:65px minmax(100px,1fr) 110px 90px;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid #3c5037;background:#1d2e21;font-size:13px}.rank-row>span:nth-child(2){overflow-wrap:anywhere}.rank-row strong{color:#def29c;font-family:monospace}.rank-labels{margin-top:20px;background:#31432c;font:10px monospace;color:#c2d2ab}.rank-row>:last-child{font-family:monospace}.history-season{margin:18px 0}.history-season h3{font-size:17px;color:#e8e5be}.patrol-badge{width:32px;height:34px;display:grid;place-items:center;clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);background:#b4bfac;color:#1a2a1b;font:700 17px Georgia,serif}.podium-1 .patrol-badge{background:#e2c56a}.podium-2 .patrol-badge{background:#bccac8}.podium-3 .patrol-badge{background:#bd936f}#rankStatus{font-size:14px;color:#c5d1b3;line-height:1.7;padding:18px;border:1px solid #536449}#rankStatus:empty{display:none}#historyMore{margin:16px auto}#submitStatus{font-size:11px!important;line-height:1.4!important}.rankings-screen{overflow:auto}
@media(max-height:600px){.season-card{padding:7px 10px}.season-card-head b{font-size:11px}.season-card-head>span{font-size:8px}.season-personal{margin:4px 0}.season-personal strong{font-size:18px}.season-personal>span{font-size:12px}.season-card>small{font-size:8px}.ranking-buttons{margin-top:6px}.ranking-buttons .small{padding:6px;font-size:9px}.briefing-right{gap:5px}.hero .portrait{height:48px}.briefing-right h1{font-size:25px}.board-heading h2{font-size:23px}.rankings-screen .ranking-tabs{margin-top:10px}.ranking-tabs button{padding:9px 12px}.rank-row{padding:10px 12px}}
@media(max-width:700px){.rank-row{grid-template-columns:42px minmax(90px,1fr) 70px 60px;gap:6px;padding:10px 8px;font-size:11px}.season-card-head{flex-wrap:wrap;gap:3px}.ranking-buttons .small{font-size:8px}.rank-labels{font-size:8px}}
@media(max-height:600px){.briefing{min-height:295px}.briefing-right h1{font-size:20px}.hero .portrait{height:40px}.season-card-head>span{font-size:7px}.season-card{padding:6px 9px}.season-card>small{font-size:7px}.season-personal{margin:3px 0}.ranking-buttons{margin-top:5px}.ranking-buttons .small{padding:5px}.launch .primary{padding:10px 12px}}
.close-game{border:1px solid #c7936a;color:#f2c79e;background:#70452a22;border-radius:3px;padding:11px 18px;margin-top:16px;min-height:40px}.close-game:hover{background:#97623c33}#closedScreen{z-index:11}#pauseScreen .secondary{margin-top:12px}#pauseScreen>div{max-height:96dvh}

/* Beta0.12: one HUD height; intrinsic content must never stretch its neighbour. */
#hud{--hud-height:60px;align-items:center;gap:10px}
.hudleft,.hudright{height:var(--hud-height);align-items:stretch;gap:8px;flex-shrink:0}
#hud .healthbox,#hud .weaponbox,#hud .timerbox,#hud .scorebox{box-sizing:border-box;height:var(--hud-height);margin:0;padding:8px 10px;display:grid;align-content:center;gap:3px;overflow:hidden}
#hud .healthbox{width:110px;grid-template-rows:12px 20px 4px}
#hud .weaponbox{width:clamp(150px,19vw,190px);min-width:0;max-width:none;grid-template-rows:12px 20px 4px}
#hud .timerbox,#hud .scorebox{grid-template-rows:12px 24px;min-width:96px;text-align:center;flex-shrink:0}
#hud small{font:8px/12px monospace;letter-spacing:1px;margin:0;white-space:nowrap}
#hud #hp{min-width:0;font:700 16px/20px monospace;white-space:nowrap}
#hud #gun{font:700 11px/12px Arial,sans-serif;color:#e9efd6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
#hud #ammo{display:block;font:800 18px/20px monospace;white-space:nowrap}
#hud #clock,#hud #score{font:700 22px/24px monospace;white-space:nowrap}
#hud .health-track,#hud .ammo-track{height:4px;margin:0;width:100%}
#hud .hudright button{box-sizing:border-box;width:52px;height:var(--hud-height);min-height:44px;padding:0;display:grid;place-items:center;font-size:20px}
#buffs{top:calc(max(12px,env(safe-area-inset-top)) + 68px)}
@media(max-height:440px),(max-width:700px){
 #hud{--hud-height:52px;gap:6px}
 .hudleft,.hudright{gap:6px}
 #hud .healthbox,#hud .weaponbox,#hud .timerbox,#hud .scorebox{padding:6px 8px;gap:3px}
 #hud .healthbox{width:96px;grid-template-rows:10px 18px 3px}
 #hud .weaponbox{width:144px;grid-template-rows:10px 18px 3px}
 #hud .timerbox,#hud .scorebox{min-width:78px;grid-template-rows:10px 22px}
 #hud small{font-size:7px;line-height:10px;letter-spacing:.7px}
 #hud #gun{font-size:10px;line-height:10px}
 #hud #hp,#hud #ammo{font-size:16px;line-height:18px}
 #hud #clock,#hud #score{font-size:18px;line-height:22px}
 #hud .health-track,#hud .ammo-track{height:3px}
 #hud .hudright button{width:44px}
 #buffs{top:calc(max(12px,env(safe-area-inset-top)) + 60px)}
}
@media(max-width:600px){
 #hud .healthbox{width:84px}
 #hud .weaponbox{width:126px}
 #hud .timerbox,#hud .scorebox{min-width:64px;padding-left:6px;padding-right:6px}
 #hud #clock,#hud #score{font-size:16px}
}

.pause-audio{display:flex;justify-content:center;gap:10px;margin:18px 0}.pause-audio .small{min-height:44px;min-width:130px;padding:10px 14px;font-size:12px}.pause-audio [aria-pressed="true"]{color:#e0f19a;border-color:#a5bd70;background:#30432b}@media(max-height:440px){.pause-audio{margin:8px 0}.pause-audio .small{padding:8px 12px}.modal #resume{padding:11px 20px}}

/* Beta 0.13.3: native Telegram viewport and compact orientation notice. */
:root{--patrol-safe-top:0px;--patrol-safe-right:0px;--patrol-safe-bottom:0px;--patrol-safe-left:0px;--safe-top:max(env(safe-area-inset-top,0px),var(--patrol-safe-top));--safe-right:max(env(safe-area-inset-right,0px),var(--patrol-safe-right));--safe-bottom:max(env(safe-area-inset-bottom,0px),var(--patrol-safe-bottom));--safe-left:max(env(safe-area-inset-left,0px),var(--patrol-safe-left))}
html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
#game{touch-action:none;overscroll-behavior:none}
.screen{padding-top:max(12px,var(--safe-top));padding-right:max(22px,var(--safe-right));padding-bottom:max(12px,var(--safe-bottom));padding-left:max(22px,var(--safe-left));overscroll-behavior:contain}
#hud{top:max(12px,var(--safe-top));left:max(16px,var(--safe-left));right:max(16px,var(--safe-right))}
.modal{padding:max(15px,var(--safe-top)) max(15px,var(--safe-right)) max(15px,var(--safe-bottom)) max(15px,var(--safe-left));overflow:auto}
#rotate{padding:max(24px,var(--safe-top)) max(24px,var(--safe-right)) max(24px,var(--safe-bottom)) max(24px,var(--safe-left));gap:12px;overflow:hidden}
#rotate>span{font-size:52px;line-height:1}
#rotate h2{font-size:24px;line-height:1.2;margin:0;max-width:100%;overflow-wrap:break-word}
#rotate p{font-size:14px;line-height:1.5;margin:0;max-width:280px}
#rotate h2 span,#rotate p span{font-size:inherit;color:inherit}
