/* Bloom theme — warm soft-futurism, violet accent + one blush highlight.
   Loaded after style.css; scoped entirely under :root[data-theme="bloom"]. */

/* ---- Bloom: warm soft-futurism, violet accent + blush, generous rounding ---- */
:root[data-theme="bloom"] {
  --bg: #fdfcff;
  --bg-soft: #f4f2fb;
  --surface: #ffffff;
  --ink: #241f36;
  --ink-soft: #4a4460;
  --muted: #7d7791;
  --line: #ece9f5;
  --line-strong: #ddd8ee;
  --rose: #6d5ae6;
  --rose-deep: #5a46d6;
  --rose-tint: #f0edfd;
  --plum: #4a3f9e;
  --sage: #3f9d86; --sage-bg: #e6f5ef;
  --amber: #b0813f; --amber-bg: #f8efdc;
  --alert: #e06a8b; --alert-bg: #fdeaf0;
  --shadow: 0 1px 2px rgba(80, 60, 180, .05), 0 8px 26px rgba(80, 60, 180, .10);
  --shadow-soft: 0 1px 2px rgba(80, 60, 180, .05);
  --ring: rgba(109, 90, 230, .22);
  --glow: 0 2px 12px rgba(109, 90, 230, .30);
  --shadow-hover: 0 6px 18px rgba(80, 60, 180, .14), 0 14px 32px rgba(80, 60, 180, .10);
  --shadow-pop: 0 16px 34px rgba(80, 60, 180, .18);
  --ok: #2f8b73; --ok-line: #cdeae0;
  --warn: #9a7433; --warn-line: #efe0ba;
  --danger: #c0466b; --danger-line: #f7d3df;
  --radius: 20px;
}
:root[data-theme="bloom"] body {
  background:
    radial-gradient(1000px 500px at 85% -10%, #efe9ff 0%, rgba(239, 233, 255, 0) 60%),
    radial-gradient(820px 460px at 0% 6%, #ffe9f1 0%, rgba(255, 233, 241, 0) 55%),
    var(--bg);
  background-attachment: fixed;
}
:root[data-theme="bloom"] .btn,
:root[data-theme="bloom"] .btn-primary,
:root[data-theme="bloom"] .chip,
:root[data-theme="bloom"] .search-input,
:root[data-theme="bloom"] .subject-pill,
:root[data-theme="bloom"] .sort-select { border-radius: 999px; }
/* Bloom's one deliberate blush accent: the active-tab underline runs violet→blush. */
:root[data-theme="bloom"] nav a.tab.active::after {
  background: linear-gradient(90deg, #6d5ae6, #ff8fab);
}
:root[data-theme="bloom"] .login-body {
  background:
    radial-gradient(1200px 600px at 85% -12%, #ece7ff 0%, rgba(236, 231, 255, 0) 60%),
    radial-gradient(900px 520px at -5% 108%, #ffe6ee 0%, rgba(255, 230, 238, 0) 55%),
    var(--bg);
}
