:root{--gold:#ffd873;--gold-soft:#ffe9b0;--text:#eaf0ff;--muted:#b9c4ee;--panel-border:#ffffff24;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{height:100%}body{-webkit-user-select:none;user-select:none;background:radial-gradient(120% 90% at 50% -10%,#24325f 0%,#141c3d 38%,#0b1026 72%,#060a1a 100%);overflow:hidden}#root{justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.celebrate-screen{margin-top:26px}.celebrate-screen__msg{background:linear-gradient(180deg, #fff, var(--gold));color:#0000;-webkit-background-clip:text;background-clip:text;margin-top:18px;font-size:clamp(26px,8vw,44px);font-weight:800;animation:1s infinite alternate celebrate-pulse}@keyframes celebrate-pulse{0%{transform:scale(1)}to{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.celebrate-screen__msg{animation:none}}.countdown{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:30px;display:grid}.cell{border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);background:linear-gradient(#ffffff1a,#ffffff08);border-radius:18px;padding:16px 6px 12px;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000059,inset 0 1px #ffffff26}.cell:after{content:"";pointer-events:none;background:linear-gradient(#ffffff1a,#0000);height:40%;position:absolute;inset:0 0 auto}.cell__num{font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 2px 16px #78a0ff59;font-size:clamp(28px,9vw,44px);font-weight:800;animation:.4s cell-pop;display:block}.cell__label{text-transform:uppercase;letter-spacing:1.5px;color:#aeb9e6;margin-top:6px;font-size:clamp(9px,2.8vw,11px);display:block}@keyframes cell-pop{0%{transform:scale(1)}35%{color:var(--gold);transform:scale(1.18)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.cell__num{animation:none}}.install-btn{font:inherit;color:#2a1c00;background:linear-gradient(180deg, var(--gold-soft), var(--gold));cursor:pointer;border:none;border-radius:999px;margin:26px auto 0;padding:12px 22px;font-size:15px;font-weight:700;transition:transform .15s;display:inline-block;box-shadow:0 8px 24px #ffc85a59}.install-btn:active{transform:scale(.96)}.hint{color:#8b97c8;opacity:.85;margin-top:16px;font-size:12px;line-height:1.5}.switch{border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);background:#ffffff12;border-radius:999px;gap:4px;margin:26px auto 0;padding:4px;display:inline-flex}.switch__btn{appearance:none;color:#c3cdf2;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:700;transition:color .2s,background .2s,transform .12s}.switch__btn:active{transform:scale(.95)}.switch__btn.is-active{color:#2a1c00;background:linear-gradient(180deg, var(--gold-soft), var(--gold));box-shadow:0 6px 16px #ffc85a52}.switch__btn:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.santa{z-index:5;pointer-events:none;will-change:transform;filter:drop-shadow(0 4px 10px #00000073);line-height:0;position:absolute;left:0}.santa__svg{width:clamp(96px,26vw,170px);height:auto;display:block}.santa--ltr{animation:santa-ltr var(--flight) linear}.santa--rtl{animation:santa-rtl var(--flight) linear}@keyframes santa-ltr{0%{transform:translate(-20vw)translateY(0)}50%{transform:translate(50vw)translateY(-16px)}to{transform:translate(120vw)translateY(0)}}@keyframes santa-rtl{0%{transform:translate(120vw)scaleX(-1)translateY(0)}50%{transform:translate(50vw)scaleX(-1)translateY(-16px)}to{transform:translate(-20vw)scaleX(-1)translateY(0)}}.tree{transform-origin:50% 90%;animation:4.5s ease-in-out infinite tree-sway;display:inline-block}.tree__svg{filter:hue-rotate()drop-shadow(0 8px 18px #00000073);width:clamp(120px,34vw,190px);height:auto;animation:12s linear infinite tree-hue}.app--celebrate .tree__svg{width:clamp(170px,52vw,280px)}.tree__foliage{fill:#2fae5f;stroke:#ffffff1f;stroke-width:.6px}.tree__trunk{fill:#6b4423}.tree__star{fill:#ffd873;filter:drop-shadow(0 0 6px #ffd873e6)}.tree__light{fill:#fff6c8;transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite tree-twinkle}.tree__light:nth-child(6n+1){fill:#ff6b6b}.tree__light:nth-child(6n+2){fill:#7dd3fc}.tree__light:nth-child(6n+3){fill:#ffd873}.tree__light:nth-child(6n+4){fill:#a78bfa}.tree__light:nth-child(6n+5){fill:#5eead4}@keyframes tree-sway{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-10px)rotate(2deg)}}@keyframes tree-hue{to{filter:hue-rotate(360deg)drop-shadow(0 8px 18px #00000073)}}@keyframes tree-twinkle{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.tree,.tree__svg,.tree__light{animation:none}}.aurora{z-index:0;pointer-events:none;background:radial-gradient(40% 30% at 20% 20%,#5e91ff2e,#0000 70%),radial-gradient(45% 35% at 85% 15%,#b478ff29,#0000 70%),radial-gradient(60% 40% at 50% 110%,#46c8b424,#0000 70%);animation:16s ease-in-out infinite alternate aurora-drift;position:absolute;inset:0}@keyframes aurora-drift{0%{opacity:.85;transform:translateY(0)scale(1)}to{opacity:1;transform:translateY(-18px)scale(1.06)}}.fx{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.fx--stars{z-index:1}.fx--snow{z-index:3}.fx--confetti{z-index:4}.app{z-index:2;width:100%;max-width:560px;padding:28px 20px calc(28px + env(safe-area-inset-bottom));text-align:center;position:relative}.app__title{letter-spacing:.5px;background:linear-gradient(180deg, #fff, var(--gold-soft) 60%, var(--gold));color:#0000;text-shadow:0 2px 30px #ffd87340;-webkit-background-clip:text;background-clip:text;margin-top:6px;font-size:clamp(22px,6.5vw,34px);font-weight:800}.app__sub{color:var(--muted);opacity:.9;margin-top:6px;font-size:clamp(13px,3.6vw,15px)}.app__message{min-height:24px;color:var(--gold-soft);margin-top:26px;font-size:clamp(14px,4vw,17px);font-weight:600;animation:.6s message-fade}@keyframes message-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.aurora,.app__message{animation:none}}
