:root{--pink:#e8436e;--dark-purple:#5f1546;--purple:#61509c;--yellow:#f9b807;--text:#2b1a28;--border:#d5d0dc}@property --theme-from{syntax:"<color>";inherits:true;initial-value:#5f1546}@property --theme-to{syntax:"<color>";inherits:true;initial-value:#61509c}@property --theme-glow{syntax:"<color>";inherits:true;initial-value:#e8436e}*{box-sizing:border-box}body{background:var(--dark-purple);color:#fff;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.countdown-page{background:radial-gradient(circle at 85% 10%, color-mix(in srgb, var(--theme-glow) 35%, transparent), transparent 40%), radial-gradient(circle at 10% 90%, color-mix(in srgb, var(--theme-glow) 20%, transparent), transparent 45%), linear-gradient(135deg, var(--theme-from), var(--theme-to));transition:--theme-from .8s,--theme-to .8s,--theme-glow .8s;position:relative;overflow:hidden}main{grid-template-columns:minmax(0,1fr);min-height:100dvh;padding:24px;display:grid;position:relative}.stage{place-self:center;width:100%;padding:24px 0}.countdown{text-align:center;justify-items:center;gap:4px;display:grid}.countdown .name{overflow-wrap:anywhere;font-size:clamp(1.5rem,min(5vw,6vh),3rem);font-weight:700}.countdown .days{letter-spacing:-.03em;font-size:clamp(4rem,min(24vw,26vh),13rem);font-weight:800;line-height:1}.countdown .days .unit{letter-spacing:0;margin-left:12px;font-size:clamp(1.25rem,min(5vw,6vh),3rem);font-weight:700}.countdown .clock{font-variant-numeric:tabular-nums;opacity:.9;font-size:clamp(1.25rem,min(5vw,5vh),2.25rem)}.before{justify-items:center;gap:8px;display:grid}.name-emoji{margin-right:.3em;display:inline-block}.tiles{gap:clamp(8px,2vw,16px);margin-top:4px;display:flex}.tile{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-variant-numeric:tabular-nums;background:#ffffff24;border:1px solid #ffffff40;border-radius:16px;justify-items:center;min-width:clamp(64px,12vw,104px);padding:10px 12px 8px;font-size:clamp(1.5rem,min(6vw,6vh),3rem);font-weight:800;line-height:1.1;display:grid;box-shadow:0 8px 24px #0003}.tile-label{text-transform:uppercase;letter-spacing:.1em;opacity:.75;font-size:.75rem;font-weight:600}.tile.seconds{background:color-mix(in srgb, var(--theme-glow) 35%, #ffffff1a)}.facts{perspective:400px;min-height:1.6em;margin-top:8px;font-size:clamp(1rem,2.5vw,1.3rem);font-weight:700}.facts span{display:inline-block}.blobs{pointer-events:none;position:absolute;inset:0;overflow:hidden}.blobs span{filter:blur(80px);opacity:.45;border-radius:50%;width:60vmax;height:60vmax;position:absolute}.blobs span:first-child{background:var(--theme-glow);animation:18s ease-in-out infinite alternate drift;top:-20vmax;left:-15vmax}.blobs span:nth-child(2){background:var(--theme-to);animation:22s ease-in-out infinite alternate-reverse drift;bottom:-25vmax;right:-20vmax}.blobs span:nth-child(3){background:var(--pink);opacity:.3;width:35vmax;height:35vmax;animation:15s ease-in-out infinite alternate drift;top:30%;left:40%}@keyframes drift{0%{transform:translate(0)scale(1)}50%{transform:translate(15vw,10vh)scale(1.2)}to{transform:translate(-10vw,15vh)scale(.9)}}.wave-char{display:inline-block}.days{animation:2.4s ease-in-out infinite alternate wobble}.days-number .rolling-slot{animation:.9s ease-in-out infinite alternate hop}.days-number .rolling-slot:nth-child(2n){animation-delay:-.45s}.tile.hours{animation:1.1s ease-in-out infinite alternate jiggle;rotate:-2deg}.tile.minutes{animation:1.4s ease-in-out infinite alternate-reverse jiggle;rotate:1.5deg}.tile.seconds{animation:.8s ease-in-out infinite alternate jiggle;rotate:-1deg}@keyframes wobble{0%{rotate:-1.5deg}to{rotate:1.5deg}}@keyframes hop{0%{translate:0}to{translate:0 -.04em}}@keyframes jiggle{0%{translate:0 -2px}to{translate:0 3px}}.bouncers{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bouncers span{line-height:1;animation-name:bounce-x,bounce-y,spin;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate,alternate,normal;position:absolute}@keyframes bounce-x{0%{left:0}to{left:calc(100% - 1.2em)}}@keyframes bounce-y{0%{top:0}to{top:calc(100% - 1.2em)}}@keyframes spin{to{rotate:360deg}}@media (prefers-reduced-motion:reduce){.blobs span,.days,.days-number .rolling-slot,.tile,.bouncers span{animation:none}}.countdown .reached{font-size:clamp(2.5rem,min(10vw,12vh),6rem);font-weight:800}.rolling-slot{vertical-align:bottom;display:inline-block;position:relative;overflow:hidden}.rolling-char{display:inline-block}.particles,.confetti{pointer-events:none;position:absolute;inset:0}.particles span{line-height:1;position:absolute;top:0}.confetti span{border-radius:2px;width:8px;height:12px;position:absolute;top:0}.target-form{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border:1px solid #fff3;border-radius:24px;gap:16px;width:min(100%,440px);margin:0 auto;padding:28px;display:grid;box-shadow:0 24px 60px #00000040}.target-form h2{margin:0;font-size:1.5rem}.field{gap:6px;font-size:.85rem;font-weight:600;display:grid}.field-row{border:none;grid-template-columns:1fr auto;gap:12px;margin:0;padding:0;display:grid}.field-row legend{margin-bottom:6px;padding:0;font-size:.85rem;font-weight:600}.form-error{color:#ffe07a;margin:0;font-weight:600}input,button{font:inherit;border-radius:10px;min-width:0;padding:12px 14px}input{border:1px solid var(--border);color:var(--text);background:#fff}.form-actions{justify-content:flex-end;gap:8px;display:flex}button{background:var(--yellow);color:var(--dark-purple);cursor:pointer;border:none;font-weight:700;transition:transform .1s,background .15s}button:hover{transform:translateY(-1px)}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:default;transform:none}button.ghost{color:#fff;background:0 0;padding:8px 16px;box-shadow:inset 0 0 0 1px #ffffff80}button.ghost:hover{background:#ffffff1f}.surprise{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.surprise-card{border:4px solid var(--yellow);width:min(100% - 32px,640px);color:var(--dark-purple);z-index:1;background:#fff;border-radius:24px;align-items:center;gap:20px;padding:20px 28px;display:flex;position:absolute;bottom:32px;left:50%;translate:-50%;box-shadow:0 20px 50px #00000059}.surprise-card strong{font-size:clamp(1.4rem,3vw,2rem)}.surprise-card p{color:var(--text);margin:4px 0 0;font-size:clamp(1rem,2vw,1.2rem)}.surprise-emoji{font-size:clamp(3rem,6vw,4.5rem);line-height:1}.big-text{text-align:center;letter-spacing:-.02em;text-shadow:0 6px 30px #0006;place-items:center;font-weight:900;line-height:.9;display:grid;position:absolute;inset:0}.beam{transform-origin:bottom;filter:blur(20px);background:linear-gradient(#0000,#ffe07a80 50%,#f9b807e6);width:min(30vw,320px);position:absolute;top:0;bottom:0;left:50%;translate:-50%}.level-up-text{color:#ffe07a}.crosshair{width:220px;height:220px;position:absolute;top:calc(45% - 110px);left:calc(50% - 110px)}.crosshair svg{fill:none;stroke:#fff;stroke-width:3px;filter:drop-shadow(0 0 6px #00000080);position:absolute;inset:0}.hitmarker{stroke:#ff3b3b;stroke-width:7px;filter:drop-shadow(0 0 6px #00000080);width:90px;height:90px}.headshot-text{color:#ff3b3b;-webkit-text-stroke:3px #fff}.knockout-text{color:var(--yellow);-webkit-text-stroke:3px var(--dark-purple)}.wololo-filter{position:absolute;inset:0}.rain span{line-height:1;position:absolute;top:0}.food-text{color:var(--yellow);-webkit-text-stroke:3px var(--pink)}.flash{mix-blend-mode:screen;position:absolute;inset:0}.piece{line-height:1;position:absolute}.pop{position:absolute}.pop-emoji{font-size:clamp(3rem,8vw,6rem);line-height:1}.wololo-pop{color:#fff;text-shadow:0 4px 16px #00000080;white-space:nowrap;font-size:clamp(1.5rem,4vw,3rem);font-weight:900;display:block}.wololo-text{color:#fff;-webkit-text-stroke:3px var(--purple)}.achievement{color:#fff;background:linear-gradient(#2a1f12,#120d08);border:3px solid #c9a227;border-radius:14px;align-items:center;gap:16px;min-width:min(100% - 32px,420px);padding:12px 20px;display:flex;position:absolute;top:24px;left:50%;translate:-50%;box-shadow:0 0 40px #f9b80799}.achievement small{color:#c9a227;text-transform:uppercase;letter-spacing:.08em;font-weight:700;display:block}.achievement strong{font-size:1.5rem}.achievement-icon{font-size:2.5rem}.achievement-points{color:#120d08;background:#c9a227;border-radius:50%;margin-left:auto;padding:6px 10px;font-weight:900}.loot-glow{background:radial-gradient(circle,#a335ee8c,#0000 70%);position:absolute;inset:0}.loot-text{color:#d59bff;-webkit-text-stroke:3px #4b0f7a}.jet{font-size:clamp(3rem,8vw,6rem);line-height:1;position:absolute;left:0}.care-package{justify-items:center;font-size:6rem;line-height:1;display:grid;position:absolute;top:40%;left:calc(50% - 4rem)}.parachute{margin-bottom:-1rem;font-size:5rem}.hammer{transform-origin:80% 80%;font-size:12rem;line-height:1;position:absolute;top:25%;left:calc(50% - 6rem)}.shockwave{border:8px solid #fff;border-radius:50%;width:100px;height:100px;position:absolute;top:calc(50% - 50px);left:calc(50% - 50px)}.monk{justify-items:center;font-size:clamp(3rem,7vw,5rem);line-height:1;display:grid;position:absolute}.bubble{color:var(--purple);background:#fff;border-radius:12px;margin-bottom:8px;padding:4px 10px;font-size:1rem;font-weight:800}.flip{display:inline-block;transform:scaleX(-1)}.castle{font-size:20rem;line-height:1;position:absolute;bottom:0;left:calc(50% - 10rem)}.giant{place-items:center;font-size:min(60vmin,28rem);line-height:1;display:grid;position:absolute;inset:0}.snack{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1;position:absolute;top:72%}.muncher{font-size:clamp(4rem,10vw,7rem);line-height:1;position:absolute;top:calc(72% - 1.5rem);left:0}.photo-stage{place-items:center;display:grid;position:absolute;inset:0}.polaroid{background:#fff;width:min(70vw,42vh,340px);margin:0;padding:12px 12px 0;box-shadow:0 24px 60px #00000073}.polaroid img{aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;width:100%;display:block}.polaroid figcaption{color:var(--text);text-align:center;padding:10px 4px 14px;font-size:1.2rem;font-weight:800}.photo-stage.small .polaroid{width:min(30vw,34vh,260px)}.wanted{transform-origin:50% 0;color:#3b2412;text-align:center;background:#eed9b0;border:6px double #8a5a2b;justify-items:center;gap:8px;width:min(80vw,46vh,360px);padding:20px 20px 16px;display:grid;position:absolute;top:6%;left:50%;translate:-50%;box-shadow:0 24px 60px #00000073}.wanted strong{letter-spacing:.08em;font-size:clamp(2rem,5vw,3rem)}.wanted img{aspect-ratio:1;object-fit:cover;object-position:50% 30%;filter:sepia(.5);border:3px solid #8a5a2b;width:100%}.wanted span{font-size:1.1rem;font-weight:800}
