/* "Sakura" theme (added 2026-09-29) -- soft cherry-blossom pink, same mechanism as the other
   theme-*.css files. `html.theme-sakura` (light, "sakura day") / `html.theme-sakura.dark`
   (cool plum-violet night with glowing pink accents, "sakura night"). Not brand-derived like the other
   themes -- a mood/aesthetic pick instead, requested as a "girly" option. */

html.theme-sakura:not(.dark) {
    --sk-bg: #fdf4fa;
    --sk-surface: #ffffff;
    --sk-surface-recessed: #f9eef7;
    --sk-fill: #f5e6f3;
    --sk-fill-strong: #ecd2ea;
    --sk-border: #efd9ec;
    --sk-border-soft: #f6ebf4;
    --sk-border-strong: #dfbcdb;
    --sk-text-heading: #3d2a4a;
    --sk-text-body: #7a5a8a;
    --sk-text-faint: #a98bb8;
    --sk-accent: #e879c8;
    --sk-accent-solid: #d946a8;
    --sk-accent-hover: #be2e8f;
    --sk-hover-tint: rgba(217, 70, 168, 0.06);
    --sk-hover-tint-strong: rgba(217, 70, 168, 0.1);
    --focus-accent: var(--sk-accent);
    --focus-ring: rgba(217, 70, 168, 0.25);
    color-scheme: light;
}
html.theme-sakura.dark {
    --sk-bg: #15101c;
    --sk-surface: #1e1728;
    --sk-surface-recessed: #100b16;
    --sk-fill: #2a2136;
    --sk-fill-strong: #3b2f4a;
    --sk-border: #2a2136;
    --sk-border-soft: #221b2d;
    --sk-border-strong: #3b2f4a;
    --sk-text-heading: #f5e8fb;
    --sk-text-body: #c4a9d6;
    --sk-text-faint: #7d6a8f;
    --sk-accent: #f3a6dc;
    --sk-accent-solid: #d946a8;
    --sk-accent-hover: #f3a6dc;
    --sk-hover-tint: rgba(243, 166, 220, 0.1);
    --sk-hover-tint-strong: rgba(243, 166, 220, 0.16);
    --focus-accent: var(--sk-accent);
    --focus-ring: rgba(243, 166, 220, 0.25);
    color-scheme: dark;
}

/* "Personality" touches -- see theme-instagram.css's comment for the full rationale. Quicksand
   is a soft, rounded, friendly geometric sans -- the closest free Google Font to a "cute" feel;
   fully-rounded pill buttons reinforce the same softness, same reasoning as Spotify/Instagram. */
