/* Light mode. Every rule is scoped to [data-theme="light"], so dark mode (the default) is untouched.
   Profile pages never load this: they always look the way their owner designed them. */
[data-theme="light"] {
  color-scheme: light;
  --bg: #f4f3f9;
  --bg-2: #ffffff;
  --card: #ffffff;
  --card-2: #f1f0f7;
  --border: #e2e0ec;
  --text: #17161f;
  --muted: #6b6a7e;
  --accent: #6c5ce7;
  --accent-2: #4b3bc4;
  --accent-soft: rgba(108, 92, 231, 0.1);
  --danger: #e11d48;
  --ok: #16a34a;
}
[data-theme="light"] body {
  background:
    radial-gradient(90% 60% at 50% -10%, rgba(108, 92, 231, 0.09), transparent 70%),
    radial-gradient(60% 50% at 100% 100%, rgba(168, 140, 255, 0.1), transparent 70%),
    var(--bg);
  background-attachment: fixed;
}
[data-theme="light"][data-season] body:not(.profile-page) {
  background:
    radial-gradient(90% 60% at 50% -10%, color-mix(in srgb, var(--sb1) 60%, transparent), transparent 70%),
    radial-gradient(60% 50% at 100% 100%, color-mix(in srgb, var(--sb2) 50%, transparent), transparent 70%),
    var(--bg);
  background-attachment: fixed;
}

