html[data-theme="midnight"] {
  color-scheme: dark;
  --ink: #e9ebee; --muted: #a7adb5; --faint: #777f89; --paper: #1c1f23;
  --surface: #26292f; --surface-soft: #2c3037; --line: #3b4149;
  --accent: #7c9cc4; --accent-strong: #a8c1df; --accent-soft: #303c4a;
  --forest: #78c7a0; --forest-soft: #233b31; --blue: #91b8df; --blue-soft: #273847;
  --bad: #ef958c; --good: #78c7a0; --shadow: 0 24px 70px rgba(0,0,0,.34); --shadow-soft: 0 12px 36px rgba(0,0,0,.24);
  --panel: var(--surface); --panel-2: var(--surface-soft); --text: var(--ink); --text-muted: var(--muted); --text-faint: var(--faint);
  --accent-bright: var(--accent-strong); --on-accent: #10161d; --shadow-1: rgba(0,0,0,.42);
  --premium-bg: #1c1f23; --premium-elev: #22262b; --premium-panel: #26292f; --premium-panel-2: #2c3037;
  --premium-border: #3a4048; --premium-shine: rgba(255,255,255,.035); --premium-glow: rgba(124,156,196,.18);
  --premium-shadow: 0 28px 80px rgba(0,0,0,.38); --premium-shadow-soft: 0 16px 40px rgba(0,0,0,.25);
}
html[data-theme="tournament"] {
  color-scheme: dark;
  --ink: #eef1f3; --muted: #aab2b9; --faint: #737d86; --paper: #0c0e10;
  --surface: #14181c; --surface-soft: #1a1f24; --line: #30373e;
  --accent: #e0984a; --accent-strong: #f1b36f; --accent-soft: #352619;
  --forest: #74d09f; --forest-soft: #193426; --blue: #79add9; --blue-soft: #1d3040;
  --bad: #ef8d84; --good: #74d09f; --shadow: 0 24px 70px rgba(0,0,0,.46); --shadow-soft: 0 12px 36px rgba(0,0,0,.3);
  --panel: var(--surface); --panel-2: var(--surface-soft); --text: var(--ink); --text-muted: var(--muted); --text-faint: var(--faint);
  --accent-bright: var(--accent-strong); --on-accent: #1c1206; --shadow-1: rgba(0,0,0,.5);
  --premium-bg: #0c0e10; --premium-elev: #101316; --premium-panel: #14181c; --premium-panel-2: #1a1f24;
  --premium-border: #2c333a; --premium-shine: rgba(255,255,255,.035); --premium-glow: rgba(224,152,74,.18);
  --premium-shadow: 0 30px 90px rgba(0,0,0,.52); --premium-shadow-soft: 0 16px 44px rgba(0,0,0,.36);
}
html[data-theme]:not([data-theme="classic"]) .site-header { border-color: color-mix(in srgb, var(--premium-border) 86%, transparent); background: color-mix(in srgb, var(--premium-bg) 88%, transparent); box-shadow: 0 1px 0 var(--premium-shine); }
html[data-theme]:not([data-theme="classic"]) .site-footer { background: color-mix(in srgb, var(--premium-panel) 62%, transparent); }
html[data-theme]:not([data-theme="classic"]) .brand img { box-shadow: 0 8px 24px color-mix(in srgb, var(--accent) 24%, transparent); }

