/* ═══════════════════════════════════════════════════════════════════════
   ╔═ ALAN WAKE II SUITE ═══════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── AW2 · Dark Place Noir ───────────────────────────────────────────── */
:root[data-vc-theme="aw2_noir"] {
  --void:          #040404;
  --abyss:         #070707;
  --deep:          #0d0c0c;
  --chamber:       #141212;
  --altar:         #1c1918;
  --surface:       #252120;

  --text:          rgba(230,225,215,.93);
  --static:        rgba(220,215,200,.88);
  --bone:          rgba(238,230,210,.95);
  --fog:           rgba(160,152,140,.65);
  --dust:          rgba(110,104,95,.55);
  --muted:         rgba(80,76,70,.6);

  /* Gold slot → tungsten flashlight amber */
  --gold:          #d4a84b;
  --gold-bright:   #f0c060;
  --gold-pale:     #f5d98a;
  --gold-dim:      rgba(212,168,75,.55);
  --gold-glow:     rgba(212,168,75,.22);

  /* Blood slot → deep noir crimson */
  --blood:         #5c1a1a;
  --blood-bright:  #9b2f2f;
  --blood-glow:    rgba(92,26,26,.35);

  --border:        rgba(180,140,70,.18);
  --border-bright: rgba(200,160,80,.42);
  --rim:           rgba(180,140,70,.14);
  --line:          rgba(180,140,70,.09);

  --green:         #7aad72;
  --violet:        #a895cc;

  /* Sidebar */
  --sidebar-shell:         linear-gradient(180deg, rgba(10,9,14,.99), rgba(6,6,8,.99));
  --sidebar-border:        rgba(180,140,70,.12);
  --sidebar-active-bg:     rgba(212,168,75,.08);
  --sidebar-active-border: rgba(212,168,75,.22);

  /* FX */
  --fx-trace-color:     rgba(212,168,75,.22);
  --fx-icegrid-h:       rgba(212,168,75,.05);
  --fx-icegrid-v:       rgba(100,80,40,.04);
  --fx-icegrid-opacity: 0.10;

  /* Theme-specific */
  --aw2-lamp:      #d4a84b;
  --aw2-ink:       #0a0910;
  --aw2-page:      rgba(240,228,200,.06);
}

/* ── AW2 · Manuscript / Writer's Room ───────────────────────────────── */
:root[data-vc-theme="aw2_manuscript"] {
  --void:          #1a1510;
  --abyss:         #201a13;
  --deep:          #272018;
  --chamber:       #30271e;
  --altar:         #3a3025;
  --surface:       #453a2c;

  --text:          rgba(240,228,200,.94);
  --static:        rgba(230,218,190,.90);
  --bone:          rgba(248,238,215,.96);
  --fog:           rgba(175,162,140,.65);
  --dust:          rgba(120,110,92,.55);
  --muted:         rgba(85,78,65,.55);

  /* Gold slot → warm parchment sepia / manuscript cream */
  --gold:          #c8a060;
  --gold-bright:   #e0bc7a;
  --gold-pale:     rgba(248,235,205,.96);
  --gold-dim:      rgba(200,160,96,.55);
  --gold-glow:     rgba(200,160,96,.22);

  /* Blood slot → editor red ink */
  --blood:         #c03030;
  --blood-bright:  #e04545;
  --blood-glow:    rgba(192,48,48,.38);

  --border:        rgba(180,145,90,.20);
  --border-bright: rgba(205,168,108,.44);
  --rim:           rgba(160,125,72,.16);
  --line:          rgba(140,108,58,.10);

  --sidebar-shell:         linear-gradient(180deg, rgba(22,18,12,.98), rgba(16,13,9,.98));
  --sidebar-border:        rgba(180,145,90,.14);
  --sidebar-active-bg:     rgba(200,160,96,.08);
  --sidebar-active-border: rgba(200,160,96,.24);

  --fx-trace-color:     rgba(200,160,96,.22);
  --fx-icegrid-h:       rgba(180,145,90,.06);
  --fx-icegrid-v:       rgba(192,48,48,.04);
  --fx-icegrid-opacity: 0.10;

  --aw2-page-bg:   #f5ead0;
  --aw2-red-ink:   #c8413c;
  --aw2-pencil:    rgba(60,50,35,.8);
}

/* ── AW2 · Cult of the Tree (Ritual Birch) ──────────────────────────── */
:root[data-vc-theme="aw2_cult"] {
  --void:          #040604;
  --abyss:         #060908;
  --deep:          #090e0b;
  --chamber:       #0e1510;
  --altar:         #131d16;
  --surface:       #19261c;

  --text:          rgba(220,230,210,.92);
  --static:        rgba(210,222,200,.88);
  --bone:          rgba(235,240,220,.95);
  --fog:           rgba(140,165,135,.65);
  --dust:          rgba(90,115,88,.50);
  --muted:         rgba(65,85,62,.55);

  /* Gold slot → sap-amber, carved bark */
  --gold:          #c8a040;
  --gold-bright:   #e0bc5a;
  --gold-pale:     #f0d480;
  --gold-dim:      rgba(200,160,64,.55);
  --gold-glow:     rgba(200,160,64,.25);

  /* Blood slot → ritual crimson + forest deep */
  --blood:         #6b1515;
  --blood-bright:  #a03020;
  --blood-glow:    rgba(107,21,21,.38);

  --border:        rgba(85,108,72,.18);
  --border-bright: rgba(108,138,90,.38);
  --rim:           rgba(70,90,58,.14);
  --line:          rgba(52,70,42,.09);

  --green:         #3a9e55;
  --violet:        rgba(95,70,130,.8);

  --sidebar-shell:         linear-gradient(180deg, rgba(4,6,4,.99), rgba(3,4,3,.99));
  --sidebar-border:        rgba(85,108,72,.12);
  --sidebar-active-bg:     rgba(200,160,64,.08);
  --sidebar-active-border: rgba(200,160,64,.22);

  --fx-trace-color:     rgba(200,160,64,.24);
  --fx-icegrid-h:       rgba(85,108,72,.06);
  --fx-icegrid-v:       rgba(52,70,42,.04);
  --fx-icegrid-opacity: 0.11;
}

/* ── AW2 · Saga Anderson (FBI Field Kit) ────────────────────────────── */
:root[data-vc-theme="aw2_saga"] {
  --void:          #12100e;
  --abyss:         #1a1714;
  --deep:          #221e1a;
  --chamber:       #2e2420;
  --altar:         #3a2e28;
  --surface:       #463830;

  --text:          rgba(238,232,224,.93);
  --static:        rgba(225,218,208,.88);
  --bone:          rgba(248,242,234,.96);
  --fog:           rgba(185,168,150,.65);
  --dust:          rgba(130,115,98,.50);
  --muted:         rgba(95,82,68,.55);

  /* Gold slot → dusty rose / mauve / Nordic terracotta */
  --gold:          #c8785a;
  --gold-bright:   #e09070;
  --gold-pale:     rgba(248,230,218,.96);
  --gold-dim:      rgba(200,120,90,.55);
  --gold-glow:     rgba(200,120,90,.20);

  /* Blood slot → evidence red string / cork board pin */
  --blood:         #8a3a2a;
  --blood-bright:  #b04a38;
  --blood-glow:    rgba(138,58,42,.38);

  --border:        rgba(200,165,138,.16);
  --border-bright: rgba(220,188,162,.38);
  --rim:           rgba(185,150,122,.12);
  --line:          rgba(160,128,100,.08);

  --green:         #7a9e6a;
  --violet:        rgba(168,148,188,.8);

  --sidebar-shell:         linear-gradient(180deg, rgba(18,16,14,.99), rgba(14,12,10,.99));
  --sidebar-border:        rgba(200,165,138,.13);
  --sidebar-active-bg:     rgba(200,120,90,.08);
  --sidebar-active-border: rgba(200,120,90,.22);

  --fx-trace-color:     rgba(200,120,90,.22);
  --fx-icegrid-h:       rgba(200,165,138,.06);
  --fx-icegrid-v:       rgba(138,58,42,.04);
  --fx-icegrid-opacity: 0.10;
}

/* ── AW2 · Old Gods of Asgard (Tour Poster) ─────────────────────────── */
:root[data-vc-theme="aw2_oldgods"] {
  --void:          #050404;
  --abyss:         #0c0a0a;
  --deep:          #141010;
  --chamber:       #1c1414;
  --altar:         #241a1a;
  --surface:       #2e2020;

  --text:          rgba(248,232,218,.93);
  --static:        rgba(235,218,202,.88);
  --bone:          rgba(255,245,232,.96);
  --fog:           rgba(185,155,130,.65);
  --dust:          rgba(130,100,82,.50);
  --muted:         rgba(95,72,58,.55);

  /* Gold slot → burning stage-light orange / Old Gods tour flame */
  --gold:          #e84800;
  --gold-bright:   #ff6820;
  --gold-pale:     rgba(255,210,170,.96);
  --gold-dim:      rgba(232,72,0,.55);
  --gold-glow:     rgba(232,72,0,.30);

  /* Blood slot → heavy metal blood red */
  --blood:         #8a0808;
  --blood-bright:  #c01010;
  --blood-glow:    rgba(138,8,8,.42);

  --border:        rgba(200,60,0,.20);
  --border-bright: rgba(240,90,20,.45);
  --rim:           rgba(180,48,0,.15);
  --line:          rgba(145,36,0,.10);

  --green:         rgba(80,200,100,.8);
  --violet:        rgba(160,80,200,.75);

  --sidebar-shell:         linear-gradient(180deg, rgba(12,4,4,.99), rgba(8,3,3,.99));
  --sidebar-border:        rgba(200,60,0,.13);
  --sidebar-active-bg:     rgba(232,72,0,.09);
  --sidebar-active-border: rgba(232,72,0,.28);

  --fx-trace-color:     rgba(232,72,0,.28);
  --fx-icegrid-h:       rgba(200,60,0,.08);
  --fx-icegrid-v:       rgba(138,8,8,.06);
  --fx-icegrid-opacity: 0.13;
}

/* ── AW2 · Deerfest (Neon Festival) ─────────────────────────────────── */
:root[data-vc-theme="aw2_deerfest"] {
  --void:          #070608;
  --abyss:         #0e0c0f;
  --deep:          #151318;
  --chamber:       #1d1a22;
  --altar:         #26222e;
  --surface:       #302c3a;

  --text:          rgba(235,228,218,.93);
  --static:        rgba(222,215,204,.88);
  --bone:          rgba(248,242,232,.96);
  --fog:           rgba(172,162,148,.65);
  --dust:          rgba(118,108,96,.50);
  --muted:         rgba(85,76,66,.55);

  /* Gold slot → marquee warm bulb amber */
  --gold:          #f5c840;
  --gold-bright:   #ffd85a;
  --gold-pale:     rgba(255,245,195,.96);
  --gold-dim:      rgba(245,200,64,.55);
  --gold-glow:     rgba(245,200,64,.28);

  /* Blood slot → Cauldron Lake midnight blue (the eerie undercurrent) */
  --blood:         #1a2860;
  --blood-bright:  #2840a0;
  --blood-glow:    rgba(26,40,96,.40);

  --border:        rgba(245,200,64,.18);
  --border-bright: rgba(255,220,80,.42);
  --rim:           rgba(220,180,50,.14);
  --line:          rgba(190,155,40,.09);

  --green:         #40d890;
  --violet:        rgba(160,140,255,.85);

  --sidebar-shell:         linear-gradient(180deg, rgba(7,6,8,.99), rgba(5,4,6,.99));
  --sidebar-border:        rgba(245,200,64,.14);
  --sidebar-active-bg:     rgba(245,200,64,.09);
  --sidebar-active-border: rgba(245,200,64,.28);

  --fx-trace-color:     rgba(245,200,64,.26);
  --fx-icegrid-h:       rgba(245,200,64,.07);
  --fx-icegrid-v:       rgba(26,40,96,.05);
  --fx-icegrid-opacity: 0.12;
}

