/* FR Music Adaptive Theme — automatic system mode + manual override */
:root{
  color-scheme: dark light;
  --theme-bg:#08090b;
  --theme-bg-2:#0b0c0f;
  --theme-surface:#101115;
  --theme-surface-2:#15161b;
  --theme-surface-3:#1d1e24;
  --theme-text:#f5efe6;
  --theme-text-2:#d9d1c5;
  --theme-muted:#9b9ba3;
  --theme-line:rgba(245,239,230,.12);
  --theme-line-strong:rgba(245,239,230,.24);
  --theme-glass:rgba(245,239,230,.045);
  --theme-glass-strong:rgba(245,239,230,.075);
  --theme-shadow:rgba(0,0,0,.42);
  --theme-grid:rgba(245,239,230,.028);
  --theme-header:rgba(8,9,11,.72);
  --theme-input:#101115;
  --theme-focus:rgba(214,181,108,.30);
  --theme-selection:#d6b56c;
  --theme-selection-text:#08090b;
}

html[data-theme="light"]{
  color-scheme:light;
  --black:#f7f4ee;
  --black-2:#f1ede6;
  --graphite:#ffffff;
  --graphite-2:#f8f5ef;
  --graphite-3:#ebe5da;
  --cream:#17191f;
  --cream-2:#454750;
  --cream-3:#666873;
  --muted:#6e7079;
  --muted-2:#8b8d95;
  --line:rgba(27,29,35,.12);
  --line-2:rgba(27,29,35,.22);
  --glass:rgba(255,255,255,.66);
  --glass-2:rgba(255,255,255,.88);
  --shadow:rgba(44,37,25,.14);
  --theme-bg:#f7f4ee;
  --theme-bg-2:#f0ece4;
  --theme-surface:#ffffff;
  --theme-surface-2:#f8f5ef;
  --theme-surface-3:#ebe5da;
  --theme-text:#17191f;
  --theme-text-2:#454750;
  --theme-muted:#6e7079;
  --theme-line:rgba(27,29,35,.12);
  --theme-line-strong:rgba(27,29,35,.22);
  --theme-glass:rgba(255,255,255,.66);
  --theme-glass-strong:rgba(255,255,255,.88);
  --theme-shadow:rgba(44,37,25,.14);
  --theme-grid:rgba(27,29,35,.045);
  --theme-header:rgba(247,244,238,.80);
  --theme-input:#ffffff;
  --theme-focus:rgba(142,116,64,.22);
  --theme-selection:#d6b56c;
  --theme-selection-text:#17191f;
}

@media (prefers-color-scheme:light){
  html:not([data-theme]){
    color-scheme:light;
    --black:#f7f4ee;--black-2:#f1ede6;--graphite:#ffffff;--graphite-2:#f8f5ef;--graphite-3:#ebe5da;
    --cream:#17191f;--cream-2:#454750;--cream-3:#666873;--muted:#6e7079;--muted-2:#8b8d95;
    --line:rgba(27,29,35,.12);--line-2:rgba(27,29,35,.22);--glass:rgba(255,255,255,.66);--glass-2:rgba(255,255,255,.88);--shadow:rgba(44,37,25,.14);
    --theme-bg:#f7f4ee;--theme-bg-2:#f0ece4;--theme-surface:#ffffff;--theme-surface-2:#f8f5ef;--theme-surface-3:#ebe5da;
    --theme-text:#17191f;--theme-text-2:#454750;--theme-muted:#6e7079;--theme-line:rgba(27,29,35,.12);--theme-line-strong:rgba(27,29,35,.22);
    --theme-glass:rgba(255,255,255,.66);--theme-glass-strong:rgba(255,255,255,.88);--theme-shadow:rgba(44,37,25,.14);
    --theme-grid:rgba(27,29,35,.045);--theme-header:rgba(247,244,238,.80);--theme-input:#ffffff;--theme-focus:rgba(142,116,64,.22);
  }
}

html,body{background:var(--theme-bg)!important;color:var(--theme-text)!important;transition:background-color .35s ease,color .35s ease}
body::before{background:radial-gradient(circle at 18% 10%,color-mix(in srgb,var(--theme-text) 7%,transparent),transparent 25%),radial-gradient(circle at 84% 16%,rgba(214,181,108,.16),transparent 31%),radial-gradient(circle at 50% 94%,color-mix(in srgb,var(--theme-text) 5%,transparent),transparent 36%),linear-gradient(180deg,var(--theme-surface-2) 0%,var(--theme-bg) 52%,var(--theme-bg-2) 100%)!important}
body::after{background:linear-gradient(var(--theme-grid) 1px,transparent 1px),linear-gradient(90deg,var(--theme-grid) 1px,transparent 1px)!important}
::selection{background:var(--theme-selection);color:var(--theme-selection-text)}

.site-header{background:var(--theme-header)!important;border-color:var(--theme-line)!important;box-shadow:0 16px 44px var(--theme-shadow)!important;backdrop-filter:blur(22px) saturate(145%)}
.site-header,.mobile-menu,.footer{color:var(--theme-text)}
.mobile-menu{background:color-mix(in srgb,var(--theme-bg) 94%,transparent)!important;border-color:var(--theme-line)!important}
.nav-links a,.mobile-menu a,.brand,.footer{color:var(--theme-text)!important}
.nav-links a:hover,.mobile-menu a:hover{color:var(--gold)!important}

