/* Layout: full-screen command hub; each module is a fixed screen with one shared top bar. Dark/gold single theme by design. */
:root{
  --bg:#080808; --panel:#0f0f0f; --panel-2:#141414; --stage:#0a0a0a;
  --line:#2a2a2a; --line-2:#393939;
  --text:#f2f2f2; --muted:#989898; --faint:#6c6c6c;
  --gold:#e3262d; --gold-hi:#ff5a5f; --rust:#7a1a1e;
  --war:#e65a55; --scout:#e0ca32; --surv:#55d4db;
  --f-display:"Saira Condensed","Arial Narrow",Impact,sans-serif;
  --f-body:"Barlow",system-ui,"Segoe UI",Arial,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --bar:64px;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
h1,h2,h3,p{margin:0}
.eyebrow{font:600 .68rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

/* ---------- HOME ---------- */
.home{min-height:100%;display:flex;flex-direction:column;position:relative;isolation:isolate;padding-inline:clamp(16px,4vw,64px);padding-block:0 28px}
.home::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(234,46,55,.10),transparent 70%),
  linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px) 0 0/48px 48px,
  linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px) 0 0/48px 48px}
.tile{position:relative;display:flex;flex-direction:column;width:100%;height:clamp(300px,46vh,430px);padding:0;text-align:left;overflow:hidden;
  background:linear-gradient(160deg,#151515,#0a0a0a 70%);border:1px solid var(--line-2);color:var(--text);
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);transition:transform .2s ease,border-color .2s ease}
.tile::after{content:"";position:absolute;inset:8px;border:1px solid rgba(234,46,55,.10);pointer-events:none;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}
.tile:hover,.tile:focus-visible{transform:translateY(-4px);border-color:#8f2e33;outline:none}
.home-foot{margin-top:auto;padding-top:26px;color:var(--faint);font:500 .66rem/1.5 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}
.home-foot a{color:var(--muted)}
@media (max-width:1100px){.tile{height:300px}}
@media (max-width:560px){.tile{height:250px}}

/* ---------- SHARED MODULE SCREEN ---------- */
.screen{position:fixed;inset:0;z-index:50;display:none;flex-direction:column;background:var(--bg);padding-top:env(safe-area-inset-top,0px)}
.screen.active{display:flex}
body.in-module{overflow:hidden}
.modbar{height:var(--bar);flex:0 0 var(--bar);display:flex;align-items:stretch;border-bottom:1px solid var(--line);background:#0c0c0c;position:relative;z-index:20}
.modbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--gold),transparent 40%)}
.home-btn{flex:none;display:flex;align-items:center;gap:9px;padding:0 22px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--gold);font:600 .74rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase}
.home-btn svg{width:15px;height:15px}
.home-btn:hover,.home-btn:focus-visible{background:#141414;color:var(--gold-hi);outline:none}
.modtitle{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:0 20px}
.modtitle strong{font:700 1.45rem/1 var(--f-display);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modtitle span{margin-top:5px;color:var(--faint);font:500 .64rem/1 var(--f-mono);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modstat{flex:none;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:0 20px;border-left:1px solid var(--line);font:600 .66rem/1.45 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.modstat strong{color:var(--gold);font-size:.8rem}
.modbtn{flex:none;padding:0 18px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--gold);font:600 .7rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase}
.modbtn:hover,.modbtn:focus-visible{background:#141414;color:var(--gold-hi);outline:none}
.modbtn.mobile-only{display:none}
@media (max-width:760px){:root{--bar:56px}.home-btn{padding:0 14px}.home-btn span{display:none}.modtitle{padding:0 12px}.modtitle strong{font-size:1.1rem}.modtitle span{display:none}.modstat{padding:0 12px}.modbtn{padding:0 12px}.modbtn.mobile-only{display:block}.hide-sm{display:none!important}}

.panel{background:var(--panel);min-height:0;overflow:auto}
.panel-head{padding:16px 18px 13px;border-bottom:1px solid var(--line)}
.panel-head h2{margin-top:6px;font:600 1.15rem/1.1 var(--f-body);letter-spacing:.01em}
.select{width:100%;height:42px;border:1px solid var(--line-2);background:#080808;color:var(--text);padding:0 10px;border-radius:0}
.select:focus{border-color:#b42e35;outline:none;box-shadow:0 0 0 2px rgba(234,46,55,.15)}

.toast{position:fixed;z-index:200;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);max-width:calc(100% - 32px);background:#121212;border:1px solid #8f2d32;border-left:4px solid var(--gold);padding:12px 16px;color:#dadada;font-size:.86rem;opacity:0;pointer-events:none;transition:.2s ease;box-shadow:0 12px 34px #000000}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- MAP ---------- */
.map-layout{flex:1;min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr) 320px}
.map-rail{border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.search{margin-top:12px;position:relative}
.search input{width:100%;height:38px;border:1px solid var(--line-2);background:#080808;padding:0 34px 0 11px;outline:none;font-size:.88rem}
.search input:focus{border-color:#8e292e}
.search kbd{position:absolute;right:8px;top:9px;color:var(--faint);font:500 .66rem/1 var(--f-mono);border:1px solid var(--line-2);padding:3px 5px}
.filters{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line)}
.filter{border:1px solid var(--line-2);background:#0a0a0a;color:var(--muted);padding:6px 9px;font:600 .64rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
.filter:hover{color:var(--text);border-color:#6a6a6a}
.filter.active{background:var(--gold);border-color:var(--gold);color:#101010}
.poi{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr) 12px;gap:8px;align-items:center;padding:9px 10px;border:0;border-left:2px solid transparent;background:transparent;text-align:left}
.poi:hover{background:#1a1a1a}
.poi.active{background:#191919;border-left-color:var(--gold)}
.poi[hidden]{display:none}
.map-wrap{position:relative;min-width:0;min-height:0;overflow:hidden;background:#060606}
.map-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;outline:none}
.map-viewport.dragging{cursor:grabbing}
.map-controls{position:absolute;right:14px;top:14px;z-index:6;display:flex;flex-direction:column;background:rgba(10,10,10,.92);border:1px solid var(--line-2)}
.map-ctl{width:42px;height:42px;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:1.15rem}
.map-ctl:last-child{border-bottom:0}
.map-ctl:hover{background:#1d1d1d;color:var(--gold-hi)}
.zoom-readout{position:absolute;right:14px;bottom:12px;z-index:5;padding:6px 8px;background:rgba(10,10,10,.9);border:1px solid var(--line);color:var(--muted);font:600 .66rem/1 var(--f-mono)}
.map-hint{position:absolute;left:14px;bottom:12px;z-index:5;padding:7px 10px;background:rgba(10,10,10,.9);border-left:2px solid var(--gold);color:#c0c0c0;font-size:.74rem}
.intel{border-left:1px solid var(--line)}
.threat{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:5px 9px;border:1px solid #6d2529;font:600 .64rem/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-hi)}
.threat i{width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
.facts{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.fact{padding:11px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.fact:nth-child(2n){border-right:0}.fact:nth-last-child(-n+2){border-bottom:0}
.fact span{display:block;color:var(--faint);font:500 .58rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.fact strong{font:600 .8rem/1.25 var(--f-mono);color:#e2e2e2}
@media (max-width:1150px){.map-layout{grid-template-columns:240px minmax(0,1fr) 280px}}
@media (max-width:860px){
  .map-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
  .map-rail{position:absolute;z-index:30;left:0;top:var(--bar);bottom:0;width:min(86vw,310px);transform:translateX(-101%);transition:transform .22s ease;box-shadow:20px 0 55px #000b}
  .rail-open .map-rail{transform:none}
  .intel{border-left:0;border-top:1px solid var(--line);max-height:38vh}.facts{display:none}
  .map-hint{display:none}
}

/* ---------- GUNSMITH ---------- */
.gs-layout{flex:1;min-height:0;display:grid;grid-template-columns:300px minmax(0,1fr) 350px}
.gs-left{border-right:1px solid var(--line)}
.gs-right{border-left:1px solid var(--line)}
.field{padding:14px 18px 0}
.field label{display:block;margin-bottom:7px;color:var(--muted);font:600 .64rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.brief{padding:18px}
.gs-name{font:700 2.5rem/.9 var(--f-display);letter-spacing:.03em;text-transform:uppercase}
.gs-cat{margin-top:8px;color:var(--gold);font:600 .7rem/1 var(--f-mono);letter-spacing:.13em;text-transform:uppercase}
.gs-desc{margin-top:16px;color:#c1c1c1;font-size:.88rem;line-height:1.55}
.gs-facts{margin-top:18px}
.apex{margin-top:14px;padding:13px 14px;border:1px solid #5e2528;background:#121212}
.apex strong{display:block;color:var(--gold-hi);font:700 .95rem/1.1 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
.apex p{margin-top:6px;color:#b0b0b0;font-size:.8rem;line-height:1.45}
.gs-preview{min-width:0;min-height:0;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 44%,#161616 0,var(--stage) 55%,#060606 90%);position:relative}
.gs-preview-head{display:flex;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid #222222;color:var(--muted);font:600 .64rem/1.4 var(--f-mono);letter-spacing:.11em;text-transform:uppercase}
.gs-preview-head strong{color:var(--gold)}
.gs-stage{flex:1;min-height:240px;position:relative;display:grid;place-items:center;padding:16px;
  background:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px) 0 0/40px 40px}
.gs-stage svg{width:100%;height:auto;max-height:100%;overflow:visible}
.gs-note-img{position:absolute;left:20px;bottom:12px;color:var(--faint);font:500 .62rem/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.gs-stage svg .p,.gs-stage svg .pd,.gs-stage svg .pl{vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.p{fill:url(#pf);stroke:var(--gold);stroke-width:1.6;stroke-opacity:.92}
.pd{fill:none;stroke:var(--gold);stroke-width:1.1;opacity:.85}
.pl{fill:none;stroke:var(--gold-hi);stroke-width:.9;opacity:.4}
.part-glow{filter:drop-shadow(0 0 3px rgba(234,46,55,.3))}
.gpart{transition:opacity .2s ease}
.gpart.dim{opacity:.25}
.gs-loadout{min-height:64px;padding:10px 18px 14px;border-top:1px solid #222222;display:flex;gap:7px;flex-wrap:wrap;align-content:flex-start}
.chip{display:inline-flex;align-items:center;gap:7px;max-width:260px;padding:6px 6px 6px 9px;border:1px solid #3a3a3a;background:#121212;color:#d5979a;font-size:.74rem}
.chip b{color:var(--gold);font:600 .62rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip button{border:0;background:transparent;color:var(--faint);padding:0 4px;font-size:1rem;line-height:1}
.chip button:hover{color:var(--gold-hi)}
.loadout-empty{color:var(--faint);font-size:.8rem;padding:6px 0}
.rules{margin:14px 18px;padding:12px;border:1px solid #5e2528;background:rgba(234,46,55,.06);color:#bcbcbc;font-size:.76rem;line-height:1.5}
.rules strong{color:var(--gold-hi)}
.slots{padding:4px 0 10px}
.slot{padding:10px 18px;border-bottom:1px solid #202020}
.slot-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}
.slot-head label{font-size:.82rem;font-weight:600}
.slot-head span{color:var(--faint);font:500 .6rem/1 var(--f-mono)}
.slot.on .slot-head label{color:var(--gold-hi)}
.slot.on .select{border-color:#8f2e33}
.stats-note{margin:4px 18px 18px;padding:12px;border-left:2px solid #673335;background:#0c0c0c;color:var(--faint);font:500 .64rem/1.5 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.no-slots{padding:20px 18px;color:var(--muted);font-size:.86rem;line-height:1.55}
@media (max-width:1150px){.gs-layout{grid-template-columns:260px minmax(0,1fr) 300px}}
@media (max-width:860px){
  .gs-layout{display:flex;flex-direction:column;overflow:auto}
  .panel{overflow:visible}.gs-layout>*{flex:none}.gs-left,.gs-right{border:0}
  .gs-preview{order:-1;min-height:auto;flex:none}.gs-stage{min-height:200px}
  .brief{padding-top:10px}.slots{display:grid;grid-template-columns:1fr 1fr}
}
@media (max-width:520px){.slots{display:block}.gs-name{font-size:2rem}}

/* ---------- GEAR ---------- */
.gear-body{flex:1;overflow:auto;padding-inline:clamp(16px,3vw,44px);padding-block:clamp(20px,3vw,40px)}
.gear-hero{max-width:1180px;margin:0 auto 26px;border-left:3px solid var(--gold);padding:6px 0 6px 20px}
.gear-hero h1{margin:8px 0;font:700 clamp(2.4rem,5vw,4.4rem)/.9 var(--f-display);letter-spacing:.03em;text-transform:uppercase;color:var(--gold-hi)}
.gear-hero p{max-width:68ch;color:#b2b2b2;line-height:1.55}
.box{background:var(--panel);border:1px solid var(--line)}
.box-head{padding:14px 18px;border-bottom:1px solid var(--line)}
.res{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;padding:11px;border:1px solid var(--line);background:var(--panel-2)}
.res i{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font:700 .74rem/1 var(--f-mono);font-style:normal}
.res strong{display:block;font-size:.9rem}
.res span{color:var(--faint);font-size:.72rem}
.box-note{padding:14px 18px;border-top:1px solid var(--line);color:#9e9e9e;font-size:.8rem;line-height:1.5}
.recipes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}
.recipe{display:flex;flex-direction:column;gap:8px;padding:15px;border:1px solid var(--line-2);background:linear-gradient(145deg,#161616,#0c0c0c)}
.recipe h3{font:700 1.25rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase}
.recipe p{color:#a2a2a2;font-size:.82rem;line-height:1.45;flex:1}
.cost{display:flex;flex-wrap:wrap;gap:6px}
.cost span{padding:6px 8px;border:1px solid #6d2529;background:rgba(234,46,55,.08);color:#ee7178;font:600 .62rem/1 var(--f-mono);text-transform:uppercase}
@media (max-width:560px){.recipes{grid-template-columns:1fr}}
@keyframes pulse{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.tip{position:fixed;z-index:300;max-width:260px;padding:10px 12px;background:#080908f5;border:1px solid var(--c,var(--gold));box-shadow:0 10px 28px #000000;pointer-events:none;opacity:0;transition:opacity .12s ease}
.tip.show{opacity:1}
.tip strong{display:block;font:700 1rem/1.1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;color:var(--text)}
.tip em{display:block;margin-top:3px;font:500 .58rem/1 var(--f-mono);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--c,var(--gold))}
.tip p{margin-top:7px;color:#b6b6b6;font-size:.8rem;line-height:1.45}
.tree-counts{display:flex}
.tree-counts span{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 12px;border-left:1px solid var(--line);font:600 .62rem/1.3 var(--f-mono);letter-spacing:.08em;color:var(--muted)}
.tree-counts b{font-size:.9rem;color:var(--c)}

/* ---------- Official intel additions ---------- */
:root{--t-low:#efe4b0;--t-med:#f3cf4e;--t-high:#f2b23c;--t-crit:#ee7d2a;--t-ext:#e2452c}
.tl{display:inline-block;padding:3px 7px;font:600 .6rem/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#1a1206;background:var(--t-low);white-space:nowrap}
.tl[data-level="Medium"]{background:var(--t-med)}.tl[data-level="High"]{background:var(--t-high)}.tl[data-level="Critical"]{background:var(--t-crit)}.tl[data-level="Extreme"]{background:var(--t-ext);color:#fff}
.threat[data-level="Low"] i{background:var(--t-low)}.threat[data-level="Medium"] i{background:var(--t-med)}.threat[data-level="High"] i{background:var(--t-high)}.threat[data-level="Critical"] i{background:var(--t-crit)}.threat[data-level="Extreme"] i{background:var(--t-ext)}
.threat[data-level="Critical"],.threat[data-level="Extreme"]{border-color:#7a3324;color:#ffb199}
.sub-h{margin-bottom:8px;color:var(--faint);font:500 .6rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.areas{list-style:none;margin:0;padding:0;border:1px solid var(--line)}
.areas li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:.84rem}
.areas li:last-child{border-bottom:0}
.minor summary{cursor:pointer;padding:11px 0;color:var(--gold);font:600 .64rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.ladder{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.minor{border-top:1px solid var(--line);padding:0 14px}
.minor ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.minor li b{display:block;font-size:.84rem;font-weight:600}
.minor li span{display:block;color:var(--faint);font-size:.72rem}
.lightbox{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:clamp(16px,4vw,48px)}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 0 0 1px var(--line-2)}
.lightbox button{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:16px;border:1px solid #6d2529;background:#121212;color:var(--gold-hi);padding:8px 12px;font:600 .7rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.gear-main{display:flex;flex-direction:column;gap:24px;min-width:0}
.rar{font:600 .56rem/1 var(--f-mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase;padding:3px 6px;border:1px solid var(--line-2);color:var(--faint)}
.rar[data-r="Uncommon"]{color:#7fd36b;border-color:#3f6b35}
.rar[data-r="Rare"]{color:#6fb4ff;border-color:#2f5a86}
.rar[data-r="Epic"]{color:#c58cff;border-color:#5f3d86}
.rar[data-r="Ultra"]{color:#ff7a66;border-color:#86382e}
.cost .rar{margin-left:4px;padding:2px 4px}
.price-ex{margin-top:10px;border-top:1px solid #5e2528;padding-top:4px}
.price-ex summary{cursor:pointer;padding:6px 0;color:var(--gold);font:600 .62rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
.price-ex ul{list-style:none;margin:6px 0;padding:0}
.price-ex li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px dashed #303030;font-size:.74rem}
.price-ex li b{font:600 .72rem/1.2 var(--f-mono);color:#9fe08a;font-variant-numeric:tabular-nums}
.price-ex li.tot{border-bottom:0;font-weight:600}
.price-ex p{margin-top:6px;color:#9b9b9b;font-size:.72rem}
.cd{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 22px;border:1px solid #6d2529;background:rgba(0,0,0,.45)}
.discord{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 22px;border:1px solid #6d2529;background:rgba(234,46,55,.08);color:var(--gold-hi);text-decoration:none}
.discord:hover{background:rgba(234,46,55,.18)}.discord span{font:600 .62rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.discord b{font:700 1.3rem/1 var(--f-display);letter-spacing:.06em}
/* gear menu */
.gmenu{display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px;align-items:start}
.gnav{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--panel)}
.gnav button{display:flex;justify-content:space-between;gap:8px;padding:12px 14px;border:0;border-left:3px solid transparent;border-bottom:1px solid var(--line);background:none;color:#a2a2a2;font:600 .72rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;text-align:left;cursor:pointer}
.gnav button:hover{color:var(--gold-hi)}.gnav button.on{color:var(--gold-hi);border-left-color:var(--gold);background:rgba(234,46,55,.1)}.gnav em{font-style:normal;color:var(--faint)}
.gpanel{border:1px solid var(--line);background:var(--panel);min-height:200px}
@media (max-width:760px){.gmenu{grid-template-columns:1fr}.gnav{flex-direction:row;overflow-x:auto}.gnav button{flex:none;border-left:0;border-bottom:3px solid transparent}.gnav button.on{border-bottom-color:var(--gold)}.recipes{grid-template-columns:1fr}}

.tile.soon{cursor:default}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.hub-intro{max-width:720px;margin:4px auto 16px;padding:0 20px;text-align:center;color:#b1b1b1;font-size:.98rem;line-height:1.55}

/* ===== map v2 ===== */
.map2{grid-template-columns:300px minmax(0,1fr)}
@media (max-width:1150px){.map2{grid-template-columns:260px minmax(0,1fr)}}
@media (max-width:760px){.map2{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}}
.map-img{position:absolute;left:0;top:0;width:4096px;height:4096px;transform-origin:0 0;will-change:transform}
.map-img img{display:block;width:4096px;height:4096px;user-select:none;-webkit-user-drag:none}
#mapMarkers{position:absolute;inset:0;pointer-events:none}
.mk{position:absolute;left:0;top:0;width:0;height:0;padding:0;border:0;background:none;pointer-events:auto;cursor:pointer;will-change:transform;z-index:2}
.mk[hidden]{display:none}
.mk-in{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;white-space:nowrap}
.mk.ico .mk-in img{width:calc(21px*var(--z,1));height:calc(21px*var(--z,1));filter:drop-shadow(0 1px 2px #000c);display:block}
.mk.ico:hover{z-index:6}.mk.ico:hover .mk-in img{transform:scale(1.35)}
.mk.lbl{z-index:3}.mk.lbl .mk-in img{width:15px;height:15px;opacity:.9}
.mk.lbl b{font:700 calc(12px*var(--z,1))/1 var(--f-body);letter-spacing:.04em;text-transform:uppercase;color:#e3e3e3;text-shadow:0 0 3px #000000,0 0 6px #000000,0 1px 2px #000000}
.mk.lbl.minor b{font-weight:600;font-size:calc(10.5px*var(--z,1));color:#cbcbcb}
.mk.lbl.minor{display:none}.zoomed .mk.lbl.minor,.mid .mk.lbl.minor.keep{display:block}
.mk.lbl.minor[hidden]{display:none!important}
.mk-badges-layer{position:absolute;inset:0;pointer-events:none;z-index:5}
.mk-badges{position:absolute;left:0;top:0;width:0;height:0}
.mk-badges{display:flex}
.mk-badges img{position:relative;width:30px;height:30px;margin-left:-15px;transform:translateY(-38px);background:rgba(8,8,8,.88);border:1px solid var(--gold);border-radius:50%;padding:2px;box-shadow:0 2px 8px #000a}
.mk-badges img+img{margin-left:2px}
.map-card{position:absolute;left:14px;top:14px;z-index:7;width:min(320px,calc(100% - 90px));max-height:calc(100% - 28px);overflow:auto;padding:14px 16px;background:rgba(10,10,10,.96);border:1px solid var(--line-2);box-shadow:0 14px 40px #000b}
.map-card[hidden],.map-load[hidden]{display:none}
.card-x{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;background:transparent;color:var(--muted);font-size:1rem;cursor:pointer}.card-x:hover{color:var(--gold-hi)}
.ing-head{display:flex;gap:12px;align-items:center;margin-bottom:12px;padding-right:26px}.ing-head img{width:46px;height:46px;object-fit:contain;flex:none}
.ing-head h3{font:700 1.1rem/1.15 var(--f-display);letter-spacing:.03em;color:#e6e6e6}.ing-head span{font:600 .64rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.map-card p,.ing-card p{margin:4px 0 8px;color:#c6c6c6;line-height:1.5;font-size:.92rem}
.card-meta{font:600 .66rem/1.5 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.card-ings{display:flex;flex-wrap:wrap;gap:6px}.ing-pill{display:flex;align-items:center;gap:6px;padding:4px 9px 4px 5px;border:1px solid var(--line-2);background:#121212;color:#dddddd;font:500 .78rem/1 var(--f-body);cursor:pointer}.ing-pill img{width:22px;height:22px;object-fit:contain}.ing-pill:hover{border-color:var(--gold)}
.map-load{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;background:#060606;color:var(--muted);font:600 .75rem/1.6 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:30px}
.lg-actions{display:flex;gap:8px;margin-top:12px}.lg-actions button,.lg-clear{padding:7px 12px;border:1px solid var(--line-2);background:#101010;color:#d0d0d0;font:600 .66rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.lg-actions button:hover,.lg-clear:hover{border-color:var(--gold);color:var(--gold-hi)}
.lg-body{flex:1;min-height:0;overflow:auto;padding:6px 0 18px}
.lg-group{padding:10px 16px 6px}.lg-h{display:flex;justify-content:space-between;align-items:center;margin:4px 0 8px;font:600 .66rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.lg-clear{padding:4px 8px}
.lg-row{display:flex;align-items:center;gap:10px;padding:6px 4px;cursor:pointer;border-radius:2px}.lg-row:hover{background:#121212}
.lg-row input{accent-color:var(--gold);width:16px;height:16px;flex:none}.lg-sw{display:flex;width:26px;height:26px;align-items:center;justify-content:center;flex:none}.lg-sw img{max-width:24px;max-height:24px}
.lg-l{flex:1;font-size:.88rem;color:#dbdbdb}.lg-row em{font:600 .66rem/1 var(--f-mono);color:var(--faint);font-style:normal}
.lg-ing{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;margin-top:8px}
.ing-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 5px;border:1px solid var(--line);background:#0e0e0e;color:#bcbcbc;font:500 .56rem/1.15 var(--f-body);text-align:center;cursor:pointer;min-height:58px}.ing-btn img{width:30px;height:30px;object-fit:contain}.ing-btn span{display:block;overflow:hidden;max-height:2.4em}
.ing-btn:hover{border-color:var(--gold-d,#6d2529)}.ing-btn.on{border-color:var(--gold);background:#1a1a1a;color:#ffffff}.ing-btn[hidden]{display:none}
.lg-note{margin:10px 0 0;font-size:.74rem;line-height:1.5;color:var(--faint)}
.g-search{padding:0 0 10px}.g-search input{width:100%;padding:9px 12px;border:1px solid var(--line-2);background:#0b0b0b;color:#e3e3e3;font:500 .88rem/1 var(--f-body)}.g-search input:focus{outline:1px solid var(--gold);border-color:var(--gold)}
.gpanel>.g-search{padding:12px 14px 0}
/* gear v2 */
.res-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 14px;padding:12px 16px;border:1px solid var(--line);background:var(--panel)}
.res-strip span{display:flex;align-items:center;gap:7px;font:600 .72rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#dbdbdb}.res-strip img{width:24px;height:24px;object-fit:contain}
.res-strip em{flex:1 1 280px;font-style:normal;font-size:.78rem;line-height:1.5;color:var(--faint)}
.recipe{position:relative}
.cost{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ichip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 5px;border:1px solid var(--line-2);background:#121212;color:#dddddd;font:500 .76rem/1 var(--f-body);cursor:pointer}
.ichip img{width:22px;height:22px;object-fit:contain;flex:none}.ichip b{font:700 .74rem/1 var(--f-mono);color:var(--gold-hi)}.ichip.cash{cursor:default;padding-left:10px}
button.ichip:hover{border-color:var(--gold);background:#161616}.cost .muted{font:600 .68rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:6px 0}
.ing-dlg{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;background:rgba(4,4,4,.72);padding:16px}.ing-dlg[hidden]{display:none}
.ing-card{width:min(420px,100%);padding:18px 20px;background:#0c0c0c;border:1px solid var(--line-2);box-shadow:0 20px 60px #000c;position:relative}
.ing-x{position:absolute;right:8px;top:8px;border:0;background:none;color:var(--muted);font-size:1rem;cursor:pointer;width:28px;height:28px}
.ing-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.btn-gold,.btn-ghost{padding:10px 16px;border:1px solid var(--gold);font:700 .72rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.btn-gold{background:var(--gold);color:#0c0c0c}.btn-gold:hover{background:var(--gold-hi)}.btn-ghost{background:transparent;color:#dbdbdb;border-color:var(--line-2)}.btn-ghost:hover{border-color:var(--gold)}
.cost .ichip span{border:0;background:none;padding:0;color:#dddddd;font:500 .76rem/1 var(--f-body);letter-spacing:0;text-transform:none}
.cost .ichip.cash span{color:#bcbcbc}

/* gear tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;padding:14px}
.t-pic{display:flex;align-items:center;justify-content:center;width:100%;height:98px;background:radial-gradient(circle at 50% 45%,#1a1a1a,#0a0a0a 75%)}
.t-pic img{width:82px;height:82px;object-fit:contain}.t-pic svg{width:46px;height:46px;stroke:#8f474b;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.t-name{display:flex;align-items:center;justify-content:center;min-height:2.4em;padding:0 8px;font:600 .82rem/1.2 var(--f-body)}
.t-cost{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;padding:0 6px;min-height:18px}
.t-cost i{display:inline-flex;align-items:center;gap:2px;font:700 .66rem/1 var(--f-mono);font-style:normal;color:var(--gold-hi)}.t-cost img{width:17px;height:17px;object-fit:contain}
.t-cost .none{font:600 .58rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.item-pic{width:64px;height:64px;object-fit:contain;flex:none;background:#0a0a0a;border:1px solid var(--line-2);border-top:3px solid var(--rc,#6a6a6a);padding:4px}
.item-pic.glyph{display:flex;align-items:center;justify-content:center}.item-pic svg{width:36px;height:36px;stroke:#8f474b;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ing-back{margin-bottom:10px;padding:0;border:0;background:none;color:var(--gold);font:600 .68rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.ing-card .cost{margin-top:4px}
@media (max-width:520px){.tiles{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;padding:10px}}

.mk.key{z-index:4}.mk.key .mk-in img{width:calc(18px*var(--z,1));height:calc(18px*var(--z,1));border-radius:50%;box-shadow:0 0 0 2px #0b0b0b,0 2px 7px #000b;display:block}
.mk.key:hover{z-index:7}.mk.key:hover .mk-in img{transform:scale(1.25)}
.lg-btns{display:flex;gap:6px}.lg-unk{margin:8px 0 2px;font-size:.82rem;color:#bcbcbc}.lg-unk summary{cursor:pointer;padding:6px 4px;font:600 .66rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lg-unk-b{display:block;width:100%;padding:6px 8px;border:0;border-bottom:1px solid var(--line);background:none;color:#cfcfcf;font:500 .82rem/1.3 var(--f-body);text-align:left;cursor:pointer}.lg-unk-b:hover{color:var(--gold-hi);background:#121212}

.gs-cart{margin:10px 14px 0;padding:12px 14px;border:1px solid var(--line-2);background:#0d0d0d}
.cart-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:8px}.cart-head strong{font:700 .7rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.cart-head label{font:500 .8rem/1 var(--f-body);color:#cdcdcd;display:flex;align-items:center;gap:6px}.cart-head input{accent-color:var(--gold)}.cart-head select{background:#121212;color:#e3e3e3;border:1px solid var(--line-2);padding:3px 6px}
.cart-t{width:100%;border-collapse:collapse;font-size:.84rem}.cart-t td{padding:5px 0;border-bottom:1px solid var(--line);color:#d0d0d0}.cart-t td:last-child{text-align:right;font-family:var(--f-mono)}.cart-t i{color:var(--faint);font-style:normal}
.cart-t tfoot td{border-bottom:0;padding-top:8px;color:#ffffff}.cart-t tfoot b{color:var(--gold-hi);font-size:1rem}
.cart-note{margin:8px 0 0;font-size:.74rem;line-height:1.5;color:var(--faint)}
.slot.blocked{opacity:.5}

.lg-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px #1e1e1e}
.lg-fold summary{cursor:pointer;list-style:none}.lg-fold summary::-webkit-details-marker{display:none}.lg-fold summary::after{content:" ▸";color:var(--faint)}.lg-fold[open] summary::after{content:" ▾"}
.mk.lbl .mk-in{gap:0}
.thr{display:inline-block;padding:2px 7px;margin-right:4px;border:1px solid currentColor;font:700 .66rem/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.thr-low{color:#7fc06a}.thr-medium{color:#e3313a}.thr-high{color:#ea202b}.thr-critical,.thr-extreme{color:#e0594a}.thr-mixed{color:#b3b3b3}
.gs-preview-head{align-items:center}

.gs-stage{flex:none;height:clamp(300px,52vh,720px);min-height:0}
.gs-stage svg{width:100%;height:100%;max-height:none}
@media (max-width:760px){.gs-stage{height:290px}}

.map-viewport{touch-action:none}
.mk-badges{pointer-events:none}
.bdg{position:relative;display:block;width:30px;height:30px;margin-left:-15px;transform:translateY(-38px);pointer-events:auto;cursor:pointer}
.bdg+.bdg{margin-left:2px}
.bdg img{position:static;width:100%;height:100%;margin:0;transform:none;background:rgba(8,8,8,.9);border:1px solid var(--gold);border-radius:50%;padding:2px;box-shadow:0 2px 8px #000a;display:block}
.bdg::after{content:attr(data-n);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);white-space:nowrap;padding:4px 8px;background:#0a0a0a;border:1px solid var(--gold);color:#e3e3e3;font:600 .72rem/1 var(--f-body);opacity:0;pointer-events:none;z-index:9}
.bdg:hover::after,.bdg:focus::after{opacity:1}.bdg:hover{z-index:9}
.mk.ico:focus-visible,.bdg:focus-visible{outline:2px solid var(--gold)}

/* gear tiles, three across */
.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}
.tile3{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:12px;border:1px solid var(--line-2);border-left:4px solid var(--rc,#6a6a6a);background:linear-gradient(#111111,#0a0a0a);color:#e3e3e3;cursor:pointer;min-width:0}
.tile3:hover{border-color:var(--gold);border-left-color:var(--rc,var(--gold));background:linear-gradient(#161616,#0c0c0c)}
.t3-pic{flex:none;display:flex;align-items:center;justify-content:center;width:84px;height:84px;background:radial-gradient(circle at 50% 45%,#1a1a1a,#0a0a0a 75%)}
.t3-pic img{width:76px;height:76px;object-fit:contain}.t3-pic svg{width:42px;height:42px;stroke:#8f474b;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.t3-name{font:700 .92rem/1.2 var(--f-body);color:#e6e6e6}.t3-tag{font:600 .56rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rc,var(--gold))}
@media (max-width:1100px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.tiles{grid-template-columns:1fr;padding:10px;gap:8px}}
.minor-dlg{z-index:130}.minor-card{width:min(980px,100%);max-height:90vh;overflow:auto;border-top:3px solid var(--c,var(--gold))}
.mc-h{margin:4px 0 2px;font:700 1.4rem/1.1 var(--f-display);color:#e6e6e6;letter-spacing:.03em}.mc-sub{margin:0 0 12px;color:var(--muted);font-size:.86rem}
.mc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mc-t{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:10px 12px;border:1px solid var(--line-2);background:#101010;color:#e3e3e3;cursor:pointer}
.mc-t:hover:not([disabled]){border-color:var(--c,var(--gold));background:#151515}.mc-t.on{border-color:var(--c,var(--gold));background:#171717}.mc-t[disabled]{opacity:.45;cursor:not-allowed}
.mc-t img,.mc-t i{width:44px;height:44px;flex:none;object-fit:contain;background:#0a0a0a;border:1px solid var(--line-2)}.mc-t b{display:block;font:700 .92rem/1.2 var(--f-body)}.mc-t em{font:600 .58rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-style:normal}.mc-t p{margin:3px 0 0;font-size:.8rem;line-height:1.4;color:#bcbcbc}
@media (max-width:760px){.mc-grid{grid-template-columns:1fr}}
.dop-rules{margin:0 0 16px;padding:0 0 12px}.dop-dl{margin:0;padding:6px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}.dop-dl dt{font:700 .62rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.dop-dl dd{margin:2px 0 0;color:#c9c9c9;font-size:.88rem;line-height:1.5}
.dop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;padding-bottom:40px}
@media (max-width:900px){.dop-grid,.dop-dl{grid-template-columns:1fr}}
.slot{cursor:pointer}.slot select{cursor:pointer}.lg-fold>summary,.lg-unk>summary{display:block;width:100%;cursor:pointer}

/* home: three tiles wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.tile{height:clamp(270px,38vh,370px)}
@media (max-width:1000px){.tile{height:290px}}
@media (max-width:560px){.tile{height:260px}}
/* map ingredient badges: round, bigger, clearer */
.bdg{flex:none;width:38px;height:38px;margin-left:-19px;transform:translateY(-44px)}
.bdg+.bdg{margin-left:3px}
.bdg img{width:38px;height:38px;object-fit:contain;padding:4px;border:2px solid var(--gold);border-radius:50%;background:#0a0a0a;box-shadow:0 0 0 2px #000c,0 3px 10px #000d}
.bdg:hover img{border-color:var(--gold-hi);background:#141414}
.tile.long{display:grid;grid-template-columns:minmax(260px,31%) minmax(0,1fr);height:auto;min-height:0;cursor:default}
.tile.long:hover{transform:none;border-color:inherit}
.loot-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 18px;width:100%;padding:16px 26px;border:0;background:none;text-align:left;color:#e3e3e3;cursor:pointer}
.loot-row:hover,.loot-row:focus-visible{background:rgba(234,46,55,.08);outline:none}
.lr-n{font:700 1.15rem/1.2 var(--f-display);letter-spacing:.03em;color:#e6e6e6}.lr-t{grid-column:1;font:600 .62rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.lr-d{grid-column:1;font-size:.88rem;line-height:1.45;color:#bbbbbb}
.lr-go{grid-column:2;grid-row:1/4;align-self:center;font:600 .66rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-hi);border:1px solid #6d2529;padding:8px 12px}
.loot-row:hover .lr-go{background:rgba(234,46,55,.14)}
@media (max-width:900px){.tile.long{grid-template-columns:1fr}}
/* loot detail */
.lt-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.lt-btn{padding:10px 16px;border:1px solid var(--gold);background:rgba(234,46,55,.14);color:var(--gold-hi);font:600 .7rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.lt-btn:hover{background:rgba(234,46,55,.26)}.lt-btn.ghost{border-color:var(--line-2);background:none;color:#c5c5c5}
.lt-find{margin:0 0 16px}.lt-find ul{margin:0;padding:6px 20px 14px 38px;color:#cdcdcd;line-height:1.6}
.lt-steps{list-style:none;margin:0 0 16px;padding:0;max-width:900px}.lt-step{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.lt-num{font:700 1.5rem/1 var(--f-mono);color:var(--gold);opacity:.85}.lt-step h3{margin:0 0 6px;font:700 1.1rem/1.2 var(--f-display);letter-spacing:.03em;color:#e6e6e6}.lt-step p{margin:0;color:#c9c9c9;line-height:1.6;font-size:.95rem}
.lt-img{display:block;max-width:100%;margin-top:12px;border:1px solid var(--line-2)}
.lt-tip{max-width:900px}.lt-tip p{margin:0;padding:6px 20px 14px;color:#cdcdcd;line-height:1.6}
.lt-note{margin:18px 0 40px;color:var(--faint);font-size:.82rem}
@media (max-width:760px){.lt-step{grid-template-columns:40px minmax(0,1fr)}}



.lt-fig{margin:0 0 16px;max-width:900px}.lt-step .lt-fig{margin:12px 0 0;max-width:620px}.lt-img{display:block;width:100%;max-height:560px;object-fit:contain;background:#0a0a0a;border:1px solid var(--line-2)}.lt-fig figcaption{margin-top:6px;font:500 .74rem/1.4 var(--f-mono);letter-spacing:.04em;color:var(--faint)}
.lt-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;max-width:900px;margin:8px 0 0;padding:14px 16px;border:1px solid var(--line-2);background:#0d0d0d}.lt-share span{font:600 .62rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.lt-share code{flex:1;min-width:0;overflow-wrap:anywhere;color:#cdcdcd;font-size:.82rem}
.lt-chips{display:flex;gap:8px;margin:0 0 14px}.lt-chip{padding:8px 14px;border:1px solid var(--line-2);background:#0d0d0d;color:#c5c5c5;font:600 .66rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.lt-chip.on{border-color:var(--gold);background:rgba(234,46,55,.14);color:var(--gold-hi)}
a.loot-row{text-decoration:none}

/* home: six tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
/* gunsmith: the weapon always stays inside its own box, even on very large screens */
.gs-stage{position:relative}
.gs-stage svg{position:absolute;left:16px;top:16px;width:calc(100% - 32px);height:calc(100% - 32px);max-height:none}

.zone{position:absolute;left:0;top:0;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(150,230,90,.10),rgba(150,230,90,.22));border:2px solid rgba(160,235,100,.75);box-shadow:0 0 14px rgba(150,230,90,.25) inset}

/* colour-coded map icons: one ring colour per legend group */
.mk.ico .mk-in img{width:calc(14px*var(--z,1));height:calc(14px*var(--z,1));padding:calc(3px*var(--z,1));box-sizing:content-box;border-radius:50%;background:#0b0b0b;border:2px solid var(--c,#ea2e37);filter:none;box-shadow:0 0 0 1px #000b,0 0 8px color-mix(in srgb,var(--c,#ea2e37) 55%,transparent)}
.mk.ico:hover .mk-in img{transform:scale(1.25)}
.lg-sw img{max-width:16px;max-height:16px;box-sizing:content-box;padding:4px;border:2px solid var(--c,#ea2e37);border-radius:50%;background:#0b0b0b}
.lg-sw i.lg-dot{background:var(--c,#ea2e37)}
.lg-h{color:var(--c,var(--gold))}.lg-h::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c,var(--gold));margin-right:8px;flex:none}
.lg-h:has(.lg-clear),.lg-actions+.lg-body .lg-h{}
/* keys are violet */
.mk.key .mk-in img{filter:hue-rotate(235deg) saturate(.9)}
.zone{background:radial-gradient(circle,rgba(255,31,42,.10),rgba(255,31,42,.22));border-color:rgba(255,31,42,.8);box-shadow:0 0 14px rgba(255,31,42,.25) inset}
.lg-h{justify-content:flex-start}.lg-h .lg-btns,.lg-h #ingClear{margin-left:auto}
.lg-row:has([data-key]) .lg-sw img{filter:hue-rotate(235deg) saturate(.9)}.lg-h:has(#kAll){--c:#b48cff}

.mc-sec{grid-column:1/-1;margin:10px 0 0;padding-bottom:6px;border-bottom:2px solid var(--c);font:700 .72rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--c)}
.mc-sec:first-child{margin-top:0}.mc-t img{border:0;background:none}
.bs-grid{list-style:none;margin:0;padding:16px 20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;align-content:center}
.bs-chip{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line-2);background:#0d0d0d;color:#e3e3e3;text-decoration:none;min-width:0}.bs-chip:hover,.bs-chip:focus-visible{border-color:var(--gold);background:rgba(234,46,55,.08);outline:none}
.bs-chip img{width:30px;height:30px;flex:none}.bs-chip span{display:flex;flex-direction:column;min-width:0}.bs-chip b{font:700 .84rem/1.2 var(--f-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-chip i{font:500 .68rem/1.3 var(--f-body);font-style:normal;color:#acacac;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1100px){.bs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.bs-grid{grid-template-columns:1fr}}

.bs-chip img.bs-th{width:44px;height:44px;object-fit:cover;border:1px solid var(--line-2)}
.bs-chip img.bs-th{object-position:50% 20%}
.bs-chip img.bs-th{object-position:50% 30%}
.up-sum{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}.up-sum strong{display:block;font:700 1.5rem/1.1 var(--f-display);color:var(--gold-hi);margin-top:2px}
.up-bar{height:8px;background:#181818;border:1px solid var(--line-2);border-radius:5px;overflow:hidden;min-width:60px}.up-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#bc2b32,#ff5760);transition:width .2s}.up-bar.big{flex:1 1 220px;height:12px}
.up-note{margin:10px 0 12px;color:var(--faint);font-size:.82rem}
.up-need-list{display:flex;flex-wrap:wrap;gap:8px}.up-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--line-2);background:#0d0d0d;color:#cdcdcd;font-size:.84rem}.up-chip img{width:20px;height:20px;object-fit:contain}.up-chip b{color:var(--gold-hi);font-family:var(--f-mono)}.up-chip.cash{border-color:#6d2529}.up-empty{margin:4px 0;color:var(--muted);font-size:.9rem}
.up-undo{padding:8px 12px;border:1px solid var(--line-2);background:none;color:#c5c5c5;font:600 .64rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.up-undo:hover{border-color:var(--gold);color:var(--gold-hi)}
.up-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1200px;padding-bottom:40px}
.up-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--line-2);background:linear-gradient(#111111,#0a0a0a)}.up-card.complete{opacity:.75}
.up-head{display:flex;gap:12px;align-items:center}.up-ic{flex:none;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:radial-gradient(circle,#1a1a1a,#0a0a0a 75%)}.up-ic img{width:50px;height:50px;object-fit:contain}
.up-head h3{margin:0;font:700 1.15rem/1.15 var(--f-display);letter-spacing:.03em;color:#e6e6e6}.up-tier{font:600 .62rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.up-eff{margin:0;color:#bfbfbf;font-size:.84rem;line-height:1.45}
.up-chips{display:flex;flex-wrap:wrap;gap:6px}.up-done{padding:4px 8px;border:1px solid #444444;background:#1a1a1a;color:#9ad47e;font:600 .62rem/1 var(--f-mono);letter-spacing:.06em;cursor:pointer}.up-done:hover{border-color:#e0594a;color:#ffb0a6}
.up-reqs{display:flex;flex-direction:column;gap:10px}.up-req{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;padding:8px 10px;border:1px solid var(--line);background:#0d0d0d}.up-req.ok{border-color:#444444;background:#151515}
.up-rn{display:flex;align-items:center;gap:8px;min-width:0;font-size:.88rem;color:#dddddd}.up-rn img{width:26px;height:26px;object-fit:contain;flex:none}.up-rn span{overflow:hidden;text-overflow:ellipsis}.up-rn em{margin-left:auto;font:600 .64rem/1 var(--f-mono);font-style:normal;color:var(--faint);white-space:nowrap;padding-left:6px}.up-cash-ic{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #6d2529;border-radius:50%;color:var(--gold-hi);font:700 .8rem/1 var(--f-mono)}
.up-ctl{display:flex;align-items:center;gap:4px}.up-ctl input{width:84px;text-align:center;padding:6px 4px;background:#121212;border:1px solid var(--line-2);color:#ffffff;font:600 .9rem/1 var(--f-mono)}.up-ctl input:focus{outline:none;border-color:var(--gold)}
.up-step{width:30px;height:30px;border:1px solid var(--line-2);background:#121212;color:#e3e3e3;font:700 1rem/1 var(--f-mono);cursor:pointer}.up-step:hover{border-color:var(--gold);background:#171717}
.up-req .up-bar{grid-column:1/-1;height:5px}
.up-unk{margin:0;color:var(--faint);font-size:.8rem}
.up-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:4px}.up-ready{font:600 .64rem/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.up-go{padding:10px 14px;border:1px solid var(--line-2);background:#121212;color:#c5c5c5;font:700 .66rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.up-go.ready{border-color:var(--gold);background:rgba(234,46,55,.2);color:var(--gold-hi)}.up-go:hover{border-color:var(--gold)}
.up-all{margin:0;color:#9ad47e}
@media (max-width:1000px){.up-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.up-grid{grid-template-columns:1fr}}
/* ===== camo tracker ===== */
.cm-tools{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;max-width:1200px;margin:0 0 14px}.cm-tools input[type=search]{flex:0 1 240px;padding:9px 12px;background:#0d0d0d;border:1px solid var(--line-2);color:#ffffff;font:500 .9rem/1 var(--f-body)}.cm-tools .lt-chips{margin:0;flex-wrap:wrap}.cm-cat{font:600 .58rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.cm-sw{flex:none;width:36px;height:36px;object-fit:cover;border:1px solid var(--line-2)}.cm-sw.mil{display:inline-flex;align-items:center;justify-content:center;background:#181818;color:var(--gold);font:700 .7rem/1 var(--f-mono)}
.cm-row{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border:1px solid transparent;background:none;text-align:left;color:#dddddd;cursor:pointer}.cm-row:hover{background:#121212}.cm-row.on{background:#151515;border-color:#363636}
.cm-tick{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid var(--line-2);color:#9ad47e;font:700 .8rem/1 var(--f-mono)}.cm-row.on .cm-tick{border-color:#5fa04a;background:#1e1e1e}
.cm-rt b{display:block;font-size:.9rem}.cm-rt small{display:block;font-size:.76rem;color:#b6b6b6;line-height:1.35}.cm-globalbox{max-width:1200px;margin-bottom:40px}.cm-glist{padding:6px 12px 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}@media (max-width:760px){.cm-glist{grid-template-columns:1fr}}

.up-rn{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;column-gap:8px;row-gap:0}.up-rn img,.up-rn .up-cash-ic{grid-row:1/3}.up-rn span{grid-column:2}.up-rn em{grid-column:2;margin:0;padding:0;font-size:.6rem}

/* ===== latest DMZ update (home) and patch notes page ===== */
.latest{max-width:1120px;margin:0;padding:16px 18px;border:1px solid var(--line-2);background:linear-gradient(#111111,#0a0a0a)}
.latest[hidden]{display:none}
.latest-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.latest-head h2{margin:0;font:700 .8rem/1 var(--f-mono);letter-spacing:.2em;color:var(--gold)}
.latest-all{padding:7px 12px;border:1px solid var(--line-2);background:none;color:#c5c5c5;font:600 .62rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.latest-all:hover{border-color:var(--gold);color:var(--gold-hi)}
#latestList{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.latest-item{display:flex;flex-direction:column;gap:5px;width:100%;height:100%;padding:12px;text-align:left;border:1px solid var(--line);background:#0d0d0d;color:#dfdfdf;cursor:pointer}.latest-item:hover{border-color:var(--gold)}
.latest-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:600 .58rem/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}.latest-date{color:var(--faint)}
.latest-title{font:700 .95rem/1.25 var(--f-display);color:#e6e6e6}.latest-sum{font-size:.82rem;line-height:1.4;color:#b6b6b6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.latest-meta{margin:10px 0 0;font:500 .66rem/1.2 var(--f-mono);color:var(--faint)}
@media (max-width:820px){#latestList{grid-template-columns:1fr}}
.pn-badge{display:inline-block;padding:3px 6px;font:700 .56rem/1 var(--f-mono);letter-spacing:.12em;border:1px solid}.pn-badge.new{color:#9ad47e;border-color:#444444;background:#1a1a1a}.pn-badge.upd{color:var(--gold-hi);border-color:#6d2529;background:#161616}.pn-badge.res{color:#7cc4ff;border-color:#2f5b86;background:#1a1a1a}
.pn-checked{max-width:1120px;margin:0 0 14px;color:var(--faint);font-size:.82rem}
.pn-list{display:flex;flex-direction:column;gap:12px;max-width:1120px}
.pn-card{padding:14px 16px;border:1px solid var(--line-2);background:linear-gradient(#111111,#0a0a0a)}.pn-card.hit{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.pn-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font:600 .6rem/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}.pn-cat{color:var(--gold)}.pn-date,.pn-rev{color:var(--faint)}
.pn-card h3{margin:8px 0 4px;font:700 1.05rem/1.25 var(--f-display);color:#e6e6e6}.pn-sum{margin:0 0 10px;color:#bfbfbf;font-size:.88rem;line-height:1.5}
.pn-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.pn-more{padding:7px 11px;border:1px solid var(--line-2);background:none;color:#c5c5c5;font:600 .62rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.pn-more:hover{border-color:var(--gold);color:var(--gold-hi)}
.pn-src{color:var(--gold);font-size:.8rem;text-decoration:none}.pn-src:hover{text-decoration:underline}
.pn-det{margin:12px 0 0;padding:12px 0 0 18px;border-top:1px solid var(--line);color:#cbcbcb;font-size:.86rem;line-height:1.5}.pn-det[hidden]{display:none}.pn-det li{margin:0 0 6px}
.pn-error{max-width:1120px;padding:14px;border:1px solid #6b2f2f;background:#141414;color:#d6d6d6;display:flex;align-items:center;justify-content:space-between;gap:12px}.pn-error[hidden]{display:none}.pn-error p{margin:0}
.pn-morewrap{max-width:1120px;margin:14px 0 40px}
.is-wrap{position:relative}
.is-wrap input{width:100%;padding:12px 14px;background:#0d0d0d;border:1px solid var(--line-2);color:#ffffff;font:500 .95rem/1.2 var(--f-body)}
.is-wrap input:focus{outline:none;border-color:var(--gold)}
.is-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;margin:0;padding:4px;list-style:none;background:#0c0c0c;border:1px solid var(--gold);box-shadow:0 14px 36px rgba(0,0,0,.65);max-height:360px;overflow:auto}
.is-list[hidden]{display:none}
.is-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;cursor:pointer;color:#dfdfdf;font-size:.9rem}
.is-list li.on{background:#161616}.is-list li.is-none{color:var(--faint);cursor:default}
.is-list img{width:28px;height:28px;object-fit:contain;flex:none}.is-key{display:inline-flex;width:28px;height:28px;flex:none;color:var(--gold)}.is-key svg{width:100%;height:100%}
.is-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.is-tp{flex:none;padding:3px 6px;border:1px solid var(--line-2);font:700 .54rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.is-tp.t-material{color:#7cc4ff;border-color:#2f5b86}.is-tp.t-gear{color:#9ad47e;border-color:#444444}.is-tp.t-key{color:var(--gold-hi);border-color:#6d2529}.is-tp.t-upgrade{color:#f0a0d0;border-color:#7a3f66}
/* ===== items page ===== */
.is-page{max-width:640px;margin:0 0 22px}
.it-hint{margin:0 0 16px;color:var(--muted)}
.it-card{max-width:1000px;padding:18px 20px 22px;border:1px solid var(--line-2);background:linear-gradient(#111111,#0a0a0a);margin-bottom:40px}
.it-head{display:flex;align-items:center;gap:16px;margin-bottom:12px}.it-head>img,.it-keyic{width:72px;height:72px;object-fit:contain;flex:none;background:radial-gradient(circle,#1a1a1a,#0a0a0a 75%);padding:6px}.it-keyic{display:inline-flex;color:var(--gold)}.it-keyic svg{width:100%;height:100%}
.it-name{margin:0;font:700 1.6rem/1.15 var(--f-display);color:#e6e6e6;letter-spacing:.03em}.it-sub{font:600 .64rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.it-card>p{margin:0 0 14px;color:#c5c5c5;line-height:1.5}
.it-sec{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}.it-sec h2{margin:0 0 10px;font:700 .72rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.it-sec h2 em{color:var(--faint);font-style:normal;margin-left:6px}
.it-sec p{margin:0 0 8px;color:#cbcbcb;line-height:1.5;font-size:.92rem}
.it-ul{margin:0 0 8px;padding-left:18px;color:#cbcbcb;line-height:1.55;font-size:.92rem}.it-ul li{margin:0 0 4px}
.it-group{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.it-group h3{flex:1 0 100%;margin:4px 0 0;font:600 .62rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.it-row{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid var(--line);background:#0d0d0d;font-size:.88rem;color:#dddddd}.it-row.done{opacity:.55}.it-row em{font:600 .56rem/1 var(--f-mono);color:#9ad47e;text-transform:uppercase;letter-spacing:.1em}
.it-q{font:700 .8rem/1 var(--f-mono);color:var(--gold-hi)}
.it-link{display:inline-flex;align-items:center;gap:8px;padding:2px 4px;border:0;background:none;color:#e3e3e3;font:inherit;cursor:pointer;text-align:left}.it-link:hover span{color:var(--gold-hi);text-decoration:underline}.it-link img{width:28px;height:28px;object-fit:contain;flex:none}
.it-link.text{padding:0;color:var(--gold);text-decoration:underline}
.it-total{color:#c5c5c5!important}.it-total b{color:var(--gold-hi)}
.it-none{color:var(--faint)!important}.it-note{color:var(--faint);font-size:.82rem}
.it-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px}
.it-btn{padding:9px 14px;border:1px solid var(--gold);background:rgba(234,46,55,.14);color:var(--gold-hi);font:700 .64rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.it-btn:hover{background:rgba(234,46,55,.28)}
.it-missing{margin-top:18px;padding:10px 12px;border:1px dashed #6d2529;color:#ca6469;font-size:.84rem;line-height:1.45}.it-missing b{color:var(--gold-hi)}
.it-tier{padding:10px 12px;margin:0 0 10px;border:1px solid var(--line);background:#0d0d0d;width:100%}.it-tier-h{display:flex;align-items:center;gap:12px;margin-bottom:4px;font-weight:700}.it-tier-h em{font:500 .66rem/1 var(--f-mono);color:var(--faint);font-style:normal}.it-tier p{margin:0 0 8px;color:#bfbfbf;font-size:.86rem}
.it-browse{display:flex;flex-wrap:wrap;gap:4px 10px}
@media (max-width:640px){.it-name{font-size:1.25rem}.it-head>img,.it-keyic{width:56px;height:56px}}

/* ===== Korean titles and the faded Korean art behind each tile ===== */
.tile{isolation:isolate}
@supports (font-size:1cqw){.tile{container-type:inline-size}}
/* ===== bigger text: Latest DMZ Update and Item Search ===== */
.latest{padding:20px 22px}
.latest-head h2{font-size:1.05rem;letter-spacing:.18em}
.latest-all{font-size:.8rem;padding:9px 14px}
.latest-top{font-size:.76rem;gap:6px 10px}
.latest-title{font-size:1.28rem;line-height:1.22}
.latest-sum{font-size:1.04rem;line-height:1.42}
.latest-item{padding:15px;gap:7px}
.latest-meta{font-size:.82rem}
.pn-badge{font-size:.7rem;padding:4px 8px}
.is-wrap input{font-size:1.22rem;padding:15px 16px}
.is-list li{font-size:1.14rem;padding:11px 12px;gap:12px}
.is-list img{width:38px;height:38px}.is-key{width:38px;height:38px}
.is-tp{font-size:.7rem;padding:4px 8px}

/* ===== route stops drawn on the map by the loot run guides ===== */
.route-pin{position:absolute;left:-16px;top:-16px;width:32px;height:32px;border-radius:50%;background:#ea2e37;color:#101010;border:2px solid #ff7980;box-shadow:0 0 0 3px rgba(0,0,0,.65),0 0 14px rgba(234,46,55,.6);font:700 15px/28px var(--f-mono);text-align:center;pointer-events:none;z-index:6}
.route-line{fill:none;stroke:#ea2e37;stroke-width:5;stroke-dasharray:14 11;stroke-linecap:round;stroke-linejoin:round;opacity:.9}

/* ===== YouTube banner ===== */
.yt-banner{display:grid;grid-template-columns:2fr 1fr;max-width:1120px;width:100%;margin:26px auto 8px;border:1px solid #6b2a2a;background:#090909;text-decoration:none;color:#e6e6e6;overflow:hidden;position:relative}
.yt-banner:hover{border-color:#e0594a;box-shadow:0 0 28px rgba(224,89,74,.22)}
.yt-art{display:block;overflow:hidden;min-height:140px}.yt-art img{display:block;width:100%;height:100%;object-fit:cover}
.yt-video{position:relative;display:flex;align-items:flex-end;min-height:140px;background:radial-gradient(circle at 50% 40%,#1c1c1c,#090909 75%);overflow:hidden}
.yt-thumb{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.9}
.yt-video::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85),transparent 55%)}
.yt-play{position:absolute;left:50%;top:42%;width:64px;height:64px;transform:translate(-50%,-50%);z-index:2;transition:transform .25s}.yt-play svg{width:100%;height:100%}
.yt-banner:hover .yt-play{transform:translate(-50%,-50%) scale(1.12)}
.yt-meta{position:relative;z-index:2;display:flex;flex-direction:column;gap:2px;padding:10px 14px;width:100%}
.yt-meta b{font:700 .62rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:#ff6a5c}.yt-meta em{font-style:normal;font-size:.9rem;line-height:1.25;font-weight:600;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@media (max-width:700px){.yt-banner{grid-template-columns:1fr}.yt-art{min-height:0;height:auto}.yt-video{min-height:170px}}
/* ===== progress on the tiles ===== */
.tile-prog{display:flex;flex-direction:column;gap:5px;margin:6px 0 4px;max-width:260px}
.tp-bar{height:6px;background:#181818;border:1px solid var(--line-2);border-radius:4px;overflow:hidden}.tp-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#bc2b32,#ff5760);transition:width .4s}
.tp-txt{font:600 .68rem/1.2 var(--f-mono);letter-spacing:.06em;color:var(--faint);text-transform:uppercase}.tile-prog.started .tp-txt{color:#c5c5c5}
.fl{position:absolute;white-space:nowrap;font:400 var(--sz,3rem)/1 'Nanum Brush Script','Noto Sans KR','Malgun Gothic','Apple SD Gothic Neo','Noto Sans CJK KR',serif;color:var(--gold);opacity:var(--op,.05);transform:rotate(var(--r,0deg));user-select:none}
.fl.en{font:500 var(--sz,.9rem)/1 var(--f-mono);letter-spacing:.3em}
@media (prefers-reduced-motion:no-preference){.fl{animation:flDrift var(--dur,60s) ease-in-out var(--del,0s) infinite alternate}#home[inert] .fl{animation-play-state:paused}}
@keyframes flDrift{from{transform:translate3d(0,0,0) rotate(var(--r,0deg))}to{transform:translate3d(var(--dx,6vw),var(--dy,-12vh),0) rotate(calc(var(--r,0deg) * -1))}}
/* ===== light motion: tile glow, a faint scan sweep, and gentle fades between pages ===== */
@media (prefers-reduced-motion:no-preference){
  .tile{transition:box-shadow .3s ease,border-color .3s ease}
  .tile:hover{box-shadow:0 0 0 1px rgba(234,46,55,.3),0 0 34px rgba(234,46,55,.14)}
  .tile-art::after{content:"";position:absolute;left:0;right:0;top:-34%;height:34%;background:linear-gradient(to bottom,transparent,rgba(234,46,55,.1),transparent);opacity:0;pointer-events:none}
  .tile:hover .tile-art::after{opacity:1;animation:tileScan 1.8s linear infinite}
  @keyframes tileScan{from{transform:translateY(0)}to{transform:translateY(420%)}}
  .screen.active{animation:scrIn .28s ease both}
  @keyframes scrIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .yt-play,.yt-banner{transition:transform .25s,border-color .3s,box-shadow .3s}
}
/* ===== phone bar ===== */
.botnav{display:none}
@media (max-width:760px){
  .botnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;align-items:flex-end;justify-content:space-around;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));background:rgba(8,8,8,.96);border-top:1px solid var(--gold);backdrop-filter:blur(6px)}
  .botnav button,
  .botnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0;border:0;background:none;color:#9e9e9e;font:600 .56rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
  .botnav svg{width:26px;height:26px}
  .botnav button.on,
  .botnav a.on{color:var(--gold-hi)}
  .botnav .hm{transform:translateY(-14px);flex:0 0 66px;height:66px;border-radius:50%;background:#121212;border:1px solid var(--gold);color:var(--gold-hi);justify-content:center;box-shadow:0 0 18px rgba(234,46,55,.25)}
  .botnav .hm svg{width:28px;height:28px}
  .screen{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
  .home{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
}

.gc-disc{width:64px;padding:4px 6px;background:#0d0d0d;border:1px solid var(--line-2);color:#ffffff;font:600 .9rem var(--f-mono);text-align:right}

/* ===== map: clear-route chip, Season 1 badge and card picture ===== */
.map-chip{position:absolute;left:14px;bottom:56px;z-index:12;padding:9px 14px;border:1px solid var(--gold);background:rgba(9,9,9,.9);color:var(--gold-hi);font:700 .66rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.map-chip:hover{background:rgba(234,46,55,.2)}
.soon-badge{display:inline-block;margin:6px 0 4px;padding:4px 9px;border:1px solid #22d3ee;color:#7ee9f5;background:rgba(34,211,238,.1);font:700 .62rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase}
.card-pic{display:block;width:100%;height:auto;margin:8px 0 6px;border:1px solid var(--line-2)}

/* ===== accounts: login button, menu and dialogs ===== */
.acct{position:relative;display:flex;align-items:stretch}.acct[hidden]{display:none}
.acct-btn{display:flex;align-items:center;gap:10px;padding:10px 20px;border:1px solid #6d2529;background:rgba(234,46,55,.08);color:var(--gold-hi);font:700 .8rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;min-height:62px}
.acct-btn:hover{background:rgba(234,46,55,.18)}.acct-btn svg{width:26px;height:26px;flex:none}
.acct-btn img{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none}.acct-btn i{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#1c1c1c;color:var(--gold-hi);font-style:normal;flex:none}
.acct-btn span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-btn b{color:var(--gold);font-size:.9rem}
.acct-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:80;min-width:250px;padding:8px;background:#0c0c0c;border:1px solid var(--gold);box-shadow:0 14px 36px rgba(0,0,0,.65);display:flex;flex-direction:column;gap:2px}
.acct-menu[hidden]{display:none}
.am-h{font:600 .58rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);padding:6px 8px 0}.am-n{padding:2px 8px 4px;font-weight:700;color:#ebebeb}.am-s{padding:0 8px 8px;font-size:.8rem;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px}
.acct-menu a,.acct-menu button{display:block;width:100%;text-align:left;padding:10px 8px;border:0;background:none;color:#dddddd;font:500 .92rem var(--f-body);text-decoration:none;cursor:pointer}
.acct-menu a:hover,.acct-menu button:hover{background:#161616;color:var(--gold-hi)}.acct-menu .danger{color:#ff8b7a}
.acct-link{margin:0;padding:0;border:0;background:none;color:var(--gold);font:inherit;text-decoration:underline;cursor:pointer}
.acct-dlg{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.72);padding:16px}
.acct-card{width:min(520px,100%);max-height:90vh;overflow:auto;padding:22px 24px;background:#0c0c0c;border:1px solid var(--gold);box-shadow:0 20px 60px rgba(0,0,0,.7)}
.acct-card h3{margin:0 0 12px;font:700 1.15rem/1.2 var(--f-display);letter-spacing:.06em;color:#ff5760;text-transform:uppercase}
.acct-body p{margin:0 0 10px;color:#cbcbcb;line-height:1.5}.acct-hint{font-size:.84rem;color:var(--faint)!important}
.acct-lab{display:block;margin-top:10px;color:#cbcbcb}.acct-lab input{display:block;width:100%;margin-top:6px;padding:10px 12px;background:#0d0d0d;border:1px solid var(--line-2);color:#ffffff;font:600 1rem var(--f-mono)}
.acct-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:16px}
.acct-b{padding:11px 16px;border:1px solid var(--line-2);background:#121212;color:#dddddd;font:700 .72rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.acct-b:hover{border-color:var(--gold);color:var(--gold-hi)}.acct-b.primary{border-color:var(--gold);background:rgba(234,46,55,.18);color:var(--gold-hi)}.acct-b.danger{border-color:#a8453a;background:rgba(200,70,50,.16);color:#ff9d8e}
@media (max-width:700px){.acct{flex:1 1 100%}.acct-btn{width:100%;justify-content:center}.acct-menu{left:0;right:0}}

/* login button: Discord logo and colour, full label */
.acct-btn.login{gap:12px;padding:10px 24px;background:#5865f2;border-color:#5865f2;color:#ffffff;font:700 .84rem/1.1 var(--f-mono);letter-spacing:.1em;box-shadow:0 0 0 1px rgba(255,255,255,.04) inset}
.acct-btn.login:hover{background:#4752c4;border-color:#4752c4}
.acct-btn.login:focus-visible{outline:2px solid #ffffff;outline-offset:2px}
.acct-btn.login svg{width:30px;height:30px}
.acct-btn.login span{max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap}

/* ===== my pins ===== */
.mypin{position:absolute;pointer-events:auto;will-change:transform;left:-17px;top:-17px;width:34px;height:34px;padding:0;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 0 2px rgba(0,0,0,.7),0 3px 10px rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:7;transition:filter .15s}
.mypin:hover,.mypin:focus-visible{filter:brightness(1.18);outline:2px solid #ffffff;outline-offset:2px}.mypin svg{width:19px;height:19px;pointer-events:none}.mypin[hidden]{display:none}
.mypin-ic{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:2px solid #ffffff;flex:none}.mypin-ic svg{width:22px;height:22px}
.pin-mode{cursor:crosshair}.pin-mode .mk,.pin-mode .mypin{cursor:crosshair}
.pin-chip{left:50%;transform:translateX(-50%);bottom:56px;border-color:#4da3ff;color:#bfe0ff;white-space:nowrap;max-width:94%;overflow:hidden;text-overflow:ellipsis}
.pin-add{display:block;width:100%;margin:6px 0 4px;padding:9px 12px;border:1px solid #4da3ff;background:rgba(77,163,255,.12);color:#bfe0ff;font:700 .66rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.pin-add:hover{background:rgba(77,163,255,.25)}
.pin-actions{display:flex;gap:8px;margin-top:12px}.pin-actions button{flex:1;padding:9px 8px;border:1px solid var(--line-2);background:#121212;color:#dddddd;font:700 .62rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.pin-actions button:hover{border-color:var(--gold);color:var(--gold-hi)}.pin-actions .danger{color:#ff9d8e;border-color:#6d2f28}
.pin-dlg textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;background:#0d0d0d;border:1px solid var(--line-2);color:#ffffff;font:500 .95rem/1.4 var(--f-body);resize:vertical}
.pn-row{margin-top:12px}.pn-row>span{display:block;margin-bottom:6px;font:600 .62rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.pn-sw,.pn-ic{display:flex;flex-wrap:wrap;gap:8px}
.pn-sw button{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer}.pn-sw button[aria-checked=true]{border-color:#ffffff;box-shadow:0 0 0 2px #000000,0 0 0 4px var(--gold)}
.pn-ic button{width:42px;height:42px;padding:0;border:1px solid var(--line-2);background:#121212;cursor:pointer;display:flex;align-items:center;justify-content:center}.pn-ic button svg{width:24px;height:24px}.pn-ic button[aria-checked=true]{border-color:var(--gold);background:rgba(234,46,55,.2)}

/* ===== home panel: Latest COD Patch Notes, Latest DMZ Update{display:grid;grid-template-columns:minmax(250px,.95fr) minmax(0,1.55fr) minmax(250px,.95fr);grid-template-areas:"cod latest search";gap:16px;max-width:1340px;align-items:stretch}
.hp3 .cod-card{grid-area:cod}.hp3 .latest{grid-area:latest;max-width:none;flex:none}
.hp3 .cod-card,.hp3 .latest{padding:20px 22px;border:1px solid var(--line-2);background:linear-gradient(180deg,#121212,#0a0a0a);min-width:0;position:relative;box-shadow:inset 0 1px 0 rgba(234,46,55,.07)}
.hp3 .cod-card,.hp3 .latest{display:flex;flex-direction:column;gap:12px}
.hp3 .latest::before,.hp3 .cod-card::before{content:"";position:absolute;left:-1px;top:-1px;width:26px;height:26px;border-left:2px solid var(--gold);border-top:2px solid var(--gold);pointer-events:none}
.hp-h{margin:0;font:700 1.12rem/1.15 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.hp-h a{color:inherit;text-decoration:none}.hp-h a:hover{color:var(--gold-hi);text-decoration:underline;text-underline-offset:5px}
/* patch notes card */
.cod-link{display:flex;flex-direction:column;gap:8px;flex:1;color:inherit;text-decoration:none}
.cod-img{display:block;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line-2);border-left:4px solid var(--gold);background:#0b0b0b}
.cod-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.cod-link:hover .cod-img img{transform:scale(1.04)}
.cod-fb{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:radial-gradient(circle at 30% 20%,rgba(234,46,55,.28),transparent 60%),repeating-linear-gradient(45deg,#121212 0 12px,#0e0e0e 12px 24px)}
.cod-fb b{font:700 2.2rem/1 var(--f-display);letter-spacing:.08em;color:var(--gold-hi)}.cod-fb i{font:600 .7rem/1 var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:6px;font-style:normal}
.cod-tags{display:flex;gap:6px;margin-top:4px}.cod-tags b,.cod-tags i{padding:5px 8px;font:700 .66rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;font-style:normal}
.cod-tags b{background:#cecece;color:#101010}.cod-tags i{border:1px solid #4e4e4e;color:#c5c5c5}
.cod-title{font:700 1.45rem/1.15 var(--f-display);color:#ebebeb}.cod-when{font:500 .82rem/1.3 var(--f-mono);color:var(--faint)}
.cod-go{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font:700 1rem/1 var(--f-body);color:var(--gold)}.cod-link:hover .cod-go{color:var(--gold-hi)}
/* latest DMZ update */
.hp3 .latest-head{margin:0}.hp3 .latest-all{padding:10px 14px;border:1px solid var(--line-2);color:#d5d5d5;font:600 .72rem/1 var(--f-mono);letter-spacing:.12em}.hp3 .latest-all:hover{border-color:var(--gold);color:var(--gold-hi)}
.hp3 #latestList{gap:12px}
.hp3 .latest-item{gap:9px;padding:16px;border:1px solid var(--line);background:linear-gradient(#0e0e0e,#0a0a0a);transition:border-color .15s,transform .15s}.hp3 .latest-item:hover{border-color:var(--gold);transform:translateY(-1px)}
.hp3 .latest-top{display:flex;flex-wrap:wrap;gap:8px}.lt-badge{padding:7px 11px;border:1px solid #6d2529;color:var(--gold);background:rgba(234,46,55,.08);font:700 .72rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase}
.lt-badge.lt-watch{border-color:#921c22;color:#f32e38}.lt-badge.lt-ok{border-color:#1f7a55;color:#35e0a0;background:rgba(53,224,160,.07)}
.lt-new{padding:7px 9px;font:700 .64rem/1 var(--f-mono);letter-spacing:.12em;background:var(--gold);color:#101010}
.hp3 .latest-date{font:500 .8rem/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.hp3 .latest-title{font:700 1.32rem/1.18 var(--f-display);color:#ebebeb}.hp3 .latest-sum{font-size:.98rem;line-height:1.45;color:#b6b6b6;-webkit-line-clamp:3}
.latest-read{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font:700 .98rem/1 var(--f-body);color:var(--gold)}
.hp3 .latest-meta{margin:auto 0 0;font:500 .82rem/1.2 var(--f-mono);color:var(--faint)}
.is-wrap.has-ic input{padding:15px 16px 15px 50px;border:2px solid var(--gold);background:#0a0a0a;font-size:1.1rem}.is-wrap.has-ic input:focus{box-shadow:0 0 0 3px rgba(234,46,55,.22)}
.is-mag{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:24px;height:24px;color:#d5d5d5;pointer-events:none;display:flex}.is-mag svg{width:100%;height:100%}
@media (max-width:700px){.hp3 #latestList{grid-template-columns:1fr}.hp3 .cod-card,.hp3 .latest{padding:18px 16px}.hp-h{font-size:1rem;letter-spacing:.16em}.hp3 .latest-head{flex-wrap:wrap}}
/* upgrade tracker: Still to collect */
.up-nh-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px}
.up-full{padding:8px 12px;border:1px solid var(--gold);background:rgba(234,46,55,.1);color:var(--gold-hi);font:700 .68rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.up-full:hover{background:rgba(234,46,55,.22)}
.up-hint{margin:6px 0 8px;font:500 .72rem/1.3 var(--f-mono);color:var(--faint)}
button.up-chip{font:inherit;color:inherit;cursor:pointer;text-align:left}button.up-chip:hover,button.up-chip:focus-visible{border-color:var(--gold);background:#121212;outline:none}
.tip-hint{display:block;margin-top:4px;font:600 .66rem/1.2 var(--f-mono);letter-spacing:.08em;color:var(--gold);font-style:normal;text-transform:uppercase}
/* full upgrade item list */
.ul-top .ul-fine{margin:8px 0 0;font-size:.85rem;color:var(--muted)}
.ul-tools{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:14px 0}
.ul-tools input[type=search]{flex:1 1 220px;min-width:0;padding:11px 14px;background:#0d0d0d;border:1px solid var(--line-2);color:#ffffff;font:500 .95rem var(--f-body)}.ul-tools input[type=search]:focus{outline:none;border-color:var(--gold)}
.ul-sel,.ul-chk{display:flex;align-items:center;gap:8px;font:600 .66rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ul-sel select{padding:9px 10px;background:#0d0d0d;border:1px solid var(--line-2);color:#ffffff;font:500 .9rem var(--f-body)}
.ul-reset{padding:10px 13px;border:1px solid var(--line-2);background:none;color:#c5c5c5;font:600 .62rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.ul-reset:hover{border-color:#a8453a;color:#ff9d8e}
.ul-list{display:flex;flex-direction:column;gap:10px;padding-bottom:40px}
.ul-row{display:grid;grid-template-columns:56px minmax(0,1fr) 92px 170px 110px;gap:8px 16px;align-items:center;padding:14px 16px;border:1px solid var(--line);background:linear-gradient(#0e0e0e,#0a0a0a);position:relative}
.ul-row.ok{border-color:#1f7a55;background:linear-gradient(#111111,#0c0c0c)}
.ul-ic{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#0a0a0a;border:1px solid var(--line)}.ul-ic img{width:42px;height:42px;object-fit:contain}.ul-ic.cash{font:700 1.5rem var(--f-display);color:var(--gold-hi)}
.ul-name{padding:0;border:0;background:none;color:#ebebeb;font:700 1.08rem/1.2 var(--f-display);text-align:left}button.ul-name{cursor:pointer}button.ul-name:hover{color:var(--gold-hi);text-decoration:underline;text-underline-offset:3px}
.ul-where{display:flex;flex-direction:column;gap:3px;margin-top:5px;font-size:.88rem;line-height:1.4;color:#b6b6b6}.ul-unk{color:var(--faint);font-style:italic}
.ul-act{display:flex;gap:8px;margin-top:8px}.ul-btn{padding:6px 10px;border:1px solid var(--line-2);background:#0d0d0d;color:var(--gold);font:600 .62rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.ul-btn:hover{border-color:var(--gold);color:var(--gold-hi)}
.ul-lab{display:block;margin-bottom:4px;font:600 .58rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.ul-nd b,.ul-lf b{font:700 1.25rem/1.1 var(--f-display);color:#ebebeb}.ul-row.ok .ul-lf b{color:#35e0a0;font-size:1rem}
.ul-step{display:flex;align-items:stretch}.ul-step button{width:38px;border:1px solid var(--line-2);background:#121212;color:var(--gold-hi);font:700 1.25rem/1 var(--f-body);cursor:pointer}.ul-step button:hover{border-color:var(--gold);background:#161616}
.ul-step input{width:84px;min-width:0;padding:8px 6px;text-align:center;background:#0a0a0a;border:1px solid var(--line-2);border-left:0;border-right:0;color:#ffffff;font:700 1rem var(--f-mono);-moz-appearance:textfield}.ul-step input::-webkit-outer-spin-button,.ul-step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ul-step input:focus{outline:none;border-color:var(--gold)}
.ul-bar{grid-column:1/-1;height:4px;background:#181818}.ul-bar i{display:block;height:100%;background:var(--gold);transition:width .2s}.ul-row.ok .ul-bar i{background:#35e0a0}
.ul-empty{padding:24px;text-align:center;color:var(--muted)}
@media (max-width:860px){.ul-row{grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"ic main nd" "hv hv lf" "bar bar bar"}.ul-ic{grid-area:ic;width:46px;height:46px}.ul-main{grid-area:main}.ul-nd{grid-area:nd;text-align:right}.ul-hv{grid-area:hv}.ul-lf{grid-area:lf;text-align:right}.ul-bar{grid-area:bar}.ul-step input{width:100px}}
.tip b{display:block;margin-bottom:3px;font:700 1rem/1.1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;color:var(--text)}.tip i{display:block;margin-top:3px;font-style:normal;color:var(--gold);font-size:.8rem}

.hp3 .cod-card .hp-h{font-size:1rem;letter-spacing:.15em}
.hp3 .latest-title{font-size:1.2rem}.hp3 .latest-sum{font-size:.92rem}.hp3 .latest-item{padding:14px}
.hp3 .latest-date{white-space:nowrap}
.hp3 .latest-read{font-size:.9rem;white-space:nowrap}.hp3 .cod-go{white-space:nowrap}
/* two tiles on the last row sit together in the middle: on 3-across screens the grid is split into six half-columns */
@media (min-width:1001px){
  .modules{grid-template-columns:repeat(6,minmax(0,1fr))}.modules>li{grid-column:span 2}
  .modules>li:last-child:nth-child(3n+1){grid-column:3 / span 2}
  .modules>li:nth-last-child(2):nth-child(3n+1){grid-column:2 / span 2}
}
.up-share{margin:2px 0 0;font:500 .72rem/1.3 var(--f-body);color:#9a9a9a}

/* ===== phones ===== */
@media (max-width:700px){
  .wm-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .sc-name{font-size:.74rem}
  /* shorter page headings so the tools start near the top */
  .gear-hero{margin-bottom:14px;padding:2px 0 2px 14px}
  .gear-hero h1{font-size:1.9rem;margin:4px 0}
  .gear-hero p{font-size:.9rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  /* bigger things to tap */
  .lg-row{padding:10px 4px;min-height:44px}.lg-row input{width:22px;height:22px}
  .lg-actions button,.lg-clear{min-height:40px;padding:0 14px}
  .up-step{width:44px;height:44px;font-size:1.2rem}
  .ul-step button{width:44px;min-height:44px}
  .lt-chip{min-height:40px;padding:10px 14px}
  .up-undo,.ul-reset{min-height:40px}
  .ul-chk{min-height:44px;font-size:.72rem}.ul-chk input,#gcOwn{width:22px;height:22px}
  .cart-head label{min-height:40px;display:flex;align-items:center;gap:8px}
  .tnode{min-width:0}
  /* nothing smaller than 12px */
  .eyebrow{font-size:.75rem}
  .tile-note,.ul-fine,.up-note,.card-meta,.foot a,footer a{font-size:.75rem}
  /* Traits: show the trees large with tabs to move between them */
  .tr-tabs{display:flex;position:sticky;top:0;z-index:5;gap:6px;padding:8px;background:#0a0a0a;border-bottom:1px solid var(--line);overflow-x:auto}
  .tr-tabs button{flex:1;min-height:42px;padding:0 10px;border:1px solid var(--line-2);background:#0d0d0d;color:#c5c5c5;font:600 .72rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
  .tr-tabs button.on{border-color:var(--c);color:#eeeeee;box-shadow:inset 0 -3px 0 var(--c)}
  .tr-body{display:block;place-items:initial;padding:10px 0;scroll-snap-type:x proximity}
  .tr-stage{width:335vw;max-width:none}
}


/* ===== UI overhaul (Nov 2026): red / white / black / grey ===== */
:root{--sb:64px;--bar:104px;--red:#e3262d;--red-hi:#ff4148;--red-d:#7d1418;--card:#101011;--card-2:#161618;--edge:#2b2b2e;
  --f-display:"Saira Condensed","Arial Narrow",Impact,sans-serif;--f-mono:"Barlow Condensed","Arial Narrow",system-ui,sans-serif}
body{background:#060607}
.ic{width:24px;height:24px;flex:none}
/* ---- site bar (every page) ---- */
.sitebar{position:fixed;left:0;right:0;top:0;z-index:70;height:calc(var(--sb) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) clamp(12px,2.4vw,32px) 0;display:flex;align-items:center;gap:16px;background:#070708;border-bottom:1px solid #1f1f22}
.sb-logo{display:flex;align-items:center;height:100%;padding:10px 0}
.sb-logo img{display:block;height:38px;width:auto}
body:not(.in-module) .sb-logo{visibility:hidden}
.sb-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.sb-btn{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px;border:2px solid var(--red);color:#fff;text-decoration:none;font:700 .95rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;background:transparent;transition:background .2s}
.sb-btn:hover,.sb-btn:focus-visible{background:rgba(227,38,45,.16);outline:none}
.sb-btn .dc{width:24px;height:24px}
.sitebar .acct-btn,.sitebar .acct-btn.login{height:42px;padding:0 18px;border:2px solid var(--red);background:var(--red);color:#fff;font:700 .95rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;gap:10px}
.sitebar .acct-btn.login:hover{background:var(--red-hi);border-color:var(--red-hi)}
.sitebar .acct-btn.on{background:transparent;border-color:#3a3a3e}
.sitebar .acct-btn svg{width:24px;height:24px}.sitebar .acct-btn img{width:28px;height:28px}
@media (max-width:700px){:root{--sb:54px}.sb-logo img{height:28px}.sb-btn span{display:none}.sb-btn{padding:0 11px;height:38px}.sitebar .acct-btn,.sitebar .acct-btn.login{height:38px;padding:0 12px;font-size:.85rem}.sitebar .acct-btn.login span{max-width:none}.acct{flex:none}.acct-menu{left:auto;right:0}}
@media (max-width:420px){.sitebar .acct-btn.login span{display:none}}
/* ---- module screens: below the site bar, breadcrumb + heading ---- */
.screen{top:calc(var(--sb) + env(safe-area-inset-top,0px));padding-top:0}
.modbar{height:auto;flex:0 0 auto;display:block;background:#08080a;border-bottom:1px solid var(--edge);padding:0 clamp(12px,2.4vw,32px)}
.modbar::after{display:none}
.crumbs{display:flex;align-items:center;gap:8px;height:34px;color:#cfcfcf;font:500 .95rem/1 var(--f-body)}
.crumbs .home-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 2px;border:0;background:none;color:#e9e9e9;font:500 .95rem/1 var(--f-body);letter-spacing:0;text-transform:none}
.crumbs .home-btn .ic{width:17px;height:17px}
.crumbs .home-btn:hover,.crumbs .home-btn:focus-visible{background:none;color:var(--red-hi)}
.cr-sep{color:var(--red);font-size:1.2rem;line-height:1}
.crumbs b{font-weight:500;color:#f2f2f2}
.phead{display:flex;align-items:center;min-height:68px;gap:14px;padding-bottom:6px}
.pico{display:flex;color:#f2f2f2}.pico .ic{width:40px;height:40px;stroke-width:1.5}
.phead .modtitle{flex:1;min-width:0;flex-direction:row;align-items:center;gap:18px;padding:0}
.phead .modtitle strong{font:800 clamp(1.6rem,2.6vw,2.5rem)/1 var(--f-display);letter-spacing:.02em;color:#fff}
.phead .modtitle span{margin:0;padding-left:18px;border-left:3px solid var(--red);color:#cfcfcf;font:600 .92rem/1.2 var(--f-mono);letter-spacing:.16em;white-space:nowrap}
.phead .modstat{border:0;padding:0 8px;align-items:flex-end;color:#a5a5a5;font:600 .8rem/1.3 var(--f-mono)}
.phead .modstat strong{color:var(--red-hi);font:800 1.25rem/1 var(--f-display)}
.phead .modbtn{align-self:center;height:40px;padding:0 16px;border:1px solid #3b3b40;background:#0e0e10;color:#ececec;font:700 .9rem/1 var(--f-display);letter-spacing:.06em;border-radius:3px}
.phead .modbtn:hover,.phead .modbtn:focus-visible{border-color:var(--red);color:#fff;background:#1a0d0e}
.phead .tree-counts{align-self:center}
@media (max-width:1100px){.phead .modtitle span{display:none}}
@media (max-width:760px){:root{--bar:88px}.modbar{padding:0 12px}.crumbs{height:28px;font-size:.85rem}.phead{min-height:56px;gap:10px}.pico .ic{width:30px;height:30px}.phead .modtitle strong{font-size:1.45rem}.phead .modbtn{height:38px;padding:0 12px}.phead .modbtn.mobile-only{display:block}}
/* ---- home ---- */
.home{padding:calc(var(--sb) + env(safe-area-inset-top,0px) + 14px) clamp(12px,2vw,28px) 24px;display:block}
.home::before{background:#060607}
.hm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px);gap:18px;max-width:1720px;margin:0 auto;align-items:start}
.hm-main{display:flex;flex-direction:column;gap:14px;min-width:0}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(230px,24vw,330px);padding:clamp(18px,2.4vw,34px);display:flex;flex-direction:column;justify-content:space-between;gap:14px;border:1px solid var(--edge);background:#0b0b0c}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 45%;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,6,7,.92) 0%,rgba(6,6,7,.7) 38%,rgba(6,6,7,.15) 70%,rgba(6,6,7,.35) 100%),linear-gradient(0deg,rgba(6,6,7,.85),transparent 45%)}
.hero-logo{margin:0;max-width:min(620px,74%)}.hero-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 18px rgba(0,0,0,.6))}
.hero .hub-intro{margin:0;padding:0;max-width:560px;text-align:left;color:#dcdcdc;font-size:1rem;line-height:1.45;text-shadow:0 1px 6px #000}
.hero-search{display:flex;align-items:stretch;gap:16px;padding:0;border:0;background:none}
.hero-search .is-wrap{flex:1 1 0;display:flex;align-items:stretch;background:#fff;border-radius:4px;min-width:0}
.hero-search .is-wrap.has-ic input{flex:1;min-width:0;width:auto;padding:14px 12px 14px 54px;border:0;border-radius:4px 0 0 4px;background:#fff;color:#111;font:600 1.05rem/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.hero-search .is-wrap input::placeholder{color:#444;opacity:1}
.hero-search .is-wrap input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--red)}
.hero-search .is-mag{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#111;width:26px;height:26px;display:flex;z-index:2}.hero-search .is-mag .ic{width:26px;height:26px;stroke-width:2.2}
.hs-go{flex:none;margin:4px;padding:0 clamp(18px,3vw,46px);border:0;border-radius:3px;background:var(--red);color:#fff;font:800 1.15rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
.hs-go:hover{background:var(--red-hi)}
.hs-sep{flex:none;width:2px;background:#d8d8d8;margin:8px 0;opacity:.6}
.hs-full{flex:none;display:flex;align-items:center;gap:12px;padding:0 22px;border:2px solid var(--red);border-radius:4px;background:rgba(8,8,9,.75);color:#fff;font:700 1.1rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.hs-full:hover{background:rgba(227,38,45,.2)}
.hero-search .is-list{top:calc(100% + 6px);z-index:80;border:1px solid var(--edge);background:#0d0d0e;box-shadow:0 18px 50px #000c}
.is-list li.on{background:#1c1c1f}
.is-tp{margin-left:auto;padding:4px 8px;border:1px solid #3a3a3e;color:#cfcfcf;font:700 .7rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.is-sv{display:inline-flex;width:32px;height:32px;flex:none;align-items:center;justify-content:center;color:#e8e8e8}.is-sv .ic{width:26px;height:26px}
.hm-feature,.hm-track,.hm-small{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.hm-feature{grid-template-columns:1fr 1fr}
.hm-track{grid-template-columns:repeat(4,minmax(0,1fr))}
.hm-small{grid-template-columns:repeat(5,minmax(0,1fr))}
.ftile,.ttile,.stile{position:relative;width:100%;height:100%;text-align:left;color:#fff;border:1px solid var(--edge);background:var(--card);overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s}
.ftile:hover,.ttile:hover,.stile:hover,.ftile:focus-visible,.ttile:focus-visible,.stile:focus-visible{border-color:var(--red);outline:none}
.ftile{display:flex;align-items:flex-end;min-height:clamp(190px,15vw,250px);padding:0;isolation:isolate}
.ft-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.ftile:hover .ft-img{transform:scale(1.04)}
.ftile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,5,6,.95) 0%,rgba(5,5,6,.55) 42%,rgba(5,5,6,0) 75%)}
.ft-txt{display:flex;flex-direction:column;gap:4px;padding:18px 22px}
.ft-eb{color:var(--red-hi);font:800 1.25rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase}
.ft-title{display:flex;align-items:center;gap:8px;font:800 clamp(1.9rem,2.8vw,2.8rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.01em;text-shadow:0 2px 12px #000}
.ft-title .ic{width:30px;height:30px;stroke-width:2.6}
.ft-facts{color:#e2e2e2;font:600 .95rem/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase}.ft-facts i,.tt-fact i{font-style:normal;color:#8a8a8a;padding:0 4px}
.ft-note{color:#b5b5b5;font:500 .82rem/1.3 var(--f-body)}
.ttile{display:flex;flex-direction:column;gap:8px;min-height:150px;padding:18px 20px 16px;isolation:isolate;background:linear-gradient(160deg,#161618,#0c0c0d)}
.tt-art{position:absolute;right:-6px;top:-4px;height:118%;width:auto;max-width:60%;opacity:.16;z-index:-1;filter:grayscale(1)}
.tt-head{display:flex;align-items:center;gap:12px}.tt-head .ic{width:36px;height:36px;stroke-width:1.5}
.tt-title{font:800 1.45rem/1.02 var(--f-display);text-transform:uppercase}
.tt-fact{color:#a9a9a9;font:600 .82rem/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.ttile .tile-prog{margin:auto 0 0;max-width:none;display:grid;gap:7px}
.ttile .tp-txt{color:#d8d8d8;font:600 .84rem/1.2 var(--f-mono);letter-spacing:.08em}
.ttile .tp-bar{height:9px;border:0;border-radius:6px;background:#2a2a2d}.ttile .tp-bar i{background:var(--red);border-radius:6px}
.ttile .tile-note{color:#8b8b8b;font:500 .74rem/1.3 var(--f-body)}
.stile{display:flex;align-items:center;gap:12px;min-height:78px;padding:12px 16px}
.stile .ic{width:34px;height:34px;stroke-width:1.6}
.st-title{flex:1;font:800 1.2rem/1.02 var(--f-display);text-transform:uppercase}
.stile .ic:last-child{width:18px;height:18px;stroke-width:2.6;color:#d0d0d0}
.hm-main .yt-banner{max-width:none;margin:0;border:1px solid #6d1a1e}
.hm-main .yt-banner:hover{border-color:var(--red);box-shadow:0 0 26px rgba(227,38,45,.25)}
.hm-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--sb) + 14px)}
.hm-side .latest,.hm-side .cod-card{position:relative;padding:18px 20px;border:1px solid var(--edge);background:#0e0e0f;display:flex;flex-direction:column;gap:12px}
.hm-side .latest::before,.hm-side .cod-card::before{display:none}
.hm-side .hp-h,.hm-side .latest-head h2{position:relative;margin:0;padding-bottom:10px;font:800 1.55rem/1 var(--f-display);letter-spacing:.02em;text-transform:uppercase;color:#fff}
.hm-side .hp-h a{color:#fff;text-decoration:none}.hm-side .hp-h a span{color:var(--red)}
.hm-side .latest-head{border-bottom:3px solid var(--red);padding-bottom:0;margin:0}.hm-side .latest-head h2{padding-bottom:10px}
.hm-side .cod-card .hp-h{border-bottom:3px solid var(--red)}
.hm-side .latest-all{border:1px solid #d9d9d9;color:#fff;font:700 .85rem/1 var(--f-display);letter-spacing:.05em;padding:8px 12px}
.hm-side .latest-item{border:0;border-bottom:1px solid var(--edge);background:none;padding:6px 0 14px}
.hm-side .lt-badge{border:0;background:var(--red);color:#fff;font:700 .78rem/1 var(--f-display);letter-spacing:.06em}
.hm-side .latest-title{font:700 1.08rem/1.25 var(--f-body)}.hm-side .latest-sum{font-size:.9rem}
.hm-side .latest-read,.hm-side .cod-go{color:var(--red-hi);border:0;padding-top:4px}
.home-foot{max-width:1720px;margin:18px auto 0;text-align:center}
@media (max-width:1280px){.hm-grid{grid-template-columns:minmax(0,1fr) 340px}.hm-small{grid-template-columns:repeat(3,minmax(0,1fr))}.hm-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.hm-grid{grid-template-columns:1fr}.hm-side{position:static;display:grid;grid-template-columns:1fr 1fr}}
@media (max-width:700px){.home{padding-inline:10px}.hm-side{grid-template-columns:1fr}.hm-feature{grid-template-columns:1fr}.hm-small{grid-template-columns:1fr 1fr}.hero-search{flex-wrap:wrap}.hs-sep{display:none}.hs-full{flex:1 1 100%;justify-content:center;min-height:48px}.hero-logo{max-width:100%}.hero .hub-intro{font-size:.9rem}.hero-search .is-wrap.has-ic input{font-size:.9rem;padding-left:46px}.hs-go{padding:0 14px;font-size:1rem}.ttile{min-height:136px}}
@media (max-width:420px){.hm-track{grid-template-columns:1fr}}
/* phone bottom bar */
@media (max-width:760px){.botnav{border-top-color:var(--red);background:rgba(7,7,8,.97)}.botnav .hm{background:#160809;border-color:var(--red);box-shadow:0 0 18px rgba(227,38,45,.3)}.botnav button.on{color:#fff}}
.phead .modtitle{justify-content:flex-start}
.ttile .tt-fact{display:none}
.sb-logo img{height:34px}
@media (max-width:700px){.sb-logo img{height:24px}}
@media (max-width:700px){.hm-small{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-small li:last-child{grid-column:1/-1}.stile{padding:10px 12px;gap:10px}.st-title{font-size:1.05rem;min-width:0}.hm-feature{grid-template-columns:minmax(0,1fr)}}
/* ===== Round 2: trackers and Upgrades ===== */
.gear-body{padding-inline:clamp(12px,2.4vw,32px);padding-block:16px 28px}
.gear-body>*{max-width:1720px;margin-inline:auto}
.box{background:var(--card);border:1px solid var(--edge);border-radius:4px}
.box-h{margin:0 0 12px;font:800 1.35rem/1 var(--f-display);text-transform:uppercase;color:#fff;letter-spacing:.01em}
.up-undo{border-radius:3px;font:700 .82rem/1 var(--f-display);letter-spacing:.06em;color:#dcdcdc;padding:9px 14px}
.up-undo:hover{border-color:var(--red);color:#fff}
.up-note{color:#9c9c9c;font-size:.86rem}
.trk-bar{position:relative;height:14px;border-radius:8px;background:#2a2a2d;overflow:hidden;box-shadow:inset 0 0 0 1px #343438}
.trk-bar i{display:block;height:100%;width:0;background:var(--red);border-radius:8px;transition:width .35s}
.trk-bar.sm{height:9px}
.trk-prog{padding:16px 20px;display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.trk-ph{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.trk-ph h2{margin:0;font:800 1.35rem/1 var(--f-display);text-transform:uppercase}
.trk-ph strong{font:800 1.6rem/1 var(--f-display);color:var(--red-hi)}.trk-ph em{font-style:normal;color:#e8e8e8;font-size:1.15rem}
.trk-pf{display:flex;align-items:center;justify-content:space-between;gap:12px}
.trk-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.trk-search{position:relative;flex:1 1 280px;max-width:460px;display:flex;align-items:center;background:#fff;border-radius:4px}
.trk-search .ic{position:absolute;left:12px;width:22px;height:22px;color:#111;stroke-width:2.2}
.trk-search input{width:100%;padding:11px 12px 11px 42px;border:0;border-radius:4px;background:#fff;color:#111;font:500 1rem/1.2 var(--f-body)}
.trk-search input:focus{outline:2px solid var(--red);outline-offset:1px}
.trk-chips{display:flex;flex-wrap:wrap;gap:8px}
.trk-div{width:2px;align-self:stretch;background:#3a3a3e;margin:2px 4px}
.trk-chip{padding:10px 14px;border:1px solid #3a3a3e;border-radius:4px;background:#0d0d0e;color:#e6e6e6;font:700 .88rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.trk-chip:hover{border-color:#6a6a70}.trk-chip.on{background:var(--red);border-color:var(--red);color:#fff}
.trk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.trk-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px 14px;text-align:left;border:1px solid var(--edge);border-radius:4px;background:linear-gradient(160deg,#151517,#0c0c0d);color:#fff;cursor:pointer;transition:border-color .2s}
.trk-card:hover,.trk-card:focus-visible{border-color:#6a6a70;outline:none}
.trk-card.on{border:2px solid var(--red);padding:15px 17px 13px}
.tc-h{display:flex;flex-direction:column;gap:3px;min-height:52px}
.tc-n{font:800 1.3rem/1.05 var(--f-display);text-transform:uppercase}
.tc-h small{color:#bdbdbd;font:600 .8rem/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
.tc-pic{display:flex;align-items:center;justify-content:center;height:130px;border:1px solid #232326;background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/20px 20px,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/20px 20px,#0a0a0b}
.tc-pic img{max-width:88%;max-height:112px;object-fit:contain}
.trk-card:not(.on) .tc-pic img{opacity:.72;filter:grayscale(.35)}
.tc-f{display:flex;align-items:center;gap:10px}
.tc-box{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid #bdbdbd;border-radius:3px;color:transparent}
.tc-box svg{width:16px;height:16px}
.trk-card.on .tc-box{background:var(--red);border-color:var(--red);color:#fff}
.tc-st{font:800 1.05rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;color:#d9d9d9}.trk-card.on .tc-st{color:#fff}
.wm-grid .tc-pic img,#wmGrid .tc-pic img{max-height:96px}
@media (max-width:700px){.trk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trk-card{padding:12px}.trk-card.on{padding:11px}.tc-n{font-size:1.05rem}.tc-h{min-height:44px}.tc-pic{height:92px}.tc-pic img{max-height:80px}.trk-div{display:none}.trk-search{max-width:none;flex-basis:100%}.trk-chip{padding:10px 11px;font-size:.8rem}.trk-ph strong{font-size:1.3rem}.trk-pf{flex-wrap:wrap}}
/* upgrades */
.up-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:16px;align-items:start}
.up-left{display:flex;flex-direction:column;gap:14px;min-width:0}
.up-acct{padding:16px 20px;display:flex;flex-direction:column;gap:10px}
.up-acct-row{display:flex;align-items:center;gap:16px}
.up-pct{font:800 2.6rem/1 var(--f-display);color:#fff;min-width:88px}
.up-acct-row .trk-bar{flex:1}
.up-cnt{display:flex;flex-direction:column;align-items:flex-start}.up-cnt strong{font:800 1.3rem/1 var(--f-display);color:#fff}.up-cnt small{color:#bdbdbd;font:600 .78rem/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.up-linesbox,.up-needbox{padding:16px 18px}
.up-lines{display:flex;flex-direction:column;gap:8px}
.up-line{display:grid;grid-template-columns:44px minmax(0,1.3fr) auto minmax(0,1fr) 20px;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--edge);border-radius:4px;background:#0d0d0e;color:#fff;text-align:left;cursor:pointer}
.up-line:hover{border-color:#5a5a60}.up-line.sel{border:2px solid var(--red);padding:9px 11px;background:#120c0d}
.ul-ic img{width:40px;height:40px;object-fit:contain;display:block}
.ul-t{display:flex;flex-direction:column;min-width:0}.ul-t b{font:800 1.12rem/1.05 var(--f-display);text-transform:uppercase}.ul-t small{color:#aaa;font-size:.8rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ul-tier{padding:7px 10px;border:1px solid #444;border-radius:3px;font:800 .9rem/1 var(--f-display);white-space:nowrap}
.up-line.complete .ul-tier{border-color:#2e7d4f;color:#7de3a6}
.ul-p{display:flex;flex-direction:column;gap:6px;min-width:0}.ul-pl{display:flex;justify-content:space-between;gap:6px;color:#cfcfcf;font:600 .78rem/1.1 var(--f-mono);letter-spacing:.04em;white-space:nowrap}
.up-line>.ic{width:18px;height:18px;color:#cfcfcf}
.up-grid{display:block}
.up-grid .up-card{display:none}
.up-grid .up-card.sel{display:flex;flex-direction:column;gap:14px;padding:20px 22px;border:1px solid var(--edge);border-radius:4px;background:var(--card);position:sticky;top:0}
.up-card .up-head{display:flex;align-items:center;gap:16px}
.up-card .up-ic img{width:58px;height:58px;object-fit:contain}
.up-card h3{margin:0;font:800 clamp(1.6rem,2.2vw,2.2rem)/1 var(--f-display);text-transform:uppercase;color:#fff}
.up-card .up-tier{display:inline-block;margin-top:8px;padding:7px 10px;border:1px solid var(--red);border-radius:3px;color:#fff;font:800 .95rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase}
.up-card .up-eff{color:#d6d6d6;font-size:1rem;line-height:1.45}
.up-card .up-reqs{display:flex;flex-direction:column;border:1px solid var(--edge);border-radius:4px;overflow:hidden}
.up-card .up-req{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n c" "s s" "b b";gap:6px 14px;padding:12px 14px;border-bottom:1px solid var(--edge);background:#0c0c0d}
.up-card .up-req:last-child{border-bottom:0}
.up-card .up-rn{grid-area:n;display:flex;align-items:center;gap:10px;min-width:0}.up-card .up-rn img{width:32px;height:32px;object-fit:contain}.up-card .up-rn span{font:600 1rem/1.2 var(--f-body);color:#f0f0f0}.up-card .up-rn em{margin-left:auto;padding-left:10px;font-style:normal;color:#cfcfcf;font:700 .95rem/1 var(--f-display);white-space:nowrap}
.up-card .up-share{grid-area:s;margin:0;color:#9a9a9a;font-size:.8rem}
.up-card .up-ctl{grid-area:c;display:flex;align-items:center;gap:6px}
.up-card .up-step{width:36px;height:36px;border:1px solid #d9d9d9;border-radius:4px;background:#0b0b0c;color:#fff;font-size:1.2rem;line-height:1}
.up-card .up-step:hover{border-color:var(--red);color:var(--red-hi)}
.up-card .up-ctl input{width:84px;height:36px;text-align:center;border:1px solid #3a3a3e;border-radius:4px;background:#050506;color:#fff;font:700 1.05rem/1 var(--f-display)}
.up-card .up-req .up-bar{grid-area:b;height:6px;border-radius:4px;background:#2a2a2d;border:0}.up-card .up-req .up-bar i{background:var(--red);border-radius:4px}
.up-card .up-req.ok .up-bar i{background:#2fbf71}.up-card .up-req.ok .up-rn em{color:#7de3a6}
.up-card .up-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--edge);border-radius:4px;background:#0c0c0d}
.up-card .up-ready{font:800 1.1rem/1 var(--f-display);color:#e6e6e6;text-transform:uppercase}
.up-card .up-go{padding:14px 28px;border:0;border-radius:4px;background:#3a3a3e;color:#fff;font:800 1.15rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.up-card .up-go.ready{background:var(--red)}.up-card .up-go:hover{filter:brightness(1.12)}
.up-card .up-chips{display:flex;flex-wrap:wrap;gap:6px}.up-card .up-done{padding:6px 10px;border:1px solid #2e7d4f;border-radius:3px;background:#0b1510;color:#7de3a6;font:700 .8rem/1 var(--f-display)}
.up-card.complete .up-all{color:#7de3a6;font-weight:600}
.up-nh-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.up-nh-row .box-h{margin:0}
.up-full{padding:8px 12px;border:1px solid #d9d9d9;border-radius:3px;background:none;color:#fff;font:700 .85rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase}
.up-hint{color:#9c9c9c;font-size:.84rem;margin:8px 0 10px}
.up-chip{border-radius:3px}
@media (max-width:980px){.up-cols{grid-template-columns:1fr}.up-grid .up-card.sel{position:static}.up-right{order:-1;scroll-margin-top:10px}.up-left{order:0}}
@media (max-width:980px){.up-right{order:1}}
@media (max-width:700px){.up-line{grid-template-columns:36px minmax(0,1fr) auto 16px;gap:8px}.ul-p{grid-column:2/4}.up-line>.ic{grid-row:1}.ul-ic img{width:34px;height:34px}.up-pct{font-size:2rem;min-width:64px}.up-acct-row{flex-wrap:wrap}.up-acct-row .trk-bar{flex:1 1 140px}.up-grid .up-card.sel{padding:14px}.up-card .up-req{grid-template-areas:"n n" "s s" "c c" "b b"}.up-card .up-ctl{justify-content:flex-end}.up-card .up-foot{flex-wrap:wrap}.up-card .up-go{flex:1 1 100%}}
/* camo tracker */
.cm-cols{display:grid;grid-template-columns:240px 250px minmax(0,1fr);gap:14px;align-items:start;margin-bottom:14px}
.cm-cats,.cm-wlist{padding:16px;position:sticky;top:0}
.cm-cats .trk-search{max-width:none;margin-bottom:16px}
.cm-catlist{display:flex;flex-direction:column;gap:4px}
.cm-cat{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border:1px solid transparent;border-radius:4px;background:none;color:#e6e6e6;font:700 1rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;text-align:left;cursor:pointer}
.cm-cat b{padding:3px 8px;border:1px solid #3a3a3e;border-radius:10px;font:600 .8rem/1 var(--f-mono);color:#cfcfcf}
.cm-cat:hover{border-color:#3a3a3e}.cm-cat.on{border:2px solid var(--red);padding:9px 11px;background:#140b0c}
.cm-wl{display:flex;flex-direction:column;gap:4px;max-height:calc(100dvh - var(--sb) - var(--bar) - 150px);overflow:auto;padding-right:4px}
.cm-wi{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:4px;background:none;color:#fff;text-align:left;cursor:pointer}
.cm-wi:hover{border-color:#3a3a3e}.cm-wi.on{border:2px solid var(--red);padding:7px 9px;background:#140b0c}
.cm-wpic img{display:block;width:72px;height:28px;object-fit:contain}
.cm-wn{font:700 1rem/1.1 var(--f-display);text-transform:uppercase}
.cm-wc{color:#9c9c9c;font:600 .78rem/1 var(--f-mono)}.cm-wc.all{color:#7de3a6}
.cm-detail{padding:18px 20px;min-height:400px}
.cmd-h{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--edge)}
.cmd-t b{display:block;font:800 2.2rem/1 var(--f-display);text-transform:uppercase}.cmd-t small{color:#cfcfcf;font-size:1rem}
.cmd-pic img{display:block;max-width:100%;max-height:110px;object-fit:contain;margin:auto}
.cmd-lvl,.cmd-comp{display:flex;flex-direction:column;gap:6px;padding-left:16px;border-left:1px solid var(--edge)}
.cmd-lvl>span,.cmd-comp>span{font:800 1rem/1 var(--f-display);text-transform:uppercase}
.cmd-lvl small{color:#8c8c8c;font-size:.74rem;max-width:180px}
.cmd-step{display:flex;align-items:center;gap:8px}
.cmd-step button{width:40px;height:38px;border:1px solid #d9d9d9;border-radius:4px;background:#0b0b0c;color:#fff;font-size:1.3rem}
.cmd-step button:hover{border-color:var(--red)}
.cmd-step input{width:64px;height:38px;border:0;background:none;color:#fff;text-align:center;font:800 1.6rem/1 var(--f-display)}
.cmd-cb{display:flex;align-items:center;gap:12px}.cmd-cb .trk-bar{width:clamp(120px,14vw,260px)}.cmd-cb b{font:800 1.05rem/1 var(--f-display);white-space:nowrap}
.cmd-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.cmd-tab{padding:11px 16px;border:1px solid #3a3a3e;border-radius:4px;background:#0d0d0e;color:#fff;font:800 .98rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.cmd-tab.on{background:var(--red);border-color:var(--red)}
.cmd-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr);gap:16px;align-items:start}
.cmd-sw{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.cm-tile{position:relative;display:flex;flex-direction:column;padding:0;border:1px solid #333;border-radius:4px;background:#0b0b0c;color:#fff;overflow:hidden;cursor:pointer;text-align:left}
.cm-tile:hover{border-color:#6a6a70}.cm-tile.sel{border:2px solid var(--red)}
.cmt-sw{display:block;height:76px}.cmt-sw .cm-sw{display:flex;align-items:center;justify-content:center;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;font:800 1.6rem/1 var(--f-display);color:#bdbdbd;background:#1a1a1c}
.cmt-n{padding:8px 8px 9px;font:800 .9rem/1.1 var(--f-display);text-transform:uppercase;text-align:center}
.cmt-ok{position:absolute;right:6px;top:6px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;background:#22b35e;color:#fff;font-weight:800;font-size:.9rem}
.cm-tile.done .cmt-sw{opacity:.85}
.cmd-info{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--edge);border-radius:4px;background:#0c0c0d;position:sticky;top:0}
.cmi-h{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:6px 12px}
.cmi-sw{grid-row:1/3}.cmi-sw .cm-sw{display:flex;align-items:center;justify-content:center;width:72px;height:72px;object-fit:cover;border-radius:4px;font:800 1.6rem/1 var(--f-display);background:#1a1a1c;color:#bdbdbd}
.cmi-h b{font:800 1.45rem/1.05 var(--f-display);text-transform:uppercase}.cmi-h small{display:block;color:#cfcfcf}
.cmi-st{justify-self:start;padding:7px 10px;border:1px solid #555;border-radius:3px;font:800 .85rem/1 var(--f-display);text-transform:uppercase;color:#cfcfcf}.cmi-st.ok{border-color:#2fbf71;color:#7de3a6}
.cmi-ch h3{margin:0 0 6px;font:800 1.1rem/1 var(--f-display);text-transform:uppercase}.cmi-ch p{color:#e0e0e0;line-height:1.45}
.cmi-go{padding:15px;border:0;border-radius:4px;background:var(--red);color:#fff;font:800 1.3rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.cmi-go:hover{background:var(--red-hi)}.cmi-go.undo{background:#2a2a2d}
.cmd-f{margin-top:14px;display:flex;justify-content:flex-end}
.cm-globalbox{padding:16px 18px}
@media (max-width:1400px){.cmd-h{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t p" "l c"}.cmd-t{grid-area:t}.cmd-pic{grid-area:p}.cmd-lvl{grid-area:l;padding-left:0;border:0}.cmd-comp{grid-area:c}.cmd-body{grid-template-columns:1fr}.cmd-info{position:static}}
@media (max-width:1180px){.cm-cols{grid-template-columns:220px minmax(0,1fr)}.cm-detail{grid-column:1/-1}.cm-cats,.cm-wlist{position:static}}
@media (max-width:700px){.cm-cols{grid-template-columns:1fr}.cm-catlist{flex-direction:row;flex-wrap:wrap;gap:6px}.cm-cat{padding:8px 10px;font-size:.85rem;border-color:#333}.cm-cat.on{padding:7px 9px}.cm-wl{max-height:300px}.cm-detail{padding:14px}.cmd-h{grid-template-columns:1fr;grid-template-areas:"t" "p" "l" "c"}.cmd-comp{padding-left:0;border:0}.cmd-t b{font-size:1.7rem}.cmd-sw{grid-template-columns:repeat(2,minmax(0,1fr))}.cmd-tab{padding:10px 11px;font-size:.85rem}}
.tc-h{min-height:64px}
@media (max-width:700px){.up-line{grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"ic t tier" "ic p p"}.ul-ic{grid-area:ic;align-self:start}.ul-t{grid-area:t}.ul-tier{grid-area:tier}.ul-p{grid-area:p;grid-column:auto}.up-line>.ic{display:none}.ul-pl{white-space:normal}.trk-prog .trk-ph{flex-wrap:wrap}.crumbs .home-btn span{display:inline}}
#wmGrid .tc-pic{overflow:hidden}#wmGrid .tc-pic img{width:100%;max-width:100%;max-height:none;transform:scale(1.35)}.cm-wpic img{transform:scale(1.4)}
/* ===== Round 3: Gear, Gunsmith, Item Search, Map ===== */
/* gear */
#screen-gear .gear-hero,#screen-items .gear-hero{display:none}
.gmenu{display:grid;grid-template-columns:230px minmax(0,1fr) minmax(0,1.15fr);gap:14px;align-items:start;margin-bottom:14px}
.gnav{display:flex;flex-direction:column;gap:4px;padding:16px;position:sticky;top:0;border-right:1px solid var(--edge)}
.gnav .gcat{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;border:1px solid transparent;border-radius:4px;background:none;color:#e6e6e6;font:600 1rem/1.1 var(--f-body);text-align:left;cursor:pointer}
.gnav .gcat em{font-style:normal;color:#9c9c9c;font:600 .85rem/1 var(--f-mono)}
.gnav .gcat:hover{border-color:#3a3a3e}.gnav .gcat.on{background:var(--red);color:#fff}.gnav .gcat.on em{color:#fff}
.gpanel{padding:16px;min-width:0}
.gpanel .g-search{max-width:none;margin-bottom:14px}
.gpanel .g-search input{padding-left:42px}
.gpanel .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.gpanel .tile3{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px 12px;border:1px solid var(--edge);border-radius:4px;background:#0c0c0d;color:#fff;text-align:center;cursor:pointer;min-height:0}
.gpanel .tile3:hover{border-color:#5a5a60}.gpanel .tile3.sel{border:2px solid var(--red);padding:13px 9px 11px}
.gpanel .t3-pic{display:flex;align-items:center;justify-content:center;width:100%;height:84px;border:0;background:none}
.gpanel .t3-pic img{max-width:90%;max-height:80px;object-fit:contain}.gpanel .t3-pic svg{width:44px;height:58px;stroke:#e6e6e6;fill:none;stroke-width:1.6}
.gpanel .t3-name{font:800 1rem/1.1 var(--f-display);text-transform:uppercase}
.gpanel .t3-tag{position:static;padding:0;border:0;background:none;color:var(--rc,#aaa);font:600 .75rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.gdetail{padding:18px 20px;position:sticky;top:0;min-height:300px}
.gd-h{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:start;padding-bottom:14px;border-bottom:1px solid var(--edge)}
.gd-pic{display:flex;align-items:center;justify-content:center;height:130px;border:1px solid #232326;border-radius:4px;background:radial-gradient(circle,rgba(255,255,255,.06),transparent 70%),#0a0a0b}
.gd-pic img{max-width:92%;max-height:120px;object-fit:contain}.gd-pic .glyph svg{width:60px;height:80px;stroke:#e6e6e6;fill:none;stroke-width:1.5}
.gd-t h2{margin:0 0 8px;font:800 clamp(1.6rem,2.2vw,2.3rem)/1 var(--f-display);text-transform:uppercase}
.gd-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.gd-cat{padding:6px 10px;background:var(--red);border-radius:3px;font:800 .85rem/1 var(--f-display);text-transform:uppercase}.gd-r{padding:5px 9px;border:1px solid var(--rc);border-radius:3px;color:var(--rc);font:800 .85rem/1 var(--f-display);text-transform:uppercase}
.gd-t p{color:#d6d6d6;line-height:1.45}
.gd-cost{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border:1px solid #3a3a3e;border-radius:4px;min-width:150px}
.gd-cost span{font:800 1rem/1 var(--f-display);text-transform:uppercase}.gd-cost b{font:800 1.8rem/1 var(--f-display);color:var(--red-hi)}
.gd-sec{margin-top:14px}.gd-sec h3{margin:0 0 8px;font:800 1.2rem/1 var(--f-display);text-transform:uppercase}.gd-sec p{color:#d6d6d6;line-height:1.45}
.gd-tw{overflow-x:auto;border:1px solid var(--edge);border-radius:4px}
.gd-tab{width:100%;border-collapse:collapse;font-size:.95rem}
.gd-tab th{padding:10px 12px;background:#141416;text-align:left;font:700 .82rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:#cfcfcf;border-bottom:1px solid var(--edge)}
.gd-tab td{padding:10px 12px;border-bottom:1px solid #1f1f22;vertical-align:middle;color:#e6e6e6}.gd-tab tr:last-child td{border-bottom:0}
.gd-ing{display:flex;align-items:center;gap:10px;padding:0;border:0;background:none;color:#fff;font:600 .98rem/1.2 var(--f-body);text-align:left;cursor:pointer}.gd-ing img{width:30px;height:30px;object-fit:contain}.gd-ing:hover span{color:var(--red-hi);text-decoration:underline}
.gd-q{font:800 1.15rem/1 var(--f-display);text-align:center;width:80px}
.gd-w{color:#cfcfcf;font-size:.88rem;line-height:1.4}
.gd-map{margin-left:6px;padding:5px 9px;border:1px solid var(--red);border-radius:3px;background:none;color:var(--red-hi);font:700 .78rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.gd-map:hover{background:rgba(227,38,45,.15)}
.res-strip{border:1px solid var(--edge);border-radius:4px;background:var(--card)}
@media (max-width:1300px){.gmenu{grid-template-columns:200px minmax(0,1fr)}.gdetail{grid-column:1/-1;position:static}}
@media (max-width:760px){.gmenu{grid-template-columns:1fr}.gnav{position:static;flex-direction:row;flex-wrap:wrap}.gnav .box-h{flex-basis:100%}.gnav .gcat{flex:1 1 auto;border-color:#333;padding:9px 10px;font-size:.9rem}.gpanel .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.gd-h{grid-template-columns:1fr}.gd-pic{height:120px}}
/* gunsmith */
.gs-selfield{display:none}
.gs-picker{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}
.gs-ph{margin:0 0 8px;font:800 1.1rem/1 var(--f-display);text-transform:uppercase;color:#fff}
.gs-cats,.gs-weps{display:flex;flex-direction:column;gap:3px}
.gsx-cat,.gsx-wep{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;border:1px solid transparent;border-radius:4px;background:none;color:#e6e6e6;font:600 .98rem/1.1 var(--f-body);text-align:left;cursor:pointer}
.gsx-cat b{font:600 .82rem/1 var(--f-mono);color:#9c9c9c}.gsx-cat:hover,.gsx-wep:hover{border-color:#3a3a3e}
.gsx-cat.on{background:var(--red);color:#fff}.gsx-cat.on b{color:#fff}
.gsx-wep{font:700 1rem/1.1 var(--f-display);text-transform:uppercase}.gsx-wep.on{background:var(--red);color:#fff}.gsx-wep i{font-style:normal}
.gs-weps{max-height:300px;overflow:auto}
@media (min-width:1500px){.gs-layout{grid-template-columns:400px minmax(0,1fr) 360px}.gs-picker{grid-template-columns:1fr 1fr}}
.gs-left .panel-head,.gs-right .panel-head{border-bottom:1px solid var(--edge)}
.panel-head h2{font:800 1.3rem/1 var(--f-display);text-transform:uppercase}
.gs-name{font-weight:800}
.gs-left .panel-head{display:none}.gs-picker{padding:14px 16px 0}.gs-weps{max-height:340px}
/* item search */
.is-wrap.is-page{max-width:820px;margin:0 0 16px;background:#fff;border-radius:4px}
.is-wrap.is-page input{background:#fff;color:#111;border:0;border-radius:4px;padding:13px 14px;font:600 1.02rem/1.2 var(--f-body)}
.is-wrap.is-page input:focus{outline:2px solid var(--red)}
.it-card{max-width:none;border:1px solid var(--edge);border-radius:4px;background:var(--card)}
.it-name{font:800 clamp(1.6rem,2.4vw,2.4rem)/1 var(--f-display);text-transform:uppercase;color:#fff}
.it-sec h2{font:800 1.2rem/1 var(--f-display);text-transform:uppercase;color:#fff;letter-spacing:.02em}
.it-btn{border-color:var(--red);background:var(--red);color:#fff;border-radius:3px;font:700 .85rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase}
.it-row{border-radius:3px}.it-q{color:var(--red-hi)}
@media (min-width:1100px){.it-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;align-items:start}.it-card>*{grid-column:1/-1}.it-card>.it-sec{grid-column:auto;margin-top:14px;padding:14px 16px;border:1px solid var(--edge);border-radius:4px;background:#0c0c0d}}
/* map */
.map-rail{background:#0b0b0c}
.map-card{border-radius:4px}
@media (max-width:1100px){.gs-selfield{display:block;padding:12px 16px 0}.gs-picker{display:none}}
/* ===== Round 4: Boss Strats, Dynamic Ops, Loot, Traits ===== */
#screen-bosses .gear-body,#screen-dynops .gear-body,#screen-loot .gear-body{padding-top:16px}
#screen-dynops .gear-hero{display:none}
.lt-btn{border-radius:3px;font:700 .88rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;border:1px solid #d9d9d9;background:none;color:#fff;padding:10px 14px}
.lt-btn:hover{border-color:var(--red);color:#fff}.lt-btn.red{background:var(--red);border-color:var(--red)}.lt-btn.ghost{border-color:#3a3a3e;color:#cfcfcf}
/* boss */
.bs-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.bs-cols.has-det{grid-template-columns:minmax(360px,.9fr) minmax(0,1.25fr)}
.bs-dir{padding:16px 18px}
.bs-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.bs-tools .trk-search{flex:1 1 220px}
.bs-grid{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.has-det .bs-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.bs-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:4/5;padding:10px;border:1px solid var(--edge);border-radius:4px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;background:#111}
.bs-tile:hover{border-color:#6a6a70}.bs-tile.on{border:2px solid var(--red);padding:9px}
.bst-img{position:absolute;inset:0;z-index:-2}.bst-img img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.bs-tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,0) 55%)}
.bst-k{position:absolute;left:8px;top:8px;padding:4px 7px;background:var(--red);border-radius:2px;font:800 .68rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
.bs-tile strong{font:800 1.15rem/1 var(--f-display);text-transform:uppercase;text-shadow:0 2px 8px #000}
.bs-det{padding:18px 20px;position:sticky;top:0}
.bsd-h{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-bottom:12px;border-bottom:1px solid var(--edge)}
.bsd-h h1{margin:0;font:800 clamp(1.8rem,2.6vw,2.6rem)/1 var(--f-display);text-transform:uppercase}
.bsd-k{padding:6px 10px;background:var(--red);border-radius:3px;font:800 .9rem/1 var(--f-display);text-transform:uppercase}
.bsd-sub{color:#cfcfcf;font-size:.95rem}
.bsd-act{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.bsd-top{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px;margin:14px 0}
.bsd-pic{margin:0;border:1px solid var(--edge);border-radius:4px;overflow:hidden;background:#0a0a0b}.bsd-pic img{display:block;width:100%;height:100%;max-height:340px;object-fit:cover;object-position:50% 20%}
.bsd-facts{display:flex;flex-direction:column;gap:10px}
.bsd-f{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--edge);border-radius:4px;background:#0c0c0d}
.bsd-f h3{margin:0 0 4px;font:800 1.05rem/1 var(--f-display);text-transform:uppercase}.bsd-f p{color:#d6d6d6;line-height:1.4;font-size:.95rem}
.bsd-loc{align-items:center}.bsd-loc>div{flex:1}.bsd-ic .ic{width:28px;height:28px}
.bsd-cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px}
.bsd-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.bsd-steps li{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--edge);border-radius:4px;background:#0c0c0d}
.bsd-n{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:3px;background:var(--red);font:800 1.05rem/1 var(--f-display)}
.bsd-steps p{color:#e2e2e2;line-height:1.45}
.bsd-side{display:flex;flex-direction:column;gap:10px}
.bsd-box{padding:12px 14px;border:1px solid var(--edge);border-radius:4px;background:#0c0c0d}.bsd-box .box-h,.bsd-box h3{margin:0 0 6px;font:800 1.05rem/1 var(--f-display);text-transform:uppercase}.bsd-box p{color:#d6d6d6;line-height:1.45}
@media (max-width:1250px){.bs-cols.has-det{grid-template-columns:1fr}.has-det .bs-det{order:-1;position:static}.bsd-cols,.bsd-top{grid-template-columns:1fr}.bsd-pic img{max-height:300px}}
@media (max-width:700px){.bs-grid,.has-det .bs-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bs-tile strong{font-size:.9rem}.bst-k{font-size:.55rem;padding:3px 5px}.bsd-act{margin-left:0}.bs-det{padding:14px}}
/* dynamic ops */
.dop-rules{padding:14px 18px;margin-bottom:14px}
.dop-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:14px;align-items:start}
.dop-list{padding:16px 18px}.dop-lh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.dop-lh .box-h{margin:0}.dop-lh .trk-search{flex:1 1 220px;max-width:320px}
.dop-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.dop-card{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"i t" "c c" "g g";gap:10px;padding:14px;border:1px solid var(--edge);border-radius:4px;background:#0c0c0d;color:#fff;text-align:left;cursor:pointer}
.dop-card:hover{border-color:#5a5a60}.dop-card.on{border:2px solid var(--red);padding:13px}
.dpc-ic{grid-area:i}.dpc-ic .ic{width:40px;height:40px;stroke-width:1.4}.dpc-ic.big .ic{width:48px;height:48px}
.dpc-t{grid-area:t}.dpc-t b{display:block;font:800 1.2rem/1.05 var(--f-display);text-transform:uppercase}.dpc-t small{color:#bdbdbd;font-size:.85rem;line-height:1.3}
.dpc-c{grid-area:c;display:flex;flex-direction:column;gap:2px;padding-top:8px;border-top:1px solid var(--edge)}.dpc-c span{color:#bdbdbd;font:600 .74rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}.dpc-c b{font:800 1.2rem/1 var(--f-display)}
.dpc-go{grid-area:g;display:block;padding:10px;border:1px solid #d9d9d9;border-radius:3px;text-align:center;font:800 .95rem/1 var(--f-display);text-transform:uppercase}
.dop-card.on .dpc-go{background:var(--red);border-color:var(--red)}
.dop-det{padding:18px 20px;position:sticky;top:0;border-color:var(--red)}
.dpd-h{display:flex;align-items:center;gap:14px}.dpd-h h2{margin:0;font:800 clamp(1.6rem,2.4vw,2.3rem)/1 var(--f-display);text-transform:uppercase}
.dpd-tag{margin-left:auto;padding:6px 10px;border:1px solid var(--red);border-radius:3px;color:var(--red-hi);font:800 .85rem/1 var(--f-display);text-transform:uppercase}
.dpd-t{margin:8px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--edge);color:#cfcfcf}
.dpd-cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px}
.dpd-obj h3{margin:0 0 8px;font:800 1.1rem/1 var(--f-display);text-transform:uppercase}.dpd-obj h3:not(:first-child){margin-top:14px}.dpd-obj>p{color:#d6d6d6;line-height:1.45}
.dpd-side{display:flex;flex-direction:column;gap:10px}.dpd-cash{font:800 1.3rem/1 var(--f-display);color:var(--red-hi)}
@media (max-width:1100px){.dop-grid{grid-template-columns:1fr}.dop-det{position:static}}
@media (max-width:700px){.dpd-cols{grid-template-columns:1fr}.dop-cards{grid-template-columns:1fr}}
/* loot */
.lc-grid,.lc-strip{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:12px}
.lc-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.lc-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
.lc-card{display:grid;grid-template-columns:minmax(0,1fr);height:100%;border:1px solid var(--edge);border-radius:4px;overflow:hidden;background:var(--card);color:#fff;text-decoration:none}
.lc-card:hover{border-color:#6a6a70}.lc-card.on{border:2px solid var(--red)}
.lc-img{display:block;aspect-ratio:16/9;background:#0a0a0b}.lc-img img{display:block;width:100%;height:100%;object-fit:cover}
.lc-t{display:flex;flex-direction:column;gap:5px;padding:12px 14px 14px}
.lc-t strong{font:800 1.25rem/1.05 var(--f-display);text-transform:uppercase}
.lc-m{color:#cfcfcf;font-size:.88rem}.lc-tag{align-self:flex-start;padding:4px 8px;border:1px solid var(--red);border-radius:3px;color:var(--red-hi);font:700 .74rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase}
.lc-d{color:#aaa;font-size:.88rem;line-height:1.4}
.lc-strip .lc-card{grid-template-columns:96px minmax(0,1fr)}.lc-strip .lc-img{aspect-ratio:auto;height:100%;min-height:86px}.lc-strip .lc-d{display:none}.lc-strip .lc-t{padding:9px 10px;gap:4px}.lc-strip .lc-t strong{font-size:.98rem}.lc-strip .lc-m{font-size:.78rem}
.lt-guide{padding:0 0 18px;overflow:hidden}
.lt-guide>*:not(.lt-cover){margin-left:clamp(14px,2vw,24px);margin-right:clamp(14px,2vw,24px)}
.lt-cover{position:relative;height:clamp(180px,22vw,320px);margin-bottom:-60px}.lt-cover img{width:100%;height:100%;object-fit:cover}.lt-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--card),rgba(16,16,17,.1) 60%)}
.lt-guide .gear-hero{position:relative}
.lt-guide .gear-hero h1{font:800 clamp(1.9rem,3vw,3rem)/1 var(--f-display);text-transform:uppercase}
.lt-num{background:var(--red);color:#fff;border-radius:3px}
@media (max-width:1300px){.lc-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.lc-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.lc-strip li{flex:0 0 78%;scroll-snap-align:start}.lc-grid{grid-template-columns:1fr}}
/* traits */
.tr-tabs button{border-radius:4px;font:800 1.05rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase}
.tr-tabs button.on{background:var(--red);border-color:var(--red);color:#fff}
.gear-hero h1{color:#fff}
#lootMain>.gear-hero{display:none}
.lc-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
@media (max-width:1500px){#screen-traits .phead .modtitle span{display:none}}
/* live boxes: sign-in button and Latest DMZ Update */
.sitebar .acct{align-items:center;height:42px}
.sitebar .acct-btn,.sitebar .acct-btn.login{min-height:0;max-height:42px;margin:0}
@media (max-width:700px){.sitebar .acct{height:38px}.sitebar .acct-btn,.sitebar .acct-btn.login{max-height:38px}}
.hm-side #latestList{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
.hm-side .latest-item{gap:6px}
.hm-side .latest-top{flex-wrap:wrap;gap:6px}
.hm-side .latest-head h2{font-size:1.45rem}
@media (max-width:1280px){.hm-side .latest-head{flex-wrap:wrap;gap:8px}}
/* ===== Traits tree builder ===== */
.ttabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.ttab{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:8px 12px;border:1px solid #3a3a3e;border-radius:4px;background:#0d0d0e;color:#fff;font:800 1.25rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.ttab .ic{width:28px;height:28px}.ttab em{font-style:normal;font:600 .85rem/1 var(--f-mono);color:#bdbdbd}
.ttab:hover{border-color:#6a6a70}.ttab.on{background:var(--red);border-color:var(--red)}.ttab.on em{color:#fff}
.tr-cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:14px;align-items:start}
.tr-tree{padding:18px 20px}
.tt-h{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);gap:6px 20px;align-items:end;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--edge)}
.tt-h h2{margin:0;font:800 clamp(1.5rem,2.2vw,2.1rem)/1 var(--f-display);text-transform:uppercase;grid-column:1}
.tt-h p{grid-column:1;color:#cfcfcf;font-size:.95rem}
.tt-pts{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center}
.tt-pts span{font:800 .95rem/1 var(--f-display);text-transform:uppercase}.tt-pts b{font:800 1.2rem/1 var(--f-display)}.tt-pts .trk-bar{grid-column:1/-1}
.tt-rows{position:relative;display:flex;flex-direction:column;gap:10px}
.tt-rows::before{content:"";position:absolute;left:62px;top:24px;bottom:24px;width:2px;background:#2e2e32}
.trow{position:relative;display:grid;grid-template-columns:124px minmax(0,1fr);align-items:center;gap:14px}
.tr-lab{position:relative;z-index:1;justify-self:start;padding:7px 10px;border:1px solid #333;border-radius:3px;background:#161618;color:#d8d8d8;font:700 .82rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.trow.major .tr-lab{border-color:#5a5a60;color:#fff}
.tr-opts{display:grid;gap:10px}.tr-opts.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.tr-opts.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.tr-opts.n1{grid-template-columns:minmax(0,1fr);max-width:33%}
.tbox{display:grid;grid-template-columns:40px minmax(0,1fr) 26px;align-items:center;gap:10px;min-height:58px;padding:8px 10px;border:1px solid #3a3a3e;border-radius:4px;background:#0d0d0e;color:#fff;text-align:left;cursor:pointer;transition:border-color .15s}
.tbox:hover{border-color:#8a8a90}
.tbox.on{border:2px solid var(--red);padding:7px 9px;background:#1a0c0d}
.tbox.focus{box-shadow:0 0 0 2px rgba(255,255,255,.55)}
.tbox.locked,.tbox.full{color:#8c8c8c;background:#0a0a0b}.tbox.locked .tb-ic,.tbox.full .tb-ic{opacity:.4}
.tbox.taken{opacity:.45}
.tb-ic{display:flex;align-items:center;justify-content:center;width:40px;height:40px}.tb-ic img{width:40px;height:40px;object-fit:contain}.tb-ic i{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px dashed #555;border-radius:4px;font:800 1rem/1 var(--f-display);color:#888;font-style:normal}
.tb-n{font:800 1rem/1.1 var(--f-display);text-transform:uppercase}
.tb-st{display:flex;justify-content:flex-end}.tb-st .tlock{width:20px;height:20px;color:#9a9a9a}
.tb-chk{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid #cfcfcf;border-radius:3px;color:#fff}.tb-chk svg{width:14px;height:14px}
.tbox.on .tb-chk,.tb-chk.on{background:var(--red);border-color:var(--red)}
.tt-leg{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;padding-top:12px;border-top:1px solid var(--edge);color:#cfcfcf;font-size:.88rem}
.tt-leg>span{display:inline-flex;align-items:center;gap:8px}.tt-leg .tlock{width:18px;height:18px}
.tr-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:0}
.tr-detail{padding:18px 20px;border-color:var(--red)}
.td-h{display:flex;align-items:center;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--edge)}
.td-ic{display:flex;width:56px;height:56px;align-items:center;justify-content:center;flex:none}.td-ic img{width:56px;height:56px;object-fit:contain}.td-ic .ic{width:44px;height:44px}
.td-h h2{margin:0 0 6px;font:800 1.7rem/1 var(--f-display);text-transform:uppercase}
.td-tag{display:inline-block;padding:5px 9px;border:1px solid var(--red);border-radius:3px;color:var(--red-hi);font:800 .8rem/1 var(--f-display);text-transform:uppercase}
.td-d{margin:12px 0;color:#e0e0e0;line-height:1.5}
.td-sh{margin:0 0 8px;font:800 1.1rem/1 var(--f-display);text-transform:uppercase}
.td-req{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.td-req li{display:flex;align-items:center;gap:10px;color:#9c9c9c}.td-req li.ok{color:#e6e6e6}
.td-go{width:100%;padding:15px;border:0;border-radius:4px;background:var(--red);color:#fff;font:800 1.25rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.td-go:hover{background:var(--red-hi)}.td-go[disabled]{background:#2a2a2d;color:#8c8c8c;cursor:not-allowed}.td-go.ghost{background:none;border:1px solid #d9d9d9}
.td-done{padding:13px;border:1px solid #2fbf71;border-radius:4px;color:#7de3a6;text-align:center;font:800 1.1rem/1 var(--f-display);text-transform:uppercase}
.tr-load{padding:16px 18px}
.tl-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.tl-h h3{margin:0;font:800 1.15rem/1 var(--f-display);text-transform:uppercase}.tl-h b{font:800 1.05rem/1 var(--f-display)}
.tl-chips{display:flex;flex-wrap:wrap;gap:8px}
.tl-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border:1px solid var(--red);border-radius:3px;background:#120b0c;color:#fff;font:600 .88rem/1.1 var(--f-body);cursor:pointer}
.tl-chip img{width:24px;height:24px;object-fit:contain}.tl-chip.pr{border-color:#d9d9d9;cursor:default}
.pr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.pr-card{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #3a3a3e;border-radius:4px;background:#0d0d0e}
.pr-card.on{border:2px solid var(--red);padding:13px}.pr-card.locked{opacity:.75}
.pr-h{display:flex;justify-content:space-between;align-items:center}.pr-h h3{margin:0;font:800 1.3rem/1 var(--f-display);text-transform:uppercase}.pr-h .tlock{width:20px;height:20px;color:#9a9a9a}
.pr-pick{display:flex;gap:10px;align-items:center}.pr-pick img{width:44px;height:44px;object-fit:contain}.pr-pick b{font:800 1.05rem/1.1 var(--f-display);text-transform:uppercase}.pr-pick p{color:#cfcfcf;font-size:.85rem}
.pr-req{color:#bdbdbd;font-size:.85rem;line-height:1.45}
.pr-go{margin-top:auto;padding:11px;border:0;border-radius:4px;background:var(--red);color:#fff;font:800 1rem/1 var(--f-display);text-transform:uppercase;cursor:pointer}.pr-card.locked .pr-go{background:#2a2a2d;color:#9c9c9c}
.mc-t.on{border-color:var(--red)!important}
@media (max-width:1100px){.tr-cols{grid-template-columns:1fr}.tr-side{position:static}}
@media (max-width:700px){.ttabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ttab{min-height:46px;font-size:1rem}.tt-h{grid-template-columns:1fr}.tt-pts{grid-column:1;grid-row:auto}
  .tt-rows::before{display:none}.trow{grid-template-columns:1fr;gap:6px}.tr-opts{gap:6px}.tr-opts.n1{max-width:none}.tr-opts.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tbox{grid-template-columns:1fr;justify-items:center;text-align:center;gap:4px;min-height:96px;padding:8px 4px;position:relative}.tbox.on{padding:7px 3px}.tb-n{font-size:.78rem}.tb-st{position:absolute;right:4px;top:4px}.tb-chk{width:18px;height:18px}.tb-st .tlock{width:15px;height:15px}.tr-tree{padding:14px}}
#screen-traits .tree-counts,#screen-traits .phead .modtitle span{display:none!important}
@media (max-width:700px){.phead .modtitle strong{white-space:normal;font-size:1.3rem;line-height:1.05}}
/* Update 6: save notes removed from tiles and tracker pages (owner request) */
.up-note,[data-savenote]{display:none!important}
/* Update 6: on phones and tablets, Latest DMZ Update sits straight under the search banner (was at the very bottom) */
@media (max-width:980px){
  .hm-grid{display:flex;flex-direction:column;gap:14px}
  .hm-main,.hm-side{display:contents}
  .hm-main>.hero{order:1}.hm-side>.latest{order:2}.hm-main>.hm-feature{order:3}.hm-main>.hm-track{order:4}.hm-main>.hm-small{order:5}.hm-main>.yt-banner{order:6}.hm-side>.cod-card{order:7}
}
@media (max-width:980px){.hm-grid>*,.hm-main>*,.hm-side>*{min-width:0;width:100%;max-width:100%}}
/* Update 6: narrower Full Upgrade Item List button, wider search box */
.hero-search{gap:12px}
.hs-full{padding:0 14px;gap:8px;font-size:.95rem;letter-spacing:.03em}
.hs-full .ic{width:20px;height:20px}
.hs-go{padding:0 clamp(16px,2vw,32px)}
@media (max-width:700px){.hs-full{font-size:1rem}}
/* Update 6: new filled rifle icon (wide) */
.ic.wide{width:auto!important;aspect-ratio:24/10.8}
.stile .ic.wide{height:30px}.pico .ic.wide{height:38px}.tt-head .ic.wide{height:30px}
.is-sv .ic.wide,.dpc-ic .ic.wide{height:20px}
@media (max-width:760px){.pico .ic.wide{height:28px}}
.stile .ic.wide{height:22px;flex:none}.stile .st-title{min-width:0}.stile{gap:10px}
@media (max-width:700px){.stile .ic.wide{height:17px}}
/* Update 7: home search results were clipped by the banner and hidden under the tiles */
.hero{overflow:visible;z-index:20}
.hero-bg{border-radius:inherit}
.hero::before{border-radius:inherit}
.hero-search .is-list{z-index:90;max-height:min(60vh,460px);overflow:auto}
@media (max-width:980px){.hm-main>.hero{z-index:20;position:relative}}
/* ===== Update 7: motion pack, live video banner, loading placeholders, install app, phone search ===== */
/* top bar extras */
.sb-icon{padding:0;width:42px;justify-content:center}.sb-icon .ic{width:22px;height:22px;stroke-width:2.2}
.sb-search{display:none}
.sb-install{background:#111113;border-color:#d9d9d9}.sb-install .ic{width:20px;height:20px}
.sb-install:hover{border-color:var(--red)}
@media (max-width:760px){.sb-search{display:inline-flex;width:38px;height:38px;border-color:#3a3a3e}.sb-install span{display:none}.sb-install{padding:0 10px}}
.ios-tip{position:fixed;left:10px;right:10px;top:calc(var(--sb) + env(safe-area-inset-top,0px) + 8px);z-index:75;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--red);border-radius:4px;background:#111113;color:#e6e6e6;font-size:.9rem;line-height:1.4;box-shadow:0 12px 40px #000c}
.ios-tip .ic{width:16px;height:16px;vertical-align:-3px}.ios-tip span{flex:1}
.ios-tip button{flex:none;width:32px;height:32px;border:1px solid #3a3a3e;border-radius:4px;background:none;color:#fff}
/* page changes */
@keyframes moPage{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.screen.mo-enter>.gear-body,.screen.mo-enter>.map-wrap,.screen.mo-enter>main,.screen.mo-enter>.modbar .phead{animation:moPage .38s cubic-bezier(.2,.7,.2,1) both}
.home.mo-back .hm-grid{animation:moPage .35s ease-out both}
/* home entrance */
@keyframes moZoom{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes moStamp{0%{opacity:0;transform:scale(1.55) rotate(-2deg);filter:blur(4px)}
  45%{opacity:1;transform:scale(.97);filter:none}
  52%{transform:translate(-5px,1px) skewX(-6deg);filter:drop-shadow(4px 0 0 rgba(255,255,255,.6)) drop-shadow(-4px 0 0 rgba(227,38,45,.9))}
  58%{transform:translate(4px,-1px);filter:drop-shadow(-3px 0 0 rgba(255,255,255,.5))}
  63%{opacity:.55;transform:none}66%{opacity:1}70%{opacity:.7}74%{opacity:1;transform:translateX(2px)}
  80%,100%{transform:none;filter:drop-shadow(0 4px 18px rgba(0,0,0,.6))}}
@keyframes moUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes moFade{from{opacity:0}to{opacity:1}}
.home.mo-intro .hero-bg{animation:moZoom 7s cubic-bezier(.15,.6,.25,1) both}
.home.mo-intro .hero-logo img{animation:moStamp 1.1s .15s cubic-bezier(.2,.8,.2,1) both}
.home.mo-intro .hero .hub-intro,.home.mo-intro .hero-search{animation:moFade .6s .7s both}
.home.mo-intro .hm-feature>li,.home.mo-intro .hm-track>li,.home.mo-intro .hm-small>li,.home.mo-intro .hm-main>.yt-banner,.home.mo-intro .hm-side>section{animation:moUp .55s calc(.55s + var(--d,0ms)) cubic-bezier(.2,.7,.2,1) both}
/* hover lift and glow */
.ftile,.ttile,.stile{transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .2s,box-shadow .25s}
.ftile:hover,.ttile:hover,.stile:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.55),0 0 0 1px var(--red),0 0 22px rgba(227,38,45,.28)}
.ttile .tt-art{transition:opacity .3s,transform .4s}.ttile:hover .tt-art{opacity:.36;transform:scale(1.04)}
.stile:hover .ic:last-child{transform:translateX(3px)}.stile .ic:last-child{transition:transform .2s}
/* bars filling */
.mo-fill{transition:width .95s cubic-bezier(.2,.7,.2,1)!important}
/* radar sweep on the Hajin Map tile */
@keyframes moSweep{to{transform:rotate(360deg)}}
@keyframes moBlip{0%,70%,100%{opacity:0}75%{opacity:1}90%{opacity:.3}}
.ft-radar{position:absolute;right:22px;top:18px;width:clamp(86px,8vw,124px);aspect-ratio:1;border-radius:50%;z-index:0;pointer-events:none;opacity:.8;
  background:radial-gradient(circle,transparent 0 29%,rgba(227,38,45,.35) 30% 31%,transparent 32% 59%,rgba(227,38,45,.35) 60% 61%,transparent 62%),linear-gradient(90deg,transparent 49.5%,rgba(227,38,45,.25) 50%,transparent 50.5%),linear-gradient(0deg,transparent 49.5%,rgba(227,38,45,.25) 50%,transparent 50.5%);
  border:1px solid rgba(227,38,45,.55);box-shadow:0 0 18px rgba(227,38,45,.18) inset;background-color:rgba(8,8,9,.35)}
.ft-radar i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(227,38,45,.55),rgba(227,38,45,0) 24%,transparent);animation:moSweep 4s linear infinite}
.ft-radar b{position:absolute;width:6px;height:6px;border-radius:50%;background:#ff4148;box-shadow:0 0 8px #ff4148;animation:moBlip 4s linear infinite}
.ft-radar b:nth-of-type(1){left:66%;top:30%;animation-delay:.35s}.ft-radar b:nth-of-type(2){left:30%;top:62%;animation-delay:2.2s}.ft-radar b:nth-of-type(3){left:58%;top:74%;animation-delay:2.9s}
.ftile .ft-txt{position:relative;z-index:1}
/* LIVE dot on Latest DMZ Update */
@keyframes moPulse{0%{box-shadow:0 0 0 0 rgba(255,65,72,.7)}70%{box-shadow:0 0 0 8px rgba(255,65,72,0)}100%{box-shadow:0 0 0 0 rgba(255,65,72,0)}}
.latest-head h2 .live{display:inline-flex;align-items:center;gap:6px;margin-left:10px;padding:3px 8px;border:1px solid var(--red);border-radius:3px;color:#ff6b70;font:800 .72rem/1 var(--f-display);letter-spacing:.12em;vertical-align:middle}
.latest-head h2 .live i{width:8px;height:8px;border-radius:50%;background:#ff4148;animation:moPulse 1.6s ease-out infinite}
/* map: markers drop in, the selected marker pulses */
@keyframes moDrop{0%{opacity:0;transform:translate(-50%,-140%) scale(.7)}60%{opacity:1;transform:translate(-50%,-44%) scale(1.06)}100%{opacity:1;transform:translate(-50%,-50%)}}
@keyframes moDropLbl{from{opacity:0}to{opacity:1}}
.mk.drop.ico .mk-in,.mk.drop.key .mk-in{animation:moDrop .5s var(--dd,0ms) cubic-bezier(.2,.7,.2,1) both}
.mk.drop.lbl .mk-in{animation:moDropLbl .5s var(--dd,0ms) both}
@keyframes moRing{0%{transform:translate(-50%,-50%) scale(.6);opacity:.95}100%{transform:translate(-50%,-50%) scale(2.1);opacity:0}}
.mk.sel{z-index:6}
.mk.sel::before,.mk.sel::after{content:"";position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;border:2px solid #ff4148;transform:translate(-50%,-50%);animation:moRing 1.6s ease-out infinite;pointer-events:none}
.mk.sel::after{animation-delay:.8s}
.mk.sel .mk-in{filter:drop-shadow(0 0 6px rgba(255,65,72,.9))}
/* loading placeholders */
@keyframes moShimmer{from{background-position:-320px 0}to{background-position:320px 0}}
.sk{display:block;border-radius:3px;background:linear-gradient(90deg,#1a1a1d 0,#2a2a2e 40%,#1a1a1d 80%) 0 0/640px 100%;animation:moShimmer 1.3s linear infinite}
.sk-item{display:flex;flex-direction:column;gap:9px;padding:6px 0 16px;border-bottom:1px solid var(--edge);list-style:none}
.sk-badge{width:96px;height:20px}.sk-line{height:14px;width:100%}.sk-line.short{width:62%}
#latestUpdate.is-loading .latest-meta{visibility:hidden}
.cod-card.is-loading .cod-img{background:linear-gradient(90deg,#1a1a1d 0,#2a2a2e 40%,#1a1a1d 80%) 0 0/640px 100%;animation:moShimmer 1.3s linear infinite}
.cod-card.is-loading .cod-img>*{visibility:hidden}
.cod-card.is-loading .cod-title,.cod-card.is-loading .cod-when{color:transparent;border-radius:3px;background:linear-gradient(90deg,#1a1a1d 0,#2a2a2e 40%,#1a1a1d 80%) 0 0/640px 100%;animation:moShimmer 1.3s linear infinite}
.cod-card.is-loading .cod-when{min-height:1em;width:60%}
/* YouTube banner: taller on computers, the latest video plays silently on the right */
@media (min-width:981px){
  .hm-main .yt-banner{grid-template-columns:minmax(0,1fr) clamp(200px,17vw,250px);min-height:270px}
  .hm-main .yt-banner .yt-art,.hm-main .yt-banner .yt-video{min-height:270px}
  .hm-main .yt-banner .yt-art img{object-position:78% 50%}
}
.yt-video{isolation:isolate}
.yt-frame{position:absolute;left:0;top:50%;width:100%;aspect-ratio:9/16;height:auto;transform:translateY(-50%);border:0;pointer-events:none;opacity:0;transition:opacity .8s;z-index:1}
.yt-frame.on{opacity:1}
.yt-video.has-frame .yt-play{opacity:0;transition:opacity .6s .9s}
.yt-banner:hover .yt-video.has-frame .yt-play{opacity:.95;transition-delay:0s}
.yt-video .yt-meta{background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.55) 60%,transparent)}
/* switch everything off when the device asks for less motion */
@media (prefers-reduced-motion: reduce){
  .home.mo-intro *,.home.mo-back *,.screen.mo-enter *,.ft-radar i,.ft-radar b,.latest-head h2 .live i,.mk.sel::before,.mk.sel::after,.mk.drop .mk-in,.sk,.cod-card.is-loading *{animation:none!important}
  .ftile,.ttile,.stile{transition:none}.ftile:hover,.ttile:hover,.stile:hover{transform:none}
  .mo-fill{transition:none!important}
}

.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;border-radius:inherit}
.hero-media .hero-bg{z-index:auto}
/* ===== Update 8 ===== */
/* Home is not drawn (or read out) behind an open page; its animations stop too */
body.in-module .home{visibility:hidden}
body.in-module .home *{animation-play-state:paused!important}
/* bigger tap targets on phones */
@media (max-width:760px){
  .crumbs .home-btn{min-height:40px;padding:8px 6px}
  .crumbs{height:auto;min-height:40px}
  .cart-head select,.cart-head input[type=number]{min-height:40px}
  #screen-upgradeitems .ul-name{min-height:40px;display:inline-flex;align-items:center}
  .map-rail input[type=checkbox]{width:24px;height:24px}
}
@media (max-width:760px){.up-full,.gd-ing,#screen-upgradeitems .ul-btn{min-height:40px}.home-foot a,.home-foot span a{display:inline-block;padding:10px 4px}.hm-side .latest-read,.hm-side .cod-go{display:inline-block;padding:8px 0}}
/* Update 8: real links look exactly like the buttons they replaced */
a[data-open],a[data-home]{text-decoration:none;color:inherit;cursor:pointer}
a.ftile,a.ttile,a.stile{display:flex}
a.hs-full,a.up-full{display:inline-flex;align-items:center;justify-content:center}
.crumbs a.home-btn{display:inline-flex;align-items:center}
.botnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none}
/* the page's own title is its h1 */
.phead .modtitle h1.ptitle{margin:0;font:800 clamp(1.6rem,2.6vw,2.5rem)/1 var(--f-display);letter-spacing:.02em;color:#fff;text-transform:uppercase}
@media (max-width:700px){.phead .modtitle h1.ptitle{white-space:normal;font-size:1.3rem;line-height:1.05}}
/* About this page + all tools, at the bottom of each page */
.about-page{max-width:1720px;margin:26px auto 8px;padding:16px 18px;border:1px solid var(--edge);border-radius:4px;background:#0b0b0c;color:#bdbdbd}
.about-page details summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;cursor:pointer;list-style:none;padding:4px 0}
.about-page details summary::-webkit-details-marker{display:none}
.about-page summary span{font:800 1.05rem/1 var(--f-display);text-transform:uppercase;color:#fff}
.about-page summary span::before{content:"+";display:inline-block;width:1.1em;color:var(--red-hi)}
.about-page details[open] summary span::before{content:"–"}
.about-page summary small{color:#8c8c8c;font-size:.85rem}
.about-body{margin-top:10px;font-size:.92rem;line-height:1.55;max-height:420px;overflow:auto;padding-right:6px}
.about-body h2{margin:14px 0 6px;font:800 1rem/1.1 var(--f-display);text-transform:uppercase;color:#e6e6e6}
.about-body ul,.about-body ol{margin:6px 0 10px 1.2em;padding:0}.about-body li{margin:2px 0}
.about-body p{margin:6px 0}
.about-upd{margin:10px 0 0;color:#8c8c8c;font-size:.82rem}
.all-tools{margin-top:12px;padding-top:12px;border-top:1px solid var(--edge)}
.all-tools h2{margin:0 0 8px;font:800 .95rem/1 var(--f-display);text-transform:uppercase;color:#e6e6e6}
.all-tools ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 8px}
.all-tools a{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid #2e2e32;border-radius:3px;color:#d6d6d6;text-decoration:none;font:600 .88rem/1 var(--f-body)}
.all-tools a:hover{border-color:var(--red);color:#fff}.all-tools a[aria-current]{border-color:var(--red);color:#fff}
.map-rail .about-page,.gs-left .about-page{margin:14px 12px;padding:12px}
.map-rail .all-tools a,.gs-left .all-tools a{font-size:.8rem;padding:5px 8px;min-height:30px}
body.in-module #home .about-page{display:none}
@media (max-width:760px){.all-tools a{min-height:40px}}
/* ===== Update 9: detail pages (keys, materials, gear, weapons, traits, upgrades) ===== */
.dp-page{background:#060607;color:#e6e6e6}
body.dp-page .sb-logo{visibility:visible}
.dp-page .sb-btn{text-decoration:none}
.dp-main{max-width:1240px;margin:0 auto;padding:calc(var(--sb) + env(safe-area-inset-top,0px) + 12px) clamp(12px,2.4vw,28px) 40px}
.dp-crumbs{flex-wrap:wrap}.dp-crumbs a{color:#e9e9e9;text-decoration:none}.dp-crumbs a:hover{color:var(--red-hi)}
.dp-head{padding:8px 0 16px;border-bottom:1px solid var(--edge);margin-bottom:18px}
.dp-head h1{margin:0;font:800 clamp(2rem,4vw,3.2rem)/1 var(--f-display);text-transform:uppercase;color:#fff}
.dp-sub{margin:8px 0 0;color:#cfcfcf;font:600 .95rem/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
.dp-sub .dp-btns{margin-top:12px}
.dp-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:start}
.dp-col h2,.dp-main>h2,.dp-rel h2{margin:20px 0 10px;font:800 1.3rem/1 var(--f-display);text-transform:uppercase;color:#fff}
.dp-facts{margin:0;display:grid;gap:0;border:1px solid var(--edge);border-radius:4px;background:var(--card)}
.dp-facts div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;padding:11px 14px;border-bottom:1px solid #1f1f22}.dp-facts div:last-child{border-bottom:0}
.dp-facts dt{color:#9c9c9c;font:700 .82rem/1.3 var(--f-display);letter-spacing:.06em;text-transform:uppercase}.dp-facts dd{margin:0;color:#f0f0f0;line-height:1.45}
.dp-desc{color:#dcdcdc;line-height:1.55;margin:14px 0}
.dp-list{margin:0;padding-left:1.2em;line-height:1.6;color:#e0e0e0}.dp-list small{color:#8c8c8c}
.dp-list a,.dp-table a,.dp-rel a,.dp-note a,.about-links a,.dp-foot a{color:#ff6b70;text-decoration:none}.dp-list a:hover,.dp-table a:hover,.dp-rel a:hover{text-decoration:underline}
.dp-note{padding:14px 16px;border:1px dashed #3a3a3e;border-radius:4px;color:#cfcfcf;line-height:1.5}
.dp-btns{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.dp-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid #d9d9d9;border-radius:4px;color:#fff;text-decoration:none;font:800 .95rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase}
.dp-btn.red{background:var(--red);border-color:var(--red)}.dp-btn:hover{border-color:var(--red-hi)}
.dp-map{margin:0 0 14px;border:1px solid var(--edge);border-radius:4px;overflow:hidden;background:#0b0b0c}.dp-map img{display:block;width:100%;height:auto}
.dp-map figcaption{padding:8px 12px;color:#bdbdbd;font-size:.85rem}
.dp-pic{display:flex;justify-content:center;align-items:flex-start}
.dp-icon{width:160px;height:160px;object-fit:contain;padding:18px;border:1px solid var(--edge);border-radius:4px;background:radial-gradient(circle,rgba(255,255,255,.06),transparent 70%),#0b0b0c}
.dp-photo{max-width:100%;max-height:320px;object-fit:contain;padding:18px;border:1px solid var(--edge);border-radius:4px;background:radial-gradient(circle,rgba(255,255,255,.06),transparent 70%),#0b0b0c}
.dp-gun{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;margin:0 0 16px;border:1px solid var(--edge);border-radius:4px;background:radial-gradient(ellipse at center,rgba(255,255,255,.07),transparent 65%),#0b0b0c}
.dp-tw{overflow-x:auto}
.dp-table{width:100%;border-collapse:collapse;border:1px solid var(--edge);font-size:.95rem}
.dp-table th{padding:10px 12px;background:#141416;text-align:left;font:700 .8rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:#cfcfcf}
.dp-table td{padding:10px 12px;border-top:1px solid #1f1f22;vertical-align:middle;color:#e6e6e6}.dp-table td img{vertical-align:middle;margin-right:6px}
.dp-table small{color:#9c9c9c}
.dp-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.dp-slot{padding:10px 12px;border:1px solid var(--edge);border-radius:4px;background:#0c0c0d}.dp-slot h3{margin:0 0 6px;font:800 1rem/1 var(--f-display);text-transform:uppercase}
.dp-slot .dp-list{font-size:.9rem;line-height:1.5}
.dp-rel{margin-top:20px;padding-top:4px}
.dp-rel ul,.about-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 8px}
.dp-rel li a,.about-links li a{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid #2e2e32;border-radius:3px;color:#e0e0e0;font-size:.9rem}
.dp-rel li a:hover,.about-links li a:hover{border-color:var(--red);color:#fff;text-decoration:none}
.dp-foot{margin-top:34px}
@media (max-width:860px){.dp-grid{grid-template-columns:1fr}.dp-pic{order:-1}.dp-facts div{grid-template-columns:1fr;gap:4px}}
@media (max-width:760px){.dp-rel li a,.about-links li a{min-height:40px}.dp-page .sb-btn:not(.sb-discord){display:none}}
/* Fix (6 Nov): the weapon picture spilled out of the preview and covered the weapon list, so some guns could not be clicked */
.gs-stage{overflow:hidden}
.gs-stage svg{overflow:hidden}
.gs-stage svg image{pointer-events:none}
.gs-left{position:relative;z-index:2}
/* ===== Update 10: X01 Facility page and home layout ===== */
.hm-small{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:700px){.hm-small{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-small li:last-child{grid-column:auto}}
.x01-wrap{flex:1;min-height:0;display:grid;grid-template-columns:310px minmax(0,1fr)}
.x01-rail{overflow:auto;border-right:1px solid var(--edge);background:#0b0b0c;display:flex;flex-direction:column}
.x01-rail .lg-body,.x01-rail .panel-head,.x01-info{flex:none}.x01-rail .lg-body{overflow:visible}
.x01-info{padding:14px 18px 16px;border-top:1px solid var(--edge)}
.x01-info p{color:#cfcfcf;font-size:.9rem;line-height:1.5;margin:0 0 10px}.x01-info .box-h{margin-top:14px;font-size:1.05rem}.x01-info .box-h:first-child{margin-top:0}
.x01-orders{margin:0;padding-left:1.2em;color:#d6d6d6;font-size:.88rem;line-height:1.5}.x01-orders b{display:block;color:#fff}
.x01-view{position:relative;overflow:hidden;background:#050506;touch-action:none;cursor:grab;user-select:none}
.x01-view:active{cursor:grabbing}
.x01-stage{position:absolute;left:0;top:0;width:1984px;height:1790px;transform-origin:0 0;will-change:transform}
.x01-stage img{display:block;width:1984px;height:1790px;pointer-events:none}
.x01-markers{position:absolute;inset:0;pointer-events:none;z-index:2}
.x01-grid{position:absolute;inset:0;pointer-events:none;z-index:1}
.x01-grid span{position:absolute;left:0;top:0;color:rgba(255,255,255,.6);font:800 .85rem/1 var(--f-display);text-shadow:0 0 4px #000}
.x01-grid .gc{margin-left:-4px}.x01-grid .gr{margin-top:-6px}
.x01-floors{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:5;display:flex;border:1px solid #3a3a3e;border-radius:4px;overflow:hidden;background:rgba(10,10,11,.92)}
.x01-floors button{min-height:42px;padding:0 18px;border:0;background:none;color:#e6e6e6;font:800 .98rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.x01-floors button+button{border-left:1px solid #3a3a3e}.x01-floors button.on{background:var(--red);color:#fff}
.x01-ctl{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;gap:6px;z-index:5}
.x01-ctl button{width:42px;height:42px;border:1px solid #3a3a3e;border-radius:4px;background:rgba(10,10,11,.9);color:#fff;font-size:1.3rem;cursor:pointer}.x01-ctl button:hover{border-color:var(--red)}
.x01-zoom{position:absolute;right:14px;bottom:12px;padding:4px 8px;border:1px solid #3a3a3e;border-radius:3px;background:rgba(10,10,11,.9);color:#cfcfcf;font:600 .75rem/1 var(--f-mono);z-index:5}
.x01-card{z-index:8}
#screen-x01 .about-page{margin:16px 0 8px}
@media (max-width:900px){.x01-wrap{display:flex;flex-direction:column;overflow:auto}.x01-view{order:-1;flex:none}.x01-view{height:62vh;min-height:380px}.x01-rail{border-right:0;border-top:1px solid var(--edge);overflow:visible}.x01-card{left:8px;right:8px;width:auto;top:auto;bottom:8px}.x01-floors{bottom:8px}.x01-floors button{padding:0 12px;font-size:.88rem}}

.x01-cic{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;color:#fff}.x01-cic .ic{width:30px;height:30px}
/* Update 11: FOB / X01 printer switch on Gear Recipes */
.g-printers{display:inline-flex;margin:0 0 12px;border:1px solid #3a3a3e;border-radius:4px;overflow:hidden;background:#0d0d0e}
.g-printers button{min-height:44px;padding:0 20px;border:0;background:none;color:#e6e6e6;font:800 1rem/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.g-printers button+button{border-left:1px solid #3a3a3e}.g-printers button.on{background:var(--red);color:#fff}
.g-prnote{margin:0 0 12px;color:#cfcfcf;font-size:.92rem}.g-prnote a{color:#ff6b70}
.it-sublbl{margin:6px 0 4px;color:#9c9c9c;font:700 .78rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
#x01Markers .mk.ico{z-index:3}#x01Markers .mk.lbl{z-index:2}
/* X01 tile: very subtle rolling fog in the foreground */
@keyframes fogRoll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.ft-fog{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;
  -webkit-mask-image:linear-gradient(to bottom,transparent 30%,#000 75%);mask-image:linear-gradient(to bottom,transparent 30%,#000 75%)}
.ft-fog i{position:absolute;left:0;bottom:-12%;width:200%;height:70%;opacity:.32;filter:blur(14px);will-change:transform;
  background:radial-gradient(ellipse 18% 46% at 10% 60%,rgba(210,222,232,.55),transparent 70%),radial-gradient(ellipse 22% 40% at 32% 70%,rgba(210,222,232,.45),transparent 70%),
    radial-gradient(ellipse 16% 50% at 52% 58%,rgba(210,222,232,.5),transparent 70%),radial-gradient(ellipse 20% 42% at 74% 68%,rgba(210,222,232,.45),transparent 70%),
    radial-gradient(ellipse 18% 46% at 90% 62%,rgba(210,222,232,.5),transparent 70%);
  animation:fogRoll 48s linear infinite}
.ft-fog i+i{bottom:-20%;height:55%;opacity:.22;animation-duration:75s;animation-direction:reverse;filter:blur(18px)}
a.ftile[data-open=x01] .ft-txt{z-index:1}
body.in-module .ft-fog i{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){.ft-fog i{animation:none}}
/* Boss pages show the whole picture */
.bsd-pic img{height:auto;max-height:none;object-fit:contain}
.bsd-pic{align-self:start}
