/* ═══════════════════════════════════════════════════════════════════════════
   RWF THEME BINDINGS — design/themes.css v4
   The portable library lives in design/style-library/ (one file per
   kit + base + index + README). This file imports it and then binds
   RWF app surfaces to each kit:
     · figma-app component library (fg-*)  — design/figma-components.css
     · board app surfaces (bd-*)           — apps/board/board.css
     · shared primitives (pop-btn, rwf-btn, fx-*)
   Nothing here defines tokens or mat-* primitives — those are the
   library's job (app-agnostic, reusable in any project).

   USAGE: vendor design/style-library/ + design/fonts/ + this file,
   set <html data-theme="caveman">, and both the token slot contract
   AND the app skins flip together. See style-library/README.md.
   ═══════════════════════════════════════════════════════════════════════ */

@import url("style-library/index.css");

/* ═══════════════════════════════════════════════════════════════════════════
   SHARED BINDINGS — every kit: CTA/accent re-pointing + a11y floors
   ═══════════════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════════════
   PRIMARY-FILL TEXT — components hardcode dark text on primary fills
   (fg-nav__log, CTA pills, pressed chips…). Re-point once, generically:
   every themed page gets AA text on its action colour.
   ═══════════════════════════════════════════════════════════════════════ */

[data-theme] :is(.fg-nav__log,
                 .fg-sheet__cta,
                 .fg-chip[aria-pressed="true"],
                 .fg-chip.is-selected,
                 .fg-status,
                 .fg-dz,
                 .fg-event__tag,
                 .fg-badge--live,
                 .fg-dialog__cta,
                 .fg-pro__cta,
                 .fg-state__cta) {
  color: var(--on-accent);
}
/* warn fills (DZ banners L2/L3) need their own on-colour — light text on
   amber/orange fails in every palette. */
[data-theme] :is(.fg-dz--l2, .fg-dz--l3) { color: var(--on-warn); }
/* shared button primitive (tokens.css hardcodes #0a0b0d + #d6ff45 —
   correct for lime only; themes.css loads after, so this wins) */

[data-theme] .rwf-btn--primary { color: var(--on-accent); }
[data-theme] .rwf-btn--primary:hover {
  background: var(--primary-hover);
  color: var(--on-accent);
  box-shadow: 0 0 24px var(--lime-glow);
}
/* ═══════════════════════════════════════════════════════════════════════
   FIGMA-APP fx-* RE-POINTS — the app's own component layer (app.css)
   hardcodes two literal-gold fills. They sit on the gold axis by design
   but must follow the slot semantics under every theme.
   ═══════════════════════════════════════════════════════════════════════ */
/* ×3 lightning tag (leaderboard rows) — bg-coloured text on a gold fill
   would vanish in sunset (cream-on-gold ≈ 1.6:1); ride the primary slot */

[data-theme] .fx-lt { color: var(--on-accent); background: var(--lime); }
/* power-up status line — gold text on a gold tint; same problem, same fix */

[data-theme] .fx-ltline {
  color: var(--lime);
  background: color-mix(in srgb, var(--lime) 12%, transparent);
  border-color: color-mix(in srgb, var(--lime) 40%, transparent);
}

/* ═══════════════════════════════════════════════════════════════════════════
   sunset · BINDINGS
   ═══════════════════════════════════════════════════════════════════════ */
/* ── originals · component feel (carried forward) ─────────────────────── */

[data-theme="sunset"] :is(.fg-battle, .fg-sheet, .fg-lbrow, .fg-count,
                          .fg-dz, .fg-dialog, .fg-feed, .fg-pwr, .fg-event,
                          .fg-state, .fg-pro__table, .fg-plan, .fg-chip,
                          .fg-nav) {
  border-width: 1px;
  border-color: var(--line);
}
[data-theme="sunset"] .fg-nav { border-top-width: 1px; }
[data-theme="sunset"] .fg-battle { border-color: var(--line); }  /* full ink, not color-mix */
[data-theme="sunset"] .fg-lbrow--leader { border-color: var(--lime); }
[data-theme="sunset"] :is(.fg-battle__title, .fg-sheet__title,
                          .fg-count__time, .fg-pwr__name, .fg-event__title,
                          .fg-dz__label) { font-weight: 800; }  /* oversized flat type */
[data-theme="sunset"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                          .fg-pro__cta, .fg-state__cta, .fg-status,
                          .fg-chip[aria-pressed="true"]) {
  box-shadow: none;                            /* FLAT — no shadow exists in sunset */
}
[data-theme="sunset"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                          .fg-pro__cta, .fg-state__cta):active {
  transform: translateY(1px);                 /* pressed flat */
}

/* ═══════════════════════════════════════════════════════════════════════════
   neon · BINDINGS
   ═══════════════════════════════════════════════════════════════════════ */
[data-theme="neon"] :is(.fg-battle__title, .fg-sheet__title,
                        .fg-count__time, .fg-pwr__name, .fg-event__title,
                        .fg-dz__label) { font-weight: 700; }
[data-theme="neon"] .fg-nav__log { box-shadow: 0 0 32px var(--lime-glow); }
[data-theme="neon"] :is(.fg-battle, .fg-lbrow--leader, .fg-count--dz1) {
  box-shadow: 0 0 24px var(--lime-glow),
              inset 0 0 0 1px color-mix(in srgb, var(--lime) 18%, transparent);
}
[data-theme="neon"] :is(.fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta) {
  box-shadow: 0 0 20px var(--lime-glow);
}

/* ═══════════════════════════════════════════════════════════════════════════
   forest · BINDINGS
   ═══════════════════════════════════════════════════════════════════════ */
[data-theme="forest"] :is(.fg-battle__title, .fg-sheet__title,
                          .fg-count__time, .fg-pwr__name, .fg-event__title,
                          .fg-dz__label) { font-weight: 600; }
[data-theme="forest"] .fg-nav__log { box-shadow: 0 12px 32px rgba(20, 14, 8, 0.45); }
[data-theme="forest"] :is(.fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta) {
  box-shadow: 0 8px 24px rgba(20, 14, 8, 0.35);
}

/* ═══════════════════════════════════════════════════════════════════════════
   board · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */
/* ── board · BINDINGS — fg-* library + bd-* board app ─────────────────── */