/* ── AW2 · Bright Falls (Rain / Fog / Streetlamp) ───────────────────── */
:root[data-vc-theme="aw2_brightfalls"] {
  --void:          #060708;
  --abyss:         #0a0b0d;
  --deep:          #101214;
  --chamber:       #171a1d;
  --altar:         #1e2226;
  --surface:       #262b30;

  --text:          rgba(215,220,225,.92);
  --static:        rgba(198,205,212,.88);
  --bone:          rgba(232,236,240,.96);
  --fog:           rgba(138,148,162,.65);
  --dust:          rgba(90,98,112,.50);
  --muted:         rgba(64,70,82,.55);

  /* Gold slot → sodium streetlamp amber */
  --gold:          #e8a040;
  --gold-bright:   #f5ba55;
  --gold-pale:     rgba(255,230,175,.95);
  --gold-dim:      rgba(232,160,64,.55);
  --gold-glow:     rgba(232,160,64,.26);

  /* Blood slot → Pacific Northwest pine dark */
  --blood:         #0c1a0e;
  --blood-bright:  #163020;
  --blood-glow:    rgba(12,26,14,.5);

  --border:        rgba(130,145,160,.16);
  --border-bright: rgba(155,172,190,.38);
  --rim:           rgba(110,125,142,.12);
  --line:          rgba(88,100,118,.08);

  --green:         #5ab87c;
  --violet:        rgba(158,168,192,.75);

  --sidebar-shell:         linear-gradient(180deg, rgba(6,7,8,.99), rgba(4,5,6,.99));
  --sidebar-border:        rgba(130,145,160,.12);
  --sidebar-active-bg:     rgba(232,160,64,.08);
  --sidebar-active-border: rgba(232,160,64,.22);

  --fx-trace-color:     rgba(232,160,64,.24);
  --fx-icegrid-h:       rgba(130,145,160,.06);
  --fx-icegrid-v:       rgba(12,26,14,.04);
  --fx-icegrid-opacity: 0.09;
}

/* ── AW2 · Night Springs (Pulp TV / Retro Sci-Fi) ───────────────────── */
:root[data-vc-theme="aw2_nightsprings"] {
  --void:          #060605;
  --abyss:         #0c0c0a;
  --deep:          #131210;
  --chamber:       #1a1916;
  --altar:         #22211d;
  --surface:       #2b2a25;

  --text:          rgba(230,228,210,.93);
  --static:        rgba(215,213,196,.88);
  --bone:          rgba(244,242,225,.96);
  --fog:           rgba(162,160,140,.65);
  --dust:          rgba(110,108,92,.50);
  --muted:         rgba(80,78,66,.55);

  /* Gold slot → cathode-ray phosphor yellow-green */
  --gold:          #c8d820;
  --gold-bright:   #ddef30;
  --gold-pale:     rgba(240,252,185,.96);
  --gold-dim:      rgba(200,216,32,.55);
  --gold-glow:     rgba(200,216,32,.26);

  /* Blood slot → pulp cover red */
  --blood:         #c01820;
  --blood-bright:  #e02030;
  --blood-glow:    rgba(192,24,32,.40);

  --border:        rgba(185,183,140,.16);
  --border-bright: rgba(210,208,162,.38);
  --rim:           rgba(165,163,122,.12);
  --line:          rgba(138,136,100,.08);

  --green:         rgba(80,190,80,.85);
  --violet:        rgba(168,128,220,.75);

  --sidebar-shell:         linear-gradient(180deg, rgba(6,6,5,.99), rgba(4,4,3,.99));
  --sidebar-border:        rgba(185,183,140,.12);
  --sidebar-active-bg:     rgba(200,216,32,.08);
  --sidebar-active-border: rgba(200,216,32,.24);

  --fx-trace-color:     rgba(200,216,32,.24);
  --fx-icegrid-h:       rgba(185,183,140,.07);
  --fx-icegrid-v:       rgba(192,24,32,.04);
  --fx-icegrid-opacity: 0.12;
}


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ CONTROL SUITE ════════════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Control · Polaris (Astral Calm) ────────────────────────────────── */
:root[data-vc-theme="control_polaris"] {
  --void:          #080a12;
  --abyss:         #0d1020;
  --deep:          #141828;
  --chamber:       #1b2035;
  --altar:         #222842;
  --surface:       #2b3252;

  --text:          rgba(218,224,248,.93);
  --static:        rgba(200,210,240,.88);
  --bone:          rgba(235,240,255,.96);
  --fog:           rgba(140,158,215,.65);
  --dust:          rgba(90,108,172,.50);
  --muted:         rgba(65,82,145,.55);

  /* Gold slot → Polaris guiding-star warm gold — the light at the end */
  --gold:          #f0d878;
  --gold-bright:   #f8e898;
  --gold-pale:     rgba(255,248,220,.97);
  --gold-dim:      rgba(240,216,120,.55);
  --gold-glow:     rgba(240,216,120,.30);

  /* Blood slot → Astral Plane aurora violet */
  --blood:         #7040c0;
  --blood-bright:  #9060e0;
  --blood-glow:    rgba(112,64,192,.38);

  --border:        rgba(100,148,245,.18);
  --border-bright: rgba(130,175,255,.42);
  --rim:           rgba(80,130,235,.14);
  --line:          rgba(60,110,220,.09);

  --green:         #50d8b8;
  --violet:        rgba(190,160,255,.85);

  --sidebar-shell:         linear-gradient(180deg, rgba(8,10,18,.99), rgba(5,7,13,.99));
  --sidebar-border:        rgba(100,148,245,.13);
  --sidebar-active-bg:     rgba(240,216,120,.08);
  --sidebar-active-border: rgba(240,216,120,.28);

  --fx-trace-color:     rgba(240,216,120,.26);
  --fx-icegrid-h:       rgba(100,148,245,.07);
  --fx-icegrid-v:       rgba(112,64,192,.05);
  --fx-icegrid-opacity: 0.13;
}

/* ── Control · Hiss Corruption ──────────────────────────────────────── */
:root[data-vc-theme="control_hiss"] {
  --void:          #080306;
  --abyss:         #0e0408;
  --deep:          #160510;
  --chamber:       #200618;
  --altar:         #2c0822;
  --surface:       #380b2c;

  --text:          rgba(238,225,230,.93);
  --static:        rgba(222,208,214,.88);
  --bone:          rgba(248,235,238,.96);
  --fog:           rgba(175,145,155,.65);
  --dust:          rgba(128,95,105,.50);
  --muted:         rgba(95,65,75,.55);

  /* Gold slot → Hiss resonance red (deep, corrupted, not neon) */
  --gold:          #cc0a28;
  --gold-bright:   #e81e3c;
  --gold-pale:     rgba(255,165,178,.96);
  --gold-dim:      rgba(204,10,40,.55);
  --gold-glow:     rgba(204,10,40,.35);

  /* Blood slot → void-corruption deep purple */
  --blood:         #580070;
  --blood-bright:  #8a00a8;
  --blood-glow:    rgba(88,0,112,.45);

  --border:        rgba(175,10,32,.20);
  --border-bright: rgba(210,15,40,.48);
  --rim:           rgba(155,8,26,.16);
  --line:          rgba(120,5,20,.10);

  --green:         rgba(60,185,150,.75);
  --violet:        rgba(148,40,190,.85);

  --sidebar-shell:         linear-gradient(180deg, rgba(8,3,6,.99), rgba(5,2,4,.99));
  --sidebar-border:        rgba(175,10,32,.14);
  --sidebar-active-bg:     rgba(204,10,40,.10);
  --sidebar-active-border: rgba(204,10,40,.32);

  --fx-trace-color:     rgba(204,10,40,.28);
  --fx-icegrid-h:       rgba(175,10,32,.08);
  --fx-icegrid-v:       rgba(88,0,112,.06);
  --fx-icegrid-opacity: 0.13;
}

/* ── Control · FBC Bureau Terminal ──────────────────────────────────── */
:root[data-vc-theme="control_fbc"] {
  --void:          #0a0a0a;
  --abyss:         #101010;
  --deep:          #181818;
  --chamber:       #202020;
  --altar:         #282828;
  --surface:       #303030;

  --text:          rgba(220,215,205,.92);
  --static:        rgba(205,200,190,.88);
  --bone:          rgba(238,232,218,.96);
  --fog:           rgba(155,150,140,.65);
  --dust:          rgba(105,100,92,.50);
  --muted:         rgba(75,72,66,.55);

  /* Gold slot → FBC file-folder amber */
  --gold:          #d4a830;
  --gold-bright:   #e8c050;
  --gold-pale:     rgba(255,235,175,.96);
  --gold-dim:      rgba(212,168,48,.55);
  --gold-glow:     rgba(212,168,48,.22);

  /* Blood slot → government-form red */
  --blood:         #802010;
  --blood-bright:  #b03020;
  --blood-glow:    rgba(128,32,16,.38);

  --border:        rgba(180,155,80,.18);
  --border-bright: rgba(200,175,100,.42);
  --rim:           rgba(160,135,65,.14);
  --line:          rgba(130,110,50,.09);

  --green:         rgba(80,160,80,.9);
  --violet:        rgba(140,130,180,.8);

  --sidebar-shell:         linear-gradient(180deg, rgba(10,10,10,.99), rgba(7,7,7,.99));
  --sidebar-border:        rgba(180,155,80,.13);
  --sidebar-active-bg:     rgba(212,168,48,.08);
  --sidebar-active-border: rgba(212,168,48,.24);

  --fx-trace-color:     rgba(212,168,48,.22);
  --fx-icegrid-h:       rgba(180,155,80,.07);
  --fx-icegrid-v:       rgba(130,110,50,.05);
  --fx-icegrid-opacity: 0.12;
}


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ MASS EFFECT ══════════════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Mass Effect · Omni-Tool HUD ────────────────────────────────────── */
:root[data-vc-theme="me_omnitool"] {
  --void:          #050810;
  --abyss:         #080d18;
  --deep:          #0e1425;
  --chamber:       #141c35;
  --altar:         #1a2445;
  --surface:       #212d58;

  --text:          rgba(210,228,255,.93);
  --static:        rgba(192,215,250,.88);
  --bone:          rgba(230,242,255,.96);
  --fog:           rgba(130,165,230,.65);
  --dust:          rgba(80,115,195,.50);
  --muted:         rgba(55,88,165,.55);

  /* Gold slot → omni-tool orange holo */
  --gold:          #ff8c20;
  --gold-bright:   #ffa840;
  --gold-pale:     rgba(255,220,165,.96);
  --gold-dim:      rgba(255,140,32,.55);
  --gold-glow:     rgba(255,140,32,.28);

  /* Blood slot → Paragon blue / Renegade orange is via --gold */
  --blood:         #1040c0;
  --blood-bright:  #2060e8;
  --blood-glow:    rgba(16,64,192,.42);

  --border:        rgba(80,140,255,.18);
  --border-bright: rgba(100,165,255,.42);
  --rim:           rgba(60,120,240,.14);
  --line:          rgba(40,100,220,.09);

  --green:         #30d8c0;
  --violet:        rgba(180,160,255,.85);

  --sidebar-shell:         linear-gradient(180deg, rgba(5,8,16,.99), rgba(3,5,10,.99));
  --sidebar-border:        rgba(80,140,255,.14);
  --sidebar-active-bg:     rgba(255,140,32,.09);
  --sidebar-active-border: rgba(255,140,32,.28);

  --fx-trace-color:     rgba(255,140,32,.26);
  --fx-icegrid-h:       rgba(80,140,255,.08);
  --fx-icegrid-v:       rgba(40,100,220,.06);
  --fx-icegrid-opacity: 0.14;

  --me-paragon:    #3070ff;
  --me-renegade:   #ff4820;
}


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ RESIDENT EVIL SUITE ══════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── RE · Biohazard Lab ─────────────────────────────────────────────── */
:root[data-vc-theme="re_biohazard"] {
  --void:          #050808;
  --abyss:         #080c0c;
  --deep:          #0d1414;
  --chamber:       #121c1c;
  --altar:         #182424;
  --surface:       #1e2e2e;

  --text:          rgba(210,218,215,.92);
  --static:        rgba(192,202,200,.88);
  --bone:          rgba(228,235,232,.96);
  --fog:           rgba(128,145,142,.65);
  --dust:          rgba(82,98,95,.50);
  --muted:         rgba(58,74,71,.55);

  /* Gold slot → hazard alert yellow */
  --gold:          #e8c820;
  --gold-bright:   #f5d830;
  --gold-pale:     rgba(255,245,170,.96);
  --gold-dim:      rgba(232,200,32,.55);
  --gold-glow:     rgba(232,200,32,.26);

  /* Blood slot → biohazard warning red */
  --blood:         #c01010;
  --blood-bright:  #e02020;
  --blood-glow:    rgba(192,16,16,.42);

  --border:        rgba(120,148,142,.16);
  --border-bright: rgba(148,172,165,.36);
  --rim:           rgba(100,128,122,.12);
  --line:          rgba(78,105,100,.08);

  --green:         #28c870;
  --violet:        rgba(128,90,168,.8);

  --sidebar-shell:         linear-gradient(180deg, rgba(5,8,8,.99), rgba(3,5,5,.99));
  --sidebar-border:        rgba(120,148,142,.12);
  --sidebar-active-bg:     rgba(232,200,32,.08);
  --sidebar-active-border: rgba(232,200,32,.24);

  --fx-trace-color:     rgba(232,200,32,.24);
  --fx-icegrid-h:       rgba(60,180,140,.07);
  --fx-icegrid-v:       rgba(36,135,105,.05);
  --fx-icegrid-opacity: 0.12;
}

