/* =====================================================================
   SpotMe  |  theme.css  (load LAST on every page)
   1. Light + dark colour themes, switched by js/theme.js via <html data-theme="...">
   2. Ambient hues: light = purple + turquoise (with touches of sky blue and pink);
      dark = gold/peach + purple, with emerald and electric-blue touches
   3. Gym-style SpotMe wordmark
   4. Footer clean-up (no table lines) + newsletter on every footer
   5. Theme switch button
   ===================================================================== */

/* ---------- 1a. Light theme additions (style.css already holds the light base) ---------- */
:root{
  --violet:#7C4DFF;            /* new purple accent */
  --violet-soft:#9B7BFF;
  --violet-tint:rgba(124,77,255,0.10);
  --teal:#1FA6A0;              /* the existing turquoise/green family */
  --teal-tint:rgba(31,166,160,0.10);
  --sky:#2F95DC;               /* light mode's extra accent: clear sky blue */
  --sky-soft:#7CC4F2;
  --sky-tint:rgba(47,149,220,0.10);
  --peach:#F08A5D;
  --pink:#E8559A;              /* small variety accent in light mode */
  --pink-tint:rgba(232,85,154,0.10);
  --hue-a:rgba(124,77,255,0.16);   /* purple glow (bolder) */
  --hue-b:rgba(31,166,160,0.16);   /* turquoise glow (bolder) */
  --hue-c:rgba(232,85,154,0.06);   /* a hint of pink at the bottom */
  --hue-d:rgba(47,149,220,0.07);   /* a hint of sky blue at the top */
  --accent-line:linear-gradient(90deg, var(--violet), var(--teal));
  --header-bg:rgba(255,255,255,0.86);
  --input-bg:#FFFFFF;
  --mine-bubble:#F3E9D2;
  --map-bg:#EEF0F1;
}