/* Premium landing treatment: same visual discipline as the analysis workspace. */
html[data-theme]:not([data-theme="classic"]) body.landing-page {
  background:
    radial-gradient(circle at 13% -8%, var(--premium-glow), transparent 31rem),
    radial-gradient(circle at 91% 16%, color-mix(in srgb, var(--blue) 10%, transparent), transparent 29rem),
    var(--premium-bg);
  background-attachment: fixed;
}
html[data-theme]:not([data-theme="classic"]) body.landing-page .hero { position: relative; isolation: isolate; }
html[data-theme]:not([data-theme="classic"]) body.landing-page .hero::after {
  content: ""; position: absolute; inset: 8% -9% auto 48%; z-index: -2; height: 72%; pointer-events: none;
  background: radial-gradient(ellipse, var(--premium-glow), transparent 68%); filter: blur(18px); opacity: .78;
}
html[data-theme]:not([data-theme="classic"]) body.landing-page .hero h1 { text-wrap: balance; text-shadow: 0 16px 45px rgba(0,0,0,.24); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .hero h1 em { color: var(--accent-strong); text-shadow: 0 0 34px color-mix(in srgb, var(--accent) 18%, transparent); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .hero-actions .button:not(.secondary) {
  border-color: color-mix(in srgb, var(--accent) 78%, #fff 10%); background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 72%, var(--accent-strong)));
  color: var(--on-accent); box-shadow: 0 12px 32px color-mix(in srgb, var(--accent) 24%, transparent), inset 0 1px 0 rgba(255,255,255,.18);
}
html[data-theme]:not([data-theme="classic"]) body.landing-page .hero-actions .button.secondary { border-color: var(--premium-border); background: color-mix(in srgb, var(--premium-panel) 82%, transparent); color: var(--ink); box-shadow: inset 0 1px 0 var(--premium-shine); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .trust-line { color: color-mix(in srgb, var(--muted) 86%, var(--ink)); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .review-preview {
  border-color: color-mix(in srgb, var(--accent) 22%, var(--premium-border));
  background: linear-gradient(145deg, color-mix(in srgb, var(--premium-panel-2) 94%, var(--accent) 6%), var(--premium-panel));
  box-shadow: var(--premium-shadow), inset 0 1px 0 var(--premium-shine); transform: rotate(.45deg) translateY(-3px);
}
html[data-theme]:not([data-theme="classic"]) body.landing-page .review-preview::before { inset: 17px -17px -17px 17px; border-color: color-mix(in srgb, var(--accent) 25%, var(--premium-border)); background: color-mix(in srgb, var(--accent) 11%, var(--premium-elev)); box-shadow: 0 18px 50px color-mix(in srgb, var(--accent) 10%, transparent); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .accuracy-card { border: 1px solid color-mix(in srgb, var(--premium-border) 86%, transparent); background: color-mix(in srgb, var(--premium-panel-2) 90%, transparent); box-shadow: inset 0 1px 0 var(--premium-shine); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .accuracy-card strong { color: var(--ink); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .moment { border-color: var(--premium-border); background: color-mix(in srgb, var(--premium-elev) 88%, transparent); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .proof-strip { border-color: var(--premium-border); background: color-mix(in srgb, var(--premium-panel) 58%, transparent); backdrop-filter: blur(16px); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .proof-item strong { color: color-mix(in srgb, var(--ink) 94%, var(--accent)); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .section.soft { border-color: color-mix(in srgb, var(--premium-border) 76%, transparent); background: color-mix(in srgb, var(--premium-elev) 74%, transparent); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .card,
html[data-theme]:not([data-theme="classic"]) body.landing-page details {
  border-color: var(--premium-border); background: linear-gradient(145deg, color-mix(in srgb, var(--premium-panel) 96%, var(--accent) 4%), var(--premium-panel));
  box-shadow: var(--premium-shadow-soft), inset 0 1px 0 var(--premium-shine);
}
html[data-theme]:not([data-theme="classic"]) body.landing-page .card { transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
html[data-theme]:not([data-theme="classic"]) body.landing-page .card:hover { border-color: color-mix(in srgb, var(--accent) 34%, var(--premium-border)); box-shadow: 0 20px 54px rgba(0,0,0,.3), inset 0 1px 0 var(--premium-shine); transform: translateY(-3px); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .step-number { border: 1px solid color-mix(in srgb, var(--accent) 48%, var(--premium-border)); background: color-mix(in srgb, var(--accent) 16%, var(--premium-panel-2)); color: var(--accent-strong); box-shadow: 0 9px 24px color-mix(in srgb, var(--accent) 13%, transparent); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .feature-card::after { opacity: .55; filter: blur(4px); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .quote { position: relative; padding: clamp(32px,6vw,62px); border: 1px solid color-mix(in srgb, var(--premium-border) 80%, transparent); border-radius: 28px; background: color-mix(in srgb, var(--premium-panel) 50%, transparent); box-shadow: inset 0 1px 0 var(--premium-shine); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .quote::before { content: "“"; position: absolute; inset: -18px auto auto 28px; color: color-mix(in srgb, var(--accent) 22%, transparent); font: 150px/1 var(--serif); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .cta-panel { border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--premium-border)); background: linear-gradient(130deg, var(--premium-panel), color-mix(in srgb, var(--premium-panel-2) 78%, var(--accent) 22%)); box-shadow: var(--premium-shadow), inset 0 1px 0 var(--premium-shine); color: var(--ink); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .cta-panel p { color: var(--muted); }
html[data-theme]:not([data-theme="classic"]) body.landing-page .cta-panel .button { border-color: var(--accent); background: var(--accent); color: var(--on-accent); box-shadow: 0 12px 30px color-mix(in srgb, var(--accent) 22%, transparent); }

/* Premium account dashboard: dense information stays calm, legible and clearly layered. */
html[data-theme]:not([data-theme="classic"]) body.account-page { background: var(--premium-bg); }
html[data-theme]:not([data-theme="classic"]) body.account-page.account-library-ready { background: var(--premium-bg); }
html[data-theme]:not([data-theme="classic"]) body.account-page .account-main,
html[data-theme]:not([data-theme="classic"]) body.account-page.account-library-ready .account-main {
  background:
    radial-gradient(circle at 7% 0, var(--premium-glow), transparent 30rem),
    radial-gradient(circle at 96% 24%, color-mix(in srgb, var(--forest) 7%, transparent), transparent 26rem),
    var(--premium-bg);
}
html[data-theme]:not([data-theme="classic"]) body.account-page .account-panel { border-color: var(--premium-border); background: linear-gradient(145deg, var(--premium-panel), color-mix(in srgb, var(--premium-panel-2) 92%, var(--accent) 8%)); box-shadow: var(--premium-shadow), inset 0 1px 0 var(--premium-shine); }
html[data-theme]:not([data-theme="classic"]) body.account-page .account-panel::before { border-color: color-mix(in srgb, var(--accent) 25%, var(--premium-border)); background: color-mix(in srgb, var(--accent) 9%, var(--premium-elev)); }
html[data-theme]:not([data-theme="classic"]) body.account-page:not(.account-library-ready) .account-panel-head { padding-block-end: 20px; border-bottom: 1px solid var(--premium-border); }
html[data-theme]:not([data-theme="classic"]) body.account-page .auth-mount { padding: 20px; border: 1px solid var(--premium-border); border-radius: 20px; background: color-mix(in srgb, var(--premium-elev) 82%, transparent); box-shadow: inset 0 1px 0 var(--premium-shine); }
html[data-theme]:not([data-theme="classic"]) body.account-page .account-benefits li { border-color: var(--premium-border); }
html[data-theme="midnight"] body.account-page .dashboard-hero { border-color: #3b4652; background: radial-gradient(circle at 86% 12%, rgba(124,156,196,.23), transparent 31%), linear-gradient(135deg,#1f242a 0%,#252b32 56%,#303a44 100%); box-shadow: 0 28px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.045); }
html[data-theme="tournament"] body.account-page .dashboard-hero { border-color: #3a3027; background: radial-gradient(circle at 86% 12%, rgba(224,152,74,.24), transparent 31%), linear-gradient(135deg,#101316 0%,#171c21 56%,#2a2017 100%); box-shadow: 0 30px 90px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.04); }
html[data-theme="midnight"] body.account-page .dashboard-hero .account-kicker { color: #9ebddd; }
html[data-theme="tournament"] body.account-page .dashboard-hero .account-kicker { color: #efb570; }
html[data-theme]:not([data-theme="classic"]) body.account-page .dashboard-primary-action { border-color: var(--accent); background: var(--accent); color: var(--on-accent); box-shadow: 0 12px 30px color-mix(in srgb, var(--accent) 24%, transparent), inset 0 1px 0 rgba(255,255,255,.17); }
html[data-theme]:not([data-theme="classic"]) body.account-page .dashboard-primary-action:hover { border-color: var(--accent-strong); background: var(--accent-strong); color: var(--on-accent); }
html[data-theme]:not([data-theme="classic"]) body.account-page .dashboard-metric,
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-library { border-color: var(--premium-border); background: linear-gradient(145deg, color-mix(in srgb, var(--premium-panel) 96%, var(--accent) 4%), var(--premium-panel)); box-shadow: var(--premium-shadow-soft), inset 0 1px 0 var(--premium-shine); }
html[data-theme]:not([data-theme="classic"]) body.account-page .dashboard-metric-icon { border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--premium-border)); }
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-library-list { border-color: var(--premium-border); background: var(--premium-elev); box-shadow: inset 0 1px 0 var(--premium-shine); }
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-table th { border-color: var(--premium-border); background: var(--premium-panel-2); color: var(--faint); }
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-table-row { background: var(--premium-elev); }
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-table-row + .analysis-table-row td { border-color: var(--premium-border); }
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-table-row:hover { background: color-mix(in srgb, var(--premium-panel-2) 88%, var(--accent) 12%); }
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-source-badge,
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-result-badge.is-neutral { background: var(--premium-panel-2); color: var(--muted); }
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-result-badge.is-draw { background: var(--blue-soft); color: var(--blue); }
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-table-piece.is-white { border-color: var(--premium-border); background: #e8e6e1; color: #30343a; }
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-table-piece.is-black { background: #090b0d; color: #f2f3f4; }
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-open-link { border-color: color-mix(in srgb, var(--accent) 34%, var(--premium-border)); background: color-mix(in srgb, var(--accent) 12%, var(--premium-panel-2)); color: var(--accent-strong); }
html[data-theme]:not([data-theme="classic"]) body.account-page .analysis-library-more { border-color: var(--premium-border); background: var(--premium-panel-2); color: var(--muted); }
html[data-theme]:not([data-theme="classic"]) body.account-page .account-settings { border-color: var(--premium-border); }
html[data-theme]:not([data-theme="classic"]) body.account-page .account-delete-link { color: var(--faint); }
html[data-theme]:not([data-theme="classic"]) body.account-page .delete-analysis-card { border-color: var(--premium-border); background: var(--premium-panel); color: var(--ink); }
html[data-theme]:not([data-theme="classic"]) body.account-page .delete-account-confirmation input { border-color: var(--premium-border); background: var(--premium-panel-2); color: var(--ink); }
html[data-theme]:not([data-theme="classic"]) body.account-page .delete-account-browser-note { background: var(--premium-panel-2); }

.header-utilities { display: inline-flex; align-items: center; gap: 8px; flex: none; }
.theme-switcher { position: relative; flex: none; }
.theme-switcher-btn {
  min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 0 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--ink) 8%, transparent); font: 750 12px/1 var(--sans); cursor: pointer;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.theme-switcher-btn:hover { border-color: color-mix(in srgb, var(--accent) 58%, var(--line)); background: var(--surface-soft); transform: translateY(-1px); }
.theme-switcher-btn:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 30%, transparent); outline-offset: 2px; }
.theme-switcher-icon { width: 17px; height: 17px; color: var(--accent-strong); }
.theme-switcher-chevron { width: 12px; height: 12px; color: var(--faint); transition: transform .16s ease; }
.theme-switcher.open .theme-switcher-chevron { transform: rotate(180deg); }
.theme-switcher-menu {
  position: absolute; inset: calc(100% + 9px) 0 auto auto; z-index: 80; width: 250px; display: none; gap: 3px;
  padding: 7px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: var(--shadow); color: var(--ink);
}
.theme-switcher.open .theme-switcher-menu { display: grid; }
.theme-option { width: 100%; display: grid; grid-template-columns: 24px minmax(0,1fr) 16px; align-items: center; gap: 10px; padding: 9px; border: 0; border-radius: 10px; background: transparent; color: var(--ink); text-align: start; cursor: pointer; }
.theme-option:hover, .theme-option:focus-visible { background: var(--surface-soft); outline: none; }
.theme-option[aria-checked="true"] { background: var(--accent-soft); }
.theme-swatch { width: 23px; height: 23px; border: 1px solid var(--line); border-radius: 7px; }
.theme-swatch-classic { background: linear-gradient(135deg,#fff 50%,#9c5a1a 50%); }
.theme-swatch-midnight { background: linear-gradient(135deg,#22262b 50%,#7c9cc4 50%); }
.theme-swatch-tournament { background: linear-gradient(135deg,#101316 50%,#e0984a 50%); }
.theme-swatch-auto { background: linear-gradient(135deg,#fff 50%,#101316 50%); }
.theme-option-text, .theme-option-name, .theme-option-desc { display: block; min-width: 0; }
.theme-option-name { font-size: 12px; font-weight: 800; }
.theme-option-desc { margin-block-start: 3px; color: var(--faint); font-size: 10px; line-height: 1.3; }
.theme-check { width: 15px; height: 15px; color: var(--accent-strong); opacity: 0; }
.theme-option[aria-checked="true"] .theme-check { opacity: 1; }
@media (max-width: 930px) { .header-utilities { margin-inline-start: auto; } }
@media (max-width: 620px) {
  .theme-switcher-btn { width: 40px; min-width: 40px; height: 40px; padding: 0; }
  .theme-switcher-btn [data-theme-label], .theme-switcher-chevron { display: none; }
  .theme-switcher-menu { position: fixed; inset: 76px 11px auto auto; width: min(280px, calc(100vw - 22px)); }
}
@media (prefers-reduced-motion: reduce) { .theme-switcher-btn, .theme-switcher-chevron { transition: none; } }
