/* W help daylight. Loaded after glass and VIP styles; dark palettes are untouched.
   All artwork and holiday particles retain their existing palette and stacking. */
:root[data-theme="light"] {
  --daylight-rgb: 76, 109, 203;
  --daylight-accent: var(--blue, #315cd6);
  --daylight-edge: color-mix(in srgb, var(--daylight-accent) 14%, #dce4f1);
  --daylight-soft: rgba(var(--daylight-rgb), .075);
  --daylight-shadow: 0 10px 30px #2744730b, 0 2px 6px #27447305, inset 0 1px 0 #ffffff;
  --daylight-raised: 0 16px 38px #27447312, 0 3px 9px #27447308, inset 0 1px 0 #ffffff;
}

:root[data-theme="light"]:not([data-holiday]),
:root[data-theme="light"][data-holiday="standard"] {
  --bg: #edf3ff;
  --surface: #ffffff;
  --surface2: #eaf0fc;
  --border: #d4dff0;
  --text: #172b4b;
  --muted: #50627e;
  --blue: #315dd5;
  --lightblue: #2d57b8;
  --glass-rgb: 83, 116, 209;
  --glass-accent: #315dd5;
  --glass-card: linear-gradient(145deg, #ffffff 32%, #f7f9ff 82%, #f0f3ff);
  --glass-edge: #d6e0f1;
  --glass-edge-bright: #adc1e6;
  --glass-shadow: var(--daylight-shadow);
  --glass-navigation: #ffffffdb;
  --glass-header: #f9fbffdb;
  --glass-input: #ffffff;
}

:root[data-theme="light"][data-holiday]:not([data-holiday="standard"]) {
  --daylight-rgb: var(--fest-rgb);
  --daylight-accent: var(--fest-accent-strong);
}

:root[data-theme="light"][data-holiday] body,
:root[data-theme="light"]:not([data-holiday]) body {
  background-color: var(--bg);
  background-image:
    radial-gradient(ellipse at 92% -6%, rgba(var(--daylight-rgb), .12), transparent 47%),
    radial-gradient(ellipse at 7% 45%, #b7b6f10e, transparent 48%);
}

/* Side navigation and header remain crisp; no filter is applied to text. */
:root[data-theme="light"][data-holiday] .sidebar,
:root[data-theme="light"]:not([data-holiday]) .sidebar {
  border-right-color: var(--daylight-edge);
  background: var(--glass-navigation);
  box-shadow: 9px 0 34px #365b8f08, inset -1px 0 #ffffffaa;
}

:root[data-theme="light"][data-holiday] :is(.topbar, .legal-header),
:root[data-theme="light"]:not([data-holiday]) :is(.topbar, .legal-header) {
  border-bottom-color: var(--daylight-edge);
  background: var(--glass-header);
  box-shadow: 0 5px 22px #365b8f06, inset 0 -1px #ffffffaa;
}

:root[data-theme="light"][data-holiday] .nav-link,
:root[data-theme="light"]:not([data-holiday]) .nav-link { color: var(--muted); }

:root[data-theme="light"][data-holiday] .nav-link.active,
:root[data-theme="light"]:not([data-holiday]) .nav-link.active {
  color: var(--daylight-accent);
  background: linear-gradient(108deg, rgba(var(--daylight-rgb), .14), rgba(var(--daylight-rgb), .035));
  box-shadow: inset 0 0 0 1px rgba(var(--daylight-rgb), .12), inset 3px 0 var(--daylight-accent);
}

:root[data-theme="light"][data-holiday] :is(.panel, .tournament-card, .filter-bar, .team-invite-banner, .holiday-card, .appearance-current),
:root[data-theme="light"]:not([data-holiday]) :is(.panel, .tournament-card, .filter-bar, .team-invite-banner, .holiday-card, .appearance-current) {
  border-color: var(--daylight-edge);
  background: var(--glass-card);
  box-shadow: var(--daylight-shadow);
}

:root[data-theme="light"][data-holiday] :is(.team-card, .guide-card, .admin-stat),
:root[data-theme="light"]:not([data-holiday]) :is(.team-card, .guide-card, .admin-stat) { border-top-color: #ffffff; }

:root[data-theme="light"][data-holiday] .vip-recommended,
:root[data-theme="light"]:not([data-holiday]) .vip-recommended {
  border-color: #a58bdb;
  background: linear-gradient(155deg, #ffffff 26%, #f2edff 100%);
  box-shadow: 0 13px 36px #7454b013, inset 0 1px 0 #ffffff;
}

:root[data-theme="light"][data-holiday] .vip-badge,
:root[data-theme="light"]:not([data-holiday]) .vip-badge {
  color: #65439b;
  border-color: #bba4df;
  background: #f2ebff;
}

/* Primary actions use the existing holiday accent, with a solid accessible base. */
:root[data-theme="light"][data-holiday] .primary,
:root[data-theme="light"]:not([data-holiday]) .primary {
  border-color: color-mix(in srgb, var(--blue) 82%, #15264b);
  box-shadow: inset 0 1px 0 #ffffff38, 0 5px 12px rgba(var(--daylight-rgb), .16);
  color: #ffffff;
}

:root[data-theme="light"][data-holiday] .ghost,
:root[data-theme="light"]:not([data-holiday]) .ghost {
  border-color: #afc1dd;
  color: #2a426b;
  background: linear-gradient(#ffffff, #f5f8ff);
  box-shadow: inset 0 1px 0 #ffffff, 0 2px 5px #365b8f04;
}

:root[data-theme="light"][data-holiday] :is(.theme-toggle, .language-toggle, .holiday-effects-toggle),
:root[data-theme="light"]:not([data-holiday]) :is(.theme-toggle, .language-toggle, .holiday-effects-toggle) {
  border-color: var(--daylight-edge);
  color: #38567f;
  box-shadow: inset 0 1px 0 #ffffff;
}

:root[data-theme="light"][data-holiday] :is(.button, .icon-button, .language-toggle):disabled,
:root[data-theme="light"]:not([data-holiday]) :is(.button, .icon-button, .language-toggle):disabled {
  opacity: 1;
  color: #68788f;
  background: #edf1f8;
  border-color: #ccd6e5;
  box-shadow: none;
}

:root[data-theme="light"][data-holiday] :is(.admin-tabs a.active, .detail-tabs > a.active, .auth-tabs > button.active),
:root[data-theme="light"]:not([data-holiday]) :is(.admin-tabs a.active, .detail-tabs > a.active, .auth-tabs > button.active) {
  color: var(--daylight-accent);
  border-bottom-color: var(--daylight-accent);
  background: linear-gradient(0deg, var(--daylight-soft), transparent);
}

/* Forms stay opaque enough to read over the ambient background. */
:root[data-theme="light"][data-holiday] :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
:root[data-theme="light"]:not([data-holiday]) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  color: var(--text);
  background: #ffffff;
  border-color: #7f91ae;
  box-shadow: inset 0 1px 2px #2b456b05, 0 1px 0 #ffffff;
}

:root[data-theme="light"] :is(input, textarea)::placeholder { color: #64738b; opacity: 1; }
:root[data-theme="light"] form label { color: #334c70; }
:root[data-theme="light"] :is(.form-note, .dialog-copy) { color: var(--muted); }
:root[data-theme="light"] :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--daylight-accent); }

:root[data-theme="light"][data-holiday] :is(button, a, input, select, textarea):focus-visible,
:root[data-theme="light"]:not([data-holiday]) :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid var(--daylight-accent);
  outline-offset: 3px;
}

:root[data-theme="light"][data-holiday] .modal,
:root[data-theme="light"]:not([data-holiday]) .modal {
  background: linear-gradient(145deg, #ffffff, #f5f8ff);
  border-color: #b2c3dd;
  box-shadow: 0 25px 90px #213a6840, inset 0 1px 0 #ffffff;
}

:root[data-theme="light"] .modal::backdrop { background: #233a6666; }
:root[data-theme="light"] .modal :is(.form-note, .checkbox-label, .code-hint) { font-size: 12px; line-height: 1.7; }

:root[data-theme="light"][data-holiday] :is(th, td),
:root[data-theme="light"]:not([data-holiday]) :is(th, td) { border-color: var(--daylight-edge); }
:root[data-theme="light"][data-holiday] th,
:root[data-theme="light"]:not([data-holiday]) th {
  color: #3b5274;
  background: linear-gradient(180deg, #f0f4fd, #eaf0fb);
}
:root[data-theme="light"] tr:hover td { background: var(--daylight-soft); }
:root[data-theme="light"] :is(.audit-list small, .profile-entry small, .card-series, .team-card > p) { color: var(--muted); }

/* The standard hero becomes daylight artwork. Festive heroes are kept intact. */
:root[data-theme="light"][data-holiday="standard"] .hero,
:root[data-theme="light"]:not([data-holiday]) .hero {
  color: #18345b;
  background:
    radial-gradient(ellipse at 80% 18%, #b8d4ff88, transparent 56%),
    radial-gradient(ellipse at 8% 95%, #d7cdfc77, transparent 60%),
    linear-gradient(125deg, #f8fbff, #e5eeff 66%, #e4e7ff);
  border-color: #b8ccea;
  box-shadow: 0 18px 50px #375e9b13, inset 0 1px 0 #ffffff;
}
:root[data-theme="light"][data-holiday="standard"] .hero h1 em,
:root[data-theme="light"]:not([data-holiday]) .hero h1 em { color: #3159c5; }
:root[data-theme="light"][data-holiday="standard"] .hero :is(.eyebrow, .hero-season b),
:root[data-theme="light"]:not([data-holiday]) .hero :is(.eyebrow, .hero-season b) { color: #365d94; }
:root[data-theme="light"][data-holiday="standard"] .hero :is(.hero-copy > p, .hero-foot),
:root[data-theme="light"]:not([data-holiday]) .hero :is(.hero-copy > p, .hero-foot) { color: #425f86; }
:root[data-theme="light"][data-holiday="standard"] .hero .ghost,
:root[data-theme="light"]:not([data-holiday]) .hero .ghost { background: #ffffffdc; color: #294c87; border-color: #8fa8ce; }

@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  :root[data-theme="light"][data-effects="on"] :is(.tournament-card, .team-card):hover {
    border-color: color-mix(in srgb, var(--daylight-accent) 44%, #cdd9ed);
    box-shadow: var(--daylight-raised);
  }
  :root[data-theme="light"][data-effects="on"] .ghost:not(:disabled):hover {
    color: var(--daylight-accent);
    border-color: var(--daylight-accent);
    background: #ffffff;
    box-shadow: 0 7px 18px rgba(var(--daylight-rgb), .10);
  }
  :root[data-theme="light"][data-effects="on"] .nav-link:not(.active):hover {
    color: var(--text);
    background: var(--daylight-soft);
  }
}

/* Turning effects off removes the new decorative layers as well. */
:root[data-theme="light"][data-effects="off"] body { background-image: none; }
:root[data-theme="light"][data-effects="off"][data-holiday] :is(.panel, .tournament-card, .filter-bar, .team-invite-banner, .holiday-card, .appearance-current, .sidebar, .topbar, .legal-header, .modal, .ghost),
:root[data-theme="light"][data-effects="off"]:not([data-holiday]) :is(.panel, .tournament-card, .filter-bar, .team-invite-banner, .holiday-card, .appearance-current, .sidebar, .topbar, .legal-header, .modal, .ghost) {
  background: var(--surface);
  box-shadow: none;
}
:root[data-theme="light"][data-effects="off"][data-holiday="standard"] .hero { box-shadow: none; }
:root[data-theme="light"][data-effects="off"][data-holiday] .primary:not(:disabled),
:root[data-theme="light"][data-effects="off"]:not([data-holiday]) .primary:not(:disabled) {
  background: var(--blue);
  box-shadow: none;
}

@media(max-width:650px) {
  :root[data-theme="light"][data-holiday] :is(.panel, .tournament-card),
  :root[data-theme="light"]:not([data-holiday]) :is(.panel, .tournament-card) { box-shadow: 0 5px 18px #27447308, inset 0 1px 0 #ffffff; }
  :root[data-theme="light"][data-effects="off"][data-holiday] :is(.panel, .tournament-card) { box-shadow: none; }
  :root[data-theme="light"] .modal { box-shadow: 0 20px 55px #213a6838; }
}

@media(prefers-reduced-motion:reduce) {
  :root[data-theme="light"] :is(.button, .nav-link, input, select, textarea) { transition: none; }
}

@media(forced-colors:active) {
  :root[data-theme="light"] body { background: Canvas; }
  :root[data-theme="light"][data-holiday] :is(.panel, .tournament-card, .sidebar, .topbar, .modal, .button, input, select, textarea),
  :root[data-theme="light"]:not([data-holiday]) :is(.panel, .tournament-card, .sidebar, .topbar, .modal, .button, input, select, textarea) {
    background: Canvas;
    color: CanvasText;
    border-color: CanvasText;
    box-shadow: none;
  }
  :root[data-theme="light"][data-holiday] :is(button, a, input, select, textarea):focus-visible,
  :root[data-theme="light"]:not([data-holiday]) :is(button, a, input, select, textarea):focus-visible { outline-color: Highlight; }
}
