:root{--ink:#fff7ec;--ink-soft:#fff4e4b8;--gold:#f7cf8a;--gold-deep:#e3a24f}*,:before,:after{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;margin:0;font-family:Nunito,system-ui,sans-serif;overflow:hidden}body{background:linear-gradient(#110d22 0%,#1e1736 35%,#3a2b4c 62%,#6b4658 82%,#8a5a5c 100%) fixed}body:after{content:"";pointer-events:none;background:radial-gradient(120% 95% at 50% 60%,#0000 55%,#14081080 100%);position:fixed;inset:0}#landscape,#snow{pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}.tw{animation:tw var(--d,2.4s) ease-in-out infinite;animation-delay:var(--dl,0s)}@keyframes tw{0%,to{opacity:1}50%{opacity:.35}}.puff{transform-box:fill-box;transform-origin:50%;opacity:0;animation:8.5s linear infinite puff;animation-delay:var(--dl,0s)}@keyframes puff{0%{opacity:0;transform:translate(0)scale(.5)}15%{opacity:.6}to{opacity:0;transform:translate(60px,-170px)scale(3.6)}}.halo{transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite halo}@keyframes halo{50%{opacity:.75;transform:scale(1.12)}}.flame{transform-box:fill-box;transform-origin:bottom;animation:1.3s ease-in-out infinite alternate flame}@keyframes flame{0%{transform:scale(1)}to{transform:scale(.85,1.15)}}.walk{transform-box:fill-box;transform-origin:50%;animation:walk var(--dur,30s) linear infinite;animation-delay:var(--dl,0s)}@keyframes walk{0%{transform:translate(0)scaleX(1)}44%{transform:translateX(var(--dx)) scaleX(1)}50%{transform:translateX(var(--dx)) scaleX(-1)}94%{transform:translate(0)scaleX(-1)}to{transform:translate(0)scaleX(1)}}.stepping .body{animation:.7s ease-in-out infinite alternate bob}.stepping .leg-a,.stepping .leg-b{transform-box:fill-box;transform-origin:top;animation:.7s ease-in-out infinite alternate leg}.stepping .leg-b{animation-direction:alternate-reverse}@keyframes bob{to{transform:translateY(-1.2px)}}@keyframes leg{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}.graze{transform-box:fill-box;transform-origin:100% 0;animation:4s ease-in-out infinite graze}@keyframes graze{0%,70%,to{rotate:0deg}80%{rotate:-14deg}90%{rotate:4deg}}.wag{transform-box:fill-box;transform-origin:0 100%;animation:.45s ease-in-out infinite alternate wag}@keyframes wag{0%{transform:rotate(-14deg)}to{transform:rotate(16deg)}}.tilt{transform-box:fill-box;transform-origin:bottom;animation:7s ease-in-out infinite tilt}@keyframes tilt{0%,60%,to{transform:rotate(0)}68%,80%{transform:rotate(-11deg)}}.topbar{padding:max(18px, env(safe-area-inset-top)) clamp(16px, 3vw, 32px) 0;pointer-events:none;text-shadow:0 2px 12px #00000080;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;top:0;left:0;right:0}.greeting{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.3rem,2.6vw,1.8rem);font-style:italic;font-weight:600}.today{color:var(--ink-soft);margin-top:2px;font-size:.85rem}.today:first-letter{text-transform:uppercase}.clock{font-variant-numeric:tabular-nums;font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:800}.card{text-align:center;pointer-events:none;background:linear-gradient(#301a229e,#1e101a9e);border:1px solid #f7cf8a47;border-radius:26px;width:min(520px,100vw - 28px);padding:20px clamp(14px,3vw,26px) 22px;animation:1.6s cubic-bezier(.2,.7,.2,1) .3s both rise;position:fixed;top:clamp(58px,8vh,96px);left:50%;transform:translate(-50%);box-shadow:0 22px 60px -22px #000000b3,inset 0 1px #ffe6be1f}.eyebrow{letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin:0;padding-left:.4em;font-size:.74rem;font-weight:800}.title{background:linear-gradient(100deg, #fff4dc 0%, var(--gold) 40%, var(--gold-deep) 60%, #fff0d0 100%);color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;margin:2px 0 14px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.6rem,8vw,3.8rem);font-style:italic;font-weight:600;line-height:1;animation:8s ease-in-out infinite shimmer}.units{grid-template-columns:repeat(4,1fr);gap:clamp(6px,1.6vw,12px);display:grid}.unit{background:#ffeccd12;border:1px solid #ffeccd1a;border-radius:16px;flex-direction:column;align-items:center;padding:12px 4px 10px;display:flex}.num{font-variant-numeric:tabular-nums;color:#fff8ee;text-shadow:0 0 22px #ffc47873;font-size:clamp(1.9rem,7vw,2.8rem);font-weight:800;line-height:1}.lbl{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:6px;padding-left:.2em;font-size:.7rem;font-weight:800}.arrived-msg{color:var(--gold);margin:4px 0 0;font-weight:700;display:none}.card.arrived .units{display:none}.card.arrived .arrived-msg{display:block}@keyframes rise{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes shimmer{0%,to{background-position:0%}50%{background-position:100%}}@media (width<=560px){.card{padding-top:16px;top:78px}.unit{border-radius:12px;padding:10px 2px 8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}.puff{opacity:.4}}
