
  :root{
    --bg:#0a0b0a;--bg2:#111312;--panel:#151814;
    --acid:#c2fe0c;--acid-dim:#8db307;
    --violet:#5200ff;--violet-t:#a78bff;
    --orange:#ff4d00;--cyan:#35e0d2;
    --text:#d9ded5;--muted:#7e877b;--line:#272b27;--terminal-green:#5dff7e;
    --display:'Space Grotesk',system-ui,sans-serif;
    --mono:'IBM Plex Mono','Courier New',monospace;
    --switch-h:40px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    color:var(--text);font-family:var(--display);line-height:1.65;overflow-x:hidden;padding-top:var(--switch-h);
    background:
      linear-gradient(rgba(194,254,12,.022) 1px,transparent 1px) 0 0/100% 56px,
      linear-gradient(90deg,rgba(194,254,12,.022) 1px,transparent 1px) 0 0/56px 100%,
      var(--bg);
  }
  body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1000;background:repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0 1px,transparent 1px 3px);opacity:.3}
  ::selection{background:var(--acid);color:#000}
  img{max-width:100%;display:block}
  svg.pic{width:1em;height:1em;vertical-align:-.12em;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:square}

  /* ---------- LANGUAGE SWITCHER ---------- */
  .lang-switch{position:fixed;top:0;left:0;right:0;height:var(--switch-h);z-index:1100;display:flex;align-items:stretch;background:#050605;border-bottom:1px solid var(--acid-dim);font-family:var(--mono)}
  .ls-label{display:flex;align-items:center;padding:0 1.1rem;font-size:.68rem;letter-spacing:.3em;color:var(--acid);text-transform:uppercase;flex:1;white-space:nowrap;overflow:hidden}
  .lang-switch button{background:none;border:none;border-left:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:.72rem;letter-spacing:.15em;padding:0 1.2rem;cursor:pointer;text-transform:uppercase;transition:color .15s,background .15s}
  .lang-switch button:hover{color:var(--acid)}
  .lang-switch button.active{background:var(--acid);color:#000;font-weight:600}

  .l10n{display:none}
  body[data-lang="en"] .l10n[data-l="en"],
  body[data-lang="es"] .l10n[data-l="es"],
  body[data-lang="de"] .l10n[data-l="de"],
  body[data-lang="ru"] .l10n[data-l="ru"]{display:block}

  /* ---------- HERO ---------- */
  .hero{
    min-height:calc(96vh - var(--switch-h));display:flex;flex-direction:column;justify-content:flex-end;
    padding:6rem 8vw 4.5rem;position:relative;isolation:isolate;
    background:
      linear-gradient(180deg,rgba(10,11,10,.55) 0%,rgba(10,11,10,.35) 40%,rgba(10,11,10,.94) 82%,var(--bg) 100%),
      url('https://images.contentstack.io/v3/assets/blt15f7b5c0d43ed112/blt4579a520aea7477a/699c18b848bd410008f09c63/Hero_Video_Fallback_Image.png?width=1920&quality=80&auto=webp') center 30%/cover no-repeat,
      var(--bg);
  }
  .hero-graphic{position:absolute;top:7vh;right:5vw;width:min(420px,38vw);opacity:.9;pointer-events:none;z-index:-1}
  .hero-tag{font-family:var(--mono);font-size:.78rem;letter-spacing:.35em;color:var(--acid);text-transform:uppercase;margin-bottom:1.4rem}
  .hero-logo{width:min(680px,86vw);margin-bottom:1.2rem;filter:drop-shadow(0 4px 24px rgba(0,0,0,.8))}
  .hero-sub{max-width:620px;font-size:1.08rem;color:#c9cfc5;text-shadow:0 1px 8px rgba(0,0,0,.9)}
  .hero-meta{margin-top:2.2rem;display:flex;gap:2.5rem;flex-wrap:wrap;font-family:var(--mono);font-size:.78rem;color:var(--acid-dim)}
  .hero-meta b{display:block;color:#fff;font-size:1.1rem;letter-spacing:.05em;font-family:var(--display)}
  .hero-coords{position:absolute;bottom:1rem;right:1.4rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;color:rgba(194,254,12,.55);text-transform:uppercase}
  .hero-ver{position:absolute;top:calc(1rem);left:1.4rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;color:rgba(194,254,12,.55);text-transform:uppercase;writing-mode:vertical-rl}
  .hazard{height:14px;background:repeating-linear-gradient(-45deg,var(--acid) 0 16px,#0a0b0a 16px 32px);opacity:.85}
  .hazard.orange{background:repeating-linear-gradient(-45deg,var(--orange) 0 16px,#0a0b0a 16px 32px)}

  /* barcode decor */
  .bc{height:22px;width:130px;background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 5px,currentColor 5px 6px,transparent 6px 11px,currentColor 11px 15px,transparent 15px 18px,currentColor 18px 19px,transparent 19px 26px);color:var(--muted);opacity:.55}

  /* ---------- TICKER ---------- */
  .ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#060706;padding:.45rem 0;user-select:none}
  .ticker-inner{display:inline-block;white-space:nowrap;font-family:var(--mono);font-size:.72rem;letter-spacing:.35em;color:var(--acid-dim);text-transform:uppercase;animation:tick 38s linear infinite}
  @keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .ticker b{color:var(--acid);font-weight:400}

  /* ---------- GOD BANNER ---------- */
  .god{padding:5.5rem 8vw;background:linear-gradient(180deg,#060706,#0a0b0a);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
  .god::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 70% 50%,rgba(82,0,255,.16),transparent 70%)}
  .god-t{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(1.9rem,6.4vw,4.6rem);line-height:.98;letter-spacing:-.015em;color:var(--acid);position:relative;
    text-shadow:2px 0 rgba(82,0,255,.85),-2px 0 rgba(53,224,210,.5);animation:flick 6s infinite}
  @keyframes flick{0%,93%,100%{opacity:1}94%{opacity:.55}95%{opacity:1}97%{opacity:.7}98%{opacity:1}}
  .god-s{font-family:var(--mono);font-size:.74rem;letter-spacing:.25em;color:var(--muted);text-transform:uppercase;margin-top:1.2rem;position:relative}
  .god-s b{color:var(--violet-t);font-weight:400}

  /* ---------- NAV ---------- */
  nav{position:sticky;top:var(--switch-h);z-index:900;background:rgba(10,11,10,.93);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;overflow-x:auto;scrollbar-width:none}
  nav::-webkit-scrollbar{display:none}
  nav a{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:.9rem 1.15rem;white-space:nowrap;border-right:1px solid var(--line);transition:color .15s,background .15s}
  nav a:hover{color:var(--acid);background:rgba(194,254,12,.05)}

  /* ---------- SECTIONS ---------- */
  section{padding:4.5rem 8vw;max-width:1100px;margin:0 auto}
  .sec-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.3em;color:var(--orange);text-transform:uppercase;margin-bottom:.6rem;display:flex;align-items:center;gap:.7rem}
  .sec-label svg.pic{font-size:1.15rem;color:var(--acid)}
  h2{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;color:#fff;margin-bottom:1.6rem;line-height:1.1}
  h3{font-size:1.12rem;color:var(--acid);text-transform:uppercase;letter-spacing:.06em;margin:2.2rem 0 .8rem;font-weight:700}
  p{margin-bottom:1.1rem;max-width:72ch}
  p b,li b{color:#fff}
  .lead{font-size:1.14rem;color:#e8ede5}

  .art{margin:2rem 0;border:1px solid var(--line);position:relative}
  .art img{width:100%;height:auto}
  .art figcaption{font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding:.5rem .8rem;border-top:1px solid var(--line);background:var(--bg2)}
  .art figcaption span{color:var(--acid)}

  .term{color:var(--cyan);border-bottom:1px dashed rgba(53,224,210,.5);cursor:help;position:relative}
  .term::after{content:attr(data-def);position:absolute;left:0;bottom:130%;z-index:500;background:#0a0c0b;border:1px solid var(--cyan);color:var(--text);font-size:.8rem;line-height:1.45;padding:.7rem .9rem;width:min(320px,70vw);opacity:0;pointer-events:none;transition:opacity .15s;font-family:var(--display);letter-spacing:0;text-transform:none;font-weight:400}
  .term:hover::after{opacity:1}

  .terminal{border:1px solid var(--line);background:#090c0a;margin:1.8rem 0;box-shadow:0 0 0 1px rgba(93,255,126,.06),inset 0 0 60px rgba(93,255,126,.03)}
  .terminal-bar{display:flex;align-items:center;gap:.8rem;padding:.55rem .9rem;cursor:pointer;background:linear-gradient(180deg,#151815,#0f120f);border-bottom:1px solid var(--line);user-select:none}
  .terminal-bar:hover .t-title{color:var(--terminal-green)}
  .t-dot{width:9px;height:9px;background:var(--terminal-green);box-shadow:0 0 8px var(--terminal-green);animation:blink 2.4s infinite}
  @keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
  .t-title{font-family:var(--mono);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);transition:color .15s;flex:1}
  .t-toggle{font-family:var(--mono);color:var(--acid);font-size:.8rem}
  .terminal-body{display:none;padding:1.2rem 1.4rem;font-family:var(--mono);font-size:.86rem;line-height:1.7;color:var(--terminal-green)}
  .terminal.open .terminal-body{display:block}
  .terminal.open .t-toggle::before{content:'[-] '}
  .terminal:not(.open) .t-toggle::before{content:'[+] '}
  .terminal-body p{color:var(--terminal-green);max-width:none;margin-bottom:.9rem}
  .terminal-body .sig{color:var(--acid);margin-top:1rem}

  .timeline{border-left:2px solid var(--line);margin:2rem 0 2rem .4rem}
  .tl-item{position:relative;padding:0 0 1.7rem 1.8rem}
  .tl-item::before{content:'';position:absolute;left:-7px;top:.45em;width:12px;height:12px;background:var(--bg);border:2px solid var(--acid);transform:rotate(45deg)}
  .tl-item.danger::before{border-color:var(--orange)}
  .tl-item.minor::before{width:8px;height:8px;left:-5px;border-color:var(--muted)}
  .tl-year{font-family:var(--mono);font-weight:600;color:var(--acid);font-size:.95rem;letter-spacing:.08em}
  .tl-item.danger .tl-year{color:var(--orange)}
  .tl-item.minor .tl-year{color:var(--muted);font-size:.85rem}
  .tl-item p{margin:.25rem 0 0}
  .tl-item.minor p{font-size:.9rem;color:#aeb5aa}

  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem;margin:1.6rem 0}
  .card{background:var(--panel);border:1px solid var(--line);padding:1.4rem;position:relative;transition:border-color .2s,transform .2s}
  .card:hover{border-color:var(--acid-dim);transform:translateY(-2px)}
  .card::before{content:'';position:absolute;top:0;left:0;width:38px;height:3px;background:var(--acid)}
  .card.orange::before{background:var(--orange)}
  .card.cyan::before{background:var(--cyan)}
  .card.violet::before{background:var(--violet)}
  .card h4{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:.15rem;font-weight:700}
  .card .sub{font-family:var(--mono);font-size:.7rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.7rem;display:block}
  .card p{font-size:.92rem;margin-bottom:.6rem;color:#c3cabf}
  .card p:last-child{margin-bottom:0}

  .chip{display:inline-block;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:.15rem .55rem;border:1px solid;margin:.15rem .3rem .15rem 0}
  .chip.canon{color:var(--acid);border-color:var(--acid-dim)}
  .chip.datamine{color:var(--violet-t);border-color:#6b3fd6}
  .chip.theory{color:var(--orange);border-color:var(--orange)}

  .callout{border-left:3px solid var(--orange);background:rgba(255,77,0,.06);padding:1rem 1.3rem;margin:1.6rem 0;font-size:.95rem}
  .callout b{color:var(--orange)}
  .callout.v{border-left-color:var(--violet);background:rgba(82,0,255,.07)}
  .callout.v b{color:var(--violet-t)}

  .f-row{display:grid;grid-template-columns:200px 1fr;gap:1.2rem;border-top:1px solid var(--line);padding:1.2rem 0}
  .f-row:last-of-type{border-bottom:1px solid var(--line)}
  .f-name{font-weight:700;text-transform:uppercase;color:#fff;letter-spacing:.04em}
  .f-name svg.pic{font-size:1.5rem;color:var(--acid);display:block;margin-bottom:.45rem}
  .f-name span{display:block;font-family:var(--mono);font-weight:400;font-size:.7rem;color:var(--acid);letter-spacing:.15em;margin-top:.25rem}
  .f-name i{display:block;font-style:normal;font-family:var(--mono);font-weight:400;font-size:.64rem;color:var(--muted);letter-spacing:.1em;margin-top:.2rem}
  .f-row p{font-size:.94rem;margin-bottom:.4rem}

  footer{padding:3rem 8vw;border-top:1px solid var(--line);font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.08em}
  .footer-logos{display:flex;align-items:center;gap:2rem;margin-bottom:1.4rem;flex-wrap:wrap}
  .footer-logos img{height:34px;width:auto;opacity:.9}
  footer p{max-width:none;margin-bottom:.4rem}

  @media(max-width:640px){
    .f-row{grid-template-columns:1fr;gap:.4rem}
    .f-name svg.pic{display:inline-block;margin:0 .5rem 0 0}
    section{padding:3.2rem 6vw}
    .hero{padding:5rem 6vw 3.5rem}
    .hero-graphic{display:none}
    .ls-label{display:none}
    .lang-switch{justify-content:flex-end}
    .hero-ver{display:none}
  }

  .chip.ammo-l{color:#b9c2b4;border-color:#5a635a}
  .chip.ammo-h{color:var(--orange);border-color:var(--orange)}
  .chip.ammo-s{color:var(--acid);border-color:var(--acid-dim)}
  .chip.ammo-m{color:var(--cyan);border-color:var(--cyan)}
  .chip.ammo-v{color:var(--violet-t);border-color:#6b3fd6}
  h3 svg.pic{font-size:1.05rem;color:var(--acid);margin-right:.3rem}
  @media (prefers-reduced-motion: reduce){
    .ticker-inner{animation:none;padding-left:1rem}
    .god-t{animation:none}
    .t-dot{animation:none}
    html{scroll-behavior:auto}
  }
  .lang-switch button:focus-visible,nav a:focus-visible,.terminal-bar:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}


/* v5 additions */
a.ls-label{text-decoration:none}
.lang-switch #feedback-btn{display:flex;align-items:center;border-left:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:.72rem;letter-spacing:.15em;padding:0 1.2rem;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:color .15s}
.lang-switch #feedback-btn:hover{color:var(--acid)}
.lang-switch #feedback-btn:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}
.lang-switch #spoiler-toggle[aria-pressed="false"]{color:var(--orange)}

/* welcome TOC - Variant A (terminal index) */
.va-list{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;border:1px solid var(--line);background:#070807;padding:.5rem;margin:1.6rem 0}
.va-row{display:grid;grid-template-columns:auto 22px 1fr;align-items:center;gap:.8rem;padding:.65rem .8rem;border:1px solid transparent;position:relative;text-decoration:none;transition:background .1s}
.va-num{font-family:var(--mono);font-size:.82rem;font-weight:600;letter-spacing:.08em;color:var(--acid);min-width:2.7em}
.va-ico{color:var(--acid);display:flex}
.va-ico svg.pic{width:22px;height:22px}
.va-txt{display:block;min-width:0}
.va-title{display:block;font-family:var(--display);font-weight:500;font-size:.94rem;color:#fff;line-height:1.25}
.va-desc{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.02em;color:var(--muted);margin-top:.18rem;line-height:1.4}
.va-row:hover{background:var(--acid)}
.va-row:hover .va-num,.va-row:hover .va-title,.va-row:hover .va-desc,.va-row:hover .va-ico{color:#000}
.va-row:hover .va-num::before{content:'> '}
.va-row:hover::after{content:'\2588';position:absolute;right:.7rem;top:50%;transform:translateY(-50%);color:#000;font-family:var(--mono);animation:va-cur .8s steps(1) infinite}
.va-row:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}
@keyframes va-cur{50%{opacity:0}}
@media(max-width:720px){.va-list{grid-template-columns:1fr}}
@media(max-width:420px){.va-row{grid-template-columns:auto 20px 1fr;gap:.6rem;padding:.6rem}.va-row:hover::after{display:none}}
@media (prefers-reduced-motion: reduce){.va-row:hover::after{animation:none}}

.pager{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);margin-top:1rem}
.pager a{flex:1;font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:1rem 8vw;transition:color .15s,background .15s}
.pager a:hover{color:var(--acid);background:rgba(194,254,12,.05)}
.pager-next{text-align:right}

.credit{font-style:italic;color:var(--muted);font-size:.9em}
.credit a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.credit a:hover{color:var(--acid)}

body.hide-spoilers .spoiler-m26 > *{display:none}
body.hide-spoilers .spoiler-m26::before{content:'SPOILER // priority missions - toggle in the top bar';display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);border:1px solid var(--orange);padding:.8rem 1rem}

.community-patches:empty{display:none}


/* phase4 visuals: class shell portrait cards */
.card-shot{margin:0 0 1rem;border:1px solid var(--line);background:#0b0e0b}
.card-shot img{width:100%;height:auto;display:block}
.card-shot figcaption{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.4rem .6rem;border-top:1px solid var(--line);background:var(--bg2);line-height:1.45}
.card-shot figcaption span{color:var(--acid)}

/* phase4 visuals: faction logos + agent art */
.f-logo{height:34px;width:auto;display:block;margin-top:.6rem;opacity:.9}
.f-art{margin:0 0 1rem;border:1px solid var(--line);background:#0b0e0b}
.f-art img{width:100%;height:auto;display:block}
.f-art figcaption{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.45rem .7rem;border-top:1px solid var(--line);background:var(--bg2);line-height:1.45}
.f-art figcaption span{color:var(--acid)}

/* phase4 visuals: zones interactive-map links */
.map-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin:1.2rem 0}
.map-link{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;border:1px solid var(--line);background:var(--panel);padding:.9rem 1rem;text-decoration:none;color:var(--text);transition:border-color .15s,transform .12s}
.map-link:hover{border-color:var(--acid-dim);transform:translateY(-2px)}
.map-link svg.pic{font-size:1.4rem;color:var(--acid);flex:none}
.map-name{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:.92rem;color:#fff;letter-spacing:.02em}
.map-note{flex-basis:100%;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.map-link:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}


/* phase4b: compact inline map-link, folded into zone descriptions */
.map-link-mini{display:inline-flex;padding:.35rem .6rem;margin:.3rem 0 0;gap:.45rem;font-size:.72rem}
.map-link-mini svg.pic{font-size:1rem}
.map-link-mini span{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text)}


/* phase2 v6 structure: subsection labels + weapon/shell/zone stat blocks + mods table */
.wsub-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);border-left:2px solid var(--acid-dim);padding-left:.55rem;margin:1.15rem 0 .55rem}
.statgrid{font-family:var(--mono);font-size:.8rem;margin:.5rem 0 .3rem;display:grid;grid-template-columns:1fr 1fr;gap:0 1.7rem}
.statrow{display:flex;justify-content:space-between;gap:.6rem;padding:.24rem 0;border-bottom:1px dotted var(--line)}
.statlabel{color:var(--muted)}
.statval{color:var(--text);text-align:right}
.prov{grid-column:1/-1;margin-top:.45rem;font-family:var(--mono);font-size:.6rem;color:var(--muted);opacity:.8}
.modstable{border-collapse:collapse;font-family:var(--mono);font-size:.74rem;width:100%;margin:.45rem 0 .3rem}
.modstable caption{text-align:left;color:var(--acid);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;padding-bottom:.35rem}
.modstable th,.modstable td{border-bottom:1px solid var(--line);padding:.32rem .55rem;text-align:left;vertical-align:top}
.modstable th{color:var(--muted);font-weight:400;text-transform:uppercase;font-size:.6rem;letter-spacing:.1em}
.modstable-more td{color:var(--muted);font-style:italic}
.chip.rarity-standard{color:var(--muted);border-color:var(--line)}
.chip.rarity-enhanced{color:var(--cyan);border-color:var(--cyan)}
.chip.rarity-deluxe{color:var(--acid);border-color:var(--acid-dim)}
.chip.rarity-superior{color:var(--violet-t);border-color:var(--violet)}
.chip.rarity-prestige{color:var(--orange);border-color:var(--orange)}
@media(max-width:640px){
  .statgrid{grid-template-columns:1fr}
}


/* v6-fb-struct: collapsible weapon categories (arsenal) */
.wcat{border:1px solid var(--line);background:#090c0a;margin:1.6rem 0;box-shadow:0 0 0 1px rgba(93,255,126,.05)}
.wcat>summary{display:flex;align-items:center;gap:.7rem;list-style:none;cursor:pointer;padding:.55rem .9rem;background:linear-gradient(180deg,#151815,#0f120f);user-select:none;transition:color .15s,background .15s}
.wcat>summary::-webkit-details-marker{display:none}
.wcat>summary::after{content:'\25B8';margin-left:auto;color:var(--acid);font-size:.85rem}
.wcat[open]>summary{border-bottom:1px solid var(--line)}
.wcat[open]>summary::after{content:'\25BE'}
.wcat>summary h3{margin:0;font-size:1.05rem}
.wcat>summary:hover{background:rgba(194,254,12,.06)}
.wcat>summary:hover h3,.wcat>summary:hover::after{color:#fff}
.wcat>summary:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}
.wcat-n{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;color:var(--muted);border:1px solid var(--line);padding:.05rem .45rem}
.wcat>.f-row{padding-left:.9rem;padding-right:.9rem}
.wcat>.f-row:first-of-type{border-top:none}

/* v6-fb-struct: shell-card statgrid overflow fix (classes) */
.card .statgrid{grid-template-columns:1fr}
.card .statrow{gap:1rem}
.card .statlabel{overflow-wrap:anywhere}

/* v6-fb-struct: MapGenie link rebuilt as a button (zones) */
.map-btn{display:inline-flex;align-items:center;gap:.5rem;margin:.5rem 0 0;padding:.5rem .9rem;border:1px solid var(--acid);color:var(--acid);background:transparent;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:color .15s,background .15s}
.map-btn svg.pic{font-size:1.05rem}
.map-btn:hover{background:var(--acid);color:#000}
.map-btn:focus-visible{outline:2px solid var(--acid);outline-offset:2px}

/* v6-fb-struct: welcome sources + community patches (collapsible) */
.meta-block{max-width:1100px;margin:1.6rem auto;border:1px solid var(--line);background:#070807}
.meta-block>summary{display:flex;align-items:center;gap:.7rem;list-style:none;cursor:pointer;padding:1rem 8vw;font-family:var(--mono);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acid);user-select:none;transition:color .15s,background .15s}
.meta-block>summary::-webkit-details-marker{display:none}
.meta-block>summary::after{content:'\25B8';margin-left:auto;color:var(--acid)}
.meta-block[open]>summary{border-bottom:1px solid var(--line)}
.meta-block[open]>summary::after{content:'\25BE'}
.meta-block>summary:hover{background:rgba(194,254,12,.06)}
.meta-block>summary:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}
.meta-block section{padding-top:2rem;padding-bottom:2rem}

/* v6.4: collapsible Stats block on shell cards (classes.html); summary models .wsub-label + .wcat caret */
.stats-fold{margin:.55rem 0}
.stats-fold>summary{display:flex;align-items:center;gap:.5rem;list-style:none;cursor:pointer;font-family:var(--mono);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);border-left:2px solid var(--acid-dim);padding-left:.55rem;user-select:none;transition:color .15s}
.stats-fold>summary::-webkit-details-marker{display:none}
.stats-fold>summary::after{content:'\25B8';margin-left:.4rem;color:var(--acid);font-size:.8rem}
.stats-fold[open]>summary::after{content:'\25BE'}
.stats-fold>summary:hover{color:#fff}
.stats-fold>summary:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}

/* v6.4 visual audit: extract repeated inline styles + rampancy diagram frame + map-btn nesting fix */
.diagram{width:100%;height:auto;display:block;padding:1rem 1rem 1.2rem;background:#0b0e0b}
.card h4 span{color:var(--acid)}
.f-slogan{color:var(--acid)}
.src-note{font-size:.88rem;color:var(--muted)}
.f-name .map-btn svg.pic{margin:0}
.f-name .map-btn span{display:inline;margin:0;font-size:inherit;letter-spacing:inherit}

/* v6.4 welcome portal */
/* two-column intro grid + calm sticky navigator; nested inside <section>, so
   no own padding/max-width (the section supplies both). wp- prefix = no clash. */
.wp-grid{display:grid;grid-template-columns:1fr 300px;gap:2.4rem;align-items:start;margin:0}
.wp-main{min-width:0}
.wp-main .sec-label{margin-top:2.4rem}
.wp-main .sec-label:first-child{margin-top:0}
.wp-navpanel{position:sticky;top:calc(var(--switch-h) + 3.6rem);border:1px solid var(--line);background:#070807}
.wp-navpanel-head{font-family:var(--mono);font-size:.72rem;letter-spacing:.3em;color:var(--orange);text-transform:uppercase;display:flex;align-items:center;gap:.7rem;padding:1rem 1.1rem .5rem}
.wp-navpanel-head svg.pic{font-size:1.15rem;color:var(--acid)}
.wp-navpanel-body{padding:.2rem .45rem .75rem}
.wp-nline{display:flex;align-items:baseline;justify-content:space-between;gap:.9rem;padding:.5rem .65rem;text-decoration:none;transition:background .12s}
.wp-nline .wp-nq{font-family:var(--display);font-size:.92rem;color:var(--text);line-height:1.35}
.wp-nline .wp-nn{font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--acid);flex:none}
.wp-nline:hover{background:rgba(194,254,12,.07)}
.wp-nline:hover .wp-nq{color:#fff}
.wp-nline:focus-visible{outline:2px solid var(--acid);outline-offset:-2px}
@media(max-width:860px){
  .wp-grid{grid-template-columns:1fr;gap:1.6rem}
  .wp-navpanel{position:static}
}
