@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500;1,600&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap";@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&display=swap";:root{--bg-base: oklch(97.5% .008 85);--bg-surface: oklch(95% .012 85);--bg-glass: rgba(255, 252, 245, .07);--bg-glass-heavy: rgba(255, 252, 245, .1);--bg-glass-dark: rgba(30, 20, 10, .45);--accent: oklch(40% .18 25);--accent-muted: rgba(200, 16, 46, .15);--accent-glow: rgba(200, 16, 46, .25);--gold: oklch(83% .075 85);--gold-light: oklch(90% .055 85);--gold-muted: rgba(230, 198, 135, .22);--gold-mid: oklch(83% .075 85);--text-primary: oklch(12% .015 60);--text-secondary: oklch(35% .04 65);--text-muted: oklch(58% .03 70);--text-inverse: oklch(97.5% .008 85);--border-glass: rgba(230, 198, 135, .3);--border-rim: rgba(255, 250, 240, .8);--border-subtle: rgba(92, 74, 48, .12);--blur-glass: blur(20px) saturate(1.6);--blur-heavy: blur(28px) saturate(1.8);--shadow-card: 0 4px 24px rgba(26, 18, 8, .08), 0 1px 4px rgba(26, 18, 8, .04);--shadow-elevated: 0 12px 48px rgba(26, 18, 8, .14), 0 2px 8px rgba(26, 18, 8, .06);--shadow-glow-red: 0 0 32px rgba(200, 16, 46, .18);--shadow-glass: inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(255, 250, 240, .18), inset 1px 0 rgba(255, 255, 255, .55), inset -1px 0 rgba(255, 250, 240, .1), 0 6px 28px rgba(26, 18, 8, .07), 0 1px 6px rgba(26, 18, 8, .04);--shadow-glass-heavy: inset 0 1.5px 0 rgba(255, 255, 255, 1), inset 0 -1px 0 rgba(255, 250, 240, .24), inset 1px 0 rgba(255, 255, 255, .68), inset -1px 0 rgba(255, 250, 240, .18), 0 16px 56px rgba(26, 18, 8, .12), 0 3px 14px rgba(26, 18, 8, .06);--type-display: clamp(2.8rem, 6vw, 5rem);--type-h1: clamp(2rem, 4vw, 3.2rem);--type-h2: clamp(1.4rem, 2.5vw, 2rem);--type-h3: clamp(1.1rem, 1.8vw, 1.4rem);--type-body: 1rem;--type-small: .875rem;--type-micro: .75rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px}.glass-card{background:#fffcf512;backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-lg);box-shadow:inset 0 1px #ffffff4d,0 8px 40px #0a06021a,0 2px 12px #0a06020f}.glass-card-heavy{background:#fffcf51a;backdrop-filter:blur(28px) saturate(1.8);-webkit-backdrop-filter:blur(28px) saturate(1.8);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-xl);box-shadow:inset 0 1px #ffffff59,0 16px 60px #0a060224,0 4px 20px #0a060214}*,*:before,*:after{box-sizing:border-box}*{margin:0}table{border-collapse:collapse}img,video,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}html{overscroll-behavior:none}body{overscroll-behavior:none;font-family:DM Sans,sans-serif;background-color:var(--bg-base);background-image:radial-gradient(ellipse at 50% 20%,#fff8ee,#f0e8d8 60%,#e8dcc8);background-attachment:fixed;color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:0}#root{position:relative;z-index:1}.day-track::-webkit-scrollbar,.quest-track::-webkit-scrollbar{display:none}h1,h2,h3{font-family:Cormorant Garamond,Georgia,serif;letter-spacing:-.02em;line-height:1.05}h1{font-size:var(--type-h1)}h2{font-size:var(--type-h2)}h3{font-size:var(--type-h3)}p{font-family:DM Sans,sans-serif;font-size:var(--type-body);line-height:1.65;letter-spacing:.01em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--gold-mid) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--gold-mid);border-radius:var(--radius-pill)}@media(prefers-reduced-motion:no-preference){@keyframes loginShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}.login-shake{animation:loginShake .45s ease-out!important}@keyframes loginReveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.login-panel{animation:loginReveal .8s cubic-bezier(.25,.1,.25,1) forwards}.stop-card{transition:transform .25s cubic-bezier(.25,1,.5,1),background .3s ease,box-shadow .3s ease}.stop-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px #fff3,0 20px 56px #08040047}.locked-content{transition:filter 1.2s ease-out,opacity 1.2s ease-out}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:pageFadeIn .6s cubic-bezier(.25,.1,.25,1) forwards}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:var(--final-opacity, 1);transform:translateY(0)}}@keyframes ruleExpand{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes particleFloat{0%{transform:translateY(0) scale(.5);opacity:0}18%{opacity:1}82%{opacity:.65}to{transform:translateY(-52px) scale(0);opacity:0}}.bday-particle{position:absolute;border-radius:50%;background:radial-gradient(circle,#d4a017,#b8860b59);pointer-events:none;animation:particleFloat var(--p-dur, 2.2s) ease-out var(--p-delay, 0s) infinite;will-change:transform,opacity}.landing-super{opacity:0;animation:fadeSlideUp .55s cubic-bezier(.22,1,.36,1) 80ms forwards}.landing-title-row{opacity:0;animation:fadeSlideUp .65s cubic-bezier(.22,1,.36,1) .2s forwards}.landing-rule{transform:scaleX(0);transform-origin:center;animation:ruleExpand .6s cubic-bezier(.22,1,.36,1) .42s forwards}.landing-sub{opacity:0;animation:fadeSlideUp .5s cubic-bezier(.22,1,.36,1) .5s forwards}.landing-quick-btn{opacity:0;animation:fadeSlideUp .5s cubic-bezier(.22,1,.36,1) var(--anim-delay, .6s) forwards;transition:filter .2s ease,transform .2s cubic-bezier(.22,1,.36,1)}.landing-quick-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.landing-day-btn{opacity:0;animation:fadeSlideUp .55s cubic-bezier(.22,1,.36,1) var(--anim-delay, .72s) forwards;transition:background .2s ease,transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1)}.landing-day-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.day-btn-arrow{transition:transform .28s cubic-bezier(.22,1,.36,1)}.landing-day-btn:hover .day-btn-arrow{transform:translate(5px)}.landing-bday-btn{animation:fadeSlideUp .55s cubic-bezier(.22,1,.36,1) var(--anim-delay, .82s) forwards}.quest-card{transition:transform .2s ease,box-shadow .2s ease,opacity .3s ease,border-color .2s ease}.quest-card:hover{transform:scale(1.02)}.quest-card.is-selected{transform:scale(1.03);border:2px solid var(--accent)}.quest-card.is-dimmed{opacity:.4}}.title-shimmer{color:#b8860b;background:linear-gradient(120deg,#b8860b 15%,#e6c687 38%,#fffaee,#e6c687 62%,#b8860b 85%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@media(prefers-reduced-motion:no-preference){@keyframes textShimmer{0%,to{background-position:0% center;text-shadow:0 0 10px rgba(184,134,11,.12),0 1px 16px rgba(184,134,11,.38)}50%{background-position:200% center;text-shadow:0 0 22px rgba(184,134,11,.3),0 1px 22px rgba(184,134,11,.55)}}.title-shimmer{animation:textShimmer 4s ease-in-out infinite}}.login-card-crystal{background:#140e0847;backdrop-filter:blur(30px) saturate(1.6);-webkit-backdrop-filter:blur(30px) saturate(1.6);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-xl);box-shadow:inset 0 1.5px #ffffff7a,inset 1.5px 0 #ffffff3d,inset 0 -1px #ffffff08,inset -1px 0 #ffffff08,0 30px 80px #0000008c,0 6px 24px #00000047}.login-input::placeholder{color:#ffffff42;font-weight:300;letter-spacing:.04em}.login-input:focus{border-bottom:1px solid rgba(230,198,135,.42)!important;outline:none}
