:root{--purple-light-100: #e9dfff;--purple-light-300: #d5c5f4;--purple-light-500: #cbb8ed;--purple-dark-100: #6856b9;--purple-dark-300: #442e8e;--purple-dark-500: #321c68;--info-100: #ffeed4;--info-300: #ffcf87;--info-500: #ffb322;--warning-100: #f08862;--warning-300: #d35221;--warning-500: #b73d00;--hud-100: #ddfcf0;--hud-300: #b1f8de;--hud-500: #7ef2c8;--bg: #070a14;--panel: rgba(14, 19, 34, .86);--surface-raised: rgba(14, 19, 34, .96);--surface-control: rgba(14, 19, 34, .72);--scrim: rgba(4, 6, 12, .82);--scrim-strong: rgba(4, 6, 12, .9);--line: color-mix(in srgb, var(--purple-light-500) 22%, transparent);--ink: var(--purple-light-100);--ink-dim: color-mix(in srgb, var(--purple-light-500) 68%, transparent);--ink-accent: var(--purple-light-500);--menu-button-ink: #fff;--accent: var(--hud-500);--accent-soft: color-mix(in srgb, var(--hud-500) 8%, transparent);--accent-line: color-mix(in srgb, var(--hud-500) 28%, transparent);--tier-frontier: var(--hud-500);--tier-contested: var(--info-500);--tier-stronghold: var(--warning-500);--danger: var(--warning-500);--font-display: "Panchang", ui-sans-serif, system-ui, sans-serif;--font-chrome: "OCR A Std", ui-monospace, SFMono-Regular, monospace;--font-prose: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--tap-target: 2.75rem;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--font-prose);-webkit-font-smoothing:antialiased}[data-typography=ocr]{--font-display: "OCR A Std", ui-monospace, SFMono-Regular, monospace;--font-chrome: "OCR A Std", ui-monospace, SFMono-Regular, monospace;--font-prose: "OCR A Std", ui-monospace, SFMono-Regular, monospace}[data-typography=system]{--font-display: ui-sans-serif, system-ui, sans-serif;--font-chrome: ui-monospace, SFMono-Regular, monospace;--font-prose: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:var(--accent-line);border-radius:99px}::-webkit-scrollbar-track{background:transparent}.calendar-page .reward{display:grid;width:var(--tap-target);height:var(--tap-target);place-items:center;overflow:hidden;border:1px dashed var(--warning-300);border-radius:50%;background:color-mix(in srgb,var(--warning-500) 10%,transparent);color:var(--warning-100);font:700 1.05rem var(--font-display)}.calendar-page .reward img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.calendar-page .reward.unlocked{border-style:solid;border-color:var(--hud-500);background:var(--accent-soft);color:var(--hud-100)}.calendar-page .progress-copy{display:flex;justify-content:space-between;gap:8px;margin-top:14px;color:var(--ink-dim);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.calendar-page .progress-copy strong{color:var(--hud-100);font-family:var(--font-display)}.calendar-page .progress-track{height:8px;margin-top:6px;overflow:hidden;border:1px solid var(--accent-line);border-radius:99px;background:var(--surface-control)}.calendar-page .progress-track span{display:block;height:100%;border-radius:inherit;background:var(--hud-500);box-shadow:0 0 10px color-mix(in srgb,var(--hud-500) 55%,transparent);transition:width .18s ease}.calendar-page .reward-hint{margin:7px 0 0;color:var(--ink-dim);font-size:.7rem}.calendar-page .day.pending{box-shadow:inset 0 0 0 1px var(--warning-300)}.calendar-page .day.completed{border-color:var(--hud-500);color:var(--hud-100)}.calendar-page .day.past-open{border-color:var(--hud-300);background:color-mix(in srgb,var(--hud-500) 8%,var(--surface-control));color:var(--hud-100)}.calendar-page .day.past-open:hover:not(:disabled),.calendar-page .day.past-open:focus-visible{border-color:var(--hud-500);background:color-mix(in srgb,var(--hud-500) 16%,var(--surface-control))}.calendar-page .today-pip{width:8px;height:8px;border-radius:50%;background:var(--warning-500);box-shadow:0 0 0 2px color-mix(in srgb,var(--warning-500) 18%,transparent)}@media(prefers-reduced-motion:reduce){.calendar-page .progress-track span{transition:none}}