/* ── RE · Umbrella Corp Clinical ────────────────────────────────────── */
:root[data-vc-theme="re_umbrella"] {
  --void:          #080808;
  --abyss:         #0e0e0e;
  --deep:          #161616;
  --chamber:       #1e1e1e;
  --altar:         #262626;
  --surface:       #2e2e2e;

  --text:          rgba(225,222,218,.93);
  --static:        rgba(210,207,203,.88);
  --bone:          rgba(242,240,236,.96);
  --fog:           rgba(158,155,151,.65);
  --dust:          rgba(108,106,102,.50);
  --muted:         rgba(78,76,73,.55);

  /* Gold slot → Umbrella corporate red */
  --gold:          #cc1a1a;
  --gold-bright:   #e52020;
  --gold-pale:     rgba(255,200,200,.96);
  --gold-dim:      rgba(204,26,26,.55);
  --gold-glow:     rgba(204,26,26,.26);

  --blood:         #8a0505;
  --blood-bright:  #b80a0a;
  --blood-glow:    rgba(138,5,5,.40);

  --border:        rgba(180,20,20,.20);
  --border-bright: rgba(220,30,30,.45);
  --rim:           rgba(160,18,18,.16);
  --line:          rgba(130,14,14,.10);

  --green:         rgba(50,180,50,.85);
  --violet:        rgba(130,100,180,.75);

  --sidebar-shell:         linear-gradient(180deg, rgba(8,8,8,.99), rgba(5,5,5,.99));
  --sidebar-border:        rgba(180,20,20,.15);
  --sidebar-active-bg:     rgba(204,26,26,.08);
  --sidebar-active-border: rgba(204,26,26,.28);

  --fx-trace-color:     rgba(204,26,26,.26);
  --fx-icegrid-h:       rgba(180,20,20,.08);
  --fx-icegrid-v:       rgba(130,14,14,.06);
  --fx-icegrid-opacity: 0.12;
}

/* ── RE · Safe Room Typewriter ──────────────────────────────────────── */
:root[data-vc-theme="re_saferoom"] {
  --void:          #100c08;
  --abyss:         #181210;
  --deep:          #201a14;
  --chamber:       #2a2218;
  --altar:         #342c20;
  --surface:       #40352a;

  --text:          rgba(235,228,210,.93);
  --static:        rgba(220,214,196,.88);
  --bone:          rgba(248,240,222,.96);
  --fog:           rgba(168,158,138,.65);
  --dust:          rgba(115,107,92,.50);
  --muted:         rgba(82,76,65,.55);

  /* Gold slot → warm lamp amber */
  --gold:          #c89050;
  --gold-bright:   #e0aa68;
  --gold-pale:     rgba(255,232,190,.96);
  --gold-dim:      rgba(200,144,80,.55);
  --gold-glow:     rgba(200,144,80,.24);

  --blood:         #782010;
  --blood-bright:  #a02c18;
  --blood-glow:    rgba(120,32,16,.38);

  --border:        rgba(180,140,85,.20);
  --border-bright: rgba(210,168,105,.44);
  --rim:           rgba(160,122,72,.16);
  --line:          rgba(130,100,58,.10);

  --green:         rgba(70,165,70,.9);
  --violet:        rgba(150,120,185,.8);

  --sidebar-shell:         linear-gradient(180deg, rgba(14,10,8,.99), rgba(10,7,5,.99));
  --sidebar-border:        rgba(180,140,85,.14);
  --sidebar-active-bg:     rgba(200,144,80,.08);
  --sidebar-active-border: rgba(200,144,80,.24);

  --fx-trace-color:     rgba(200,144,80,.22);
  --fx-icegrid-h:       rgba(180,140,85,.06);
  --fx-icegrid-v:       rgba(130,100,58,.04);
  --fx-icegrid-opacity: 0.09;
}

/* ── RE · VHS Found Footage (RE7) ───────────────────────────────────── */
:root[data-vc-theme="re_vhs"] {
  --void:          #040404;
  --abyss:         #090909;
  --deep:          #101010;
  --chamber:       #181818;
  --altar:         #202020;
  --surface:       #282828;

  --text:          rgba(215,215,200,.92);
  --static:        rgba(198,198,184,.88);
  --bone:          rgba(235,235,220,.96);
  --fog:           rgba(145,145,132,.65);
  --dust:          rgba(95,95,86,.50);
  --muted:         rgba(68,68,62,.55);

  /* Gold slot → VHS tape-white / washed phosphor */
  --gold:          #d8d5c8;
  --gold-bright:   #eceae0;
  --gold-pale:     rgba(248,246,238,.96);
  --gold-dim:      rgba(216,213,200,.55);
  --gold-glow:     rgba(216,213,200,.20);

  /* Blood slot → REC indicator red */
  --blood:         #c00808;
  --blood-bright:  #e01010;
  --blood-glow:    rgba(192,8,8,.42);

  --border:        rgba(180,180,165,.15);
  --border-bright: rgba(210,210,195,.35);
  --rim:           rgba(155,155,142,.12);
  --line:          rgba(125,125,114,.08);

  --green:         rgba(70,200,70,.8);
  --violet:        rgba(200,180,255,.75);

  --sidebar-shell:         linear-gradient(180deg, rgba(4,4,4,.99), rgba(3,3,3,.99));
  --sidebar-border:        rgba(180,180,165,.11);
  --sidebar-active-bg:     rgba(216,213,200,.06);
  --sidebar-active-border: rgba(216,213,200,.20);

  --fx-trace-color:     rgba(216,213,200,.20);
  --fx-icegrid-h:       rgba(155,155,142,.05);
  --fx-icegrid-v:       rgba(192,8,8,.04);
  --fx-icegrid-opacity: 0.09;
}


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ KOTOR ════════════════════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── KOTOR · Holocron / Jedi Archive ────────────────────────────────── */
:root[data-vc-theme="kotor_holocron"] {
  --void:          #0c0a06;
  --abyss:         #151008;
  --deep:          #1e170c;
  --chamber:       #271e12;
  --altar:         #302618;
  --surface:       #3a2f1e;

  --text:          rgba(245,238,218,.93);
  --static:        rgba(232,224,202,.88);
  --bone:          rgba(255,248,232,.96);
  --fog:           rgba(185,168,130,.65);
  --dust:          rgba(135,118,82,.50);
  --muted:         rgba(98,84,55,.55);

  /* Gold slot → holocron amber, Republic gold, warm Force light */
  --gold:          #d4a040;
  --gold-bright:   #e8b855;
  --gold-pale:     rgba(255,238,195,.96);
  --gold-dim:      rgba(212,160,64,.55);
  --gold-glow:     rgba(212,160,64,.24);

  /* Blood slot → Sith red, dark side corruption */
  --blood:         #8b3a1a;
  --blood-bright:  #b04d28;
  --blood-glow:    rgba(139,58,26,.40);

  --border:        rgba(200,165,100,.16);
  --border-bright: rgba(225,190,125,.38);
  --rim:           rgba(180,145,85,.12);
  --line:          rgba(152,120,65,.08);

  --green:         #70a860;
  --violet:        rgba(165,140,210,.80);

  --sidebar-shell:         linear-gradient(180deg, rgba(12,10,6,.99), rgba(8,7,4,.99));
  --sidebar-border:        rgba(200,165,100,.13);
  --sidebar-active-bg:     rgba(212,160,64,.08);
  --sidebar-active-border: rgba(212,160,64,.25);

  --fx-trace-color:     rgba(212,160,64,.22);
  --fx-icegrid-h:       rgba(200,165,100,.06);
  --fx-icegrid-v:       rgba(139,58,26,.04);
  --fx-icegrid-opacity: 0.11;
}


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ LEGEND OF ZELDA ══════════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Zelda · Sheikah Slate / Ancient Tech ────────────────────────────── */
:root[data-vc-theme="zelda_sheikah"] {
  --void:          #050608;
  --abyss:         #080a10;
  --deep:          #0e1018;
  --chamber:       #141722;
  --altar:         #1a1e2e;
  --surface:       #20253c;

  --text:          rgba(215,225,248,.93);
  --static:        rgba(195,210,242,.88);
  --bone:          rgba(230,238,255,.96);
  --fog:           rgba(128,150,218,.65);
  --dust:          rgba(80,105,185,.50);
  --muted:         rgba(55,78,160,.55);

  /* Gold slot → Sheikah rune cyan-blue */
  --gold:          #40c8e8;
  --gold-bright:   #60e0ff;
  --gold-pale:     rgba(185,238,255,.96);
  --gold-dim:      rgba(64,200,232,.55);
  --gold-glow:     rgba(64,200,232,.27);

  /* Blood slot → Sheikah eye red */
  --blood:         #c01820;
  --blood-bright:  #e02838;
  --blood-glow:    rgba(192,24,32,.40);

  --border:        rgba(60,185,235,.17);
  --border-bright: rgba(80,210,255,.40);
  --rim:           rgba(44,165,215,.13);
  --line:          rgba(30,140,195,.08);

  --green:         #40e8a0;
  --violet:        rgba(160,130,255,.85);

  --sidebar-shell:         linear-gradient(180deg, rgba(5,6,9,.99), rgba(4,5,7,.99));
  --sidebar-border:        rgba(60,185,235,.13);
  --sidebar-active-bg:     rgba(64,200,232,.08);
  --sidebar-active-border: rgba(64,200,232,.26);

  --fx-trace-color:     rgba(64,200,232,.25);
  --fx-icegrid-h:       rgba(60,185,235,.07);
  --fx-icegrid-v:       rgba(30,140,195,.05);
  --fx-icegrid-opacity: 0.13;
}


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ MARATHON (2026) ══════════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Marathon · Runner HUD / Neon Void Terminal ──────────────────────── */
:root[data-vc-theme="marathon_hud"] {
  --void:          #050507;
  --abyss:         #08080d;
  --deep:          #0d0e16;
  --chamber:       #131420;
  --altar:         #191a2a;
  --surface:       #202135;

  --text:          rgba(218,220,240,.93);
  --static:        rgba(200,202,225,.88);
  --bone:          rgba(232,234,252,.96);
  --fog:           rgba(135,138,175,.65);
  --dust:          rgba(88,90,135,.50);
  --muted:         rgba(62,64,108,.55);

  /* Gold slot → Marathon neon orange-red */
  --gold:          #ff5a20;
  --gold-bright:   #ff7840;
  --gold-pale:     rgba(255,215,195,.96);
  --gold-dim:      rgba(255,90,32,.55);
  --gold-glow:     rgba(255,90,32,.30);

  /* Blood slot → void deep blue */
  --blood:         #0820a0;
  --blood-bright:  #1438d0;
  --blood-glow:    rgba(8,32,160,.45);

  --border:        rgba(255,90,32,.18);
  --border-bright: rgba(255,120,60,.45);
  --rim:           rgba(240,75,25,.14);
  --line:          rgba(200,60,18,.09);

  --green:         #30f0d0;
  --violet:        rgba(180,160,255,.85);

  --sidebar-shell:         linear-gradient(180deg, rgba(5,5,7,.99), rgba(3,3,5,.99));
  --sidebar-border:        rgba(255,90,32,.14);
  --sidebar-active-bg:     rgba(255,90,32,.10);
  --sidebar-active-border: rgba(255,90,32,.30);

  --fx-trace-color:     rgba(255,90,32,.28);
  --fx-icegrid-h:       rgba(255,90,32,.08);
  --fx-icegrid-v:       rgba(8,32,160,.06);
  --fx-icegrid-opacity: 0.14;
}


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ HALO 2 ═══════════════════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Halo 2 · UNSC HUD + Covenant Glow ──────────────────────────────── */
:root[data-vc-theme="halo2_unsc"] {
  --void:          #060808;
  --abyss:         #0a0d0d;
  --deep:          #101515;
  --chamber:       #161d1d;
  --altar:         #1c2525;
  --surface:       #222e2e;

  --text:          rgba(210,228,220,.93);
  --static:        rgba(192,215,205,.88);
  --bone:          rgba(230,242,235,.96);
  --fog:           rgba(120,158,148,.65);
  --dust:          rgba(75,115,106,.50);
  --muted:         rgba(52,88,80,.55);

  /* Gold slot → UNSC HUD green */
  --gold:          #30c870;
  --gold-bright:   #48e088;
  --gold-pale:     rgba(185,255,220,.96);
  --gold-dim:      rgba(48,200,112,.55);
  --gold-glow:     rgba(48,200,112,.26);

  /* Blood slot → Covenant plasma violet */
  --blood:         #8020d0;
  --blood-bright:  #a840f0;
  --blood-glow:    rgba(128,32,208,.40);

  --border:        rgba(48,200,112,.17);
  --border-bright: rgba(72,224,136,.40);
  --rim:           rgba(36,178,96,.13);
  --line:          rgba(24,155,80,.08);

  --green:         #40f080;
  --violet:        rgba(180,120,255,.85);

  --sidebar-shell:         linear-gradient(180deg, rgba(6,8,8,.99), rgba(4,6,6,.99));
  --sidebar-border:        rgba(48,200,112,.13);
  --sidebar-active-bg:     rgba(48,200,112,.08);
  --sidebar-active-border: rgba(48,200,112,.26);

  --fx-trace-color:     rgba(48,200,112,.24);
  --fx-icegrid-h:       rgba(48,200,112,.07);
  --fx-icegrid-v:       rgba(128,32,208,.05);
  --fx-icegrid-opacity: 0.13;

  --halo-cortana:  #5080ff;
  --halo-plasma:   #a840f0;
}


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ MARIO ════════════════════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Mario · Toybox Clean ───────────────────────────────────────────── */
:root[data-vc-theme="mario_toybox"] {
  --void:          #fafaf8;
  --abyss:         #f0f0ec;
  --deep:          #e8e8e4;
  --chamber:       #f8f8f6;
  --altar:         #ffffff;
  --surface:       #ffffff;
  --bg:            #fafaf8;
  --bg2:           #f0f0ec;
  --panel:         #f8f8f6;
  --panel2:        #ffffff;

  --text:          #1a1a1a;
  --static:        #2a2a2a;
  --bone:          #1a1a1a;
  --fog:           rgba(40,40,40,.60);
  --dust:          rgba(40,40,40,.42);
  --muted:         rgba(40,40,40,.30);

  /* Gold slot → Mario coin gold */
  --gold:          #e84830;
  --gold-bright:   #ff5c40;
  --gold-pale:     rgba(255,200,180,.98);
  --gold-dim:      rgba(232,72,48,.55);
  --gold-glow:     rgba(232,72,48,.20);

  /* Blood slot → question block yellow */
  --blood:         #e8b820;
  --blood-bright:  #f5cc30;
  --blood-glow:    rgba(232,184,32,.30);

  --border:        rgba(50,50,50,.12);
  --border-bright: rgba(50,50,50,.28);
  --rim:           rgba(50,50,50,.10);
  --line:          rgba(50,50,50,.07);

  --green:         #2cb848;
  --violet:        rgba(120,80,220,.8);

  --sidebar-shell:         linear-gradient(180deg, rgba(248,248,246,.99), rgba(240,240,236,.98));
  --sidebar-border:        rgba(50,50,50,.10);
  --sidebar-active-bg:     rgba(232,72,48,.07);
  --sidebar-active-border: rgba(232,72,48,.20);

  --fx-trace-color:     rgba(232,72,48,.18);
  --fx-icegrid-h:       rgba(50,50,50,.04);
  --fx-icegrid-v:       rgba(50,50,50,.03);
  --fx-icegrid-opacity: 0.07;
}

