:root{
  --bg: #0b0d0f;
  --panel: #14171a;
  --panel-raised: #191d20;
  --hair: #292e33;
  --hair-soft: #21252a;
  --ink: #e9e6df;
  --ink-dim: #9aa0a6;
  --ink-faint: #676d73;
  --accent: #35659e;
  --accent-2: #c9a227;
  --accent-soft: rgba(53,101,158,0.12);
  --radius: 3px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  min-height:100vh;
  line-height:1.5;
}
::selection{ background:var(--accent); color:#fff; }

.grain{
  position:fixed; inset:0; pointer-events:none; z-index:1; opacity:0.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

h1,h2,h3,h4,.disp{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:0.02em; }
.mono{ font-family:'IBM Plex Mono',monospace; }

.shell{ display:flex; min-height:100vh; }

.sidebar{
  width:280px; flex-shrink:0; background:var(--panel);
  border-right:1px solid var(--hair);
  position:sticky; top:0; height:100vh; overflow-y:auto;
  display:flex; flex-direction:column;
  z-index:5;
}
.brand{ padding:26px 22px 20px; border-bottom:1px solid var(--hair); }
.brand .eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.18em; color:var(--ink-faint); text-transform:uppercase; margin-bottom:6px;}
.brand h1{ font-size:22px; font-weight:700; line-height:1.05; color:var(--ink); }
.brand h1 span{ display:block; font-size:12px; font-weight:500; letter-spacing:0.14em; color:var(--accent-2); margin-top:6px; text-transform:uppercase; font-family:'IBM Plex Mono',monospace;}

.patrol-list{ padding:14px; display:flex; flex-direction:column; gap:8px; flex:1;}
.patrol-btn{
  display:flex; align-items:center; gap:12px;
  background:var(--panel-raised); border:1px solid var(--hair);
  border-left:3px solid var(--patrol-color, var(--hair));
  padding:12px 14px; border-radius:2px; cursor:pointer; text-align:left;
  transition:background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
  width:100%;
}
.patrol-btn:hover{ background:#1e2226; transform:translateX(2px); }
.patrol-btn.active{ background:linear-gradient(90deg, var(--patrol-color-soft) 0%, var(--panel-raised) 60%); border-color:var(--patrol-color); }
.patrol-btn .sigil{
  width:34px; height:34px; border-radius:2px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:#f4f2ec; color:#0b0d0f; font-family:'Oswald',sans-serif; font-weight:700; font-size:15px;
  overflow:hidden; border:1px solid var(--patrol-color, var(--hair));
}
.patrol-btn .sigil img{ width:22px; height:22px; object-fit:contain; }
.hero-sigil{
  width:52px; height:52px; border-radius:3px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:#f4f2ec; margin-bottom:14px; border:1px solid var(--patrol-color, var(--hair));
  color:#0b0d0f; font-family:'Oswald',sans-serif; font-weight:700; font-size:22px;
}
.hero-sigil img{ width:32px; height:32px; object-fit:contain; }
.patrol-btn .meta{ flex:1; min-width:0; }
.patrol-btn .faction{ font-size:10.5px; font-weight:700; letter-spacing:0.1em; color:var(--ink); text-transform:uppercase; font-family:'IBM Plex Mono',monospace; }
.patrol-btn .name{ font-family:'Oswald',sans-serif; font-size:15px; font-weight:600; color:var(--ink); text-transform:uppercase; letter-spacing:0.01em; }

.filter-bar{ padding:12px 14px 0; display:flex; flex-direction:column; gap:6px; }
.filter-row{ display:flex; gap:6px; flex-wrap:wrap; }
.filter-chip{
  font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.05em; text-transform:uppercase;
  background:var(--panel-raised); border:1px solid var(--hair); color:var(--ink-dim);
  padding:5px 10px; border-radius:2px; cursor:pointer; transition:background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.filter-chip:hover{ border-color:var(--accent-2); color:var(--ink); }
.filter-chip.active{ background:var(--accent-2); color:#0b0d0f; border-color:var(--accent-2); font-weight:600; }
.filter-chip.status-chip.green:hover{ border-color:#7fd858; }
.filter-chip.status-chip.yellow:hover{ border-color:#e8c250; }
.filter-chip.status-chip.red:hover{ border-color:#e06a6a; }
.filter-chip.status-chip.green.active{ background:#7fd858; border-color:#7fd858; color:#0b0d0f; }
.filter-chip.status-chip.yellow.active{ background:#e8c250; border-color:#e8c250; color:#0b0d0f; }
.filter-chip.status-chip.red.active{ background:#e06a6a; border-color:#e06a6a; color:#0b0d0f; }

.ed-badge{
  display:inline-flex; align-items:center; gap:5px; font-family:'IBM Plex Mono',monospace;
  font-size:9px; letter-spacing:0.05em; text-transform:uppercase; padding:3px 7px; border-radius:2px;
  border:1px solid; flex-shrink:0;
}
.ed-badge .dot{ width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.ed-badge.green{ color:#7fd858; border-color:#3a5f2a; background:rgba(127,216,88,0.1); }
.ed-badge.green .dot{ background:#7fd858; }
.ed-badge.yellow{ color:#e8c250; border-color:#6b5a1f; background:rgba(232,194,80,0.1); }
.ed-badge.yellow .dot{ background:#e8c250; }
.ed-badge.red{ color:#e06a6a; border-color:#6b2a2a; background:rgba(224,106,106,0.1); }
.ed-badge.red .dot{ background:#e06a6a; }
.patrol-btn .meta-row{ display:flex; align-items:center; gap:8px; margin-top:4px; }
.sidebar-foot{ padding:16px 22px; border-top:1px solid var(--hair); font-size:11px; color:var(--ink-faint); line-height:1.6; }

.global-nav{ padding:14px 14px 0; }
.global-nav-btn{
  display:flex; align-items:center; gap:12px; width:100%;
  background:var(--panel-raised); border:1px solid var(--hair); border-left:3px solid var(--accent-2);
  padding:12px 14px; border-radius:2px; cursor:pointer; text-align:left;
  transition:background 0.15s ease, transform 0.1s ease;
}
.global-nav-btn:hover{ background:#1e2226; transform:translateX(2px); }
.global-nav-btn.active{ background:linear-gradient(90deg, rgba(201,162,39,0.14) 0%, var(--panel-raised) 60%); }
.global-nav-btn .sigil{
  width:34px; height:34px; border-radius:2px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:var(--accent-2); color:#0b0d0f; font-family:'Oswald',sans-serif; font-weight:700; font-size:15px;
}
.global-nav-btn .name{ font-family:'Oswald',sans-serif; font-size:14px; font-weight:600; color:var(--ink); text-transform:uppercase; letter-spacing:0.01em; }
.global-nav-btn .sub{ font-size:9px; letter-spacing:0.1em; color:var(--ink-faint); text-transform:uppercase; font-family:'IBM Plex Mono',monospace; }
.nav-divider{ margin:14px 14px 0; border-top:1px solid var(--hair); padding-top:2px; }

.step-code{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--accent-2); letter-spacing:0.06em; }
.rule-card ul{ margin:4px 0 4px 18px; padding:0; }
.rule-card li{ font-size:14px; color:var(--ink-dim); line-height:1.7; margin-bottom:4px; }
.rule-card .note{ font-size:13px; color:var(--ink-faint); font-style:italic; margin-top:10px; line-height:1.65; }

.deploy-table{ width:100%; border-collapse:collapse; margin:14px 0 22px; max-width:360px; }
.manoeuvre-table{ width:100%; border-collapse:collapse; margin-top:14px; }
.manoeuvre-table th{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.06em; text-align:left; padding:0 12px 8px 0; border-bottom:1px solid var(--hair); }
.manoeuvre-table td{ font-size:12.5px; color:var(--ink-dim); line-height:1.55; padding:10px 12px 10px 0; border-bottom:1px solid var(--hair-soft); vertical-align:top; }
.manoeuvre-table td.mv-name{ color:var(--ink); font-weight:600; font-size:13px; white-space:nowrap; }
.manoeuvre-table tr:last-child td{ border-bottom:none; }
@media(max-width:700px){
  .manoeuvre-table, .manoeuvre-table thead, .manoeuvre-table tbody, .manoeuvre-table th, .manoeuvre-table td, .manoeuvre-table tr{ display:block; }
  .manoeuvre-table thead{ display:none; }
  .manoeuvre-table tr{ border-bottom:1px solid var(--hair); padding-bottom:10px; margin-bottom:10px; }
  .manoeuvre-table td{ border-bottom:none; padding:2px 0; }
  .manoeuvre-table td.mv-name{ font-size:14px; margin-bottom:4px; }
  .manoeuvre-table td:not(.mv-name)::before{ content:attr(data-label); display:block; font-family:'IBM Plex Mono',monospace; font-size:9px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:2px; }
}
.deploy-table th{ font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.06em; text-align:left; padding:6px 10px; border-bottom:1px solid var(--hair); }
.deploy-table td{ font-size:13.5px; color:var(--ink); padding:8px 10px; border-bottom:1px solid var(--hair-soft); }

.layout-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:8px; }
@media(max-width:900px){ .layout-grid{ grid-template-columns:1fr; } }
.layout-card{ background:var(--panel); border:1px solid var(--hair); border-radius:3px; padding:14px; }
.layout-card h5{ font-family:'Oswald',sans-serif; font-size:14px; color:var(--ink); text-transform:uppercase; margin-bottom:10px; letter-spacing:0.02em; }
.layout-card svg{ width:100%; height:auto; display:block; border-radius:2px; }
.layout-legend{ display:flex; gap:10px; margin-top:8px; font-size:10.5px; color:var(--ink-faint); font-family:'IBM Plex Mono',monospace; }
.layout-legend span{ display:flex; align-items:center; gap:5px; }
.swatch{ width:10px; height:10px; border-radius:1px; display:inline-block; }

.main{ flex:1; min-width:0; position:relative; }

.hero{
  position:relative; padding:64px 56px 46px; overflow:hidden;
  border-bottom:1px solid var(--hair);
  background:
    radial-gradient(ellipse 900px 400px at 15% -10%, var(--patrol-color-soft), transparent 60%),
    var(--bg);
}
.hero::before{
  content:''; position:absolute; right:-60px; top:-40px; width:420px; height:420px;
  border:1px solid var(--patrol-color); opacity:0.14; border-radius:2px; transform:rotate(8deg);
}
.hero::after{
  content:''; position:absolute; right:20px; top:40px; width:260px; height:260px;
  border:1px solid var(--patrol-color); opacity:0.1; border-radius:2px; transform:rotate(-6deg);
}
.hero .eyebrow{
  font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--patrol-color); display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.hero .eyebrow b{ color:var(--ink); font-weight:700; }
.hero .eyebrow::before{ content:''; width:22px; height:1px; background:var(--patrol-color); }
.hero h2{ font-size:clamp(34px,5vw,58px); font-weight:700; color:var(--ink); line-height:0.98; max-width:800px; }
.hero .blurb{ margin-top:18px; max-width:640px; color:var(--ink-dim); font-size:15px; line-height:1.7; font-family:'Inter',sans-serif; text-transform:none; letter-spacing:0; }
.hero .tags{ margin-top:22px; display:flex; gap:8px; flex-wrap:wrap; }
.hero .tag{
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase;
  border:1px solid var(--hair); color:var(--ink-dim); padding:5px 10px; border-radius:2px;
}

.content{ padding:8px 56px 90px; max-width:1180px; }

.section{ padding-top:46px; }
.section-head{ display:flex; align-items:baseline; gap:14px; margin-bottom:18px; }
.section-head .num{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--patrol-color); }
.section-head h3{ font-size:22px; font-weight:600; color:var(--ink); }
.section-head .line{ flex:1; height:1px; background:var(--hair); }
.section-sub{ font-size:13px; color:var(--ink-dim); margin:-8px 0 16px; line-height:1.65; max-width:760px; }

.rule-card{
  background:var(--panel); border:1px solid var(--hair); border-radius:3px;
  padding:20px 22px; margin-bottom:12px;
}
.rule-card h4{ font-size:14.5px; color:var(--patrol-color); margin-bottom:8px; font-weight:600; letter-spacing:0.03em;}
.rule-card p{ color:var(--ink-dim); font-size:14px; line-height:1.7; font-family:'Inter',sans-serif; }
.rule-card p + p{ margin-top:8px; }
.rule-card .dp-badge{
  display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--accent-2);
  border:1px solid var(--hair); padding:3px 8px; border-radius:2px; margin-bottom:10px; letter-spacing:0.04em;
}

.disp-row{ display:flex; gap:8px; flex-wrap:wrap; }
.disp-chip{
  font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.05em;
  background:var(--accent-soft); border:1px solid var(--patrol-color); color:var(--ink);
  padding:7px 12px; border-radius:2px;
}

.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
@media(max-width:900px){ .grid-2,.grid-3{ grid-template-columns:1fr; } }

.strat-card{
  background:var(--panel); border:1px solid var(--hair); border-radius:3px; padding:16px 18px;
  border-top:2px solid var(--patrol-color);
}
.strat-card .top{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:10px;}
.strat-card h4{ font-size:14px; color:var(--ink); font-weight:600; letter-spacing:0.02em; }
.strat-card .cp{
  font-family:'IBM Plex Mono',monospace; font-size:11px; color:#0b0d0f; background:var(--accent-2);
  padding:3px 7px; border-radius:2px; flex-shrink:0; font-weight:600;
}
.strat-card .cat{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:10px; }
.strat-card .row{ font-size:12.5px; color:var(--ink-dim); margin-bottom:4px; }
.strat-card .row b{ color:var(--ink-faint); font-weight:600; font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:0.06em; margin-right:6px; }

.enh-card{
  background:var(--panel); border:1px solid var(--hair); border-radius:3px; padding:18px 20px;
  border-left:2px solid var(--accent-2);
}
.enh-card h4{ font-size:14.5px; color:var(--ink); font-weight:600; }
.enh-card .restrict{ font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--accent-2); text-transform:uppercase; letter-spacing:0.05em; margin:6px 0 10px; }
.enh-card p{ font-size:13.5px; color:var(--ink-dim); line-height:1.65; }

.datasheet{
  background:var(--panel); border:1px solid var(--hair); border-radius:4px; overflow:hidden; margin-bottom:22px;
}
.ds-head{
  padding:16px 20px; background:#f4f2ec; border-bottom:3px solid var(--patrol-color);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px;
}
.ds-head h4{ color:#14171a; font-size:18px; font-weight:700; letter-spacing:0.01em; }
.ds-head .leader-badge{
  font-family:'IBM Plex Mono',monospace; font-size:9.5px; color:#14171a; background:rgba(11,13,15,0.1);
  padding:4px 9px; border-radius:2px; text-transform:uppercase; letter-spacing:0.06em; font-weight:600;
  border:1px solid rgba(11,13,15,0.18);
}

.ds-body{ padding:18px 20px 22px; }

.statline{ width:100%; border-collapse:collapse; margin-bottom:16px; }
.statline th{
  font-family:'IBM Plex Mono',monospace; font-size:9.5px; color:var(--ink-faint); text-transform:uppercase;
  letter-spacing:0.08em; text-align:left; padding:0 10px 8px 0; border-bottom:1px solid var(--hair); font-weight:600;
}
.statline td{
  font-family:'IBM Plex Mono',monospace; font-size:14.5px; color:var(--ink); padding:9px 10px 9px 0;
  border-bottom:1px solid var(--hair-soft);
}
.statline td.mname{ font-family:'Inter',sans-serif; font-size:13px; color:var(--ink-dim); font-weight:500; }
.statline tr:last-child td{ border-bottom:none; }

.wep-group-label{
  font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--patrol-color);
  text-transform:uppercase; letter-spacing:0.1em; font-weight:600; margin:14px 0 8px;
}
.wep-block{ margin-bottom:10px; }
.wep-block .wname{
  background:var(--panel-raised); border:1px solid var(--hair); border-bottom:none;
  font-size:13.5px; font-weight:600; color:var(--ink); padding:8px 12px; border-radius:3px 3px 0 0;
}
.wep-stats{ display:grid; grid-template-columns:repeat(6,1fr); border:1px solid var(--hair); border-top:none; }
.wep-stats .cell{ padding:9px 6px 6px; text-align:center; border-right:1px solid var(--hair-soft); }
.wep-stats .cell:last-child{ border-right:none; }
.wep-stats .cell .lbl{ display:block; font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:4px; }
.wep-stats .cell .val{ display:block; font-family:'IBM Plex Mono',monospace; font-size:13.5px; color:var(--ink); }
.wep-tags{ display:flex; gap:6px; flex-wrap:wrap; padding:8px 12px 2px; border:1px solid var(--hair); border-top:none; border-radius:0 0 3px 3px; background:var(--panel); }
.wep-tags:empty{ display:none; padding:0; border:none; }
.wtag{
  font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.04em; color:var(--ink-dim);
  border:1px dashed var(--hair); padding:3px 8px; border-radius:2px; margin-bottom:6px; text-transform:uppercase;
}
button.wtag-link{
  background:transparent; cursor:pointer; color:var(--patrol-color); border-color:var(--patrol-color);
  transition:background 0.15s ease, color 0.15s ease;
}
button.wtag-link:hover{ background:var(--patrol-color); color:#0b0d0f; }
.gloss-item.flash{ animation:glossFlash 1.6s ease; border-radius:3px; }
@keyframes glossFlash{
  0%{ background:var(--patrol-color-soft, rgba(255,255,255,0.08)); }
  100%{ background:transparent; }
}
.wep-select-note{ font-size:11.5px; color:var(--ink-faint); font-style:italic; line-height:1.6; margin:6px 0 14px; }

.abilities{ margin-bottom:6px; margin-top:16px; }
.ability{ margin-bottom:11px; }
.ability .aname{ font-size:13px; font-weight:600; color:var(--ink); margin-bottom:3px; }
.ability .aname .tag{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; color:var(--patrol-color); font-weight:600; margin-left:6px; }
.ability p{ font-size:12.5px; color:var(--ink-dim); line-height:1.65; }

.ds-footer{ margin-top:16px; padding-top:14px; border-top:1px solid var(--hair); }
.ds-footer .comp-label{ font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--patrol-color); text-transform:uppercase; letter-spacing:0.08em; font-weight:600; margin-bottom:8px; }
.comp-list{ list-style:none; margin:0 0 10px; padding:0; }
.comp-list li{ font-size:13px; color:var(--ink); line-height:1.6; padding-left:14px; position:relative; margin-bottom:3px; }
.comp-list li::before{ content:'-'; position:absolute; left:0; color:var(--patrol-color); }
.ds-footer .comp-equip{ font-size:12.5px; color:var(--ink-dim); line-height:1.7; margin-bottom:12px; }
.equip-group{ margin-bottom:8px; }
.equip-label{ font-size:11.5px; color:var(--ink-dim); font-weight:600; margin-bottom:3px; }
.faq-status-list{ margin-top:10px; display:flex; flex-direction:column; gap:10px; }
.faq-status-row{ display:flex; align-items:flex-start; gap:10px; }
.faq-status-row .ed-badge{ flex-shrink:0; margin-top:2px; }
.faq-status-row p{ font-size:13.5px; color:var(--ink-dim); line-height:1.65; margin:0; }
.commentary-list{ display:flex; flex-direction:column; gap:12px; }
.commentary-card{ background:var(--panel); border:1px solid var(--hair); border-left:2px solid var(--patrol-color); border-radius:3px; padding:16px 20px; }
.commentary-card h4{ font-size:14.5px; color:var(--patrol-color); margin-bottom:6px; font-weight:600; }
.commentary-card p{ font-size:13.5px; color:var(--ink-dim); line-height:1.7; }
.kw-row{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:5px; }
.kw{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:0.04em; color:var(--ink-faint); border:1px solid var(--hair); padding:3px 7px; border-radius:2px; text-transform:uppercase;}
.kw.faction{ color:var(--patrol-color); border-color:var(--patrol-color); }

.glossary{ display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; }
@media(max-width:900px){ .glossary{ grid-template-columns:1fr; } }
.gloss-item{ padding:12px 0; border-bottom:1px solid var(--hair-soft); }
.gloss-item dt{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--patrol-color); text-transform:uppercase; letter-spacing:0.04em; font-weight:600; margin-bottom:4px; }
.gloss-item dd{ font-size:12.5px; color:var(--ink-dim); line-height:1.65; }
.gloss-note{ font-size:11.5px; color:var(--ink-faint); margin-bottom:16px; line-height:1.6; }

.tag-popover{
  position:absolute; z-index:50; max-width:240px; background:var(--panel-raised);
  border:1px solid var(--accent-2); border-radius:4px; padding:10px 12px;
  box-shadow:0 8px 24px rgba(0,0,0,0.5);
}
.tag-popover .tp-title{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--accent-2); text-transform:uppercase; letter-spacing:0.05em; font-weight:600; margin-bottom:5px; }
.tag-popover .tp-body{ font-size:12.5px; color:var(--ink); line-height:1.55; }

.foot{ padding:30px 56px 60px; color:var(--ink-faint); font-size:11.5px; border-top:1px solid var(--hair); max-width:1180px; }

::-webkit-scrollbar{ width:9px; }
::-webkit-scrollbar-track{ background:var(--bg); }
::-webkit-scrollbar-thumb{ background:#2a2e33; border-radius:5px; }

@media(max-width:820px){
  .shell{ flex-direction:column; }
  .sidebar{ width:100%; height:auto; position:relative; }
  .hero{ padding:38px 24px 30px; }
  .content{ padding:8px 24px 60px; }
  .grid-2,.grid-3{ grid-template-columns:1fr; }
  .wep-stats{ grid-template-columns:repeat(3,1fr); }
}

a:focus-visible, button:focus-visible{ outline:2px solid var(--accent-2); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){ *{ transition:none !important; scroll-behavior:auto !important; } }
.filter-row.status-row { display: none; }
/* ===== Fix global nav icons ===== */
.global-nav-btn .sigil {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--accent-2);
    border-radius: 2px;
    overflow: hidden;
}

.global-nav-btn .sigil img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    filter: brightness(0) invert(1); /* Forces white */
}

/* Match faction icon sizing */
.patrol-btn .sigil {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4f2ec;
    border-radius: 2px;
    border: 1px solid var(--patrol-color, var(--hair));
    overflow: hidden;
}

.patrol-btn .sigil img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}
/* Legends warning banner */
.legends-warning {
    background: rgba(224, 106, 106, 0.15);
    border: 2px solid #e06a6a;
    color: #e06a6a;
    padding: 12px 18px;
    border-radius: 3px;
    margin-bottom: 16px;
    font-family: 'IBM Plex Mono', monospace;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
}
