/* Base building panels: each building has its own hero scene, palette, typography and effects. */
.bp-hero{--bpc:#d9d2a8;--bpg:#10161a;position:relative;container-type:inline-size;height:232px;margin:0 0 20px;overflow:hidden;border:1px solid #ffffff26;border-radius:3px;isolation:isolate;color:#fff;background:var(--bpg);box-shadow:0 8px 24px #0006}
.bp-photo{position:absolute;top:-3%;bottom:-3%;left:36%;right:0;background-image:var(--photo);background-repeat:no-repeat;background-size:248cqw auto;background-position:calc(var(--col,0)*-62cqw) calc(var(--row,0)*-62cqw - var(--top,0)*.62cqw);animation:bpPan 28s ease-in-out infinite alternate;filter:saturate(1.08) contrast(1.05)}
.bp-hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--bpg) 0,var(--bpg) 34%,#0000 66%),linear-gradient(0deg,#0008,#0000 45%);pointer-events:none}
.bp-cover .bp-photo{left:0;background-size:cover;background-position:center 40%}
.bp-cover:before{background:linear-gradient(90deg,#0a1014f0 0,#0a1014b0 38%,#0000 75%),linear-gradient(0deg,#0008,#0000 45%)}
.bp-art{position:absolute;inset:0;z-index:2;pointer-events:none}
.bp-title{position:absolute;left:26px;bottom:20px;z-index:3;max-width:48%}
.bp-title small{display:block;font:11px/1.3 'Courier New',monospace;letter-spacing:2.4px;color:var(--bpc);opacity:.92}
.bp-title h2{margin:6px 0 4px;font-size:32px;line-height:1.05;color:#fff!important;text-shadow:0 2px 10px #000}
.bp-title p{margin:0;font-size:13px;color:#d6dbd4!important;text-shadow:0 1px 6px #000}
.bp-gauges{position:absolute;right:14px;bottom:12px;z-index:3;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:62%}
.bp-gauges span{background:#000a;border:1px solid var(--bpc);padding:5px 10px;border-radius:2px;backdrop-filter:blur(3px)}
.bp-gauges em{display:block;font:normal 11px/1.2 'Courier New',monospace;letter-spacing:1.6px;color:var(--bpc);text-transform:uppercase}
.bp-gauges b{font-size:14px;color:#fff!important}
@keyframes bpPan{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.12) translate(-1.6%,-1.2%)}}
@keyframes bpSpin{to{transform:rotate(360deg)}}
@keyframes bpSwing{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
/* ---------- command: radar, ticker */
.bp-hero-command{--bpc:#b7e08a;--bpg:#0f1d12}
.bp-hero-command .bp-title h2{font-family:'Courier New',monospace;letter-spacing:1px;text-transform:uppercase}
.bp-radar{position:absolute;right:34px;top:20px;width:168px;height:168px;border-radius:50%;border:2px solid #b7e08aaa;background:repeating-radial-gradient(circle,#0000 0 27px,#b7e08a55 27px 28px),linear-gradient(#b7e08a44,#b7e08a44) 50% 0/1px 100% no-repeat,linear-gradient(#b7e08a44,#b7e08a44) 0 50%/100% 1px no-repeat,#0b1a0ed0;box-shadow:0 0 30px #b7e08a40,inset 0 0 36px #b7e08a33;overflow:hidden}
.bp-radar .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#b7e08a00 0 280deg,#b7e08a8a 360deg);animation:bpSpin 4s linear infinite}
.bp-radar b{position:absolute;width:8px;height:8px;margin:-4px;border-radius:50%;background:#ffef8a;box-shadow:0 0 10px #ffef8a;opacity:0;animation:bpBlip 4s linear infinite}
@keyframes bpBlip{0%{opacity:1;transform:scale(1.6)}25%{opacity:.85}70%,100%{opacity:0;transform:scale(.6)}}
.bp-ticker{position:absolute;left:0;right:0;bottom:0;height:26px;display:flex;align-items:center;background:#0a120bcc;border-top:1px solid #b7e08a77;overflow:hidden;white-space:nowrap;font:11px 'Courier New',monospace;color:#b7e08a;z-index:2}
.bp-ticker span{flex:none;animation:bpTicker 40s linear infinite}
@keyframes bpTicker{to{transform:translateX(-100%)}}
.bp-hero-command .bp-title{bottom:40px}.bp-hero-command .bp-gauges{bottom:38px;right:220px}
/* ---------- weapons: rifle with callouts */
.bp-hero-weapons{--bpc:#f3a93a;--bpg:#14120e}
.bp-hero-weapons .bp-title h2{font-family:Impact,'Arial Narrow Bold',sans-serif;letter-spacing:2px;text-transform:uppercase;font-weight:400;font-size:36px}
.bp-rifle{position:absolute;right:44px;top:48px;width:380px;fill:#0c0d0ee6;stroke:var(--bpc);stroke-width:1.3;filter:drop-shadow(0 0 8px #f3a93a55)}
.bp-rifle .calls path{fill:none;stroke-dasharray:140;stroke-dashoffset:140;animation:bpCall 7s infinite}
.bp-rifle .calls path:nth-child(2){animation-delay:1.3s}.bp-rifle .calls path:nth-child(3){animation-delay:2.6s}
.bp-weapons .c,.bp-hero-weapons .c{position:absolute;font:11px 'Courier New',monospace;letter-spacing:1.4px;color:var(--bpc);opacity:0;animation:bpCallT 7s infinite;background:#000a;padding:1px 5px}
.bp-hero-weapons .c1{right:290px;top:26px}.bp-hero-weapons .c2{right:48px;top:32px;animation-delay:1.3s}.bp-hero-weapons .c3{right:160px;top:146px;animation-delay:2.6s}
.bp-hero-weapons .scan{position:absolute;top:0;bottom:0;width:90px;background:linear-gradient(90deg,#0000,#f3a93a44,#0000);animation:bpScan 6s linear infinite}
@keyframes bpCall{0%,4%{stroke-dashoffset:140}18%,40%{stroke-dashoffset:0}55%,100%{stroke-dashoffset:-140}}
@keyframes bpCallT{0%,14%{opacity:0}22%,40%{opacity:1}52%,100%{opacity:0}}
@keyframes bpScan{from{left:30%}to{left:100%}}
/* ---------- gear: swaying hangers */
.bp-hero-gear{--bpc:#d8c48c;--bpg:#16170f}
.bp-hero-gear .bp-title h2{font-family:Georgia,serif;font-style:italic}
.bp-rail svg{position:absolute;right:0;top:0;width:64%;height:100%}
.bp-rail .rail{stroke:#d8c48c;stroke-width:3}
.bp-rail .hang{transform-box:view-box;animation:bpSwing 3.6s ease-in-out infinite alternate}
.bp-rail .hang path{fill:#3a4632;stroke:#d8c48c;stroke-width:1.4;stroke-linejoin:round}
.bp-rail .hang path:first-child{fill:none}
.bp-rail .pk{fill:#2b3524!important}
.bp-rail .h1{transform-origin:80px 10px}.bp-rail .h2{transform-origin:230px 10px;animation-delay:-.8s}.bp-rail .h3{transform-origin:380px 10px;animation-delay:-1.6s}.bp-rail .h4{transform-origin:510px 10px;animation-delay:-2.4s}.bp-rail .h5{transform-origin:610px 10px;animation-delay:-3s}
/* ---------- food: steam, fire, chalk */
.bp-hero-food{--bpc:#f0c879;--bpg:#20180f}
.bp-fire{position:absolute;right:6%;top:2%;width:150px;height:110px;background:radial-gradient(circle,#ff9a3ca8,#ff6a1a33 50%,#0000 72%);mix-blend-mode:screen;animation:bpFlick 1.5s infinite}
@keyframes bpFlick{0%,100%{opacity:.75;transform:scale(1)}30%{opacity:1;transform:scale(1.08)}60%{opacity:.6;transform:scale(.94)}}
.bp-art .steam{position:absolute;bottom:38px;width:16px;height:64px;background:radial-gradient(#fffd,#fff0 70%);filter:blur(7px);opacity:0;animation:bpSteam 4.4s ease-out infinite}
@keyframes bpSteam{0%{opacity:0;transform:translate(0,10px) scale(.6)}25%{opacity:.75}100%{opacity:0;transform:translate(14px,-90px) scale(1.7)}}
.bp-bowl{position:absolute;right:14%;bottom:8px;width:128px;fill:#2b2218;stroke:#e6d3a2;stroke-width:2}.bp-bowl .soup{fill:#c9772b;stroke:none}
.bp-menu{position:absolute;right:24px;top:14px;display:grid;gap:3px;text-align:right;font:13px 'Segoe UI',Arial,sans-serif;color:#f3ecd5;text-shadow:0 1px 4px #000}
.bp-menu span:before{content:'· '}
/* ---------- household: tags, lamp, tools */
.bp-hero-household{--bpc:#ee8a42;--bpg:#10161b}
.bp-hero-household .bp-title h2{font-family:'Trebuchet MS',sans-serif;text-transform:uppercase;letter-spacing:1.5px}
.bp-art .cord{position:absolute;right:30%;top:-4px;width:2px;height:56px;background:#000;transform-origin:top;animation:bpSwing 3s ease-in-out infinite alternate}
.bp-art .cord:after{content:'';position:absolute;left:-12px;bottom:-14px;width:26px;height:18px;border-radius:14px 14px 4px 4px;background:#e9d38a;box-shadow:0 0 30px 14px #ffd86a55}
.bp-art .lamp{display:none}
.bp-art .tag{position:absolute;top:10px;width:46px;height:28px;background:#f3e4b2;border-radius:2px 8px 2px 2px;transform-origin:top center;animation:bpTag 4.2s ease-in-out infinite}
.bp-art .tag:before{content:'';position:absolute;left:50%;top:-10px;width:1px;height:10px;background:#ddd}
.bp-art .tag em{font:normal 700 11px/28px 'Courier New',monospace;display:block;text-align:center;color:#3a2a16}
@keyframes bpTag{0%,70%,100%{transform:rotateY(0) rotate(0)}80%{transform:rotateY(180deg) rotate(6deg)}90%{transform:rotateY(360deg) rotate(-4deg)}}
.bp-tools{position:absolute;right:28px;bottom:32px;width:230px;opacity:.9}.bp-tools path,.bp-tools circle,.bp-tools rect{fill:#0d1216;stroke:#ee8a42;stroke-width:2}.bp-tools .t4{fill:#ee8a42}
/* ---------- inventory: conveyor and scanner */
.bp-hero-inventory{--bpc:#f2c200;--bpg:#14140c}
.bp-hero-inventory .bp-title h2{font-family:'Arial Black',Impact,sans-serif;text-transform:uppercase;letter-spacing:3px;font-size:30px}
.bp-hero-inventory:after{content:'';position:absolute;left:0;right:0;top:0;height:8px;z-index:4;background:repeating-linear-gradient(-45deg,#f2c200 0 14px,#111 14px 28px)}
.bp-art .belt{position:absolute;left:36%;right:0;bottom:0;height:46px;background:repeating-linear-gradient(90deg,#1a1d22 0 18px,#262a31 18px 20px);border-top:3px solid #f2c200}
.bp-art .crate{position:absolute;left:0;bottom:40px;width:66px;height:46px;background:linear-gradient(#9b7a45,#7a5d33);border:2px solid #4f3b1f;animation:bpBelt 15.6s linear infinite;transform:translateX(-90px)}
.bp-art .crate em{font:normal 700 11px/42px 'Courier New',monospace;display:block;text-align:center;color:#2b1f0d}
@keyframes bpBelt{from{transform:translateX(-90px)}to{transform:translateX(calc(64cqw + 90px))}}
.bp-art .beam{position:absolute;top:8px;bottom:40px;left:50%;width:3px;background:#ff3b3b;box-shadow:0 0 16px 2px #ff3b3b;animation:bpBeam 3.2s ease-in-out infinite alternate}
@keyframes bpBeam{to{transform:translateX(30cqw)}}
.bp-art .sku{position:absolute;right:16px;top:20px;font:11px 'Courier New',monospace;letter-spacing:1.6px;color:#f2c200;background:#000a;padding:3px 8px}
.bp-hero-inventory .bp-gauges{bottom:62px}
/* ---------- hospital: ECG, cross, drip */
.bp-hero-hospital{--bpc:#8fe6c6;--bpg:#0e1a18}
.bp-hero-hospital .bp-title h2{font-family:'Segoe UI',Arial,sans-serif;font-weight:300;letter-spacing:.5px}
.bp-ecg{position:absolute;left:0;top:46px;width:100%;height:100px}
.bp-ecg path{fill:none;stroke-linejoin:round}.bp-ecg .faint{stroke:#8fe6c644;stroke-width:2}
.bp-ecg .live{stroke:#8fffd8;stroke-width:3;stroke-dasharray:130 870;animation:bpEcg 2.7s linear infinite;filter:drop-shadow(0 0 5px #8fffd8)}
@keyframes bpEcg{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
.bp-cross{position:absolute;right:30px;top:18px;width:46px;height:46px;animation:bpBeat 1.15s ease-in-out infinite}
.bp-cross i{position:absolute;background:#ff5b5b;border-radius:2px;box-shadow:0 0 14px #ff5b5b88}.bp-cross i:first-child{left:17px;top:0;width:12px;height:46px}.bp-cross i:last-child{left:0;top:17px;width:46px;height:12px}
@keyframes bpBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}45%{transform:scale(1.1)}}
.bp-drip{position:absolute;right:100px;top:0;width:10px;height:100px}.bp-drip:before{content:'';position:absolute;left:4px;top:0;width:1px;height:48px;background:#cfeee3aa}
.bp-drip b{position:absolute;left:1px;top:50px;width:7px;height:10px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#bff5ff;opacity:0;animation:bpDrop 1.8s ease-in infinite}.bp-drip b:nth-child(2){animation-delay:.6s}.bp-drip b:nth-child(3){animation-delay:1.2s}
@keyframes bpDrop{0%{opacity:0;transform:translateY(0)}15%{opacity:1}100%{opacity:0;transform:translateY(120px)}}
.bp-art .bpm{position:absolute;right:92px;top:24px;font:11px 'Courier New',monospace;letter-spacing:2px;color:#8fe6c6}.bpm em{font:700 26px 'Courier New',monospace;color:#8fffd8;margin-left:6px}
/* ---------- workshop: gears, hammer, sparks */
.bp-hero-workshop{--bpc:#e0ac4a;--bpg:#12171a}
.bp-hero-workshop .bp-title h2{font-family:'Courier New',monospace;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-left:6px solid #e0ac4a;padding-left:12px}
.bp-gears{position:absolute;right:190px;top:20px;width:300px;height:160px}
.bp-gears .gear{fill:#22282c;stroke:#e0ac4a;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:bpSpin 14s linear infinite}.bp-gears .g2{animation-direction:reverse;animation-duration:9s}.bp-gears .hub{fill:#0c1012;stroke:#e0ac4a;stroke-width:2}
.bp-anvil{position:absolute;right:48px;bottom:26px;width:120px;height:110px}
.bp-anvil .block{position:absolute;left:10px;bottom:0;width:100px;height:26px;background:#2a2f33;border-top:6px solid #6b7378;clip-path:polygon(0 0,100% 0,88% 100%,12% 100%)}
.bp-anvil .hammer{position:absolute;left:54px;bottom:22px;width:10px;height:78px;background:#6d4f2e;transform-origin:50% 100%;animation:bpHammer 1.1s ease-in infinite}
.bp-anvil .hammer:before{content:'';position:absolute;left:-14px;top:-6px;width:38px;height:20px;background:#7c848a;border-radius:2px}
@keyframes bpHammer{0%{transform:rotate(-48deg)}42%{transform:rotate(-48deg)}62%{transform:rotate(6deg)}72%{transform:rotate(0)}100%{transform:rotate(-48deg)}}
.bp-anvil u{position:absolute;left:58px;bottom:30px;width:4px;height:4px;border-radius:50%;background:#ffd36a;box-shadow:0 0 8px #ff9a2a;opacity:0;animation:bpSpark 1.1s ease-out infinite}
@keyframes bpSpark{0%,58%{opacity:0;transform:rotate(var(--a)) translateX(0)}62%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateX(58px)}}
/* ---------- gray: checkpoint */
.bp-hero-gray{--bpc:#ff7a6a;--bpg:#0a1014;height:208px}
.bp-hero-gray .bp-title h2{font-family:Consolas,'Courier New',monospace;text-transform:uppercase;letter-spacing:2px}
.bp-art .flood{position:absolute;right:30px;top:-50px;width:380px;height:320px;background:conic-gradient(from 150deg at 88% 0,#fff2b000 0 8deg,#fff2b046 8deg 30deg,#fff2b000 30deg);transform-origin:88% 0;animation:bpFlood 1s ease-in-out infinite alternate}
@keyframes bpFlood{from{transform:rotate(-22deg)}to{transform:rotate(18deg)}}
.bp-boom{position:absolute;right:150px;bottom:26px;width:240px;height:80px}
.bp-boom .post{position:absolute;right:0;bottom:0;width:26px;height:62px;background:linear-gradient(90deg,#3a3f44,#23272b);border:2px solid #111}
.bp-boom .arm{position:absolute;right:13px;bottom:50px;width:214px;height:10px;background:repeating-linear-gradient(90deg,#eee 0 20px,#d33 20px 40px);transform-origin:right center;animation:bpBoom 8s ease-in-out infinite}
@keyframes bpBoom{0%,10%{transform:rotate(0)}25%,60%{transform:rotate(-58deg)}78%,100%{transform:rotate(0)}}
.bp-lamps{position:absolute;right:196px;top:18px;display:flex;gap:10px}.bp-lamps b{width:16px;height:16px;border-radius:50%;background:#400;animation:bpLampR 8s infinite}.bp-lamps .green{background:#040;animation-name:bpLampG}
@keyframes bpLampR{0%,10%,78%,100%{background:#ff3b30;box-shadow:0 0 14px #ff3b30}25%,60%{background:#400;box-shadow:none}}
@keyframes bpLampG{0%,10%,78%,100%{background:#040;box-shadow:none}25%,60%{background:#35ff6b;box-shadow:0 0 14px #35ff6b}}
.bp-gate{position:absolute;right:16px;top:14px;font:11px 'Courier New',monospace;letter-spacing:1.6px;color:#9fe3ff;background:#000a;padding:3px 8px}
.bp-hero-gray .bp-gauges{display:none}
/* ---------- training: target */
.bp-hero-training{--bpc:#ffd27a;--bpg:#0d1316}
.bp-hero-training .bp-title h2{font-family:Georgia,serif;letter-spacing:1px}
.bp-target{position:absolute;right:60px;top:20px;height:180px;filter:drop-shadow(0 4px 10px #000a)}
.bp-target .sil{fill:#16181b}.bp-target .ring{fill:none;stroke:#e8e0c8;stroke-width:1.4;opacity:.8}
.bp-target .hole{fill:#ffd27a;transform-box:fill-box;transform-origin:center;transform:scale(0);animation:bpHole 5s infinite}
.bp-target .h2{animation-delay:.6s}.bp-target .h3{animation-delay:1.2s}.bp-target .h4{animation-delay:1.8s}
@keyframes bpHole{0%,3%{transform:scale(0)}6%{transform:scale(3)}10%,80%{transform:scale(1)}92%,100%{transform:scale(0)}}
.bp-art .flash{position:absolute;right:262px;top:92px;width:60px;height:60px;background:radial-gradient(#ffe9a0,#ff9a2a66 45%,#0000 70%);opacity:0;animation:bpFlashShot 1.2s infinite}
@keyframes bpFlashShot{0%,88%{opacity:0;transform:scale(.4)}92%{opacity:1;transform:scale(1.2)}100%{opacity:0}}
.bp-timer{position:absolute;right:206px;top:26px;font:700 22px 'Courier New',monospace;color:#ffd27a;background:#000b;padding:2px 8px;border:1px solid #ffd27a88}
/* ---------- shooting lanes */
.range-cards{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.bp-lane{--lc:#ffd27a;position:relative;display:flex;flex-direction:column;padding:0!important;overflow:hidden;border-radius:2px!important;background:#ddd2b0!important;border:2px solid #4a4632!important;box-shadow:0 6px 0 #0004!important}
.bp-lane>:not(.lane-art):not(.lane-sign){margin-left:14px;margin-right:14px}
.bp-lane>.lane-go{margin:12px 14px 14px!important}
.lane-sign{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;background:var(--lc);color:#191a14;font:700 11px 'Courier New',monospace;letter-spacing:1.4px}
.lane-sign span{text-align:right;font-weight:400}
.lane-art{height:118px;background:linear-gradient(#27302c,#161c1a);border-bottom:4px solid var(--lc);margin-bottom:10px}
.lane-art svg{width:100%;height:100%;display:block}
.lane-go{font-weight:700;letter-spacing:.5px}
.lane-pistol{--lc:#d7c16a}.lane-rifle{--lc:#9fc27a}.lane-smg{--lc:#e89b5a}.lane-lmg{--lc:#e0705a}.lane-sniper{--lc:#8fc5d8}.lane-launcher{--lc:#c48ad8}.lane-grenade{--lc:#b6d65a}
.lane-art .bulls circle{fill:none;stroke:#e8e0c8;stroke-width:1.4}.lane-art .bulls .c{fill:#c0392b;stroke:none}
.lane-art .hole{fill:#ffd27a;transform-box:fill-box;transform-origin:center;transform:scale(0);animation:bpHole 4.4s infinite}.lane-art .hole.b{animation-delay:.7s}.lane-art .hole.c2{animation-delay:1.4s}
.lane-art .cross{fill:none;stroke:#ff6a4a;stroke-width:1.4;animation:bpCross 4.4s ease-in-out infinite}
@keyframes bpCross{0%,100%{transform:translate(0,0)}25%{transform:translate(6px,-4px)}50%{transform:translate(-5px,5px)}75%{transform:translate(3px,3px)}}
.lane-art .sil{fill:#0c0e0f;stroke:#e8e0c8;stroke-width:1}.lane-art .sil.tiny{transform:scale(.45);transform-origin:150px 80px}
.lane-art .ring{fill:none;stroke:#e8e0c8;stroke-width:1.2}.lane-art .ground{fill:#3a3223}
.lane-art .railline{stroke:#9fc27a;stroke-width:3}
.lane-rifle .slider{animation:bpSlide 3.6s linear infinite alternate}.lane-rifle .s2{animation-delay:-1.8s}
@keyframes bpSlide{from{transform:translateX(14px)}to{transform:translateX(236px)}}
.lane-art .pop{transform-box:fill-box;transform-origin:bottom center;animation:bpPop 3.2s ease-in-out infinite}.lane-art .p1{animation-delay:.5s}.lane-art .p2{animation-delay:1.1s}.lane-art .p3{animation-delay:1.7s}
@keyframes bpPop{0%,10%{transform:scaleY(.02)}18%,42%{transform:scaleY(1)}52%,100%{transform:scaleY(.02)}}
.lane-art .bipod,.lane-art .gun{fill:#0c0e0f;stroke:#e0705a;stroke-width:1.4}
.lane-art .tracer{fill:none;stroke:#ffd27a;stroke-width:2;stroke-linecap:round;stroke-dasharray:12 130;stroke-dashoffset:0;opacity:0;animation:bpTracer 2.4s linear infinite}
.lane-art .t1{animation-delay:.08s}.lane-art .t2{animation-delay:.16s}.lane-art .t3{animation-delay:.24s}.lane-art .t4{animation-delay:.32s}
@keyframes bpTracer{0%{opacity:0;stroke-dashoffset:10}3%{opacity:1}16%{opacity:1;stroke-dashoffset:-110}20%,100%{opacity:0;stroke-dashoffset:-110}}
.lane-art .scope{fill:#10181a;stroke:#8fc5d8;stroke-width:3}.lane-art .reticle{stroke:#8fc5d8;stroke-width:1}.lane-art .mil{fill:#8fc5d8}
.lane-art .flag line{stroke:#ccc;stroke-width:2}.lane-art .flag path{fill:#d44;transform-box:fill-box;transform-origin:left;animation:bpFlag .9s ease-in-out infinite alternate}
@keyframes bpFlag{from{transform:skewY(-10deg) scaleX(.85)}to{transform:skewY(10deg) scaleX(1.05)}}
.lane-art .arc{fill:none;stroke:#c48ad8;stroke-width:1.4;stroke-dasharray:4 5}.lane-grenade .arc{stroke:#b6d65a}
.lane-art .zone{fill:none;stroke:#e8e0c8;stroke-width:1.2}.lane-art .zone.big.c{fill:#8a3a2a}
.lane-art .shell{fill:#ffd27a}.lane-art .boom{fill:#ff9a2a}.lane-art .nade circle{fill:#b6d65a}.lane-art .nade rect{fill:#8da63a}
.lane-art .wind path{fill:none;stroke:#b6d65a;stroke-width:2;stroke-dasharray:6 6;animation:bpDash 1s linear infinite}
@keyframes bpDash{to{stroke-dashoffset:-24}}
.activity-hero.bp-class{display:grid!important;grid-template-columns:220px 1fr auto;gap:18px;align-items:center;min-height:0!important;padding:14px 18px!important;margin:0 0 20px;background:linear-gradient(90deg,#1f2a22,#2b3828)!important;border:2px dashed #c9bd8a!important;color:#eee8cf}
.class-board svg{width:100%}.class-board .slate{fill:#22302a;stroke:#8d7a4a;stroke-width:4}.class-board .route{fill:none;stroke:#e8e0c8;stroke-width:2;stroke-dasharray:5 5;animation:bpDash 1.4s linear infinite}.class-board .pin{fill:#ff6a4a;animation:bpBeat 1.4s infinite;transform-box:fill-box;transform-origin:center}.class-board .chalk{stroke:#e8e0c8;stroke-width:2;opacity:.5}
.activity-hero.bp-class h2{margin:4px 0;font:700 22px Georgia,serif}.activity-hero.bp-class p{margin:0;font-size:13px}
/* ---------- effects: stamps and overlays */
#bp-fx{position:fixed;inset:0;z-index:2000;pointer-events:none}
.bp-stamp{--c:#d84a3a;position:fixed;left:50%;top:44%;transform:translate(-50%,-50%) rotate(-10deg) scale(2.6);opacity:0;animation:bpStamp 1.4s cubic-bezier(.2,.9,.3,1) forwards;border:6px solid var(--c);color:var(--c);padding:8px 26px;border-radius:6px;background:#0000;text-shadow:0 0 1px currentColor;mix-blend-mode:normal}
.bp-stamp b{font:400 48px/1 Impact,'Arial Black',sans-serif;letter-spacing:5px;white-space:nowrap}
.stamp-weapons{--c:#f3a93a}.stamp-gear{--c:#d8c48c}.stamp-food{--c:#f0c879}.stamp-household{--c:#ee8a42}.stamp-command{--c:#b7e08a}.stamp-workshop{--c:#e0ac4a}
.bp-stamp{background:#000a}
@keyframes bpStamp{0%{opacity:0;transform:translate(-50%,-50%) rotate(-10deg) scale(2.6)}18%{opacity:1;transform:translate(-50%,-50%) rotate(-10deg) scale(1)}24%{transform:translate(-50%,-50%) rotate(-10deg) scale(1.06)}30%,78%{opacity:1;transform:translate(-50%,-50%) rotate(-10deg) scale(1)}100%{opacity:0;transform:translate(-50%,-62%) rotate(-10deg) scale(1)}}
.bp-overlay{--fx:#e0ac4a;position:fixed;inset:0;display:grid;place-items:center;background:#000b;pointer-events:auto;opacity:0;transition:opacity .2s}
.bp-overlay.run{opacity:1}
.bp-overlay .box{width:min(560px,92vw);padding:20px 22px 22px;background:linear-gradient(#232b30,#151b1f);border:2px solid var(--fx);border-radius:4px;color:#e9efe9;box-shadow:0 18px 50px #000c}
.bp-overlay small{font:11px 'Courier New',monospace;letter-spacing:2.4px;color:var(--fx)}
.bp-overlay h3{margin:6px 0 14px;font-size:20px;color:#fff}
.bp-overlay .bar{height:8px;background:#0008;border:1px solid #ffffff33;margin-top:14px}.bp-overlay .bar i{display:block;height:100%;width:0;background:var(--fx);animation:bpBar var(--ms) linear forwards}
@keyframes bpBar{to{width:100%}}
.bp-overlay .status{margin:10px 0 0;font:13px 'Courier New',monospace;color:#d6dcd6;min-height:18px}
.bp-overlay.done .status{color:var(--fx)}
.fx-treat,.fx-refill{--fx:#8fe6c6}.fx-repair{--fx:#9fd0e8}
.craft-line{position:relative;height:190px;background:linear-gradient(#0d1215,#151b1f);border:1px solid #ffffff22;overflow:hidden}
.craft-line .belt{position:absolute;left:0;right:0;bottom:0;height:38px;background:repeating-linear-gradient(90deg,#20252a 0 16px,#2c3238 16px 18px);border-top:3px solid var(--fx)}
.craft-line .part{position:absolute;bottom:41px;left:-40px;width:34px;height:34px;background:#8a9298;border:2px solid #d6dde2;opacity:0;animation:bpPartA var(--ms) linear forwards}
.craft-line .part.b{border-radius:50%;background:#b9893f;animation-name:bpPartB}.craft-line .part.c{width:0;height:0;background:none;border:0;border-left:19px solid #0000;border-right:19px solid #0000;border-bottom:34px solid #6f7d86;animation-name:bpPartC}
@keyframes bpPartA{0%{opacity:1;left:-40px}28%{left:calc(50% - 66px)}54%{opacity:1;left:calc(50% - 17px)}56%,100%{opacity:0;left:calc(50% - 17px)}}
@keyframes bpPartB{0%{opacity:1;left:-90px}32%{left:calc(50% - 17px)}54%{opacity:1}56%,100%{opacity:0;left:calc(50% - 17px)}}
@keyframes bpPartC{0%{opacity:1;left:-140px}36%{left:calc(50% + 28px)}54%{opacity:1;left:calc(50% - 17px)}56%,100%{opacity:0;left:calc(50% - 17px)}}
.craft-line .press{position:absolute;left:calc(50% - 32px);top:0;width:64px;animation:bpPress var(--ms) ease-in-out forwards}
.craft-line .rod{display:block;width:12px;height:70px;margin:0 auto;background:#7b848a}.craft-line .head{display:block;height:34px;background:linear-gradient(#9aa3a9,#5e666b);border:2px solid #cfd6da}
@keyframes bpPress{0%,28%{transform:translateY(0)}34%{transform:translateY(54px)}40%{transform:translateY(0)}46%{transform:translateY(54px)}52%{transform:translateY(0)}100%{transform:translateY(0)}}
.craft-line .sparks{position:absolute;left:50%;bottom:48px;opacity:0;animation:bpSparks var(--ms) linear forwards}
@keyframes bpSparks{0%,54%{opacity:0}58%,84%{opacity:1}90%,100%{opacity:0}}
.craft-line .sparks u{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffd36a;box-shadow:0 0 8px #ff9a2a;animation:bpSpark2 .45s ease-out infinite;animation-delay:var(--d)}
@keyframes bpSpark2{0%{transform:rotate(var(--a)) translateX(0);opacity:1}100%{transform:rotate(var(--a)) translateX(60px);opacity:0}}
.craft-line .result{position:absolute;left:50%;bottom:44px;transform:translateX(-50%) scale(0);animation:bpResult var(--ms) both;filter:drop-shadow(0 0 14px var(--fx))}
@keyframes bpResult{0%,80%{transform:translateX(-50%) scale(0)}90%{transform:translateX(-50%) scale(1.3)}96%,100%{transform:translateX(-50%) scale(1)}}
.repair-stage svg{width:100%;height:150px;background:#0d1215;border:1px solid #ffffff22}.repair-stage .gun{fill:#1a2126;stroke:var(--fx);stroke-width:1.2;transform:translate(-2px,40px) scale(.78)}
.repair-stage .wrench{fill:#c9d1d6;stroke:#fff;stroke-width:1;transform-origin:150px 60px;animation:bpWrench .6s ease-in-out infinite alternate;transform:translate(150px,60px)}
@keyframes bpWrench{from{transform:translate(150px,60px) rotate(-14deg)}to{transform:translate(150px,60px) rotate(16deg)}}
.repair-stage .cond{height:10px;margin-top:8px;background:#0008;border:1px solid #ffffff33}.repair-stage .cond i{display:block;height:100%;width:20%;background:linear-gradient(90deg,#d8553a,#e0c23a,#5fd88a);animation:bpCond var(--ms) ease-out forwards}
@keyframes bpCond{to{width:100%}}
.treat-stage{position:relative;height:230px;display:flex;justify-content:center;background:#0b1513;border:1px solid #ffffff22;overflow:hidden}
.bp-body{height:210px;margin-top:10px;fill:#1c3a33;stroke:#8fe6c6;stroke-width:1.5}.bp-body .wound{fill:#ff4040;stroke:none;animation:bpWound var(--ms) both}
@keyframes bpWound{0%,55%{fill:#ff4040;opacity:1}70%,100%{fill:#3aff9a;opacity:.9}}
.treat-stage .scanline{position:absolute;left:0;right:0;top:0;height:3px;background:#6fffd0;box-shadow:0 0 14px #6fffd0;animation:bpScanY var(--ms) ease-in-out forwards}
@keyframes bpScanY{0%{top:0}20%{top:94%}40%{top:4%}60%{top:94%}75%,100%{top:50%;opacity:0}}
.treat-stage .crosses u{position:absolute;bottom:16px;font:700 26px Arial,sans-serif;color:#7fffc0;text-decoration:none;opacity:0;animation:bpUp 1.4s ease-out infinite}
@keyframes bpUp{0%{opacity:0;transform:translateY(0)}20%{opacity:1}100%{opacity:0;transform:translateY(-150px)}}
.treat-stage .mini-ecg{position:absolute;left:0;right:0;bottom:0;height:54px;width:100%}.treat-stage .mini-ecg path{fill:none;stroke:#8fffd8;stroke-width:3;stroke-dasharray:130 870;animation:bpEcg 1.6s linear infinite}
.refill-stage{display:flex;justify-content:center;gap:10px;padding:16px;background:#0b1513;border:1px solid #ffffff22}
.amp{position:relative;display:inline-block;width:40px;height:116px;border:2px solid #bfeee0;border-radius:10px 10px 16px 16px;overflow:hidden}
.amp u{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(#8fffd8,#2fae86);animation:bpFill .9s ease-out forwards}
@keyframes bpFill{to{height:88%}}
@media(max-width:700px){.bp-hero{height:200px}.bp-title{max-width:88%}.bp-title h2{font-size:24px}.bp-gauges{display:none}.bp-radar,.bp-rifle,.bp-gears,.bp-target{opacity:.35}}
@media(prefers-reduced-motion:reduce){.bp-hero *,.bp-lane *{animation-duration:0s!important}}

#dialog .bp-hero .bp-title small{color:var(--bpc)!important}#dialog .bp-hero .bp-title h2{color:#fff!important}#dialog .bp-hero .bp-title p{color:#d6dbd4!important}#dialog .bp-hero .bp-gauges em{color:var(--bpc)!important}#dialog .bp-hero .bp-gauges b{color:#fff!important}
#dialog .activity-hero.bp-class :is(h2,p,.eyebrow){color:#eee8cf!important}#dialog .activity-hero.bp-class .eyebrow{color:#c9bd8a!important}
.bp-hero-gray .bp-photo{background-size:280% auto;background-position:34% 87%}
#dialog[data-panel=gray] .gray-header>div:first-child h1{display:none}

/* ================= per-building bodies ================= */
/* --- weapons: steel rack */
#dialog[data-panel=weapons]{background:linear-gradient(#17191c,#0d0f11)!important;border:2px solid #f3a93a66!important;border-radius:2px}
#dialog[data-panel=weapons] .vendor-head{background:repeating-linear-gradient(90deg,#1b1e22 0 38px,#16181b 38px 40px);border:1px solid #f3a93a55;border-left:6px solid #f3a93a}
#dialog[data-panel=weapons] .vendor-head .eyebrow{color:#f3a93a}
#dialog[data-panel=weapons] .catalog{gap:14px}
#dialog[data-panel=weapons] .item{position:relative;background:linear-gradient(#202428,#15181b)!important;border:1px solid #3a4046!important;border-top:4px solid var(--tier,#f3a93a)!important;border-radius:0!important;box-shadow:inset 0 0 0 3px #0008}
#dialog[data-panel=weapons] .item:before,#dialog[data-panel=weapons] .item:after{content:'';position:absolute;width:12px;height:12px;border:2px solid #f3a93acc;pointer-events:none}
#dialog[data-panel=weapons] .item:before{left:5px;top:10px;border-right:0;border-bottom:0}#dialog[data-panel=weapons] .item:after{right:5px;bottom:5px;border-left:0;border-top:0}
#dialog[data-panel=weapons] .item:hover{box-shadow:0 0 0 1px #f3a93a,0 0 22px #f3a93a44;transform:translateY(-2px);transition:.15s}
#dialog[data-panel=weapons] .item button[data-buy]{background:#f3a93a!important;color:#1a1408!important;font-weight:700;letter-spacing:.6px;text-transform:uppercase;border-radius:0}
#dialog[data-panel=weapons] h3,#dialog[data-panel=weapons] .section-tabs label{font-family:Impact,'Arial Narrow',sans-serif;letter-spacing:1.5px;font-weight:400;text-transform:uppercase;color:#f3a93a}
/* --- gear: canvas bag with stitching and hang tags */
#dialog[data-panel=gear]{background:linear-gradient(#2e2d1f,#1f2217)!important;border:2px solid #8a7c4a!important;outline:2px dashed #d8c48c88;outline-offset:-10px}
#dialog[data-panel=gear] .vendor-head{background:#3a3a26;border:2px dashed #d8c48c88;border-radius:0}
#dialog[data-panel=gear] .vendor-head .eyebrow{color:#d8c48c}
#dialog[data-panel=gear] .item{position:relative;background:linear-gradient(#e4d8b2,#cdbf95)!important;color:#2b2618!important;border:0!important;border-radius:2px!important;clip-path:polygon(0 14px,14px 0,100% 0,100% 100%,0 100%);padding-top:22px!important;box-shadow:none}
#dialog[data-panel=gear] .item:before{content:'';position:absolute;left:50%;top:5px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#2e2d1f;box-shadow:0 0 0 2px #8a7c4a}
#dialog[data-panel=gear] .item :is(b,small,.item-desc,.item-spec){color:#2b2618!important}
#dialog[data-panel=gear] .item button{background:#4a5a34!important;color:#f3efd4!important;border-radius:2px}
#dialog[data-panel=gear] h3{font-family:Georgia,serif;font-style:italic;color:#d8c48c}
/* --- food: chalkboard menu */
#dialog[data-panel=food]{background:radial-gradient(#27322d,#151c19)!important;border:12px solid #6b4a2a!important;border-radius:4px;box-shadow:inset 0 0 40px #000c,0 10px 40px #000a}
#dialog[data-panel=food] #content{color:#f3efe2}
#dialog[data-panel=food] .vendor-head{background:#0000;border:2px dashed #f3efe288;border-radius:14px}
#dialog[data-panel=food] .vendor-head .eyebrow{color:#f0c879}
#dialog[data-panel=food] .item{background:#ffffff0c!important;border:0!important;border-bottom:2px dotted #f3efe288!important;border-radius:0!important;box-shadow:none}
#dialog[data-panel=food] .item :is(b,small){color:#f3efe2!important}
#dialog[data-panel=food] .item button{background:#c9772b!important;color:#fff!important;border-radius:20px;font-family:inherit}
#dialog[data-panel=food] h3{color:#f0c879;font-weight:400;letter-spacing:1px}
/* --- household: pegboard */
#dialog[data-panel=household]{background:radial-gradient(#0008 2px,#0000 3px) 0 0/24px 24px,linear-gradient(#37414a,#283037)!important;border:3px solid #ee8a42!important;border-radius:2px}
#dialog[data-panel=household] .vendor-head{background:#1d242a;border:2px solid #ee8a42;border-radius:2px}
#dialog[data-panel=household] .vendor-head .eyebrow{color:#ee8a42}
#dialog[data-panel=household] .item{position:relative;background:#eaf0f3!important;border:2px solid #ee8a42!important;border-radius:10px 10px 4px 4px!important;padding-top:26px!important;box-shadow:0 6px 0 #0005}
#dialog[data-panel=household] .item:before{content:'';position:absolute;left:50%;top:7px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#283037;box-shadow:inset 0 0 0 3px #ee8a42}
#dialog[data-panel=household] .item :is(b,small,.item-desc,.item-spec){color:#1f2a31!important}
#dialog[data-panel=household] .item button{background:#ee8a42!important;color:#1f1308!important;font-weight:700}
#dialog[data-panel=household] h3{color:#ee8a42;text-transform:uppercase;letter-spacing:1.5px}
/* --- inventory: warehouse */
#dialog[data-panel=inventory]{background:linear-gradient(#181812,#0f0f0a)!important;border:4px solid #f2c200!important;border-image:repeating-linear-gradient(-45deg,#f2c200 0 14px,#111 14px 28px) 4!important}
#dialog[data-panel=inventory] .section-tabs button{background:#f2c200!important;color:#1a1500!important;font-weight:700;border-radius:0;text-transform:uppercase;letter-spacing:1px}
#dialog[data-panel=inventory] :is(.slot,.cell,.inventory-grid>*){border-color:#f2c20055!important}
/* --- hospital: clinic */
#dialog[data-panel=hospital]{border:6px solid #e9f2ec!important;border-radius:14px;box-shadow:0 0 0 2px #7fb59f,0 14px 44px #000a}
#dialog[data-panel=hospital] .row{background:#f5faf7d8!important;border:1px solid #9ec4b2!important;border-left:8px solid #3fae86!important;border-radius:10px!important;box-shadow:0 3px 10px #0a2a2033}
#dialog[data-panel=hospital] #content button:is([data-treat],[data-refill]){background:linear-gradient(#58c79f,#2f9c78)!important;color:#fff!important;border-radius:20px;font-weight:700;box-shadow:0 0 0 0 #58c79f;animation:bpPulse 2s infinite}
#dialog[data-panel=hospital] #content button:is([data-treat],[data-refill]):disabled{animation:none;filter:grayscale(.7);opacity:.6}
@keyframes bpPulse{70%{box-shadow:0 0 0 10px #58c79f00}100%{box-shadow:0 0 0 0 #58c79f00}}
#dialog[data-panel=hospital] .workshop-intro,#dialog[data-panel=hospital] .npc-portrait{border-radius:50%}
/* --- workshop: blueprint sheets */
#dialog[data-panel=workshop]{border:6px solid #596268!important;border-radius:0;box-shadow:inset 0 0 0 2px #1a1f22,0 12px 40px #000c}
#dialog[data-panel=workshop] #content .craft-catalog .item{background:linear-gradient(#ffffff10 1px,#0000 1px) 0 0/16px 16px,linear-gradient(90deg,#ffffff10 1px,#0000 1px) 0 0/16px 16px,#0f3552!important;border:2px solid #7fb4d8!important;border-radius:0!important;box-shadow:inset 0 0 0 4px #0f3552,inset 0 0 0 5px #7fb4d888}
#dialog[data-panel=workshop] #content .craft-catalog .item :is(b,small,span,.material-line){color:#dcefff!important}
#dialog[data-panel=workshop] #content .craft-catalog .missing{color:#ff9a8a!important}
#dialog[data-panel=workshop] #content button[data-craft]{background:linear-gradient(#f0bb5a,#c58a24)!important;color:#1d1406!important;border:2px solid #6e4c10;border-radius:0;font:700 14px 'Courier New',monospace;text-transform:uppercase;letter-spacing:1.4px}
#dialog[data-panel=workshop] #content button[data-craft]:after{content:' ⚙'}
#dialog[data-panel=workshop] #content button[data-craft]:hover:not(:disabled):after{display:inline-block;animation:bpSpin 1s linear infinite}
#dialog[data-panel=workshop] .workshop-intro{background:#0008;border-left:6px solid #e0ac4a;padding:10px;border-radius:0}
/* --- command: dossier folders */
#dialog[data-panel=command]{border:6px ridge #55613f!important;border-radius:0}
#dialog[data-panel=command] .command-operations{background:#1d2b1ecc;border:2px solid #b7e08a77;font-family:'Courier New',monospace;position:relative}
#dialog[data-panel=command] .command-operations:after{content:'СЕКРЕТНО';position:absolute;right:16px;top:12px;font:700 22px Impact,sans-serif;letter-spacing:4px;color:#d84a3a;border:3px solid #d84a3a;padding:0 10px;transform:rotate(6deg);opacity:.55}
#dialog[data-panel=command] .quest{position:relative;background:linear-gradient(#ecdfb9,#dccd9f)!important;border:1px solid #9b8a5d!important;border-top:16px solid #c9b47a!important;border-radius:2px 14px 2px 2px;box-shadow:3px 5px 0 #0004}
#dialog[data-panel=command] .quest:before{content:'';position:absolute;right:26px;top:-16px;width:16px;height:30px;border:3px solid #8d96a0;border-radius:8px;background:#0000}
/* --- gray zone: checkpoint terminal */
#dialog[data-panel=gray]{background:linear-gradient(#0b1319,#070c10)!important;border:2px solid #6fd6ff66!important;font-family:Consolas,'Courier New',monospace}
#dialog[data-panel=gray]:before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(-45deg,#ff5a4a 0 14px,#111 14px 28px)}
/* --- training */
#dialog[data-panel=training] .lane-go{background:var(--lc)!important;color:#191a14!important;border-radius:0!important;border:2px solid #191a14!important}
#dialog[data-panel=training] .bp-lane :is(h3,p,small,b){color:#26261c!important}

/* верхнее меню: иконки */
header nav>button[data-open]::before{content:'';display:inline-block;width:1.15em;height:1.15em;margin-right:.45em;vertical-align:-.2em;background:currentColor;opacity:.85;-webkit-mask:var(--ni) center/contain no-repeat;mask:var(--ni) center/contain no-repeat}
header nav>button[data-open]:hover::before{opacity:1}
header nav>button[data-open="base"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 11l9-7 9 7v9H14v-6h-4v6H3z%22/%3E%3C/svg%3E")}
header nav>button[data-open="character"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%228%22 r=%224%22/%3E%3Cpath d=%22M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7%22/%3E%3C/svg%3E")}
header nav>button[data-open="player"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Ccircle cx=%229%22 cy=%2211%22 r=%222.2%22/%3E%3Cpath d=%22M14 10h4M14 14h4M6 16c.6-1.6 1.8-2.4 3-2.4s2.4.8 3 2.4%22/%3E%3C/svg%3E")}
header nav>button[data-open="admin"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3l8 3v6c0 5-3.4 8-8 9-4.6-1-8-4-8-9V6z%22/%3E%3Cpath d=%22M9 12l2 2 4-4%22/%3E%3C/svg%3E")}
header nav>button[data-open="quests"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 3h9l4 4v14H6z%22/%3E%3Cpath d=%22M14 3v5h5M9 12h7M9 16h7%22/%3E%3C/svg%3E")}
header nav>button[data-open="rewards"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7 4h10v5a5 5 0 01-10 0z%22/%3E%3Cpath d=%22M7 6H4v2a3 3 0 003 3M17 6h3v2a3 3 0 01-3 3M12 14v4M8 21h8%22/%3E%3C/svg%3E")}
header nav>button[data-open="division"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3l2.5 5 5.5.8-4 3.9.9 5.5L12 15.5 7.1 18.2 8 12.7 4 8.8 9.500 8z%22/%3E%3C/svg%3E")}
header nav>button[data-open="rankings"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 20V11h5v9M9.500 20V5h5v15M15 20v-7h5v7M3 20h18%22/%3E%3C/svg%3E")}
header nav>button[data-open="crypto"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.500%22/%3E%3Cpath d=%22M9.500 8.500h4a1.800 1.800 0 010 3.500h-4m0 0h4.500a1.800 1.800 0 010 3.500H9.500M9.500 7v10M11.500 6v2M11.500 16v2%22/%3E%3C/svg%3E")}
header nav>button[data-open="vip"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 8l4.500 4L12 5l4.500 7L21 8l-2 11H5z%22/%3E%3C/svg%3E")}
header nav>button[data-open="network"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%222%22/%3E%3Cpath d=%22M7.500 7.500a6.400 6.400 0 000 9M16.500 7.500a6.400 6.400 0 010 9M4.500 4.500a10.600 10.600 0 000 15M19.500 4.500a10.600 10.600 0 010 15%22/%3E%3C/svg%3E")}
header nav>button[data-open="settings"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%223%22/%3E%3Cpath d=%22M12 2.500v3M12 18.500v3M2.500 12h3M18.500 12h3M5.300 5.300l2.100 2.100M16.600 16.600l2.100 2.100M18.700 5.300l-2.100 2.100M7.400 16.600l-2.100 2.100%22/%3E%3C/svg%3E")}

/* ===== игровой интерфейс: шрифты и кнопки ===== */
:root{--gtitle:'Bahnschrift Condensed','Bahnschrift SemiCondensed','Bahnschrift','Agency FB','Arial Narrow','Roboto Condensed','Segoe UI',sans-serif;--gbody:'Bahnschrift SemiCondensed','Bahnschrift','Segoe UI','Roboto','Helvetica Neue',Arial,sans-serif;--gmono:'Cascadia Mono','Consolas','Lucida Console','Courier New',monospace;--ga:#7fc6e8;--ga2:#2d5f82;--gtext:#06141d}
body{font-family:var(--gbody);letter-spacing:.01em}
h1,h2,h3,.eyebrow,.bp-title h1,.bp-title h2{font-family:var(--gtitle);text-transform:uppercase;letter-spacing:.09em}
h1,h2{font-weight:700}
.eyebrow,.bp-title small{font-family:var(--gmono)}
/* акцент по зданию */
#dialog[data-panel=weapons]{--ga:#f3a93a;--ga2:#8a5a16;--gtext:#1a1408}
#dialog[data-panel=gear]{--ga:#9fb36a;--ga2:#4a5a34;--gtext:#10150a}
#dialog[data-panel=food],#dialog[data-panel=household]{--ga:#e0a060;--ga2:#7a4a22;--gtext:#1c1006}
#dialog[data-panel=inventory],#dialog[data-panel=warehouse]{--ga:#f2c200;--ga2:#7a6400;--gtext:#141000}
#dialog[data-panel=hospital]{--ga:#6fe0b8;--ga2:#22705a;--gtext:#04150f}
#dialog[data-panel=workshop]{--ga:#e9a64c;--ga2:#6d4a1c;--gtext:#170e03}
#dialog[data-panel=training]{--ga:#e8c070;--ga2:#6b5428;--gtext:#170f02}
#dialog[data-panel=command]{--ga:#b7e08a;--ga2:#44652a;--gtext:#0a1404}
#dialog[data-panel=gray]{--ga:#ff8a6e;--ga2:#8a3a28;--gtext:#1a0804}
/* кнопка: скошенные углы, фаска, заклёпки, нажатие */
button:not(.icon):not(.tab):not([class*=close]):not(.base-building){font-family:var(--gtitle);font-weight:600;letter-spacing:.07em;text-transform:uppercase;border-radius:0;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);border:0;color:#e9f4fb;background:radial-gradient(circle at 5px 50%,#000a 1.4px,#0000 2.4px),radial-gradient(circle at calc(100% - 5px) 50%,#000a 1.4px,#0000 2.4px),linear-gradient(#3b5a76,#243b52 52%,#1b2d40);box-shadow:inset 0 1px 0 #ffffff40,inset 0 -3px 0 #00000070,inset 0 0 0 1px #6d95b466;text-shadow:0 1px 0 #000a;transition:filter .12s,transform .06s}
button:not(.icon):not(.tab):not([class*=close]):not(.base-building):hover{filter:brightness(1.22) saturate(1.1);box-shadow:inset 0 1px 0 #ffffff55,inset 0 -3px 0 #00000070,inset 0 0 0 1px var(--ga),inset 0 0 14px #ffffff18}
button:not(.icon):not(.tab):not([class*=close]):not(.base-building):active{transform:translateY(1px);filter:brightness(.9);box-shadow:inset 0 3px 6px #000c,inset 0 0 0 1px var(--ga)}
button:not(.icon):not(.tab):not([class*=close]):not(.base-building):focus-visible{outline:2px solid var(--ga);outline-offset:1px}
button:disabled,button[disabled]{filter:grayscale(.85) brightness(.7);cursor:not-allowed;background-image:repeating-linear-gradient(135deg,#0000 0 6px,#0000002e 6px 12px),linear-gradient(#35393d,#24282b)!important;color:#9aa3a9!important;box-shadow:inset 0 0 0 1px #ffffff14!important}
button.primary,.item button[data-buy],.item button[data-craft],.item button[data-treat],.item button[data-refill]{color:var(--gtext)!important;background:radial-gradient(circle at 5px 50%,#0007 1.4px,#0000 2.4px),radial-gradient(circle at calc(100% - 5px) 50%,#0007 1.4px,#0000 2.4px),linear-gradient(var(--ga),var(--ga2))!important;text-shadow:0 1px 0 #ffffff55;box-shadow:inset 0 1px 0 #ffffff88,inset 0 -3px 0 #00000055!important}
button.active{box-shadow:inset 0 0 0 2px var(--ga),inset 0 -3px 0 #0006!important;color:#fff}
/* верхнее меню — вкладки-плашки */
header nav>button[data-open]{clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);padding-left:16px;padding-right:16px;background:linear-gradient(#2a4058,#1a2a3b)!important;letter-spacing:.05em}
header nav>button[data-open]:hover{background:linear-gradient(#3a5a7a,#22384f)!important}
header nav>button[data-open]:not(:has(.badge)) {text-transform:uppercase}
/* вкладки внутри панелей */
.section-tabs button{min-height:34px}
/* числа и цены моноширинным */
.item .price,.item-spec,.balance b,#credits,.bp-gauges b{font-family:var(--gmono)}

/* ===== верхнее меню: «Ещё» ===== */
.nav-more{position:relative;display:inline-flex}
.nav-more-btn::before{content:'';display:inline-block;width:1.15em;height:1.15em;margin-right:.45em;vertical-align:-.2em;background:currentColor;opacity:.85;-webkit-mask:var(--ni-more) center/contain no-repeat;mask:var(--ni-more) center/contain no-repeat}
.nav-more-btn::after{content:'▾';margin-left:.4em;font-size:.8em;opacity:.8}
.nav-more-btn[aria-expanded=true]{filter:brightness(1.25)}
.nav-more:has([data-badge]:not([data-badge=""])) .nav-more-btn{box-shadow:inset 0 0 0 1px #f3c14a!important}
.nav-menu{position:fixed;z-index:60;min-width:190px;display:flex;flex-direction:column;gap:3px;padding:6px;background:linear-gradient(#16212d,#0d1520);border:1px solid #4d7698;box-shadow:0 14px 34px #000c,inset 0 1px 0 #ffffff1c;clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%)}
.nav-menu[hidden]{display:none}
.nav-menu button{display:block;width:100%;text-align:left;clip-path:polygon(0 0,100% 0,calc(100% - 7px) 100%,0 100%)!important;padding:9px 14px!important;font-size:13px}
.nav-menu button[hidden]{display:none}
.nav-menu button[data-badge]:not([data-badge=""])::after{margin-left:auto}
:root{--ni-more:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='6' height='6' rx='1'/%3E%3Crect x='14' y='4' width='6' height='6' rx='1'/%3E%3Crect x='4' y='14' width='6' height='6' rx='1'/%3E%3Crect x='14' y='14' width='6' height='6' rx='1'/%3E%3C/svg%3E")}
/* ===== окно «Сейчас на базе» ===== */
#presence{position:absolute;right:12px;top:58px;z-index:8;width:232px;max-height:calc(100% - 130px);display:flex;flex-direction:column;background:linear-gradient(#101a25ee,#0a111aee);border:1px solid #4d7698aa;box-shadow:0 12px 30px #000a,inset 0 1px 0 #ffffff14;backdrop-filter:blur(4px);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);font-family:var(--gbody)}
#presence[hidden]{display:none}
.pp-head{display:flex!important;align-items:center;gap:8px;width:100%;padding:9px 12px!important;text-align:left;clip-path:none!important;background:linear-gradient(#22384f,#16263a)!important;box-shadow:inset 0 -2px 0 #0008!important}
.pp-title{flex:1;letter-spacing:.1em}
.pp-count{min-width:24px;padding:1px 7px;text-align:center;background:#0008;border:1px solid #7fc6e8;color:#bfeaff;font-family:var(--gmono);font-size:12px}
.pp-chev{font-style:normal;opacity:.7}
.pp-pulse{width:9px;height:9px;border-radius:50%;background:#6ee08a;box-shadow:0 0 0 0 #6ee08a99;animation:ppPulse 2s infinite}
@keyframes ppPulse{70%{box-shadow:0 0 0 8px #6ee08a00}100%{box-shadow:0 0 0 0 #6ee08a00}}
.pp-side{display:flex;justify-content:space-between;align-items:baseline;padding:6px 12px;background:#0006;border-bottom:1px solid #ffffff14;font-family:var(--gtitle);text-transform:uppercase;letter-spacing:.12em;color:#9fd0ea;font-size:12px}
.pp-side small{font:11px var(--gmono);letter-spacing:.06em;opacity:.7;text-transform:none}
.pp-list{list-style:none;margin:0;padding:4px;overflow:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:2px}
.pp-list li{margin:0}
.pp-player{display:grid!important;grid-template-columns:10px 1fr auto;grid-template-areas:'d n l' '. r r';gap:1px 8px;align-items:center;width:100%;text-align:left;padding:6px 8px!important;clip-path:none!important;background:transparent!important;box-shadow:none!important;border-left:2px solid transparent!important;text-transform:none!important;letter-spacing:.02em!important;font-family:var(--gbody)!important;font-weight:400!important}
.pp-player:hover{background:#7fc6e822!important;border-left-color:#7fc6e8!important;filter:none!important}
.pp-dot{grid-area:d;width:8px;height:8px;border-radius:50%;background:#6ee08a;box-shadow:0 0 6px #6ee08a}
.pp-name{grid-area:n;font-weight:600;color:#e7f3fb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:underline dotted #7fc6e866;text-underline-offset:3px}
.pp-lvl{grid-area:l;font:11px var(--gmono);color:#9fb6c7}
.pp-role,.pp-div{font-style:normal;font-size:11px;color:#8fa9bb;letter-spacing:.04em}
.pp-role{grid-area:r;justify-self:start;display:inline}
.pp-player .pp-role+.pp-div{grid-area:r;justify-self:end}
.pp-player .pp-div:only-of-type{grid-area:r;justify-self:start}
.pp-me .pp-name{color:#f3d27a}.pp-me .pp-player{background:#f3c14a14!important}
.pp-empty{padding:12px;color:#8fa9bb;font-size:12px}
.pp-foot{padding:6px 12px 8px;font-size:11px;line-height:1.35;color:#7f97a8;border-top:1px solid #ffffff12}
@media(max-width:900px){#presence{top:auto;bottom:44px;width:200px;max-height:40%}}
@media(max-width:680px){#presence{right:6px;width:176px}}
body.in-battle #presence{display:none}
/* ---------- account & network panel heroes */
.bp-hero-player{--bpc:#e3c77a;--bpg:#16130d}.bp-hero-quests{--bpc:#e8b96a;--bpg:#1a130b}.bp-hero-rewards{--bpc:#ffd36b;--bpg:#1a1408}
.bp-hero-division{--bpc:#7fd0ff;--bpg:#09141d}.bp-hero-rankings{--bpc:#f0d264;--bpg:#14120a}.bp-hero-crypto{--bpc:#8cf0c8;--bpg:#08171a}
.bp-hero-vip{--bpc:#ffd56a;--bpg:#160f06}.bp-hero-uav{--bpc:#6cf0a4;--bpg:#07130d}.bp-hero-missions{--bpc:#c6dd8a;--bpg:#10150b}.bp-hero-supply{--bpc:#f0b35a;--bpg:#15100a}
.bp-hero-player .bp-photo,.bp-hero-quests .bp-photo,.bp-hero-rewards .bp-photo,.bp-hero-division .bp-photo,.bp-hero-rankings .bp-photo,.bp-hero-crypto .bp-photo,.bp-hero-vip .bp-photo,.bp-hero-uav .bp-photo,.bp-hero-missions .bp-photo,.bp-hero-supply .bp-photo{opacity:.55}
.bp-hero-uav .bp-photo,.bp-hero-division .bp-photo,.bp-hero-crypto .bp-photo{opacity:.25;filter:saturate(.4) hue-rotate(40deg)}
.bp-hero-player .bp-title h2,.bp-hero-quests .bp-title h2,.bp-hero-rankings .bp-title h2{font-family:Impact,'Arial Narrow Bold',sans-serif;font-weight:400;letter-spacing:1.5px;text-transform:uppercase}
.bp-hero-uav .bp-title h2,.bp-hero-crypto .bp-title h2,.bp-hero-division .bp-title h2{font-family:'Courier New',monospace;letter-spacing:1px;text-transform:uppercase}
/* player id card */
.bp-id{position:absolute;right:92px;top:24px;width:250px;height:156px;padding:10px 12px;border-radius:8px;background:linear-gradient(135deg,#e9e0c2,#c9bd93);color:#2a2418;box-shadow:0 10px 26px #000a;transform:rotate(3deg);overflow:hidden}
.bp-id .id-top{display:flex;justify-content:space-between;font:700 11px 'Courier New',monospace;letter-spacing:1.2px;border-bottom:1px solid #2a241855;padding-bottom:4px}.bp-id .id-top em{font-style:normal}
.bp-id .id-body{display:flex;gap:10px;margin-top:8px}.bp-id .id-photo{width:58px;height:70px;background:#6d7a86;border:2px solid #fff8}.bp-id .id-photo svg{width:100%;height:100%;fill:#2b3138}
.bp-id .id-lines{flex:1;display:flex;flex-direction:column;gap:7px;padding-top:4px}.bp-id .id-lines i{height:6px;background:#2a241855;border-radius:2px}.bp-id .id-lines i.s{width:60%}
.bp-id .id-bar{position:absolute;left:12px;right:12px;bottom:8px;height:22px;display:flex;gap:2px;align-items:stretch}.bp-id .id-bar u{background:#2a2418;display:block}
.bp-id .id-holo{position:absolute;right:12px;bottom:34px;width:34px;height:34px;border-radius:50%;background:conic-gradient(#ff7ad9,#7af3ff,#fff27a,#ff7ad9);opacity:.55;animation:bpSpin 6s linear infinite}
.bp-dogtag{position:absolute;right:66px;top:108px;width:54px;height:88px;border-radius:14px 14px 18px 18px;background:linear-gradient(160deg,#d8dcdf,#7d858c);color:#23282c;font:700 11px/1.2 'Courier New',monospace;text-align:center;padding-top:34px;box-shadow:0 6px 16px #000a;transform-origin:50% -60px;animation:bpSwing 3.2s ease-in-out infinite alternate;z-index:1}
.bp-dogtag i{position:absolute;left:50%;top:8px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#1a1d20}
/* quests: cork board with notes */
.bp-hero-quests .bp-art{background:radial-gradient(#0000 55%,#0006),repeating-linear-gradient(45deg,#6a4a2a22 0 3px,#0000 3px 7px);left:40%}
.bp-string{position:absolute;inset:0;width:100%;height:100%}.bp-string path{fill:none;stroke:#d33;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;animation:bpGunDraw 5s ease forwards infinite}
.bp-note{position:absolute;width:108px;padding:12px 8px 8px;background:#efe3b1;color:#2a2418;font:11px 'Courier New',monospace;box-shadow:0 6px 12px #0008;transform:rotate(var(--r));animation:bpNote 5s ease-in-out infinite alternate}
.bp-note i{position:absolute;left:50%;top:-4px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#c33;box-shadow:0 2px 3px #0008}
.bp-note b{display:block;font-size:11px;letter-spacing:1px;border-bottom:1px dashed #2a241877;margin-bottom:4px}.bp-note span{display:block;line-height:1.3}
@keyframes bpNote{from{transform:rotate(var(--r)) translateY(0)}to{transform:rotate(calc(var(--r) + 1.5deg)) translateY(-3px)}}
@keyframes bpGunDraw{0%{stroke-dashoffset:1}60%,100%{stroke-dashoffset:0}}
/* rewards: crate + week */
.bp-week{position:absolute;right:16px;top:30px;display:grid;grid-template-columns:repeat(4,30px);gap:6px}
.bp-week span{height:30px;display:grid;place-items:center;font:700 13px 'Courier New',monospace;color:#2a2418;background:#d8c78a;border-radius:3px;box-shadow:0 3px 0 #6b5a2a;animation:bpPulse 3.5s ease-in-out infinite}
@keyframes bpLid{0%,40%{transform:rotate(0)}55%,80%{transform:rotate(-24deg)}100%{transform:rotate(0)}}
@keyframes bpPulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes bpRise{from{transform:translateY(0);opacity:1}to{transform:translateY(-90px);opacity:0}}
/* division network */
.bp-net{position:absolute;right:0;top:0;width:66%;height:100%;opacity:.95}
.bp-net .grid path{stroke:#7fd0ff22;stroke-width:1}.bp-net .links path{fill:none;stroke:#7fd0ff88;stroke-width:1.6;stroke-dasharray:5 6;animation:bpDash 2s linear infinite}
.bp-net .node{fill:#7fd0ff;animation:bpPulse 2.6s ease-in-out infinite}.bp-net .crest path{fill:#0b1a26;stroke:#7fd0ff;stroke-width:2}
@keyframes bpDash{to{stroke-dashoffset:-22}}
/* rankings podium */
.bp-podium{position:absolute;right:40px;bottom:0;display:flex;align-items:flex-end;gap:6px}
.bp-podium div{width:62px;position:relative;text-align:center;animation:bpRisePod 1.2s ease-out both}
.bp-podium i{display:block;background:linear-gradient(#e6d27a,#8a7a30)}.bp-podium .r1 i{height:110px}.bp-podium .r2 i{height:78px;background:linear-gradient(#d8dcdf,#7d858c)}.bp-podium .r3 i{height:56px;background:linear-gradient(#c58a55,#6b4a2a)}
.bp-podium em{position:absolute;left:0;right:0;top:8px;font:700 26px Impact,sans-serif;color:#1a1608;z-index:1;font-style:normal}
.bp-score{position:absolute;right:250px;top:26px;font:11px 'Courier New',monospace;color:var(--bpc);display:flex;flex-direction:column;gap:6px;background:#000a;padding:8px 10px;border:1px solid var(--bpc)}
.bp-score span{animation:bpPulse 3s infinite}
@keyframes bpRisePod{from{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}
/* crypto */
.bp-chart{position:absolute;right:0;bottom:0;width:62%;height:70%}.bp-chart .area{fill:#8cf0c822}.bp-chart .line{fill:none;stroke:#8cf0c8;stroke-width:2.5;stroke-dasharray:1000;stroke-dashoffset:1000;animation:bpLine 6s ease infinite}
@keyframes bpLine{0%{stroke-dashoffset:1000}70%,100%{stroke-dashoffset:0}}
.bp-coin{position:absolute;right:56px;top:26px;width:84px;height:84px;perspective:400px}
.bp-coin i{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#dffff1,#35c9a0 60%,#0d6b57);box-shadow:0 0 28px #8cf0c866;animation:bpFlip 4s linear infinite}
.bp-coin b{position:absolute;inset:0;display:grid;place-items:center;font-size:40px;color:#063d31}
@keyframes bpFlip{to{transform:rotateY(360deg)}}
.bp-rate{position:absolute;right:20px;top:126px;font:12px 'Courier New',monospace;color:#8cf0c8;background:#000a;padding:4px 8px}.bp-rate em{color:#6cf08a;font-style:normal}
/* vip */
.bp-pass{position:absolute;right:70px;top:28px;width:230px;height:130px;border-radius:10px;background:linear-gradient(135deg,#3a2a0a,#c9982f 45%,#3a2a0a);border:2px solid #ffe08a;box-shadow:0 10px 30px #000a,0 0 30px #ffd56a44;overflow:hidden;transform:rotate(-3deg)}
.bp-pass .pass-top{display:flex;justify-content:space-between;align-items:baseline;padding:10px 12px;color:#2a1c04}.bp-pass b{font:400 32px Impact,sans-serif;letter-spacing:3px}.bp-pass em{font:700 11px 'Courier New',monospace;font-style:normal}
.bp-pass .pass-star{position:absolute;right:14px;top:38px;font-size:48px;color:#ffe9a0;text-shadow:0 0 12px #fff8}
.bp-pass .pass-x{position:absolute;left:12px;bottom:10px;display:flex;flex-direction:column;gap:3px;font:700 11px 'Courier New',monospace;color:#fff3c0}
.bp-pass .shine{position:absolute;top:-20%;bottom:-20%;width:40px;background:linear-gradient(90deg,#0000,#fff8,#0000);transform:skewX(-20deg);animation:bpShine 3.6s linear infinite}
@keyframes bpShine{from{left:-60px}to{left:280px}}
.bp-art .vs{position:absolute;width:4px;height:4px;background:#ffe9a0;border-radius:50%;box-shadow:0 0 8px #ffd56a;animation:bpPulse 2s infinite}
/* uav */
.bp-hud{position:absolute;right:20px;top:14px;width:330px;height:180px;border:1px solid #6cf0a433;background:linear-gradient(#6cf0a40d,#0000)}
.bp-hud .c{position:absolute;width:16px;height:16px;border:2px solid #6cf0a4}.bp-hud .tl{left:-1px;top:-1px;border-right:0;border-bottom:0}.bp-hud .tr{right:-1px;top:-1px;border-left:0;border-bottom:0}.bp-hud .bl{left:-1px;bottom:-1px;border-right:0;border-top:0}.bp-hud .br{right:-1px;bottom:-1px;border-left:0;border-top:0}
.bp-hud .ring{position:absolute;left:50%;top:50%;width:160px;height:160px;margin:-80px 0 0 -80px;fill:none;stroke:#6cf0a466;stroke-width:1.5;animation:bpSpin 18s linear infinite}.bp-hud .ring .d{stroke-dasharray:4 6}.bp-hud .ring path{stroke:#6cf0a4}
.bp-hud .drone{position:absolute;left:50%;top:50%;width:110px;height:64px;margin:-32px 0 0 -55px;fill:none;stroke:#b9ffd7;stroke-width:2;animation:bpHover 3s ease-in-out infinite alternate}.bp-hud .drone .body{fill:#0c2a1a}
.bp-hud .rot{fill:#b9ffd755;stroke:none;animation:bpRot .15s linear infinite alternate;transform-box:fill-box;transform-origin:center}
.bp-hud .scanline{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,#0000,#6cf0a4,#0000);animation:bpScanY 3.4s linear infinite}
.bp-hud .t{position:absolute;font:11px 'Courier New',monospace;color:#6cf0a4;letter-spacing:1px}.bp-hud .t1{left:10px;top:8px}.bp-hud .t2{right:10px;top:8px}.bp-hud .t3{left:10px;bottom:8px}
@keyframes bpHover{from{transform:translateY(-6px) rotate(-2deg)}to{transform:translateY(6px) rotate(2deg)}}
@keyframes bpRot{from{transform:scaleX(1)}to{transform:scaleX(.6)}}
@keyframes bpScanY{from{top:0}to{top:100%}}
/* missions map */
.bp-topo{position:absolute;right:0;top:0;width:64%;height:100%;fill:none;stroke:#c6dd8a33;stroke-width:1}
.bp-route{position:absolute;right:0;top:0;width:64%;height:100%}.bp-route .r{fill:none;stroke:#ffb347;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;animation:bpGunDraw 6s ease infinite}
.bp-route .a{fill:#6cf0a4}.bp-route .b{fill:#ffd36b}.bp-route .c{fill:#ff5a4d;animation:bpPulse 1.6s infinite}
.bp-compass{position:absolute;right:16px;top:14px;width:64px;height:64px;fill:none;stroke:#c6dd8a;stroke-width:1.5}.bp-compass .n{fill:#ff5a4d;stroke:none;transform-origin:40px 40px;animation:bpSwing 4s ease-in-out infinite alternate}.bp-compass text{fill:#c6dd8a;stroke:none;font:11px 'Courier New'}
/* supply: belt, scale */
.bp-hero-supply .beam{position:absolute;left:36%;right:0;top:54px;height:2px;background:linear-gradient(90deg,#0000,#ff5a4d,#0000);animation:bpPulse 2s infinite}
.bp-hero-supply .belt{position:absolute;left:38%;right:0;bottom:30px;height:14px;background:repeating-linear-gradient(90deg,#2a2a2a 0 12px,#3a3a3a 12px 24px);border-top:2px solid #555;overflow:visible}
.bp-hero-supply .crate{position:absolute;bottom:14px;left:0;width:54px;height:40px;background:#7a5a30;border:2px solid #3b2a14;animation:bpBelt 11s linear infinite;display:grid;place-items:center}.bp-hero-supply .crate em{font:700 11px 'Courier New',monospace;font-style:normal;color:#f0d9a0}
@keyframes bpBelt{from{transform:translateX(-60px)}to{transform:translateX(420px)}}
.bp-scale{position:absolute;right:20px;top:20px;width:110px;padding:8px;background:#0c0c0a;border:2px solid #777;text-align:center;box-shadow:0 6px 14px #000a}.bp-scale em{display:block;font:11px 'Courier New',monospace;color:#f0b35a;font-style:normal;letter-spacing:2px}.bp-scale b{font:700 20px 'Courier New',monospace;color:#7dff9d}
/* ---------- realistic lane scenes */
.lane-art{background:#1a1f1d}
.lz-sway{transform-origin:140px 4px;animation:lzSway 5s ease-in-out infinite alternate}@keyframes lzSway{from{transform:rotate(-.8deg)}to{transform:rotate(.8deg)}}
.lz-hole{opacity:0;animation:lzHole 4.6s infinite}.lz-hole.b{animation-delay:.9s}.lz-hole.c{animation-delay:1.8s}
@keyframes lzHole{0%,8%{opacity:0;transform:scale(1.6)}12%,88%{opacity:1;transform:none}96%,100%{opacity:0}}
.lz-hole{transform-box:fill-box;transform-origin:center}
.lz-slide{animation:lzSlide 4.4s linear infinite alternate}.lz-slide.s1{animation-delay:-2.2s}
@keyframes lzSlide{from{transform:translateX(16px)}to{transform:translateX(250px)}}
.lz-hit{opacity:0;animation:lzHit 4.4s linear infinite}@keyframes lzHit{0%,40%{opacity:0}45%,70%{opacity:1}75%,100%{opacity:0}}
.lz-pop{transform-box:fill-box;transform-origin:bottom center;animation:lzPop 3.4s cubic-bezier(.3,1.5,.5,1) infinite}.lz-pop.p1{animation-delay:.55s}.lz-pop.p2{animation-delay:1.2s}.lz-pop.p3{animation-delay:1.8s}
@keyframes lzPop{0%,8%{transform:rotateX(90deg) scaleY(.05)}16%,40%{transform:none}48%,100%{transform:scaleY(.04)}}
.lz-dust ellipse{fill:#b8a57a;opacity:0;animation:lzDust 3.4s ease-out infinite}@keyframes lzDust{0%,44%{opacity:0;transform:scale(.4)}50%{opacity:.55}80%,100%{opacity:0;transform:scale(2.2)}}
.lz-dust ellipse{transform-box:fill-box;transform-origin:center}
.lz-flash{transform-box:fill-box;transform-origin:left center;animation:lzFlash .12s steps(2) infinite}@keyframes lzFlash{0%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.6)}100%{opacity:1;transform:scale(1.1)}}
.lz-trace{fill:none;stroke:#ffd27a;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:10 120;opacity:0;animation:bpTracer 2.4s linear infinite}.lz-trace.t1{animation-delay:.08s}.lz-trace.t2{animation-delay:.16s}.lz-trace.t3{animation-delay:.24s}.lz-trace.t4{animation-delay:.32s}
.lz-case{fill:#d8b04a;animation:lzCase .7s ease-out infinite}.lz-case.c1{animation-delay:.23s}.lz-case.c2{animation-delay:.46s}@keyframes lzCase{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(-14px,30px) rotate(300deg);opacity:0}}
.lz-dust.d2 ellipse{animation-duration:1.2s;opacity:.4}
.lz-breath{animation:lzBreath 4s ease-in-out infinite}@keyframes lzBreath{0%,100%{transform:translate(0,0)}35%{transform:translate(1.5px,-2px)}70%{transform:translate(-1px,1.5px)}}
.lz-shimmer{animation:lzShim 1.6s ease-in-out infinite alternate}@keyframes lzShim{from{transform:translate(146px,52px) scale(.5) skewX(0)}to{transform:translate(146.6px,52px) scale(.5) skewX(1.2deg)}}
.lz-flagp{transform-box:fill-box;transform-origin:left;animation:bpFlag .8s ease-in-out infinite alternate}
.lz-smoke{animation:lzSmoke 3s ease-out infinite}@keyframes lzSmoke{0%{r:2;opacity:0}3%{r:6;opacity:.9}30%,100%{r:22;opacity:0}}
.lz-burst,.lz-burst2{transform-box:fill-box;transform-origin:center bottom;opacity:0;animation:lzBurst 3s ease-out infinite}.lz-burst2{animation-duration:2.6s}
@keyframes lzBurst{0%,74%{opacity:0;transform:scale(.1)}80%{opacity:1;transform:scale(1)}95%,100%{opacity:0;transform:scale(1.6)}}
.lz-dirt{opacity:0;animation:lzDirt 3s ease-out infinite;transform-box:fill-box;transform-origin:center bottom}@keyframes lzDirt{0%,76%{opacity:0;transform:scaleY(.1)}84%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(1.2) translateY(8px)}}
.lz-nade{}
/* reward places: readable on the dark rows */
#dialog[data-panel=training] .range-prizes p{color:#fff!important}
#dialog[data-panel=training] .range-prizes b{color:#fff!important}
#dialog[data-panel=training] .range-prizes p{text-shadow:0 1px 2px #000a}
button[hidden]{display:none!important}
#gl-error{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:90;max-width:min(680px,92vw);padding:10px 16px;background:#3a1512f2;border:1px solid #ff7a66;color:#fff;font:13px/1.4 sans-serif;border-radius:3px}
/* ---------- workshop bench: realistic crafting animation */
.bench{position:relative;height:230px;border:1px solid #ffffff22;overflow:hidden;background:#111}.bench svg{width:100%;height:100%;display:block}
.bench .lamp{animation:bnLamp 3.3s steps(1) infinite}@keyframes bnLamp{0%{opacity:.9}6%{opacity:.7}8%{opacity:1}55%{opacity:.95}58%{opacity:.75}60%,100%{opacity:1}}
.bench .pt{opacity:0;animation:bnDrop .5s cubic-bezier(.3,1.6,.5,1) forwards}.bench .p2{animation-delay:.35s}.bench .p3{animation-delay:.7s}
@keyframes bnDrop{from{opacity:0;transform:translateY(-70px) rotate(-20deg)}to{opacity:1;transform:none}}
.bench .pt{transform-box:fill-box;transform-origin:center}
.bench .parts,.bench .blank,.bench .gpiece{transition:opacity .3s}
.bench .blank,.bench .gpiece,.bench .impact,.bench .gsparks{opacity:0}
.bench .hammer{transform-origin:312px 100px;transform:rotate(40deg)}
.bp-overlay[data-phase="1"] .bench .parts,.bp-overlay[data-phase="2"] .bench .parts,.bp-overlay[data-phase="3"] .bench .parts{opacity:0}
.bp-overlay[data-phase="1"] .bench .blank{opacity:1;animation:bnCool 1.3s linear forwards}
.bp-overlay[data-phase="1"] .bench .blank rect:first-child{}
@keyframes bnCool{from{filter:none}to{filter:saturate(.2) brightness(.7)}}
.bp-overlay[data-phase="1"] .bench .hammer{animation:bnHammer .5s ease-in infinite}
.bp-overlay[data-phase="1"] .bench .impact{opacity:1}
.bp-overlay[data-phase="1"] .bench .impact .flash{animation:bnFlash .5s linear infinite}
.bp-overlay[data-phase="1"] .bench .impact .sp{animation:bnSp .5s ease-out infinite}
@keyframes bnHammer{0%,8%{transform:rotate(40deg)}52%{transform:rotate(5deg)}62%{transform:rotate(16deg)}100%{transform:rotate(40deg)}}
@keyframes bnFlash{0%,50%{opacity:0;transform:scale(.2)}54%{opacity:1;transform:scale(1)}80%,100%{opacity:0;transform:scale(1.4)}}
.bench .impact .flash{transform-box:fill-box;transform-origin:center;opacity:0}
.bench .sp,.bench .gs{stroke:#ffd36a;stroke-width:1.7;stroke-linecap:round;opacity:0}
.bench .sp{transform:rotate(var(--a)) translateY(0)}
@keyframes bnSp{0%,50%{opacity:0;transform:rotate(var(--a)) translateY(0)}54%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--l) * -2.6))}}
.bench .wheel{transform-box:fill-box;transform-origin:center}
.bp-overlay[data-phase="2"] .bench .wheel{animation:bpSpin .22s linear infinite}
.bp-overlay[data-phase="2"] .bench .gpiece{opacity:1;animation:bnGrind .18s ease-in-out infinite alternate}
@keyframes bnGrind{from{transform:translateX(0)}to{transform:translateX(3px)}}
.bench .gsparks{transform:translate(402px,134px) rotate(-75deg)}
.bp-overlay[data-phase="2"] .bench .gsparks{opacity:1}
.bp-overlay[data-phase="2"] .bench .gs{animation:bnGs .28s linear infinite}
@keyframes bnGs{0%{opacity:0;transform:rotate(var(--a)) translateY(0)}15%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--l) * -3.4))}}
.bench .result{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;background:radial-gradient(#000a,#000d);opacity:0;pointer-events:none;overflow:hidden}
.bench .result .plate{width:96px;height:96px;display:grid;place-items:center;background:radial-gradient(#3a444a,#1a2024);border:2px solid var(--fx);box-shadow:0 0 30px #0009,inset 0 0 18px #0008;transform:scale(.4)}
.bench .result b{font:700 11px 'Courier New',monospace;letter-spacing:2px;color:#9fe07a;opacity:0}
.bench .result .sweep{position:absolute;top:-20%;bottom:-20%;width:60px;left:-80px;background:linear-gradient(90deg,#0000,#fff6,#0000);transform:skewX(-20deg)}
.bp-overlay[data-phase="3"] .bench .result{opacity:1;transition:opacity .25s}
.bp-overlay[data-phase="3"] .bench .result .plate{animation:bnPlate .5s cubic-bezier(.3,1.5,.5,1) forwards}
.bp-overlay[data-phase="3"] .bench .result b{animation:bnFade .4s .35s forwards}
.bp-overlay[data-phase="3"] .bench .result .sweep{animation:bnSweep .9s .2s ease-out forwards}
@keyframes bnPlate{to{transform:scale(1)}}@keyframes bnFade{to{opacity:1}}@keyframes bnSweep{to{left:120%}}
.bench .result .plate>*{transform:scale(2.2);transform-origin:center}
.range-req{list-style:none;margin:2px 0 8px!important;padding:0!important;font:12px/1.5 'Courier New',monospace;color:#2b2618}
.range-req li{display:block;padding:1px 0}.range-req li.ok{color:#2f6a22}.range-req li.no{color:#a02a1c;font-weight:700}
#dialog[data-panel=training] .lane-go:disabled{opacity:.55;filter:grayscale(.8);cursor:not-allowed}

/* ===== v39 sprite props: real art over the animated hero scenes ===== */
.bp-art img.px{position:absolute;pointer-events:none;user-select:none;filter:drop-shadow(0 6px 8px #000a)}
.bp-hero-command .p-drone{right:230px;top:26px;width:92px;animation:pxBob 3.2s ease-in-out infinite alternate}
.bp-hero-command .p-folder{right:20px;bottom:10px;width:98px;transform:rotate(-6deg);animation:pxBob 5s ease-in-out infinite alternate-reverse}
@keyframes pxBob{from{transform:translateY(-5px) rotate(-2deg)}to{transform:translateY(6px) rotate(2deg)}}
@keyframes pxAim{from{transform:translateY(-3px) rotate(-.6deg)}to{transform:translateY(4px) rotate(.6deg)}}
.bp-hero-gear .bp-rail .hang{display:none}
.bp-hero-gear .p-hangers{position:absolute;inset:0}
.bp-hero-gear .hg{position:absolute;top:8px;transform-origin:50% 0;animation:bpSwing 3.6s ease-in-out infinite alternate;margin-left:-45px}
.bp-hero-gear .hg:before{content:'';position:absolute;left:50%;top:0;width:2px;height:18px;background:#d8c48c}
.bp-hero-gear .hg img{position:static;display:block;margin:16px auto 0;height:150px;width:auto;max-width:110px;object-fit:contain;filter:drop-shadow(0 8px 8px #000b)}
.bp-hero-food .bp-bowl{display:none}
.bp-hero-food .p-pot{right:11%;bottom:6px;width:156px}
.bp-hero-household .bp-tools{display:none}
.bp-hero-household .p-wrench{right:196px;bottom:16px;width:104px;transform-origin:30% 80%;animation:pxWrench 3s ease-in-out infinite alternate}
@keyframes pxWrench{from{transform:rotate(-18deg)}to{transform:rotate(12deg)}}
.bp-hero-household .p-grinder{right:30px;bottom:12px;width:150px}
.bp-hero-household .p-spark,.bp-hero-workshop .g-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffd36a;box-shadow:0 0 10px 3px #ff9a2a;opacity:0;animation:pxSpark .7s ease-out infinite}
.bp-hero-household .p-spark{right:176px;bottom:76px}
.bp-hero-workshop .g-spark{right:278px;bottom:78px}
@keyframes pxSpark{0%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(-26px,16px)}}
.bp-hero-inventory .crate,.bp-hero-supply .crate{background:none!important;border:0!important}
.bp-hero-inventory .crate img,.bp-hero-supply .crate img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 4px #0009)}
.bp-hero-inventory .crate em,.bp-hero-supply .crate em{position:relative;color:#f0e2b0!important;text-shadow:0 1px 2px #000;font-size:11px!important}
.bp-hero-inventory .crate{width:84px!important;height:62px!important;bottom:36px!important}
.bp-hero-hospital .bp-cross,.bp-hero-hospital .bp-drip{display:none}
.bp-hero-hospital .p-monitor{right:26px;top:16px;width:148px;animation:pxPulse 1.15s ease-in-out infinite}
@keyframes pxPulse{0%,100%{filter:drop-shadow(0 6px 8px #000a) brightness(1)}30%{filter:drop-shadow(0 6px 8px #000a) brightness(1.18)}}
.bp-hero-hospital .p-amp{right:196px;top:14px;width:74px;transform-origin:50% 0;animation:bpSwing 3.2s ease-in-out infinite alternate}
.bp-hero-hospital .p-band{right:26px;bottom:6px;width:150px;animation:pxBob 4s ease-in-out infinite alternate}
.bp-hero-hospital .bpm{right:290px!important}
.bp-hero-workshop .bp-anvil{width:150px;height:120px;right:36px}
.bp-hero-workshop .bp-anvil .block{display:none}
.bp-hero-workshop .p-anvil{left:0;bottom:0;width:150px}
.bp-hero-workshop .bp-anvil .hammer{left:70px;bottom:62px}
.bp-hero-workshop .bp-anvil u{left:72px;bottom:96px}
.bp-hero-workshop .p-grinder2{right:228px;bottom:12px;width:122px}
.bp-hero-workshop .p-wrench2{right:196px;top:14px;width:70px;transform:rotate(24deg);opacity:.95;animation:pxWrench 3.6s ease-in-out infinite alternate}
.bp-hero-gray .bp-boom{width:232px;height:148px;right:130px;bottom:14px}
.bp-hero-gray .bp-boom img{position:absolute;filter:drop-shadow(0 6px 6px #000a)}
.bp-hero-gray .bp-boom .post{left:0;bottom:0;width:232px;height:auto;background:none;border:0}
.bp-hero-gray .bp-boom .arm{left:75px;top:23px;right:auto;bottom:auto;width:157px;height:auto;background:none;transform-origin:3% 50%}
.bp-hero-training .bp-target{right:70px;top:14px;height:200px;width:130px;filter:none}
.bp-hero-training .bp-target img{position:static;height:100%;width:100%;object-fit:contain}
.bp-hero-training .bp-target svg{position:absolute;inset:0;width:100%;height:100%}
.bp-hero-training .bp-target .hole{fill:#ffd27a;stroke:#2a1a05;stroke-width:2}
.bp-hero-player .p-folder2{right:36px;bottom:8px;width:120px;transform:rotate(5deg);animation:pxBob 5s ease-in-out infinite alternate}
.bp-hero-rewards .p-medal{right:200px;top:0;width:70px;transform-origin:50% 0;animation:bpSwing 3s ease-in-out infinite alternate}
.bp-hero-rankings .p-medal2{right:60px;top:0;width:72px;transform-origin:50% 0;animation:bpSwing 3.4s ease-in-out infinite alternate}
@media(max-width:700px){.bp-hero .px{opacity:.5}}
/* range lanes use SVG <image>: keep them crisp */
.bp-lane .lane-art image{image-rendering:auto}
.bp-hero-rewards .p-medal{right:340px}
.bp-hero-supply .crate{width:78px!important;height:58px!important;bottom:20px!important}

.bp-hero-workshop .bp-anvil{display:none}
.bp-hero-uav .p-drone-uav{right:110px;top:34px;width:150px;animation:pxBob 2.6s ease-in-out infinite alternate;z-index:3}
.bp-hero-uav .bp-hud .drone{display:none}
.bp-hero-player .bp-dogtag{display:none}

.admin-users-wrap{overflow:auto;max-height:340px}.admin-users table{width:100%;border-collapse:collapse;font-size:12px}.admin-users th,.admin-users td{padding:5px 8px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}.admin-users th{color:#9fb0a0;position:sticky;top:0;background:#1b2219}.admin-users i.on{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6f6;margin-right:6px}

/* ===== Мобильная версия (body.phone ставится скриптом: телефон или узкое окно) ===== */
body.phone{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;font-size:14px}
body.phone button,body.phone .building,body.phone [data-open]{touch-action:manipulation}
body.phone header{height:auto;min-height:0;padding:6px 8px;gap:8px;flex-wrap:nowrap;align-items:center}
body.phone header>section,body.phone header .brand{display:none}
body.phone header nav{order:0;width:auto;flex:1;min-width:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:3px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
body.phone header nav::-webkit-scrollbar{display:none}
body.phone header nav button{flex:0 0 auto;min-height:40px;padding:6px 11px;font-size:12px;white-space:nowrap}
body.phone .nav-more{position:static}
body.phone .nav-menu{position:fixed;top:52px;right:8px;left:auto;z-index:300;max-height:70vh;overflow:auto}
body.phone .nav-menu button{min-height:44px;width:100%}
body.phone header .balance{flex:0 0 auto;margin:0;text-align:right}
body.phone header .balance b{font-size:14px}body.phone header .balance small{font-size:11px}
body.phone .strip,body.phone .bottom{display:none}
body.phone main{display:block;height:auto;min-height:0}
body.phone .left{display:none}
body.phone #scene{height:calc(100dvh - 128px);min-height:360px}
body.phone .scene-top{padding:8px;font-size:11px;gap:6px;align-items:flex-start}
body.phone .scene-top>div{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
body.phone .scene-top button{min-width:40px;min-height:40px;padding:4px 8px;font-size:15px}
body.phone .scene-bottom{padding:8px 10px;min-height:0;font-size:11px;padding-right:140px}
body.phone .building{padding:6px 9px;min-width:0;font-size:11px}
body.phone .building small{display:none}
body.phone #audio-start{right:8px;bottom:8px;padding:8px 10px;font-size:12px;min-height:40px}
body.phone #presence{display:none!important}
body.phone footer{min-height:0;padding:6px 8px;gap:6px}
body:not(.in-battle).phone footer{display:none}
body.phone .right{display:none!important}
/* окна панелей */
body.phone dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border-width:0;padding:10px 10px 22px;overflow-x:hidden}
body.phone #close{position:fixed;right:6px;top:6px;width:44px;height:44px;font-size:26px;background:#0b1623e6;border:1px solid #ffffff30;border-radius:8px;z-index:50}
body.phone #content{padding-top:48px}
body.phone #content *{max-width:100%}
body.phone #content table{display:block;overflow-x:auto}
body.phone #content img,body.phone #content canvas{max-width:100%;height:auto}
body.phone #content .columns,body.phone #content .locations,body.phone #content .factions{grid-template-columns:1fr}
body.phone #content .catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
body.phone #content .row{flex-wrap:wrap}
body.phone #content button{min-height:40px}
body.phone #content input,body.phone #content select{font-size:16px}
body.phone .bp-hero{height:auto;min-height:170px}
body.phone .bp-title{max-width:100%;padding-right:10px}
body.phone .bp-art{left:50%;opacity:.55}
body.phone .bp-hero .px{opacity:.4}
body.phone .bp-lane{overflow-x:auto}
body.phone .section-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
body.phone .section-tabs button{flex:0 0 auto}
body.phone #toast{bottom:90px;max-width:92vw}
body.phone input,body.phone textarea{font-size:16px}
/* бой на телефоне */
body.phone.in-battle header{display:none}
body.phone.in-battle main{position:fixed;inset:0 0 168px 0;z-index:1}
body.phone.in-battle #scene{height:100%;min-height:0}
body.phone.in-battle .left{display:flex;position:absolute;left:0;top:44px;bottom:0;width:78px;z-index:6;padding:6px 4px;background:#0b1829d0;border:0;overflow-y:auto;gap:4px}
body.phone.in-battle .left>*:not(#vitals):not(.battle-actions){}
body.phone.in-battle .scene-top{padding-left:8px}
body.phone.in-battle .scene-top #scene-label{display:none}
body.phone.in-battle .scene-top{justify-content:flex-end}
body.phone.in-battle footer{position:fixed;left:0;right:0;bottom:0;height:168px;z-index:5;flex-wrap:wrap;overflow:auto;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#0d1a2a}
body.phone.in-battle #battle-info{width:100%;font-size:11px;line-height:1.35;order:1}
body.phone.in-battle #plan-list{position:static;order:0;width:100%;height:auto;padding:4px 6px}
body.phone.in-battle #actions button{min-width:68px;min-height:42px}
body.phone.in-battle #end{width:100%;max-width:none;min-height:46px;order:3}
body.phone.in-battle #battle-journal{position:fixed;left:0;right:0;bottom:168px;z-index:6}
body.phone.in-battle #battle-chat-dock{display:none}
@media(orientation:landscape) and (max-height:520px){
body.phone #scene{height:calc(100dvh - 52px);min-height:240px}
body.phone dialog{padding:8px 14px 16px}
body.phone .bp-hero{min-height:130px}
body.phone.in-battle main{inset:0 190px 0 0}
body.phone.in-battle footer{left:auto;width:190px;top:0;height:auto;bottom:0;flex-direction:column;flex-wrap:nowrap}
body.phone.in-battle #battle-journal{display:none}
}
body.phone #base-operator{display:none!important}
html:has(body.phone),body.phone{overflow-x:hidden;max-width:100vw}
body.phone .activity-hero{grid-template-columns:1fr!important;height:auto}
body.phone .activity-hero>*{min-width:0}
body.phone .activity-hero svg,body.phone .activity-hero canvas{max-height:150px}

/* ===== Панель персонажа: личное дело ===== */
#dialog[data-panel=character]{background:radial-gradient(ellipse at 20% 0,#1d3a4a,#0c1722 65%)!important;border:1px solid #4d7a92!important;color:#e8f1f7}
#dialog[data-panel=character] #content{background:none!important;padding:6px 2px 4px!important}
#dialog[data-panel=character] #content :is(h2,h3,b,strong){color:#f0f6fa!important}
#dialog[data-panel=character] #content :is(p,small,label){color:#a9bfcc!important}
#dialog[data-panel=character] #content .eyebrow{color:#6fd0ee!important}
.ch-hero{display:flex;gap:22px;align-items:center;padding:20px;border:1px solid #3f6980;border-radius:14px;background:linear-gradient(115deg,#1a3a4ae6,#10202ee6);box-shadow:0 10px 30px #0006;position:relative;overflow:hidden;animation:chRise .5s ease-out both}
.ch-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,#ffffff12 50%,transparent 60%);transform:translateX(-120%);animation:chSheen 5s ease-in-out 1s infinite;pointer-events:none}
.ch-photo{position:relative;flex:0 0 auto;width:132px;height:156px;border-radius:12px;padding:3px;background:linear-gradient(160deg,#6fd0ee,#2b5d78 55%,#e7c15a);box-shadow:0 0 22px #6fd0ee44}
.ch-photo .operator-avatar,.ch-photo canvas,.ch-photo img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block;background:#0d1a26}
.ch-ring{position:absolute;right:-14px;bottom:-14px;width:58px;height:58px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(#0c1722 56%,transparent 58%),conic-gradient(#e7c15a var(--lv),#2a4558 0);box-shadow:0 4px 14px #000a}
.ch-ring b{font-size:19px;line-height:1;color:#ffe8a8!important}.ch-ring small{font-size:11px!important;letter-spacing:1px;margin-top:-1px}
.ch-id{flex:1;min-width:0}.ch-id h2{font-size:30px;margin:2px 0 6px;letter-spacing:1px}
.ch-xp{position:relative;height:20px;border-radius:10px;background:#0a1620;border:1px solid #365a70;overflow:hidden;margin:12px 0}
.ch-xp i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,#2f86b4,#6fd0ee,#b6f2ff);background-size:200% 100%;animation:chFill 1s ease-out both,chFlow 3s linear infinite}
.ch-xp span{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 2px #000}
.ch-chips{display:flex;flex-wrap:wrap;gap:8px}.ch-chips span{padding:5px 11px;border-radius:99px;background:#0c1b27;border:1px solid #365a70;font-size:12px;color:#c6d9e4}
.ch-chips span.hot{border-color:#e7c15a;color:#ffe8a8;animation:chPulse 1.6s ease-in-out infinite}
.ch-vitals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.ch-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;border-radius:12px;background:linear-gradient(160deg,#16293a,#0f1d2a);border:1px solid color-mix(in srgb,var(--c) 45%,#2a4558);animation:chRise .5s ease-out both;transition:transform .2s}
.ch-tile:hover{transform:translateY(-3px)}.ch-tile:nth-child(2){animation-delay:.07s}.ch-tile:nth-child(3){animation-delay:.14s}.ch-tile:nth-child(4){animation-delay:.21s}
.ch-tile i{font-style:normal;font-size:22px;color:var(--c);filter:drop-shadow(0 0 8px var(--c))}.ch-tile b{font-size:22px}.ch-tile small{font-size:11px!important;text-align:center}
.ch-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ch-card{padding:16px 18px;border-radius:12px;background:#0f1d2acc;border:1px solid #2f4d63;animation:chRise .55s .1s ease-out both}
.ch-card h3,.ch-h{margin:0 0 10px;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:#6fd0ee!important}.ch-h{margin:22px 0 10px}
.ch-stat{padding:9px 0;border-bottom:1px solid #1f3547}.ch-stat:last-child{border:0}
.ch-stat-top{display:flex;align-items:center;gap:10px}.ch-stat-top>div{flex:1;min-width:0}.ch-stat-top b{display:block;font-size:14px}.ch-stat-top small{display:block;font-size:11px}
.ch-stat-top strong{font-size:18px;min-width:38px;text-align:right}
.ch-stat .stat-icon{width:40px!important;height:40px!important;border-radius:9px;flex:0 0 auto}
.ch-bar{height:6px;margin-top:8px;border-radius:4px;background:#08131c;overflow:hidden;position:relative}
.ch-bar i{display:block;height:100%;width:var(--w);border-radius:4px;background:linear-gradient(90deg,#3d8abd,#82e6ed);animation:chFill .9s ease-out both}
.ch-bar.skill i{background:linear-gradient(90deg,#c79a3a,#ffe08a)}.ch-bar em{position:absolute;left:0;bottom:0;height:2px;width:var(--w);background:#fff8}
button.ch-plus{width:34px;height:34px;padding:0;font-size:20px;line-height:1;border-radius:50%;flex:0 0 auto}
button.ch-plus.ready{background:linear-gradient(120deg,#ffe08a,#e7a93a)!important;color:#2a1c05!important;border:0!important;animation:chPulse 1.4s ease-in-out infinite}
.ch-pro{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.ch-pcard{padding:14px;border-radius:12px;background:#0f1d2acc;border:1px solid #2f4d63;display:flex;flex-direction:column;gap:6px;transition:transform .2s,border-color .2s}.ch-pcard:hover{transform:translateY(-3px);border-color:#6fd0ee}
.ch-pcard.on{border-color:#e7c15a;box-shadow:0 0 18px #e7c15a33}.ch-pcard small{flex:1;font-size:12px}
.ch-medals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ch-medal{padding:14px;border-radius:12px;text-align:center;background:#0f1d2acc;border:1px dashed #3b566a}.ch-medal span{display:block;font-size:30px;color:#566c7c}.ch-medal small{display:block;font-size:11px}
.ch-medal.got{border:1px solid #e7c15a;background:linear-gradient(160deg,#3a3014,#16202a)}.ch-medal.got span{color:#ffd35c;filter:drop-shadow(0 0 10px #ffd35c);animation:chPulse 2s infinite}
#dialog[data-panel=character] .avatar-settings{margin-top:18px;padding:16px;border-radius:12px;background:#0f1d2acc;border:1px solid #2f4d63}
@keyframes chRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes chFill{from{width:0}to{width:var(--w)}}
@keyframes chFlow{to{background-position:-200% 0}}
@keyframes chSheen{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes chPulse{50%{box-shadow:0 0 16px #ffd35c99}}
@media(max-width:760px){.ch-hero{flex-direction:column;text-align:center;padding:16px}.ch-chips{justify-content:center}.ch-vitals{grid-template-columns:repeat(2,1fr)}.ch-cols{grid-template-columns:1fr}.ch-medals{grid-template-columns:1fr}.ch-id h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.ch-hero *,.ch-tile,.ch-card,.ch-bar i,.ch-xp i{animation:none!important}}

/* ===== Окно трофеев и окно нового уровня ===== */
.icon.svg-icon{display:grid!important;place-items:center;background:radial-gradient(circle at 50% 35%,#2b3b33,#141c1a)!important}
.icon.svg-icon svg{width:82%;height:82%}
.rw-ico{display:block;overflow:visible}
.rw-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.rw-confetti i{position:absolute;top:-14px;width:8px;height:14px;border-radius:2px;opacity:0;animation:rwFall 3s linear infinite}
@keyframes rwFall{0%{opacity:1;translate:0 0}100%{opacity:.9;translate:30px 560px;rotate:540deg}}
#reward-receipt{width:min(620px,94vw)!important;padding:26px 24px 22px!important;border:1px solid #6fd0ee88!important;border-radius:18px!important;background:radial-gradient(ellipse at 50% -10%,#2c5a73,#0f1b28 62%)!important;box-shadow:0 0 80px #2ebbec30,0 30px 80px #000c!important;position:relative;overflow:hidden}
#reward-receipt>*{position:relative;z-index:1}#reward-receipt>.rw-confetti{position:absolute;z-index:0}
.rw-head{text-align:center}.rw-head small{display:block;margin-top:12px;letter-spacing:3px;color:#6fd0ee;font-size:11px}.rw-head h2{margin:4px 0 14px;font-size:28px}
.rw-badge{display:inline-grid;place-items:center;width:104px;height:104px;border-radius:50%;background:radial-gradient(circle,#3a6c86,#16293a 70%);border:2px solid #e7c15a;box-shadow:0 0 34px #e7c15a55;animation:rwPop .6s cubic-bezier(.2,1.6,.4,1) both,rwGlow 2.4s 1s ease-in-out infinite}
@keyframes rwPop{from{transform:scale(.2) rotate(-25deg);opacity:0}to{transform:none;opacity:1}}
@keyframes rwGlow{50%{box-shadow:0 0 52px #ffd35caa}}
.rw-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:6px 0 16px}
.rw-stats>div{display:flex;flex-direction:column;align-items:center;min-width:118px;padding:12px 14px;border-radius:12px;background:#0b1824c8;border:1px solid #3f6980;animation:rwUp .5s var(--d,0s) ease-out both}
.rw-stats b{font-size:22px;color:#ffe8a8;margin-top:4px}.rw-stats small{font-size:11px;color:#a9bfcc}
.rw-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin-bottom:18px}
.rw-items>div{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;border-radius:12px;background:#0b1824c8;border:1px solid #3f6980;text-align:center;animation:rwUp .5s var(--d,0s) ease-out both}
.rw-items .icon{width:70px!important;height:70px!important;margin:0!important}.rw-items b{font-size:12px;line-height:1.25}
.rw-items em{position:absolute;right:6px;top:6px;font-style:normal;font-weight:800;font-size:12px;padding:1px 7px;border-radius:99px;background:#e7c15a;color:#2a1c05}
@keyframes rwUp{from{opacity:0;transform:translateY(16px) scale(.92)}to{opacity:1;transform:none}}
#levelup{width:min(520px,94vw);padding:34px 26px 26px;border:1px solid #e7c15a99;border-radius:20px;text-align:center;background:radial-gradient(ellipse at 50% 0,#4a4222,#111b27 62%);box-shadow:0 0 90px #e7c15a38,0 30px 90px #000d;position:relative;overflow:hidden;color:#fff}
#levelup::backdrop{background:#02070fc4;backdrop-filter:blur(7px)}
#levelup>*{position:relative;z-index:1}#levelup>.rw-confetti{position:absolute;z-index:0}
.lv-glow{position:absolute!important;left:50%;top:70px;width:340px;height:340px;margin-left:-170px;border-radius:50%;background:conic-gradient(from 0deg,#ffd35c00,#ffd35c44,#ffd35c00 25%,#ffd35c44 50%,#ffd35c00 75%,#ffd35c44);filter:blur(6px);animation:lvSpin 9s linear infinite;z-index:0!important;-webkit-mask:radial-gradient(circle,#000 20%,transparent 68%);mask:radial-gradient(circle,#000 20%,transparent 68%)}
@keyframes lvSpin{to{transform:rotate(360deg)}}
.lv-emblem{position:relative;display:inline-grid;place-items:center;animation:rwPop .7s cubic-bezier(.2,1.5,.4,1) both,lvFloat 3s 1s ease-in-out infinite}
@keyframes lvFloat{50%{transform:translateY(-6px)}}
.lv-num{position:absolute;top:50%;left:50%;translate:-50% -46%;font-size:38px;color:#ffe8a8;text-shadow:0 2px 8px #000}
.lv-kicker{display:block;letter-spacing:5px;color:#ffd35c;margin-top:10px;font-size:12px}
#levelup h2{font-size:32px;margin:4px 0 6px;color:#fff}.lv-text{margin:0 0 16px;color:#c6d9e4}.lv-text b{color:#ffe8a8}
.lv-gains{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.lv-gains>div{display:flex;align-items:center;gap:12px;padding:9px 14px;border-radius:12px;background:#0b1824cc;border:1px solid #4b6a7c;text-align:left;animation:rwUp .5s .3s ease-out both}
.lv-gains>div:nth-child(2){animation-delay:.45s}.lv-gains span{flex:1}.lv-gains b{font-size:20px;color:#ffe8a8}
.lv-actions{display:flex;gap:10px}.lv-actions button{flex:1;min-height:46px}
body.phone #levelup,body.phone #reward-receipt{width:94vw!important;max-height:92dvh;overflow:auto}
@media(prefers-reduced-motion:reduce){.rw-confetti{display:none}.rw-badge,.lv-emblem,.lv-glow{animation:none}}
#server-clock{display:block;margin-top:2px;font:600 11px Consolas,monospace;letter-spacing:1px;color:#7fd9ee;white-space:nowrap}

/* ===== Дуэль и патрулирование ===== */
.duel-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin:0 0 18px;border:1px solid #c9553f88;border-radius:12px;background:linear-gradient(110deg,#4a2a22,#1c2531)}
.duel-entry b{font-size:18px;color:#ffd8a8}.duel-entry p{margin:4px 0 0}
.duel-create,.duel-lobby{padding:14px 16px;border:1px solid #3b566a;border-radius:12px;background:#0f1d2acc;margin:10px 0}
.duel-modes{display:flex;gap:10px;margin:10px 0}.duel-modes button{flex:1;font-size:20px;font-weight:800;padding:14px}
.duel-lobby{display:flex;align-items:center;gap:14px}.duel-lobby>div{flex:1;min-width:0}.duel-lobby b{display:block}.duel-lobby small{display:block;margin-top:3px}
.duel-count{font:700 18px Consolas,monospace;color:#ffd35c}
.duel-progress{position:relative;height:24px;border-radius:12px;background:#08131c;border:1px solid #365a70;overflow:hidden;margin:12px 0}
.duel-progress i{display:block;height:100%;background:linear-gradient(90deg,#2f86b4,#6fd0ee);transition:width .4s}
.duel-progress span{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 2px #000}
.duel-teams{display:grid;grid-template-columns:1fr 54px 1fr;gap:10px;align-items:start;margin:14px 0}
.duel-teams h3{margin:0 0 8px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#6fd0ee!important}
.duel-vs{align-self:center;text-align:center;font:800 22px 'Segoe UI';color:#ff9a6b;text-shadow:0 0 14px #ff6a3a88}
.duel-slot{display:grid;grid-template-columns:14px 1fr auto;grid-template-areas:'d n r' 'd s r';gap:0 10px;align-items:center;padding:9px 12px;margin-bottom:8px;border-radius:10px;background:#0f1d2acc;border:1px solid #3b566a;animation:chRise .35s ease-out both}
.duel-slot .duel-dot{grid-area:d;width:12px;height:12px;border-radius:50%;background:#52667a}.duel-dot.vostok{background:#d9a24a}.duel-dot.aurelius{background:#6fb2e8}
.duel-slot b{grid-area:n}.duel-slot small{grid-area:s;color:#9fb3c2}.duel-slot span{grid-area:r;color:#7ee08a;font-weight:700}
.duel-slot.ready{border-color:#7ee08a88}
.duel-slot.empty{opacity:.55;border-style:dashed;animation:chPulse 2s ease-in-out infinite}
.duel-actions{display:flex;gap:10px;margin:8px 0}.duel-actions button{flex:1;min-height:50px;font-size:16px}
body.phone .duel-teams{grid-template-columns:1fr}body.phone .duel-vs{display:none}body.phone .duel-entry{flex-direction:column;align-items:stretch}

/* ===== Загрузочные экраны ===== */
.ld{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#1d4057,#08121c 72%);color:#e8f1f7;transition:opacity .6s ease,visibility .6s}
.ld.done{opacity:0;visibility:hidden;pointer-events:none}
.ld::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff06 0 1px,transparent 1px 4px);pointer-events:none}
.ld-radar{position:absolute;left:50%;top:50%;width:min(130vh,130vw);height:min(130vh,130vw);translate:-50% -50%;border-radius:50%;border:1px solid #6fd0ee22;background:repeating-radial-gradient(circle,transparent 0 11%,#6fd0ee14 11.4% 11.8%)}
.ld-radar i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#6fd0ee00 0 78%,#6fd0ee33 96%,#6fd0ee88 100%);animation:ldSweep 4.2s linear infinite}
.ld-radar b{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#6fd0ee1c}
.ld-box{position:relative;z-index:1;width:min(520px,88vw);text-align:center;padding:10px}
.ld-box h1{margin:6px 0 4px;font-size:clamp(28px,6vw,46px);letter-spacing:5px;font-weight:800;text-shadow:0 0 28px #6fd0ee55}
.ld-box small{display:block;letter-spacing:6px;color:#6fd0ee;font-size:12px}
.ld-cross{width:78px;height:78px;color:#6fd0ee;animation:ldPulse 2.2s ease-in-out infinite}
.ld-bar{height:8px;margin:26px 0 12px;border-radius:5px;background:#0a1824;border:1px solid #2f5268;overflow:hidden}
.ld-bar i{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,#2f86b4,#6fd0ee,#b6f2ff,#6fd0ee);background-size:200% 100%;animation:chFlow 2.2s linear infinite;transition:width .35s ease-out}
.ld-box p{margin:6px 0;color:#a9bfcc}.ld-tip{font-size:13px;min-height:2.6em;color:#8fa9b8!important}
.ld-steps{list-style:none;margin:18px auto 0;padding:0;width:max-content;text-align:left}
.ld-steps li{padding:5px 0 5px 28px;position:relative;color:#7f98a8;transition:color .3s}
.ld-steps li::before{content:'';position:absolute;left:4px;top:9px;width:12px;height:12px;border-radius:50%;border:2px solid #4a6a7e}
.ld-steps li.ok{color:#e8f1f7}.ld-steps li.ok::before{background:#7ee08a;border-color:#7ee08a;box-shadow:0 0 10px #7ee08a99}
.ld-battle{background:radial-gradient(ellipse at 50% 30%,#3a3220,#0a0f14 72%)}.ld-battle .ld-radar i{background:conic-gradient(from 0deg,#e7a95a00 0 78%,#e7a95a33 96%,#e7a95a88 100%)}.ld-battle small{color:#e7a95a}
@keyframes ldSweep{to{transform:rotate(360deg)}}@keyframes ldPulse{50%{transform:scale(1.12);opacity:.7}}
@media(prefers-reduced-motion:reduce){.ld-radar i,.ld-cross,.ld-bar i{animation:none}}

/* ===== Практика в обучении ===== */
.practice-card{margin:14px 0;padding:14px 16px;border-radius:12px;background:#0b1824c8;border:1px solid #3f6980}
.practice-head{display:flex;align-items:center;gap:14px}.practice-head .icon{width:84px!important;height:64px!important;flex:0 0 auto;background-size:600% 400%}
.practice-head b{display:block;font-size:15px}
.practice-list{list-style:none;margin:12px 0;padding:0}.practice-list li{position:relative;padding:4px 0 4px 28px;color:#a9bfcc}
.practice-list li::before{content:'';position:absolute;left:2px;top:7px;width:13px;height:13px;border-radius:4px;border:2px solid #52748a}
.practice-list li.ok{color:#e8f1f7}.practice-list li.ok::before{background:#7ee08a;border-color:#7ee08a;box-shadow:0 0 10px #7ee08a88}
.practice-actions{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
.practice-card .magazine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.practice-card .magazine-card .icon{width:84px!important;height:60px!important}
/* ===== v15: рейтинг дуэлей, отчёт боя, приглашения ===== */
.duel-rating{margin:10px 0;padding:12px 14px;background:linear-gradient(#0f1b27,#0a131c);border:1px solid #2d5f8288;border-radius:10px}
.duel-rating-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.duel-rating-head b{font:700 30px var(--gtitle);color:#e8f4fb;letter-spacing:.04em}
.duel-rating-head small{color:#8fb0c4}
.duel-league{padding:3px 10px;border-radius:999px;font:700 12px var(--gmono);letter-spacing:.1em;text-transform:uppercase;background:#7a4a24;color:#ffd9b0}
.duel-league.l-Серебро{background:#52606c;color:#eef5fb}.duel-league.l-Золото{background:#9a7418;color:#fff0b8}.duel-league.l-Платина{background:#1f7f93;color:#d8fbff}
.duel-reward{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;padding:8px 12px;border-radius:8px;background:#2a2410;border:1px solid #b8913a88;color:#ffe9a8}
.duel-ladder{list-style:none;margin:8px 0;padding:0;display:grid;gap:3px}
.duel-ladder li{display:grid;grid-template-columns:28px 1fr 56px 56px;gap:8px;padding:4px 8px;border-radius:6px;background:#0c1620;align-items:center}
.duel-ladder li.me{background:#17384f;outline:1px solid #7fc6e8}
.duel-ladder em{font-style:normal;font-family:var(--gmono);color:#bfe3f5;text-align:right}.duel-ladder small{color:#7f9aab;text-align:right}
.duel-rules button{font-size:13px}
.duel-invite{display:flex;gap:8px;margin:10px 0}.duel-invite input{flex:1;min-width:0}
.duel-result{display:flex;align-items:baseline;gap:12px;margin:10px 0;padding:10px 14px;border-radius:10px;font-family:var(--gtitle)}
.duel-result b{font-size:34px}.duel-result.up{background:#10301c;color:#8df0a4}.duel-result.down{background:#341618;color:#ff9a9a}.duel-result small{font:13px var(--gbody);color:#c5d6e0}
#duel-invite{position:fixed;left:50%;top:14px;transform:translateX(-50%);z-index:60;display:grid;gap:6px;padding:12px 16px;min-width:260px;max-width:92vw;background:#0f1b27f2;border:1px solid #7fc6e8;border-radius:12px;box-shadow:0 14px 40px #000b;animation:inv-in .25s ease-out}
#duel-invite b{font-family:var(--gtitle);letter-spacing:.08em;text-transform:uppercase;color:#7fc6e8}#duel-invite div{display:flex;gap:8px}
@keyframes inv-in{from{transform:translate(-50%,-14px);opacity:0}}
.rep{margin:14px 0;text-align:left}.rep h3{margin:0 0 8px}.rep h4{margin:10px 0 4px;font-size:12px;color:#8fb0c4}
.rep table{width:100%;border-collapse:collapse;font-size:13px}.rep th{font:600 11px var(--gmono);color:#6f8ea3;text-align:right;padding:2px 6px}.rep th:first-child,.rep td:first-child{text-align:left}
.rep td{padding:3px 6px;text-align:right;border-top:1px solid #1d2f3d;font-family:var(--gmono)}.rep td:first-child{font-family:var(--gbody)}
.rep tr.me td{background:#17384f;color:#e8f4fb}.rep tr.dead td:first-child{color:#c98a8a}
.rep-feed{list-style:none;margin:0;padding:0;font-size:13px;display:grid;gap:2px}.rep-feed small{color:#6f8ea3;margin-right:6px}
.presets{margin:10px 0;padding:10px 12px;background:#0c1620;border:1px solid #2d5f8266;border-radius:10px}.presets h3{margin:0 0 8px}
.preset-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.preset{display:grid;gap:8px;padding:8px 10px;background:#101e2b;border:1px solid #28445a;border-radius:8px}.preset.empty{opacity:.7;border-style:dashed}
.preset b{display:block}.preset small{color:#8fb0c4}.preset-btns{display:flex;gap:6px;flex-wrap:wrap}.preset-btns button{padding:4px 9px;font-size:12px}
.preset-name{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:12px;color:#8fb0c4}.preset-name input{flex:1;max-width:220px}
body.phone .preset-row{grid-template-columns:1fr}
#day-phase{display:block;margin-top:1px;font:600 11px Consolas,monospace;letter-spacing:.5px;color:#f3c76a;white-space:nowrap}
.npc-bubble{position:absolute;transform:translate(-50%,-110%);z-index:9;max-width:190px;padding:6px 10px;border-radius:10px;background:#f4f0e2;color:#1c2118;font:600 12px var(--gbody);line-height:1.25;box-shadow:0 6px 16px #0008;pointer-events:none;animation:npc-pop .3s ease-out}
.npc-bubble b{display:block;font:700 11px var(--gmono);letter-spacing:.08em;text-transform:uppercase;color:#7a5a1e}
.npc-bubble::after{content:'';position:absolute;left:50%;bottom:-6px;margin-left:-6px;border:6px solid transparent;border-top-color:#f4f0e2;border-bottom:0}
@keyframes npc-pop{from{transform:translate(-50%,-90%) scale(.8);opacity:0}}
#dialog :focus-visible,#actions :focus-visible{outline:2px solid #7fc6e8;outline-offset:2px}
.admin-analytics h4{margin:10px 0 4px;color:#8fb0c4;font-size:12px}.an-chart{width:100%;max-width:560px;height:auto;background:#0b141d;border-radius:8px}
.fn{display:grid;gap:5px;max-width:560px}.fn-row{display:grid;grid-template-columns:160px 1fr 90px;gap:8px;align-items:center;font-size:13px}
.fn-bar{height:10px;background:#16293a;border-radius:6px;overflow:hidden}.fn-bar i{display:block;height:100%;background:linear-gradient(90deg,#2d9bd0,#7fe0a8)}.fn-row b{font-family:var(--gmono);text-align:right;font-size:12px}
body.phone .fn-row{grid-template-columns:110px 1fr 70px}
.npc-bubble.still{animation:none}
.rep th:not(:first-child),.rep td:not(:first-child){width:72px}
/* v16: крестик закрытия всегда на виду при прокрутке окна */
dialog #close,#dialog>#close{display:block!important;position:sticky!important;top:-18px!important;right:auto!important;float:right;margin:-18px -10px -34px 0;width:38px;height:38px;padding:0;line-height:34px;text-align:center;font-size:24px;z-index:80;background:#0b1623ee!important;border:1px solid #6fb4d8aa!important;border-radius:8px;color:#e8f4fb;cursor:pointer;box-shadow:0 4px 14px #0009}
dialog #close[hidden],#dialog>#close[hidden]{display:none!important}
dialog #close:hover{background:#17384f!important}
body.phone #close{position:sticky!important;float:right}
body.entry-locked #dialog>#close{display:none!important}
/* v16: шире поле боя — чат и шапка не отнимают высоту у карты */
.in-battle .bottom{display:none!important}
.in-battle header{min-height:48px!important;padding:4px 14px!important}
body.in-battle header #base-operator{position:static!important;width:auto!important;display:flex!important;align-items:center;padding:2px 8px!important;background:none!important;border:0!important;box-shadow:none!important}
body.in-battle header #base-operator .operator,body.in-battle header #base-operator #rank{display:none!important}
body.in-battle header #base-operator #vitals{display:grid!important;grid-template-rows:auto auto;grid-auto-flow:column;grid-auto-columns:104px;gap:0 14px}
body.in-battle header #base-operator .statline{margin-top:0!important}
#battle-chat-dock{}
body.in-battle #battle-chat-dock{max-height:76px;overflow:auto}
.in-battle .strip{padding-top:2px;padding-bottom:2px}
.in-battle footer{padding-top:6px!important;padding-bottom:6px!important}
.in-battle #battle-journal .journal-entries{max-height:90px}
@media(min-width:681px){
 body.in-battle{grid-template-rows:auto auto minmax(0,1fr) auto auto auto auto;height:100dvh!important;min-height:0!important;overflow:hidden!important}
 body.in-battle #battle-chat-dock{display:none!important}
 body.in-battle main{height:auto!important;min-height:0!important;align-self:stretch;overflow:hidden}
 body.in-battle #battle-chat-dock{grid-row:6}body.in-battle .bottom{grid-row:7}
}
/* vip / division levels */
.lvl-card{margin:14px 0;padding:14px 16px;border:1px solid #ffd56a55;border-radius:10px;background:linear-gradient(160deg,#1a1408ee,#0d0a05ee);color:#efe3c4}
.lvl-head{display:flex;gap:12px;align-items:center}.lvl-head h3{margin:0}.lvl-head p{margin:2px 0 0;opacity:.8}
.lvl-badge{min-width:64px;text-align:center;padding:8px 10px;border-radius:8px;background:linear-gradient(135deg,#e0b445,#7a5a14);color:#1c1303;font:900 18px Impact,sans-serif;letter-spacing:1px}
.lvl-bar{height:8px;margin:10px 0;border-radius:4px;background:#0006;overflow:hidden}.lvl-bar i{display:block;height:100%;background:linear-gradient(90deg,#c9982f,#ffe08a)}
.lvl-note{font-size:12px;opacity:.75;margin:6px 0}.lvl-bonus{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.lvl-bonus span{padding:3px 8px;border-radius:12px;background:#ffd56a22;font-size:12px}
.lvl-list{list-style:none;padding:0;margin:10px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.lvl-list li{display:flex;flex-direction:column;padding:6px 8px;border-radius:6px;background:#0004;opacity:.55;font-size:12px}.lvl-list li.done{opacity:1;border-left:3px solid #ffd56a}.lvl-list li.next{opacity:.9;border-left:3px dashed #ffd56a}
.lvl-card ul{padding-left:18px}.lvl-card li.done{color:#ffe9a0}

/* reward crate: photo prop with warm light from under the lid */
.bp-crate{position:absolute;right:170px;top:22px;width:150px;height:112px}
.bp-crate .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 8px #000a) saturate(1.05);z-index:1}
.bp-crate .glow{position:absolute;left:8%;right:8%;top:6%;height:46%;background:radial-gradient(ellipse at 50% 80%,#ffcf6acc,#ff9a3a44 45%,#0000 72%);filter:blur(5px);animation:bpPulse 4.5s ease-in-out infinite;z-index:0}
.bp-crate .spark{position:absolute;bottom:62%;width:3px;height:3px;background:#ffe9a0;border-radius:50%;box-shadow:0 0 5px #ffd36b;animation:bpRise 3.2s linear infinite;z-index:2}
@media(max-width:680px){.bp-crate{right:150px;transform:scale(.8);transform-origin:top right}}
/* daily task pictures (tiles of the panel photo atlas) */
.daily-task .task-photo{position:relative;height:104px;margin:-2px -2px 10px;border-radius:6px;background-size:300% 200%;background-repeat:no-repeat;box-shadow:inset 0 0 0 1px #0008,inset 0 -40px 40px -20px #000c;overflow:hidden}
.daily-task .task-photo::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#0000 50%,#000a 100%);pointer-events:none}
.daily-task .task-photo span{position:absolute;left:8px;bottom:6px;z-index:1;font:700 11px 'Courier New',monospace;letter-spacing:1px;color:#f1e6c4;text-shadow:0 1px 2px #000}
.daily-task.is-done .task-photo{filter:grayscale(.7) brightness(.75)}
.daily-task>.eyebrow{display:none}
/* range ratings: readable on paper cards */
#dialog[data-panel=training] .range-cards .range-boards section{background:#efe6c8!important;border:1px solid #96886c!important;color:#2b2618!important;padding:8px 10px!important;margin:8px 0!important}
#dialog[data-panel=training] .range-cards .range-boards h4{margin:0 0 6px;color:#3a331f!important;font:700 12px 'Courier New',monospace;letter-spacing:1px;text-transform:uppercase}
#dialog[data-panel=training] .range-cards .range-boards p{margin:0;color:#5b5238!important;font-size:13px}
#dialog[data-panel=training] .range-cards .range-row{display:grid;grid-template-columns:26px 1fr auto;gap:8px;padding:3px 0;color:#2b2618!important;border-bottom:1px dashed #96886c88}
#dialog[data-panel=training] .range-cards .range-row *{color:inherit!important}
#dialog[data-panel=training] .range-cards .range-row.self{background:#c9b56a55;font-weight:700}
#dialog[data-panel=training] .range-result{background:#efe6c8!important;border:1px solid #96886c!important;color:#2b2618!important;padding:10px 14px;margin:10px 0;display:flex;flex-direction:column;gap:2px}
#dialog[data-panel=training] .range-result b{color:#2b2618!important;font-size:22px}
#dialog[data-panel=training] .range-result span{color:#4a4128!important}
/* disabled buttons stay legible (light text on a muted plate) */
#dialog button:disabled,#dialog button[disabled],.modal button:disabled{opacity:1!important;color:#cfd8dc!important;background-image:linear-gradient(#46535a,#2a3338)!important;text-shadow:0 1px 1px #000a!important;filter:saturate(.5) brightness(.9);cursor:not-allowed}
#dialog[data-panel=training] .range-cards button:disabled{color:#f1f1e8!important}
/* item description opens only from the "?" badge on the icon corner */
#tip-badge{position:fixed;display:none;z-index:100000;width:17px;height:17px;padding:0;border-radius:2px;border:1.5px solid #ffe9a0;background:transparent!important;background-image:none!important;color:#ffe9a0;font:800 12px/14px 'Segoe UI',sans-serif;text-align:center;cursor:help;text-shadow:0 0 3px #000,0 1px 2px #000;box-shadow:none;clip-path:none}
#tip-badge:hover,#tip-badge:focus{background:transparent!important;color:#fff!important;border-color:#fff;text-shadow:0 0 5px #ffd56a,0 1px 2px #000}

/* stat bars: one colour per stat (same layout as before) */
.meter.hp i{background:linear-gradient(90deg,#b3202a,#ff5a5a)!important}
.meter.sta i{background:linear-gradient(90deg,#2f9a4a,#78e08a)!important}
.meter.xp i{background:linear-gradient(90deg,#7a45c4,#c796ff)!important}
.meter.energy i{background:linear-gradient(90deg,#1f6fd0,#5bc0ff)!important}
.energy-line.low b{color:#ff9a7a}header #base-operator .meter{height:5px!important;border-radius:3px;overflow:hidden}

/* VIP badge with progress to the next level, right of the stats */
#vip-mini{display:flex!important;flex-direction:column;align-items:stretch;justify-content:center;gap:4px;min-width:84px;padding:6px 9px!important;margin-left:10px;background:linear-gradient(160deg,#2a2008,#120d04)!important;border:1px solid #c9982f!important;border-radius:6px;clip-path:none!important;cursor:pointer;color:#ffe9a0}
#vip-mini .vm-badge{font:900 16px/1 Impact,'Segoe UI',sans-serif;letter-spacing:1px;color:#ffd56a;text-align:center;text-shadow:0 0 8px #c9982f88}
#vip-mini .vm-bar{display:block;height:5px;border-radius:3px;background:#000a;overflow:hidden}
#vip-mini .vm-bar i{display:block;height:100%;background:linear-gradient(90deg,#b5841f,#ffe08a)}
#vip-mini small{font:600 11px/1 'Segoe UI',sans-serif;color:#d9c48a;text-align:center;white-space:nowrap}
/* ===== Phone: base screen without the chat block, compact stats strip ===== */
body.phone:not(.in-battle) .left{display:none!important}
body.phone:not(.in-battle) #sidebar-chat{display:none!important}
body.phone:not(.in-battle) header{flex-wrap:wrap}
body.phone:not(.in-battle) header>#base-operator{display:flex!important;flex:0 0 100%;order:9;width:100%!important;max-width:100%;padding:0 !important;border:0!important;gap:8px;align-items:stretch}
body.phone #base-operator .operator{display:none!important}
body.phone #base-operator #vitals{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 8px;flex:1;min-width:0}
body.phone #base-operator #vitals .statline{font-size:11px;display:flex;flex-direction:column;align-items:flex-start;margin:0!important;gap:0}
body.phone #base-operator #vitals .statline b{font-size:11px}
body.phone #base-operator #vitals{grid-template-rows:auto auto;grid-auto-flow:column}
body.phone #vip-mini{display:flex!important;min-width:60px;padding:3px 6px!important;margin:0;gap:3px}
body.phone #vip-mini .vm-badge{font-size:13px}
body.phone:not(.in-battle) #scene{height:calc(100dvh - 124px);min-height:340px}
body.phone:not(.in-battle) main{overflow:hidden}
body.phone:not(.in-battle) header .balance{order:0;flex:1 1 100%;display:flex;flex-wrap:wrap;gap:2px 10px;justify-content:space-between;align-items:baseline;text-align:left}
body.phone:not(.in-battle) header nav{order:1;flex:0 0 100%}
body.phone:not(.in-battle) header>#base-operator{order:2}
body.phone:not(.in-battle) #scene{height:calc(100dvh - 170px)}
/* shop cards: static (no swinging on hover), readable colours on paper */
#dialog[data-panel] .item,#dialog[data-panel] .item:hover,#dialog[data-panel] article.item:hover{animation:none!important;transform:none!important}
#dialog[data-panel=gear] .item :is(label,label *,output,strong,em,span,div,p){color:#2b2618!important}
#dialog[data-panel=gear] .item :is(strong,output,.total,.item-total,b:last-of-type){color:#5a2f0c!important}
#dialog[data-panel=gear] .item label{font-weight:600}
#dialog[data-panel=gear] .item input{color:#f3efd4!important;background:#1d2418!important;border:1px solid #6b6a45}
#dialog[data-panel=gear] .item h3,#dialog[data-panel=gear] .item b:first-of-type{color:#2b2618!important}
/* movable «Сейчас на базе» */
#presence .pp-head{cursor:grab;touch-action:none;user-select:none}
#presence.pp-dragging .pp-head{cursor:grabbing}#presence.pp-dragging{opacity:.92}
/* chat: compact single-line messages with date dividers */
#sidebar-chat .social-chat,.social-chat{font-size:12px!important;line-height:1.45!important}
#sidebar-chat .social-chat>.chat-message,.social-chat>.chat-message{display:block;padding:4px 0!important}
.chat-message>button.player-link{display:inline!important;min-height:0!important;padding:0!important;font-size:12px!important;font-weight:700;vertical-align:baseline}
.chat-message .cm-rank{color:#c9b57a;font-size:11px}
.chat-message .cm-lvl{color:#8fb7cf;font-size:11px}
.chat-message .cm-text{overflow-wrap:anywhere}
.chat-message time{margin-left:4px;font-size:11px;opacity:.55;white-space:nowrap}
.social-chat>.chat-day{display:flex;align-items:center;gap:8px;padding:6px 0 2px!important;border-bottom:0!important;color:#8fa9bb;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.chat-day::before,.chat-day::after{content:'';flex:1;height:1px;background:#3b5361}
body.in-battle #battle-chat-dock .social-chat,#sidebar-chat .social-chat{font-size:12px!important}
/* workbench result plate: the finished item's icon must keep an explicit size (was collapsing to a sliver with a vertical caption) */
.bench .result .plate>.icon,.bench .result .plate>span{display:block!important;flex:none;position:relative;overflow:hidden;width:80px!important;height:80px!important;min-width:80px;transform:none!important;border-radius:4px}
.bench .result .plate .icon svg{width:100%;height:100%;display:block}
.bench .result .plate .item-stamp{display:none!important}
/* purchase quantity / total: readable on every shop card and never broken across lines */
#dialog .item .purchase-quantity{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 12px}
#dialog .item .purchase-quantity label{flex:0 0 auto;color:#f1ead0!important;font-weight:600}
#dialog .item .purchase-quantity output{flex:1 1 auto;min-width:0;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;font-size:13px;color:#ffd98a!important;font-weight:700}
#dialog :is([data-panel=gear],[data-panel=household]) .item .purchase-quantity label,
#dialog[data-panel=gear] .item .purchase-quantity label,#dialog[data-panel=household] .item .purchase-quantity label{color:#2b2618!important}
#dialog[data-panel=gear] .item .purchase-quantity output,#dialog[data-panel=household] .item .purchase-quantity output{color:#5a2f0c!important}
#dialog[data-panel=household] .item :is(label,output){color:inherit}
/* ===== division: livelier layout ===== */
@keyframes unitIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes unitShine{from{background-position:-120px 0}to{background-position:220px 0}}
@keyframes unitDot{70%{box-shadow:0 0 0 6px #6ee08a00}100%{box-shadow:0 0 0 0 #6ee08a00}}
.unit-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:12px 0}
.unit-stats>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border:1px solid #4d7698aa;border-radius:10px;background:linear-gradient(#18293a,#0e1824);animation:unitIn .45s both;animation-delay:calc(var(--i,0)*70ms);transition:transform .2s,border-color .2s}
.unit-stats>div:hover{transform:translateY(-3px);border-color:#7fc6e8}
.unit-stats span{font-size:22px;line-height:1}.unit-stats b{font:700 18px var(--gmono,monospace);color:#e7f3fb;white-space:nowrap}.unit-stats small{font-size:11px;color:#9fb6c7;text-transform:uppercase;letter-spacing:.08em}
.unit-bar{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:10px;margin:8px 0;font-size:12px}
.unit-bar>span{color:#b9cddb}.unit-bar>b{font:700 12px var(--gmono,monospace);color:#e7f3fb;min-width:44px;text-align:right}
.ub-track{height:10px;border-radius:6px;background:#0a121a;border:1px solid #2f4a61;overflow:hidden}
.ub-track i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#2f8bb8,#69d8f4);transition:width .8s cubic-bezier(.2,.8,.2,1);background-size:120px 100%;animation:unitShine 2.4s linear infinite}
.unit-bar.mine .ub-track i{background-image:linear-gradient(90deg,#b8862b,#ffd36b)}.unit-bar.raid .ub-track i{background-image:linear-gradient(90deg,#9a3b2a,#ff8a5c)}
.unit-bar.done .ub-track i{background-image:linear-gradient(90deg,#3d9a4d,#7ee08a)}.unit-bar.done>b{color:#8fe39a}
.unit-upg{display:flex;align-items:center;gap:10px;margin:10px 0 4px!important}.unit-upg>span:first-child{flex:1}.unit-upg b{color:#ffd98a}
.unit-upg .pips{display:inline-flex;gap:4px}.unit-upg .pips i{width:16px;height:8px;border-radius:2px;background:#16222d;border:1px solid #3b5b79}.unit-upg .pips i.on{background:linear-gradient(#ffd98a,#d09a3a);border-color:#ffd98a;box-shadow:0 0 6px #ffd98a66}
.unit-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.unit-roster .roster-row{display:flex!important;align-items:center;gap:12px;margin:0!important;padding:10px 12px!important;border-radius:10px;border:1px solid #2f4a61!important;background:linear-gradient(#142231,#0d1620)!important;animation:unitIn .4s both;animation-delay:calc(var(--i,0)*45ms);transition:transform .2s,border-color .2s;flex-wrap:wrap}
.unit-roster .roster-row:hover{transform:translateY(-2px);border-color:#7fc6e8!important}
.unit-roster .roster-row.me{border-color:#f3c14a!important;box-shadow:inset 0 0 0 1px #f3c14a33}
.r-ava{position:relative;flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(#34506a,#16222d);border:2px solid #4d7698;font:700 18px var(--gtitle,sans-serif);color:#e7f3fb}
.role-commander .r-ava{border-color:#ffd36b;color:#ffd36b}.role-deputy .r-ava{border-color:#c0c8d0}
.r-dot{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;background:#5b6772;border:2px solid #0d1620}
.roster-row.online .r-dot{background:#6ee08a;box-shadow:0 0 0 0 #6ee08a99;animation:unitDot 2s infinite}
.r-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.r-body b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r-role{font-style:normal;color:#e3c77a}.r-bar{height:4px;border-radius:3px;background:#0a121a;overflow:hidden}.r-bar i{display:block;height:100%;background:linear-gradient(90deg,#2f8bb8,#69d8f4)}
.r-contrib{font:700 14px var(--gmono,monospace);color:#9fd0ea}
.unit-perks article{transition:transform .2s,border-color .2s;animation:unitIn .45s both}.unit-perks article:hover{transform:translateY(-3px)}
.unit-perks .perk-ico{display:block;font-size:26px;margin-bottom:4px}
.unit-heading{animation:unitIn .4s both}
@media(max-width:700px){.unit-bar{grid-template-columns:1fr auto}.unit-bar .ub-track{grid-column:1/-1;order:3}.unit-roster{grid-template-columns:1fr}}
/* recommended level on battle cards */
.rec-level{display:inline-block;margin:2px 0 8px!important;padding:3px 9px;border-radius:12px;font:600 12px/1.3 'Segoe UI',sans-serif;letter-spacing:.02em;border:1px solid #6b8a5a;background:#1f3322;color:#b9e8a4}
.rec-level b{font-size:14px}
.rec-level.low{border-color:#b0822a;background:#3a2c12;color:#ffd98a}
/* ===== battle screen: roomier side panels, labels that no longer break mid-word ===== */
@media(min-width:1001px){
 body.in-battle:not(.phone) main{grid-template-columns:276px minmax(0,1fr) 226px!important}
 body.in-battle:not(.phone) .left{padding:10px 12px!important}
 body.in-battle:not(.phone) #actions button{font-size:11px!important;letter-spacing:0!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;padding:5px 5px!important;line-height:1.15;gap:5px!important}
 body.in-battle:not(.phone) #actions .tac-icon{width:18px!important;height:18px!important;flex:none}
 body.in-battle:not(.phone) #actions button small{font-size:11px!important;white-space:nowrap}
 body.in-battle:not(.phone) .right{padding:12px!important}
 body.in-battle:not(.phone) #audio-start{position:fixed!important;top:122px!important;bottom:auto!important;right:auto!important;left:50%!important;transform:translateX(-50%);min-height:30px!important;padding:5px 12px!important;font-size:11px!important;opacity:.85;z-index:9}
 body.in-battle:not(.phone) #audio-start:hover{opacity:1}
}
body.in-battle:not(.phone) .right{overflow-y:auto!important;scrollbar-width:thin}
/* ===== duel countdown + floating matchmaking status ===== */
.duel-countdown{display:flex;align-items:baseline;justify-content:center;gap:12px;margin:10px 0;padding:10px 14px;border:1px solid #365a70;border-radius:10px;background:#0b1721}
.duel-countdown small{color:#9fb6c7;font-size:12px}.duel-countdown b{font:700 24px var(--gmono,monospace);color:#bfeaff;letter-spacing:.06em;min-width:66px;text-align:center}
.duel-countdown.start{border-color:#f3c14a;background:#2a2110;animation:msPulse 1s infinite}.duel-countdown.start b{font-size:40px;color:#ffd36b}
#match-status{position:fixed;right:14px;bottom:66px;z-index:55;width:264px;padding:12px 14px;border:1px solid #4d7698;border-radius:12px;background:linear-gradient(#12202dee,#0a121bee);box-shadow:0 14px 34px #000a;color:#e7f3fb;backdrop-filter:blur(4px);animation:unitIn .3s both}
#match-status[hidden]{display:none}
#match-status .ms-head{display:flex;align-items:center;gap:8px}#match-status .ms-head b{font-family:var(--gtitle,sans-serif);text-transform:uppercase;letter-spacing:.08em}#match-status .ms-head small{margin-left:auto;color:#9fb6c7;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#match-status .ms-pulse{width:9px;height:9px;border-radius:50%;background:#6ee08a;animation:ppPulse 2s infinite;flex:none}
#match-status .ms-bar{height:6px;margin:9px 0 6px;border-radius:4px;background:#08131c;overflow:hidden}#match-status .ms-bar i{display:block;height:100%;background:linear-gradient(90deg,#2f86b4,#6fd0ee);transition:width .4s}
#match-status p{margin:6px 0;font-size:12px;line-height:1.4;color:#c9dbe8}
#match-status .ms-clock{display:flex;align-items:baseline;justify-content:space-between;gap:8px}#match-status .ms-clock small{font-size:11px;color:#8fa9bb}#match-status .ms-clock b{font:700 20px var(--gmono,monospace);color:#bfeaff}
#match-status .ms-clock.start{justify-content:center}#match-status .ms-clock.start b{font-size:38px;color:#ffd36b}
#match-status .ms-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}#match-status .ms-actions button{flex:1 1 auto;min-height:32px;padding:6px 10px!important;font-size:12px!important}
@keyframes msPulse{50%{box-shadow:0 0 18px #f3c14a66}}
body.in-battle #match-status{display:none}
body.phone #match-status{left:8px;right:8px;bottom:8px;width:auto}

/* range: result window and throw scene */
#range-result-dialog{width:min(430px,92vw);background:#efe6c8!important;color:#2b2618!important;border:1px solid #6d6247;box-shadow:0 18px 60px #000a;padding:22px 24px;border-radius:4px}
#range-result-dialog::backdrop{background:#05090bb0}
#range-result-dialog h2{margin:2px 0 12px;color:#2b2618!important;text-shadow:none!important;font-size:19px}
#range-result-dialog .eyebrow{color:#6a5f41;font:700 11px 'Courier New',monospace;letter-spacing:2px}
#range-result-dialog .rr-grade{font:800 30px 'Courier New',monospace;text-transform:uppercase;letter-spacing:2px;text-align:center;padding:10px;margin:0 0 12px;border:3px double currentColor;transform:rotate(-1.5deg)}
#range-result-dialog .rr-a{color:#2f6a22}#range-result-dialog .rr-b{color:#45662a}#range-result-dialog .rr-c{color:#8a6a1c}#range-result-dialog .rr-d{color:#a02a1c}
#range-result-dialog .rr-rows p{display:flex;justify-content:space-between;gap:14px;margin:0;padding:7px 0;border-bottom:1px dashed #96886c;color:#2b2618}
#range-result-dialog .rr-rows span{color:#4a4128!important}#range-result-dialog .rr-rows b{color:#2b2618!important;white-space:nowrap}
#range-result-dialog small{display:block;margin:10px 0 14px;color:#5b5238!important}#range-result-dialog .eyebrow{color:#6a5f41!important}
#range-result-dialog button{width:100%}
#dialog[data-panel=training] .range-cards article>small{display:block}

/* level emblem on the header portrait: gold hexagon with a light sweep */
#portrait{position:relative}
#portrait[data-level]::before{content:'';position:absolute;right:1px;bottom:1px;width:32px;height:36px;z-index:2;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(115deg,#7a5410 0%,#f6d77a 28%,#fff6cf 40%,#c9982f 55%,#7a5410 100%);background-size:260% 100%;animation:lvlSweep 4.5s linear infinite;filter:drop-shadow(0 2px 3px #000c)}
#portrait[data-level]::after{content:attr(data-level);position:absolute;right:3px;bottom:3px;width:28px;height:32px;z-index:3;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:radial-gradient(circle at 50% 30%,#3a4a5c,#0c131b 75%);display:grid;place-items:center;color:#ffe9a8;font:900 15px/1 Impact,'Arial Narrow','Segoe UI',sans-serif;letter-spacing:.5px;text-shadow:0 0 6px #f0c24a,0 1px 0 #000}
@keyframes lvlSweep{0%{background-position:130% 0}100%{background-position:-130% 0}}
/* header VIP plate */
#vip-mini{position:relative;overflow:hidden;min-width:104px!important;gap:5px!important;padding:7px 11px 6px!important;border-radius:8px!important;background:radial-gradient(120% 90% at 50% 0,#4a3710 0,#1c1406 55%,#0e0a03 100%)!important;border:1px solid #8f6c22!important;box-shadow:inset 0 0 0 1px #ffe08a22,0 2px 10px #0008;transition:transform .15s,box-shadow .15s}
#vip-mini::before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,#fff3c433 50%,transparent 65%);transform:translateX(-120%);animation:vipShine 5s ease-in-out infinite;pointer-events:none}
#vip-mini:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffe08a55,0 4px 16px #c9982f55}
#vip-mini.on{border-color:#f0c24a!important;box-shadow:inset 0 0 0 1px #ffe08a44,0 0 14px #c9982f66}
#vip-mini .vm-top{display:flex;align-items:center;justify-content:center;gap:7px}
#vip-mini .vm-crown{width:24px;height:19px;fill:#6b5a35;filter:drop-shadow(0 1px 1px #000)}
#vip-mini.on .vm-crown{fill:#ffd56a;filter:drop-shadow(0 0 5px #f0c24a)}
#vip-mini .vm-badge{display:flex;align-items:baseline;gap:4px;font:900 22px/1 Impact,'Arial Narrow','Segoe UI',sans-serif!important;letter-spacing:.5px;background:linear-gradient(#fff3c4,#e9b63a 60%,#a8781c);-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:none!important}
#vip-mini .vm-badge em{font:800 11px/1 'Segoe UI',sans-serif;font-style:normal;letter-spacing:2px}
#vip-mini .vm-bar{height:4px!important;background:#000c!important;box-shadow:inset 0 0 0 1px #6b521c}
#vip-mini .vm-bar i{background:linear-gradient(90deg,#b5841f,#ffe08a)!important;box-shadow:0 0 6px #ffd56a}
#vip-mini small{color:#cdb779!important;font-size:11px!important}
#vip-mini .vm-state{font:700 11px/1 'Segoe UI',sans-serif;letter-spacing:1.2px;text-transform:uppercase;text-align:center;color:#8d7c52;white-space:nowrap}
#vip-mini.on .vm-state{color:#9be08a}
@keyframes vipShine{0%,60%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
body.phone #vip-mini{min-width:64px!important;padding:3px 6px!important}body.phone #vip-mini .vm-state,body.phone #vip-mini .vm-crown{display:none}body.phone #vip-mini .vm-badge{font-size:15px!important}
@media(prefers-reduced-motion:reduce){#portrait[data-level]::before,#vip-mini::before{animation:none}}
/* arsenal: goods for the weapon in hands */
.my-weapon-supply{margin:14px 0 6px;padding:12px 14px;border:1px solid #c98a2a;border-left:4px solid #e9a63a;background:#141a22;border-radius:4px;display:grid;gap:10px}
.my-weapon-supply>div:first-child{display:flex;flex-direction:column;gap:2px}.my-weapon-supply>div:first-child b{color:#f3ead2;font-size:15px}
.mws-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.mws-item{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;padding:6px 8px;background:#0d1218;border:1px solid #2c3948;border-radius:4px}
.mws-item .icon{width:54px;height:54px}.mws-item span{color:#e8edf2;font-size:13px;line-height:1.25}.mws-item small{display:block;color:#e9c46a;white-space:nowrap;margin-top:2px}
.mws-item button{white-space:nowrap}.my-weapon-supply>button{justify-self:start}
/* admin: editing attributes and skills */
.admin-edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 22px;margin:6px 0 12px}
.admin-edit>div{display:grid;gap:6px;align-content:start}.admin-edit label{display:grid;grid-template-columns:1fr 96px;align-items:center;gap:8px;margin:0}
.admin-edit input{width:96px}.admin-edit>p,.admin-edit>button{grid-column:1/-1;margin:0}.admin-edit>button{justify-self:start}

/* arsenal hero rifle: detailed profile */
.bp-rifle .body{stroke-linejoin:round}.bp-rifle .body .dt{fill:none;stroke-width:.8;opacity:.75}
.bp-rifle{fill:#101214f0;stroke-width:1.1}

/* arsenal hero: technical line drawing that draws itself when the panel opens */
.bp-rifle2{position:absolute;right:34px;top:34px;width:430px;overflow:visible;fill:none;stroke:var(--bpc);stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 6px #f3a93a66)}
.bp-rifle2 .fill path{fill:#0b0c0de0;stroke:none;opacity:0;animation:bpGunInk .9s 2.6s forwards}
.bp-rifle2 .o{stroke-width:2.2;stroke-dasharray:1;stroke-dashoffset:1;animation:bpGunDraw 1.1s var(--d) cubic-bezier(.4,0,.2,1) forwards}
.bp-rifle2 .dt{stroke-width:1.1;opacity:.82;stroke-dasharray:1;stroke-dashoffset:1;animation:bpGunDraw .8s var(--d) ease-out forwards}
.bp-rifle2.still .fill path{animation:none;opacity:1}.bp-rifle2.still .o,.bp-rifle2.still .dt{animation:none;stroke-dashoffset:0}
.bp-rifle2 .calls path{stroke-width:1.6;stroke-dasharray:140;stroke-dashoffset:140;animation:bpCall 7s 3s infinite}
.bp-rifle2 .calls path:nth-child(2){animation-delay:4.3s}.bp-rifle2 .calls path:nth-child(3){animation-delay:5.6s}
.bp-hero-weapons .c{animation-delay:3s}.bp-hero-weapons .c2{animation-delay:4.3s!important}.bp-hero-weapons .c3{animation-delay:5.6s!important}
.bp-hero-weapons .c1{right:196px;top:30px}.bp-hero-weapons .c2{right:40px;top:38px}.bp-hero-weapons .c3{right:132px;top:176px}
@keyframes bpGunDraw{to{stroke-dashoffset:0}}@keyframes bpGunInk{to{opacity:1}}
@media(max-width:700px){.bp-rifle2{opacity:.35;width:300px;right:0}}
@media(prefers-reduced-motion:reduce){.bp-rifle2 .o,.bp-rifle2 .dt{animation:none;stroke-dashoffset:0}.bp-rifle2 .fill path{animation:none;opacity:1}}
/* close button themed per panel */
#dialog>#close{--xc:#6fb4d8;--xb:#0b1623;--xt:#e8f4fb;font-family:'Segoe UI',sans-serif;transition:transform .15s,box-shadow .15s,background .15s}
#dialog>#close:hover{transform:scale(1.08)}
#dialog[data-panel=weapons]>#close{--xc:#f3a93a;background:linear-gradient(#2a2118,#14110c)!important;border:1px solid #f3a93a!important;border-radius:0;color:#f3a93a;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);font-family:Impact,'Arial Narrow',sans-serif}
#dialog[data-panel=weapons]>#close:hover{background:#f3a93a!important;color:#14110c}
#dialog[data-panel=gear]>#close{background:#4d5234!important;border:2px dashed #d8c48c!important;border-radius:5px;color:#efe3b8;line-height:31px;box-shadow:0 0 0 2px #4d5234,0 4px 12px #0009}
#dialog[data-panel=gear]>#close:hover{background:#646b42!important}
#dialog[data-panel=food]>#close{background:radial-gradient(circle at 35% 30%,#8a5a2c,#4a2d14)!important;border:2px solid #f0c879!important;border-radius:50%;color:#ffe9bd;line-height:32px}
#dialog[data-panel=food]>#close:hover{background:#a06a34!important}
#dialog[data-panel=household]>#close{background:#ee8a42!important;border:1px solid #7a3a10!important;border-radius:3px 12px 3px 3px;color:#1d1208;font-weight:800}
#dialog[data-panel=household]>#close:hover{background:#ffa25c!important}
#dialog[data-panel=inventory]>#close{background:repeating-linear-gradient(-45deg,#f2c200 0 7px,#17170f 7px 14px)!important;border:2px solid #17170f!important;border-radius:4px;color:#fff;text-shadow:0 0 3px #000,0 0 3px #000,0 0 5px #000;font-weight:800}
#dialog[data-panel=hospital]>#close{background:#f3fbf8!important;border:2px solid #2aa583!important;border-radius:50%;color:#c23a3a;line-height:32px;font-weight:800;box-shadow:0 0 12px #8fe6c688}
#dialog[data-panel=hospital]>#close:hover{background:#d6f5ea!important}
#dialog[data-panel=workshop]>#close{background:linear-gradient(#8f979c,#4c555b)!important;border:0!important;border-radius:0;color:#12171a;font-weight:900;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%);width:42px}
#dialog[data-panel=workshop]>#close:hover{background:#e0ac4a!important}
#dialog[data-panel=gray]>#close{background:#b3261e!important;border:0!important;border-radius:0;color:#fff;font-weight:900;clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}
#dialog[data-panel=gray]>#close:hover{background:#ff5a4a!important}
#dialog[data-panel=training]>#close,#dialog[data-panel=range-game]>#close{background:radial-gradient(circle,#0d1316 0 38%,#ffd27a 39% 46%,#0d1316 47% 62%,#ffd27a 63% 70%,#0d1316 71%)!important;border:2px solid #ffd27a!important;border-radius:50%;color:#fff;line-height:32px;text-shadow:0 0 4px #000}
#dialog[data-panel=command]>#close,#dialog[data-panel=missions]>#close{background:#16241a!important;border:1px solid #b7e08a!important;border-radius:2px;color:#b7e08a;font-family:'Courier New',monospace;box-shadow:inset 0 0 0 3px #16241a,inset 0 0 0 4px #b7e08a55}
#dialog[data-panel=command]>#close:hover,#dialog[data-panel=missions]>#close:hover{background:#b7e08a!important;color:#10200f}
#dialog[data-panel=division]>#close{background:#0c1d2b!important;border:1px solid #7fd0ff!important;border-radius:0;color:#7fd0ff;clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);height:42px;line-height:30px}
#dialog[data-panel=division]>#close:hover{background:#17405c!important}
#dialog[data-panel=vip]>#close,#dialog[data-panel=rewards]>#close,#dialog[data-panel=rankings]>#close{background:radial-gradient(circle at 35% 30%,#fff3c4,#e9b63a 55%,#8a6414)!important;border:1px solid #6b4d0e!important;border-radius:50%;color:#2a1c03;line-height:34px;font-weight:900;box-shadow:0 0 12px #ffd56a88}
#dialog[data-panel=crypto]>#close{background:#06171a!important;border:1px solid #8cf0c8!important;border-radius:3px;color:#8cf0c8;box-shadow:0 0 10px #8cf0c877,inset 0 0 8px #8cf0c833;font-family:'Courier New',monospace}
#dialog[data-panel=uav]>#close{background:#07130dcc!important;border:0!important;border-radius:0;color:#6cf0a4;box-shadow:none;background-image:linear-gradient(#6cf0a4,#6cf0a4),linear-gradient(#6cf0a4,#6cf0a4),linear-gradient(#6cf0a4,#6cf0a4),linear-gradient(#6cf0a4,#6cf0a4),linear-gradient(#6cf0a4,#6cf0a4),linear-gradient(#6cf0a4,#6cf0a4),linear-gradient(#6cf0a4,#6cf0a4),linear-gradient(#6cf0a4,#6cf0a4)!important;background-repeat:no-repeat!important;background-size:10px 2px,2px 10px,10px 2px,2px 10px,10px 2px,2px 10px,10px 2px,2px 10px!important;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%!important;background-color:#07130dcc!important}
#dialog[data-panel=quests]>#close,#dialog[data-panel=player]>#close,#dialog[data-panel=character]>#close{background:#efe6c8!important;border:2px solid #a02a1c!important;border-radius:4px;color:#a02a1c;font-weight:900;transform:rotate(-4deg)}
#dialog[data-panel=quests]>#close:hover,#dialog[data-panel=player]>#close:hover,#dialog[data-panel=character]>#close:hover{background:#a02a1c!important;color:#efe6c8;transform:rotate(0) scale(1.08)}
#dialog[data-panel=supply]>#close{background:#3a2c18!important;border:2px solid #f0b35a!important;border-radius:2px;color:#f0b35a;font-family:Impact,sans-serif;box-shadow:inset 0 0 0 2px #3a2c18,inset 0 0 0 3px #f0b35a66}
#range-result-dialog button[data-range-result-close]{background:#3d4a2c!important;color:#f1ecd6!important;border:1px solid #2b2618!important;font-family:'Courier New',monospace;letter-spacing:2px;text-transform:uppercase}

/* profession cards: own skill and second profession */
.ch-pro-note{margin:0 0 10px;color:#b9cbd8;font-size:13px}
.ch-pcard{position:relative;display:flex;flex-direction:column;gap:6px}
.ch-pcard .ch-ptag{position:absolute;right:8px;top:8px;font:700 11px/1 'Segoe UI',sans-serif;font-style:normal;letter-spacing:1.5px;text-transform:uppercase;color:#10202b;background:#ffd56a;padding:3px 6px;border-radius:3px}
.ch-pskill{margin-top:auto;padding:8px 9px;border:1px dashed #3b566a;border-radius:8px;background:#0b1620aa;display:grid;gap:4px}
.ch-pcard.on .ch-pskill{border:1px solid #e7c15a88;background:#2a2410aa}
.ch-pskill>span{font:700 11px/1 'Segoe UI',sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#7f97a8}
.ch-pskill>strong{color:#ffe08a;font-size:13px}.ch-pskill>small{color:#9fb2bf;font-size:11px;line-height:1.3}

/* journal: story card, expandable tasks, statistics */
.jr-story{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:start;padding:16px;margin:10px 0 18px;border:1px solid #e8b96a88;border-radius:8px;background:linear-gradient(120deg,#2a1e10,#141a20)}
.jr-story.ready{border-color:#9be08a;box-shadow:0 0 16px #9be08a44}.jr-story.done{grid-template-columns:1fr}
.jr-story .npc-portrait{width:120px;height:120px;border-radius:8px;border:1px solid #e8b96a88}
.jr-story h2{margin:4px 0 6px}.jr-story p{margin:4px 0}.jr-story .jr-where{color:#b9cbd8;font-size:13px}.jr-story .reward{margin:8px 0}
.jr-chapters{grid-column:1/-1;display:flex;gap:6px;list-style:none;margin:4px 0 0;padding:0;flex-wrap:wrap}
.jr-chapters li{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:1px solid #5a6b78;color:#8fa3b2;font:700 12px 'Segoe UI',sans-serif}
.jr-chapters li.done{background:#3d6b34;border-color:#9be08a;color:#eaffdf}.jr-chapters li.now{background:#e8b96a;border-color:#fff3c4;color:#1d1408;box-shadow:0 0 10px #e8b96a88}
.jr-h{margin:18px 0 8px}.jr-h small{font-weight:400;opacity:.7;margin-left:8px;text-transform:none;letter-spacing:0}
.jr-list{display:grid;gap:8px}
.jr-task{border:1px solid #3b566a;border-radius:6px;background:#0f1d2acc;overflow:hidden}
.jr-task.ready{border-color:#9be08a}.jr-task[open]{background:#13293acc}
.jr-task summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 14px;cursor:pointer;list-style:none;color:#e8f1f7}
.jr-task summary::-webkit-details-marker{display:none}.jr-task summary::after{content:'▾';opacity:.6;transition:transform .2s}.jr-task[open] summary::after{transform:rotate(180deg)}
.jr-task summary span{flex:1;font-weight:600}.jr-task summary b{color:#ffd27a;white-space:nowrap}.jr-task.ready summary b{color:#9be08a}
.jr-task-body{padding:4px 14px 14px;border-top:1px dashed #3b566a}.jr-task-body p{color:#c9d6df}
.jr-need{display:grid;grid-template-columns:1fr auto 1fr auto;gap:6px 14px;align-items:center;padding:8px 10px;margin:8px 0;background:#0b1620;border-radius:5px;border-left:3px solid #9be08a}
.jr-need.short{border-left-color:#ea8a68}.jr-need span{color:#8fa3b2;font-size:12px;text-transform:uppercase;letter-spacing:1px}.jr-need b{color:#fff;font-size:15px}
.jr-task-body button{margin:8px 8px 0 0}.jr-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.jr-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.jr-stats div{padding:14px 12px;border:1px solid #3b566a;border-radius:8px;background:#0f1d2acc;text-align:center}
.jr-stats b{display:block;font:800 24px/1.1 'Segoe UI',sans-serif;color:#ffd27a}.jr-stats span{font-size:12px;color:#9fb2bf}
@media(max-width:700px){.jr-story{grid-template-columns:1fr}.jr-story .npc-portrait{width:84px;height:84px}}
/* story dialogue */
#story-dialog{width:min(560px,94vw);padding:18px 20px;background:linear-gradient(160deg,#1b2630,#0d141b);border:1px solid #e8b96a;border-radius:10px;color:#e8f1f7;box-shadow:0 20px 70px #000c}
#story-dialog::backdrop{background:#04080bcc}
.sd-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sd-head small{color:#8fa3b2}
.sd-line{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start;min-height:110px;animation:sdIn .25s ease-out}
.sd-line.me{grid-template-columns:1fr 96px}.sd-line.me>div:last-child{order:-1;text-align:right}
.sd-line .npc-portrait,.sd-face{width:96px;height:96px;border-radius:8px;border:1px solid #e8b96a88;overflow:hidden}.sd-face img{width:100%;height:100%;object-fit:cover}
.sd-line.me .sd-face{border-color:#7fd0ff88}.sd-line b{color:#ffd27a;letter-spacing:1px}.sd-line.me b{color:#7fd0ff}
.sd-line p{margin:6px 0 0;font-size:16px;line-height:1.45}
.sd-goal{margin:12px 0 0;padding:10px 12px;background:#0b1620;border-left:3px solid #e8b96a;border-radius:4px;font-size:14px;line-height:1.5}
.sd-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
@keyframes sdIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.daily-task.achievement .ach-step{display:block;font:700 11px 'Segoe UI',sans-serif;letter-spacing:1.5px;opacity:.7}
.daily-task.achievement.ready{box-shadow:0 0 0 2px #9be08a,0 0 16px #9be08a55}

/* quest items and boss lines */
.icon.quest-icon{background:radial-gradient(circle at 50% 40%,#5a4320,#1c140a)!important;border:1px solid #e8b96a;display:grid!important;place-items:center;position:relative}
.icon.quest-icon>b{font-size:30px;line-height:1;color:#ffd98a;text-shadow:0 0 10px #e8b96a}
.jr-item{display:flex;align-items:center;gap:10px;margin:10px 0 0;color:#e8d6ac}.jr-item .icon{width:44px;height:44px;flex:none}.jr-item .icon>b{font-size:20px}
.jr-story button.primary{margin-right:8px}
#boss-shout{position:fixed;left:50%;top:150px;transform:translate(-50%,-14px);z-index:60;max-width:min(620px,88vw);padding:10px 18px 12px;background:linear-gradient(#2b1512f2,#170b0af2);border:1px solid #d2553f;border-left:5px solid #ff6a4d;border-radius:4px;box-shadow:0 8px 30px #000b;opacity:0;pointer-events:none;transition:opacity .35s,transform .35s}
#boss-shout.show{opacity:1;transform:translate(-50%,0)}
#boss-shout b{display:block;font:800 12px 'Segoe UI',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#ff9a84;margin-bottom:3px}
#boss-shout span{font:italic 600 17px/1.35 Georgia,'Times New Roman',serif;color:#fff1e6}

.jr-task.taken{border-color:#e8b96a}.jr-task.taken summary b{color:#e8b96a}

.eyebrow.upper,.eyebrow.upper span{text-transform:uppercase}

/* chat message context menu */
#chat-menu{position:fixed;z-index:100000;min-width:210px;padding:6px;background:#0f1a24f7;border:1px solid #4d6f86;border-radius:8px;box-shadow:0 12px 34px #000c;display:grid;gap:2px;animation:chatMenuIn .12s ease-out}
#chat-menu>b{padding:6px 10px 7px;font:700 12px 'Segoe UI',sans-serif;letter-spacing:1px;color:#9fd4ee;border-bottom:1px solid #2c4252;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
#chat-menu button{all:unset;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:5px;color:#e6eef4;font:14px 'Segoe UI',sans-serif;cursor:pointer;box-sizing:border-box}
#chat-menu button:hover,#chat-menu button:focus-visible{background:#1f3a4d}
#chat-menu button i{width:18px;text-align:center;font-style:normal;color:#8fb6cc}
#chat-menu button.warn{color:#ffb4a2}#chat-menu button.warn i{color:#ff8a70}#chat-menu button.warn:hover{background:#4a1f1a}
.chat-message[data-msg-from]{cursor:context-menu}
@keyframes chatMenuIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* Recovered from the Codex 0.40.1 work: photo cards of daily tasks and sorties, photo reward icons */
.daily-task .task-photo{background-size:200% 200%!important;height:132px!important}.real-reward-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px!important;color:#efdab0!important;font-size:13px}.real-reward-line>.rw-ico{flex:none}
.interior-preview.real-sortie{background-size:200% 200%!important;height:170px!important;border:1px solid #536069;background-repeat:no-repeat!important;display:flex;align-items:flex-end;padding:12px;box-sizing:border-box}
.interior-preview.real-sortie::before,.interior-preview.real-sortie::after{display:none!important}.interior-preview.real-sortie span{position:static!important;background:#071017d9!important;color:#f4eee1!important;padding:5px 8px;border-left:2px solid #c5aa72;font-size:11px}
.rw-photo{overflow:hidden;vertical-align:middle;flex:none;filter:drop-shadow(0 2px 2px #0006)}

/* headquarters: ways into action instead of a task list */
.hq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:14px 0 6px}
.hq-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px 16px 14px;border:1px solid #3b566a;border-radius:8px;background:linear-gradient(160deg,#16283a,#0d1822);overflow:hidden}
.hq-card::after{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--hq,#7fd0ff)}
.hq-card.patrol{--hq:#b7e08a}.hq-card.duel{--hq:#ff8a70}.hq-card.gray{--hq:#ffd27a}.hq-card.uav{--hq:#6cf0a4}.hq-card.board{--hq:#e8b96a}.hq-card.journal{--hq:#7fd0ff}
.hq-card .hq-glyph{position:absolute;right:12px;top:6px;font-size:44px;line-height:1;color:var(--hq);opacity:.22}
.hq-card h3{margin:0;color:#f1f6fa}.hq-card p{margin:0;color:#b9cbd8;font-size:13px;line-height:1.4}
.hq-card ul{list-style:none;margin:2px 0 4px;padding:0;display:grid;gap:4px;flex:1}
.hq-card li{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:#dbe6ee;border-bottom:1px dashed #2c4252;padding-bottom:3px}
.hq-card li em{font-style:normal;color:#8fa3b2;margin-left:auto}.hq-card li b{color:var(--hq);white-space:nowrap}
.hq-card button{align-self:flex-start}
.hq-story{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0 0;padding:12px 16px;border:1px solid #e8b96a;border-radius:8px;background:linear-gradient(120deg,#2a1e10,#141a20)}
.hq-story b{display:block;font-size:17px;color:#fff3d6}.hq-story small{color:#c9d6df}
/* Sector war in the Grey Zone */
.war-pin{width:46px;height:46px;font-size:22px}.war-pin.vostok{border-color:#e0705a;color:#ffb3a3;background:#3a1814e6}.war-pin.aurelius{border-color:#5aa0e0;color:#b6d9ff;background:#14263ae6}.war-pin.chosen{box-shadow:0 0 0 3px #f0c95c,0 0 26px #f0c95caa}.war-pin span i{display:block;font-style:normal;font-size:11px;opacity:.75}.war-pin:disabled{opacity:.85}
.war-panel{margin-top:16px;padding:18px;background:linear-gradient(180deg,#1b282f,#0f171c);border:1px solid #445b64;border-radius:7px}.war-panel header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.war-panel h3{margin:4px 0 0}.war-score{display:flex;gap:14px;font:700 15px monospace}.war-score .aurelius-c{color:#8fc3f5}.war-score .vostok-c{color:#f29b88}
.war-legend{display:flex;justify-content:space-between;font-size:11px;color:#8fa3a8;margin:12px 0 4px;padding:0 150px 0 130px}
.war-row{display:grid;grid-template-columns:120px 1fr 140px;gap:10px;align-items:center;width:100%;padding:9px 10px;margin:4px 0;background:#16232a;border:1px solid #2f434c;border-radius:5px;text-align:left;text-transform:none;letter-spacing:0;box-shadow:none;clip-path:none;color:#e6ece6}.war-row.chosen{border-color:#f0c95c;background:#2a2a18}.war-row small{text-align:right;color:#a8bbbe}.war-row small.vostok{color:#f29b88}.war-row small.aurelius{color:#8fc3f5}
.war-bar{position:relative;height:12px;background:#0b1114;border:1px solid #3a4f58;border-radius:6px;overflow:hidden}.war-bar:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#dfe6d6}.war-bar .hold{position:absolute;top:0;bottom:0;width:1px;background:#f0c95c88}.war-bar .hold.l{left:37.5%}.war-bar .hold.r{left:62.5%}.war-bar em{position:absolute;top:0;bottom:0}.war-bar em.vostok{background:linear-gradient(90deg,#8a3a2c,#e0705a)}.war-bar em.aurelius{background:linear-gradient(270deg,#2c588a,#5aa0e0)}
.war-panel p{font-size:13px;color:#a8bbbe}.war-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
@media(max-width:800px){.war-row{grid-template-columns:86px 1fr 96px;font-size:12px}.war-legend{padding:0 106px 0 96px}}
/* Entry streak and weekly goal */
.streak-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:14px 0 22px}.streak-strip article{padding:16px;background:linear-gradient(145deg,#23343d,#111a21);border:1px solid #4f6874;border-left:3px solid #f0c95c;border-radius:6px}.streak-strip b{display:block;font-size:20px;margin:4px 0 8px}.streak-strip p{font-size:13px;color:#a8bbbe;margin:6px 0}
.war-panel header{background:none;min-height:0;padding:0;border:0;margin:0}
/* Battle weather */
#scene[data-weather]:not([data-weather=""]):not([data-weather="clear"])::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3}
#scene[data-weather~="fog"]::after{background:radial-gradient(ellipse at 50% 55%,#c9d2d200 0 22%,#c9d2d266 60%,#c9d2d2a8 100%),linear-gradient(180deg,#c9d2d255,#c9d2d222)}
#scene[data-weather~="rain"]::after{background:repeating-linear-gradient(104deg,#bcd3e600 0 13px,#bcd3e62e 13px 14px,#bcd3e600 14px 31px),linear-gradient(180deg,#22303a55,#22303a22);background-size:160px 160px,100% 100%;animation:wx-rain .38s linear infinite}
#scene[data-weather="clear night"]::after{background:radial-gradient(ellipse at 50% 55%,#05102400 0 25%,#051024aa 100%),#06143066}
#scene[data-weather="fog night"]::after{background:radial-gradient(ellipse at 50% 55%,#8a98a800 0 20%,#3a465a99 65%,#101a2ccc 100%),#06143066}
#scene[data-weather="rain night"]::after{background:repeating-linear-gradient(104deg,#bcd3e600 0 13px,#bcd3e622 13px 14px,#bcd3e600 14px 31px),radial-gradient(ellipse at 50% 55%,#05102400 0 25%,#051024aa 100%),#06143066;background-size:160px 160px,100% 100%,100% 100%;animation:wx-rain .38s linear infinite}
@keyframes wx-rain{to{background-position:-46px 160px,0 0,0 0}}
@media(prefers-reduced-motion:reduce){#scene[data-weather]::after{animation:none}}
/* Profession course */
#pro-course{position:fixed;right:190px;top:145px;width:310px;z-index:25;padding:14px 16px;border:1px solid #f0c95c;background:linear-gradient(130deg,#2b2a17f5,#10140cf5);border-radius:8px;box-shadow:0 10px 35px #0008}
#pro-course small{color:#d9c98a;letter-spacing:.08em}.pc-goal{display:flex;gap:10px;margin:10px 0;opacity:.95}.pc-goal>b{flex:0 0 24px;height:24px;border:1px solid #f0c95c;border-radius:50%;display:grid;place-items:center;font-size:13px;color:#f0c95c}.pc-goal.done>b{background:#5f8f3e;border-color:#9fd27a;color:#fff}.pc-goal.done h4{color:#b8e39a;text-decoration:line-through}.pc-goal h4{margin:1px 0 3px;font-size:14px;color:#fff}.pc-goal p{margin:0;font-size:12.5px;line-height:1.45;color:#d7ddcf}.pc-end{font-size:13px;color:#fff;margin:8px 0}
@media(max-width:1100px){#pro-course{top:125px;right:8px;width:230px;padding:10px}.pc-goal p{font-size:11.5px}}
/* Radio chatter */
#radio-line{position:fixed;left:18px;bottom:150px;z-index:40;max-width:min(420px,80vw);padding:7px 14px;background:#0d1a14e8;border:1px solid #4d7a5e;border-left:4px solid #7fd29a;border-radius:3px;font:600 13px ui-monospace,Consolas,monospace;color:#d9f2e0;opacity:0;transform:translateX(-10px);pointer-events:none;transition:opacity .25s,transform .25s}#radio-line.show{opacity:1;transform:none}#radio-line b{color:#7fd29a;margin-right:10px;letter-spacing:.08em}
@media(max-width:800px){#radio-line{bottom:110px;left:8px;font-size:11px}}
/* Battle replay */
#replay-bar{position:fixed;left:50%;top:96px;transform:translateX(-50%);z-index:45;display:flex;gap:14px;align-items:center;padding:8px 10px 8px 16px;background:#101a21ee;border:1px solid #6edbff;border-radius:5px;box-shadow:0 8px 26px #000a;font:600 13px ui-monospace,Consolas,monospace;color:#d4e4ed}#replay-bar b{color:#6edbff;letter-spacing:.08em}#replay-bar button{padding:6px 12px;font-size:12px}
/* Sortie squads */
.sortie-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:16px 0}.sortie-modes article,.sortie-seats article{padding:14px;background:linear-gradient(145deg,#23343d,#111a21);border:1px solid #4f6874;border-radius:6px}.sortie-modes h3{margin:0 0 6px}.sortie-modes p{font-size:13px;color:#a8bbbe;min-height:54px}.sortie-modes small{display:block;margin-top:6px;color:#e2a15a;font-size:12px}
.sortie-seats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.sortie-seats article{text-align:center;border-style:dashed;opacity:.7}.sortie-seats article.taken{border-style:solid;border-color:#7fd29a;opacity:1}.sortie-seats b{display:block;font-size:17px}.sortie-seats small{color:#a8bbbe}
.sortie-room{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;margin:6px 0;background:#16232a;border:1px solid #2f434c;border-radius:5px}.sortie-room small{display:block;color:#a8bbbe;font-size:12px}.sortie-invite{display:flex;gap:8px;margin:14px 0;max-width:420px}.sortie-invite input{flex:1}.sortie-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}.sortie-code{font:700 20px ui-monospace,Consolas,monospace;color:#f0c95c;letter-spacing:.15em}
@media(max-width:700px){.sortie-seats{grid-template-columns:1fr}}
/* Friends */
.friend-row{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:6px 0;background:#16232a;border:1px solid #2f434c;border-radius:5px;opacity:.72}.friend-row.on{opacity:1;border-color:#3f6a52}.friend-dot{flex:0 0 9px;height:9px;border-radius:50%;background:#55636a}.friend-row.on .friend-dot{background:#7fd29a;box-shadow:0 0 8px #7fd29a}.friend-id{flex:1;min-width:0}.friend-id b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-id small{color:#a8bbbe;font-size:12px}.friend-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.friend-acts button{padding:6px 10px;font-size:12px}
[data-friends-badge]{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:9px;background:#d2553f;color:#fff;font-size:11px;line-height:18px;text-align:center}[data-friends-badge][hidden]{display:none}.pp-friends{display:block;width:100%;margin-top:8px;padding:7px;font-size:12px}
@media(max-width:700px){.friend-row{flex-wrap:wrap}.friend-acts{flex:1 0 100%;justify-content:flex-start}}
/* Phone polish */
.range-touch{display:none}
body.phone .range-touch,.touch-range .range-touch{display:flex;gap:10px;align-items:center;margin:8px 0}body.phone .range-touch span{flex:1;font-size:12px;color:#a8bbbe}body.phone .range-touch button{flex:0 0 42%;min-height:64px;font-size:20px;touch-action:manipulation}
body.phone .range-scene .range-instruction{display:none}body.phone .range-toolbar{gap:8px}body.phone .range-toolbar h2{font-size:15px}body.phone #range-live-score{font-size:13px;text-align:right}
body.phone .bp-hero .bp-timer{display:none}
body.phone #pro-course{left:84px;right:8px;top:86px;width:auto;max-width:330px;padding:8px 10px;max-height:none}body.phone #pro-course small{font-size:11px}body.phone #pro-course .pc-goal{margin:6px 0}body.phone #pro-course .pc-goal.done,body.phone #pro-course .pc-goal:not(.done)~.pc-goal:not(.done){display:none}body.phone #pro-course .pc-goal p{font-size:11.5px}body.phone #pro-course button{margin-top:4px;padding:5px 10px;font-size:11px}
body.phone #radio-line{left:84px;right:8px;top:46px;bottom:auto;max-width:330px;font-size:11px;padding:5px 10px}
body.phone #replay-bar{top:46px;left:84px;right:8px;transform:none;justify-content:space-between;font-size:11px}
body.phone #boss-shout{top:124px}
body.phone .war-legend{display:none}body.phone .war-panel{padding:12px}body.phone .war-foot button{width:100%}
body.phone .sortie-modes{grid-template-columns:1fr}body.phone .sortie-modes p{min-height:0}body.phone .sortie-actions button{flex:1 1 100%}
body.phone .streak-strip{grid-template-columns:1fr}
@media(orientation:landscape) and (max-height:520px){body.phone #pro-course{top:84px;max-width:300px}body.phone .range-scene{max-height:calc(100dvh - 150px);aspect-ratio:auto;height:calc(100dvh - 150px)}body.phone .range-touch button{min-height:48px}}
@media(orientation:portrait){body.phone .range-scene.scope{aspect-ratio:1/1}body.phone .range-scene.scope canvas{position:absolute;inset:0;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover}}
/* Smaller level badge on the header portrait */
#portrait[data-level]::before{width:22px;height:25px;right:0;bottom:0}
#portrait[data-level]::after{width:19px;height:22px;right:1.5px;bottom:1.5px;font-size:11px;letter-spacing:0}
/* Profession skill icons taken from the weapon atlas */
.stat-icon.pro-stat{background-color:#0f1a24;background-repeat:no-repeat}
.emote-categories{display:none}
/* Rankings */
.rk-hero{display:flex;justify-content:space-between;gap:20px;align-items:stretch;padding:22px;border:1px solid #6b5a2a;border-radius:8px;background:radial-gradient(ellipse at 85% 0,#6b531a66,transparent 60%),linear-gradient(135deg,#1c2a33,#0e161c)}.rk-hero h1{margin:4px 0 8px}.rk-hero p{font-size:13px;color:#a8bbbe;max-width:620px;margin:0}
.rk-me{flex:0 0 150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px;border:1px solid #f0c95c66;border-radius:8px;background:#0c1319cc}.rk-me small{font-size:11px;letter-spacing:.14em;color:#d9c98a}.rk-me b{font:900 42px/1 Impact,'Arial Narrow',sans-serif;color:#ffe9a8;text-shadow:0 0 14px #f0c24a88}.rk-me span{font-size:12px;color:#a8bbbe}.rk-me button{margin-top:8px;padding:5px 12px;font-size:11px}
.rk-h{margin:24px 0 10px}
.rk-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:12px;align-items:end}
.rk-pod{display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 10px 14px;border-radius:8px 8px 4px 4px;border:1px solid #4f6874;background:linear-gradient(180deg,#24363f,#111a21);color:#e6ece6;text-transform:none;letter-spacing:0;clip-path:none;box-shadow:0 8px 22px #0007;cursor:pointer;min-height:150px}.rk-pod i{font:900 30px/1 Impact,'Arial Narrow',sans-serif;font-style:normal;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;margin-bottom:6px;color:#111}.rk-pod b{font-size:17px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rk-pod small{font-size:11px;color:#a8bbbe;text-align:center}.rk-pod strong{font:700 24px ui-monospace,Consolas,monospace;margin-top:6px}.rk-pod em{font-style:normal;font-size:11px;letter-spacing:.12em;color:#8fa3a8;text-transform:uppercase}
.rk-p1{min-height:190px;border-color:#f0c95c;background:linear-gradient(180deg,#4a3d16,#141a17)}.rk-p1 i{background:linear-gradient(135deg,#fff3c0,#e0a92e)}.rk-p1 strong{color:#ffe9a8}.rk-p2 i{background:linear-gradient(135deg,#f2f5f7,#9aa7b0)}.rk-p2{border-color:#aab6bf}.rk-p3 i{background:linear-gradient(135deg,#f0c09a,#a8683a)}.rk-p3{border-color:#b9825a}.rk-pod.empty{opacity:.45;cursor:default}.rk-pod.self,.rk-row.self{outline:2px solid #7fd29a;outline-offset:1px}
.rk-list{margin-top:12px;display:flex;flex-direction:column;gap:4px;max-height:420px;overflow:auto;padding-right:4px}
.rk-row{display:grid;grid-template-columns:38px minmax(120px,1.4fr) 70px 54px minmax(60px,1fr) 60px;gap:10px;align-items:center;padding:7px 10px;background:#16232a;border:1px solid #2a3c45;border-radius:5px;color:#e6ece6;text-align:left;text-transform:none;letter-spacing:0;clip-path:none;box-shadow:none;cursor:pointer}.rk-row:hover{border-color:#6edbff}.rk-row i{font:700 14px ui-monospace,Consolas,monospace;font-style:normal;color:#8fa3a8;text-align:center}.rk-name b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rk-name small{font-size:11px;color:#8fa3a8}.rk-side{font-size:11px;text-align:center;padding:2px 6px;border-radius:3px;border:1px solid}.rk-side.vostok{color:#f29b88;border-color:#8a3a2c}.rk-side.aurelius{color:#8fc3f5;border-color:#2c588a}.rk-lvl{font-size:12px;color:#a8bbbe}.rk-bar{height:6px;background:#0b1114;border-radius:3px;overflow:hidden}.rk-bar em{display:block;height:100%;background:linear-gradient(90deg,#c9982f,#f6d77a)}.rk-row strong{text-align:right;font:700 15px ui-monospace,Consolas,monospace;color:#ffe9a8}
.rk-units{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.rk-units article{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#16232a;border:1px solid #2a3c45;border-radius:6px}.rk-units article.top{border-color:#6b5a2a;background:linear-gradient(135deg,#2a2716,#131a1c)}.rk-units i{font-style:normal;flex:0 0 28px;text-align:center;font:700 15px ui-monospace,monospace;color:#8fa3a8}.rk-units div{flex:1;min-width:0}.rk-units b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rk-units small{font-size:11px;color:#8fa3a8}.rk-units strong{font:700 16px ui-monospace,monospace;color:#ffe9a8}
body.phone .rk-hero{flex-direction:column}body.phone .rk-me{flex:0 0 auto;flex-direction:row;gap:12px}body.phone .rk-me b{font-size:30px}body.phone .rk-podium{grid-template-columns:1fr}body.phone .rk-pod,body.phone .rk-p1{min-height:0;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:8px}body.phone .rk-row{grid-template-columns:30px 1fr 50px}body.phone .rk-row .rk-side,body.phone .rk-row .rk-lvl,body.phone .rk-row .rk-bar{display:none}
.rk-hero{padding:14px 18px;align-items:center}.rk-hero .eyebrow{display:block;margin-bottom:6px}.rk-me{flex-direction:row;flex:0 0 auto;gap:12px;padding:8px 14px}.rk-me b{font-size:30px}.rk-me button{margin-top:0}
#toast[popover]{top:auto;right:auto;margin:0;border:0;width:max-content;height:auto;overflow:visible}
.hdr-rank{display:block;margin-bottom:3px;font:800 15px/1.1 "Arial Narrow","Roboto Condensed",Impact,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#f0c95c;text-shadow:0 0 10px #f0c24a55,0 1px 0 #000}.hdr-rank.west{color:#79c5ed;text-shadow:0 0 10px #79c5ed55,0 1px 0 #000}body.in-battle .hdr-rank{display:none}
#callsign .hdr-rank{font:800 15px/1.1 "Arial Narrow","Roboto Condensed",Impact,sans-serif!important;letter-spacing:.18em!important;color:#f0c95c!important;opacity:1!important}#callsign .hdr-rank.west{color:#79c5ed!important}
header .balance #account{display:none!important}
/* Season */
.ss-hero{display:flex;gap:20px;justify-content:space-between;align-items:stretch;padding:20px;border:1px solid #6b5a2a;border-radius:8px;background:radial-gradient(ellipse at 90% 0,#6b531a77,transparent 60%),linear-gradient(135deg,#1c2a33,#0e161c)}.ss-hero h1{margin:4px 0 8px}.ss-hero p{font-size:13px;color:#a8bbbe;margin:0;max-width:640px}
.ss-level{flex:0 0 190px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 16px;border:1px solid #f0c95c66;border-radius:8px;background:#0c1319cc}.ss-level small{font-size:11px;letter-spacing:.14em;color:#d9c98a}.ss-level b{font:900 44px/1 Impact,'Arial Narrow',sans-serif;color:#ffe9a8}.ss-level b i{font:600 15px sans-serif;font-style:normal;color:#8fa3a8;margin-left:6px}
.ss-premium{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:14px 0;padding:14px 18px;border:1px dashed #f0c95c;border-radius:8px;background:#2a2716cc}.ss-premium.on{border-style:solid;background:linear-gradient(90deg,#3d3415,#1a1c14)}.ss-premium b{display:block;color:#ffe9a8;font-size:16px}.ss-premium span{font-size:13px;color:#cfc8a8}
.ss-head,.ss-row{display:grid;grid-template-columns:44px 1fr 1fr;gap:8px;align-items:stretch}.ss-head{margin-bottom:6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#a8bbbe}.ss-head b:last-child{color:#f0c95c}
.ss-track{display:flex;flex-direction:column;gap:5px;max-height:460px;overflow:auto;padding-right:4px}
.ss-row>i{display:grid;place-items:center;font:700 15px ui-monospace,Consolas,monospace;font-style:normal;color:#6f8088;background:#111a20;border:1px solid #26363e;border-radius:5px}.ss-row.reached>i{color:#111;background:linear-gradient(135deg,#fff3c0,#e0a92e);border-color:#f0c95c}.ss-row.next>i{color:#ffe9a8;border-color:#f0c95c}
.ss-cell{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:6px 12px;background:#16232a;border:1px solid #2a3c45;border-radius:5px;opacity:.6}.ss-cell.paid{background:#211f14;border-color:#4a4020}.ss-cell.open,.ss-cell.got{opacity:1}.ss-cell.open{border-color:#7fd29a}.ss-cell.mile{box-shadow:inset 3px 0 0 #f0c95c}.ss-cell small{font-size:13px;color:#e6ece6}.ss-cell b{font-size:12px;color:#7fd29a;white-space:nowrap}.ss-cell b.lock{color:#d9c98a}.ss-cell button{padding:5px 12px;font-size:12px;white-space:nowrap}
.ss-entry{display:flex;align-items:center;gap:16px;width:100%;margin-bottom:16px;padding:12px 16px;text-align:left;text-transform:none;letter-spacing:0;clip-path:none;border:1px solid #6b5a2a;border-radius:8px;background:linear-gradient(90deg,#3d3415,#16201f);color:#e6ece6}.ss-entry b{font-size:18px;color:#ffe9a8}.ss-entry i{margin-left:auto;font-style:normal;font-size:13px;color:#d9c98a}
.starter-pack{margin:10px 0 14px;padding:14px 16px;border:1px solid #f0c95c;border-radius:8px;background:linear-gradient(100deg,#3d3415,#16201f)}.starter-pack h3{margin:4px 0}.starter-pack p{margin:0 0 10px;color:#e6dfc0}
body.phone .ss-hero,body.phone .ss-premium{flex-direction:column;align-items:stretch}body.phone .ss-level{flex:0 0 auto}body.phone .ss-head,body.phone .ss-row{grid-template-columns:34px 1fr}body.phone .ss-head b:last-child{display:none}body.phone .ss-cell.paid{grid-column:2}body.phone .ss-cell small{font-size:12px}
.ss-next{font-size:12px;color:#a8bbbe}.ss-bar{height:6px;background:#0b1114;border-radius:3px;overflow:hidden;margin-top:4px}.ss-bar em{display:block;height:100%;background:linear-gradient(90deg,#c9982f,#f6d77a)}
/* Season — ribbon layout */
.sx-hero{position:relative;display:flex;align-items:center;gap:22px;padding:22px 24px;border:1px solid #8a6f2a;border-radius:10px;overflow:hidden;background:radial-gradient(ellipse at 0 0,#8a6a1c88,transparent 55%),radial-gradient(ellipse at 100% 100%,#1d4a5a66,transparent 60%),linear-gradient(120deg,#231d10,#0e161c 60%)}
.sx-mark{flex:0 0 112px;height:112px;display:grid;place-items:center;font:900 58px/1 Impact,'Arial Narrow',sans-serif;color:#1a1408;background:conic-gradient(from 210deg,#7a5410,#f6d77a,#fff6cf,#c9982f,#7a5410);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);filter:drop-shadow(0 6px 14px #000a)}
.sx-info{flex:1;min-width:0}.sx-info h1{margin:2px 0 10px;font-size:30px;letter-spacing:.06em;color:#fff3cf;text-shadow:0 2px 0 #000,0 0 22px #f0c24a55}
.sx-progress{display:flex;align-items:center;gap:12px}.sx-progress b{white-space:nowrap;font-size:15px;color:#ffe9a8}.sx-progress b i{font-style:normal;color:#8fa3a8;font-weight:500}.sx-progress span{white-space:nowrap;font-size:12px;color:#a8bbbe}
.sx-bar{flex:1;height:10px;border-radius:5px;background:#0b1114;border:1px solid #4a4020;overflow:hidden}.sx-bar em{display:block;height:100%;background:linear-gradient(90deg,#c9982f,#fff0b8);box-shadow:0 0 10px #f0c24a}
.sx-total{position:relative;height:4px;margin-top:10px;background:#0b1114;border-radius:2px}.sx-total i{position:absolute;inset:0 auto 0 0;background:#7fd29a;border-radius:2px}.sx-total u{position:absolute;top:-3px;width:1px;height:10px;background:#f0c95c88}
.sx-all{flex:0 0 auto;min-width:190px}
.sx-pass{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:14px 0 8px;padding:16px 20px;border-radius:10px;border:1px solid #f0c95c;background:linear-gradient(100deg,#4a3a12,#2a2414 45%,#15201f)}.sx-pass.on{padding:10px 20px;background:linear-gradient(90deg,#4a3a12,#1a1c14)}.sx-pass-on b{color:#ffe9a8;font-size:16px;margin-right:14px}.sx-pass-on span{color:#cfc8a8;font-size:13px}
.sx-pass-text h3{margin:2px 0 8px;color:#ffe9a8}.sx-pass-text ul{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;list-style:none}.sx-pass-text li{padding:4px 10px;border:1px solid #6b5a2a;border-radius:14px;background:#0c1319aa;font-size:12.5px;color:#f1e7c2}
.sx-pass-buy{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.sx-pass-buy button{min-width:200px;font-size:17px}.sx-pass-buy small{font-size:11px;color:#bdb38d;text-align:right}
.sx-legend{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:10px 2px 4px}.sx-legend .paid{color:#f0c95c}.sx-legend .free{color:#8ac9d9}
.sx-ribbon{display:flex;gap:8px;overflow-x:auto;padding:6px 4px 12px;scroll-behavior:smooth;background:linear-gradient(180deg,transparent calc(50% - 2px),#26363e calc(50% - 2px) calc(50% + 2px),transparent calc(50% + 2px))}
.sx-col{flex:0 0 126px;display:flex;flex-direction:column;align-items:center;gap:6px}
.sx-node{position:relative;z-index:1}.sx-node i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:700 14px ui-monospace,Consolas,monospace;font-style:normal;color:#6f8088;background:#111a20;border:2px solid #26363e}.sx-col.reached .sx-node i{color:#1a1408;background:linear-gradient(135deg,#fff3c0,#e0a92e);border-color:#f0c95c;box-shadow:0 0 12px #f0c24a88}.sx-col.next .sx-node i{color:#ffe9a8;border-color:#f0c95c;animation:sxPulse 1.6s ease-in-out infinite}.sx-col.mile .sx-node i{width:40px;height:40px;font-size:16px}
@keyframes sxPulse{50%{box-shadow:0 0 0 6px #f0c95c33}}
.sx-card{position:relative;width:100%;height:132px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:8px 6px;border-radius:8px;border:1px solid #2a3c45;background:linear-gradient(180deg,#1a2830,#101920);opacity:.55;transition:transform .15s,opacity .15s}.sx-card.paid{border-color:#4a4020;background:linear-gradient(180deg,#2a2515,#15140d)}.sx-card.open,.sx-card.got{opacity:1}.sx-card.open{border-color:#7fd29a;box-shadow:0 0 14px #7fd29a44;transform:translateY(-2px)}.sx-card.paid.open{border-color:#f0c95c;box-shadow:0 0 14px #f0c24a55}.sx-col.mile .sx-card{border-width:2px}
.sx-art{height:56px;display:grid;place-items:center}.sx-art .icon{width:54px!important;height:54px!important;min-width:0;border-radius:8px}.sx-art .icon .item-stamp,.sx-art .icon .item-tier{display:none}
.sx-card small{font-size:11px;line-height:1.25;text-align:center;color:#dfe6dc;max-height:28px;overflow:hidden}.sx-card button{position:absolute;left:6px;right:6px;bottom:6px;padding:4px 0;font-size:11px}
.sx-ok{position:absolute;right:6px;top:4px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#5f8f3e;color:#fff;font-size:12px}.sx-lock{position:absolute;right:6px;top:4px;font-size:13px;opacity:.9}.sx-card.got{filter:saturate(.6)}.sx-card.got small{color:#9fb0a6}
.sx-how{margin-top:6px;font-size:13px;color:#a8bbbe}.sx-how summary{cursor:pointer;color:#d9c98a}
body.phone .sx-hero{flex-wrap:wrap;gap:12px;padding:14px}body.phone .sx-mark{flex-basis:64px;height:64px;font-size:32px}body.phone .sx-info h1{font-size:20px}body.phone .sx-progress{flex-wrap:wrap;gap:6px}body.phone .sx-all{flex:1 1 100%}body.phone .sx-pass{flex-direction:column;align-items:stretch}body.phone .sx-pass-buy{align-items:stretch}body.phone .sx-col{flex-basis:104px}
@media(prefers-reduced-motion:reduce){.sx-col.next .sx-node i{animation:none}.sx-ribbon{scroll-behavior:auto}}
#fire-selector[hidden]{display:none!important}
/* Offers, appearance, convenience */
.of-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:10px 0 18px}
.of-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid #4f6874;border-radius:8px;background:linear-gradient(145deg,#23343d,#111a21)}.of-card.gold{border-color:#f0c95c;background:linear-gradient(120deg,#3d3415,#16201f)}.of-card.green{border-color:#7fd29a;background:linear-gradient(120deg,#1f3524,#111a21)}.of-card.dim{opacity:.6}
.of-card h3{margin:0;font-size:16px}.of-card ul{flex:1;margin:0;padding-left:18px;font-size:13px;color:#cfd8d0}.of-card button{margin-top:6px;font-size:16px}
.cos-h{margin:14px 0 6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#a8bbbe}.cos-h button{font-size:11px;padding:2px 8px;margin-left:8px}.cos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.cos-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 12px 12px;border:1px solid #2a3c45;border-radius:8px;background:#16232a;text-align:center}.cos-card.on{border-color:#7fd29a;box-shadow:0 0 12px #7fd29a44}.cos-card b{font-size:12.5px}.cos-card button{width:100%;padding:5px;font-size:12px}
.cos-frame{display:block;width:54px;height:60px;margin:6px;border-radius:6px;background:linear-gradient(160deg,#3a4a52,#1a252b)}.cos-name{font:700 16px sans-serif;text-decoration:underline}.cos-badge{font-size:30px;line-height:1;color:#ffe9a8}
#portrait[data-frame="frame_steel"],.cos-frame[data-frame="frame_steel"]{outline:3px solid #aab6bf;outline-offset:1px;box-shadow:0 0 0 5px #1c2227,0 0 10px #aab6bf88}
#portrait[data-frame="frame_ice"],.cos-frame[data-frame="frame_ice"]{outline:3px solid #6edbff;outline-offset:1px;box-shadow:0 0 14px #6edbff,inset 0 0 12px #6edbff55}
#portrait[data-frame="frame_fire"],.cos-frame[data-frame="frame_fire"]{outline:3px solid #ff8a3c;outline-offset:1px;box-shadow:0 0 16px #ff5a1f,inset 0 0 12px #ff8a3c55}
#portrait[data-frame="frame_gold"],.cos-frame[data-frame="frame_gold"]{outline:3px solid #f6d77a;outline-offset:1px;box-shadow:0 0 0 5px #7a5410,0 0 18px #f0c24a}
#portrait[data-frame^="season_"],.cos-frame[data-frame^="season_"]{outline:3px double #fff3c0;outline-offset:2px;box-shadow:0 0 0 6px #7a5410,0 0 0 8px #f6d77a,0 0 22px #f0c24a;animation:seasonFrame 3s ease-in-out infinite}
@keyframes seasonFrame{50%{box-shadow:0 0 0 6px #7a5410,0 0 0 8px #fff6cf,0 0 30px #ffd76a}}
.sx-uniq{display:block;font-style:normal;font-size:11px;color:#ffe9a8;text-align:center;line-height:1.2}
.crate-odds{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:16px}.crate-odds article{padding:12px;border:1px solid #2a3c45;border-radius:6px;background:#16232a}.crate-odds small{display:block;margin:6px 0;font-size:12px;color:#a8bbbe;line-height:1.5}.crate-odds p{margin:0;font-size:12.5px;color:#e6dfc0}
@media(prefers-reduced-motion:reduce){#portrait[data-frame^="season_"]{animation:none}}
#portrait[data-frame^="season_"]{outline-offset:1px;box-shadow:0 0 0 3px #7a5410,0 0 0 5px #f6d77a,0 0 14px #f0c24a;animation:none}
.sx-art .icon{width:68px!important;height:52px!important;background-repeat:no-repeat;overflow:hidden}
.sx-art .icon{clip-path:inset(4% 3% 13% 3% round 6px)}

/* ── 0.41: field icons, hospital and pharmacy, belt board, battle medicine ── */
.icon.field-icon{position:relative;background:radial-gradient(120% 100% at 50% 20%,#24364f 0,#13203a 60%,#0c1528 100%)!important;background-size:auto!important;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}
.icon.field-icon .field-art{position:absolute;top:3%;bottom:3%;left:50%;aspect-ratio:1;transform:translateX(-50%);background-size:1000% 800%;background-repeat:no-repeat;filter:drop-shadow(0 3px 3px #000a);pointer-events:none}
#vip-mini{min-width:128px!important}
#vip-mini .vm-state{letter-spacing:.5px!important;font-size:11px!important;overflow:visible}
.st-glyph{width:18px;height:18px;flex:none}
.t-blood{--st:#ff6257}.t-bone{--st:#e9dcc0}.t-pain{--st:#ffb347}.t-daze{--st:#b9a4ff}.t-burn{--st:#ff8a3c}.t-cold{--st:#7fd0ff}.t-poison{--st:#9bdc5a}
.medx{--mx-line:#2c4a4d;--mx-ok:#58e0c0;--mx-bad:#ff6b5e;--mx-gold:#f1cd76;display:grid;gap:16px;color:#e6f0ee}
.medx-head{display:flex;gap:16px;align-items:center}
.medx-head h2{margin:2px 0 6px}.medx-head p{margin:0;max-width:74ch;color:#b9c9c6;font-style:italic}
.medx-h{display:flex;align-items:baseline;justify-content:space-between;margin:6px 0 -6px;font:800 13px/1 'Segoe UI',sans-serif;letter-spacing:2.2px;text-transform:uppercase;color:#9fd8cc}
.medx-h small{font:700 13px/1 'Segoe UI',sans-serif;letter-spacing:0;color:var(--mx-gold)}
.medx-note{margin:-6px 0 0;font-size:12px;color:#8fa5a2}
.medx-state{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2.2fr) minmax(190px,.9fr);gap:0;border:1px solid var(--mx-line);border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#12292b,#0c1a1d);box-shadow:0 10px 30px #0006,inset 0 1px 0 #ffffff12}
.medx-state.ill{border-color:#7a3a35;background:linear-gradient(135deg,#2c1716,#141012)}
.medx-pulse{position:relative;padding:18px 18px 16px;display:grid;align-content:end;gap:4px;min-height:118px;border-right:1px solid #ffffff12}
.medx-pulse svg{position:absolute;inset:10px 0 auto 0;width:100%;height:46px;opacity:.9}
.medx-pulse path{fill:none;stroke:var(--mx-ok);stroke-width:2;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:medxBeat 2.6s linear infinite;filter:drop-shadow(0 0 5px var(--mx-ok))}
.medx-state.ill .medx-pulse path{stroke:var(--mx-bad);filter:drop-shadow(0 0 5px var(--mx-bad));animation-duration:1.5s}
@keyframes medxBeat{0%{stroke-dashoffset:100}60%{stroke-dashoffset:0}100%{stroke-dashoffset:-100}}
.medx-pulse b{font:800 20px/1.1 'Segoe UI',sans-serif;color:var(--mx-ok)}.medx-state.ill .medx-pulse b{color:var(--mx-bad)}
.medx-pulse small{color:#a9bcb9;font-size:12px;line-height:1.35}
.medx-conds{display:grid;gap:8px;padding:14px;align-content:center}
.medx-cond{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:9px;background:#00000038;border:1px solid #ffffff10;border-left:3px solid var(--st,#58e0c0)}
.medx-cond .st-glyph{width:24px;height:24px;color:var(--st,#58e0c0);justify-self:center;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--st,#58e0c0) 60%,transparent))}
.medx-cond b{display:block;font-size:14px}.medx-cond small{display:block;color:#a9bcb9;font-size:12px;line-height:1.3}
.medx-cond.clear{border-left-color:var(--mx-ok)}
.medx-cure{font-size:11px;color:#8fa5a2;text-align:right;max-width:190px}
.medx-cure button{padding:6px 10px!important;font-size:12px!important;border-radius:7px!important;background:#1d4a43!important;border:1px solid var(--mx-ok)!important;color:#dffff7!important}
.medx-treat{display:grid;gap:4px;align-content:center;justify-items:start;padding:16px 18px;background:#00000030;border-left:1px solid #ffffff12}
.medx-treat span{font:800 11px/1 'Segoe UI',sans-serif;letter-spacing:2px;color:#8fa5a2}
.medx-treat b{font:800 24px/1 'Segoe UI',sans-serif;color:var(--mx-gold)}
.medx-treat small{font-size:11.5px;color:#a9bcb9;line-height:1.3;margin-bottom:6px}
.medx-treat button{width:100%}
.medx-kits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.medx-kit{display:grid;gap:12px;padding:14px;border-radius:12px;border:1px solid var(--mx-line);background:linear-gradient(160deg,#152a2c,#0d191c);box-shadow:inset 0 1px 0 #ffffff10}
.medx-kit.k2{border-color:#4a4530;background:linear-gradient(160deg,#2a2716,#15140c)}
.medx-kit.none{opacity:.92;border-style:dashed}
.medx-kit-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.medx-kit-top .icon{width:64px!important;height:64px!important}
.medx-kit-top b{display:block;font-size:16px}.medx-kit-top small{display:block;color:#a9bcb9;font-size:12px}
.medx-kit-top em{display:block;font-style:normal;font-size:11.5px;margin-top:3px}.medx-kit-top em.on{color:var(--mx-ok)}.medx-kit-top em.off{color:#e8a14a}
.medx-count{font:700 15px/1 'Segoe UI',sans-serif;color:#8fa5a2;white-space:nowrap}.medx-count b{font-size:26px;color:#fff}
.medx-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:7px}
.medx-cell{aspect-ratio:1;padding:0!important;border-radius:8px!important;border:1px solid #ffffff1c!important;background:#0000003d!important;display:grid;place-items:stretch;overflow:hidden;min-width:0;transition:transform .12s,border-color .12s}
.medx-cell .icon{width:100%!important;height:100%!important;margin:0!important;border-radius:0;box-shadow:none}
button.medx-cell:hover:not(:disabled){transform:translateY(-2px);border-color:var(--mx-ok)!important}
.medx-cell.empty{border:1px dashed #ffffff24!important;background:repeating-linear-gradient(135deg,#ffffff06 0 6px,#0000 6px 12px)!important}
.medx-kit-foot{display:flex;gap:12px;align-items:center;justify-content:space-between}.medx-kit-foot small{color:#a9bcb9;font-size:12px;line-height:1.3}
.medx-kit-foot button{white-space:nowrap;flex:none}
.medx-tabs{display:flex;flex-wrap:wrap;gap:6px}
.medx-tabs button{padding:7px 14px!important;border-radius:999px!important;border:1px solid var(--mx-line)!important;background:#0e1d20!important;color:#b9c9c6!important;font-size:12.5px!important}
.medx-tabs button.active{background:var(--mx-ok)!important;border-color:var(--mx-ok)!important;color:#06231d!important;font-weight:800}
.medx-shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px}
.medx-card{position:relative;display:grid;grid-template-rows:auto auto auto 1fr auto auto;gap:7px;padding:12px;border-radius:12px;border:1px solid var(--mx-line);background:linear-gradient(170deg,#16292c,#0c171a);box-shadow:inset 0 1px 0 #ffffff10;transition:transform .14s,border-color .14s,box-shadow .14s}
.medx-card:hover{transform:translateY(-3px);border-color:#4f8f88;box-shadow:0 10px 22px #0008,inset 0 1px 0 #ffffff18}
.medx-card.useful{border-color:var(--mx-bad);box-shadow:0 0 0 1px #ff6b5e55,0 0 18px #ff6b5e33}
.medx-card.locked{opacity:.62}
.medx-card>.icon{width:100%!important;height:104px!important;margin:0!important;border-radius:9px}
.medx-card b{font-size:14.5px;line-height:1.2}
.medx-card p{margin:0;font-size:11.5px;line-height:1.35;color:#a9bcb9;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.medx-tags{display:flex;flex-wrap:wrap;gap:5px}
.medx-tags i{font:700 11px/1 'Segoe UI',sans-serif;font-style:normal;letter-spacing:.6px;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:#ffffff12;color:#cfdedb}
.medx-tags i.e1{background:#1d4a43;color:#8ff0d8}.medx-tags i.e2{background:#4a3f1a;color:#f6d98a}.medx-tags i.e0{background:#2b3350;color:#b8c6ff}.medx-tags i.hot{background:#5a1f1b;color:#ffb1a9}
.medx-price{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:6px;border-top:1px dashed #ffffff1a}
.medx-price span{font:800 16px/1 'Segoe UI',sans-serif;color:var(--mx-gold)}.medx-price small{font-size:11px;color:#8fa5a2;text-align:right}
.medx-actions{display:flex;gap:6px}.medx-actions button{flex:1;padding:8px 6px!important;font-size:12.5px!important;border-radius:8px!important;white-space:nowrap}
.medx-actions button:nth-child(2):not(.use){flex:0 0 46px}
.medx-actions button.use{background:#1d4a43!important;border:1px solid var(--mx-ok)!important;color:#dffff7!important}
.warn-text{color:#ffb347}
.beltx{display:grid;gap:8px;margin-top:10px}
.beltx-head{display:flex;align-items:baseline;justify-content:space-between}.beltx-head h3{margin:0}
.beltx-head span{font:700 12px/1 'Segoe UI',sans-serif;color:#b9c9c6;padding:4px 8px;border-radius:999px;background:#ffffff10}.beltx-head span.full{background:#5a3a12;color:#ffd28a}
.beltx-strap{position:relative;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 12px;border-radius:10px;background:linear-gradient(#4b5136,#353a25) padding-box,repeating-linear-gradient(90deg,#0003 0 2px,#0000 2px 9px);border:1px solid #20240f;box-shadow:inset 0 2px 0 #ffffff18,inset 0 -3px 0 #0005,0 4px 10px #0006}
.beltx-strap::before{content:'';position:absolute;left:8px;right:8px;top:50%;height:0;border-top:2px dashed #1d210f;opacity:.55;pointer-events:none}
.beltx-strap>*{position:relative}
.beltx-strap .buckle{width:14px;height:34px;border-radius:3px;background:linear-gradient(#2a2c2f,#101113);box-shadow:inset 0 0 0 2px #55595e;flex:none}
.beltx-strap .inventory-cell{width:58px;height:58px;min-height:0}
.beltx-free{width:58px;height:58px;display:grid;place-items:center;border-radius:8px;border:1px dashed #ffffff55;color:#ffffff88;background:#0000002e;font-size:18px}
.beltx-facts{color:#a9b4a0;font-size:12px;line-height:1.35}
.bmed{display:grid;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid #ffffff1c}
.bmed-wounds{display:flex;flex-wrap:wrap;gap:5px}
.bmed-w{display:inline-flex;align-items:center;gap:5px;padding:4px 8px 4px 5px;border-radius:999px;font:700 11px/1 'Segoe UI',sans-serif;color:var(--st);background:color-mix(in srgb,var(--st) 16%,#0b0f10);border:1px solid color-mix(in srgb,var(--st) 55%,transparent);animation:bmedPulse 1.8s ease-in-out infinite}
.bmed-w .st-glyph{width:14px;height:14px}.bmed-w em{font-style:normal;opacity:.8;font-weight:600}
@keyframes bmedPulse{50%{box-shadow:0 0 10px color-mix(in srgb,var(--st) 50%,transparent)}}
.bmed-kit{display:flex;flex-wrap:wrap;gap:5px}
.bmed-kit button{position:relative;width:44px;height:44px;padding:0!important;border-radius:8px!important;border:1px solid #ffffff26!important;background:#0b1416!important;overflow:hidden;min-width:0}
.bmed-kit button.e2{border-color:#6b5a2a!important}
.bmed-kit button .icon{width:100%!important;height:100%!important;margin:0!important;border-radius:0;box-shadow:none}
.bmed-kit button em{position:absolute;right:2px;bottom:1px;font:800 11px/1 'Segoe UI',sans-serif;font-style:normal;color:#fff;text-shadow:0 1px 2px #000,0 0 3px #000}
.bmed-kit button small{position:absolute;left:2px;top:2px;font:800 11px/1 'Segoe UI',sans-serif;color:#06231d;background:#58e0c0;border-radius:4px;padding:2px 3px}
.bmed-kit button.cures{border-color:#ff6b5e!important;box-shadow:0 0 0 1px #ff6b5e,0 0 12px #ff6b5e88;animation:bmedPulse 1.2s ease-in-out infinite;--st:#ff6b5e}
.bmed-kit button:disabled{opacity:.45;filter:grayscale(.6)}
@media(max-width:900px){.medx-state{grid-template-columns:1fr}.medx-pulse,.medx-treat{border:0}.medx-kits{grid-template-columns:1fr}.medx-shop{grid-template-columns:repeat(2,minmax(0,1fr))}.medx-head{align-items:flex-start}.medx-cond{grid-template-columns:28px minmax(0,1fr)}.medx-cure{grid-column:2;text-align:left;max-width:none}}
.medx .item-stamp,.beltx .item-stamp,.bmed .item-stamp{display:none!important}
.medx-head h2{color:#eaf6f3!important}
.medx-pulse b{color:var(--mx-ok)!important}.medx-state.ill .medx-pulse b{color:var(--mx-bad)!important}
.medx-cond b,.medx-kit-top b,.medx-card>b{color:#f2faf8!important}
.medx-treat b,.medx-price span{color:var(--mx-gold)!important}
.medx-count b{color:#fff!important}
.medx-h{color:#1f4b45}
.medx-h small{color:#6a4f0f}
.medx-note{color:#3f5a55}
.medx-pulse path.faint{stroke-dasharray:none;animation:none;opacity:.22;filter:none}
.medx-pulse small,.medx-cond small,.medx-kit-top small,.medx-kit-foot small,.medx-treat small,.medx-card p{color:#b4c6c3!important}
.medx-head p{color:#c3d2cf!important}
.beltx-strap{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;padding:10px}
.beltx-strap .inventory-cell,.beltx-free{width:auto;height:auto;aspect-ratio:1;min-width:0;padding:2px!important}
.beltx-strap .inventory-cell .icon{width:100%!important;height:100%!important}
.beltx-strap .inventory-cell .cell-label{display:none}
.inventory-cell .field-icon .item-stamp{display:none!important}
#med-access{flex:0 1 auto;min-width:0;max-width:420px;align-self:stretch;display:flex}
#med-access .bmed{margin:0;padding:0 0 0 12px;border-top:0;border-left:1px solid #ffffff1c;align-content:start;gap:6px}
#med-access .quick-heading{margin:0}
#med-access .bmed-kit button{width:46px;height:46px}
body.phone #med-access{max-width:none;width:100%}body.phone #med-access .bmed{border-left:0;padding:0}
#med-access{align-self:flex-end;max-width:none;margin-bottom:4px}
#med-access .quick-heading{display:none}
#med-access .bmed{display:flex;flex-direction:row;align-items:flex-end;gap:10px}
#med-access .bmed-wounds{display:flex;flex-direction:column;flex-wrap:wrap-reverse;align-content:flex-start;gap:4px;max-height:98px}
#med-access .bmed-kit{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,46px);gap:5px}
.icon.field-icon{background:radial-gradient(120% 100% at 50% 20%,#1b2a3d 0,#0f1a2a 60%,#0a111c 100%)!important}
.field-icon .item-stamp{display:none!important}
body.phone #med-access .bmed{flex-wrap:wrap}
.aftermath{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;padding:10px 12px;border-radius:10px;background:#1a0f0f;border:1px solid #7a3a35}
.aftermath b{color:#ffb1a9;font-size:13px;letter-spacing:1px;text-transform:uppercase}
.aftermath small{flex-basis:100%;color:#c9b5b2;font-size:12px}
.aftermath .bmed-w{animation:none}
/* ── Reports: saved battles ── */
.rep-list{display:grid;gap:10px;margin-top:12px}
.rep-card{--rc:#58e0c0;display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid #2b3d52;border-left:4px solid var(--rc);background:linear-gradient(100deg,color-mix(in srgb,var(--rc) 9%,#101b29),#0d1622 55%);box-shadow:inset 0 1px 0 #ffffff10;transition:transform .14s,box-shadow .14s}
.rep-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0007,inset 0 1px 0 #ffffff18}
.rep-card.lost{--rc:#ff6b5e}.rep-card.draw{--rc:#f1cd76}
.rep-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:20px;color:var(--rc);background:color-mix(in srgb,var(--rc) 14%,#0b1119);border:1px solid color-mix(in srgb,var(--rc) 55%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--rc) 30%,transparent)}
.rep-main b{display:block;font-size:16px;color:#f1f6fa}
.rep-main small{display:block;color:#93a7b8;font-size:12px;margin-top:2px}
.rep-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.rep-facts span{font:700 11px/1 'Segoe UI',sans-serif;padding:4px 8px;border-radius:999px;background:#ffffff10;color:#c7d5e0}
.rep-facts .res{background:color-mix(in srgb,var(--rc) 20%,transparent);color:var(--rc)}
.rep-actions{display:flex;gap:8px}.rep-actions button{white-space:nowrap}
.rep-share{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding-top:12px;border-top:1px dashed #ffffff20}
.rep-share label{display:grid;gap:4px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#93a7b8}
.rep-share select,.rep-share input{min-width:170px}
.rep-share small{flex-basis:100%;color:#93a7b8;font-size:12px}
.chat-replay{display:inline-flex;align-items:center;gap:4px;margin:2px 0 2px 4px;padding:3px 10px!important;border-radius:999px!important;border:1px solid #58e0c0!important;background:#123a35!important;color:#dffff7!important;font:700 11.5px/1.4 'Segoe UI',sans-serif!important;letter-spacing:.3px;cursor:pointer;vertical-align:middle;clip-path:none!important;min-height:0!important}
.chat-replay:hover{background:#1b5a52!important}
@media(max-width:700px){.rep-card{grid-template-columns:44px minmax(0,1fr)}.rep-actions{grid-column:1/-1}.rep-actions button{flex:1}}
/* ── Phone dock: chat and presence as bottom sheets ── */
#phone-dock{position:fixed;left:8px;bottom:calc(46px + env(safe-area-inset-bottom));z-index:40;display:flex;gap:8px}
#phone-dock button{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px!important;border-radius:999px!important;border:1px solid #4d7698!important;background:linear-gradient(#17293c,#0d1826)!important;color:#e6f0f7!important;font:700 13px/1 'Segoe UI',sans-serif!important;letter-spacing:.3px;box-shadow:0 6px 16px #000a;clip-path:none!important;text-transform:none!important}
#phone-dock svg{width:18px;height:18px}
#phone-dock b{min-width:20px;padding:3px 6px;border-radius:999px;background:#ff6b5e;color:#fff;font-size:11px;text-align:center}
#phone-dock b.calm{background:#1d4a43;color:#8ff0d8}
#phone-dock .pd-pulse{width:9px;height:9px;border-radius:50%;background:#5c6b78}
#phone-dock .pd-pulse.on{background:#58e0c0;box-shadow:0 0 0 0 #58e0c088;animation:pdPulse 1.8s infinite}
@keyframes pdPulse{70%{box-shadow:0 0 0 8px #58e0c000}100%{box-shadow:0 0 0 0 #58e0c000}}
#phone-backdrop{position:fixed;inset:0;z-index:440;background:#000b;backdrop-filter:blur(2px)}
#phone-backdrop button{position:fixed;right:10px;bottom:calc(74vh + 8px);min-height:40px;padding:0 14px!important;border-radius:999px!important;border:1px solid #ffffff40!important;background:#0d1826!important;color:#fff!important;font:700 13px/1 'Segoe UI',sans-serif!important;clip-path:none!important;text-transform:none!important}
body.phone.phone-chat aside.left{display:flex!important;flex-direction:column;position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;max-width:none!important;height:74vh!important;z-index:450;background:linear-gradient(#111f30,#0a121d)!important;border-top:2px solid #4d7698;border-radius:16px 16px 0 0;padding:14px 10px calc(10px + env(safe-area-inset-bottom))!important;overflow:hidden;box-shadow:0 -12px 40px #000c}
body.phone.phone-chat aside.left>*:not(#sidebar-chat){display:none!important}
body.phone.phone-chat #sidebar-chat{display:flex!important;flex:1;height:100%;min-height:0}
body.phone.phone-chat #sidebar-chat .chat{flex:1;min-height:0;overflow:auto}
body.phone.phone-presence #presence:not([hidden]){display:flex!important;position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;max-height:74vh!important;z-index:450;clip-path:none!important;border-radius:16px 16px 0 0;border-top:2px solid #4d7698;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -12px 40px #000c}
body.phone.phone-presence #presence .pp-list{overflow:auto}
body.phone.phone-presence #presence .pp-player{min-height:44px}
/* ── Medical courses ── */
.medx-courses{display:grid;grid-template-columns:minmax(230px,1.1fr) repeat(3,minmax(0,1fr));gap:12px}
.medx-skill{display:flex;gap:14px;align-items:center;padding:14px;border-radius:12px;border:1px solid var(--mx-line);background:linear-gradient(160deg,#152a2c,#0d191c)}
.medx-skill b{display:block;color:#f2faf8!important;font-size:15px}.medx-skill small{display:block;color:#b4c6c3!important;font-size:11.5px;line-height:1.35}
.medx-ring{flex:none;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(closest-side,#0d191c 78%,transparent 80%),conic-gradient(var(--mx-ok) calc(var(--v)*1%),#ffffff18 0)}
.medx-ring b{font:800 22px/1 'Segoe UI',sans-serif!important;color:var(--mx-ok)!important}.medx-ring i{font-style:normal;font-size:12px}
.medx-bar{height:5px;border-radius:3px;background:#0008;margin:7px 0 4px;overflow:hidden}.medx-bar i{display:block;height:100%;background:linear-gradient(90deg,#2f9c88,var(--mx-ok))}
.medx-course{position:relative;display:grid;gap:8px;align-content:start;padding:14px;border-radius:12px;border:1px solid var(--mx-line);background:linear-gradient(170deg,#16292c,#0c171a);box-shadow:inset 0 1px 0 #ffffff10}
.medx-course b{color:#f2faf8!important;font-size:15px;padding-right:38px}.medx-course p{margin:0;color:#b4c6c3!important;font-size:12px;line-height:1.35}
.medx-course-n{position:absolute;right:12px;top:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:800 14px/1 'Segoe UI',sans-serif;color:#8fa5a2;border:1px solid #ffffff2a}
.medx-course.open{border-color:#4f8f88}.medx-course.open .medx-course-n{color:var(--mx-ok);border-color:var(--mx-ok)}
.medx-course.done{border-color:#8f6c22;background:linear-gradient(170deg,#2a2716,#15140c)}.medx-course.done .medx-course-n{color:#15140c;background:var(--mx-gold);border-color:var(--mx-gold)}
.medx-course.locked{opacity:.72}
.medx-passes{display:flex;align-items:center;gap:5px}.medx-passes i{width:22px;height:7px;border-radius:4px;background:#ffffff1c}.medx-passes i.on{background:var(--mx-ok);box-shadow:0 0 8px var(--mx-ok)}
.medx-course.done .medx-passes i.on{background:var(--mx-gold);box-shadow:0 0 8px var(--mx-gold)}
.medx-passes small{margin-left:4px;color:#8fa5a2!important;font-size:11px}
.medx-course-state{font-size:11.5px;color:#e8a14a}.medx-course.done .medx-course-state{color:var(--mx-gold)}
.medx-class-head{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:12px;background:linear-gradient(135deg,#12292b,#0c1a1d);border:1px solid var(--mx-line)}
.medx-class-head h2{margin:2px 0 6px;color:#eaf6f3!important}.medx-class-head p{margin:0;color:#c3d2cf!important}
.medx-grade{flex:none;width:92px;padding:10px 0;border-radius:12px;text-align:center;border:1px solid var(--mx-ok);background:#123a35}.medx-grade.fail{border-color:var(--mx-bad);background:#3a1614}
.medx-grade b{display:block;font:800 26px/1 'Segoe UI',sans-serif;color:#fff!important}.medx-grade small{color:#dfe9e7!important;text-transform:uppercase;letter-spacing:1.5px;font-size:11px}
.medx-cases{display:grid;gap:12px}
.medx-case{padding:14px 16px;border-radius:12px;border:1px solid var(--mx-line);border-left:4px solid #4f8f88;background:linear-gradient(170deg,#16292c,#0c171a)}
.medx-case.right{border-left-color:var(--mx-ok)}.medx-case.wrong{border-left-color:var(--mx-bad)}
.medx-case-n{font:800 11px/1 'Segoe UI',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#8fa5a2}
.medx-case p{margin:6px 0 10px;color:#eef5f3!important;font-size:14.5px;line-height:1.4}
.medx-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.medx-options button{min-height:44px;padding:8px 10px!important;border-radius:9px!important;border:1px solid #ffffff26!important;background:#0b1416!important;color:#dbe7e4!important;font:600 13px/1.25 'Segoe UI',sans-serif!important;text-transform:none!important;letter-spacing:0!important;clip-path:none!important;white-space:normal}
.medx-options button:hover:not(:disabled){border-color:var(--mx-ok)!important}
.medx-options button.picked{background:#1d4a43!important;border-color:var(--mx-ok)!important;color:#fff!important}
.medx-options button:disabled{opacity:.75}
.medx-case.wrong .medx-options button.picked{background:#3a1614!important;border-color:var(--mx-bad)!important}
.medx-options button.answer{border-color:var(--mx-ok)!important;box-shadow:0 0 0 1px var(--mx-ok);opacity:1}
.medx-why{display:block;margin-top:10px;color:#b4c6c3!important;font-size:12.5px;line-height:1.4}
.medx-class-foot{display:flex;justify-content:space-between;gap:10px}
.med-stat{border-radius:6px;background-color:#13203a}
.bmed-ally{display:flex;flex-direction:column;gap:4px;padding-left:10px;border-left:1px solid #ffffff1c}
.bmed-ally span b{display:block;font:700 12px/1.1 'Segoe UI',sans-serif;color:#8ff0d8}.bmed-ally span small{font-size:11px;color:#a9bcb9}
#med-access .bmed-ally .bmed-kit{grid-template-rows:46px}
@media(max-width:900px){.medx-courses{grid-template-columns:1fr}.medx-options{grid-template-columns:1fr}}
.medx-case.ok{border-left-color:var(--mx-ok)}.medx-case.bad{border-left-color:var(--mx-bad)}
#dialog#dialog#dialog .medx .medx-cases .medx-options button,#dialog#dialog#dialog .medx .medx-cases .medx-options button:disabled{background:#0b1416!important;background-image:none!important;border:1px solid #ffffff26!important;color:#dbe7e4!important;box-shadow:none!important;opacity:1!important;text-shadow:none!important}
#dialog#dialog#dialog .medx .medx-cases .medx-options button.picked{background:#1d4a43!important;border-color:var(--mx-ok)!important;color:#fff!important}
#dialog#dialog#dialog .medx .medx-cases .medx-case.bad .medx-options button.picked{background:#4a1a17!important;border-color:var(--mx-bad)!important}
#dialog#dialog#dialog .medx .medx-cases .medx-options button.answer{border-color:var(--mx-ok)!important;box-shadow:0 0 0 1px var(--mx-ok),0 0 12px #58e0c055!important}
#vip-mini{min-width:116px!important;padding-left:8px!important;padding-right:8px!important}
#vip-mini .vm-state{letter-spacing:.3px!important}
#vip-mini{min-width:104px!important;padding-left:9px!important;padding-right:9px!important}
#vip-mini .vm-state{letter-spacing:.2px!important;font-size:11px!important}
/* ── Base: painted name plates on the buildings; lamps light them at dusk and at night ── */
.base-building[data-sign="img"]>span{--n:var(--night,0);left:var(--label-x)!important;top:var(--label-y)!important;bottom:auto!important;width:calc(var(--bw,1252px)*200/1672);height:calc(var(--bw,1252px)*68/1672);padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;clip-path:none!important;font-size:0!important;color:transparent!important;background:var(--art) var(--sx) 0/1000% 100% no-repeat!important;transform:translate(-50%,-50%)!important;filter:brightness(calc(1 - var(--n)*.2)) saturate(calc(1 + var(--n)*.25)) sepia(calc(var(--n)*.35)) drop-shadow(0 0 calc(var(--n)*5px) #ffd27a) drop-shadow(0 0 calc(var(--n)*14px) #ffb84a99);transition:filter .25s!important;cursor:pointer}
.base-building[data-sign="img"]:hover>span,.base-building[data-sign="img"]:focus-visible>span{top:var(--label-y)!important;background:var(--art) var(--sx) 0/1000% 100% no-repeat!important;filter:brightness(1.18) drop-shadow(0 0 6px #ffe9a8) drop-shadow(0 0 14px #ffd27a)}
/* "Now at the base" sits on the left, right after the chat */
#presence{left:12px;right:auto}
/* ── Field notebook with the main story tasks ── */
#notebook{position:absolute;right:16px;top:60px;z-index:8;width:208px;font-family:'Segoe Print','Bradley Hand','Comic Sans MS','Segoe UI',cursive;transform:rotate(1.4deg);filter:drop-shadow(0 2px 1px #0007) drop-shadow(0 12px 14px #0009)}
#notebook::before{content:'';position:absolute;inset:18px -3px -4px 3px;border-radius:2px 2px 5px 5px;background:repeating-linear-gradient(#e9dfc2 0 1px,#b9ab84 1px 2px);z-index:-1}
#notebook::after{content:'';position:absolute;right:16px;top:8px;width:9px;height:38px;border:2px solid #9aa0a6;border-radius:6px;border-bottom-color:#6d7379;box-shadow:inset 0 0 0 1px #0002,1px 1px 1px #0006;transform:rotate(4deg);pointer-events:none}
#notebook .nb-head{position:relative;display:flex;align-items:center;gap:6px;width:100%;padding:15px 30px 7px 12px!important;border:0!important;border-radius:4px 4px 0 0!important;background:radial-gradient(120% 140% at 20% 0,#4a3a2a,#2a1f16)!important;background-image:radial-gradient(120% 140% at 20% 0,#5a4632,#2a1f16),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='90' height='90' filter='url(%23n)'/%3E%3C/svg%3E")!important;background-blend-mode:multiply;color:#e9d9b0!important;font:700 11px/1 'Bahnschrift SemiCondensed','Segoe UI',sans-serif!important;letter-spacing:1.6px;text-transform:uppercase;clip-path:none!important;box-shadow:inset 0 -2px 0 #0008,inset 0 0 0 1px #6b553c,inset 0 0 0 3px #2a1f16,inset 0 0 0 4px #7a634455!important;cursor:pointer;text-shadow:0 1px 0 #000}
#notebook .nb-head span{flex:1;text-align:left}
#notebook .nb-head em{font-style:normal;opacity:.7;font-size:11px}
#notebook .nb-rings{position:absolute;left:12px;right:34px;top:-7px;height:17px;background:radial-gradient(ellipse 3px 7px at 7px 8px,#0000 60%,#d7dadd 62% 86%,#4b5055 90%,#0000 100%) 0 0/15px 17px repeat-x;filter:drop-shadow(0 1px 1px #000a)}
#notebook.closed .nb-head{border-radius:4px!important}
#notebook .nb-page{position:relative;padding:8px 9px 12px 27px;border-radius:0 0 4px 4px;color:#2a2a33;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .36 0 0 0 0 .2 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(90deg,#0000 19px,#c9433f77 19px 20px,#0000 20px),repeating-linear-gradient(#0000 0 20px,#6f93b84d 20px 21px),radial-gradient(140% 100% at 0 0,#f8f1da,#e6dab6 70%,#d6c79c);background-position:0 0,0 0,0 6px,0 0;box-shadow:inset 0 6px 8px -6px #0007,inset -10px -12px 18px -12px #7a643a88,inset 3px 0 4px -2px #0003}
#notebook .nb-page::after{content:'';position:absolute;right:0;bottom:0;width:20px;height:20px;background:linear-gradient(135deg,#cfc097 0 48%,#a7986d 50%,#0000 52%);border-radius:0 0 4px 0;box-shadow:-2px -2px 3px #0003}
#notebook .nb-page::before{content:'';position:absolute;left:6px;top:0;bottom:0;width:6px;background:radial-gradient(circle,#2a1f1655 1.6px,#0000 2.2px) 0 4px/6px 21px repeat-y}
#notebook .nb-chapter small{display:block;font:700 11px/1.5 'Segoe UI',sans-serif;letter-spacing:1.3px;text-transform:uppercase;color:#8a7a52}
#notebook .nb-chapter b{display:block;font-size:12.5px;line-height:21px;color:#1c2947;text-decoration:underline;text-decoration-color:#1c294755;text-underline-offset:2px}
#notebook .nb-list{list-style:none;margin:0;padding:0;counter-reset:nb}
#notebook .nb-list li{counter-increment:nb;display:flex;align-items:flex-start;gap:5px;min-height:21px;padding:0 0 0 15px;position:relative;font-size:11.5px;line-height:21px;color:#22304f}
#notebook .nb-list li::before{content:counter(nb) '.';position:absolute;left:0;top:0;color:#8a7a52}
#notebook .nb-list li:nth-child(2n) .nb-text{transform:rotate(-.5deg)}
#notebook .nb-text{flex:1;min-width:0}
#notebook .nb-text small{display:block;font:600 11px/1.25 'Segoe UI',sans-serif;color:#7b6a45;padding-bottom:3px}
#notebook .nb-list li.done .nb-text{color:#8a8f9a;text-decoration:line-through;text-decoration-color:#a8322e;text-decoration-thickness:1.5px}
#notebook .nb-list li.now .nb-text{font-weight:700}
#notebook .nb-list button{flex:none;margin-top:2px;min-height:0!important;padding:1px 6px!important;border-radius:2px!important;border:1.5px solid #9c2f27!important;background:#9c2f2712!important;color:#9c2f27!important;font:800 11px/1.5 'Bahnschrift SemiCondensed','Segoe UI',sans-serif!important;letter-spacing:1px;text-transform:uppercase!important;clip-path:none!important;box-shadow:none!important;transform:rotate(-3deg);cursor:pointer;text-shadow:none!important}
#notebook .nb-list button:hover{background:#9c2f27!important;color:#f6eed6!important}
#notebook .nb-done{margin:0;font-size:11.5px;line-height:21px}
body.phone #notebook{left:8px;right:8px;top:auto;bottom:calc(100px + env(safe-area-inset-bottom));width:auto;transform:none}
body.phone.phone-chat #notebook,body.phone.phone-presence #notebook{display:none}
#notebook{top:auto;bottom:18px;right:18px}
body.phone #notebook{bottom:calc(100px + env(safe-area-inset-bottom));right:8px}
#notebook{bottom:56px}
/* ── Rain: overcast tint and mist; the drops are drawn on #rain-fx ── */
#scene[data-weather~="rain"]::after{background:linear-gradient(180deg,#4a586699,#33414c55 45%,#2a363f33),radial-gradient(ellipse at 50% 60%,#9fb0bd00 0 35%,#9fb0bd33 100%)!important;background-size:100% 100%!important;animation:none!important;mix-blend-mode:multiply}
#scene[data-weather="rain night"]::after{background:linear-gradient(180deg,#0a1626cc,#0a162688),radial-gradient(ellipse at 50% 55%,#05102400 0 25%,#051024aa 100%)!important;mix-blend-mode:normal}
#scene[data-weather~="rain"] #battle3d,#scene[data-weather~="rain"] #map{filter:saturate(.78) contrast(1.04) brightness(.93)}
#rain-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}
#notebook .nb-list li{flex-wrap:wrap}#notebook .nb-text{flex:1 1 100%}#notebook .nb-list button{margin:0 0 4px 0}
/* ── Chat: avatar first, side colours; profile: side ribbon ── */
.chat-ava{display:inline-block;vertical-align:middle;width:26px;height:26px;min-height:0!important;margin:0 6px 0 0!important;padding:0!important;border-radius:50%!important;border:2px solid #7d8a5a!important;background-color:#0d1620!important;background-size:cover;background-position:50% 20%;background-repeat:no-repeat;clip-path:none!important;box-shadow:0 1px 3px #000a!important;cursor:pointer;flex:none}
.chat-ava.west{border-color:#c9a45a!important}
.chat-ava:hover{filter:brightness(1.25);transform:scale(1.08)}
.chat-message .cm-name{font-weight:700;color:#cfe3ee;cursor:default}
.chat-message.ally{border-left:3px solid #6f8f4e!important;padding-left:7px!important}
.chat-message.foe{border-left:3px solid #c0503f!important;padding-left:7px!important;background:linear-gradient(90deg,#3a15121f,#0000 70%)!important}
.chat-message.foe .cm-name{color:#ffb3a6}
.chat-message.foe .cm-text{color:#e9cfc9}
.chat-message.foe .cm-name::after{content:'противник';margin-left:6px;padding:1px 5px;border-radius:3px;background:#5a1f1b;color:#ffb3a6;font:700 11px/1.4 'Segoe UI',sans-serif;letter-spacing:.8px;text-transform:uppercase;vertical-align:middle}
.chat-message.own{border-left-color:#56c7a7!important}
.side-ribbon{display:flex;align-items:center;gap:12px;margin:6px 0 14px;padding:10px 14px;border-radius:6px;color:#f1ead2;background:linear-gradient(100deg,#3f4a2c,#232b19 60%,#151a10);border:1px solid #6f7d4a;box-shadow:inset 0 1px 0 #ffffff1c}
.side-ribbon i{width:30px;height:30px;flex:none;background:#d9463a;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.side-ribbon b{font:800 17px/1 'Bahnschrift SemiCondensed','Segoe UI',sans-serif;letter-spacing:4px}
.side-ribbon span{font-size:12px;opacity:.8}
.side-ribbon.side-west{color:#f4ead0;background:linear-gradient(100deg,#1f2f4d,#141f36 60%,#0c1424);border-color:#c9a45a}
.side-ribbon.side-west i{background:#e3bd62;clip-path:polygon(50% 0,100% 28%,100% 62%,50% 100%,0 62%,0 28%)}
.player-profile.side-east .player-photo{border:2px solid #7d8a5a;box-shadow:0 0 0 3px #232b19,0 0 18px #6f8f4e55}
.player-profile.side-west .player-photo{border:2px solid #c9a45a;box-shadow:0 0 0 3px #141f36,0 0 18px #c9a45a55}
.player-profile.side-east h2{color:#dfe9c4}.player-profile.side-west h2{color:#f0dba6}
/* chat avatar: square, with the owner's frame */
.chat-ava{width:28px;height:28px;border-radius:4px!important;box-shadow:0 1px 3px #000a;margin:2px 8px 2px 2px!important}
.chat-ava.cos-frame{display:inline-block;width:28px;height:28px;margin:4px 11px 4px 5px!important;border:0!important;outline-width:2px!important;outline-offset:1px!important}
.chat-ava.cos-frame[data-frame="frame_steel"]{box-shadow:0 0 0 3px #1c2227,0 0 6px #aab6bf88!important}
.chat-ava.cos-frame[data-frame="frame_ice"]{box-shadow:0 0 8px #6edbff!important}
.chat-ava.cos-frame[data-frame="frame_fire"]{box-shadow:0 0 9px #ff5a1f!important}
.chat-ava.cos-frame[data-frame="frame_gold"]{box-shadow:0 0 0 3px #7a5410,0 0 9px #f0c24a!important}
.chat-ava.cos-frame[data-frame^="season_"]{box-shadow:0 0 0 3px #7a5410,0 0 0 4px #f6d77a,0 0 10px #f0c24a!important}
.chat-message .cm-name[style]{text-shadow:0 0 8px currentColor}
#notebook .nb-head{cursor:grab;touch-action:none}#notebook.pp-dragging{transition:none;filter:drop-shadow(0 18px 20px #000c)}
.weapon-total{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:start;column-gap:8px;margin:2px 0 6px;padding:6px 8px;border-left:3px solid #e7c15a;background:#0b1824aa}
.weapon-total span{font:700 11px/1.2 'Segoe UI',sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#9fb4c2}
.weapon-total b{font:800 18px/1 Consolas,monospace;color:#ffe8a8}
.weapon-total small{grid-column:1/-1;font-size:11px;color:#9fb4c2}

/* ── Reward windows: a gunmetal case lid with brass plates, in the game's navy / steel / gold palette ── */
#reward-receipt,#levelup{width:min(600px,94vw)!important;padding:34px 26px 22px!important;border:0!important;border-radius:6px!important;color:#e6edf2!important;text-align:center;overflow:hidden auto;background:repeating-linear-gradient(90deg,#ffffff05 0 1px,#0000 1px 3px),radial-gradient(120% 90% at 50% 0,#27384a,#131d29 55%,#0b121a)!important;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 0 0 6px #0b121a,inset 0 0 0 7px #c9a45a66,inset 0 30px 60px -30px #6fd0ee22,0 0 0 1px #000,0 30px 80px #000e!important;animation:rwUp .35s ease-out both!important}
#reward-receipt::before,#levelup::before{content:'';position:absolute;left:7px;right:7px;top:7px;height:10px;background:repeating-linear-gradient(135deg,#c9a45a 0 12px,#1a1408 12px 24px);opacity:.85;z-index:1}
#reward-receipt::after,#levelup::after{content:'';position:absolute;inset:14px;pointer-events:none;background:radial-gradient(circle at 10px 16px,#8e9aa3 0 3px,#2a333b 3.5px 5px,#0000 5.5px),radial-gradient(circle at calc(100% - 10px) 16px,#8e9aa3 0 3px,#2a333b 3.5px 5px,#0000 5.5px),radial-gradient(circle at 10px calc(100% - 10px),#8e9aa3 0 3px,#2a333b 3.5px 5px,#0000 5.5px),radial-gradient(circle at calc(100% - 10px) calc(100% - 10px),#8e9aa3 0 3px,#2a333b 3.5px 5px,#0000 5.5px);z-index:1}
#reward-receipt .rw-confetti,#levelup .rw-confetti{display:none!important}
#reward-receipt .rw-badge{width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#f3dc98,#c9a45a 45%,#7a5a1e)!important;border:0!important;box-shadow:inset 0 0 0 4px #7a5a1e,inset 0 0 0 6px #f3dc9866,0 0 0 4px #0b121a,0 6px 16px #000a,0 0 30px #c9a45a44!important;animation:rwPop .6s cubic-bezier(.2,1.4,.4,1) both!important}
#reward-receipt .rw-head small,#levelup .lv-kicker{display:inline-block;margin-top:14px;padding:4px 14px;border:1px solid #c9a45a88;border-radius:2px;color:#e7c98a!important;font:800 11px/1 'Bahnschrift SemiCondensed',Consolas,sans-serif!important;letter-spacing:4px!important;background:#0b121a99}
#reward-receipt .rw-head h2,#levelup h2{margin:10px 0 16px!important;font:800 28px/1.1 'Bahnschrift SemiCondensed','Segoe UI',sans-serif!important;letter-spacing:3px;text-transform:uppercase;color:#f4f7fa!important;text-shadow:0 2px 0 #000,0 0 22px #6fd0ee33!important}
#reward-receipt .rw-stats{gap:10px!important;margin:4px 0 16px!important}
#reward-receipt .rw-stats>div{flex:1;min-width:110px!important;padding:12px 10px!important;border-radius:3px!important;border:1px solid #6b5522!important;background:linear-gradient(#3a3018,#221c0d)!important;box-shadow:inset 0 1px 0 #f3dc9844,inset 0 -2px 0 #0008,0 3px 8px #0008}
#reward-receipt .rw-stats b{font:800 23px/1.1 Consolas,monospace!important;color:#ffe8a8!important;text-shadow:0 1px 0 #000}
#reward-receipt .rw-stats small{color:#c9b47a!important;text-transform:uppercase;letter-spacing:1.6px;font-size:11px!important}
#reward-receipt .rw-items{gap:10px!important;padding:12px;border-radius:4px;background:#070c12;box-shadow:inset 0 3px 10px #000,inset 0 0 0 1px #ffffff10;margin-bottom:16px!important}
#reward-receipt .rw-items>div{border-radius:4px!important;border:1px solid #2c3d4d!important;background:radial-gradient(120% 100% at 50% 0,#1c2a38,#0e1620)!important;box-shadow:inset 0 2px 8px #000a!important}
#reward-receipt .rw-items b{color:#dfe8ee!important}
#reward-receipt .rw-items em{right:-4px!important;top:-6px!important;background:linear-gradient(#f3dc98,#c9a45a)!important;color:#241a05!important;border-radius:2px!important;font:800 12px/1.5 Consolas,monospace!important;padding:0 7px!important;box-shadow:0 2px 4px #000a}
#levelup .lv-glow{opacity:.45}
#levelup .lv-text{color:#b9c9d4!important}#levelup .lv-text b,#levelup .lv-gains b{color:#ffe8a8!important}
#levelup .lv-gains>div{border-radius:3px!important;border:1px solid #2c3d4d!important;background:linear-gradient(#17232f,#0e1620)!important;box-shadow:inset 0 1px 0 #ffffff12}
#reward-receipt#reward-receipt button.primary,#levelup#levelup button.primary{background:linear-gradient(#f3dc98,#c9a45a 55%,#9a7a34)!important;color:#241a05!important;border:1px solid #5a4416!important;border-radius:3px!important;clip-path:none!important;box-shadow:inset 0 1px 0 #fff6,0 3px 0 #5a4416,0 8px 18px #0008!important;text-shadow:none!important;letter-spacing:2px}
/* ── Operator's dossier ── */
.dossier{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;margin:10px 0 16px;padding:26px 26px 22px;border-radius:3px;color:#2b261a;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .32 0 0 0 0 .18 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(100deg,#e9dfc2,#dccfa8);box-shadow:0 0 0 1px #8a7a52,6px 6px 0 -1px #cdbf97,6px 6px 0 0 #8a7a52,0 18px 34px #000a;transform:rotate(-.35deg)}
.dossier.west{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .32 0 0 0 0 .4 0 0 0 .2 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(100deg,#e4e6e2,#cfd4d2)}
.dos-clip{position:absolute;left:34px;top:-12px;width:22px;height:56px;border:3px solid #8e959b;border-radius:10px;border-bottom-color:#5d646a;box-shadow:1px 2px 2px #0006;transform:rotate(-5deg);z-index:2}
.dos-photo{position:relative;width:190px;height:230px;margin:0!important;background:#0d1620;border:6px solid #f6f1e2;box-shadow:0 3px 8px #0008,inset 0 0 0 1px #0004;transform:rotate(-1.6deg);border-radius:0!important;overflow:hidden}
.dos-photo img,.dos-photo canvas{display:block;width:100%;height:100%;object-fit:cover;filter:sepia(.18) contrast(1.05)}
.dos-photo em{position:absolute;left:0;right:0;bottom:0;padding:3px 6px;background:#f6f1e2;color:#2b261a;font:700 11px/1.3 Consolas,monospace;font-style:normal;letter-spacing:1.5px;text-align:center}
.dos-head small{font:700 11px/1.4 Consolas,monospace;letter-spacing:2px;color:#6b5d3c}
.dos-head h2{margin:2px 0 0!important;font:800 32px/1.05 'Bahnschrift SemiCondensed','Segoe UI',sans-serif!important;letter-spacing:2px;text-transform:uppercase;color:#1f2b46!important;text-shadow:none!important}
.dos-head span{font:italic 14px/1.4 Georgia,serif;color:#5a4f36}
.dos-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;margin:14px 0 10px;border-top:2px solid #2b261a}
.dos-fields>div{padding:7px 0 6px;border-bottom:1px dotted #2b261a88}
.dos-fields dt{font:700 11px/1.3 Consolas,monospace;letter-spacing:1.6px;text-transform:uppercase;color:#7a6a45}
.dos-fields dd{margin:1px 0 0;font:700 15px/1.25 'Courier New',Consolas,monospace;color:#1f2b46}
.dos-bio{margin:8px 0 12px!important;font:italic 14px/1.5 Georgia,serif;color:#3d3524!important;max-width:70ch}
.dos-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.dos-bar{width:170px;height:26px;background:repeating-linear-gradient(90deg,#2b261a 0 2px,#0000 2px 4px,#2b261a 4px 5px,#0000 5px 9px,#2b261a 9px 12px,#0000 12px 14px)}
.dos-sign{font:italic 24px/1 'Segoe Script','Brush Script MT',cursive;color:#1c2f6b;border-bottom:1px solid #2b261a88;padding:0 18px 2px;transform:rotate(-3deg)}
.dos-stamp{position:absolute;right:26px;top:22px;padding:8px 14px;border:3px double #a8322e;border-radius:6px;color:#a8322e;text-align:center;transform:rotate(9deg);opacity:.8;mix-blend-mode:multiply}
.dossier.west .dos-stamp{border-color:#1f4a8a;color:#1f4a8a}
.dos-stamp b{display:block;font:900 20px/1 'Bahnschrift SemiCondensed',Impact,sans-serif;letter-spacing:4px}
.dos-stamp small{display:block;font:700 11px/1.5 Consolas,monospace;letter-spacing:1px;text-transform:uppercase}
.dos-online{position:absolute;right:26px;bottom:18px;font:700 11px/1 Consolas,monospace;letter-spacing:2px;text-transform:uppercase;color:#2f7a4a}
.dossier-edit{margin:6px 0 14px;border:1px solid #33506a;border-radius:8px;background:#0c1622aa}
.dossier-edit>summary{cursor:pointer;padding:12px 16px;font:700 13px/1 'Bahnschrift SemiCondensed','Segoe UI',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#9fd0e8}
.dossier-edit[open]{padding:0 16px 16px}.dossier-edit[open]>summary{margin:0 -16px 8px;border-bottom:1px solid #33506a}
@media(max-width:760px){.dossier{grid-template-columns:1fr;padding:22px 16px}.dos-photo{width:150px;height:180px}.dos-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.dos-stamp{position:static;transform:rotate(-2deg);justify-self:start}}
/* ── Duel panel ── */
.duelx{--dx-a:#c9a45a;--dx-r:#e0553f;display:grid;gap:14px}
.duelx-hero{position:relative;display:flex;align-items:center;gap:18px;padding:22px 24px;border-radius:6px;overflow:hidden;background:repeating-linear-gradient(115deg,#ffffff06 0 2px,#0000 2px 14px),linear-gradient(100deg,#3a1512,#1a1418 45%,#0f1a2a);box-shadow:inset 0 0 0 1px #e0553f66,inset 0 -40px 60px -40px #000,0 10px 26px #0009}
.duelx-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(135deg,var(--dx-a) 0 12px,#1a1408 12px 24px)}
.duelx-hero svg{width:74px;height:74px;flex:none;color:var(--dx-a);filter:drop-shadow(0 0 10px #e0553f99)}
.duelx-hero small{display:block;font:700 11px/1 Consolas,monospace;letter-spacing:3px;color:#ffb3a6}
.duelx-hero b{display:block;margin:6px 0 4px;font:800 34px/1 'Bahnschrift SemiCondensed',Impact,sans-serif;letter-spacing:5px;color:#fff;text-shadow:0 2px 0 #000,0 0 26px #e0553f88}
.duelx-hero span{font-size:13px;color:#c9b9b4}
.duelx-hero>i{margin-left:auto;font:900 64px/1 Impact,'Bahnschrift',sans-serif;font-style:italic;color:#0000;-webkit-text-stroke:2px #e0553f88;letter-spacing:2px}
.duelx>.eyebrow,.duelx>h2:first-of-type{display:none}
.duelx .duel-create{padding:18px!important;border-radius:6px!important;border:1px solid #4a3a22!important;background:linear-gradient(170deg,#1c2430,#10161f)!important;box-shadow:inset 0 1px 0 #ffffff12}
.duelx .duel-modes button{position:relative;border-radius:4px!important;clip-path:none!important;border:1px solid #33465a!important;background:linear-gradient(#1d2a38,#121b26)!important;color:#b9c9d4!important;font:800 22px/1 'Bahnschrift SemiCondensed',sans-serif!important;letter-spacing:2px;box-shadow:inset 0 1px 0 #ffffff14,0 3px 0 #070b10!important}
.duelx .duel-modes button.active{border-color:var(--dx-a)!important;background:linear-gradient(#4a3a18,#2a2010)!important;color:#ffe8a8!important;box-shadow:inset 0 1px 0 #f3dc9855,0 3px 0 #1a1408,0 0 18px #c9a45a44!important}
.duelx .duel-rules button{font-size:13px!important;letter-spacing:1px}
.duelx .duel-lobby{border-radius:6px!important;border:1px solid #33465a!important;border-left:4px solid var(--dx-r)!important;background:linear-gradient(100deg,#231517,#10161f 55%)!important}
.duelx .duel-count{padding:6px 10px;border-radius:3px;background:#0b1118;border:1px solid #4a3a22;color:#ffe8a8}
.duelx .duel-teams{grid-template-columns:1fr 74px 1fr}
.duelx .duel-teams section{padding:12px;border-radius:6px;border:1px solid #33465a;background:linear-gradient(170deg,#1a2a1f,#0f171c)}
.duelx .duel-teams section:last-child{background:linear-gradient(170deg,#1a2238,#0f141c)}
.duelx .duel-teams h3{color:#e7c98a!important}
.duelx .duel-vs{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;font:900 26px/1 Impact,sans-serif;font-style:italic;color:#fff;background:radial-gradient(circle at 35% 30%,#e0553f,#7a1d14);box-shadow:0 0 0 4px #0b1118,0 0 0 5px #e0553f88,0 0 28px #e0553f88;animation:chPulse 2.2s ease-in-out infinite}
.duelx .duel-slot{border-radius:4px!important;background:#0b1118cc!important;border:1px solid #2c3d4d}
.duelx .duel-slot.ready{border-color:#7ee08a!important;box-shadow:0 0 12px #7ee08a33}
.duelx .duel-progress{height:26px;border-radius:3px;border-color:#4a3a22}
.duelx .duel-progress i{background:repeating-linear-gradient(135deg,#c9a45a 0 10px,#a8843a 10px 20px)}
.duelx .duel-countdown b{font:800 30px/1 Consolas,monospace;color:#ffe8a8}
.duelx .duel-actions button.primary{background:linear-gradient(#e0553f,#a8322a)!important;color:#fff!important;border:1px solid #5a1712!important;clip-path:none!important;border-radius:4px!important;box-shadow:inset 0 1px 0 #fff4,0 4px 0 #5a1712!important;letter-spacing:3px}
#reward-receipt .rw-head small,#levelup .lv-kicker{display:table!important;margin:14px auto 0!important}
#dialog#dialog .duelx .duel-create button.primary,#dialog#dialog .duelx .duel-actions button.primary{background:linear-gradient(#e0553f,#a8322a)!important;color:#fff!important;border:1px solid #5a1712!important;clip-path:none!important;border-radius:4px!important;box-shadow:inset 0 1px 0 #fff4,0 4px 0 #5a1712!important;letter-spacing:3px;text-shadow:0 1px 0 #0008!important;margin-top:12px}
/* dossier, second pass: a manila folder with a tab, punched holes, mounted photo with an embossed seal, service record, fingerprint */
.dossier{margin-top:34px;padding:30px 30px 24px 52px;background-image:radial-gradient(circle at 78% 82%,#0000 34px,#7a5a2a14 35px 38px,#0000 40px),linear-gradient(#0000 49.7%,#2b261a12 50%,#0000 50.6%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .32 0 0 0 0 .18 0 0 0 .24 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(100deg,#ecdfb8,#dbc998 70%,#cdb986);box-shadow:inset 0 0 60px #8a6a2a33,inset 22px 0 18px -18px #0003,0 0 0 1px #8a7a52,5px 5px 0 -1px #f3ecd6,5px 5px 0 0 #8a7a52,10px 10px 0 -1px #e6dab6,10px 10px 0 0 #8a7a52,0 22px 40px #000b}
.dos-tab{position:absolute;left:36px;top:-27px;padding:6px 26px 5px 16px;background:linear-gradient(#e6d8ae,#dbc998);border:1px solid #8a7a52;border-bottom:0;border-radius:8px 14px 0 0;font:800 12px/1.2 'Courier New',Consolas,monospace;letter-spacing:2px;color:#2b261a}
.dos-tab small{display:block;font:600 11px/1.3 Consolas,monospace;letter-spacing:1.2px;text-transform:uppercase;color:#7a6a45}
.dos-holes{position:absolute;left:16px;top:0;bottom:0;width:16px;background:radial-gradient(circle at 8px 8px,#0b1320 0 6px,#5a4a2a 6.5px 7.5px,#0000 8px) 0 22%/16px 46% repeat-y;filter:drop-shadow(0 1px 0 #fff8)}
.dos-ring{position:absolute;right:120px;bottom:28px;width:74px;height:74px;border-radius:50%;border:5px solid #6b4a1e22;box-shadow:inset 0 0 0 2px #6b4a1e12;transform:scale(1.25,1);pointer-events:none}
.dos-clip{left:66px}
.dos-photo{border:8px solid #f8f4e6;border-bottom-width:30px;box-shadow:0 1px 0 #cfc5a8,0 4px 10px #0009,inset 0 0 0 1px #0005;overflow:visible!important;height:240px}
.dos-photo::before,.dos-photo::after{content:'';position:absolute;width:26px;height:26px;background:linear-gradient(135deg,#2b261a 50%,#0000 50%);opacity:.85;z-index:2}
.dos-photo::before{left:-12px;top:-12px}.dos-photo::after{right:-12px;bottom:-34px;transform:rotate(180deg)}
.dos-photo img,.dos-photo canvas{filter:sepia(.28) contrast(1.08) saturate(.85)}
.dos-photo em{bottom:-26px;background:none;font-size:11px}
.dos-seal{position:absolute;right:-30px;bottom:-6px;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;border:2px solid #7a1d1877;box-shadow:inset 0 0 0 5px #0000,inset 0 0 0 6px #7a1d1855,inset 0 0 0 14px #0000,inset 0 0 0 15px #7a1d1844;background:radial-gradient(circle,#7a1d1810,#0000 70%);transform:rotate(-14deg);z-index:3;mix-blend-mode:multiply}
.dossier.west .dos-seal{border-color:#1f4a8a77;box-shadow:inset 0 0 0 6px #1f4a8a55,inset 0 0 0 15px #1f4a8a44}
.dos-seal b{font:900 20px/1 'Bahnschrift SemiCondensed',Impact,sans-serif;letter-spacing:1px;color:#7a1d18aa}.dossier.west .dos-seal b{color:#1f4a8aaa}
.dos-head h2{font-family:'Courier New',Consolas,monospace!important;font-size:30px!important;letter-spacing:4px!important;color:#22201a!important;text-shadow:.6px 0 0 #22201a88!important}
.dos-fields dd{text-shadow:.4px 0 0 #1f2b4666}
.dos-record{width:100%;margin:10px 0 6px;border-collapse:collapse;font-family:'Courier New',Consolas,monospace;color:#22201a}
.dos-record caption{caption-side:top;text-align:left;font:700 11px/1.6 Consolas,monospace;letter-spacing:1.6px;text-transform:uppercase;color:#7a6a45}
.dos-record th,.dos-record td{border:1px solid #2b261a88;padding:4px 8px;text-align:center}
.dos-record th{font:700 11px/1.3 Consolas,monospace;letter-spacing:1px;text-transform:uppercase;background:#2b261a10}
.dos-record td{font:700 16px/1.2 'Courier New',monospace}
.dos-note{margin:10px 0 12px;padding:6px 10px 8px;background:repeating-linear-gradient(#0000 0 21px,#2b261a33 21px 22px);background-position:0 16px}
.dos-note small{font:700 11px/1.4 Consolas,monospace;letter-spacing:1.6px;text-transform:uppercase;color:#7a6a45}
.dos-note .dos-bio{margin:0!important;font:italic 15px/22px 'Segoe Script','Bradley Hand',Georgia,cursive!important;color:#1c2f6b!important}
.dos-thumb{display:grid;justify-items:center;gap:2px;padding:4px 6px;border:1px solid #2b261a66}
.dos-print{width:40px;height:50px;color:#3a2a6a;opacity:.7;transform:rotate(8deg)}
.dos-thumb small{font:700 11px/1 Consolas,monospace;letter-spacing:1px;text-transform:uppercase;color:#7a6a45}
.dos-foot{align-items:center;gap:18px}.dos-foot .dos-sign{margin-left:auto}
.dos-stamp{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3.2 2.4'/%3E%3C/filter%3E%3Crect width='120' height='60' filter='url(%23n)'/%3E%3C/svg%3E")}
@media(max-width:760px){.dossier{padding:26px 16px 20px 34px}.dos-seal{right:-14px}}
/* ── Vest and belt: separate boards ── */
.vestx{position:relative;margin:2px 0 4px;padding:26px 16px 10px;border-radius:26px 26px 10px 10px;background:repeating-linear-gradient(0deg,#0000 0 9px,#0002 9px 10px),linear-gradient(#4f5a3c,#39422c);border:1px solid #1d2412;box-shadow:inset 0 2px 0 #ffffff18,inset 0 -6px 14px #0006,0 5px 12px #0007}
.vestx::before{content:'';position:absolute;left:50%;top:0;width:64px;height:26px;margin-left:-32px;border-radius:0 0 32px 32px;background:#0c1622;box-shadow:inset 0 -2px 0 #1d2412}
.vestx::after{content:'';position:absolute;left:50%;top:26px;bottom:22px;width:0;border-left:2px dashed #1d241288}
.vestx-strap{position:absolute;top:-8px;width:34px;height:36px;border-radius:8px 8px 0 0;background:linear-gradient(#59653f,#434d31);border:1px solid #1d2412;border-bottom:0}
.vestx-strap.l{left:22%}.vestx-strap.r{right:22%}
.vestx-cells{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:7px}
.vestx-cells .inventory-cell,.vestx-free{aspect-ratio:1;min-width:0;width:auto;height:auto;padding:2px!important;border-radius:5px 5px 9px 9px!important;border:1px solid #1d2412!important;background:linear-gradient(#5b6744,#434d31)!important;box-shadow:inset 0 0 0 2px #0000,inset 0 0 0 3px #1d241255,inset 0 3px 0 #ffffff14,0 2px 3px #0006!important;clip-path:none!important}
.vestx-cells .inventory-cell .icon{width:100%!important;height:100%!important}.vestx-cells .cell-label,.pouchx .cell-label{display:none}
.vestx-free{display:grid;place-items:center;color:#d9dfc588;font-size:16px;border-style:dashed!important;background:#00000030!important}
.vestx>small{display:block;position:relative;z-index:1;margin-top:8px;text-align:center;font:700 11px/1 Consolas,monospace;letter-spacing:1.5px;text-transform:uppercase;color:#d9dfc5aa}
.pouchx{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;padding:8px;border-radius:8px;border:1px dashed #6f7d4a;background:#0000002a}
.pouchx .inventory-cell{aspect-ratio:1;min-width:0;width:auto;height:auto;padding:2px!important}.pouchx .inventory-cell .icon{width:100%!important;height:100%!important}

/* ── After-action report (battle result) ── */
.aar-head{position:relative;display:flex;align-items:center;gap:18px;margin:14px 0 12px;padding:18px 22px;border-radius:4px;color:#7ee08a;background:repeating-linear-gradient(115deg,#ffffff05 0 2px,#0000 2px 14px),linear-gradient(100deg,#12301f,#111c22 55%,#0d1620);box-shadow:inset 0 0 0 1px #7ee08a55,inset 0 -34px 50px -34px #000,0 10px 24px #0008;overflow:hidden}
.aar-head.lost{color:#ff8a7a;background:repeating-linear-gradient(115deg,#ffffff05 0 2px,#0000 2px 14px),linear-gradient(100deg,#3a1512,#1a1418 55%,#0d1620);box-shadow:inset 0 0 0 1px #ff8a7a55,inset 0 -34px 50px -34px #000,0 10px 24px #0008}
.aar-head.draw{color:#e7c98a}
.aar-head::after{content:'';position:absolute;left:0;right:0;bottom:0;height:5px;background:repeating-linear-gradient(135deg,currentColor 0 12px,#0b1118 12px 24px);opacity:.8}
.aar-head svg{width:66px;height:66px;flex:none;filter:drop-shadow(0 0 12px currentColor)}
.aar-head .eyebrow{color:#b9c9d4!important;font:700 11px/1.4 Consolas,monospace!important;letter-spacing:2.5px!important}
.aar-head h1{margin:4px 0 0!important;font:800 40px/1 'Bahnschrift SemiCondensed',Impact,sans-serif!important;letter-spacing:6px;text-transform:uppercase;color:#fff!important;text-shadow:0 2px 0 #000,0 0 26px currentColor!important}
.aar-stamp{margin-left:auto;padding:7px 14px;border:3px double currentColor;border-radius:5px;font:900 15px/1 'Bahnschrift SemiCondensed',Impact,sans-serif;font-style:normal;letter-spacing:3px;transform:rotate(-7deg);opacity:.85;white-space:nowrap}
#content:has(.aar-head) .result{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
#content:has(.aar-head) .result>div{padding:12px 14px;border-radius:3px;border:1px solid #6b5522;background:linear-gradient(#3a3018,#221c0d);box-shadow:inset 0 1px 0 #f3dc9844,inset 0 -2px 0 #0008,0 3px 8px #0008;text-align:center}
#content:has(.aar-head) .result strong{display:block;font:800 26px/1.1 Consolas,monospace!important;color:#ffe8a8!important}
#content:has(.aar-head) .result small{color:#c9b47a!important;letter-spacing:1.6px;text-transform:uppercase;font-size:11px}
#content:has(.aar-head) table{width:100%;border-collapse:collapse;font-family:'Courier New',Consolas,monospace;background:#0b1118aa}
#content:has(.aar-head) table th{font:700 11px/1.4 Consolas,monospace;letter-spacing:1.4px;text-transform:uppercase;color:#9fb4c2;border-bottom:2px solid #33465a;padding:6px 8px}
#content:has(.aar-head) table td{padding:6px 8px;border-bottom:1px dashed #33465a}
#content:has(.aar-head) h3{font:800 13px/1 'Bahnschrift SemiCondensed','Segoe UI',sans-serif!important;letter-spacing:3px;text-transform:uppercase;color:#e7c98a!important;padding-bottom:6px;border-bottom:1px solid #4a3a22;margin-top:16px}
/* ── Shared realism layer for the menu panels: gunmetal, stencil, riveted plates ── */
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content{background-image:repeating-linear-gradient(90deg,#ffffff04 0 1px,#0000 1px 3px),radial-gradient(120% 60% at 50% 0,#22303f55,#0000 70%)}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content>h2,#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content>h1,#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content h2:first-of-type{font-family:'Bahnschrift SemiCondensed','Segoe UI',sans-serif!important;letter-spacing:3px!important;text-transform:uppercase;padding-bottom:10px;background:linear-gradient(90deg,#c9a45a,#c9a45a00 60%) 0 100%/100% 2px no-repeat}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content .eyebrow{font-family:Consolas,monospace!important;letter-spacing:3px!important}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content h3{font-family:'Bahnschrift SemiCondensed','Segoe UI',sans-serif!important;letter-spacing:2.5px!important;text-transform:uppercase}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content :is(.ch-card,.settings-card,.rk-card,.vip-card,.friend-card,.sx-card,.rep-card,.offer-card,section.card){position:relative;border-radius:4px!important;border:1px solid #2c3d4d!important;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 4px),linear-gradient(170deg,#1a2632,#0f1720)!important;box-shadow:inset 0 1px 0 #ffffff14,inset 0 -2px 0 #0007,0 6px 16px #0007!important}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content :is(.ch-card,.settings-card,.rk-card,.vip-card)::before{content:'';position:absolute;inset:6px;pointer-events:none;background:radial-gradient(circle at 4px 4px,#8e9aa3 0 2px,#2a333b 2.4px 3.4px,#0000 4px),radial-gradient(circle at calc(100% - 4px) 4px,#8e9aa3 0 2px,#2a333b 2.4px 3.4px,#0000 4px),radial-gradient(circle at 4px calc(100% - 4px),#8e9aa3 0 2px,#2a333b 2.4px 3.4px,#0000 4px),radial-gradient(circle at calc(100% - 4px) calc(100% - 4px),#8e9aa3 0 2px,#2a333b 2.4px 3.4px,#0000 4px)}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content .row{border-bottom:1px dashed #33465a!important}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content .row small{font-family:Consolas,monospace;letter-spacing:.2px}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content input,#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content select,#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content textarea{border-radius:2px!important;background:#070c12!important;border:1px solid #33465a!important;box-shadow:inset 0 2px 6px #000a!important;font-family:'Courier New',Consolas,monospace}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content .notice{border-radius:2px!important;border-left:4px solid #c9a45a!important;background:repeating-linear-gradient(135deg,#c9a45a14 0 10px,#0000 10px 20px),#1a1408aa!important}

#dialog[data-panel="vip"] #content h2:first-of-type{background-image:linear-gradient(90deg,#f0c24a,#f0c24a00 60%)}
#dialog[data-panel="quests"] #content .quest-list>*{border-left:4px solid #c9a45a!important;border-radius:2px!important;background:linear-gradient(100deg,#231d10,#10161f 55%)!important}
#dialog[data-panel="rankings"] #content .rk-row:nth-child(-n+3){box-shadow:inset 3px 0 0 #c9a45a}
#dialog[data-panel="settings"] #content .settings-card h3{color:#9fd0e8!important}

/* level number on the avatar: crisp, no glow */
#portrait[data-level]::after{font:800 13px/1 'Segoe UI',Arial,sans-serif!important;letter-spacing:0!important;color:#fff6d6!important;text-shadow:0 1px 0 #000!important;background:#0b1118!important;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;font-variant-numeric:tabular-nums}
/* ── Vest and belt, second pass: plate carrier with MOLLE webbing, pouches with flaps, belt with a buckle ── */
.vestx{padding:34px 18px 14px;border-radius:30px 30px 12px 12px;background:repeating-linear-gradient(0deg,#0000 0 12px,#1d241266 12px 13px,#6b77501f 13px 20px,#1d241266 20px 21px),repeating-linear-gradient(90deg,#0000 0 17px,#1d241244 17px 18px),radial-gradient(120% 90% at 50% 0,#5c6845,#3b4530 70%,#2c3423);border:2px solid #1a2010;box-shadow:inset 0 3px 0 #ffffff1c,inset 0 -10px 18px #0007,inset 0 0 0 4px #2c342355,0 8px 18px #0009}
.vestx::before{width:84px;height:34px;margin-left:-42px;border-radius:0 0 42px 42px;background:#0c1622;box-shadow:inset 0 -3px 0 #1a2010,0 2px 0 #6b775044}
.vestx::after{top:38px;bottom:30px;border-left:3px solid #1a201099;box-shadow:2px 0 0 #6b775033}
.vestx-strap{top:-12px;width:42px;height:48px;border-radius:10px 10px 0 0;border:2px solid #1a2010;border-bottom:0;background:repeating-linear-gradient(0deg,#0000 0 5px,#1d241255 5px 6px),linear-gradient(#66724b,#48523a)}
.vestx-strap::after{content:'';position:absolute;left:6px;right:6px;bottom:8px;height:9px;border-radius:2px;background:linear-gradient(#2a2c2f,#0f1012);box-shadow:inset 0 0 0 1.5px #5c6166}
.vestx-strap.l{left:18%}.vestx-strap.r{right:18%}
.vestx-cells{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:9px 8px;padding-top:4px}
.vestx-cells .inventory-cell,.vestx-free{position:relative;aspect-ratio:1/1.12;border-radius:4px 4px 10px 10px!important;border:1.5px solid #1a2010!important;background:linear-gradient(#56613f 0 26%,#4a5437 26% 100%)!important;box-shadow:inset 0 0 0 3px #0000,inset 0 0 0 4px #1a201033,inset 0 2px 0 #ffffff1f,0 3px 4px #0008!important;overflow:hidden}
.vestx-cells .inventory-cell::before,.vestx-free::before{content:'';position:absolute;left:0;right:0;top:0;height:26%;background:linear-gradient(#69754e,#535e3d);border-bottom:1.5px solid #1a2010;box-shadow:0 2px 3px #0005;z-index:2;pointer-events:none}
.vestx-cells .inventory-cell::after,.vestx-free::after{content:'';position:absolute;left:50%;top:15%;width:12px;height:7px;margin-left:-6px;border-radius:2px;background:linear-gradient(#2a2c2f,#101113);box-shadow:inset 0 0 0 1px #62676c;z-index:3;pointer-events:none}
.vestx-cells .inventory-cell .icon{position:relative;z-index:1;margin-top:18%!important;height:82%!important;background-color:transparent!important;box-shadow:none!important}
.vestx-cells .inventory-cell .icon.field-icon{background:none!important}
.vestx-free{color:#e3e9cf55;font-size:15px;padding-top:22%!important;border-style:solid!important;filter:brightness(.72) saturate(.7)}
.vestx>small{margin-top:10px;color:#e3e9cf99}
.beltx-strap{position:relative;padding:12px 14px!important;border-radius:6px!important;background:repeating-linear-gradient(90deg,#0000 0 21px,#1d241255 21px 22px),repeating-linear-gradient(0deg,#0000 0 4px,#00000018 4px 5px),linear-gradient(#58633f,#3f4930)!important;border:2px solid #1a2010!important;box-shadow:inset 0 2px 0 #ffffff1f,inset 0 -4px 0 #0005,0 6px 12px #0008!important}
.beltx-strap::before{left:0!important;right:0!important;top:6px!important;height:0;border-top:1.5px dashed #1a201088!important;opacity:1!important}
.beltx-strap::after{content:'';position:absolute;right:-9px;top:50%;width:26px;height:40px;margin-top:-20px;border-radius:5px;background:linear-gradient(#34373b,#121315);box-shadow:inset 0 0 0 2px #6a6f75,inset 0 0 0 6px #1b1c1f,inset 0 0 0 7px #4a4e53,2px 2px 4px #0008;pointer-events:none}
.beltx-strap .inventory-cell,.beltx-free{border-radius:5px 5px 9px 9px!important;border:1.5px solid #1a2010!important;background:linear-gradient(#4f5a3a,#3b442c)!important;box-shadow:inset 0 2px 0 #ffffff1c,0 3px 4px #0008!important}
.beltx-strap .inventory-cell .icon.field-icon,.pouchx .inventory-cell .icon.field-icon{background:none!important;box-shadow:none!important}
.beltx-free{border-style:dashed!important;background:#0000003a!important}
.pouchx{border:1.5px dashed #6f7d4a;border-radius:8px;background:repeating-linear-gradient(135deg,#6f7d4a14 0 8px,#0000 8px 16px),#0000002a}
/* ── Menu panels, second pass: cleaner, more modern — soft depth, gradient edges, accent bars, segmented tabs ── */
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content{background-image:radial-gradient(90% 50% at 15% 0,#2b6f8f22,#0000 70%),radial-gradient(70% 40% at 100% 10%,#c9a45a14,#0000 70%)}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content>h2,#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content>h1,#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content h2:first-of-type{position:relative;padding:0 0 0 16px!important;background:none!important;font-weight:800!important;letter-spacing:2px!important;font-size:clamp(20px,2vw,26px)}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content>h2::before,#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content>h1::before,#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content h2:first-of-type::before{content:'';position:absolute;left:0;top:.08em;bottom:.08em;width:5px;border-radius:3px;background:linear-gradient(#f3dc98,#c9a45a 60%,#6fd0ee)}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content h3{display:flex;align-items:center;gap:10px;font-size:13px!important;color:#cfe3ee!important}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content h3::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,#6fd0ee55,#0000)}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content :is(.ch-card,.settings-card,.rk-card,.vip-card,.friend-card,.sx-card,.rep-card,.offer-card,section.card){border-radius:14px!important;border:1px solid #0000!important;background:linear-gradient(165deg,#1b2835f2,#0f1721f2) padding-box,linear-gradient(140deg,#6fd0ee66,#2c3d4d55 35%,#c9a45a55) border-box!important;box-shadow:0 1px 0 #ffffff14 inset,0 10px 26px #0008!important;transition:transform .18s,box-shadow .18s}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content :is(.rk-card,.friend-card,.rep-card,.offer-card,.sx-card):hover{transform:translateY(-2px);box-shadow:0 1px 0 #ffffff20 inset,0 16px 32px #000a!important}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content :is(.ch-card,.settings-card,.rk-card,.vip-card)::before{content:none}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content .section-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:#070c12cc;box-shadow:inset 0 0 0 1px #2c3d4d}
#dialog#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content .section-tabs>button{clip-path:none!important;border-radius:9px!important;border:0!important;background:none!important;box-shadow:none!important;color:#a9bfcc!important;padding:9px 16px!important;letter-spacing:1px}
#dialog#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content .section-tabs>button:is(.active,[aria-pressed="true"],:hover){background:linear-gradient(#27394b,#1a2836)!important;color:#fff!important;box-shadow:inset 0 1px 0 #ffffff22,0 2px 6px #0008!important}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content .row{padding:11px 4px!important;border-bottom:1px solid #ffffff10!important}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content input,#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content select,#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content textarea{border-radius:10px!important;background:#070c12cc!important;border:1px solid #2c3d4d!important;padding:11px 13px!important;transition:border-color .15s,box-shadow .15s}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content :is(input,select,textarea):focus{outline:0;border-color:#6fd0ee!important;box-shadow:0 0 0 3px #6fd0ee33!important}
#dialog:is([data-panel="character"],[data-panel="quests"],[data-panel="rewards"],[data-panel="division"],[data-panel="rankings"],[data-panel="friends"],[data-panel="crypto"],[data-panel="vip"],[data-panel="settings"],[data-panel="reports"],[data-panel="season"]) #content .notice{border-radius:10px!important;border:1px solid #c9a45a55!important;border-left:4px solid #c9a45a!important;background:#1a1408cc!important}
#dialog[data-panel="quests"] #content .quest-list>*{border-radius:12px!important;border:1px solid #0000!important;border-left:4px solid #c9a45a!important;background:linear-gradient(100deg,#231d10f2,#10161ff2 55%) padding-box,linear-gradient(140deg,#c9a45a66,#2c3d4d55) border-box!important}
#dialog #content div h2:first-of-type::before{content:none!important}#dialog #content div h2:first-of-type{padding-left:0!important}
/* ── Market: a stall row under an awning, price tags, kraft paper ── */
.mkt{--mk-a:#e9b44c;--mk-r:#c8553d;display:grid;gap:16px}
.mkt-head{position:relative;display:flex;align-items:flex-end;gap:16px;padding:46px 22px 18px;border-radius:14px;overflow:hidden;background:radial-gradient(120% 120% at 20% 100%,#3a2a16,#1a1410 60%,#0f141b);box-shadow:inset 0 0 0 1px #e9b44c44,0 12px 28px #0009}
.mkt-awning{position:absolute;left:0;right:0;top:0;height:34px;background:repeating-linear-gradient(90deg,var(--mk-r) 0 34px,#f1e6cc 34px 68px);box-shadow:0 4px 8px #0008;-webkit-mask-image:radial-gradient(17px 12px at 17px 100%,#0000 98%,#000) ;-webkit-mask-size:34px 100%;mask-image:radial-gradient(17px 12px at 17px 100%,#0000 98%,#000);mask-size:34px 100%}
.mkt-head small{display:block;font:700 11px/1 Consolas,monospace;letter-spacing:3px;color:var(--mk-a)}
.mkt-head b{display:block;margin:6px 0 4px;font:800 30px/1 'Bahnschrift SemiCondensed','Segoe UI',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#fff7e6;text-shadow:0 2px 0 #000}
.mkt-head span{font-size:13px;color:#cfc1a6}
.mkt-wallet{margin-left:auto;padding:10px 16px;border-radius:10px;background:#0b1118cc;border:1px solid #e9b44c66;font:800 20px/1.1 Consolas,monospace;font-style:normal;color:#ffe8a8;text-align:right;white-space:nowrap}
.mkt-wallet small{font:700 11px/1.4 Consolas,monospace;letter-spacing:2px;text-transform:uppercase;color:#a99a7a}
.mkt-stall{padding:16px 18px;border-radius:14px;background:linear-gradient(165deg,#221c14f2,#12161df2) padding-box,linear-gradient(140deg,#e9b44c66,#2c3d4d55) border-box;border:1px solid #0000;box-shadow:0 10px 26px #0008}
.mkt-stall h3{display:flex;align-items:baseline;gap:10px;margin:0 0 12px!important;color:#ffe8a8!important}.mkt-stall h3 small{font:600 11px/1 Consolas,monospace;color:#a99a7a;letter-spacing:1px}
.mkt-sell{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr) auto;gap:12px;align-items:end}
.mkt-sell label{display:grid;gap:5px;font:700 11px/1 Consolas,monospace;letter-spacing:1.5px;text-transform:uppercase;color:#a99a7a}
.mkt-sell :is(select,input){border-radius:10px!important;background:#070c12cc!important;border:1px solid #4a3a22!important;padding:11px 13px!important;color:#fff!important}
.mkt-note{display:block;margin-top:10px;color:#a99a7a;font-size:12px;line-height:1.4}
.mkt-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}
.mkt-bar label{display:flex;align-items:center;gap:8px;font-size:12px;color:#a9bfcc}
.mkt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:16px}.mkt-grid.mine{margin-top:16px}
.mkt-lot{position:relative;display:grid;gap:7px;padding:16px 14px 14px;border-radius:6px 6px 12px 12px;color:#2b261a;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .3 0 0 0 0 .16 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(#e6d3a6,#d2bb88);box-shadow:0 1px 0 #fff6 inset,0 10px 20px #0009;transition:transform .16s,box-shadow .16s}
.mkt-lot:nth-child(3n+1){transform:rotate(-.6deg)}.mkt-lot:nth-child(3n){transform:rotate(.7deg)}
.mkt-lot:hover{transform:translateY(-4px) rotate(0);box-shadow:0 1px 0 #fff6 inset,0 18px 30px #000b}
.mkt-lot.own{background-image:linear-gradient(#dfe6d2,#c2cfae)}
.mkt-lot.focus{outline:3px solid var(--mk-a);outline-offset:3px;animation:chPulse 1.4s ease-in-out 3}
.mkt-pin{position:absolute;left:50%;top:-7px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff8a7a,#a8322a);box-shadow:0 3px 4px #0008}
.mkt-photo{display:grid;place-items:center;height:104px;border-radius:6px;background:radial-gradient(120% 100% at 50% 20%,#24364f,#0c1528);box-shadow:inset 0 0 0 1px #0006,inset 0 6px 14px #0008;overflow:hidden}
.mkt-photo .icon{width:100%!important;height:100%!important;margin:0!important;border-radius:0}
.mkt-lot .item-stamp,.mkt-lot .item-tier{display:none!important}
.mkt-lot>b{font:800 15px/1.2 'Segoe UI',sans-serif;color:#22201a}
.mkt-meta{font:600 11px/1.3 Consolas,monospace;color:#6b5d3c}
.mkt-tag{position:relative;justify-self:start;margin:2px 0 2px -22px;padding:7px 14px 7px 26px;background:linear-gradient(#f6e27a,#e9b44c);color:#2a1c05;clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 50%);filter:drop-shadow(0 3px 3px #0006)}
.mkt-tag::before{content:'';position:absolute;left:12px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#2a1c05}
.mkt-tag span{display:block;font:900 18px/1 Consolas,monospace}.mkt-tag small{display:block;font:700 11px/1.3 Consolas,monospace;color:#5a4416}.mkt-tag small.bad{color:#8a1d14}
.mkt-actions{display:flex;gap:6px}
#dialog#dialog .mkt-actions button,#dialog#dialog .mkt-share button{flex:1;clip-path:none!important;border-radius:8px!important;border:1px solid #2b261a!important;background:#2b261a!important;color:#f3ead0!important;padding:9px 8px!important;font-size:12.5px!important;box-shadow:0 2px 0 #0006!important;text-shadow:none!important}
#dialog#dialog .mkt-actions button.primary,#dialog#dialog .mkt-share button.primary,#dialog#dialog .mkt-sell button.primary{background:linear-gradient(#3f8f5a,#2a6a40)!important;border-color:#14351f!important;color:#fff!important;clip-path:none!important;border-radius:10px!important;box-shadow:inset 0 1px 0 #fff4,0 3px 0 #14351f!important}
#dialog#dialog .mkt-actions button:disabled{opacity:.45}
.mkt-share{display:grid;gap:6px;padding-top:8px;border-top:1px dashed #2b261a66}
.mkt-share :is(select,input){border-radius:8px!important;background:#fff8e6!important;color:#22201a!important;border:1px solid #8a7a52!important;padding:7px 9px!important}
.mkt-empty{grid-column:1/-1;padding:26px;text-align:center;color:#a9bfcc;border:1px dashed #33465a;border-radius:12px}
.chat-lot{border-color:#e9b44c!important;background:#3a2a10!important;color:#ffe8a8!important}
@media(max-width:760px){.mkt-sell{grid-template-columns:1fr}.mkt-head{flex-wrap:wrap}.mkt-wallet{margin-left:0}}

/* ── Магазин крипты: витрина наборов и ящиков ── */
.cs-hero{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:18px;padding:18px 20px;border-radius:14px;background:linear-gradient(135deg,#1b2026 0%,#12161b 60%,#0d1014 100%);border:1px solid #3a4350;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 28px rgba(0,0,0,.45);position:relative;overflow:hidden}
.cs-hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.018) 0 2px,transparent 2px 9px);pointer-events:none}
.cs-balance{display:flex;flex-direction:column;justify-content:center;gap:4px;padding-right:18px;border-right:1px solid #2c343f}
.cs-balance b{font:800 40px/1 "Bahnschrift","Segoe UI",sans-serif;letter-spacing:.02em;color:#e9c36a;text-shadow:0 0 18px rgba(233,195,106,.25)}
.cs-balance small{color:#9aa7b5;font-size:13px}
.cs-exchange p{margin:0 0 10px;color:#aeb9c6;font-size:13px;line-height:1.45}
.cs-exchange-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cs-exchange-row input{width:96px;padding:9px 10px;border-radius:8px;border:1px solid #445062;background:#0c0f13;color:#f0f3f6;font-weight:700}
.cs-title{margin:26px 0 12px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cs-title small{color:#8794a3;font-weight:500;font-size:13px}
.cs-sets{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.cs-set{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 16px 14px;border-radius:14px;background:linear-gradient(180deg,#232a32 0%,#161b21 100%);border:1px solid #47515f;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 22px rgba(0,0,0,.4);transition:transform .18s,border-color .18s,box-shadow .18s}
.cs-set::after{content:"";position:absolute;left:14px;right:14px;top:0;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#8a6a2c,#e9c36a,#8a6a2c)}
.cs-set:hover{transform:translateY(-3px);border-color:#c9a552;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 14px 30px rgba(0,0,0,.5),0 0 0 1px rgba(233,195,106,.18)}
.cs-set.own{opacity:.62}
.cs-set-art{height:96px;display:grid;place-items:center;border-radius:10px;background:radial-gradient(ellipse at 50% 60%,#39434f 0%,#1a1f25 70%);border:1px solid #2f3742;margin-bottom:4px}
.cs-set h4{margin:0;font-size:16px;color:#f2f4f6}
.cs-set-gun{color:#e9c36a;font-size:13px;font-weight:700}
.cs-set ul{margin:4px 0 2px;padding-left:16px;color:#aeb9c6;font-size:12.5px;line-height:1.5}
.cs-strip{display:flex;flex-wrap:wrap;gap:4px;padding:6px;border-radius:8px;background:#0e1216;border:1px dashed #333c47;min-height:40px}
#dialog#dialog .cs-set button.primary{margin-top:auto;padding:11px 12px;border-radius:9px;font-weight:800;letter-spacing:.03em;background:linear-gradient(180deg,#e9c36a,#b88a2e)!important;color:#1b1407!important;border:1px solid #f3d893!important;box-shadow:0 4px 12px rgba(184,138,46,.35)}
#dialog#dialog .cs-set button.primary:disabled{background:#2b323b!important;color:#7d8996!important;border-color:#3a434f!important;box-shadow:none}
.cs-crates{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.cs-crate{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:12px;background:linear-gradient(180deg,#2a2620 0%,#1a1713 100%);border:1px solid #57493a;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 6px 16px rgba(0,0,0,.4)}
.cs-crate-art{height:72px;display:grid;place-items:center;border-radius:8px;background:repeating-linear-gradient(90deg,#3a3126 0 22px,#33291f 22px 24px);border:1px solid #4b3f31}
.cs-crate h4{margin:2px 0 0;font-size:14.5px;color:#f1ece3}
.cs-crate small{color:#b3a794;font-size:12px;line-height:1.4}
.cs-crate-buy{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
#dialog#dialog .cs-crate-buy button{padding:9px 6px;border-radius:8px;font-weight:800}
@media(max-width:640px){.cs-hero{grid-template-columns:1fr}.cs-balance{border-right:0;border-bottom:1px solid #2c343f;padding:0 0 12px}.cs-balance b{font-size:32px}.cs-sets{grid-template-columns:1fr}.cs-crates{grid-template-columns:1fr 1fr}.cs-crate-buy{grid-template-columns:1fr}}
.cs-set-art .icon{width:86px!important;height:86px!important;margin:0!important;flex:none}
.cs-strip .icon{width:38px!important;height:38px!important;margin:0!important;flex:none}
.cs-crate-art .icon{width:62px!important;height:62px!important;margin:0!important;flex:none}
.cs-set .item-stamp,.cs-crate .item-stamp{display:none!important}
.cs-strip{align-items:center}

/* ── Наборы: готовые картинки ── */
.cs-set-art{height:132px}
.cs-set-art img{max-width:96%;max-height:124px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.55))}
.icon.art-icon{background-color:transparent!important;background-size:contain!important;background-position:center!important}
.cs-crate-art .icon{width:78px!important;height:68px!important}
/* ── Разборка в мастерской ── */
.salvage-block{margin-top:26px;padding:16px;border-radius:12px;background:linear-gradient(180deg,#23272c,#16191d);border:1px solid #454d57;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.salvage-block header{display:flex;gap:16px;align-items:center;margin-bottom:12px}
.salvage-block header img{width:112px;height:112px;object-fit:contain;flex:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}
.salvage-block header h3{margin:2px 0 6px;color:#f0f2f4}
.salvage-block header p{margin:0;color:#aab4bf;font-size:13px;line-height:1.45}
.salvage-list{display:grid;gap:8px}
.salvage-row{display:grid;grid-template-columns:56px minmax(120px,1.2fr) 2fr auto;gap:12px;align-items:center;padding:8px 10px;border-radius:8px;background:#0f1215;border:1px solid #2c333b}
.salvage-row>.icon{width:52px!important;height:52px!important;margin:0!important}
.salvage-row b{display:block;color:#e8ecef;font-size:14px}.salvage-row small{color:#8b96a2}
.salvage-out{display:flex;flex-wrap:wrap;gap:6px}
.salvage-out span{display:flex;align-items:center;gap:3px;padding:2px 6px 2px 2px;border-radius:6px;background:#1b2026;border:1px solid #333b45}
.salvage-out .icon{width:30px!important;height:30px!important;margin:0!important}
.salvage-out i{font-style:normal;font-weight:800;color:#e9c36a;font-size:12px}
.salvage-block .item-stamp,.gray-trader .item-stamp{display:none!important}
/* ── Нейтральная лавка Серой зоны ── */
.gray-trader{margin-top:14px;padding:16px;border-radius:12px;border:1px solid #5a5140;background:linear-gradient(180deg,#2b271f,#191610);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 20px rgba(0,0,0,.4)}
.gray-trader.ambush{border-color:#a8442f;background:linear-gradient(180deg,#3a1d17,#1c0f0c)}
.gray-trader.road{border-style:dashed}
.gray-trader header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.gray-trader h3{margin:2px 0 6px;color:#f3ead8}.gray-trader p{margin:0 0 10px;color:#c2b8a3;font-size:13px;line-height:1.45}
.gt-money{white-space:nowrap;padding:6px 12px;border-radius:8px;background:#0f0d09;border:1px solid #6b5a36;color:#e9c36a;font-size:15px}
.gt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:8px 0 14px}
.gt-lot{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border-radius:10px;background:#12100c;border:1px solid #3f3829;text-align:center}
.gt-lot .icon{width:64px!important;height:64px!important;margin:0!important}
.gt-lot b{font-size:12.5px;color:#efe7d6;line-height:1.25;min-height:32px}.gt-lot small{color:#978c77;font-size:11.5px}
.gt-lot.sold{opacity:.5}
#dialog#dialog .gt-lot button{width:100%;margin-top:auto;padding:7px 4px;font-weight:800}
@media(max-width:640px){.salvage-row{grid-template-columns:48px 1fr auto}.salvage-out{grid-column:1/-1}.gray-trader header{flex-direction:column}}

/* ── Админ-панель: фильтры пользователей ── */
.admin-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:8px 0 12px;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1)}
.admin-filters label{display:flex;flex-direction:column;gap:3px;font-size:12px;margin:0}
.admin-filters label.chk{flex-direction:row;align-items:center;gap:6px;padding-bottom:8px}
.admin-filters input[type=date],.admin-filters input[type=search],.admin-filters select{padding:6px 8px;min-width:130px}
.admin-users tr.dup-ip td{background:rgba(233,150,60,.09)}
.admin-users .dup-mark{color:#f0a04a;font-size:11px}
.admin-users td button{padding:4px 8px;font-size:11px;white-space:nowrap}

.salvage-block>header{display:flex!important;flex-direction:row!important;align-items:center!important;padding:0!important;background:none!important;border:0!important}
.salvage-out span{padding:4px 9px;font-size:12px;color:#d5dbe1}
.cs-crate-art{height:104px}
.cs-crate-art .icon{width:104px!important;height:96px!important}

.salvage-head{display:flex;gap:16px;align-items:center;margin-bottom:12px}
.salvage-head img{width:112px;height:112px;object-fit:contain;flex:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}
.salvage-head h3{margin:2px 0 6px;color:#f0f2f4}.salvage-head p{margin:0;color:#aab4bf;font-size:13px;line-height:1.45}

/* ── Центр БПЛА: занятия и лавка ── */
.uav-courses,.uav-shop{margin-top:22px}
.uav-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:10px}
.uav-course{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:linear-gradient(180deg,#1c2630,#10161c);border:1px solid #3b4a5a;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.uav-course img{height:110px;object-fit:contain;margin-bottom:4px;filter:drop-shadow(0 8px 8px rgba(0,0,0,.55))}
.uav-course b{color:#eef3f7;font-size:14px;line-height:1.25}.uav-course small{color:#93a2b1;font-size:12px;line-height:1.35}
.uav-course small.missing{color:#e08a6a}
.uav-course.known{border-color:#4f8a5d}
#dialog#dialog .uav-course button{margin-top:auto;padding:8px 6px;font-weight:800}

/* Блокнот привлекает внимание после обучения */
@keyframes nbPulse{0%,100%{box-shadow:0 0 0 0 rgba(233,195,106,0),0 10px 24px rgba(0,0,0,.5)}50%{box-shadow:0 0 0 7px rgba(233,195,106,.55),0 10px 24px rgba(0,0,0,.5)}}
#notebook.nb-pulse{animation:nbPulse 1.1s ease-in-out 8}

/* ── Бой на телефоне: действия в один столбец, все значки видны ── */
body.phone.in-battle #actions{width:100%}
body.phone.in-battle #actions .action-group>div,body.phone.in-battle #actions .field-actions>div{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}
body.phone.in-battle #actions button{width:100%!important;min-width:0!important;min-height:44px!important;height:auto!important;padding:4px 2px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;font-size:11px!important;line-height:1.1!important;letter-spacing:0!important;word-break:normal!important;overflow-wrap:anywhere!important;hyphens:auto}
body.phone.in-battle #actions .tac-icon{width:20px!important;height:20px!important;flex:none!important;margin:0!important;display:block!important}
body.phone.in-battle #actions button span{display:block;text-align:center;max-width:100%}
body.phone.in-battle #actions button small{display:block;font-size:11px!important;white-space:nowrap;opacity:.85}
body.phone.in-battle #actions h4,body.phone.in-battle #actions summary{font-size:11px!important;letter-spacing:.06em!important;margin:4px 0 2px!important}
body.phone.in-battle .left{scrollbar-width:none;-webkit-overflow-scrolling:touch}
body.phone.in-battle .left::-webkit-scrollbar{display:none}

/* ── Заказы снабжения, объект недели ── */
.mat-orders{margin-top:22px;padding:14px;border-radius:12px;background:rgba(18,22,26,.82);border:1px solid #4a4334}
.mat-orders h3{margin:0 0 4px}.mat-orders p{margin:0 0 10px;color:#b9b2a0;font-size:13px}
.mat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.mat-order{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:9px;background:#0f1215;border:1px solid #2f3640}
.mat-order .icon{width:52px!important;height:52px!important;margin:0!important}.mat-order .item-stamp{display:none!important}
.mat-order b{display:block;color:#eef0f2;font-size:13.5px}.mat-order small{display:block;color:#8d98a4;font-size:12px}
.mat-order .mat-pay{color:#e9c36a}.mat-order.done{opacity:.5}
.weekly-boss{padding:8px 12px;border-radius:8px;border:1px dashed #5d6673;color:#aeb8c3;font-size:13px}
.weekly-boss.here{border:1px solid #c9a552;background:linear-gradient(90deg,rgba(201,165,82,.16),transparent);color:#f0e6cc}

/* ── Серая зона: интерактивная карта ── */
.gz-map{border:1px solid #6d7f86;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),inset 0 0 90px rgba(0,0,0,.75),0 14px 34px rgba(0,0,0,.55);filter:saturate(.92)}
.gz-map::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px),radial-gradient(ellipse at 50% 45%,transparent 45%,rgba(4,10,12,.72) 100%);z-index:4}
.gz-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(150,220,225,.07) 1px,transparent 1px) 0 0/100% 12.5%,linear-gradient(90deg,rgba(150,220,225,.07) 1px,transparent 1px) 0 0/10% 100%;mix-blend-mode:screen}
@keyframes gzFog{from{transform:translateX(-12%)}to{transform:translateX(12%)}}
.gz-fog{position:absolute;inset:-10% -25%;pointer-events:none;opacity:.5;background:radial-gradient(ellipse 28% 16% at 30% 30%,rgba(215,225,225,.42),transparent 70%),radial-gradient(ellipse 34% 14% at 72% 62%,rgba(205,215,215,.34),transparent 70%),radial-gradient(ellipse 22% 12% at 55% 18%,rgba(215,225,225,.3),transparent 70%);animation:gzFog 46s ease-in-out infinite alternate}
.gz-fog.b{opacity:.32;animation-duration:71s;animation-direction:alternate-reverse;transform:scaleY(-1)}
.gz-routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
@keyframes gzDash{to{stroke-dashoffset:-34}}
.gz-road{fill:none;stroke:rgba(214,222,190,.42);stroke-width:2.2;stroke-dasharray:7 10;vector-effect:non-scaling-stroke}
.gz-road.trail{stroke:rgba(233,195,106,.4);stroke-dasharray:3 8}
.gz-road.live{stroke:#f3e4a6;stroke-width:3;animation:gzDash 1.1s linear infinite;filter:drop-shadow(0 0 4px rgba(243,228,166,.7))}
@keyframes gzSafe{0%,100%{transform:translate(-50%,-50%) scale(.92);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.06);opacity:.85}}
.gz-safe{position:absolute;width:15%;aspect-ratio:1;border-radius:50%;border:2px dashed rgba(112,224,150,.8);background:radial-gradient(circle,rgba(70,200,120,.2),transparent 68%);animation:gzSafe 4s ease-in-out infinite;pointer-events:none;z-index:1}
.gz-map .zone-pin{z-index:3;width:44px;height:44px;font-size:21px;transition:transform .15s,box-shadow .15s,border-color .15s;backdrop-filter:blur(2px)}
.gz-map .zone-pin:not(:disabled):hover{transform:translate(-50%,-50%) scale(1.14);border-color:#fff3c0;box-shadow:0 0 0 4px rgba(243,228,166,.25),0 6px 22px #000c}
.gz-map .zone-pin span{position:absolute;left:50%;top:calc(100% + 5px);transform:translateX(-50%);white-space:nowrap;font:700 11px/1.2 "Segoe UI",sans-serif;letter-spacing:.04em;color:#f1f4f2;text-shadow:0 1px 3px #000,0 0 8px #000;pointer-events:none}
.gz-map .zone-pin span i{display:block;font-style:normal;font-weight:500;font-size:11px;color:#c9d6d2;letter-spacing:0}
@keyframes gzSpin{to{transform:rotate(360deg)}}
.gz-map .zone-pin.chosen::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px dashed #f3e4a6;animation:gzSpin 9s linear infinite}
.gz-map .war-pin.vostok{border-color:#e0705c;color:#ffb3a3}.gz-map .war-pin.aurelius{border-color:#5ea6e6;color:#b6dcff}
.gz-trader{background:#12261ae8!important;border-color:#6fd795!important;color:#bff5cf!important}
.gz-trader.here{box-shadow:0 0 0 5px rgba(112,224,150,.35),0 0 26px rgba(112,224,150,.6)!important}
@keyframes gzPulse{0%{box-shadow:0 0 0 0 var(--gz,#fff)}70%,100%{box-shadow:0 0 0 13px transparent}}
@keyframes gzBob{0%,100%{margin-top:0}50%{margin-top:-3px}}
.gz-unit{position:absolute;z-index:3;transform:translate(-50%,-50%);width:26px;height:26px;padding:0;border:0!important;background:none!important;box-shadow:none!important;clip-path:none!important;cursor:pointer;animation:gzBob 3s ease-in-out infinite;min-width:0!important;min-height:0!important}
.gz-unit i{position:absolute;inset:6px;border-radius:50%;background:var(--gz);border:2px solid #0b1114;animation:gzPulse 2s ease-out infinite}
.gz-unit.ally{--gz:#6fe08a}.gz-unit.foe{--gz:#ff6a55}.gz-unit.patrol{--gz:#f0b64a}
.gz-unit.foe i{border-radius:3px;transform:rotate(45deg)}
.gz-unit.patrol i{border-radius:2px;clip-path:polygon(50% 0,100% 100%,0 100%);inset:4px}
.gz-unit.off{opacity:.55;cursor:default}
.gz-unit span{position:absolute;left:50%;top:calc(100% - 1px);transform:translateX(-50%);white-space:nowrap;font:700 11px/1.2 "Segoe UI",sans-serif;color:#fff;text-shadow:0 1px 3px #000,0 0 6px #000;padding:1px 5px;border-radius:4px;background:rgba(8,14,17,.62);opacity:.0;transition:opacity .15s;pointer-events:none}
.gz-unit:hover span,.gz-unit:focus span,.gz-unit.patrol span,.gz-unit.ambush span{opacity:1}
.gz-unit:not(:disabled):hover{transform:translate(-50%,-50%) scale(1.25)}
.gz-unit.ambush{width:34px;height:34px;animation:gzBob .6s ease-in-out infinite}
.gz-me{position:absolute;z-index:3;transform:translate(-50%,-50%);width:0;height:0;transition:left .16s linear,top .16s linear;pointer-events:none}
.gz-dot{position:absolute;left:-8px;top:-8px;width:16px;height:16px;border-radius:50%;background:#fff6c9;border:3px solid #0b1114;box-shadow:0 0 0 2px #f3e4a6,0 0 18px #f3e4a6}
.gz-sweep{position:absolute;left:-70px;top:-70px;width:140px;height:140px;border-radius:50%;background:conic-gradient(from 0deg,rgba(243,228,166,.38),transparent 22%,transparent);border:1px solid rgba(243,228,166,.28);animation:gzSpin 3.4s linear infinite;-webkit-mask:radial-gradient(circle,#000 0 68%,transparent 70%);mask:radial-gradient(circle,#000 0 68%,transparent 70%)}
.gz-me.idle .gz-sweep{display:none}.gz-me.idle .gz-dot{opacity:.6}
.gz-me span{position:absolute;left:14px;top:-22px;white-space:nowrap;font:800 11px/1 "Segoe UI",sans-serif;letter-spacing:.05em;color:#fff6c9;text-shadow:0 1px 3px #000,0 0 8px #000}
.gz-hud{position:absolute;z-index:5;padding:7px 11px;border-radius:7px;background:rgba(7,14,17,.72);border:1px solid rgba(150,200,205,.35);backdrop-filter:blur(3px);pointer-events:none}
.gz-hud.tl{left:10px;top:10px}.gz-hud b{display:block;font:800 11px/1.2 Consolas,monospace;letter-spacing:.12em;color:#bfe6ea}.gz-hud small{font-size:11px;color:#9fb2b6}
.gz-legend{position:absolute;z-index:5;left:10px;bottom:10px;display:flex;gap:10px;padding:5px 10px;border-radius:7px;background:rgba(7,14,17,.72);border:1px solid rgba(150,200,205,.28);font-size:11px;color:#c8d4d6;pointer-events:none}
.gz-legend span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:var(--c)}
.gz-legend .me{--c:#fff6c9}.gz-legend .ally{--c:#6fe08a}.gz-legend .foe{--c:#ff6a55}.gz-legend .patrol{--c:#f0b64a}.gz-legend .safe{--c:#3fbf74}
.gz-map .zone-status,.gz-map .zone-weather{z-index:5}
.gz-map.battle{animation:gzAlarm 1s steps(2) infinite}@keyframes gzAlarm{50%{box-shadow:inset 0 0 0 2px #ff6a55,inset 0 0 90px rgba(120,10,0,.6)}}
@media(prefers-reduced-motion:reduce){.gz-fog,.gz-sweep,.gz-unit,.gz-unit i,.gz-safe,.gz-road.live{animation:none!important}}
@media(max-width:640px){.gz-legend{display:none}.gz-map .zone-pin{width:36px;height:36px;font-size:17px}.gz-map .zone-pin span{font-size:11px}}
.gz-legend{left:auto;right:10px}
#dialog#dialog .gz-map .zone-pin{border-radius:50%!important;clip-path:none!important;min-width:0!important;min-height:0!important;padding:0!important;line-height:1!important;display:grid!important;place-items:center!important;overflow:visible!important}
#dialog#dialog .gz-map .zone-pin span{display:block!important;visibility:visible!important;opacity:1!important}
#dialog#dialog .gz-map .gz-unit{overflow:visible!important}
.gz-road{stroke:rgba(226,232,205,.62)}

/* ── Серая зона: живая сцена ── */
.gz-map{background-size:103% 103%!important;background-position:var(--gx,50%) var(--gy,50%)!important;transition:background-position .5s ease-out}
.gz-sky{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,34,48,.42),transparent 34%),radial-gradient(ellipse 60% 40% at 78% 12%,rgba(255,214,150,.16),transparent 70%);mix-blend-mode:multiply}
@keyframes gzSmoke{0%{transform:translate(-50%,0) scale(.5);opacity:0}18%{opacity:.55}100%{transform:translate(120%,-170%) scale(2.6);opacity:0}}
.gz-smoke{position:absolute;width:5%;aspect-ratio:1;pointer-events:none;z-index:1}
.gz-smoke::before,.gz-smoke::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(45,45,48,.85),rgba(60,60,62,.35) 55%,transparent 72%);animation:gzSmoke 9s linear infinite;filter:blur(3px)}
.gz-smoke::after{animation-delay:-4.5s}.gz-smoke.s2::before,.gz-smoke.s2::after{animation-duration:13s;opacity:.7}
@keyframes gzFlick{0%,100%{opacity:.85;transform:translate(-50%,-50%) scale(1)}35%{opacity:.5;transform:translate(-50%,-52%) scale(.82)}60%{opacity:1;transform:translate(-50%,-49%) scale(1.14)}80%{opacity:.65;transform:translate(-50%,-51%) scale(.93)}}
.gz-fire{position:absolute;width:1.5%;aspect-ratio:1;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,#fff0b0 0 16%,#ff9a2e 34%,rgba(255,80,10,.5) 58%,transparent 74%);box-shadow:0 0 22px 9px rgba(255,130,30,.45);animation:gzFlick .42s steps(5) infinite}
.gz-fire.f2{animation-duration:.55s;width:1.1%}.gz-fire.f3{animation-duration:.36s;width:1.2%}
@keyframes gzBeam{0%,100%{transform:rotate(108deg)}50%{transform:rotate(168deg)}}
.gz-beam{position:absolute;width:0;height:0;pointer-events:none;z-index:1}
.gz-beam::before{content:"";position:absolute;left:0;top:-14px;width:340px;height:28px;transform-origin:0 50%;animation:gzBeam 15s ease-in-out infinite;background:linear-gradient(90deg,rgba(255,250,215,.5),rgba(255,250,215,.14) 55%,transparent);clip-path:polygon(0 44%,100% 0,100% 100%,0 56%);mix-blend-mode:screen}
@keyframes gzBirds{0%{transform:translate(-8%,0)}100%{transform:translate(118%,-42%)}}
.gz-birds{position:absolute;left:0;top:26%;width:100%;height:0;pointer-events:none;z-index:2;animation:gzBirds 44s linear infinite}
.gz-birds::before{content:"ˇ ˇ  ˇ";position:absolute;font:700 15px/1 serif;color:rgba(12,14,14,.75);letter-spacing:5px}
@keyframes gzHalo{0%,100%{opacity:calc(var(--pw)*.55)}50%{opacity:calc(var(--pw)*.95)}}
.gz-halo{position:absolute;width:19%;aspect-ratio:1.5;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:1;mix-blend-mode:screen;animation:gzHalo 5s ease-in-out infinite;--c:150,165,165;background:radial-gradient(ellipse,rgba(var(--c),.5),rgba(var(--c),.16) 45%,transparent 70%)}
.gz-halo.vostok{--c:235,95,70}.gz-halo.aurelius{--c:80,155,240}.gz-halo.neutral{opacity:.25;animation:none}
.gz-halo.sel{outline:1px dashed rgba(243,228,166,.45);outline-offset:-14%}
@keyframes gzRain{to{background-position:-40px 220px,-90px 300px}}
.gz-rain{position:absolute;inset:0;pointer-events:none;opacity:.12;z-index:2;background:repeating-linear-gradient(104deg,transparent 0 9px,rgba(205,220,230,.5) 9px 10px,transparent 10px 23px) 0 0/46px 220px,repeating-linear-gradient(101deg,transparent 0 17px,rgba(205,220,230,.32) 17px 18px,transparent 18px 41px) 0 0/90px 300px;animation:gzRain .7s linear infinite}
@keyframes gzTick{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.gz-ticker{position:absolute;z-index:5;left:50%;top:10px;transform:translateX(-50%);width:min(46%,430px);display:flex;gap:9px;align-items:center;padding:5px 10px;border-radius:7px;background:rgba(7,14,17,.74);border:1px solid rgba(150,200,205,.3);overflow:hidden;pointer-events:none;font-size:11px;color:#cfdcdc}
.gz-ticker b{flex:none;font:800 11px/1 Consolas,monospace;letter-spacing:.1em;color:#7ef0a4}
.gz-ticker span{display:flex;gap:44px;white-space:nowrap;width:max-content;animation:gzTick 70s linear infinite}
.gz-ticker span::after{content:"";flex:none;width:1px}
.gz-ticker em{font-style:normal}
.gz-map .gz-hud.tl{max-width:27%}
@media(prefers-reduced-motion:reduce){.gz-smoke::before,.gz-smoke::after,.gz-fire,.gz-beam::before,.gz-birds,.gz-halo,.gz-rain,.gz-ticker span{animation:none!important}}
@media(max-width:760px){.gz-ticker,.gz-beam{display:none}}
.gz-ticker b{position:relative;z-index:1;background:rgba(7,14,17,.95);padding:3px 6px 3px 0;box-shadow:8px 0 8px rgba(7,14,17,.95)}

/* Походный груз Серой зоны — простой список */
.gray-cargo-list{list-style:none;margin:8px 0 10px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 22px;max-width:100%}
.gray-cargo-list li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:5px 2px;border-bottom:1px solid rgba(255,255,255,.08);min-width:0;font-size:13.5px}
.gray-cargo-list li span{min-width:0;overflow-wrap:anywhere;color:#dfe6ea}
.gray-cargo-list li b{flex:none;color:#e9c36a;font-variant-numeric:tabular-nums}
.gray-cargo{min-width:0;overflow:hidden}

/* ── Телефон: новые окна ── */
body.phone .cs-hero{grid-template-columns:1fr;padding:14px}
body.phone .cs-balance{border-right:0;border-bottom:1px solid #2c343f;padding:0 0 10px}
body.phone .cs-balance b{font-size:30px}
body.phone .cs-exchange-row>*{flex:1 1 100%}body.phone .cs-exchange-row input{width:100%}
body.phone .cs-sets{grid-template-columns:1fr}
body.phone .cs-crates{grid-template-columns:1fr 1fr;gap:8px}
body.phone .cs-crate-buy{grid-template-columns:1fr}
body.phone .cs-title small{flex-basis:100%}
body.phone .salvage-head{flex-direction:column;align-items:flex-start}body.phone .salvage-head img{width:84px;height:84px}
body.phone .salvage-row{grid-template-columns:44px 1fr auto;gap:8px}body.phone .salvage-out{grid-column:1/-1}
body.phone .gt-grid{grid-template-columns:1fr 1fr;gap:8px}
body.phone .gray-trader header{flex-direction:column;gap:8px}
body.phone .uav-course-grid{grid-template-columns:1fr 1fr;gap:8px}body.phone .uav-course img{height:74px}
body.phone .mat-grid{grid-template-columns:1fr}
body.phone .gray-cargo-list{grid-template-columns:1fr}
body.phone .gray-layout{display:flex;flex-direction:column}body.phone .gray-roster{order:2}
body.phone .gz-map{aspect-ratio:4/3}
body.phone .gz-ticker,body.phone .gz-legend,body.phone .gz-beam,body.phone .zone-weather{display:none!important}
body.phone .gz-hud.tl{max-width:60%;padding:4px 7px}body.phone .gz-hud b{font-size:11px}body.phone .gz-hud small{font-size:11px}
body.phone #dialog#dialog .gz-map .zone-pin{width:34px!important;height:34px!important;font-size:15px!important}
body.phone .gz-map .zone-pin span{font-size:11px!important;top:calc(100% + 2px)!important}body.phone .gz-map .zone-pin span i{display:none!important}
body.phone .gz-unit{width:34px;height:34px}body.phone .gz-unit span{font-size:11px}
body.phone .gz-map .zone-status{font-size:11px;padding:5px 8px}
body.phone .admin-filters{flex-direction:column;align-items:stretch}body.phone .admin-filters input,body.phone .admin-filters select{width:100%}
body.phone .admin-users-wrap{overflow-x:auto}
body.phone .mkt-grid,body.phone .mkt-lots{grid-template-columns:1fr!important}
body.phone .weekly-boss{font-size:12px}
body.phone .gz-map{aspect-ratio:3/2}
body.phone .gz-unit{width:24px;height:24px}
body.phone .gz-unit.patrol span,body.phone .gz-me span{display:none}
body.phone #dialog#dialog .gz-map .zone-pin{width:28px!important;height:28px!important;font-size:12px!important}
body.phone .gz-map .zone-pin:not(.chosen):not(.gz-trader):not(.camp-pin) span{display:none!important}
body.phone .gz-sweep{left:-38px;top:-38px;width:76px;height:76px}
body.phone .gz-hud.tl small{display:none}

/* v45: обложки новых маршрутов патруля */
.location .landscape{position:relative;overflow:hidden}
.location .landscape.loc-cover{background-size:cover!important;background-position:center!important}
.location .landscape .loc-tag{position:absolute;left:8px;bottom:8px;padding:3px 9px;border-radius:4px;background:#0b1118cc;border:1px solid #ffffff2e;color:#e9eef5;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.location.loc-hard h3::after{content:' · опасно';color:#ff9c7a;font-size:12px;font-weight:600;letter-spacing:.04em}

/* v45: экран выбора стороны */
#dialog:has(.reg-epic){width:100vw!important;max-width:100vw!important;height:100vh!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#05080c!important;overflow:hidden auto}
#dialog:has(.reg-epic) #close{display:none}
#dialog:has(.reg-epic) #content{padding:0!important;margin:0!important;max-width:none!important;height:100%;background:none!important}
#dialog:has(.reg-epic) #content>*:not(.reg-epic){display:none!important}
.reg-epic{position:relative;min-height:100%;display:flex;flex-direction:column;gap:clamp(10px,1.8vh,22px);padding:clamp(14px,3vh,34px) clamp(14px,3vw,48px) clamp(12px,2vh,24px);background:radial-gradient(ellipse at 50% -10%,#3a2a18 0,#0b1016 46%,#04060a 100%);overflow:hidden;isolation:isolate}
.reg-epic::before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 4px);pointer-events:none}
.reg-epic::after{content:'';position:absolute;inset:-20% -10% auto;height:60%;z-index:-1;background:conic-gradient(from 200deg at 50% 0,transparent 0 38%,#ffb86a14 44%,transparent 50%,#7fc4ff12 56%,transparent 62%);animation:regSweep 9s ease-in-out infinite alternate;pointer-events:none}
@keyframes regSweep{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
.reg-fx{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.reg-fx i{position:absolute;bottom:-10px;border-radius:50%;background:#ffb25e;box-shadow:0 0 8px 2px #ff8a3a99;opacity:0;animation:regEmber linear infinite}
@keyframes regEmber{0%{transform:translate(0,0);opacity:0}10%{opacity:.9}70%{opacity:.5}100%{transform:translate(60px,-105vh);opacity:0}}
.reg-head{text-align:center;animation:regIn .8s both}
.reg-head .eyebrow{letter-spacing:.42em;color:#e7b06a!important;font-size:12px}
.reg-head h1{margin:.12em 0 .1em!important;display:flex;flex-direction:column;align-items:center;line-height:.95;text-transform:uppercase}
.reg-head h1 span{font-size:clamp(44px,8.5vh,104px);font-weight:900;letter-spacing:.14em;margin-right:-.14em;background:linear-gradient(180deg,#fff6e2 8%,#e9c78d 48%,#8a5a2a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 22px #ff9a3a55)}
.reg-head h1 em{font-style:normal;font-size:clamp(13px,2.1vh,22px);letter-spacing:.62em;margin-right:-.62em;color:#cfd8e2;margin-top:.5em}
.reg-head h1 em::before,.reg-head h1 em::after{content:'';display:inline-block;vertical-align:middle;width:clamp(24px,7vw,110px);height:1px;margin:0 16px;background:linear-gradient(90deg,transparent,#e7b06a)}
.reg-head h1 em::after{transform:scaleX(-1)}
.reg-head p{max-width:760px;margin:.7em auto 0!important;color:#aeb9c6;font-size:clamp(13px,1.75vh,16px);line-height:1.5}
.reg-sides{flex:1;min-height:300px;display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:0;position:relative}
.reg-epic .reg-side{--c:#e2573d;--c2:#ffb07a;position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;min-height:0!important;padding:clamp(16px,3vh,34px) clamp(18px,3vw,46px)!important;text-align:left;color:#f2efe8!important;border:1px solid color-mix(in srgb,var(--c) 45%,#0000)!important;border-radius:0!important;background:#0a0d11 var(--cover) center/cover no-repeat!important;overflow:hidden;cursor:pointer;clip-path:polygon(0 0,100% 0,calc(100% - 5vw) 100%,0 100%);margin-right:-2.5vw;transition:filter .35s,transform .35s,box-shadow .35s;filter:saturate(.75) brightness(.82);animation:regL .9s .15s both;outline:0!important}
.reg-epic .reg-side.west{--c:#3f9be6;--c2:#9bd4ff;align-items:flex-end;text-align:right;clip-path:polygon(5vw 0,100% 0,100% 100%,0 100%);margin:0 0 0 -2.5vw;animation-name:regR}
@keyframes regL{from{opacity:0;transform:translateX(-60px)}}@keyframes regR{from{opacity:0;transform:translateX(60px)}}@keyframes regIn{from{opacity:0;transform:translateY(-18px)}}
.reg-side .reg-shade{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 30%,#0000) 0,#05080cc8 52%,#05080cf2 100%),linear-gradient(90deg,color-mix(in srgb,var(--c) 36%,#0000),transparent 60%);z-index:0}
.reg-side.west .reg-shade{background:linear-gradient(180deg,color-mix(in srgb,var(--c) 30%,#0000) 0,#05080cc8 52%,#05080cf2 100%),linear-gradient(270deg,color-mix(in srgb,var(--c) 36%,#0000),transparent 60%)}
.reg-side>*:not(.reg-shade){position:relative;z-index:1}
.reg-side .reg-emblem{position:absolute!important;top:clamp(12px,3vh,34px);left:clamp(16px,3vw,44px);width:clamp(70px,15vh,150px);color:var(--c2);filter:drop-shadow(0 0 18px var(--c));transition:transform .5s}
.reg-side.west .reg-emblem{left:auto;right:clamp(16px,3vw,44px)}
.reg-side .reg-emblem svg{display:block;width:100%;height:auto}
.reg-side small{letter-spacing:.34em;color:var(--c2);font-size:12px;text-transform:uppercase}
.reg-epic .reg-side b{font-size:clamp(40px,8vh,92px)!important;line-height:.9;margin:0!important;font-weight:900;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 0 34px var(--c),0 3px 0 #000}
.reg-side em{font-style:normal;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c2);font-size:clamp(12px,1.7vh,15px)}
.reg-epic .reg-side p{max-width:470px;margin:4px 0!important;color:#d3dae2;font-size:clamp(12.5px,1.65vh,15px)!important;line-height:1.5;text-transform:none;letter-spacing:0;font-weight:400}
.reg-tags{display:flex;gap:6px;flex-wrap:wrap}.reg-side.west .reg-tags{justify-content:flex-end}
.reg-tags i{font-style:normal;padding:4px 10px;border:1px solid color-mix(in srgb,var(--c2) 60%,#0000);background:#0009;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.reg-gun{font:700 13px ui-monospace,Consolas,monospace;letter-spacing:.1em;color:#fff;margin-top:2px}.reg-gun u{text-decoration:none;color:var(--c2);margin-left:8px}
.reg-pick{margin-top:8px;padding:10px 20px;border:1px solid var(--c2);color:#fff;font-weight:800;letter-spacing:.2em;text-transform:uppercase;font-size:12.5px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 70%,#0000),color-mix(in srgb,var(--c) 15%,#0000));transition:.3s}
.reg-epic .reg-side:hover,.reg-epic .reg-side:focus-visible{filter:saturate(1.05) brightness(1);z-index:2}
.reg-epic .reg-side:hover .reg-emblem{transform:scale(1.08) rotate(-3deg)}
.reg-epic .reg-side.selected{filter:saturate(1.2) brightness(1.1);z-index:3;box-shadow:inset 0 0 0 2px var(--c2),inset 0 0 90px color-mix(in srgb,var(--c) 55%,#0000)}
.reg-epic .reg-side.selected .reg-pick{background:var(--c2);color:#0a0d11;box-shadow:0 0 26px var(--c)}
.reg-epic .reg-side.selected .reg-pick::before{content:'✓ '}
.reg-epic .reg-side.selected .reg-emblem{animation:regPulse 2.2s ease-in-out infinite}
@keyframes regPulse{50%{filter:drop-shadow(0 0 34px var(--c2));transform:scale(1.07)}}
.reg-sides:has(.selected) .reg-side:not(.selected){filter:saturate(.35) brightness(.5)}
.reg-vs{position:relative;z-index:5;width:0;display:grid;place-items:center}
.reg-vs span{display:grid;place-items:center;width:clamp(58px,10vh,96px);aspect-ratio:1;border-radius:50%;font-weight:900;font-size:clamp(20px,3.6vh,34px);letter-spacing:.06em;color:#fff6e2;background:radial-gradient(circle,#2a1a0c,#07090c 70%);border:2px solid #e7b06a;box-shadow:0 0 0 6px #05080c,0 0 40px #ff9a3a99,inset 0 0 18px #ff9a3a55;animation:regVs 2.6s ease-in-out infinite}
@keyframes regVs{50%{box-shadow:0 0 0 6px #05080c,0 0 70px #ffb25ecc,inset 0 0 26px #ff9a3a88;transform:scale(1.06)}}
.reg-foot{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(150px,220px) auto;align-items:end;gap:14px;padding:12px 16px;border:1px solid #ffffff1c;background:#0b1118d9;backdrop-filter:blur(6px);animation:regIn .8s .35s both reverse;animation-direction:normal}
.reg-foot .registration-avatar{margin:0!important}.reg-foot .registration-avatar img,.reg-foot .registration-avatar .npc-portrait{width:66px!important;height:66px!important;border-radius:6px;display:block}
.reg-foot label{margin:0!important;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9fb0c2}
.reg-foot input,.reg-foot select{margin-top:4px;width:100%}
.reg-foot .reg-go{padding:16px 30px!important;font-size:15px!important;font-weight:800;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(180deg,#ffd08a,#e08a35)!important;color:#1a1005!important;border:0!important;box-shadow:0 0 30px #ff9a3a77;animation:regGo 2.4s ease-in-out infinite;white-space:nowrap}
@keyframes regGo{50%{box-shadow:0 0 52px #ffb25ecc}}
.reg-foot small{grid-column:1/-1;color:#7f8d9c;text-align:center}
@media(max-width:820px){.reg-sides{grid-template-columns:1fr;gap:10px}.reg-vs{width:auto;height:0}.reg-epic .reg-side,.reg-epic .reg-side.west{clip-path:none;margin:0;min-height:230px!important;align-items:flex-start;text-align:left}.reg-side.west .reg-emblem{right:14px}.reg-side .reg-emblem{left:auto;right:14px;width:64px}.reg-side.west .reg-tags{justify-content:flex-start}.reg-foot{grid-template-columns:auto 1fr}.reg-foot .reg-go{grid-column:1/-1}.reg-head h1 em::before,.reg-head h1 em::after{display:none}.reg-head p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.reg-epic *,.reg-epic::after{animation:none!important}}

.reg-epic{height:100vh;height:100dvh;min-height:560px}
.reg-sides{min-height:0}
.reg-sides:has(.selected) .reg-side:not(.selected){filter:saturate(.55) brightness(.68)}
@media(max-width:820px){.reg-epic{height:auto}}
.reg-foot .registration-avatar{width:66px!important;height:66px!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;overflow:hidden;border-radius:6px}
@media(max-width:820px){.reg-vs{display:none}.reg-epic .reg-side b{font-size:44px!important}.reg-side .reg-emblem{top:12px;width:54px}.reg-head h1 span{font-size:52px}.reg-head h1 em{letter-spacing:.34em;margin-right:-.34em}}
.location .landscape .loc-big{position:absolute;inset:0;display:grid;place-items:center;font-size:44px;letter-spacing:.2em;text-transform:uppercase;color:#ffffff14;font-weight:900}
.reg-sides{grid-template-columns:minmax(0,1fr) 0 minmax(0,1fr)}
.reg-epic .reg-side,.reg-epic .reg-side.west{clip-path:none;margin:0;min-width:0;transform:none!important}
@media(max-width:820px){.reg-sides{grid-template-columns:minmax(0,1fr)}}
.reg-vs span{position:absolute;left:50%;top:50%;translate:-50% -50%}

/* ═══ v46: Серая зона — тактический планшет, транспорт, отряды, линия соприкосновения ═══ */
.gzr{position:relative;padding:0!important;border:1px solid #3d5560!important;border-radius:10px;background:linear-gradient(180deg,#0f1b22,#0a1116 60%,#080d11)!important;overflow:hidden;display:flex;flex-direction:column;gap:0;box-shadow:inset 0 0 0 1px #0008,0 10px 30px #0007}
.gzr::before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 3px);z-index:0}
.gzr>*{position:relative;z-index:1}
.gzr-head{display:flex;align-items:center;gap:12px;padding:12px 14px;background:linear-gradient(90deg,#1c3440,#0f1b22);border-bottom:1px solid #3d5560;min-height:0}
.gzr-head b{display:block;font-size:17px;letter-spacing:.08em;text-transform:uppercase;color:#eaf4f2}
.gzr-radar{width:38px;height:38px;border-radius:50%;flex:none;border:1px solid #6fe08a88;background:radial-gradient(circle,#6fe08a33 0 2px,transparent 3px),repeating-radial-gradient(circle,transparent 0 6px,#6fe08a2e 6px 7px),conic-gradient(from 0deg,#6fe08a00 0 75%,#6fe08a99 100%);animation:gzrSpin 3.2s linear infinite}
@keyframes gzrSpin{to{transform:rotate(360deg)}}
.gzr-here{margin:12px 12px 0;padding:12px 14px;border-left:3px solid #d9c58a;background:linear-gradient(90deg,#d9c58a22,transparent);border-radius:0 6px 6px 0}
.gzr-here.vostok{border-color:#eb5f46;background:linear-gradient(90deg,#eb5f4630,transparent)}.gzr-here.aurelius{border-color:#509bf0;background:linear-gradient(90deg,#509bf030,transparent)}.gzr-here.safe{border-color:#6fd795;background:linear-gradient(90deg,#6fd79528,transparent)}
.gzr-here h3{margin:2px 0 3px!important;font-size:21px;letter-spacing:.05em;text-transform:uppercase;color:#fff}.gzr-here small{color:#a9bcc0}
.gzr-me{display:flex;align-items:center;gap:10px;margin:10px 12px 0;padding:9px 12px;border:1px solid #fff6c955;border-radius:6px;background:#fff6c910}
.gzr-me b{display:block;color:#fff6c9}.gzr-me small{color:#b9c4b4}
.gzr-pip{display:inline-block;width:11px;height:11px;border-radius:50%;background:#6fe08a;box-shadow:0 0 8px #6fe08a;flex:none}
.gzr-pip.me{background:#fff6c9;box-shadow:0 0 10px #fff6c9}.gzr-pip.foe,.gzr-unit.foe .gzr-pip{background:#ff6a55;box-shadow:0 0 9px #ff6a55;border-radius:2px;transform:rotate(45deg)}
.gzr-rent{margin:10px 12px 0;padding:8px 12px;border:1px dashed #e7b06a88;border-radius:6px;color:#f1d2a0;font-size:13px}.gzr-rent b{font:800 16px Consolas,monospace;color:#ffd08a}.gzr-rent small{display:block;color:#a99a80}
.gzr h4{margin:14px 12px 6px!important;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8fb0b6;display:flex;justify-content:space-between}.gzr h4 small{color:#d9e4e2;letter-spacing:0}
.gzr-list{display:grid;gap:6px;padding:0 12px}
.gzr-unit{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;border:1px solid #6fe08a44;background:linear-gradient(90deg,#6fe08a1c,#0000 70%);animation:gzrIn .35s both}
.gzr-unit.foe{border-color:#ff6a5566;background:linear-gradient(90deg,#ff6a5526,#0000 70%)}
.gzr-unit.busy{opacity:.6}.gzr-unit>div{flex:1;min-width:0}.gzr-unit b{display:block;color:#c8f5d3;font-size:14px}.gzr-unit.foe b{color:#ffc0b6}.gzr-unit small{display:block;color:#9fb1b4;font-size:12px}.gzr-kit{color:#d9c58a!important}
@keyframes gzrIn{from{opacity:0;transform:translateX(-10px)}}
.gzr-acts{display:flex;gap:5px;flex:none}.gzr-acts button{padding:6px 9px!important;min-height:0!important;font-size:12px!important}
#dialog#dialog .gzr-attack{background:linear-gradient(180deg,#d6513c,#8e2a1c)!important;border-color:#ff8a76!important;color:#fff!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
#dialog#dialog .gzr-attack:disabled{filter:grayscale(.8);opacity:.5}
.gzr-empty{margin:0;padding:10px;border:1px dashed #3d5560;border-radius:6px;color:#8fa3a8;font-size:13px;text-align:center}
.gzr-patrol{display:flex;align-items:center;gap:10px;margin:10px 12px 0;padding:10px;border:1px solid #f0b64a77;border-radius:6px;background:linear-gradient(90deg,#f0b64a22,transparent)}
.gzr-patrol>i{font-style:normal;color:#f0b64a;font-size:18px;text-shadow:0 0 10px #f0b64a}.gzr-patrol>div{flex:1}.gzr-patrol b{display:block;color:#ffe2a8}.gzr-patrol small{color:#b9a988}.gzr-patrol.off{opacity:.7}
.gzr-wide{margin:10px 12px 0!important;width:calc(100% - 24px)}
.gzr-note{margin:10px 12px 0!important;font-size:12.5px;color:#9fb1b4}
.gzr-idle{margin:18px 14px;text-align:center;color:#a9bcc0}.gzr-idle i{display:block;font-style:normal;font-size:44px;color:#e7b06a;text-shadow:0 0 24px #e7b06a88}.gzr-idle b{display:block;font-size:17px;color:#fff;margin:6px 0}
.gzr-foot{margin-top:auto;display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:10px 14px;border-top:1px solid #24353d;font-size:11.5px;color:#8fa3a8;background:#070c10}.gzr-foot span{display:flex;align-items:center;gap:6px}
.gzr .recon-progress{margin:10px 12px}
.gz-count{position:absolute;right:-12px;top:-10px;display:flex;gap:2px;font-style:normal}.gz-count b{min-width:17px;height:17px;padding:0 4px;border-radius:9px;font:800 11px/17px Consolas,monospace;color:#07110a;text-align:center}.gz-count .a{background:#6fe08a;box-shadow:0 0 8px #6fe08a}.gz-count .f{background:#ff6a55;color:#fff;box-shadow:0 0 8px #ff6a55}
.gz-map i.gz-unit{pointer-events:auto;cursor:default}.gz-map i.gz-unit.squad{width:32px;height:32px}.gz-map i.gz-unit.squad>i{inset:5px;box-shadow:0 0 0 3px #0009,0 0 0 4px var(--gz)}.gz-map i.gz-unit.squad span{opacity:1}
.gz-me.squad .gz-dot{box-shadow:0 0 0 4px #0008,0 0 0 6px #fff6c9aa}
.gz-road.near{stroke:rgba(243,228,166,.75);stroke-width:2.6}
.gz-safe.gate{border-color:rgba(255,246,201,.5);width:11%}
.gz-map .zone-pin.here{box-shadow:0 0 0 5px rgba(255,246,201,.35),0 0 26px rgba(255,246,201,.7)!important}
.gt-rides{margin-top:14px;padding:18px;border:1px solid #4a3d28;border-radius:10px;background:linear-gradient(160deg,#241c12,#10151a 60%)}
.gt-rides header{background:none;border:0;padding:0;min-height:0;display:block}.gt-rides h3{font-size:22px;margin:.1em 0 .3em!important;text-transform:uppercase;letter-spacing:.06em}
.gt-ride-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:12px 0}
.gt-ride{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #e7b06a55;border-radius:8px;background:linear-gradient(170deg,#2b2114,#12171c);transition:.2s}
.gt-ride:hover{border-color:#ffd08a;transform:translateY(-2px);box-shadow:0 10px 24px #0008}.gt-ride.off{opacity:.55}.gt-ride.own{border-color:#6fd79555;background:linear-gradient(170deg,#15251b,#12171c)}
.gt-ride h3{font-size:17px!important;margin:0!important;text-transform:none;letter-spacing:0}.gt-ride p{margin:0!important;font-size:12.5px;color:#b7c0c6;flex:1}.gt-ride-ico{font-style:normal;font-size:40px;line-height:1;filter:drop-shadow(0 4px 10px #000)}
.gt-ride .vehicle-art{width:100%;height:auto;max-height:110px}.gt-price{font:800 18px Consolas,monospace;color:#ffd08a}.gt-ride-foot{display:flex;gap:8px;flex-wrap:wrap}
.sq-note{padding:9px 12px;border-left:3px solid #e7b06a;background:#e7b06a14;color:#f1d9b0;font-size:13px}
/* отряды */
.sq{display:grid;gap:16px}
.sq-hero{position:relative;display:flex;align-items:center;gap:20px;padding:26px 28px;border:1px solid #e7b06a66;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 15% 0,#5a3a16,transparent 60%),linear-gradient(120deg,#22180d,#0d1319 70%)}
.sq-hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(115deg,#ffffff06 0 2px,transparent 2px 14px),linear-gradient(90deg,transparent 55%,#e7b06a14)}
.sq-hero>*{position:relative;z-index:1}.sq-hero h1{margin:.05em 0 .15em!important;font-size:clamp(28px,4.4vw,48px);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(180deg,#fff6e2,#e9c78d 55%,#9a6a34);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 14px #ff9a3a44)}
.sq-hero p{margin:0!important;color:#c3ccd3;max-width:560px}.sq-hero .eyebrow{color:#e7b06a!important;letter-spacing:.3em}.sq-hero-acts{margin-left:auto}
.sq-sigil{flex:none;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;font-style:normal;font-size:44px;color:#ffe2b0;border:2px solid #e7b06a;background:radial-gradient(circle,#4a2d10,#120c06);box-shadow:0 0 0 6px #0006,0 0 34px #ff9a3a77,inset 0 0 18px #ff9a3a55;animation:sqPulse 3s ease-in-out infinite}
.sq-sigil.s{width:44px;height:44px;font-size:20px;animation:none;box-shadow:0 0 12px #ff9a3a55}
@keyframes sqPulse{50%{box-shadow:0 0 0 6px #0006,0 0 54px #ffb25ebb,inset 0 0 24px #ff9a3a88}}
.sq-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sq-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 12px 16px;text-align:center;border:1px solid #3d5560;border-radius:10px;background:linear-gradient(180deg,#16242c,#0c1318);overflow:hidden;animation:gzrIn .4s both}
.sq-slot::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:#6fe08a}.sq-slot.sq-off::before{background:#667}.sq-slot.st-gray::before{background:#e7b06a}.sq-slot.st-busy::before{background:#e0705c}.sq-slot.sq-free{border-style:dashed;opacity:.65}.sq-slot.sq-free::before{display:none}
.sq-slot.sq-lead{border-color:#e7b06a;box-shadow:inset 0 0 40px #e7b06a1c}
.sq-num{position:absolute;left:10px;top:8px;font:800 12px Consolas,monospace;color:#6f858c;font-style:normal}
.sq-ava{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;font:900 28px/1 system-ui;color:#fff;background:radial-gradient(circle at 35% 30%,#3f6676,#162630);border:2px solid #6fa0b2;box-shadow:0 6px 16px #0008}
.sq-slot.sq-lead .sq-ava{border-color:#e7b06a;background:radial-gradient(circle at 35% 30%,#7a5326,#2a1a0a)}.sq-slot.sq-free .sq-ava{background:none;border-style:dashed;color:#6f858c}
.sq-slot b{font-size:16px;color:#fff}.sq-slot b em{display:block;font-style:normal;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#e7b06a}.sq-slot small{color:#9fb1b4}
.sq-state{font-size:12px;padding:3px 10px;border-radius:10px;background:#6fe08a22;color:#aef0bf}.sq-slot.sq-off .sq-state{background:#ffffff12;color:#9aa}.sq-slot.st-gray .sq-state{background:#e7b06a22;color:#ffd9a0}.sq-slot.st-busy .sq-state{background:#e0705c22;color:#ffb3a3}
.sq-slot button{margin-top:6px;padding:5px 10px!important;min-height:0!important;font-size:12px!important}
.sq-perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.sq-perks article{padding:12px;border:1px solid #2c3f48;border-radius:8px;background:#0f191f}.sq-perks i{font-style:normal;font-size:22px}.sq-perks b{display:block;margin:4px 0 2px;color:#fff}.sq-perks small{color:#9fb1b4}
.sq-create{display:grid;gap:8px;padding:16px;border:1px solid #e7b06a55;border-radius:10px;background:#1a140c}.sq-create h3{margin:0!important}
.sq-list{display:grid;gap:8px}.sq-list article{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #2c3f48;border-radius:8px;background:#0f191f}.sq-list article>div{flex:1}.sq-list b{display:block;color:#fff}.sq-list small{color:#9fb1b4}.sq-list article.off{opacity:.6}
.sq-ops h3{margin:0 0 8px!important}.sq-op-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:8px}
#dialog#dialog .sq-op-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px!important;text-align:left;border:1px solid #3d5560!important;border-radius:8px!important;background:linear-gradient(160deg,#1b2d36,#0d1419)!important;clip-path:none!important;text-transform:none;letter-spacing:0;height:auto}
#dialog#dialog .sq-op-grid button:hover{border-color:#e7b06a!important;transform:translateY(-2px)}.sq-op-grid i{font-style:normal;font-size:26px}.sq-op-grid b{font-size:15px;color:#fff}.sq-op-grid small{color:#9fb1b4;font-weight:400;white-space:normal}
.sq-foot{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}#dialog#dialog .sq-foot .danger{border-color:#e0705c!important;color:#ffb3a3!important}
.sq-pool{padding:18px;border:1px solid #e7b06a;border-radius:10px;background:linear-gradient(160deg,#2a1e0f,#11161b);box-shadow:0 0 30px #ff9a3a22}
.sq-pool header{background:none;border:0;padding:0;min-height:0;display:block}.sq-pool h3{margin:.1em 0 .6em!important;font-size:20px}.sq-pool h3 small{color:#ffd08a;font-family:Consolas,monospace;margin-left:8px}
.sq-pool-rows{display:grid;gap:6px}.sq-pool-rows div{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #3d5560;border-radius:6px;background:#0d1419}.sq-pool-rows div.ok{border-color:#6fe08a88;background:#6fe08a14}.sq-pool-rows i{font-style:normal;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#ffffff14;color:#aaa}.sq-pool-rows .ok i{background:#6fe08a;color:#07110a;font-weight:900}.sq-pool-rows b{flex:1;color:#fff}.sq-pool-rows span{color:#9fb1b4;font-size:13px}
.sq-pool-bar{height:6px;margin:10px 0;border-radius:3px;background:#0b1114;overflow:hidden}.sq-pool-bar em{display:block;height:100%;background:linear-gradient(90deg,#e7b06a,#6fe08a);transition:width .4s}
.sq-pool-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}#dialog#dialog .sq-go:not(:disabled){animation:regGo 2s ease-in-out infinite}
#dialog#dialog .sq-tab{border-color:#e7b06a!important;color:#ffe2b0!important}
.chat-squad{border-color:#e7b06a!important;color:#ffe2b0!important}
/* линия соприкосновения */
.war-epic{position:relative;overflow:hidden;padding:22px!important;border:1px solid #5a4630!important;border-radius:12px;background:linear-gradient(90deg,#0f2238 0,#101820 38%,#101820 62%,#3a1712 100%)!important;box-shadow:inset 0 0 80px #000a,0 14px 34px #0008}
.war-epic::before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 4px),radial-gradient(ellipse at 50% 0,#e7b06a22,transparent 60%)}
.war-glow{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,#ffd08a,transparent);box-shadow:0 0 26px 6px #ff9a3a66;animation:warPulse 2.6s ease-in-out infinite;pointer-events:none}
@keyframes warPulse{50%{opacity:.45;box-shadow:0 0 44px 10px #ff9a3a88}}
.war-epic>*:not(.war-glow){position:relative;z-index:1}
.war-epic header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.war-epic h3{margin:.1em 0 0!important;font-size:clamp(22px,3.2vw,34px);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(180deg,#fff6e2,#e9c78d 60%,#a8733a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 12px #ff9a3a44)}
.war-epic .war-score{display:flex;align-items:center;gap:12px;font:900 40px/1 Consolas,monospace}.war-epic .war-score b{display:flex;align-items:baseline;gap:8px}.war-epic .war-score small{font:700 11px/1 system-ui;letter-spacing:.24em}.war-epic .war-score i{font-style:normal;color:#e7b06a}
.war-epic .aurelius-c{color:#7fc0ff;text-shadow:0 0 22px #3f9be6}.war-epic .vostok-c{color:#ff9a86;text-shadow:0 0 22px #e2573d}
.war-front{position:relative;display:flex;height:18px;margin:16px 0 6px;border-radius:9px;overflow:visible;background:#06090c;border:1px solid #000}
.war-front span{height:100%;transition:width .8s}.war-front .w{border-radius:9px 0 0 9px;background:linear-gradient(90deg,#16406b,#3f9be6);box-shadow:inset 0 0 10px #9bd4ff66}.war-front .e{border-radius:0 9px 9px 0;background:linear-gradient(90deg,#e2573d,#6b2016);box-shadow:inset 0 0 10px #ffb07a66}
.war-front i{position:absolute;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#3a2410,#0a0c0e);border:2px solid #ffd08a;box-shadow:0 0 22px #ff9a3a;font-style:normal;transition:left .8s}.war-front i b{color:#ffe2b0;font-size:15px}
.war-epic .war-legend{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#93a4ad;margin-bottom:10px}.war-epic .war-legend span:first-child{color:#7fc0ff}.war-epic .war-legend span:last-child{color:#ff9a86}
#dialog#dialog .war-epic .war-row{display:grid;grid-template-columns:150px 1fr 150px;gap:12px;align-items:center;width:100%;margin:6px 0;padding:10px 12px!important;border:1px solid #2a3942!important;border-radius:8px!important;background:#0b1217cc!important;clip-path:none!important;text-transform:none;letter-spacing:0;height:auto;transition:.2s}
#dialog#dialog .war-epic .war-row:not(:disabled):hover{border-color:#ffd08a!important;transform:translateX(3px)}
#dialog#dialog .war-epic .war-row.chosen{border-color:#fff6c9!important;box-shadow:0 0 0 1px #fff6c955,0 0 22px #fff6c933}
#dialog#dialog .war-epic .war-row:disabled{opacity:1}
.war-epic .war-row>b{display:flex;align-items:center;gap:8px;font-size:15px;color:#fff;text-align:left}.war-ico{font-style:normal;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid #6d7f86;color:#d9e4e2;font-size:13px}
.war-row.vostok .war-ico{border-color:#eb5f46;color:#ffb3a3;box-shadow:0 0 10px #eb5f4688}.war-row.aurelius .war-ico{border-color:#509bf0;color:#b6d8ff;box-shadow:0 0 10px #509bf088}
.war-epic .war-bar{position:relative;height:16px;background:#05080b;border:1px solid #2f404a;border-radius:8px;overflow:hidden}
.war-epic .war-bar em{position:absolute;top:0;bottom:0;transition:width .8s}.war-epic .war-bar em.vostok{background:linear-gradient(90deg,#7a2a1c,#ff7a5c);box-shadow:0 0 14px #ff7a5c}.war-epic .war-bar em.aurelius{background:linear-gradient(270deg,#1c4a7a,#5cb0ff);box-shadow:0 0 14px #5cb0ff}
.war-epic .war-bar u{position:absolute;top:-3px;bottom:-3px;width:3px;margin-left:-1px;background:#fff;box-shadow:0 0 10px #fff;text-decoration:none;transition:left .8s}.war-mid{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#ffd08a88}
.war-epic .war-row small{text-align:right;font-size:12.5px;color:#a9bcc0}.war-epic .war-row small.vostok{color:#ff9a86}.war-epic .war-row small.aurelius{color:#7fc0ff}
@media(max-width:800px){#dialog#dialog .war-epic .war-row{grid-template-columns:104px 1fr 92px;gap:8px}.war-epic .war-score{font-size:28px}.sq-slots{grid-template-columns:1fr}.sq-hero{flex-direction:column;text-align:center;padding:18px}.sq-hero-acts{margin:0}}
body.phone .gzr-acts button{padding:8px 10px!important}body.phone .gt-ride-grid{grid-template-columns:1fr}
.gzr-patrol{flex-wrap:wrap}.gzr-patrol>div{min-width:120px}.gzr-patrol button{margin-left:auto}
.gt-ride-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 55%;border-radius:6px;border:1px solid #0008;background:#1c1c1c}
.sq-slot,.gzr-unit{animation:none!important}
#dialog#dialog .gray-layout{grid-template-columns:minmax(290px,330px) minmax(0,1fr)}
@media(max-width:900px){#dialog#dialog .gray-layout{grid-template-columns:1fr}}
.gzr-unit{flex-wrap:wrap}.gzr-unit>div{min-width:130px}.gzr-acts{margin-left:auto}
#dialog#dialog .gzr{max-height:none!important;overflow:hidden!important}body.phone .gzr-head{position:relative}body.phone .gzr-here{margin-top:12px}
/* v46b: журнал действий игрока в досье администратора */
.adl{margin:10px 0;padding:14px;border:1px solid #3d5560;border-radius:8px;background:#0c141a}.adl header{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:none;border:0;padding:0 0 8px;min-height:0}.adl header b{font-size:16px;color:#fff}.adl header small{color:#9fb1b4}
.adl details{margin:6px 0;border:1px solid #24353d;border-radius:6px;padding:6px 10px}.adl summary{cursor:pointer;font-weight:700;color:#e2ecf4}.adl summary i{font-style:normal;margin-left:6px;padding:1px 8px;border-radius:9px;background:#1f3340;color:#9fd0e6;font-size:12px}
.adl-table{display:grid;gap:2px;margin-top:8px;font-size:12.5px;overflow:auto}.adl-row{display:grid;grid-template-columns:120px 90px minmax(120px,1.2fr) minmax(120px,1.4fr) 90px minmax(80px,1fr);gap:8px;padding:5px 8px;background:#101b22;border-radius:4px}.adl-row.head{background:none;color:#8fb0b6;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.adl-row small{color:#7f95a0}
.adl-msgs{max-height:340px;overflow:auto;margin-top:6px;display:grid;gap:4px}.adl-msgs p{margin:0!important;padding:6px 9px;border-radius:6px;background:#101b22;font-size:13px;max-width:none}.adl-msgs p.out{background:#16283a}.adl-msgs time{color:#7f95a0;font-size:11px;margin-right:8px}
/* v46c: соглашение при входе, доступ к переписке по основанию */
#legal-gate{max-width:640px;width:calc(100vw - 32px);padding:26px;border:1px solid #e7b06a;border-radius:12px;background:linear-gradient(170deg,#1b232c,#0b1016);color:#e2ecf4;box-shadow:0 30px 80px #000c}
#legal-gate::backdrop{background:#04070bd9;backdrop-filter:blur(4px)}
#legal-gate h2{margin:.2em 0 .5em;font-size:24px;text-transform:uppercase;letter-spacing:.06em}#legal-gate ul{padding-left:20px;display:grid;gap:8px;color:#c6d2dc;line-height:1.45}
#legal-gate details{margin:12px 0;border:1px solid #2c3f48;border-radius:8px;padding:8px 12px}#legal-gate summary{cursor:pointer;color:#ffd08a}.legal-full{max-height:260px;overflow:auto;font-size:13px;color:#b9c6d0}.legal-full h4{margin:10px 0 2px;color:#fff}
.legal-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:14px;cursor:pointer}.legal-check input{width:20px;height:20px;flex:none;margin-top:1px}
#legal-accept{width:100%;padding:14px;font-size:15px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.adl-gate{display:grid;gap:8px;margin-top:8px}.adl-gate .bad{color:#ff9a86}.adl-msgs p.flag{outline:1px solid #ff6a55;background:#3a1712}
/* v47: редактор карт */
#mapedit-btn{position:fixed;left:14px;bottom:14px;z-index:40;padding:10px 16px;border:1px solid #e7b06a;border-radius:8px;background:linear-gradient(180deg,#3a2a14,#17110a);color:#ffe2b0;font-weight:800;letter-spacing:.06em;cursor:pointer;box-shadow:0 8px 22px #000a}
#mapedit-btn:hover{background:linear-gradient(180deg,#5a3f1c,#22190e)}body.phone #mapedit-btn span{display:none}
#dialog:has(.me-root){width:100vw!important;max-width:100vw!important;height:100vh!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#0a0f14!important}
#dialog:has(.me-root) #close{display:none}#dialog:has(.me-root) #content{padding:0!important;max-width:none!important;height:100%}#dialog:has(.me-root) #content>*:not(.me-root){display:none!important}
.me-root{display:flex;flex-direction:column;height:100vh;height:100dvh;color:#e2ecf4}
.me-top{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid #2c3f48;background:linear-gradient(90deg,#1c2a33,#0d1419);min-height:0}.me-top h1{margin:0!important;font-size:24px;text-transform:uppercase;letter-spacing:.08em}.me-top label{font-size:12px;color:#9fb1b4;display:grid;gap:3px;min-width:240px}
.me-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.me-props .me-actions{margin:0}
.me-body{flex:1;min-height:0;display:grid;grid-template-columns:250px minmax(0,1fr) 270px;gap:0}
.me-pal,.me-props{overflow:auto;padding:12px 14px;background:#0d151b;border-right:1px solid #24353d}.me-props{border-right:0;border-left:1px solid #24353d;display:flex;flex-direction:column;gap:8px}
.me-root h4{margin:12px 0 6px!important;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#8fb0b6}.me-root h4 small{display:block;letter-spacing:0;text-transform:none;color:#6f858c;font-weight:400}
.me-grounds{display:grid;grid-template-columns:1fr 1fr;gap:6px}#dialog#dialog .me-grounds button{padding:10px 6px!important;min-height:0!important;border:2px solid #0000!important;border-radius:6px!important;clip-path:none!important;color:#fff!important;text-shadow:0 1px 3px #000;font-size:13px!important}
#dialog#dialog .me-grounds .g-grass{background:#3f5637!important}#dialog#dialog .me-grounds .g-sand{background:#b39a63!important}#dialog#dialog .me-grounds .g-snow{background:#c9d5dd!important;color:#1a2630!important;text-shadow:none}#dialog#dialog .me-grounds .g-asphalt{background:#47494c!important}#dialog#dialog .me-grounds .on{border-color:#ffd08a!important;box-shadow:0 0 14px #ff9a3a88}
.me-chips{display:grid;gap:5px}.me-objs{grid-template-columns:1fr 1fr}
.me-chip{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid #2c3f48;border-radius:6px;background:#132029;cursor:grab;font-size:12.5px;user-select:none}.me-chip:hover{border-color:#ffd08a;background:#1b2d38}.me-chip:active{cursor:grabbing}.me-chip i{font-style:normal;width:20px;text-align:center}.me-chip em{font-style:normal;color:#8fb0b6;font-size:11px}
.me-chip.on{border-color:#ffd08a;box-shadow:0 0 12px #ff9a3a66}.me-chip.sp-a i{color:#6fe08a}.me-chip.sp-b i{color:#ff6a55}
.me-stage{min-width:0;overflow:auto;padding:14px;display:flex;flex-direction:column;align-items:center;gap:8px;background:radial-gradient(ellipse at 50% 0,#17222b,#080c10)}
.me-grid{position:relative;width:min(100%,calc((100dvh - 190px)*1.385));border:2px solid #3d5560;box-shadow:0 12px 34px #000a;background-size:calc(100%/36) calc(100%/26);background-image:linear-gradient(#0000002e 1px,transparent 1px),linear-gradient(90deg,#0000002e 1px,transparent 1px);touch-action:none}
.me-grid.g-grass{background-color:#3f5637}.me-grid.g-sand{background-color:#b39a63}.me-grid.g-snow{background-color:#dde5ea}.me-grid.g-asphalt{background-color:#47494c}.me-grid.brush{cursor:crosshair}
.me-t{position:absolute;pointer-events:none}.me-t.water{background:#2d6a7bdd;box-shadow:inset 0 0 0 1px #7fc4d455}.me-t.ice{background:linear-gradient(135deg,#eaf6fb,#a9d4e6);box-shadow:inset 0 0 0 1px #fff8}
.me-o{position:absolute;display:grid;place-items:center;border:1px solid #000a;border-radius:3px;background:#1f2a22cc;cursor:grab;font-size:clamp(9px,1.25vw,17px);line-height:1;overflow:hidden}.me-o b{pointer-events:none;font-weight:400}
.me-o.sel{outline:2px solid #ffd08a;z-index:3;box-shadow:0 0 14px #ff9a3a}.me-o.k-wall,.me-o.k-fence,.me-o.k-barrier{background:#6b6b66cc}.me-o.k-container,.me-o.k-hulk,.me-o.k-wreck,.me-o.k-boat{background:#5a3f2acc}.me-o.k-house,.me-o.k-warehouse,.me-o.k-ruin,.me-o.k-tower{background:#3a3f48dd}.me-o.k-rock,.me-o.k-rubble{background:#77796fcc}
.me-s{position:absolute;display:grid;place-items:center;border-radius:50%;font-size:clamp(8px,1vw,14px);font-weight:900;cursor:grab;z-index:4;box-shadow:0 0 0 2px #000a}.me-s.a{background:#6fe08a;color:#07210f}.me-s.b{background:#ff6a55;color:#2a0a05}.me-s small{position:absolute;right:-2px;bottom:-3px;font-size:11px;background:#000c;color:#fff;border-radius:6px;padding:0 3px}
.me-hint{max-width:900px;font-size:12.5px;color:#8fa3a8;text-align:center;margin:0!important}
.me-props label{display:grid;gap:3px;font-size:12px;color:#9fb1b4}.me-lv{display:grid;grid-template-columns:1fr 1fr;gap:8px}.me-pub{display:flex!important;align-items:center;gap:8px;font-size:13px!important;color:#e2ecf4!important}.me-pub input{width:18px;height:18px}
@media(max-width:1000px){.me-body{grid-template-columns:1fr;overflow:auto}.me-pal,.me-props{border:0;overflow:visible}.me-root{height:auto;min-height:100dvh}.me-grid{width:100%}}
#dialog#dialog .me-grounds .g-native{grid-column:1/-1;background:linear-gradient(90deg,#3f5637,#6d614a)!important}
/* v47b: правка карты в 3D */
.me-pal.inside .only-out{display:none}.me-grid.g-inside{background-color:#2b3138}.me-o.k-interiorWall{background:#8a8f96}.me-o.k-shelf,.me-o.k-serverRack,.me-o.k-cabinet,.me-o.k-workbench,.me-o.k-counter,.me-o.k-console{background:#4a5f6ecc}.me-o.k-bed,.me-o.k-gurney{background:#6a7f8ecc}
#dialog#dialog .me-3d{border-color:#ffd08a!important;color:#ffe2b0!important}
body.map-editing aside.left,body.map-editing aside.right,body.map-editing footer,body.map-editing .bottom,body.map-editing #radio-line,body.map-editing #mapedit-btn{visibility:hidden}
#me3d{position:fixed;left:12px;top:96px;bottom:12px;width:250px;z-index:45;display:flex;flex-direction:column;border:1px solid #e7b06a;border-radius:10px;background:linear-gradient(180deg,#141d25f2,#0a0f14f2);color:#e2ecf4;box-shadow:0 14px 40px #000c;backdrop-filter:blur(4px)}
#me3d header{display:block;padding:10px 12px;border-bottom:1px solid #2c3f48;background:none;min-height:0}#me3d header b{display:block;font-size:16px}
.me3d-scroll{flex:1;overflow:auto;padding:8px 12px}.me3d-scroll p{font-size:12px;margin:0 0 6px}#me3d h4{margin:10px 0 5px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8fb0b6}
.me3d-tools{display:grid;gap:4px}.me3d-tools.objs{grid-template-columns:1fr 1fr}
#me3d .me3d-tools button{display:flex;align-items:center;gap:6px;padding:6px 8px;min-height:0;border:1px solid #2c3f48;border-radius:6px;background:#132029;color:#e2ecf4;font-size:12px;text-align:left;text-transform:none;letter-spacing:0;clip-path:none;cursor:pointer}
#me3d .me3d-tools button i{font-style:normal;width:18px;text-align:center;flex:none}#me3d .me3d-tools button:hover{border-color:#ffd08a}#me3d .me3d-tools button.on{border-color:#ffd08a;background:#3a2a14;box-shadow:0 0 12px #ff9a3a77}
.me3d-sel{padding:8px 10px;border:1px solid #ffd08a;border-radius:6px;background:#2a1e0f;display:grid;gap:4px}.me3d-sel small{color:#b9a988}.me3d-sel div{display:flex;gap:6px}.me3d-sel button{flex:1;padding:5px!important;min-height:0!important;font-size:12px!important}
#me3d footer{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid #2c3f48;visibility:visible!important}#me3d footer button{flex:1;padding:8px 6px;min-height:0;font-size:12px}
.me-tf{display:grid;grid-template-columns:1fr auto auto;gap:5px;align-items:center;margin-top:6px;font-size:12.5px}.me-tf button{padding:4px 10px!important;min-height:0!important;font-size:14px!important;min-width:34px}.me-tf button[data-me-tf=reset]{grid-column:1/-1;font-size:12px!important}.me-o b{display:block;transition:transform .15s}
#me3d{width:290px}#me3d button{min-width:0!important;white-space:nowrap}#me3d .me3d-sel{overflow:hidden}#me3d .me3d-sel>div:not(.me-tf){display:grid;grid-template-columns:1fr 1fr}#me3d .me-tf{grid-template-columns:1fr 38px 38px}#me3d .me-tf button{padding:4px 0!important}#me3d footer{flex-wrap:nowrap}#me3d footer button{padding:8px 4px!important;font-size:11px!important;letter-spacing:0!important}
.me-models{grid-column:1/-1;display:grid;gap:4px;padding:6px;margin:-1px 0 4px;border:1px solid #ffd08a66;border-radius:6px;background:#1c160c}.me-chip.model{background:#241b0e;border-color:#5a4630}.me-chip em{margin-left:auto}
.me-mods{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.me-mods button{padding:4px 8px!important;min-height:0!important;font-size:11.5px!important;text-transform:none!important;letter-spacing:0!important}#dialog#dialog .me-mods button.on,#me3d .me-mods button.on{border-color:#ffd08a!important;color:#ffe2b0!important;box-shadow:0 0 10px #ff9a3a66}
#me3d .me-models button{background:#241b0e}

#app .player-guide ul.credits{margin:8px 0 10px;padding-left:18px;font-size:12px;line-height:1.5;opacity:.85;word-break:break-word}

/* Магазины в разгрузке: подсумки для магазинов, ячейки и карманы */
.beltx .mag-cell{position:relative}
.beltx .mag-cell .quantity{font-size:11px;padding:1px 4px;background:#0b1410d9;border:1px solid #c9a45a66;color:#ffe2a3}
.beltx .magpx-row{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}
.beltx .magpx{border:1px solid #6b7c4f;border-radius:6px;background:linear-gradient(180deg,#26301f,#1a2116);padding:5px 6px 6px}
.beltx .magpx small{display:block;font-size:11px;color:#b9c79a;margin-bottom:4px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.beltx .magpx>div{display:flex;gap:5px}
.beltx .magpx .inventory-cell,.beltx .magpx .beltx-free{width:58px;height:58px}
.beltx .mag-cell .quantity{display:block!important;position:absolute;right:3px;bottom:3px;z-index:2}

/* ===== Зал славы (рейтинг) ===== */
.rkx{--gold:#f1c86a;--gold2:#b98a3c;--silver:#d8dee6;--bronze:#d08a52;--ink:#0b0f0d;color:#efe7d2;display:flex;flex-direction:column;gap:14px}
.rkx-hero{position:relative;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:26px 24px;border-radius:10px;overflow:hidden;border:1px solid #c9a45a55;background:linear-gradient(100deg,#070a08f2 0,#0a0f0cd9 45%,#1a0f06b3 100%),var(--rkx-bg) center 40%/cover;box-shadow:inset 0 0 0 1px #00000080,0 10px 30px #0008}
.rkx-hero::after{content:'';position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.rkx-title{position:relative;max-width:640px}
.rkx-laurel{position:absolute;left:-6px;top:-14px;width:150px;color:#f1c86a2e;pointer-events:none}
.rkx-kicker{display:block;font-size:11px;letter-spacing:4px;color:var(--gold);margin-bottom:4px}
.rkx-title h1{margin:0 0 8px;font-family:Impact,'Arial Narrow','Segoe UI',sans-serif;font-size:clamp(34px,6vw,58px);letter-spacing:.12em;line-height:1;background:linear-gradient(180deg,#fff6dc,#e9c98a 45%,#a8772e);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #1a0f05) drop-shadow(0 0 18px #ff9a3a44)}
.rkx-title p{margin:0;color:#d7ccb2;font-size:13px;line-height:1.5;max-width:560px}
.rkx-cta{margin-top:14px;background:linear-gradient(180deg,#f1c86a,#b98a3c)!important;color:#1a1206!important;border:0!important;font-weight:800;letter-spacing:1px;padding:10px 18px!important}
.rkx-me{position:relative;min-width:190px;text-align:center;padding:14px 16px;border-radius:10px;background:radial-gradient(circle at 50% 0,#3a2a12,#120d07 70%);border:1px solid #c9a45a77;box-shadow:0 0 24px #ffb24a22,inset 0 0 18px #00000090}
.rkx-me small{display:block;letter-spacing:3px;font-size:11px;color:var(--gold)}
.rkx-me b{display:block;font-size:46px;line-height:1.05;font-family:Impact,'Arial Narrow',sans-serif;color:#fff1cf;text-shadow:0 0 16px #ffb24a88}
.rkx-me span{display:block;font-size:12px;color:#e8dcc0}
.rkx-me em{display:block;margin:6px 0 8px;font-style:normal;font-size:11px;color:#ffcf7a}
.rkx-me button{font-size:11px!important;padding:5px 10px!important}
.rkx-front{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 14px;border-radius:8px;background:#0d1210;border:1px solid #ffffff14}
.rkx-front span{font-size:12px;letter-spacing:2px;font-weight:700;white-space:nowrap}.rkx-front .v{color:#ff8f6b}.rkx-front .w{color:#7fbcff}.rkx-front b{font-size:16px;color:#fff}
.rkx-front-bar{position:relative;height:12px;border-radius:6px;background:linear-gradient(90deg,#3a68a8,#7fbcff);overflow:visible;box-shadow:inset 0 0 0 1px #0008}
.rkx-front-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:6px 0 0 6px;background:linear-gradient(90deg,#8e2b1a,#ff8f6b)}
.rkx-front-bar em{position:absolute;top:-5px;bottom:-5px;width:4px;margin-left:-2px;background:#fff3c4;box-shadow:0 0 12px #ffd77a,0 0 4px #fff;border-radius:2px}
.rkx-front small{grid-column:1/-1;text-align:center;font-size:11px;color:#8f9a90;letter-spacing:1px}
.rkx-h{display:flex;align-items:center;gap:12px;margin:8px 0 0;font-size:13px;letter-spacing:4px;text-transform:uppercase;color:var(--gold)}
.rkx-h::before,.rkx-h::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,#c9a45a88)}.rkx-h::after{transform:scaleX(-1)}
.rkx-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:12px;align-items:end;padding:0 4px}
.rkx-pod{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 10px 0!important;border-radius:10px 10px 4px 4px!important;text-align:center;cursor:pointer;color:#f3ead4!important;overflow:hidden;--c:var(--silver);background:linear-gradient(180deg,#1b211d,#0f1411)!important;border:1px solid color-mix(in srgb,var(--c) 45%,transparent)!important;box-shadow:0 0 22px color-mix(in srgb,var(--c) 18%,transparent),inset 0 1px 0 #ffffff14;transition:transform .2s}
.rkx-pod:hover{transform:translateY(-3px)}
.rkx-p1{--c:var(--gold);background:radial-gradient(ellipse at 50% 0,#4a3512 0,#1a160d 60%,#0f0d08)!important;min-height:270px}
.rkx-p2{--c:var(--silver);min-height:228px}.rkx-p3{--c:var(--bronze);min-height:210px}
.rkx-pod-top{position:relative;display:flex;flex-direction:column;align-items:center}
.rkx-crown{width:46px;color:var(--gold);filter:drop-shadow(0 0 10px #ffc24a);margin-bottom:-4px}
.rkx-medal{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font:900 22px/1 Impact,'Arial Narrow',sans-serif;color:#1a1206;background:radial-gradient(circle at 35% 30%,#fff,var(--c) 45%,color-mix(in srgb,var(--c) 55%,#000));box-shadow:0 0 0 3px #0b0f0d,0 0 0 4px var(--c),0 0 18px var(--c)}
.rkx-p1 .rkx-medal{width:58px;height:58px;font-size:28px}
.rkx-pod b{margin-top:8px;font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rkx-p1 b{font-size:18px}
.rkx-pod small{font-size:11px;color:#b7b09c}.rkx-pod .rkx-div{color:#d9c48f}
.rkx-pod strong{margin-top:6px;font:900 30px/1 Impact,'Arial Narrow',sans-serif;color:var(--c);text-shadow:0 0 14px color-mix(in srgb,var(--c) 60%,transparent)}.rkx-p1 strong{font-size:38px}
.rkx-pod em{font-style:normal;font-size:11px;letter-spacing:2px;color:#9c967f;text-transform:uppercase}
.rkx-plinth{margin-top:auto;align-self:stretch;margin-left:-10px;margin-right:-10px;padding:9px 6px 10px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#1a1206;font-weight:800;background:linear-gradient(180deg,var(--c),color-mix(in srgb,var(--c) 55%,#000));box-shadow:inset 0 2px 0 #ffffff66}
.rkx-plinth i{display:block;font-style:normal;font:900 20px/1 Impact,'Arial Narrow',sans-serif;letter-spacing:4px;margin-bottom:2px}
.rkx-p1 .rkx-plinth{padding:14px 6px}
.rkx-pod.empty{opacity:.55;cursor:default;filter:grayscale(.6)}
.rkx-pod.self,.rkx-row.self{outline:2px solid #7ee08a;outline-offset:2px}
.rkx-list{display:flex;flex-direction:column;gap:5px}
.rkx-row{display:grid!important;grid-template-columns:38px 22px minmax(120px,1.4fr) 70px 54px 1fr 58px;gap:10px;align-items:center;padding:8px 12px!important;border-radius:6px!important;text-align:left;background:linear-gradient(90deg,#141a16,#0f1311)!important;border:1px solid #ffffff12!important;color:#e9e2cc!important}
.rkx-row:hover{border-color:#c9a45a66!important;background:linear-gradient(90deg,#1c231d,#121612)!important}
.rkx-row.elite{border-left:3px solid var(--gold)!important;background:linear-gradient(90deg,#2a2210,#121410 55%)!important}
.rkx-row>i{font:900 18px/1 Impact,'Arial Narrow',sans-serif;font-style:normal;color:#cfc4a6;text-align:center}.rkx-row.elite>i{color:var(--gold)}
.rkx-chev{display:flex;flex-direction:column;gap:2px}.rkx-chev i{display:block;width:16px;height:4px;clip-path:polygon(0 0,50% 100%,100% 0,100% 40%,50% 140%,0 40%);background:#3a423b}
.rkx-chev.t1 i:nth-child(1),.rkx-chev.t2 i:nth-child(-n+2),.rkx-chev.t3 i{background:var(--gold)}
.rkx-name{display:flex;flex-direction:column;min-width:0}.rkx-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rkx-name small{font-size:11px;color:#8f9a90;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rkx-side{font-size:11px;font-weight:700;letter-spacing:1px}.rkx-side.vostok{color:#ff9a78}.rkx-side.aurelius{color:#8cc4ff}
.rkx-lvl{font-size:12px;color:#c9c1a8}
.rkx-bar{height:6px;border-radius:3px;background:#ffffff10;overflow:hidden}.rkx-bar em{display:block;height:100%;background:linear-gradient(90deg,#8a5a1c,var(--gold));box-shadow:0 0 8px #ffbf5a88}
.rkx-row strong{text-align:right;font:900 18px/1 Impact,'Arial Narrow',sans-serif;color:#ffe2a3}
.rkx-units{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.rkx-unit{position:relative;display:grid;grid-template-columns:30px 44px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:8px;background:linear-gradient(135deg,#151b17,#0e120f);border:1px solid #ffffff14;overflow:hidden}
.rkx-unit .unit-emblem{width:44px;height:44px;border-radius:6px;object-fit:cover;display:grid;place-items:center;font-size:22px;background:#1f271f}
.rkx-unit-rank{font:900 20px/1 Impact,'Arial Narrow',sans-serif;color:#cfc4a6;text-align:center}
.rkx-unit-name{min-width:0;display:flex;flex-direction:column}.rkx-unit-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rkx-unit-name small{font-size:11px;color:#8f9a90}
.rkx-unit strong{font:900 22px/1 Impact,'Arial Narrow',sans-serif;color:#ffe2a3;text-align:right}.rkx-unit strong em{display:block;font:600 11px/1.4 'Segoe UI',sans-serif;letter-spacing:2px;color:#9c967f;text-transform:uppercase;font-style:normal}
.rkx-unit.top{grid-column:span 1;padding:16px 14px;--c:var(--silver);border-color:color-mix(in srgb,var(--c) 50%,transparent);box-shadow:0 0 20px color-mix(in srgb,var(--c) 16%,transparent)}
.rkx-unit.t1{--c:var(--gold);background:linear-gradient(135deg,#3a2a10,#141009 70%)}.rkx-unit.t3{--c:var(--bronze)}
.rkx-unit.top::before{content:'';position:absolute;right:-20px;top:-20px;width:90px;height:90px;background:radial-gradient(circle,color-mix(in srgb,var(--c) 30%,transparent),transparent 70%)}
.rkx-unit.top .rkx-unit-rank{color:var(--c);font-size:26px}.rkx-unit.top .unit-emblem{width:52px;height:52px;box-shadow:0 0 0 2px var(--c)}
.rkx-empty{color:#9c967f;font-style:italic;margin:2px 0}
@media (max-width:720px){.rkx-hero{grid-template-columns:1fr;padding:18px 14px}.rkx-me{min-width:0}.rkx-podium{gap:6px}.rkx-p1{min-height:230px}.rkx-p2{min-height:200px}.rkx-p3{min-height:186px}.rkx-pod b{font-size:12px}.rkx-p1 b{font-size:14px}.rkx-pod strong{font-size:22px}.rkx-p1 strong{font-size:28px}.rkx-plinth{font-size:11px;letter-spacing:1px}.rkx-row{grid-template-columns:30px minmax(0,1fr) 50px 48px;gap:6px}.rkx-row .rkx-chev,.rkx-row .rkx-bar,.rkx-row .rkx-lvl{display:none}.rkx-front{grid-template-columns:1fr;text-align:center}}
.rkx .rkx-row.self,.rkx .rkx-pod.self{outline:2px solid #7ee08a!important;outline-offset:2px;box-shadow:0 0 18px #7ee08a55!important}
.rkx-units.top3{grid-template-columns:repeat(3,1fr)}
.rkx-units.top3 .rkx-unit{grid-template-columns:34px 60px 1fr;grid-template-rows:auto auto;padding:16px}
.rkx-units.top3 .rkx-unit strong{grid-column:3;text-align:left;font-size:28px}
.rkx-units.top3 .rkx-unit strong em{display:inline;margin-left:6px}
.rkx-units.top3 .unit-emblem{width:60px!important;height:60px!important;grid-row:1/3;grid-column:2;font-size:30px}
.rkx-units.top3 .rkx-unit-rank{grid-row:1/3}
.rkx-units.top3 .rkx-unit-name b{font-size:16px;white-space:normal}
.rkx-units:empty{display:none}
@media (max-width:720px){.rkx-units.top3{grid-template-columns:1fr}}
.rkx .rkx-row.self{border:1px solid #7ee08a!important;border-left:4px solid #7ee08a!important;background:linear-gradient(90deg,#16301c,#101611 60%)!important}
.rkx .rkx-row.self .rkx-name small::after{content:' · это вы';color:#7ee08a}
/* Аватары в рейтинге */
.rkx .rkx-ava{display:block;flex:none;width:34px;height:34px;border-radius:6px;border:1px solid #ffffff2a;background-color:#1a201b;background-repeat:no-repeat;pointer-events:none;box-shadow:0 2px 6px #0008}
.rkx-row{grid-template-columns:38px 22px 38px minmax(120px,1.4fr) 70px 54px 1fr 58px!important}
.rkx-pod-ava{position:relative;display:flex;justify-content:center}
.rkx-pod .rkx-ava{width:78px;height:78px;border-radius:50%;border:3px solid var(--c);box-shadow:0 0 0 3px #0b0f0d,0 0 22px color-mix(in srgb,var(--c) 55%,transparent)}
.rkx-p1 .rkx-ava{width:96px;height:96px}
.rkx-pod-ava .rkx-medal{position:absolute;right:-8px;bottom:-6px;width:32px!important;height:32px!important;font-size:16px!important}
.rkx-p1 .rkx-pod-ava .rkx-medal{width:38px!important;height:38px!important;font-size:19px!important}
.rkx-crown{margin-bottom:-2px}
@media (max-width:720px){.rkx-row{grid-template-columns:30px 30px minmax(0,1fr) 50px 48px!important}.rkx .rkx-row .rkx-ava{width:28px;height:28px}.rkx-pod .rkx-ava{width:54px;height:54px}.rkx-p1 .rkx-ava{width:66px;height:66px}}
/* Магазины: ячейки склада и места на снаряжении */
.inventory-grid .store-mag .quantity,.beltx .mag-cell .quantity{font-size:11px!important;padding:1px 4px;border-radius:3px;background:#0b1410e0;border:1px solid #c9a45a66;color:#ffe2a3;right:3px;bottom:3px;left:auto;top:auto}
.beltx .mag-dest{cursor:pointer;color:#ffd77a!important;border-color:#ffd77a!important;box-shadow:inset 0 0 0 1px #ffd77a88,0 0 10px #ffd77a55;animation:magDest 1.2s ease-in-out infinite}
@keyframes magDest{50%{box-shadow:inset 0 0 0 1px #ffd77a,0 0 16px #ffd77a99}}
.beltx .mag-hint{color:#ffd77a!important}
.item-inspector .mag-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.item-inspector .mag-actions button{flex:1 1 140px}
.item-inspector .mag-place-h{margin:10px 0 0;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#c9a45a}
.magpx .inventory-cell .icon{width:100%!important;height:100%!important}
.magpx .cell-label{display:none}
.vestx-cells .vestx-free.mag-dest{outline:2px dashed #ffd77a;outline-offset:-4px;cursor:pointer}

/* Акцент на доске объявлений после первого патруля */
body.board-hint #buildings .base-building[data-open="command"]{z-index:5}
body.board-hint #buildings .base-building[data-open="command"]>span{animation:bhPulse 1.6s ease-in-out infinite;box-shadow:0 0 0 2px #ffd36a,0 0 22px 6px #ffb84a99!important}
body.board-hint #buildings .base-building[data-open="command"]::after{content:'НОВЫЕ ПОРУЧЕНИЯ';position:absolute;left:var(--label-x,50%);top:var(--label-y,50%);transform:translate(-50%,-190%);padding:3px 8px;border-radius:4px;background:#ffd36a;color:#1a1206;font:800 11px/1.2 'Segoe UI',sans-serif;letter-spacing:1px;white-space:nowrap;box-shadow:0 2px 10px #0009;animation:bhBob 1.6s ease-in-out infinite;pointer-events:none}
@keyframes bhPulse{50%{box-shadow:0 0 0 3px #ffe39a,0 0 34px 12px #ffb84acc}}
@keyframes bhBob{50%{transform:translate(-50%,-215%)}}
body.board-hint [data-open="board"]:not(#board-callout *){animation:bhPulse 1.6s ease-in-out infinite;box-shadow:0 0 0 2px #ffd36a,0 0 18px 4px #ffb84a88}
#board-callout{position:fixed;right:18px;bottom:150px;z-index:900;display:grid;grid-template-columns:96px 1fr;gap:12px;width:min(390px,calc(100vw - 32px));padding:12px;border-radius:10px;background:linear-gradient(135deg,#2b2212f2,#14110bf2);border:1px solid #ffd36a99;box-shadow:0 12px 34px #000b,0 0 26px #ffb84a44;color:#f3ead4;animation:bcIn .5s cubic-bezier(.2,.8,.2,1) both}
#board-callout .bc-pin{position:absolute;top:-7px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff9d8a,#b3261e);box-shadow:0 2px 4px #000a}
#board-callout .bc-art{border-radius:6px;background-size:cover;background-position:50% 30%;min-height:96px;box-shadow:inset 0 0 0 1px #ffffff22}
#board-callout small{display:block;font-size:11px;letter-spacing:2px;color:#ffd36a}
#board-callout b{display:block;font-size:17px;margin:2px 0 4px}
#board-callout p{margin:0 0 8px;font-size:12px;line-height:1.4;color:#d9cfb6}
#board-callout .bc-actions{display:flex;gap:8px}
#board-callout .bc-actions .primary{flex:1;animation:bhPulse 1.6s ease-in-out infinite}
#board-callout .bc-later{background:transparent!important;border:1px solid #ffffff33!important;color:#cfc4a6!important}
@keyframes bcIn{from{opacity:0;transform:translateY(16px)}}
@media (max-width:720px){#board-callout{right:8px;left:8px;width:auto;bottom:84px;grid-template-columns:70px 1fr}#board-callout .bc-art{min-height:70px}}
@media (prefers-reduced-motion:reduce){body.board-hint *,#board-callout,#board-callout *{animation:none!important}}

/* Анимация разборки на верстаке */
#salvage-fx{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#2a1d0dcc,#050607e6 70%);animation:sfxFade .25s ease-out both}
#salvage-fx.out{animation:sfxFade .3s ease-in reverse both}
.sfx-bench{width:min(560px,92vw);padding:22px 22px 18px;border-radius:12px;text-align:center;color:#f1e8d2;background:linear-gradient(180deg,#23201b,#14120f);border:1px solid #c9a45a66;box-shadow:0 20px 60px #000c,inset 0 1px 0 #ffffff12}
.sfx-kicker{font-size:11px;letter-spacing:4px;color:#e3b05c}
.sfx-stage{position:relative;height:250px;margin:6px 0 8px;border-radius:8px;overflow:hidden;background:repeating-linear-gradient(90deg,#3b2d1f 0 46px,#33271b 46px 48px),linear-gradient(#0000,#0006);box-shadow:inset 0 0 40px #000c}
.sfx-item{position:absolute;left:50%;top:50%;width:110px;height:110px;margin:-55px 0 0 -55px;animation:sfxShake .9s ease-in-out both,sfxBreak .35s .95s ease-in forwards}
.sfx-item .icon{width:100%!important;height:100%!important}
.sfx-tool{position:absolute;left:50%;top:50%;width:70px;height:12px;margin:-90px 0 0 10px;border-radius:3px;background:linear-gradient(90deg,#8b8f94,#d9dde1 40%,#6a6e72);box-shadow:0 2px 6px #000a;transform-origin:0 50%;animation:sfxTool .3s ease-in-out 3 alternate both}
.sfx-tool::after{content:'';position:absolute;right:-22px;top:-8px;width:26px;height:28px;border-radius:3px;background:linear-gradient(#7a4a24,#4c2c14)}
.sfx-spark{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#ffd27a;box-shadow:0 0 8px 2px #ff9a3a;opacity:0;animation:sfxSpark var(--t) .95s ease-out forwards}
.sfx-part{position:absolute;left:50%;top:50%;width:76px;margin:-38px 0 0 -38px;opacity:0;animation:sfxFly .7s calc(1.05s + var(--j)*.08s) cubic-bezier(.2,.9,.25,1.2) forwards}
.sfx-part .icon{width:64px!important;height:64px!important;margin:0 auto;display:block;border-radius:8px;box-shadow:0 0 0 1px #c9a45a88,0 0 16px #ffb24a55}
.sfx-part em{position:absolute;top:-6px;right:0;padding:1px 6px;border-radius:9px;background:#ffd27a;color:#1a1206;font:800 12px/1.3 'Segoe UI',sans-serif;font-style:normal}
.sfx-part small{display:block;margin-top:4px;font-size:11px;line-height:1.2;color:#e8dcc0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfx-bench h3{margin:4px 0}.sfx-bench p{margin:0 0 12px;font-size:13px;color:#cfc4a6}
@keyframes sfxFade{from{opacity:0}}
@keyframes sfxShake{0%,100%{transform:none}10%{transform:translate(-3px,1px) rotate(-3deg)}20%{transform:translate(3px,-1px) rotate(3deg)}30%{transform:translate(-4px,0) rotate(-4deg)}40%{transform:translate(4px,1px) rotate(4deg)}50%{transform:translate(-3px,-1px) rotate(-2deg)}60%{transform:translate(3px,0) rotate(3deg)}70%{transform:translate(-2px,1px) rotate(-2deg)}80%{transform:translate(2px,-1px) rotate(2deg)}}
@keyframes sfxBreak{50%{filter:brightness(2.2);transform:scale(1.12)}to{opacity:0;transform:scale(.4) rotate(18deg);filter:brightness(3) blur(2px)}}
@keyframes sfxTool{from{transform:rotate(-30deg)}to{transform:rotate(12deg)}}
@keyframes sfxSpark{0%{opacity:1;transform:rotate(var(--a)) translateX(0)}100%{opacity:0;transform:rotate(var(--a)) translateX(var(--d))}}
@keyframes sfxFly{0%{opacity:0;transform:translate(0,0) scale(.3) rotate(-20deg)}70%{opacity:1}100%{opacity:1;transform:translate(var(--x),0) scale(1) rotate(0)}}
@media (prefers-reduced-motion:reduce){#salvage-fx *{animation-duration:.01s!important;animation-delay:0s!important}}

/* Игровое окно подтверждения */
#game-confirm{position:fixed;inset:0;z-index:10100;display:grid;place-items:center;padding:16px;background:#04060599;backdrop-filter:blur(2px);animation:sfxFade .18s ease-out both}
#game-confirm.out{animation:sfxFade .18s ease-in reverse both}
.gc-card{position:relative;width:min(440px,100%);padding:18px 18px 16px;border-radius:10px;color:#efe7d2;background:linear-gradient(180deg,#1f2621,#121612);border:1px solid #6f8a5a88;box-shadow:0 18px 50px #000d,inset 0 1px 0 #ffffff14;overflow:hidden;animation:gcPop .22s cubic-bezier(.2,.9,.3,1.3) both}
.gc-card.danger{border-color:#e0a24a99}
.gc-stripe{position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(135deg,#7ea35f 0 12px,#1b2217 12px 24px)}
.gc-card.danger .gc-stripe{background:repeating-linear-gradient(135deg,#f2c200 0 12px,#1a1408 12px 24px)}
.gc-head{display:flex;gap:12px;align-items:center;margin-top:6px}
.gc-mark{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font:900 22px/1 Impact,'Arial Narrow',sans-serif;color:#13180f;background:radial-gradient(circle at 35% 30%,#d8f0b8,#7ea35f)}
.gc-card.danger .gc-mark{background:radial-gradient(circle at 35% 30%,#fff1b8,#f2a20a);color:#1a1206}
.gc-head small{display:block;font-size:11px;letter-spacing:3px;color:#9fbf86}.gc-card.danger .gc-head small{color:#f2c25a}
.gc-head h3{margin:2px 0 0;font-size:18px;line-height:1.25}
.gc-art{display:flex;justify-content:center;margin:12px 0 0}.gc-art .icon{width:84px!important;height:84px!important;border-radius:8px;box-shadow:0 0 0 1px #ffffff22}
.gc-card p{margin:12px 0 16px;font-size:14px;line-height:1.5;color:#d6ccb4}
.gc-actions{display:flex;gap:10px;justify-content:flex-end}
.gc-actions button{min-width:120px}
.gc-cancel{background:transparent!important;border:1px solid #ffffff33!important;color:#d6ccb4!important}
@keyframes gcPop{from{opacity:0;transform:translateY(10px) scale(.96)}}

/* Мастерская: вкладки */
.ws-tabs{display:flex;gap:6px;margin:14px 0 12px;padding:6px;border-radius:10px;background:#0d110e;border:1px solid #ffffff14}
.ws-tab{flex:1;display:flex!important;align-items:center;justify-content:center;gap:8px;padding:10px 12px!important;border-radius:7px!important;background:transparent!important;border:1px solid transparent!important;color:#b9b19a!important;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.ws-tab i{font-style:normal;font-size:16px;opacity:.85}
.ws-tab:hover{background:#ffffff0a!important;color:#efe7d2!important}
.ws-tab.active{background:linear-gradient(180deg,#e3b05c,#b9822f)!important;color:#1a1206!important;box-shadow:0 4px 14px #e3b05c44}
.ws-pane{animation:sfxFade .2s ease-out both}
.sfx-tool{animation:sfxTool .3s ease-in-out 3 alternate both,sfxGone .25s .95s forwards!important}@keyframes sfxGone{to{opacity:0}}

/* ===== Склад: современный складской стиль ===== */
#dialog[data-panel="inventory"]{--wh-y:#f2c200;--wh-steel:#2a3036;--wh-steel2:#1b2024;--wh-ink:#0e1114;--wh-line:#ffffff14;--wh-beam:#d9781f}
#dialog[data-panel="inventory"] .inventory-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;margin:10px 0;border-radius:8px;background:linear-gradient(90deg,#14181b,#1d2328);border:1px solid var(--wh-line);box-shadow:inset 0 -2px 0 #f2c20033}
#dialog[data-panel="inventory"] .inventory-money{font:800 20px/1.1 'Segoe UI',sans-serif;color:#ffe08a}
#dialog[data-panel="inventory"] .inventory-layout{display:grid!important;grid-template-columns:minmax(270px,320px) minmax(0,1fr) minmax(240px,290px)!important;gap:14px!important;align-items:start!important}
#dialog[data-panel="inventory"] .inventory-layout>section{border-radius:10px!important;background:linear-gradient(180deg,var(--wh-steel),var(--wh-steel2))!important;border:1px solid var(--wh-line)!important;box-shadow:0 10px 28px #0007,inset 0 1px 0 #ffffff10!important;padding:12px!important;position:relative}
#dialog[data-panel="inventory"] .inventory-layout>section::before{content:'';position:absolute;left:12px;right:12px;top:0;height:4px;border-radius:0 0 3px 3px;background:repeating-linear-gradient(135deg,var(--wh-y) 0 10px,#15120a 10px 20px);opacity:.85}
#dialog[data-panel="inventory"] .inventory-layout>section>h3{margin:6px 0 10px;font-size:13px;letter-spacing:3px;color:#cfd6db}
/* персонаж: компактная «кабинка» */
#dialog[data-panel="inventory"] .equipped-figure{max-height:170px;overflow:hidden;border-radius:8px}
#dialog[data-panel="inventory"] .equipped-figure img,#dialog[data-panel="inventory"] .equipped-figure canvas{max-height:150px;width:100%;object-fit:cover;object-position:50% 25%}
#dialog[data-panel="inventory"] .paperdoll{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:8px 0!important}
#dialog[data-panel="inventory"] .paperdoll .inventory-cell{height:auto!important;aspect-ratio:1/1.08;padding:4px!important;border-radius:7px!important;background:linear-gradient(180deg,#323a41,#22282d)!important;border:1px solid #ffffff1c!important}
#dialog[data-panel="inventory"] .paperdoll .inventory-cell .cell-label{font-size:11px!important;letter-spacing:.5px}
#dialog[data-panel="inventory"] .equipment-note{font-size:11px;color:#8d979e}
/* стеллаж */
#dialog[data-panel="inventory"] .inventory-storage .section-tabs{display:flex;gap:4px;margin:8px 0 6px}
#dialog[data-panel="inventory"] .inventory-storage .section-tabs button{flex:1;border-radius:6px 6px 0 0!important;background:#1a1f23!important;color:#aab3b9!important;border:1px solid var(--wh-line)!important;border-bottom-color:transparent!important;font-weight:800;letter-spacing:2px}
#dialog[data-panel="inventory"] .inventory-storage .section-tabs button.active{background:var(--wh-y)!important;color:#15120a!important}
#dialog[data-panel="inventory"] .category-tabs{display:flex!important;flex-wrap:wrap;gap:5px!important;margin:6px 0 10px!important}
#dialog[data-panel="inventory"] .category-tabs button{padding:6px 10px!important;font-size:11px!important;letter-spacing:1.5px;border-radius:999px!important;background:#151a1d!important;border:1px solid #ffffff1f!important;color:#c6ced3!important;box-shadow:none!important;clip-path:none!important}
#dialog[data-panel="inventory"] .category-tabs button.active,#dialog[data-panel="inventory"] .category-tabs button[aria-pressed="true"]{background:#f2c2001f!important;border-color:var(--wh-y)!important;color:#ffe08a!important}
#dialog[data-panel="inventory"] .storage-meta{font-size:11px;color:#8d979e}
#dialog[data-panel="inventory"] .wh-rack-head{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;margin:0 0 8px;border-radius:5px;background:linear-gradient(90deg,#f2c200,#d9a400);color:#15120a;font:800 11px/1 'Segoe UI',sans-serif;letter-spacing:2px;box-shadow:0 2px 0 #00000055}
#dialog[data-panel="inventory"] .wh-rack-head i{font-style:normal;margin-right:4px}
#dialog[data-panel="inventory"] .inventory-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(88px,1fr))!important;gap:14px 8px!important;padding:10px 10px 14px;border-radius:8px;background:linear-gradient(90deg,#0c0f11 0,#141a1e 8px,#141a1e calc(100% - 8px),#0c0f11 100%);border:1px solid #00000080;box-shadow:inset 0 0 24px #000a}
#dialog[data-panel="inventory"] .inventory-grid .inventory-cell{position:relative;height:auto!important;aspect-ratio:1/1.12;padding:5px 5px 18px!important;border-radius:6px 6px 3px 3px!important;background:linear-gradient(180deg,#2c343a,#1e2428)!important;border:1px solid #ffffff1a!important;box-shadow:0 7px 0 -3px var(--wh-beam),0 8px 10px -4px #000c!important;overflow:visible!important;transition:transform .12s,box-shadow .12s}
#dialog[data-panel="inventory"] .inventory-grid .inventory-cell:hover{transform:translateY(-2px);box-shadow:0 9px 0 -3px var(--wh-beam),0 0 0 1px #f2c20088,0 10px 18px -4px #000c!important}
#dialog[data-panel="inventory"] .inventory-grid .inventory-cell.selected{box-shadow:0 7px 0 -3px var(--wh-beam),0 0 0 2px var(--wh-y),0 0 18px #f2c20055!important}
#dialog[data-panel="inventory"] .inventory-grid .inventory-cell.empty{background:repeating-linear-gradient(135deg,#1a1f23 0 8px,#171b1f 8px 16px)!important;opacity:.7}
#dialog[data-panel="inventory"] .inventory-grid .inventory-cell.empty .slot-plus{opacity:.35}
#dialog[data-panel="inventory"] .inventory-grid .inventory-cell .cell-label{position:absolute;left:4px;right:4px;bottom:3px;padding:2px 3px;border-radius:2px;background:#e9edf0;color:#15191c!important;font:700 11px/1.15 'Segoe UI',sans-serif!important;letter-spacing:.3px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none!important}
#dialog[data-panel="inventory"] .inventory-grid .inventory-cell.empty .cell-label{display:none}
#dialog[data-panel="inventory"] .inventory-grid .inventory-cell .quantity{top:4px;right:4px;bottom:auto;left:auto;padding:1px 5px;border-radius:3px;background:var(--wh-y);color:#15120a!important;font:800 11px/1.3 'Segoe UI',sans-serif!important}
#dialog[data-panel="inventory"] .inventory-grid .store-mag .quantity{background:#0b1410e0;color:#ffe2a3!important;border:1px solid #c9a45a66}
/* карточка осмотра — как терминал учёта */
#dialog[data-panel="inventory"] .item-inspector{position:sticky!important;top:8px;background:linear-gradient(180deg,#1b2126,#12161a)!important}
#dialog[data-panel="inventory"] .item-inspector>.eyebrow,#dialog[data-panel="inventory"] .item-inspector .eyebrow{font-family:Consolas,monospace;color:var(--wh-y)!important;letter-spacing:2px}
#dialog[data-panel="inventory"] .item-inspector>.icon{display:block;width:100%!important;height:150px!important;border-radius:8px;background-color:#0d1114!important;box-shadow:inset 0 0 0 1px #ffffff14}
#dialog[data-panel="inventory"] .item-inspector h3{font-size:17px;line-height:1.2}
#dialog[data-panel="inventory"] .item-inspector .item-facts>div{font-family:Consolas,monospace;font-size:12px;padding:4px 0;border-bottom:1px dashed #ffffff1a}
#dialog[data-panel="inventory"] .item-inspector::after{content:'';display:block;height:18px;margin-top:12px;opacity:.35;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 4px,#fff 4px 5px,transparent 5px 8px,#fff 8px 11px,transparent 11px 13px)}
#dialog[data-panel="inventory"] .wh-presets{margin-top:14px}
@media (max-width:1100px){#dialog[data-panel="inventory"] .inventory-layout{grid-template-columns:minmax(250px,300px) minmax(0,1fr)!important}#dialog[data-panel="inventory"] .item-inspector{grid-column:1/-1;position:static!important}}
@media (max-width:720px){#dialog[data-panel="inventory"] .inventory-layout{grid-template-columns:1fr!important}#dialog[data-panel="inventory"] .inventory-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))!important}}

/* ===== Верстак: реалистичные разборка и сборка ===== */
.wb-stage{height:270px!important;background:linear-gradient(180deg,#3a2c1e,#2b2016)!important}
.wb-stage::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,#0000 0 58px,#00000026 58px 60px),repeating-linear-gradient(0deg,#ffffff05 0 3px,#0000 3px 7px);pointer-events:none}
.wb-mat{position:absolute;left:50%;top:22px;width:240px;height:150px;margin-left:-120px;border-radius:8px;background:radial-gradient(ellipse at 50% 45%,#2f4a3a,#1f3328);box-shadow:inset 0 0 0 2px #1a2a21,inset 0 0 22px #0007,0 3px 0 #0005;background-image:radial-gradient(ellipse at 50% 45%,#2f4a3a,#1f3328),repeating-linear-gradient(0deg,#ffffff0c 0 1px,#0000 1px 15px),repeating-linear-gradient(90deg,#ffffff0c 0 1px,#0000 1px 15px);background-blend-mode:normal,overlay,overlay}
.wb-tray{position:absolute;left:24px;right:24px;bottom:14px;height:74px;border-radius:6px;background:linear-gradient(180deg,#5c6268,#3c4146);box-shadow:inset 0 6px 10px #0009,inset 0 -1px 0 #ffffff22,0 2px 0 #0006}
.wb-bowl{position:absolute;right:30px;top:40px;width:46px;height:22px;border-radius:0 0 24px 24px;background:linear-gradient(#8e959b,#555b60);box-shadow:inset 0 4px 6px #0008,0 3px 4px #0007}
.wb-item{position:absolute;left:50%;top:97px;width:120px;height:120px;margin:-60px 0 0 -60px;filter:drop-shadow(0 8px 6px #0009)}
.wb-item .icon{width:100%!important;height:100%!important;background-color:transparent!important;box-shadow:none!important}
.wb-half{position:absolute;inset:0}
.wb-half.l{clip-path:inset(0 50% 0 0)}.wb-half.r{clip-path:inset(0 0 0 50%)}
.wb-salvage .wb-item{animation:wbDrop .35s cubic-bezier(.3,1.4,.5,1) both,wbJitter .08s .35s 10 alternate}
.wb-salvage .wb-half.l{animation:wbSplitL .55s 1.25s cubic-bezier(.4,0,.2,1) forwards}
.wb-salvage .wb-half.r{animation:wbSplitR .55s 1.25s cubic-bezier(.4,0,.2,1) forwards}
.wb-driver{position:absolute;left:50%;top:97px;width:12px;height:92px;margin:-104px 0 0 -6px;border-radius:3px;background:linear-gradient(180deg,#e6492f 0 46%,#2a2a2a 46% 52%,#c9ced2 52%,#8d9297);box-shadow:2px 3px 5px #0008;transform-origin:50% 100%;opacity:0;animation:wbDriver 1.2s .3s ease-in-out forwards}
.wb-screw{position:absolute;left:50%;top:97px;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#9aa1a7 45%,#4c5257);box-shadow:0 1px 2px #000a;transform:translate(var(--sx),var(--sy));opacity:0;animation:wbScrew .5s calc(.42s + var(--k)*.27s) cubic-bezier(.3,.6,.4,1) forwards}
.wb-part{position:absolute;left:50%;bottom:20px;width:78px;margin-left:-39px;opacity:0;text-align:center;animation:wbToTray .5s calc(1.45s + var(--j)*.12s) cubic-bezier(.25,.9,.3,1.15) forwards}
.wb-part .icon{width:56px!important;height:56px!important;margin:0 auto;display:block;border-radius:6px;box-shadow:0 4px 6px #0009,0 0 0 1px #ffffff22}
.wb-part em{position:absolute;top:-6px;right:6px;padding:1px 6px;border-radius:9px;background:#ffd27a;color:#1a1206;font:800 11px/1.3 'Segoe UI',sans-serif;font-style:normal}
.wb-part small{display:block;margin-top:2px;font-size:11px;color:#f1e8d2;text-shadow:0 1px 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* сборка: детали из лотка едут к центру, ключ затягивает, вещь проявляется */
.wb-craft .wb-part{opacity:1;transform:translateX(var(--x));animation:wbToCenter .45s calc(.15s + var(--j)*.22s) cubic-bezier(.5,0,.3,1) forwards}
.wb-craft .wb-item{opacity:0;animation:wbReveal .6s 1.55s cubic-bezier(.2,1.3,.4,1) forwards}
.wb-craft .wb-item::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,#0000 35%,#ffffffaa 50%,#0000 65%);background-size:250% 100%;mix-blend-mode:overlay;animation:wbShine .9s 2.05s ease-out both;pointer-events:none}
.wb-wrench{position:absolute;left:50%;top:97px;width:84px;height:14px;margin:-7px 0 0 -10px;border-radius:7px;background:linear-gradient(180deg,#d4d9dd,#868c91);box-shadow:2px 3px 5px #0008;transform-origin:10px 7px;opacity:0;animation:wbWrench .8s .8s ease-in-out forwards}
.wb-wrench::before{content:'';position:absolute;left:-12px;top:-9px;width:28px;height:32px;border-radius:50%;background:radial-gradient(circle,#0000 0 6px,#c9ced2 6px 13px,#0000 13px);clip-path:polygon(0 0,100% 0,100% 35%,55% 50%,100% 65%,100% 100%,0 100%)}
.wb-flash{position:absolute;left:50%;top:97px;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;box-shadow:0 0 30px 18px #ffe7a8;opacity:0;animation:wbFlash .45s 1.5s ease-out forwards}
.wb-stars{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);padding:1px 8px;border-radius:9px;background:#1a1206;color:#ffd27a;font-size:13px;letter-spacing:2px;white-space:nowrap;box-shadow:0 0 0 1px #ffd27a77}
@keyframes wbDrop{from{opacity:0;transform:translateY(-70px) rotate(-8deg)}}
@keyframes wbJitter{to{transform:translate(1px,-1px) rotate(.6deg)}}
@keyframes wbDriver{0%{opacity:0;transform:translate(-40px,-30px) rotate(-25deg)}10%{opacity:1;transform:translate(-26px,-20px) rotate(-8deg)}22%{transform:translate(-26px,-20px) rotate(-8deg) scaleY(.94)}32%{transform:translate(24px,-18px) rotate(8deg)}44%{transform:translate(24px,-18px) rotate(8deg) scaleY(.94)}55%{transform:translate(-20px,22px) rotate(-6deg)}67%{transform:translate(-20px,22px) rotate(-6deg) scaleY(.94)}78%{transform:translate(26px,20px) rotate(7deg)}88%{opacity:1;transform:translate(26px,20px) rotate(7deg) scaleY(.94)}100%{opacity:0;transform:translate(70px,-40px) rotate(30deg)}}
@keyframes wbScrew{0%{opacity:1;transform:translate(var(--sx),var(--sy)) scale(1)}35%{transform:translate(calc(var(--sx)*1.3),calc(var(--sy) - 30px)) scale(1.2)}100%{opacity:1;transform:translate(150px,-62px) scale(.8)}}
@keyframes wbSplitL{to{opacity:0;transform:translate(-58px,6px) rotate(-12deg)}}
@keyframes wbSplitR{to{opacity:0;transform:translate(58px,6px) rotate(12deg)}}
@keyframes wbToTray{0%{opacity:0;transform:translate(0,-110px) scale(.45) rotate(-25deg)}60%{opacity:1}100%{opacity:1;transform:translate(var(--x),0) scale(1) rotate(0)}}
@keyframes wbToCenter{0%{transform:translateX(var(--x))}100%{opacity:0;transform:translate(0,-118px) scale(.4) rotate(15deg)}}
@keyframes wbWrench{0%{opacity:0;transform:rotate(-70deg)}15%{opacity:1}40%{transform:rotate(-10deg)}55%{transform:rotate(-60deg)}80%{opacity:1;transform:rotate(0)}100%{opacity:0;transform:rotate(10deg)}}
@keyframes wbFlash{0%{opacity:0;transform:scale(.3)}30%{opacity:1}100%{opacity:0;transform:scale(2.4)}}
@keyframes wbReveal{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@keyframes wbShine{from{background-position:130% 0}to{background-position:-40% 0}}
@media (prefers-reduced-motion:reduce){#salvage-fx *{animation-duration:.01s!important;animation-delay:0s!important}}
/* Заявки в друзья: кнопка «Друзья» и «Ещё» подсвечиваются */
@keyframes friendsGlow{0%,100%{box-shadow:0 0 0 0 rgba(242,178,74,0),inset 0 0 0 1px rgba(242,178,74,.55)}50%{box-shadow:0 0 14px 2px rgba(242,178,74,.55),inset 0 0 0 1px rgba(255,214,130,.95)}}
button.friends-alert{position:relative;color:#ffe1a1!important;background:linear-gradient(180deg,rgba(242,178,74,.28),rgba(160,98,24,.22))!important;animation:friendsGlow 1.6s ease-in-out infinite}
.nav-more-btn.friends-alert::after{content:attr(data-alert);position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#d2553f;color:#fff;font:700 11px/17px system-ui,sans-serif;text-align:center;box-shadow:0 0 0 2px #0d1418}
@media (prefers-reduced-motion:reduce){button.friends-alert{animation:none}}
/* Серая зона · новая карта ZoneMAP (1672×941): статичная, точки в % совпадают с картинкой */
#dialog .gray-panorama.gz-map{aspect-ratio:1672/941!important;background-size:100% 100%!important;background-position:0 0!important;transition:none!important;animation:none!important;filter:none!important;height:auto!important}
.gz-map::after{background:radial-gradient(ellipse at 50% 50%,transparent 62%,rgba(4,10,12,.45))!important;animation:none!important}
.gz-map .gz-halo{animation:none!important;opacity:calc(var(--pw)*.75)}
.gz-map.battle{animation:none!important;box-shadow:inset 0 0 0 2px #ff6a55,0 14px 34px rgba(0,0,0,.55)!important}
.gz-map .gz-safe{animation:none!important;width:11%;transform:translate(-50%,-50%);opacity:.75}
/* ── Госпиталь: койка после гибели в серой зоне ── */
.ward{display:grid;grid-template-columns:minmax(200px,300px) minmax(0,1fr);gap:0;border:1px solid #6b2f2a;border-radius:14px;overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,rgba(255,107,94,.16),transparent 55%),linear-gradient(135deg,#1d1416,#0d1a1d 70%);box-shadow:0 14px 36px #0008,inset 0 1px 0 #ffffff14}
.ward-art{position:relative;display:grid;place-items:center;padding:14px;background:linear-gradient(180deg,#0f2226,#0a1416);border-right:1px solid #ffffff10}
.ward-art svg{width:100%;max-width:280px;height:auto}
.ward-ecg{fill:none;stroke:#58e0c0;stroke-width:2.4;stroke-dasharray:100;stroke-dashoffset:100;animation:wardEcg 2.4s linear infinite;filter:drop-shadow(0 0 4px #58e0c0aa)}
@keyframes wardEcg{to{stroke-dashoffset:-100}}
.ward-drop{animation:wardDrop 1.6s ease-in infinite}@keyframes wardDrop{0%{transform:translateY(-4px);opacity:0}30%{opacity:1}100%{transform:translateY(10px);opacity:0}}
.ward-info{display:grid;gap:10px;padding:18px 22px;align-content:start}
.ward-info .eyebrow{color:#ff9a8c;letter-spacing:.14em}
.ward-info h2{margin:0;font-size:26px;color:#fff1ee}
.ward-info p{margin:0;color:#c9d6d3;font-size:13.5px;font-style:italic}
.ward-timer{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}
.ward-timer>div:first-child{display:grid}
.ward-timer b{font:800 34px/1 Consolas,"Roboto Mono",monospace;color:#ffd6cf;text-shadow:0 0 18px rgba(255,107,94,.45);letter-spacing:.04em}
.ward-timer small{color:#9fb2b0;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.ward-bar{height:10px;border-radius:6px;background:#0008;border:1px solid #ffffff1c;overflow:hidden}
.ward-bar i{display:block;height:100%;background:linear-gradient(90deg,#ff6b5e,#f1cd76 60%,#58e0c0);box-shadow:0 0 12px #58e0c066;transition:width 1s linear}
.ward-acts{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.ward-acts small{color:#9fb2b0;font-size:12px}
.ward-locks{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.ward-locks li{padding:3px 9px;border-radius:999px;font-size:11px;color:#ffb3a8;background:rgba(255,107,94,.1);border:1px solid rgba(255,107,94,.35)}
.ward-locks li::before{content:"⛔ ";font-size:11px}
@media(max-width:700px){.ward{grid-template-columns:1fr}.ward-art{border-right:0;border-bottom:1px solid #ffffff10}.ward-timer b{font-size:28px}}
@media(prefers-reduced-motion:reduce){.ward-ecg,.ward-drop{animation:none}}
.hosp-chip{display:flex;align-items:center;gap:7px;width:100%;margin-top:6px;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,107,94,.55)!important;background:linear-gradient(90deg,rgba(255,107,94,.22),rgba(255,107,94,.06))!important;color:#ffd6cf!important;font-size:12px;font-weight:700;cursor:pointer;animation:hospPulse 2.2s ease-in-out infinite}
.hosp-chip i{font-style:normal;color:#ff6b5e;font-size:14px}.hosp-chip b{margin-left:auto;font-family:Consolas,monospace;color:#fff}
@keyframes hospPulse{50%{box-shadow:0 0 14px rgba(255,107,94,.45)}}
.aar-ward{display:flex;align-items:center;gap:14px;margin:10px 0;padding:12px 16px;border-radius:10px;border:1px solid rgba(255,107,94,.5);background:linear-gradient(90deg,rgba(255,107,94,.18),rgba(255,107,94,.04))}
.aar-ward>i{font-style:normal;font-size:26px;color:#ff6b5e}.aar-ward div{flex:1;display:grid;gap:2px}.aar-ward b{color:#ffe2dd}.aar-ward small{color:#c9b9b6}
#dialog .ward .ward-info h2{color:#fff1ee!important;text-shadow:0 2px 12px #000a}
#dialog .ward .ward-info p{color:#c9d6d3!important}
#dialog .ward .ward-info .eyebrow{color:#ff9a8c!important}
#dialog .ward .ward-timer b{color:#ffd6cf!important}
#dialog .ward .ward-timer small,#dialog .ward .ward-acts small{color:#9fb2b0!important}
#dialog .ward svg path.ward-ecg{fill:none!important;stroke:#58e0c0!important}
#vitals .hosp-chip,button.hosp-chip{font:700 11px/1.2 "Segoe UI",system-ui,sans-serif!important;text-transform:none!important;letter-spacing:.02em!important;clip-path:none!important;min-height:0!important;height:auto!important;padding:5px 9px!important;white-space:nowrap!important;justify-content:flex-start!important;border-radius:7px!important}
#vitals .hosp-chip b{font:800 12px/1 Consolas,monospace!important;min-width:38px;text-align:right}
body.phone #base-operator #vitals .hosp-chip{grid-column:1/-1}
/* ═════════ Подразделение · штаб (dvx) ═════════ */
.dvx{--dv-acc:#e8b65a;--dv-acc2:#ff7a52;--dv-line:rgba(232,182,90,.28);--dv-card:linear-gradient(160deg,#17222a,#0d151a);display:grid;gap:14px;color:#e8eef0}
.dvx.west,.dvx-recruit-hero.west{--dv-acc:#6fb8ee;--dv-acc2:#8fd3ff;--dv-line:rgba(111,184,238,.3)}
.dvx-kicker{display:block;font:800 11px/1.2 Consolas,"Roboto Mono",monospace;letter-spacing:.16em;color:var(--dv-acc);text-transform:uppercase}
.dvx-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;min-height:190px;padding:24px 26px;border-radius:16px;overflow:hidden;border:1px solid var(--dv-line);background:var(--dvx-bg) center 40%/cover,#0c1418;box-shadow:0 18px 40px #0009,inset 0 1px 0 #ffffff18;isolation:isolate}
.dvx-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,11,14,.94) 0%,rgba(6,11,14,.78) 45%,rgba(6,11,14,.55) 100%),radial-gradient(60% 120% at 0% 50%,color-mix(in srgb,var(--dv-acc) 22%,transparent),transparent 70%)}
.dvx-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--dv-acc),var(--dv-acc2) 40%,transparent)}
.dvx-emblem{position:relative;width:118px;height:118px;display:grid;place-items:center}
.dvx-emblem .unit-emblem{width:108px!important;height:108px!important;border-radius:22px;object-fit:cover;border:2px solid var(--dv-acc);box-shadow:0 0 0 6px rgba(0,0,0,.35),0 0 34px color-mix(in srgb,var(--dv-acc) 45%,transparent);font-size:52px;display:grid;place-items:center;background:radial-gradient(circle at 40% 30%,#26343c,#0c1418)}
.dvx-lvl{position:absolute;right:-8px;bottom:-8px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3cf,var(--dv-acc) 55%,#7a5520);color:#1b130a;box-shadow:0 4px 14px #000a,0 0 0 3px #0c1418}
.dvx-lvl b{font:900 17px/1 "Segoe UI",sans-serif}.dvx-lvl small{font:800 11px/1 sans-serif;letter-spacing:.08em;margin-top:-6px}
.dvx-id{display:grid;gap:6px;min-width:0}
#dialog .dvx-id h1{margin:0;font:900 clamp(26px,3.4vw,40px)/1.05 "Segoe UI",sans-serif;letter-spacing:.02em;color:#fff;text-shadow:0 3px 18px #000;text-transform:uppercase}
#dialog .dvx-id p{margin:0;color:#c9d6d8;max-width:62ch}
.dvx-notice{font-style:italic;border-left:3px solid var(--dv-acc);padding-left:10px}
.dvx-xp{display:grid;gap:4px;max-width:520px;margin-top:4px}
.dvx-xp-bar{height:8px;border-radius:5px;background:rgba(0,0,0,.55);border:1px solid #ffffff1a;overflow:hidden}
.dvx-xp-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--dv-acc2),var(--dv-acc));box-shadow:0 0 12px color-mix(in srgb,var(--dv-acc) 60%,transparent)}
.dvx-xp small{color:#a9b9bc;font-size:11.5px}
.dvx-stats{display:grid;grid-template-columns:repeat(5,minmax(70px,auto));gap:8px}
.dvx-stats div{display:grid;justify-items:center;gap:2px;padding:10px 12px;border-radius:10px;background:rgba(5,10,13,.62);border:1px solid #ffffff14;backdrop-filter:blur(3px)}
.dvx-stats b{font:800 18px/1.1 "Segoe UI",sans-serif;color:#fff;white-space:nowrap}.dvx-stats small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#93a6aa}
.dvx-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:8px}
#dialog .dvx-act{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:11px 14px!important;min-height:58px;border-radius:11px!important;clip-path:none!important;border:1px solid #ffffff1c!important;background:var(--dv-card)!important;color:#e8eef0!important;text-transform:none!important;letter-spacing:0!important;transition:transform .15s,border-color .15s,box-shadow .15s}
#dialog .dvx-act svg{grid-row:1/3;width:24px;height:24px;color:var(--dv-acc)}
#dialog .dvx-act b{font:800 14px/1.1 "Segoe UI",sans-serif}#dialog .dvx-act small{font-size:11px;color:#93a6aa;font-weight:500}
#dialog .dvx-act:not(:disabled):hover{transform:translateY(-2px);border-color:var(--dv-acc)!important;box-shadow:0 8px 20px #0008,0 0 0 1px var(--dv-line)}
#dialog .dvx-act.hot{background:linear-gradient(135deg,color-mix(in srgb,var(--dv-acc) 30%,#1a1f22),#14191c)!important;border-color:var(--dv-acc)!important}
#dialog .dvx-act.hot svg{color:#fff}
#dialog .dvx-act.slim{display:grid;place-items:center;grid-template-columns:1fr;padding:10px 14px!important}#dialog .dvx-act.slim svg{grid-row:auto}
.dvx-lobby{margin:0;padding:8px 12px;border-radius:8px;background:rgba(232,182,90,.08);border:1px dashed var(--dv-line);color:#e9d7b0;font-size:13px}
.dvx-tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:rgba(0,0,0,.35);border:1px solid #ffffff12;position:sticky;top:0;z-index:4;backdrop-filter:blur(6px)}
#dialog .dvx-tabs button{flex:1;padding:10px 12px!important;border-radius:9px!important;clip-path:none!important;border:0!important;background:transparent!important;color:#9fb1b5!important;font:700 13px/1 "Segoe UI",sans-serif!important;letter-spacing:.04em!important;text-transform:uppercase}
#dialog .dvx-tabs button.active{background:linear-gradient(180deg,color-mix(in srgb,var(--dv-acc) 28%,#1b2328),#141b1f)!important;color:#fff!important;box-shadow:inset 0 -2px 0 var(--dv-acc),0 4px 12px #0007}
#dialog .dvx-tabs button:not(.active):hover{color:#fff!important;background:#ffffff0d!important}
@keyframes dvxIn{from{opacity:0;transform:translateY(6px)}}
.dvx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;align-items:start}
.dvx-card{display:grid;gap:10px;padding:16px 18px;border-radius:14px;background:var(--dv-card);border:1px solid #ffffff16;box-shadow:0 10px 26px #0007,inset 0 1px 0 #ffffff10}
.dvx-card.ready{border-color:var(--dv-acc);box-shadow:0 0 0 1px var(--dv-line),0 0 30px color-mix(in srgb,var(--dv-acc) 22%,transparent)}
.dvx-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
#dialog .dvx-card h3{margin:2px 0 0;font:800 17px/1.2 "Segoe UI",sans-serif;color:#fff}
.dvx-reward{padding:4px 9px;border-radius:999px;font:700 11.5px/1.2 "Segoe UI",sans-serif;color:#1b130a;background:linear-gradient(180deg,#ffe4a3,var(--dv-acc));white-space:nowrap}
.dvx-note{margin:0;color:#9fb1b5!important;font-size:12.5px}
.dvx-pips{display:inline-flex;gap:5px}.dvx-pips i{width:12px;height:12px;border-radius:3px;transform:rotate(45deg);background:#ffffff14;border:1px solid #ffffff2a}.dvx-pips i.on{background:var(--dv-acc);border-color:#fff7;box-shadow:0 0 10px var(--dv-acc)}
.dvx-pips.big{gap:16px;justify-content:center;padding:8px 0}.dvx-pips.big i{width:28px;height:28px;border-radius:6px}
.dvx-bonus{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dvx-bonus span{display:grid;justify-items:center;padding:10px 6px;border-radius:10px;background:#0006;border:1px solid #ffffff12;font-size:11px;color:#9fb1b5;text-transform:uppercase;letter-spacing:.08em}
.dvx-bonus b{font:900 20px/1.1 "Segoe UI",sans-serif;color:var(--dv-acc);letter-spacing:0}
.dvx-unlocks{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:4px}.dvx-unlocks li{font-size:12.5px;color:#8a9a9e}.dvx-unlocks li.done{color:#dfe9ea}.dvx-unlocks li b{display:inline-block;min-width:46px;color:var(--dv-acc)}
.dvx-faces{display:flex;flex-wrap:wrap;gap:10px}
.dvx-face{display:grid;justify-items:center;gap:4px;width:64px}.dvx-face small{font-size:11px;color:#c9d6d8;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dvx .rkx-ava,.dvx .chat-ava{width:48px!important;height:48px!important;border-radius:12px!important;flex:none}
.dvx-link{border:0!important;background:none!important;color:var(--dv-acc)!important;font:700 12px/1 "Segoe UI",sans-serif!important;padding:4px!important;clip-path:none!important;text-transform:none!important}
.dvx-empty{color:#8a9a9e;font-size:13px;margin:0}
.dvx-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.dvx-member{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--dv-card);border:1px solid #ffffff14}
.dvx-member.me{border-color:var(--dv-acc);box-shadow:0 0 0 1px var(--dv-line)}
.dvx-member.role-commander{background:linear-gradient(135deg,color-mix(in srgb,var(--dv-acc) 18%,#141c21),#0d151a)}
.dvx-member-ava{position:relative}
.dvx-dot{position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;background:#56636a;border:2px solid #0d151a}
.dvx-member.online .dvx-dot{background:#58e08a;box-shadow:0 0 8px #58e08a}
.dvx-member:not(.online) .chat-ava{filter:grayscale(.7) brightness(.8)}
.dvx-member-body{display:grid;gap:3px;min-width:0}
.dvx-member-body b{color:#fff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dvx-member-body b em{font-style:normal;font-size:11px;padding:1px 6px;border-radius:5px;background:var(--dv-acc);color:#111;margin-left:4px;vertical-align:2px}
.dvx-member-body small{color:#93a6aa;font-size:11.5px}
.dvx-role{color:var(--dv-acc);font-weight:700}
.dvx-mini-bar{height:4px;border-radius:3px;background:#ffffff12;overflow:hidden}.dvx-mini-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--dv-acc2),var(--dv-acc))}
.dvx-contrib{display:grid;justify-items:center}.dvx-contrib b{font:900 18px/1 "Segoe UI",sans-serif;color:#fff}.dvx-contrib small{font-size:11px;color:#8a9a9e;text-transform:uppercase;letter-spacing:.08em}
.dvx-menu{position:relative}.dvx-menu summary{list-style:none;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#ffffff0e;color:#cfd8da;font-weight:900}
.dvx-menu summary::-webkit-details-marker{display:none}
.dvx-menu[open]>div{position:absolute;right:0;top:36px;z-index:6;display:grid;gap:6px;min-width:220px;padding:10px;border-radius:10px;background:#0d151a;border:1px solid var(--dv-line);box-shadow:0 14px 30px #000c}
#dialog .dvx button.danger{background:linear-gradient(180deg,#5a1f1a,#3a1411)!important;border-color:#ff6b5e88!important;color:#ffd6cf!important}
.dvx-donate{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.dvx-donate label{display:grid;gap:4px;font-size:12px;color:#9fb1b5}
.dvx-upg{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #ffffff10}
.dvx-upg>span:first-child{font-weight:700}.dvx-upg b{color:var(--dv-acc);font-size:16px}
.dvx-upg button{grid-column:1/-1}
.dvx-upg.col{grid-template-columns:1fr auto}.dvx-upg.col>div{display:grid;gap:2px}.dvx-upg.col small{color:#93a6aa;font-size:12px}
.dvx-milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dvx-milestones article{display:grid;justify-items:center;gap:4px;padding:12px 8px;border-radius:10px;background:#0006;border:1px solid #ffffff12;text-align:center}
.dvx-milestones article.ready{border-color:var(--dv-acc)}.dvx-milestones article.got{opacity:.6}
.dvx-milestones b{font:900 22px/1 "Segoe UI",sans-serif;color:var(--dv-acc)}.dvx-milestones small{font-size:11px;color:#8a9a9e;text-transform:uppercase}.dvx-milestones span{font-size:11.5px;color:#cfd8da}
.dvx-vehicles{display:grid;gap:8px}.dvx-vehicles article{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:10px 12px;border-radius:10px;background:#0006;border:1px solid #ffffff12}
.dvx-vehicles article.open{border-color:#58e08a66}.dvx-vehicles small{color:#93a6aa;font-size:11.5px}.dvx-vehicles button{grid-row:1/3;grid-column:2}.dvx-lock{color:#c9a96a!important}
.dvx-manage label,.dvx-exit label{display:grid;gap:4px;font-size:12px;color:#9fb1b5}.dvx-manage textarea{min-height:80px}
.dvx-check{display:flex!important;align-items:center;gap:8px;font-size:13px!important;color:#e8eef0!important}
.dvx-log ol{margin:0;padding:0 0 0 18px;display:grid;gap:5px;max-height:320px;overflow:auto;color:#cfd8da;font-size:12.5px}
.dvx-exit{border-color:#ff6b5e44}.dvx-exit .dvx-kicker{color:#ff8e80}.dvx-exit p{margin:0;color:#9fb1b5;font-size:13px}
/* набор */
.dvx-recruit-hero{grid-template-columns:minmax(0,1fr);min-height:220px}
.dvx-recruit-hero .dvx-id h1{font-size:clamp(30px,4.4vw,52px)!important}
.dvx-split{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:12px;align-items:start}
.dvx-create label{display:grid;gap:4px;font-size:12px;color:#9fb1b5}.dvx-create p{margin:0;color:#c9d6d8;font-size:13px}.dvx-create small{color:#8a9a9e}
.dvx-icon-btn{width:36px;height:36px;padding:0!important;display:grid;place-items:center;border-radius:9px!important;clip-path:none!important}.dvx-icon-btn svg{width:18px;height:18px}
.dvx-dir-list{display:grid;gap:8px;max-height:420px;overflow:auto}
.dvx-dir-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:11px;background:#0006;border:1px solid #ffffff12}
.dvx-dir-row.open{border-color:var(--dv-line)}.dvx-dir-row .unit-emblem{width:46px!important;height:46px!important;border-radius:10px;font-size:22px}
.dvx-dir-body{display:grid;gap:4px;min-width:0}.dvx-dir-body b{color:#fff}.dvx-dir-body small{color:#93a6aa;font-size:11.5px}.dvx-dir-row.open em{color:#58e08a;font-style:normal}
.dvx-perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.dvx-perks article{display:grid;gap:3px;padding:12px 14px;border-radius:12px;background:var(--dv-card);border:1px solid #ffffff12}
.dvx-perks span{font-size:22px}.dvx-perks b{color:#fff;font-size:13.5px}.dvx-perks small{color:#93a6aa;font-size:12px}
.dvx-cta{grid-template-columns:1fr auto;align-items:center}.dvx-cta b{color:#fff}.dvx-cta small{display:block;color:#93a6aa}
.dvx-fine{margin:0;color:#7f9094;font-size:12px}
@media(max-width:980px){.dvx-hero{grid-template-columns:auto minmax(0,1fr)}.dvx-stats{grid-column:1/-1;grid-template-columns:repeat(5,1fr)}.dvx-actions{grid-template-columns:repeat(3,1fr)}#dialog .dvx-act.slim{grid-column:auto}.dvx-split{grid-template-columns:1fr}}
@media(max-width:620px){.dvx-hero{grid-template-columns:1fr;justify-items:start;padding:18px}.dvx-emblem{width:84px;height:84px}.dvx-emblem .unit-emblem{width:78px!important;height:78px!important}.dvx-stats{grid-template-columns:repeat(3,1fr)}.dvx-actions{grid-template-columns:repeat(2,1fr)}.dvx-milestones{grid-template-columns:1fr}#dialog .dvx-tabs button{font-size:11px!important;padding:9px 6px!important}}
@media(prefers-reduced-motion:reduce){.dvx-body,.dvx-member{animation:none}}
#dialog .dvx-card button,#dialog .dvx-dir-row button,#dialog .dvx-cta button{text-transform:none!important;letter-spacing:.02em!important;font-size:13.5px!important;padding:10px 14px!important;line-height:1.2!important}
#dialog .dvx-card h3{text-transform:none!important;letter-spacing:.01em!important}
.dvx-lvl small{color:#3a2a10}
/* ═════════ Компоновка панелей: главное сверху, без дублей и лишней высоты ═════════ */
#dialog .bp-hero{height:150px!important;margin-bottom:12px!important}
#dialog .bp-hero .bp-title h2{font-size:clamp(20px,2.6vw,28px)!important}
@media(max-width:700px){#dialog .bp-hero{height:118px!important}}
body.phone #dialog .bp-hero{min-height:110px!important;height:auto!important}
/* NPC-приветствия: компактная строка вместо большой карточки */
#dialog .vendor-head,#dialog .workshop-intro,#dialog .medx-head{display:flex!important;align-items:center!important;gap:12px!important;padding:8px 14px!important;min-height:0!important;margin:0 0 10px!important}
#dialog .vendor-head .npc-portrait,#dialog .workshop-intro .npc-portrait,#dialog .medx-head .npc-portrait{width:56px!important;height:56px!important;min-width:56px;border-radius:50%!important;flex:none}
#dialog .vendor-head h2,#dialog .workshop-intro h2,#dialog .medx-head h2{font-size:16px!important;margin:2px 0!important;line-height:1.2!important}
#dialog .workshop-intro p,#dialog .medx-head p{margin:2px 0!important;font-size:12.5px!important;line-height:1.4!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#dialog .workshop-intro b{font-size:12px}
#dialog .shop-filter{margin:0 0 10px!important}
/* приём трофеев и рейтинг снабженцев — внизу панели */
.panel-footer-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:12px;border-top:1px dashed #ffffff22}
#dialog .supply-link{display:flex!important;align-items:center;gap:10px;text-align:left;padding:9px 14px!important;border-radius:10px!important;clip-path:none!important;text-transform:none!important;letter-spacing:0!important;background:linear-gradient(135deg,#1c2a30,#121a1e)!important;border:1px solid #ffffff22!important;color:#e8eef0!important;min-height:0!important}
#dialog .supply-link i{font-style:normal;font-size:20px}#dialog .supply-link b{display:block;font-size:13px}#dialog .supply-link small{display:block;font-size:11px;color:#9fb1b5;font-weight:400}
#dialog .supply-link:hover{border-color:#e8b65a!important}
/* дубли заголовков под героем */
#dialog[data-panel=quests] #content>.eyebrow,#dialog[data-panel=quests] #content>h2{display:none!important}
#dialog[data-panel=uav] #content>.activity-hero{display:none!important}
#dialog[data-panel=rankings] .bp-hero{display:none!important}
#dialog[data-panel=rewards] .reward-intro h2{display:none!important}
#dialog .command-operations{padding:10px 16px!important;min-height:0!important;margin-bottom:10px!important}
#dialog .command-operations h2{display:none!important}
#dialog .command-operations p{margin:4px 0 0!important;font-size:13px!important}
/* Койка: фото + живой монитор и мерцающая лампа (координаты в % от Hospit.webp 1672×940) */
.ward{grid-template-columns:minmax(260px,440px) minmax(0,1fr)!important}
.ward-art{padding:8px!important;background:radial-gradient(70% 80% at 32% 18%,rgba(255,226,160,.16),transparent 60%),linear-gradient(180deg,#0f2226,#0a1416)!important}
.ward-scene{position:relative;width:100%;aspect-ratio:1672/940;animation:wardRoom 7s infinite}
.ward-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px #000a)}
.ward-lamp{position:absolute;left:27.6%;top:6.3%;width:8.6%;height:2.2%;border-radius:40%;transform:rotate(-17deg);background:linear-gradient(90deg,rgba(255,236,190,.2),#fff3cf 30%,#fff8e4 70%,rgba(255,236,190,.3));box-shadow:0 0 10px 4px rgba(255,214,140,.75),0 0 34px 14px rgba(255,200,120,.35);mix-blend-mode:screen;animation:wardFlicker 6.5s infinite}
.ward-cone{position:absolute;left:20%;top:6%;width:30%;height:42%;background:radial-gradient(ellipse 60% 70% at 45% 8%,rgba(255,228,170,.38),rgba(255,214,140,.1) 45%,transparent 72%);mix-blend-mode:screen;pointer-events:none;animation:wardFlicker 6.5s infinite}
@keyframes wardFlicker{0%,17%,21%,23%,58%,61%,100%{opacity:1}18%{opacity:.35}19%{opacity:.85}20%{opacity:.2}22%{opacity:.7}59%{opacity:.55}60%{opacity:.9}84%{opacity:.92}86%{opacity:.78}88%{opacity:1}}
@keyframes wardRoom{0%,17%,24%,100%{filter:brightness(1)}18%,20%{filter:brightness(.88)}}
.ward-monitor{position:absolute;left:53.4%;top:21.5%;width:10.4%;height:10.4%;display:grid;grid-template-columns:75% 25%;background:#031410;border-radius:2px;overflow:hidden;box-shadow:inset 0 0 6px #000,0 0 8px rgba(80,255,190,.25)}
.wm-ecg{position:relative;overflow:hidden;background:linear-gradient(rgba(60,200,160,.12) 1px,transparent 1px) 0 0/100% 20%,linear-gradient(90deg,rgba(60,200,160,.12) 1px,transparent 1px) 0 0/16% 100%}
.wm-ecg svg{position:absolute;inset:0;width:200%;height:100%}
.wm-trace{animation:wmScroll 2.6s linear infinite}
.wm-trace path{fill:none;stroke:#39f5b0;stroke-width:2.6;stroke-linejoin:round;filter:drop-shadow(0 0 2px #39f5b0);vector-effect:non-scaling-stroke}
@keyframes wmScroll{to{transform:translateX(-65px)}}
.wm-sweep{position:absolute;top:0;bottom:0;width:18%;background:linear-gradient(90deg,transparent,#031410 60%);animation:wmSweep 2.6s linear infinite}
@keyframes wmSweep{from{left:-18%}to{left:100%}}
.wm-vitals{display:grid;align-content:space-evenly;justify-items:end;padding-right:6%;font:800 clamp(6px,1.05vw,13px)/1 Consolas,monospace;text-shadow:0 0 4px currentColor}
.wm-vitals .hr{color:#39f57a}.wm-vitals .sp{color:#3fd2ff}.wm-vitals .rr{color:#ffd23f}
.wm-vitals .hr{animation:wmBeat .85s infinite}
@keyframes wmBeat{0%,100%{opacity:1}12%{opacity:.55}}
.wm-vitals b.tick{animation:wmTick .5s ease-out}
@keyframes wmTick{from{transform:scale(1.35)}}
.ward-drip-drop{position:absolute;left:49.2%;top:19.6%;width:.5%;aspect-ratio:1;border-radius:50%;background:#cdf3ff;box-shadow:0 0 4px #cdf3ff;animation:wardDrip 1.8s ease-in infinite}
@keyframes wardDrip{0%{transform:translateY(-6px);opacity:0}30%{opacity:1}100%{transform:translateY(8px);opacity:0}}
@media(prefers-reduced-motion:reduce){.ward-lamp,.ward-cone,.ward-scene,.wm-trace,.wm-sweep,.ward-drip-drop,.wm-vitals .hr{animation:none!important}}
@media(max-width:700px){.ward{grid-template-columns:1fr!important}}
#dialog .ward-monitor svg path{fill:none!important;stroke:#39f5b0!important}
#dialog .wm-vitals b.hr{color:#39f57a!important}#dialog .wm-vitals b.sp{color:#3fd2ff!important}#dialog .wm-vitals b.rr{color:#ffd23f!important}
.ward-cone{top:-2%!important;height:52%!important;background:radial-gradient(ellipse 55% 60% at 45% 22%,rgba(255,228,170,.34),rgba(255,214,140,.08) 50%,transparent 75%)!important}
.ward-scene{container-type:inline-size}
.ward-monitor{grid-template-columns:70% 30%!important}
.wm-vitals{font-size:2.15cqw!important;padding-right:4%!important;overflow:hidden}
.pp-head.has-invite{box-shadow:inset 0 0 0 1px rgba(242,178,74,.7)}
.pp-invite{font-style:normal;margin-left:6px;padding:1px 7px;border-radius:999px;background:#d2553f;color:#fff;font:700 11px/1.5 "Segoe UI",sans-serif;animation:friendsGlow 1.6s ease-in-out infinite}
/* набор в подразделение */
.dvx-invites{grid-column:1/-1}
.dvx-inv-acts{display:flex;gap:6px}
.dvx-tpl{display:flex;flex-wrap:wrap;gap:6px}
#dialog .dvx-tpl button{padding:5px 10px!important;font-size:12px!important;border-radius:999px!important;clip-path:none!important;text-transform:none!important;background:#ffffff0e!important;border:1px solid #ffffff22!important;color:#dfe9ea!important;min-height:0!important}
#dialog .dvx-tpl button:hover{border-color:var(--dv-acc)!important}
#unit-recruit-text{width:100%;min-height:86px;resize:vertical;font:13.5px/1.45 "Segoe UI",sans-serif}
.dvx-recruit-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.dvx-recruit-foot small{color:#8a9a9e}
.dvx-pending{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.dvx-pending li{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:#0006;border:1px solid #ffffff12}
.dvx-pending li span{flex:1;color:#e8eef0;font-size:13px}.dvx-pending li small{color:#8a9a9e;font-size:11px}
#dialog .dvx-pending button{padding:2px 8px!important;min-height:0!important;font-size:12px!important;clip-path:none!important}
#player-menu{position:fixed;z-index:10000;min-width:220px;padding:6px;border-radius:12px;background:linear-gradient(160deg,#17222a,#0b1216);border:1px solid rgba(232,182,90,.45);box-shadow:0 18px 40px #000c;display:grid;gap:3px;animation:pmIn .12s ease-out}
@keyframes pmIn{from{opacity:0;transform:scale(.96)}}
#player-menu .pm-head{padding:6px 10px 8px;font:800 12px/1 Consolas,monospace;letter-spacing:.1em;color:#e8b65a;text-transform:uppercase;border-bottom:1px solid #ffffff14;margin-bottom:3px}
#player-menu button{display:block;width:100%;text-align:left;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:#e8eef0;font:600 13.5px/1.2 "Segoe UI",sans-serif;cursor:pointer;clip-path:none;text-transform:none;letter-spacing:0}
#player-menu button:hover:not(:disabled){background:rgba(232,182,90,.16)}
#player-menu button:disabled{opacity:.5;cursor:default}
.chat-unit{background:linear-gradient(135deg,#3a2f17,#1b1a14)!important;border-color:#e8b65a!important;color:#ffe2a6!important}

#player-menu button{min-height:0!important;height:auto!important;clip-path:none!important;border:0!important;background:transparent!important;color:#e8eef0!important;font:600 13.5px/1.2 "Segoe UI",sans-serif!important;text-transform:none!important;letter-spacing:0!important;padding:9px 12px!important;box-shadow:none!important;white-space:nowrap}
#player-menu button:hover:not(:disabled){background:rgba(232,182,90,.16)!important}
#player-menu button::before,#player-menu button::after{display:none!important}
.dvx-actions{grid-template-columns:repeat(5,minmax(0,1fr)) auto auto!important}
@media(max-width:980px){.dvx-actions{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:620px){.dvx-actions{grid-template-columns:repeat(2,1fr)!important}}
/* Своя техника: чистая вырезка без соседей по спрайту */
img.vehicle-art.veh-cut{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;object-position:center 60%;border-radius:6px;border:1px solid #0008;background:radial-gradient(ellipse 70% 55% at 50% 70%,#3a3f36,#1c1c1c 75%);max-height:none!important;padding:4px}
.range-cards img.vehicle-art.veh-cut{max-height:180px}
/* ═════════ VIP · клуб поддержки (vipx) ═════════ */
#dialog[data-panel=vip] .bp-hero{display:none!important}
.vipx{--g1:#ffe7a3;--g2:#e7b14c;--g3:#9a6a1f;--ink:#f3ead6;display:grid;gap:14px;color:var(--ink)}
.vipx-kicker{display:block;font:800 11px/1.2 Consolas,monospace;letter-spacing:.18em;color:var(--g2);text-transform:uppercase}
.vipx-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;padding:26px 28px;border-radius:18px;overflow:hidden;isolation:isolate;border:1px solid rgba(231,177,76,.5);background:radial-gradient(90% 140% at 0% 0%,rgba(231,177,76,.28),transparent 55%),radial-gradient(60% 120% at 100% 100%,rgba(120,60,10,.35),transparent 60%),linear-gradient(135deg,#1b140b,#0d0b08 60%,#14100a);box-shadow:0 20px 44px #000a,inset 0 1px 0 rgba(255,231,163,.25)}
.vipx-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(115deg,rgba(255,231,163,.035) 0 2px,transparent 2px 14px)}
.vipx-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--g2),var(--g1),var(--g2),transparent)}
.vipx-glow{position:absolute;left:-40px;top:-60px;width:320px;height:320px;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(255,214,120,.35),transparent 65%);animation:vipxGlow 5s ease-in-out infinite}
@keyframes vipxGlow{50%{transform:scale(1.15);opacity:.7}}
.vipx-badge{position:relative;width:128px;height:128px;display:grid;place-items:center;align-content:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff4cf,var(--g2) 45%,var(--g3) 80%);box-shadow:0 0 0 5px #1b140b,0 0 0 7px rgba(255,231,163,.6),0 0 40px rgba(255,200,90,.55),inset 0 -8px 18px rgba(80,40,0,.5);color:#2a1a05}
.vipx-hero.none .vipx-badge{filter:grayscale(.85) brightness(.7)}
.vipx-crown{position:absolute;top:-26px;width:58px;color:var(--g1);filter:drop-shadow(0 4px 8px #000a)}
.vipx-badge b{font:900 52px/1 "Segoe UI",sans-serif;text-shadow:0 2px 0 rgba(255,255,255,.4)}.vipx-badge small{font:900 13px/1 "Segoe UI",sans-serif;letter-spacing:.3em;margin-top:2px}
.vipx-id{display:grid;gap:8px;min-width:0}
#dialog .vipx-id h1{margin:0;font:900 clamp(26px,3.6vw,42px)/1.05 "Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.03em;background:linear-gradient(180deg,#fff7dc,var(--g2));-webkit-background-clip:text;background-clip:text;color:transparent!important;filter:drop-shadow(0 3px 12px rgba(0,0,0,.6))}
.vipx-bar{height:10px;max-width:560px;border-radius:6px;background:#0009;border:1px solid rgba(255,231,163,.25);overflow:hidden}
.vipx-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--g3),var(--g2),var(--g1));box-shadow:0 0 14px rgba(255,200,90,.6);position:relative}
.vipx-bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:vipxShine 2.8s infinite}
@keyframes vipxShine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.vipx-id small{color:#cdbf9f;font-size:12.5px}.vipx-id small b{color:var(--g1)}
.vipx-perks-now{display:grid;grid-template-columns:repeat(2,minmax(86px,auto));gap:8px}
.vipx-perks-now div{display:grid;justify-items:center;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.45);border:1px solid rgba(255,231,163,.18)}
.vipx-perks-now b{font:900 20px/1.1 "Segoe UI",sans-serif;color:var(--g1)}.vipx-perks-now small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#a99a7c}
.vipx-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr);gap:14px}
.vipx-pass,.vipx-gift,.vipx-track,.vipx-unlocks,.vipx-how{border-radius:16px;border:1px solid rgba(255,231,163,.18);background:linear-gradient(160deg,#17130d,#0d0c0a);box-shadow:0 12px 30px #0008,inset 0 1px 0 rgba(255,231,163,.08);padding:18px 20px}
.vipx-pass{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:20px;align-items:center}
.vipx-pass.on{border-color:rgba(231,177,76,.6)}
.vipx-card{position:relative;aspect-ratio:1.586;border-radius:16px;overflow:hidden;padding:16px 18px;display:grid;align-content:space-between;background:linear-gradient(135deg,#f7e1a0 0%,#d5a443 35%,#8f611c 70%,#e6c06a 100%);color:#2b1b05;box-shadow:0 18px 30px #000b,inset 0 1px 0 rgba(255,255,255,.6);transform:perspective(700px) rotateY(-10deg) rotateX(4deg);transition:transform .4s}
.vipx-card:hover{transform:perspective(700px) rotateY(0) rotateX(0)}
.vipx-pass:not(.on) .vipx-card{filter:saturate(.35) brightness(.75)}
.vipx-card span{font:800 11px/1 Consolas,monospace;letter-spacing:.2em}.vipx-card b{display:flex;align-items:center;gap:8px;font:900 22px/1 "Segoe UI",sans-serif;letter-spacing:.06em}.vipx-card b svg{width:30px;color:#3a2506}
.vipx-card em{font:800 12px/1 Consolas,monospace;font-style:normal;letter-spacing:.08em}.vipx-card small{font:700 12px/1 Consolas,monospace;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.vipx-card-shine{position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);animation:vipxCard 4.5s ease-in-out infinite}
@keyframes vipxCard{0%,60%{transform:translateX(-60%)}100%{transform:translateX(60%)}}
.vipx-pass-body{display:grid;gap:10px}
#dialog .vipx-pass-body h2{margin:0;font:900 24px/1.1 "Segoe UI",sans-serif;color:#fff3d0;text-transform:none}
.vipx-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.vipx-benefits div{display:grid;gap:2px;padding:12px;border-radius:12px;background:rgba(231,177,76,.08);border:1px solid rgba(231,177,76,.25)}
.vipx-benefits b{font:900 24px/1 "Segoe UI",sans-serif;color:var(--g1)}.vipx-benefits small{color:#bfb08f;font-size:11.5px}
#dialog .vipx-buy{padding:14px 18px!important;border-radius:12px!important;clip-path:none!important;border:0!important;background:linear-gradient(180deg,#ffe7a3,#e7b14c 55%,#b07a24)!important;color:#2a1a05!important;font:900 15px/1 "Segoe UI",sans-serif!important;letter-spacing:.04em!important;text-transform:uppercase;box-shadow:0 8px 22px rgba(231,177,76,.35),inset 0 1px 0 #fff8!important}
#dialog .vipx-buy:disabled{filter:grayscale(.6) brightness(.7)}
.vipx-fine{color:#8f8470;font-size:11.5px}
.vipx-more summary{cursor:pointer;color:var(--g2);font-size:12.5px}.vipx-more p{margin:6px 0 0;color:#a99a7c;font-size:12.5px}
.vipx-gift{display:grid;gap:8px;justify-items:center;text-align:center;align-content:center}
.vipx-gift.ready{border-color:rgba(231,177,76,.7);box-shadow:0 0 0 1px rgba(231,177,76,.3),0 0 34px rgba(231,177,76,.2)}
#dialog .vipx-gift h3{margin:0;color:#fff3d0;font:800 18px/1.25 "Segoe UI",sans-serif;text-transform:none}
.vipx-gift p{margin:0;color:#a99a7c;font-size:12.5px}.vipx-gift small{color:#8f8470;font-size:11.5px}
.vipx-box{position:relative;width:86px;height:80px;margin:4px 0 6px}
.vipx-box .body{position:absolute;left:8px;right:8px;bottom:0;height:52px;border-radius:6px;background:linear-gradient(180deg,#c43b2f,#7a1d16);box-shadow:inset 0 -6px 12px #0006}
.vipx-box .lid{position:absolute;left:2px;right:2px;top:12px;height:18px;border-radius:5px;background:linear-gradient(180deg,#e0574a,#a3281f);z-index:2}
.vipx-box .ribbon{position:absolute;left:38px;width:10px;top:12px;bottom:0;background:linear-gradient(90deg,#f4d27a,#c99a3a);z-index:3}
.vipx-box .ribbon::before,.vipx-box .ribbon::after{content:"";position:absolute;top:-12px;width:18px;height:14px;border:4px solid #e7b14c;border-radius:50% 50% 0 50%}
.vipx-box .ribbon::before{right:6px;transform:rotate(-20deg)}.vipx-box .ribbon::after{left:6px;transform:rotate(20deg) scaleX(-1)}
.vipx-gift.ready .vipx-box{animation:vipxBox 1.8s ease-in-out infinite}.vipx-gift.ready .lid{animation:vipxLid 1.8s ease-in-out infinite}
@keyframes vipxBox{0%,70%,100%{transform:none}75%{transform:rotate(-6deg)}80%{transform:rotate(6deg)}85%{transform:rotate(-3deg)}}
@keyframes vipxLid{0%,70%,100%{transform:none}78%{transform:translateY(-6px)}}
.vipx-track{display:grid;gap:12px}.vipx-head h3{margin:2px 0 0;color:#fff3d0}
.vipx-track ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(10,1fr);gap:4px;position:relative}
.vipx-track ol::before{content:"";position:absolute;left:5%;right:5%;top:19px;height:3px;background:#3a3024;border-radius:2px}
.vipx-track li{position:relative;display:grid;justify-items:center;gap:6px;text-align:center}
.vipx-track li i{position:relative;z-index:1;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font:900 15px/1 "Segoe UI",sans-serif;font-style:normal;color:#8f8470;background:#1c1710;border:2px solid #4a3d2a}
.vipx-track li small{font-size:11px;color:#7f7563;line-height:1.2}
.vipx-track li.done i{color:#2a1a05;background:radial-gradient(circle at 35% 30%,#fff4cf,var(--g2) 60%,var(--g3));border-color:var(--g1)}
.vipx-track li.done small{color:#d8c79f}
.vipx-track li.cur i{transform:scale(1.18);box-shadow:0 0 0 4px rgba(255,231,163,.25),0 0 22px rgba(255,200,90,.7)}
.vipx-track li.next i{border-color:var(--g2);color:var(--g1);border-style:dashed}
.vipx-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vipx-unlocks ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.vipx-unlocks li{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:#0005;border:1px solid #ffffff0e;color:#8f8470;font-size:13px}
.vipx-unlocks li i{font:800 11px/1 Consolas,monospace;font-style:normal;color:#7f7563;letter-spacing:.06em}
.vipx-unlocks li.done{color:#f3ead6;border-color:rgba(231,177,76,.3)}.vipx-unlocks li.done i{color:var(--g1)}.vipx-unlocks li b{color:#7ee08a}
.vipx-how ol{margin:10px 0 0;padding-left:20px;display:grid;gap:10px;color:#bfb08f;font-size:13px;line-height:1.45}.vipx-how b{color:#fff3d0}
@media(max-width:980px){.vipx-hero{grid-template-columns:auto 1fr}.vipx-perks-now{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.vipx-main,.vipx-cols{grid-template-columns:1fr}.vipx-pass{grid-template-columns:1fr}.vipx-card{max-width:320px}}
@media(max-width:620px){.vipx-hero{grid-template-columns:1fr;justify-items:center;text-align:center}.vipx-badge{width:100px;height:100px}.vipx-badge b{font-size:40px}.vipx-track ol{grid-template-columns:repeat(5,1fr);row-gap:12px}.vipx-track ol::before{display:none}.vipx-benefits{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.vipx-glow,.vipx-bar i::after,.vipx-card-shine,.vipx-box,.vipx-box .lid{animation:none!important}}
#dialog .vipx-gift button.primary{padding:12px 18px!important;border-radius:12px!important;clip-path:none!important;border:0!important;background:linear-gradient(180deg,#ffe7a3,#e7b14c 55%,#b07a24)!important;color:#2a1a05!important;font:900 14px/1 "Segoe UI",sans-serif!important;box-shadow:0 8px 20px rgba(231,177,76,.3)!important}
#dialog .vipx-gift button.primary:disabled{filter:grayscale(.7) brightness(.65)}
#dialog .vipx-badge small{color:#3a2506!important}
#dialog .vipx-card small{color:#3a2506!important;opacity:.85}
#dialog .vipx-card span,#dialog .vipx-card em,#dialog .vipx-card b{color:#2b1b05!important}
/* ═════════ Здания-хабы: вкладки внутри одного здания ═════════ */
.hub-bar{position:sticky;top:0;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 12px;padding:5px;border-radius:12px;background:linear-gradient(180deg,rgba(14,20,24,.94),rgba(9,13,16,.94));border:1px solid #ffffff1c;box-shadow:0 8px 20px #0008;backdrop-filter:blur(6px)}
.hub-name{display:flex;align-items:center;gap:7px;padding:0 12px 0 8px;margin-right:4px;border-right:1px solid #ffffff1a;font:900 12px/1 "Segoe UI",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#e8c27a;white-space:nowrap}
.hub-name i{font-style:normal;font-size:16px}
#dialog .hub-bar button{flex:1 1 auto;min-width:96px;padding:10px 14px!important;border-radius:9px!important;clip-path:none!important;border:0!important;background:transparent!important;color:#a9b8bc!important;font:700 13px/1 "Segoe UI",sans-serif!important;letter-spacing:.05em!important;text-transform:uppercase;box-shadow:none!important;min-height:0!important}
#dialog .hub-bar button:hover:not(.active){color:#fff!important;background:#ffffff0f!important}
#dialog .hub-bar button.active{color:#1c1408!important;background:linear-gradient(180deg,#ffe2a0,#d9a24a)!important;box-shadow:0 4px 14px rgba(217,162,74,.35)!important}
.hub-prep .hub-name{color:#8fd3ff}#dialog .hub-prep button.active{background:linear-gradient(180deg,#bfe6ff,#4aa3d9)!important;color:#08141c!important}
.hub-finance .hub-name{color:#ffd56a}
.hub-nii .hub-name{color:#9be7c4}#dialog .hub-nii button.active{background:linear-gradient(180deg,#c9f5df,#4fbf8b)!important;color:#06160e!important}
@media(max-width:620px){.hub-name{width:100%;border-right:0;padding:4px 6px 6px}#dialog .hub-bar button{min-width:0;font-size:11px!important;padding:9px 8px!important}}
/* ═════════ Центр подготовки: курс профессии ═════════ */
.proc{display:grid;gap:14px;color:#e6eef0}
.proc-kicker{display:block;font:800 11px/1.2 Consolas,monospace;letter-spacing:.16em;color:#8fd3ff;text-transform:uppercase}
.proc-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:24px 26px;border-radius:16px;overflow:hidden;isolation:isolate;border:1px solid rgba(143,211,255,.3);background:var(--proc-bg) center/cover,#0c1418;box-shadow:0 16px 36px #0009}
.proc-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,10,14,.95),rgba(5,10,14,.78) 55%,rgba(5,10,14,.5))}
.proc-id{display:grid;gap:6px}
#dialog .proc-id h1{margin:0;font:900 clamp(24px,3.2vw,38px)/1.05 "Segoe UI",sans-serif;text-transform:uppercase;color:#fff;letter-spacing:.02em}
#dialog .proc-id p{margin:0;color:#c3d1d5;max-width:62ch;font-size:13.5px}.proc-quote{font-style:italic;border-left:3px solid #8fd3ff;padding-left:10px}
.proc-skill{display:grid;justify-items:center;gap:6px;min-width:150px}
.proc-ring{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(closest-side,#0b141a 78%,transparent 79%),conic-gradient(#8fd3ff var(--v),#ffffff18 0);box-shadow:0 0 30px rgba(143,211,255,.25)}
.proc-ring b{font:900 28px/1 "Segoe UI",sans-serif;color:#fff}.proc-ring small{font-size:11px;color:#93a6aa;text-align:center;max-width:80px}
.proc-bar{width:140px;height:6px;border-radius:4px;background:#ffffff18;overflow:hidden}.proc-bar i{display:block;height:100%;background:linear-gradient(90deg,#4aa3d9,#bfe6ff)}
.proc-skill small{color:#93a6aa;font-size:11.5px}
.proc-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}
.proc-card{display:grid;gap:8px;padding:16px 18px;border-radius:14px;background:linear-gradient(160deg,#17222a,#0d151a);border:1px solid #ffffff16;box-shadow:0 10px 24px #0007}
#dialog .proc-card h3{margin:0;color:#fff;text-transform:none;letter-spacing:.01em}
.proc-card p{margin:0;color:#a9b8bc;font-size:13px}
.proc-locked{border-color:rgba(255,190,90,.4);background:linear-gradient(160deg,#241c10,#120e08)}
.proc-pips{display:flex;gap:8px}.proc-pips i{width:22px;height:8px;border-radius:4px;background:#ffffff1c}.proc-pips i.on{background:#8fd3ff;box-shadow:0 0 8px #8fd3ff}
.proc-tips{margin:0;padding-left:18px;display:grid;gap:7px;color:#c3d1d5;font-size:13px}
.proc-h{margin:6px 0 0}
.proc-src{color:#8a9a9e;font-size:11.5px}
@media(max-width:800px){.proc-hero{grid-template-columns:1fr}.proc-grid{grid-template-columns:1fr}}
#dialog[data-hub=nii] #content>.section-tabs,#dialog[data-hub=nii] .supply-tabs{display:none!important}
/* ═════════ UI-аудит: исправления ═════════ */
/* Здания-хабы: вкладки над шапкой, NPC-строка не повторяет название из шапки */
#dialog[data-hub] .hub-bar{margin-bottom:10px}
#dialog[data-hub=supply] .vendor-head{display:none!important}
#dialog[data-hub=supply] .vendor-head{padding:6px 12px!important}
/* Кнопки покупки в карточках товаров — нормальная высота и ширина */
#dialog .catalog .item button[data-buy]{min-height:36px!important;padding:8px 14px!important;font-size:13px!important;width:100%}
/* Телефон: подсказка, что верхнее меню прокручивается; крупнее цели касания */
@media(max-width:700px){
 header nav{mask-image:linear-gradient(90deg,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);scroll-snap-type:x proximity}
 header nav>*{scroll-snap-align:start}
 #dialog .gz-map .zone-pin{width:38px!important;height:38px!important}
 .ws-tabs{flex-wrap:wrap!important}.ws-tabs .ws-tab{flex:1 1 30%!important;min-width:0!important}
 #dialog .hub-bar button{min-height:38px!important}
 #dialog .dvx-tabs button{min-height:38px!important}
 .statline span,.statline b{font-size:11px!important}
}
/* Мелкий служебный текст не меньше 10px */
.bp-gauges em,.bp-gauges small{font-size:11px!important}
.item .meta,.item small{font-size:11px}
/* ═════════ Служба безопасности ═════════ */
#dialog[data-panel=security] .bp-hero,#dialog[data-panel=report] .bp-hero{display:none!important}
.secx{--sx:#e05a4a;display:grid;gap:14px;color:#e6eef0}
.secx-kicker{display:block;font:800 11px/1.2 Consolas,monospace;letter-spacing:.16em;color:#ff8e80;text-transform:uppercase}
.secx-hero{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:22px 24px;border-radius:16px;border:1px solid rgba(224,90,74,.45);background:radial-gradient(80% 140% at 0% 0%,rgba(224,90,74,.22),transparent 60%),linear-gradient(135deg,#1c1214,#0d1418);box-shadow:0 14px 34px #0009}
.secx-shield{width:84px;height:94px;color:#ff8e80;filter:drop-shadow(0 0 14px rgba(224,90,74,.5))}.secx-shield svg{width:100%;height:100%}
#dialog .secx-hero h1{margin:4px 0;font:900 clamp(24px,3vw,34px)/1.1 "Segoe UI",sans-serif;color:#fff;text-transform:uppercase}
#dialog .secx-hero p{margin:0;color:#c3d1d5;max-width:64ch;font-size:13.5px}
.secx-off{margin:0;padding:10px 14px;border-radius:10px;border:1px dashed rgba(224,90,74,.5);color:#ffcfc8;background:rgba(224,90,74,.08)}
.secx-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;align-items:start}
.secx-card{display:grid;gap:12px;padding:16px 18px;border-radius:14px;background:linear-gradient(160deg,#17222a,#0d151a);border:1px solid #ffffff16}
.secx-target,.secx-text{display:grid;gap:6px;font-size:12.5px;color:#9fb1b5}
.secx-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
#dialog .secx-cats button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;padding:10px 12px!important;min-height:0!important;border-radius:10px!important;clip-path:none!important;text-transform:none!important;letter-spacing:0!important;background:#0006!important;border:1px solid #ffffff1c!important;color:#e6eef0!important;box-shadow:none!important}
#dialog .secx-cats button i{grid-row:1/3;font-style:normal;font-size:20px}#dialog .secx-cats button b{font-size:13px}#dialog .secx-cats button small{font-size:11px;color:#93a6aa;font-weight:400}
#dialog .secx-cats button.on{border-color:#ff8e80!important;background:rgba(224,90,74,.16)!important;box-shadow:0 0 0 1px rgba(224,90,74,.4)!important}
#sec-text{width:100%;min-height:90px;resize:vertical}
.secx-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.secx-foot small{color:#8a9a9e;font-size:12px}
.secx-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:260px;overflow:auto}
.secx-list li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 10px;border-radius:9px;background:#0006;border:1px solid #ffffff12}
.secx-list b{color:#fff;font-size:13px}.secx-list small{grid-row:2;color:#8a9a9e;font-size:11px}.secx-list em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-size:11px;padding:3px 8px;border-radius:999px}
.secx-list .st-open{background:rgba(242,178,74,.15);color:#ffd27a}.secx-list .st-ok{background:rgba(88,224,138,.15);color:#8ef0b0}.secx-list .st-no{background:#ffffff12;color:#b8c4c6}
.secx-card h4{margin:6px 0 0;color:#fff}.secx-rules{margin:0;padding-left:18px;color:#c3d1d5;font-size:13px;display:grid;gap:4px}.secx-empty{margin:0;color:#8a9a9e}
@media(max-width:800px){.secx-grid{grid-template-columns:1fr}.secx-cats{grid-template-columns:1fr 1fr}.secx-hero{grid-template-columns:1fr}}
/* Школа БПЛА в формате центра подготовки */
.proc .proc-card canvas#uav-course{width:100%;height:auto;border-radius:10px;border:1px solid #ffffff22;margin:8px 0}
.proc .proc-note{font-size:13px;opacity:.85;margin:10px 0}
.proc .uav-courses,.proc .uav-shop{margin-top:18px}
/* Выравнивание текста: заголовки внутри карточек без отступа «полоски» панели */
#dialog[data-panel] #content :is(div,section,header,article) h2:first-of-type{padding-left:0!important}
#dialog[data-panel] #content :is(div,section,header,article) h2:first-of-type::before{display:none!important}
/* Финотдел: шапка-вкладки непрозрачная и закрывает прокрутку сверху */
#dialog .hub-bar{top:-26px;background:linear-gradient(#0e1418,#0a0f12)!important;box-shadow:0 8px 18px #0008}
.sx-pass-buy button{white-space:nowrap}
.bp-hero-crypto .bp-rate{top:14px;right:20px}
/* Наборы и ящики: одинаковые строки, кнопки по низу */
.cs-set h4{min-height:2.5em;line-height:1.25}.cs-set ul{flex:1}
.cs-crate h4{min-height:2.5em;line-height:1.25}.cs-crate>p,.cs-crate>small{flex:1}
/* Сезон: узлы одной высоты, нижняя дорожка не прыгает */
.sx-node{height:40px;display:grid;place-items:center}
@media(min-width:641px){.cs-sets{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
/* Телефон: нижняя панель из пяти разделов */
header nav .ns{display:none}
body.phone header nav{position:fixed;left:0;right:0;bottom:0;z-index:250;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;width:auto;flex:none;overflow:visible;padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));background:linear-gradient(#121d27f7,#091017fc);border-top:1px solid #3e5d74;box-shadow:0 -6px 18px #0009}
body.phone header nav>button[data-open="rewards"],body.phone header nav>button[data-open="rankings"]{display:none}
body.phone header nav>button,body.phone header nav .nav-more-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-height:54px;padding:4px 2px!important;clip-path:none!important;background:transparent!important;border:0!important;box-shadow:none!important;font-size:11px!important;letter-spacing:.03em;color:#b9cbd8}
body.phone header nav .nav-more{display:block;position:static}
body.phone header nav>button::before,body.phone header nav .nav-more-btn::before{width:22px!important;height:22px!important;margin:0!important;vertical-align:0}
body.phone header nav .nl{display:none}body.phone header nav .ns,body.phone header nav .nav-more-btn .nl{display:block;font-size:11px;line-height:1}
body.phone header nav .nav-more-btn::after{display:none}
body.phone header nav>button.needs-attention::after{position:absolute;top:2px;left:calc(50% + 6px);margin:0}
body.phone header nav>button:active,body.phone header nav .nav-more-btn[aria-expanded=true]{color:#ffd88a;background:#ffffff10!important}
body.phone .nav-menu{top:auto;bottom:70px}
body.phone .nav-menu .nav-phone{display:flex}
.nav-menu .nav-phone{display:none}
body.phone #scene{height:calc(100dvh - 128px - 62px)}
body.phone #audio-start{bottom:70px}
body.phone:not(.in-battle) main{padding-bottom:62px}
body.phone.in-battle header nav{display:none}
body.phone #audio-start{bottom:74px!important}
body.phone #phone-dock{bottom:66px!important}
body.phone header nav{-webkit-mask:none!important;mask:none!important}
/* Телефон: свёрнутая шапка здания */
body.phone #dialog :is(.bp-hero,.authentic-title,.proc-hero,.secx-hero,.vipx-hero,.sx-hero,.dvx-hero,.rkx-hero){transition:min-height .2s,padding .2s}
body.phone #dialog.hero-min :is(.bp-hero,.authentic-title,.proc-hero,.secx-hero,.vipx-hero,.sx-hero,.dvx-hero,.rkx-hero){min-height:0!important;height:auto!important;padding-top:10px!important;padding-bottom:10px!important}
body.phone #dialog.hero-min :is(.bp-hero,.authentic-title,.proc-hero,.secx-hero,.vipx-hero,.sx-hero,.dvx-hero,.rkx-hero) :is(p,.bp-art,.bp-gauges,.proc-skill,.proc-quote,.secx-shield,.sx-mark,.sx-progress,.vipx-medal,.vipx-stats,.bp-ticker,.ticker,img){display:none!important}
body.phone #dialog.hero-min :is(.bp-hero,.authentic-title,.proc-hero,.secx-hero,.vipx-hero,.sx-hero,.dvx-hero,.rkx-hero) :is(h1,h2){font-size:18px!important;margin:2px 0 0!important}
body.phone #dialog.hero-min .bp-title{position:static!important;transform:none!important;padding:0!important}
body.phone:not(.in-battle) #scene{height:calc(100dvh - 196px)!important}
body.phone #dialog.hero-min:not([data-hub]) :is(.bp-hero,.authentic-title,.proc-hero,.secx-hero,.vipx-hero,.sx-hero,.dvx-hero,.rkx-hero):first-of-type,body.phone #dialog.hero-min[data-hub=""] :is(.bp-hero,.authentic-title,.proc-hero,.secx-hero,.vipx-hero,.sx-hero,.dvx-hero,.rkx-hero):first-of-type{position:sticky!important;top:-10px;z-index:7;box-shadow:0 8px 18px #000a}
body.phone:not(.in-battle) .scene-top>div{display:none!important}
/* Бегущая строка объявлений в верхней полосе */
.strip{gap:18px}
.news-ticker{flex:1 1 0!important;width:0;min-width:0!important;max-width:100%;contain:inline-size;overflow:hidden!important;position:relative;height:22px;display:flex;align-items:center;-webkit-mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.news-ticker .nt-track{display:inline-flex;align-items:center;gap:14px;white-space:nowrap;will-change:transform;font-size:12px;letter-spacing:.04em;color:#c9d6de}
.news-ticker .nt-item.hot{color:#ffd88a;font-weight:700}
.news-ticker .nt-sep{font-style:normal;color:#e0a94a;opacity:.7;font-size:11px}
@keyframes ntRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Экскурсия по базе для новичка */
#base-tour{position:fixed;inset:0;z-index:400;pointer-events:none}
#base-tour .bt-ring{position:fixed;border:2px solid #ffd36a;border-radius:10px;box-shadow:0 0 0 9999px #000a,0 0 24px 6px #ffb84a88;pointer-events:none;animation:btPulse 1.6s ease-in-out infinite}
@keyframes btPulse{50%{border-color:#fff2c4}}
#base-tour .bt-card{position:fixed;pointer-events:auto;padding:14px 16px;border-radius:12px;background:linear-gradient(#1b2733,#111a22);border:1px solid #e3b25a;box-shadow:0 14px 34px #000c;color:#e5edf2}
#base-tour .bt-kicker{font-size:11px;letter-spacing:.14em;color:#e9b75a;font-weight:700}
#base-tour h3{margin:4px 0 6px;font-size:18px;color:#fff}
#base-tour p{margin:0 0 12px;font-size:13.5px;line-height:1.45;color:#c6d3dc}
#base-tour .bt-acts{display:flex;gap:8px;justify-content:flex-end;align-items:center}
#base-tour .bt-acts .text-button{margin-right:auto}
@media(prefers-reduced-motion:reduce){#base-tour .bt-ring{animation:none}}

/* ===== Окна панелей на компьютере чуть шире прежнего ===== */
body:not(.phone):not(.entry-locked) #dialog:not(:is([data-panel="register"],[data-panel="tutorial"],[data-panel="guide"],[data-panel="result"],[data-panel="feedback"],[data-panel="report"],[data-panel="trade"],[data-panel="rules"])):not(:has(.reg-epic,.me-root)){width:min(1360px,96vw)!important;max-width:96vw!important}
/* ===== Новые картинки: подарок VIP, корона рейтинга, иконки показателей бойца ===== */
.vipx-gift-img{width:112px;height:auto;margin:2px 0 4px;filter:drop-shadow(0 10px 14px #000a)}
.vipx-gift.ready .vipx-gift-img{animation:vipGiftBob 1.8s ease-in-out infinite}
@keyframes vipGiftBob{50%{transform:translateY(-6px) rotate(-3deg);filter:drop-shadow(0 16px 16px #000a) drop-shadow(0 0 14px #ffcf6a66)}}
.rkx-crown-img{width:62px!important;height:auto;color:initial;filter:drop-shadow(0 4px 10px #000b) drop-shadow(0 0 12px #ffc24a77)!important;margin-bottom:-6px}
.ch-tile i:has(.ch-vic){font-size:0;line-height:0;display:block;margin-bottom:4px}
.ch-vic{display:inline-block;width:46px;height:46px;background-size:400% 100%;background-repeat:no-repeat;filter:drop-shadow(0 3px 6px #0009)}
/* ===== Мастерская: разборка ножом ===== */
.wb-knife{position:absolute;left:50%;top:97px;width:150px;height:auto;margin:-16px 0 0 0;transform-origin:0 50%;opacity:0;filter:drop-shadow(3px 5px 4px #000a);pointer-events:none;z-index:4;animation:wbKnife 1.2s .3s ease-in-out forwards}
@keyframes wbKnife{0%{opacity:0;transform:translate(-60px,-60px) rotate(-60deg)}10%{opacity:1;transform:translate(-26px,-20px) rotate(-38deg)}16%{transform:translate(-26px,-20px) rotate(-46deg)}22%{transform:translate(-26px,-20px) rotate(-34deg)}32%{transform:translate(24px,-18px) rotate(-38deg)}38%{transform:translate(24px,-18px) rotate(-46deg)}44%{transform:translate(24px,-18px) rotate(-34deg)}55%{transform:translate(-20px,22px) rotate(-38deg)}61%{transform:translate(-20px,22px) rotate(-46deg)}67%{transform:translate(-20px,22px) rotate(-34deg)}78%{transform:translate(26px,20px) rotate(-38deg)}84%{transform:translate(26px,20px) rotate(-46deg)}90%{opacity:1;transform:translate(26px,20px) rotate(-34deg)}100%{opacity:0;transform:translate(70px,-40px) rotate(-20deg)}}
/* ===== Мастерская: сборка — боец у верстака, лампа мерцает, удары по столу ===== */
.wb-craft .sfx-stage{height:auto;aspect-ratio:3/2;background:#0b0907}
.wb-craft .wb-mat,.wb-craft .wb-tray,.wb-craft .wb-bowl{display:none}
.wbx-scene{position:absolute;inset:0;overflow:hidden;animation:wbxShake .55s .05s 7 linear}
.wbx-base{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.wbx-arm{position:absolute;left:40.56%;top:27.93%;width:12.83%;height:auto;transform-origin:21.3% 8%;animation:wbxSwing .55s .05s 7 cubic-bezier(.45,0,.55,1) both;z-index:2}
.wbx-dim{position:absolute;inset:0;background:#000;opacity:.12;mix-blend-mode:multiply;animation:wbxDim 2.6s steps(1) infinite;z-index:3;pointer-events:none}
.wbx-light{position:absolute;inset:0;background:radial-gradient(ellipse 34% 30% at 66% 34%,#ffc56a66,#ff9d3a22 45%,#0000 75%);mix-blend-mode:screen;animation:wbxLamp 2.6s steps(1) infinite;z-index:3;pointer-events:none}
.wbx-bulb{position:absolute;left:70.8%;top:14.3%;width:7%;aspect-ratio:1;margin:-3.5% 0 0 -3.5%;border-radius:50%;background:radial-gradient(circle,#fff6d6 0,#ffd27a 30%,#ff9d3a55 55%,#0000 72%);mix-blend-mode:screen;animation:wbxLamp 2.6s steps(1) infinite;z-index:4;pointer-events:none}
.wbx-hit{position:absolute;left:51.5%;top:39%;width:12%;aspect-ratio:1;margin:-6% 0 0 -6%;border-radius:50%;background:radial-gradient(circle,#fff8e0 0,#ffcf6acc 25%,#ff8a2a44 50%,#0000 70%);mix-blend-mode:screen;opacity:0;animation:wbxHit .55s .05s 7 both;z-index:4;pointer-events:none}
.wbx-sparks{position:absolute;left:51.5%;top:39%;z-index:5;pointer-events:none}
.wbx-sparks b{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe9a8;box-shadow:0 0 6px 2px #ffb84a;opacity:0;animation:wbxSpark .55s .05s 7 ease-out both}
.wbx-sparks b:nth-child(1){--dx:-34px;--dy:-26px}.wbx-sparks b:nth-child(2){--dx:-18px;--dy:-40px}.wbx-sparks b:nth-child(3){--dx:6px;--dy:-44px}.wbx-sparks b:nth-child(4){--dx:26px;--dy:-30px}.wbx-sparks b:nth-child(5){--dx:38px;--dy:-10px}.wbx-sparks b:nth-child(6){--dx:-40px;--dy:-6px}
.wb-craft .wb-item{top:50%;z-index:6}
.wb-craft .wb-item.made::before{content:'';position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,#000c 0,#0008 45%,#0000 70%);z-index:-1}
.wb-craft .wb-flash{top:50%;z-index:6}
.wb-craft .wb-part{z-index:6;bottom:12px}
@keyframes wbxSwing{0%{transform:rotate(0)}45%{transform:rotate(-20deg)}78%{transform:rotate(1.8deg)}86%{transform:rotate(.4deg)}100%{transform:rotate(0)}}
@keyframes wbxHit{0%,74%{opacity:0;transform:scale(.4)}80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.5)}}
@keyframes wbxSpark{0%,76%{opacity:0;transform:translate(0,0)}80%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy))}}
@keyframes wbxShake{0%,77%,100%{transform:translate(0,0)}80%{transform:translate(1px,2px)}84%{transform:translate(-1px,-1px)}}
@keyframes wbxLamp{0%{opacity:1}7%{opacity:.35}9%{opacity:1}31%{opacity:.85}33%{opacity:1}52%{opacity:.25}54%{opacity:.9}56%{opacity:.4}58%{opacity:1}83%{opacity:.75}85%{opacity:1}}
@keyframes wbxDim{0%{opacity:.08}7%{opacity:.4}9%{opacity:.08}52%{opacity:.5}54%{opacity:.12}56%{opacity:.42}58%{opacity:.08}}
@media (prefers-reduced-motion:reduce){.wbx-dim,.wbx-light,.wbx-bulb{animation:none}}
/* готовая вещь ложится на верстак справа, не закрывая бойца */
.wb-craft .wb-item{left:auto;right:5%;top:auto;bottom:8%;width:96px;height:96px;margin:0;animation:wbReveal .6s 1.75s cubic-bezier(.2,1.3,.4,1) both}
.wb-craft .wb-flash{left:auto;right:calc(5% + 43px);top:auto;bottom:calc(8% + 43px);margin:0;animation-delay:1.7s}
.wb-craft .sfx-stage{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.wb-craft .sfx-stage.wb-stage{height:auto!important;aspect-ratio:3/2;background:#0b0907!important}.wb-craft .wb-stage::before{display:none}

/* сборка: только сцена у верстака 4 секунды, затем — готовый предмет и подпись */
.wb-craft .wb-part{display:none!important}
.wb-craft .wb-item{animation:wbReveal .6s 4s cubic-bezier(.2,1.3,.4,1) both!important}
.wb-craft .wb-item::after{animation-delay:4.5s!important}
.wb-craft .wb-flash{animation-delay:3.95s!important}
.wb-craft .sfx-bench>:is(h3,p,button){animation:wbTextIn .4s 4s ease-out both}
@keyframes wbTextIn{from{opacity:0;transform:translateY(6px)}}

/* ===== Бой на компьютере: сцена крупнее — тонкая шапка, без полосы объявлений, нижняя панель в одну строку ===== */
body.in-battle:not(.phone) .strip{height:0!important;min-height:0!important;padding:0!important;border:0!important;overflow:hidden!important}
body.in-battle:not(.phone) header{min-height:0!important;height:auto!important;padding-top:2px!important;padding-bottom:2px!important}
body.in-battle:not(.phone) header #vip-mini{display:none!important}
body.in-battle:not(.phone) header #base-operator{transform:scale(.86);transform-origin:left center;margin:-6px 0 -6px}
body.in-battle:not(.phone) footer{height:auto!important;max-height:none!important;display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px 18px;min-height:0!important;padding:6px 16px!important}
body.in-battle:not(.phone) footer>#battle-info{grid-column:1;grid-row:1}
body.in-battle:not(.phone) footer>#quick-access{grid-column:2;grid-row:1}
body.in-battle:not(.phone) footer>#plan-list{position:static!important;grid-column:3;grid-row:1;width:auto!important;min-width:0;border:0!important;padding:0!important;margin:0!important;flex-wrap:wrap}
body.in-battle:not(.phone) footer>#plan-list .plan-cards{min-width:0;overflow-x:auto}
body.in-battle:not(.phone) footer>#end{grid-column:4;grid-row:1;height:72px}
/* Админка: тестовые боты */
.adm-bots-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:8px 0}
.adm-bots-row label{display:flex;flex-direction:column;gap:4px;font-size:12px}
.adm-bots-row input,.adm-bots-row select{width:110px}
.adm-bots-row .danger{background:linear-gradient(#8e3a32,#5e211c)!important;color:#fff!important}
.adm-bots-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin:8px 0}
.adm-bots-stats span{display:flex;flex-direction:column;padding:8px 10px;border-radius:8px;background:#ffffff0d;border:1px solid #ffffff1a}
.adm-bots-stats b{font-size:18px}.adm-bots-stats small{font-size:11px;opacity:.75}
.adm-bots-err{font-size:12px;margin:6px 0}.adm-bots-err code{font-size:11px;opacity:.8;word-break:break-all}
.adm-qa-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:8px 0}
.adm-qa-cols section{padding:10px 12px;border-radius:10px;background:#ffffff0a;border:1px solid #ffffff1a;max-height:420px;overflow:auto}
.adm-qa-cols h4{margin:0 0 6px}.adm-qa-cols ol{margin:0;padding-left:20px}.adm-qa-cols li{margin:0 0 8px;font-size:13px}
.adm-qa-wide{padding:10px 12px;border-radius:10px;background:#ffffff0a;border:1px solid #ffffff1a;margin:8px 0;max-height:420px;overflow:auto}.adm-qa-wide h4{margin:0 0 6px}.adm-qa-wide li{font-size:13px;margin:0 0 6px}.adm-qa-wide code{font-size:12px;word-break:break-all}
.adm-qa-cols li small{opacity:.8;font-size:12px}.adm-qa-cols li em{font-style:normal;font-size:12px;opacity:.85}
#portrait[data-frame="frame_rubezh"],.cos-frame[data-frame="frame_rubezh"]{outline:3px solid #f3cf6a;outline-offset:1px;box-shadow:0 0 0 5px #8c1a12,0 0 0 7px #f3cf6a,0 0 20px #e2462f}
.chat-ava.cos-frame[data-frame="frame_rubezh"]{box-shadow:0 0 0 2px #f3cf6a,0 0 0 4px #8c1a12,0 0 9px #e2462f!important}
/* Ордена и медали */
.aw-hdr{width:22px;height:22px;object-fit:contain;vertical-align:-6px;margin:0 3px 0 2px;filter:drop-shadow(0 1px 2px #000a)}
.aw-mini{width:16px;height:16px;object-fit:contain;vertical-align:-3px;margin-right:3px;filter:drop-shadow(0 1px 1px #000a)}
.aw-count{font-weight:400;opacity:.65;font-size:.8em;margin-left:6px}
.aw-sum{margin:2px 0 10px;font-size:13px;line-height:1.45}.aw-sum small{opacity:.65}
.aw-grid{display:grid;gap:8px;margin-bottom:8px}
.aw-grid.orders{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.aw-grid.medals{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.aw-card{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid #ffffff1a;border-radius:8px;background:linear-gradient(180deg,#ffffff0a,#00000026);min-width:0}
.aw-card.got{border-color:#d3b77366;background:linear-gradient(180deg,#d3b7731a,#00000026)}
.aw-card.order.got{box-shadow:inset 0 0 0 1px #d3b77333,0 0 14px #d3b77322}
.aw-ic{width:64px;height:64px;flex:0 0 64px;object-fit:contain;filter:grayscale(.85) brightness(.85);opacity:.8;transition:filter .2s}
.aw-card.order .aw-ic{width:76px;height:76px;flex-basis:76px}
.aw-card.got .aw-ic{filter:drop-shadow(0 2px 4px #000c);opacity:1}
.aw-tx{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.aw-tx b{font-size:13px;line-height:1.2}.aw-tx small{font-size:11.5px;opacity:.72;line-height:1.3}
.aw-tx em{font-style:normal;font-size:11px;color:#c9d3dc;opacity:.8}.aw-tx em.aw-ok{color:#d3b773;opacity:1}
.aw-tx .ch-bar{margin:1px 0}
.aw-bonus{font-size:11.5px;color:#9fe07a}
.aw-season{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px dashed #ffffff22;border-radius:8px;margin-bottom:10px}
.aw-season small{opacity:.7;font-size:11.5px}.aw-season>div{display:flex;flex-wrap:wrap;gap:6px}
.aw-sm{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:1px;font-size:10px;opacity:.95}
.aw-sm small{font-size:10px;opacity:.75}
.aw-sm-ic{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 2px 3px #000b)}
.aw-sm i{position:absolute;right:-2px;top:0;font-style:normal;font-size:9px;font-weight:700;background:#111;color:#eee;border-radius:8px;padding:0 4px;line-height:14px}
.dos-awards{display:flex;flex-wrap:wrap;gap:2px 4px;align-items:flex-end;margin:6px 0 8px;padding:6px 8px;background:#0000000f;border-top:1px solid #0002;border-bottom:1px solid #0002}
.aw-dos{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 1px 2px #0008)}
@media (max-width:640px){.aw-grid.orders,.aw-grid.medals{grid-template-columns:1fr}.aw-ic{width:52px;height:52px;flex-basis:52px}.aw-card.order .aw-ic{width:60px;height:60px;flex-basis:60px}.aw-dos{width:32px;height:32px}}

.ch-medal-ic{display:block;width:96px;height:96px;object-fit:contain;margin:0 auto 4px;filter:grayscale(.85) brightness(.8);opacity:.8}
.ch-medal.got .ch-medal-ic{filter:drop-shadow(0 0 10px #ffd35c66) drop-shadow(0 2px 4px #000c);opacity:1}
@media (max-width:640px){.ch-medal-ic{width:54px;height:54px}}
.gt-lot.foreign{border-color:#c9a14a88}.gt-foreign{color:#e0b85a!important;font-weight:600}
.range-gap{text-align:center;opacity:.5;line-height:1;padding:0 0 2px}
.rkx-tabs{display:flex;gap:6px;margin:12px 0 4px;flex-wrap:wrap}
.rkx-tabs button{flex:1 1 200px;padding:10px 14px;border-radius:8px;border:1px solid #d3b77344;background:#0c1620cc;color:#c9d3dc;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12px;cursor:pointer}
.rkx-tabs button.on{background:linear-gradient(180deg,#d3b77333,#d3b77311);border-color:#d3b773;color:#f3dc9a}
.rkx-myunit{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:10px 14px;margin:10px 0;border:1px dashed #d3b77355;border-radius:10px;background:#0b141ccc}
.rkx-myunit small{font-size:11px;letter-spacing:.08em;opacity:.7}.rkx-myunit b{font-size:24px;color:#f3dc9a}.rkx-myunit em{font-style:normal;opacity:.7;font-size:12px}
.rkx .rkx-tabs button{clip-path:none!important;background:#0c1620!important;border:1px solid #d3b77340!important;color:#9fb0bf!important;box-shadow:none!important}
.rkx .rkx-tabs button.on{background:linear-gradient(180deg,#5a4515,#2a2010)!important;border-color:#d3b773!important;color:#ffe4a0!important;box-shadow:inset 0 -3px 0 #d3b773!important}
/* Платное объявление в бегущей строке */
.tad{display:grid;gap:12px}
.tad-hero{padding:14px 16px;border-radius:10px;border:1px solid #d3b77344;background:linear-gradient(135deg,#2a2010cc,#0c1620cc)}
.tad-hero h2{margin:4px 0 6px}.tad-hero p{margin:0 0 6px}.tad-hero ul{margin:0;padding-left:18px;font-size:13px;opacity:.8;line-height:1.5}
.tad-form{display:grid;gap:8px;padding:14px 16px;border-radius:10px;border:1px solid #ffffff1a;background:#0b141ccc}
.tad-form label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.tad-form textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:70px;font:inherit;padding:10px;border-radius:8px;background:#060d13;color:#e9eef2;border:1px solid #2f4658}
.tad-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tad-meta small{opacity:.7}
.tad-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 10px;border-radius:6px;background:#000a;color:#ffe08a;font-size:13px}
.tad-preview i{font-style:normal;color:#fff}
.tad-pay{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tad-pay>div{flex:1;min-width:160px;display:flex;flex-direction:column}.tad-pay small{opacity:.7}
.tad-live{padding:12px 16px;border-radius:10px;border:1px dashed #ffe08a55}
.tad-live h4{margin:0 0 6px}.tad-live>div{display:flex;gap:10px;align-items:center;padding:4px 0;border-top:1px solid #ffffff10}
.tad-live span{flex:1;min-width:0}.tad-live small{opacity:.6;white-space:nowrap}.tad-live button{padding:2px 8px}
.nt-item.paid{color:#ffe08a;font-weight:700;text-shadow:0 0 8px #ffb84a66}
/* Переподключение к серверу */
#net-reconnect{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#05090ecc;backdrop-filter:blur(3px)}
#net-reconnect>div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 28px;border-radius:12px;border:1px solid #d3b77366;background:#0d1720;color:#e9eef2;text-align:center;max-width:90vw}
#net-reconnect b{font-size:16px;letter-spacing:.04em}#net-reconnect span{font-size:13px;opacity:.8}
#net-reconnect i{width:28px;height:28px;border-radius:50%;border:3px solid #d3b77333;border-top-color:#d3b773;animation:netSpin 1s linear infinite}
@keyframes netSpin{to{transform:rotate(360deg)}}
/* Карточка точки серой зоны (одно касание по точке на карте) */
.gz-map i.gz-unit{z-index:2}.gz-map .zone-pin{z-index:4}
#dialog .gz-card,.gz-card{position:fixed;z-index:60;width:min(300px,calc(100vw - 16px));padding:12px 14px 12px;border-radius:9px;background:linear-gradient(180deg,#1c2b31f5,#0f181cf8);border:1px solid #6f9aa0;box-shadow:0 12px 34px #000c;color:#dfe9e6;font:13px/1.45 "Segoe UI",sans-serif}
.gz-card .gzc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.gz-card .gzc-head b{font-size:15px;letter-spacing:.04em;color:#bfe9ef;text-transform:uppercase}
.gz-card .gz-card-x{min-width:0!important;width:28px;height:28px;padding:0!important;border-radius:50%;line-height:1;font-size:18px}
.gz-card p{margin:0 0 8px;color:#b8c9c6}.gz-card ul{margin:0 0 8px;padding:0;list-style:none;display:grid;gap:2px;font-size:12px;color:#9fb3b1}.gz-card ul b{color:#e8f1ee}
.gz-card small{display:block;margin:0 0 8px;color:#e6b77d}.gz-card .gzc-foot{display:flex;gap:8px}.gz-card .gzc-foot button{flex:1}
/* Линия соприкосновения: как в строках объектов — от центра к стороне, которая давит, её цветом. */
.war-front{display:block}.war-front span{position:absolute;top:0;bottom:0}
.war-front .w{border-radius:9px 0 0 9px;background:linear-gradient(90deg,#16406b,#3f9be6)}
.war-front .e{border-radius:0 9px 9px 0;background:linear-gradient(90deg,#e2573d,#6b2016)}
.war-front i.war-mid{position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;height:auto;transform:none;border:0;border-radius:0;background:#ffd08a88;box-shadow:none}
/* Школа БПЛА — учебные вылеты */
.uav-sim{margin:16px 0;padding:16px;border-radius:10px;background:linear-gradient(180deg,#15232a,#0e171b);border:1px solid #3d5753}
.uav-sim-head h3{margin:2px 0 4px}.uav-sim-head p{margin:0 0 10px;color:#a9bcbc;font-size:13px}
.uav-sim-body{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;align-items:start}
@media (max-width:980px){.uav-sim-body{grid-template-columns:1fr}}
.uav-sim canvas{width:100%;height:auto;aspect-ratio:9/5;border-radius:8px;border:1px solid #4a6460;cursor:crosshair;display:block;touch-action:none}
.uav-hud{display:grid;gap:8px;font-size:13px}
.uav-hud-row{display:grid;gap:2px;padding:7px 9px;border-radius:6px;background:#0a1418;border:1px solid #2b3f3f}
.uav-hud-row small{color:#7f9696;font-size:10px;letter-spacing:.12em}.uav-hud-row b{color:#e3eee9;font-weight:600}
.uav-batt{height:8px;border-radius:4px;background:#22302f;overflow:hidden}.uav-batt i{display:block;height:100%;width:100%;background:#7fca8e;transition:width .3s}
.uav-batt i.mid{background:#e3b45c}.uav-batt i.low{background:#e0574b}
.uav-log{margin:0;padding:0 0 0 18px;max-height:120px;overflow:auto;color:#c9d8d4;font-size:12px}.uav-log li{margin:2px 0}
.uav-kinds{margin:6px 0 10px;padding-left:18px;font-size:13px;color:#b8c7c4}.uav-kinds li{margin:3px 0}
.uav-debrief{margin-top:12px;padding:10px 12px;border-radius:8px;background:#0d1a1e;border:1px solid #3d5753}.uav-debrief.bad{border-color:#7a3a30}
.uav-debrief>b{display:block;margin:2px 0 8px}.uav-debrief small{display:block;margin-top:8px;color:#e3b45c}
.uav-debrief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.uav-debrief-grid span{font-size:11px;color:#8aa0a0}.uav-debrief-grid b{display:block;font-size:14px;color:#e3eee9}
.admin-ultra{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:12px 16px;border-radius:8px;border:1px solid #4a4a2a;background:linear-gradient(90deg,#26241466,#14181a)}
.admin-ultra b{display:block;color:#f0d68a;letter-spacing:.06em}.admin-ultra small{display:block;color:#b9b49a;font-size:12px;margin-top:3px;max-width:720px}
.admin-ultra.on{border-color:#c9a64a;box-shadow:0 0 18px #c9a64a33}
/* Задания профессии */
.pq{margin:14px 0}
.pq-chain{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:8px 0 12px;padding:0;counter-reset:none}
.pq-step{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:8px 10px;border-radius:8px;background:#0d1a1e;border:1px solid #2c4044;opacity:.6}
.pq-step i{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #4a6460;font-style:normal;font-weight:bold;color:#a9bcbc}
.pq-step b{font-size:13px;line-height:1.2}.pq-step small{font-size:11px;color:#8aa0a0}
.pq-step.cur{opacity:1;border-color:#e3b45c;background:#1a2620}.pq-step.cur i{border-color:#e3b45c;color:#e3b45c}
.pq-step.done{opacity:.9}.pq-step.done i{background:#2f5a3a;border-color:#6fb07f;color:#e8f5ea}
@media (max-width:800px){.pq-chain{grid-template-columns:1fr 1fr}}
.pq-card{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:start;padding:12px;border-radius:10px;background:linear-gradient(180deg,#15232a,#0e171b);border:1px solid #3d5753}
.pq-card>img,.pq-card>.npc-avatar,.pq-card>:first-child{width:110px;max-width:110px}
.pq-text h3{margin:2px 0 6px}.pq-text p{margin:4px 0;font-size:13px;color:#c9d8d4}.pq-quote{font-style:italic;color:#e3d4a8!important}
.pq-stages{list-style:none;margin:10px 0;padding:0;display:grid;gap:4px;counter-reset:pq}
.pq-stages li{counter-increment:pq;position:relative;padding:6px 10px 6px 34px;border-radius:6px;background:#0d1a1e;font-size:13px;color:#8aa0a0}
.pq-stages li:before{content:counter(pq);position:absolute;left:8px;top:6px;width:18px;height:18px;border-radius:50%;border:1px solid #4a6460;display:grid;place-items:center;font-size:11px}
.pq-stages li.ok{color:#93c99e}.pq-stages li.ok:before{content:'✓';background:#2f5a3a;border-color:#6fb07f;color:#fff}
.pq-stages li.now{color:#e3eee9;outline:1px solid #e3b45c}.pq-stages li.now:before{border-color:#e3b45c;color:#e3b45c}
.pq-stages em{color:#e3d4a8}.pq-stages em.pro{color:#93c99e}.pq-stages small{color:#93c99e}
.pq-stages b{color:#e3b45c;margin-left:6px}
.pq-bar{display:block;height:5px;border-radius:3px;background:#24343a;margin-top:5px;overflow:hidden}.pq-bar i{display:block;height:100%;background:#e3b45c}
.pq-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.pq-acts .muted{font-size:12px;color:#8aa0a0}
.pq-final{padding:14px;border-radius:8px;background:#1a2620;color:#93c99e}
@media (max-width:700px){.pq-card{grid-template-columns:1fr}}
.sd-choice{display:grid;gap:6px;margin:10px 0}.sd-choice>b{margin-bottom:2px}
#story-dialog .sd-choice>button{text-align:left;text-transform:none;letter-spacing:0;font-weight:normal;font-size:14px;padding:9px 12px;white-space:normal;clip-path:none}
.sd-pick{margin:0;padding:8px 12px;border-left:3px solid #e3b45c;background:#0d1a1e;color:#e3d4a8}
#dialog[data-panel=market] #content>.panel-art{margin-left:0;margin-right:0} /* рынок без внутренних полей: картинка не вылезает за край */
@media(max-width:760px){.dossier{grid-template-columns:minmax(0,1fr)!important}.dossier>*{min-width:0}.dossier .dos-record{display:block;max-width:100%;overflow-x:auto}.dossier .dos-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dossier .dos-fields dd{overflow-wrap:anywhere}.dossier .dos-photo{align-self:start;height:auto;justify-self:start}} /* личное дело на телефоне не вылезает за экран */
.chat-older{text-align:center;font-size:11px;color:#8fa5b0;padding:4px 6px 8px;cursor:pointer;letter-spacing:.3px} /* подгрузка ранних сообщений чата */
/* Служба снабжения 2.0 */
.sp-npc{font-style:italic;color:#d9c58f}.sp-npc b{font-style:normal;color:#f0dca8}
.sp-top{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px;margin:12px 0}
@media(max-width:760px){.sp-top{grid-template-columns:1fr}}
.sp-req,.sp-rep,.sp-log{padding:12px 14px;border:1px solid #c9a95a66;border-radius:8px;background:linear-gradient(180deg,#1d2a30ee,#111b20ee);color:#e8e2cf}
.sp-req.closed{border-color:#6fae7c88;opacity:.85}
.sp-kicker{font:700 11px/1.2 'Courier New',monospace;letter-spacing:2px;color:#c9a95a}
.sp-req-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.sp-timer{font:700 12px/1.2 'Courier New',monospace;color:#f2c46b}
.sp-req-body{display:flex;gap:12px;align-items:flex-start}.sp-req-body .icon{flex:none}
.sp-ask{margin:0 0 6px;font-style:italic;color:#d7d0b8}
.sp-bar{height:8px;border-radius:4px;background:#ffffff1a;overflow:hidden;margin:6px 0}.sp-bar i{display:block;height:100%;background:linear-gradient(90deg,#3d8fbb,#7cc8ef)}.sp-bar.gold i{background:linear-gradient(90deg,#a8822f,#f0c869)}
.sp-rep h3{margin:4px 0 2px;color:#f0dca8}.sp-rep p{margin:6px 0 0;font-size:13px}
.sp-demand{font:700 12px/1.3 'Segoe UI',sans-serif;margin:2px 0}.sp-demand.up{color:#8fd19e}.sp-demand.down{color:#e39b7d}.sp-demand.mid{color:#b9ccd5}
.supply-item.hot{box-shadow:0 0 0 2px #f0c86999,0 0 18px #f0c86933}
.sp-log{margin:12px 0}.sp-log p{margin:4px 0;font-size:13px}.sp-log time{color:#8fa5b0;margin-right:6px}
.sp-req-body>:first-child{width:76px!important;height:76px!important;flex:0 0 76px;overflow:hidden}.sp-req-body>:first-child svg,.sp-req-body>:first-child img{width:100%!important;height:100%!important}
.sp-req-body>div{min-width:0}.sp-top>*{min-width:0}
/* ── Окна: анимации и эффекты ── */
@keyframes fxDlgIn{0%{opacity:0;transform:translateY(18px) scale(.94) perspective(900px) rotateX(6deg);filter:blur(6px) brightness(1.6)}60%{opacity:1;filter:blur(0) brightness(1.15)}100%{opacity:1;transform:none;filter:none}}
@keyframes fxBorder{0%{box-shadow:0 0 0 1px #f0c86900,0 0 0 #f0c86900}35%{box-shadow:0 0 0 2px #f0c869cc,0 0 46px #f0c86966}100%{box-shadow:0 0 0 1px #f0c86900,0 0 0 #f0c86900}}
@keyframes fxSweep{0%{transform:translateX(-120%);opacity:0}15%{opacity:1}100%{transform:translateX(120%);opacity:0}}
@keyframes fxRise{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:none}}
@keyframes fxSwap{0%{opacity:.25;transform:translateX(10px)}100%{opacity:1;transform:none}}
@keyframes fxScan{0%{background-position:0 -100%}100%{background-position:0 200%}}
@keyframes fxRipple{0%{transform:translate(-50%,-50%) scale(0);opacity:.55}100%{transform:translate(-50%,-50%) scale(14);opacity:0}}
@keyframes fxDust{0%{transform:translateY(0);opacity:0}20%{opacity:.5}100%{transform:translateY(-120px);opacity:0}}
#dialog.fx-enter{animation:fxDlgIn .55s cubic-bezier(.2,.9,.25,1.15) both,fxBorder 1.1s ease-out .15s both}
#dialog.fx-enter::after{content:'';position:absolute;left:0;right:0;top:0;height:2px;pointer-events:none;z-index:50;background:linear-gradient(90deg,#0000,#f0c869,#fff6d5,#f0c869,#0000);animation:fxSweep .9s ease-out .2s both}
#dialog.fx-enter:not([data-panel=gray])::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:49;background:linear-gradient(180deg,#0000 0%,#7cc8ef14 48%,#7cc8ef2a 50%,#7cc8ef14 52%,#0000 100%) 0 0/100% 40% no-repeat;animation:fxScan .8s ease-out .05s both}
#dialog.fx-enter #content>*:not([data-fx-own]){animation:fxRise .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.12s + var(--fx-i,0)*45ms)}
#dialog.fx-swap #content{animation:fxSwap .28s ease-out both}
#dialog .item{transition:transform .18s ease,box-shadow .18s ease}#dialog .item:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0008,0 0 0 1px #f0c86955}
.fx-ripple-box{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:3}.fx-ripple{position:absolute;width:16px;height:16px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#fff8,#fff0 70%);animation:fxRipple .6s ease-out forwards}
#dialog button:not(:disabled){transition:filter .15s ease,transform .1s ease}#dialog button:not(:disabled):hover{filter:brightness(1.12)}#dialog button:not(:disabled):active{transform:translateY(1px) scale(.99)}
#dialog.fx-enter .panel-art,#dialog.fx-enter .bp-hero,#dialog.fx-enter [class*=-hero]{position:relative}
#dialog.fx-enter .panel-art::before{content:'';position:absolute;left:20%;bottom:0;width:3px;height:3px;border-radius:50%;background:#f0c869;box-shadow:120px 10px 0 #f0c869aa,260px -6px 0 #fff6,420px 4px 0 #f0c869cc,600px -10px 0 #f0c86988,780px 8px 0 #fff5;animation:fxDust 1.6s ease-out .2s both;pointer-events:none;z-index:3}
@media (prefers-reduced-motion:reduce){#dialog.fx-enter,#dialog.fx-swap,#dialog.fx-enter #content>*,#dialog.fx-swap #content{animation:none!important}#dialog.fx-enter::after,#dialog.fx-enter::before,.fx-ripple{display:none}}
.ch-fatigue{position:relative;margin:6px 0;padding:4px 8px;border-radius:4px;background:#ffffff0d;font-size:12px;overflow:hidden}.ch-fatigue i{position:absolute;left:0;bottom:0;height:2px;background:#7cc8ef}.ch-fatigue.tired{color:#f0b56b}.ch-fatigue.tired i{background:#f0b56b}
.bp-hero-weapons .bp-rifle2{top:4px}.bp-hero-weapons .c3{top:116px}.bp-hero-weapons .c1{top:6px}.bp-hero-weapons .c2{top:10px} /* оружие выше: виден магазин и подпись к нему */
.mkt-photo .icon{width:auto!important;height:100%!important;max-width:100%;aspect-ratio:1/1;flex:none} /* иконки рынка в исходных пропорциях (квадрат), а не растянуты на всю карточку */
/* Особые патроны */
.ammo-tag{display:inline-block;margin:2px 0;padding:1px 7px;border-radius:10px;font:600 11px/1.5 inherit;font-style:normal;background:#3a3f2c;color:#e8e2c2;border:1px solid #6a6d4a}
.ammo-tag.ammo-ap,.ammo-chip.ammo-ap{border-color:#8fa3b8;background:#26313d;color:#d6e4f2}
.ammo-tag.ammo-tracer,.ammo-chip.ammo-tracer{border-color:#d98b3a;background:#3d2a17;color:#ffd7a8}
.ammo-tag.ammo-hp,.ammo-chip.ammo-hp{border-color:#b85a5a;background:#3d1f1f;color:#f2c9c9}
.ammo-priority{margin-top:14px}.ammo-priority p{opacity:.8;font-size:13px}
.ammo-prio-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.ammo-prio-row b{min-width:110px}
.ammo-prio-row ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.ammo-chip{display:flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;border:1px solid #6a6d4a;border-radius:14px;background:#2c2f22;font-size:13px}
.ammo-chip button{min-width:28px;min-height:26px;padding:0 6px;border-radius:10px}
.cs-ammo-cal{margin:6px 0 10px;max-width:100%}.cs-ammo-cal label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:100%}.cs-ammo-cal select{max-width:100%;min-width:0;width:auto}
.cs-ammo{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cs-ammo-card{position:relative;padding:12px;border:1px solid #4d5038;border-radius:10px;background:linear-gradient(160deg,#25281c,#191a13)}
.cs-ammo-card.ammo-ap{border-color:#5d7286}.cs-ammo-card.ammo-tracer{border-color:#a8692c}.cs-ammo-card.ammo-hp{border-color:#8c4444}
.cs-ammo-card p{font-size:13px;opacity:.85;margin:4px 0}.cs-ammo-art{display:flex;justify-content:center;height:64px}.cs-ammo-art .icon{height:64px;width:64px}
.cs-ammo-card .cs-crate-buy{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
/* НИИ: лестница наград и развитие объектов */
.sp-ladder-list{list-style:none;margin:8px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.sp-ladder-list li{display:flex;gap:10px;align-items:center;padding:8px;border:1px solid #3d4030;border-radius:8px;background:#1d1f17;opacity:.78}
.sp-ladder-list li.ready{opacity:1;border-color:#9a8a3c}.sp-ladder-list li.got{opacity:1;border-color:#5f7a3c;background:#1f2618}
.sp-ladder-list .icon{width:52px;height:52px;flex:none}.sp-ladder-list div{min-width:0;flex:1}.sp-ladder-list b{display:block;font-size:13px}
.sp-ladder-list small{display:block;opacity:.75;font-size:12px}.sp-ladder-list progress{width:100%;height:6px}
.base-dev{margin:14px 0;padding:12px;border:1px solid #3d4030;border-radius:10px;background:linear-gradient(180deg,#202219,#17180f)}
.bd-side{margin:8px 0}.bd-side span{font-size:13px}.bd-side.own span{font-weight:700}
.bd-track{position:relative;height:12px;margin:4px 0;border-radius:6px;background:#2b2d22;overflow:hidden}
.bd-track b{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:linear-gradient(90deg,#6f7d3a,#b7c45a)}
.bd-side.aurelius .bd-track b{background:linear-gradient(90deg,#3a5a7d,#6fa3d9)}
.bd-track i{position:absolute;top:0;bottom:0;width:1px;background:#0008;z-index:1}
.bd-side small{opacity:.75;font-size:12px}
.bd-goods{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:8px}
.bd-goods>div{padding:6px 8px;border:1px dashed #4a4c3a;border-radius:8px;opacity:.6}.bd-goods>div.open{opacity:1;border-style:solid;border-color:#6f7d3a}
.bd-goods span{display:flex;align-items:center;gap:6px;margin-top:4px}.bd-goods .icon{width:32px;height:32px;flex:none}.bd-goods small{font-size:12px}
.bd-lead{color:#c9d77a}.dev-stock{margin-top:16px}.dev-lock{display:block;margin-top:6px;opacity:.75}
/* Деревня */
.kpp-signs{margin:0 0 14px}.kpp-post{position:relative;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:14px 10px 10px;border-radius:10px;background:linear-gradient(180deg,#2a2418,#1b1710)}
.kpp-post:before{content:'';position:absolute;left:50%;top:6px;bottom:6px;width:8px;margin-left:-4px;background:#5b4630;border-radius:3px}
.kpp-arrow{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;min-width:200px;padding:8px 18px;background:#8a6a3f;color:#1d140a;border:none;border-radius:4px;font:inherit;text-align:left;box-shadow:0 2px 0 #0006}
.kpp-arrow b{font-size:15px}.kpp-arrow small{font-size:12px;opacity:.85}
.kpp-arrow.left{clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%);padding-left:26px;cursor:pointer;background:#a8834c}
.kpp-arrow.right{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);padding-right:26px}
.kpp-arrow.left:hover{filter:brightness(1.1)}
.vg-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-start}.vg-head>div:first-child{flex:1 1 300px}.vg-safety{flex:1 1 260px}
.vg-safe{margin:6px 0}.vg-safe span{font-size:13px}.vg-safe small{font-size:12px;opacity:.75}.vg-safe .bd-track b{background:linear-gradient(90deg,#8a5a2a,#d9a85a)}
.vg-gate,.vg-walk,.vg-here{margin-top:12px;padding:12px;border:1px solid #3d4030;border-radius:10px;background:#1b1c15}
.vg-walk{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.vg-steps{font-size:34px;font-style:normal;animation:vgstep 1s steps(2) infinite}
@keyframes vgstep{50%{transform:translateX(6px)}}
.vg-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.vg-person,.vg-quest,.vg-battle{display:flex;gap:10px;align-items:flex-start;padding:8px;border:1px solid #3d4030;border-radius:8px;background:#202219}
.vg-person p{margin:4px 0 0;font-size:13px;opacity:.9;font-style:italic}.vg-person small,.vg-quest small,.vg-battle small{display:block;opacity:.75;font-size:12px}
.vg-mark{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d8c08a,#7a6136);color:#2a1d0c;font:700 20px/1 serif;font-style:normal;border:2px solid #4a3a20}
.vg-mark.small{width:32px;height:32px;font-size:15px}
.vg-quests{display:grid;gap:6px}.vg-quest{align-items:center}.vg-quest>div{flex:1;min-width:0}.vg-quest.done{opacity:.6}
.vg-battle{flex-direction:column;border-color:#7a5a2a}.vg-battle.defend{border-color:#a83a2a;background:#2a1a15}
.vg-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.vg-who{margin:6px 0}
.photo-ammo{position:relative}.ammo-badge{position:absolute;right:2px;top:2px;z-index:2;padding:0 4px;border-radius:4px;font:700 10px/15px inherit;letter-spacing:.02em;color:#fff;background:#556b2f;box-shadow:0 1px 2px #000a}
.ammo-badge.ammo-ap{background:#3d5a78}.ammo-badge.ammo-tracer{background:#b86a1e}.ammo-badge.ammo-hp{background:#8c3434}
/* ── КПП: развилка ── */
.kpp-fork{display:grid;gap:14px}
.kpp-scene{position:relative;aspect-ratio:100/46;max-height:420px;width:100%;border-radius:12px;overflow:hidden;border:1px solid #3a3f33;box-shadow:inset 0 0 60px #0009}
.kpp-scene svg{position:absolute;inset:0;width:100%;height:100%}
.kpp-fog ellipse{fill:#c8cfc4;opacity:.08;animation:kppfog 14s ease-in-out infinite alternate}.kpp-fog ellipse+ellipse{animation-delay:-7s}
@keyframes kppfog{to{transform:translateX(4px)}}
.kpp-houses path{fill:#141912}.kpp-houses .win{fill:#f2c36b;opacity:.85;animation:kppwin 6s steps(1) infinite}
@keyframes kppwin{0%,100%{opacity:.85}48%{opacity:.35}}
.kpp-plant rect{fill:#111416}.kpp-red{fill:#ff5a3c;animation:kppblink 1.6s steps(1) infinite}@keyframes kppblink{50%{opacity:.15}}
 background:repeating-linear-gradient(178deg,#0000 0 5px,#0000000f 5px 6px),linear-gradient(180deg,#c09160,#956d40 60%,#7f5b34);box-shadow:inset 0 2px 0 #e3bb85,inset 0 -3px 0 #5a3d20,0 4px 0 #2d1e10,0 10px 22px #000b;clip-path:none;transition:transform .18s ease,filter .18s ease}
.kpp-post-cap{position:absolute;left:50%;top:27%;width:3%;height:4%;transform:translateX(-50%)}
.kpp-roads{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kpp-road{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:10px;border:1px solid #3d4030;background:linear-gradient(160deg,#22251b,#17180f)}
.kpp-road.village{border-color:#6c5a36}.kpp-road.gray{border-color:#4b5560;background:linear-gradient(160deg,#1d2228,#121519)}
.kpp-road h3{margin:0}.kpp-road p{margin:0;opacity:.85;font-size:14px}.kpp-road ul{margin:4px 0;padding-left:18px;font-size:13px;opacity:.9}.kpp-road>button{margin-top:auto;align-self:flex-start}
.kpp-back{margin-left:auto}
@media (max-width:700px){.kpp-roads{grid-template-columns:1fr}.kpp-scene{aspect-ratio:100/62}}
/* ── Деревня: карта ── */
.vg-top{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.vg-top>div:first-child{flex:1 1 320px}.vg-top h1{margin:2px 0 6px}.vg-top .vg-safety{flex:1 1 240px}
.vg-rank{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.vg-rank b{padding:2px 10px;border-radius:12px;background:#4a3b22;color:#f1dcae;font-size:13px}.vg-rank .vg-bar{width:120px}.vg-rank small{opacity:.75;font-size:12px}
.vg-bar{display:block;height:6px;border-radius:3px;background:#2b2d22;overflow:hidden}.vg-bar b{display:block;height:100%;background:linear-gradient(90deg,#8a6a3a,#e0b765)}
.vg-stage{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:12px;margin-top:12px;align-items:start}
.vg-map{position:relative;aspect-ratio:100/60;width:100%;border-radius:12px;overflow:hidden;border:1px solid #4a4230;box-shadow:inset 0 0 50px #000a}
.vg-svg{position:absolute;inset:0;width:100%;height:100%}
.vg-svg .vg-ground{fill:#3c4630}.vg-svg .vg-ground.enemy{fill:#323a2a}.vg-svg .field{fill:#5d5a38;opacity:.75}.vg-svg .furrow{stroke:#463f28;stroke-width:.35}
.vg-svg .tree{fill:#1f2d1c;stroke:#162114;stroke-width:.25}
.vg-svg .road{fill:none;stroke:#7b6a4c;stroke-width:1.7;stroke-linecap:round}.vg-svg .road.thin{stroke-width:.9;opacity:.85}.vg-svg .kpp-path{stroke:#7b6a4c;stroke-width:1.7}
.vg-svg .river{fill:#2d4a5a;opacity:.9}.vg-svg .ford{stroke:#9fb7c2;stroke-width:1.1;stroke-dasharray:.6 .6}
.vg-svg .well{fill:#5d5547;stroke:#2b261e;stroke-width:.3}.vg-svg .well-in{fill:#1b2a30}
.vg-svg .house rect:first-child{fill:#6f5a40;stroke:#2c2216;stroke-width:.2}.vg-svg .house path{fill:#4a3324}.vg-svg .house .win{fill:#2b2a24}
.vg-svg .fence{fill:none;stroke:#8a7552;stroke-width:.35;stroke-dasharray:.8 .4}.vg-svg .shed{fill:#57452f}
.vg-map.tod-evening{filter:saturate(.85) brightness(.9)}.vg-map.tod-evening .vg-svg .house .win{fill:#d9a24f}
.vg-map.tod-night{filter:saturate(.6) brightness(.62) hue-rotate(10deg)}.vg-map.tod-night .vg-svg .house .win{fill:#ffcf6e;animation:kppwin 7s steps(1) infinite}
.vg-spot{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;border:none;background:none;color:#f3ead2;cursor:pointer;font:inherit}
.vg-spot span{padding:1px 7px;border-radius:9px;background:#000a;font-size:11px;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.vg-spot .vg-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#2a2418e6;border:2px solid #8d7448;font-style:normal;font-size:15px;transition:transform .15s}
.vg-spot.res .vg-mark{width:36px;height:36px;font-size:17px;transition:transform .15s}
.vg-spot:hover .vg-mark,.vg-spot:hover .vg-ico{transform:scale(1.12)}.vg-spot.sel .vg-mark,.vg-spot.sel .vg-ico{box-shadow:0 0 0 3px #f1d38a,0 0 14px #f1d38a88}
.vg-badge{position:absolute;top:-4px;right:-6px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#d9a03a;color:#1b1206;font:700 12px/1 inherit;font-style:normal;box-shadow:0 0 0 2px #1b1206;animation:vgbob 1.8s ease-in-out infinite}
.vg-badge.ready{background:#7fbf5a}@keyframes vgbob{50%{transform:translateY(-3px)}}
.vg-me{position:absolute;z-index:3;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#7fd0ff;box-shadow:0 0 0 3px #0b2533,0 0 16px #7fd0ff;transition:left .25s linear,top .25s linear;pointer-events:none}
.vg-me:after{content:'';position:absolute;inset:-8px;border-radius:50%;border:2px solid #7fd0ff88;animation:vgping 1.8s ease-out infinite}@keyframes vgping{from{transform:scale(.5);opacity:1}to{transform:scale(1.6);opacity:0}}
.vg-dot{position:absolute;z-index:2;width:9px;height:9px;margin:-4px 0 0 -4px;border-radius:50%;box-shadow:0 0 0 2px #0008}.vg-dot.ally{background:#9bd56b}.vg-dot.foe{background:#ff6a4a}
.vg-fight{position:absolute;z-index:4;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;padding:0;border:none;background:none;color:#ffd9cf;cursor:pointer;font:inherit}
.vg-fight i{width:22px;height:22px;border-radius:50%;background:#c2412a;box-shadow:0 0 0 3px #3a0f08;animation:vgfight 1s ease-in-out infinite}@keyframes vgfight{50%{box-shadow:0 0 0 3px #3a0f08,0 0 0 10px #c2412a33}}
.vg-fight span{padding:1px 6px;border-radius:8px;background:#3a0f08e6;font-size:11px;white-space:nowrap}
.vg-alarm{position:absolute;z-index:5;left:50%;top:10px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:8px;background:#5a160ce6;border:1px solid #d9553a;box-shadow:0 4px 18px #000a;animation:vgalarm 1.4s ease-in-out infinite}@keyframes vgalarm{50%{border-color:#ff9a7a}}
.vg-side{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;border:1px solid #3d4030;background:linear-gradient(180deg,#1f2118,#16170f);max-height:min(72vh,640px);overflow:auto}
.vg-side h3{margin:0}.vg-side h4{margin:8px 0 2px;font-size:14px}.vg-side p{margin:0;font-size:14px;opacity:.9}.vg-wide{width:100%}
.vg-talk{display:flex;gap:12px;align-items:center}.vg-mark.big{width:60px;height:60px;font-size:28px}
.vg-say{margin:4px 0;padding:10px 12px;border-left:3px solid #b8924f;border-radius:0 8px 8px 0;background:#2a261a;font-style:italic;font-size:14px;animation:vgsay .35s ease-out}@keyframes vgsay{from{opacity:0;transform:translateY(4px)}}
.vg-acts{display:flex;flex-wrap:wrap;gap:6px}
.vg-q{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #3d4030;border-radius:8px;background:#202219}.vg-q>div{flex:1;min-width:0}.vg-q small{display:block;opacity:.75;font-size:12px}.vg-q.ready{border-color:#6f9a45}.vg-q.done{opacity:.6}.vg-q .vg-bar{margin-top:4px}
.vg-qrow{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:1px solid #3d4030;border-radius:8px;background:#202219;color:inherit;font:inherit;text-align:left;cursor:pointer}.vg-qrow span{flex:1;min-width:0}.vg-qrow small{display:block;opacity:.75;font-size:12px}.vg-qrow em{font-style:normal;font-weight:700;color:#e0b765}.vg-qrow.ready em{color:#9bd56b}.vg-qrow.done{opacity:.55}
.vg-shop2{display:grid;gap:5px}.vg-ware{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;background:#1c1d15}.vg-ware .icon{width:40px;height:40px;flex:none}.vg-ware>div{flex:1;min-width:0}.vg-ware b{font-size:13px}.vg-ware small{display:block;font-size:11px;opacity:.75}
.vg-log{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}.vg-log li{padding:4px 8px;border-left:3px solid #555;background:#1c1d15;border-radius:0 6px 6px 0}.vg-log li.alarm,.vg-log li.loss{border-color:#c2412a}.vg-log li.win{border-color:#6f9a45}.vg-log li.raid,.vg-log li.pvp{border-color:#b8924f}.vg-log time{margin-right:6px;opacity:.6}
.vg-walkbar{height:8px;border-radius:4px;background:#2b2d22;overflow:hidden}.vg-walkbar b{display:block;height:100%;width:0;background:linear-gradient(90deg,#4f7a9a,#7fd0ff);transition:width .25s linear}
@media (max-width:820px){.vg-stage{grid-template-columns:1fr}.vg-side{max-height:none}.vg-spot span{font-size:10px;max-width:90px}.vg-spot.res .vg-mark{width:28px;height:28px;font-size:14px}.vg-spot .vg-ico{width:24px;height:24px;font-size:12px}}
@media (max-width:480px){.vg-spot span{display:none}.vg-spot.sel span{display:block}.vg-alarm{flex-direction:column;gap:4px;top:6px;padding:4px 8px}}
@media (prefers-reduced-motion:reduce){.kpp-fog ellipse,.kpp-houses .win,.kpp-red,.vg-badge,.vg-me:after,.vg-fight i,.vg-alarm{animation:none}}
/* Деревня: кнопки карты без общей «металлической» отделки кнопок */
#dialog#dialog .vg-map button.vg-spot,#dialog#dialog .vg-map button.vg-fight,#dialog#dialog .vg-side button.vg-qrow{all:unset;box-sizing:border-box;cursor:pointer}
#dialog#dialog .vg-map button.vg-spot::before,#dialog#dialog .vg-map button.vg-spot::after,#dialog#dialog .vg-map button.vg-fight::before,#dialog#dialog .vg-map button.vg-fight::after,#dialog#dialog .vg-side button.vg-qrow::before,#dialog#dialog .vg-side button.vg-qrow::after{display:none!important}
#dialog#dialog .vg-map button.vg-spot{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;color:#f3ead2;font-size:13px}
#dialog#dialog .vg-map button.vg-fight{position:absolute;z-index:4;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;color:#ffd9cf;font-size:13px}
#dialog#dialog .vg-map button.vg-spot:focus-visible .vg-mark,#dialog#dialog .vg-map button.vg-spot:focus-visible .vg-ico{outline:2px solid #f1d38a;outline-offset:2px}
#dialog#dialog .vg-side button.vg-qrow{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:1px solid #3d4030;border-radius:8px;background:#202219;color:inherit;font-size:14px;text-align:left}
#dialog#dialog .vg-side button.vg-qrow:hover{border-color:#8d7448;background:#26281d}
#dialog#dialog .vg-side button.vg-qrow.ready{border-color:#6f9a45}#dialog#dialog .vg-side button.vg-qrow.done{opacity:.55}
/* КПП v61: фото деревни слева, указатель — настоящая картинка, надписи поверх досок */
.kpp-photo{position:absolute;left:0;top:0;bottom:0;width:60%;z-index:0;background:var(--kpp-village) 30% 60%/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,#000 62%,transparent);mask-image:linear-gradient(90deg,#000 62%,transparent)}
.kpp-scene svg{z-index:0}.kpp-scene .kpp-houses,.kpp-scene .kpp-post,.kpp-scene svg>path[fill="url(#kppRoadL)"]{display:none}
.kpp-scene svg>rect:first-of-type{opacity:.9}
.kpp-signbox{position:absolute;left:50%;bottom:3%;z-index:2;width:min(82%,780px);aspect-ratio:960/320;transform:translateX(-50%)}
/* Указатель v63: столб и две таблички — отдельные слои; таблички — кнопки, надписи нарисованы на них краской. */
.kpp-signbox .kpp-pole{position:absolute;left:45.3125%;top:3.75%;width:9.5833%;height:96.25%;filter:drop-shadow(0 12px 16px #000b);pointer-events:none;user-select:none}
#dialog#dialog .kpp-signbox button.kpp-plank{all:unset;box-sizing:border-box;position:absolute;display:block;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .22s cubic-bezier(.3,1.4,.5,1),filter .18s ease}
#dialog#dialog .kpp-signbox button.kpp-plank img{display:block;width:100%;height:100%;filter:drop-shadow(0 10px 12px #000b);pointer-events:none;user-select:none}
#dialog#dialog .kpp-signbox button.kpp-plank-l{left:2.1875%;top:20.9375%;width:46.979%;height:46.25%;transform-origin:96% 50%}
#dialog#dialog .kpp-signbox button.kpp-plank-r{left:51.5625%;top:27.8125%;width:46.458%;height:41.875%;transform-origin:4% 50%}
#dialog#dialog .kpp-signbox button.kpp-plank:hover:not(:disabled){filter:brightness(1.12) saturate(1.08)}
#dialog#dialog .kpp-signbox button.kpp-plank-l:hover:not(:disabled){transform:rotate(-1.6deg)}
#dialog#dialog .kpp-signbox button.kpp-plank-r:hover:not(:disabled){transform:rotate(1.6deg)}
#dialog#dialog .kpp-signbox button.kpp-plank:active:not(:disabled){filter:brightness(.95);transform:none;transition-duration:.06s}
#dialog#dialog .kpp-signbox button.kpp-plank:focus-visible{outline:none;filter:brightness(1.15) drop-shadow(0 0 6px #f1d38a)}
#dialog#dialog .kpp-signbox button.kpp-plank:disabled{cursor:not-allowed;filter:grayscale(.75) brightness(.62)}
.kpp-signbox .kpp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){#dialog#dialog .kpp-signbox button.kpp-plank{transition:none}#dialog#dialog .kpp-signbox button.kpp-plank:hover:not(:disabled){transform:none}}
@media (max-width:700px){.kpp-signbox{width:96%}.kpp-photo{width:70%}}
/* Деревня v61: портреты жителей, обложка шапки, картинка тропы */
.vg-mark{position:relative;overflow:hidden}.vg-mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.vg-mark.big{width:72px;height:72px}
.vg-top{position:relative;isolation:isolate;padding:14px;border-radius:12px;overflow:hidden}
.vg-top:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d0f0bf2 0%,#0d0f0bd0 45%,#0d0f0b80 100%),var(--vg-cover) center 60%/cover no-repeat}
.vg-walkimg{width:100%;max-height:140px;object-fit:cover;border-radius:8px;opacity:.9}
.kpp-scene{background:linear-gradient(180deg,#26313a,#3c4139 62%,#24251d)}.kpp-scene .kpp-sky,.kpp-scene .kpp-fog{display:none}.kpp-scene svg>rect:first-of-type{opacity:1}
.kpp-scene .kpp-hills{-webkit-mask:none;opacity:.55}
.kpp-photo{z-index:1;-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent 98%);mask-image:linear-gradient(90deg,#000 55%,transparent 98%)}
.kpp-scene svg{z-index:0}
.kpp-photo-r{position:absolute;right:0;top:0;bottom:0;width:58%;z-index:1;background:var(--kpp-zone) 70% 40%/cover no-repeat;filter:saturate(.75) brightness(.8);-webkit-mask-image:linear-gradient(270deg,#000 55%,transparent 98%);mask-image:linear-gradient(270deg,#000 55%,transparent 98%)}
.kpp-scene .kpp-plant{display:none}.kpp-scene .kpp-barrier{position:relative;z-index:2}
/* ── Окна 1.0.47: акцентный цвет раздела, свечение рамки, живые карточки ── */
#dialog{--acc:#e0b765;--acc2:#e0b76533}
#dialog[data-panel=gray]{--acc:#e07a4f;--acc2:#e07a4f33}#dialog[data-panel=village]{--acc:#d9a25a;--acc2:#d9a25a33}
#dialog[data-panel=hospital]{--acc:#7fc8a0;--acc2:#7fc8a033}#dialog[data-panel=crypto],#dialog[data-panel=season],#dialog[data-panel=vip]{--acc:#6fd0e0;--acc2:#6fd0e033}
#dialog[data-panel=supply],#dialog[data-panel=suppliers]{--acc:#9bd56b;--acc2:#9bd56b33}#dialog[data-panel=weapons]{--acc:#f3a93a;--acc2:#f3a93a33}
#dialog[data-panel=character],#dialog[data-panel=rewards]{--acc:#f1d38a;--acc2:#f1d38a33}#dialog[data-panel=market],#dialog[data-panel=trade]{--acc:#c9a66b;--acc2:#c9a66b33}
#dialog#dialog[open]{box-shadow:0 30px 100px #000c,0 0 0 1px var(--acc2),0 0 40px -10px var(--acc2);scrollbar-width:thin;scrollbar-color:var(--acc2) transparent}
#dialog[open]::-webkit-scrollbar{width:9px}#dialog[open]::-webkit-scrollbar-thumb{background:var(--acc2);border-radius:6px}#dialog[open]::-webkit-scrollbar-thumb:hover{background:var(--acc)}
#dialog #close{transition:transform .2s ease,filter .2s ease}#dialog #close:hover{transform:rotate(90deg);filter:drop-shadow(0 0 8px var(--acc))}
#content>h2,#content>h3,#content section>h3,#content .ch-h,#content .cs-title{position:relative;padding-left:12px}
#content>h2::before,#content>h3::before,#content section>h3::before,#content .ch-h::before,#content .cs-title::before{content:'';position:absolute;left:0;top:.18em;bottom:.18em;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--acc),var(--acc2))}
#content :is(.item,.cs-crate,.cs-set,.cs-ammo-card,.kpp-road,.vg-q,.sp-ladder-list li,.magazine-card,.aw-card,.vg-person,.vg-ware,.bd-goods>div){transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
@media (hover:hover){#content :is(.item,.cs-crate,.cs-set,.cs-ammo-card,.kpp-road,.sp-ladder-list li,.magazine-card,.aw-card):hover{transform:translateY(-3px);box-shadow:0 10px 24px #0008,0 0 0 1px var(--acc2);border-color:var(--acc)}
 #content :is(.vg-q,.vg-ware,.bd-goods>div):hover{box-shadow:0 0 0 1px var(--acc2);border-color:var(--acc)}}
#content .section-tabs button[aria-pressed=true],#content .section-tabs button.active{box-shadow:inset 0 -3px 0 var(--acc),0 0 16px -4px var(--acc)}
#dialog.fx-enter #content :is(.item,.cs-ammo-card,.kpp-road,.sp-ladder-list li,.aw-card){animation:fxCard .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.18s + var(--fx-i,0)*40ms)}
@keyframes fxCard{from{opacity:0;transform:translateY(10px) scale(.98)}}
@keyframes fxBorder{0%{box-shadow:0 30px 100px #000c,0 0 0 1px transparent}35%{box-shadow:0 30px 100px #000c,0 0 0 2px var(--acc),0 0 60px var(--acc2)}100%{box-shadow:0 30px 100px #000c,0 0 0 1px var(--acc2),0 0 40px -10px var(--acc2)}}
@media (prefers-reduced-motion:reduce){#dialog.fx-enter #content *{animation:none!important}#content :is(.item,.cs-crate,.cs-set,.cs-ammo-card,.kpp-road,.sp-ladder-list li,.magazine-card,.aw-card):hover{transform:none}}
body.phone #content :is(.item,.cs-crate,.cs-set,.cs-ammo-card,.kpp-road,.sp-ladder-list li,.magazine-card,.aw-card):hover{transform:none}
/* Телефон и экономный режим (слабый компьютер): без размытия под стеклом и без бесконечных декоративных анимаций */
body.phone *,body.eco *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.phone .bp-art *,body.eco .bp-art *,body.phone .kpp-scene *,body.eco .kpp-scene *,body.eco .vg-map .vg-badge,body.eco .vg-me::after{animation:none!important}
body.phone #dialog.fx-enter{animation-duration:.3s}body.phone #dialog.fx-enter::before,body.phone #dialog.fx-enter .panel-art::before{display:none}
@media (max-width:600px){.bp-art .bp-gate{display:none}}
@media (max-width:520px){.kpp-signbox{width:100%;bottom:2%}}


/* Village v62: photographic terrain, readable independent UI, inexpensive layers. */
.vg-mapbox,.vg-stage>*{min-width:0}
.vg-map{isolation:isolate;background:#303a2d;box-sizing:border-box}
.vg-map.tod-evening,.vg-map.tod-night{filter:none}
.vg-art-v62,.vg-base-v62,.vg-lights-v62,.vg-tone-v62{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.vg-art-v62{z-index:0;overflow:hidden}
.vg-base-v62{object-fit:fill;opacity:0}
.vg-ready-v62 .vg-base-v62{opacity:1}
.vg-ready-v62>.vg-svg{visibility:hidden}
.vg-tone-v62{background:transparent}
.tod-evening .vg-base-v62{filter:brightness(.76) saturate(.86) sepia(.12)}
.tod-night .vg-base-v62{filter:brightness(.39) saturate(.64)}
.tod-evening .vg-tone-v62{background:#a5682520}
.tod-night .vg-tone-v62{background:#0d24545c}
.vg-lights-v62{opacity:0}
.tod-evening .vg-ready-v62 .vg-lights-v62{opacity:.53}
.tod-night .vg-ready-v62 .vg-lights-v62{opacity:1}
.vg-smoke-anchor-v62{position:absolute;width:4%;height:14%;transform:translate(-45%,-96%);pointer-events:none;display:none}
.vg-ready-v62 .vg-smoke-anchor-v62{display:block}
.vg-smoke-v62{width:100%;height:100%;opacity:0;transform-origin:bottom center;animation:vgSmokeV62 15s linear infinite}
@keyframes vgSmokeV62{0%{opacity:0;transform:translate(0,8%) scale(.6)}25%{opacity:.28}70%{opacity:.2}100%{opacity:0;transform:translate(38%,-25%) scale(1.25)}}
.vg-water-v62{position:absolute;left:78%;top:75%;width:12%;height:4%;border-radius:50%;background:radial-gradient(ellipse,#afc9d12b,transparent 70%);opacity:0;animation:vgWaterV62 12s ease-in-out infinite;display:none}
.vg-ready-v62 .vg-water-v62{display:block}
@keyframes vgWaterV62{0%,100%{opacity:.1;transform:translateX(-5%)}50%{opacity:.42;transform:translateX(8%)}}
#dialog#dialog .vg-map button.vg-spot{filter:drop-shadow(0 2px 3px #000b);max-width:32%;text-align:center}
#dialog#dialog .vg-map button.vg-spot span{background:#101b20ed;border:1px solid #8d9a9270;color:#fff5dc;padding:3px 7px;line-height:1.2;text-shadow:0 1px 2px #000;max-width:100%;white-space:normal}
#dialog#dialog .vg-map .vg-spot.sel span{border-color:#f1d38a;background:#21291ff5;color:#fff3c4}
#dialog#dialog .vg-map .vg-spot .vg-mark{border:2px solid #abb0a0;background:#1c2929}
.vg-me{background:#b2eaff;box-shadow:0 0 0 2px #092b3b,0 0 0 5px #0a172c99,0 0 16px 7px #7fd0ff66}
.vg-badge{box-shadow:0 1px 5px #000;border:1px solid #fff5c3}
.vg-alarm{z-index:5;background:#341714f2;color:#fff1df;max-width:94%;box-sizing:border-box}
#dialog#dialog .vg-map button.vg-fight span{background:#341714f2;padding:3px 6px;border:1px solid #e68c68;border-radius:4px}
body.eco .vg-map *,body.phone .vg-map *{animation:none!important}
body.eco .vg-smoke-v62,body.phone .vg-smoke-v62{opacity:.14}
@media(prefers-reduced-motion:reduce){.vg-map *{animation:none!important}.vg-me{transition:none}.vg-smoke-v62{opacity:.14}}
@media(max-width:480px){
 .vg-stage{grid-template-columns:minmax(0,1fr)}.vg-map{width:100%}
 #dialog#dialog .vg-map button.vg-spot{max-width:28%;gap:0}
 #dialog#dialog .vg-map button.vg-spot:not(.sel) span{display:none}
 #dialog#dialog .vg-map button.vg-spot.sel span{display:block;font-size:10px}
 .vg-spot.res .vg-mark{width:24px;height:24px}.vg-spot .vg-ico{width:22px;height:22px}
 .vg-me{width:9px;height:9px;margin:-4.5px 0 0 -4.5px}
 .vg-top>div:first-child,.vg-top .vg-safety{flex-basis:100%;min-width:0}
 .vg-top h1{overflow-wrap:anywhere}.vg-alarm b{font-size:11px}
}

.vg-me:after{animation-duration:6s}
/* Keep labels at the two map edges inside the terrain. */
#dialog#dialog .vg-map button.vg-spot[data-vg-sel="forest"]{transform:translate(-95%,0);align-items:flex-end;max-width:24%}
#dialog#dialog .vg-map button.vg-spot[data-vg-sel="base"]{transform:translate(-18%,-50%);align-items:flex-start}
body.eco .vg-map *::after,body.eco .vg-map *::before,body.phone .vg-map *::after,body.phone .vg-map *::before{animation:none!important}
@media(prefers-reduced-motion:reduce){.vg-map *::before,.vg-map *::after{animation:none!important}}
/* v63 · Научная программа НИИ: лабораторная панель с бесконечными этапами */
.sci{position:relative;margin:16px 0;padding:16px 18px 14px;border:1px solid #2f5a5e;border-radius:12px;background:radial-gradient(120% 140% at 100% 0,#123238 0,#0d1b1f 45%,#0a1215 100%);box-shadow:inset 0 0 0 1px #0007,0 10px 26px #0006;overflow:hidden}
.sci:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#7fe3e60a 0 1px,#0000 1px 22px),repeating-linear-gradient(90deg,#7fe3e60a 0 1px,#0000 1px 22px);-webkit-mask:linear-gradient(180deg,#000,#0000 70%);mask:linear-gradient(180deg,#000,#0000 70%)}
.sci>*{position:relative}
.sci .sp-kicker{color:#7fd6d2}
.sci-head h2{margin:4px 0 2px;font-size:22px;letter-spacing:.02em;color:#e9f7f5}.sci-head h2 em{font-style:normal;font-size:14px;margin-left:8px;padding:2px 8px;border-radius:20px;background:#1f4f52;color:#a8efe6;vertical-align:middle}
.sci-topic{margin:0 0 10px;color:#a9c3c0;font-size:14px}.sci-topic b{color:#e6fffb}
.sci-bar{position:relative;height:22px;border-radius:11px;background:#06100f;border:1px solid #2b5154;overflow:hidden}
.sci-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:11px;background:linear-gradient(90deg,#1b7c7a,#3fd1c1 70%,#b8fff2);box-shadow:0 0 14px #3fd1c188;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.sci-bar i:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0000,#ffffff55,#0000);background-size:60% 100%;background-repeat:no-repeat;animation:sciShine 3.2s ease-in-out infinite}
@keyframes sciShine{from{background-position:-80% 0}to{background-position:180% 0}}
.sci-bar span{position:relative;display:block;text-align:center;font:700 12px/22px 'Courier New',monospace;color:#e8fffb;text-shadow:0 1px 2px #000}
.sci-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:12px 0 4px}
.sci-grid>div{display:flex;flex-direction:column;gap:3px;padding:9px 11px;border-radius:9px;background:#0f2226cc;border:1px solid #234247}
.sci-grid small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#7fa9a5}.sci-grid b{font-size:15px;color:#e9fffb}.sci-grid em{font-style:normal;font-size:12px;color:#93b3b0}
.sci-pay{display:flex;flex-wrap:wrap;gap:4px}.sci-pay i{font-style:normal;padding:1px 6px;border-radius:10px;border:1px solid #2d4e52;color:#7f9e9b}.sci-pay i.on{border-color:#3fd1c1;color:#bff7ee;background:#164446}
.sci h3{margin:14px 0 6px;font-size:15px;color:#cfeee9}.sci h3 small{font-weight:400;color:#7fa9a5;margin-left:6px}
.sci .bd-goods>div{border-color:#2b4a4e;background:#0b1719}.sci .bd-goods>div.open{border-color:#3fd1c1;background:#102a2c}
.sci-log{list-style:none;margin:0;padding:0;display:grid;gap:4px}.sci-log li{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline;padding:6px 10px;border-left:2px solid #3fd1c1;background:#0e1f22;border-radius:0 6px 6px 0;font-size:13px}.sci-log b{color:#bff7ee}.sci-log span{color:#c3d8d5}.sci-log time{font-size:11px;color:#6f9490}
.sci-note{margin:10px 0 0;font-size:12px;color:#7f9e9b}
@media (max-width:520px){.sci{padding:12px}.sci-head h2{font-size:18px}.sci-log li{grid-template-columns:auto 1fr}.sci-log time{display:none}}
@media (prefers-reduced-motion:reduce){.sci-bar i:after{animation:none}}
body.eco .sci-bar i:after,body.phone .sci-bar i:after{animation:none}
/* v63 · Деревня: атмосфера поверх снимков v62 (облака, дымка, птицы, виньетка, картуш, путь, тревога) */
.vg-clouds-v63,.vg-haze-v63,.vg-vignette-v63{position:absolute;inset:0;pointer-events:none}
.vg-clouds-v63{overflow:hidden;mix-blend-mode:multiply;opacity:.55}
.vg-clouds-v63 i{position:absolute;width:62%;height:70%;border-radius:50%;background:radial-gradient(closest-side,#141a12aa,#141a1244 55%,#0000);will-change:transform;animation:vgCloud63 95s linear infinite}
.vg-clouds-v63 i:nth-child(1){top:-12%;left:-70%}
.vg-clouds-v63 i:nth-child(2){top:34%;left:-70%;width:48%;height:52%;animation-duration:120s;animation-delay:-55s;opacity:.8}
.vg-clouds-v63 i:nth-child(3){top:58%;left:-70%;width:70%;height:60%;animation-duration:140s;animation-delay:-100s;opacity:.65}
@keyframes vgCloud63{from{transform:translateX(0)}to{transform:translateX(290%)}}
.vg-haze-v63{background:linear-gradient(180deg,#d9e2dc33 0,#d9e2dc12 18%,#0000 40%,#0000 75%,#c9d1c822 100%);animation:vgHaze63 18s ease-in-out infinite alternate}
@keyframes vgHaze63{from{opacity:.55}to{opacity:1}}
.vg-vignette-v63{background:radial-gradient(120% 100% at 50% 48%,#0000 55%,#0a0d0a55 80%,#050705b3 100%)}
.vg-birds-v63{position:absolute;left:0;top:9%;width:9%;opacity:0;pointer-events:none;animation:vgBirds63 34s linear infinite;animation-delay:6s}
@keyframes vgBirds63{0%{transform:translate(-120%,0);opacity:0}3%{opacity:.85}38%{transform:translate(1050%,-90%);opacity:.85}41%,100%{transform:translate(1100%,-95%);opacity:0}}
.vg-cart-v63{position:absolute;right:1.4%;bottom:2.4%;display:flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border-radius:6px;background:linear-gradient(180deg,#141d17e6,#0c120ee6);border:1px solid #8d7d56;box-shadow:0 4px 14px #0009,inset 0 0 0 1px #0007;pointer-events:none;color:#efe2bd}
.vg-cart-v63 span{display:flex;flex-direction:column;line-height:1.15}.vg-cart-v63 b{font-size:13px;letter-spacing:.08em;text-transform:uppercase}.vg-cart-v63 small{font-size:10px;color:#b9ab84;letter-spacing:.04em}
.vg-rose-v63{width:30px;height:30px;flex:none;animation:vgRose63 9s ease-in-out infinite alternate}
@keyframes vgRose63{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
.tod-night .vg-clouds-v63,.tod-night .vg-birds-v63{display:none}
.tod-night .vg-vignette-v63{background:radial-gradient(120% 100% at 50% 48%,#0000 45%,#02040a88 78%,#010205d9 100%)}
.tod-evening .vg-haze-v63{background:linear-gradient(200deg,#ffb36633 0,#ff9a4a14 30%,#0000 55%,#0000 80%,#4a2a1426 100%)}
.tod-evening .vg-birds-v63 g{stroke:#120d08}
/* путь бойца: пунктир всего маршрута, пройденная часть — светлая */
.vg-route-v63{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.vg-route-v63 polyline{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.vg-route-v63 .all{stroke:#f4e7c2;stroke-width:2.5;stroke-dasharray:2 7;opacity:.85;filter:drop-shadow(0 0 2px #000);animation:vgRoute63 1.2s linear infinite}
.vg-route-v63 .done{stroke:#9fe4ff;stroke-width:4;opacity:.9;filter:drop-shadow(0 0 4px #4fc3ff)}
@keyframes vgRoute63{to{stroke-dashoffset:-9}}
/* наведение и выбор на карте */
#dialog#dialog .vg-map button.vg-spot:hover:not(.sel) .vg-mark,#dialog#dialog .vg-map button.vg-spot:hover:not(.sel) .vg-ico{box-shadow:0 0 0 2px #f1d38a99,0 0 18px #f1d38a66}
#dialog#dialog .vg-map button.vg-spot.sel .vg-mark,#dialog#dialog .vg-map button.vg-spot.sel .vg-ico{animation:vgSel63 2.4s ease-in-out infinite}
@keyframes vgSel63{0%,100%{box-shadow:0 0 0 3px #f1d38a,0 0 12px #f1d38a88}50%{box-shadow:0 0 0 3px #f1d38a,0 0 26px #f1d38acc}}
/* открытие карты — «общий план»: лёгкий наезд и проявление */
.vg-map.vg-intro .vg-art-v62{animation:vgIntro63 1.6s cubic-bezier(.2,.7,.2,1) both}
@keyframes vgIntro63{from{transform:scale(1.07);filter:brightness(.55) saturate(.7)}to{transform:none;filter:none}}
.vg-map.vg-intro .vg-spot,.vg-map.vg-intro .vg-fight{animation:vgSpotIn63 .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:.55s}
@keyframes vgSpotIn63{from{opacity:0}to{opacity:1}}
/* тревога: налёт — красная пульсирующая кромка */
.vg-map:has(.vg-alarm)::after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;box-shadow:inset 0 0 0 2px #d9553a,inset 0 0 70px #c0301fa6;animation:vgAlarm63 1.4s ease-in-out infinite}
@keyframes vgAlarm63{0%,100%{opacity:.45}50%{opacity:1}}
@media (max-width:640px){.vg-cart-v63{padding:3px 8px 3px 4px;gap:5px}.vg-cart-v63 b{font-size:10px}.vg-cart-v63 small{display:none}.vg-rose-v63{width:20px;height:20px}.vg-birds-v63{width:14%}}
body.eco .vg-clouds-v63 i,body.phone .vg-clouds-v63 i,body.eco .vg-haze-v63,body.eco .vg-rose-v63,body.eco .vg-route-v63 .all{animation:none!important}
body.eco .vg-birds-v63{display:none}
@media (prefers-reduced-motion:reduce){.vg-clouds-v63 i,.vg-haze-v63,.vg-birds-v63,.vg-rose-v63,.vg-route-v63 .all,.vg-map:has(.vg-alarm)::after{animation:none!important}.vg-birds-v63{display:none}}
/* v63 · ночь и вечер: тёплое свечение окон, фонарь на площади, лунный свет */
.tod-night .vg-ready-v62 .vg-lights-v62{filter:drop-shadow(0 0 3px #ffc46b) drop-shadow(0 0 9px #ff9b3dcc);animation:vgFlicker63 6s steps(4) infinite}
.tod-evening .vg-ready-v62 .vg-lights-v62{filter:drop-shadow(0 0 4px #ffb35a99)}
@keyframes vgFlicker63{0%,100%{opacity:1}35%{opacity:.86}60%{opacity:.95}80%{opacity:.8}}
.tod-night .vg-base-v62{filter:brightness(.47) saturate(.62) hue-rotate(-6deg)}
.tod-night .vg-haze-v63{background:radial-gradient(55% 45% at 84% 6%,#a9c2ff2e,#0000 70%);animation:none}
.vg-lantern-v63{position:absolute;width:16%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(closest-side,#ffcf7a66,#ff9a3a22 55%,#0000)}
.tod-evening .vg-lantern-v63{opacity:.55}
.tod-night .vg-lantern-v63{opacity:1;animation:vgLantern63 3.6s ease-in-out infinite alternate}
@keyframes vgLantern63{from{transform:translate(-50%,-50%) scale(.94);opacity:.85}to{transform:translate(-50%,-50%) scale(1.06);opacity:1}}
body.eco .tod-night .vg-ready-v62 .vg-lights-v62,body.eco .vg-lantern-v63{animation:none!important}
@media (prefers-reduced-motion:reduce){.vg-lantern-v63,.tod-night .vg-ready-v62 .vg-lights-v62{animation:none!important}}
/* v63 · Разработки НИИ в магазинах: своя тёмная карточка — читается в любом оформлении магазина (в т.ч. светлом госпитальном) */
#dialog#dialog #content .dev-stock .item{background:linear-gradient(180deg,#1c2b33,#111a20)!important;border:1px solid #41606e!important;color:#dfe9ec!important;opacity:1!important}
#dialog#dialog #content .dev-stock .item :is(h3,b,strong){color:#f2f7f8!important;text-shadow:none!important}
#dialog#dialog #content .dev-stock .item :is(p,small,span,li){color:#b9cacf!important;text-shadow:none!important}
#dialog#dialog #content .dev-stock .item.dev-closed{border-style:dashed!important;border-color:#55707c!important}
#dialog#dialog #content .dev-stock .item.dev-closed .icon{filter:grayscale(.65) brightness(.82)}
#dialog#dialog #content .dev-stock .item small.dev-lock{display:block;margin-top:8px;padding:5px 8px;border-radius:6px;background:#0b1317;border:1px solid #6b5a2e;color:#f1d38a!important;opacity:1;font-weight:700;font-size:12px}
/* v63 · Подразделение → Развитие: карточки и сетка рубежей не шире окна, длинные надписи переносятся */
.dvx-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.dvx-grid>*,.dvx-card{min-width:0;max-width:100%}
.dvx-note{overflow-wrap:anywhere;white-space:normal}
.dvx-milestones{grid-template-columns:repeat(3,minmax(0,1fr))}
.dvx-milestones article{min-width:0}
.dvx-milestones span{overflow-wrap:anywhere}
#dialog#dialog .dvx-milestones button{min-width:0;max-width:100%;white-space:normal;padding-left:8px!important;padding-right:8px!important;font-size:12px}
@media(max-width:420px){.dvx-milestones{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 1.0.53 · обратная связь: история обращений, статусы рассмотрения, ответ администрации */
.fb-hist{margin-top:22px;border-top:1px solid #ffffff1a;padding-top:14px}
.fb-hist h3{display:flex;align-items:center;gap:8px;margin:0 0 10px}.fb-hist h3 small{font:600 12px Consolas,monospace;color:#9fb6c2;background:#ffffff12;border-radius:9px;padding:1px 8px}
.fb-item{border:1px solid #3b5566;border-left:4px solid #6c7f8a;border-radius:8px;background:linear-gradient(#162430,#0f1a22);padding:12px 14px;margin:0 0 10px}
.fb-item.st-accepted{border-left-color:#5aa9d6}.fb-item.st-review{border-left-color:#d6a84a}.fb-item.st-closed{border-left-color:#6fbf73}
.fb-item.fresh{box-shadow:0 0 0 1px #e6c66a66,0 0 18px #e6c66a22}
.fb-item .fb-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fb-item .fb-head small{color:#8fa3ae}
.fb-st{margin-left:auto;font:700 11px/1 'Segoe UI',sans-serif;letter-spacing:.6px;text-transform:uppercase;padding:5px 9px;border-radius:20px;background:#ffffff14;color:#cfd8dc}
.st-accepted .fb-st,.fb-st.st-accepted{background:#5aa9d626;color:#8fd0f5}.st-review .fb-st,.fb-st.st-review{background:#d6a84a26;color:#f0c46a}.st-closed .fb-st,.fb-st.st-closed{background:#6fbf7326;color:#9be39f}
.fb-new{font:700 10px/1 'Segoe UI',sans-serif;text-transform:uppercase;color:#1b1406;background:#e6c66a;border-radius:4px;padding:3px 6px;font-style:normal}
.fb-msg{white-space:pre-wrap;margin:8px 0;color:#d7e1e6;max-height:9em;overflow:auto}
.fb-steps{display:flex;gap:0;list-style:none;margin:10px 0 0;padding:0;counter-reset:fb}
.fb-steps li{flex:1;position:relative;padding:18px 4px 0;text-align:center;font-size:12px;color:#6f8290;min-width:0}
.fb-steps li::before{content:'';position:absolute;top:5px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#2a3a45;border:2px solid #4b6272;z-index:1}
.fb-steps li::after{content:'';position:absolute;top:10px;left:-50%;width:100%;height:2px;background:#2f414d}
.fb-steps li:first-child::after{display:none}
.fb-steps li.done,.fb-steps li.now{color:#cfe3ec}.fb-steps li.done::before{background:#6fbf73;border-color:#6fbf73}.fb-steps li.done::after,.fb-steps li.now::after{background:#6fbf73}
.fb-steps li.now::before{background:#e6c66a;border-color:#e6c66a;box-shadow:0 0 0 4px #e6c66a33}
.fb-steps li b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis}.fb-steps li small{display:block;color:#8fa3ae;font-size:11px}
.fb-reply{margin-top:12px;border-radius:8px;background:#6fbf7314;border:1px solid #6fbf7344;padding:10px 12px}.fb-reply b{color:#9be39f;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.fb-reply p{white-space:pre-wrap;margin:6px 0 4px}.fb-reply small{color:#8fa3ae}
.fb-badge{display:inline-block;min-width:18px;padding:1px 5px;border-radius:9px;background:#e6c66a;color:#1b1406;font:700 11px/16px 'Segoe UI',sans-serif;text-align:center}
.admin-feedback .fb-st{margin-left:6px}.admin-feedback label{display:block;margin-top:6px}.admin-feedback textarea{width:100%}
@media (max-width:640px){.fb-steps li b{font-size:10px}.fb-steps li small{display:none}}

/* 1.0.53 · тренировки подразделения: красные против синих */
.dr-hub{grid-template-columns:1fr!important}
.dr-new{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.dr-card.mine{box-shadow:0 0 0 1px #e6c66a55,0 8px 24px #0006}
.dr-sides{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.dr-side{border-radius:8px;padding:10px 12px;background:#0003;border:1px solid #ffffff14}
.dr-side.red{border-top:3px solid #d0584d;background:linear-gradient(#d0584d14,#0003 40%)}.dr-side.blue{border-top:3px solid #4f8fd6;background:linear-gradient(#4f8fd614,#0003 40%)}
.dr-side h4{margin:0 0 6px;font-size:13px;letter-spacing:.8px;text-transform:uppercase}.dr-side.red h4{color:#f08a80}.dr-side.blue h4{color:#8fbdf2}
.dr-side ul{list-style:none;margin:0 0 8px;padding:0;max-height:220px;overflow:auto}.dr-side li{display:flex;justify-content:space-between;gap:6px;padding:3px 0;border-bottom:1px dashed #ffffff12}.dr-side li small{color:#8fa3ae}.dr-side li.off{opacity:.55}.dr-side li.fight b::after{content:' ⚔';color:#e6c66a}
.dr-acts{display:flex;flex-wrap:wrap;gap:8px}
.dr-score{font:800 18px Consolas,monospace;margin-left:8px}.dr-score .red{color:#f08a80;font-style:normal}.dr-score .blue{color:#8fbdf2;font-style:normal}
.aar-head.drill{border-color:#4f8fd6}.aar-head.drill h1{letter-spacing:1px}
@media (max-width:640px){.dr-sides{grid-template-columns:1fr}}

/* 1.0.54 · кампании: карта театра, недели, штурмы, сражения, рейтинги и награды */
header nav>button.cmp-live{position:relative;color:#ffe1a1!important}
header nav>button.cmp-live::after{content:'';position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#e8553f;box-shadow:0 0 8px #e8553f;animation:friendsGlow 1.6s ease-in-out infinite}
.cmpu{--cm-card:#141c1fd9;--cm-line:#ffffff1a;display:grid;gap:12px}
.cmpu-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;border-radius:14px;border:1px solid var(--cm-line);background:linear-gradient(110deg,#2a1f12e6,#151c1ee6 60%),#121a1c;box-shadow:0 14px 34px #0008}
.cmpu.arctic .cmpu-head{background:linear-gradient(110deg,#1a2a36e6,#141c22e6 60%),#121a1c}.cmpu.africa .cmpu-head{background:linear-gradient(110deg,#33200fe6,#18191ae6 60%),#121a1c}
.cmpu-head h2{margin:2px 0 4px;font-size:28px;letter-spacing:.5px}.cmpu-head p{margin:0;color:#c9d2cf}
.cmpu-score{display:grid;grid-template-columns:auto auto auto;gap:12px;align-items:center}
.cmpu-side{display:grid;justify-items:center;min-width:68px;padding:6px 10px;border-radius:10px;background:#0005;border:1px solid var(--cm-line)}.cmpu-side b{font:800 30px Consolas,monospace;line-height:1}.cmpu-side small{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#aeb8b8}
.cmpu-side.vostok{border-top:3px solid #d0533f}.cmpu-side.vostok b{color:#f08a7a}.cmpu-side.aurelius{border-top:3px solid #4a8fdb}.cmpu-side.aurelius b{color:#90bff2}.cmpu-side.me{box-shadow:0 0 0 1px #e6c66a66}
.cmpu-vs{display:grid;justify-items:center;gap:4px;text-align:center}.cmpu-vs small{font-size:10px;letter-spacing:1.5px;color:#9aa6a6}.cmpu-vs span{font-size:12px;color:#d6dcd8}
.cmpu-week-text{margin:0;padding:10px 14px;border-radius:10px;background:#0004;border-left:3px solid #e6c66a;color:#d5dbd6;font-size:14px}
.cmpu-weeks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cmpu-wk{position:relative;display:grid;gap:2px;padding:10px 12px 12px;border-radius:10px;background:var(--cm-card);border:1px solid var(--cm-line);min-height:96px}
.cmpu-wk i{position:absolute;top:8px;right:10px;font:800 22px Consolas,monospace;color:#ffffff22;font-style:normal}.cmpu-wk b{font-size:14px}.cmpu-wk small{color:#9fb0b0;font-size:12px}.cmpu-wk em{margin-top:auto;font-style:normal;font-size:12px;color:#d6dcd8}
.cmpu-wk .cmpu-pts{position:absolute;bottom:8px;right:10px;font-size:10px;color:#e6c66a;letter-spacing:.5px}
.cmpu-wk.now{border-color:#e6c66a88;box-shadow:0 0 0 1px #e6c66a44,0 8px 22px #0007}.cmpu-wk.done.vostok{border-top:3px solid #d0533f}.cmpu-wk.done.aurelius{border-top:3px solid #4a8fdb}.cmpu-wk.done.draw{opacity:.8}
.cmpu-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:12px;align-items:start}
.cmpu-mapbox{display:grid;gap:6px}.cmpu-map{width:100%;height:auto;border-radius:12px;border:1px solid var(--cm-line);box-shadow:inset 0 0 60px #0006,0 12px 30px #0008;display:block}
.cmpu-roads line{stroke:#3a2a1488;stroke-width:3;stroke-dasharray:7 6}.cmpu.arctic .cmpu-roads line{stroke:#4b6274aa}
.cmpu-pt,.cmpu-hq{cursor:pointer;outline:none}.cmpu-pt text{font:700 12px Consolas,monospace;fill:#fff;pointer-events:none}.cmpu-hit{fill:transparent}
.cmpu-lbl{font:600 11px Arial,sans-serif!important;fill:#1a1208!important;paint-order:stroke;stroke:#ffffffb0;stroke-width:3px;opacity:.85}.cmpu.arctic .cmpu-lbl{fill:#102030!important}
.cmpu-pt:hover>circle:nth-of-type(4),.cmpu-pt:focus>circle:nth-of-type(4){stroke:#fff;stroke-width:3}.cmpu-pt.on>circle:nth-of-type(4),.cmpu-hq.on rect{stroke:#ffe9a6;stroke-width:4}.cmpu-pt.on .cmpu-lbl,.cmpu-hq.on .cmpu-lbl{opacity:1;font-weight:800!important}
.cmpu-pulse{fill:none;stroke-width:3;animation:cmpuPulse 1.4s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cmpuPulse{from{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}
.cmpu-pt.lobby>circle:nth-of-type(4){stroke:#ffe9a6;stroke-dasharray:4 3}.cmpu-hq.gone{opacity:.55}
.cmpu-legend{color:#a9b4b2;font-size:12px}.cmpu-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c);margin:0 4px 0 8px;vertical-align:-1px}
.cmpu-side-col{display:grid;gap:10px}
.cmpu-card{padding:14px 16px;border-radius:12px;background:var(--cm-card);border:1px solid var(--cm-line);display:grid;gap:6px}.cmpu-card h3{margin:0;font-size:19px}.cmpu-card p{margin:0;color:#cfd6d3;font-size:14px}.cmpu-card.empty{color:#b8c2c0}.cmpu-card.empty small{color:#93a1a0}
.cmpu-card.battle{border-top:3px solid #e6c66a}
.cmpu-gar{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;font-size:12px;color:#aab5b3}.cmpu-gar .cmpu-bar{grid-column:1/-1;grid-row:2;height:8px;border-radius:5px;background:#0006;overflow:hidden}.cmpu-gar .cmpu-bar i{display:block;height:100%;border-radius:5px;transition:width .4s}.cmpu-gar b{color:#e8ece9;font-family:Consolas,monospace}
.cmpu-held{font-size:13px!important;color:var(--c)!important;font-weight:700}
.cmpu-acts{display:grid;gap:6px;margin-top:4px}.cmpu-note{font-size:13px!important;color:#b9c3c1!important}.cmpu-note.live{color:#f2c46a!important;font-weight:700}.cmpu-hint{display:block;font-size:12px;color:#8e9c9b}
.cmpu-lobby{padding:8px 10px;border-radius:8px;background:#0004;border:1px dashed #e6c66a55}.cmpu-lobby b{font-size:13px}.cmpu-lobby div{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:13px}.cmpu-lobby small{color:#8e9c9b}
.cmpu-past{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.cmpu-past span{font-size:11px;padding:2px 7px;border-radius:6px;background:#0005}.cmpu-past .vostok{color:#f08a7a}.cmpu-past .aurelius{color:#90bff2}
.cmpu-me{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.cmpu-me span{display:grid;justify-items:center;padding:8px 4px;border-radius:9px;background:#0004;border:1px solid var(--cm-line)}.cmpu-me b{font:800 18px Consolas,monospace;color:#f1e3b2}.cmpu-me small{font-size:10px;color:#9aa8a6;text-transform:uppercase;letter-spacing:.5px;text-align:center}
.cmpu-sec{border-radius:12px;background:var(--cm-card);border:1px solid var(--cm-line);padding:0 14px}.cmpu-sec>summary{cursor:pointer;padding:12px 0;font-weight:700;letter-spacing:.5px}.cmpu-sec[open]>summary{border-bottom:1px solid var(--cm-line);margin-bottom:10px}.cmpu-sec{padding-bottom:4px}
.cmpu-tops{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:10px}.cmpu-top h4{margin:4px 0 6px;font-size:12px;letter-spacing:1px;text-transform:uppercase}.cmpu-top.vostok h4{color:#f08a7a}.cmpu-top.aurelius h4{color:#90bff2}
.cmpu-top ol{list-style:none;margin:0 0 8px;padding:0}.cmpu-top li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:2px 8px;align-items:center;padding:4px 0;border-bottom:1px dashed #ffffff10}.cmpu-top li i{font-style:normal;color:#8e9c9b;font-family:Consolas,monospace}.cmpu-top li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmpu-top li small{grid-column:2;font-size:11px;color:#8e9c9b}.cmpu-top li em{grid-row:1/3;grid-column:3;font:800 15px Consolas,monospace;font-style:normal;color:#f1e3b2}.cmpu-top li.me b{color:#ffe9a6}.cmpu-top li.none{color:#8e9c9b;display:block}
.cmpu-prizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.cmpu-prizes article{display:grid;grid-template-columns:52px 1fr;gap:2px 10px;align-items:center;padding:8px 10px;border-radius:10px;background:#0004;border:1px solid var(--cm-line)}.cmpu-prizes img{grid-row:1/3;width:52px;height:52px;object-fit:contain}.cmpu-prizes b{font-size:13px}.cmpu-prizes small{font-size:12px;color:#a9b4b2}
.cmpu-log{list-style:none;margin:0;padding:0 0 10px;display:grid;gap:4px;max-height:280px;overflow:auto}.cmpu-log li{font-size:13px;color:#cfd6d3}.cmpu-log time{display:inline-block;min-width:92px;color:#8e9c9b;font-family:Consolas,monospace;font-size:12px}
.cmpu-mine{display:grid;gap:8px}.cmpu-mine article{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:#0005;border:1px solid var(--cm-line)}.cmpu-mine article.new{border-color:#e6c66a;box-shadow:0 0 0 1px #e6c66a66,0 0 24px #e6c66a22}.cmpu-mine small{color:#a9b4b2}.cmpu-mine span{color:#f1e3b2;font-weight:700}.cmpu-mine img{width:44px;height:44px;object-fit:contain;margin-right:4px}
.cmpu-before{display:grid;gap:10px}.cmpu-before h2{margin:0}.cmpu-before h3{margin:8px 0 0}
.cmpu-theaters,.cmpu-rules{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.cmpu-theaters article,.cmpu-rules article{position:relative;padding:12px 14px;border-radius:10px;background:var(--cm-card,#141c1fd9);border:1px solid #ffffff1a}.cmpu-theaters i,.cmpu-rules i{position:absolute;top:8px;right:10px;font:800 22px Consolas,monospace;color:#ffffff22;font-style:normal}.cmpu-theaters p,.cmpu-rules p{margin:4px 0 0;font-size:13px;color:#c3ccc9}.cmpu-theaters small{color:#9fb0b0}
.cmpu-theaters .mideast{border-top:3px solid #d7a85a}.cmpu-theaters .arctic{border-top:3px solid #9cc6e4}.cmpu-theaters .africa{border-top:3px solid #b8683a}
.cmpu-res{display:grid;gap:4px;margin:10px 0;padding:10px 14px;border-radius:10px;background:#0005;border:1px solid #e6c66a55}.cmpu-res.won{border-color:#e6c66a;box-shadow:0 0 22px #e6c66a22}.cmpu-res small{color:#b9c3c1}.cmpu-res button{justify-self:start}
.aw-cmp-h{margin-top:14px}.aw-grid.cmp{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
#portrait[data-frame="frame_cmp_mideast"],.cos-frame[data-frame="frame_cmp_mideast"]{outline:3px solid #e2b35c;outline-offset:1px;box-shadow:0 0 0 5px #7a4f17,0 0 18px #e7a44a}
#portrait[data-frame="frame_cmp_arctic"],.cos-frame[data-frame="frame_cmp_arctic"]{outline:3px solid #dff3ff;outline-offset:1px;box-shadow:0 0 0 5px #2b6f8f,0 0 18px #7fe0c4}
#portrait[data-frame="frame_cmp_africa"],.cos-frame[data-frame="frame_cmp_africa"]{outline:3px solid #d4803e;outline-offset:1px;box-shadow:0 0 0 5px #5c3a12,0 0 18px #c9a23c}
.chat-ava.cos-frame[data-frame="frame_cmp_mideast"]{box-shadow:0 0 0 3px #7a4f17,0 0 9px #e7a44a!important}.chat-ava.cos-frame[data-frame="frame_cmp_arctic"]{box-shadow:0 0 0 3px #2b6f8f,0 0 9px #7fe0c4!important}.chat-ava.cos-frame[data-frame="frame_cmp_africa"]{box-shadow:0 0 0 3px #5c3a12,0 0 9px #c9a23c!important}
@media (max-width:900px){.cmpu-grid{grid-template-columns:1fr}.cmpu-head{grid-template-columns:1fr}.cmpu-weeks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cmpu-tops{grid-template-columns:1fr}.cmpu-me{grid-template-columns:repeat(3,1fr)}.cmpu-lbl{display:none}.cmpu-head h2{font-size:22px}}
.dvx-banners{display:flex;flex-wrap:wrap;gap:10px}.dvx-banners figure{margin:0;display:grid;justify-items:center;gap:2px;width:96px;text-align:center}.dvx-banners img{width:72px;height:72px;object-fit:contain}.dvx-banners figcaption{font-size:12px}.dvx-banners small{display:block;color:#8e9c9b;font-size:11px}
header nav>button[data-open="campaign"]{--ni:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 21V4M5 4h11l-2 4 2 4H5%22/%3E%3Ccircle cx=%2218%22 cy=%2218%22 r=%222.5%22/%3E%3Cpath d=%22M9 18h6%22/%3E%3C/svg%3E")}

/* 1.0.54 · окно кампании: живая шапка, анимированная карта, прогресс недель */
.cmpu-head{position:relative;overflow:hidden;isolation:isolate;grid-template-columns:minmax(0,1fr) auto;padding:20px 22px 30px!important;min-height:150px}
.cmpu-head.before{display:block;margin-bottom:6px}
.cmpu-head-tx{position:relative;z-index:2}.cmpu-head h2{font-size:34px!important;text-shadow:0 2px 0 #0008,0 0 26px #ffcf7a55;letter-spacing:1.5px;animation:cmpuTitle 6s ease-in-out infinite}
.cmpu.arctic .cmpu-head h2,.cmpu-head.before:has(.arctic) h2{text-shadow:0 2px 0 #0008,0 0 26px #9fe8ff66}
@keyframes cmpuTitle{50%{text-shadow:0 2px 0 #0008,0 0 38px #ffcf7a88}}
.cmpu-score{position:relative;z-index:2}
.cmpu-sky{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.cmpu-sky::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#0007),radial-gradient(120% 90% at 20% 0%,#ffd08a33,transparent 60%)}
.cmpu-sky.arctic::before{background:linear-gradient(180deg,transparent 30%,#0007),radial-gradient(120% 90% at 50% 0%,#7fe8ff22,transparent 60%)}
.cmpu-glow{position:absolute;width:260px;height:260px;right:16%;top:-120px;border-radius:50%;background:radial-gradient(circle,#ffd58acc,#ffb04a44 40%,transparent 70%);filter:blur(2px);animation:cmpuSun 9s ease-in-out infinite}
.cmpu-sky.arctic .cmpu-glow{width:120%;height:140px;left:-10%;right:auto;top:-30px;border-radius:0;background:linear-gradient(100deg,transparent 10%,#5dffb755 30%,#6fd0ff44 50%,#b07cff33 65%,transparent 85%);filter:blur(14px);animation:cmpuAurora 14s ease-in-out infinite}
.cmpu-sky.africa .cmpu-glow{right:8%;top:-140px;background:radial-gradient(circle,#ffb26acc,#e2602e55 45%,transparent 72%)}
@keyframes cmpuSun{50%{transform:translateY(10px) scale(1.06);opacity:.85}}
@keyframes cmpuAurora{0%,100%{transform:translateX(-4%) skewX(-8deg);opacity:.75}50%{transform:translateX(5%) skewX(6deg);opacity:1}}
.cmpu-sky i{position:absolute;width:var(--z);height:var(--z);border-radius:50%;background:#f3d6a0;opacity:.55;animation:cmpuDust var(--d) linear infinite;animation-delay:var(--dl)}
.cmpu-sky.arctic i{background:#fff;opacity:.85;animation-name:cmpuSnow}
.cmpu-sky.africa i{background:#ffb35a;box-shadow:0 0 6px #ff9a3c;animation-name:cmpuEmber}
@keyframes cmpuDust{from{transform:translate(-40px,0)}to{transform:translate(260px,-30px);opacity:0}}
@keyframes cmpuSnow{from{transform:translate(0,-60px)}to{transform:translate(-40px,200px);opacity:.1}}
@keyframes cmpuEmber{from{transform:translate(0,40px);opacity:0}30%{opacity:.9}to{transform:translate(20px,-140px);opacity:0}}
.cmpu-emblem{position:absolute;right:250px;top:50%;width:150px;height:150px;transform:translateY(-50%) rotate(-6deg);color:#fff;opacity:.07;z-index:1;pointer-events:none}
.cmpu-head.before .cmpu-emblem{right:24px}
.cmpu-live{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:#ff5a3c;box-shadow:0 0 0 0 #ff5a3c99;animation:cmpuLive 1.6s ease-out infinite;vertical-align:1px}
@keyframes cmpuLive{to{box-shadow:0 0 0 10px #ff5a3c00}}
.cmpu-time{position:absolute;left:22px;right:22px;bottom:12px;height:6px;border-radius:4px;background:#0007;z-index:2;overflow:visible}
.cmpu-time .seg{position:absolute;top:0;bottom:0;border-left:2px solid #0009}.cmpu-time .seg.vostok{background:#d0533f55}.cmpu-time .seg.aurelius{background:#4a8fdb55}
.cmpu-time .fill{position:absolute;left:0;top:0;bottom:0;width:var(--p);border-radius:4px;background:linear-gradient(90deg,#e6c66a55,#ffe9a6);box-shadow:0 0 10px #ffe9a688}
.cmpu-time .mark{position:absolute;left:var(--p);top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#ffe9a6;box-shadow:0 0 0 3px #0008,0 0 14px #ffe9a6;animation:cmpuMark 2s ease-in-out infinite}
@keyframes cmpuMark{50%{box-shadow:0 0 0 3px #0008,0 0 24px #fff}}
.cmpu-tug{grid-column:1/-1;height:6px;border-radius:4px;background:#4a8fdb;overflow:hidden;box-shadow:inset 0 0 0 1px #0006}.cmpu-tug i{display:block;height:100%;width:var(--s);background:linear-gradient(90deg,#b8402f,#e0533f);transition:width .8s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 12px #e0533f}
.cmpu-side b{transition:transform .3s}.cmpu-side:hover b{transform:scale(1.12)}
.cmpu-wk{overflow:hidden;transition:transform .2s,box-shadow .2s}.cmpu-wk:hover{transform:translateY(-2px)}
.cmpu-wk-bar{position:absolute;left:0;bottom:0;height:3px;width:var(--wp);background:linear-gradient(90deg,#e6c66a,#fff2c4);text-decoration:none}
.cmpu-wk.now{animation:cmpuNow 3s ease-in-out infinite}.cmpu-wk.now::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff14 50%,transparent 70%);transform:translateX(-100%);animation:cmpuShine 4.5s ease-in-out infinite}
@keyframes cmpuNow{50%{box-shadow:0 0 0 1px #e6c66a88,0 0 22px #e6c66a33}}
@keyframes cmpuShine{60%,100%{transform:translateX(100%)}}
.cmpu-mapbox{position:relative}.cmpu-mapbox::after{content:'';position:absolute;left:0;right:0;top:0;aspect-ratio:1000/560;border-radius:12px;pointer-events:none;box-shadow:inset 0 0 80px #000a}
.cmpu-map{animation:cmpuMapIn .7s ease-out}@keyframes cmpuMapIn{from{opacity:0;transform:scale(.98)}}
.cmpu-roads line{animation:cmpuRoad 3s linear infinite}@keyframes cmpuRoad{to{stroke-dashoffset:-26}}
.cmpu-terr{transform-box:fill-box;transform-origin:center;animation:cmpuTerr 5s ease-in-out infinite}@keyframes cmpuTerr{50%{transform:scale(1.12);opacity:.75}}
.cmpu-radar{animation:cmpuRadar 12s linear infinite;mix-blend-mode:overlay}@keyframes cmpuRadar{to{transform:translate(500px,280px) rotate(360deg)}}
.cmpu-radar{transform:translate(500px,280px)}
.cmpu-clouds{opacity:.38;pointer-events:none}.cmpu-clouds ellipse{animation:cmpuCloud 38s linear infinite}.cmpu-clouds .c1{animation-duration:52s;animation-delay:-20s}.cmpu-clouds .c2{animation-duration:44s;animation-delay:-8s}.cmpu-clouds .c3{animation-duration:60s;animation-delay:-35s}
@keyframes cmpuCloud{from{transform:translateX(-300px)}to{transform:translateX(1300px)}}
.cmpu.arctic .cmpu-clouds{opacity:.55}
.cmpu-compass{opacity:.85}.cmpu-compass text{font:700 12px Arial;fill:#fff}
.cmpu-pt{transition:transform .2s}.cmpu-pt:hover>circle:nth-of-type(4){filter:brightness(1.25)}
.cmpu-pt>circle:nth-of-type(4){transition:filter .2s}
.cmpu-pt.on>circle:nth-of-type(4){animation:cmpuSel 1.4s ease-in-out infinite}@keyframes cmpuSel{50%{stroke-width:6}}
.cmpu-pulse.two{animation-delay:.7s}
.cmpu-ring{fill:none;stroke-width:2;stroke-dasharray:5 4;animation:cmpuSpin 6s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes cmpuSpin{to{transform:rotate(360deg)}}
.cmpu-spark{fill:#ffd36a;transform-box:fill-box;transform-origin:center;animation:cmpuSpark 1.1s ease-out infinite;animation-delay:var(--dl)}
@keyframes cmpuSpark{0%{transform:rotate(var(--a)) translate(6px);opacity:1}100%{transform:rotate(var(--a)) translate(30px);opacity:0}}
.cmpu-flag{transform-box:fill-box;transform-origin:left center;animation:cmpuFlag 1.8s ease-in-out infinite}@keyframes cmpuFlag{50%{transform:skewY(8deg) scaleX(.86)}}
.cmpu-card{animation:cmpuIn .45s cubic-bezier(.2,.8,.2,1) both;background:linear-gradient(160deg,#1b2528e6,#11181be6)!important;backdrop-filter:blur(4px)}
.cmpu-card.target{border-top:3px solid var(--c);box-shadow:0 10px 28px #0007,inset 0 1px 0 #ffffff14}
@keyframes cmpuIn{from{opacity:0;transform:translateY(10px)}}
.cmpu-pips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.cmpu-pips i{width:8px;height:12px;border-radius:2px;background:#ffffff14;clip-path:polygon(50% 0,100% 25%,100% 100%,0 100%,0 25%)}.cmpu-pips i.on{background:var(--c);box-shadow:0 0 6px var(--c)}
.cmpu-acts button.primary{position:relative;overflow:hidden}.cmpu-acts button.primary::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffff40 50%,transparent 65%);transform:translateX(-100%);animation:cmpuShine 3.2s ease-in-out infinite}
.cmpu-me span{transition:transform .2s,border-color .2s}.cmpu-me span:hover{transform:translateY(-2px);border-color:#e6c66a66}
.cmpu-me b{text-shadow:0 0 12px #e6c66a55}
.cmpu-top li{position:relative}.cmpu-top li::before{content:'';position:absolute;left:28px;bottom:-1px;height:2px;width:calc((100% - 28px)*var(--m) / 100);background:linear-gradient(90deg,transparent,currentColor);opacity:.35}
.cmpu-top.vostok li::before{color:#e0533f}.cmpu-top.aurelius li::before{color:#4a8fdb}
.cmpu-top li.p1 i,.cmpu-top li.p2 i,.cmpu-top li.p3 i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#1a1208!important;font-weight:800;font-size:11px}
.cmpu-top li.p1 i{background:radial-gradient(circle at 30% 30%,#fff3b0,#d8a627);box-shadow:0 0 10px #f0c24a88}.cmpu-top li.p2 i{background:radial-gradient(circle at 30% 30%,#ffffff,#9aa5ad)}.cmpu-top li.p3 i{background:radial-gradient(circle at 30% 30%,#ffd2a8,#b06a35)}
.cmpu-log li{position:relative;padding-left:22px;animation:cmpuIn .4s both;animation-delay:calc(var(--i)*40ms)}.cmpu-log li::before{content:'•';position:absolute;left:4px;top:0;color:#8e9c9b}
.cmpu-log li.cap::before{content:'⚑';color:#e6c66a}.cmpu-log li.ret::before{content:'✕';color:#d0533f}.cmpu-log li.bat::before{content:'⚔';color:#90bff2}.cmpu-log li.big{color:#ffe9a6}.cmpu-log li.big::before{content:'★';color:#ffe9a6}
.cmpu-prizes article{transition:transform .2s,box-shadow .2s}.cmpu-prizes article:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0008,0 0 0 1px #e6c66a55}.cmpu-prizes img{transition:transform .3s;filter:drop-shadow(0 4px 8px #000a)}.cmpu-prizes article:hover img{transform:scale(1.12) rotate(-4deg)}
.cmpu-theaters article{overflow:hidden;transition:transform .2s}.cmpu-theaters article:hover{transform:translateY(-3px)}
.cmpu-sec>summary{transition:color .2s}.cmpu-sec>summary:hover{color:#ffe9a6}
@media (max-width:900px){.cmpu-emblem{right:12px;opacity:.05}.cmpu-head{padding-bottom:34px!important}}
@media (prefers-reduced-motion:reduce){.cmpu *,.cmpu-before *{animation:none!important;transition:none!important}}
/* касса · пуск ракетницы */
.flare-shop{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;margin:14px 0;padding:14px 18px;border-radius:14px;border:1px solid #ff5a3c55;background:radial-gradient(120% 140% at 0% 50%,#ff3d2433,transparent 60%),#151c1fe6;box-shadow:0 10px 26px #0007}
.flare-shop img{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 0 14px #ff4a2a88);animation:flareIdle 3s ease-in-out infinite}.flare-shop h3{margin:0 0 4px}.flare-shop p{margin:0 0 10px;color:#cfd6d3}.flare-shop small{display:block;margin-top:6px;color:#e8a08f}
@keyframes flareIdle{50%{transform:rotate(-4deg) translateY(-3px);filter:drop-shadow(0 0 22px #ff6a3acc)}}
@media (max-width:560px){.flare-shop{grid-template-columns:72px 1fr}.flare-shop img{width:72px;height:72px}}
@media (prefers-reduced-motion:reduce){.flare-shop img{animation:none}}
/* анонс кампании и обратный отсчёт */
.cmpu-ann{min-height:300px;padding:28px 26px!important;display:block!important}.cmpu-ann h2{font-size:46px!important;margin:6px 0 10px!important}
.cmpu-ann-text{max-width:760px;color:#e3dccb!important;font-size:15px;line-height:1.55}
.cmpu-ann-start{margin-top:18px;display:inline-grid;gap:8px;padding:14px 18px;border-radius:14px;background:#0008;border:1px solid #e6c66a55;box-shadow:0 0 30px #e6c66a22}
.cmpu-ann-start>small{font-size:11px;letter-spacing:1.6px;color:#e6c66a}.cmpu-ann-hint{letter-spacing:0!important;color:#9aa6a6!important}
.cmpu-cd{display:flex;align-items:center;gap:8px}.cmpu-cd>i{font:800 32px Consolas,monospace;color:#e6c66a88;font-style:normal;animation:cdBlink 1s steps(2) infinite}
@keyframes cdBlink{50%{opacity:.25}}
.cmpu-cd-c{display:grid;justify-items:center;min-width:78px;padding:8px 6px;border-radius:10px;background:linear-gradient(180deg,#2a2015,#120d08);border:1px solid #e6c66a44;box-shadow:inset 0 1px 0 #ffffff18,0 6px 16px #0008}
.cmpu-cd-c b{font:800 40px/1 Consolas,monospace;color:#ffe9a6;text-shadow:0 0 14px #ffcf6a88}.cmpu-cd-c b.tick{animation:cdTick .35s ease-out}.cmpu-cd-c small{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#b9a77d;margin-top:4px}
@keyframes cdTick{from{transform:translateY(-6px);opacity:.3}}
.cmpu-ann-facts{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.cmpu-ann-facts span{display:grid;justify-items:center;padding:12px 6px;border-radius:12px;background:#141c1fd9;border:1px solid #ffffff1a}.cmpu-ann-facts b{font:800 26px Consolas,monospace;color:#f1e3b2}.cmpu-ann-facts small{color:#9fb0b0;font-size:12px;text-align:center}
.cmpu-theaters article.now{box-shadow:0 0 0 1px #e6c66a88,0 0 24px #e6c66a22}
@media (max-width:640px){.cmpu-ann h2{font-size:32px!important}.cmpu-cd-c{min-width:58px}.cmpu-cd-c b{font-size:28px}.cmpu-cd>i{font-size:22px}.cmpu-ann-facts{grid-template-columns:repeat(3,1fr)}}
/* золотой час */
#day-phase.golden-hour{color:#ffd45a!important;font-weight:800;text-shadow:0 0 10px #ffb02e99;animation:goldenPulse 2.4s ease-in-out infinite}#day-phase.golden-hour.vip{color:#ffe9a6!important;text-shadow:0 0 12px #ffcf3acc,0 0 2px #fff}
@keyframes goldenPulse{50%{text-shadow:0 0 18px #ffc24acc}}
.inventory-cell.loose-cell{cursor:default;border-color:#e6c66a66!important;box-shadow:inset 0 0 0 1px #e6c66a33,0 0 10px #e6c66a22}.inventory-cell.loose-cell .quantity{color:#ffe9a6}

/* 1.0.55: засекреченный театр кампании */
.cmpu-theaters .secret{border-top:3px dashed #8a8f96;opacity:.92}.cmpu-theaters .secret i{background:#3a3f45}.cmpu-before.secret .cmpu-head,.cmpu-head.before.secret{background:linear-gradient(110deg,#1f2328e6,#121518e6 60%),#101214}

/* 1.0.55: реалистичные иконки квестовых предметов */
.quest-icon.quest-photo{background:radial-gradient(circle at 50% 42%,#4a3a22,#17110a)!important}.quest-icon .quest-art{position:absolute;inset:6%;background:center/contain no-repeat;filter:drop-shadow(0 2px 3px #000a)}

/* 1.0.55: в нижнем меню телефона кнопок стало шесть (добавился «Фронт») — все в один ряд, чат и «На базе» снова видны над меню */
body.phone header nav{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
body.phone header nav>button .ns,body.phone header nav .nav-more-btn .nl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

/* 1.0.55: кампания на телефоне — шапка в одну колонку, счёт и шкала под заголовком */
@media (max-width:700px){.cmpu-head{grid-template-columns:1fr!important;gap:12px;padding:16px 14px 28px!important;min-height:0}.cmpu-head h2{font-size:26px!important;line-height:1.05}.cmpu-head .eyebrow{font-size:10px;letter-spacing:.12em}.cmpu-head-tx p{font-size:13px}.cmpu-head .cmpu-emblem{width:120px;height:120px;opacity:.07}}
body.phone header nav>button .ns,body.phone header nav .nav-more-btn .nl{font-size:10px!important;letter-spacing:0}
.quest-photo .item-stamp{display:none!important}.quest-icon.quest-photo{border-color:#b98a4a}.quest-icon.quest-photo .quest-art{inset:3%}
.inventory-cell .quest-icon.quest-photo{width:68px!important;height:68px!important}

/* 1.0.55: название предмета больше не печатается поверх иконки — оно дублировало подпись под ячейкой */
.icon .item-stamp,.item-stamp{display:none!important}
/* 1.0.55: ссылки-приглашения */
.ref-hero .ref-link{display:flex;gap:8px;margin-top:12px;max-width:640px}.ref-link input{flex:1;min-width:0;font:600 13px/1.2 'Segoe UI',sans-serif;padding:10px 12px;border-radius:8px;border:1px solid #4d7698;background:#0b1620;color:#e6f0f7}
.ref-share{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ref-net{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:8px;font:700 13px/1 'Segoe UI',sans-serif;text-decoration:none;color:#fff;border:1px solid #fff3}.ref-net.vk{background:#2d6fb3}.ref-net.tg{background:#2a9fd6}
.ref-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;padding:0;list-style:none;counter-reset:rs}.ref-steps li{counter-increment:rs;padding:12px 14px 12px 46px;position:relative;border:1px solid #2f4a5e;border-radius:10px;background:#0f1c26}.ref-steps li::before{content:counter(rs);position:absolute;left:12px;top:12px;width:24px;height:24px;border-radius:50%;background:#f3c14a;color:#1a1408;font:800 13px/24px 'Segoe UI',sans-serif;text-align:center}.ref-steps b{display:block;margin-bottom:3px}.ref-steps span{color:#9fb4c3;font-size:13px}
.ref-manual{margin:10px 0;padding:10px 12px;border:1px dashed #3e5d74;border-radius:10px}.ref-manual summary{cursor:pointer;color:#9fd0ee}.ref-me{padding:10px 12px;border-left:3px solid #58e0c0;background:#0f1f1c}
@media (max-width:700px){.ref-steps{grid-template-columns:1fr}.ref-hero .ref-link{flex-direction:column}}
.ref-hero .ref-link{max-width:760px!important}.ref-hero .ref-link input{flex:1 1 auto!important;width:auto!important;font:600 14px/1.2 "Segoe UI",sans-serif!important;letter-spacing:0!important;padding:10px 12px!important;height:auto!important}
.ref-hero .ref-link{width:100%!important}.ref-hero .ref-link input{max-width:none!important;min-width:0!important}

/* 1.0.55: живая шапка — белые контуры мировой карты медленно плывут за панелью, по ним проходит луч и мигают точки связи. */
body>header{background:linear-gradient(90deg,#0c1215e6 0,#0c1215b3 360px,#0c121500 560px) 0 0/100% 100% no-repeat,url('./assets/hdr-world-v64.svg') 0 34%/1100px auto repeat-x,linear-gradient(110deg,#13191c,#080d10)!important;animation:hdrWorld 420s linear infinite}
@keyframes hdrWorld{from{background-position:0 0,0 34%,0 0}to{background-position:0 0,-1100px 34%,0 0}}
body.phone>header{background-size:100% 100%,760px auto,auto!important;animation-name:hdrWorldPh}
body.phone>header{background-image:linear-gradient(#0c121500,#0c121500),url('./assets/hdr-world-v64.svg'),linear-gradient(110deg,#13191c,#080d10)!important}
@keyframes hdrWorldPh{from{background-position:0 0,0 30%,0 0}to{background-position:0 0,-760px 30%,0 0}}
@media (prefers-reduced-motion:reduce){body>header{animation:none!important}}

/* 1.0.55: почта */
.mail-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 12px}
.mail-top p{margin:0}
.mail-list{display:grid;gap:8px}
.mail-item{border:1px solid #2c3a44;border-radius:10px;background:#0f171c;overflow:hidden}
.mail-item.unread{border-color:#4f7590;background:linear-gradient(90deg,#14212b,#0f171c)}
.mail-head{all:unset;box-sizing:border-box;display:grid;grid-template-columns:10px 150px 1fr auto;align-items:center;gap:12px;width:100%;padding:12px 14px;cursor:pointer;color:#d9e1e6;font:500 14px/1.3 "Segoe UI",sans-serif}
.mail-head:hover,.mail-head:focus-visible{background:#ffffff0a}
.mail-head:focus-visible{outline:2px solid #8fd0ff;outline-offset:-2px}
.mail-dot{width:8px;height:8px;border-radius:50%;background:transparent}
.mail-item.unread .mail-dot{background:#f3c14a;box-shadow:0 0 8px #f3c14a99}
.mail-from{color:#8fa3b0;font-size:12px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mail-item.tag-admin .mail-from{color:#8fd0ff}.mail-item.tag-feedback .mail-from{color:#9ad6a1}.mail-item.tag-referral .mail-from{color:#f3c14a}
.mail-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mail-item.unread .mail-title{font-weight:700;color:#fff}
.mail-head time{color:#7f919c;font-size:12px;white-space:nowrap}
.mail-body{padding:0 14px 14px 36px;color:#c9d3d9;font:400 14px/1.55 "Segoe UI",sans-serif}
.mail-body p{margin:0 0 10px;white-space:normal;overflow-wrap:anywhere}
.mail-tools{display:flex;justify-content:flex-end}
.mail-empty{color:#8fa3b0;padding:18px;border:1px dashed #2c3a44;border-radius:10px;margin:0}
@media (max-width:700px){.mail-head{grid-template-columns:10px 1fr auto;gap:8px}.mail-from{grid-column:2;grid-row:1}.mail-title{grid-column:2/4;grid-row:2;white-space:normal}.mail-head time{grid-column:3;grid-row:1}.mail-body{padding-left:14px}}

/* 1.0.55: счётчики уведомлений — «жетон»: золотой градиент с бликом, тёмная окантовка, мягкое свечение и редкий пульс.
   Единый вид для меню и кнопок; красный вариант — заявки в друзья. Счётчики чата оставлены прежними. */
:root{--bdg-gold:linear-gradient(180deg,#fff3c4 0%,#ffd463 38%,#f0a92c 70%,#c47812 100%);--bdg-red:linear-gradient(180deg,#ffc2b3 0%,#ff7a5e 40%,#e0452c 72%,#a92614 100%);--bdg-ring:#0b1216}
.needs-attention::after,.needs-attention:after,.fb-badge,[data-friends-badge]:not([hidden]),.nav-more-btn.friends-alert::after{
 display:inline-grid!important;place-items:center;box-sizing:border-box;min-width:19px!important;height:19px!important;padding:0 6px!important;border-radius:999px!important;
 font:800 11px/1 "Segoe UI",system-ui,sans-serif!important;font-variant-numeric:tabular-nums;letter-spacing:0!important;text-transform:none!important;color:#2b1700!important;text-shadow:0 1px 0 #fff8;
 background:linear-gradient(115deg,transparent 35%,#ffffffcc 48%,transparent 60%) 160% 0/260% 100% no-repeat,var(--bdg-gold)!important;
 box-shadow:inset 0 1px 0 #fffbe8,inset 0 -2px 3px #8a4c0866,0 0 0 2px var(--bdg-ring),0 3px 6px #000b,0 0 0 2px #ffc94a00!important;
 animation:bdgLive 3.2s ease-out infinite}
.needs-attention::after,.needs-attention:after{margin-left:7px}
[data-friends-badge]:not([hidden]),.nav-more-btn.friends-alert::after{color:#fff!important;text-shadow:0 1px 1px #6d1206;background:linear-gradient(115deg,transparent 35%,#ffffffb3 48%,transparent 60%) 160% 0/260% 100% no-repeat,var(--bdg-red)!important;animation-name:bdgLiveRed}
.nav-more-btn.friends-alert::after{position:absolute;top:-8px;right:-8px}
@keyframes bdgLive{0%{background-position:160% 0,0 0;box-shadow:inset 0 1px 0 #fffbe8,inset 0 -2px 3px #8a4c0866,0 0 0 2px var(--bdg-ring),0 3px 6px #000b,0 0 0 2px #ffc94acc}
 45%{box-shadow:inset 0 1px 0 #fffbe8,inset 0 -2px 3px #8a4c0866,0 0 0 2px var(--bdg-ring),0 3px 6px #000b,0 0 0 9px #ffc94a00}
 60%,100%{background-position:-60% 0,0 0;box-shadow:inset 0 1px 0 #fffbe8,inset 0 -2px 3px #8a4c0866,0 0 0 2px var(--bdg-ring),0 3px 6px #000b,0 0 0 9px #ffc94a00}}
@keyframes bdgLiveRed{0%{background-position:160% 0,0 0;box-shadow:inset 0 1px 0 #ffe3dc,inset 0 -2px 3px #6d120666,0 0 0 2px var(--bdg-ring),0 3px 6px #000b,0 0 0 2px #ff6a4ccc}
 45%{box-shadow:inset 0 1px 0 #ffe3dc,inset 0 -2px 3px #6d120666,0 0 0 2px var(--bdg-ring),0 3px 6px #000b,0 0 0 9px #ff6a4c00}
 60%,100%{background-position:-60% 0,0 0;box-shadow:inset 0 1px 0 #ffe3dc,inset 0 -2px 3px #6d120666,0 0 0 2px var(--bdg-ring),0 3px 6px #000b,0 0 0 9px #ff6a4c00}}
@media (prefers-reduced-motion:reduce){.needs-attention::after,.fb-badge,[data-friends-badge],.nav-more-btn.friends-alert::after{animation:none!important}}
.dvx-mail-card .dvx-field{display:grid;gap:4px;margin:8px 0}
.dvx-mail-card .dvx-field span{font-size:12px;color:#8fa3b0;letter-spacing:.04em}
.dvx-mail-card .dvx-field input,.dvx-mail-card .dvx-field textarea{width:100%;box-sizing:border-box;resize:vertical}

/* 1.0.55: постер анонса первой кампании (русский или английский — по языку интерфейса). Текст постера дублирует шапку — шапка скрыта визуально (остаётся для диктора). Отсчёт до начала — табличкой поверх пейзажа. */
.cmpu-head.cmpu-poster{position:relative;padding:0!important;min-height:0;overflow:hidden;border-radius:14px;background:#120d08!important;aspect-ratio:16/9}
.cmpu-poster .cmpu-poster-img{display:block;width:100%;height:100%;object-fit:cover;animation:cmpuPosterIn 1.2s ease-out both}
@keyframes cmpuPosterIn{from{opacity:0;transform:scale(1.03)}}
.cmpu-poster .cmpu-sky,.cmpu-poster .cmpu-emblem{display:none!important}
.cmpu-poster .cmpu-head-tx{position:absolute;inset:auto 0 0 0;padding:0 2.2% 2.4%;display:flex;justify-content:flex-end;pointer-events:none}
.cmpu-poster .cmpu-head-tx>.eyebrow,.cmpu-poster .cmpu-head-tx>h2,.cmpu-poster .cmpu-head-tx>.cmpu-ann-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cmpu-poster .cmpu-ann-start{pointer-events:auto;margin:0;background:linear-gradient(180deg,#1a120bd9,#0d0906e6);border:1px solid #f0a92c88;box-shadow:0 10px 30px #000a,0 0 24px #f0a92c33;backdrop-filter:blur(3px)}
.cmpu-poster .cmpu-ann-start small:first-child{color:#ffcf6b!important}
@media (max-width:700px){.cmpu-head.cmpu-poster{aspect-ratio:auto}.cmpu-poster .cmpu-poster-img{height:auto;aspect-ratio:16/9}.cmpu-poster .cmpu-head-tx{position:static;padding:10px;justify-content:stretch}.cmpu-poster .cmpu-ann-start{width:100%;box-sizing:border-box}}
@media (prefers-reduced-motion:reduce){.cmpu-poster .cmpu-poster-img{animation:none}}
@media (max-width:700px){.cmpu-poster .cmpu-head-tx{display:block}.cmpu-poster .cmpu-head-tx>.cmpu-ann-text{position:static!important;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;margin:2px 2px 12px;font-size:14px}}

/* 1.0.55: отсчёт без подёргивания — цифры фиксированной ширины, без анимации сдвига при смене */
.cmpu-cd-c b{display:inline-block;min-width:2ch;text-align:center;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;animation:none!important;transform:none!important}
.cmpu-cd{contain:layout}
html[lang=en] .cmpu-poster .cmpu-head-tx>.cmpu-ann-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0} /* на английском постере текст уже есть */
/* 1.0.55: рубежи отряда — строка вклада и кнопка помещаются в узкой карточке */
.dvx-milestones article>small:last-of-type{white-space:nowrap}