/* Light-theme text overrides for Mario */
:root[data-vc-theme="mario_toybox"] body,
:root[data-vc-theme="mario_toybox"] .sidebar,
:root[data-vc-theme="mario_toybox"] .sidebar .nav-item { color: var(--text); }


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ DRAGON AGE ═══════════════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Dragon Age · Fade / Veilfire Codex ─────────────────────────────── */
:root[data-vc-theme="da_veilfire"] {
  --void:          #0a0806;
  --abyss:         #131008;
  --deep:          #1c1610;
  --chamber:       #261e16;
  --altar:         #30261c;
  --surface:       #3c3024;

  --text:          rgba(238,228,208,.92);
  --static:        rgba(225,215,192,.87);
  --bone:          rgba(252,242,225,.95);
  --fog:           rgba(185,168,135,.63);
  --dust:          rgba(135,118,85,.48);
  --muted:         rgba(98,82,55,.52);

  /* Gold slot → darkspawn fire amber, ember orange */
  --gold:          #c87828;
  --gold-bright:   #e09040;
  --gold-pale:     rgba(255,235,195,.95);
  --gold-dim:      rgba(200,120,40,.52);
  --gold-glow:     rgba(200,120,40,.20);

  /* Blood slot → Blight corruption, darkspawn crimson */
  --blood:         #5a1a08;
  --blood-bright:  #7a2510;
  --blood-glow:    rgba(90,26,8,.50);

  --border:        rgba(188,155,105,.15);
  --border-bright: rgba(215,180,128,.35);
  --rim:           rgba(168,135,88,.11);
  --line:          rgba(140,110,68,.07);

  --green:         #5a8840;
  --violet:        rgba(148,108,168,.78);

  --sidebar-shell:         linear-gradient(180deg, rgba(10,8,6,.99), rgba(6,5,4,.99));
  --sidebar-border:        rgba(188,155,105,.12);
  --sidebar-active-bg:     rgba(200,120,40,.07);
  --sidebar-active-border: rgba(200,120,40,.22);

  --fx-trace-color:     rgba(200,120,40,.20);
  --fx-icegrid-h:       rgba(188,155,105,.05);
  --fx-icegrid-v:       rgba(90,26,8,.04);
  --fx-icegrid-opacity: 0.10;
}


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ FALLOUT ══════════════════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Fallout · Pip-Boy Terminal ─────────────────────────────────────── */
:root[data-vc-theme="fallout_pipboy"] {
  --void:          #020503;
  --abyss:         #040804;
  --deep:          #060c06;
  --chamber:       #091209;
  --altar:         #0c180c;
  --surface:       #0f1e0f;

  --text:          rgba(88,255,106,.92);
  --static:        rgba(72,240,90,.88);
  --bone:          rgba(110,255,125,.96);
  --fog:           rgba(50,190,65,.65);
  --dust:          rgba(32,140,45,.55);
  --muted:         rgba(22,110,34,.50);

  /* Gold slot → Pip-Boy phosphor green */
  --gold:          #4eff58;
  --gold-bright:   #70ff7a;
  --gold-pale:     rgba(180,255,185,.96);
  --gold-dim:      rgba(78,255,88,.55);
  --gold-glow:     rgba(78,255,88,.28);

  /* Blood slot → Rad warning amber */
  --blood:         #d08010;
  --blood-bright:  #f09020;
  --blood-glow:    rgba(208,128,16,.40);

  --border:        rgba(50,200,60,.18);
  --border-bright: rgba(70,230,82,.44);
  --rim:           rgba(38,178,50,.14);
  --line:          rgba(26,150,38,.09);

  --green:         #4eff58;
  --violet:        rgba(150,255,160,.7);

  --sidebar-shell:         linear-gradient(180deg, rgba(2,5,3,.99), rgba(1,3,2,.99));
  --sidebar-border:        rgba(50,200,60,.14);
  --sidebar-active-bg:     rgba(78,255,88,.08);
  --sidebar-active-border: rgba(78,255,88,.28);

  --fx-trace-color:     rgba(78,255,88,.26);
  --fx-icegrid-h:       rgba(50,200,60,.09);
  --fx-icegrid-v:       rgba(26,150,38,.07);
  --fx-icegrid-opacity: 0.16;

  --pip-green:     #4eff58;
  --pip-amber:     #f09020;

  --font-display:  'VT323', var(--font-vhs, monospace);
}


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ KOTOR II ══════════════════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

:root[data-vc-theme="kotor2_sith"] {
  --void:          #080a0e;
  --abyss:         #0e1018;
  --deep:          #141822;
  --chamber:       #1a1e2c;
  --altar:         #202438;
  --surface:       #272c44;

  --text:          rgba(210,218,238,.90);
  --static:        rgba(192,202,225,.85);
  --bone:          rgba(230,238,255,.94);
  --fog:           rgba(128,140,180,.62);
  --dust:          rgba(85,95,135,.48);
  --muted:         rgba(60,68,105,.52);

  /* Gold slot → cold steel grey, the wound */
  --gold:          #8090b0;
  --gold-bright:   #a0b0cc;
  --gold-pale:     rgba(195,210,235,.94);
  --gold-dim:      rgba(128,144,176,.50);
  --gold-glow:     rgba(128,144,176,.14);

  /* Blood slot → Sith corruption dark red */
  --blood:         #601010;
  --blood-bright:  #881818;
  --blood-glow:    rgba(96,16,16,.45);

  --border:        rgba(105,120,165,.15);
  --border-bright: rgba(128,145,195,.33);
  --rim:           rgba(88,100,148,.11);
  --line:          rgba(65,78,122,.07);

  --green:         #5080a0;
  --violet:        rgba(140,120,200,.78);

  --sidebar-shell:         linear-gradient(180deg, rgba(8,10,14,.99), rgba(5,7,10,.99));
  --sidebar-border:        rgba(105,120,165,.12);
  --sidebar-active-bg:     rgba(128,144,176,.07);
  --sidebar-active-border: rgba(128,144,176,.20);

  --fx-trace-color:     rgba(128,144,176,.18);
  --fx-icegrid-h:       rgba(105,120,165,.05);
  --fx-icegrid-v:       rgba(96,16,16,.04);
  --fx-icegrid-opacity: 0.09;
}


