@charset "utf-8";
/* Lucia: a dark winter morning lit by a crown of candles — white gowns, a red sash,
   a drifting star and a little snow. */
:root[data-theme="lucia"] {
  --bg: #0c1530; --panel: #fbf8f1; --ink: #26283a; --muted: #6f6c7d; --line: #e8e0cf;
  --accent: #c62828; --accent-ink: #ffffff; --mover: #fff4e0; --die: #fffdf8; --die-edge: #e6c37a;
  --pip: #c62828; --held: #ffcc4d; --field: #ffffff; --good: #2e7d32; --bad: #c62828;
  --title: #ffe6a8; --title-font: "Cormorant Garamond", Georgia, serif; --name-font: "Cormorant Garamond", Georgia, serif;
  --page-ink: #fff4d6; --page-muted: #c3c9e2; --radius: 12px; --mark: "🕯️";
  --pattern:
    radial-gradient(ellipse 70% 45% at 50% 0, rgba(255, 190, 90, .32) 0, transparent 70%),
    radial-gradient(1px 1px at 30px 50px, #fff 50%, transparent 52%) 0 0 / 160px 160px,
    radial-gradient(1px 1px at 110px 120px, #dfe6ff 50%, transparent 52%) 0 0 / 160px 160px,
    linear-gradient(#0c1530, #16224a);
  --pattern-size: 100% 100%, 160px 160px, 160px 160px, 100% 100%;
}
[data-theme="lucia"] body { padding-top: 44px; }
[data-theme="lucia"] h1 { font-size: 52px; font-weight: 600; font-style: italic; text-shadow: 0 0 18px rgba(255, 200, 100, .7); }
[data-theme="lucia"] .tray-head .name { font-size: 22px; font-weight: 600; font-style: italic; }
[data-theme="lucia"] .tray-head .total { font-size: 28px; font-style: italic; color: #c62828; }
[data-theme="lucia"] .sheet thead th { font-size: 17px; font-style: italic; }
[data-theme="lucia"] .sheet tr.total th, [data-theme="lucia"] .sheet tr.total td { font-size: 20px; font-style: italic; }
[data-theme="lucia"] .card { box-shadow: 0 0 30px rgba(255, 190, 90, .14); }
[data-theme="lucia"] .tray.mover { box-shadow: 0 0 26px rgba(255, 190, 90, .45); border-color: #e6c37a; }
[data-theme="lucia"] .die.held { box-shadow: 0 0 0 3px var(--held), 0 0 16px rgba(255, 204, 77, .9); }
/* The crown of candles across the top, flickering. */
[data-theme="lucia"] body::before {
  content: "🕯️🕯️🕯️🕯️🕯️🕯️🕯️"; position: fixed; top: 4px; left: 50%; transform: translateX(-50%);
  font-size: 22px; letter-spacing: 8px; white-space: nowrap; z-index: 0; pointer-events: none;
  filter: drop-shadow(0 0 8px rgba(255, 190, 90, .9)); animation: crown-flicker 2.2s steps(3) infinite;
}
@keyframes crown-flicker { 33% { filter: drop-shadow(0 0 5px rgba(255, 190, 90, .7)); } 66% { filter: drop-shadow(0 0 11px rgba(255, 210, 120, 1)); } }
[data-theme="lucia"] body::after {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 10; opacity: .45;
  background-image: radial-gradient(2px 2px at 30px 40px, #fff 50%, transparent 52%), radial-gradient(1.5px 1.5px at 150px 120px, #fff 50%, transparent 52%), radial-gradient(2px 2px at 220px 220px, #fff 50%, transparent 52%);
  background-size: 260px 260px; animation: lucia-snow 22s linear infinite;
}
@keyframes lucia-snow { to { background-position: 40px 260px; } }
[data-theme="lucia"] .ambient .a1 { display: block; top: 18%; left: -40px; font-size: 26px; animation: star-drift 36s linear infinite 4s; filter: drop-shadow(0 0 10px #ffe18a); }
[data-theme="lucia"] .ambient .a1::before { content: "🌟"; display: inline-block; animation: star-turn 4s ease-in-out infinite; }
@keyframes star-drift { 0% { transform: translate(0, 0); } 40%, 100% { transform: translate(calc(100vw + 80px), 40px); } }
@keyframes star-turn { 50% { transform: rotate(20deg) scale(1.15); } }