.theme-switcher{width:42px;height:42px;border-radius:50%;border:1px solid var(--theme-line);background:var(--theme-glass-strong);color:var(--theme-text);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 28px var(--theme-shadow);transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;flex:0 0 auto}
.theme-switcher:hover{transform:translateY(-2px) rotate(6deg);border-color:rgba(214,181,108,.48);color:var(--gold)}
.theme-switcher:focus-visible{outline:3px solid var(--theme-focus);outline-offset:3px}
.theme-switcher svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Surfaces */
:is(.story-panel,.journey-card,.process-card,.confidence-card,.campaign-info-card,.fr-proof-intro-card,.fr-proof-card,.result-card,.testimonial-card,.faq-list details,.contact-card,.campaign-card,.playlist-card,.professional-card,.growth-card,.discovery-card,.builder-card,.calculator-card,.summary-card,.form-card,.panel,.card,.timeline-item,.audience-card){background:var(--theme-glass)!important;border-color:var(--theme-line)!important;box-shadow:0 18px 48px var(--theme-shadow)!important;color:var(--theme-text)!important}
:is(.story-panel,.journey-card,.process-card,.confidence-card,.campaign-info-card,.fr-proof-card,.result-card,.testimonial-card,.campaign-card,.playlist-card,.professional-card,.growth-card,.discovery-card,.builder-card,.summary-card,.timeline-item):hover{border-color:color-mix(in srgb,var(--gold) 52%,var(--theme-line))!important;box-shadow:0 24px 60px var(--theme-shadow),0 0 0 1px rgba(214,181,108,.08)!important}

/* Typography */
:is(h1,h2,h3,h4,h5,h6,.big-number,.fr-proof-number,.fact-row strong,.timeline-copy h3){color:var(--theme-text)!important}
:is(p,li,.section-copy,.timeline-copy,.faq-list details p,.footer span,.form-help,.field-help,.muted,.subcopy){color:var(--theme-text-2)!important}
.small-title,.eyebrow,.dot,.gold,.dm-copy-note{color:var(--gold)!important}

/* Inputs and controls */
:is(input,select,textarea){background:var(--theme-input)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important;box-shadow:none!important}
:is(input,select,textarea)::placeholder{color:var(--theme-muted)!important;opacity:1}
:is(input,select,textarea):focus{border-color:var(--gold)!important;outline:3px solid var(--theme-focus)!important;outline-offset:1px}
select option{background:var(--theme-surface);color:var(--theme-text)}
label{color:var(--theme-text)!important}

/* Buttons */
.button.secondary,.btn.secondary,.nav-cta:not(.primary){background:var(--theme-glass-strong)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
.button.secondary:hover,.btn.secondary:hover{border-color:var(--gold)!important;color:var(--gold)!important}
.button.primary,.btn.primary{color:#111318!important}

/* Lines, dividers, decorative UI */
hr,.journey-line,.timeline-line,.divider{border-color:var(--theme-line)!important;background:var(--theme-line)!important}
.stats-strip{border-color:var(--theme-line)!important;background:color-mix(in srgb,var(--theme-surface) 62%,transparent)!important}
.marquee span{color:var(--theme-text-2)!important}
.final-cta{background:radial-gradient(circle at 50% 0%,rgba(214,181,108,.18),transparent 38%),linear-gradient(180deg,var(--theme-surface-2),var(--theme-bg))!important;border-color:var(--theme-line)!important}
.footer{border-color:var(--theme-line)!important;background:var(--theme-bg-2)!important}
.noise{opacity:.025!important;mix-blend-mode:multiply}
html[data-theme="dark"] .noise,html:not([data-theme]) .noise{mix-blend-mode:screen}

/* Logo and orbital artwork: keep identity, adapt contrast */
html[data-theme="light"] .planet{filter:drop-shadow(0 28px 48px rgba(68,55,31,.18))}
html[data-theme="light"] .planet::before,html[data-theme="light"] .planet::after{opacity:.55}
html[data-theme="light"] .orbit{border-color:rgba(142,116,64,.32)!important;box-shadow:0 0 28px rgba(214,181,108,.12)!important}
html[data-theme="light"] .floating-note{background:rgba(255,255,255,.82)!important;color:var(--theme-text)!important;border-color:rgba(27,29,35,.12)!important;box-shadow:0 20px 55px rgba(44,37,25,.13)!important}

/* Specific hard-coded dark backgrounds commonly present in legacy sheets */
html[data-theme="light"] :is(.campaign-hero-card,.campaign-summary,.pricing-card,.builder-shell,.calculator-shell,.result-shell,.premium-campaign-hero,.campaign-trust-strip,.faq-hero,.contact-hero,.page-hero){background-color:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}

/* System-light needs same explicit fixes as data-theme=light */
@media (prefers-color-scheme:light){
  html:not([data-theme]) .planet{filter:drop-shadow(0 28px 48px rgba(68,55,31,.18))}
  html:not([data-theme]) .orbit{border-color:rgba(142,116,64,.32)!important;box-shadow:0 0 28px rgba(214,181,108,.12)!important}
  html:not([data-theme]) .floating-note{background:rgba(255,255,255,.82)!important;color:var(--theme-text)!important;border-color:rgba(27,29,35,.12)!important;box-shadow:0 20px 55px rgba(44,37,25,.13)!important}
  html:not([data-theme]) .noise{mix-blend-mode:multiply}
}

@media(max-width:720px){.theme-switcher{width:38px;height:38px}.header-actions{gap:8px}.nav-cta{display:none}}
@media(prefers-reduced-motion:reduce){html,body,.theme-switcher{transition:none!important}}
