/* MAYDAN / V8 — original glass command interface. Last presentation layer. */
:root {
  --bg:#11150e;
  --panel:#1b2116;
  --line:#343d2c;
  --text:#f1f2e9;
  --muted:#a6b09b;
  --accent:#cadb98;
  --orange:#e4ad76;
  --v8-base:#0b0e09;
  --v8-glass:rgba(27,33,22,.88);
  --v8-shadow:0 16px 44px #0005,inset 0 1px #ffffff09;
  --v8-top:76px;
  --v8-tab:86px;
  --v8-display:clamp(40px,4.8vw,70px);
  --v8-h1:30px;
  --v8-h2:22px;
  --v8-body:16px;
  --v8-label:12px
}
html {
  background:var(--v8-base);
  scroll-padding-top:110px
}
body {
  background:radial-gradient(ellipse at 85% 8%,#cadb9808,transparent 35%),var(--v8-base);
  font:400 var(--v8-body)/1.85 'Maydan Sans','Maydan Arabic',sans-serif;
  overscroll-behavior-y:none;
  -webkit-tap-highlight-color:transparent
}
h1,h2,h3 {
  letter-spacing:normal;
  font-family:'Maydan Sans','Maydan Arabic',sans-serif
}
h1,.page-head h1 {
  font-size:var(--v8-h1);
  font-weight:700;
  line-height:1.4
}
h2 {
  font-size:var(--v8-h2)
}
h3 {
  font-size:18px
}
p {
  overflow-wrap:anywhere
}
button,input,select,textarea {
  font-family:inherit
}
button,a,input,select,summary {
  touch-action:manipulation
}
input,select,textarea {
  font-size:16px!important;
  color:var(--text);
  accent-color:var(--accent)
}
.eyebrow,.section-no,.mode-index,.v8-results-count,.v8-hero-foot {
  font:500 var(--v8-label)/1.6 'Maydan Mono',monospace;
  letter-spacing:1.3px;
  direction:ltr
}
.eyebrow:lang(ar),.v8-kicker:lang(ar) {
  letter-spacing:normal
}
main {
  view-transition-name:page;
  padding-top:32px;
  min-width:0
}
header {
  position:sticky;
  top:0;
  z-index:20;
  height:var(--v8-top);
  min-height:var(--v8-top);
  padding-top:env(safe-area-inset-top);
  background:rgba(17,21,14,.76);
  backdrop-filter:blur(24px) saturate(145%);
  -webkit-backdrop-filter:blur(24px) saturate(145%);
  border-bottom:1px solid #cadb981c;
  transition:background 180ms
}
.v8-bar-title {
  display:none;
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:17px;
  font-weight:600
}
.v8-condensed header {
  background:#11150ef0
}
.header-brand {
  transition:opacity 160ms
}
.header-actions .icon-button,.lang-toggle,#menu {
  border-radius:50%;
  min-width:40px;
  min-height:40px;
  background:#ffffff06;
  border:1px solid #cadb9818
}
.lang-toggle {
  color:var(--accent)
}
#sidebar {
  background:linear-gradient(165deg,#1b2116,#0d110a);
  border-color:#cadb981c
}
#sidebar nav a {
  border-radius:12px
}
#sidebar nav a.active {
  background:#cadb9814;
  border-color:#cadb9833
}
.panel,.card,.meta-feature,.empty,.shortcut,.journey,details {
  background:linear-gradient(135deg,#ffffff03,transparent 60%),var(--panel);
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--v8-shadow)
}
.panel {
  padding:24px
}
.cards>.panel,.weapon-grid>.panel,.key-grid>.panel {
  padding-top:38px
}
.card {
  overflow:hidden
}
.card img,.article-cover {
  aspect-ratio:16/9;
  background:#293021
}
.panel:hover,.card:hover {
  border-color:#566345
}
.button,.chip,.tag,.searchbox,select,input:not([type=checkbox]),textarea {
  border-radius:12px
}
.button {
  min-height:48px;
  padding:11px 20px;
  font-size:14px;
  gap:10px;
  background:var(--accent);
  color:#15200c;
  border-color:var(--accent);
  box-shadow:inset 0 1px #fff3
}
.button.outline,.button.dark {
  background:#ffffff05;
  color:var(--text);
  border-color:#cadb983b;
  backdrop-filter:blur(12px)
}
.button.ghost {
  background:none;
  border-color:transparent;
  color:var(--accent)
}
.chip {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:#ffffff04;
  color:var(--muted);
  font-size:13px;
  padding:8px 15px;
  flex-shrink:0
}
.chip.active,.chip[aria-pressed=true] {
  background:var(--accent);
  color:#15200c;
  border-color:var(--accent);
  box-shadow:0 3px 20px #cadb9812
}
.tag {
  font-size:12px;
  padding:3px 9px;
  background:#cadb980c;
  border-color:#cadb9833;
  color:var(--accent)
}
.tag.uncertain,.precision-note {
  color:var(--orange)
}
.notice {
  border-radius:14px;
  background:#cadb9808;
  color:#c5cfb9
}
.searchbox {
  background:#0b0e09a8;
  border-color:var(--line);
  min-height:52px;
  padding:12px 16px
}
.searchbox:focus-within {
  border-color:var(--accent);
  box-shadow:0 0 0 3px #cadb9812
}
.searchbox input {
  font-size:16px;
  line-height:1.7
}
.guide-row {
  padding:18px 10px;
  border-radius:12px
}
.row-icon {
  border-radius:12px;
  background:#cadb980b
}
.row-copy h3 {
  font-size:16px
}
.row-copy p,.page-head p {
  font-size:14px
}
.page-head {
  padding:12px 0 0;
  margin-bottom:24px
}
.page-head h1 {
  margin:10px 0
}
.page-head .eyebrow {
  color:var(--orange)
}
.section-head {
  margin:34px 0 18px
}
.section-no {
  color:var(--orange);
  padding-inline-end:12px
}
.section-head h2 {
  font-size:22px
}
.meter {
  height:7px;
  border-radius:20px;
  overflow:hidden;
  background:#cadb9812
}
.meter i {
  background:repeating-linear-gradient(90deg,var(--accent) 0 12px,#1b2116 12px 15px);
  border-radius:20px
}
.track-check {
  font-size:16px
}
.track-check input {
  width:24px;
  height:24px;
  flex-shrink:0
}
table {
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  font-size:14px
}
th {
  background:#cadb980b;
  color:var(--accent)
}
td,th {
  padding:14px;
  border-color:var(--line)
}
.list-row,.camo-track-row {
  padding-block:16px;
  border-color:var(--line)
}
.button,.chip,.v8-weapon-card,.v8-quick a,.v8-tabbar a,.v8-tabbar button,.mode-card,.icon-button,.card {
  transition:transform 120ms,filter 120ms,border-color 180ms,background 180ms
}
.button:active,.chip:active,.v8-weapon-card:active,.v8-quick a:active,.v8-tabbar a:active,.v8-tabbar button:active,.mode-card:active,.icon-button:active,.card:active {
  transform:scale(.97);
  filter:brightness(1.12)
}
:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:4px
}
/* Full-bleed editorial hero with a schematic HUD. */
.v8-hero {
  position:relative;
  isolation:isolate;
  min-height:620px;
  margin:-32px -40px 0;
  overflow:hidden;
  background:#141b0f;
  display:flex;
  align-items:center;
  padding:70px 56px
}
.v8-hero-art {
  position:absolute;
  inset:-10% 0 0;
  width:100%;
  height:120%;
  object-fit:cover;
  object-position:58% center;
  filter:saturate(.45) brightness(.53);
  z-index:-3;
  will-change:transform
}
.v8-hero:before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,#0b0e0920,#0b0e09d9),linear-gradient(0deg,#0b0e09 1%,transparent 60%)
}
[dir=ltr] .v8-hero:before {
  background:linear-gradient(270deg,#0b0e0920,#0b0e09df),linear-gradient(0deg,#0b0e09 1%,transparent 60%)
}
.v8-hud {
  position:absolute;
  inset:24px;
  border:1px solid #cadb9826;
  pointer-events:none;
  background:linear-gradient(#cadb9809 1px,transparent 1px),linear-gradient(90deg,#cadb9809 1px,transparent 1px);
  background-size:64px 64px;
  animation:v8-grid 40s linear infinite;
  mask-image:linear-gradient(#000,transparent 90%)
}
.v8-hud:before,.v8-hud:after {
  content:'';
  position:absolute;
  width:40px;
  height:40px;
  border-color:var(--accent);
  opacity:.6
}
.v8-hud:before {
  top:-1px;
  right:-1px;
  border-top:2px solid;
  border-right:2px solid
}
.v8-hud:after {
  bottom:-1px;
  left:-1px;
  border-bottom:2px solid;
  border-left:2px solid
}
.v8-hud-top,.v8-hud-bottom {
  position:absolute;
  left:14px;
  font:10px 'Maydan Mono',monospace;
  letter-spacing:1px;
  direction:ltr;
  color:#d5dfc3
}
.v8-hud-top {
  top:14px
}
.v8-hud-bottom {
  bottom:16px
}
.v8-cross {
  position:absolute;
  left:18%;
  top:29%;
  color:var(--accent);
  font:30px 'Maydan Mono';
  opacity:.5
}
.v8-hero:after {
  content:'';
  position:absolute;
  inset-inline:0;
  top:-20%;
  height:100px;
  background:linear-gradient(transparent,#cadb9809,transparent);
  pointer-events:none;
  animation:v8-scan 12s linear infinite;
  z-index:-1
}
.v8-hero-copy {
  max-width:700px;
  position:relative
}
.v8-kicker {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:13px;
  color:var(--accent);
  margin-bottom:16px
}
.v8-kicker:before {
  content:'';
  width:6px;
  height:6px;
  background:var(--accent);
  box-shadow:0 0 15px #cadb9877;
  border-radius:50%
}
.v8-hero h1 {
  font-size:var(--v8-display);
  line-height:1.18;
  font-weight:700;
  margin:0 0 24px;
  text-wrap:balance
}
.v8-hero h1 em {
  font-style:normal;
  color:var(--accent)
}
.v8-hero p {
  color:#d0d8c5;
  font-size:16px
}
.v8-hero .actions {
  margin-top:30px
}
.v8-hero .button {
  min-width:128px;
  min-height:52px
}
.v8-hero-foot {
  position:absolute;
  bottom:28px;
  inset-inline:56px;
  color:var(--muted);
  display:flex;
  align-items:center;
  gap:12px;
  font-size:10px
}
.v8-hero-foot i {
  display:block;
  height:1px;
  flex:1;
  background:#cadb9825
}
.v8-dashboard {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:16px
}
.v8-dashboard h2 {
  font-size:21px
}
.v8-dashboard p {
  color:var(--muted);
  font-size:14px;
  margin:8px 0 16px
}
.v8-continue {
  display:flex;
  align-items:center;
  gap:20px;
  grid-column:1/-1;
  background:radial-gradient(ellipse at 100% 0,#cadb9817,transparent 70%),var(--panel);
  padding:28px
}
.v8-continue>div:first-child {
  flex:1;
  min-width:0
}
.v8-continue .text-link {
  font-size:14px;
  min-height:44px
}
.v8-ring {
  position:relative;
  display:grid;
  place-items:center;
  flex-shrink:0;
  width:100px;
  height:100px
}
.v8-ring>svg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  transform:rotate(-90deg);
  stroke-width:5;
  fill:none
}
.v8-ring .ring-rail {
  stroke:#cadb9817
}
.v8-ring .ring-value {
  stroke:var(--accent);
  stroke-linecap:round;
  stroke-dasharray:100;
  stroke-dashoffset:calc(100 - var(--progress));
  animation:v8-ring 900ms ease-out both;
  filter:drop-shadow(0 0 4px #cadb9833)
}
.v8-ring strong {
  font:500 23px 'Maydan Mono',monospace
}
.v8-ring strong small {
  font-size:11px;
  color:var(--muted)
}
.v8-ring-pair {
  display:flex;
  justify-content:space-around;
  gap:18px;
  margin-top:22px
}
.v8-ring-pair>div {
  text-align:center;
  font-size:13px;
  color:var(--muted)
}
.v8-ring-pair>div:nth-child(2) .ring-value {
  stroke:var(--orange)
}
.v8-map-preview {
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  position:relative;
  min-height:280px;
  background:var(--panel);
  display:flex;
  align-items:end;
  box-shadow:var(--v8-shadow)
}
.v8-map-thumb {
  position:absolute;
  inset:0;
  direction:ltr
}
.v8-map-thumb img {
  height:100%;
  width:100%;
  object-fit:cover;
  filter:brightness(.6) saturate(.5)
}
.v8-map-thumb:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,#0b0e09 92%)
}
.v8-map-thumb i {
  position:absolute;
  width:9px;
  height:9px;
  border:2px solid var(--accent);
  border-radius:50%;
  background:#0b0e09;
  box-shadow:0 0 0 5px #cadb981c;
  z-index:1
}
.v8-map-preview>div:last-child {
  padding:24px;
  position:relative;
  z-index:2;
  width:100%
}
.v8-map-preview h2 {
  margin:6px 0
}
.v8-map-preview span:not(.eyebrow) {
  font-size:14px;
  color:var(--muted)
}
.v8-map-preview b {
  font:500 14px 'Maydan Mono';
  color:var(--accent)
}
.v8-map-preview .ico {
  float:inline-end;
  color:var(--accent)
}
.v8-quick {
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding:2px 0 14px;
  scroll-snap-type:x proximity;
  scrollbar-width:none
}
.v8-quick a {
  min-width:138px;
  min-height:136px;
  padding:20px;
  background:#1b2116;
  border:1px solid var(--line);
  border-radius:18px;
  display:flex;
  flex-direction:column;
  align-items:start;
  gap:12px;
  scroll-snap-align:start;
  font-size:14px;
  flex-shrink:0;
  box-shadow:inset 0 1px #fff06
}
.v8-quick a>svg:first-child {
  color:var(--accent);
  width:28px;
  height:28px
}
.v8-quick a>svg:last-child {
  width:16px;
  align-self:end;
  color:var(--muted)
}
.v8-directory {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.v8-modes .mode-card {
  min-height:330px;
  border-radius:20px;
  padding:22px
}
.v8-modes .mode-card img {
  transition:transform 600ms;
  filter:saturate(.55)
}
.v8-modes .mode-card:hover img {
  transform:scale(1.05)
}
.v8-modes .mode-card h3 {
  font-size:25px
}
.v8-modes .mode-card .en {
  font:11px 'Maydan Mono'
}
.v8-modes .mode-bottom {
  font-size:13px
}
/* Armory: schematics, strong names, quiet factual metadata. */
.v8-armory-links {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.weapon-chips {
  position:sticky;
  top:var(--v8-top);
  z-index:9;
  display:flex;
  flex-wrap:nowrap;
  overflow-x:auto;
  scrollbar-width:none;
  background:#0b0e09eb;
  backdrop-filter:blur(16px);
  padding:12px 0;
  margin:20px 0 8px
}
.weapon-chips .chip {
  white-space:nowrap
}
.catalog-toolbar {
  display:block;
  margin:8px 0 20px
}
.catalog-toolbar .searchbox {
  width:100%;
  margin:0
}
.v8-results-count {
  font-size:11px;
  color:var(--muted);
  margin-bottom:14px
}
.v8-weapon-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:16px
}
.v8-weapon-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  background:linear-gradient(145deg,#262f1e,#151b11);
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:inset 0 1px #fff08,0 12px 25px #0002
}
.v8-weapon-card:hover {
  border-color:#cadb9877
}
.v8-weapon-visual {
  height:145px;
  position:relative;
  padding:14px;
  display:grid;
  place-items:center;
  background:radial-gradient(ellipse,#cadb980d,transparent 65%),linear-gradient(#cadb9806 1px,transparent 1px),linear-gradient(90deg,#cadb9806 1px,transparent 1px);
  background-size:auto,24px 24px,24px 24px;
  border-bottom:1px solid #cadb9814
}
.v8-weapon-visual>.eyebrow {
  position:absolute;
  left:12px;
  top:10px;
  font-size:10px
}
.v8-class-icon {
  width:100%;
  height:auto;
  max-width:230px;
  stroke:var(--accent);
  stroke-width:2;
  stroke-linejoin:round;
  stroke-linecap:round;
  fill:#cadb980a;
  filter:drop-shadow(0 0 12px #cadb9818)
}
.v8-weapon-visual>.v8-class-icon {
  width:90%;
  height:100%
}
.v8-weapon-copy {
  padding:16px
}
.v8-weapon-copy h2 {
  font-size:23px;
  text-align:start;
  line-height:1.2;
  margin:0 0 10px;
  font-weight:700;
  overflow-wrap:anywhere
}
.v8-weapon-copy>span {
  font-size:13px;
  color:#c4cdb8;
  display:block
}
.v8-weapon-copy small {
  font-size:12px;
  color:var(--muted);
  display:block;
  margin-top:4px
}
.v8-weapon-progress {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:17px
}
.v8-bar {
  height:4px;
  background:#cadb9817;
  display:block;
  border-radius:8px;
  flex:1;
  overflow:hidden
}
.v8-bar i {
  height:100%;
  display:block;
  background:var(--accent);
  border-radius:8px
}
.v8-weapon-progress b {
  font:500 10px 'Maydan Mono';
  color:var(--accent)
}
.v8-done {
  position:absolute;
  bottom:8px;
  inset-inline-end:8px;
  font-size:11px;
  color:var(--accent);
  display:flex;
  gap:4px;
  align-items:center
}
.v8-done svg {
  width:14px;
  height:14px
}
.empty>.v8-class-icon {
  width:100px;
  height:80px;
  display:block;
  margin:auto
}
/* Weapon dossier and an accessible native-input timeline. */
.v8-weapon-hero {
  padding:26px;
  border:1px solid #cadb9833;
  border-radius:24px;
  background:radial-gradient(ellipse at 50% 0,#cadb9813,transparent 70%),#141a10;
  box-shadow:var(--v8-shadow);
  margin-bottom:20px
}
.v8-weapon-frame {
  height:210px;
  display:grid;
  place-items:center;
  position:relative;
  margin:22px 0;
  background:linear-gradient(#cadb9806 1px,transparent 1px),linear-gradient(90deg,#cadb9806 1px,transparent 1px);
  background-size:30px 30px;
  border:1px solid #cadb9822;
  border-radius:16px;
  box-shadow:inset 0 0 60px #cadb9807
}
.v8-weapon-frame .v8-class-icon {
  max-width:350px;
  width:80%;
  height:90%
}
.v8-weapon-frame>span {
  position:absolute;
  bottom:12px;
  left:14px;
  color:var(--muted);
  font:11px 'Maydan Mono'
}
.v8-weapon-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.v8-weapon-title h1 {
  font-size:clamp(30px,4vw,48px);
  line-height:1.2
}
.v8-weapon-title p {
  font-size:14px;
  color:var(--muted);
  margin-top:10px
}
.v8-weapon-hero>p {
  font-size:14px;
  margin-top:18px
}
.v8-weapon-title .v8-ring {
  width:80px;
  height:80px
}
.v8-weapon-title .v8-ring strong {
  font-size:20px
}
.v8-segment {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid var(--line);
  background:#0b0e09;
  border-radius:16px;
  padding:5px;
  direction:ltr;
  gap:0
}
.v8-segment:before {
  content:'';
  position:absolute;
  left:5px;
  top:5px;
  bottom:5px;
  width:calc(50% - 5px);
  border-radius:11px;
  background:var(--accent);
  transform:translateX(calc(var(--segment)*100%));
  transition:transform 240ms cubic-bezier(.2,.8,.2,1);
  z-index:-1
}
.v8-segment button {
  padding:9px;
  background:transparent;
  color:var(--muted);
  font:500 14px 'Maydan Mono';
  border-radius:11px;
  min-height:52px
}
.v8-segment button[aria-pressed=true] {
  color:#15200c
}
.v8-segment small {
  display:block;
  font:12px 'Maydan Sans','Maydan Arabic',sans-serif;
  margin-top:4px
}
.v8-native-mode>label,.v8-native-mode>select {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  clip-path:inset(50%);
  overflow:hidden;
  white-space:nowrap
}
.v8-native-mode:focus-within {
  outline:2px solid var(--accent);
  outline-offset:5px
}
.v8-native-mode>p {
  margin-top:8px;
  font-size:12px
}
.v8-track>p {
  font-size:13px;
  margin-block:16px
}
.v8-hide {
  margin:20px 0!important;
  background:#ffffff04;
  border-radius:12px!important;
  padding:12px!important;
  gap:10px;
  min-height:48px
}
.v8-track .weapon-checks {
  display:block;
  position:relative;
  border:0
}
.v8-track .v8-stage {
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:18px;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  padding:0 0 32px!important;
  margin:0!important;
  min-height:100px
}
.v8-stage:before {
  content:'';
  position:absolute;
  inset-inline-start:13px;
  top:26px;
  bottom:0;
  width:1px;
  background:#cadb9829
}
.v8-stage:last-child:before {
  display:none
}
.v8-stage input[type=checkbox] {
  appearance:none;
  -webkit-appearance:none;
  border:2px solid #697659;
  border-radius:50%;
  background:#141a10;
  width:28px;
  height:28px;
  min-width:28px;
  margin:2px 0 0;
  position:relative;
  z-index:1;
  cursor:pointer
}
.v8-stage input:checked {
  background:var(--accent);
  border-color:var(--accent)
}
.v8-stage input:checked:after {
  content:'';
  display:block;
  width:10px;
  height:6px;
  transform:rotate(-45deg);
  border-left:2px solid #15200c;
  border-bottom:2px solid #15200c;
  margin:6px 5px
}
.v8-stage.is-done:before {
  background:var(--accent)
}
.v8-stage.is-current input {
  border-color:var(--accent);
  box-shadow:0 0 0 5px #cadb9810;
  animation:v8-node 2.4s ease-in-out infinite
}
.v8-stage>span {
  display:block;
  flex:1;
  padding-bottom:12px;
  border-bottom:1px solid #cadb9812;
  min-width:0
}
.v8-stage bdi {
  font-size:19px;
  color:var(--text);
  font-weight:600
}
.v8-stage.is-current bdi {
  color:var(--accent)
}
.v8-stage small {
  font-size:14px;
  color:var(--muted);
  line-height:1.9;
  display:block;
  margin-top:7px
}
.v8-stage .precision-note {
  color:var(--orange)
}
.v8-stage.special-step>span {
  border-radius:0;
  background:transparent;
  margin:0
}
.v8-stage.is-pending input {
  border-color:#5b674f
}
.special-cards {
  gap:12px
}
.special-cards .panel {
  padding:20px
}
.special-cards h4 {
  font:12px 'Maydan Mono';
  color:var(--orange);
  margin:18px 0 8px
}
.special-cards p {
  font-size:14px;
  color:var(--muted)
}
/* Toasts, first-frame skeletons and route motion. */
#toast {
  border-radius:16px;
  background:#cadb98;
  color:#15200c;
  padding:13px 22px;
  box-shadow:0 12px 50px #0008;
  max-width:min(440px,calc(100vw - 32px));
  z-index:100;
  font-size:14px;
  left:50%;
  right:auto;
  transform:translate(-50%,20px);
  width:max-content;
  text-align:center
}
#toast.show {
  transform:translate(-50%,0)
}
.v8-skeleton {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  min-height:70vh
}
.v8-skeleton div {
  border-radius:20px;
  background:linear-gradient(100deg,#1b2116 20%,#303a25 45%,#1b2116 70%);
  background-size:250% 100%;
  animation:v8-shimmer 1.2s linear infinite;
  min-height:230px
}
.v8-skeleton div:first-child {
  grid-column:1/-1;
  min-height:90px
}
.skel {
  background-color:#242e1b;
  aspect-ratio:16/9
}
.v8-enter {
  animation:v8-enter 180ms ease-out both
}
::view-transition-old(page) {
  animation:v8-leave 180ms ease-out both
}
::view-transition-new(page) {
  animation:v8-enter 180ms ease-out both
}
@keyframes v8-enter {
  from {
    opacity:0;
    transform:translate(5px,8px)
  }
  to {
    opacity:1;
    transform:none
  }
}
[dir=ltr] .v8-enter {
  animation-name:v8-enter-ltr
}
@keyframes v8-enter-ltr {
  from {
    opacity:0;
    transform:translate(-5px,8px)
  }
  to {
    opacity:1;
    transform:none
  }
}
@keyframes v8-leave {
  to {
    opacity:0;
    transform:translateY(-5px)
  }
}
@keyframes v8-grid {
  to {
    background-position:64px 128px
  }
}
@keyframes v8-scan {
  to {
    top:120%
  }
}
@keyframes v8-ring {
  from {
    stroke-dashoffset:100
  }
}
@keyframes v8-node {
  50% {
    box-shadow:0 0 0 8px #cadb9807
  }
}
@keyframes v8-shimmer {
  to {
    background-position:-250% 0
  }
}
/* Desktop map retains the existing engine and panel layout. */
.mmap {
  border-radius:24px;
  box-shadow:var(--v8-shadow);
  border-color:#cadb9833
}
.mmap-toolbar {
  background:#1b2116cc;
  backdrop-filter:blur(20px);
  gap:8px
}
.mmap-search {
  background:#0b0e09a8;
  border-radius:14px;
  min-height:48px
}
.mmap-filters {
  background:linear-gradient(#222a1b,#141a10);
  border-color:var(--line)
}
.mmap-tools .button {
  border-radius:14px;
  backdrop-filter:blur(20px);
  background:#1b2116dd;
  min-height:46px;
  border:1px solid #cadb9840
}
.mmap-popup {
  border-radius:20px;
  background:#1b2116f2;
  box-shadow:0 20px 70px #0008,inset 0 1px #ffffff10
}
.mmap-pin.selected .mmap-number {
  box-shadow:0 0 0 6px #cadb9833,0 0 28px #cadb9860
}
.mmap-progress {
  font:500 12px 'Maydan Mono';
  border:1px solid #cadb9833;
  border-radius:12px;
  background:#11150edb
}
.mmap-help {
  font-size:12px;
  padding:12px 16px
}
.mmap-popup-actions .button {
  min-height:44px;
  font-size:13px
}
.mmap-unverified {
  color:#e4ad76;
  background:#11150e
}
@media(min-width:901px) {
  .v8-tabbar {
    display:none
  }
  .v8-condensed .edition {
    display:none
  }
  .v8-condensed .v8-bar-title {
    display:block;
    animation:v8-enter 180ms
  }
  .v8-condensed .header-brand {
    max-width:100px
  }
  .v8-weapon-grid {
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr))
  }
  .v8-weapon-hero {
    max-width:950px
  }
  .v8-track {
    max-width:950px
  }
  .v8-dashboard {
    grid-template-columns:1.2fr 1fr 1fr
  }
  .v8-continue {
    grid-column:auto
  }
  .v8-ring-pair .v8-ring {
    width:85px;
    height:85px
  }
}
@media(max-width:1200px) and (min-width:901px) {
  .v8-hero {
    margin-inline:-24px;
    padding-inline:40px
  }
  .v8-dashboard {
    grid-template-columns:1fr 1fr
  }
  .v8-continue {
    grid-column:1/-1
  }
  .v8-modes {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:900px) {
  :root {
    --v8-top:calc(76px + env(safe-area-inset-top));
    --v8-tab:calc(86px + env(safe-area-inset-bottom))
  }
  body {
    padding-bottom:var(--v8-tab)
  }
  main {
    padding:24px 20px 36px
  }
  header {
    height:var(--v8-top);
    min-height:var(--v8-top);
    padding-inline:calc(14px + env(safe-area-inset-left)) calc(14px + env(safe-area-inset-right));
    transition:height 180ms,min-height 180ms;
    box-shadow:0 8px 30px #0002
  }
  .header-start,.header-actions {
    gap:7px
  }
  .header-brand {
    max-width:112px
  }
  .header-actions .icon-button,.lang-toggle,#menu {
    min-width:36px;
    min-height:36px
  }
  .v8-condensed {
    --v8-top:calc(52px + env(safe-area-inset-top))
  }
  .v8-condensed .header-brand {
    display:none
  }
  .v8-condensed .v8-bar-title {
    display:block;
    max-width:150px;
    animation:v8-enter 180ms
  }
  .edition {
    display:none
  }
  .v8-tabbar {
    position:fixed;
    inset-inline:12px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    height:64px;
    padding:5px;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:0;
    border:1px solid #cadb983b;
    border-radius:23px;
    background:#1b2116d9;
    backdrop-filter:blur(28px) saturate(160%);
    -webkit-backdrop-filter:blur(28px) saturate(160%);
    box-shadow:0 12px 38px #0009,inset 0 1px #ffffff12;
    isolation:isolate;
    z-index:40
  }
  .v8-tabbar:before {
    content:'';
    position:absolute;
    top:5px;
    bottom:5px;
    inset-inline-start:5px;
    width:calc((100% - 10px)/5);
    background:#cadb981c;
    border:1px solid #cadb9840;
    border-radius:17px;
    transform:translateX(calc(var(--tab,0)*100%*var(--tab-direction,1)));
    opacity:var(--indicator-opacity,0);
    transition:transform 280ms cubic-bezier(.2,.8,.2,1),opacity 160ms ease;
    z-index:-1;
    box-sizing:border-box
  }
  .v8-tabbar a,.v8-tabbar button {
    padding:3px 0;
    min-height:44px;
    min-width:0;
    font-size:10px;
    font-weight:600;
    border:0;
    color:#b9c4ac;
    border-radius:16px;
    margin:0;
    background:transparent;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:2px;
    line-height:1.5
  }
  .v8-tabbar a.active {
    color:var(--accent);
    background:transparent
  }
  .v8-tabbar a.active svg {
    fill:#cadb9820;
    stroke-width:2.3
  }
  .v8-tabbar a:before,.v8-tabbar a:after {
    display:none!important
  }
  .v8-tabbar svg {
    width:21px;
    height:21px
  }
  .v8-tab-tools {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    position:relative
  }
  .v8-tab-tools button:first-child {
    flex:1
  }
  .v8-tab-tools button#tab-menu {
    width:23px;
    min-width:23px;
    background:#cadb980a;
    border-radius:9px
  }
  .v8-tab-tools button#tab-menu svg {
    width:16px
  }
  .v8-hero {
    margin:-24px -20px 0;
    padding:76px 28px 90px;
    min-height:70svh;
    align-items:center
  }
  .v8-hero-art {
    object-position:53% center
  }
  .v8-hero h1 {
    font-size:40px;
    line-height:1.25;
    margin-bottom:22px
  }
  .v8-hero p {
    font-size:15px;
    max-width:300px
  }
  .v8-hud {
    inset:16px
  }
  .v8-hud-top {
    font-size:8px
  }
  .v8-hud-bottom {
    display:none
  }
  .v8-hero-foot {
    inset-inline:28px;
    bottom:30px;
    font-size:9px
  }
  .v8-hero .actions {
    margin-top:28px
  }
  .v8-kicker {
    font-size:12px
  }
  .v8-dashboard {
    grid-template-columns:1fr;
    gap:14px
  }
  .v8-continue {
    padding:22px;
    gap:12px
  }
  .v8-continue h2 {
    font-size:20px;
    line-height:1.5
  }
  .v8-continue .v8-ring {
    width:84px;
    height:84px
  }
  .v8-camo-summary {
    padding:22px
  }
  .v8-ring-pair {
    margin-top:18px
  }
  .v8-ring-pair .v8-ring {
    width:110px;
    height:110px;
    margin-bottom:8px
  }
  .v8-map-preview {
    min-height:250px
  }
  .v8-modes {
    grid-template-columns:1fr 1fr;
    gap:12px
  }
  .v8-modes .mode-card {
    min-height:300px;
    padding:18px
  }
  .v8-modes .mode-card h3 {
    font-size:23px
  }
  .v8-modes .mode-card .en {
    font-size:9px;
    letter-spacing:.6px
  }
  .v8-modes .mode-bottom {
    font-size:12px
  }
  .v8-directory .chip {
    font-size:12px
  }
  .v8-quick {
    margin-inline-end:-20px;
    padding-inline-end:20px
  }
  .section-head {
    margin-top:30px
  }
  .page-head {
    padding-top:6px
  }
  .page-head h1 {
    font-size:30px;
    line-height:1.45;
    max-width:340px
  }
  .v8-armory-links .chip {
    font-size:12px
  }
  .weapon-chips {
    margin-inline:-20px;
    padding-inline:20px;
    top:var(--v8-top);
    transition:top 180ms
  }
  .weapon-chips .chip {
    font-size:12px
  }
  .v8-weapon-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
  }
  .v8-weapon-visual {
    height:116px;
    padding:10px
  }
  .v8-weapon-copy {
    padding:14px 12px
  }
  .v8-weapon-copy h2 {
    font-size:21px;
    min-height:26px
  }
  .v8-weapon-copy>span {
    font-size:12px
  }
  .v8-weapon-copy small {
    font-size:11px;
    line-height:1.7;
    min-height:36px
  }
  .v8-weapon-hero {
    padding:20px;
    border-radius:22px
  }
  .v8-weapon-hero>.eyebrow {
    font-size:10px
  }
  .v8-weapon-frame {
    height:175px;
    margin:18px 0 22px
  }
  .v8-weapon-title h1 {
    font-size:34px
  }
  .v8-weapon-title p {
    font-size:12px
  }
  .v8-weapon-title .v8-ring {
    width:70px;
    height:70px
  }
  .v8-weapon-title .v8-ring strong {
    font-size:18px
  }
  .v8-track {
    padding:20px
  }
  .v8-track .v8-stage {
    gap:15px
  }
  .v8-stage small {
    font-size:14px
  }
  .special-cards {
    grid-template-columns:1fr
  }
  .v8-native-mode>p {
    margin-top:12px
  }
  #toast {
    bottom:calc(90px + env(safe-area-inset-bottom));
    font-size:13px
  }
  footer {
    padding-bottom:30px
  }
  /* Mobile sheets preserve existing dialog/drawer focus and history behavior. */
  #search-dialog {
    position:fixed;
    inset:auto 0 0;
    margin:0;
    width:100%;
    max-width:none;
    max-height:86dvh;
    border:1px solid #cadb9840;
    border-radius:22px 22px 0 0;
    background:#1b2116f7;
    backdrop-filter:blur(24px);
    padding:32px 20px calc(24px + env(safe-area-inset-bottom));
    box-shadow:0 -20px 70px #0008
  }
  #search-dialog:before,#sidebar:before {
    content:'';
    position:absolute;
    width:38px;
    height:4px;
    border-radius:4px;
    left:calc(50% - 19px);
    top:10px;
    background:#a6b09b80
  }
  #search-dialog .dialog-head {
    touch-action:pan-x
  }
  #search-dialog h2 {
    font-size:22px
  }
  #sidebar {
    inset:auto 0 0!important;
    width:100%!important;
    max-height:88dvh;
    height:auto;
    overflow:auto;
    border-radius:22px 22px 0 0;
    border:1px solid #cadb9840;
    padding:34px 24px calc(30px + env(safe-area-inset-bottom));
    transform:translateY(110%)!important;
    transition:transform 240ms;
    z-index:60;
    touch-action:pan-y
  }
  body.menu-open #sidebar {
    transform:translateY(0)!important
  }
  body.menu-open #veil {
    z-index:55;
    backdrop-filter:blur(5px)
  }
  #sidebar .brand {
    padding-bottom:18px;
    max-width:180px
  }
  #sidebar .secondary,#sidebar .third {
    margin-top:18px
  }
  #sidebar nav {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px
  }
  #sidebar nav a {
    font-size:13px;
    padding:10px;
    min-width:0
  }
  #sidebar .side-foot {
    padding-top:15px
  }
  .drawer-close {
    top:18px;
    inset-inline-end:18px;
    border-radius:50%
  }
  /* Map is a full-height instrument, with glass controls above the canvas. */
  .v8-map-route main {
    padding:0;
    min-height:0
  }
  .v8-map-route main>.page-head {
    padding:16px 20px;
    margin:0;
    background:#11150e
  }
  .v8-map-route main>.page-head h1 {
    font-size:22px;
    margin:4px 0
  }
  .v8-map-route main>.page-head p {
    font-size:12px;
    line-height:1.7
  }
  .v8-map-route main>.page-head .eyebrow {
    font-size:9px
  }
  .v8-map-route main>.page-head {
    display:none
  }
  .v8-map-route footer {
    display:none
  }
  .v8-map-route .mmap {
    border:0;
    border-radius:0;
    margin:0;
    position:relative;
    overflow:hidden;
    height:calc(100dvh - var(--v8-top) - var(--v8-tab));
    min-height:400px
  }
  .v8-map-route .mmap-body,.v8-map-route .mmap-canvas {
    height:100%;
    min-height:0
  }
  .v8-map-route .mmap-viewport {
    height:100%;
    min-height:0
  }
  .v8-map-route .mmap-toolbar {
    position:absolute;
    inset:12px 12px auto;
    z-index:5;
    padding:0;
    gap:7px;
    border:0;
    background:none;
    backdrop-filter:none;
    pointer-events:none;
    display:flex;
    flex-wrap:wrap
  }
  .mmap-toolbar>* {
    pointer-events:auto
  }
  .v8-map-route .mmap-tabs {
    background:#1b2116e8;
    border:1px solid #cadb9830;
    border-radius:14px;
    padding:3px;
    backdrop-filter:blur(20px)
  }
  .v8-map-route .mmap-tabs .chip {
    min-height:36px;
    padding:6px 13px;
    font:11px 'Maydan Mono';
    border-radius:10px
  }
  .v8-map-route .mmap-search {
    order:5;
    flex-basis:100%;
    min-width:0;
    min-height:48px;
    background:#1b2116eb;
    backdrop-filter:blur(20px);
    box-shadow:0 6px 20px #0003;
    border:1px solid #cadb9844
  }
  .v8-map-route .mmap-toolbar>.button {
    background:#1b2116e8;
    backdrop-filter:blur(20px);
    min-height:44px;
    padding:8px 11px;
    border-color:#cadb9830;
    margin:0;
    border-radius:13px;
    box-shadow:0 5px 15px #0002
  }
  .v8-map-route .mmap-toolbar>.button span {
    display:none
  }
  .v8-map-route .mmap-toolbar>.button svg {
    width:18px;
    height:18px
  }
  .v8-map-route .mmap-progress {
    margin-inline-start:auto;
    align-self:center;
    padding:10px;
    font-size:11px
  }
  .v8-map-route .mmap-tools {
    top:130px;
    inset-inline-end:12px;
    gap:8px
  }
  .v8-map-route .mmap-tools .button {
    width:44px;
    min-height:44px
  }
  .v8-map-route .mmap-help {
    position:absolute;
    bottom:0;
    inset-inline:0;
    background:#11150edb;
    border:0;
    font-size:10px;
    pointer-events:none;
    padding:8px 14px
  }
  .v8-map-route .mmap-popup {
    position:absolute;
    inset:auto 0 0!important;
    width:100%;
    max-height:65%;
    border-radius:22px 22px 0 0;
    z-index:7;
    padding:28px 22px 24px;
    transform:none!important
  }
  .v8-map-route .mmap-popup-head:before,.mmap-panel-head:before {
    background:#a6b09b88;
    width:38px;
    height:4px;
    top:10px
  }
  .mmap-popup-head,.mmap-panel-head {
    touch-action:pan-x
  }
  .v8-map-route .mmap-filters {
    padding-top:28px;
    z-index:8;
    border-radius:22px 22px 0 0;
    background:#1b2116f7;
    backdrop-filter:blur(24px)
  }
  .v8-map-route .mmap-list {
    padding:130px 16px 35px;
    max-height:none;
    height:100%;
    background:#11150e
  }
  .v8-map-route .mmap-list-mode .mmap-canvas {
    height:0
  }
  .v8-map-route .mmap-list-mode .mmap-popup {
    position:fixed;
    bottom:var(--v8-tab)!important;
    max-height:65dvh
  }
  .v8-map-route .mmap-fullscreen {
    height:100dvh
  }
  .v8-map-route .mmap-fullscreen .mmap-popup {
    bottom:0!important
  }
  .mmap-row {
    border-bottom:1px solid var(--line);
    padding:18px 4px
  }
  .mmap-popup p {
    font-size:14px
  }
  .mmap-popup .tag {
    font-size:11px
  }
}
@media(display-mode:standalone) {
  header {
    padding-top:calc(env(safe-area-inset-top) + 4px)
  }
  body {
    min-height:100dvh
  }
  .v8-tabbar {
    bottom:calc(12px + env(safe-area-inset-bottom))
  }
}
/* The compact title occupies the same visual space as the full brand and cross-fades. */
@media(max-width:900px) {
  .v8-bar-title {
    display:block;
    position:absolute;
    inset-inline-start:60px;
    max-width:150px;
    opacity:0;
    transform:translateY(6px);
    pointer-events:none;
    transition:opacity 180ms,transform 180ms
  }
  .header-brand {
    transition:opacity 180ms;
    opacity:1
  }
  .v8-condensed .header-brand {
    display:flex;
    opacity:0;
    pointer-events:none
  }
  .v8-condensed .v8-bar-title {
    opacity:1;
    transform:none;
    animation:none
  }
  .v8-continue {
    margin-bottom:0
  }
  .v8-track .v8-stage input[type=checkbox] {
    width:28px;
    height:28px
  }
  .v8-tabbar {
    grid-template-columns:repeat(4,minmax(0,1fr)) 88px
  }
  .v8-tabbar:before {
    left:5px;
    right:auto;
    width:var(--indicator-width,calc((100% - 98px)/4));
    transform:translateX(var(--indicator-x,0px))
  }
  .v8-tab-tools button,.v8-tab-tools button#tab-menu {
    width:44px;
    min-width:44px;
    min-height:44px
  }
  .v8-tab-tools button#tab-menu svg {
    width:20px;
    height:20px
  }
}
[dir=ltr]::view-transition-new(page) {
  animation-name:v8-enter-ltr
}
html[lang=ar] .nav-label {
  font-family:'Maydan Arabic','Maydan Sans',sans-serif;
  letter-spacing:normal
}
@media(max-width:900px) {
  #search-dialog:before,#sidebar:before {
    display:none;
  }
  .v8-sheet-handle {
    position:absolute;
    top:0;
    left:56px;
    right:56px;
    height:28px;
    touch-action:none;
  }
  .v8-sheet-handle:before {
    content:'';
    position:absolute;
    width:38px;
    height:4px;
    left:calc(50% - 19px);
    top:10px;
    border-radius:4px;
    background:#a6b09b80;
  }
  .mmap-popup-head:before,.mmap-panel-head:before {
    left:0;
    width:100%;
    height:26px;
    top:0;
    touch-action:none;
    background:linear-gradient(#a6b09b88,#a6b09b88) center 10px / 38px 4px no-repeat;
  }
  main {
    padding-left:max(20px,env(safe-area-inset-left));
    padding-right:max(20px,env(safe-area-inset-right));
  }
  .v8-hero {
    padding-left:max(28px,env(safe-area-inset-left));
    padding-right:max(28px,env(safe-area-inset-right));
  }
  .v8-tabbar {
    left:max(12px,env(safe-area-inset-left));
    right:max(12px,env(safe-area-inset-right));
  }
  .v8-map-route .mmap-toolbar {
    left:max(12px,env(safe-area-inset-left));
    right:max(12px,env(safe-area-inset-right));
  }
}
.v8-stage.is-pending input {
  border-color:#7d8b6e
}
/* Round 5 / pass 2: consistent rails, compact dossier and field directories. */
.panel:before,.weapon-card:before,.card:before {
  content:none;
  display:none
}
.v8-ring .ring-ticks {
  stroke:var(--accent);
  opacity:.42;
  stroke-width:2;
  stroke-dasharray:.08 .92
}
.v8-ring-await .ring-value {animation:none;stroke-dashoffset:100}
.v8-stage-count {
  display:block;
  margin:8px 0 2px;
  font:12px 'Maydan Mono',monospace;
  color:var(--muted)
}
.v8-ring-pair>div {
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0
}
.v8-ring-pair>div>a:first-child {
  display:flex;
  flex-direction:column;
  align-items:center
}
.v8-ring-pair .text-link {
  min-height:44px;
  font-size:12px;
  gap:5px
}
.v8-directory {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start
}
.v8-directory section {
  border:1px solid var(--line);
  background:#141a10;
  border-radius:16px;
  overflow:hidden;
  min-width:0
}
.v8-directory h3 {
  display:flex;
  justify-content:space-between;
  padding:16px;
  font-size:13px;
  color:var(--accent);
  background:#cadb9806;
  margin:0
}
.v8-directory h3 small,.v8-link-row small {
  font:12px 'Maydan Mono',monospace;
  color:var(--muted)
}
.v8-link-row {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:12px 16px;
  border-bottom:1px solid var(--line);
  font-size:13px;
  color:var(--text);
  min-width:0
}
.v8-link-row:last-child {border-bottom:0}
.v8-link-row:hover {background:#cadb9809}
.v8-link-row>svg {width:19px;height:19px;flex-shrink:0;color:var(--accent)}
.v8-link-row>span {flex:1;min-width:0;overflow-wrap:anywhere}
.v8-link-row>.v8-chevron {width:16px;height:16px}
[dir=rtl] .v8-link-row>.v8-chevron {transform:rotate(180deg)}
.mode-tools {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:0 18px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#141a10;
  margin-block:20px
}
main>.filters:not(.weapon-chips) {
  position:sticky;
  top:var(--v8-top);
  z-index:9;
  display:flex;
  flex-wrap:nowrap;
  overflow-x:auto;
  scrollbar-width:thin;
  background:#11150ef0;
  backdrop-filter:blur(20px);
  padding-block:10px;
  border-block:1px solid var(--line)
}
main>.filters:not(.weapon-chips)>* {flex-shrink:0;white-space:nowrap}
.v8-armory-info {
  border:1px solid var(--line);
  border-radius:14px;
  background:#cadb9805;
  margin-block:16px;
  padding:0 16px;
  font-size:13px;
  color:var(--muted)
}
.v8-armory-info summary {min-height:48px;align-content:center;color:var(--text);cursor:pointer}
.v8-armory-info p {margin-block:0 14px;line-height:1.9}
.v8-weapon-card {position:relative;display:flex;flex-direction:column}
.v8-weapon-copy {flex:1;display:flex;flex-direction:column}
.v8-weapon-progress {margin-top:auto;padding-top:12px}
.v8-weapon-card .v8-bar {height:3px}
.v8-weapon-card .v8-bar:before {
  content:'';position:absolute;bottom:0;inset-inline:0;height:2px;
  background:var(--accent);opacity:.1
}
.v8-dossier-head {
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 110px;
  align-items:center;
  gap:24px;
  margin-top:20px
}
.v8-dossier-head .v8-weapon-frame {
  height:120px;
  margin:0;
  overflow:hidden
}
.v8-weapon-frame:after {
  content:'';
  position:absolute;
  inset-inline:0;
  top:-10%;
  height:1px;
  background:var(--accent);
  opacity:.4;
  box-shadow:0 -7px 18px 4px #cadb9815;
  animation:v8-scan 5s linear infinite;
  pointer-events:none
}
.v8-weapon-frame .v8-class-icon {stroke-width:3}
.v8-dossier-head .v8-weapon-title {display:block;min-width:0}
.v8-weapon-title h1 {overflow-wrap:anywhere}
.v8-weapon-chips {display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.v8-mode-ring {display:flex;flex-direction:column;align-items:center;gap:5px}
.v8-mode-ring .v8-ring {width:110px;height:110px;min-width:110px}
.v8-mode-ring .v8-ring>svg {width:100%;height:100%;max-width:none}
.v8-mode-ring .v8-ring strong {font:500 26px 'Maydan Mono',monospace}
.v8-mode-ring>span {font:12px 'Maydan Mono';color:var(--accent)}
.v8-weapon-hero {max-width:none}
.v8-dossier-layout {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}
.v8-dossier-layout>.v8-track {margin:0;max-width:none;min-width:0}
.v8-dossier-aside {min-width:0}
.v8-dossier-aside .special-cards {grid-template-columns:1fr;content-visibility:visible}
.v8-special-section {
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#141a10;
  margin-bottom:20px
}
.v8-special-section>h2 {font:16px 'Maydan Mono';color:var(--accent);margin-bottom:16px}
.v8-track-progress {margin-block:20px;display:flex;flex-direction:column;gap:9px}
.v8-track-progress>div {display:flex;gap:4px;height:7px}
.v8-track-progress i {flex:1;border-radius:2px;background:#68755755}
.v8-track-progress i.is-done {background:var(--accent)}
.v8-track-progress i.is-current {background:#cadb9877}
.v8-track-progress b {font:12px 'Maydan Mono';align-self:flex-end;color:var(--muted)}
.v8-track .weapon-checks:before {
  content:'';
  position:absolute;
  inset-inline-start:13px;
  top:18px;
  bottom:40px;
  width:1px;
  background:#cadb9845
}
.v8-track .v8-stage:before {display:none}
.v8-track-group {
  position:relative;
  width:max-content;
  margin:0 0 22px;
  padding:4px 10px;
  border:1px solid var(--line);
  border-radius:6px;
  background:#1b2116;
  font:11px 'Maydan Mono',monospace;
  color:var(--accent);
  direction:ltr
}
.v8-track .v8-stage>span {
  padding:0 0 18px;
  margin:0;
  border:0;
  border-bottom:1px solid #cadb9812;
  background:transparent;
  border-radius:0
}
.v8-stage.is-pending input {opacity:.65}
.v8-stage.is-pending bdi {color:var(--muted)}
.v8-stage input:focus-visible {outline:2px solid var(--accent);outline-offset:5px}
.v8-reticle {
  position:absolute;
  width:220px;
  height:220px;
  inset-inline-end:4%;
  top:calc(50% - 110px);
  fill:none;
  stroke:var(--accent);
  stroke-width:1;
  opacity:.28;
  animation:v8-compass 90s linear infinite
}
@keyframes v8-compass {to{transform:rotate(360deg)}}
.v8-hud {
  background-image:linear-gradient(#cadb9814 1px,transparent 1px),linear-gradient(90deg,#cadb9814 1px,transparent 1px);
  animation-duration:24s;
  mask-image:none
}
.v8-hud-end,.v8-hud-corner {
  position:absolute;
  inset-inline-end:14px;
  font:9px 'Maydan Mono',monospace;
  color:var(--accent);
  direction:ltr
}
.v8-hud-end {top:14px}
.v8-hud-corner {bottom:16px}
.v8-hero-copy {z-index:1}
.v8-hero:before {
  background:linear-gradient(90deg,#0b0e0940,#0b0e09f5 80%),radial-gradient(ellipse at center,transparent,#0b0e09aa),linear-gradient(0deg,#0b0e09,transparent 80%)
}
[dir=ltr] .v8-hero:before {
  background:linear-gradient(270deg,#0b0e0940,#0b0e09f5 80%),radial-gradient(ellipse at center,transparent,#0b0e09aa),linear-gradient(0deg,#0b0e09,transparent 80%)
}
.v8-hero:after {
  background:linear-gradient(transparent,#cadb981c,transparent);
  height:70px;
  animation-duration:9s
}
.v8-hero-copy:before {
  content:'';
  position:absolute;
  inset:-90px;
  z-index:-1;
  pointer-events:none;
  opacity:.07;
  background:repeating-radial-gradient(circle at 3px 7px,#cadb98 0 .5px,transparent .6px 3px);
  background-size:7px 11px;
  mask-image:radial-gradient(ellipse,#000,transparent 70%)
}
@media(max-width:900px) {
  .v8-directory {grid-template-columns:1fr;gap:14px}
  .v8-dossier-layout {grid-template-columns:1fr;gap:20px}
  .v8-dossier-head {grid-template-columns:minmax(0,1fr) 96px;gap:16px}
  .v8-dossier-head .v8-weapon-frame {height:92px}
  .v8-dossier-head .v8-weapon-title {grid-row:2;grid-column:1/-1}
  .v8-mode-ring {grid-column:2;grid-row:1}
  .v8-mode-ring .v8-ring {width:96px;height:96px;min-width:96px}
  .v8-weapon-title h1 {font-size:34px}
  .v8-weapon-visual {height:54px;padding:5px 10px}
  .v8-weapon-visual>.v8-class-icon {height:47px;width:85%;margin:0}
  .v8-weapon-visual>.eyebrow {font-size:8px;top:5px;inset-inline-start:7px}
  .v8-weapon-copy {padding:9px 10px}
  .v8-weapon-copy h2 {font-size:18px;min-height:22px;margin-bottom:3px}
  .v8-weapon-copy>span {font-size:11px;line-height:1.5}
  .v8-weapon-copy small {font-size:10px;min-height:0;line-height:1.6;margin-top:3px}
  .v8-weapon-progress {padding-top:7px;gap:7px}
  .v8-weapon-progress b {font-size:10px}
  .mode-tools {grid-template-columns:1fr}
  .v8-link-row {padding:12px}
  .v8-hud-top {max-width:65%;line-height:1.7}
  .v8-hud-end {font-size:8px}
  .v8-reticle {inset-inline-end:-80px;opacity:.22}
  .v8-map-route .mmap-toolbar {
    top:10px;
    padding:7px;
    background:#1b2116e8;
    backdrop-filter:blur(20px) saturate(130%);
    -webkit-backdrop-filter:blur(20px) saturate(130%);
    border:1px solid #cadb9833;
    border-radius:18px;
    gap:5px
  }
  .v8-map-route .mmap-tabs .chip {padding:6px 9px}
  .v8-map-route .mmap-progress {padding:7px;font-size:10px}
  .v8-map-route .mmap-toolbar>.button {padding:7px;min-height:38px}
  .v8-map-route .mmap-tools {top:146px}
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
  .v8-hero-art {
    will-change:auto;
    transform:none!important
  }
  .v8-ring-await .ring-value {
    stroke-dashoffset:calc(100 - var(--progress))
  }
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) {
    animation:none!important
  }
}

/* Destination glyphs and persistent uncertainty chips. */
.v8-destination-icon {stroke-width:1.6;fill:none}
.v8-destination-icon text {font:10px 'Maydan Mono',monospace;fill:currentColor;stroke:none}
.v8-weapon-copy .v8-unverified {
  align-self:flex-start;display:inline-flex;padding:2px 7px;
  color:var(--orange);background:#e4ad7614;border:1px solid #e4ad7655;
  border-radius:6px;font-size:11px;line-height:1.6;min-height:0
}

/* Hero bottom labels: one non-overlapping footer row (round 5 fix). */
.v8-hud-corner,.v8-hud-bottom {display:none}
.v8-hero-foot {bottom:22px;white-space:nowrap;overflow:hidden;min-width:0}
.v8-hero-foot i {min-width:16px}
.v8-cross {left:auto;inset-inline-end:10%;top:12%;margin-top:0}
@media (max-width:760px){.v8-cross {display:none}}
