@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/InstrumentSerif-Italic.woff2) format("woff2")}:root{--bg-primary: #0d0620;--bg-secondary: #291a44;--bg-card: rgba(41, 26, 68, .55);--bg-overlay: rgba(27, 16, 48, .88);--bg-glow: radial-gradient(70% 60% at 42% -8%, rgba(255, 255, 255, .48) 0%, rgba(232, 222, 255, .4) 22%, rgba(196, 171, 250, .26) 45%, rgba(130, 80, 235, .13) 70%, transparent 100%), radial-gradient(110% 85% at 60% 12%, rgba(139, 92, 246, .28), transparent 72%), radial-gradient(135% 115% at 50% 42%, transparent 38%, rgba(16, 8, 38, .55) 72%, rgba(3, 2, 9, .94) 100%);--border-color: rgba(167, 139, 250, .15);--border-strong: rgba(196, 181, 253, .42);--edge-highlight: inset 0 1px 0 rgba(255, 255, 255, .05);--text-primary: #ede9fe;--text-secondary: #b6a8e0;--text-header: #c7c2e8;--text-gradient: linear-gradient(115deg, #ede9fe 0%, #c4b5fd 45%, #e9b1ff 95%);--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Instrument Serif", Georgia, "Times New Roman", serif;--accent-color: #a78bfa;--accent-pink: #e9b1ff;--accent-strong: #7c3aed;--on-accent: #ffffff;--on-glow: #0e091c;--tier-1: var(--winner-color);--tier-2: var(--accent-color);--tier-3: rgba(167, 139, 250, .68);--tier-4: var(--tier-3);--tier-5: var(--tier-3);--success-color: #22c55e;--danger-color: #ef4444;--winner-color: #fbbf24;--gradient-accent: linear-gradient(135deg, #8b5cf6 0%, #c026d3 100%);--gradient-success: linear-gradient(135deg, #84cc16 0%, #2dd4bf 100%);--gradient-gold: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--gradient-danger: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);--scrim: rgba(10, 6, 20, .62);--tap-highlight: rgba(167, 139, 250, .28);--shadow-glow: 0 0 28px rgba(139, 92, 246, .28);--shadow-lux: 0 24px 64px rgba(10, 6, 20, .55), 0 0 40px rgba(139, 92, 246, .22);--dialog-glass: linear-gradient(165deg, rgba(41, 26, 68, .96), rgba(14, 8, 28, .98));--border-radius: 16px;--radius-lg: 24px;--radius-pill: 999px;--tap-target-min: 44px;--input-font-size: 16px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{background-color:var(--bg-primary);scroll-behavior:smooth;overflow-x:clip}body{font-family:var(--font-body);color:var(--text-primary);line-height:1.6;overscroll-behavior:contain;padding:0 12px}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:var(--bg-glow);pointer-events:none;animation:glow-breathe 24s ease-in-out infinite}@keyframes glow-breathe{0%,to{opacity:.88}50%{opacity:1}}@media(prefers-reduced-motion:reduce){body:before{animation:none}}input,select{font-size:var(--input-font-size)}.btn{min-height:var(--tap-target-min);font-size:18px;touch-action:manipulation;border:none;border-radius:var(--radius-pill);padding:12px 24px;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;text-align:center;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:var(--tap-highlight)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--gradient-accent);background-size:200% 200%;color:var(--on-accent);box-shadow:var(--shadow-glow);animation:gradient-drift 6s ease-in-out infinite alternate}@keyframes gradient-drift{0%{background-position:0% 50%}to{background-position:100% 50%}}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn-secondary{background:#a78bfa14;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:#a78bfa24;border-color:var(--border-strong);transform:translateY(-1px)}.btn-success{background:var(--gradient-success);color:var(--on-glow)}.btn-success:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn-danger{background:var(--danger-color);color:var(--on-accent);border:1px solid #dc2626}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn-large{padding:1rem 2rem;font-size:1.1rem;font-weight:600;min-height:56px}.btn-small{padding:.5rem 1rem;font-size:.9rem;min-height:40px}@media(max-width:768px){.btn{font-size:16px;min-height:48px}.btn-large{padding:.875rem 1.5rem;font-size:1rem;min-height:52px}}@media(prefers-reduced-motion:reduce){.btn-primary{animation:none}}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%)}.swal2-container .swal2-popup{background:var(--dialog-glass);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lux),var(--edge-highlight);padding:28px 24px 24px;--swal-background: var(--dialog-glass);--swal-color: var(--text-primary);--swal-title-color: var(--text-primary);--swal-text-color: var(--text-secondary);--swal-border-radius: var(--radius-lg)}.swal2-popup .swal2-title{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.45rem;line-height:1.25;letter-spacing:.01em;color:var(--text-primary);padding:0 8px}.swal2-popup .swal2-html-container{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-top:10px;padding:0 8px}.swal2-container .swal2-popup .swal2-icon{display:none}.swal2-popup .swal2-actions{gap:10px;margin-top:22px}.swal2-popup .swal2-styled.swal2-confirm{background:var(--gradient-accent);color:var(--on-accent);border:none;border-radius:var(--radius-pill);padding:10px 26px;min-height:44px;font-size:.95rem;font-weight:600;box-shadow:0 4px 20px #8b5cf659}.swal2-popup .swal2-styled.swal2-confirm-danger{background:var(--gradient-danger);box-shadow:0 4px 20px #ef444452}.swal2-popup .swal2-styled.swal2-cancel{background:#a78bfa14;color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:10px 22px;min-height:44px;font-size:.95rem}.swal2-popup .swal2-styled:focus-visible{outline:none;box-shadow:0 0 0 3px #a78bfa73!important}.swal2-popup.swal2-show{animation:cal-tally-pop .16s ease-out}.swal2-popup.swal2-hide{animation:cal-tally-fade .14s ease-in forwards}@keyframes cal-tally-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes cal-tally-fade{to{opacity:0;transform:scale(.97)}}@media(prefers-reduced-motion:reduce){.swal2-popup.swal2-show,.swal2-popup.swal2-hide{animation:none}}