/* ═══════════════════════════════════════════════════════════════════════
   ╔═ MARATHON FACTIONS ═════════════════════════════════════════════════╗
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Arachne — void black + predator crimson ─────────────────────────── */
:root[data-vc-theme="marathon_arachne"] {
  --void:          #040202;
  --abyss:         #0a0404;
  --deep:          #120606;
  --chamber:       #1a0808;
  --altar:         #220a0a;
  --surface:       #2c0e0e;

  --text:          rgba(242,225,225,.92);
  --static:        rgba(228,208,208,.87);
  --bone:          rgba(255,242,242,.96);
  --fog:           rgba(192,155,155,.63);
  --dust:          rgba(145,105,105,.48);
  --muted:         rgba(105,70,70,.52);

  /* Gold slot → Arachne BOLD crimson signal */
  --gold:          #e00000;
  --gold-bright:   #ff1010;
  --gold-pale:     rgba(255,210,210,.98);
  --gold-dim:      rgba(224,0,0,.65);
  --gold-glow:     rgba(224,0,0,.30);

  /* Blood slot → deep void red */
  --blood:         #8a0000;
  --blood-bright:  #b00000;
  --blood-glow:    rgba(138,0,0,.55);

  --border:        rgba(224,0,0,.25);
  --border-bright: rgba(255,20,20,.48);
  --rim:           rgba(200,0,0,.18);
  --line:          rgba(168,0,0,.10);

  --green:         #5a0000;
  --violet:        rgba(200,0,0,.85);

  --sidebar-shell:         linear-gradient(180deg, rgba(4,2,2,.99), rgba(2,1,1,.99));
  --sidebar-border:        rgba(168,28,28,.13);
  --sidebar-active-bg:     rgba(200,8,8,.08);
  --sidebar-active-border: rgba(200,8,8,.28);

  --fx-trace-color:     rgba(200,8,8,.25);
  --fx-icegrid-h:       rgba(168,28,28,.07);
  --fx-icegrid-v:       rgba(128,0,0,.05);
  --fx-icegrid-opacity: 0.12;
}

/* ── Traxus — charcoal gunmetal + construction orange ────────────────── */
:root[data-vc-theme="marathon_traxus"] {
  --void:          #0a0a0a;
  --abyss:         #121212;
  --deep:          #1a1a1a;
  --chamber:       #222222;
  --altar:         #2a2a2a;
  --surface:       #323232;

  --text:          rgba(255,248,238,.95);
  --static:        rgba(248,238,225,.92);
  --bone:          rgba(255,255,250,.98);
  --fog:           rgba(255,200,140,.78);
  --dust:          rgba(255,170,90,.65);
  --muted:         rgba(255,140,50,.55);

  /* Gold slot → Traxus BOLD construction orange */
  --gold:          #ff6600;
  --gold-bright:   #ff8822;
  --gold-pale:     rgba(255,225,195,.96);
  --gold-dim:      rgba(255,106,0,.52);
  --gold-glow:     rgba(255,106,0,.22);

  /* Blood slot → deep charcoal */
  --blood:         #2a2a2a;
  --blood-bright:  #3a3a3a;
  --blood-glow:    rgba(42,42,42,.60);

  --border:        rgba(255,106,0,.28);
  --border-bright: rgba(255,140,40,.55);
  --rim:           rgba(255,100,0,.20);
  --line:          rgba(220,80,0,.12);

  --green:         #cc6600;
  --violet:        rgba(255,120,20,.85);

  --sidebar-shell:         linear-gradient(180deg, rgba(10,10,10,.99), rgba(6,6,6,.99));
  --sidebar-border:        rgba(220,88,0,.14);
  --sidebar-active-bg:     rgba(255,106,0,.08);
  --sidebar-active-border: rgba(255,106,0,.28);

  --fx-trace-color:     rgba(255,106,0,.25);
  --fx-icegrid-h:       rgba(220,88,0,.07);
  --fx-icegrid-v:       rgba(42,42,42,.05);
  --fx-icegrid-opacity: 0.12;
}

/* ── CyberAcme — near-void + electric blue + toxic neon green ────────── */
:root[data-vc-theme="marathon_cyberacme"] {
  --void:          #020408;
  --abyss:         #04080e;
  --deep:          #080e18;
  --chamber:       #0c1420;
  --altar:         #101a2a;
  --surface:       #142035;

  --text:          rgba(220,255,230,.96);
  --static:        rgba(200,248,215,.94);
  --bone:          rgba(240,255,245,.98);
  --fog:           rgba(120,230,150,.80);
  --dust:          rgba(80,200,110,.65);
  --muted:         rgba(50,165,80,.55);

  /* Gold slot → CyberAcme BLAZING neon green */
  --gold:          #00ff55;
  --gold-bright:   #40ff80;
  --gold-pale:     rgba(220,255,235,.98);
  --gold-dim:      rgba(0,255,85,.65);
  --gold-glow:     rgba(0,255,85,.30);

  /* Blood slot → electric blue data stream */
  --blood:         #0040ff;
  --blood-bright:  #2060ff;
  --blood-glow:    rgba(0,64,255,.45);

  --border:        rgba(0,200,70,.16);
  --border-bright: rgba(20,230,90,.35);
  --rim:           rgba(0,175,60,.11);
  --line:          rgba(0,145,48,.07);

  --green:         #00e050;
  --violet:        rgba(40,100,255,.80);

  --sidebar-shell:         linear-gradient(180deg, rgba(2,4,8,.99), rgba(1,2,5,.99));
  --sidebar-border:        rgba(0,175,60,.13);
  --sidebar-active-bg:     rgba(0,224,80,.07);
  --sidebar-active-border: rgba(0,224,80,.25);

  --fx-trace-color:     rgba(0,224,80,.22);
  --fx-icegrid-h:       rgba(0,175,60,.06);
  --fx-icegrid-v:       rgba(16,64,255,.05);
  --fx-icegrid-opacity: 0.13;
}

/* ── NuCaloric — deep void + neon magenta / hot pink ─────────────────── */
:root[data-vc-theme="marathon_nucaloric"] {
  --void:          #1a0020;
  --abyss:         #240030;
  --deep:          #300040;
  --chamber:       #3c0050;
  --altar:         #4a0060;
  --surface:       #5a0075;

  --text:          rgba(255,240,255,.96);
  --static:        rgba(255,220,255,.94);
  --bone:          rgba(255,255,255,.98);
  --fog:           rgba(255,180,240,.80);
  --dust:          rgba(255,140,220,.65);
  --muted:         rgba(240,100,200,.55);

  /* Gold slot → FULL BLAST neon magenta */
  --gold:          #ff00aa;
  --gold-bright:   #ff40cc;
  --gold-pale:     rgba(255,255,255,.98);
  --gold-dim:      rgba(255,0,170,.70);
  --gold-glow:     rgba(255,0,170,.35);

  /* Blood slot → hot electric pink */
  --blood:         #ff0080;
  --blood-bright:  #ff30a0;
  --blood-glow:    rgba(255,0,128,.45);

  --border:        rgba(255,0,170,.30);
  --border-bright: rgba(255,60,200,.55);
  --rim:           rgba(255,0,170,.22);
  --line:          rgba(255,0,170,.12);

  --green:         #cc00ff;
  --violet:        rgba(255,100,220,.90);

  --sidebar-shell:         linear-gradient(180deg, rgba(26,0,32,.99), rgba(18,0,22,.99));
  --sidebar-border:        rgba(255,0,170,.25);
  --sidebar-active-bg:     rgba(255,0,170,.15);
  --sidebar-active-border: rgba(255,0,170,.50);

  --fx-trace-color:     rgba(255,0,170,.40);
  --fx-icegrid-h:       rgba(255,0,170,.12);
  --fx-icegrid-v:       rgba(255,0,128,.08);
  --fx-icegrid-opacity: 0.18;
}

/* ── Sekiguchi — near-black + precision silver-white + cool cyan ──────── */
:root[data-vc-theme="marathon_sekiguchi"] {
  --void:          #f0f4f8;
  --abyss:         #e4eaf0;
  --deep:          #d8e2ec;
  --chamber:       #ccd8e6;
  --altar:         #c0cede;
  --surface:       #b4c4d6;

  --text:          rgba(8,16,28,.92);
  --static:        rgba(14,24,40,.88);
  --bone:          rgba(4,10,20,.96);
  --fog:           rgba(30,60,100,.70);
  --dust:          rgba(50,90,140,.58);
  --muted:         rgba(70,115,168,.52);

  /* Gold slot → deep navy corporate, Sekiguchi precision */
  --gold:          #0a2850;
  --gold-bright:   #0e3870;
  --gold-pale:     rgba(4,10,20,.96);
  --gold-dim:      rgba(10,40,80,.65);
  --gold-glow:     rgba(10,40,80,.20);

  /* Blood slot → Sekiguchi red accent (corporate mark) */
  --blood:         #cc2020;
  --blood-bright:  #e83030;
  --blood-glow:    rgba(204,32,32,.30);

  --border:        rgba(10,40,80,.18);
  --border-bright: rgba(10,40,80,.38);
  --rim:           rgba(10,40,80,.12);
  --line:          rgba(10,40,80,.08);

  --green:         #006688;
  --violet:        rgba(40,80,160,.80);

  --sidebar-shell:         linear-gradient(180deg, rgba(232,240,248,.99), rgba(220,232,244,.99));
  --sidebar-border:        rgba(10,40,80,.14);
  --sidebar-active-bg:     rgba(10,40,80,.08);
  --sidebar-active-border: rgba(10,40,80,.30);

  --fx-trace-color:     rgba(10,40,80,.25);
  --fx-icegrid-h:       rgba(10,40,80,.07);
  --fx-icegrid-v:       rgba(204,32,32,.04);
  --fx-icegrid-opacity: 0.10;
}

/* Fallout phosphor active-badge */
:root[data-vc-theme="fallout_pipboy"] .vc-theme-active {
  border-color: rgba(78,255,88,.75) !important;
  background:   rgba(78,255,88,.12) !important;
  color:        #4eff58 !important;
  box-shadow:   0 0 14px rgba(78,255,88,.35), 0 0 0 1px rgba(78,255,88,.18) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(78,255,88,.75) !important;
}

/* Fallout body phosphor tint on cards */
:root[data-vc-theme="fallout_pipboy"] .result-card,
:root[data-vc-theme="fallout_pipboy"] .lib-card,
:root[data-vc-theme="fallout_pipboy"] .settings-section {
  box-shadow: 0 0 0 1px rgba(78,255,88,.06) inset;
}


/* ═══════════════════════════════════════════════════════════════════════
   §  ACTIVE BADGE OVERRIDES (themed glow per-IP)
   ═══════════════════════════════════════════════════════════════════════ */

/* AW2 Noir — tungsten amber */
:root[data-vc-theme="aw2_noir"] .vc-theme-active {
  border-color: rgba(212,168,75,.70) !important;
  background:   rgba(212,168,75,.13) !important;
  color:        #d4a84b !important;
  box-shadow:   0 0 12px rgba(212,168,75,.30), 0 0 0 1px rgba(212,168,75,.16) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(212,168,75,.70) !important;
}

/* AW2 Cult — sap gold */
:root[data-vc-theme="aw2_cult"] .vc-theme-active {
  border-color: rgba(200,160,64,.70) !important;
  background:   rgba(200,160,64,.13) !important;
  color:        #c8a040 !important;
  box-shadow:   0 0 12px rgba(200,160,64,.30), 0 0 0 1px rgba(200,160,64,.16) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(200,160,64,.70) !important;
}

/* AW2 Saga — evidence amber */
:root[data-vc-theme="aw2_saga"] .vc-theme-active {
  border-color: rgba(212,136,10,.72) !important;
  background:   rgba(212,136,10,.13) !important;
  color:        #d4880a !important;
  box-shadow:   0 0 14px rgba(212,136,10,.32), 0 0 0 1px rgba(212,136,10,.18) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(212,136,10,.72) !important;
}