html.theme-sakura { font-family: Quicksand, Poppins, Helvetica, Arial, sans-serif !important; }
html.theme-sakura button.rounded-lg, html.theme-sakura a.rounded-lg { border-radius: 9999px !important; }
html.theme-sakura body { color: var(--sk-text-heading); }
html.theme-sakura body.bg-white { background-color: var(--sk-bg) !important; background-image: none !important; }
html.theme-sakura .bg-white { background-color: var(--sk-surface) !important; }
html.theme-sakura .bg-zinc-50 { background-color: var(--sk-surface-recessed) !important; }
html.theme-sakura .bg-zinc-100 { background-color: var(--sk-fill) !important; }
html.theme-sakura .bg-zinc-200 { background-color: var(--sk-fill-strong) !important; }
html.theme-sakura .bg-zinc-900 { background-color: var(--sk-accent-solid) !important; }
html.theme-sakura .bg-zinc-700, html.theme-sakura .bg-zinc-800 { background-color: var(--sk-accent-hover) !important; }
html.theme-sakura .bg-zinc-900\/40 { background-color: rgba(61, 42, 74, 0.5) !important; }
html.theme-sakura .bg-zinc-50\/40, html.theme-sakura .bg-zinc-50\/50, html.theme-sakura .bg-zinc-50\/60 { background-color: var(--sk-hover-tint) !important; }
html.theme-sakura .bg-zinc-200\/60 { background-color: var(--sk-hover-tint-strong) !important; }
html.theme-sakura .text-zinc-700, html.theme-sakura .text-zinc-800, html.theme-sakura .text-zinc-900 { color: var(--sk-text-heading) !important; }
html.theme-sakura .text-zinc-500, html.theme-sakura .text-zinc-600 { color: var(--sk-text-body) !important; }
html.theme-sakura .text-zinc-300, html.theme-sakura .text-zinc-400 { color: var(--sk-text-faint) !important; }
html.theme-sakura .placeholder\:text-zinc-400::placeholder { color: var(--sk-text-faint) !important; }
html.theme-sakura .border-zinc-100 { border-color: var(--sk-border-soft) !important; }
html.theme-sakura .divide-zinc-100 > :not([hidden]) ~ :not([hidden]) { border-color: var(--sk-border-soft) !important; }
html.theme-sakura .border-zinc-200 { border-color: var(--sk-border) !important; }
html.theme-sakura .border-zinc-300 { border-color: var(--sk-border-strong) !important; }
html.theme-sakura .border-zinc-400 { border-color: var(--sk-accent) !important; }
html.theme-sakura .border-zinc-900 { border-color: var(--sk-accent-solid) !important; }
html.theme-sakura .ring-zinc-100 { --tw-ring-color: rgba(217, 70, 168, 0.12) !important; }
html.theme-sakura .ring-zinc-500\/10, html.theme-sakura .ring-zinc-900\/10 { --tw-ring-color: rgba(217, 70, 168, 0.2) !important; }
html.theme-sakura .hover\:bg-zinc-50:hover, html.theme-sakura .hover\:bg-zinc-100:hover, html.theme-sakura .hover\:bg-zinc-200:hover,
html.theme-sakura .hover\:bg-zinc-50\/40:hover, html.theme-sakura .hover\:bg-zinc-50\/50:hover, html.theme-sakura .hover\:bg-zinc-50\/60:hover { background-color: var(--sk-hover-tint) !important; }
html.theme-sakura .hover\:bg-zinc-200\/60:hover { background-color: var(--sk-hover-tint-strong) !important; }
html.theme-sakura .has-\[\:checked\]\:bg-zinc-50:has(:checked), html.theme-sakura .has-\[\:checked\]\:bg-zinc-100:has(:checked) { background-color: var(--sk-hover-tint) !important; }
html.theme-sakura .capa-nc-group:hover td { background-color: var(--sk-hover-tint-strong) !important; }
html.theme-sakura .capa-nc-group:hover td:first-child,
html.theme-sakura tbody:not(.capa-nc-group) tr:not([class*="hover:bg"]):hover td:first-child { box-shadow: inset 3px 0 0 0 var(--sk-accent) !important; }
html.theme-sakura tbody:not(.capa-nc-group) tr:not([class*="hover:bg"]):hover { background-color: var(--sk-hover-tint-strong) !important; }
html.theme-sakura .hover\:bg-zinc-700:hover, html.theme-sakura .hover\:bg-zinc-800:hover { background-color: var(--sk-accent-hover) !important; }
html.theme-sakura .hover\:text-zinc-600:hover { color: var(--sk-text-body) !important; }
html.theme-sakura .hover\:text-zinc-700:hover, html.theme-sakura .hover\:text-zinc-800:hover, html.theme-sakura .hover\:text-zinc-900:hover { color: var(--sk-text-heading) !important; }
html.theme-sakura .hover\:border-zinc-400:hover { border-color: var(--sk-accent) !important; }
html.theme-sakura .hover\:border-zinc-900:hover { border-color: var(--sk-accent-solid) !important; }
html.theme-sakura .focus\:border-zinc-400:focus { border-color: var(--sk-accent) !important; }
html.theme-sakura .focus\:ring-zinc-100:focus { --tw-ring-color: rgba(217, 70, 168, 0.15) !important; }
html.theme-sakura .focus\:ring-zinc-900:focus { --tw-ring-color: rgba(217, 70, 168, 0.25) !important; }
html.theme-sakura input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
html.theme-sakura select, html.theme-sakura textarea { background-color: var(--sk-surface) !important; color: var(--sk-text-heading) !important; border-color: var(--sk-border) !important; }
html.theme-sakura input::placeholder, html.theme-sakura textarea::placeholder { color: var(--sk-text-faint) !important; }
html.theme-sakura input[type="checkbox"], html.theme-sakura input[type="radio"] { accent-color: var(--sk-accent-solid); }
html.theme-sakura.dark input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1); }
html.theme-sakura input[type="date"], html.theme-sakura input[type="time"], html.theme-sakura input[type="datetime-local"],
html.theme-sakura input[type="month"], html.theme-sakura input[type="week"] { color-scheme: inherit; }
html.theme-sakura ::-webkit-scrollbar-track { background: transparent; }
html.theme-sakura ::-webkit-scrollbar-thumb { background: var(--sk-border-strong); border-radius: 999px; }
html.theme-sakura ::-webkit-scrollbar-thumb:hover { background: var(--sk-accent); }
html.theme-sakura.dark .bg-amber-50, html.theme-sakura.dark .bg-amber-100 { background-color: rgba(245, 158, 11, 0.14) !important; }
html.theme-sakura.dark .text-amber-600, html.theme-sakura.dark .text-amber-700, html.theme-sakura.dark .text-amber-800 { color: #fbbf24 !important; }
html.theme-sakura.dark .bg-blue-50, html.theme-sakura.dark .bg-blue-100 { background-color: rgba(59, 130, 246, 0.14) !important; }
html.theme-sakura.dark .text-blue-600, html.theme-sakura.dark .text-blue-700, html.theme-sakura.dark .text-blue-800 { color: #60a5fa !important; }
html.theme-sakura.dark .bg-emerald-50, html.theme-sakura.dark .bg-emerald-100 { background-color: rgba(16, 185, 129, 0.16) !important; }
html.theme-sakura.dark .text-emerald-600, html.theme-sakura.dark .text-emerald-700, html.theme-sakura.dark .text-emerald-800 { color: #34d399 !important; }
html.theme-sakura.dark .bg-red-50, html.theme-sakura.dark .bg-red-100 { background-color: rgba(239, 68, 68, 0.14) !important; }
html.theme-sakura.dark .text-red-600, html.theme-sakura.dark .text-red-700 { color: #f87171 !important; }
html.theme-sakura.dark .bg-violet-50 { background-color: rgba(139, 92, 246, 0.14) !important; }
html.theme-sakura.dark .text-violet-600, html.theme-sakura.dark .text-violet-700 { color: #a78bfa !important; }
html.theme-sakura.dark .bg-sky-50 { background-color: rgba(59, 130, 246, 0.14) !important; }
html.theme-sakura.dark .text-sky-600 { color: #60a5fa !important; }
html.theme-sakura.dark .bg-teal-50 { background-color: rgba(20, 184, 166, 0.14) !important; }
html.theme-sakura.dark .text-teal-600, html.theme-sakura.dark .text-teal-700 { color: #2dd4bf !important; }
html.theme-sakura.dark .bg-rose-50 { background-color: rgba(244, 63, 94, 0.14) !important; }
html.theme-sakura.dark .text-rose-600 { color: #fb7185 !important; }
html.theme-sakura.dark .bg-orange-50 { background-color: rgba(249, 115, 22, 0.14) !important; }
html.theme-sakura.dark .text-orange-600, html.theme-sakura.dark .text-orange-700 { color: #fb923c !important; }
html.theme-sakura.dark .bg-indigo-50 { background-color: rgba(99, 102, 241, 0.14) !important; }
html.theme-sakura.dark .text-indigo-600 { color: #818cf8 !important; }
