/* ===== THEMES: light mode + per-system colour variants ===== */

/* ===== LIGHT MODE ===== */
body.light {
  --blood:#8b0000; --blood-bright:#b91c1c;
  --void:#f5f0e8; --shadow:#ede5d6; --dusk:#e4d9c8;
  --pale:#2a1a0e; --bone:#1a1008; --silver:#6b5744; --gold:#8b6914;
  --glamour:#7c3aed; --glamour-bright:#6d28d9; --fae-gold:#92620a;
  --wolf:#166534; --wolf-bright:#15803d; --wolf-mid:#166534;
  --rage:#dc2626; --rage-bright:#b91c1c;
  --gnosis:#0284c7; --gnosis-bright:#0369a1;
  --mage-dark:#f0f9ff; --mage-bright:#0369a1; --mage-mid:#0284c7;
  --arete:#7e22ce; --arete-dim:#6b21a8;
  --paradox:#c2410c; --paradox-dim:#9a3412;
  --quint:#065f46; --quint-dim:#064e3b;
  --hunter-dark:#fff7ed; --hunter:#92400e; --hunter-mid:#b45309; --hunter-bright:#92400e;
  --conviction:#c2410c; --virtue:#3f6212;
}
body.light{background:var(--void);color:var(--pale);}
body.light::before{background:radial-gradient(ellipse 80% 60% at 20% 0%,rgba(139,0,0,.04) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 80% 100%,rgba(139,80,0,.04) 0%,transparent 60%);}
body.light::after{display:none;}

/* Nav */
body.light .top-nav,body.light .sheet-nav,body.light .browse-nav,body.light .account-nav{background:rgba(245,240,232,.92);border-bottom-color:rgba(139,0,0,.15);}
body.light .nav-brand{color:var(--blood);}
body.light .nav-brand img{filter:none;}
body.light .btn-ghost{color:var(--silver);}
body.light .btn-ghost:hover{color:var(--pale);}

/* Login */
body.light .login-box{background:linear-gradient(135deg,rgba(237,229,214,.97),rgba(228,217,200,.99));border-color:rgba(139,0,0,.25);box-shadow:0 20px 60px rgba(0,0,0,.12),inset 0 1px 0 rgba(139,0,0,.08);}
body.light .login-emblem .sigil{filter:drop-shadow(0 0 20px rgba(139,0,0,.3));}
body.light .field-input,body.light .browse-search-input,body.light .admin-search{background:rgba(255,255,255,.7);border-color:rgba(139,0,0,.2);color:var(--pale);}
body.light .field-input:focus,body.light .browse-search-input:focus{border-color:rgba(139,0,0,.45);}
body.light .field-label{color:var(--silver);}