/* AW2 Manuscript — parchment sepia */
:root[data-vc-theme="aw2_manuscript"] .vc-theme-active {
  border-color: rgba(200,160,96,.72) !important;
  background:   rgba(200,160,96,.13) !important;
  color:        #c8a060 !important;
  box-shadow:   0 0 14px rgba(200,160,96,.30), 0 0 0 1px rgba(200,160,96,.16) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(200,160,96,.70) !important;
}

/* AW2 Old Gods — neon magenta */
:root[data-vc-theme="aw2_oldgods"] .vc-theme-active {
  border-color: rgba(232,72,0,.72) !important;
  background:   rgba(232,72,0,.13) !important;
  color:        #e84800 !important;
  box-shadow:   0 0 14px rgba(232,72,0,.35), 0 0 0 1px rgba(232,72,0,.18) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(232,72,0,.72) !important;
}

/* Control Hiss — signal red */
:root[data-vc-theme="control_hiss"] .vc-theme-active {
  border-color: rgba(255,26,64,.75) !important;
  background:   rgba(255,26,64,.13) !important;
  color:        #ff1a40 !important;
  box-shadow:   0 0 14px rgba(255,26,64,.40), 0 0 0 1px rgba(255,26,64,.22) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(255,26,64,.75) !important;
}

/* Control Polaris — guiding star gold */
:root[data-vc-theme="control_polaris"] .vc-theme-active {
  border-color: rgba(240,216,120,.72) !important;
  background:   rgba(240,216,120,.13) !important;
  color:        #f0d878 !important;
  box-shadow:   0 0 14px rgba(240,216,120,.35), 0 0 0 1px rgba(240,216,120,.18) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(240,216,120,.72) !important;
}

/* Mass Effect — omni orange */
:root[data-vc-theme="me_omnitool"] .vc-theme-active {
  border-color: rgba(255,140,32,.72) !important;
  background:   rgba(255,140,32,.13) !important;
  color:        #ff8c20 !important;
  box-shadow:   0 0 14px rgba(255,140,32,.35), 0 0 0 1px rgba(255,140,32,.18) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(255,140,32,.72) !important;
}

/* KOTOR — Force cyan */
:root[data-vc-theme="kotor_holocron"] .vc-theme-active {
  border-color: rgba(96,200,240,.72) !important;
  background:   rgba(96,200,240,.13) !important;
  color:        #60c8f0 !important;
  box-shadow:   0 0 14px rgba(96,200,240,.35), 0 0 0 1px rgba(96,200,240,.18) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(96,200,240,.72) !important;
}

/* Zelda — Sheikah cyan */
:root[data-vc-theme="zelda_sheikah"] .vc-theme-active {
  border-color: rgba(64,200,232,.72) !important;
  background:   rgba(64,200,232,.12) !important;
  color:        #40c8e8 !important;
  box-shadow:   0 0 14px rgba(64,200,232,.34), 0 0 0 1px rgba(64,200,232,.18) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(64,200,232,.72) !important;
}

/* Marathon — neon orange-red */
:root[data-vc-theme="marathon_hud"] .vc-theme-active {
  border-color: rgba(255,90,32,.75) !important;
  background:   rgba(255,90,32,.13) !important;
  color:        #ff5a20 !important;
  box-shadow:   0 0 14px rgba(255,90,32,.38), 0 0 0 1px rgba(255,90,32,.20) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(255,90,32,.75) !important;
}

/* Halo 2 — UNSC green */
:root[data-vc-theme="halo2_unsc"] .vc-theme-active {
  border-color: rgba(48,200,112,.72) !important;
  background:   rgba(48,200,112,.12) !important;
  color:        #30c870 !important;
  box-shadow:   0 0 14px rgba(48,200,112,.34), 0 0 0 1px rgba(48,200,112,.18) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(48,200,112,.72) !important;
}

/* Dragon Age — Veilfire teal */
:root[data-vc-theme="da_veilfire"] .vc-theme-active {
  border-color: rgba(32,216,200,.72) !important;
  background:   rgba(32,216,200,.12) !important;
  color:        #20d8c8 !important;
  box-shadow:   0 0 14px rgba(32,216,200,.34), 0 0 0 1px rgba(32,216,200,.18) inset, 0 2px 6px rgba(0,0,0,.6) !important;
  text-shadow:  0 0 10px rgba(32,216,200,.72) !important;
}

/* Mario — bright red */
:root[data-vc-theme="mario_toybox"] .vc-theme-active {
  border-color: rgba(232,72,48,.65) !important;
  background:   rgba(232,72,48,.12) !important;
  color:        #e84830 !important;
  box-shadow:   0 0 12px rgba(232,72,48,.25), 0 0 0 1px rgba(232,72,48,.16) inset, 0 2px 6px rgba(0,0,0,.3) !important;
  text-shadow:  0 0 8px rgba(232,72,48,.55) !important;
}


