Spaces:
Running
Running
File size: 28,475 Bytes
217da1a 8c5a6cc 217da1a 8c5a6cc 217da1a 8c5a6cc 217da1a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | /* Turfbreak layout + HUD: a tactical night-city look. Condensed uppercase type (Barlow Condensed, OFL, self-hosted),
hard edges, amber vs cyan crews, no emoji, no rounded cartoon shapes. (c) 2026 CyberMax. All rights reserved. */
@font-face{font-family:"TB";src:url(fonts/barlow-condensed-800.woff2) format("woff2");font-weight:600 900;font-display:swap}
:root{--game:#FF8A1F;--game2:#2EE6FF;--ash:#FF8A1F;--cold:#2EE6FF;--hud:rgba(6,8,14,.66);--hudl:rgba(255,255,255,.1);--tb:"TB","Barlow Condensed","Arial Narrow","Roboto Condensed",sans-serif;--acc:#FF8A1F;--bg:#05060A;--bg2:#0A0C14}
body{background:radial-gradient(900px 500px at 50% -10%,rgba(255,138,31,.10),transparent 70%),radial-gradient(800px 520px at 100% 40%,rgba(46,230,255,.07),transparent 70%),linear-gradient(180deg,#05060A,#0A0C14)}
.wrap{max-width:1240px}
.seo,.under,footer{max-width:760px;margin-left:auto;margin-right:auto}
.headline h1{margin:6px 0 0;font:800 clamp(30px,5vw,44px)/1 var(--tb);letter-spacing:.04em;text-transform:uppercase}
.headline .h1kw{font-family:system-ui,sans-serif;text-transform:none;letter-spacing:0}
.tag{margin:4px 0 10px}
.top .icon{font:800 13px var(--tb);letter-spacing:.12em}
.stage{position:relative;margin-top:8px;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.07),0 30px 80px rgba(0,0,0,.55);background:radial-gradient(120% 90% at 50% 30%,#12162A,#05060A);isolation:isolate}
#c{display:block;width:100%;height:clamp(460px,calc(100svh - 150px),780px);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;outline:none;background:transparent;cursor:crosshair}
@media (max-width:900px),(pointer:coarse){body.playing{overflow:hidden}body.playing .stage{position:fixed;inset:0;margin:0;border-radius:0;z-index:60}body.playing #c{height:100svh;height:100dvh}}
.ov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px;color:#EEF0F4;overflow:auto;text-align:center;z-index:5;background:linear-gradient(180deg,rgba(4,5,9,.25),rgba(4,5,9,.72))}
.ov.load{background:rgba(4,5,9,.9);backdrop-filter:blur(6px)}
.logo{font:800 italic clamp(58px,12vw,118px)/.86 var(--tb);letter-spacing:.01em;margin:0;color:#F2F2F0;text-transform:uppercase;text-shadow:0 0 40px rgba(255,138,31,.25),0 4px 0 rgba(0,0,0,.6)}
.logo i{font-style:italic;color:var(--ash);text-shadow:0 0 30px rgba(255,138,31,.55)}
.logo.sm{font-size:56px}
.lbar{width:min(320px,70%);height:4px;background:rgba(255,255,255,.12);overflow:hidden}.lbar i{display:block;height:100%;width:4%;background:linear-gradient(90deg,var(--ash),var(--cold));transition:width .2s}
.hint{color:#9AA0AE;font-size:14px;margin:0}
.mday{margin:0;font-weight:700;max-width:460px}
.btn{font-family:var(--tb);letter-spacing:.1em;text-transform:uppercase;border-radius:3px}
.btn.deploy{min-height:58px;padding:10px 40px;font-size:26px;font-weight:800;background:var(--ash);color:#120A02;box-shadow:0 0 0 1px rgba(255,180,90,.6),0 10px 40px rgba(255,138,31,.35);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.btn.deploy.sm{min-height:44px;font-size:18px;padding:6px 22px}
.btn.ghost{border-color:rgba(255,255,255,.18);color:#E8EAF0}
.btn.pass{background:linear-gradient(135deg,#FFB547,#FF8A1F)}
.mbtn{font:800 18px var(--tb);letter-spacing:.12em;color:#E8EAF0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);padding:10px 18px;min-height:46px;cursor:pointer;border-radius:3px}
.mbtn:hover{border-color:var(--ash);color:#fff}.mbtn em{font-style:normal;color:var(--cold);margin-left:4px}.mbtn .lock{color:#FFB547;margin-left:6px;font-size:13px}
.chip{font:700 14px var(--tb);letter-spacing:.08em;text-transform:uppercase;border-radius:3px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#E6E8EE;padding:7px 12px;cursor:pointer;min-height:36px}
.chip.on{border-color:var(--ash);background:rgba(255,138,31,.16);color:#fff}.chip.lock{opacity:.7}.chip.lock::after{content:" · PACK";color:#FFB547}
/* menu */
#menu{justify-content:flex-start;padding-top:max(22px,4vh);gap:14px;background:linear-gradient(180deg,rgba(3,4,8,.0) 0,rgba(3,4,8,.35) 30%,rgba(3,4,8,.88) 100%)}
.m-head{margin-top:2vh}.m-sub{margin:6px 0 0;font:700 15px var(--tb);letter-spacing:.42em;color:#AEB4C2}
.m-contract{border-left:3px solid var(--ash);background:rgba(8,10,16,.72);padding:10px 16px;text-align:left;max-width:520px;width:100%;backdrop-filter:blur(6px)}
.m-contract b{font:800 20px var(--tb);letter-spacing:.08em;display:block}.m-contract span{color:#B9BECB;font-size:14px}.m-contract .obj{color:#FFB25C;font:700 16px var(--tb);letter-spacing:.06em;text-transform:uppercase;display:block;margin-top:2px}
.m-chal{border:1px solid var(--cold);background:rgba(6,30,40,.7);padding:8px 14px;font:700 16px var(--tb);letter-spacing:.06em;max-width:520px}
.m-play{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}
.m-load{display:flex;flex-direction:column;gap:8px;max-width:760px;width:100%;background:rgba(6,8,13,.78);border:1px solid rgba(255,255,255,.08);padding:12px;backdrop-filter:blur(8px)}
.m-lo{font:700 15px var(--tb);letter-spacing:.16em;text-transform:uppercase;color:#C9CDD6;background:rgba(6,8,13,.72);border:1px solid rgba(255,255,255,.14);padding:8px 14px;cursor:pointer;border-radius:3px;max-width:560px}.m-lo b{color:#fff}.m-lo i{font-style:normal;color:var(--ash);margin-left:8px}
.m-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.m-lbl{font:800 13px var(--tb);letter-spacing:.24em;color:#8A90A0;width:86px;text-align:left}
.wpicks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;flex:1;min-width:260px}
.wp{text-align:left;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#E8EAF0;padding:6px 8px;cursor:pointer;border-radius:3px;font-family:var(--tb)}
.wp b{display:block;font-size:16px;letter-spacing:.08em}.wp small{display:block;color:#9AA0AE;font:12px system-ui,sans-serif;line-height:1.25}.wp.on{border-color:var(--ash);background:rgba(255,138,31,.14)}
.wp .bars{display:flex;gap:3px;margin-top:4px}.wp .bars i{height:3px;flex:1;background:rgba(255,255,255,.14)}.wp .bars i.f{background:var(--ash)}
#m-name{font:800 16px var(--tb);letter-spacing:.14em;text-transform:uppercase;background:rgba(0,0,0,.4);color:#fff;border:1px solid rgba(255,255,255,.18);padding:6px 10px;width:130px;border-radius:3px}
.skins .sw{width:12px;height:12px;display:inline-block;margin-right:6px;vertical-align:-1px;box-shadow:0 0 8px currentColor}
.m-foot{color:#8A90A0;font-size:13px;display:flex;gap:10px;align-items:center}
@media (max-width:640px){.wpicks{grid-template-columns:repeat(2,minmax(0,1fr))}.m-lbl{width:100%}.btn.deploy{font-size:22px;padding:8px 30px}#menu{gap:10px}.m-head{margin-top:0}}
/* HUD */
.hud{position:absolute;inset:0;pointer-events:none;font-family:var(--tb);color:#F1F2F5;z-index:3;text-transform:uppercase}
.sb{position:absolute;top:10px;left:50%;transform:translateX(-50%);display:flex;align-items:stretch;gap:0;background:var(--hud);border:1px solid var(--hudl);backdrop-filter:blur(6px)}
.sb-t{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 14px;min-width:78px}.sb-t b{font-size:28px;line-height:1;font-weight:800}.sb-t small{font-size:11px;letter-spacing:.3em;opacity:.85}
.sb-t.a{border-bottom:3px solid var(--ash)}.sb-t.a b{color:var(--ash)}.sb-t.c{border-bottom:3px solid var(--cold)}.sb-t.c b{color:var(--cold)}
.sb-mid{display:flex;flex-direction:column;align-items:center;padding:4px 10px;border-left:1px solid var(--hudl);border-right:1px solid var(--hudl)}
.zones{display:flex;gap:6px}.zones span{width:26px;height:26px;display:grid;place-items:center;font-weight:800;font-size:16px;border:1.5px solid rgba(255,255,255,.4);background:rgba(0,0,0,.3);position:relative;overflow:hidden}
.zones span.o0{border-color:var(--ash);background:rgba(255,138,31,.35)}.zones span.o1{border-color:var(--cold);background:rgba(46,230,255,.3)}.zones span.ct{animation:blink .35s steps(2) infinite}
.zones span i{position:absolute;left:0;bottom:0;height:3px}
@keyframes blink{50%{border-color:#fff}}
.timer{font-size:16px;letter-spacing:.14em;margin-top:2px;font-weight:600}
.mini{position:absolute;top:10px;left:10px;width:132px;height:132px;background:rgba(5,7,12,.7);border:1px solid var(--hudl);opacity:.95}
.feed{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:15px;font-weight:600;letter-spacing:.05em;text-transform:none}
.feed p{margin:0;background:var(--hud);padding:2px 8px;border-right:3px solid #555}.feed .a{color:var(--ash)}.feed .c{color:var(--cold)}.feed p.me{border-right-color:#fff;background:rgba(40,40,40,.75)}.feed em{font-style:normal;color:#9AA0AE;font-size:12px;letter-spacing:.12em;margin:0 6px}
.vitals{position:absolute;left:14px;bottom:14px;width:min(260px,40vw)}.vitals .name{font-weight:800;letter-spacing:.2em;font-size:14px;margin-bottom:4px}
.hp{height:10px;background:rgba(0,0,0,.55);border:1px solid var(--hudl);position:relative}.hp i{position:absolute;left:0;top:0;bottom:0;width:100%;background:linear-gradient(90deg,#E8E8E8,#FFFFFF);transition:width .12s}.hp.low i{background:#FF4A3A}
.pips{display:flex;gap:4px;margin-top:6px}.pips span{flex:1;height:5px;background:rgba(255,255,255,.14)}.pips span.f{background:var(--ash);box-shadow:0 0 8px var(--ash)}.pips span.m{background:#fff}
.arms{position:absolute;right:14px;bottom:14px;text-align:right}.wname{font-weight:800;letter-spacing:.2em;font-size:14px}.ammo b{font-size:46px;line-height:.9;font-weight:800}.ammo small{font-size:18px;opacity:.7;margin-left:4px}
.rl{height:3px;width:140px;margin-left:auto;background:rgba(255,255,255,.1)}.rl i{display:block;height:100%;width:0;background:#fff}
.kit{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}.kb{font-size:12px;letter-spacing:.14em;padding:3px 7px;border:1px solid rgba(255,255,255,.25);background:var(--hud)}.kb.cd{opacity:.35}.kb.st{border-color:#FFD36A;color:#FFD36A;animation:blink .6s steps(2) infinite}
.center{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);text-align:center;font-weight:800;letter-spacing:.1em;font-size:22px;text-shadow:0 2px 12px rgba(0,0,0,.7);white-space:nowrap}
.pops{position:absolute;left:50%;top:62%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px}
.pops p{margin:0;font-weight:800;letter-spacing:.14em;font-size:20px;animation:pop 1.6s ease-out forwards;text-shadow:0 2px 10px rgba(0,0,0,.8)}.pops p b{color:var(--ash);margin-left:6px}
@keyframes pop{0%{transform:scale(1.4);opacity:0}12%{transform:scale(1);opacity:1}80%{opacity:1}100%{opacity:0;transform:translateY(-14px)}}
.banner{position:absolute;left:0;right:0;top:22%;text-align:center;font-weight:800;font-style:italic;font-size:clamp(30px,6vw,58px);letter-spacing:.04em;opacity:0;text-shadow:0 0 30px rgba(0,0,0,.8)}
.banner.show{animation:ban 2s ease-out forwards}.banner small{display:block;font-size:.36em;font-style:normal;letter-spacing:.3em;opacity:.85}
@keyframes ban{0%{opacity:0;transform:scale(1.25)}10%{opacity:1;transform:scale(1)}75%{opacity:1}100%{opacity:0}}
.dmg{position:absolute;inset:0;box-shadow:inset 0 0 120px rgba(255,40,30,.0);transition:box-shadow .3s}.dmg.on{box-shadow:inset 0 0 140px rgba(255,40,30,.55);transition:none}
.hitm{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;opacity:0;background:linear-gradient(45deg,transparent 45%,#fff 45%,#fff 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,#fff 45%,#fff 55%,transparent 55%)}.hitm.on{opacity:1;transition:none}.hitm.k{background:linear-gradient(45deg,transparent 42%,#FF3A2E 42%,#FF3A2E 58%,transparent 58%),linear-gradient(-45deg,transparent 42%,#FF3A2E 42%,#FF3A2E 58%,transparent 58%);width:30px;height:30px;margin:-15px 0 0 -15px}
.hitm{transition:opacity .2s}
.coach{position:absolute;left:50%;bottom:92px;transform:translateX(-50%);background:var(--hud);border:1px solid var(--hudl);padding:6px 14px;font-size:16px;letter-spacing:.1em;opacity:0;transition:opacity .4s;white-space:nowrap}.coach.show{opacity:1}.coach b{color:var(--ash)}
.stick{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;border:1.5px solid rgba(255,255,255,.28);border-radius:50%;display:none}.stick i{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:rgba(255,255,255,.22)}.stick.on{display:block}.stick.r{border-color:rgba(255,138,31,.5)}
.tbtns{position:absolute;right:12px;bottom:118px;display:none;flex-direction:column;gap:8px;pointer-events:auto}.tbtns button{font:800 13px var(--tb);letter-spacing:.14em;color:#fff;background:var(--hud);border:1px solid rgba(255,255,255,.3);width:74px;height:44px;border-radius:3px}#t-streak{border-color:#FFD36A;color:#FFD36A}
body.coarse .tbtns{display:flex}body.coarse .arms{bottom:10px}body.coarse .kit{display:none}
.hbtn{position:absolute;pointer-events:auto;top:10px;left:150px;width:40px;height:34px;background:var(--hud);color:#fff;border:1px solid var(--hudl);font:800 14px var(--tb);border-radius:3px}
@media (max-width:640px){.mini{width:84px;height:84px;top:64px;left:8px}.hbtn{left:auto;right:8px;top:64px}.sb{top:6px}.sb-t{min-width:56px;padding:2px 8px}.sb-t b{font-size:22px}.feed{top:auto;bottom:150px;right:8px;font-size:13px}.vitals{width:42vw;bottom:10px;left:10px}.ammo b{font-size:34px}.center{font-size:18px}}
/* cinematics */
.cine{position:absolute;inset:0;pointer-events:none;z-index:4;font-family:var(--tb);text-transform:uppercase;box-shadow:inset 0 70px 0 rgba(0,0,0,.92),inset 0 -70px 0 rgba(0,0,0,.92)}
.cine-t{position:absolute;top:14px;left:0;right:0;text-align:center;font:800 italic 34px var(--tb);letter-spacing:.12em;color:#FF4A3A}.cine-t.potm{color:var(--ash)}
.cine-s{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-weight:800;font-size:20px;letter-spacing:.14em;color:#fff}.cine-s em{font-style:normal;color:#9AA0AE;margin:0 8px}
.cine-k{position:absolute;top:22px;right:16px;font-size:12px;letter-spacing:.2em;color:#9AA0AE}@media (max-width:700px){.cine-k{top:auto;bottom:76px;right:0;left:0;text-align:center}}body.capfull .cine-k{display:none}
.cap{position:absolute;left:0;right:0;bottom:12%;text-align:center;font:800 italic clamp(26px,5vw,48px) var(--tb);text-transform:uppercase;letter-spacing:.04em;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.9);pointer-events:none;z-index:6;padding:0 16px}.cap b{color:var(--ash)}
.endcard{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(3,4,8,.86);z-index:7;font-family:var(--tb);text-transform:uppercase;text-align:center;color:#fff}.endcard p{margin:0}.endcard .url{font-size:24px;letter-spacing:.14em;color:var(--ash)}.endcard small{letter-spacing:.2em;color:#9AA0AE}
/* results */
.panel.over{position:absolute;inset:0;z-index:6;overflow:auto;background:linear-gradient(180deg,rgba(3,4,8,.55),rgba(3,4,8,.94) 40%);padding:18px;display:flex;flex-direction:column;gap:10px;align-items:center;border-radius:0;border:0}
.o-top{text-align:center}.o-res{margin:0;font:800 italic clamp(54px,10vw,96px)/.9 var(--tb);letter-spacing:.02em}.o-res.w{color:var(--ash);text-shadow:0 0 40px rgba(255,138,31,.4)}.o-res.l{color:#C9CDD6}.o-sub{margin:4px 0 0;font:700 16px var(--tb);letter-spacing:.3em;color:#AEB4C2}
.o-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px;width:100%;max-width:820px}
@media (max-width:640px){.o-grid{grid-template-columns:1fr}}
.o-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.o-stats div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:8px 6px;text-align:center;font-family:var(--tb)}.o-stats b{display:block;font-size:30px;line-height:1;font-weight:800}.o-stats small{letter-spacing:.2em;color:#9AA0AE;font-size:11px}.o-stats .big{grid-column:span 3}.o-stats .big b{font-size:40px;color:var(--ash)}
.o-board table{width:100%;border-collapse:collapse;font:600 15px var(--tb);letter-spacing:.06em}.o-board td{padding:3px 6px;border-bottom:1px solid rgba(255,255,255,.06)}.o-board td:first-child{border-left:3px solid}.o-board tr.t0 td:first-child{border-color:var(--ash)}.o-board tr.t1 td:first-child{border-color:var(--cold)}.o-board tr.me td{background:rgba(255,255,255,.08);font-weight:800}.o-board td.n{text-align:right;width:52px}.o-board tr.hd td{color:#8A90A0;font-size:12px;letter-spacing:.2em;border-left:0}
.o-con{margin:0;font:700 17px var(--tb);letter-spacing:.08em;text-transform:uppercase}.o-con.ok{color:#5CFFB0}.o-con.no{color:#9AA0AE}
.o-vs{margin:0;font:800 18px var(--tb);letter-spacing:.08em;color:var(--cold)}
.clipv{width:min(420px,100%);border:1px solid rgba(255,255,255,.1)}
.panel.over .row{justify-content:center}
.under{margin-top:10px}
.pro-badge{font:800 12px var(--tb);letter-spacing:.2em;vertical-align:middle}
.seo h2,.seo h3{font-family:var(--tb);letter-spacing:.04em;text-transform:uppercase}
dialog.funpass{font-family:system-ui,sans-serif}
body.capfull{overflow:hidden}body.capfull .stage{position:fixed;inset:0;margin:0;border-radius:0;z-index:60}body.capfull #c{height:100vh}
/* ---- first person (17 Oct 2026): crosshair, hit markers, damage direction, scope, zone markers, scoreboard, touch controls, settings */
body.playing #c{cursor:none}
.xh{position:absolute;left:50%;top:50%;width:0;height:0;--g:6px;transition:opacity .12s}.xh.off{opacity:0}
.xh i{position:absolute;background:#F4F6F8;box-shadow:0 0 0 1px rgba(0,0,0,.55)}
.xh .t,.xh .b{width:2px;height:9px;left:-1px}.xh .t{top:calc(-9px - var(--g))}.xh .b{top:var(--g)}
.xh .l,.xh .r{height:2px;width:9px;top:-1px}.xh .l{left:calc(-9px - var(--g))}.xh .r{left:var(--g)}
.xh .d{width:2px;height:2px;left:-1px;top:-1px}.xh.foe i{background:#FF5A4A}
.hitm{left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px}
.hitm.head{background:linear-gradient(45deg,transparent 44%,#FFD24A 44%,#FFD24A 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,#FFD24A 44%,#FFD24A 56%,transparent 56%)}
.hitm.kill{width:34px;height:34px;margin:-17px 0 0 -17px;background:linear-gradient(45deg,transparent 42%,#FF3A2E 42%,#FF3A2E 58%,transparent 58%),linear-gradient(-45deg,transparent 42%,#FF3A2E 42%,#FF3A2E 58%,transparent 58%)}
.dmgdir{position:absolute;left:50%;top:50%;width:0;height:0}
.dmgdir i{position:absolute;left:-60px;top:-150px;width:120px;height:150px;transform-origin:60px 150px;animation:dd 1.1s ease-out forwards}
.dmgdir i::before{content:"";position:absolute;left:10px;right:10px;top:0;height:22px;border-radius:50% 50% 0 0/100% 100% 0 0;border-top:5px solid rgba(255,50,40,.9);filter:drop-shadow(0 0 6px rgba(255,40,30,.8))}
@keyframes dd{0%{opacity:1}70%{opacity:.85}100%{opacity:0}}
.scope{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 0,transparent min(34vh,34vw),rgba(0,0,0,.96) calc(min(34vh,34vw) + 2px))}
.scope::before,.scope::after{content:"";position:absolute;background:rgba(0,0,0,.9)}.scope::before{left:50%;top:15%;bottom:15%;width:2px;margin-left:-1px}.scope::after{top:50%;left:20%;right:20%;height:2px;margin-top:-1px}
.scope i{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#FF3A2E;box-shadow:0 0 8px #FF3A2E}
.zmark{position:absolute;left:0;top:0;width:0;height:0}
.zm{position:absolute;left:0;top:0;margin:-17px 0 0 -17px;width:34px;text-align:center;font-weight:800;filter:drop-shadow(0 2px 4px rgba(0,0,0,.8))}
.zm b{display:grid;place-items:center;width:24px;height:24px;margin:0 auto;font-size:15px;border:2px solid #E8EAF0;background:rgba(0,0,0,.35)}
.zm small{display:block;font-size:11px;letter-spacing:.12em;margin-top:4px;white-space:nowrap;opacity:.9}
.zm.o0 b{border-color:var(--ash);color:var(--ash);background:rgba(255,138,31,.18)}.zm.o1 b{border-color:var(--cold);color:var(--cold);background:rgba(46,230,255,.16)}.zm.ct b{animation:blink .35s steps(2) infinite}.zm.in{opacity:.6}
.mini{border-radius:50%;width:132px;height:132px}
.hp{height:14px}.hp b{position:absolute;right:4px;top:0;font-size:12px;line-height:13px;color:#0A0B10}.hp.low b{color:#fff}
.slots{display:flex;gap:4px;justify-content:flex-end;margin-bottom:4px}.slots span{font-size:12px;letter-spacing:.12em;padding:2px 7px;border:1px solid rgba(255,255,255,.2);background:var(--hud);opacity:.6}.slots span.on{opacity:1;border-color:var(--ash)}.slots b{color:var(--ash);margin-right:5px}
.ammo b.low{color:#FF6A5A}
.feed .hsi{display:inline-block;width:11px;height:11px;margin-left:5px;vertical-align:-1px;border:2px solid #FFD24A;border-radius:50%}
.board{position:absolute;left:50%;top:18%;transform:translateX(-50%);min-width:min(460px,90%);background:rgba(6,8,13,.88);border:1px solid var(--hudl);padding:10px;backdrop-filter:blur(6px)}
.board table{width:100%;border-collapse:collapse;font:600 16px var(--tb);letter-spacing:.06em}.board td{padding:3px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.board td:first-child{border-left:3px solid}.board tr.t0 td:first-child{border-color:var(--ash)}.board tr.t1 td:first-child{border-color:var(--cold)}.board tr.me td{background:rgba(255,255,255,.08);font-weight:800}.board td.n{text-align:right;width:56px}.board tr.hd td{color:#8A90A0;font-size:12px;letter-spacing:.2em;border-left:0}
.tc{display:none;position:absolute;right:0;bottom:0;width:250px;height:250px;pointer-events:none}
.tc button{position:absolute;pointer-events:auto;font:800 12px var(--tb);letter-spacing:.12em;color:#fff;background:rgba(6,8,14,.5);border:1.5px solid rgba(255,255,255,.35);border-radius:50%;width:56px;height:56px;touch-action:none;-webkit-user-select:none;user-select:none;padding:0}
.tc button.on{background:rgba(255,138,31,.45);border-color:var(--ash)}
.tc #t-fire{width:96px;height:96px;right:26px;bottom:34px;font-size:16px;border-color:rgba(255,90,70,.75);background:rgba(120,20,10,.35)}.tc #t-fire.on{background:rgba(255,70,50,.5)}
.tc #t-ads{right:132px;bottom:58px}.tc #t-jump{right:44px;bottom:144px}.tc #t-crouch{right:118px;bottom:126px;font-size:10px}.tc #t-reload{right:184px;bottom:110px;font-size:10px}
.tc #t-swap{right:192px;bottom:42px;width:48px;height:48px;font-size:10px}.tc #t-nade{right:150px;bottom:186px;width:48px;height:48px;font-size:10px}.tc #t-streak{right:66px;bottom:212px;width:auto;border-radius:3px;padding:0 10px;height:36px;border-color:#FFD36A;color:#FFD36A}
body.coarse .tc{display:block}body.coarse .arms{bottom:auto;top:58px;right:10px}body.coarse .kit{display:none}body.coarse .feed{top:auto;bottom:250px;right:10px;font-size:12px}
body.coarse .vitals{bottom:12px;left:50%;transform:translateX(-50%);width:min(240px,34vw)}body.coarse .vitals .name{display:none}
@media (orientation:portrait){body.coarse .tc{transform:scale(.86);transform-origin:100% 100%}body.coarse .arms{top:96px}}
.settings{justify-content:center;z-index:8}.st-body{display:flex;flex-direction:column;gap:10px;width:min(520px,100%);background:rgba(6,8,13,.82);border:1px solid rgba(255,255,255,.1);padding:14px;text-align:left}
.st-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font:700 14px var(--tb);letter-spacing:.12em;flex-wrap:wrap}.st-row b{color:var(--ash);margin-left:6px}.st-row input[type=range]{flex:1;min-width:160px;accent-color:var(--ash)}
.rotate{z-index:9;background:rgba(3,4,8,.92)}
@media (max-width:640px){.mini{width:92px;height:92px;top:52px}.board table{font-size:13px}}
body.coarse .feed{top:150px;bottom:auto;left:10px;right:auto;align-items:flex-start}body.coarse .feed p{border-right:0;border-left:3px solid #555}body.coarse .feed p.me{border-left-color:#fff}
body.coarse .arms{top:10px;right:10px}body.coarse .slots{display:none}body.coarse .wname{font-size:12px}body.coarse .ammo b{font-size:32px}
body.coarse .hbtn{left:auto;right:10px;top:auto;bottom:auto;top:96px}
@media (max-height:500px){body.coarse .tc{transform:scale(.74);transform-origin:100% 100%}body.coarse .mini{width:84px;height:84px}body.coarse .feed{top:104px}body.coarse .sb{transform:translateX(-50%) scale(.82);transform-origin:50% 0}body.coarse .vitals{bottom:8px}}
@media (orientation:portrait){body.coarse .arms{top:64px}body.coarse .hbtn{top:150px}body.coarse .feed{top:110px}}
/* ---- feel + looks upgrade (17 Oct 2026): how-to card, target info, kill confirm, bigger touch controls */
/* in a match the game fills the whole window on every device (no page chrome, no scrolling under the mouse) */
body.playing{overflow:hidden}body.playing .stage{position:fixed;inset:0;margin:0;border-radius:0;z-index:60}body.playing #c{height:100vh;height:100dvh}
.coach.show{transition:none}.coach{bottom:auto;top:max(76px,16%);padding:12px 18px 10px;white-space:normal;max-width:min(640px,92%);text-align:center;background:rgba(6,8,14,.82);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);letter-spacing:.06em;font-size:15px}
.coach .ht-t{margin:0 0 8px;font:800 italic 22px var(--tb);letter-spacing:.14em;color:var(--ash)}
.coach .ht-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 12px;text-align:left}
.coach .ht-g span{display:flex;flex-direction:column;font-size:13px;letter-spacing:.06em;color:#C9CDD6;text-transform:none;font-family:system-ui,sans-serif}
.coach .ht-g b{font:800 15px var(--tb);letter-spacing:.12em;color:#fff;text-transform:uppercase}
.coach .ht-k{margin:8px 0 0;font-size:12px;letter-spacing:.3em;color:#9AA0AE}
body.coarse .coach .ht-g{grid-template-columns:repeat(3,minmax(0,1fr))}body.coarse .coach{top:max(64px,14%);max-width:min(560px,62%);padding:8px 12px}body.coarse .coach .ht-g span{font-size:11px}body.coarse .coach .ht-g b{font-size:13px}body.coarse .coach .ht-t{font-size:17px;margin-bottom:4px}
@media (max-width:640px){.coach .ht-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tgt{position:absolute;left:50%;top:calc(50% + 34px);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;opacity:0;transition:opacity .12s;text-shadow:0 1px 4px rgba(0,0,0,.9)}
.tgt.on{opacity:1}.tgt b{font-size:14px;letter-spacing:.14em;color:#FF6A5A}.tgt small{font-size:10px;letter-spacing:.2em;color:#C9CDD6}
.tgt i{display:block;width:64px;height:4px;background:rgba(0,0,0,.6);position:relative}.tgt i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--h);background:#FF5A4A}
.kconf{position:absolute;left:50%;top:calc(50% - 92px);transform:translateX(-50%) scale(1.6);display:flex;align-items:center;gap:6px;opacity:0;pointer-events:none}
.kconf.on{animation:kc .9s ease-out forwards}
.kconf i{width:28px;height:28px;background:linear-gradient(45deg,transparent 40%,#FF3A2E 40%,#FF3A2E 60%,transparent 60%),linear-gradient(-45deg,transparent 40%,#FF3A2E 40%,#FF3A2E 60%,transparent 60%);filter:drop-shadow(0 0 6px rgba(255,58,46,.7))}
.kconf b{font-size:30px;font-weight:800;color:#fff}.kconf small{font-size:12px;letter-spacing:.24em;color:#FF6A5A}.kconf.hs small{color:#FFD24A}.kconf.hs i{filter:drop-shadow(0 0 6px rgba(255,210,74,.8))}
@keyframes kc{0%{opacity:0;transform:translateX(-50%) scale(1.8)}12%{opacity:1;transform:translateX(-50%) scale(1)}75%{opacity:1}100%{opacity:0;transform:translateX(-50%) scale(1) translateY(-8px)}}
.hitm.on{transform:scale(1.15)}.hitm{transition:opacity .18s,transform .18s}
/* touch: bigger thumbs, nothing under the right thumb's resting spot */
.tc{width:300px;height:300px}
.tc button{width:64px;height:64px;font-size:12px;background:rgba(6,8,14,.48);border-width:2px}
.tc #t-fire{width:112px;height:112px;right:24px;bottom:30px;font-size:17px}
.tc #t-ads{right:150px;bottom:40px}.tc #t-jump{right:40px;bottom:160px}.tc #t-crouch{right:120px;bottom:152px;font-size:10px}
.tc #t-reload{right:210px;bottom:120px;width:56px;height:56px;font-size:10px}.tc #t-swap{right:232px;bottom:44px;width:52px;height:52px;font-size:10px}
.tc #t-nade{right:190px;bottom:210px;width:52px;height:52px;font-size:10px}.tc #t-streak{right:60px;bottom:244px}
.stick{width:132px;height:132px;margin:-66px 0 0 -66px;border-width:2px;background:rgba(6,8,14,.18)}.stick i{width:54px;height:54px;margin:-27px 0 0 -27px;background:rgba(255,255,255,.3)}
@media (max-height:500px){body.coarse .tc{transform:scale(.86)}}
@media (orientation:portrait){body.coarse .tc{transform:scale(.9)}body.coarse .coach{max-width:92%;top:250px}body.coarse .coach .ht-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
|