/* ---------- 1b. Dark theme ---------- */
:root[data-theme="dark"]{
  --bg:#08080C;
  --bg-elevated:#111118;
  --bg-card:#15151D;
  --bg-hover:#1C1C26;
  --bg-input-hover:#1C1C26;
  --chalk:#F7F3EC;
  --chalk-dim:#C4BFCB;
  --grey:#948FA0;
  --silver:#3A3846;
  /* gold → peach: the premium warm accent that makes dark mode pop */
  --accent:#F4BE5E;
  --gold:#F4BE5E;
  --gold-dim:#C99A45;
  --gold-hover:#FFCF7A;
  --gold-deep:#FFD58A;         /* gold used as text: bright so it reads on near-black */
  --gold-hi:#FFD27A;
  --gold-tint:rgba(244,190,94,0.14);
  --gold-line:rgba(255,196,120,0.45);
  --peach:#FF9F72;
  --peach-soft:#FFC2A1;
  --peach-tint:rgba(255,159,114,0.14);
  --sky:#5CB8F5; --sky-soft:#9AD3FA; --sky-tint:rgba(92,184,245,0.13);
  --turf:#4FC08D; --turf-dim:#2C6B50;
  --danger:#FF7A6E;
  --line:rgba(255,255,255,0.08);
  --line-strong:rgba(255,255,255,0.15);
  --shadow-sm:0 1px 2px rgba(0,0,0,0.5);
  --shadow-md:0 10px 28px -10px rgba(0,0,0,0.65), 0 2px 6px rgba(0,0,0,0.4);
  --shadow-lg:0 26px 60px -18px rgba(0,0,0,0.8), 0 4px 12px rgba(0,0,0,0.45);
  --emerald:#34D399; --teal:#2DD4BF; --amber:#F7B955; --coral:#FF8A7A;
  --violet:#A78BFA; --violet-soft:#C4B5FD; --violet-tint:rgba(167,139,250,0.14); --teal-tint:rgba(45,212,191,0.12);
  --g-gold:linear-gradient(135deg,#FFE09A 0%,#F4BE5E 45%,#FF9F72 100%);
  --g-text:linear-gradient(100deg,#FFE7AE 0%,#F4BE5E 45%,#FF9F72 100%);
  --g-cool:linear-gradient(135deg,#2DD4BF,#A78BFA);
  --glass:linear-gradient(180deg,rgba(255,236,210,0.045),rgba(255,255,255,0.012));
  --glow:0 16px 40px -14px rgba(255,170,100,0.38);
  --hue-a:rgba(139,92,246,0.24);
  --hue-b:rgba(52,211,153,0.11);   /* emerald glow, top right */
  --electric:#4D8DFF; --electric-tint:rgba(77,141,255,0.14);
  --emerald-tint:rgba(52,211,153,0.13);
  --hue-c:rgba(255,150,90,0.20);
  --hue-d:rgba(244,190,94,0.10);
  --accent-line:linear-gradient(90deg, #FFE09A, #F4BE5E 30%, #FF9F72 55%, var(--violet) 85%);
  --header-bg:rgba(14,14,20,0.80);
  --input-bg:#0F0F15;
  --mine-bubble:rgba(244,190,94,0.20);
  --map-bg:#16161E;
  color-scheme:dark;
}

/* Smooth hand-over when the switch is pressed (not on page load) */
.theme-switching, .theme-switching *{ transition:background-color .3s ease, border-color .3s ease, color .2s ease !important; }

/* ---------- 2. Ambient purple + turquoise hues ---------- */
body{
  background-color:var(--bg);
  background-image:
    radial-gradient(900px 620px at -8% -6%, var(--hue-a), transparent 62%),
    radial-gradient(820px 600px at 108% 4%, var(--hue-b), transparent 60%),
    radial-gradient(900px 700px at 50% 120%, var(--hue-c), transparent 65%),
    radial-gradient(700px 420px at 50% -12%, var(--hue-d, transparent), transparent 70%);
  background-attachment:fixed;
  background-repeat:no-repeat;
}
.eyebrow::before{ background:var(--accent-line); }
.site-footer::before{ background:linear-gradient(90deg, transparent, var(--violet) 18%, var(--pink) 42%, var(--sky) 62%, var(--teal) 82%, transparent) !important; opacity:.85; }
[data-theme="dark"] .site-footer::before{ background:linear-gradient(90deg, transparent, #FFE09A 15%, var(--peach) 38%, var(--violet) 62%, var(--electric) 85%, transparent) !important; opacity:1; }
.badge-verified{ color:var(--teal); border-color:var(--teal); background:var(--teal-tint); }
:focus-visible{ outline-color:var(--violet); }

/* Things style.css hard-codes for light only */
.site-header{ background:var(--header-bg); }
select option{ background:var(--bg-card); color:var(--chalk); }
select{ color-scheme:inherit; }
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="submit"]):not([type="button"]),
select, textarea{ background-color:var(--input-bg); color:var(--chalk); }
.msg-row.mine .msg-bubble{ background:var(--mine-bubble); }
#uk-map, .leaflet-container{ background:var(--map-bg) !important; }
[data-theme="dark"] input::placeholder, [data-theme="dark"] textarea::placeholder{ color:#6F6C7B; }
[data-theme="dark"] .spotme-dark-tiles, [data-theme="dark"] .leaflet-tile-pane{ filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.88) saturate(.7); }
[data-theme="dark"] .spotme-gym-pin{ background:var(--bg-card); }
[data-theme="dark"] .spotme-city-dot{ border-color:var(--bg-card); }
[data-theme="dark"] .modal-overlay{ background:rgba(0,0,0,0.6); }
[data-theme="dark"] img.logo-mark{ filter:drop-shadow(0 0 10px rgba(197,160,89,0.25)); }

/* landing.css / feature sheets use charcoal rgba lines meant for white: give them light lines in dark */
[data-theme="dark"] .tile{ border-color:rgba(255,255,255,0.08); }
[data-theme="dark"] .tile::before{ background:linear-gradient(165deg, rgba(255,255,255,0.18), rgba(255,255,255,0.03) 38%, rgba(167,139,250,0.28)); }
[data-theme="dark"] .hero-form{ background:rgba(255,255,255,0.04); border-color:rgba(255,255,255,0.12); }
[data-theme="dark"] .hero-meta .pill{ background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.12); }
[data-theme="dark"] .hero-h1 .outline{ -webkit-text-stroke-color:var(--chalk); }
[data-theme="dark"] .paper{ background:radial-gradient(700px circle at 100% 0, rgba(167,139,250,0.25), transparent 60%), radial-gradient(600px circle at 0 100%, rgba(45,212,191,0.16), transparent 60%), #15151D; color:var(--chalk); }
[data-theme="dark"] .paper h2, [data-theme="dark"] .paper .eyebrow, [data-theme="dark"] .pbox h3{ color:var(--chalk); -webkit-text-fill-color:var(--chalk); }
[data-theme="dark"] .paper h2 .outline{ -webkit-text-fill-color:transparent; -webkit-text-stroke-color:var(--chalk); }
[data-theme="dark"] .paper p.lead, [data-theme="dark"] .pbox p{ color:var(--chalk-dim); }
[data-theme="dark"] .pbox{ border-color:rgba(255,255,255,0.7); background:rgba(255,255,255,0.03); }
[data-theme="dark"] .pbox:hover{ box-shadow:6px 6px 0 var(--violet); background:rgba(255,255,255,0.06); }
[data-theme="dark"] .paper .eyebrow::before{ background:var(--chalk); }
[data-theme="dark"] .paper-sq{ border-color:var(--chalk); }
[data-theme="dark"] .paper .btn-primary{ background:var(--gold); color:#1b1b1b; border-color:var(--gold); }
[data-theme="dark"] .cta-card{ background:radial-gradient(700px circle at 0 0, rgba(197,160,89,0.30), transparent 60%), radial-gradient(640px circle at 100% 100%, rgba(167,139,250,0.30), transparent 60%), radial-gradient(520px circle at 70% 0, rgba(45,212,191,0.16), transparent 60%), #111118; border-color:rgba(255,255,255,0.1); }
[data-theme="dark"] .sample{ color:#7C798A; }
[data-theme="dark"] .m-card, [data-theme="dark"] .m-col, [data-theme="dark"] .m-filters, [data-theme="dark"] .m-r-panel{ border-color:rgba(255,255,255,0.09); }

/* ---------- 3. Gym-style wordmark (the "SpotMe" next to the logo) ---------- */
.logo-word, .site-footer .logo-word{
  font-family:'Archivo', 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif;
  font-stretch:72%; font-weight:900; font-style:italic;
  text-transform:uppercase !important; letter-spacing:0.01em;
  font-size:1.62rem; line-height:1; color:var(--chalk);
  padding-right:0.08em;            /* stops the italic "E" being clipped */
  display:inline-block; transform:translateY(1px);
}
.logo-word .dot{
  color:transparent !important; -webkit-text-fill-color:transparent;
  background:linear-gradient(180deg, #E9CF8B 0%, var(--gold) 55%, #A9843C 100%);
  -webkit-background-clip:text; background-clip:text;
  padding-right:0.06em;
}
.logo:hover .logo-word{ letter-spacing:0.02em; transition:letter-spacing .25s var(--ease); }
@media (max-width:640px){ .logo-word{ font-size:1.42rem; } }

/* ---------- 4. Footer: no table/grid lines through the text ---------- */
.footer-top{ gap:28px 36px !important; }
.footer-top > *{ padding:44px 0 !important; border-left:none !important; border-bottom:none !important; }
.footer-top > * + *{ padding-left:0 !important; border-left:none !important; }
@media (max-width:980px){
  .footer-top{ grid-template-columns:1fr 1fr 1fr !important; }
  .footer-top > *{ padding:12px 0 !important; }
  .footer-top > .footer-brand{ padding-top:40px !important; }
  .footer-top > .footer-newsletter{ padding-bottom:36px !important; }
}
@media (max-width:640px){ .footer-top{ grid-template-columns:1fr 1fr !important; gap:8px 24px !important; } }
.footer-newsletter-form input{ background:var(--input-bg); }
/* footers that only have 3 columns (landing pages) */
.footer-top.ft-compact{ grid-template-columns:1.4fr 0.8fr 0.8fr 1.3fr; }
@media (max-width:980px){ .footer-top.ft-compact{ grid-template-columns:1fr 1fr !important; } }

/* ---------- 5. Theme switch ---------- */
.theme-toggle{
  display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; flex-shrink:0;
  border-radius:var(--r-md); border:1px solid var(--line-strong); background:var(--bg-card); color:var(--chalk);
  cursor:pointer; transition:border-color .2s, background .2s, transform .2s var(--ease);
}
.theme-toggle:hover{ border-color:var(--violet); background:var(--violet-tint); transform:rotate(-12deg); }
.theme-toggle svg, .theme-toggle-text svg{ width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.theme-toggle .tt-moon, .theme-toggle-text .tt-moon{ fill:currentColor; stroke:none; }
.theme-toggle .tt-sun, [data-theme="dark"] .theme-toggle .tt-moon,
.theme-toggle-text .tt-sun, [data-theme="dark"] .theme-toggle-text .tt-moon{ display:none; }
[data-theme="dark"] .theme-toggle .tt-sun, [data-theme="dark"] .theme-toggle-text .tt-sun{ display:block; }
.theme-toggle-text{ display:inline-flex; align-items:center; gap:7px; background:none; border:none; padding:0; color:var(--grey); font-family:var(--body); font-size:0.85rem; cursor:pointer; }
.theme-toggle-text:hover{ color:var(--chalk); }
.theme-toggle-text svg{ width:15px; height:15px; }
.nav-actions{ gap:8px; }
@media (max-width:380px){ .theme-toggle{ width:36px; height:36px; } }

/* ---------- Header fit: signed-in menus have 7-8 links, keep them on one line ---------- */
.site-header .btn, .nav-links a{ white-space:nowrap; }
.nav .logo{ margin-right:10px; flex-shrink:0; }
@media (min-width:641px) and (max-width:1400px){
  .nav{ gap:10px; padding-left:14px; padding-right:12px; }
  .nav-links{ gap:0; font-size:0.86rem; }
  .nav-links a{ padding:9px 9px; }
  .nav-links a::after{ left:9px; right:9px; }
  .nav-actions .btn-sm{ padding:9px 12px; }
}
@media (min-width:641px) and (max-width:1180px){
  .nav-links{ font-size:0.8rem; }
  .nav-links a{ padding:8px 7px; }
  .nav .logo .logo-home{ display:none !important; }
}
/* Below ~1000px a full signed-in menu can't fit: use the hamburger there too */
@media (min-width:641px) and (max-width:1020px){
  .nav-links{ position:absolute; top:calc(100% + 8px); left:0; right:0; background:var(--bg-card); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-lg); flex-direction:column; align-items:stretch; gap:2px; padding:10px; display:none; font-size:0.95rem; }
  .nav-links a{ padding:14px 16px; }
  .nav-links a::after{ display:none; }
  .nav-links.open{ display:flex; }
  .nav-toggle{ display:block; }
}
/* the generic `section{padding:88px 0}` rule should not pad the dashboard stats block */
section.dash-stats-wrap{ padding:0; }

/* ---------- Phones: compact header, theme switch lives in the hamburger menu ---------- */
.nav-links .nav-theme-item{ display:none; }
@media (max-width:1020px){
  .nav-links .nav-theme-item{ display:flex; align-items:center; gap:10px; padding:14px 16px; border-radius:var(--r-md); font-size:0.95rem; color:var(--chalk-dim); border-top:1px solid var(--line); margin-top:4px; border-top-left-radius:0; border-top-right-radius:0; }
  .nav-links .nav-theme-item:hover{ background:var(--bg-elevated); color:var(--chalk); }
  .nav-links .nav-theme-item svg{ width:18px; height:18px; }
}
@media (max-width:640px){
  .site-header .theme-toggle{ display:none; }
  .nav{ padding:8px 10px 8px 12px; gap:8px; min-height:58px; }
  .nav .logo{ gap:7px; margin-right:0; }
  .nav .logo-mark{ height:28px; }
  .logo-word{ font-size:1.3rem; }
  .nav .logo .logo-home{ display:none !important; }
  .nav-actions{ gap:6px; }
  .nav-actions .btn-sm{ padding:9px 11px; font-size:0.84rem; }
  .nav-toggle{ padding:9px 11px; }
}
@media (max-width:360px){ .nav-actions #logout-btn{ display:none !important; } }

/* =====================================================================
   v6 (2 Nov 2026) accents
   Light: purple + turquoise secondary accents, with small sky-blue and pink touches for variety
   Dark: gold → peach glow on buttons, headings, cards and the header line so it feels premium
   ===================================================================== */
/* ----- light ----- */
:root:not([data-theme="dark"]) .nav-links a.active::after,
:root:not([data-theme="dark"]) .nav-links a:hover::after{ background:linear-gradient(90deg, var(--violet), var(--teal)); }
:root:not([data-theme="dark"]) .site-header{ box-shadow:0 1px 0 rgba(124,77,255,0.10), 0 10px 30px -18px rgba(124,77,255,0.30); }
:root:not([data-theme="dark"]) .btn-ghost:hover{ border-color:var(--violet); color:var(--chalk); background:var(--violet-tint); }
:root:not([data-theme="dark"]) .eyebrow{ color:#5B34D6; }
:root:not([data-theme="dark"]) .theme-toggle:hover{ border-color:var(--pink); background:var(--pink-tint); color:var(--pink); }
:root:not([data-theme="dark"]) :focus-visible{ outline-color:var(--violet); }
:root:not([data-theme="dark"]) .nw-card::before{ background:linear-gradient(90deg, var(--violet), var(--teal)); }
:root:not([data-theme="dark"]) .mv-card::before{ background:linear-gradient(90deg, var(--pink), var(--violet), var(--sky)); }
:root:not([data-theme="dark"]) .badge-pro{ background:linear-gradient(90deg, var(--violet), var(--pink)); color:#fff; border-color:transparent; }
:root:not([data-theme="dark"]) .nw-meta span:last-child:not(:first-child){ color:#B0306E; border-color:rgba(232,85,154,0.4); background:var(--pink-tint); }
:root:not([data-theme="dark"]) .wrapped-strip{ background:linear-gradient(90deg, var(--pink-tint), rgba(47,149,220,0.08)); border-color:rgba(232,85,154,0.35); }

/* ----- dark: bolder ----- */
[data-theme="dark"] body{ background-color:var(--bg); }
[data-theme="dark"] .site-header{ border-color:rgba(255,200,130,0.14) !important; box-shadow:0 1px 0 rgba(255,190,120,0.10), 0 18px 40px -22px rgba(255,150,90,0.35); }
[data-theme="dark"] .btn-primary{ background:var(--g-gold); color:#1C1206; border-color:transparent; box-shadow:0 8px 22px -10px rgba(255,159,114,0.75), inset 0 1px 0 rgba(255,255,255,0.35); }
[data-theme="dark"] .btn-primary:hover{ background:linear-gradient(135deg,#FFEBB8 0%,#FFCC72 45%,#FFAD85 100%); color:#1C1206; box-shadow:0 14px 30px -10px rgba(255,159,114,0.9), inset 0 1px 0 rgba(255,255,255,0.4); }
[data-theme="dark"] .btn-ghost{ border-color:rgba(255,220,180,0.18); }
[data-theme="dark"] .btn-ghost:hover{ border-color:var(--peach); color:var(--chalk); background:var(--peach-tint); }
[data-theme="dark"] .eyebrow{ color:var(--peach-soft); }
[data-theme="dark"] h1{ text-shadow:0 0 40px rgba(255,170,100,0.12); }
[data-theme="dark"] .nav-links a.active, [data-theme="dark"] .nav-links a:hover{ color:#FFE3B0; }
[data-theme="dark"] .nav-links a.active::after, [data-theme="dark"] .nav-links a:hover::after{ background:linear-gradient(90deg,#FFE09A,var(--peach)); box-shadow:0 0 12px rgba(255,159,114,0.6); }
[data-theme="dark"] .card, [data-theme="dark"] .nw-card, [data-theme="dark"] .mv-card, [data-theme="dark"] .dash-card,
[data-theme="dark"] .nv-card, [data-theme="dark"] .stat-card{
  background:linear-gradient(180deg, rgba(255,214,160,0.035), rgba(255,255,255,0) 40%), var(--bg-card);
  border-color:rgba(255,225,190,0.09);
  box-shadow:inset 0 1px 0 rgba(255,225,190,0.06), var(--shadow-md);
}
[data-theme="dark"] .nw-card::before, [data-theme="dark"] .mv-card::before{ background:linear-gradient(90deg,#FFE09A,var(--peach),var(--violet)); height:3px; box-shadow:0 0 18px rgba(255,159,114,0.55); }
[data-theme="dark"] .theme-toggle{ border-color:rgba(255,220,180,0.2); color:#FFD58A; }
[data-theme="dark"] .theme-toggle:hover{ border-color:var(--peach); background:var(--peach-tint); }
[data-theme="dark"] :focus-visible{ outline-color:var(--peach); }
[data-theme="dark"] a:not(.btn):not(.logo):not(.nav-links a):hover{ color:#FFD9A8; }
[data-theme="dark"] .logo-word{ text-shadow:0 0 22px rgba(255,170,100,0.18); }
[data-theme="dark"] .logo-word .dot{ background:linear-gradient(180deg,#FFE7A8 0%,#F4BE5E 50%,#FF9F72 100%); -webkit-background-clip:text; background-clip:text; }
[data-theme="dark"] ::selection{ background:rgba(255,159,114,0.35); color:#fff; }
[data-theme="dark"] .badge, [data-theme="dark"] .pill{ border-color:rgba(255,210,160,0.2); }
[data-theme="dark"] .section-head h1{ background:linear-gradient(100deg,#FFF8EC 0%,#FFE6B8 55%,#FFBE98 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; text-shadow:none; }
:root:not([data-theme="dark"]) .section-head{ border-bottom-color:rgba(124,77,255,0.16); }

/* Dark: emerald + electric-blue touches alongside gold/peach */
[data-theme="dark"] .nw-card::before{ background:linear-gradient(90deg,#FFE09A,var(--peach),var(--violet),var(--electric)); }
[data-theme="dark"] .mv-card::before{ background:linear-gradient(90deg,var(--emerald),var(--electric),var(--violet)); box-shadow:0 0 18px rgba(77,141,255,0.45); }
[data-theme="dark"] .btn-ghost:hover{ border-color:var(--electric); background:var(--electric-tint); }
[data-theme="dark"] :focus-visible{ outline-color:var(--electric); }
[data-theme="dark"] .badge-verified{ color:var(--emerald); border-color:var(--emerald); background:var(--emerald-tint); }
[data-theme="dark"] .nw-k, [data-theme="dark"] .mv-k{ color:#7FB2FF; }
[data-theme="dark"] .nw-row.up .nw-rx b{ color:var(--emerald); }
[data-theme="dark"] .nw-meta span:first-child{ color:#9CC2FF; border-color:rgba(77,141,255,0.35); background:var(--electric-tint); }
[data-theme="dark"] .nl-bar > i.c, [data-theme="dark"] .dot.c{ background:var(--electric); }
[data-theme="dark"] .nl-entry-sub .m.c{ color:#8FB6FF; }
[data-theme="dark"] .theme-toggle:hover{ border-color:var(--emerald); background:var(--emerald-tint); color:var(--emerald); }
[data-theme="dark"] .section-head{ border-bottom:1px solid transparent; border-image:linear-gradient(90deg, rgba(255,190,120,0.35), rgba(52,211,153,0.25), rgba(77,141,255,0.25), transparent) 1; }

/* =====================================================================
   v7 (3 Nov 2026): light mode, bolder purple + turquoise, gradient buttons like dark mode
   ===================================================================== */
:root:not([data-theme="dark"]){
  --g-brand:linear-gradient(135deg, #8B5CF6 0%, #6D5BF7 40%, #1FA6A0 100%);
  --violet-deep:#5B34D6;
}
:root:not([data-theme="dark"]) .btn-primary{ background:var(--g-brand); color:#fff; border-color:transparent; box-shadow:0 8px 22px -10px rgba(124,77,255,0.75), inset 0 1px 0 rgba(255,255,255,0.28); }
:root:not([data-theme="dark"]) .btn-primary:hover{ background:linear-gradient(135deg, #9D74FF 0%, #7C6CFF 40%, #26BDB6 100%); color:#fff; box-shadow:0 14px 30px -10px rgba(124,77,255,0.85), inset 0 1px 0 rgba(255,255,255,0.35); }
:root:not([data-theme="dark"]) .btn-ghost{ border-color:rgba(124,77,255,0.28); }
:root:not([data-theme="dark"]) a:not(.btn):not(.logo):not(.nav-links a):not(.mv-row):not(.lib-card){ color:var(--violet-deep); }
:root:not([data-theme="dark"]) .footer-col a, :root:not([data-theme="dark"]) .footer-legal a{ color:var(--chalk-dim); }
:root:not([data-theme="dark"]) .nav-links a.active{ color:var(--violet-deep); }
:root:not([data-theme="dark"]) .nav-links a.active::after{ height:3px; border-radius:3px; background:var(--g-brand); }
:root:not([data-theme="dark"]) .section-head h1{ background:linear-gradient(100deg, #1B1B22 0%, #3A2A7A 60%, #1F6F6B 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
:root:not([data-theme="dark"]) .eyebrow::before{ height:3px; background:var(--g-brand); }
:root:not([data-theme="dark"]) .card, :root:not([data-theme="dark"]) .nw-card, :root:not([data-theme="dark"]) .mv-card, :root:not([data-theme="dark"]) .nv-card{ border-color:rgba(124,77,255,0.12); box-shadow:0 1px 2px rgba(34,34,34,0.04), 0 10px 30px -18px rgba(124,77,255,0.35); }
:root:not([data-theme="dark"]) .nw-card::before{ height:4px; background:var(--g-brand); }
:root:not([data-theme="dark"]) .nw-k, :root:not([data-theme="dark"]) .mv-k{ color:var(--violet-deep); }
:root:not([data-theme="dark"]) .nv-tab.active{ background:var(--g-brand) !important; color:#fff !important; box-shadow:0 4px 14px -6px rgba(124,77,255,0.7); }
:root:not([data-theme="dark"]) .filter-chip.active, :root:not([data-theme="dark"]) .workout-area-tab.active{ background:var(--g-brand); color:#fff; border-color:transparent; }
:root:not([data-theme="dark"]) .m-tool-gold{ background:var(--g-brand); color:#fff; border-color:transparent; }
:root:not([data-theme="dark"]) input[type="checkbox"], :root:not([data-theme="dark"]) input[type="radio"], :root:not([data-theme="dark"]) input[type="range"]{ accent-color:var(--violet); }
:root:not([data-theme="dark"]) input:focus, :root:not([data-theme="dark"]) select:focus, :root:not([data-theme="dark"]) textarea:focus{ border-color:var(--violet) !important; box-shadow:0 0 0 3px rgba(124,77,255,0.15); }
:root:not([data-theme="dark"]) .site-footer::before{ height:3px; opacity:1; }
:root:not([data-theme="dark"]) .nl-bar > i.k{ background:var(--g-brand); }
:root:not([data-theme="dark"]) .badge-pro{ background:linear-gradient(90deg, #8B5CF6, #E8559A); color:#fff; }
