/* 0.5 — distinct rooms, speaking portraits and item identification. */
#content{position:relative;isolation:isolate}.window-scenery{position:absolute;inset:0;z-index:-1;pointer-events:none;background-size:400% auto;background-repeat:no-repeat;opacity:.085;filter:saturate(.75)}.panel-art.room-art{background-size:400% auto;height:185px}.room-art:after{background:linear-gradient(0deg,#14231aed,transparent 90%)}dialog[data-panel=food]{background:linear-gradient(135deg,#473c28,#272d20);border-color:#b39a64}dialog[data-panel=household]{background:linear-gradient(135deg,#343d38,#1d2928);border-color:#7e9186}dialog[data-panel=weapons]{background:linear-gradient(135deg,#34352b,#1b2820);border-color:#a69c73}dialog[data-panel=gear]{background:linear-gradient(135deg,#384731,#1b2a22);border-color:#9eb17c}dialog[data-panel=hospital]{background:linear-gradient(135deg,#2c4947,#152f2e);border-color:#85bcb0}dialog[data-panel=crypto]{background:linear-gradient(135deg,#403b31,#1c2827)}dialog[data-panel=market]{background:linear-gradient(135deg,#423925,#253429)}
.npc-portrait{display:block;width:134px;height:134px;max-width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #b5ba8a;border-radius:5px;box-shadow:0 5px 22px #0006;background:#253126;flex-shrink:0}.vendor-head .npc-portrait{width:160px;height:160px}.vendor-head{padding:18px;align-items:center;gap:25px}.portrait{overflow:hidden;width:62px;height:70px;display:grid;place-items:center;background-size:cover}.portrait img,.portrait .npc-portrait{width:100%;height:100%;object-fit:cover;border:0;box-shadow:none;border-radius:0}.chief-art.animated-chief{background:none!important;min-height:0;display:grid;align-content:center;border:0;box-shadow:none;position:relative}.animated-chief>.npc-portrait{width:100%;height:auto;aspect-ratio:1;border:1px solid #a7b282;border-radius:4px}.animated-chief>span{background:linear-gradient(transparent,#172418e8);left:1px;right:1px;bottom:0;padding:40px 22px 22px;text-shadow:0 2px 4px #000}.briefing-layout{align-items:center;min-height:430px}.briefing-dialog .spoken{font-size:17px}.avatar-settings{display:flex;align-items:center;gap:24px;margin:25px 0 5px;padding:22px;background:#101f17a6;border:1px solid #687b54}.avatar-settings p{font-size:13px;margin:10px 0}.profile-avatar{flex-shrink:0;width:150px;height:150px;overflow:hidden;border-radius:5px;border:1px solid #a9b784}.profile-avatar img,.profile-avatar canvas{width:100%;height:100%;object-fit:cover;border:0}.upload-avatar{display:inline-flex;padding:12px 16px;border:1px solid #a4b679;background:#445a34;cursor:pointer;font-size:14px}.upload-avatar input{max-width:240px;margin:0 0 0 12px;padding:0;border:0;background:transparent;font-size:12px}.inventory-money{font-size:22px;color:#f2d390;white-space:nowrap}.inventory-money small{font-size:15px;color:#c5d9a8}.workshop-intro{display:flex;align-items:center;gap:24px;margin-bottom:25px}.workshop-intro h2{font-size:26px;margin:8px 0}.workshop-intro p{max-width:650px}.craft-catalog{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.craft-catalog .item{display:flex;flex-direction:column;align-items:stretch}.craft-catalog .item>.icon{align-self:center}.craft-catalog .item button{margin-top:auto}.craft-requirements{display:grid;gap:7px;padding:12px 0;border-top:1px solid #74845c;margin:12px 0;color:#cad5b8}.craft-requirements>b{color:#eadcb1;font-size:14px}.craft-requirements>span{font-size:13px}.material-line{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:7px;padding:3px 0;font-size:12px}.material-line .icon{width:32px!important;height:32px!important;margin:0;border-radius:3px}.material-line .icon .item-stamp,.material-line .icon .item-tier{display:none}.material-line b{font-size:12px;min-height:0;white-space:nowrap}.missing,.missing b{color:#f4b39b!important}.enough,.enough b{color:#c8df91!important}.location-description{font-size:14px;min-height:95px;padding:0 5px}.location .landscape{height:155px}.location>button{margin-top:10px}.icon{position:relative;isolation:isolate}.icon .item-stamp{position:absolute;bottom:1px;left:1px;right:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 9px Consolas,monospace;background:#0a160ddb;color:#f7eccb;padding:2px 3px;line-height:1.1;text-align:center;letter-spacing:.3px}.icon .item-tier{position:absolute;top:3px;left:3px;font:700 10px Consolas;background:#112019d9;border:1px solid #9cb077;padding:1px 3px;color:#e6e7b7}.icon.west-item .item-tier{border-color:#cfb68c;color:#efdbb8}.icon.variant1{box-shadow:inset 0 0 0 2px #81b887}.icon.variant2{box-shadow:inset 0 0 0 2px #83aed0}.icon.variant3{box-shadow:inset 0 0 0 2px #c4a3d2}.item .icon{background-color:#273027;border-radius:4px}.inventory-cell .icon{box-shadow:none}.inventory-cell .item-stamp{font-size:7px;bottom:0;padding:1px}.inventory-cell .item-tier{font-size:7px;top:0;padding:0 2px}.day-card .item-stamp{font-size:8px}#content>.npc-portrait{float:right;margin:0 0 15px 20px}.vendor-head .npc-portrait{float:none}.vendor-head+nav{display:none}
@media(max-width:680px){.vendor-head{align-items:flex-start;gap:14px;padding:12px}.vendor-head .npc-portrait{width:90px;height:90px}.npc-portrait{width:100px;height:100px}.avatar-settings{flex-direction:column;align-items:flex-start;padding:16px}.upload-avatar{display:flex;flex-direction:column;gap:10px}.upload-avatar input{margin:0}.profile-avatar{width:130px;height:130px}.workshop-intro{align-items:flex-start;gap:14px}.workshop-intro .npc-portrait{width:88px;height:88px}.workshop-intro h2{font-size:21px}.workshop-intro p{font-size:13px}.craft-catalog{grid-template-columns:1fr}.chief-art.animated-chief{width:min(260px,100%);justify-self:center}.animated-chief>span{padding:30px 14px 14px;font-size:20px}.briefing-dialog .spoken{font-size:16px}.panel-art.room-art{height:150px}.inventory-money{font-size:20px}.location-description{min-height:0}.material-line{grid-template-columns:36px 1fr auto;font-size:13px}.material-line b{font-size:13px}}

.craft-requirements>b,.craft-requirements .material-line b{min-height:0;margin:0}.craft-catalog .item-desc{min-height:0}.craft-catalog .item-spec:empty{display:none}.craft-catalog .item-spec{min-height:0}.craft-catalog .item>small{margin:4px 0}.craft-catalog .item>b{min-height:0;margin:8px 0}.craft-requirements{gap:8px}.craft-catalog .item.locked{opacity:.85}.material-line{min-height:34px}.material-line .icon{box-shadow:none}.craft-catalog .item .material-line b{font-size:12px;margin:0;min-height:0}.workshop-intro{margin-bottom:18px}.workshop-intro .npc-portrait{width:110px;height:110px}.workshop-intro p{margin:8px 0}
.unit-heading,.unit-directory article,.unit-roster article{display:flex;align-items:center;gap:18px;padding:16px;margin:10px 0;border:1px solid #77865b55;background:#11201bcc;border-radius:12px}.unit-heading{background:linear-gradient(110deg,#334837cc,#152324ee)}.unit-emblem{width:80px;height:80px;object-fit:cover;border-radius:14px;border:1px solid #b5bc7b66;flex-shrink:0}.unit-symbol{display:grid;place-items:center;font-size:42px;color:#ded49b;background:#33422b}.unit-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.unit-perks article,.unit-create{padding:18px;border:1px solid #84936555;background:#243229c9;border-radius:12px}.unit-perks b{color:#e5d8a1}.unit-roster article{justify-content:space-between}.unit-roster small,.unit-create small{display:block;margin-top:8px}.unit-roster button{font-size:12px;margin:3px}.unit-table{overflow:auto}.unit-table table{border-collapse:collapse;width:100%}.unit-table th,.unit-table td{padding:12px;text-align:left;border-bottom:1px solid #70885c55}.self-rank{background:#71864e44}.unit-directory article>div:not(.unit-emblem){flex:1}#unit-notice{display:block;width:100%;min-height:90px;background:#14261c;color:#e7eacb;border:1px solid #748653;padding:12px}#unit-open{width:auto}@media(max-width:700px){.unit-perks{grid-template-columns:1fr}.unit-roster article{display:block}.unit-emblem{width:60px;height:60px}}

.ammo-art svg{width:100%;height:100%}.magazine-workbench{grid-column:1/-1}.magazine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px}.magazine-card{background:#213129;border:1px solid #79885a;padding:16px;border-radius:10px}.magazine-card .icon{width:100px;height:90px}.magazine-card h4{min-height:40px}.magazine-card small{display:block;margin:10px 0}.magazine-card button{font-size:12px;margin:3px;padding:9px}.loose-ammo{display:flex;flex-wrap:wrap;gap:14px}.loose-ammo>span{display:flex;align-items:center;gap:8px}.loose-ammo .icon{width:60px;height:55px}

.stat-icon{display:inline-grid;place-items:center;width:32px;height:32px;margin-right:9px;border-radius:9px;background:#58724b66;color:#e0cf88;font-size:23px;vertical-align:middle}.stat-health{color:#ee8c83}.stat-stamina,.stat-shooting{color:#f0cf66}.stat-agility,.stat-learning{color:#83cbd9}.stat-craft{color:#d9a67e}.stat-knife,.stat-unarmed{color:#c6afe2}

.paperdoll{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:9px}.paperdoll .inventory-cell:nth-child(n){grid-column:auto;height:117px}.paperdoll:before{opacity:.2}.paperdoll .inventory-cell .icon{width:68px;height:68px}.equipment-note{font-size:12px;line-height:1.5;color:#b7c4a8}.slot-remove{font-size:10px;color:#e8c184}.paperdoll .inventory-cell:hover{border-color:#e7c581}.ammo-art svg{filter:drop-shadow(0 4px 3px #0008)}

.equipped-attachments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.equipment-board>h3:not(:first-child){margin-top:18px}

.icon .item-stamp{white-space:normal;line-height:1.12;font-size:8px;padding:3px;max-height:26px}.gear-series.series-1{background-color:#39524c;background-blend-mode:luminosity}.gear-series.series-2{background-color:#645644;background-blend-mode:luminosity}.gear-series.series-3{background-color:#344454;background-blend-mode:luminosity}.series-detail{position:absolute;right:6px;bottom:25px;width:14px;height:22px;border:2px solid #c9c8a2;background:repeating-linear-gradient(0deg,#233128 0 3px,#a4ad89 3px 4px);border-radius:3px}.variant2 .series-detail{height:30px;width:20px}.variant3 .series-detail{border-color:#8fc4d0;background:linear-gradient(90deg,#162e3a,#6693a1,#162e3a)}

/* Tactical charcoal HUD, cyan controls and amber commit. */
:root{--accent:#39c6f2;--text:#e6eef1;--muted:#91a0a6;--line:#344047}
header{background:linear-gradient(110deg,#13191c,#080d10);border-color:#344047}.brand{color:#dce6e9}.brand small{color:#85a0ab}.strip,.bottom{background:#090f12}.strip b{color:#b4cbd4}button{background:linear-gradient(#192227,#0b1115);border-color:#455159;color:#e6eef1}button:hover{background:#20323c;border-color:#36bfee}button.primary{background:linear-gradient(#b65620,#683313);color:#ffddad;border:1px solid #dc8140}dialog{background:linear-gradient(135deg,#172125,#0b1216);border-color:#53656d}.inventory-cell,.item,.item-inspector,.equipment-board,.inventory-storage,.magazine-card{background:linear-gradient(140deg,#202b30,#10171b);border-color:#3c4a50}.icon.generated-gear{filter:none!important;background-blend-mode:normal!important;background-color:#10181b;position:relative;border-radius:3px}.generated-gear:before,.generated-gear:after{display:none!important}.camo-tag{position:absolute;bottom:1px;left:2px;right:2px;background:#070c10d9;color:#aabec7;font:7px 'Segoe UI',sans-serif;text-align:center;letter-spacing:.4px}.slot-remove{display:none}.item .generated-gear{width:132px;height:132px}.tac-icon{width:30px;height:30px;flex-shrink:0;color:inherit}.in-battle main{grid-template-columns:202px minmax(0,1fr) 190px;height:calc(100vh - 328px);min-height:420px}.in-battle .left{padding:12px 10px;background:linear-gradient(145deg,#121b20,#070c0f);border-color:#344047;overflow:auto}.in-battle .left>h1,.in-battle .left>#subtitle,.in-battle .left>.eyebrow,.in-battle #task,.in-battle .left>.primary,.in-battle .left-bottom{display:none}.in-battle .operator{margin:0;padding:0 0 9px;border:0}.in-battle .operator .portrait{width:48px;height:58px}.in-battle .operator h2{color:#36c3f3;font-size:16px}.in-battle .operator span{font-size:10px}.in-battle #vitals .statline{font-size:10px;margin:4px 0}.in-battle #vitals .meter{margin-bottom:7px;height:3px}.in-battle #actions{display:block;overflow:visible;max-height:none;padding:0;width:100%;flex:none}.action-group h4{font-size:9px;letter-spacing:1.7px;color:#728992;margin:12px 0 5px}.action-group>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.in-battle #actions button{display:flex;align-items:center;gap:5px;min-width:0;width:100%;min-height:48px;padding:6px 4px;font-size:10px;text-align:left;border-radius:3px;background:linear-gradient(135deg,#1b252a,#080d10);border:1px solid #3a4a52;color:#d4dfe4}.in-battle #actions button.active{border-color:#30bcec;box-shadow:inset 0 0 14px #1982a326;color:#46c5f0}.in-battle #actions small{font-size:10px;color:#37c5f1;margin-top:4px}.in-battle #actions .tac-icon{width:22px;height:26px}.field-actions{margin:7px 0}.field-actions summary{font-size:10px;padding:8px;border-color:#344047;color:#9fbbc7}.field-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:4px}.in-battle .right{display:block;position:static;width:auto;max-height:none;border:0;border-left:1px solid #344047;border-radius:0;background:linear-gradient(160deg,#111a1e,#070c0f);padding:12px;box-shadow:none;backdrop-filter:none;overflow:auto}.in-battle .right .eyebrow{font-size:9px;color:#8ca3ad;letter-spacing:1px}.in-battle .right #timer{font-size:28px;color:#30c3ed}.in-battle .right #log{display:block;height:90px;font-size:10px}.in-battle .right>button[data-open=missions]{display:none}.in-battle #weapon-hud{border-bottom:1px solid #33434a;padding-bottom:12px;margin-bottom:12px}.in-battle #weapon-hud>b{font-size:12px;color:#e3edf0}.in-battle #weapon-hud>.icon{width:115px;height:70px;margin:8px auto}.weapon-ammo{display:flex;align-items:center;gap:6px;font:18px Consolas;color:#dbeaf0}.weapon-ammo .tac-icon{width:20px;height:24px}.in-battle #weapon-hud small{font-size:10px;margin-top:6px;color:#99aab2}.in-battle #weapon-hud small b{color:#dce6e9}.in-battle footer{padding:78px 16px 12px;min-height:198px;height:198px;gap:18px;background:linear-gradient(#111a1f,#080e12);border-color:#344047;flex-wrap:nowrap}.in-battle #battle-info{width:165px;color:#c6d6dd}.ap-number{display:flex;font:34px Consolas;color:#39c7f1;gap:6px;align-items:baseline}.ap-number small{font:16px Consolas;color:#71858e}.ap-segments{display:flex;gap:3px;margin:6px 0}.ap-segments i{height:10px;flex:1;background:#354249;transform:skew(-12deg)}.ap-segments .filled{background:linear-gradient(#5ce4ff,#088fbf);box-shadow:0 0 5px #1598c440}.in-battle #battle-info>.eyebrow{font-size:9px;color:#83a1af}.in-battle #battle-info>small{font-size:9px;color:#6ca1b8}.in-battle #plan-list{height:66px;display:flex;align-items:center;gap:12px;padding:6px 16px;background:#090f13;border-color:#344047;overflow:hidden;white-space:normal}.plan-heading{font-size:10px;color:#b4ccd7;flex-shrink:0}.plan-heading small{font-size:9px;color:#667f8b;margin-top:5px}.plan-cards{display:flex;align-items:center;gap:5px;overflow:auto;flex:1;height:54px}.plan-card{position:relative;display:flex;gap:7px;align-items:center;flex-shrink:0;min-width:128px;height:48px;padding:6px 18px 6px 7px;border:1px solid #365566;border-radius:3px;background:linear-gradient(#16252e,#0b1217);font-size:11px}.plan-card .tac-icon{color:#2bbdee;width:24px;height:26px}.plan-card small{font-size:9px;color:#8eabb8}.plan-card b{position:absolute;right:4px;bottom:3px;color:#577482;font-size:10px}.plan-arrow{color:#526671;font-size:24px}.plan-tools{display:flex;gap:5px;flex-shrink:0}#plan-list .plan-tools button{margin:0;padding:7px;font-size:10px;color:#eb9b6d;border-color:#633e2e}.empty-plan{color:#657c89;font-size:11px}.quick-heading{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1px;color:#d7e1e7;margin-bottom:5px}.quick-heading small{font-size:9px;color:#6f8995;letter-spacing:0}#quick-access{flex:1;min-width:0;max-width:540px}.quick-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.quick-slots>button{position:relative;height:91px;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;border-radius:4px;overflow:hidden;background:linear-gradient(#18252d,#080e13);font-size:10px}.quick-slots>button:disabled{opacity:.45}.quick-slots .icon{width:46px;height:42px;margin-bottom:3px}.quick-slots>button>.tac-icon{width:30px;height:36px;margin:3px}.quick-slots kbd{position:absolute;top:3px;left:4px;border:1px solid #405562;border-radius:3px;padding:1px 4px;background:#0b1217;color:#b8ced9;font:10px Consolas}.quick-slots small{font-size:9px;color:#45bce6}.quick-slots>button[data-action=shoot]{border-color:#bd713e}.in-battle #end{margin-left:auto;min-width:160px;max-width:190px;height:80px;border:1px solid #b06536;background:linear-gradient(130deg,#753211,#21140e);color:#ff9e48;box-shadow:inset 0 0 20px #ef843015;border-radius:4px;font-size:15px}.scene-top{background:linear-gradient(#080e13ee,transparent)}.scene-top button{background:#111e27;border-color:#3d5a69}.scene-bottom{color:#b1cedd;background:linear-gradient(transparent,#080f15e8)}#item-menu{position:fixed;z-index:20000;min-width:220px;max-width:320px;max-height:calc(100vh - 16px);overflow:auto;background:#0c151a;border:1px solid #527383;box-shadow:0 12px 38px #000b;border-radius:5px;padding:5px;color:#dceaf0}#item-menu>b{display:block;padding:9px;border-bottom:1px solid #304450;font-size:12px}#item-menu button{display:block;width:100%;text-align:left;border:0;border-radius:2px;font-size:12px;padding:10px;background:transparent}#item-menu button:hover,#item-menu button:focus{background:#203c4b;color:#5ad6ff}#item-menu button:disabled{color:#627480}.in-battle .meter i{background:linear-gradient(90deg,#1480a2,#3cc7eb)}
@media(max-width:1000px){.in-battle main{grid-template-columns:175px minmax(0,1fr) 155px;min-height:400px;height:calc(100vh - 355px)}.in-battle .right{padding:8px}.in-battle #actions button{font-size:9px}.in-battle #actions .tac-icon{width:18px}.in-battle footer{gap:10px;padding-left:10px;padding-right:10px}.in-battle #battle-info{width:125px}.in-battle #end{min-width:135px;font-size:12px}.plan-heading{display:none}}
@media(max-width:680px){.in-battle main{display:grid;grid-template-columns:120px minmax(0,1fr);height:55vh;min-height:380px}.in-battle .left{display:flex;padding:6px}.in-battle .left .operator,.in-battle #vitals{display:none}.in-battle .right{display:none}.in-battle #actions button{min-height:44px;display:block;text-align:center;font-size:9px}.in-battle #actions .tac-icon{height:19px}.action-group h4{font-size:8px;margin-top:6px}.in-battle #scene{height:100%}.in-battle footer{height:auto;min-height:230px;flex-wrap:wrap;padding-top:68px}.in-battle #battle-info{width:90px}.ap-number{font-size:26px}#quick-access{flex:1}.quick-heading small{display:none}.quick-slots>button{font-size:8px;height:78px}.quick-slots .icon{width:35px;height:35px}.in-battle #end{min-height:38px;height:40px;width:100%;max-width:none}.in-battle #plan-list{padding:6px}.plan-tools{flex-direction:column;gap:3px}.in-battle #plan-list button{padding:3px;font-size:9px}}

.quick-cost{font:9px Consolas;color:#37b8e8;position:absolute;right:3px;top:4px}.action-group button>span{min-width:0;overflow-wrap:anywhere}.quick-slots>button{padding-top:15px}

@media(max-width:680px){header{flex-wrap:wrap;max-width:100vw}header nav{flex:0 0 100%;width:100%;max-width:100%;overflow-x:auto;order:3}header .brand{gap:5px}header .brand span{font-size:12px}.quick-slots kbd{top:2px;left:2px;font-size:8px;padding:0 2px}.quick-cost{font-size:7px;top:2px;right:1px}}

/* Shared tactical palette for all screens. */
:root{--bg:#080f14;--panel:#13202a;--line:#365061;--accent:#36c4ef;--muted:#97afbe;--text:#e4edf3}
body{background:radial-gradient(ellipse at 80% 0,#213d50,#080f14 75%);color:var(--text)}
dialog,dialog[data-panel]{background-color:#0d1821;background-image:linear-gradient(135deg,#1b2d3aee,#0a131cee)!important;border:1px solid #4b687c;box-shadow:0 20px 80px #000b,inset 0 1px #7892a533;border-radius:6px}
dialog .panel-art{border-color:#405d70;filter:saturate(.75)}.panel-art:after{background:linear-gradient(transparent,#0c1823e8)}
.left,.right{background:linear-gradient(150deg,#1a2c39,#0b151e);border-color:#385466}.left h1,.left h2,h1,h2,h3{color:#e7f0f6}.left .eyebrow,.eyebrow{color:#54bfdf}p,dialog p,.left p{color:#b0c1cc}.left-bottom button{background:linear-gradient(#253e4f,#132330);border-color:#486578}
button,input,select,textarea{border-radius:4px}input,select,textarea{background:#0b1822;border-color:#466275;color:#e7f0f6}button{box-shadow:inset 0 1px #ffffff0b}button.active,.section-tabs button.active{background:linear-gradient(#24546a,#132b3d);border-color:#41b7df;color:#b6edff}.section-tabs{gap:6px}.section-tabs button{background:linear-gradient(#263c4c,#101f2b)}
.vendor-head,.shop-food .vendor-head,.shop-household .vendor-head,.shop-gear .vendor-head{background:linear-gradient(115deg,#263e50,#12222f)!important;border-color:#547080}.vendor-head p{color:#beced9}.npc-avatar{border-color:#638599}
.inventory-cell,.item,.item-inspector,.equipment-board,.inventory-storage,.magazine-card,.location,.quest,.daily-task,.day-card,.unit-perks article,.unit-directory article,.unit-roster article,.faction,.faction.west,.reward-intro,.inventory-extra{background:linear-gradient(145deg,#23394a,#111e29)!important;border-color:#405d71!important;color:#e2ecf4}.quest{border-left-color:#3eb2d9!important}.quest .reward,.reward,.row strong{color:#5ed2ef}.row{border-color:#344e60}.day-card.current{outline:1px solid #66c7ef}.notice{background:#302618;border-color:#946235;color:#ebc68d}.building{background:linear-gradient(#29495cef,#142837ef);border-color:#7698a9;border-left-color:#47c9ef;color:#ecf7fc}.building small{color:#a2c5d7}.building:before{background:#4ac6e8;box-shadow:0 0 15px #49c1e8}.statline,.equipment-note,.storage-meta{color:#a6bdcb}.meter{background:#0b151e}.meter i{background:linear-gradient(90deg,#13799f,#45c7ee)}#tooltip{background:#0a1824f5;border-color:#638ea5;color:#e1eef7}#toast{background:#b0e2f4;color:#122c3b}.item b,.item small,.cell-label{color:#d0e0ea}.catalog{gap:13px}.tier1{border-top-color:#62b698!important}.tier2{border-top-color:#56b9e8!important}.tier3{border-top-color:#be9fdf!important}
.building[data-open=weapons]:before{content:'⌖'}.building[data-open=hospital]:before{content:'+'}.building[data-open=inventory]:before{content:'▣'}.building:before{width:18px;height:18px;text-align:center;line-height:17px;font-size:15px;color:#08202e;border-radius:3px}
#game-settings{display:flex;gap:5px;align-items:center;margin-left:auto}#game-settings button{white-space:nowrap;font-size:10px;padding:7px}#game-settings select{width:86px;padding:6px;margin:0;font-size:10px}header{height:auto;min-height:84px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px;gap:10px}header nav{flex-wrap:wrap}header .balance{margin-left:auto}#fire-selector h4{font-size:9px;letter-spacing:1px;color:#84a4b6;margin:10px 0 5px}#fire-selector>div{display:flex;flex-wrap:wrap;gap:4px}.in-battle #actions #fire-selector button{width:auto;flex:1;display:block;text-align:center;font-size:10px;min-height:42px}.in-battle #actions #fire-selector button small{font-size:9px}#quick-access{max-width:760px}.quick-slots{display:flex;overflow:auto;padding-bottom:3px}.quick-slots>button{min-width:76px;flex:0 0 84px}.quick-slots>button:disabled{opacity:.5}.loot-title{display:block;font-size:12px;letter-spacing:2px;color:#e7bb78;margin:12px 0}.loot-grid{display:flex;gap:9px;flex-wrap:wrap}.loot-card{display:flex;flex-direction:column;align-items:center;width:118px;padding:9px;background:linear-gradient(#213947,#101c25);border:1px solid #4e7184;border-radius:5px}.loot-card .icon{width:70px;height:70px}.loot-card b{font-size:11px;color:#d7e7f0;text-align:center}.loot-card small{color:#63c6e9}#battle-journal{border-top:1px solid #344f61;background:#09151d;color:#c5dbe8}#battle-journal[hidden]{display:none}.journal-toggle{width:100%;display:flex;justify-content:space-between;text-align:left;font-size:11px;padding:9px 18px;background:linear-gradient(#1e3341,#111e28);border:0;border-radius:0;color:#bbd8e9}.journal-toggle span{font-size:10px;color:#679eb9}.journal-entries{max-height:180px;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;padding:7px 18px}.journal-entries>div{padding:8px 0;border-bottom:1px solid #263e4c;font-size:11px}.journal-entries time{color:#668da5;margin-right:8px}.journal-entries b{color:#45bee9}.journal-entries strong{color:#e8a071;display:block}.journal-cost{margin-left:6px;color:#879cab}.journal-entries p{font-size:12px}.in-battle main{height:calc(100vh - 360px)}
@media(max-width:1000px){#game-settings{margin-left:0}header nav{flex-wrap:nowrap}.in-battle main{height:calc(100vh - 400px)}.journal-entries{grid-template-columns:1fr 1fr}.quick-slots>button{min-width:70px;flex-basis:70px}}
@media(max-width:680px){.in-battle main{height:52vh}.journal-entries{grid-template-columns:1fr;max-height:150px}.quick-slots>button{min-width:58px;flex-basis:58px}.in-battle #actions #fire-selector button{font-size:9px}#game-settings{width:100%;justify-content:flex-end}.loot-card{width:95px}.in-battle footer{min-height:230px}}

body.in-battle{display:grid;grid-template-rows:auto auto minmax(200px,1fr) auto auto auto;height:100dvh;overflow:hidden}.in-battle header{grid-row:1}.in-battle .strip{grid-row:2}.in-battle main{grid-row:3;height:auto!important;min-height:0!important}.in-battle #battle-journal{grid-row:4}.in-battle footer{grid-row:5}.in-battle .bottom{grid-row:6}.in-battle #battle-journal .journal-entries{max-height:130px}.in-battle header nav{flex:1;min-width:0;flex-wrap:wrap}.in-battle #scene{min-height:0}.in-battle header{padding:8px 14px;min-height:66px}.in-battle .brand span{font-size:14px}.in-battle nav button{font-size:11px;padding:5px 7px}@media(max-width:680px){body.in-battle{height:auto;min-height:100dvh;overflow:auto}.in-battle main{min-height:330px!important}.in-battle #battle-journal .journal-entries{max-height:100px}}

body:not(.in-battle) footer{background:linear-gradient(#1b2f3e,#0e1a23);border-color:#405d71;padding:12px 20px;min-height:75px}body:not(.in-battle) #plan-list,body:not(.in-battle) #end{display:none}body:not(.in-battle) #battle-info{width:auto;color:#91b7cd}.plan-card em{display:block;font-size:9px;color:#e7ab72;font-style:normal}.bottom{background:#08131b!important;color:#7096ac}.building:before{content:"◆";color:#173749}


/* Sunny base, spatially aligned building hit regions. */
#buildings{position:absolute;right:auto;bottom:auto;pointer-events:none;transform:none}
.base-building{position:absolute;pointer-events:auto;border:0!important;background:transparent!important;box-shadow:none!important;padding:0;cursor:pointer;isolation:isolate}
.base-building:before{content:"";position:absolute;inset:8% 1%;clip-path:polygon(50% 0,100% 24%,96% 77%,50% 100%,2% 75%,0 25%);background:#7ae4ff00;transition:background .16s,filter .16s;border:2px solid transparent}
.base-building:hover:before,.base-building:focus-visible:before{background:#75ecff40;filter:drop-shadow(0 0 9px #7ae4ff);border-color:#aeedff}
.base-building span{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);padding:6px 10px;border:1px solid #afc5d59c;background:#102736eb;color:#eef9ff;white-space:nowrap;border-radius:4px;font-size:clamp(10px,1vw,14px);box-shadow:0 3px 9px #08192370;transition:all .16s}
.base-building:hover span,.base-building:focus-visible span{bottom:9%;background:#d2f2fb;color:#092b3b;border-color:#8ae5ff;box-shadow:0 0 20px #6ac9e780}
.recon-item svg{width:100%;height:100%;background:radial-gradient(ellipse,#39525e,#101e28)}
.training-banner{padding:24px;background:linear-gradient(100deg,#173643,#34584b);border:1px solid #68aaa780;border-radius:8px}.training-banner h2{color:#b4eaff}.quick-slots{overflow-x:auto}


body:not(.in-battle) main{display:grid;position:relative;min-height:0;height:calc(100dvh - 135px);grid-template-columns:270px minmax(0,1fr)}
body:not(.in-battle) aside.right,body:not(.in-battle) footer,body:not(.in-battle) .bottom{display:none!important}
body:not(.in-battle) #scene{width:100%;height:100%;min-height:540px;border:0;background:#17232b}
body:not(.in-battle) .scene-top{background:linear-gradient(#06131b70,transparent);pointer-events:none;padding:12px 20px}
body:not(.in-battle) .scene-top>div{display:none}body:not(.in-battle) .scene-bottom{pointer-events:none}
#base-operator{position:absolute;right:18px;top:42px;width:224px;padding:12px 14px;border:1px solid #7799a26e;border-radius:6px;background:linear-gradient(125deg,#122a35f0,#101d27ec);box-shadow:0 7px 24px #06101865;backdrop-filter:blur(8px);z-index:4}
#base-operator .operator{display:flex;gap:10px;margin:0 0 10px;align-items:center;padding:0;border:0;background:none}
#base-operator .portrait{width:54px;height:62px;min-width:54px;border-radius:3px;overflow:hidden}#base-operator .portrait img,#base-operator .portrait canvas{width:100%;height:100%;object-fit:cover}
#base-operator h2{font-size:17px;margin:0 0 3px;color:#85d4ed}#base-operator .operator span{font-size:10px;color:#adbcc0}#base-operator .statline{font-size:11px;margin-top:7px}#base-operator .meter{height:3px;margin:4px 0}#base-operator .meter i{background:linear-gradient(90deg,#3b93ac,#8aceb5)}
.base-building:before{inset:0;clip-path:var(--footprint);transition:background .16s;filter:none!important;border:0!important}
.base-building:hover:before,.base-building:focus-visible:before{background:#8bdcee32;box-shadow:inset 0 0 40px #c2ecff42}
.base-building span{left:var(--label-x);top:var(--label-y);bottom:auto;font-size:clamp(10px,.85vw,13px);background:#152934e8;letter-spacing:.04em;border-color:#a6b9bd86}
.base-building:hover span,.base-building:focus-visible span{top:var(--label-y);bottom:auto;background:#d0e5e8;color:#102d38}
.in-battle #base-operator{display:none!important}
@media(max-width:900px){body:not(.in-battle) main{height:calc(100dvh - 180px)}#base-operator{width:172px;right:9px;top:38px;padding:8px}#base-operator .portrait{width:40px;min-width:40px;height:45px}.base-building span{padding:4px 5px;font-size:10px}}

#base-operator{left:18px;right:auto}#base-operator .meter i{display:block;height:100%}
@media(max-width:900px){#base-operator{left:9px;right:auto}}

@media(max-width:1250px){#base-operator{width:174px;padding:9px;left:12px;right:auto}#base-operator .portrait{width:38px;min-width:38px;height:45px}#base-operator h2{font-size:14px}#base-operator .operator{gap:7px;margin-bottom:5px}#base-operator .operator span{font-size:9px}#base-operator .statline{font-size:10px;margin-top:5px}}

@media(max-width:1250px){#base-operator{width:174px;padding:9px;left:12px;right:auto}#base-operator .portrait{width:38px;min-width:38px;height:45px}#base-operator h2{font-size:14px}#base-operator .operator{gap:7px;margin-bottom:5px}#base-operator .operator span{font-size:9px}#base-operator .statline{font-size:10px;margin-top:5px}}


.category-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 14px}.category-tabs button{padding:8px 12px}.category-tabs button.active{background:#25536a!important;border-color:#68bedb;color:#b9f1ff}.market-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.settings-card{padding:20px;margin:18px 0;border:1px solid #476475;background:#132632;border-radius:8px}.settings-card label{display:block;margin:16px 0}.settings-card select{margin-left:14px}.settings-card input[type=checkbox]{width:auto;margin-right:10px}.danger{border-color:#865648}.danger summary,.danger button{color:#e8ae8d}
header #base-operator{display:flex!important;position:static!important;left:auto;top:auto;right:auto;width:365px;min-width:300px;max-width:100%;gap:14px;padding:0 14px 0 0;background:none;border:0;border-right:1px solid #38505d;box-shadow:none;backdrop-filter:none;z-index:auto;flex-shrink:0}header #base-operator .operator{min-width:135px;margin:0;gap:8px;align-self:center}header #base-operator #vitals{flex:1;min-width:130px}header #base-operator .portrait{width:45px;min-width:45px;height:54px}header #base-operator h2{font-size:16px}header #base-operator .operator span{font-size:9px;display:block;max-width:110px}header #base-operator .statline{font-size:10px;margin:3px 0}header #base-operator .meter{height:3px;margin:2px 0}header #base-operator .meter i{display:block;height:100%}header{align-items:center}header nav{min-width:320px}.in-battle header #base-operator{display:flex!important}.in-battle main{height:calc(100vh - 350px)}body:not(.in-battle) main{height:calc(100dvh - 150px)}
@media(max-width:1100px){header #base-operator{width:330px;min-width:270px}header nav{order:3;width:100%;justify-content:flex-start}header .balance{margin-left:auto}body:not(.in-battle) main{height:calc(100dvh - 190px)}}

/* v0.13: traced silhouettes and guided practice. */
header #base-operator .portrait{width:76px;min-width:76px;height:84px;border:1px solid #5b849c;border-radius:5px}
header #base-operator{width:410px;gap:16px}header #base-operator .operator{min-width:182px}
.base-building:before{display:none}.base-building{clip-path:var(--footprint);overflow:visible}
.base-building:has(span){clip-path:none;pointer-events:none}.base-building span{pointer-events:auto}
.building-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.building-outline polygon{pointer-events:all;fill:transparent;stroke:transparent;stroke-width:1.5;vector-effect:non-scaling-stroke;transition:fill .18s,stroke .18s}
.base-building:hover polygon,.base-building:focus-visible polygon{fill:#73dcf332;stroke:#a9ebff;filter:drop-shadow(0 0 3px #66d9ee)}
#combat-lesson{position:fixed;right:190px;top:145px;width:300px;z-index:25;padding:16px;border:1px solid #6edbff;background:linear-gradient(130deg,#132e40f5,#08141df5);border-radius:8px;box-shadow:0 10px 35px #0008}
#combat-lesson h3{color:#a1e6ff;margin:6px 0}#combat-lesson p{font-size:14px;line-height:1.5;color:#d4e4ed;margin:8px 0}#combat-lesson small{color:#85b1c7}#combat-lesson button{margin-top:9px}
.lesson-highlight{outline:2px solid #8ee9ff!important;box-shadow:0 0 17px #3bc9ff99!important;animation:lessonGlow 1.3s ease-in-out infinite!important}
#lesson-target{position:fixed;z-index:24;pointer-events:none;width:44px;height:28px;border:3px solid #a4f0ff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #21bbff;animation:lessonGlow 1.3s infinite}
#lesson-target:after{content:'▼';position:absolute;left:11px;top:-29px;color:#c3f4ff;font-size:25px}
@keyframes lessonGlow{50%{filter:brightness(1.35);box-shadow:0 0 25px #39d8ffbb}}
.crate-result{display:flex;flex-wrap:wrap;gap:18px}.crate-result article{padding:14px;background:#12232e;border:1px solid #4e788e;border-radius:5px}.crate-result .icon{display:block;width:100px;height:100px}
@media(max-width:1100px){header #base-operator{width:380px}#combat-lesson{top:165px;right:175px;width:250px;padding:10px}header #base-operator .portrait{width:64px;min-width:64px;height:72px}}
@media(max-width:700px){#combat-lesson{top:125px;right:8px;width:210px}#combat-lesson p{font-size:12px}header #base-operator{width:100%}header #base-operator .portrait{width:60px;min-width:60px;height:68px}}
@media(prefers-reduced-motion:reduce){.lesson-highlight,#lesson-target{animation:none!important}}

/* Item cards remain in the dialog top layer, including keyboard hover. */
#tooltip{position:fixed!important;z-index:99999;width:330px;max-width:calc(100vw - 20px);max-height:75vh;overflow:hidden;white-space:normal!important;padding:15px!important;border:1px solid #78b4cf!important;border-radius:8px;background:linear-gradient(145deg,#183443,#09151ff7)!important;color:#dbeaf0;box-shadow:0 12px 36px #000b;pointer-events:none;font-size:12px;line-height:1.4}
.tip-heading{display:flex;gap:12px;align-items:center}.tip-heading .icon{display:block;width:78px!important;height:78px!important;flex-shrink:0}.tip-heading b{display:block;font-size:17px;color:#9ee4fc}.tip-heading small{display:block;margin-top:5px;color:#9db6c4}.tip-facts>div{padding:4px 0;border-top:1px solid #ffffff12}
.purchase-quantity{display:flex;gap:12px;align-items:center;margin:12px 0}.purchase-quantity label{font-size:11px;margin:0}.purchase-quantity input{width:74px;margin:4px 0 0;padding:7px}.purchase-quantity output{font-size:14px;color:#a1e7f8;font-weight:bold}
#purchase-receipt{width:380px;max-width:90vw;padding:28px;background:#102632;border:1px solid #7badbf;border-radius:9px;color:#ddecf3}#purchase-receipt .icon{display:block;width:120px;height:120px;margin:12px auto}#purchase-receipt::backdrop{background:#0008}
.player-profile{display:flex;align-items:center;gap:28px}.player-photo{width:180px;height:180px;flex-shrink:0;border:1px solid #729aac;border-radius:7px;overflow:hidden}.player-photo img,.player-photo canvas{width:100%;height:100%;object-fit:cover}.player-bio{white-space:pre-wrap;overflow-wrap:anywhere}.player-link{padding:2px 5px;border:0;background:none;color:#83d4f6;text-decoration:underline}textarea{width:100%;min-height:90px;background:#11222e;color:#deedf2;border:1px solid #4e6a7b;padding:12px;box-sizing:border-box}
.trade-row{display:flex;gap:16px;align-items:center;padding:14px;border-bottom:1px solid #3c5869}.trade-row .icon{width:80px;height:80px;flex-shrink:0}.trade-row div{flex:1}.admin-list{max-height:300px;overflow:auto}.admin-list>div{display:flex;gap:10px;align-items:center;border-bottom:1px solid #365266;padding:8px}.admin-list span{flex:1;font-size:12px}.admin-report{padding:15px;border:1px solid #41647b;margin:10px 0}.emoji-picker{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.emoji-picker button{font-size:23px;padding:4px 8px}.animated-emoji{display:inline-block;font-size:26px;vertical-align:middle}.emoji-salute{animation:salute 1.4s ease-in-out infinite}.emoji-laugh{animation:laugh .45s ease-in-out infinite}.emoji-alert{animation:alert 1s ease-in-out infinite}.emoji-victory{animation:victory 1.5s ease-in-out infinite}@keyframes salute{50%{transform:rotate(-15deg)}}@keyframes laugh{50%{transform:translateY(-3px) rotate(7deg)}}@keyframes alert{50%{filter:brightness(1.7);transform:scale(1.15)}}@keyframes victory{50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.animated-emoji{animation:none!important}}
@media(max-width:700px){.player-profile{gap:15px}.player-photo{width:100px;height:100px}.trade-row,.admin-list>div{flex-wrap:wrap}}


/* Rank sits below the portrait rather than overlapping vitals. */
header #base-operator .operator{display:grid;grid-template-columns:76px 100px;gap:4px 8px}header #base-operator #rank{grid-column:1/-1;max-width:184px;width:184px}header #base-operator #rank .honor-status>div{min-width:0}header #base-operator #rank small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}header{height:auto;min-height:140px;padding-top:8px;padding-bottom:8px}header #base-operator #vitals{align-self:center}body:not(.in-battle) main{height:calc(100dvh - 195px)}

/* Realistic activity scenes; interactive elements stay separate from the art. */
#dialog[data-panel="gray"],#dialog[data-panel="range-game"],#dialog[data-panel="training"]{width:min(1320px,96vw);max-width:96vw}
#dialog[data-panel="gray"] .section-art,#dialog[data-panel="range-game"] .section-art,#dialog[data-panel="training"] .section-art{display:none}
.activity-hero{background-size:cover;background-position:center 48%;min-height:230px;padding:36px;border:1px solid #65808a60;border-radius:8px}.activity-hero h1,.gray-header h1{font-size:36px;letter-spacing:2px;margin:10px 0}.activity-hero p{color:#d5e1e0}
.range-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:22px 0}.range-cards article,.travel-options article,.range-boards section{background:linear-gradient(145deg,#23343d,#111a21);border:1px solid #4f6874;border-radius:6px;padding:18px}.range-cards article{display:flex;flex-direction:column;gap:10px}.range-cards h3{margin:0}.range-cards p{flex:1}.range-symbol{color:#7ad1e5;font-size:36px}.range-cards button{margin-top:10px}.range-result{padding:20px;border-left:3px solid #78c4b6;background:#1a2e32;display:flex;gap:25px;align-items:center}.range-result b{font-size:28px;color:#a5e1d1}.range-boards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.range-row{display:grid;grid-template-columns:30px 1fr 60px;border-bottom:1px solid #ffffff16;padding:10px 0}.range-row.self{color:#78d9ee}.range-toolbar,.gray-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.range-toolbar b{font-size:24px;color:#8ad5d9}.range-scene{position:relative;aspect-ratio:1000/620;background-size:100% 100%;overflow:hidden;border:1px solid #587380;border-radius:8px}.range-scene canvas{width:100%;height:100%;cursor:none;display:block;touch-action:none}.range-readout{position:absolute;left:22px;top:20px;background:#101a21ce;padding:10px 18px;border-left:3px solid #8ac9d9;pointer-events:none;font:700 19px monospace}.range-instruction{position:absolute;bottom:16px;left:20px;color:#e0e5d7;background:#152028cc;padding:10px;pointer-events:none}
.gray-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px}.gray-roster{padding:18px;background:linear-gradient(180deg,#202e35,#10181e);border:1px solid #445b64;border-radius:7px}.gray-roster p{font-size:13px;color:#a8bbbe}.gray-contact{display:block;text-align:left;width:100%;padding:12px;margin:10px 0;background:#263a44}.gray-contact small{display:block;font-size:11px;color:#b7c8ce;margin-top:5px}.contact-pip{display:inline-block;background:#80bad1;width:7px;height:7px;border-radius:50%;margin-right:7px}.gray-contact[data-gray-faction="vostok"] .contact-pip{background:#adbf80}.gray-panorama{position:relative;aspect-ratio:3/2;border:1px solid #51626b;border-radius:8px;background-size:cover;overflow:hidden}.gray-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.gray-route path{stroke:#d1d6b87a;stroke-width:3;stroke-dasharray:8 9;fill:none}.route-beacon{fill:#9bdfd9;filter:drop-shadow(0 0 8px #5ee5d6);animation:zone-pulse 2.5s ease-in-out infinite}.zone-pin{position:absolute;transform:translate(-50%,-50%);font-size:27px;background:#14232be0;border:1px solid #9ab6b6;border-radius:50%;width:52px;height:52px;padding:0;color:#a6dce4;box-shadow:0 4px 20px #000b}.zone-pin span{position:absolute;top:58px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#12202ae8;padding:5px 10px;font-size:12px;border:1px solid #57747e;border-radius:4px}.zone-pin:hover{box-shadow:0 0 25px #83d4c799}.zone-weather,.zone-status{position:absolute;background:#101b24dc;padding:10px 14px;pointer-events:none}.zone-weather{right:12px;top:12px;font-size:12px;color:#c4d2cf}.zone-status{left:12px;bottom:12px;border-left:3px solid #91babc;font-size:13px;letter-spacing:1px}.zone-status b{margin-left:15px;color:#bfe5dd}.danger-tag{color:#e8b18e;border:1px solid #a87551;padding:9px 14px;background:#472e2055}.travel-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.gray-cargo{padding:18px;border:1px solid #48606b;margin-top:15px;border-radius:6px}.gray-cargo .item-icon{width:54px;height:54px;display:inline-block}.gray-cargo small{display:block;color:#b3c2c4;margin:14px 0}.recon-progress{padding:12px;border:1px solid #739791;color:#b7ded0}.recon-progress button{margin-top:12px}.gray-header{margin-bottom:16px}#gray-menu{background:#172832;border:1px solid #66858f;color:#e1e7e1;border-radius:8px;padding:25px;max-width:450px}#gray-menu button{margin:6px}.gray-panorama:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent,#cfddd90a,transparent);pointer-events:none;animation:zone-haze 14s ease-in-out infinite}
@keyframes zone-pulse{50%{opacity:.4}}@keyframes zone-haze{50%{opacity:.2;transform:translateX(12px)}}@media(max-width:800px){.gray-layout{grid-template-columns:1fr}.gray-roster{max-height:200px;overflow:auto}.range-boards{grid-template-columns:1fr}.range-toolbar h2{font-size:16px}.range-toolbar b{font-size:16px}.zone-pin span{font-size:10px}.travel-options{grid-template-columns:1fr}.range-readout{font-size:12px;left:8px;top:8px}.range-instruction{font-size:10px;bottom:4px;left:4px}}@media(prefers-reduced-motion:reduce){.route-beacon,.gray-panorama:after{animation:none}}

.referral-row{display:flex;justify-content:space-between;gap:16px;padding:15px;border-bottom:1px solid #54717c55}.activity-hero input[readonly]{font:700 22px monospace;letter-spacing:3px;max-width:310px;color:#9de5df}
/* Persistent communications panel; battle controls keep their existing places. */
body:not(.in-battle) main aside.left{display:block!important;overflow:auto;padding:12px;background:linear-gradient(160deg,#142733,#09151d);border-right:1px solid #365469}
body:not(.in-battle) aside.left> :not(#sidebar-chat){display:none!important}
#sidebar-chat{display:flex;flex-direction:column;gap:8px;min-width:0}
#sidebar-chat h2{font-size:17px;margin:5px 0}
#sidebar-chat>label{margin:0}
#sidebar-chat>button{padding:8px;margin:0}
body:not(.in-battle) #sidebar-chat{height:100%;gap:6px}
body:not(.in-battle) #sidebar-chat .social-chat{flex:1;height:auto;min-height:120px}
#sidebar-chat p,#sidebar-chat label{font-size:12px;line-height:1.5}
#sidebar-chat input,#sidebar-chat select{width:100%;min-width:0}
#sidebar-chat .social-chat{height:clamp(190px,38vh,430px);min-height:160px;overflow:auto;overflow-wrap:anywhere;border:1px solid #304b5a;padding:8px;background:#08131bbd;font-size:12px}
#sidebar-chat .social-chat>div{padding:7px 0;border-bottom:1px solid #253a46}
#sidebar-chat .emoji-picker{display:flex;flex-wrap:wrap;gap:3px}
#sidebar-chat .emoji-picker button{padding:4px;min-width:28px}
.in-battle #sidebar-chat{border-top:1px solid #3b5361;margin-top:12px;padding-top:10px}
.in-battle #sidebar-chat .social-chat{height:170px}
.command-operations{padding:18px;border:1px solid #4689a3;border-radius:7px;background:linear-gradient(110deg,#183b4d,#101b24);margin-bottom:20px}
.range-cards article>b{display:block;margin:10px 0;color:#69d0eb}
.range-cards details{margin-top:14px}.range-cards .range-boards{grid-template-columns:1fr}
.range-prizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.range-prizes p{padding:10px;margin:0;background:#102630;border:1px solid #31525f}
@media(max-width:760px){body:not(.in-battle) main{grid-template-columns:1fr;height:auto}body:not(.in-battle) main aside.left{order:2}body:not(.in-battle) #scene{height:65vh;min-height:420px}#sidebar-chat .social-chat{height:190px}.range-prizes{grid-template-columns:1fr}}