/* ---------- shared (style.css) ---------- */
[data-theme="light"] .logo img { filter: drop-shadow(0 0 4px rgba(108, 92, 231, 0.35)); }
[data-theme="light"][data-season] .logo img { filter: drop-shadow(0 0 4px var(--accent)); }
[data-theme="light"] .btn:hover { border-color: #cfcbe0; background: #e9e7f3; }
[data-theme="light"] .btn.primary { color: #fff; border-color: transparent; background: linear-gradient(135deg, #7c6cf0, #5847d6); box-shadow: 0 4px 14px rgba(108, 92, 231, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2); }
[data-theme="light"] .btn.primary:hover { box-shadow: 0 6px 20px rgba(108, 92, 231, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.2); }
[data-theme="light"] .btn.discord-auth-btn { background: #5865f2; border-color: #5865f2; box-shadow: none; }
[data-theme="light"] .btn.discord-auth-btn:hover { background: #4752c4; border-color: #4752c4; }
[data-theme="light"][data-season] .btn.primary { color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25); }
[data-theme="light"] .btn.danger { background: rgba(225, 29, 72, 0.06); border-color: rgba(225, 29, 72, 0.3); }
[data-theme="light"] .switch input:not(:checked),
[data-theme="light"] .opt input:not(:checked) { background: #d6d3e3; }
[data-theme="light"] .nav { background: rgba(255, 255, 255, 0.8); box-shadow: 0 6px 24px rgba(30, 20, 80, 0.06); }
[data-theme="light"] .nav-links { color: #4a4960; }
[data-theme="light"] .nav-links a:hover { color: var(--text); }
[data-theme="light"] .card { background: var(--card); box-shadow: 0 1px 2px rgba(30, 20, 80, 0.04), 0 8px 24px rgba(30, 20, 80, 0.04); }
[data-theme="light"] .bico { background: color-mix(in srgb, var(--bc) 14%, #fff); }
[data-theme="light"] .float-bg span { opacity: 0.25; filter: none; }

[data-theme="light"] .toast { color: var(--text); background: color-mix(in srgb, var(--tc) 7%, rgba(255, 255, 255, 0.96)); border-color: color-mix(in srgb, var(--tc) 30%, #e2e0ec); box-shadow: 0 12px 32px -12px rgba(30, 20, 80, 0.25); }
[data-theme="light"] .toast-title + .toast-msg { color: var(--muted); }
[data-theme="light"] .toast-close:hover { background: rgba(0, 0, 0, 0.06); color: var(--text); }
[data-theme="light"] .toast-action { color: #fff; }

[data-theme="light"] .report-modal { background: rgba(30, 26, 50, 0.35); }
[data-theme="light"] .report-box { background: #fff; color: var(--text); border-color: var(--border); box-shadow: 0 30px 80px rgba(30, 20, 80, 0.2); }
[data-theme="light"] .report-box select,
[data-theme="light"] .report-box textarea { background: #fff; color: var(--text); border-color: var(--border); }
[data-theme="light"] .rp-x:hover { color: var(--text); }
[data-theme="light"] .report-box label.rp-reason { border-color: var(--border); background: #faf9fd; }
[data-theme="light"] .rp-reason:hover { border-color: #cfcbe0; }
[data-theme="light"] .rp-text small { color: var(--muted); }
[data-theme="light"] .notice-pop { background: rgba(30, 26, 50, 0.4); }
[data-theme="light"] .notice-box { box-shadow: 0 30px 80px rgba(30, 20, 80, 0.2); }
[data-theme="light"] .notice-warning h2 { color: #b45309; }

/* ---------- dashboard ---------- */
[data-theme="light"] .sidebar { background: radial-gradient(120% 40% at 0% 0%, rgba(108, 92, 231, 0.06), transparent 70%), #fbfaff; }
[data-theme="light"] .side-label { color: #9a98ad; }
[data-theme="light"] .side-nav a { color: #5d5c72; }
[data-theme="light"] .side-nav a:hover { background: rgba(0, 0, 0, 0.04); color: var(--text); }
[data-theme="light"] .side-nav a.active { background: linear-gradient(90deg, rgba(108, 92, 231, 0.13), rgba(108, 92, 231, 0.02)); color: var(--text); }
[data-theme="light"] .side-nav a.active svg { filter: none; }
[data-theme="light"] .side-nav a.admin-link { color: #be3455; }
[data-theme="light"] .side-nav a.admin-link:hover { color: #9f1239; }
[data-theme="light"] .side-user { background: #fff; }
[data-theme="light"] .su-avatar { background-color: #ece9f8; }
[data-theme="light"] .su-btn:hover { background: rgba(0, 0, 0, 0.05); color: var(--text); }
[data-theme="light"] .ban-notice { color: #9f1239; }
[data-theme="light"] .ov { background: linear-gradient(160deg, rgba(108, 92, 231, 0.09), var(--card)); }
[data-theme="light"] .ov-early,
[data-theme="light"] .tpl-tags span,
[data-theme="light"] .tc-chip { color: #4b3bc4; }
[data-theme="light"] .cz-tabs button:hover,
[data-theme="light"] .cz-tabs button.active,
[data-theme="light"] .seg button.on,
[data-theme="light"] .tc-idea:hover,
[data-theme="light"] .cb-icon:hover,
[data-theme="light"] .tag-chip button:hover { color: var(--text); }
[data-theme="light"] .cb-new { color: var(--text); }
[data-theme="light"] .swatch:hover,
[data-theme="light"] .badge-card:hover,
[data-theme="light"] .season-opt:hover,
[data-theme="light"] .choice-tile:hover { border-color: #cfcbe0; }
[data-theme="light"] .check i { border-color: #cfcbe0; }
[data-theme="light"] .asset-box,
[data-theme="light"] .dropzone { border-color: #cfcbe0; }
[data-theme="light"] .chart .grid { stroke: #e2e0ec; }
[data-theme="light"] .chart .chart-empty { fill: #9a98ad; }
[data-theme="light"] .tc-info { background: #faf9fd; }
[data-theme="light"] .tc-chip button:hover { background: rgba(0, 0, 0, 0.08); }
[data-theme="light"] .verify-notice p { color: #854d0e; }
[data-theme="light"] .cb-preview,
[data-theme="light"] .cb-icon,
[data-theme="light"] .ct-art { background-color: #f1f0f7; }
[data-theme="light"] .cb-icon.on { background: color-mix(in srgb, var(--bc) 14%, #fff); }
[data-theme="light"] .b-status.owned { color: #15803d; }
[data-theme="light"] .b-status.action { color: #be123c; }
[data-theme="light"] .up-tag.off { color: #b91c1c; }
[data-theme="light"] .upload-actions .is-locked { color: #b45309; }
[data-theme="light"] .ci-tag { color: #0369a1; }

/* ---------- admin ---------- */
[data-theme="light"] .admin-top { background: rgba(255, 255, 255, 0.8); }
[data-theme="light"] .admin-table tbody tr:hover { background: rgba(0, 0, 0, 0.025); }
[data-theme="light"] .r-note,
[data-theme="light"] .ga-caption { color: #3f3e52; }
[data-theme="light"] .u-filter.on { color: var(--text); }
[data-theme="light"] .u-av,
[data-theme="light"] .m-av { color: var(--accent); }
[data-theme="light"] .qa { color: #3f3e52; background: #fff; }
[data-theme="light"] code.ga-chip { color: #0e7490; }
[data-theme="light"] .pill.warn { color: #b45309; }
[data-theme="light"] .pill.gold { color: #a16207; }
[data-theme="light"] .pill.host { color: #0e7490; }
[data-theme="light"] .palette { background: rgba(30, 26, 50, 0.35); }

/* ---------- landing ---------- */
/* The example profile cards are previews of real (dark) profile pages, so they keep dark colours. */
[data-theme="light"] .mock { --text: #e4e4ec; --muted: #a3a3b8; color: var(--text); box-shadow: 0 20px 50px rgba(30, 20, 80, 0.28); }
[data-theme="light"] .hero .pill { color: #4b3bc4; border-color: rgba(108, 92, 231, 0.3); }
[data-theme="light"] .potw-bio { color: var(--muted); }
[data-theme="light"] .rare-url b { color: var(--text); }
[data-theme="light"] .rare-tier.t2 { color: #6d28d9; }
[data-theme="light"] .rare-tier.t3 { color: #4b5563; }

/* ---------- terms & privacy ---------- */
[data-theme="light"] .legal-head { background: radial-gradient(120% 120% at 0% 0%, rgba(108, 92, 231, 0.12), transparent 60%), var(--card); }
[data-theme="light"] .legal-body p,
[data-theme="light"] .legal-body li,
[data-theme="light"] .legal-body th,
[data-theme="light"] .legal-body td { color: #44435a; }
[data-theme="light"] .legal-body th { color: var(--muted); }
[data-theme="light"] .legal-body td:first-child { color: var(--text); }
[data-theme="light"] .toc a:hover { border-color: #cfcbe0; }

/* ---------- status & leaderboard ---------- */
[data-theme="light"] .bars90 i.nodata { background: #dcd9e8; }
[data-theme="light"] .tip { background: #fff; box-shadow: 0 6px 18px rgba(30, 20, 80, 0.12); }
[data-theme="light"] .inc-up p { color: #44435a; }
[data-theme="light"] .r1 .rank { color: #b7791f; }
[data-theme="light"] .r2 .rank { color: #64748b; }
[data-theme="light"] .r3 .rank { color: #a0522d; }
[data-theme="light"] .potw-banner small { color: #a16207; }
[data-theme="light"] .potw-banner .note { color: #854d0e; }

/* ---------- theme toggle ---------- */
.theme-toggle { display: inline-grid; place-items: center; width: 34px; height: 34px; padding: 0; border-radius: 10px; border: 1px solid var(--border); background: var(--card-2); color: var(--text); cursor: pointer; transition: background 0.15s, border-color 0.15s, transform 0.15s; }
.theme-toggle:hover { border-color: var(--accent); }
.theme-toggle:active { transform: scale(0.93); }
.theme-toggle svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle .tt-sun { display: none; }
[data-theme="light"] .theme-toggle .tt-sun { display: block; }
[data-theme="light"] .theme-toggle .tt-moon { display: none; }
.su-btn.theme-toggle { width: 30px; height: 30px; border: none; background: none; color: var(--muted); }
.side-user:has(.theme-toggle) { gap: 6px; }
.side-user:has(.theme-toggle) .su-btn { width: 26px; }
.su-btn.theme-toggle:hover { color: var(--text); }
.theme-toggle.floating { position: fixed; top: 16px; right: 16px; z-index: 60; }