/* Cards */
body.light .sheet-card{background:linear-gradient(135deg,rgba(237,229,214,.95),rgba(228,217,200,.98));border-color:rgba(139,0,0,.18);box-shadow:0 2px 12px rgba(0,0,0,.08);}
body.light .sheet-card-info-overlay{background:linear-gradient(to top,rgba(237,229,214,.95) 0%,rgba(237,229,214,.7) 60%,rgba(237,229,214,0) 100%);}
body.light .sheet-card.changeling .sheet-card-info-overlay{background:linear-gradient(to top,rgba(237,233,247,.95) 0%,rgba(237,233,247,.7) 60%,rgba(237,233,247,0) 100%);}
body.light .sheet-card.werewolf .sheet-card-info-overlay{background:linear-gradient(to top,rgba(220,252,231,.95) 0%,rgba(220,252,231,.7) 60%,rgba(220,252,231,0) 100%);}
body.light .sheet-card.mage .sheet-card-info-overlay{background:linear-gradient(to top,rgba(224,242,254,.95) 0%,rgba(224,242,254,.7) 60%,rgba(224,242,254,0) 100%);}
body.light .sheet-card.hunter .sheet-card-info-overlay{background:linear-gradient(to top,rgba(255,247,237,.95) 0%,rgba(255,247,237,.7) 60%,rgba(255,247,237,0) 100%);}
body.light .sheet-card-info-overlay .sheet-name{color:var(--pale);}
body.light .sheet-card-info-overlay .sheet-meta{color:var(--silver);}
body.light .sheet-card.changeling{background:linear-gradient(135deg,rgba(237,233,247,.95),rgba(228,217,200,.98));border-top-color:rgba(109,40,217,.5);}
body.light .sheet-card.werewolf{background:linear-gradient(135deg,rgba(220,252,231,.9),rgba(228,217,200,.98));border-top-color:rgba(22,163,74,.5);}
body.light .sheet-card.mage{background:linear-gradient(135deg,rgba(224,242,254,.9),rgba(228,217,200,.98));border-top-color:rgba(2,132,199,.5);}
body.light .sheet-card.hunter{background:linear-gradient(135deg,rgba(255,247,237,.95),rgba(228,217,200,.98));border-top-color:rgba(180,83,9,.5);}
body.light .sheet-card:hover{box-shadow:0 4px 24px rgba(139,0,0,.15);}
body.light .sheet-name{color:#1a0e06;}
body.light .sheet-meta{color:#4a3628;}
body.light .sheet-card-info-overlay .sheet-name{color:#1a0e06;}
body.light .sheet-card-info-overlay .sheet-meta{color:#3d2a1a;}

/* Sheet sections */
body.light .sheet-header-section{background:linear-gradient(135deg,rgba(237,229,214,.9),rgba(228,217,200,.95));border-color:rgba(139,0,0,.18);}
body.light .sheet-header-section::before{background:var(--void);}
body.light .sheet-header-section.fae{background:linear-gradient(135deg,rgba(237,233,247,.9),rgba(228,217,200,.95));border-color:rgba(109,40,217,.2);}
body.light .sheet-header-section.wolf{background:linear-gradient(135deg,rgba(220,252,231,.85),rgba(228,217,200,.95));border-color:rgba(22,163,74,.18);}
body.light .sheet-header-section.mage{background:linear-gradient(135deg,rgba(224,242,254,.85),rgba(228,217,200,.95));border-color:rgba(2,132,199,.18);}
body.light .sheet-header-section.hunter{background:linear-gradient(135deg,rgba(255,247,237,.9),rgba(228,217,200,.95));border-color:rgba(180,83,9,.18);}
body.light .sheet-section{background:linear-gradient(135deg,rgba(237,229,214,.85),rgba(228,217,200,.9));border-color:rgba(139,0,0,.15);}
body.light .sheet-section.fae{background:linear-gradient(135deg,rgba(237,233,247,.85),rgba(228,217,200,.9));border-color:rgba(109,40,217,.18);}
body.light .sheet-section.wolf{background:linear-gradient(135deg,rgba(220,252,231,.8),rgba(228,217,200,.9));border-color:rgba(22,163,74,.15);}
body.light .sheet-section.mage{background:linear-gradient(135deg,rgba(224,242,254,.8),rgba(228,217,200,.9));border-color:rgba(2,132,199,.15);}
body.light .sheet-section.hunter{background:linear-gradient(135deg,rgba(255,247,237,.85),rgba(228,217,200,.9));border-color:rgba(180,83,9,.15);}
body.light .sheet-section-title{color:var(--blood-bright);}
body.light .sheet-section-title.fae{color:var(--glamour-bright);}
body.light .sheet-section-title.wolf{color:var(--wolf-bright);}
body.light .sheet-section-title.mage{color:var(--mage-bright);}
body.light .sheet-section-title.hunter{color:var(--hunter-bright);}

/* Sheet fields */
body.light .sheet-field-input,body.light .sheet-textarea{background:rgba(255,255,255,.65);border-color:rgba(139,0,0,.18);color:var(--pale);}
body.light .sheet-field-input:focus,body.light .sheet-textarea:focus{border-color:rgba(139,0,0,.4);background:rgba(255,255,255,.85);}
body.light .spec-input{color:var(--blood);}
body.light .attr-name,.light .skill-name{color:var(--silver);}
body.light .attr-dot{border-color:rgba(139,0,0,.3);background:transparent;}
body.light .attr-dot.filled{background:var(--blood);border-color:var(--blood);}
body.light #stat-tooltip{background:linear-gradient(135deg,rgba(237,229,214,.99),rgba(228,217,200,.98));border-color:rgba(139,0,0,.3);color:var(--pale);box-shadow:0 8px 24px rgba(0,0,0,.2);}

/* Dashboard */
body.light .dashboard-hero{border-bottom-color:rgba(139,0,0,.12);}
body.light .section-title{color:var(--silver);}
body.light .account-section{background:linear-gradient(135deg,rgba(237,229,214,.85),rgba(228,217,200,.9));border-color:rgba(139,0,0,.15);}
body.light .account-row-label{color:var(--silver);}
body.light .stat-bar-track{background:rgba(139,0,0,.08);}

/* Modals */
body.light .modal-overlay{background:rgba(0,0,0,.4);}
body.light .modal{background:linear-gradient(135deg,rgba(237,229,214,.98),rgba(228,217,200,.99));border-color:rgba(139,0,0,.25);}
body.light .modal-title{color:var(--pale);}
body.light .gallery-modal{background:linear-gradient(135deg,rgba(237,229,214,.99),rgba(228,217,200,.99));border-color:rgba(139,0,0,.25);}
body.light .gallery-modal-overlay{background:rgba(0,0,0,.4);}
body.light .gallery-item{background:rgba(228,217,200,.6);border-color:rgba(139,0,0,.15);}
body.light .gallery-item:hover{border-color:rgba(139,0,0,.35);}
body.light .portrait-frame{background:rgba(228,217,200,.6);border-color:rgba(139,0,0,.2);}
body.light .portrait-frame-hint{background:rgba(245,240,232,.85);color:var(--silver);}

/* Browse */
body.light .browse-hero{border-bottom-color:rgba(139,0,0,.12);}
body.light .browse-sub{color:var(--silver);}
body.light .browse-type-select{background:rgba(255,255,255,.7);border-color:rgba(139,0,0,.2);color:var(--pale);}

/* Admin */
body.light .admin-hero{border-bottom-color:rgba(139,0,0,.12);}
body.light .admin-stat-pill{background:rgba(139,0,0,.05);border-color:rgba(139,0,0,.15);}
body.light .admin-stat-pill strong{color:var(--pale);}
body.light .admin-user-table th{color:var(--silver);border-bottom-color:rgba(139,0,0,.15);}
body.light .admin-user-table td{border-bottom-color:rgba(139,0,0,.06);}
body.light .admin-user-table tr:hover td{background:rgba(139,0,0,.03);}
body.light .admin-search{background:rgba(255,255,255,.7);}
body.light .role-badge.user{background:rgba(42,26,14,.06);color:var(--silver);border-color:rgba(42,26,14,.15);}

/* Misc */
body.light .readonly-banner{background:linear-gradient(90deg,rgba(139,0,0,.06),rgba(139,0,0,.03));border-bottom-color:rgba(139,0,0,.15);}
body.light .empty-state{color:var(--silver);}
body.light #change-type-overlay > div{background:rgba(237,229,214,.99);border-color:rgba(139,0,0,.25);}
body.light .type-opt-inner{border-color:rgba(139,0,0,.18);color:var(--silver);}
body.light .type-opt input:checked + .type-opt-inner{background:rgba(139,0,0,.07);border-color:var(--blood);color:var(--blood);}
body.light .btn-save{background:var(--blood);color:#f5f0e8;}
body.light .btn-add{background:rgba(139,0,0,.08);border-color:rgba(139,0,0,.25);color:var(--blood);}
body.light .btn-add:hover{background:rgba(139,0,0,.15);}
body.light .btn-action{background:rgba(139,0,0,.07);border-color:rgba(139,0,0,.2);color:var(--blood);}
body.light .btn-action:hover{background:rgba(139,0,0,.15);}
body.light .btn-admin-sm{border-color:rgba(139,0,0,.2);color:var(--silver);}
body.light .btn-admin-sm:hover{border-color:var(--blood);color:var(--pale);}
body.light .wod-toast{color:#f5f0e8;}
body.light .visibility-select{background:rgba(255,255,255,.7);color:var(--pale);border-color:rgba(139,0,0,.2);}

/* Theme scheme buttons */
body.light .theme-scheme-btn{border-color:rgba(139,0,0,.2);}
body.light .theme-scheme-btn:hover{color:var(--pale);}
body.light .theme-scheme-btn.active{background:rgba(139,0,0,.1);border-color:var(--blood);color:var(--pale);}

/* Burger menu (light) */
body.light #burger-menu{background:rgba(237,229,214,.98);border-left-color:rgba(139,0,0,.15);}
body.light .burger-item{border-bottom-color:rgba(139,0,0,.06);}
body.light .burger-item:hover{background:rgba(139,0,0,.05);}

/* Version rows (light) */
body.light .version-row{background:rgba(237,229,214,.5);}
body.light .version-row.active-version{background:rgba(201,168,76,.06);}

/* Duplicate choice modal (light) */
body.light .duplicate-choice-btn{background:rgba(237,229,214,.6);border-color:rgba(139,0,0,.15);}
body.light .duplicate-choice-btn:hover{background:rgba(139,0,0,.06);border-color:rgba(139,0,0,.35);}
body.light .dup-btn-title{color:var(--pale);}

/* TOS body (light) */
body.light .tos-body{color:var(--silver);}
body.light .tos-section-title{color:var(--blood);}

/* Lock notification banner (light) */
body.light .lock-notification-banner{background:rgba(139,0,0,.05);border-bottom-color:rgba(185,28,28,.2);}
body.light .lock-notification-item{border-bottom-color:rgba(185,28,28,.08);}
body.light .lock-notification-title{color:#b91c1c;}
body.light .lock-notification-msg{color:rgba(185,28,28,.75);}
body.light .lock-notification-dismiss{color:rgba(185,28,28,.35);}
body.light .lock-notification-dismiss:hover{color:#b91c1c;}

/* Bulk bar / type dropdown (light) */
body.light .bulk-bar{border-bottom-color:rgba(139,0,0,.1);}
body.light .btn-vis.bulk{border-color:rgba(139,0,0,.2);}
body.light .type-dropdown{background:rgba(245,240,232,.98);border-color:rgba(139,0,0,.2);}
body.light .type-dropdown-item:hover{background:rgba(139,0,0,.05);}

/* Admin sheet row (light) */
body.light .admin-sheet-row{background:rgba(237,229,214,.5);}
body.light .admin-sheet-row:hover{background:rgba(139,0,0,.05);}
body.light .admin-sheet-row-name{color:var(--pale);}
body.light .admin-tab-bar{border-bottom-color:rgba(139,0,0,.15);}
body.light .admin-tab.active{color:var(--pale);}

/* MF (light) */
body.light .mf-name,.mf-cost{color:var(--pale);}
body.light .mf-desc{background:rgba(0,0,0,.04);color:var(--silver);}


/* ===== WoD SHEET CARD COLOUR THEMES ===== */
.sheet-card.changeling{border-top-color:rgba(168,85,247,.6);background:linear-gradient(135deg,rgba(26,14,46,.9),rgba(18,9,14,.95));}
.sheet-card.changeling::before{background:linear-gradient(135deg,rgba(107,33,168,.08),transparent);}
.sheet-card.changeling:hover{border-color:rgba(168,85,247,.4);box-shadow:0 8px 30px rgba(0,0,0,.5),0 0 20px rgba(107,33,168,.12);}
.sheet-card.werewolf{border-top-color:rgba(74,222,128,.5);background:linear-gradient(135deg,rgba(10,24,6,.9),rgba(18,9,14,.95));}
.sheet-card.werewolf::before{background:linear-gradient(135deg,rgba(22,163,74,.08),transparent);}
.sheet-card.werewolf:hover{border-color:rgba(74,222,128,.4);box-shadow:0 8px 30px rgba(0,0,0,.5),0 0 20px rgba(22,163,74,.12);}
.sheet-card.mage{border-top-color:rgba(56,189,248,.5);background:linear-gradient(135deg,rgba(7,30,46,.9),rgba(18,9,14,.95));}
.sheet-card.mage::before{background:linear-gradient(135deg,rgba(14,165,233,.08),transparent);}
.sheet-card.mage:hover{border-color:rgba(56,189,248,.4);box-shadow:0 8px 30px rgba(0,0,0,.5),0 0 20px rgba(14,165,233,.15);}
.sheet-card.hunter{border-top-color:rgba(245,158,11,.5);background:linear-gradient(135deg,rgba(26,10,0,.9),rgba(18,9,14,.95));}
.sheet-card.hunter::before{background:linear-gradient(135deg,rgba(180,83,9,.08),transparent);}
.sheet-card.hunter:hover{border-color:rgba(245,158,11,.4);box-shadow:0 8px 30px rgba(0,0,0,.5),0 0 20px rgba(180,83,9,.15);}

.sheet-type-badge.vampire{color:var(--blood-bright);border-color:rgba(139,0,0,.4);}
.sheet-type-badge.changeling{color:var(--glamour-bright);border-color:rgba(107,33,168,.4);}
.sheet-type-badge.werewolf{color:var(--wolf-bright);border-color:rgba(22,163,74,.4);}
.sheet-type-badge.mage{color:var(--mage-bright);border-color:rgba(14,165,233,.4);}
.sheet-type-badge.hunter{color:var(--hunter-bright);border-color:rgba(180,83,9,.4);}

.sheet-card.changeling .sheet-card-info-overlay{background:rgba(26,14,46,.75);}
.sheet-card.werewolf .sheet-card-info-overlay{background:rgba(10,24,6,.75);}
.sheet-card.mage .sheet-card-info-overlay{background:rgba(7,30,46,.75);}
.sheet-card.hunter .sheet-card-info-overlay{background:rgba(26,10,0,.75);}
.sheet-card.changeling .sheet-divider{background:linear-gradient(90deg,rgba(107,33,168,.3),transparent);}
.sheet-card.werewolf .sheet-divider{background:linear-gradient(90deg,rgba(22,163,74,.3),transparent);}
.sheet-card.mage .sheet-divider{background:linear-gradient(90deg,rgba(14,165,233,.3),transparent);}
.sheet-card.hunter .sheet-divider{background:linear-gradient(90deg,rgba(180,83,9,.3),transparent);}
.sheet-card.changeling .sheet-card-portrait{border-color:rgba(107,33,168,.2);}
.sheet-card.werewolf .sheet-card-portrait{border-color:rgba(22,163,74,.2);}
.sheet-card.mage .sheet-card-portrait{border-color:rgba(14,165,233,.2);}
.sheet-card.hunter .sheet-card-portrait{border-color:rgba(245,158,11,.2);}
.sheet-card.hunter .sheet-clan-badge{filter:drop-shadow(0 0 8px rgba(245,158,11,.5));}

/* Dot colour variants (card mini-dots) */
.dot.fae{border-color:rgba(168,85,247,.5);}
.dot.fae.filled{background:var(--glamour-bright);border-color:var(--glamour-bright);box-shadow:0 0 4px rgba(168,85,247,.6);}
.dot.wolf{border-color:rgba(74,222,128,.4);}
.dot.wolf.filled{background:var(--wolf-bright);border-color:var(--wolf-bright);box-shadow:0 0 4px rgba(74,222,128,.6);}
.dot.mage{border-color:rgba(56,189,248,.45);}
.dot.mage.filled{background:var(--mage-bright);border-color:var(--mage-bright);box-shadow:0 0 4px rgba(56,189,248,.6);}
.dot.hunter{border-color:rgba(245,158,11,.4);}
.dot.hunter.filled{background:var(--hunter-bright);border-color:var(--hunter-bright);box-shadow:0 0 4px rgba(245,158,11,.6);}


/* ===== WoD SHEET EDITOR VARIANTS ===== */
.sheet-header-section.fae{border-top-color:var(--glamour);border-color:rgba(107,33,168,.25);background:linear-gradient(135deg,rgba(26,14,46,.85),rgba(18,9,14,.9));}
.sheet-header-section.wolf{border-top-color:var(--wolf-mid);border-color:rgba(22,163,74,.2);background:linear-gradient(135deg,rgba(10,24,6,.85),rgba(18,9,14,.9));}
.sheet-header-section.mage{border-top-color:var(--mage-mid);border-color:rgba(14,165,233,.2);background:linear-gradient(135deg,rgba(7,30,46,.85),rgba(18,9,14,.9));}
.sheet-header-section.fae::before{content:'Changeling · The Dreaming';color:var(--glamour-bright);}
.sheet-header-section.wolf::before{content:'Werewolf · The Apocalypse W20';color:var(--wolf-bright);}
.sheet-header-section.mage::before{content:'Mage · The Ascension';color:var(--mage-bright);}

.sheet-field-label.fae{color:#a78bfa;}
.sheet-field-label.wolf{color:var(--wolf-bright);}
.sheet-field-label.mage{color:var(--mage-bright);}
.sheet-field-input.fae{border-bottom-color:rgba(107,33,168,.3);}
.sheet-field-input.wolf{border-bottom-color:rgba(22,163,74,.25);}
.sheet-field-input.mage{border-bottom-color:rgba(14,165,233,.25);}
.sheet-field-input.fae:focus{border-bottom-color:var(--glamour);}
.sheet-field-input.wolf:focus{border-bottom-color:var(--wolf-mid);}
.sheet-field-input.mage:focus{border-bottom-color:var(--mage-mid);}

.sheet-section.fae{border-color:rgba(107,33,168,.2);background:linear-gradient(135deg,rgba(26,14,46,.8),rgba(18,9,14,.9));}
.sheet-section.wolf{border-color:rgba(22,163,74,.15);background:linear-gradient(135deg,rgba(10,24,6,.8),rgba(18,9,14,.9));}
.sheet-section.mage{border-color:rgba(14,165,233,.15);background:linear-gradient(135deg,rgba(7,30,46,.8),rgba(18,9,14,.9));}
.sheet-section-title.fae{color:var(--glamour-bright);}
.sheet-section-title.wolf{color:var(--wolf-bright);}
.sheet-section-title.mage{color:var(--mage-bright);}
.sheet-section-title.fae::before{background:linear-gradient(270deg,transparent,rgba(107,33,168,.4));}
.sheet-section-title.fae::after{background:linear-gradient(90deg,transparent,rgba(107,33,168,.4));}
.sheet-section-title.wolf::before{background:linear-gradient(270deg,transparent,rgba(22,163,74,.3));}
.sheet-section-title.wolf::after{background:linear-gradient(90deg,transparent,rgba(22,163,74,.3));}
.sheet-section-title.mage::before{background:linear-gradient(270deg,transparent,rgba(14,165,233,.3));}
.sheet-section-title.mage::after{background:linear-gradient(90deg,transparent,rgba(14,165,233,.3));}

.attr-col-title.fae{border-bottom-color:rgba(107,33,168,.2);color:#a78bfa;}
.attr-col-title.wolf{border-bottom-color:rgba(22,163,74,.2);color:var(--wolf-bright);}
.attr-col-title.mage{border-bottom-color:rgba(14,165,233,.2);color:var(--mage-bright);}

.spec-input.fae:focus{border-bottom-color:rgba(107,33,168,.25);}
.spec-input.fae:not(:placeholder-shown){color:rgba(167,139,250,.6);}
.spec-input.wolf:focus{border-bottom-color:rgba(22,163,74,.2);}
.spec-input.wolf:not(:placeholder-shown){color:rgba(74,222,128,.5);}
.spec-input.mage:focus{border-bottom-color:rgba(14,165,233,.2);}
.spec-input.mage:not(:placeholder-shown){color:rgba(56,189,248,.55);}
.spec-input.hunter:focus{border-bottom-color:rgba(180,83,9,.2);}
.spec-input.hunter:not(:placeholder-shown){color:rgba(245,158,11,.55);}

/* Stat tooltip variants */
#stat-tooltip.fae{border-color:rgba(107,33,168,.35);border-top-color:var(--glamour-bright);}
#stat-tooltip.wolf{border-color:rgba(22,163,74,.2);border-top-color:var(--wolf-bright);}
#stat-tooltip.hunter{border-color:rgba(180,83,9,.35);border-top-color:var(--hunter-bright);}

/* Attr dot colour variants */
.attr-dot.fae{border-color:rgba(107,33,168,.4);}
.attr-dot.fae.filled{background:var(--glamour-bright);border-color:var(--glamour-bright);box-shadow:0 0 5px rgba(168,85,247,.5);}
.attr-dot.fae:hover{border-color:var(--glamour);}
.attr-dot.wolf{border-color:rgba(22,163,74,.4);}
.attr-dot.wolf.filled{background:var(--wolf-bright);border-color:var(--wolf-bright);box-shadow:0 0 5px rgba(74,222,128,.5);}
.attr-dot.wolf:hover{border-color:var(--wolf-mid);}
.attr-dot.mage{border-color:rgba(56,189,248,.4);}
.attr-dot.mage.filled{background:var(--mage-bright);border-color:var(--mage-bright);box-shadow:0 0 5px rgba(56,189,248,.5);}
.attr-dot.mage:hover{border-color:var(--mage-mid);}
.attr-dot.hunter{border-color:rgba(245,158,11,.4);}
.attr-dot.hunter.filled{background:var(--hunter-bright);border-color:var(--hunter-bright);box-shadow:0 0 5px rgba(245,158,11,.5);}
.attr-dot.hunter:hover{border-color:var(--hunter-mid);}
.attr-dot.gold{border-color:rgba(201,168,76,.4);}
.attr-dot.gold.filled{background:var(--gold);border-color:var(--gold);box-shadow:0 0 5px rgba(201,168,76,.5);}
.attr-dot.rage{border-color:rgba(220,38,38,.4);}
.attr-dot.rage.filled{background:var(--rage-bright);border-color:var(--rage);box-shadow:0 0 5px rgba(220,38,38,.5);}
.attr-dot.gnosis{border-color:rgba(14,165,233,.35);}
.attr-dot.gnosis.filled{background:var(--gnosis-bright);border-color:var(--gnosis);box-shadow:0 0 5px rgba(14,165,233,.5);}

/* Custom name input variants */
.custom-name-input.fae{border-bottom-color:rgba(107,33,168,.2);}
.custom-name-input.fae:focus{border-bottom-color:var(--glamour);}
.custom-name-input.wolf{border-bottom-color:rgba(22,163,74,.2);}
.custom-name-input.wolf:focus{border-bottom-color:var(--wolf-mid);}
.custom-name-input.mage{border-bottom-color:rgba(14,165,233,.18);}
.custom-name-input.mage:focus{border-bottom-color:var(--mage-mid);}

/* Discipline name input variants */
.discipline-name-input.fae{border-bottom-color:rgba(107,33,168,.2);}
.discipline-name-input.fae:focus{border-bottom-color:var(--glamour);}
.discipline-name-input.wolf{border-bottom-color:rgba(22,163,74,.2);}
.discipline-name-input.wolf:focus{border-bottom-color:var(--wolf-mid);}
.discipline-name-input.mage{border-bottom-color:rgba(14,165,233,.2);}
.discipline-name-input.mage:focus{border-bottom-color:var(--mage-mid);}

/* Vital label colour variants */
.vital-label.fae{color:#a78bfa;}
.vital-label.wolf{color:var(--wolf-bright);}
.vital-label.rage{color:var(--rage-bright);}
.vital-label.gnosis{color:var(--gnosis-bright);}
.vital-label.mage{color:var(--mage-bright);}
.vital-label.arete{color:var(--arete);}
.vital-label.paradox{color:var(--paradox);}
.vital-label.quint{color:var(--quint);}
.vital-label.hunter{color:var(--hunter-bright);}
.vital-label.conviction{color:var(--conviction);}
.vital-label.virtue{color:var(--virtue);}

/* Sheet textarea variants */
.sheet-textarea.fae{border-color:rgba(107,33,168,.2);}
.sheet-textarea.wolf{border-color:rgba(22,163,74,.15);}
.sheet-textarea.mage{border-color:rgba(14,165,233,.15);}
.sheet-textarea.fae:focus{border-color:rgba(107,33,168,.5);}
.sheet-textarea.wolf:focus{border-color:rgba(22,163,74,.4);}
.sheet-textarea.mage:focus{border-color:rgba(14,165,233,.4);}

/* Portrait frame variants */
.portrait-frame.fae{border-color:rgba(107,33,168,.35);}
.portrait-frame.fae:hover:not(.no-hover){border-color:rgba(107,33,168,.7);}
.portrait-frame.wolf{border-color:rgba(22,163,74,.3);}
.portrait-frame.wolf:hover:not(.no-hover){border-color:rgba(22,163,74,.6);}
.portrait-frame.mage{border-color:rgba(14,165,233,.3);}
.portrait-frame.mage:hover:not(.no-hover){border-color:rgba(14,165,233,.6);}
.portrait-frame.hunter{border-color:rgba(180,83,9,.3);}
.portrait-frame.hunter:hover:not(.no-hover){border-color:rgba(180,83,9,.65);}

/* Gallery add button variants */
.gallery-add-btn.fae{border-color:rgba(107,33,168,.25);}
.gallery-add-btn.fae:hover{border-color:var(--glamour);}
.gallery-add-btn.wolf{border-color:rgba(22,163,74,.2);}
.gallery-add-btn.wolf:hover{border-color:var(--wolf-mid);}
.gallery-add-btn.mage{border-color:rgba(14,165,233,.18);}
.gallery-add-btn.mage:hover{border-color:var(--mage-mid);}

/* Save button variants */
.btn-save.fae{background:linear-gradient(135deg,#6b21a8,#3b0764);border-color:#6b21a8;}
.btn-save.wolf{background:linear-gradient(135deg,#15803d,#052e16);border-color:#15803d;}
.btn-save.mage{background:linear-gradient(135deg,#0369a1,#082f49);border-color:#0369a1;}
.btn-save.hunter{background:linear-gradient(135deg,#b45309,#431407);border-color:#b45309;}
.btn-save.fae:hover{box-shadow:0 0 15px rgba(107,33,168,.5);}
.btn-save.wolf:hover{box-shadow:0 0 15px rgba(22,163,74,.4);}
.btn-save.mage:hover{box-shadow:0 0 15px rgba(14,165,233,.4);}
.btn-save.hunter:hover{box-shadow:0 0 15px rgba(180,83,9,.5);}

/* Modal type buttons per WoD system */
.type-btn.active.vampire{background:rgba(139,0,0,.2);color:var(--bone);border-bottom-color:var(--blood);}
.type-btn.active.changeling{background:rgba(107,33,168,.2);color:var(--bone);border-bottom-color:var(--glamour);}
.type-btn.active.werewolf{background:rgba(22,163,74,.15);color:var(--bone);border-bottom-color:var(--wolf-mid);}
.type-btn.active.mage{background:rgba(14,165,233,.15);color:var(--bone);border-bottom:2px solid var(--mage-mid);}

/* Hunter sheet-section extras */
.sheet-section.hunter{border-color:rgba(180,83,9,.2);background:linear-gradient(135deg,rgba(26,10,0,.8),rgba(18,9,14,.9));}
.sheet-section-title.hunter{color:var(--hunter-bright);}
.sheet-section-title.hunter::before{background:linear-gradient(270deg,transparent,rgba(180,83,9,.35));}
.sheet-section-title.hunter::after{background:linear-gradient(90deg,transparent,rgba(180,83,9,.35));}
.sheet-header-section.hunter{border-top-color:var(--hunter-mid);border-color:rgba(180,83,9,.2);background:linear-gradient(135deg,rgba(26,10,0,.85),rgba(18,9,14,.9));}
.sheet-header-section.hunter::before{content:'Hunter · The Reckoning';color:var(--hunter-bright);}
.sheet-field-label.hunter{color:var(--hunter-bright);}
.sheet-field-input.hunter{border-bottom-color:rgba(180,83,9,.25);}
.sheet-field-input.hunter:focus{border-bottom-color:var(--hunter-mid);}
.sheet-textarea.hunter{border-color:rgba(180,83,9,.15);}
.sheet-textarea.hunter:focus{border-color:rgba(180,83,9,.4);}
.attr-col-title.hunter{border-bottom-color:rgba(180,83,9,.2);color:var(--hunter-bright);}
.discipline-name-input.hunter{border-bottom-color:rgba(180,83,9,.2);}
.discipline-name-input.hunter:focus{border-bottom-color:var(--hunter-mid);}
.custom-name-input.hunter{border-bottom-color:rgba(180,83,9,.2);}
.custom-name-input.hunter:focus{border-bottom-color:var(--hunter-mid);}


/* ===== PER-SYSTEM THEMES ===== */

/* Dungeon World */
:root{--dw-mid:#7c3aed;--dw-bright:#a78bfa;--dw-glow:rgba(124,58,237,.4);}
.sheet-card.dw{border-top-color:rgba(124,58,237,.6);background:linear-gradient(135deg,rgba(20,10,40,.9),rgba(18,9,14,.95));}
.sheet-card.dw::before{background:linear-gradient(135deg,rgba(124,58,237,.08),transparent);}
.sheet-card.dw:hover{border-color:rgba(124,58,237,.4);box-shadow:0 8px 30px rgba(0,0,0,.5),0 0 20px rgba(124,58,237,.12);}
.sheet-card.dw .sheet-card-info-overlay{background:rgba(20,10,40,.75);}
body.light .sheet-card.dw{background:linear-gradient(135deg,rgba(237,233,247,.95),rgba(228,217,200,.98));border-top-color:rgba(109,40,217,.5);}
body.light .sheet-card.dw .sheet-card-info-overlay{background:rgba(237,233,247,.5);}
.sheet-type-badge.dw{color:#a78bfa;border-color:rgba(124,58,237,.4);}
.dw .sheet-section-title,.dw.sheet-section-title{color:#a78bfa;}
.dw.sheet-section{border-color:rgba(124,58,237,.2);border-top-color:rgba(124,58,237,.5);}
.dw.sheet-field-label{color:#a78bfa;}
.dw.sheet-textarea,.dw.sheet-field-input{border-color:rgba(124,58,237,.25);}
.dw.sheet-textarea:focus,.dw.sheet-field-input:focus{border-color:var(--dw-mid);}
.dw.btn-save{background:linear-gradient(135deg,rgba(124,58,237,.8),rgba(109,40,217,.9));}
/* DW stat block */
.dw-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem 1.2rem;}
.dw-stat{display:flex;flex-direction:column;align-items:center;border:1px solid rgba(124,58,237,.2);padding:.5rem .4rem;gap:.2rem;}
.dw-stat-label{font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:#a78bfa;}
.dw-stat-score{font-family:'Cinzel',serif;font-size:1.4rem;color:var(--bone);line-height:1;}
.dw-stat-mod{font-family:'EB Garamond',serif;font-size:.85rem;color:var(--silver);}
.dw-stat-debility{display:flex;align-items:center;gap:.25rem;margin-top:.15rem;font-family:'EB Garamond',serif;font-size:.7rem;color:rgba(168,152,128,.5);font-style:italic;}
.dw-stat input[type=number]{width:3rem;background:none;border:none;border-bottom:1px solid rgba(124,58,237,.3);color:var(--bone);font-family:'Cinzel',serif;font-size:1.4rem;text-align:center;outline:none;padding:.1rem 0;}
.dw-stat input[type=number]:focus{border-bottom-color:var(--dw-mid);}
.dw-stat input[type=checkbox]{accent-color:var(--dw-mid);width:12px;height:12px;cursor:pointer;flex-shrink:0;}
.dw-move-entry,.dw-bond-entry,.dw-gear-entry{margin-bottom:.5rem;border-bottom:1px solid rgba(124,58,237,.1);padding-bottom:.4rem;}
.dw-move-entry:last-child,.dw-bond-entry:last-child,.dw-gear-entry:last-child{border-bottom:none;}
.dw-row-top{display:flex;align-items:center;gap:.4rem;min-width:0;}
.dw-name-input{flex:1 1 0;min-width:0;background:none;border:none;border-bottom:1px solid rgba(124,58,237,.2);color:var(--bone);font-family:'EB Garamond',serif;font-size:.9rem;padding:.1rem .2rem;outline:none;}
.dw-name-input:focus{border-bottom-color:var(--dw-mid);}
.dw-num-input{width:2.8rem;flex-shrink:0;background:none;border:none;border-bottom:1px solid rgba(124,58,237,.2);color:#a78bfa;font-family:'EB Garamond',serif;font-size:.85rem;padding:.1rem .2rem;outline:none;text-align:center;}
.dw-num-input:focus{border-bottom-color:var(--dw-mid);}
.dw-tags-input{flex:1 1 0;min-width:0;background:none;border:none;border-bottom:1px dashed rgba(124,58,237,.15);color:rgba(168,152,128,.6);font-family:'EB Garamond',serif;font-size:.75rem;font-style:italic;padding:.1rem .2rem;outline:none;}
.dw-tags-input:focus{border-bottom-color:rgba(124,58,237,.3);}
.dw-desc-input{width:100%;margin-top:.25rem;background:rgba(0,0,0,.12);border:none;border-left:2px solid rgba(124,58,237,.2);color:var(--silver);font-family:'EB Garamond',serif;font-size:.82rem;padding:.3rem .5rem;outline:none;resize:vertical;min-height:2rem;line-height:1.4;font-style:italic;}
.dw-desc-input:focus{border-left-color:var(--dw-mid);}
.dw-remove{background:none;border:none;color:rgba(248,113,113,.35);cursor:pointer;font-size:.8rem;flex-shrink:0;padding:0 .15rem;transition:color .2s;}
.dw-remove:hover{color:#f87171;}
.dw-add{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;cursor:pointer;opacity:.45;transition:opacity .2s;}
.dw-add:hover{opacity:.85;}
.dw-add-icon,.dw-add-label{font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--silver);}
.dw-hp-bar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;}
.dw-hp-field{display:flex;flex-direction:column;align-items:center;gap:.2rem;}
.dw-hp-label{font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;color:#a78bfa;}
.dw-hp-val{background:none;border:none;border-bottom:2px solid rgba(124,58,237,.3);color:var(--bone);font-family:'Cinzel',serif;font-size:1.6rem;width:3.5rem;text-align:center;outline:none;}
.dw-hp-val:focus{border-bottom-color:var(--dw-mid);}
.dw-inline-field{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;}
.dw-inline-label{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:#a78bfa;flex-shrink:0;width:5rem;}
.dw-inline-val{flex:1;background:none;border:none;border-bottom:1px solid rgba(124,58,237,.2);color:var(--bone);font-family:'EB Garamond',serif;font-size:.9rem;padding:.1rem .2rem;outline:none;}
.dw-inline-val:focus{border-bottom-color:var(--dw-mid);}


/* D&D 5e theme */
:root{--dnd-mid:#b45309;--dnd-bright:#f59e0b;--dnd-glow:rgba(180,83,9,.4);}
.sheet-card.dnd{border-top-color:rgba(180,83,9,.6);background:linear-gradient(135deg,rgba(30,15,5,.9),rgba(18,9,14,.95));}
.sheet-card.dnd::before{background:linear-gradient(135deg,rgba(180,83,9,.08),transparent);}
.sheet-card.dnd:hover{border-color:rgba(180,83,9,.4);box-shadow:0 8px 30px rgba(0,0,0,.5),0 0 20px rgba(180,83,9,.15);}
.sheet-card.dnd .sheet-card-info-overlay{background:rgba(30,15,5,.75);}
body.light .sheet-card.dnd{background:linear-gradient(135deg,rgba(255,247,237,.95),rgba(228,217,200,.98));border-top-color:rgba(180,83,9,.5);}
body.light .sheet-card.dnd .sheet-card-info-overlay{background:rgba(255,247,237,.5);}
.sheet-type-badge.dnd{color:#f59e0b;border-color:rgba(180,83,9,.4);}
.dnd .sheet-section-title,.dnd.sheet-section-title{color:#f59e0b;}
.dnd.sheet-section{border-color:rgba(180,83,9,.2);border-top-color:rgba(180,83,9,.5);}
.dnd.sheet-field-label{color:#f59e0b;}
.dnd.sheet-textarea,.dnd.sheet-field-input{border-color:rgba(180,83,9,.25);}
.dnd.sheet-textarea:focus,.dnd.sheet-field-input:focus{border-color:var(--dnd-mid);}
.dnd.btn-save{background:linear-gradient(135deg,rgba(180,83,9,.8),rgba(146,64,14,.9));}
/* D&D PHB-style page-1 layout — 3 columns on desktop, stacks below 1100px,
   matches the recognisable WotC sheet. .dnd-col children align to start so
   sections don't stretch to match the tallest column. */
.dnd-page1-grid{display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:1.2rem;align-items:start;margin-bottom:1.5rem;}
.dnd-col{display:flex;flex-direction:column;gap:1rem;min-width:0;}
.dnd-col .sheet-section{margin:0;}
@media (max-width:1100px){
  .dnd-page1-grid{grid-template-columns:1fr;}
}
/* Profile + Spells tab panels live alongside .sheet-columns inside .sheet-body
   so they inherit the same outer padding. */
.sheet-profile-panel,.sheet-spells-panel{margin-bottom:1.5rem;}
/* D&D stat block */
.dnd-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem 1.2rem;}
.dnd-stat{display:flex;flex-direction:column;align-items:center;border:1px solid rgba(180,83,9,.2);padding:.5rem .4rem;gap:.15rem;}
.dnd-stat-label{font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:#f59e0b;}
.dnd-stat-score{font-family:'Cinzel',serif;font-size:1.3rem;color:var(--bone);line-height:1;}
.dnd-stat-mod{font-family:'EB Garamond',serif;font-size:.9rem;color:var(--silver);}
.dnd-stat input[type=number]{width:3rem;background:none;border:none;border-bottom:1px solid rgba(180,83,9,.3);color:var(--bone);font-family:'Cinzel',serif;font-size:1.3rem;text-align:center;outline:none;padding:.1rem 0;}
.dnd-stat input[type=number]:focus{border-bottom-color:var(--dnd-mid);}
.dnd-save-row,.dnd-skill-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem;font-family:'EB Garamond',serif;font-size:.85rem;color:var(--silver);}
.dnd-save-row input[type=checkbox],.dnd-skill-row input[type=checkbox]{accent-color:var(--dnd-mid);width:12px;height:12px;cursor:pointer;flex-shrink:0;}
.dnd-save-name,.dnd-skill-name{flex:1;min-width:0;}
.dnd-skill-ability{font-size:.72rem;opacity:.55;flex-shrink:0;font-style:italic;}
.dnd-skill-mod{font-family:'Cinzel',serif;font-size:.72rem;color:#f59e0b;flex-shrink:0;width:2rem;text-align:right;}
.dnd-vitals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem 1rem;}
.dnd-vital{display:flex;flex-direction:column;align-items:center;gap:.2rem;}
.dnd-vital-label{font-family:'Cinzel',serif;font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;color:#f59e0b;}
.dnd-vital-val{background:none;border:none;border-bottom:2px solid rgba(180,83,9,.3);color:var(--bone);font-family:'Cinzel',serif;font-size:1.4rem;width:3.5rem;text-align:center;outline:none;}
.dnd-vital-val:focus{border-bottom-color:var(--dnd-mid);}
.dnd-death-saves{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:.6rem;}
.dnd-death-label{font-family:'Cinzel',serif;font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:#f59e0b;}
.dnd-death-pips{display:flex;gap:.3rem;}
.dnd-death-pip{width:14px;height:14px;border-radius:50%;border:1px solid rgba(180,83,9,.4);background:transparent;cursor:pointer;transition:all .2s;}
.dnd-death-pip.success.filled{background:#4ade80;border-color:#4ade80;}
.dnd-death-pip.fail.filled{background:#f87171;border-color:#f87171;}
.dnd-attack-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem;flex-wrap:wrap;}
.dnd-atk-name{flex:1 1 0;min-width:6rem;background:none;border:none;border-bottom:1px solid rgba(180,83,9,.2);color:var(--bone);font-family:'EB Garamond',serif;font-size:.88rem;padding:.1rem .2rem;outline:none;}
.dnd-atk-name:focus{border-bottom-color:var(--dnd-mid);}
.dnd-atk-bonus,.dnd-atk-dmg{width:4rem;flex-shrink:0;background:none;border:none;border-bottom:1px solid rgba(180,83,9,.2);color:#f59e0b;font-family:'EB Garamond',serif;font-size:.85rem;padding:.1rem .2rem;outline:none;text-align:center;}
.dnd-atk-bonus:focus,.dnd-atk-dmg:focus{border-bottom-color:var(--dnd-mid);}
.dnd-atk-type{width:4.5rem;flex-shrink:0;background:none;border:none;border-bottom:1px dashed rgba(180,83,9,.15);color:rgba(168,152,128,.55);font-family:'EB Garamond',serif;font-size:.75rem;font-style:italic;padding:.1rem .2rem;outline:none;}
.dnd-spell-slot-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem;flex-wrap:wrap;}
.dnd-spell-level-label{font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#f59e0b;width:4rem;flex-shrink:0;}
.dnd-slot-pips{display:flex;gap:.3rem;flex-wrap:wrap;}
.dnd-slot-pip{width:14px;height:14px;border-radius:50%;border:1px solid rgba(180,83,9,.4);background:transparent;cursor:pointer;transition:all .2s;}
.dnd-slot-pip.filled{background:#f59e0b;border-color:#f59e0b;}
.dnd-feature-entry{margin-bottom:.5rem;border-bottom:1px solid rgba(180,83,9,.1);padding-bottom:.4rem;}
.dnd-feature-entry:last-child{border-bottom:none;}
.dnd-feat-top{display:flex;align-items:center;gap:.4rem;min-width:0;}
.dnd-feat-name{flex:1 1 0;min-width:0;background:none;border:none;border-bottom:1px solid rgba(180,83,9,.2);color:var(--bone);font-family:'EB Garamond',serif;font-size:.9rem;padding:.1rem .2rem;outline:none;}
.dnd-feat-name:focus{border-bottom-color:var(--dnd-mid);}
.dnd-feat-source{width:5rem;flex-shrink:0;background:none;border:none;border-bottom:1px dashed rgba(180,83,9,.15);color:rgba(168,152,128,.55);font-family:'EB Garamond',serif;font-size:.75rem;font-style:italic;padding:.1rem .2rem;outline:none;}
.dnd-feat-desc{width:100%;margin-top:.25rem;background:rgba(0,0,0,.12);border:none;border-left:2px solid rgba(180,83,9,.2);color:var(--silver);font-family:'EB Garamond',serif;font-size:.82rem;padding:.3rem .5rem;outline:none;resize:vertical;min-height:2rem;line-height:1.4;font-style:italic;}
.dnd-feat-desc:focus{border-left-color:var(--dnd-mid);}
.dnd-remove{background:none;border:none;color:rgba(248,113,113,.35);cursor:pointer;font-size:.8rem;flex-shrink:0;padding:0 .15rem;transition:color .2s;}
.dnd-remove:hover{color:#f87171;}
.dnd-add{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;cursor:pointer;opacity:.45;transition:opacity .2s;}
.dnd-add:hover{opacity:.85;}
.dnd-add-label{font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--silver);}
.dnd-currency{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.4rem;}
.dnd-coin{display:flex;flex-direction:column;align-items:center;gap:.2rem;}
.dnd-coin-label{font-family:'Cinzel',serif;font-size:.48rem;letter-spacing:.15em;text-transform:uppercase;color:#f59e0b;}
.dnd-coin-val{background:none;border:none;border-bottom:1px solid rgba(180,83,9,.2);color:var(--bone);font-family:'Cinzel',serif;font-size:1rem;width:3rem;text-align:center;outline:none;}
/* D&D multi-class entry rows */
.dnd-class-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem;flex-wrap:wrap;min-width:0;}
.dnd-class-row .dnd-class-sel{flex:1 1 8rem;min-width:0;max-width:11rem;font-size:.85rem;padding:.2rem .3rem;}
.dnd-class-row .dnd-subclass-inp{flex:1 1 6rem;min-width:0;font-size:.85rem;padding:.2rem .3rem;}
.dnd-class-sep{font-family:'Cinzel',serif;color:#f59e0b;opacity:.6;font-size:.9rem;flex-shrink:0;}
.dnd-class-lvl{width:3rem;background:none;border:none;border-bottom:1px solid rgba(180,83,9,.3);color:var(--bone);font-family:'Cinzel',serif;font-size:1rem;text-align:center;outline:none;padding:.1rem 0;flex-shrink:0;}
.dnd-class-lvl:focus{border-bottom-color:var(--dnd-mid);}
.dnd-class-remove{background:none;border:none;color:rgba(248,113,113,.4);cursor:pointer;font-size:.85rem;flex-shrink:0;padding:0 .2rem;}
.dnd-class-remove:hover{color:#f87171;}
.dnd-class-row-ro{font-family:'EB Garamond',serif;font-size:.95rem;color:var(--bone);padding:.2rem 0;border-bottom:1px dashed rgba(180,83,9,.2);}
.dnd-add-class-btn{background:rgba(180,83,9,.08);border:1px dashed rgba(180,83,9,.4);color:#f59e0b;font-family:'Cinzel',serif;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;padding:.4rem .7rem;cursor:pointer;border-radius:2px;margin-top:.3rem;width:100%;text-align:center;}
.dnd-add-class-btn:hover{background:rgba(180,83,9,.18);border-color:#b45309;color:#fbbf24;}
.dnd-class-total{font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:#f59e0b;opacity:.75;margin-top:.4rem;padding-top:.3rem;border-top:1px dashed rgba(180,83,9,.2);}
/* D&D 5e — new field families: chip row, hit dice, spellcasting summary,
   personality grid, biography. */
.dnd-chip-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem;}
.dnd-chip{display:flex;align-items:center;gap:.5rem;padding:.4rem .7rem;border:1px solid rgba(180,83,9,.3);background:rgba(180,83,9,.06);border-radius:2px;}
.dnd-chip-label{font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:#f59e0b;}
.dnd-chip-val{font-family:'Cinzel',serif;font-size:1.05rem;color:var(--bone);font-weight:600;}
.dnd-chip-note{font-family:'EB Garamond',serif;font-size:.72rem;color:var(--silver);opacity:.55;font-style:italic;margin-left:.25rem;}
.dnd-chip-inspiration{transition:background .15s,border-color .15s;}
.dnd-chip-inspiration.dnd-chip-on{background:rgba(245,158,11,.18);border-color:#f59e0b;}
.dnd-chip-inspiration.dnd-chip-on .dnd-chip-val{color:#fde68a;}
.dnd-vital-hint{font-family:'EB Garamond',serif;font-size:.65rem;color:var(--silver);opacity:.5;font-style:italic;margin-top:.1rem;}
.dnd-hd-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.8rem;padding:.5rem .6rem;border:1px solid rgba(180,83,9,.18);background:rgba(180,83,9,.04);}
.dnd-hd-total{background:none;border:none;border-bottom:1px solid rgba(180,83,9,.3);color:var(--bone);font-family:'Cinzel',serif;font-size:.95rem;flex:1;min-width:5rem;text-align:left;padding:.1rem .3rem;outline:none;}
.dnd-hd-pips{display:flex;gap:.3rem;flex-wrap:wrap;}
.dnd-hd-pip{width:14px;height:14px;border-radius:2px;border:1px solid rgba(180,83,9,.5);background:transparent;cursor:pointer;transition:all .15s;}
.dnd-hd-pip.filled{background:#b45309;border-color:#b45309;}
.dnd-hd-used{font-family:'EB Garamond',serif;font-size:.72rem;color:var(--silver);opacity:.65;font-style:italic;}
.dnd-textarea-row{margin-top:.8rem;}
.dnd-mini-ta{min-height:42px !important;font-size:.82rem !important;}
.dnd-spellcast-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem;padding:.6rem;background:rgba(180,83,9,.05);border:1px solid rgba(180,83,9,.2);border-radius:2px;}
.dnd-spellcast-cell{display:flex;flex-direction:column;align-items:center;gap:.2rem;}
.dnd-spellcast-val{font-family:'Cinzel',serif;font-size:1.2rem;color:var(--bone);}
.dnd-spell-ability-sel{background:rgba(0,0,0,.25);border:1px solid rgba(180,83,9,.3);color:#f59e0b;font-family:'Cinzel',serif;font-size:.85rem;padding:.2rem .4rem;outline:none;}
.dnd-subsection-title{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#f59e0b;margin:1rem 0 .4rem;padding-bottom:.2rem;border-bottom:1px dashed rgba(180,83,9,.2);}
.dnd-spells-head{display:flex;gap:.5rem;padding:0 .15rem;font-family:'Cinzel',serif;font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;color:#f59e0b;opacity:.7;margin-bottom:.3rem;}
.dnd-spells-head-lv{width:2rem;text-align:center;}
.dnd-spells-head-pp{width:1.2rem;text-align:center;}
.dnd-spells-head-nm{flex:1;}
.dnd-spell-entry{margin-bottom:.4rem;}
.dnd-spell-row{display:flex;align-items:center;gap:.5rem;}
.dnd-spell-lv{width:2rem;background:none;border:none;border-bottom:1px solid rgba(180,83,9,.2);color:#f59e0b;font-family:'Cinzel',serif;font-size:.85rem;text-align:center;outline:none;}
.dnd-spell-prep{width:14px;height:14px;accent-color:var(--dnd-mid);cursor:pointer;flex-shrink:0;}
.dnd-spell-name{flex:1;background:none;border:none;border-bottom:1px solid rgba(180,83,9,.2);color:var(--bone);font-family:'EB Garamond',serif;font-size:.88rem;padding:.1rem .2rem;outline:none;}
.dnd-spell-name:focus{border-bottom-color:var(--dnd-mid);}
/* D&D spell cards — read-only Spells tab view. Styled to evoke the
   printable D&D spell-card tradition: parchment background, deep-red
   small-caps title, italic school subtitle, bold inline metadata
   labels, classic "At Higher Levels" divider. Cards sit in a flex
   grid that goes 2-3 columns on wider screens. */
.dnd-spell-card-section{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:#f59e0b;margin:1.5rem 0 .7rem;padding-bottom:.3rem;border-bottom:1px solid rgba(180,83,9,.25);}
.dnd-spell-card-section:first-child{margin-top:.3rem;}
.dnd-spell-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem;margin-bottom:.8rem;}
.dnd-spell-card{position:relative;background:#ede5d2;border:2px solid #2c2620;border-radius:10px;padding:1.1rem 1.1rem 1.2rem;box-shadow:inset 0 0 0 1px #ede5d2, inset 0 0 0 2px #8e7d5c, 0 2px 6px rgba(0,0,0,.45);font-family:'EB Garamond',serif;color:#1a1f50;}
.dnd-spell-card-tag{font-family:'EB Garamond',serif;font-style:italic;font-size:.78rem;color:#6b4a1a;background:rgba(180,83,9,.08);border-left:2px solid #b8741a;padding:.25rem .5rem;margin-bottom:.7rem;border-radius:2px;line-height:1.35;}
.dnd-spell-card-title{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.1rem;}
.dnd-spell-card-name{font-family:'Cinzel',serif;font-variant:small-caps;font-size:1.35rem;color:#7a1f1f;letter-spacing:.04em;line-height:1.15;flex:1;}
.dnd-spell-card-prepared{color:#b8741a;font-size:1rem;flex-shrink:0;}
.dnd-spell-card-school{font-style:italic;font-size:.85rem;color:#4a4035;margin-bottom:.65rem;}
.dnd-spell-card-meta{margin-bottom:.7rem;line-height:1.5;}
.dnd-spell-card-meta-row{font-size:.85rem;color:#1a1f50;}
.dnd-spell-card-meta-label{font-weight:700;color:#1a1f50;}
.dnd-spell-card-body{font-size:.88rem;line-height:1.45;color:#1a1f50;white-space:pre-wrap;margin-bottom:.4rem;}
.dnd-spell-card-higher-title{font-family:'Cinzel',serif;font-variant:small-caps;font-size:.95rem;color:#7a1f1f;letter-spacing:.05em;margin-top:.85rem;padding-bottom:.15rem;border-bottom:1px solid rgba(180,83,9,.5);}
.dnd-spell-card-higher-body{font-size:.85rem;line-height:1.45;color:#1a1f50;white-space:pre-wrap;margin-top:.45rem;}
/* Stack personality / ideals / bonds / flaws as a 1x4 vertical column —
   matches the PHB sheet's right-column layout and reads as discrete
   beats rather than a 2x2 grid. */
.dnd-personality-grid{display:flex;flex-direction:column;gap:1rem;}
.dnd-personality-field{display:flex;flex-direction:column;gap:.3rem;}
.dnd-personality-field textarea{min-height:60px;}
.dnd-bio-details{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:.6rem;}
.dnd-bio-detail{display:flex;flex-direction:column;align-items:center;gap:.2rem;}
.dnd-bio-detail input{font-size:.9rem !important;width:3.5rem !important;}
.dnd-bio-block{margin-top:.5rem;}
@media (max-width:640px){
  .dnd-spellcast-summary{grid-template-columns:1fr;gap:.4rem;}
}
/* Pathfinder 2e */
:root{--pf-mid:#16a34a;--pf-bright:#4ade80;}
.sheet-card.pf{border-top-color:rgba(22,163,74,.6);background:linear-gradient(135deg,rgba(5,20,10,.9),rgba(18,9,14,.95));}
.sheet-card.pf .sheet-card-info-overlay{background:rgba(5,20,10,.75);}
.sheet-type-badge.pf{color:#4ade80;border-color:rgba(22,163,74,.4);}
.pf .sheet-section-title,.pf.sheet-section-title{color:#4ade80;}
.pf.sheet-section{border-color:rgba(22,163,74,.2);border-top-color:rgba(22,163,74,.5);}
.pf.btn-save{background:linear-gradient(135deg,rgba(22,163,74,.8),rgba(15,118,54,.9));}
body.light .sheet-card.pf .sheet-card-info-overlay{background:rgba(220,252,231,.5);}

/* Dragonbane */
:root{--db-mid:#0891b2;--db-bright:#22d3ee;}
.sheet-card.db{border-top-color:rgba(8,145,178,.6);background:linear-gradient(135deg,rgba(5,15,25,.9),rgba(18,9,14,.95));}
.sheet-card.db .sheet-card-info-overlay{background:rgba(5,15,25,.75);}
.sheet-type-badge.db{color:#22d3ee;border-color:rgba(8,145,178,.4);}
.db .sheet-section-title,.db.sheet-section-title{color:#22d3ee;}
.db.sheet-section{border-color:rgba(8,145,178,.2);border-top-color:rgba(8,145,178,.5);}
.db.btn-save{background:linear-gradient(135deg,rgba(8,145,178,.8),rgba(6,108,134,.9));}
body.light .sheet-card.db .sheet-card-info-overlay{background:rgba(224,242,254,.5);}

/* Call of Cthulhu */
:root{--coc-mid:#78350f;--coc-bright:#d97706;}
.sheet-card.coc{border-top-color:rgba(120,53,15,.6);background:linear-gradient(135deg,rgba(20,12,5,.9),rgba(18,9,14,.95));}
.sheet-card.coc .sheet-card-info-overlay{background:rgba(20,12,5,.75);}
.sheet-type-badge.coc{color:#d97706;border-color:rgba(120,53,15,.4);}
.coc .sheet-section-title,.coc.sheet-section-title{color:#d97706;}
.coc.sheet-section{border-color:rgba(120,53,15,.2);border-top-color:rgba(120,53,15,.5);}
.coc.btn-save{background:linear-gradient(135deg,rgba(120,53,15,.8),rgba(92,39,10,.9));}
body.light .sheet-card.coc .sheet-card-info-overlay{background:rgba(255,247,235,.5);}

/* Shadowdark */
:root{--sd-mid:#6d28d9;--sd-bright:#c4b5fd;}
.sheet-card.sd{border-top-color:rgba(109,40,217,.6);background:linear-gradient(135deg,rgba(12,5,25,.9),rgba(18,9,14,.95));}
.sheet-card.sd .sheet-card-info-overlay{background:rgba(12,5,25,.75);}
.sheet-type-badge.sd{color:#c4b5fd;border-color:rgba(109,40,217,.4);}
.sd .sheet-section-title,.sd.sheet-section-title{color:#c4b5fd;}
.sd.sheet-section{border-color:rgba(109,40,217,.2);border-top-color:rgba(109,40,217,.5);}
.sd.btn-save{background:linear-gradient(135deg,rgba(109,40,217,.8),rgba(82,30,162,.9));}
body.light .sheet-card.sd .sheet-card-info-overlay{background:rgba(237,233,247,.5);}

/* Kids on Bikes */
:root{--kob-mid:#be185d;--kob-bright:#f472b6;}
.sheet-card.kob{border-top-color:rgba(190,24,93,.6);background:linear-gradient(135deg,rgba(25,5,15,.9),rgba(18,9,14,.95));}
.sheet-card.kob .sheet-card-info-overlay{background:rgba(25,5,15,.75);}
.sheet-type-badge.kob{color:#f472b6;border-color:rgba(190,24,93,.4);}
.kob .sheet-section-title,.kob.sheet-section-title{color:#f472b6;}
.kob.sheet-section{border-color:rgba(190,24,93,.2);border-top-color:rgba(190,24,93,.5);}
.kob.btn-save{background:linear-gradient(135deg,rgba(190,24,93,.8),rgba(157,23,77,.9));}
body.light .sheet-card.kob .sheet-card-info-overlay{background:rgba(253,242,248,.5);}

/* Monster of the Week */
:root{--motw-mid:#b91c1c;--motw-bright:#f87171;}
.sheet-card.motw{border-top-color:rgba(185,28,28,.6);background:linear-gradient(135deg,rgba(20,5,5,.9),rgba(18,9,14,.95));}
.sheet-card.motw .sheet-card-info-overlay{background:rgba(20,5,5,.75);}
.sheet-type-badge.motw{color:#f87171;border-color:rgba(185,28,28,.4);}
.motw .sheet-section-title,.motw.sheet-section-title{color:#f87171;}
.motw.sheet-section{border-color:rgba(185,28,28,.2);border-top-color:rgba(185,28,28,.5);}
.motw.btn-save{background:linear-gradient(135deg,rgba(185,28,28,.8),rgba(153,27,27,.9));}
body.light .sheet-card.motw .sheet-card-info-overlay{background:rgba(254,242,242,.5);}

/* Cyberpunk RED */
:root{--cp-mid:#dc2626;--cp-bright:#f87171;}
.sheet-card.cp{border-top-color:rgba(220,38,38,.7);background:linear-gradient(135deg,rgba(20,4,4,.9),rgba(18,9,14,.95));}
.sheet-card.cp .sheet-card-info-overlay{background:rgba(20,4,4,.75);}
.sheet-type-badge.cp{color:#f87171;border-color:rgba(220,38,38,.4);}
.cp .sheet-section-title,.cp.sheet-section-title{color:#f87171;}
.cp.sheet-section{border-color:rgba(220,38,38,.2);border-top-color:rgba(220,38,38,.5);}
body.light .sheet-card.cp .sheet-card-info-overlay{background:rgba(254,242,242,.5);}

/* Starfinder */
:root{--sf-mid:#0284c7;--sf-bright:#38bdf8;}
.sheet-card.sf{border-top-color:rgba(2,132,199,.7);background:linear-gradient(135deg,rgba(4,12,24,.9),rgba(18,9,14,.95));}
.sheet-card.sf .sheet-card-info-overlay{background:rgba(4,12,24,.75);}
.sheet-type-badge.sf{color:#38bdf8;border-color:rgba(2,132,199,.4);}
.sf .sheet-section-title,.sf.sheet-section-title{color:#38bdf8;}
.sf.sheet-section{border-color:rgba(2,132,199,.2);border-top-color:rgba(2,132,199,.5);}
body.light .sheet-card.sf .sheet-card-info-overlay{background:rgba(224,242,254,.5);}

/* Warhammer Fantasy Roleplay */
:root{--wfrp-mid:#a16207;--wfrp-bright:#eab308;}
.sheet-card.wfrp{border-top-color:rgba(161,98,7,.7);background:linear-gradient(135deg,rgba(20,14,4,.9),rgba(18,9,14,.95));}
.sheet-card.wfrp .sheet-card-info-overlay{background:rgba(20,14,4,.75);}
.sheet-type-badge.wfrp{color:#eab308;border-color:rgba(161,98,7,.4);}
.wfrp .sheet-section-title,.wfrp.sheet-section-title{color:#eab308;}
.wfrp.sheet-section{border-color:rgba(161,98,7,.2);border-top-color:rgba(161,98,7,.5);}
body.light .sheet-card.wfrp .sheet-card-info-overlay{background:rgba(254,252,232,.5);}

/* Blades in the Dark */
:root{--bitd-mid:#475569;--bitd-bright:#94a3b8;}
.sheet-card.bitd{border-top-color:rgba(71,85,105,.7);background:linear-gradient(135deg,rgba(8,10,14,.9),rgba(18,9,14,.95));}
.sheet-card.bitd .sheet-card-info-overlay{background:rgba(8,10,14,.75);}
.sheet-type-badge.bitd{color:#94a3b8;border-color:rgba(71,85,105,.4);}
.bitd .sheet-section-title,.bitd.sheet-section-title{color:#94a3b8;}
.bitd.sheet-section{border-color:rgba(71,85,105,.2);border-top-color:rgba(71,85,105,.5);}
body.light .sheet-card.bitd .sheet-card-info-overlay{background:rgba(241,245,249,.5);}

/* Shadowrun */
:root{--sr-mid:#059669;--sr-bright:#34d399;}
.sheet-card.sr{border-top-color:rgba(5,150,105,.7);background:linear-gradient(135deg,rgba(4,16,12,.9),rgba(18,9,14,.95));}
.sheet-card.sr .sheet-card-info-overlay{background:rgba(4,16,12,.75);}
.sheet-type-badge.sr{color:#34d399;border-color:rgba(5,150,105,.4);}
.sr .sheet-section-title,.sr.sheet-section-title{color:#34d399;}
.sr.sheet-section{border-color:rgba(5,150,105,.2);border-top-color:rgba(5,150,105,.5);}
body.light .sheet-card.sr .sheet-card-info-overlay{background:rgba(236,253,245,.5);}

/* Fabula Ultima */
:root{--fu-mid:#7c3aed;--fu-bright:#a78bfa;}
.sheet-card.fu{border-top-color:rgba(124,58,237,.7);background:linear-gradient(135deg,rgba(12,6,30,.9),rgba(18,9,14,.95));}
.sheet-card.fu .sheet-card-info-overlay{background:rgba(12,6,30,.75);}
.sheet-type-badge.fu{color:#a78bfa;border-color:rgba(124,58,237,.4);}
.fu .sheet-section-title,.fu.sheet-section-title{color:#a78bfa;}
.fu.sheet-section{border-color:rgba(124,58,237,.2);border-top-color:rgba(124,58,237,.5);}
body.light .sheet-card.fu .sheet-card-info-overlay{background:rgba(245,243,255,.5);}

/* ALIEN RPG */
:root{--alien-mid:#4d7c0f;--alien-bright:#a3e635;}
.sheet-card.alien{border-top-color:rgba(77,124,15,.7);background:linear-gradient(135deg,rgba(6,14,4,.9),rgba(18,9,14,.95));}
.sheet-card.alien .sheet-card-info-overlay{background:rgba(6,14,4,.75);}
.sheet-type-badge.alien{color:#a3e635;border-color:rgba(77,124,15,.4);}
.alien .sheet-section-title,.alien.sheet-section-title{color:#a3e635;}
.alien.sheet-section{border-color:rgba(77,124,15,.2);border-top-color:rgba(77,124,15,.5);}
body.light .sheet-card.alien .sheet-card-info-overlay{background:rgba(247,254,231,.5);}

/* Delta Green */
:root{--dg-mid:#374151;--dg-bright:#9ca3af;}
.sheet-card.dg{border-top-color:rgba(55,65,81,.7);background:linear-gradient(135deg,rgba(8,10,12,.9),rgba(18,9,14,.95));}
.sheet-card.dg .sheet-card-info-overlay{background:rgba(8,10,12,.75);}
.sheet-type-badge.dg{color:#9ca3af;border-color:rgba(55,65,81,.4);}
.dg .sheet-section-title,.dg.sheet-section-title{color:#9ca3af;}
.dg.sheet-section{border-color:rgba(55,65,81,.2);border-top-color:rgba(55,65,81,.5);}
body.light .sheet-card.dg .sheet-card-info-overlay{background:rgba(249,250,251,.5);}

/* Savage Worlds */
:root{--sw-mid:#c2410c;--sw-bright:#fb923c;}
.sheet-card.sw{border-top-color:rgba(194,65,12,.7);background:linear-gradient(135deg,rgba(20,8,4,.9),rgba(18,9,14,.95));}
.sheet-card.sw .sheet-card-info-overlay{background:rgba(20,8,4,.75);}
.sheet-type-badge.sw{color:#fb923c;border-color:rgba(194,65,12,.4);}
.sw .sheet-section-title,.sw.sheet-section-title{color:#fb923c;}
.sw.sheet-section{border-color:rgba(194,65,12,.2);border-top-color:rgba(194,65,12,.5);}
body.light .sheet-card.sw .sheet-card-info-overlay{background:rgba(255,247,237,.5);}

/* Daggerheart */
:root{--dh-mid:#0e7490;--dh-bright:#22d3ee;}
.sheet-card.dh{border-top-color:rgba(14,116,144,.7);background:linear-gradient(135deg,rgba(4,14,18,.9),rgba(18,9,14,.95));}
.sheet-card.dh .sheet-card-info-overlay{background:rgba(4,14,18,.75);}
.sheet-type-badge.dh{color:#22d3ee;border-color:rgba(14,116,144,.4);}
.dh .sheet-section-title,.dh.sheet-section-title{color:#22d3ee;}
.dh.sheet-section{border-color:rgba(14,116,144,.2);border-top-color:rgba(14,116,144,.5);}
body.light .sheet-card.dh .sheet-card-info-overlay{background:rgba(236,254,255,.5);}

/* Vampire: The Masquerade 5e */
:root{--vtm-mid:#7f1d1d;--vtm-bright:#dc2626;}
.sheet-card.vtm{border-top-color:rgba(127,29,29,.8);background:linear-gradient(135deg,rgba(18,4,4,.95),rgba(10,5,8,.98));}
.sheet-card.vtm .sheet-card-info-overlay{background:rgba(18,4,4,.78);}
.sheet-type-badge.vtm{color:#dc2626;border-color:rgba(127,29,29,.45);}
.vtm .sheet-section-title,.vtm.sheet-section-title{color:#dc2626;}
.vtm.sheet-section{border-color:rgba(127,29,29,.2);border-top-color:rgba(127,29,29,.55);}
body.light .sheet-card.vtm .sheet-card-info-overlay{background:rgba(254,242,242,.5);}

/* Lancer */
:root{--lancer-mid:#1d4ed8;--lancer-bright:#60a5fa;}
.sheet-card.lancer{border-top-color:rgba(29,78,216,.7);background:linear-gradient(135deg,rgba(4,8,20,.93),rgba(10,10,18,.97));}
.sheet-card.lancer .sheet-card-info-overlay{background:rgba(4,8,20,.78);}
.sheet-type-badge.lancer{color:#60a5fa;border-color:rgba(29,78,216,.4);}
.lancer .sheet-section-title,.lancer.sheet-section-title{color:#60a5fa;}
.lancer.sheet-section{border-color:rgba(29,78,216,.2);border-top-color:rgba(29,78,216,.5);}
body.light .sheet-card.lancer .sheet-card-info-overlay{background:rgba(239,246,255,.5);}

/* MÖRK BORG */
:root{--mb-mid:#ca8a04;--mb-bright:#fde047;}
.sheet-card.mb{border-top-color:rgba(202,138,4,.75);background:linear-gradient(135deg,rgba(12,10,2,.95),rgba(18,14,4,.97));}
.sheet-card.mb .sheet-card-info-overlay{background:rgba(12,10,2,.78);}
.sheet-type-badge.mb{color:#fde047;border-color:rgba(202,138,4,.4);}
.mb .sheet-section-title,.mb.sheet-section-title{color:#fde047;}
.mb.sheet-section{border-color:rgba(202,138,4,.2);border-top-color:rgba(202,138,4,.5);}
body.light .sheet-card.mb .sheet-card-info-overlay{background:rgba(254,252,232,.5);}

/* Mothership */
:root{--ms-mid:#0f766e;--ms-bright:#2dd4bf;}
.sheet-card.ms{border-top-color:rgba(15,118,110,.7);background:linear-gradient(135deg,rgba(2,14,12,.93),rgba(10,14,18,.97));}
.sheet-card.ms .sheet-card-info-overlay{background:rgba(2,14,12,.78);}
.sheet-type-badge.ms{color:#2dd4bf;border-color:rgba(15,118,110,.4);}
.ms .sheet-section-title,.ms.sheet-section-title{color:#2dd4bf;}
.ms.sheet-section{border-color:rgba(15,118,110,.2);border-top-color:rgba(15,118,110,.5);}
body.light .sheet-card.ms .sheet-card-info-overlay{background:rgba(240,253,250,.5);}

/* Dark Heresy 2 */
:root{--dh2-mid:#7c2d12;--dh2-bright:#f97316;}
.sheet-card.dh2{border-top-color:rgba(124,45,18,.75);background:linear-gradient(135deg,rgba(16,6,2,.95),rgba(18,10,6,.97));}
.sheet-card.dh2 .sheet-card-info-overlay{background:rgba(16,6,2,.78);}
.sheet-type-badge.dh2{color:#f97316;border-color:rgba(124,45,18,.4);}
.dh2 .sheet-section-title,.dh2.sheet-section-title{color:#f97316;}
.dh2.sheet-section{border-color:rgba(124,45,18,.2);border-top-color:rgba(124,45,18,.5);}
body.light .sheet-card.dh2 .sheet-card-info-overlay{background:rgba(255,247,237,.5);}


/* ===== Shared generic RPG UI (reusable across most non-WoD systems) ===== */
.grpg-stat-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;flex-wrap:wrap;}
.grpg-stat-label{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--silver);width:3.5rem;flex-shrink:0;}
.grpg-stat-val{background:none;border:none;border-bottom:1px solid rgba(139,0,0,.2);color:var(--bone);font-family:'Cinzel',serif;font-size:.95rem;width:3.2rem;text-align:center;outline:none;padding:.1rem 0;}
.grpg-stat-val:focus{border-bottom-color:var(--blood);}
.grpg-stat-note{font-family:'EB Garamond',serif;font-size:.75rem;color:var(--silver);opacity:.6;font-style:italic;}
.grpg-check-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem;font-family:'EB Garamond',serif;font-size:.88rem;color:var(--silver);}
.grpg-check-row input[type=checkbox]{accent-color:var(--blood);width:13px;height:13px;cursor:pointer;flex-shrink:0;}
.grpg-pips{display:flex;gap:.25rem;}
.grpg-pip{width:13px;height:13px;border-radius:50%;border:1px solid rgba(139,0,0,.4);background:transparent;cursor:pointer;transition:all .2s;}
.grpg-pip.filled{background:var(--blood-bright);border-color:var(--blood-bright);}
.grpg-dice-select{background:none;border:none;border-bottom:1px solid rgba(139,0,0,.2);color:var(--gold);font-family:'Cinzel',serif;font-size:.82rem;outline:none;cursor:pointer;}
.grpg-feat-entry{margin-bottom:.5rem;border-bottom:1px solid rgba(139,0,0,.08);padding-bottom:.35rem;}
.grpg-feat-entry:last-child{border-bottom:none;}
.grpg-name-input{flex:1 1 0;min-width:0;background:none;border:none;border-bottom:1px solid rgba(139,0,0,.2);color:var(--bone);font-family:'EB Garamond',serif;font-size:.9rem;padding:.1rem .2rem;outline:none;}
.grpg-val-input{width:3.5rem;flex-shrink:0;background:none;border:none;border-bottom:1px solid rgba(139,0,0,.2);color:var(--gold);font-family:'EB Garamond',serif;font-size:.85rem;padding:.1rem .2rem;outline:none;text-align:center;}
.grpg-desc-input{width:100%;margin-top:.25rem;background:rgba(0,0,0,.12);border:none;border-left:2px solid rgba(139,0,0,.2);color:var(--silver);font-family:'EB Garamond',serif;font-size:.82rem;padding:.3rem .5rem;outline:none;resize:vertical;min-height:2rem;line-height:1.4;font-style:italic;}
.grpg-remove{background:none;border:none;color:rgba(248,113,113,.35);cursor:pointer;font-size:.8rem;flex-shrink:0;padding:0 .15rem;transition:color .2s;}
.grpg-remove:hover{color:#f87171;}
.grpg-add{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;cursor:pointer;opacity:.45;transition:opacity .2s;}
.grpg-add:hover{opacity:.85;}
.grpg-add-label{font-family:'Cinzel',serif;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--silver);}
