@import url('./rift-font.css');
/* AAA Warzone / Tarkov Operator Command & Loadout Interface */
#operator{width:min(1820px,96vw);max-height:95vh;height:auto;max-width:none;padding:0;overflow:hidden;background:radial-gradient(circle at 80% 0%,#182932 0%,#0d161b 70%);color:#e8e5d8;border:1px solid #59727d;box-shadow:0 40px 120px #000e}
#operator::backdrop{background:#04090de0;backdrop-filter:blur(8px)}

.op-header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-bottom:1px solid #324650;background:linear-gradient(90deg,#132129,#0f1a20);gap:20px}
.op-header .eyebrow{font-size:9.5px;color:#efbd7b}
.op-profile-bar{display:flex;align-items:center;gap:12px;margin-top:6px}
.op-header select{display:block;width:290px;margin:0;padding:8px 12px;font-size:14px;font-weight:700;background:#0b1419;color:#f3e6cc;border:1px solid #48606c}
.op-wallet-pill{background:rgba(239,189,123,.14);border:1px solid #efbd7b;color:#efbd7b;padding:7px 12px;font-size:13px;font-weight:800;letter-spacing:.08em}
.op-header-actions{display:flex;gap:10px}
.op-header button{padding:10px 16px}
.op-close-btn{border-color:#7c5656;background:rgba(60,25,25,.45)}

.op-tabs{display:flex;gap:4px;padding:10px 28px;position:sticky;top:0;background:#0e171cf8;z-index:5;border-bottom:1px solid #2e4049;overflow-x:auto;scrollbar-width:none}.op-tabs::-webkit-scrollbar{display:none}
.op-tabs button{padding:10px 14px;border:1px solid transparent;background:transparent;white-space:nowrap;font-size:10.5px;letter-spacing:.1em;color:#9eb3bd}
.op-tabs button:hover{color:#fff;background:rgba(255,255,255,.04)}
.op-tabs button[aria-pressed=true]{color:#efbd7b;border-color:rgba(239,189,123,.4);border-bottom:2px solid #efbd7b;background:linear-gradient(180deg,rgba(239,189,123,.15),rgba(239,189,123,.03))}

.op-content{padding:18px 28px 24px;overflow-y:auto;max-height:calc(95vh - 120px);scrollbar-width:none}.op-content::-webkit-scrollbar{display:none}
#operator h2{margin:6px 0 12px;font-size:30px;letter-spacing:.04em}
#operator p{max-width:1020px;color:#a3b7c0;line-height:1.6;font-size:12.5px}

/* Overview & Faction Switcher */
.op-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;background:linear-gradient(135deg,rgba(22,36,44,.9),rgba(13,22,27,.95));border:1px solid #354c57;margin-bottom:22px;flex-wrap:wrap}
.op-hero h2{margin:4px 0 6px;font-size:28px}
.op-hero h2 span{font-size:18px;color:#efbd7b}
.op-hero p{margin:0}
.credits-pill{color:#efbd7b;background:rgba(239,189,123,.12);padding:3px 9px;border:1px solid rgba(239,189,123,.4);border-radius:2px}
.op-faction-cards{display:flex;gap:10px;margin-top:6px}
.op-faction-btn{text-align:left;padding:9px 16px;min-width:165px;border:1px solid #3d525d;background:#111d24}
.op-faction-btn strong{display:block;font-size:12px;letter-spacing:.12em}
.op-faction-btn small{display:block;font-size:9px;color:#8fa5b0;font-weight:400;margin-top:2px}
.op-faction-btn.red.active{border-color:#ef4444;background:linear-gradient(135deg,rgba(127,29,29,.55),#141e24);box-shadow:inset 0 0 12px rgba(239,68,68,.25)}
.op-faction-btn.blue.active{border-color:#38bdf8;background:linear-gradient(135deg,rgba(12,74,110,.55),#141e24);box-shadow:inset 0 0 12px rgba(56,189,248,.25)}
.team-badge{font-size:26px;font-weight:900;border:1px solid;padding:16px 24px;letter-spacing:.2em}
.team-badge.red{color:#f87171;background:rgba(220,38,38,.12);border-color:#ef4444}
.team-badge.blue{color:#7dd3fc;background:rgba(56,189,248,.12);border-color:#38bdf8}

/* Warzone Class Doctrine Cards in Operator HQ */
.op-doctrine-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0 26px}
.op-doctrine-card{background:linear-gradient(180deg,#16242c 0%,#0f191f 100%);border:1px solid #364b56;border-top:3px solid var(--doc-color,#efbd7b);padding:16px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:all .16s}
.op-doctrine-card:hover{border-color:var(--doc-color);transform:translateY(-2px)}
.op-doctrine-card.selected{border-color:var(--doc-color);background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--doc-color) 22%,#17262e),#0f191f 75%);box-shadow:0 12px 32px rgba(0,0,0,.55),inset 0 0 0 1px var(--doc-color)}
.op-doc-head{display:flex;align-items:flex-start;gap:12px}
.op-doc-icon{width:44px;height:44px;display:grid;place-items:center;font-size:24px;background:rgba(0,0,0,.35);border:1px solid var(--doc-color);color:var(--doc-color);border-radius:6px;flex-shrink:0}
.op-doc-kicker{display:block;font-size:8.5px;letter-spacing:.14em;color:var(--doc-color);font-weight:800}
.op-doc-head h3{margin:3px 0;font-size:14px;letter-spacing:.08em;color:#fff}
.op-doc-head small{display:block;font-size:10px;color:#93aab5}
.op-doc-ability{background:rgba(0,0,0,.28);border-left:2px solid var(--doc-color);padding:8px 10px}
.op-doc-ability span{display:block;font-size:9.5px;letter-spacing:.08em;color:#d6e4ec}
.op-doc-ability b{color:var(--doc-color)}
.op-doc-ability p{margin:4px 0 0!important;font-size:10.5px!important;line-height:1.4!important;color:#9cb2bc!important}
.op-doc-bars{display:grid;gap:5px}
.op-doc-bar-row{display:grid;grid-template-columns:88px 1fr 26px;align-items:center;gap:8px;font-size:8.5px;letter-spacing:.08em;color:#9cb0ba}
.op-doc-bar-track{height:5px;background:#1e2f38;border-radius:2px;overflow:hidden}
.op-doc-bar-track i{display:block;height:100%;background:linear-gradient(90deg,var(--doc-color),#fff9)}
.op-doc-bar-row b{text-align:right;color:#e2edf2}
.op-doc-perks{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto}
.op-doc-perk{display:flex;align-items:center;gap:6px;padding:5px 7px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:3px}
.op-doc-perk span{font-size:14px;color:var(--doc-color)}
.op-doc-perk b{display:block;font-size:9.5px;color:#e8eff2}
.op-doc-perk small{display:block;font-size:8px;color:#8ba1ac}
.op-doctrine-card>button{width:100%;justify-content:center;padding:10px;font-size:10px}

/* Service Metrics */
.op-metrics{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:12px}
.op-metric{padding:16px 14px;background:linear-gradient(160deg,#15232b,#0f1a20);border:1px solid #2e424d;border-top:2px solid #efbd7b}
.op-metric strong{display:block;color:#f3d299;font-size:24px;font-variant-numeric:tabular-nums}
.op-metric small{display:block;font-size:9px;letter-spacing:.12em;color:#93a8b2;margin-top:6px}

.op-section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid rgba(100,130,145,.25);padding-bottom:8px}
.op-section-head>strong,.points-badge{color:#efbd7b;font-size:12px;background:rgba(239,189,123,.12);padding:6px 12px;border:1px solid rgba(239,189,123,.4)}
.op-loadout-summary-pill{font-size:11px;color:#b8ccd6;background:#14222a;padding:7px 14px;border:1px solid #384e5a}
.op-loadout-summary-pill b{color:#efbd7b}

/* Talent Trees */
.talent-forest{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.talent-tree{position:relative;text-align:center;border:1px solid #384c56;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--branch) 18%,#101920),#0d151b);padding:14px 10px}
.talent-tree h3{font-size:12px;letter-spacing:.15em;color:var(--branch);margin:2px 0 14px}
.talent-node{position:relative;display:flex;flex-direction:column;align-items:center;min-height:112px;padding-bottom:14px}
.talent-node:not(:last-child):after{content:'';width:2px;height:12px;background:var(--branch);position:absolute;bottom:1px}
.talent-node button{position:relative;width:52px;height:52px;padding:0;border:2px solid var(--branch);box-shadow:inset 0 0 15px #000a,0 0 12px #0005;background:linear-gradient(140deg,#39474e,#101b22);border-radius:8px}
.talent-node button span{font-size:22px;color:var(--branch)}
.talent-node button b{position:absolute;right:-7px;bottom:-8px;padding:2px 5px;background:#0d1418;border:1px solid var(--branch);font-size:9.5px;color:#f0d29c}
.talent-node>strong{font-size:11px;margin-top:8px}
.talent-node small{font-size:10px;line-height:1.45;max-width:185px;margin-top:5px;color:#9eb0b8}
.talent-node.locked{opacity:.42}

/* Gunsmith Arsenal Grid */
.armory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.armory-grid .skill-node{align-items:stretch;min-height:220px;padding:18px;border:1px solid #344754;background:linear-gradient(145deg,#1b2930,#0e171c);color:#dce8e8}.skill-node .skill-art{width:76px;height:76px;align-self:center;margin-bottom:10px;padding:12px;border:1px solid #54717d;background:#132a31;color:#68c9d7}.skill-node>strong,.skill-node>small,.skill-node>p{text-align:left;max-width:none}.skill-node progress{width:100%;margin:12px 0}.skill-node>p{font-size:12px;line-height:1.5;color:#b8cbd2}
.gun-card{border:1px solid #344854;background:linear-gradient(180deg,#15232b 0%,#0e181e 100%);padding:16px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s}
.gun-card:hover{border-color:#698999}
.gun-card.selected{border-color:#efbd7b;box-shadow:inset 0 0 0 1px #efbd7b,0 10px 28px rgba(0,0,0,.5)}
.gun-art{height:104px;position:relative;background:radial-gradient(circle at 50% 55%,#243a46 0%,#0f1920 80%);border:1px solid #293c47;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px}
.gun-index{position:absolute;top:7px;left:9px;font:bold 9.5px monospace;color:#8eb0c0;letter-spacing:.06em}
.gun-skin-pill{position:absolute;top:7px;right:9px;font:bold 8.5px monospace;padding:2px 6px;background:rgba(239,189,123,.15);border:1px solid rgba(239,189,123,.4);color:#efbd7b;border-radius:2px}
.gun-preview-img{max-width:78%;max-height:74px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.75));transition:transform .2s}
.gun-card:hover .gun-preview-img{transform:scale(1.06)}
.gun-card-head{display:flex;justify-content:space-between;align-items:baseline;margin-top:4px}
.gun-card h3{font-size:16px;margin:0;letter-spacing:.08em}
.gun-Slot-dim{font:10px monospace;color:#8aa2ae}
.gun-card p{min-height:32px;font-size:11.5px;margin:0;color:#9bb0ba}
.gun-stat-bars{display:grid;gap:4px;background:rgba(0,0,0,.26);padding:8px 10px;border:1px solid rgba(255,255,255,.05)}
.gun-stat-bars>div{display:grid;grid-template-columns:68px 1fr 48px;align-items:center;gap:8px;font-size:9px;letter-spacing:.08em;color:#93a8b2}
.g-bar{height:4px;background:#1d2d35;border-radius:1px;overflow:hidden}
.g-bar i{display:block;height:100%;background:linear-gradient(90deg,#efbd7b,#7dd3fc)}
.gun-stat-bars b{text-align:right;color:#e9f1f5;font-variant-numeric:tabular-nums}
.gun-mastery-foot small{display:block;font-size:9.5px;color:#b8a585}
.gun-card progress{width:100%;height:5px;margin:6px 0 4px;accent-color:#efbd7b}
.gun-actions{display:flex;gap:8px;margin-top:auto}
.gun-actions button{flex:1;font-size:9.5px;padding:9px;justify-content:center}

/* Tactical Cargo Grid & Item Cards */
.stash-actions-bar{display:flex;gap:10px;align-items:center;margin:14px 0;flex-wrap:wrap}
#cargo-search{flex:1;min-width:220px;padding:10px 14px;background:#111e25;color:#efe7d5;border:1px solid #49616e}
.cargo-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),58px);gap:3px;padding:5px;border:1px solid #455c68;background:repeating-linear-gradient(0deg,#121e25 0px,#121e25 58px,#233540 58px,#233540 61px);margin-top:12px;max-width:860px;box-shadow:inset 0 0 24px rgba(0,0,0,.65)}
.cargo-item{position:relative;text-align:left;padding:6px 8px;overflow:hidden;border:1px solid #4d6775;background:linear-gradient(155deg,#233640,#142129);min-width:0;letter-spacing:0;display:flex;flex-direction:column;justify-content:space-between}
.cargo-item-top{display:flex;justify-content:space-between;align-items:center;font:bold 8.5px monospace;color:#8ea7b4;z-index:2}
.cargo-val{color:#efbd7b}
.cargo-item .item-glyph{font-size:22px;display:block;color:#a5bec9;margin:auto}
.cargo-item img{width:58px;height:46px;object-fit:contain;align-self:center;margin:auto;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7))}
.cargo-item b{display:block;font-size:10px;line-height:1.15;color:#f1f5f8;z-index:2}
.cargo-item small{font-size:8px;display:block;color:#9ab0bc;margin-top:2px;z-index:2}
.cargo-item:hover{border-color:#efbd7b;filter:brightness(1.16);transform:none}
.cargo-item.quality-1{border-color:#34d399;background:linear-gradient(155deg,#18352d,#122126)}
.cargo-item.quality-2{border-color:#38bdf8;background:linear-gradient(155deg,#173244,#122029)}
.cargo-item.quality-3{border-color:#c084fc;background:linear-gradient(155deg,#2e2142,#161e28)}
.cargo-item.quality-4{border-color:#f59e0b;background:linear-gradient(155deg,#45361b,#1b2329);box-shadow:inset 0 0 12px rgba(245,158,11,.25)}
.uninspected-glow{border-color:#f43f5e!important;animation:pulseClassify 1.6s infinite alternate}
@keyframes pulseClassify{from{box-shadow:inset 0 0 6px rgba(244,63,94,.25)}to{box-shadow:inset 0 0 18px rgba(244,63,94,.65)}}

/* 3-Column Warzone Backpack, Rig & Biometric Trauma Layout */
.wz-backpack-layout{display:grid;grid-template-columns:330px 350px 1fr;gap:20px;margin-top:18px;align-items:start}
.wz-rig-column,.wz-trauma-column,.wz-rucksack-column,.wz-loot-box{background:linear-gradient(180deg,#142229,#0e181d);border:1px solid #334854;padding:16px}
.wz-pane-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid #2b3f4a;font-size:10px;font-weight:800;letter-spacing:.14em;color:#efbd7b}
.wz-pane-title small{color:#89a2ae;font-size:9px}

.gear-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.wz-gear-slot{display:flex;flex-direction:column;gap:6px;padding:10px;background:#101b21;border:1px solid #314652}
.wz-gear-slot.equipped{border-color:#4d768a;background:linear-gradient(160deg,#182a34,#101b21)}
.wz-gear-slot-head{display:flex;justify-content:space-between;font-size:8.5px;letter-spacing:.12em;color:#93aab6}
.wz-gear-slot-head span{color:#7dd3fc;font-weight:700}
.wz-gear-art{height:72px;display:grid;place-items:center;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.04)}
.wz-gear-art img{max-width:85%;max-height:62px;object-fit:contain}
.empty-slot-glyph{font-size:26px;color:#384d58}
.wz-gear-slot b{font-size:10.5px;color:#e9f1f5}
.wz-cond-bar{height:4px;background:#1f3039;border-radius:1px;overflow:hidden}
.wz-cond-bar i{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#34d399)}
.wz-gear-slot a{color:#efbd7b;font-size:9.5px;text-decoration:none}

.wz-quick-strip{margin-top:12px;padding-top:10px;border-top:1px solid #283a44}
.wz-quick-btns{display:grid;gap:6px;margin-top:6px}
.wz-quick-btns button{width:100%;text-align:left;padding:8px 10px;font-size:10px}

.wz-vitals-bars{display:grid;gap:7px;margin-bottom:14px;background:rgba(0,0,0,.25);padding:10px;border:1px solid rgba(255,255,255,.05)}
.wz-vitals-bars>div{display:grid;grid-template-columns:108px 1fr 38px;align-items:center;gap:8px;font-size:9px;letter-spacing:.08em;color:#9cb2bc}
.v-bar{height:6px;background:#1c2c34;border-radius:2px;overflow:hidden}
.v-bar.hp i{display:block;height:100%;background:linear-gradient(90deg,#ef4444,#34d399)}
.v-bar.hydro i{display:block;height:100%;background:linear-gradient(90deg,#0284c7,#38bdf8)}
.v-bar.nrg i{display:block;height:100%;background:linear-gradient(90deg,#d97706,#facc15)}
.wz-vitals-bars b{text-align:right;color:#fff}

.medical-parts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.trauma-limb-card{padding:8px 10px;background:#101c22;border:1px solid #2e424d;border-left:3px solid #34d399}
.trauma-limb-card.damaged{border-left-color:#facc15}
.trauma-limb-card.fractured{border-left-color:#f97316;background:rgba(124,45,18,.22)}
.trauma-limb-card.bleeding{border-left-color:#ef4444;background:rgba(127,29,29,.28)}
.limb-head{display:flex;justify-content:space-between;font-size:9.5px;color:#e2edf2;margin-bottom:4px}
.limb-bar{height:4px;background:#1e2f38;margin-bottom:4px}
.limb-bar i{display:block;height:100%;background:#34d399}
.trauma-limb-card.bleeding .limb-bar i{background:#ef4444}
.trauma-limb-card.fractured .limb-bar i{background:#f97316}
.trauma-limb-card small{font-size:8.5px;color:#9cb2bc;display:block}
.treatment-banner{font-size:11px!important;padding:8px 10px;background:rgba(239,189,123,.1);border:1px solid rgba(239,189,123,.3);color:#f3d59b!important;margin:8px 0!important}
.wz-med-actions{display:grid;gap:6px}
.med-use-btn{width:100%;text-align:left;padding:9px 12px;font-size:10.5px;border-color:#10b981;background:rgba(6,78,59,.35)}
.no-meds-note{font-size:10.5px;color:#7e96a2}

/* Loot Panes */
.loot-panes{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:16px}

/* Hideout & Black-Market Traders & Cases */
.hideout-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;background:#14222a;border:1px solid #354c58;margin-bottom:20px;flex-wrap:wrap}
.hideout-vault-card{background:#0e181e;border:1px solid #efbd7b;padding:14px 20px;text-align:right}
.hideout-vault-card small{display:block;font-size:9px;letter-spacing:.14em;color:#9eb3bd}
.hideout-vault-card strong{display:block;font-size:26px;color:#efbd7b;margin:4px 0 10px}
.hideout-visual-crosssection{display:grid;grid-template-columns:1fr 110px 1fr;gap:14px;padding:20px;background:#0c1419;border:1px solid #344954}
.container-bay{background:#132028;border:1px solid #3a505c;padding:16px;display:grid;gap:14px}
.bay-label{font-size:10px;letter-spacing:.16em;color:#efbd7b;font-weight:800;border-bottom:1px solid #2b3e48;padding-bottom:6px}
.station-visual{background:#0e181e;border:1px solid #2d424e;padding:14px;display:flex;flex-direction:column;gap:6px}
.station-visual span{font-size:10px;letter-spacing:.12em;color:#7dd3fc;font-weight:700}
.station-visual b{font-size:13px;color:#fff}
.max-badge{align-self:start;font-size:9px;padding:3px 8px;background:#065f46;color:#a7f3d0;border-radius:2px}
.container-stairs{display:grid;place-items:center;text-align:center;font-size:10px;letter-spacing:.12em;color:#8aa2ae;background:#0f1920;border:1px dashed #384e5a}

.vendors-shell{display:grid;grid-template-columns:270px 1fr;gap:20px;margin-top:10px}
.traders-nav{display:flex;flex-direction:column;gap:8px}
.trader-pill{display:flex;align-items:center;gap:12px;text-align:left;padding:12px;background:#132028;border:1px solid #334854}
.trader-pill.active{border-color:#efbd7b;background:linear-gradient(90deg,#2b261b,#142129)}
.trader-avatar{font-size:24px}
.trader-pill b{display:block;font-size:12px;color:#fff}
.trader-pill small{display:block;font-size:9px;color:#8fa6b2;margin-top:2px}
.trader-panel{background:#132028;border:1px solid #354b57;padding:20px}
.trader-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid #2a3d47;padding-bottom:14px;margin-bottom:16px}
.trader-ll-card{background:#0d171d;border:1px solid #455d6b;padding:10px 16px;text-align:right}
.trader-ll-card strong{display:block;font-size:22px;color:#efbd7b}
.trader-wares-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.trader-ware-card{background:#0e181e;border:1px solid #2f4450;padding:14px;display:flex;flex-direction:column;gap:8px}
.ware-cost{font-size:14px;font-weight:800;color:#efbd7b;margin-top:auto}

.cases-display-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:18px}
.case-shop-card{background:linear-gradient(160deg,#172630,#0f1920);border:1px solid #3c5462;padding:22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.case-shop-icon{font-size:44px}
.case-shop-cost{font-size:20px;font-weight:900;color:#efbd7b}
.case-dialog{width:min(880px,95vw);background:#0e171d;border:2px solid #efbd7b;padding:28px}
.case-viewport{position:relative;overflow:hidden;height:190px;background:#070c10;border:1px solid #334854;margin:18px 0;display:flex;align-items:center}
.case-needle{position:absolute;left:50%;top:0;bottom:0;width:3px;background:#efbd7b;z-index:5;box-shadow:0 0 12px #efbd7b}
.case-strip{display:flex;gap:10px;padding:0 10px;will-change:transform}
.case-card{width:170px;height:150px;flex-shrink:0;background:#132028;border:1px solid var(--rarity-color,#38bdf8);border-bottom:4px solid var(--rarity-color,#38bdf8);padding:12px;display:flex;flex-direction:column;justify-content:space-between;text-align:center}

/* Mail, History & Notices */
.mail-card{padding:20px;margin:12px 0;border:1px solid #3d525e;background:#14222a}
.mail-card>span{font-size:10px;color:#829ca9}
.mail-card h3{color:#efbd7b;font-size:17px;margin:6px 0}
.mail-items-list{font-family:monospace;font-size:11px;color:#cbd5e1}
.op-table-wrap{overflow:auto}
#operator table{width:100%;border-collapse:collapse;font-size:11px;margin:16px 0}
#operator th{text-align:left;color:#efbd7b;font-size:9px;padding:13px 10px;background:#192a33;white-space:nowrap;letter-spacing:.1em}
#operator td{padding:12px 10px;border-bottom:1px solid #263943;line-height:1.45}
#operator tr:nth-child(even){background:#121f26}
.op-notice{margin:12px 28px 0;padding:12px 16px;background:#3b3119;border-left:3px solid #efbd7b;color:#f7e2b4!important}
.op-empty-msg{padding:28px;background:rgba(0,0,0,.22);border:1px dashed #384e5a;text-align:center;color:#93aab6}

/* LED Visor & Suit Customizer */
.equipped-helmet-pill{display:flex;align-items:center;gap:10px;background:#14232c;border:1px solid #365060;padding:8px 16px;border-radius:4px;font-size:12px}
.equipped-helmet-pill strong{color:#00ffff;letter-spacing:.05em}
.equipped-helmet-pill .color-dot{width:12px;height:12px;border-radius:50%;display:inline-block}
.visor-editor-panel{display:grid;grid-template-columns:300px 1fr;gap:28px;background:#14222a;padding:24px;border:1px solid #354a56;margin:20px 0}
.visor-canvas-col{display:flex;flex-direction:column;align-items:center;gap:14px}
#led-editor-canvas{width:256px;height:256px;background:#060a0d;border:2px solid #00ffff;cursor:crosshair;box-shadow:0 0 16px rgba(0,255,255,.25)}
.visor-palette{display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:.1em;color:#9eb0ba}
.visor-palette button{width:24px;height:24px;padding:0;border-radius:50%;border:2px solid #fff3;cursor:pointer}
.visor-palette button.selected{border-color:#fff;box-shadow:0 0 8px currentColor}
.visor-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.visor-actions button{padding:8px 12px;font-size:10px}
.visor-info-col h3{font-size:15px;margin-top:0;color:#e8e4d8;letter-spacing:.08em}
.suit-info-box{margin-top:20px;padding:16px;background:#101a20;border:1px solid #2d3e48}
.suit-info-box span{display:block;font-size:10px;letter-spacing:.12em;color:#97aab5;margin-bottom:10px}
.suit-swatches{display:flex;gap:8px}
.presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:20px}
.preset-card{background:#16242c;border:1px solid #354954;padding:14px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.preset-card.active{border-color:#00ffff;box-shadow:inset 0 0 0 1px #00ffff}
.preset-card canvas{width:80px;height:80px;background:#060a0d;border:1px solid #2b3d49}
.preset-card h4{margin:4px 0 0;font-size:11px;letter-spacing:.08em;color:#e8e4d8}
.preset-card small{font-size:9px;letter-spacing:.05em}
.preset-card button{width:100%;font-size:10px;padding:8px;margin-top:4px;justify-content:center}

@media(max-width:1150px){
 .op-doctrine-grid,.talent-forest{grid-template-columns:repeat(2,1fr)}
 .wz-backpack-layout{grid-template-columns:1fr 1fr}
 .wz-rucksack-column{grid-column:1/-1}
 .armory-grid{grid-template-columns:repeat(2,1fr)}
 .op-metrics{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:750px){
 .op-doctrine-grid,.talent-forest,.armory-grid,.wz-backpack-layout,.loot-panes,.vendors-shell,.hideout-visual-crosssection,.visor-editor-panel{grid-template-columns:1fr}
 .op-metrics{grid-template-columns:repeat(2,1fr)}
}


/* Global UI Scrollbar removal and high-DPI 4K adaptation */
#operator, .op-content, .op-tabs, dialog, .sc-grid, .sc-table-rows, .op-table-wrap, .sc-shell { scrollbar-width: none !important; }
#operator::-webkit-scrollbar, .op-content::-webkit-scrollbar, .op-tabs::-webkit-scrollbar, dialog::-webkit-scrollbar, .sc-grid::-webkit-scrollbar, .sc-table-rows::-webkit-scrollbar, .op-table-wrap::-webkit-scrollbar, .sc-shell::-webkit-scrollbar { display: none !important; width: 0 !important; height: 0 !important; }

/* Field and hub share the equipment / carried storage / loot workspace. */
#operator:has(#field-tarkov-root){width:98vw;max-width:1900px}
#operator:has(#field-tarkov-root) .op-content{padding:10px 16px}

.talent-forest .talent-node{display:grid;grid-template-columns:106px 1fr;gap:5px 14px;padding:14px;border:1px solid #344754;border-radius:10px;background:linear-gradient(120deg,#1e2d36,#111a20);margin:12px 0}.talent-forest .talent-node>button{grid-row:1/3;width:106px;height:82px;padding:0;overflow:hidden;position:relative;border-color:var(--branch)}.talent-node>button img{width:100%;height:100%;object-fit:cover}.talent-node>button b{position:absolute;bottom:3px;right:5px;background:#111b25;padding:2px 7px;border-radius:8px;color:#fff}.talent-node.locked img{filter:saturate(.45);opacity:.65}.talent-node>strong{align-self:end}.talent-node>small{line-height:1.5;color:#bdcbd1}.talent-node button:disabled{opacity:1}
.talent-forest{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.talent-tree{min-width:0}.talent-forest .talent-node{grid-template-columns:clamp(54px,4.4vw,92px) minmax(0,1fr);min-height:clamp(66px,5.6vh,104px);margin:6px 0;padding:clamp(6px,.5vw,12px);gap:3px clamp(8px,.7vw,16px);align-content:center;text-align:left}.talent-forest .talent-node>button{width:100%;height:clamp(54px,4.4vw,88px)}.talent-forest .talent-node>strong{font-size:clamp(11px,.42vw,16px);margin:0}.talent-forest .talent-node>small{font-size:clamp(10px,.34vw,13px);margin:0;max-width:none}.talent-forest .talent-node:not(:last-child):after{display:none}
@media(max-width:1150px){.talent-forest{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){.talent-forest{grid-template-columns:1fr}}

.op-doctrine-art{width:100%;height:140px;object-fit:contain;background:#101a23;border-radius:10px}
.case-dialog{max-height:92vh;overflow:auto}.case-reward-view{margin:12px 0;background:#13232d;border:1px solid #45616e}.case-reward-view canvas{display:block;width:100%;height:clamp(180px,35vh,330px);touch-action:none;cursor:grab}.case-reward-view small{display:block;text-align:center;padding:6px;color:#9db6c3;font-size:11px}.win-card{padding:16px;text-align:center;border:1px solid}.win-card h3{margin:10px 0;font-size:20px}.win-card p{font-size:13px;line-height:1.5}.win-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.win-actions button{padding:12px 16px}.case-viewport[hidden]{display:none}
.tarkov-skin-label{position:absolute;bottom:3px;left:3px;right:3px;color:#ffe0a1;background:#101c21dd;font:700 7px/1.15 monospace;max-height:24px;overflow:hidden;white-space:normal;pointer-events:none}

.hideout-range-reticle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:24px monospace;color:#efe9d4;pointer-events:none;z-index:40;text-shadow:0 1px 3px #000}.hideout-range-reticle[hidden]{display:none}


/* Traits own the available viewport. Every grid ancestor has a bounded track. */
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content){overflow:hidden;padding:clamp(6px,1vw,20px);box-sizing:border-box}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .op-hub-inline{height:100%;min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:clamp(5px,.8vh,12px)}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content):has(>.op-notice) .op-hub-inline{height:calc(100% - 60px)}
.op-talents-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:6px;border-bottom:1px solid #34454b;margin:0}
.op-talents-head-left{min-width:0}.op-talents-head-left h2{margin:2px 0 4px;font-size:clamp(17px,2.4vh,32px)}
.op-talents-sub{font-size:clamp(10px,1.2vh,15px);color:#9cb0ba;display:block}.op-talents-head-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.op-talents-head-right button,.points-badge{font-size:clamp(9px,1.2vh,14px);padding:8px}
.op-doctrine-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.op-doctrine-card{display:flex;flex-direction:row;align-items:center;text-align:left;min-width:0;padding:8px;gap:10px;height:auto;overflow:hidden}
.op-doc-icon-wrap{width:clamp(40px,7vh,90px);aspect-ratio:1.35;flex:none;display:grid;place-items:center}.op-doc-icon-wrap .op-doctrine-art{width:100%;height:100%;object-fit:contain;border-radius:3px}
.op-doc-text{min-width:0;flex:1}.op-doc-title-row{display:flex;flex-wrap:wrap;gap:4px;justify-content:space-between;align-items:center}.op-doc-title-row strong{font-size:clamp(10px,1.35vh,17px)}.op-doc-status-tag{font-size:9px;color:#d4b982}.op-doc-text small{display:block;font-size:clamp(9px,1.1vh,13px);line-height:1.25;color:#9cb0ba}.op-doctrine-card.locked{opacity:.8}
.trait-view-controls{display:flex;justify-content:space-between;gap:6px;min-height:0}.trait-branch-tabs,.trait-tier-tabs{display:none;gap:4px}.trait-view-controls button{font-size:11px;padding:5px 10px}.trait-view-controls button[aria-pressed=true]{border-color:#d4a359;color:#f1d09d}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-forest{height:auto;min-height:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);align-items:stretch;gap:clamp(5px,1vw,18px)}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-tree{height:auto;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:clamp(4px,.6vw,12px);gap:6px;overflow:hidden;text-align:left}
.talent-tree-header h3{margin:0;padding:4px;font-size:clamp(12px,1.7vh,22px);text-align:center;letter-spacing:.12em}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-tree-nodes{min-height:0;display:grid;grid-template-rows:repeat(8,minmax(0,1fr));gap:clamp(3px,.6vh,9px)}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-node{display:grid;grid-template-columns:minmax(48px,22%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;align-content:stretch;align-items:stretch;margin:0;padding:clamp(3px,.45vh,7px);gap:clamp(6px,.8vw,14px);border-radius:4px;overflow:hidden}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-node>button{grid-column:1;grid-row:1;width:100%;height:100%;min-height:0;max-width:none;max-height:none;aspect-ratio:auto;border-radius:3px;position:relative}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-node>button img{display:block;width:100%;height:100%;object-fit:contain}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-node>button b{right:1px;bottom:1px;padding:1px 4px;font-size:clamp(9px,1.1vh,14px);border-radius:2px}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-node-info{grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:0;gap:3px;overflow:hidden}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-node-info strong{font-size:clamp(11px,1.5vh,20px);line-height:1.15;white-space:normal;overflow-wrap:anywhere}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-node-info small{max-width:none;margin:0;font-size:clamp(10px,1.2vh,16px);line-height:1.2;color:#acbec6}
:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-node.locked{opacity:.8}:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-node.locked img{opacity:1;filter:saturate(.65)}
@media(max-width:1000px){
 .trait-branch-tabs{display:flex}:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-forest{grid-template-columns:minmax(0,1fr)}
 :is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-tree{display:none}
 :is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-forest[data-active-branch=offence] [data-branch=offence],:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-forest[data-active-branch=defence] [data-branch=defence],:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-forest[data-active-branch=support] [data-branch=support]{display:grid}
 .op-talents-head-right{flex-direction:column;align-items:flex-end;gap:3px}.op-talents-sub{max-width:65ch}.op-doctrine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.op-doctrine-card{padding:5px;gap:6px}.op-doc-icon-wrap{width:40px}.op-doc-text small{font-size:9px}
 :is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-node{grid-template-columns:minmax(60px,18%) minmax(0,1fr)}
}
@media(max-height:800px){
 .trait-tier-tabs{display:flex}:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-tree-nodes{grid-template-rows:repeat(4,minmax(0,1fr))}
 :is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-forest[data-active-tier="0"] .talent-node:nth-child(n+5),:is(#hub-panel-talents, #hub-panel-overview[data-career-view="talents"] .career-content) .talent-forest[data-active-tier="1"] .talent-node:nth-child(-n+4){display:none}
 .op-talents-sub{display:none}.op-doc-text small{display:none}.op-doc-icon-wrap{width:36px}.op-doctrine-card{padding:4px 6px;gap:6px}.op-talents-head-left .eyebrow{font-size:8px}.op-talents-head-right button,.points-badge{padding:4px;font-size:9px}
}
@media(max-width:520px){.op-talents-head{align-items:flex-start}.op-talents-head-left h2{font-size:17px}.op-talents-head-left .eyebrow{display:none}.op-talents-head-right{max-width:48%}.points-badge{white-space:normal;text-align:right}.trait-view-controls{flex-wrap:wrap}.trait-view-controls button{font-size:10px;padding:4px 7px}.op-doc-title-row strong{font-size:10px}.op-doc-status-tag{font-size:8px}.op-doc-icon-wrap{width:32px}.op-talents-sub{display:none}}
/* Shared tactical insignia atlas, distinct from career medals. */
.trait-sprite{display:block;width:100%;height:100%;aspect-ratio:1;background-image:url('/assets/traits/trait-icons.png');background-repeat:no-repeat;background-size:600% 400%;background-position:var(--trait-x) var(--trait-y);pointer-events:none}
.op-doc-icon-wrap{aspect-ratio:1}.op-doc-icon-wrap .trait-sprite{width:100%;height:auto;aspect-ratio:1}.op-doctrine-card.locked .trait-sprite{filter:grayscale(.8);opacity:.5}.op-doctrine-card.selected .trait-sprite{filter:drop-shadow(0 0 4px #89bda055)}
.talent-forest .talent-tree{border-top:2px solid var(--branch);background:linear-gradient(160deg,color-mix(in srgb,var(--branch) 9%,#15201f),#0c1416)}
.talent-tree-nodes .talent-node{background:linear-gradient(110deg,#192625,#0e181a);border-color:#3b4b49;box-shadow:inset 2px 0 color-mix(in srgb,var(--branch) 28%,transparent)}
.talent-tree-nodes .talent-node.trained{border-color:color-mix(in srgb,var(--branch) 60%,#394846)}.talent-tree-nodes .talent-node.maxed{border-color:var(--branch);box-shadow:inset 3px 0 var(--branch);background:linear-gradient(110deg,color-mix(in srgb,var(--branch) 15%,#182422),#10191b)}
.talent-tree-nodes .talent-node>button{background:radial-gradient(ellipse,#28332b,#0c1517);border:1px solid #53615b;box-shadow:none;isolation:isolate}.talent-tree-nodes .talent-node>button .trait-sprite{position:absolute;inset:0;aspect-ratio:auto}.talent-tree-nodes .talent-node.locked .trait-sprite{filter:grayscale(.85);opacity:.48}.talent-tree-nodes .talent-node.available>button:not(:disabled){border-color:var(--branch)}.talent-tree-nodes .talent-node>button:not(:disabled):hover{border-color:#e2d6b0;box-shadow:0 0 10px #b5c39b26}.talent-tree-nodes .talent-node>button:focus-visible,.op-doctrine-card:focus-visible{outline:2px solid #efe2ac;outline-offset:2px}
.trait-ranks{display:flex;gap:3px;margin-top:2px;width:min(100%,100px);height:4px;flex:none}.trait-ranks i{display:block;flex:1;background:#061012;border:1px solid #4b5a54}.trait-ranks i.filled{background:var(--branch);border-color:var(--branch)}.trait-node-status{display:block;font:8px/1.1 sans-serif;letter-spacing:.07em;color:#8fa199}.talent-node.maxed .trait-node-status{color:var(--branch)}
:is(#hub-panel-talents,#hub-panel-overview[data-career-view="talents"] .career-content) .talent-node-info{gap:2px}
@media(min-height:801px){:is(#hub-panel-talents,#hub-panel-overview[data-career-view="talents"] .career-content) .talent-node-info strong{font-size:clamp(11px,1.35vh,18px)}:is(#hub-panel-talents,#hub-panel-overview[data-career-view="talents"] .career-content) .talent-node-info small{font-size:clamp(9px,1.1vh,14px)}}
@media(max-height:650px){.trait-node-status{display:none}}
.trait-sprite{clip-path:polygon(50% 3%,93% 26%,93% 74%,50% 99%,7% 74%,7% 26%)}.talent-tree-nodes .talent-node>button .trait-sprite{inset:auto;left:50%;top:50%;width:auto;height:100%;aspect-ratio:1;transform:translate(-50%,-50%)}