/* ─── 4. SHELL & LAYOUT ──────────────────────────────────── */
    /* ═══════════════════════════════════════
       SHELL — sidebar is position:fixed.
       .vc-main gets margin-left to match.
       No flex/grid on .vc-shell needed.
    ═══════════════════════════════════════ */
    .vc-shell { min-height:100vh; }
    .vc-view  { display:none; }
    .vc-view.active { display:block; }

    /* ── SIDEBAR ── */
    .sidebar {
      width:220px; position:fixed; top:var(--games-nav-h); left:0; bottom:0; z-index:200;
      display:flex; flex-direction:column;
      background:var(--sidebar-shell, var(--abyss));
      border-right:1px solid var(--sidebar-border, var(--border));
      padding:0 0 20px; overflow-y:auto;
    }
    .sidebar-logo {
      padding:18px 16px 14px; border-bottom:1px solid var(--border);
      margin-bottom:4px; flex-shrink:0;
    }
    .sidebar-logo-wordmark {
      font-family:var(--font-occult); font-size:13px; font-weight:900;
      letter-spacing:4px; color:var(--gold); text-shadow:0 0 20px var(--gold-glow);
      display:flex; align-items:center; gap:6px; animation:flicker 8s infinite; margin-bottom:4px;
    }
    .sidebar-logo-wordmark .vc-sigil {
      display:inline; font-style:normal; font-size:15px;
      color:var(--gold-bright);
      text-shadow:0 0 8px var(--gold-glow), 0 0 20px var(--gold-glow);
      filter:drop-shadow(0 0 4px var(--gold-glow));
      letter-spacing:0;
    }
    .sidebar-logo-sub {
      font-family:var(--font-vhs); font-size:8px; letter-spacing:3px; text-transform:uppercase;
      color:var(--blood-bright); opacity:0.85; padding-left:2px;
    }

    /* Auth status pill */
    .sidebar-auth-pill {
      margin:8px 10px 0; padding:6px 10px; border-radius:4px;
      border:1px solid var(--border); background:rgba(0,0,0,0.25);
      display:flex; align-items:center; gap:7px; flex-shrink:0;
    }
    .sidebar-auth-pill .auth-dot {
      width:7px; height:7px; border-radius:50%; flex-shrink:0;
      background:var(--dust); box-shadow:0 0 5px var(--dust); transition:all 0.3s;
    }
    .sidebar-auth-pill.authed .auth-dot { background:#4ade80; box-shadow:0 0 8px rgba(74,222,128,0.6); }
    .sidebar-auth-pill.error .auth-dot { background:var(--blood-bright); box-shadow:0 0 8px rgba(220,80,80,0.6); }
    .sidebar-auth-pill .auth-label {
      font-family:var(--font-vhs); font-size:8px; letter-spacing:1.5px; text-transform:uppercase;
      color:var(--dust); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    }
    .sidebar-auth-pill.authed .auth-label { color:rgba(180,255,212,0.8); }
    .sidebar-auth-pill .auth-action {
      font-family:var(--font-vhs); font-size:8px; letter-spacing:1px; text-transform:uppercase;
      color:var(--gold); opacity:0.8; cursor:pointer; border:none; background:none; padding:0; flex-shrink:0;
      transition:opacity 0.15s;
    }
    .sidebar-auth-pill .auth-action:hover { opacity:1; }

    .sidebar-section-label {
      font-family:var(--font-vhs); font-size:9px; letter-spacing:3px; text-transform:uppercase;
      color:var(--fog); padding:12px 16px 5px; flex-shrink:0;
    }
    .sidebar .nav { display:flex; flex-direction:column; gap:2px; padding:0 10px; }
    .sidebar .nav-item {
      display:flex; align-items:center; gap:9px; padding:9px 10px; border-radius:6px;
      font-family:var(--font-vhs); font-size:10px; letter-spacing:2px; text-transform:uppercase;
      color:var(--mist); cursor:pointer; transition:all 0.15s; border:1px solid transparent;
      text-decoration:none;
    }
    .sidebar .nav-item .nav-count {
      margin-left:auto; font-size:9px; opacity:0.65;
      background:rgba(255,255,255,0.06); padding:1px 6px; border-radius:999px;
      min-width:18px; text-align:center; transition:all 0.2s;
    }
    .sidebar .nav-item .nav-count.has-items {
      background:rgba(201,151,58,0.15); color:var(--gold); opacity:1;
    }
    .sidebar .nav-item:hover { background:var(--chamber); color:var(--gold); border-color:var(--rim); }
    .sidebar .nav-item.active { background:var(--chamber); color:var(--gold); border-color:var(--border); }

    .sidebar-divider { height:1px; background:var(--border); margin:10px 14px; flex-shrink:0; }

    .sidebar-footer {
      margin-top:auto; padding:12px 16px; flex-shrink:0;
      font-family:var(--font-vhs); font-size:9px; letter-spacing:1px;
      color:var(--dust); opacity:0.45; border-top:1px solid var(--border);
    }
    .sidebar-sync-row {
      display:flex; align-items:center; gap:5px; margin-bottom:5px;
      font-size:8px; letter-spacing:1px; text-transform:uppercase; opacity:1;
    }
    .sidebar-sync-row .sync-dot {
      width:5px; height:5px; border-radius:50%; background:var(--dust); transition:background 0.3s;
    }
    .sidebar-sync-row.synced .sync-dot { background:#4ade80; }
    .sidebar-sync-row.syncing .sync-dot { background:var(--gold); animation:vcPulse 0.9s ease-in-out infinite; }
    .sidebar-sync-row.offline .sync-dot { background:var(--blood-bright); }

    /* ── MAIN ── */
    .vc-main { margin-left:220px; min-height:100vh; padding-top:var(--games-nav-h); }
    .vc-page { padding:0 28px 60px; }

    /* Page header */
    .vc-page-header { padding:28px 28px 0; }
    .vc-page-eyebrow {
      font-family:var(--font-vhs); font-size:10px; letter-spacing:4px; text-transform:uppercase;
      color:var(--blood-bright); margin-bottom:10px; display:flex; align-items:center; gap:10px;
    }
    .vc-page-eyebrow::before { content:''; flex:1; height:1px; background:linear-gradient(90deg,transparent,rgba(139,26,26,0.5)); }
    .vc-page-eyebrow::after  { content:''; flex:1; height:1px; background:linear-gradient(90deg,rgba(139,26,26,0.5),transparent); }
    .vc-page-title {
      font-family:var(--font-occult); font-size:clamp(26px,3.5vw,38px); font-weight:700;
      letter-spacing:1px; color:var(--gold-pale); text-shadow:0 0 30px rgba(201,151,58,0.2); margin-bottom:5px;
    }
    .vc-page-sub { font-family:var(--font-grimoire); font-size:14px; font-style:italic; color:var(--fog); margin-bottom:20px; }
    .vc-page-divider { height:1px; background:linear-gradient(90deg,var(--border),transparent); margin-bottom:20px; }

    /* Search */
    .games-search-wrap { position:relative; margin-bottom:10px; }
    .games-search-icon { position:absolute; left:16px; top:50%; transform:translateY(-50%); font-size:16px; pointer-events:none; opacity:0.45; }
    .games-search-input {
      width:100%; padding:13px 116px 13px 48px; background:var(--deep); border:1px solid var(--border);
      border-radius:var(--radius); color:var(--static); font-family:var(--font-grimoire); font-style:italic;
      font-size:16px; outline:none; transition:all 0.2s;
    }
    .games-search-input:focus { border-color:var(--border-bright); box-shadow:0 0 0 3px rgba(201,151,58,0.08); }
    .games-search-input::placeholder { color:var(--dust); font-style:italic; }
    .games-search-btn-pos { position:absolute; right:6px; top:50%; transform:translateY(-50%); }
    #games-status { font-family:var(--font-vhs); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); padding:4px 0 0; min-height:18px; }

    /* Filter pills */
    .games-filter-row { display:flex; gap:6px; flex-wrap:wrap; align-items:center; margin-bottom:12px; }
    .games-filter-row .filter-label { font-family:var(--font-vhs); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); margin-right:4px; }
    .games-filter-row .filter-pill {
      display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:3px;
      border:1px solid var(--border); background:var(--deep); font-family:var(--font-vhs);
      font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--dust);
      cursor:pointer; transition:all 0.15s; user-select:none;
    }
    .games-filter-row .filter-pill input { display:none; }
    .games-filter-row .filter-pill:hover { border-color:var(--gold); color:var(--gold); }
    .games-filter-row .filter-pill.on { border-color:var(--blood-bright); color:#e07070; background:rgba(139,26,26,0.1); }

    /* Toolbar */
    .games-toolbar {
      display:flex; justify-content:space-between; align-items:center; gap:12px;
      padding:10px 0 14px; border-bottom:1px solid rgba(201,151,58,0.10); margin-bottom:16px;
    }
    .games-toolbar .gt-left, .games-toolbar .gt-right { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
    .games-toolbar .gt-sep { width:1px; height:18px; background:var(--border); opacity:0.75; margin:0 2px; }
    .games-toolbar .gt-check { display:flex; align-items:center; gap:7px; font-family:var(--font-vhs); font-size:10px; letter-spacing:1px; color:var(--dust); cursor:pointer; user-select:none; }
    .games-toolbar .gt-check input { accent-color:var(--gold); }
    .games-toolbar .gt-label { font-family:var(--font-vhs); font-size:10px; letter-spacing:1px; color:var(--dust); }
    .games-toolbar .gt-select { height:32px; padding:0 10px; background:var(--deep); border:1px solid var(--border); border-radius:4px; color:var(--static); font-family:var(--font-vhs); font-size:10px; letter-spacing:1px; min-width:160px; outline:none; }
    .games-toolbar .gt-select:focus { border-color:var(--border-bright); }

    /* Recent */
    .games-recent { display:flex; align-items:flex-start; gap:10px; padding:0 0 16px; min-height:36px; }
    .games-recent .recent-label { font-family:var(--font-vhs); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); padding-top:6px; white-space:nowrap; }
    .games-recent .recent-muted { font-family:var(--font-grimoire); font-style:italic; font-size:13px; color:var(--dust); opacity:0.75; padding:5px 0; }
    .games-recent .recent-chips { display:flex; flex-wrap:wrap; gap:6px; }
    .games-recent .recent-chip { appearance:none; border:1px solid var(--border); background:rgba(255,255,255,0.02); color:var(--fog); font-family:var(--font-vhs); font-size:10px; letter-spacing:1px; text-transform:uppercase; padding:5px 10px; border-radius:3px; cursor:pointer; transition:all 0.15s; }
    .games-recent .recent-chip:hover { border-color:var(--gold); color:var(--gold); }

    /* Result grid */
    #games-results { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; margin-top:4px; }
    #games-results.poster-only .result-info { display:none; }
    #games-results.poster-only { grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); }
    .poster-fallback { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-family:var(--font-vhs); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); }
    #games-results .result-poster { position:relative; }
    #games-results .result-badges { position:absolute; top:8px; left:8px; display:flex; flex-direction:column; gap:5px; z-index:2; }
    #games-results .rb { font-family:var(--font-vhs); font-size:9px; letter-spacing:1px; padding:3px 7px; border-radius:3px; background:rgba(0,0,0,0.75); backdrop-filter:blur(4px); }
    #games-results .rb-owned  { border:1px solid rgba(180,255,212,0.35); color:rgba(180,255,212,0.9); }
    #games-results .rb-played { border:1px solid rgba(180,180,255,0.3);  color:rgba(180,180,255,0.88); }
    #games-results .rb-playing{ border:1px solid rgba(255,210,120,0.35); color:rgba(255,210,120,0.9); }
    #games-results .result-card.skel { pointer-events:none; }
    #games-results .result-card.skel .result-poster img { display:none; }
    #games-results .skel-box { width:100%; height:100%; background:rgba(255,255,255,0.04); border-radius:4px; animation:vcPulse 1.4s ease-in-out infinite; }
    #games-results .skel-line { height:9px; border-radius:999px; background:rgba(255,255,255,0.04); margin:10px 0 0; animation:vcPulse 1.4s ease-in-out infinite; }
    #games-results .skel-line.w70 { width:70%; }
    #games-results .skel-line.w35 { width:35%; }
    #games-results .skel-tags { display:flex; gap:5px; margin-top:9px; }
    #games-results .skel-pill { width:44px; height:17px; border-radius:999px; background:rgba(255,255,255,0.04); animation:vcPulse 1.4s ease-in-out infinite; }
    @keyframes vcPulse { 0%,100%{opacity:0.45} 50%{opacity:0.85} }
    #games-results .result-card { cursor:pointer; }
    #games-results .result-card:focus-visible { outline:2px solid rgba(201,151,58,0.6); outline-offset:2px; }

    /* Library */
    .lib-inner { padding:0 28px 60px; }
    .lib-topbar { display:flex; align-items:center; gap:10px; padding:14px 28px 12px; }
    .lib-sync-label { font-family:var(--font-vhs); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); opacity:0.7; display:flex; align-items:center; gap:6px; }
    .lib-sync-label .ldot { width:6px; height:6px; border-radius:50%; background:var(--dust); transition:background 0.3s; }
    .lib-sync-label.synced .ldot { background:#4ade80; }
    .lib-sync-label.syncing .ldot { background:var(--gold); animation:vcPulse 0.9s infinite; }
    .lib-topbar-spacer { flex:1; }

    .lib-stats-strip { display:flex; gap:0; flex-wrap:wrap; border:1px solid var(--border); border-radius:var(--radius); background:var(--deep); overflow:hidden; margin-bottom:28px; }
    .lib-stat { flex:1; min-width:80px; padding:14px 16px; border-right:1px solid var(--border); text-align:center; }
    .lib-stat:last-child { border-right:none; }
    .lib-stat-n { font-family:var(--font-occult); font-size:24px; font-weight:700; line-height:1; margin-bottom:5px; }
    .lib-stat-label { font-family:var(--font-vhs); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); }

    .lib-section { margin-bottom:36px; }
    .lib-section-header { display:flex; align-items:center; gap:10px; padding-bottom:10px; margin-bottom:14px; border-bottom:1px solid var(--border); }
    .lib-section-icon { font-size:16px; }
    .lib-section-title { font-family:var(--font-occult); font-size:16px; font-weight:600; color:var(--gold-pale); letter-spacing:0.5px; }
    .lib-section-count { font-family:var(--font-vhs); font-size:10px; letter-spacing:1px; color:var(--dust); background:rgba(255,255,255,0.06); padding:2px 8px; border-radius:999px; }
    .lib-add-group-btn { margin-left:auto; }

    .lib-empty-shelf { padding:20px 0; font-family:var(--font-grimoire); font-style:italic; font-size:14px; color:var(--dust); opacity:0.7; }

    .lib-shelf-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(120px, 1fr)); gap:12px; }
    .lib-card { border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); background:var(--deep); transition:border-color 0.15s, box-shadow 0.15s; cursor:pointer; }
    .lib-card:hover { border-color:var(--border-bright); box-shadow:0 4px 16px rgba(0,0,0,0.4); }
    .lib-card-poster { aspect-ratio:3/4; position:relative; overflow:hidden; background:var(--surface); }
    .lib-card-poster img { width:100%; height:100%; object-fit:cover; display:block; }
    .lib-card-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.55); display:flex; align-items:flex-start; justify-content:flex-end; padding:6px; opacity:0; transition:opacity 0.15s; }
    .lib-card:hover .lib-card-overlay { opacity:1; }
    .lib-card-remove { appearance:none; background:rgba(0,0,0,0.7); border:1px solid rgba(255,100,100,0.35); color:rgba(255,130,130,0.9); border-radius:3px; cursor:pointer; font-size:10px; padding:3px 6px; font-family:var(--font-vhs); letter-spacing:1px; transition:all 0.12s; }
    .lib-card-remove:hover { background:rgba(180,40,40,0.7); border-color:rgba(255,100,100,0.6); }
    .lib-card-info { padding:8px 8px 10px; }
    .lib-card-name { font-family:var(--font-vhs); font-size:10px; letter-spacing:1px; text-transform:uppercase; color:var(--static); line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .lib-card-year { font-family:var(--font-vhs); font-size:9px; color:var(--dust); letter-spacing:1px; display:block; margin-top:2px; }
    .lib-card-ago { font-family:var(--font-vhs); font-size:8px; color:var(--dust); opacity:0.6; letter-spacing:1px; margin-top:2px; }
    .lib-card-rating { display:inline-block; margin-top:3px; font-family:var(--font-vhs); font-size:9px; letter-spacing:1px; color:var(--gold); background:rgba(201,151,58,0.1); border:1px solid rgba(201,151,58,0.25); border-radius:3px; padding:1px 5px; }

    .lib-group-row { margin-bottom:20px; padding:14px 16px; border:1px solid var(--border); border-radius:var(--radius); background:var(--deep); }
    .lib-group-name { font-family:var(--font-occult); font-size:14px; color:var(--gold-pale); margin-bottom:10px; display:flex; align-items:center; gap:8px; }
    .lib-group-shelf-grid { display:flex; flex-wrap:wrap; gap:8px; }
    .lib-mini-card { width:52px; height:74px; border-radius:3px; overflow:hidden; border:1px solid var(--border); background:var(--surface); flex-shrink:0; }
    .lib-mini-card img { width:100%; height:100%; object-fit:cover; display:block; }

    /* Auth gate in library */
    .lib-auth-gate { text-align:center; padding:60px 20px; font-family:var(--font-grimoire); color:var(--fog); }
    .lib-auth-gate .gate-icon { font-size:42px; margin-bottom:16px; opacity:0.5; }
    .lib-auth-gate h3 { font-family:var(--font-occult); color:var(--gold-pale); font-size:20px; margin-bottom:8px; }
    .lib-auth-gate p { font-size:15px; font-style:italic; opacity:0.75; margin-bottom:20px; }

    /* Auth modal */
    .vc-auth-modal { position:fixed; inset:0; display:none; z-index:10000; align-items:center; justify-content:center; }
    .vc-auth-modal[aria-hidden="false"] { display:flex; }
    .vc-auth-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.85); backdrop-filter:blur(12px); }
    .vc-auth-modal-dialog {
      position:relative; width:min(420px,calc(100vw - 40px));
      border:1px solid var(--border-bright); border-radius:var(--radius-lg);
      background:var(--deep); box-shadow:0 0 60px rgba(139,26,26,0.25), 0 32px 80px rgba(0,0,0,0.8);
      padding:28px 28px 24px;
    }
    .vc-auth-modal-dialog::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); border-radius:inherit; }
    .vc-auth-title { font-family:var(--font-occult); font-size:22px; color:var(--gold-pale); margin-bottom:6px; font-weight:700; }
    .vc-auth-sub { font-family:var(--font-grimoire); font-style:italic; font-size:14px; color:var(--fog); margin-bottom:22px; opacity:0.85; }
    .vc-auth-field { margin-bottom:14px; }
    .vc-auth-field label { display:block; font-family:var(--font-vhs); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); margin-bottom:6px; }
    .vc-auth-field input { width:100%; padding:10px 12px; border-radius:6px; background:var(--chamber); border:1px solid var(--border); color:var(--static); font-family:var(--font-grimoire); font-size:15px; outline:none; transition:border-color 0.2s; box-sizing:border-box; }
    .vc-auth-field input:focus { border-color:var(--border-bright); }
    .vc-auth-error { font-family:var(--font-vhs); font-size:9px; letter-spacing:1px; text-transform:uppercase; color:var(--blood-bright); margin-bottom:12px; min-height:16px; }
    .vc-auth-actions { display:flex; gap:10px; align-items:center; margin-top:6px; }
    .vc-auth-switch { font-family:var(--font-vhs); font-size:9px; letter-spacing:1px; text-transform:uppercase; color:var(--dust); cursor:pointer; border:none; background:none; padding:0; margin-left:auto; transition:color 0.15s; opacity:0.7; }
    .vc-auth-switch:hover { color:var(--gold); opacity:1; }
    .vc-auth-close { position:absolute; top:12px; right:14px; }

    /* Game details modal */
    .vc-modal { position:fixed; inset:0; display:none; z-index:9999; }
    .vc-modal[aria-hidden="false"] { display:flex; align-items:center; justify-content:center; }
    .vc-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.80); backdrop-filter:blur(10px); }
    .vc-modal-dialog {
      position:relative; width:min(1280px,calc(100vw - 32px));
      margin:0; max-height:92vh; overflow:hidden;
      border:1px solid var(--border-bright); border-radius:var(--radius-lg);
      background:var(--deep); box-shadow:0 0 60px rgba(139,26,26,0.25), 0 32px 80px rgba(0,0,0,0.8);
      display:flex; flex-direction:column;
    }
    .vc-modal-dialog::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); z-index:10; pointer-events:none; }
    #vc-game-modal[data-has-banner] .vc-modal-dialog::after { content:''; position:absolute; inset:0; border-radius:inherit; background-image:var(--vc-game-banner, none); background-size:cover; background-position:center top; opacity:1; transform:scale(1.04); filter:saturate(1.1) brightness(0.9); pointer-events:none; z-index:0; }
    .vc-modal-body { position:relative; z-index:2; overflow-y:auto; overflow-x:hidden; max-height:92vh; padding:22px 24px 28px; }
    #vc-game-modal[data-has-banner] .vc-modal-body { background:linear-gradient(to bottom, rgba(8,6,14,0.74) 0%, rgba(8,6,14,0.90) 40%, rgba(8,6,14,0.97) 100%); }
    .vc-modal-close { position:absolute; top:12px; right:14px; z-index:20; }

    .vc-game-modal-hero { display:flex; gap:20px; align-items:flex-start; margin-bottom:18px; }
    .vc-game-modal-cover { width:180px; flex-shrink:0; aspect-ratio:3/4; border-radius:var(--radius); overflow:hidden; border:1px solid var(--border-bright); background:var(--surface); box-shadow:0 8px 32px rgba(0,0,0,0.6), 0 0 20px rgba(201,151,58,0.1); }
    .vc-game-modal-cover img { width:100%; height:100%; object-fit:cover; display:block; }
    .vc-game-modal-meta { flex:1; min-width:0; padding-top:4px; }
    .vc-game-modal-title { font-family:var(--font-occult); font-size:26px; font-weight:700; color:var(--gold-pale); text-shadow:0 0 30px rgba(201,151,58,0.3); line-height:1.1; margin-bottom:8px; }
    .vc-game-modal-sub { font-family:var(--font-vhs); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); margin-bottom:14px; }
    .vc-game-modal-storyline-block { margin-top:12px; border:1px solid rgba(201,151,58,0.14); border-radius:var(--radius); padding:12px 14px; background:rgba(0,0,0,0.25); }
    .vc-game-modal-storyline-head { font-family:var(--font-vhs); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); margin-bottom:7px; }
    .vc-game-modal-storyline-head::before { content:'⛧ '; color:var(--blood-bright); }
    .vc-game-modal-storyline-text { font-family:var(--font-grimoire); font-style:italic; font-size:14px; color:var(--fog); line-height:1.7; }
    .vc-game-modal-tags-inline { display:flex; flex-wrap:wrap; gap:6px; }
    .vc-game-modal-tags-inline .tag { background:rgba(120,92,255,0.10); border:1px solid rgba(120,92,255,0.22); color:rgba(200,185,255,0.88); border-radius:3px; padding:3px 9px; font-family:var(--font-vhs); font-size:9px; letter-spacing:1px; text-transform:uppercase; }

    /* User rating + notes in modal */
    .vc-game-personal-block { margin-top:14px; border:1px solid var(--border); border-radius:var(--radius); padding:14px; background:rgba(0,0,0,0.2); }
    .vc-game-personal-block .pb-label { font-family:var(--font-vhs); font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--dust); margin-bottom:12px; display:flex; align-items:center; gap:8px; }
    .vc-game-personal-block .pb-label::before { content:'⛧'; color:var(--blood-bright); }
    .vc-game-rating-row { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
    .vc-game-rating-row label { font-family:var(--font-vhs); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); white-space:nowrap; }
    .vc-game-stars { display:flex; gap:3px; }
    .vc-game-stars .star { font-size:18px; cursor:pointer; opacity:0.25; transition:opacity 0.1s, transform 0.1s; color:var(--gold); line-height:1; }
    .vc-game-stars .star.on { opacity:1; }
    .vc-game-stars .star:hover ~ .star { opacity:0.25 !important; }
    .vc-game-stars:hover .star { opacity:1; }
    #vc-game-rating-val { font-family:var(--font-vhs); font-size:10px; letter-spacing:1px; color:var(--gold); margin-left:4px; }
    .vc-game-notes-area { width:100%; box-sizing:border-box; background:var(--chamber); border:1px solid var(--border); border-radius:var(--radius); color:var(--static); font-family:var(--font-grimoire); font-size:14px; padding:10px 12px; outline:none; resize:vertical; min-height:70px; transition:border-color 0.2s; }
    .vc-game-notes-area:focus { border-color:var(--border-bright); }
    .vc-game-notes-label { font-family:var(--font-vhs); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); margin-bottom:6px; display:block; }
    .vc-game-save-btn-row { display:flex; justify-content:flex-end; margin-top:8px; }

    /* Actions */
    .vc-game-modal-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:18px 0 0; padding:14px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
    .vc-game-modal-actions-spacer { flex:1; }
    .vc-game-modal-actions .btn-shelf { font-family:var(--font-vhs); font-size:9px; letter-spacing:1px; text-transform:uppercase; padding:6px 10px; border-radius:3px; border:1px solid var(--border); background:transparent; color:var(--dust); cursor:pointer; transition:all 0.15s; }
    .vc-game-modal-actions .btn-shelf:hover { border-color:var(--gold); color:var(--gold); }

    .vc-section-title { font-family:var(--font-vhs); font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--dust); margin-bottom:12px; padding-bottom:8px; border-bottom:1px solid var(--rim); display:flex; align-items:center; gap:8px; }
    .vc-section-title::before { content:'⛧'; color:var(--blood-bright); font-size:10px; }

    .vc-game-modal-summaryblock { margin-top:20px; border:1px solid var(--border); border-radius:var(--radius); padding:16px; background:rgba(0,0,0,0.18); }
    .vc-game-modal-summary-text { font-family:var(--font-grimoire); font-size:15px; color:var(--fog); line-height:1.75; }
    .vc-game-modal-detailsblock { margin-top:16px; border:1px solid var(--border); border-radius:var(--radius); padding:16px; background:rgba(0,0,0,0.18); }
    .vc-game-modal-facts-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .vc-fact { border:1px solid rgba(255,255,255,0.07); background:rgba(0,0,0,0.18); border-radius:var(--radius); padding:10px 12px; }
    .vc-fact .k { font-family:var(--font-vhs); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--dust); opacity:0.85; margin-bottom:8px; }
    .vc-fact .v { display:flex; flex-wrap:wrap; gap:6px; }
    .vc-chip { display:inline-flex; align-items:center; padding:4px 9px; border-radius:3px; font-family:var(--font-vhs); font-size:10px; letter-spacing:1px; text-transform:uppercase; background:rgba(201,151,58,0.08); border:1px solid rgba(201,151,58,0.22); color:var(--gold-pale); max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .vc-game-modal-screensblock { margin-top:16px; border:1px solid var(--border); border-radius:var(--radius); padding:16px; background:rgba(0,0,0,0.18); }
    .vc-game-modal-media-row { display:flex; gap:10px; overflow-x:auto; padding-bottom:6px; }
    .vc-game-modal-media-row::-webkit-scrollbar { height:3px; }
    .vc-game-modal-media-row::-webkit-scrollbar-thumb { background:var(--surface); border-radius:2px; }
    .vc-game-modal-media-row a { display:block; flex-shrink:0; border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); transition:border-color 0.2s; }
    .vc-game-modal-media-row a:hover { border-color:var(--gold); }
    .vc-game-modal-media-row a img { display:block; width:240px; height:135px; object-fit:cover; }
    .vc-game-modal-linksblock { margin-top:16px; border:1px solid var(--border); border-radius:var(--radius); padding:16px; background:rgba(0,0,0,0.18); }
    .vc-game-modal-links-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; }
    .vc-linkcard { display:flex; flex-direction:column; gap:3px; padding:10px 12px; min-height:52px; border:1px solid rgba(255,255,255,0.10); background:rgba(0,0,0,0.16); border-radius:var(--radius); text-decoration:none; color:inherit; transition:border-color 0.15s,background 0.15s; }
    .vc-linkcard:hover { border-color:rgba(201,151,58,0.4); background:rgba(0,0,0,0.24); }
    .vc-linkcard .h { font-family:var(--font-vhs); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--gold-pale); opacity:0.85; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .vc-linkcard .p { font-size:12px; opacity:0.88; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--fog); }

    /* Toast */
    .vc-toast { position:fixed; left:50%; bottom:22px; transform:translateX(-50%) translateY(10px); background:var(--chamber); border:1px solid var(--border-bright); color:var(--gold); padding:10px 18px; border-radius:4px; font-family:var(--font-vhs); font-size:11px; letter-spacing:1px; opacity:0; transition:opacity 0.18s,transform 0.18s; z-index:10050; box-shadow:0 8px 24px rgba(0,0,0,0.6); }
    .vc-toast.on { opacity:1; transform:translateX(-50%) translateY(0); }

    /* Settings */
    .vc-topbar { display:flex; justify-content:space-between; align-items:center; padding:18px 28px; border-bottom:1px solid var(--border); }
    .vc-topbar h1 { margin:0; font-family:var(--font-occult); font-size:22px; font-weight:700; color:var(--gold-pale); letter-spacing:0.5px; }
    #view-settings .vc-page { padding-top:24px; }
    .input { padding:8px 12px; border-radius:6px; background:var(--chamber); border:1px solid var(--border); color:var(--static); font-family:var(--font-grimoire); font-size:15px; outline:none; transition:border-color 0.2s; width:100%; }
    .input:focus { border-color:var(--border-bright); }

    html.vc-modal-open, body.vc-modal-open { overflow:hidden; }

    @media (max-width:680px) { .vc-game-modal-facts-grid { grid-template-columns:1fr; } }
    @media (max-width:700px) {
      .sidebar { display:none; }
      .vc-main { margin-left:0; }
      .vc-game-modal-hero { flex-direction:column; }
      .vc-game-modal-cover { width:100%; max-width:180px; }
      .vc-page, .lib-inner { padding:0 16px 40px; }
      .lib-stats-strip { flex-wrap:wrap; }
      .lib-stat { min-width:calc(33% - 1px); }
    }


