@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Barlow:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{color-scheme:dark;--bg:#111613;--paper:#eeeae0;--muted:#a5aaa0;--gold:#dfbd79;--line:#ffffff29;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Barlow',Arial,sans-serif;--mono:'IBM Plex Mono',monospace;font-family:var(--body);color:var(--paper);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{border:0}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}.film-grain{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
#loading{position:fixed;inset:0;z-index:100;background:#111613;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}#loading strong{font:800 50px var(--display);letter-spacing:5px}#load-label{font:10px var(--mono);letter-spacing:3px;color:var(--muted)}#loading i{width:180px;height:2px;background:var(--gold);animation:load 1s infinite alternate;transform-origin:left}@keyframes load{from{transform:scaleX(.1)}to{transform:scaleX(1)}}
#lobby{position:fixed;inset:0;z-index:3;padding:0 4.8vw;background:linear-gradient(90deg,rgba(11,18,15,.95) 0%,rgba(12,19,16,.72) 35%,rgba(15,22,18,.05) 76%),linear-gradient(0deg,#101612 1%,rgba(16,22,18,.94) 20%,transparent 62%);display:flex;flex-direction:column;overflow:auto}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:91px;border-bottom:1px solid var(--line);flex-shrink:0;gap:30px}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap}.brand-icon{font:45px var(--mono);color:var(--gold);line-height:1}.brand b{font:800 29px var(--display);letter-spacing:1px}.brand b span{color:var(--gold);margin:0 3px}.brand small{font:8px/1.7 var(--mono);letter-spacing:1.9px;width:85px;white-space:normal;margin-left:7px;padding-left:15px;border-left:1px solid var(--line)}nav{display:flex;align-self:stretch;gap:35px;margin-left:auto;margin-right:auto}nav button{position:relative;background:none;font:600 11px var(--body);letter-spacing:1.3px;color:#c0c5bb;padding:0 2px}nav button.nav-active{color:var(--paper)}nav button.nav-active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--gold)}nav button span{margin-left:8px;color:var(--gold)}.build-label{font:9px var(--mono);letter-spacing:.4px;white-space:nowrap;color:#d1d8c6;display:flex;align-items:center;gap:7px}.build-label i,.deploy-note i,.live-dot{height:5px;width:5px;border-radius:50%;background:#a4bb7c;display:inline-block;box-shadow:0 0 8px #a4bb7c44}.build-label span{color:#8a9489;margin-left:17px}
.hero{flex:1;position:relative;min-height:445px;display:flex;align-items:center;padding:28px 0 41px}.hero-copy{position:relative;z-index:1}.eyebrow{font:9px var(--mono);letter-spacing:1.4px;color:var(--gold);display:flex;align-items:center;gap:9px}.eyebrow>span{height:1px;width:28px;background:var(--gold)}h1{font:900 clamp(78px,8.8vw,148px)/.81 var(--display);letter-spacing:-1.5px;margin:27px 0 23px;color:#f1eee4;text-shadow:0 5px 40px #0002}h1>span{color:var(--gold)}.hero-sub{display:flex;gap:25px;align-items:center;margin-bottom:24px}.hero-sub b{font:600 12px/1.6 var(--display);letter-spacing:1px}.hero-sub p{font:11px/1.7 var(--body);margin:0;padding-left:22px;border-left:1px solid var(--line);color:#bfc4b9}.primary{background:var(--gold);color:#192019;display:flex;align-items:center;justify-content:space-between;padding:17px 21px;min-width:240px;font:800 14px var(--body);letter-spacing:1.5px;transition:background .2s,transform .2s}.primary:hover{background:#f3d496;transform:translateY(-2px)}.button-arrow{font-size:24px;font-weight:400;border-left:1px solid #18201642;padding-left:28px;margin-left:40px;line-height:22px}.deploy-note{display:flex;align-items:center;gap:7px;font:8px var(--mono);letter-spacing:.2px;color:#b0b6a8;margin-top:13px}.deploy-note span{margin:0 3px;color:#6c7667}.map-brief{position:absolute;right:0;top:50%;width:265px;transform:translateY(-18%);background:linear-gradient(90deg,#12201988,#12201933);border-left:2px solid var(--gold);padding:18px 19px;backdrop-filter:blur(7px)}.brief-top{display:flex;justify-content:space-between;gap:20px;font:8px var(--mono);letter-spacing:1px;color:#cbd0c1}.brief-top span+span{color:var(--gold)}.map-brief h2{font:700 50px/.95 var(--display);letter-spacing:1px;margin:17px 0 12px}.map-brief p{font-size:11px;line-height:1.6;color:#d0d2c6;margin:0 0 18px;max-width:210px}.brief-tags{display:flex;gap:6px;flex-wrap:wrap}.brief-tags span{padding:5px 6px;font:7px var(--mono);letter-spacing:.5px;border:1px solid #ffffff40;color:#e2dfcf}.coord{border-top:1px solid #ffffff29;padding-top:13px;margin-top:17px;display:flex;align-items:center;gap:8px;font:9px var(--mono);color:#d1d3c4}.coord>span:first-child{color:var(--gold);font-size:18px}.scene-caption{position:absolute;bottom:27px;right:0;display:flex;align-items:center;gap:10px;font:8px var(--mono);letter-spacing:1px;color:#bec4b7}.scene-caption .corner-mark{font-size:23px;color:var(--gold);line-height:10px}.scene-caption .live-dot{margin-left:10px;width:4px;height:4px}
.map-section{flex-shrink:0;padding:0 0 24px}.section-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px}.section-heading h3{font:600 11px var(--body);letter-spacing:1.4px;margin:0}.section-heading h3 span{color:var(--gold);font:10px var(--mono);margin-right:15px}.section-heading p{font:8px var(--mono);letter-spacing:.7px;color:#939d8e;margin:0}.section-heading p span{margin:0 10px;color:#53644e}.map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.map-card{border:1px solid #ffffff25;background:#1b231c99;text-align:left;padding:0;position:relative;transition:border .2s,transform .2s;overflow:hidden}.map-card:hover{border-color:#ddcda2;transform:translateY(-3px)}.map-card.selected{border-color:var(--gold);background:#283027bb}.map-image{height:clamp(96px,12.2vh,155px);position:relative;background:#373d2e;overflow:hidden}.map-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101a1599,transparent 70%)}.map-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.78);transition:filter .3s,transform .4s}.selected .map-image img,.map-card:hover img{filter:saturate(.9) brightness(.93);transform:scale(1.025)}.map-number{position:absolute;left:13px;top:12px;font:8px var(--mono);letter-spacing:1px;text-shadow:0 1px 8px black;z-index:1}.selected-tag{display:none;position:absolute;bottom:10px;right:10px;background:var(--gold);color:#21281c;padding:5px 7px;font:600 7px var(--mono);letter-spacing:.4px;z-index:1}.selected .selected-tag{display:block}.map-card-info{padding:12px 14px 14px;display:flex;align-items:center;justify-content:space-between}.map-card h4{font:700 25px/.95 var(--display);letter-spacing:1px;margin:0 0 7px}.map-card p{font:8px var(--mono);color:#a6ad9e;margin:0;white-space:nowrap}.map-card p span{margin:0 5px;color:#7a8b6b}.map-arrow{font-size:25px;font-weight:400;color:#b0b89f}.selected .map-arrow{color:var(--gold)}footer{min-height:46px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0;font:7px var(--mono);letter-spacing:.6px;color:#8f998a}footer>span:first-child{color:#b7bfad}footer i{font-style:normal;color:#607157;margin:0 8px}footer button{background:none;font:8px var(--mono);letter-spacing:.5px;padding:10px 0;color:#bac3ae}
.modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0b120ee0;backdrop-filter:blur(12px);z-index:15;padding:22px;overflow:auto}.dialog{width:400px;max-width:100%;padding:40px;background:#1b241d;border:1px solid #d5d5b72a;position:relative;box-shadow:0 15px 90px #0005}.dialog.wide{width:590px}.dialog h2{font:800 54px/.94 var(--display);letter-spacing:.5px;margin:20px 0 25px}.dialog>p{color:#aeb8a7;font-size:12px;line-height:1.8}.dialog .primary,.dialog .secondary{width:100%;margin-top:20px}.secondary{background:transparent;border:1px solid #e3d9bd66;padding:14px 18px;font:600 11px var(--body);letter-spacing:1px;transition:background .2s}.secondary:hover{background:#e3d9bd11}.text-button{background:none;font-size:10px;letter-spacing:1px;width:100%;padding:23px 0 0;color:#bbc5b2}.close{position:absolute;right:16px;top:10px;font-size:30px;background:none;color:#c0c8b5}.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-bottom:18px}.controls-grid p{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 0;border-bottom:1px solid var(--line);margin:0;font-size:11px;color:#bdc6b3}kbd{font:9px var(--mono);background:#dcd7b811;border:1px solid #dcd7b830;padding:6px 8px;color:var(--paper);white-space:nowrap}.dialog p.prototype-note{font:10px/1.7 var(--mono);border-top:1px solid var(--line);padding-top:17px;color:#88977e}.setting-row{font-size:12px;display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);gap:15px}input{accent-color:var(--gold)}input[type=range]{width:130px}select{background:#111913;color:var(--paper);font-size:11px;border:1px solid var(--line);padding:7px}
#hud{position:fixed;inset:0;z-index:4;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,#0b100e44 100%)}.hud-top{position:absolute;inset:24px 27px auto;display:flex;justify-content:space-between;align-items:flex-start}.radar-wrap{display:flex;flex-direction:column;gap:9px}#radar{width:160px;height:160px;border:1px solid #e1dcb840;border-radius:50%;background:#102018a8;box-shadow:0 6px 40px #0003}.radar-wrap>span{font:500 10px var(--mono);letter-spacing:1px;color:var(--gold);text-shadow:0 2px 4px black}.match-info{position:absolute;left:50%;transform:translateX(-50%);text-align:center;background:#101a14a6;padding:10px 18px;border-top:2px solid var(--gold);backdrop-filter:blur(6px)}.match-info>div{display:flex;align-items:center;gap:20px}.match-info b{font:700 28px var(--display)}.round-time{font:500 18px var(--mono);border-right:1px solid var(--line);border-left:1px solid var(--line);padding:0 16px;white-space:nowrap}.team-ct,.team-t{font:600 11px var(--mono)}.team-ct{color:#9cc2d3}.team-t{color:#d7ba8c}.match-info small{font:7px var(--mono);letter-spacing:1px;color:#bdc9b7;display:block;margin-top:5px}#pause-button{pointer-events:auto;background:#14201aa8;border:1px solid var(--line);padding:8px 11px;font:18px var(--mono);backdrop-filter:blur(8px)}#pause-button span{font:8px var(--mono);margin-left:8px;color:#c6cdbd}.hud-bottom{position:absolute;inset:auto 35px 26px;display:flex;justify-content:space-between;align-items:flex-end}.vitals{display:flex;gap:30px;background:linear-gradient(90deg,#0f1913b3,transparent);padding:10px 20px 10px 0}.vitals>div{position:relative;display:grid;grid-template-columns:18px auto;gap:2px 8px;align-items:center}.vitals b{font:600 34px var(--display);letter-spacing:1px}.vitals span{color:var(--gold);font-size:22px}.vitals small{font:7px var(--mono);letter-spacing:1px;color:#b8c2ad;grid-column:2}.vitals .money{margin-left:7px;display:flex;flex-direction:column;align-items:flex-start}.money b{color:var(--gold);font:500 20px var(--mono);line-height:40px}.weapon-info{text-align:right;min-width:200px;text-shadow:0 2px 6px #0008}.weapon-info>small{font:500 10px var(--mono);letter-spacing:1px;color:#e7e3ce}.weapon-info>div{display:flex;align-items:baseline;justify-content:flex-end;gap:12px}.weapon-info b{font:600 54px var(--display);line-height:1.1}.weapon-info>div>span{font:400 19px var(--display);color:#c4caba}.weapon-info p{font:8px var(--mono);color:#bdc5b2;letter-spacing:.4px;margin:4px 0 0}.weapon-info p span{margin-left:18px;color:#9ca88e}#crosshair{position:absolute;left:50%;top:50%;width:0;height:0;filter:drop-shadow(0 0 2px #000)}#crosshair i{position:absolute;background:#dcf3b8;width:2px;height:7px}#crosshair i:nth-child(1){left:-1px;top:-13px}#crosshair i:nth-child(2){left:-1px;top:6px}#crosshair i:nth-child(3){height:2px;width:7px;left:-13px;top:-1px}#crosshair i:nth-child(4){height:2px;width:7px;left:6px;top:-1px}#hitmarker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:500 34px var(--mono);color:#fff;opacity:0;text-shadow:0 0 3px black}#damage-flash{position:absolute;inset:0;box-shadow:inset 0 0 120px #ae1d12;opacity:0;transition:opacity .1s}#kill-feed{position:absolute;right:27px;top:100px;display:flex;flex-direction:column;gap:5px;align-items:flex-end}#kill-feed>div{background:#101a15c9;border-right:2px solid var(--gold);padding:8px 12px;font:9px var(--mono);letter-spacing:.3px}#kill-feed em{font-style:normal;color:var(--gold);margin:0 15px}#round-message{position:absolute;top:32%;left:50%;transform:translateX(-50%);text-align:center;width:min(95%,800px);padding:28px;background:linear-gradient(90deg,transparent,#101b15dc,transparent);border-top:1px solid #dec78b55}#round-message small{font:10px var(--mono);letter-spacing:2px;color:var(--gold)}#round-message h2{font:700 clamp(30px,5vw,64px) var(--display);margin:8px 0}#round-message p{font:11px var(--mono);color:#cbd5bb}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#19281ded;border:1px solid #dfbd7966;padding:13px 20px;font:11px var(--mono);z-index:40;max-width:90%;text-align:center}
#touch-controls{display:none}body.touch.playing #touch-controls{display:block;pointer-events:none}#joystick{position:absolute;left:30px;bottom:130px;width:110px;height:110px;border:1px solid #e4e7c65e;border-radius:50%;background:#11251c55;pointer-events:auto;touch-action:none}#joystick>div{position:absolute;left:35px;top:35px;width:40px;height:40px;border-radius:50%;border:1px solid #dddcc285;background:#d9d8b455}.touch-look-hint{position:absolute;bottom:180px;right:115px;font:8px var(--mono);color:#e5e6cf66}#touch-controls button{position:absolute;border:1px solid #e4e7c65e;background:#11251c88;border-radius:50%;width:52px;height:52px;pointer-events:auto;touch-action:none;font:24px var(--mono)}#touch-fire{right:28px;bottom:146px;width:78px!important;height:78px!important;background:#e5c17c55!important;font-size:40px!important}#touch-jump{right:40px;bottom:250px}#touch-reload{right:125px;bottom:100px}
@media(min-height:950px){.hero{min-height:490px}.hero-copy h1{margin:32px 0}.map-image{height:160px}.map-section{padding-bottom:30px}}
@media(max-width:1050px){.build-label span{display:none}.brand small{display:none}nav{margin:auto;gap:23px}.topbar{min-height:75px}.hero{min-height:420px}.hero-copy h1{font-size:105px}.hero-sub{gap:15px}.hero-sub p{padding-left:15px}.map-brief{width:230px}.map-card p{font-size:7px}.map-card-info{padding:12px}.map-grid{gap:12px}.section-heading{padding-bottom:13px}footer{font-size:6px}}
@media(max-width:700px){#lobby{padding:0 6vw;background:linear-gradient(90deg,#101912e8,#10191250),linear-gradient(0deg,#101612 2%,#101612f2 35%,transparent 80%)}.topbar{min-height:68px;gap:10px}.brand-icon{font-size:32px}.brand{gap:7px}.brand b{font-size:24px}nav{gap:18px;margin:0}nav button{font-size:8px;letter-spacing:.7px}.build-label{display:none}.hero{min-height:435px;padding-top:30px;padding-bottom:42px;flex:none}.hero-copy h1{font-size:100px;margin:23px 0 22px}.eyebrow{font-size:7px;letter-spacing:1px}.hero-sub b{font-size:11px}.hero-sub p{font-size:10px}.map-brief{display:none}.scene-caption{bottom:13px;font-size:7px;left:0;right:auto}.primary{min-width:230px;padding:15px 18px;font-size:12px}.deploy-note{font-size:7px}.map-section{padding:14px 0 24px}.section-heading h3{font-size:10px;letter-spacing:.6px}.section-heading h3 span{margin-right:7px}.section-heading p{font-size:6px;letter-spacing:0}.section-heading p span{margin:0 4px}.map-grid{grid-template-columns:1fr;gap:10px}.map-card{display:grid;grid-template-columns:36% 64%;min-height:90px}.map-image{height:100%}.map-card-info{padding:18px}.map-card h4{font-size:28px}.map-card p{font-size:7px}.map-number{font-size:5px;left:6px;top:7px;letter-spacing:.3px}.selected-tag{font-size:6px;bottom:6px;right:6px;padding:4px}.map-arrow{font-size:23px}footer{min-height:70px;flex-wrap:wrap;gap:0;padding:10px 0}footer>span:nth-child(2){order:3;width:100%;font-size:6px}.dialog{padding:30px 24px}.dialog h2{font-size:46px}.controls-grid{gap:0 12px}.controls-grid p{font-size:10px}kbd{font-size:8px;padding:5px}.hud-top{inset:15px 14px auto}#radar{height:100px;width:100px}.radar-wrap>span{font-size:8px}.match-info{padding:7px 10px}.match-info>div{gap:9px}.match-info b{font-size:22px}.round-time{font-size:13px;padding:0 10px}.team-ct,.team-t{display:none}.match-info small{font-size:5px}.hud-bottom{inset:auto 18px 24px}.vitals{gap:16px}.vitals b{font-size:29px}.vitals>div{grid-template-columns:12px auto;gap:2px 4px}.vitals span{font-size:17px}.vitals small{font-size:5px}.money{display:none!important}.weapon-info{min-width:100px}.weapon-info>small{font-size:7px}.weapon-info b{font-size:43px}.weapon-info p{font-size:6px}.weapon-info p span{display:none}#pause-button{font-size:14px;padding:6px 9px}#pause-button span{display:none}#kill-feed{top:140px;right:14px}#kill-feed>div{font-size:7px;padding:7px}.dialog>p{font-size:11px}}
@media(max-height:720px) and (min-width:701px){.topbar{min-height:65px}.hero{min-height:340px;padding:20px 0 30px}.hero-copy h1{font-size:90px;margin:20px 0}.hero-sub{margin-bottom:18px}.map-image{height:86px}.map-card-info{padding:10px 12px}.map-card h4{font-size:22px}.map-section{padding-bottom:16px}.map-brief{top:44%;transform:translateY(-25%)}footer{min-height:38px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

#touch-aim{right:123px;bottom:180px}#touch-aim[aria-pressed="true"]{background:#dfbd7988!important}

body.playing #world{cursor:none}

/* Classic weapon slots and a compact armory, shared by desktop and touch. */
.hud-actions{display:flex;gap:9px;pointer-events:auto}.hud-actions button{background:#14201ac9;border:1px solid var(--line);padding:8px 11px;font:18px var(--mono);backdrop-filter:blur(8px)}.hud-actions button span{font:8px var(--mono);margin-left:7px;color:#c6cdbd}
#inventory{position:absolute;bottom:105px;left:50%;transform:translateX(-50%);pointer-events:auto;z-index:4;max-width:96%}.slot-row{display:flex;gap:5px}.slot-row button,#grenade-choices button{border:1px solid #d8dfc82e;background:#102018c9;color:#bbc6b0;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 11px;min-width:82px;font:8px var(--mono);letter-spacing:.4px;backdrop-filter:blur(5px)}.slot-row kbd{font-size:9px;padding:2px 4px;background:none;border:0;color:#e8d09b}.slot-row .equipped,#grenade-choices .equipped{border-color:var(--gold);color:var(--gold);background:#343b24e8}#grenade-choices{display:flex;gap:5px;justify-content:center;margin-bottom:6px}#grenade-choices button{min-width:80px;font-size:8px;padding:7px}
.armory-dialog{width:min(900px,96vw);max-height:90vh;overflow:auto;padding:32px}.armory-dialog h2{font-size:45px;margin-bottom:15px}#armory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:24px 0}.armory-card{background:#101b15;border:1px solid #c5d0b52e;min-height:112px;text-align:left;padding:15px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.armory-card:hover,.armory-card.chosen{border-color:var(--gold);background:#343b24}.armory-card small{font:8px var(--mono);color:var(--gold);letter-spacing:1px}.armory-card strong{font:700 27px var(--display);letter-spacing:1px}.armory-card>span{font:7px var(--mono);color:#b5c0a8}
#scope-overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at center,transparent 0,transparent calc(42vmin - 2px),#111 42vmin,#000 calc(42vmin + 5px))}.scope-glass{position:absolute;width:84vmin;height:84vmin;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;box-shadow:inset 0 0 20px #0008}.scope-glass i{position:absolute;background:#151713;left:50%;top:0;width:1px;height:100%}.scope-glass i+i{left:0;top:50%;width:100%;height:1px}#scope-level{position:absolute;left:50%;top:calc(50% + 33vmin);transform:translateX(-50%);font:9px var(--mono);color:#222a1c;text-shadow:0 0 3px #d4e4bf}
#flash-overlay{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:6}.hud-top,.hud-bottom,#kill-feed{z-index:3}
@media(max-width:700px){.hud-actions{gap:5px}.hud-actions button{font-size:13px;padding:7px}.hud-actions button span{display:none}#inventory{bottom:95px}.slot-row{gap:4px}.slot-row button{min-width:64px;padding:8px 7px;gap:4px;font-size:6px}.slot-row kbd{font-size:8px}#grenade-choices button{min-width:75px}.armory-dialog{padding:24px 18px}.armory-dialog h2{font-size:39px}#armory-grid{grid-template-columns:repeat(2,1fr)}.armory-card{min-height:100px;padding:13px}.armory-card strong{font-size:23px}}
body.touch.playing #joystick{bottom:160px}body.touch.playing #touch-fire{bottom:170px}body.touch.playing #touch-jump{bottom:274px}body.touch.playing #touch-aim{right:123px;bottom:245px}body.touch.playing #touch-reload{right:123px;bottom:160px}

/* Online room and rescue objective, usable in portrait as well as desktop. */
.map-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#multiplayer-open{display:block;max-width:260px;margin-top:10px;padding:12px 18px}#multiplayer-open span{float:right}.join-label{display:block;font:10px var(--mono);margin:18px 0;color:var(--gold)}.join-label input{display:block;width:100%;padding:13px;background:#101b15;border:1px solid var(--line);color:var(--paper);font:16px var(--body);margin-top:8px}#room-code{text-transform:uppercase}#connect-status{font:12px var(--mono);min-height:18px;color:var(--gold)}#player-tags{position:absolute;inset:0;pointer-events:none}.player-tag{position:absolute;transform:translate(-50%,-100%);font:11px var(--mono);padding:4px 7px;border-radius:2px;background:#101b15b0;color:#deb984}.player-tag.ct{color:#a9d1eb}#room-badge{position:absolute;top:105px;left:50%;transform:translateX(-50%);font:9px var(--mono);background:#102018dc;padding:6px;pointer-events:auto;display:flex;align-items:center;gap:9px;white-space:nowrap}#room-badge button{background:#273628;padding:5px;font:9px var(--mono)}#objective{position:absolute;top:145px;left:50%;transform:translateX(-50%);font:10px var(--mono);padding:8px 12px;background:#102018c9;color:var(--gold);text-align:center;white-space:nowrap}#use-hostage{position:absolute;left:50%;top:60%;transform:translateX(-50%);background:#d6b473;color:#142018;font:12px var(--mono);padding:13px;pointer-events:auto;border:1px solid #fff8}#score-rows{margin-top:20px}.score-row{display:grid;grid-template-columns:45px 1fr 50px 50px;gap:12px;padding:10px;border-bottom:1px solid var(--line);font:14px var(--mono)}.score-row.ct{color:#a9cbe0}.score-row.t{color:#e2b987}.score-row.self{background:#dfbd7919}#scoreboard{pointer-events:auto}body[data-network="true"] #restart{display:none}
@media(max-width:850px){.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:430px}#room-badge{top:80px;font-size:8px;max-width:95%}#objective{top:120px;font-size:9px;max-width:96%;white-space:normal}.score-row{font-size:11px;grid-template-columns:28px 1fr 30px 30px;gap:5px}}
@media(max-width:700px){.map-grid{grid-template-columns:1fr}.map-card-info,.map-card-info>div{min-width:0}.map-card p{overflow:hidden;text-overflow:ellipsis}.map-card h4{font-size:26px}}
@media(max-width:700px){.map-card{height:104px;min-height:104px}.map-image{height:100%;min-height:0}}