[data-theme="board"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                         .fg-event__title, .fg-state__title, .fg-dialog__title) {
  letter-spacing: 0.03em;
}
[data-theme="board"] :is(.fg-count__time, .fg-lbrow__pct, .fg-lbrow__ruf,
                         .fg-battle__meta, .fg-event__tag) {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
}
[data-theme="board"] :is(.fg-battle__meta, .fg-count__sub, .fg-battle__foot) {
  text-transform: uppercase; letter-spacing: 0.09em; font-size: 0.82em;
}
[data-theme="board"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  background:
    linear-gradient(180deg, rgba(255, 244, 214, 0.05), transparent 30%),
    var(--surface);
  border: 2px solid color-mix(in srgb, var(--lime) 22%, var(--line));
  box-shadow: 0 12px 28px rgba(2, 8, 4, 0.55);
}
[data-theme="board"] .fg-count {               /* scoreboard cabinet */
  background: linear-gradient(180deg, #241a04, #0d0903);
  border: 1px solid rgba(255, 201, 77, 0.4);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.6), 0 10px 24px rgba(2, 8, 4, 0.6);
  border-radius: 10px;
}
[data-theme="board"] .fg-count__time { color: #ffe9ad; letter-spacing: 0.04em; }
[data-theme="board"] :is(.fg-battle__bar, .fg-lbrow__bar) {
  border-radius: 5px; background: var(--felt-deep); padding: 2px;
  border: 1px solid rgba(255, 255, 255, 0.14);
}
[data-theme="board"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {   /* tape fill */
  border-radius: 3px;
  background:
    repeating-linear-gradient(45deg, rgba(242, 238, 226, 0.55) 0 6px, transparent 6px 12px),
    linear-gradient(90deg, var(--lane), var(--lime));
}
[data-theme="board"] .fg-lbrow { border-left: 3px solid var(--lane); }
[data-theme="board"] .fg-lbrow__rank {        /* lane number plate */
  font-family: var(--font-display);
  background: var(--lane); color: #ffe6c4;
  border-radius: 3px; padding: 3px 7px;
}
[data-theme="board"] .fg-lbrow--leader {
  border-left-color: var(--lime);
  background: linear-gradient(90deg, rgba(255, 201, 77, 0.09), transparent 60%), var(--surface);
}
[data-theme="board"] .fg-battle__head {        /* moving lane paint strip */
  background: repeating-linear-gradient(95deg, var(--lane-paint) 0 26px, rgba(255, 255, 255, 0.05) 26px 34px);
  height: 5px; border-radius: 3px;
}
[data-theme="board"] .fg-status {
  font-family: var(--font-display); letter-spacing: 0.1em; text-transform: uppercase;
  background: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.14) 0 10px, transparent 10px 20px), var(--lane);
  border-radius: 4px;
}
[data-theme="board"] .fg-status::before { content: "●"; margin-right: 6px; animation: matLampPulse 1.6s infinite; }
[data-theme="board"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                         .fg-pro__cta, .fg-state__cta) {
  font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.05em;
  border-radius: 6px; border: 2px solid rgba(4, 10, 6, 0.85);
  box-shadow: 0 7px 0 rgba(4, 10, 6, 0.85);
  transition: transform 0.1s ease, box-shadow 0.1s ease;
}
[data-theme="board"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                         .fg-pro__cta, .fg-state__cta):active {
  transform: translateY(6px); box-shadow: 0 1px 0 rgba(4, 10, 6, 0.85);
}
[data-theme="board"] .pop-btn {
  border: 2px solid #241a04;
  box-shadow: 0 6px 0 #241a04;
  border-radius: 6px;
  font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.04em;
}
[data-theme="board"] .pop-btn:active { transform: translateY(5px); box-shadow: 0 1px 0 #241a04; }
[data-theme="board"] .fg-dz {
  font-family: var(--font-display); letter-spacing: 0.08em; text-transform: uppercase;
  background: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.14) 0 10px, transparent 10px 20px), var(--urgency);
}
[data-theme="board"] .bd-table {               /* the stadium: floodlit infield */
  background:
    radial-gradient(75% 60% at 50% 0%, rgba(255, 244, 214, 0.13), transparent 60%),
    repeating-linear-gradient(105deg, rgba(255, 255, 255, 0.02) 0 3px, transparent 3px 16px),
    var(--felt);
  border: 3px solid var(--rail);
  box-shadow: inset 0 0 0 2px var(--rail-edge), inset 0 -30px 60px rgba(2, 8, 4, 0.55);
}
[data-theme="board"] .bd-lane { border: 2px dashed var(--lane-paint); }
[data-theme="board"] .bd-lane:nth-child(even) { border-color: rgba(255, 255, 255, 0.18); }
[data-theme="board"] .bd-finish {              /* photo-finish tape stretched */
  background: repeating-linear-gradient(45deg, #f2eee2 0 8px, #1a1006 8px 16px);
  box-shadow: 0 3px 10px rgba(2, 8, 4, 0.6);
}
[data-theme="board"] .bd-pot {                 /* the pot on a trophy pedestal */
  background:
    radial-gradient(90% 70% at 50% 0%, #ffe9ad, #ffc94d 45%, #8a6a1d 100%);
  border: 2px solid #241a04; border-radius: 14px;
  box-shadow: 0 10px 0 #4d390e, 0 18px 30px rgba(2, 8, 4, 0.55),
              inset 0 2px 0 rgba(255, 248, 220, 0.6);
}
[data-theme="board"] .bd-pot::after {          /* engraved ring */
  content: ""; position: absolute; inset: 5px;
  border-radius: 10px;
  border: 1px solid rgba(36, 26, 4, 0.4);
}
[data-theme="board"] .bd-pot__label { color: var(--lime); }
[data-theme="board"] .bd-card__face--front {   /* felt pinstripe card face */
  background: repeating-linear-gradient(90deg, rgba(238, 244, 232, 0.05) 0 1px, transparent 1px 7px), var(--card-face);
  border: 1px solid rgba(255, 201, 77, 0.3);
  box-shadow: 0 6px 14px rgba(2, 8, 4, 0.5);
}
[data-theme="board"] .bd-prow { box-shadow: 0 3px 0 rgba(4, 10, 6, 0.8); border-left: 3px solid var(--lane); }
[data-theme="board"] .bd-prow__pos { font-family: var(--font-display); background: var(--lane); color: #ffe6c4; border-radius: 3px; }
[data-theme="board"] .bd-top { border-bottom: 2px solid color-mix(in srgb, var(--lime) 35%, var(--line)); }
[data-theme="board"] .fg-battle__bar { position: relative; overflow: hidden; }
[data-theme="board"] .fg-battle__bar::after {  /* stadium lamp sheen */
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, transparent 20%, rgba(255, 244, 214, 0.4) 50%, transparent 80%);
  transform: translateX(-120%);
  animation: matFinishSheen 2.8s ease-in-out infinite;
}
[data-theme="board"] .bd-pot.is-bump { animation: matTrophyBump 0.5s cubic-bezier(0.22, 1, 0.36, 1); }

/* ═══════════════════════════════════════════════════════════════════════════
   mycelial · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */
/* ── mycelial · BINDINGS ──────────────────────────────────────────────── */

[data-theme="mycelial"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                            .fg-event__title, .fg-dialog__title, .fg-state__title) {
  font-weight: 500; letter-spacing: 0.01em;
}
[data-theme="mycelial"] :is(.fg-count__time) { font-weight: 600; }
[data-theme="mycelial"] :is(.fg-battle, .fg-dialog, .fg-state) {
  border-radius: 42px 30px 46px 34px / 34px 46px 30px 42px;
  border-color: rgba(79, 227, 193, 0.22);
  box-shadow: 0 16px 36px rgba(4, 12, 9, 0.55), inset 0 0 30px rgba(79, 227, 193, 0.04);
}
[data-theme="mycelial"] .fg-count {
  background: radial-gradient(120% 120% at 50% 0%, rgba(79, 227, 193, 0.1), transparent 60%), var(--surface);
  border: 1px solid rgba(79, 227, 193, 0.3);
  border-radius: 34px 24px 36px 26px / 26px 36px 24px 34px;
}
[data-theme="mycelial"] .fg-sheet { border-radius: 40px 30px 44px 34px / 34px 44px 30px 40px; }
[data-theme="mycelial"] .fg-stack .fg-lbrow:nth-child(odd)  { border-radius: 26px 38px 30px 42px / 40px 28px 44px 30px; }
[data-theme="mycelial"] .fg-stack .fg-lbrow:nth-child(even) { border-radius: 38px 26px 42px 30px / 28px 40px 30px 44px; }
[data-theme="mycelial"] .fg-event { border-radius: 32px 22px 34px 24px / 24px 34px 22px 32px; }
[data-theme="mycelial"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 999px;
  background: repeating-radial-gradient(circle at 0% 50%, var(--lime) 0 6px, var(--lime-dim) 6px 12px);
  box-shadow: 0 0 12px rgba(79, 227, 193, 0.28);
}
[data-theme="mycelial"] .fg-chip { border-radius: 999px; border-color: rgba(79, 227, 193, 0.25); }
[data-theme="mycelial"] .fg-chip[aria-pressed="true"],
[data-theme="mycelial"] .fg-chip.is-selected {
  border-radius: 30px 30px 16px 16px;
  background: radial-gradient(120% 150% at 50% -40%, #d8fff2 8%, var(--lime) 42%, var(--lime-dim) 88%);
  box-shadow: inset 0 -5px 8px rgba(9, 40, 30, 0.4), 0 6px 14px rgba(19, 84, 66, 0.35);
}
[data-theme="mycelial"] .fg-lbrow--leader {
  border-color: rgba(79, 227, 193, 0.4);
  background: radial-gradient(90% 120% at 20% 0%, rgba(79, 227, 193, 0.1), transparent 60%), var(--surface);
}
[data-theme="mycelial"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                            .fg-pro__cta, .fg-state__cta) {
  border-radius: 30px 30px 16px 16px;
  background: radial-gradient(120% 150% at 50% -40%, #d8fff2 8%, var(--lime) 42%, var(--lime-dim) 88%);
  box-shadow: inset 0 -7px 10px rgba(9, 40, 30, 0.45), 0 10px 22px rgba(19, 84, 66, 0.4);
}
[data-theme="mycelial"] .pop-btn {
  border-radius: 28px 28px 15px 15px;
  box-shadow: inset 0 -6px 9px rgba(9, 40, 30, 0.42), 0 8px 18px rgba(19, 84, 66, 0.38);
}
[data-theme="mycelial"] .pop-btn:active, [data-theme="mycelial"] .pop-btn.is-pressed {
  transform: translateY(1px) scale(0.98);
  box-shadow: inset 0 -4px 8px rgba(9, 40, 30, 0.5);
}
[data-theme="mycelial"] .fg-feed { border-left: 2px solid rgba(79, 227, 193, 0.35); }
[data-theme="mycelial"] .fg-feed--power { border-left-color: rgba(201, 161, 255, 0.3); }
[data-theme="mycelial"] .bd-table {            /* moss floor + glow veins */
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cg fill='none' stroke='%234fe3c1' stroke-opacity='0.2' stroke-width='1.3' stroke-linecap='round'%3E%3Cpath d='M10 290 Q60 240 70 190 Q80 140 60 100 M70 190 Q120 170 160 190 Q210 215 240 180 M160 190 Q170 130 210 110 Q240 95 250 60 M60 100 Q100 80 130 90 M240 180 Q270 150 290 140 M130 90 Q150 60 140 30'/%3E%3C/g%3E%3Cg fill='%234fe3c1'%3E%3Ccircle cx='60' cy='100' r='2.4' opacity='0.8'/%3E%3Ccircle cx='250' cy='60' r='2' opacity='0.7'/%3E%3Ccircle cx='140' cy='30' r='1.8' opacity='0.65'/%3E%3Ccircle cx='290' cy='140' r='2.2' opacity='0.75'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 300px 300px,
    radial-gradient(80% 70% at 50% 110%, rgba(79, 227, 193, 0.12), transparent 65%),
    var(--felt);
  border: 1px solid rgba(79, 227, 193, 0.28);
  box-shadow: inset 0 0 44px rgba(4, 16, 12, 0.7), 0 0 30px rgba(79, 227, 193, 0.08);
}
[data-theme="mycelial"] .bd-lane { border: 1.5px dashed rgba(79, 227, 193, 0.3); border-radius: 50%; }
[data-theme="mycelial"] .bd-lane:nth-child(even) { border-color: rgba(79, 227, 193, 0.16); }
[data-theme="mycelial"] .bd-finish {
  background: repeating-linear-gradient(90deg, rgba(79, 227, 193, 0.5) 0 8px, transparent 8px 16px);
}
[data-theme="mycelial"] .bd-pot {              /* the mycelium core */
  background:
    radial-gradient(circle at 35% 30%, #d8fff2 0%, rgba(79, 227, 193, 0.7) 30%, rgba(23, 84, 66, 0.85) 100%);
  border-radius: 46% 54% 50% 50% / 52% 48% 52% 48%;
  border: 1px solid rgba(79, 227, 193, 0.5);
  box-shadow: 0 0 34px rgba(79, 227, 193, 0.3), inset 0 0 20px rgba(4, 16, 12, 0.4);
  animation: matBreathe 6s ease-in-out infinite;
}
[data-theme="mycelial"] .bd-pot__label { color: #8ef0da; }
[data-theme="mycelial"] .bd-token--you .bd-token__chip { outline-color: rgba(79, 227, 193, 0.7); }
[data-theme="mycelial"] .bd-card__face--front {
  background: radial-gradient(130% 100% at 30% 0%, rgba(79, 227, 193, 0.12), transparent 55%), var(--card-face);
  border-radius: 24px 16px 26px 18px / 18px 26px 16px 24px;
  border: 1px solid rgba(79, 227, 193, 0.3);
}
[data-theme="mycelial"] .bd-card__face--back { border-radius: 18px 26px 20px 28px / 26px 18px 28px 20px; }
[data-theme="mycelial"] .bd-prow { border-radius: 18px 24px 18px 24px / 24px 18px 24px 18px; }
[data-theme="mycelial"] .bd-feed__row { border-radius: 12px 0 0 12px; }
[data-theme="mycelial"] .bd-pot::after {       /* drifting spores over the core */
  content: ""; position: absolute; inset: -14px; pointer-events: none;
  background:
    radial-gradient(circle 2px at 20% 30%, rgba(216, 255, 242, 0.8), transparent 60%),
    radial-gradient(circle 1.5px at 70% 20%, rgba(216, 255, 242, 0.6), transparent 60%),
    radial-gradient(circle 2.2px at 55% 75%, rgba(216, 255, 242, 0.7), transparent 60%),
    radial-gradient(circle 1.4px at 85% 60%, rgba(216, 255, 242, 0.5), transparent 60%);
  animation: matSporeDrift 8s ease-in-out infinite;
}
[data-theme="mycelial"] .bd-card--deal { animation: matGrow 0.7s cubic-bezier(0.22, 1, 0.36, 1) both; }

/* ═══════════════════════════════════════════════════════════════════════════
   techy · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */
/* ── techy · BINDINGS ─────────────────────────────────────────────────── */

[data-theme="techy"] :is(.fg-battle__meta, .fg-count__sub, .fg-event__sub,
                         .fg-battle__foot, .fg-state__sub) {
  font-family: var(--font-mono); text-transform: uppercase;
}
[data-theme="techy"] :is(.fg-battle__meta, .fg-event__sub)::before { content: "// "; opacity: 0.6; }
[data-theme="techy"] :is(.fg-battle__title, .fg-sheet__title, .fg-event__title) {
  letter-spacing: 0.04em;
}
[data-theme="techy"] .fg-count__time::before { content: "T− "; color: var(--lime); opacity: 0.8; }
[data-theme="techy"] :is(.fg-battle, .fg-sheet, .fg-count, .fg-dialog, .fg-state, .fg-pro) {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 12%, rgba(0, 0, 0, 0.14) 94%),
    var(--surface);
  border: 1px solid rgba(63, 212, 255, 0.4);
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 10px 22px rgba(0, 4, 8, 0.5);
}
[data-theme="techy"] :is(.fg-battle, .fg-count, .fg-dialog)::before,
[data-theme="techy"] :is(.fg-battle, .fg-count, .fg-dialog)::after {
  content: ""; position: absolute; width: 5px; height: 5px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #9fc4d8, #33475a 60%, #101a22);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7);
}
[data-theme="techy"] :is(.fg-battle, .fg-count, .fg-dialog)::before { top: 6px; left: 6px; }
[data-theme="techy"] :is(.fg-battle, .fg-count, .fg-dialog)::after { top: 6px; right: 6px; }
[data-theme="techy"] .fg-battle { overflow: hidden; position: relative; }   /* clip the sweep */
[data-theme="techy"] .fg-battle::after {       /* CRT scan sweep (replaces rivet TR) */
  content: ""; position: absolute; inset: auto 0 -40% 0; height: 60%;
  background: linear-gradient(180deg, transparent, rgba(63, 212, 255, 0.05), transparent);
  animation: matScanSweep 5.5s linear infinite;
}
[data-theme="techy"] :is(.fg-battle__bar, .fg-lbrow__bar) {
  border-radius: 2px; background: repeating-linear-gradient(90deg, rgba(63, 212, 255, 0.1) 0 9px, transparent 9px 12px), #04090c;
  border: 1px solid rgba(63, 212, 255, 0.28);
}
[data-theme="techy"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 1px;
  background: repeating-linear-gradient(90deg, var(--lime) 0 9px, rgba(10, 16, 20, 0.9) 9px 12px);
}
[data-theme="techy"] .fg-lbrow {
  font-family: var(--font-mono);
  border-left: 2px solid rgba(63, 212, 255, 0.4);
}
[data-theme="techy"] .fg-lbrow__pct { font-family: var(--font-mono); }
[data-theme="techy"] .fg-lbrow--leader { border-left-color: var(--lime); }
[data-theme="techy"] .fg-lbrow::after {        /* telemetry spark */
  content: "▁▃▅▃▇▅▇"; font-size: 9px; letter-spacing: -1px;
  color: rgba(63, 212, 255, 0.55);
}
[data-theme="techy"] .fg-status {
  font-family: var(--font-mono); letter-spacing: 0.12em;
  border-radius: 2px; background: rgba(63, 212, 255, 0.14);
  box-shadow: inset 0 0 0 1px rgba(63, 212, 255, 0.45);
}
[data-theme="techy"] .fg-status::before { content: "▮"; margin-right: 6px; animation: matLampPulse 1.1s steps(2) infinite; }
[data-theme="techy"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                         .fg-pro__cta, .fg-state__cta) {
  font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em;
  border-radius: 2px;
  background: linear-gradient(180deg, #2b3c48, #17242e);
  border: 1px solid rgba(63, 212, 255, 0.55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), inset 0 -2px 3px rgba(0, 0, 0, 0.5);
}
[data-theme="techy"] .pop-btn {
  border-radius: 2px; border: 1px solid rgba(63, 212, 255, 0.5);
  font-family: var(--font-mono); letter-spacing: 0.06em;
  background: linear-gradient(180deg, #2b3c48, #17242e);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 4px 0 #060b0f;
}
[data-theme="techy"] .pop-btn:active { box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.7); }
[data-theme="techy"] .fg-dz {
  font-family: var(--font-mono); letter-spacing: 0.1em;
  background:
    repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.28) 0 12px, transparent 12px 24px),
    linear-gradient(180deg, var(--urgency), var(--dz3-surface));
  border: 1px solid rgba(255, 140, 66, 0.6);
}
[data-theme="techy"] .bd-table {               /* the plotting table */
  background:
    repeating-linear-gradient(0deg, rgba(63, 212, 255, 0.07) 0 1px, transparent 1px 26px),
    repeating-linear-gradient(90deg, rgba(63, 212, 255, 0.07) 0 1px, transparent 1px 26px),
    radial-gradient(80% 70% at 50% 30%, rgba(63, 212, 255, 0.06), transparent 60%),
    var(--felt);
  border: 1px solid rgba(63, 212, 255, 0.4);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.4), inset 0 0 40px rgba(0, 4, 8, 0.6);
}
[data-theme="techy"] .bd-lane { border: 1px dashed rgba(63, 212, 255, 0.35); border-radius: 50%; }
[data-theme="techy"] .bd-lane:nth-child(even) { border-style: dotted; border-color: rgba(63, 212, 255, 0.18); }
[data-theme="techy"] .bd-finish {
  background: repeating-linear-gradient(90deg, rgba(63, 212, 255, 0.55) 0 3px, transparent 3px 9px);
}
[data-theme="techy"] .bd-pot {                 /* data core + crosshair */
  background:
    linear-gradient(rgba(4, 9, 12, 0.25), rgba(4, 9, 12, 0.25)),
    repeating-conic-gradient(rgba(63, 212, 255, 0.14) 0 30deg, rgba(4, 9, 12, 0.1) 30deg 60deg),
    radial-gradient(circle, #0e1a22, #060b0f);
  border: 1px solid rgba(63, 212, 255, 0.55);
  border-radius: 4px;
  box-shadow: inset 0 0 18px rgba(63, 212, 255, 0.14), 0 0 22px rgba(63, 212, 255, 0.1);
}
[data-theme="techy"] .bd-pot__label { color: var(--lime); }
[data-theme="techy"] .bd-clock__time { color: var(--lime); font-family: var(--font-mono); }
[data-theme="techy"] .bd-card__face--front { border-radius: 5px; border-width: 1px; border-color: rgba(63, 212, 255, 0.4); background: linear-gradient(180deg, #10202a, #0a141b); }
[data-theme="techy"] .bd-card__face--back { border-radius: 5px; background: repeating-linear-gradient(45deg, rgba(63, 212, 255, 0.12) 0 6px, transparent 6px 12px), #060b0f; }
[data-theme="techy"] .bd-prow {
  font-family: var(--font-mono);
  border: 1px solid rgba(63, 212, 255, 0.25);
  border-left: 2px solid rgba(63, 212, 255, 0.45);
  background: rgba(4, 9, 12, 0.4);
}
[data-theme="techy"] .bd-prow--you { border-left-color: var(--lime); }
[data-theme="techy"] .bd-top { border-bottom: 1px solid var(--line-bright); box-shadow: 0 1px 0 rgba(63, 212, 255, 0.08); }
[data-theme="techy"] :is(.fg-battle, .fg-count, .fg-sheet, .fg-event) { animation: matBoot 0.45s both; }
[data-theme="techy"] .fg-count { animation-delay: 0.08s; }
[data-theme="techy"] .fg-stack .fg-lbrow:nth-child(1) { animation: matBoot 0.45s 0.12s both; }
[data-theme="techy"] .fg-stack .fg-lbrow:nth-child(2) { animation: matBoot 0.45s 0.18s both; }
[data-theme="techy"] .fg-stack .fg-lbrow:nth-child(3) { animation: matBoot 0.45s 0.24s both; }
[data-theme="techy"] .fg-stack .fg-lbrow:nth-child(4) { animation: matBoot 0.45s 0.30s both; }

/* ═══════════════════════════════════════════════════════════════════════════
   track · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */
/* ── track · BINDINGS ─────────────────────────────────────────────────── */

[data-theme="track"] :is(.fg-count__time, .fg-lbrow__pct, .fg-lbrow__ruf,
                         .fg-battle__meta, .fg-event__tag) {
  font-family: var(--font-display); font-variant-numeric: tabular-nums;
}
[data-theme="track"] :is(.fg-battle__title, .fg-sheet__title, .fg-event__title,
                         .fg-state__title, .fg-dialog__title, .fg-pwr__name) {
  text-transform: uppercase; letter-spacing: 0.02em;
}
[data-theme="track"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  border: 1px solid rgba(255, 250, 240, 0.3);
  border-top: 3px solid var(--text);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 20%), var(--surface);
  box-shadow: 0 6px 16px rgba(20, 6, 7, 0.45);
}
[data-theme="track"] .fg-battle__head {        /* moving lane paint */
  background: repeating-linear-gradient(95deg, var(--lane-paint) 0 26px, rgba(255, 255, 255, 0.08) 26px 34px);
  height: 5px;
}
[data-theme="track"] .fg-count {
  background: linear-gradient(180deg, #fdf5ef, #f3e6d8);
  color: #2b1012;
  border: 2px solid var(--text);
  border-radius: 8px;
}
[data-theme="track"] .fg-count__sub { color: #6d4a3a; }
[data-theme="track"] .fg-count__time { font-size: 1.9em; color: #2b1012; }   /* BIG clock */
[data-theme="track"] :is(.fg-battle__bar, .fg-lbrow__bar) { border-radius: 4px; background: rgba(43, 16, 18, 0.75); padding: 2px; border: 1px solid rgba(255, 250, 240, 0.3); }
[data-theme="track"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 3px;
  background: repeating-linear-gradient(90deg, rgba(43, 16, 18, 0.22) 0 8px, transparent 8px 17px), linear-gradient(90deg, var(--lime), #e0702f);
}
[data-theme="track"] .fg-lbrow {               /* a painted lane */
  border-bottom: 2px solid rgba(255, 250, 240, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 60%);
}
[data-theme="track"] .fg-lbrow__rank {         /* the race bib */
  font-family: var(--font-display);
  background: #fdf5ef; color: #2b1012;
  border: 1.5px solid #2b1012; border-radius: 4px;
  padding: 2px 7px;
  box-shadow: 2px 2px 0 rgba(43, 16, 18, 0.6);
}
[data-theme="track"] .fg-lbrow--leader { background: linear-gradient(90deg, rgba(255, 201, 77, 0.14), transparent 55%); }
[data-theme="track"] .fg-lbrow--leader .fg-lbrow__rank { background: var(--lime); }
[data-theme="track"] .fg-event { border-left: 4px solid var(--text); background: linear-gradient(90deg, rgba(255, 250, 240, 0.06), transparent 70%); }
[data-theme="track"] .fg-event--storm { border-left-color: var(--energy); }
[data-theme="track"] .fg-event--charity { border-left-color: var(--success); }
[data-theme="track"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                         .fg-pro__cta, .fg-state__cta) {
  font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.05em;
  border: 2px solid var(--text);
  border-radius: 8px;
  box-shadow: 0 4px 0 rgba(43, 16, 18, 0.9);
}
[data-theme="track"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                         .fg-pro__cta, .fg-state__cta):active {
  transform: translateY(4px); box-shadow: 0 0 0 rgba(43, 16, 18, 0.9);
}
[data-theme="track"] .pop-btn { border: 2px solid #2b1012; box-shadow: 0 4px 0 #2b1012; border-radius: 8px; font-family: var(--font-display); text-transform: uppercase; }
[data-theme="track"] .fg-status {
  font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.1em;
  background: var(--text); color: #2b1012; border-radius: 4px;
}
[data-theme="track"] .bd-table {               /* the running track */
  background:
    repeating-linear-gradient(0deg, transparent 0 44px, rgba(255, 250, 240, 0.16) 44px 46px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.22 0 0 0 0 0.14 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E") 0 0 / 180px 180px,
    linear-gradient(#a2402f, #8e2f26);
  border: 4px solid #fdf5ef;
  box-shadow: inset 0 0 0 2px rgba(43, 16, 18, 0.5), inset 0 0 50px rgba(43, 16, 18, 0.5), 0 8px 20px rgba(20, 6, 7, 0.5);
}
[data-theme="track"] .bd-track { counter-reset: bdLane; }
[data-theme="track"] .bd-lane { border: 1.5px solid rgba(253, 245, 239, 0.4); }
[data-theme="track"] .bd-lane:nth-child(even) { border-color: rgba(255, 255, 255, 0.22); }
[data-theme="track"] .bd-lane::before {        /* lane number at the top straight */
  counter-increment: bdLane;
  content: counter(bdLane);
  position: absolute; top: 8%; left: 50%; transform: translateX(-50%);
  font-family: var(--font-display); font-size: 13px;
  color: rgba(253, 245, 239, 0.65);
}
[data-theme="track"] .bd-finish {
  background: repeating-linear-gradient(90deg, #fdf5ef 0 10px, #2b1012 10px 20px);
}
[data-theme="track"] .bd-pot {                 /* the finish clock */
  background: #fdf5ef;
  border: 3px solid #2b1012; border-radius: 8px;
  box-shadow: 5px 5px 0 rgba(43, 16, 18, 0.8);
}
[data-theme="track"] .bd-pot__total { color: #8e2f26; font-family: var(--font-display); }
[data-theme="track"] .bd-pot__label { color: #a2402f; font-family: var(--font-display); letter-spacing: 0.1em; }
[data-theme="track"] .bd-pot__pts { color: #8e2f26; }
[data-theme="track"] .bd-pot .bd-stack__n { background: #fdf5ef; color: #2b1012; }
[data-theme="track"] .bd-top { border-bottom: 3px solid var(--text); }
[data-theme="track"] .bd-prow__pos { font-family: var(--font-display); background: #fdf5ef; color: #2b1012; border-radius: 4px; border: 1.5px solid #2b1012; }
[data-theme="track"] .bd-prow { border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
[data-theme="track"] .bd-card__face--front {
  background: linear-gradient(180deg, #fdf5ef, #f3e6d8);
  border: 2px solid #2b1012; border-radius: 8px;
  box-shadow: 3px 3px 0 rgba(43, 16, 18, 0.7);
}
[data-theme="track"] .bd-card__name { color: #2b1012; }
[data-theme="track"] .bd-card__fx { color: #6d4a3a; }
[data-theme="track"] .bd-card__cost { color: #8e2f26; }
[data-theme="track"] .bd-card__rar { color: #fdf5ef; background: #2b1012; }
[data-theme="track"] .bd-card--deal { animation: matTrackDeal 0.55s cubic-bezier(0.2, 1.2, 0.3, 1) both; }

/* ═══════════════════════════════════════════════════════════════════════════
   cardtable · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */
/* ── cardtable · BINDINGS ─────────────────────────────────────────────── */

[data-theme="cardtable"] :is(.fg-battle__title, .fg-sheet__title,
                             .fg-dialog__title, .fg-state__title) {
  font-family: Georgia, 'Times New Roman', serif;
  font-variant: small-caps; letter-spacing: 0.1em;
}
[data-theme="cardtable"] .fg-battle__title::after {   /* brass flourish */
  content: " — · —";
  color: var(--lime); font-variant: normal; letter-spacing: 0.2em; font-size: 0.5em;
  display: block; margin-top: 2px; opacity: 0.8;
}
[data-theme="cardtable"] :is(.fg-pwr__name) { font-style: italic; }
[data-theme="cardtable"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  background: radial-gradient(130% 100% at 50% -20%, rgba(255, 208, 120, 0.07), transparent 55%), var(--surface);
  border: 1px solid color-mix(in srgb, var(--lime) 30%, var(--line));
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.5), 0 10px 26px rgba(8, 4, 6, 0.55);
  border-radius: 10px;
}
[data-theme="cardtable"] .fg-count {
  background: radial-gradient(120% 100% at 50% -20%, rgba(255, 208, 120, 0.1), transparent 60%), var(--surface-2);
  border: 1px solid color-mix(in srgb, var(--lime) 40%, var(--line));
  border-radius: 12px;
}
[data-theme="cardtable"] .fg-lbrow { border-left: 2px solid color-mix(in srgb, var(--lime) 40%, var(--line)); }
[data-theme="cardtable"] .fg-lbrow__rank { color: var(--lime); font-family: Georgia, serif; font-style: italic; }
[data-theme="cardtable"] .fg-lbrow--leader {
  border-left-color: var(--lime);
  background: radial-gradient(80% 140% at 0% 50%, rgba(255, 208, 120, 0.08), transparent 60%), var(--surface);
}
[data-theme="cardtable"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 999px;
  background:
    repeating-linear-gradient(90deg, rgba(8, 4, 6, 0.3) 0 2px, transparent 2px 8px),
    linear-gradient(180deg, color-mix(in srgb, var(--lime) 100%, #fff6e6 20%), var(--lime));
}
[data-theme="cardtable"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                             .fg-pro__cta, .fg-state__cta) {
  font-family: Georgia, serif; font-variant: small-caps; letter-spacing: 0.12em;
  border-radius: 999px;
  border: 4px dashed color-mix(in srgb, #3d2a10 70%, var(--lime));
  box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--lime) 100%, #fff6e6 18%), 0 5px 0 #4d3210;
}
[data-theme="cardtable"] :is(.fg-chip, .fg-chip--exercise, .fg-chip--lg) {
  font-family: Georgia, serif; font-variant: small-caps; letter-spacing: 0.08em;
  border-radius: 999px;
}
[data-theme="cardtable"] .fg-chip[aria-pressed="true"],
[data-theme="cardtable"] .fg-chip.is-selected { border-style: dashed; }
[data-theme="cardtable"] .pop-btn {
  border-radius: 999px;
  border: 4px dashed color-mix(in srgb, #3d2a10 70%, var(--lime));
  box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--lime) 100%, #fff6e6 18%), 0 5px 0 #4d3210;
  font-family: Georgia, serif; font-variant: small-caps; letter-spacing: 0.1em;
}
[data-theme="cardtable"] .pop-btn--ghost { border-style: solid; border-width: 2px; box-shadow: 0 5px 0 rgba(8, 4, 6, 0.55); }
[data-theme="cardtable"] .fg-status {
  font-family: Georgia, serif; font-variant: small-caps; letter-spacing: 0.2em;
  border-radius: 999px; background: linear-gradient(180deg, var(--lime), var(--lime-dim));
}
[data-theme="cardtable"] .bd-table {           /* the club table */
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.55 0.14' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.05 0 0 0 0 0.12 0 0 0 0 0.07 0 0 0 0.25 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23f)'/%3E%3C/svg%3E") 0 0 / 200px 200px,
    radial-gradient(80% 70% at 50% 25%, rgba(255, 208, 120, 0.13), transparent 60%),
    var(--felt);
  border: 3px solid #3d2a10;
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--lime) 45%, transparent), inset 0 0 60px rgba(8, 4, 6, 0.75), 0 14px 30px rgba(8, 4, 6, 0.6);
}
[data-theme="cardtable"] .bd-lane { border: 1.5px solid color-mix(in srgb, var(--lime) 30%, transparent); border-radius: 50%; }
[data-theme="cardtable"] .bd-lane:nth-child(even) { border-style: dashed; }
[data-theme="cardtable"] .bd-finish { background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--lime) 60%, transparent) 0 2px, transparent 2px 10px); }
[data-theme="cardtable"] .bd-pot {             /* brass plate */
  background: radial-gradient(120% 120% at 30% 20%, #ffe9c2, var(--lime) 45%, #8a6a1d 100%);
  border: 2px solid #3d2a10; border-radius: 14px;
  box-shadow: inset 0 2px 0 rgba(255, 246, 230, 0.5), inset 0 -3px 6px rgba(61, 42, 16, 0.6), 0 8px 18px rgba(8, 4, 6, 0.6);
}
[data-theme="cardtable"] .bd-pot__label { font-variant: small-caps; letter-spacing: 0.34em; color: var(--lime); }
[data-theme="cardtable"] .bd-card__face--front {   /* cream letterpress card */
  background: linear-gradient(180deg, #fff6e6, #f7e8d2);
  border: 1px solid #caa46a; border-radius: 10px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6), inset 0 1px 3px rgba(61, 42, 16, 0.25), 0 6px 12px rgba(8, 4, 6, 0.5);
}
[data-theme="cardtable"] .bd-card__name { color: #2a151c; font-family: Georgia, serif; }
[data-theme="cardtable"] .bd-card__fx { color: #5d4a53; font-style: italic; }
[data-theme="cardtable"] .bd-card__cost { color: #6a4a1c; font-family: Georgia, serif; }
[data-theme="cardtable"] .bd-card__rar { color: #fff6e6; }
[data-theme="cardtable"] .bd-card__face--back {
  background: repeating-linear-gradient(45deg, rgba(255, 208, 120, 0.14) 0 5px, transparent 5px 10px), var(--card-back-1);
  border: 1px solid #3d2a10; border-radius: 10px;
}
[data-theme="cardtable"] .bd-prow { border-radius: 10px; box-shadow: 0 3px 0 rgba(8, 4, 6, 0.5); }
[data-theme="cardtable"] .bd-card--deal { animation: matFeltDeal 0.6s cubic-bezier(0.25, 1.1, 0.35, 1) both; }

/* ═══════════════════════════════════════════════════════════════════════════
   caveman · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */
/* ── caveman · BINDINGS ──────────────────────────────────────────────── */

[data-theme="caveman"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                           .fg-event__title, .fg-dialog__title, .fg-state__title) {
  font-family: 'Archivo', sans-serif; font-weight: 900;
  letter-spacing: 0.01em; text-shadow: 2px 2px 0 rgba(8, 4, 1, 0.5);
}
[data-theme="caveman"] .fg-count__time {
  font-family: 'Archivo', sans-serif; font-weight: 900;
  text-shadow: 3px 3px 0 rgba(8, 4, 1, 0.55);
}
[data-theme="caveman"] .fg-event__title::before { content: "▲ "; color: var(--coral); }
[data-theme="caveman"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  background:
    linear-gradient(180deg, rgba(236, 224, 192, 0.04), transparent 28%, rgba(0, 0, 0, 0.2) 96%),
    var(--surface);
  border: 3px solid rgba(236, 224, 192, 0.2);
  border-radius: 26px 34px 22px 36px / 32px 22px 36px 26px;
  box-shadow: inset 0 2px 0 rgba(236, 224, 192, 0.07), 0 14px 30px rgba(8, 4, 1, 0.6);
}
[data-theme="caveman"] .fg-count {
  background: radial-gradient(120% 110% at 50% -10%, rgba(255, 185, 94, 0.09), transparent 55%), var(--surface);
  border-radius: 30px 22px 32px 24px / 24px 32px 22px 30px;
}
[data-theme="caveman"] .fg-stack .fg-lbrow:nth-child(odd) {
  border-radius: 20px 30px 16px 28px / 26px 16px 30px 18px;
  border: 2px solid rgba(236, 224, 192, 0.16);
}
[data-theme="caveman"] .fg-stack .fg-lbrow:nth-child(even) {
  border-radius: 28px 18px 30px 20px / 18px 28px 20px 30px;
  border: 2px solid rgba(236, 224, 192, 0.16);
}
[data-theme="caveman"] .fg-stack .fg-lbrow--leader {
  border-color: rgba(255, 185, 94, 0.45);
  background: radial-gradient(90% 140% at 10% 0%, rgba(255, 122, 89, 0.12), transparent 60%), var(--surface);
}
[data-theme="caveman"] .fg-lbrow__rank { font-family: 'Archivo', sans-serif; font-weight: 900; color: var(--coral); }
[data-theme="caveman"] :is(.fg-battle__bar, .fg-lbrow__bar) {
  border-radius: 10px; background: rgba(8, 4, 1, 0.6);
  border: 2px solid rgba(236, 224, 192, 0.18);
}
[data-theme="caveman"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 8px;
  background: linear-gradient(180deg, #ffb95e, var(--coral) 70%, #b3451d);
  box-shadow: 0 0 12px rgba(255, 122, 89, 0.35);
}
[data-theme="caveman"] .fg-event {
  border-left: 4px solid rgba(236, 224, 192, 0.4);
  border-radius: 18px 12px 20px 14px / 14px 20px 12px 18px;
}
[data-theme="caveman"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                           .fg-pro__cta, .fg-state__cta) {
  font-family: 'Archivo', sans-serif; font-weight: 900;
  color: #f4ead2;
  background: linear-gradient(160deg, #7d7466 0%, #66594a 38%, #4d4437 72%, #3b332a 100%);
  border: 0;
  border-radius: 18px 24px 14px 26px / 22px 14px 26px 16px;
  clip-path: polygon(3% 12%, 9% 3%, 26% 0%, 52% 4%, 74% 0%, 92% 6%, 100% 22%, 97% 46%, 100% 68%, 93% 92%, 74% 100%, 50% 96%, 26% 100%, 8% 94%, 0% 74%, 2% 48%);
  box-shadow: inset 2px 3px 2px rgba(236, 224, 192, 0.2), inset -3px -4px 6px rgba(8, 4, 1, 0.5), 0 6px 0 #2b231a;
  text-shadow: 0 2px 2px rgba(8, 4, 1, 0.6);
}
[data-theme="caveman"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                           .fg-pro__cta, .fg-state__cta):active {
  transform: translateY(5px);
  box-shadow: inset 3px 4px 8px rgba(8, 4, 1, 0.65), 0 1px 0 #2b231a;
}
[data-theme="caveman"] .pop-btn {
  color: #f4ead2;
  background: linear-gradient(160deg, #7d7466, #66594a 38%, #4d4437 72%, #3b332a);
  border: 0;
  border-radius: 18px 24px 14px 26px / 22px 14px 26px 16px;
  clip-path: polygon(3% 12%, 9% 3%, 26% 0%, 52% 4%, 74% 0%, 92% 6%, 100% 22%, 97% 46%, 100% 68%, 93% 92%, 74% 100%, 50% 96%, 26% 100%, 8% 94%, 0% 74%, 2% 48%);
  box-shadow: inset 2px 3px 2px rgba(236, 224, 192, 0.2), inset -3px -4px 6px rgba(8, 4, 1, 0.5), 0 6px 0 #2b231a;
  font-family: 'Archivo', sans-serif; font-weight: 900;
}
[data-theme="caveman"] .pop-btn:active, [data-theme="caveman"] .pop-btn.is-pressed {
  transform: translateY(5px);
  box-shadow: inset 3px 4px 8px rgba(8, 4, 1, 0.65), 0 1px 0 #2b231a;
}
[data-theme="caveman"] .fg-status {
  font-family: 'Archivo', sans-serif; font-weight: 800;
  background: var(--coral); color: #2b130a;
  border-radius: 14px 20px 12px 18px / 18px 12px 20px 14px;
}
[data-theme="caveman"] .fg-dz {
  font-family: 'Archivo', sans-serif; font-weight: 800;
  color: #ffe6c4;
  background:
    radial-gradient(120% 160% at 50% 130%, rgba(255, 208, 120, 0.5), transparent 60%),
    linear-gradient(180deg, #8c2f10, #b3451d);
  border-radius: 18px 12px 20px 14px / 14px 20px 12px 18px;
  animation: matFireFlicker 2.6s ease-in-out infinite;
}
[data-theme="caveman"] .bd-table {             /* the stone arena */
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='300'%3E%3Cg fill='%23d98e2b' fill-opacity='0.14'%3E%3Cpath d='M60 80 l6-18 6 18-4 16-8-4z'/%3E%3Cpath d='M82 86 l5-14 5 14-3 12-7-4z'/%3E%3Cpath d='M71 82 l4-22 4 22-3 18z'/%3E%3C/g%3E%3Cg stroke='%23ecd0a0' stroke-opacity='0.12' stroke-width='2' fill='none'%3E%3Cpath d='M0 150 q80 8 170-6 t170 8'/%3E%3Cpath d='M0 250 q90-10 180 4 t160-8'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 340px 300px,
    radial-gradient(90% 80% at 50% 110%, rgba(255, 122, 89, 0.16), transparent 60%),
    linear-gradient(180deg, #3a2d1f, #2c2115);
  border: 4px solid rgba(236, 224, 192, 0.26);
  border-radius: 30px 22px 32px 24px / 24px 32px 22px 30px;
  box-shadow: inset 0 3px 0 rgba(236, 224, 192, 0.09), inset 0 -30px 60px rgba(8, 4, 1, 0.6), 0 14px 30px rgba(8, 4, 1, 0.65);
}
[data-theme="caveman"] .bd-lane { border: 2px dashed rgba(236, 224, 192, 0.32); }
[data-theme="caveman"] .bd-lane:nth-child(even) { border-color: rgba(236, 224, 192, 0.18); }
[data-theme="caveman"] .bd-finish {
  background: repeating-linear-gradient(95deg, rgba(236, 224, 192, 0.55) 0 12px, transparent 12px 22px);
}
[data-theme="caveman"] .bd-pot {               /* the fire pit */
  background:
    radial-gradient(circle at 50% 120%, rgba(255, 220, 150, 0.75), rgba(255, 122, 89, 0.55) 40%, rgba(140, 47, 16, 0.9) 75%),
    #b3451d;
  border: 3px solid rgba(236, 224, 192, 0.35);
  border-radius: 46% 54% 48% 52% / 55% 48% 52% 45%;
  box-shadow: 0 0 34px rgba(255, 122, 89, 0.35), inset 0 -6px 14px rgba(8, 4, 1, 0.5);
  animation: matFireFlicker 2.2s ease-in-out infinite;
}
[data-theme="caveman"] .bd-pot__label { color: #ffe6c4; text-shadow: 0 1px 3px rgba(60, 20, 4, 0.9); font-family: 'Archivo', sans-serif; }
[data-theme="caveman"] .bd-pot__total { text-shadow: 0 2px 4px rgba(60, 20, 4, 0.9); }
[data-theme="caveman"] .bd-card__face--front {
  background: linear-gradient(180deg, rgba(236, 224, 192, 0.08), transparent 40%), var(--card-face);
  border: 2px solid rgba(236, 224, 192, 0.3);
  border-radius: 22px 14px 24px 16px / 16px 24px 14px 22px;
  box-shadow: inset 0 2px 0 rgba(236, 224, 192, 0.1), 0 8px 16px rgba(8, 4, 1, 0.55);
}
[data-theme="caveman"] .bd-card__face--back { border-radius: 20px 26px 18px 28px / 26px 18px 28px 20px; border: 2px solid rgba(236, 224, 192, 0.24); }
[data-theme="caveman"] .bd-prow {
  border: 2px solid rgba(236, 224, 192, 0.2);
  border-radius: 18px 24px 16px 26px / 24px 16px 26px 18px;
  box-shadow: 0 4px 0 rgba(8, 4, 1, 0.55);
}
[data-theme="caveman"] .bd-card--deal { animation: matThud 0.6s cubic-bezier(0.3, 1.5, 0.4, 1) both; }

/* ═══════════════════════════════════════════════════════════════════════════
   n64 · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */
/* ── n64 · BINDINGS ──────────────────────────────────────────────────── */

[data-theme="n64"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                       .fg-event__title, .fg-dialog__title, .fg-state__title) {
  font-family: 'Fredoka', sans-serif; font-weight: 700;
}
[data-theme="n64"] .fg-count__time { font-family: 'Fredoka', sans-serif; font-weight: 700; }
[data-theme="n64"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, transparent 18%),
    linear-gradient(200deg, var(--surface) 55%, color-mix(in srgb, var(--surface) 72%, #9aa8dc) 100%);
  border: 3px solid #101830; border-radius: 14px;
  box-shadow: 0 4px 0 #101830, 0 8px 0 rgba(16, 24, 48, 0.45), 0 14px 24px rgba(6, 9, 20, 0.5), inset 0 2px 0 rgba(255, 255, 255, 0.08);
}
[data-theme="n64"] .fg-count {
  background: linear-gradient(200deg, var(--surface) 55%, color-mix(in srgb, var(--surface) 70%, #9aa8dc));
  border: 3px solid #101830; border-radius: 14px;
  box-shadow: 0 4px 0 #101830;
}
[data-theme="n64"] :is(.fg-avatar, .fg-lbrow .fg-avatar, .fg-battle__crew .fg-avatar) {
  border-radius: 9px; border: 2px solid #101830;   /* square avatars! */
}
[data-theme="n64"] :is(.fg-battle__bar, .fg-lbrow__bar) {
  border-radius: 8px; background: #101830; padding: 2px; border: 2px solid #101830;
}
[data-theme="n64"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 5px;
  background: repeating-linear-gradient(90deg, var(--lime) 0 14px, #101830 14px 17px);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.25);
}
[data-theme="n64"] .fg-lbrow { border: 2px solid rgba(16, 24, 48, 0.8); border-radius: 10px; }
[data-theme="n64"] .fg-lbrow--leader { border-color: var(--lime); box-shadow: 0 3px 0 rgba(16, 24, 48, 0.6); }
[data-theme="n64"] .fg-lbrow__rank { font-family: 'Fredoka', sans-serif; color: var(--lime); }
[data-theme="n64"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                       .fg-pro__cta, .fg-state__cta) {
  font-family: 'Fredoka', sans-serif; font-weight: 700;
  border: 3px solid #101830; border-radius: 10px;
  box-shadow: 0 4px 0 #101830, 0 8px 0 rgba(16, 24, 48, 0.4), inset 0 2px 0 rgba(255, 255, 255, 0.25);
}
[data-theme="n64"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                       .fg-pro__cta, .fg-state__cta):active {
  transform: translateY(3px); box-shadow: 0 1px 0 #101830, inset 0 2px 4px rgba(16, 24, 48, 0.35);
}
[data-theme="n64"] .pop-btn {
  border: 3px solid #101830; border-radius: 10px;
  box-shadow: 0 4px 0 #101830, 0 8px 0 rgba(16, 24, 48, 0.4), inset 0 2px 0 rgba(255, 255, 255, 0.22);
  font-family: 'Fredoka', sans-serif;
}
[data-theme="n64"] .pop-btn:active, [data-theme="n64"] .pop-btn.is-pressed {
  transform: translateY(3px); box-shadow: 0 1px 0 #101830;
}
[data-theme="n64"] .fg-status {
  font-family: 'Fredoka', sans-serif;
  border: 2px solid #101830; border-radius: 8px; box-shadow: 0 2px 0 #101830;
}
[data-theme="n64"] .bd-table {                 /* the poly arena */
  background:
    linear-gradient(165deg, color-mix(in srgb, var(--felt) 82%, #9aa8dc) 0%, var(--felt) 46%, color-mix(in srgb, var(--felt) 60%, #0c1226) 100%),
    var(--felt);
  border: 4px solid #101830; border-radius: 18px;
  box-shadow: 0 5px 0 #101830, 0 10px 0 rgba(16, 24, 48, 0.4), 0 18px 30px rgba(6, 9, 20, 0.55), inset 0 3px 0 rgba(255, 255, 255, 0.1);
}
[data-theme="n64"] .bd-lane { border: 2px solid rgba(154, 168, 220, 0.4); }
[data-theme="n64"] .bd-lane:nth-child(even) { border-color: rgba(255, 255, 255, 0.22); }
[data-theme="n64"] .bd-finish { background: repeating-linear-gradient(90deg, #9aa8dc 0 8px, #101830 8px 16px); }
[data-theme="n64"] .bd-pot {                   /* the star core */
  background: radial-gradient(circle at 50% 34%, #fff6d6, var(--lime) 52%, #7a5f10 100%);
  border: 3px solid #101830; border-radius: 16px;
  box-shadow: 0 4px 0 #101830, inset 0 3px 0 rgba(255, 255, 255, 0.5);
}
[data-theme="n64"] .bd-pot__label { color: #231d04; }
[data-theme="n64"] .bd-pot__total { color: #231d04; }
[data-theme="n64"] .bd-pot__pts { color: #4a3d08; }
[data-theme="n64"] .bd-token__chip, [data-theme="n64"] .bd-prow__chip,
[data-theme="n64"] .bd-ped__chip { border-radius: 9px; }   /* square tokens! */
[data-theme="n64"] .bd-card__face--front {
  background: linear-gradient(200deg, var(--card-face) 50%, color-mix(in srgb, var(--card-face) 72%, #9aa8dc));
  border: 3px solid #101830; border-radius: 12px;
  box-shadow: 0 3px 0 #101830, inset 0 2px 0 rgba(255, 255, 255, 0.12);
}
[data-theme="n64"] .bd-card__face--back { border: 3px solid #101830; border-radius: 12px; background: repeating-linear-gradient(45deg, rgba(154, 168, 220, 0.2) 0 7px, transparent 7px 14px), var(--card-back-1); }
[data-theme="n64"] .bd-prow { border: 2px solid #101830; border-radius: 12px; }
[data-theme="n64"] .bd-prow--you { border-color: var(--lime); }
[data-theme="n64"] :is(.fg-battle, .fg-count, .fg-event) { animation: matFogReveal 0.7s ease-out both; }
[data-theme="n64"] .fg-count { animation-delay: 0.07s; }
[data-theme="n64"] .bd-card--deal { animation: matSpawnPop 0.55s cubic-bezier(0.3, 1.7, 0.5, 1) both; }

/* ═══════════════════════════════════════════════════════════════════════════
   goldeneye · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */
/* ── goldeneye · BINDINGS ────────────────────────────────────────────── */

[data-theme="goldeneye"] :is(.fg-battle__title, .fg-sheet__title, .fg-event__title,
                             .fg-state__title, .fg-dialog__title) {
  font-family: var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase;
}
[data-theme="goldeneye"] :is(.fg-battle__meta, .fg-count__sub, .fg-event__sub) {
  font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em;
}
[data-theme="goldeneye"] .fg-pwr__rarity::before { content: "[ "; }
[data-theme="goldeneye"] .fg-pwr__rarity::after  { content: " ]"; }
[data-theme="goldeneye"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.04), transparent 30%, rgba(0, 0, 0, 0.2) 96%),
    linear-gradient(180deg, #2a333e, #1b2129);
  border: 1px solid rgba(240, 196, 69, 0.35);
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.5), 0 12px 26px rgba(4, 6, 9, 0.6);
}
[data-theme="goldeneye"] :is(.fg-count, .fg-event) {
  border: 1px solid rgba(240, 196, 69, 0.3);
  background: linear-gradient(180deg, #232b34, #161c22);
  border-radius: 2px;
}
[data-theme="goldeneye"] .fg-count__time { text-shadow: 0 0 14px rgba(240, 196, 69, 0.30); font-family: var(--font-mono); }
[data-theme="goldeneye"] :is(.fg-battle__bar, .fg-lbrow__bar) {
  border-radius: 3px;
  background: repeating-linear-gradient(90deg, rgba(240, 196, 69, 0.2) 0 2px, transparent 2px 9px), rgba(6, 9, 13, 0.8);
  box-shadow: inset 0 0 0 1px rgba(240, 196, 69, 0.22);
}
[data-theme="goldeneye"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 2px;
  background: repeating-linear-gradient(90deg, var(--lime) 0 9px, rgba(16, 20, 25, 0.9) 9px 12px);
}
[data-theme="goldeneye"] .fg-lbrow {
  font-family: var(--font-mono);
  border-left: 2px solid rgba(240, 196, 69, 0.4);
}
[data-theme="goldeneye"] .fg-lbrow__rank { color: var(--lime); font-family: var(--font-mono); }
[data-theme="goldeneye"] .fg-lbrow--leader {
  position: relative;
  border-color: color-mix(in srgb, var(--lime) 45%, transparent);
}
[data-theme="goldeneye"] .fg-lbrow--leader::before,   /* reticle brackets */
[data-theme="goldeneye"] .fg-lbrow--leader::after {
  content: ""; position: absolute; width: 10px; height: 10px;
  border-color: var(--lime); border-style: solid;
}
[data-theme="goldeneye"] .fg-lbrow--leader::before { top: -1px; left: -1px; border-width: 2px 0 0 2px; }
[data-theme="goldeneye"] .fg-lbrow--leader::after { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; }
[data-theme="goldeneye"] .fg-event__tag { font-family: var(--font-mono); letter-spacing: 0.1em; }
[data-theme="goldeneye"] .fg-status {
  font-family: var(--font-mono); letter-spacing: 0.14em;
  border-radius: 2px; background: rgba(240, 196, 69, 0.15);
  box-shadow: inset 0 0 0 1px rgba(240, 196, 69, 0.5);
}
[data-theme="goldeneye"] .fg-status::after { content: " ▮"; animation: matLampPulse 0.9s steps(2) infinite; }
[data-theme="goldeneye"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                             .fg-pro__cta, .fg-state__cta) {
  font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.1em;
  border-radius: 0; border: 0;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  background: linear-gradient(180deg, #3a4653, #232b34);
  box-shadow: inset 0 0 0 1px rgba(240, 196, 69, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
[data-theme="goldeneye"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                             .fg-pro__cta, .fg-state__cta):active {
  box-shadow: inset 0 0 0 1px rgba(240, 196, 69, 0.5), inset 0 2px 6px rgba(0, 0, 0, 0.7);
}
[data-theme="goldeneye"] .pop-btn {
  border: 0; border-radius: 0;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  background: linear-gradient(180deg, #3a4653, #232b34);
  box-shadow: inset 0 0 0 1px rgba(240, 196, 69, 0.5);
  font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em;
}
[data-theme="goldeneye"] .pop-btn:active, [data-theme="goldeneye"] .pop-btn.is-pressed {
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.7);
}
[data-theme="goldeneye"] .fg-dz {
  font-family: var(--font-mono); letter-spacing: 0.12em;
  background: linear-gradient(180deg, #a1121f, #6e0a15);
  border: 1px solid rgba(255, 120, 130, 0.55);
  animation: matAlarmStrobe 1.1s steps(2) infinite;
}
[data-theme="goldeneye"] .fg-dz--l3 { animation-duration: 0.6s; }
[data-theme="goldeneye"] .bd-table {           /* the facility map */
  background:
    repeating-linear-gradient(0deg, rgba(240, 196, 69, 0.05) 0 1px, transparent 1px 30px),
    repeating-linear-gradient(90deg, rgba(240, 196, 69, 0.05) 0 1px, transparent 1px 30px),
    radial-gradient(75% 65% at 50% 32%, rgba(240, 196, 69, 0.06), transparent 60%),
    linear-gradient(180deg, #232b34, #141a20);
  border: 1px solid rgba(240, 196, 69, 0.45);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.5), inset 0 0 46px rgba(4, 6, 9, 0.7), 0 12px 26px rgba(4, 6, 9, 0.55);
}
[data-theme="goldeneye"] .bd-lane { border: 1px solid rgba(240, 196, 69, 0.32); }
[data-theme="goldeneye"] .bd-lane:nth-child(even) { border-color: rgba(240, 196, 69, 0.18); }
[data-theme="goldeneye"] .bd-finish { background: repeating-linear-gradient(90deg, rgba(240, 196, 69, 0.6) 0 2px, transparent 2px 10px); }
[data-theme="goldeneye"] .bd-pot {             /* the objective — watch gauge */
  background:
    conic-gradient(var(--lime) 0 62%, rgba(240, 196, 69, 0.2) 62% 100%),
    radial-gradient(circle, #10151b 0 58%, transparent 58.5%),
    linear-gradient(180deg, #2a333e, #1b2129);
  border: 1px solid rgba(240, 196, 69, 0.6);
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.6), 0 0 22px rgba(240, 196, 69, 0.14);
}
[data-theme="goldeneye"] .bd-pot__label { color: var(--lime); }
[data-theme="goldeneye"] .bd-clock__time { text-shadow: 0 0 12px rgba(240, 196, 69, 0.35); font-family: var(--font-mono); }
[data-theme="goldeneye"] .bd-card__face--front {   /* mission objective card */
  background: linear-gradient(180deg, #262f39, #181e24);
  border: 1px solid rgba(240, 196, 69, 0.4);
  border-radius: 2px;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
[data-theme="goldeneye"] .bd-card__face--back { border-radius: 2px; background: repeating-linear-gradient(45deg, rgba(240, 196, 69, 0.1) 0 6px, transparent 6px 12px), #141a20; }
[data-theme="goldeneye"] .bd-prow {
  font-family: var(--font-mono);
  border: 1px solid rgba(240, 196, 69, 0.25);
  border-left: 2px solid rgba(240, 196, 69, 0.5);
  background: rgba(16, 20, 25, 0.5);
}
[data-theme="goldeneye"] .bd-prow--you { border-left-color: var(--lime); }
[data-theme="goldeneye"] .bd-top { border-bottom: 1px solid color-mix(in srgb, var(--lime) 30%, var(--line)); }
[data-theme="goldeneye"] :is(.fg-battle, .fg-count, .fg-event) { animation: matHudFlicker 0.35s steps(3) both; }
[data-theme="goldeneye"] .fg-count { animation-delay: 0.06s; }
[data-theme="goldeneye"] .bd-pot.is-bump { animation: matReticlePulse 0.5s cubic-bezier(0.22, 1, 0.36, 1); }

/* ═══════════════════════════════════════════════════════════════════════════
   neobrut · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */
/* ── neobrut · BINDINGS — loud structure, soft motion ────────────────── */

[data-theme="neobrut"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                           .fg-event__title, .fg-state__title, .fg-dialog__title) {
  font-family: 'Anton', 'Archivo', sans-serif;
  text-transform: uppercase; letter-spacing: 0.01em; line-height: 0.94;
}
[data-theme="neobrut"] :is(.fg-count__time, .fg-lbrow__pct, .fg-lbrow__ruf) {
  font-family: 'Anton', 'Archivo', sans-serif;
  text-shadow: 3px 3px 0 rgba(196, 31, 14, 0.55);
}
[data-theme="neobrut"] :is(.fg-battle__meta, .fg-count__sub, .fg-battle__foot) {
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.8em;
}
[data-theme="neobrut"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  border: 3px solid var(--line);
  border-radius: 14px;   /* chunky corners UNDER the hard edge */
  background: var(--surface);
  box-shadow: 6px 6px 0 rgba(196, 31, 14, 0.8);
}
[data-theme="neobrut"] .fg-count {
  border: 3px solid var(--line); border-radius: 14px;
  background: var(--surface);
  box-shadow: 6px 6px 0 rgba(43, 75, 236, 0.65);
}
[data-theme="neobrut"] :is(.fg-battle__bar, .fg-lbrow__bar) {
  border: 2.5px solid var(--line); border-radius: 999px;
  background: var(--surface-2); padding: 2px;
}
[data-theme="neobrut"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 999px;
  background: linear-gradient(90deg, var(--lime), var(--sky));
  transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
[data-theme="neobrut"] .fg-lbrow { border-left: 5px solid var(--line); border-radius: 4px 12px 12px 4px; }
[data-theme="neobrut"] .fg-lbrow__rank { font-family: 'Anton', sans-serif; color: var(--coral); }
[data-theme="neobrut"] .fg-lbrow--leader {
  border-left-color: var(--coral);
  background: linear-gradient(90deg, rgba(196, 31, 14, 0.08), transparent 55%), var(--surface);
}
[data-theme="neobrut"] .fg-event { border-left: 4px solid var(--line); border-radius: 4px 10px 10px 4px; }
[data-theme="neobrut"] .fg-status {
  font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em;
  border: 2.5px solid var(--line); border-radius: 999px;
  box-shadow: 2px 2px 0 rgba(23, 19, 14, 0.85);
}
[data-theme="neobrut"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                           .fg-pro__cta, .fg-state__cta) {
  font-family: 'Anton', 'Archivo', sans-serif; text-transform: uppercase; letter-spacing: 0.03em;
  border: 3px solid var(--line); border-radius: 999px;
  box-shadow: 5px 5px 0 var(--coral), 10px 10px 0 rgba(23, 19, 14, 0.9);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
[data-theme="neobrut"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                           .fg-pro__cta, .fg-state__cta):hover {
  transform: translateY(-3px);
  box-shadow: 7px 8px 0 var(--coral), 14px 15px 0 rgba(23, 19, 14, 0.9);
}
[data-theme="neobrut"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                           .fg-pro__cta, .fg-state__cta):active {
  transform: translateY(2px);
  box-shadow: 2px 2px 0 var(--coral), 4px 4px 0 rgba(23, 19, 14, 0.9);
}
[data-theme="neobrut"] .pop-btn {
  border: 3px solid var(--line); border-radius: 999px;
  box-shadow: 5px 5px 0 var(--coral), 10px 10px 0 rgba(23, 19, 14, 0.9);
  font-family: 'Anton', 'Archivo', sans-serif; text-transform: uppercase; letter-spacing: 0.03em;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
[data-theme="neobrut"] .pop-btn:active { transform: translateY(2px); box-shadow: 2px 2px 0 var(--coral), 4px 4px 0 rgba(23, 19, 14, 0.9); }
[data-theme="neobrut"] .fg-dz {
  font-weight: 800; letter-spacing: 0.06em;
  color: #17130e;
  background: repeating-linear-gradient(-45deg, rgba(23, 19, 14, 0.12) 0 12px, transparent 12px 24px), var(--dz-hero);
  border: 3px solid var(--line); border-radius: 999px;
}
[data-theme="neobrut"] .bd-table {             /* the poster court */
  background:
    repeating-linear-gradient(90deg, rgba(255, 246, 232, 0.07) 0 2px, transparent 2px 42px),
    radial-gradient(80% 70% at 50% 15%, rgba(255, 246, 232, 0.14), transparent 60%),
    var(--felt);
  border: 4px solid var(--rail);
  box-shadow: 8px 8px 0 rgba(23, 19, 14, 0.85);
}
[data-theme="neobrut"] .bd-lane { border: 2px solid var(--felt-line); }
[data-theme="neobrut"] .bd-lane:nth-child(even) { border-color: rgba(255, 246, 232, 0.18); }
[data-theme="neobrut"] .bd-finish { background: repeating-linear-gradient(45deg, var(--chip-white) 0 9px, var(--rail) 9px 18px); }
[data-theme="neobrut"] .bd-pot {               /* the headline plate + slapped sticker */
  position: relative;
  background: var(--chip-white);
  border: 3px solid var(--line); border-radius: 14px;
  box-shadow: 5px 5px 0 var(--coral);
}
[data-theme="neobrut"] .bd-pot::after {           /* the sticker badge */
  content: "★";
  position: absolute; top: -12px; right: -10px;
  width: 30px; height: 30px; display: grid; place-items: center;
  background: var(--chip-gold, #d9a521); color: #17130e; font-size: 15px;
  border: 2.5px solid var(--line); border-radius: 999px;
  box-shadow: 0 0 0 3px var(--chip-white), 2px 3px 0 rgba(23, 19, 14, 0.8);
  transform: rotate(-8deg);
}
[data-theme="neobrut"] .bd-pot__label { color: var(--line); font-family: 'Anton', sans-serif; letter-spacing: 0.14em; }
[data-theme="neobrut"] .bd-pot__total { color: var(--coral); font-family: 'Anton', sans-serif; text-shadow: 3px 3px 0 rgba(43, 75, 236, 0.35); }
[data-theme="neobrut"] .bd-pot__pts { color: var(--text); }
[data-theme="neobrut"] .bd-card__face--front { /* poster card — soft corners under hard edges */
  background:
    radial-gradient(circle at 1.2px 1.2px, rgba(23, 19, 14, 0.1) 1.2px, transparent 1.8px) 0 0/9px 9px,
    var(--card-face);
  border: 3px solid var(--line); border-radius: 14px;
  box-shadow: 4px 4px 0 rgba(196, 31, 14, 0.75);
}
[data-theme="neobrut"] .bd-card__name { color: var(--line); font-family: 'Anton', sans-serif; text-transform: uppercase; }
[data-theme="neobrut"] .bd-card__fx { color: var(--muted); }
[data-theme="neobrut"] .bd-card__cost { color: var(--coral); font-weight: 800; }
[data-theme="neobrut"] .bd-card__face--back {
  background: repeating-linear-gradient(45deg, rgba(255, 246, 232, 0.12) 0 8px, transparent 8px 16px), var(--card-back-1);
  border: 3px solid var(--line); border-radius: 8px;
}
[data-theme="neobrut"] .bd-prow { border: 2.5px solid var(--line); border-left: 5px solid var(--line); border-radius: 6px 999px 999px 6px; background: var(--surface); }
[data-theme="neobrut"] .bd-prow--you { border-left-color: var(--coral); }
[data-theme="neobrut"] .bd-prow__pos { font-family: 'Anton', sans-serif; color: var(--coral); }
[data-theme="neobrut"] .bd-top { border-bottom: 4px solid var(--line); }
[data-theme="neobrut"] .bd-tcard { border: 3px solid var(--line); box-shadow: 5px 5px 0 rgba(196, 31, 14, 0.8); }
[data-theme="neobrut"] .bd-card--deal { animation: matSoftIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) both; }
[data-theme="neobrut"] .bd-tcard__status { border: 2px solid var(--line); border-radius: 999px; }

/* ═══════════════════════════════════════════════════════════════════════════
   neobrut-field · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── neobrut-field · BINDINGS — the stadium take (sports side dominant) ─ */
[data-theme="neobrut-field"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                                 .fg-event__title, .fg-state__title, .fg-dialog__title) {
  font-family: 'Anton', 'Archivo', sans-serif;
  text-transform: uppercase; letter-spacing: 0.02em; line-height: 0.96;
}
[data-theme="neobrut-field"] :is(.fg-count__time, .fg-lbrow__pct, .fg-lbrow__ruf) {
  font-family: 'Anton', 'Archivo', sans-serif;
  text-shadow: 3px 3px 0 rgba(156, 61, 24, 0.4);
}
[data-theme="neobrut-field"] :is(.fg-battle__meta, .fg-count__sub, .fg-battle__foot) {
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.8em;
}
[data-theme="neobrut-field"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  border: 2.5px solid var(--line);
  border-radius: 18px;
  background:
    radial-gradient(circle at 1.4px 1.4px, rgba(20, 27, 13, 0.08) 1.4px, transparent 2px) 0 0/11px 11px,
    var(--surface);
  box-shadow: 6px 6px 0 rgba(156, 61, 24, 0.24);        /* ONE warm plate */
}
[data-theme="neobrut-field"] .fg-count {                /* the scoreboard module */
  border: 2.5px solid var(--line); border-radius: 16px;
  background: var(--line);
  box-shadow: 6px 6px 0 rgba(156, 61, 24, 0.24);
}
[data-theme="neobrut-field"] .fg-count__time { color: #f7c948; text-shadow: none; }
[data-theme="neobrut-field"] .fg-count__sub { color: rgba(248, 250, 238, 0.75); }
[data-theme="neobrut-field"] :is(.fg-battle__bar, .fg-lbrow__bar) {
  border: 2.5px solid var(--line); border-radius: 999px;
  background: var(--surface-2); padding: 2px;
}
[data-theme="neobrut-field"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 999px;
  background: repeating-linear-gradient(-45deg, #2b7a40 0 10px, #236a37 10px 20px);  /* mown turf */
  transition: width 0.55s cubic-bezier(0.34, 1.4, 0.5, 1);
}
[data-theme="neobrut-field"] .fg-lbrow { border-bottom: 1.5px solid rgba(20, 27, 13, 0.35); border-radius: 0; }
[data-theme="neobrut-field"] .fg-lbrow__rank {
  font-family: 'Anton', sans-serif; color: var(--on-accent); background: var(--lime);
  border-radius: 999px; padding: 2px 8px;
}
[data-theme="neobrut-field"] .fg-lbrow--leader {
  border-left: 5px solid var(--coral);
  background: linear-gradient(90deg, rgba(156, 61, 24, 0.08), transparent 55%), var(--surface);
}
[data-theme="neobrut-field"] .fg-event { border-left: 4px solid var(--coral); border-radius: 4px 12px 12px 4px; }
[data-theme="neobrut-field"] .fg-status {
  font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em;
  border: 2px solid var(--line); border-radius: 999px; background: var(--surface);
}
[data-theme="neobrut-field"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                 .fg-pro__cta, .fg-state__cta) {
  font-family: 'Anton', 'Archivo', sans-serif; text-transform: uppercase; letter-spacing: 0.04em;
  border: 2.5px solid var(--line); border-radius: 14px;        /* badge, not pill */
  box-shadow: 4px 4px 0 var(--line);
  transition: transform 0.4s cubic-bezier(0.34, 1.4, 0.5, 1), box-shadow 0.4s cubic-bezier(0.34, 1.4, 0.5, 1);
}
[data-theme="neobrut-field"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                 .fg-pro__cta, .fg-state__cta):hover {
  transform: translateY(-3px) rotate(-0.5deg); box-shadow: 6px 7px 0 var(--line);
}
[data-theme="neobrut-field"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                 .fg-pro__cta, .fg-state__cta):active {
  transform: translateY(2px); box-shadow: 2px 2px 0 var(--line);
}
[data-theme="neobrut-field"] .pop-btn {
  border: 2.5px solid var(--line); border-radius: 14px;
  box-shadow: 4px 4px 0 var(--line);
  font-family: 'Anton', 'Archivo', sans-serif; text-transform: uppercase; letter-spacing: 0.04em;
  transition: transform 0.4s cubic-bezier(0.34, 1.4, 0.5, 1), box-shadow 0.4s cubic-bezier(0.34, 1.4, 0.5, 1);
}
[data-theme="neobrut-field"] .pop-btn:active { transform: translateY(2px); box-shadow: 2px 2px 0 var(--line); }
[data-theme="neobrut-field"] .fg-dz {
  font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: #5c3a00; font-family: var(--font-mono); font-size: 0.85em;
  background: repeating-linear-gradient(-45deg, rgba(156, 61, 24, 0.14) 0 12px, transparent 12px 24px), var(--dz-hero);
  border: 2.5px solid var(--line); border-radius: 12px;
}
[data-theme="neobrut-field"] .bd-table {             /* THE PITCH — mown stripes */
  background:
    repeating-linear-gradient(90deg, rgba(248, 250, 238, 0.05) 0 26px, transparent 26px 52px),
    radial-gradient(80% 70% at 50% 12%, rgba(248, 250, 238, 0.12), transparent 60%),
    linear-gradient(#2e7c42, #226033);   /* hard turf — var(--felt) is remapped by board.css */
  border: 4px solid var(--rail);
  box-shadow: 7px 7px 0 rgba(156, 61, 24, 0.3);
}
[data-theme="neobrut-field"] .bd-lane { border: 1.5px solid var(--felt-line); }
[data-theme="neobrut-field"] .bd-lane:nth-child(even) { border-color: rgba(248, 250, 238, 0.2); }
[data-theme="neobrut-field"] .bd-finish { background: repeating-linear-gradient(45deg, var(--chip-white) 0 8px, var(--lane) 8px 16px); }
[data-theme="neobrut-field"] .bd-pot {               /* the trophy plate + roundel */
  position: relative;
  background: #f8faee;
  border: 2.5px solid var(--line); border-radius: 14px;
  box-shadow: 5px 5px 0 rgba(156, 61, 24, 0.28);
}
[data-theme="neobrut-field"] .bd-pot::after {          /* the team roundel */
  content: "◈";
  position: absolute; top: -11px; right: -10px;
  width: 28px; height: 28px; display: grid; place-items: center;
  background: var(--chip-gold, #d9a521); color: #141b0d; font-size: 13px;
  border: 2.5px solid var(--line); border-radius: 999px;
  box-shadow: 0 0 0 3px var(--chip-white), 2px 3px 0 rgba(20, 27, 13, 0.8);
  transform: rotate(-6deg);
}
[data-theme="neobrut-field"] .bd-pot__label { color: var(--line); font-family: 'Anton', sans-serif; letter-spacing: 0.14em; }
[data-theme="neobrut-field"] .bd-pot__total { color: var(--coral); font-family: 'Anton', sans-serif; text-shadow: 3px 3px 0 rgba(30, 107, 51, 0.35); }
[data-theme="neobrut-field"] .bd-pot__pts { color: var(--text); }
[data-theme="neobrut-field"] .bd-card__face--front { /* the TICKET STUB — punched + perforated */
  background:
    linear-gradient(90deg, transparent calc(50% - 0.75px), rgba(20, 27, 13, 0.4) calc(50% - 0.75px) calc(50% + 0.75px), transparent calc(50% + 0.75px)) 0 12px / 100% calc(100% - 24px) no-repeat,
    radial-gradient(circle at 1.4px 1.4px, rgba(20, 27, 13, 0.08) 1.4px, transparent 2px) 0 0/11px 11px,
    var(--card-face);
  border: 2.5px solid var(--line); border-radius: 12px;
  box-shadow: 4px 4px 0 rgba(156, 61, 24, 0.28);
  -webkit-mask: radial-gradient(circle 7px at 0 50%, transparent 6.5px, #000 7px),
                radial-gradient(circle 7px at 100% 50%, transparent 6.5px, #000 7px);
  -webkit-mask-composite: source-in;
  mask: radial-gradient(circle 7px at 0 50%, transparent 6.5px, #000 7px),
        radial-gradient(circle 7px at 100% 50%, transparent 6.5px, #000 7px);
  mask-composite: intersect;
}
[data-theme="neobrut-field"] .bd-card__rar { font-family: var(--font-mono); font-size: 0.72em; letter-spacing: 0.14em; text-transform: uppercase; border-bottom: 1.5px dashed rgba(20, 27, 13, 0.4); padding-bottom: 3px; }
[data-theme="neobrut-field"] .bd-card__name { color: var(--line); font-family: 'Anton', sans-serif; text-transform: uppercase; }
[data-theme="neobrut-field"] .bd-card__fx { color: var(--muted); }
[data-theme="neobrut-field"] .bd-card__cost { color: var(--coral); font-weight: 800; }
[data-theme="neobrut-field"] .bd-card__face--back {
  background: repeating-linear-gradient(90deg, rgba(248, 250, 238, 0.1) 0 13px, transparent 13px 26px), var(--card-back-1);
  border: 2.5px solid var(--line); border-radius: 10px;
}
[data-theme="neobrut-field"] .bd-prow { border: 1.5px solid var(--line); border-left: 5px solid var(--line); border-radius: 12px; background: var(--surface); }
[data-theme="neobrut-field"] .bd-prow--you { border-left-color: var(--lime); }
[data-theme="neobrut-field"] .bd-prow__pos { font-family: 'Anton', sans-serif; color: var(--lime-dim); }
[data-theme="neobrut-field"] .bd-top { border-bottom: 2.5px solid var(--line); }
[data-theme="neobrut-field"] .bd-clock { background: var(--line); border-radius: 10px; border: 2px solid var(--line); }
[data-theme="neobrut-field"] .bd-clock__time { color: #f7c948; font-family: var(--font-mono); }
[data-theme="neobrut-field"] .bd-clock__lap { color: rgba(248, 250, 238, 0.7); font-family: var(--font-mono); }
[data-theme="neobrut-field"] .bd-tcard { border: 2.5px solid var(--line); border-radius: 16px; box-shadow: 5px 5px 0 rgba(156, 61, 24, 0.26); }
[data-theme="neobrut-field"] .bd-tcard__felt {
  background:
    repeating-linear-gradient(90deg, rgba(248, 250, 238, 0.08) 0 7px, transparent 7px 14px),
    var(--felt);
  border: 1.5px solid var(--line); border-radius: 8px;
}
[data-theme="neobrut-field"] .bd-tcard__status { border: 2px solid var(--line); border-radius: 999px; }
[data-theme="neobrut-field"] .bd-card--deal { animation: matFieldBounce 0.55s cubic-bezier(0.34, 1.4, 0.5, 1) both; }

/* ═══════════════════════════════════════════════════════════════════════════
   neobrut-zine · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── neobrut-zine · BINDINGS — the print-shop take (poster side dominant) */
[data-theme="neobrut-zine"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                                .fg-event__title, .fg-state__title, .fg-dialog__title) {
  font-family: 'Space Mono', 'Courier New', monospace;
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.01em; line-height: 1.05;
}
[data-theme="neobrut-zine"] :is(.fg-count__time, .fg-lbrow__pct, .fg-lbrow__ruf) {
  font-family: 'Space Mono', monospace; font-weight: 700;
  text-shadow: 2.5px 0 0 var(--misreg-c), -2.5px 0 0 var(--misreg-m);   /* misregistered plates */
}
[data-theme="neobrut-zine"] :is(.fg-battle__meta, .fg-count__sub, .fg-battle__foot) {
  font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.78em;
}
[data-theme="neobrut-zine"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  border: 2px solid var(--line);
  border-radius: 16px 6px 20px 8px / 7px 18px 6px 15px;              /* torn */
  background:
    radial-gradient(circle at 1.1px 1.1px, rgba(32, 29, 26, 0.07) 1.1px, transparent 1.7px) 0 0/6px 6px,
    var(--surface);
  box-shadow: 3px 0 0 var(--misreg-c), -3px 0 0 var(--misreg-m), 7px 9px 14px rgba(32, 29, 26, 0.22);
  transform: rotate(-0.25deg);
}
[data-theme="neobrut-zine"] .fg-count {
  border: 2px solid var(--line);
  border-radius: 14px 6px 16px 7px / 6px 14px 7px 12px;
  background:
    radial-gradient(circle at 1.1px 1.1px, rgba(32, 29, 26, 0.06) 1.1px, transparent 1.7px) 0 0/6px 6px,
    var(--surface);
  box-shadow: 2px 0 0 var(--misreg-c), -2px 0 0 var(--misreg-m);
}
[data-theme="neobrut-zine"] :is(.fg-battle__bar, .fg-lbrow__bar) {
  border: 2px solid var(--line); border-radius: 6px 3px 7px 4px;
  background: var(--surface-2); padding: 2px;
}
[data-theme="neobrut-zine"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: inherit;
  background: repeating-linear-gradient(-55deg, #d61f7d 0 9px, #b8166a 9px 18px);   /* riso ink */
  transition: width 0.6s cubic-bezier(0.3, 1.4, 0.5, 1);
}
[data-theme="neobrut-zine"] .fg-lbrow { border-bottom: 1.5px dashed rgba(32, 29, 26, 0.4); border-radius: 0; }
[data-theme="neobrut-zine"] .fg-lbrow__rank { font-family: 'Space Mono', monospace; color: var(--lime-dim); }
[data-theme="neobrut-zine"] .fg-lbrow--leader {
  background: linear-gradient(180deg, transparent 68%, rgba(214, 31, 125, 0.35) 68%);  /* marker swipe */
}
[data-theme="neobrut-zine"] .fg-event {
  border-left: 4px solid var(--lime);
  border-radius: 5px 12px 12px 5px;
  transform: rotate(-0.3deg);
}
[data-theme="neobrut-zine"] .fg-status {
  font-family: var(--font-mono); font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em;
  border: 2px dashed var(--line); border-radius: 5px; background: var(--surface);
  transform: rotate(-1deg);
}
[data-theme="neobrut-zine"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                .fg-pro__cta, .fg-state__cta) {
  font-family: 'Space Mono', monospace; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  border: 2px solid var(--line); border-radius: 10px 5px 12px 6px / 5px 11px 6px 10px;
  box-shadow: 2px 0 0 var(--misreg-c), -2px 0 0 var(--misreg-m), 4px 5px 0 rgba(32, 29, 26, 0.85);
  text-shadow: 1px 1px 0 rgba(32, 29, 26, 0.55);
  transition: transform 0.3s cubic-bezier(0.3, 1.4, 0.5, 1), box-shadow 0.3s cubic-bezier(0.3, 1.4, 0.5, 1);
}
[data-theme="neobrut-zine"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                .fg-pro__cta, .fg-state__cta):hover {
  transform: rotate(-1deg) translateY(-2px);
}
[data-theme="neobrut-zine"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                .fg-pro__cta, .fg-state__cta):active {
  transform: translate(2px, 2px) rotate(0.4deg);
  box-shadow: 1px 0 0 var(--misreg-c), -1px 0 0 var(--misreg-m), 1px 2px 0 rgba(32, 29, 26, 0.85);
}
[data-theme="neobrut-zine"] .pop-btn {
  border: 2px solid var(--line); border-radius: 10px 5px 12px 6px / 5px 11px 6px 10px;
  box-shadow: 2px 0 0 var(--misreg-c), -2px 0 0 var(--misreg-m), 4px 5px 0 rgba(32, 29, 26, 0.85);
  font-family: 'Space Mono', monospace; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  text-shadow: 1px 1px 0 rgba(32, 29, 26, 0.55);
  transition: transform 0.3s cubic-bezier(0.3, 1.4, 0.5, 1), box-shadow 0.3s cubic-bezier(0.3, 1.4, 0.5, 1);
}
[data-theme="neobrut-zine"] .pop-btn:active {
  transform: translate(2px, 2px) rotate(0.4deg);
  box-shadow: 1px 0 0 var(--misreg-c), -1px 0 0 var(--misreg-m), 1px 2px 0 rgba(32, 29, 26, 0.85);
}
[data-theme="neobrut-zine"] .fg-dz {
  font-family: var(--font-mono); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--on-accent); background: var(--danger);
  border: 2px solid var(--line); border-radius: 7px 3px 8px 4px;
  box-shadow: 2px 0 0 var(--misreg-c), -2px 0 0 var(--misreg-m);
  text-shadow: 1px 1px 0 rgba(32, 29, 26, 0.6);
}
[data-theme="neobrut-zine"] .bd-table {             /* the photocopied pitch */
  background:
    radial-gradient(circle at 1.3px 1.3px, rgba(233, 230, 222, 0.09) 1.3px, transparent 2px) 0 0/7px 7px,
    repeating-linear-gradient(90deg, rgba(233, 230, 222, 0.05) 0 2px, transparent 2px 46px),
    linear-gradient(#3c4a44, #2e3a35);   /* hard riso teal-black */
  border: 3px solid var(--rail);
  box-shadow: 3px 0 0 var(--misreg-c), -3px 0 0 var(--misreg-m), 8px 9px 0 rgba(32, 29, 26, 0.75);
}
[data-theme="neobrut-zine"] .bd-lane { border: 1.5px dashed var(--felt-line); box-shadow: 2px 0 0 rgba(214, 31, 125, 0.28); }
[data-theme="neobrut-zine"] .bd-finish { background: repeating-linear-gradient(45deg, var(--chip-white) 0 7px, transparent 7px 14px); border-right: 1.5px dashed var(--rail); }
[data-theme="neobrut-zine"] .bd-pot {               /* the pasted plate */
  position: relative;
  background:
    radial-gradient(circle at 1.1px 1.1px, rgba(32, 29, 26, 0.07) 1.1px, transparent 1.7px) 0 0/6px 6px,
    #e9e6de;   /* hard copier paper — var(--card-face) is remapped by board.css */
  border: 2px solid var(--line); border-radius: 16px 6px 18px 8px / 7px 16px 6px 14px;
  box-shadow: 3px 0 0 var(--misreg-c), -3px 0 0 var(--misreg-m), 6px 8px 12px rgba(32, 29, 26, 0.3);
  transform: translate(-50%, -50%) rotate(-0.5deg);   /* keep the base centring */
}
[data-theme="neobrut-zine"] .bd-pot__label { color: var(--muted); font-family: 'Space Mono', monospace; letter-spacing: 0.18em; font-size: 0.78em; }
[data-theme="neobrut-zine"] .bd-pot__total { color: var(--line); font-family: 'Space Mono', monospace; font-weight: 700; text-shadow: 2.5px 0 0 var(--misreg-c), -2.5px 0 0 var(--misreg-m); }
[data-theme="neobrut-zine"] .bd-pot__pts { color: var(--text); font-family: 'Space Mono', monospace; }
[data-theme="neobrut-zine"] .bd-card__face--front { /* cut-and-paste card */
  background:
    radial-gradient(circle at 1.1px 1.1px, rgba(32, 29, 26, 0.07) 1.1px, transparent 1.7px) 0 0/6px 6px,
    var(--card-face);
  border: 2px solid var(--line); border-radius: 14px 5px 16px 6px / 6px 13px 5px 12px;
  box-shadow: 2px 0 0 var(--misreg-c), -2px 0 0 var(--misreg-m);
}
[data-theme="neobrut-zine"] .bd-card__rar { font-family: 'Space Mono', monospace; font-size: 0.7em; letter-spacing: 0.16em; text-transform: uppercase; color: var(--coral); border: 1.5px dashed var(--coral); border-radius: 4px; padding: 2px 6px; transform: rotate(-2deg); display: inline-block; }
[data-theme="neobrut-zine"] .bd-card__name { color: var(--line); font-family: 'Space Mono', monospace; font-weight: 700; text-transform: uppercase; }
[data-theme="neobrut-zine"] .bd-card__fx { color: var(--muted); }
[data-theme="neobrut-zine"] .bd-card__cost { color: var(--lime-dim); font-weight: 700; font-family: 'Space Mono', monospace; }
[data-theme="neobrut-zine"] .bd-card__face--back {
  background: repeating-linear-gradient(45deg, rgba(233, 230, 222, 0.14) 0 7px, transparent 7px 14px), var(--card-back-1);
  border: 2px solid var(--line); border-radius: 6px 12px 5px 11px;
}
[data-theme="neobrut-zine"] .bd-prow { border-bottom: 1.5px dashed rgba(32, 29, 26, 0.4); border-radius: 0; background: transparent; }
[data-theme="neobrut-zine"] .bd-prow--you { background: linear-gradient(180deg, transparent 70%, rgba(214, 31, 125, 0.28) 70%); }
[data-theme="neobrut-zine"] .bd-prow__pos { font-family: 'Space Mono', monospace; font-weight: 700; color: var(--lime-dim); }
[data-theme="neobrut-zine"] .bd-top { border-bottom: 2px solid var(--line); }
[data-theme="neobrut-zine"] .bd-h1 em, [data-theme="neobrut-zine"] .bd-h1 i {
  background: linear-gradient(180deg, transparent 64%, rgba(214, 31, 125, 0.45) 64%);
  font-style: normal;
}
[data-theme="neobrut-zine"] .bd-tcard { border: 2px solid var(--line); border-radius: 14px 6px 16px 7px / 6px 14px 7px 13px; box-shadow: 2px 0 0 var(--misreg-c), -2px 0 0 var(--misreg-m), 5px 6px 0 rgba(32, 29, 26, 0.6); }
[data-theme="neobrut-zine"] .bd-tcard__felt { background: radial-gradient(circle at 1.1px 1.1px, rgba(32, 29, 26, 0.16) 1.1px, transparent 1.7px) 0 0/6px 6px, var(--felt); border: 1.5px solid var(--line); border-radius: 4px 8px 5px 7px; }
[data-theme="neobrut-zine"] .bd-tcard__status { border: 1.5px dashed var(--line); border-radius: 4px; font-family: 'Space Mono', monospace; }
[data-theme="neobrut-zine"] .bd-card--deal { animation: matZinePaste 0.55s cubic-bezier(0.3, 1.4, 0.5, 1) both; }

/* ═══════════════════════════════════════════════════════════════════════════
   neobrut-ticket · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── neobrut-ticket · BINDINGS — the signage take (structural side) ──── */
[data-theme="neobrut-ticket"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                                  .fg-event__title, .fg-state__title, .fg-dialog__title) {
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-weight: 700; letter-spacing: -0.01em;
}
[data-theme="neobrut-ticket"] :is(.fg-count__time, .fg-lbrow__pct, .fg-lbrow__ruf) {
  font-family: var(--font-mono); font-weight: 600; letter-spacing: 0.05em;
}
[data-theme="neobrut-ticket"] .fg-count {              /* THE DEPARTURE BOARD */
  background: #17191c; border-radius: 14px; border: 1.5px solid var(--rail);
  box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.06), inset 0 -4px 0 rgba(0, 0, 0, 0.5), 0 6px 16px rgba(26, 28, 31, 0.22);
}
[data-theme="neobrut-ticket"] .fg-count__time { color: var(--amber-display); }
[data-theme="neobrut-ticket"] .fg-count__sub { color: rgba(248, 249, 245, 0.72); font-family: var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; }
[data-theme="neobrut-ticket"] :is(.fg-battle__meta, .fg-battle__foot) {
  font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.78em;
}
[data-theme="neobrut-ticket"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  border: 1.5px solid var(--rail);
  border-top: 4px solid var(--amber-display);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 10px 24px rgba(26, 28, 31, 0.09);
}
[data-theme="neobrut-ticket"] :is(.fg-battle__bar, .fg-lbrow__bar) {
  height: 5px; border-radius: 3px; background: var(--surface-2); padding: 0;
}
[data-theme="neobrut-ticket"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 3px; background: var(--lime);
  box-shadow: 7px 0 0 -1px var(--amber-display);       /* the next-stop marker */
  transition: width 0.6s cubic-bezier(0.25, 0.9, 0.3, 1);
}
[data-theme="neobrut-ticket"] .fg-lbrow { border-bottom: 1px solid var(--line); border-radius: 0; }
[data-theme="neobrut-ticket"] .fg-lbrow__rank {
  font-family: var(--font-mono); font-size: 0.72em; letter-spacing: 0.1em;
  color: var(--amber-display); background: #17191c; border-radius: 6px; padding: 3px 7px;
}
[data-theme="neobrut-ticket"] .fg-lbrow--leader { border-left: 4px solid var(--lime); background: rgba(28, 58, 94, 0.05); }
[data-theme="neobrut-ticket"] .fg-event { border-left: 4px solid var(--amber-display); border-radius: 0 10px 10px 0; }
[data-theme="neobrut-ticket"] .fg-status {
  font-family: var(--font-display); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--lime); border: 2px solid var(--lime); border-radius: 999px; background: var(--surface);
}
[data-theme="neobrut-ticket"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                  .fg-pro__cta, .fg-state__cta) {
  font-family: var(--font-display); font-weight: 700; letter-spacing: 0.01em;
  border: 0; border-radius: 12px;
  box-shadow: 0 8px 20px rgba(28, 58, 94, 0.25);
  transition: transform 0.25s cubic-bezier(0.25, 0.9, 0.3, 1), box-shadow 0.25s cubic-bezier(0.25, 0.9, 0.3, 1), background 0.25s;
}
[data-theme="neobrut-ticket"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                  .fg-pro__cta, .fg-state__cta):hover {
  background: var(--primary-hover); transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(28, 58, 94, 0.3);
}
[data-theme="neobrut-ticket"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                  .fg-pro__cta, .fg-state__cta):active {
  transform: translateY(1px); box-shadow: 0 4px 10px rgba(28, 58, 94, 0.25);
}
[data-theme="neobrut-ticket"] .pop-btn {
  border: 0; border-radius: 12px;
  box-shadow: 0 8px 20px rgba(28, 58, 94, 0.25);
  font-family: var(--font-display); font-weight: 700;
  transition: transform 0.25s cubic-bezier(0.25, 0.9, 0.3, 1), box-shadow 0.25s cubic-bezier(0.25, 0.9, 0.3, 1), background 0.25s;
}
[data-theme="neobrut-ticket"] .pop-btn:active { transform: translateY(1px); box-shadow: 0 4px 10px rgba(28, 58, 94, 0.25); }
[data-theme="neobrut-ticket"] .fg-dz {
  font-family: var(--font-mono); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--amber-display); background: #17191c;
  border-radius: 10px; border-left: 4px solid var(--amber-display);
}
[data-theme="neobrut-ticket"] .bd-table {             /* the LIGHT platform floor */
  background:
    radial-gradient(circle at 2px 2px, rgba(26, 28, 31, 0.06) 1.6px, transparent 2.4px) 0 0/26px 26px,
    repeating-linear-gradient(90deg, rgba(28, 58, 94, 0.05) 0 2px, transparent 2px 64px),
    var(--felt);
  border: 1.5px solid var(--rail);
  box-shadow: 0 12px 28px rgba(26, 28, 31, 0.12);
}
[data-theme="neobrut-ticket"] .bd-lane { border: 1.5px solid var(--felt-line); }
[data-theme="neobrut-ticket"] .bd-lane:nth-child(even) { border-color: rgba(28, 58, 94, 0.28); }
[data-theme="neobrut-ticket"] .bd-finish { background: repeating-linear-gradient(90deg, var(--amber-display) 0 10px, transparent 10px 17px); border-right: 2px solid var(--rail); }
[data-theme="neobrut-ticket"] .bd-pot {               /* the departure module */
  position: relative;
  background: #17191c; border: 1.5px solid var(--rail); border-radius: 14px;
  box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.06), inset 0 -4px 0 rgba(0, 0, 0, 0.5), 0 8px 20px rgba(26, 28, 31, 0.25);
}
[data-theme="neobrut-ticket"] .bd-pot__label { color: rgba(248, 249, 245, 0.72); font-family: var(--font-mono); letter-spacing: 0.22em; font-size: 0.72em; }
[data-theme="neobrut-ticket"] .bd-pot__total { color: var(--amber-display); font-family: var(--font-mono); font-weight: 600; }
[data-theme="neobrut-ticket"] .bd-pot__pts { color: rgba(248, 249, 245, 0.72); font-family: var(--font-mono); }
[data-theme="neobrut-ticket"] .bd-card__face--front { /* the signage plate */
  background: var(--card-face);
  border: 1.5px solid var(--rail); border-top: 4px solid var(--amber-display); border-radius: 16px;
  box-shadow: 0 8px 18px rgba(26, 28, 31, 0.1);
}
[data-theme="neobrut-ticket"] .bd-card__rar {
  font-family: var(--font-mono); font-size: 0.68em; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--amber-display); background: #17191c; border-radius: 6px; padding: 3px 8px;
}
[data-theme="neobrut-ticket"] .bd-card__name { color: var(--text); font-family: var(--font-display); font-weight: 700; }
[data-theme="neobrut-ticket"] .bd-card__fx { color: var(--muted); }
[data-theme="neobrut-ticket"] .bd-card__cost { color: var(--lime); font-weight: 600; font-family: var(--font-mono); }
[data-theme="neobrut-ticket"] .bd-card__face--back {
  background: radial-gradient(circle at 2px 2px, rgba(248, 249, 245, 0.08) 1.6px, transparent 2.4px) 0 0/26px 26px, var(--card-back-1);
  border: 1.5px solid var(--rail); border-radius: 14px;
}
[data-theme="neobrut-ticket"] .bd-prow { border: 1px solid var(--line); border-left: 4px solid var(--lime); border-radius: 10px; background: var(--surface); }
[data-theme="neobrut-ticket"] .bd-prow--you { border-left-color: var(--coral); }
[data-theme="neobrut-ticket"] .bd-prow__pos { font-family: var(--font-mono); color: var(--lime); }
[data-theme="neobrut-ticket"] .bd-top { border-bottom: 1.5px solid var(--rail); }
[data-theme="neobrut-ticket"] .bd-clock {
  background: #17191c; border: 1.5px solid var(--rail); border-radius: 10px;
  box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.5);
}
[data-theme="neobrut-ticket"] .bd-clock__time { color: var(--amber-display); font-family: var(--font-mono); letter-spacing: 0.04em; }
[data-theme="neobrut-ticket"] .bd-clock__lap { color: rgba(248, 249, 245, 0.72); font-family: var(--font-mono); letter-spacing: 0.14em; }
[data-theme="neobrut-ticket"] .bd-h1 em { background: linear-gradient(180deg, transparent 66%, rgba(255, 176, 32, 0.55) 66%); font-style: normal; }
[data-theme="neobrut-ticket"] .bd-tcard { border: 1.5px solid var(--rail); border-top: 4px solid var(--amber-display); border-radius: 16px; background: var(--surface); box-shadow: 0 8px 18px rgba(26, 28, 31, 0.09); }
[data-theme="neobrut-ticket"] .bd-tcard__felt { background: radial-gradient(circle at 2px 2px, rgba(26, 28, 31, 0.09) 1.6px, transparent 2.4px) 0 0/26px 26px, var(--felt); border: 1px solid var(--line); border-radius: 12px; }
[data-theme="neobrut-ticket"] .bd-tcard__status { border: 2px solid var(--lime); border-radius: 999px; color: var(--lime); font-family: var(--font-mono); }
[data-theme="neobrut-ticket"] .bd-card--deal { animation: matBoardIn 0.5s cubic-bezier(0.25, 0.9, 0.3, 1) both; }

/* ═══════════════════════════════════════════════════════════════════════════
   neobrut-locker · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── neobrut-locker · BINDINGS — the clubhouse take (equipment room) ─── */
[data-theme="neobrut-locker"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                                  .fg-event__title, .fg-state__title, .fg-dialog__title) {
  font-family: 'Archivo', system-ui, sans-serif;
  font-weight: 800; text-transform: uppercase; letter-spacing: 0.015em;
}
[data-theme="neobrut-locker"] :is(.fg-count__time, .fg-lbrow__pct, .fg-lbrow__ruf) {
  font-family: 'Archivo', sans-serif; font-weight: 900;
  text-shadow: 3px 3px 0 rgba(31, 79, 143, 0.3);
}
[data-theme="neobrut-locker"] :is(.fg-battle__meta, .fg-count__sub, .fg-battle__foot) {
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; font-size: 0.8em;
}
[data-theme="neobrut-locker"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  border: 2.5px solid var(--line); border-radius: 14px;
  background:
    repeating-linear-gradient(180deg, transparent 0 6px, rgba(38, 34, 26, 0.12) 6px 8px) 14px 12px / calc(100% - 28px) 16px no-repeat,
    var(--surface);
  box-shadow: 5px 6px 0 rgba(38, 34, 26, 0.2), 0 12px 26px rgba(38, 34, 26, 0.1);   /* worn soft */
}
[data-theme="neobrut-locker"] .fg-count {              /* the jersey number */
  border: 2.5px solid var(--line); border-radius: 12px;
  background:
    radial-gradient(circle at 1.6px 1.6px, rgba(38, 34, 26, 0.12) 1.4px, transparent 2.1px) 0 0/7px 7px,
    var(--surface);
  box-shadow: 4px 5px 0 rgba(38, 34, 26, 0.25);
}
[data-theme="neobrut-locker"] :is(.fg-battle__bar, .fg-lbrow__bar) {
  border: 2.5px solid var(--line); border-radius: 8px;
  background: var(--surface-2); padding: 2px;
}
[data-theme="neobrut-locker"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 6px;
  background: repeating-linear-gradient(90deg, transparent 0 9px, rgba(253, 249, 239, 0.5) 9px 10.5px), var(--lime);  /* tape ticks */
  transition: width 0.6s cubic-bezier(0.3, 1.35, 0.5, 1);
}
[data-theme="neobrut-locker"] .fg-lbrow { border-bottom: 1.5px solid rgba(38, 34, 26, 0.3); border-radius: 0; }
[data-theme="neobrut-locker"] .fg-lbrow__rank { font-family: 'Archivo', sans-serif; font-weight: 800; color: var(--lime); }
[data-theme="neobrut-locker"] .fg-lbrow--leader { border-left: 5px solid var(--lime); background: rgba(179, 36, 44, 0.05); }
[data-theme="neobrut-locker"] .fg-event { border-left: 5px solid var(--coral); border-radius: 4px 12px 12px 4px; }
[data-theme="neobrut-locker"] .fg-status {
  font-family: var(--font-mono); font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em;
  border: 2px solid var(--line); border-radius: 999px; background: var(--surface);
}
[data-theme="neobrut-locker"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                  .fg-pro__cta, .fg-state__cta) {
  font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em;
  border: 2.5px solid var(--line); border-radius: 13px 13px 15px 15px;
  background:
    linear-gradient(90deg, rgba(253, 249, 239, 0.85) 0 7px, transparent 7px 20px) 0 0 / 100% 34% no-repeat,
    linear-gradient(-90deg, rgba(253, 249, 239, 0.85) 0 7px, transparent 7px 20px) 0 100% / 100% 34% no-repeat,
    var(--lime);
  box-shadow: 4px 5px 0 var(--line);
  transition: transform 0.4s cubic-bezier(0.3, 1.35, 0.5, 1), box-shadow 0.4s cubic-bezier(0.3, 1.35, 0.5, 1);
}
[data-theme="neobrut-locker"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                  .fg-pro__cta, .fg-state__cta):hover {
  transform: translateY(-3px); box-shadow: 5px 7px 0 var(--line);
}
[data-theme="neobrut-locker"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                                  .fg-pro__cta, .fg-state__cta):active {
  transform: translateY(2px); box-shadow: 2px 2px 0 var(--line);
}
[data-theme="neobrut-locker"] .pop-btn {
  border: 2.5px solid var(--line); border-radius: 13px 13px 15px 15px;
  background:
    linear-gradient(90deg, rgba(253, 249, 239, 0.85) 0 7px, transparent 7px 20px) 0 0 / 100% 34% no-repeat,
    linear-gradient(-90deg, rgba(253, 249, 239, 0.85) 0 7px, transparent 7px 20px) 0 100% / 100% 34% no-repeat,
    var(--lime);
  box-shadow: 4px 5px 0 var(--line);
  font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em;
  transition: transform 0.4s cubic-bezier(0.3, 1.35, 0.5, 1), box-shadow 0.4s cubic-bezier(0.3, 1.35, 0.5, 1);
}
[data-theme="neobrut-locker"] .pop-btn:active { transform: translateY(2px); box-shadow: 2px 2px 0 var(--line); }
[data-theme="neobrut-locker"] .fg-dz {
  font-family: 'Archivo', sans-serif; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--on-accent);
  background: repeating-linear-gradient(-45deg, rgba(253, 249, 239, 0.14) 0 10px, transparent 10px 20px), var(--danger);
  border: 2.5px solid var(--line); border-radius: 10px;
}
[data-theme="neobrut-locker"] .bd-table {             /* the gym floor */
  background:
    repeating-linear-gradient(90deg, rgba(38, 34, 26, 0.22) 0 2px, transparent 2px 92px),
    repeating-linear-gradient(90deg, rgba(253, 249, 239, 0.05) 0 46px, transparent 46px 92px),
    linear-gradient(rgba(253, 249, 239, 0.06), rgba(38, 34, 26, 0.12)),
    linear-gradient(#8a6f4d, #74603f);   /* hard varnished timber */
  border: 3px solid var(--rail);
  box-shadow: 5px 6px 0 rgba(38, 34, 26, 0.25);
}
[data-theme="neobrut-locker"] .bd-lane { border: 1.5px solid var(--felt-line); }
[data-theme="neobrut-locker"] .bd-finish { background: repeating-linear-gradient(-45deg, rgba(253, 249, 239, 0.85) 0 9px, var(--lane) 9px 18px); }
[data-theme="neobrut-locker"] .bd-pot {               /* the equipment crate */
  position: relative;
  background:
    radial-gradient(circle at 1.6px 1.6px, rgba(38, 34, 26, 0.1) 1.4px, transparent 2.1px) 0 0/7px 7px,
    #f4f1e6;
  border: 2.5px solid var(--line); border-radius: 14px;
  box-shadow: 4px 5px 0 rgba(38, 34, 26, 0.25);
}
[data-theme="neobrut-locker"] .bd-pot::after {          /* the nameplate badge */
  content: "◈";
  position: absolute; top: -11px; left: -10px;
  width: 27px; height: 27px; display: grid; place-items: center;
  background: var(--surface); color: var(--line); font-size: 12px;
  border: 2px solid var(--line); border-radius: 6px;
  box-shadow: 0 2px 0 rgba(38, 34, 26, 0.35);
  transform: rotate(-4deg);
}
[data-theme="neobrut-locker"] .bd-pot__label { color: var(--muted); font-family: var(--font-mono); letter-spacing: 0.2em; font-size: 0.74em; }
[data-theme="neobrut-locker"] .bd-pot__total { color: var(--line); font-family: 'Archivo', sans-serif; font-weight: 900; text-shadow: 3px 3px 0 rgba(31, 79, 143, 0.3); }
[data-theme="neobrut-locker"] .bd-pot__pts { color: var(--text); }
[data-theme="neobrut-locker"] .bd-card__face--front { /* the locker card */
  background:
    repeating-linear-gradient(180deg, transparent 0 6px, rgba(38, 34, 26, 0.14) 6px 8px) 12px 10px / calc(100% - 24px) 18px no-repeat,
    radial-gradient(circle at 1.6px 1.6px, rgba(38, 34, 26, 0.08) 1.4px, transparent 2.1px) 0 0/7px 7px,
    var(--card-face);
  border: 2.5px solid var(--line); border-radius: 14px;
  box-shadow: 4px 5px 0 rgba(38, 34, 26, 0.25);
}
[data-theme="neobrut-locker"] .bd-card__rar {
  font-family: var(--font-mono); font-size: 0.7em; letter-spacing: 0.14em; text-transform: uppercase;
  color: #f2c94c; background: var(--line); border-radius: 6px; padding: 3px 8px;
  transform: rotate(-0.8deg); display: inline-block;
}
[data-theme="neobrut-locker"] .bd-card__name { color: var(--line); font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; }
[data-theme="neobrut-locker"] .bd-card__fx { color: var(--muted); }
[data-theme="neobrut-locker"] .bd-card__cost { color: var(--lime-dim); font-weight: 700; }
[data-theme="neobrut-locker"] .bd-card__face--back {
  background: repeating-linear-gradient(135deg, rgba(253, 249, 239, 0.16) 0 9px, transparent 9px 18px), var(--card-back-1);
  border: 2.5px solid var(--line); border-radius: 12px;
}
[data-theme="neobrut-locker"] .bd-prow { border: 2px solid var(--line); border-radius: 10px; background: var(--surface); }
[data-theme="neobrut-locker"] .bd-prow--you { border-color: var(--lime); box-shadow: 3px 4px 0 rgba(38, 34, 26, 0.25); }
[data-theme="neobrut-locker"] .bd-prow__pos { font-family: 'Archivo', sans-serif; font-weight: 900; color: var(--lime-dim); }
[data-theme="neobrut-locker"] .bd-top { border-bottom: 2.5px solid var(--line); }
[data-theme="neobrut-locker"] .bd-tcard { border: 2.5px solid var(--line); border-radius: 14px; box-shadow: 4px 5px 0 rgba(38, 34, 26, 0.22); }
[data-theme="neobrut-locker"] .bd-tcard__felt {
  background:
    repeating-linear-gradient(180deg, transparent 0 5px, rgba(38, 34, 26, 0.28) 5px 6.5px) 0 0 / 100% 14px no-repeat,
    var(--felt);
  border: 1.5px solid var(--line); border-radius: 8px;
}
[data-theme="neobrut-locker"] .bd-tcard__status { border: 2px solid var(--line); border-radius: 999px; }
[data-theme="neobrut-locker"] .bd-card--deal { animation: matLockerClack 0.5s cubic-bezier(0.3, 1.35, 0.5, 1) both; }

/* ═══════════════════════════════════════════════════════════════════════════
   x10 · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── x10 · BINDINGS — the after-dark directory ────────────────────────── */
[data-theme="x10"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                       .fg-event__title, .fg-state__title, .fg-dialog__title) {
  font-family: 'Space Grotesk', system-ui, sans-serif; font-weight: 700; letter-spacing: -0.01em;
}
[data-theme="x10"] :is(.fg-battle__meta, .fg-count__sub, .fg-battle__foot, .fg-lbrow__ruf) {
  font-family: var(--font-mono); font-size: 0.78em; letter-spacing: 0.04em;
}
[data-theme="x10"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  background: linear-gradient(180deg, rgba(201, 162, 78, 0.04), transparent 24%), var(--surface);
  border: 1px solid var(--line);
  border-top: 2px solid color-mix(in srgb, var(--gold) 42%, var(--line));
  border-radius: 8px;
}
[data-theme="x10"] .fg-lbrow:nth-child(even) {           /* the zebra listing */
  background: rgba(26, 34, 26, 0.5);
}
[data-theme="x10"] .fg-lbrow__rank {
  font-family: var(--font-mono); font-size: 0.8em;
  background: rgba(74, 107, 71, 0.35); border-radius: 4px;
}
[data-theme="x10"] .fg-lbrow--leader { border-left-color: var(--gold); }
[data-theme="x10"] .fg-status { font-family: var(--font-mono); border-radius: 6px; border: 1px solid color-mix(in srgb, var(--lime) 45%, var(--line)); }
[data-theme="x10"] .fg-chip { border-radius: 6px; font-family: var(--font-body); font-weight: 600; }
[data-theme="x10"] .fg-chip[aria-pressed="true"], [data-theme="x10"] .fg-chip.is-selected { box-shadow: 0 0 0 3px rgba(74, 107, 71, 0.3); }
[data-theme="x10"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta) {
  border-radius: 7px; font-weight: 600;
  box-shadow: 0 2px 12px -2px rgba(201, 162, 78, 0.3);
}
[data-theme="x10"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta):active { transform: translateY(1px); }
[data-theme="x10"] .fg-dz { border-radius: 8px; border-left: 3px solid var(--gold); }
[data-theme="x10"] .bd-table {               /* the green index floor */
  background:
    repeating-linear-gradient(90deg, rgba(238, 242, 234, 0.03) 0 1px, transparent 1px 56px),
    radial-gradient(80% 70% at 50% 10%, rgba(110, 154, 106, 0.08), transparent 60%),
    linear-gradient(#14210f, #0e1810);
  border: 1px solid var(--line-bright);
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.5);
}
[data-theme="x10"] .bd-lane { border: 1px dashed rgba(110, 154, 106, 0.28); }
[data-theme="x10"] .bd-pot {                  /* gold-rimmed listing plate */
  background: linear-gradient(180deg, #1c261b, #141c13);
  border: 1px solid color-mix(in srgb, var(--gold) 55%, var(--line));
  border-radius: 10px;
  box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.7), 0 2px 12px -2px rgba(201, 162, 78, 0.3);
}
[data-theme="x10"] .bd-pot__label { color: var(--muted); font-family: var(--font-mono); letter-spacing: 0.12em; font-size: 0.8em; }
[data-theme="x10"] .bd-pot__total { color: var(--gold-glow); font-family: 'Space Grotesk', sans-serif; font-weight: 700; }
[data-theme="x10"] .bd-card__face--front {
  background: linear-gradient(180deg, #16211a, #101812);
  border: 1px solid var(--line-bright);
  border-top: 2px solid color-mix(in srgb, var(--gold) 45%, var(--line));
  border-radius: 8px;
}
[data-theme="x10"] .bd-card__name { color: var(--text); font-weight: 600; }
[data-theme="x10"] .bd-prow { background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--lime-dim); border-radius: 6px; }
[data-theme="x10"] .bd-prow--you { border-left-color: var(--gold); }
[data-theme="x10"] .bd-tcard { border: 1px solid var(--line-bright); border-radius: 8px; background: var(--surface); }
[data-theme="x10"] .pop-btn { border-radius: 7px; font-weight: 600; box-shadow: 0 2px 12px -2px rgba(201, 162, 78, 0.3); }

/* ═══════════════════════════════════════════════════════════════════════════
   doof · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── doof · BINDINGS — glow-stained void ──────────────────────────────── */
[data-theme="doof"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                        .fg-event__title) {
  font-family: 'Space Grotesk', sans-serif; font-weight: 700;
  background: var(--gradient-sacred);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
[data-theme="doof"] :is(.fg-count__time, .fg-lbrow__pct) {
  font-family: 'Space Grotesk', sans-serif; font-weight: 700; color: var(--cyan);
  text-shadow: 0 0 16px rgba(34, 211, 238, 0.4);
}
[data-theme="doof"] :is(.fg-battle, .fg-dialog, .fg-state) {
  background: linear-gradient(160deg, rgba(168, 85, 247, 0.08), transparent 46%, rgba(34, 211, 238, 0.04)), var(--surface);
  border: 1px solid rgba(168, 85, 247, 0.34);
  border-radius: 30px 18px 34px 20px / 20px 34px 18px 30px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 30px rgba(147, 51, 234, 0.2);
}
[data-theme="doof"] .fg-sheet { border-radius: 26px 16px 30px 18px / 18px 30px 16px 26px; border: 1px solid rgba(34, 211, 238, 0.28); }
[data-theme="doof"] .fg-lbrow { border-radius: 20px 12px 22px 14px / 14px 22px 12px 20px; border-left: 2px solid rgba(168, 85, 247, 0.4); }
[data-theme="doof"] .fg-lbrow--leader {
  border-left-color: var(--orange);
  background: linear-gradient(90deg, rgba(249, 115, 22, 0.1), transparent 60%), var(--surface);
  box-shadow: 0 0 22px rgba(249, 115, 22, 0.14);
}
[data-theme="doof"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 999px;
  background: var(--gradient-mystical);
  box-shadow: 0 0 14px rgba(168, 85, 247, 0.45);
}
[data-theme="doof"] .fg-chip { border-radius: 999px; border-color: rgba(168, 85, 247, 0.3); }
[data-theme="doof"] .fg-chip[aria-pressed="true"], [data-theme="doof"] .fg-chip.is-selected {
  background: rgba(168, 85, 247, 0.16); color: var(--purple);
  box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.5), 0 0 18px rgba(168, 85, 247, 0.3);
}
[data-theme="doof"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta) {
  border: 0; border-radius: 999px;
  background: var(--gradient-mystical);
  box-shadow: 0 0 26px rgba(249, 115, 22, 0.5), 0 3px 14px rgba(234, 88, 12, 0.35);
  transition: background 0.4s var(--ease), box-shadow 0.3s var(--ease);
}
[data-theme="doof"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta):hover {
  background: var(--gradient-fire);
  box-shadow: 0 0 34px rgba(168, 85, 247, 0.55);
}
[data-theme="doof"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta):active { transform: scale(0.96); }
[data-theme="doof"] .fg-status {
  font-family: var(--font-mono); border-radius: 999px;
  color: var(--cyan); background: rgba(34, 211, 238, 0.1);
  box-shadow: 0 0 0 1px rgba(34, 211, 238, 0.4), 0 0 14px rgba(34, 211, 238, 0.25);
}
[data-theme="doof"] .fg-dz {
  border-radius: 18px 10px 20px 12px / 12px 20px 10px 18px;
  border: 1px solid rgba(249, 115, 22, 0.5);
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.28), rgba(168, 85, 247, 0.18)), #16161f;
  box-shadow: 0 0 26px rgba(249, 115, 22, 0.3);
}
[data-theme="doof"] .bd-table {               /* the dancefloor */
  background:
    radial-gradient(60% 44% at 30% -6%, rgba(168, 85, 247, 0.22), transparent 62%),
    radial-gradient(50% 40% at 85% 90%, rgba(34, 211, 238, 0.12), transparent 60%),
    linear-gradient(#0d0d16, #080810);
  border: 1px solid rgba(168, 85, 247, 0.4);
  box-shadow: 0 0 40px rgba(147, 51, 234, 0.18), inset 0 0 80px rgba(0, 0, 0, 0.55);
}
[data-theme="doof"] .bd-lane { border: 1px solid rgba(34, 211, 238, 0.22); border-radius: 999px; }
[data-theme="doof"] .bd-finish { background: repeating-linear-gradient(45deg, rgba(168, 85, 247, 0.5) 0 8px, transparent 8px 16px), rgba(34, 211, 238, 0.2); }
[data-theme="doof"] .bd-pot {                  /* the glow orb */
  background:
    radial-gradient(60% 60% at 32% 28%, rgba(34, 211, 238, 0.25), transparent 60%),
    linear-gradient(135deg, rgba(168, 85, 247, 0.35), rgba(147, 51, 234, 0.2)), #16121f;
  border: 1px solid rgba(168, 85, 247, 0.55);
  border-radius: 34px 22px 36px 24px / 24px 36px 22px 34px;
  box-shadow: 0 0 34px rgba(147, 51, 234, 0.35), 0 14px 34px rgba(0, 0, 0, 0.6);
}
[data-theme="doof"] .bd-pot__label { color: var(--muted); font-family: var(--font-mono); font-size: 0.78em; letter-spacing: 0.14em; }
[data-theme="doof"] .bd-pot__total {
  font-family: 'Space Grotesk', sans-serif; font-weight: 700;
  background: var(--gradient-mystical); -webkit-background-clip: text; background-clip: text; color: transparent;
}
[data-theme="doof"] .bd-card__face--front {
  background: linear-gradient(160deg, rgba(168, 85, 247, 0.16), rgba(34, 211, 238, 0.05)), #131320;
  border: 1px solid rgba(168, 85, 247, 0.45);
  border-radius: 24px 14px 26px 16px / 16px 26px 14px 24px;
  box-shadow: 0 0 22px rgba(147, 51, 234, 0.2);
}
[data-theme="doof"] .bd-card__face--back { background: repeating-linear-gradient(45deg, rgba(34, 211, 238, 0.1) 0 8px, transparent 8px 16px), #1a1030; border: 1px solid rgba(34, 211, 238, 0.3); border-radius: 24px 14px 26px 16px / 16px 26px 14px 24px; }
[data-theme="doof"] .bd-card__name { color: var(--text); }
[data-theme="doof"] .bd-card__cost { color: var(--orange); font-family: var(--font-mono); }
[data-theme="doof"] .bd-prow { background: rgba(17, 17, 24, 0.85); border: 1px solid #1e1e2e; border-left: 3px solid var(--purple); border-radius: 18px 10px 20px 12px / 12px 20px 10px 18px; }
[data-theme="doof"] .bd-prow--you { border-left-color: var(--cyan); box-shadow: 0 0 18px rgba(34, 211, 238, 0.18); }
[data-theme="doof"] .bd-tcard { border: 1px solid rgba(168, 85, 247, 0.4); border-radius: 20px 12px 22px 14px / 14px 22px 12px 20px; background: var(--surface); }
[data-theme="doof"] .pop-btn {
  border: 0; border-radius: 999px;
  background: var(--gradient-mystical);
  box-shadow: 0 0 26px rgba(249, 115, 22, 0.5), 0 3px 14px rgba(234, 88, 12, 0.35);
  transition: background 0.4s var(--ease), transform 0.2s var(--ease);
}
[data-theme="doof"] .pop-btn:active { transform: scale(0.95); }

/* ═══════════════════════════════════════════════════════════════════════════
   qalarc · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── qalarc · BINDINGS — glass on the pastel garden ────────────────────── */
[data-theme="qalarc"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                          .fg-event__title, .fg-state__title, .fg-dialog__title) {
  font-family: 'DM Serif Display', Georgia, serif; font-weight: 400;
}
[data-theme="qalarc"] :is(.fg-battle__title, .fg-sheet__title) em { color: var(--lime); font-style: italic; }
[data-theme="qalarc"] :is(.fg-battle__meta, .fg-count__sub, .fg-battle__foot) {
  font-family: var(--font-mono); font-size: 0.76em; letter-spacing: 0.02em;
}
[data-theme="qalarc"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  background: var(--glass);
  backdrop-filter: blur(10px);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius);
  box-shadow: 0 2px 16px rgba(90, 60, 120, 0.12), 0 4px 32px rgba(90, 60, 120, 0.08);
}
[data-theme="qalarc"] .fg-lbrow { border-radius: var(--pill); border: 1px solid transparent; background: rgba(255, 255, 255, 0.45); }
[data-theme="qalarc"] .fg-lbrow--leader { background: linear-gradient(90deg, var(--blush), transparent 70%), rgba(255, 255, 255, 0.55); }
[data-theme="qalarc"] .fg-lbrow__rank { border-radius: var(--pill); background: var(--lavender); color: #3d2a5e; font-weight: 600; }
[data-theme="qalarc"] :is(.fg-battle__bar, .fg-lbrow__bar) { border-radius: var(--pill); background: rgba(42, 32, 53, 0.08); }
[data-theme="qalarc"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: var(--pill);
  background: linear-gradient(90deg, #6d4fa3, #a85a68 34%, #9a6b3c 62%, #4e8d63);
}
[data-theme="qalarc"] .fg-chip { border-radius: var(--pill); border-color: var(--glass-border); background: rgba(255, 255, 255, 0.55); }
[data-theme="qalarc"] .fg-chip[aria-pressed="true"], [data-theme="qalarc"] .fg-chip.is-selected { background: var(--lavender); color: #3d2a5e; border-color: transparent; }
[data-theme="qalarc"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta) {
  border-radius: var(--pill); font-family: var(--font-body); font-weight: 600;
  box-shadow: 0 4px 18px rgba(109, 79, 163, 0.2);
  transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
[data-theme="qalarc"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta):hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgba(109, 79, 163, 0.26); }
[data-theme="qalarc"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta):active { transform: translateY(0) scale(0.98); }
[data-theme="qalarc"] .fg-status { border-radius: var(--pill); background: var(--sky-pastel); color: #2a3a4a; font-weight: 700; }
[data-theme="qalarc"] .fg-dz { border-radius: var(--pill); background: linear-gradient(135deg, var(--blush), var(--peach)); color: #4a2a35; }
[data-theme="qalarc"] .fg-count { border-radius: var(--radius-lg); background: var(--glass); backdrop-filter: blur(10px); border: 1px solid var(--glass-border); }
[data-theme="qalarc"] .fg-count__time { font-family: 'DM Serif Display', Georgia, serif; color: var(--lime); }
[data-theme="qalarc"] .bd-table {               /* the garden lawn */
  background:
    radial-gradient(70% 55% at 24% -8%, rgba(184, 232, 200, 0.5), transparent 60%),
    radial-gradient(60% 50% at 88% 96%, rgba(168, 216, 234, 0.4), transparent 62%),
    linear-gradient(#f4ecdf, #efe6d4);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  box-shadow: 0 4px 32px rgba(90, 60, 120, 0.1);
}
[data-theme="qalarc"] .bd-lane { border: 1.5px dashed rgba(109, 79, 163, 0.25); border-radius: var(--pill); }
[data-theme="qalarc"] .bd-finish { background: repeating-linear-gradient(45deg, var(--blush) 0 8px, transparent 8px 16px), rgba(255,255,255,0.4); border-radius: var(--pill); }
[data-theme="qalarc"] .bd-pot {                 /* lavender glass medallion */
  background: var(--glass);
  backdrop-filter: blur(12px);
  border: 1.5px solid var(--lavender);
  border-radius: var(--pill);
  box-shadow: 0 8px 26px rgba(109, 79, 163, 0.18), 0 0 0 5px rgba(255, 255, 255, 0.5);
}
[data-theme="qalarc"] .bd-pot__label { color: var(--muted); font-family: var(--font-mono); font-size: 0.76em; letter-spacing: 0.12em; }
[data-theme="qalarc"] .bd-pot__total { font-family: 'DM Serif Display', Georgia, serif; color: var(--lime); }
[data-theme="qalarc"] .bd-card__face--front {   /* pastel-top glass card */
  background: var(--glass); backdrop-filter: blur(8px);
  border: 1px solid var(--glass-border);
  border-top: 4px solid var(--mint);
  border-radius: var(--radius);
  box-shadow: 0 2px 16px rgba(90, 60, 120, 0.12);
}
[data-theme="qalarc"] .bd-card__face--back { background: var(--lavender); border: 1px solid var(--glass-border); border-radius: var(--radius); }
[data-theme="qalarc"] .bd-card__name { color: var(--text); font-family: var(--font-body); font-weight: 700; }
[data-theme="qalarc"] .bd-card__cost { color: #a85a68; font-weight: 700; }
[data-theme="qalarc"] .bd-prow { background: rgba(255, 255, 255, 0.55); border: 1px solid transparent; border-left: 4px solid var(--peach); border-radius: var(--pill); }
[data-theme="qalarc"] .bd-prow--you { border-left-color: var(--mint); }
[data-theme="qalarc"] .bd-tcard { border: 1px solid var(--glass-border); border-radius: var(--radius-lg); background: var(--glass); }
[data-theme="qalarc"] .pop-btn { border-radius: var(--pill); font-family: var(--font-body); font-weight: 600; box-shadow: 0 4px 18px rgba(109, 79, 163, 0.2); transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease); }
[data-theme="qalarc"] .pop-btn:active { transform: scale(0.97); }

/* ═══════════════════════════════════════════════════════════════════════════
   tradez · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── tradez · BINDINGS — the honest ledger ─────────────────────────────── */
[data-theme="tradez"] :is(.fg-battle__title, .fg-sheet__title, .fg-state__title, .fg-dialog__title) {
  font-family: 'Fraunces', Georgia, serif; font-weight: 800;
}
[data-theme="tradez"] :is(.fg-pwr__name, .fg-event__title) {
  font-family: 'Fraunces', Georgia, serif; font-weight: 700;
}
[data-theme="tradez"] :is(.fg-count__time, .fg-lbrow__pct) {
  font-family: 'Fraunces', Georgia, serif; font-weight: 900;
  font-variation-settings: 'opsz' 144, 'WONK' 1;
}
[data-theme="tradez"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 40px -12px rgba(31, 42, 31, 0.18);
}
[data-theme="tradez"] .fg-lbrow:nth-child(even) {           /* the workbook stripe */
  background: var(--surface-2);
}
[data-theme="tradez"] .fg-lbrow__rank {
  font-family: 'Fraunces', Georgia, serif; font-weight: 800;
  background: var(--surface-2); border-radius: 6px;
}
[data-theme="tradez"] .fg-lbrow--leader { border-left-color: var(--gold); background: linear-gradient(90deg, rgba(201, 162, 78, 0.14), transparent 60%), var(--surface); }
[data-theme="tradez"] :is(.fg-battle__bar, .fg-lbrow__bar) { border-radius: 999px; background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--line); }
[data-theme="tradez"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 999px; background: linear-gradient(90deg, var(--lime), #5a7d56);
  box-shadow: inset 0 0 0 1px rgba(201, 162, 78, 0.45);
}
[data-theme="tradez"] .fg-chip { border-radius: 8px; border-color: var(--line-bright); background: var(--surface); font-weight: 600; }
[data-theme="tradez"] .fg-chip[aria-pressed="true"], [data-theme="tradez"] .fg-chip.is-selected { box-shadow: 0 0 0 3px rgba(74, 107, 71, 0.3); }
[data-theme="tradez"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta) {
  border-radius: 8px; font-family: 'Fraunces', Georgia, serif; font-weight: 700;
  box-shadow: 0 3px 0 rgba(31, 42, 31, 0.35);
  transition: transform 0.14s var(--ease), box-shadow 0.14s var(--ease);
}
[data-theme="tradez"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta):hover { transform: translateY(-1px); box-shadow: 0 4px 0 rgba(31, 42, 31, 0.4); }
[data-theme="tradez"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta):active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(31, 42, 31, 0.35); }
[data-theme="tradez"] .fg-status { border-radius: 6px; background: color-mix(in srgb, var(--gold) 16%, var(--surface)); color: #5c470f; border: 1px solid color-mix(in srgb, var(--gold) 40%, var(--line)); font-weight: 700; }
[data-theme="tradez"] .fg-dz { border-radius: 8px; border: 1px solid rgba(163, 84, 28, 0.4); border-left: 4px solid var(--urgency); background: linear-gradient(90deg, rgba(163, 84, 28, 0.1), transparent 65%), var(--surface); color: #5e3210; }
[data-theme="tradez"] .bd-table {               /* the work site */
  background:
    repeating-linear-gradient(90deg, rgba(31, 42, 31, 0.03) 0 2px, transparent 2px 48px),
    linear-gradient(135deg, #FBF8EF 0%, #F2EEDD 100%);
  border: 2px solid var(--lime);
  border-radius: 10px;
  box-shadow: 0 18px 40px -12px rgba(31, 42, 31, 0.2);
}
[data-theme="tradez"] .bd-lane { border: 1.5px dashed rgba(61, 92, 58, 0.3); }
[data-theme="tradez"] .bd-finish { background: repeating-linear-gradient(45deg, var(--gold-glow) 0 8px, var(--lime) 8px 16px); }
[data-theme="tradez"] .bd-pot {                  /* gum-stamped quote block */
  background: linear-gradient(135deg, #1F2A1F 0%, #34402F 100%);
  border: 1px solid #1F2A1F;
  border-radius: 8px;
  box-shadow: 0 3px 0 rgba(31, 42, 31, 0.4), 0 18px 40px -12px rgba(31, 42, 31, 0.35);
}
[data-theme="tradez"] .bd-pot__label { color: rgba(251, 248, 239, 0.7); font-family: var(--font-mono); font-size: 0.76em; letter-spacing: 0.14em; }
[data-theme="tradez"] .bd-pot__total { font-family: 'Fraunces', Georgia, serif; font-weight: 900; color: var(--gold-glow); }
[data-theme="tradez"] .bd-card__face--front {
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 3px solid var(--lime);
  border-radius: 8px;
  box-shadow: 0 10px 26px -10px rgba(31, 42, 31, 0.22);
}
[data-theme="tradez"] .bd-card__face--back { background: var(--lime); border: 1px solid var(--lime-dim); border-radius: 8px; }
[data-theme="tradez"] .bd-card__name { color: var(--text); font-family: 'Fraunces', Georgia, serif; font-weight: 700; }
[data-theme="tradez"] .bd-card__cost { color: #8a6e2e; font-weight: 800; }
[data-theme="tradez"] .bd-prow { background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--lime); border-radius: 8px; box-shadow: 0 2px 0 rgba(31, 42, 31, 0.12); }
[data-theme="tradez"] .bd-prow--you { border-left-color: var(--gold); }
[data-theme="tradez"] .bd-tcard { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: 0 10px 26px -10px rgba(31, 42, 31, 0.2); }
[data-theme="tradez"] .pop-btn { border-radius: 8px; font-family: 'Fraunces', Georgia, serif; font-weight: 700; box-shadow: 0 3px 0 rgba(31, 42, 31, 0.35); transition: transform 0.14s var(--ease), box-shadow 0.14s var(--ease); }
[data-theme="tradez"] .pop-btn:active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(31, 42, 31, 0.35); }

/* ═══════════════════════════════════════════════════════════════════════════
   gmux · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── gmux · BINDINGS — paper terminal ──────────────────────────────────── */
[data-theme="gmux"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                        .fg-event__title, .fg-state__title, .fg-dialog__title) {
  font-family: var(--font-mono); font-weight: 700; letter-spacing: -0.02em;
}
[data-theme="gmux"] :is(.fg-battle__meta, .fg-count__sub, .fg-battle__foot, .fg-lbrow__ruf) {
  font-family: var(--font-mono); font-size: 0.76em; letter-spacing: 0.03em;
}
[data-theme="gmux"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-top: 2px solid var(--lime);
  border-radius: 8px;
  box-shadow: 0 8px 22px -10px rgba(26, 32, 26, 0.22);
}
[data-theme="gmux"] .fg-lbrow { border: 1px solid var(--rule); border-radius: var(--pill); background: var(--paper); }
[data-theme="gmux"] .fg-lbrow::before {          /* the agent status dot */
  content: ""; width: 8px; height: 8px; border-radius: 50%; align-self: center;
  background: var(--idle); margin-right: 4px; flex: none;
}
[data-theme="gmux"] .fg-lbrow--leader { border-color: color-mix(in srgb, var(--lime) 55%, var(--rule)); }
[data-theme="gmux"] .fg-lbrow--leader::before { background: var(--ok); box-shadow: 0 0 8px rgba(46, 107, 64, 0.5); }
[data-theme="gmux"] .fg-lbrow__rank { font-family: var(--font-mono); background: var(--surface-2); border-radius: 4px; }
[data-theme="gmux"] :is(.fg-battle__bar, .fg-lbrow__bar) { border-radius: 4px; background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--rule); height: 10px; }
[data-theme="gmux"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {  /* segmented — no gradient */
  border-radius: 2px;
  background: repeating-linear-gradient(90deg, rgba(250, 251, 243, 0.85) 0 2px, transparent 2px 10px), var(--lime);
}
[data-theme="gmux"] .fg-chip { font-family: var(--font-mono); font-size: 0.82em; border-radius: var(--pill); border: 1px solid var(--rule); background: var(--paper); }
[data-theme="gmux"] .fg-chip::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--idle); margin-right: 6px; vertical-align: 1px; }
[data-theme="gmux"] .fg-chip[aria-pressed="true"], [data-theme="gmux"] .fg-chip.is-selected { color: var(--lime); border-color: color-mix(in srgb, var(--lime) 60%, var(--rule)); }
[data-theme="gmux"] .fg-chip[aria-pressed="true"]::before, [data-theme="gmux"] .fg-chip.is-selected::before { background: var(--ok); box-shadow: 0 0 6px rgba(46, 107, 64, 0.5); }
[data-theme="gmux"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta) {
  font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.9em;
  border-radius: 6px; border: 1px solid color-mix(in srgb, var(--lime) 55%, var(--rule));
  box-shadow: 0 2px 0 rgba(26, 32, 26, 0.16);
  transition: box-shadow 0.1s steps(2, end), transform 0.1s steps(2, end);
}
[data-theme="gmux"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta):active { transform: translateY(2px); box-shadow: 0 0 0 rgba(26, 32, 26, 0); }
[data-theme="gmux"] .fg-status { font-family: var(--font-mono); border-radius: var(--pill); background: color-mix(in srgb, var(--wait) 12%, var(--paper)); color: #5c430e; border: 1px solid color-mix(in srgb, var(--wait) 40%, var(--rule)); }
[data-theme="gmux"] .fg-dz { font-family: var(--font-mono); border-radius: 6px; border: 1px solid color-mix(in srgb, var(--alert) 45%, var(--rule)); border-left: 4px solid var(--alert); background: color-mix(in srgb, var(--alert) 8%, var(--paper)); color: #5e2d1a; }
[data-theme="gmux"] .fg-count { border: 1px solid var(--rule); border-radius: 8px; background: var(--paper); }
[data-theme="gmux"] .fg-count__time { font-family: var(--font-mono); font-variant-numeric: tabular-nums; color: var(--ink, var(--text)); text-shadow: 0 1px 0 rgba(212, 168, 74, 0.35); }
[data-theme="gmux"] .bd-table {                 /* the clearing floor */
  background:
    radial-gradient(circle at 1px 1px, rgba(26, 32, 26, 0.08) 1px, transparent 1.6px) 0 0/22px 22px,
    linear-gradient(#f4f6ec, #edefe6);
  border: 1px solid var(--rule);
  border-top: 3px solid var(--lime);
  border-radius: 8px;
  box-shadow: 0 8px 22px -10px rgba(26, 32, 26, 0.22);
}
[data-theme="gmux"] .bd-lane { border: 1px dashed rgba(46, 107, 64, 0.3); }
[data-theme="gmux"] .bd-finish { background: repeating-linear-gradient(45deg, var(--wait) 0 8px, var(--paper) 8px 16px); }
[data-theme="gmux"] .bd-pot {                    /* the terminal readout */
  background: var(--paper);
  border: 1px solid var(--rule);
  border-top: 3px solid var(--lime);
  border-radius: 8px;
  box-shadow: 0 8px 22px -10px rgba(26, 32, 26, 0.3);
}
[data-theme="gmux"] .bd-pot__label { color: var(--muted); font-family: var(--font-mono); font-size: 0.72em; letter-spacing: 0.16em; text-transform: uppercase; }
[data-theme="gmux"] .bd-pot__total { font-family: var(--font-mono); font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink, var(--text)); text-shadow: 0 1px 0 rgba(212, 168, 74, 0.4); }
[data-theme="gmux"] .bd-card__face--front {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-top: 3px solid var(--wait);
  border-radius: 8px;
}
[data-theme="gmux"] .bd-card__face--back { background: var(--surface-2); border: 1px solid var(--rule); border-radius: 8px; }
[data-theme="gmux"] .bd-card__name { color: var(--text); font-family: var(--font-mono); font-weight: 600; font-size: 0.95em; }
[data-theme="gmux"] .bd-card__cost { color: var(--alert); font-family: var(--font-mono); }
[data-theme="gmux"] .bd-prow { background: var(--paper); border: 1px solid var(--rule); border-left: 3px solid var(--idle); border-radius: var(--pill); }
[data-theme="gmux"] .bd-prow--you { border-left-color: var(--ok); }
[data-theme="gmux"] .bd-tcard { border: 1px solid var(--rule); border-radius: 8px; background: var(--paper); }
[data-theme="gmux"] .pop-btn { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.05em; border-radius: 6px; border: 1px solid color-mix(in srgb, var(--lime) 55%, var(--rule)); box-shadow: 0 2px 0 rgba(26, 32, 26, 0.16); transition: box-shadow 0.1s steps(2, end), transform 0.1s steps(2, end); }
[data-theme="gmux"] .pop-btn:active { transform: translateY(2px); box-shadow: none; }

/* ═══════════════════════════════════════════════════════════════════════════
   volkus · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── volkus · BINDINGS — the portrait wall ─────────────────────────────── */
[data-theme="volkus"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                          .fg-event__title, .fg-state__title, .fg-dialog__title) {
  font-family: Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: 0.01em;
}
[data-theme="volkus"] :is(.fg-battle__meta, .fg-count__sub, .fg-battle__foot, .fg-lbrow__ruf) {
  font-family: 'Courier New', monospace; font-size: 0.78em; letter-spacing: 0.02em;
}
[data-theme="volkus"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  background: linear-gradient(180deg, rgba(240, 196, 154, 0.03), transparent 20%), var(--surface);
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: 0 14px 34px -14px rgba(0, 0, 0, 0.8);
}
[data-theme="volkus"] .fg-lbrow { border: 1px solid var(--line); border-radius: 6px; background: transparent; }
[data-theme="volkus"] .fg-lbrow:nth-child(8n+1) .fg-lbrow__rank { background: var(--skin-white); color: #3a2a18; }
[data-theme="volkus"] .fg-lbrow:nth-child(8n+2) .fg-lbrow__rank { background: var(--skin-east-asian); color: #3a2414; }
[data-theme="volkus"] .fg-lbrow:nth-child(8n+3) .fg-lbrow__rank { background: var(--skin-latino); color: #2c180a; }
[data-theme="volkus"] .fg-lbrow:nth-child(8n+4) .fg-lbrow__rank { background: var(--skin-s-asian); color: #140a04; }
[data-theme="volkus"] .fg-lbrow:nth-child(8n+5) .fg-lbrow__rank { background: var(--skin-mixed); color: #f5e8dc; }
[data-theme="volkus"] .fg-lbrow:nth-child(8n+6) .fg-lbrow__rank { background: var(--skin-m-east); color: #f5e8dc; }
[data-theme="volkus"] .fg-lbrow:nth-child(8n+7) .fg-lbrow__rank { background: var(--skin-black-l); color: #f5e8dc; }
[data-theme="volkus"] .fg-lbrow__rank { border-radius: 4px; font-family: Georgia, serif; font-style: italic; }
[data-theme="volkus"] .fg-lbrow--leader { border-color: rgba(240, 196, 154, 0.4); }
[data-theme="volkus"] :is(.fg-battle__bar, .fg-lbrow__bar) { border-radius: 3px; background: #1a1a1a; box-shadow: inset 0 0 0 1px var(--line); }
[data-theme="volkus"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {   /* every bar is people */
  border-radius: 3px; background: var(--skin-ramp);
}
[data-theme="volkus"] .fg-chip { font-family: 'Courier New', monospace; font-size: 0.82em; border-radius: 999px; border: 1px solid var(--line-bright); background: transparent; }
[data-theme="volkus"] .fg-chip[aria-pressed="true"], [data-theme="volkus"] .fg-chip.is-selected { background: var(--skin-black-d); color: var(--sky); border-color: transparent; }
[data-theme="volkus"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta) {
  font-family: Georgia, serif; font-style: italic;
  border-radius: 6px; border: 1px solid rgba(194, 120, 64, 0.55);
  background: rgba(194, 120, 64, 0.12); color: var(--text);
  box-shadow: none; transition: background 0.2s ease, color 0.2s ease;
}
[data-theme="volkus"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta):hover { background: var(--lime); color: var(--on-accent); }
[data-theme="volkus"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta):active { background: var(--lime-dim); color: var(--on-accent); }
[data-theme="volkus"] .fg-status { font-family: 'Courier New', monospace; border-radius: 4px; border: 1px solid rgba(240, 196, 154, 0.4); color: var(--sky); }
[data-theme="volkus"] .fg-dz { font-family: 'Courier New', monospace; border-radius: 4px; border: 1px solid rgba(212, 85, 46, 0.5); border-left: 4px solid var(--coral); background: linear-gradient(90deg, rgba(212, 85, 46, 0.12), transparent 70%), var(--surface); }
[data-theme="volkus"] .fg-count { border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
[data-theme="volkus"] .fg-count__time { font-family: Georgia, serif; font-style: italic; color: var(--sky); }
[data-theme="volkus"] .bd-table {               /* the quiet gallery floor */
  background:
    radial-gradient(60% 46% at 50% -6%, rgba(194, 120, 64, 0.1), transparent 62%),
    linear-gradient(#121212, #0d0d0d 70%);
  border: 1px solid var(--line-bright);
  border-radius: 6px;
  box-shadow: 0 24px 60px -20px rgba(0, 0, 0, 0.9);
}
[data-theme="volkus"] .bd-lane { border: 1px solid rgba(240, 196, 154, 0.14); border-radius: 4px; }
[data-theme="volkus"] .bd-finish { background: var(--skin-ramp); border-radius: 2px; }
[data-theme="volkus"] .bd-pot {                  /* the warm spotlight plate */
  background: linear-gradient(180deg, rgba(240, 196, 154, 0.07), transparent 40%), var(--surface);
  border: 1px solid var(--line-bright);
  border-top: 3px solid transparent;
  border-image: var(--skin-ramp) 1;
  border-image-slice: 1 0 0 0;
  box-shadow: 0 14px 34px -14px rgba(0, 0, 0, 0.9);
}
[data-theme="volkus"] .bd-pot__label { color: var(--muted); font-family: 'Courier New', monospace; font-size: 0.76em; letter-spacing: 0.14em; }
[data-theme="volkus"] .bd-pot__total { font-family: Georgia, serif; font-style: italic; color: var(--sky); }
[data-theme="volkus"] .bd-card__face--front {
  background: linear-gradient(180deg, rgba(240, 196, 154, 0.03), transparent 24%), var(--surface);
  border: 1px solid var(--line);
  border-top: 3px solid transparent;
  border-image: var(--skin-ramp) 1;
  border-image-slice: 1 0 0 0;
}
[data-theme="volkus"] .bd-card__face--back { background: #241a12; border: 1px solid var(--line); }
[data-theme="volkus"] .bd-card__name { color: var(--text); font-family: Georgia, serif; }
[data-theme="volkus"] .bd-card__cost { color: var(--coral); font-family: 'Courier New', monospace; }
[data-theme="volkus"] .bd-prow { background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--skin-s-asian); border-radius: 4px; }
[data-theme="volkus"] .bd-prow--you { border-left-color: var(--sky); }
[data-theme="volkus"] .bd-tcard { border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
[data-theme="volkus"] .pop-btn { font-family: Georgia, serif; font-style: italic; border-radius: 6px; border: 1px solid rgba(194, 120, 64, 0.55); background: rgba(194, 120, 64, 0.12); color: var(--text); box-shadow: none; transition: background 0.2s ease, color 0.2s ease; }
[data-theme="volkus"] .pop-btn:hover { background: var(--lime); color: var(--on-accent); }
[data-theme="volkus"] .pop-btn:active { background: var(--lime-dim); color: var(--on-accent); }

/* ═══════════════════════════════════════════════════════════════════════════
   endispute · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── endispute · BINDINGS — the signed brief ───────────────────────────── */
[data-theme="endispute"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                             .fg-event__title, .fg-state__title, .fg-dialog__title) {
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 1.35em; letter-spacing: 0.01em;
}
[data-theme="endispute"] :is(.fg-battle__meta, .fg-count__sub, .fg-battle__foot, .fg-lbrow__ruf) {
  font-family: var(--font-mono); font-size: 0.76em; letter-spacing: 0.08em;
}
[data-theme="endispute"] :is(.fg-battle, .fg-sheet, .fg-dialog, .fg-state, .fg-pro) {
  background: var(--surface);
  border: 1px solid var(--ink);
  border-radius: 0;
  box-shadow: 0 0 0 4px var(--bg), 0 0 0 5px var(--gold-rule);
}
[data-theme="endispute"] .fg-lbrow { border: none; border-bottom: 1px solid color-mix(in srgb, var(--ink) 25%, var(--bg)); border-radius: 0; }   /* ledger rows */
[data-theme="endispute"] .fg-lbrow__rank { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 700; color: var(--lime-dim); }
[data-theme="endispute"] .fg-lbrow--leader { background: color-mix(in srgb, var(--gold-rule) 10%, var(--surface)); }
[data-theme="endispute"] :is(.fg-battle__bar, .fg-lbrow__bar) { border: 1px solid var(--ink); border-radius: 0; background: var(--surface-2); }
[data-theme="endispute"] :is(.fg-battle__bar i, .fg-lbrow__bar i) { border-radius: 0; background: linear-gradient(90deg, var(--lime), var(--gold-rule)); }
[data-theme="endispute"] .fg-chip { font-family: var(--font-mono); font-size: 0.8em; letter-spacing: 0.06em; border: none; border-radius: 0; background: transparent; color: var(--ink); }
[data-theme="endispute"] .fg-chip::before { content: "[ "; color: var(--lime-dim); }
[data-theme="endispute"] .fg-chip::after { content: " ]"; color: var(--lime-dim); }
[data-theme="endispute"] .fg-chip[aria-pressed="true"], [data-theme="endispute"] .fg-chip.is-selected { color: var(--lime-dim); font-weight: 600; }
[data-theme="endispute"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta) {
  font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.86em;
  border-radius: 0; border: 1px solid var(--ink); background: var(--ink); color: var(--bg);
  box-shadow: none; transition: box-shadow 0.18s ease;
}
[data-theme="endispute"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta, .fg-pro__cta, .fg-state__cta):hover { box-shadow: inset 0 -3px 0 var(--gold-rule); }
[data-theme="endispute"] .fg-status { font-family: var(--font-mono); border-radius: 0; border: 1px solid var(--gold-rule); color: var(--lime-dim); background: rgba(212, 161, 74, 0.1); }
[data-theme="endispute"] .fg-dz {                 /* the red-stamp clause */
  font-family: var(--font-mono); font-weight: 600; letter-spacing: 0.1em;
  border-radius: 0; border: 2px solid var(--coral); background: transparent; color: var(--coral);
  box-shadow: 3px 3px 0 rgba(138, 45, 22, 0.25);
}
[data-theme="endispute"] .fg-count { border: 1px solid var(--ink); border-radius: 0; background: var(--surface); box-shadow: 0 0 0 3px var(--bg), 0 0 0 4px var(--gold-rule); }
[data-theme="endispute"] .fg-count__time { font-family: 'IBM Plex Mono', monospace; font-weight: 500; color: var(--ink); }
[data-theme="endispute"] .bd-table {              /* the negotiation table = a document */
  background:
    repeating-linear-gradient(180deg, transparent 0 27px, rgba(10, 10, 10, 0.05) 27px 28px),
    var(--surface);
  border: 1px solid var(--ink);
  border-radius: 0;
  box-shadow: 0 0 0 5px var(--bg), 0 0 0 6px var(--gold-rule), 0 26px 60px -18px rgba(10, 10, 10, 0.4);
}
[data-theme="endispute"] .bd-lane { border: 1px solid color-mix(in srgb, var(--ink) 22%, transparent); }
[data-theme="endispute"] .bd-finish { background: repeating-linear-gradient(45deg, var(--gold-rule) 0 8px, var(--surface) 8px 16px); }
[data-theme="endispute"] .bd-pot {                /* the executed clause */
  background: var(--surface);
  border: 1px solid var(--ink); border-radius: 0;
  box-shadow: 0 0 0 4px var(--bg), 0 0 0 5px var(--gold-rule), 0 18px 44px -14px rgba(10, 10, 10, 0.35);
}
[data-theme="endispute"] .bd-pot__label { color: var(--muted); font-family: var(--font-mono); font-size: 0.72em; letter-spacing: 0.18em; text-transform: uppercase; }
[data-theme="endispute"] .bd-pot__total { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 700; color: var(--ink); }
[data-theme="endispute"] .bd-card__face--front {  /* letterhead card */
  background: var(--surface);
  border: 1px solid var(--ink);
  border-top: 3px double var(--gold-rule);
  border-radius: 0;
  box-shadow: 2px 2px 0 rgba(10, 10, 10, 0.12);
}
[data-theme="endispute"] .bd-card__face--back { background: color-mix(in srgb, var(--gold-rule) 22%, var(--surface)); border: 1px solid var(--ink); border-radius: 0; }
[data-theme="endispute"] .bd-card__name { color: var(--ink); font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 700; }
[data-theme="endispute"] .bd-card__cost { color: var(--coral); font-family: var(--font-mono); font-weight: 600; }
[data-theme="endispute"] .bd-prow { background: var(--surface); border: none; border-bottom: 1px solid color-mix(in srgb, var(--ink) 25%, transparent); border-left: 3px solid var(--lime); border-radius: 0; }
[data-theme="endispute"] .bd-prow--you { border-left-color: var(--gold-rule); }
[data-theme="endispute"] .bd-tcard { border: 1px solid var(--ink); border-radius: 0; background: var(--surface); box-shadow: 2px 2px 0 var(--gold-rule); }
[data-theme="endispute"] .pop-btn {
  font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em;
  border-radius: 0; border: 1px solid var(--ink); background: var(--ink); color: var(--bg);
  box-shadow: none; transition: box-shadow 0.18s ease;
}
[data-theme="endispute"] .pop-btn:hover { box-shadow: inset 0 -3px 0 var(--gold-rule); }
[data-theme="endispute"] .pop-btn:active { background: #262626; }

/* ═══════════════════════════════════════════════════════════════════════════
   steddi · BINDINGS — fg library + bd board app
   ═══════════════════════════════════════════════════════════════════════ */


/* ── steddi · BINDINGS — the rail measurement blueprint (the founder's page) ── */
[data-theme="steddi"] :is(.fg-battle__title, .fg-sheet__title, .fg-pwr__name,
                          .fg-event__title, .fg-state__title, .fg-dialog__title) {
  font-family: 'Sora', 'Inter', system-ui, sans-serif; font-weight: 600; letter-spacing: -0.015em;
}
[data-theme="steddi"] :is(.fg-count__time, .fg-lbrow__pct, .fg-lbrow__ruf) {
  font-family: var(--font-mono); font-weight: 600; letter-spacing: -0.02em;
  background: linear-gradient(100deg, #d94a3d, #ff6a55);        /* KPI gradient ink */
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
[data-theme="steddi"] :is(.fg-battle__meta, .fg-count__sub, .fg-battle__foot) {
  font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.74em;
}
[data-theme="steddi"] :is(.fg-battle, .fg-sheet, .fg-pro) {
  border: 1px solid var(--line); border-radius: 10px;
  background: linear-gradient(180deg, rgba(217, 74, 61, 0.04), transparent 26%), var(--surface);
}
[data-theme="steddi"] :is(.fg-dialog, .fg-state) {       /* the callout datum edge */
  border: 1px solid var(--line); border-left: 2px solid var(--coral); border-radius: 0 10px 10px 0;
  background: linear-gradient(90deg, rgba(217, 74, 61, 0.07), transparent 70%), var(--surface);
}
[data-theme="steddi"] .fg-count {
  border: 1px solid var(--line); border-radius: 10px; background: var(--surface);
}
[data-theme="steddi"] :is(.fg-battle__bar, .fg-lbrow__bar) {
  height: 4px; border-radius: 2px; background: var(--surface-2); padding: 0;
}
[data-theme="steddi"] :is(.fg-battle__bar i, .fg-lbrow__bar i) {
  border-radius: 2px; background: linear-gradient(90deg, #a93546, #ff3b2f);
  box-shadow: 0 0 10px rgba(255, 59, 47, 0.4);            /* the beam */
  transition: width 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}
[data-theme="steddi"] .fg-lbrow { border-bottom: 1px solid var(--line); border-radius: 0; transition: background 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), padding-left 0.2s cubic-bezier(0.22, 0.61, 0.36, 1); }
[data-theme="steddi"] .fg-lbrow:hover { background: rgba(217, 74, 61, 0.05); padding-left: 8px; }   /* linklist nudge */
[data-theme="steddi"] .fg-lbrow__rank { font-family: var(--font-mono); font-size: 0.78em; color: var(--coral); letter-spacing: 0.2em; }
[data-theme="steddi"] .fg-lbrow--leader { border-left: 2px solid var(--coral); background: linear-gradient(90deg, rgba(217, 74, 61, 0.06), transparent 60%); }
[data-theme="steddi"] .fg-event { border-left: 2px solid var(--coral); border-radius: 0 8px 8px 0; background: linear-gradient(90deg, rgba(217, 74, 61, 0.05), transparent 65%); }
[data-theme="steddi"] .fg-status {
  font-family: var(--font-mono); font-weight: 400; font-size: 0.78em; text-transform: uppercase; letter-spacing: 0.2em;
  color: #ff6a55; border: 1px solid var(--line-bright); border-radius: 999px; background: rgba(217, 74, 61, 0.14);
}
[data-theme="steddi"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                          .fg-pro__cta, .fg-state__cta) {
  font-family: var(--font-body); font-weight: 600; font-size: 0.95em;
  border: 0; border-radius: 8px;
  background: linear-gradient(135deg, #a93546, #c23b2f);
  box-shadow: 0 6px 22px rgba(169, 53, 70, 0.3);
  transition: transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
[data-theme="steddi"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                          .fg-pro__cta, .fg-state__cta):hover {
  transform: translateY(-2px); box-shadow: 0 10px 30px rgba(217, 74, 61, 0.4);
}
[data-theme="steddi"] :is(.fg-nav__log, .fg-sheet__cta, .fg-dialog__cta,
                          .fg-pro__cta, .fg-state__cta):active {
  transform: translateY(0); box-shadow: 0 3px 12px rgba(169, 53, 70, 0.3);
}
[data-theme="steddi"] .pop-btn {
  border: 0; border-radius: 8px;
  background: linear-gradient(135deg, #a93546, #c23b2f);
  box-shadow: 0 6px 22px rgba(169, 53, 70, 0.3);
  font-weight: 600;
  transition: transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}
[data-theme="steddi"] .pop-btn:active { transform: translateY(0); box-shadow: 0 3px 12px rgba(169, 53, 70, 0.3); }
[data-theme="steddi"] .fg-dz {
  font-family: var(--font-mono); font-weight: 400; font-size: 0.8em; letter-spacing: 0.16em; text-transform: uppercase;
  color: #ff6a55; background: rgba(255, 59, 47, 0.12);
  border: 1px solid rgba(255, 59, 47, 0.4); border-radius: 6px;
}
[data-theme="steddi"] .fg-dz::before {                   /* the blinking LED */
  content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 999px;
  background: #ff3b2f; box-shadow: 0 0 8px rgba(255, 59, 47, 0.7);
  margin-right: 9px; vertical-align: 1px;
  animation: matSteddiLed 1.2s steps(2, end) infinite;
}
[data-theme="steddi"] .bd-table {                     /* the blueprint floor */
  background:
    linear-gradient(rgba(241, 232, 230, 0.035) 1px, transparent 1px) 0 0 / 8px 8px,
    linear-gradient(90deg, rgba(241, 232, 230, 0.035) 1px, transparent 1px) 0 0 / 8px 8px,
    linear-gradient(rgba(217, 74, 61, 0.09) 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(90deg, rgba(217, 74, 61, 0.09) 1px, transparent 1px) 0 0 / 96px 96px,
    radial-gradient(80% 70% at 50% 12%, rgba(217, 74, 61, 0.1), transparent 60%),
    var(--felt);
  border: 1px solid var(--rail);
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.5);
}
[data-theme="steddi"] .bd-lane { border: 1px dashed var(--felt-line); }        /* diagram dashes */
[data-theme="steddi"] .bd-finish { background: repeating-linear-gradient(90deg, var(--coral) 0 10px, transparent 10px 18px); border-right: 1px solid var(--coral); }
[data-theme="steddi"] .bd-pot {                       /* the survey plate + datum marks */
  position: relative;
  background: #20161c;   /* hard panel plum */
  border: 1px solid var(--line); border-radius: 10px;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.5);   /* replaces board.css's amber insets */
}
[data-theme="steddi"] .bd-pot::before,
[data-theme="steddi"] .bd-pot::after {                 /* datum crosshairs */
  content: "+"; position: absolute;
  font: 400 13px/1 var(--font-mono); color: var(--coral); opacity: 0.8;
}
[data-theme="steddi"] .bd-pot::before { top: -8px; left: -7px; }
[data-theme="steddi"] .bd-pot::after { bottom: -8px; right: -7px; }
[data-theme="steddi"] .bd-pot__label { color: var(--muted); font-family: var(--font-mono); letter-spacing: 0.24em; font-size: 0.7em; text-transform: uppercase; }
[data-theme="steddi"] .bd-pot__total {
  font-family: var(--font-mono); font-weight: 600;
  background: linear-gradient(100deg, #d94a3d, #ff6a55);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
[data-theme="steddi"] .bd-pot__pts { color: var(--muted); font-family: var(--font-mono); }
[data-theme="steddi"] .bd-card__face--front {         /* the diag panel */
  background: linear-gradient(180deg, rgba(217, 74, 61, 0.04), transparent 24%), var(--card-face);
  border: 1px solid var(--line); border-radius: 10px;
}
[data-theme="steddi"] .bd-card__rar { font-family: var(--font-mono); font-size: 0.68em; letter-spacing: 0.2em; text-transform: uppercase; color: #ff6a55; }
[data-theme="steddi"] .bd-card__name { color: var(--text); font-family: 'Sora', sans-serif; font-weight: 600; }
[data-theme="steddi"] .bd-card__fx { color: var(--muted); }
[data-theme="steddi"] .bd-card__cost { color: var(--coral); font-weight: 600; font-family: var(--font-mono); }
[data-theme="steddi"] .bd-card__face--back {
  background: linear-gradient(160deg, var(--card-back-1), var(--card-back-2));
  border: 1px solid var(--line); border-radius: 10px;
}
[data-theme="steddi"] .bd-prow { border: 1px solid var(--line); border-left: 2px solid var(--coral); border-radius: 0 8px 8px 0; background: var(--surface); }
[data-theme="steddi"] .bd-prow--you { border-left-color: #ff3b2f; }
[data-theme="steddi"] .bd-prow__pos { font-family: var(--font-mono); color: var(--coral); letter-spacing: 0.1em; }
[data-theme="steddi"] .bd-top { border-bottom: 1px solid var(--line); }
[data-theme="steddi"] .bd-clock { border: 1px solid var(--line); border-radius: 8px; background: rgba(25, 18, 23, 0.6); }
[data-theme="steddi"] .bd-clock__time { color: #ff6a55; font-family: var(--font-mono); }
[data-theme="steddi"] .bd-clock__lap { color: var(--muted); font-family: var(--font-mono); letter-spacing: 0.18em; }
[data-theme="steddi"] .bd-h1 em { background: linear-gradient(100deg, #d94a3d, #ff6a55); -webkit-background-clip: text; background-clip: text; color: transparent; font-style: normal; }
[data-theme="steddi"] .bd-tcard { border: 1px solid var(--line); border-radius: 10px; background: var(--surface); transition: background 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), padding-left 0.2s cubic-bezier(0.22, 0.61, 0.36, 1); }
[data-theme="steddi"] .bd-tcard:hover { background: rgba(217, 74, 61, 0.05); }
[data-theme="steddi"] .bd-tcard__felt { background: linear-gradient(160deg, var(--card-back-1), var(--card-back-2)); border: 1px solid var(--line); border-radius: 6px; }
[data-theme="steddi"] .bd-tcard__status { font-family: var(--font-mono); font-size: 0.78em; letter-spacing: 0.16em; text-transform: uppercase; color: #ff6a55; border: 1px solid var(--line-bright); border-radius: 999px; }
[data-theme="steddi"] .bd-card--deal { animation: matSteddiMist 1.1s cubic-bezier(0.22, 0.61, 0.36, 1) both; }
