.ny-party{position:relative;isolation:isolate;overflow:hidden;background:#101027;color:#f8f4ff;border:1px solid #ffffff20;border-radius:1.5rem;min-height:650px;padding:clamp(1.5rem,5vw,4rem);box-shadow:0 25px 80px #17132c20}.ny-content{position:relative;z-index:2;text-align:center;max-width:1000px;margin:auto}.ny-eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;color:#cebbef;margin:1rem 0 2rem}.ny-heading{font-size:clamp(2.7rem,7vw,6rem);font-weight:800;letter-spacing:-.06em;line-height:1.05}.ny-heading [data-year]{color:#e7c1ff}.ny-dot{color:#ffcf7d}.ny-subtitle{margin:1.5rem 0;color:#d1c8e4;font-size:clamp(.95rem,2vw,1.15rem)}.ny-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.5rem,2vw,1.5rem);margin:2.5rem auto;max-width:850px}.ny-countdown>div{background:#ffffff09;border:1px solid #ffffff1f;border-radius:1rem;padding:clamp(.65rem,2vw,1.8rem) .25rem;backdrop-filter:blur(12px)}.ny-countdown strong{display:block;font-size:clamp(2rem,7vw,5.5rem);font-weight:600;letter-spacing:-.05em;font-variant-numeric:tabular-nums;line-height:1.1}.ny-countdown span{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:clamp(.55rem,1vw,.75rem);color:#c8bddb;margin-top:.6rem}.ny-midnight{font-size:.85rem;color:#e4d5f3;margin:1.5rem 0}.ny-controls{display:flex;justify-content:center;align-items:center;gap:1rem 1.5rem;flex-wrap:wrap;margin:1.5rem 0}.ny-controls label{font-size:.8rem;color:#ddd1ed;display:grid;gap:.45rem;text-align:left}.ny-controls select{max-width:100%;color:#fff;background:#262039;border:1px solid #ffffff35;border-radius:.6rem;padding:.75rem;min-height:44px}.ny-controls .ny-check{display:flex;align-items:center;gap:.5rem;min-height:44px}.ny-check input{accent-color:#dab1fa;width:1rem;height:1rem}.ny-actions{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap}.ny-actions button{padding:.8rem 1.1rem;border:1px solid #ffffff35;border-radius:.75rem;color:#f5edff;background:#ffffff0a;font-weight:600;font-size:.85rem;cursor:pointer;min-height:44px}.ny-actions button:hover{background:#ffffff1a}.ny-actions .ny-primary{background:#e4c2ff;color:#21112f;border-color:#e4c2ff}.ny-actions .ny-primary:hover{background:#efd9ff}.ny-status{min-height:1.7rem;margin:1rem 0;font-size:.85rem;color:#ffda9b}.ny-footnote{font-size:.7rem;color:#b4a6c7;max-width:580px;margin:1rem auto;line-height:1.7}.ny-orb{position:absolute;border-radius:50%;filter:blur(75px);opacity:.25;pointer-events:none;z-index:0;width:380px;height:380px}.ny-orb-one{background:#a85dff;left:-130px;top:-100px}.ny-orb-two{background:#da6894;right:-120px;bottom:-150px}.ny-party canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.ny-party[data-final=true] .ny-countdown{border-radius:1rem;box-shadow:0 0 45px #d49fff40}.ny-party[data-celebrating=true] .ny-heading{color:#ffda9b}.ny-party[data-motion=true][data-final=true] [data-seconds]{animation:ny-pulse 1s ease-out infinite}@keyframes ny-pulse{from{transform:scale(1.14);color:#ffda9b}to{transform:scale(1)}}.ny-party:fullscreen{width:100%;height:100%;border:0;border-radius:0;overflow:auto;display:flex;align-items:center}.ny-party:fullscreen .ny-content{width:100%}.ny-about{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2.5rem 0;line-height:1.8;font-size:.9rem;color:var(--muted)}.ny-about h2{font-weight:600;color:var(--color-base-content);font-size:1.15rem;margin-bottom:.6rem}.ny-about a{text-decoration:underline}.ny-about p+p{margin-top:1rem}.ny-party :focus-visible{outline:3px solid #ffcf7d;outline-offset:4px}@media(max-width:640px){.ny-about{grid-template-columns:1fr}.ny-party{min-height:0;padding:1.5rem 1rem}.ny-controls>label:first-child{width:100%}.ny-actions button{flex:1 1 45%}.ny-eyebrow{letter-spacing:.13em;font-size:.6rem}.ny-countdown{margin:2rem 0}.ny-orb{width:220px;height:220px}}@media(prefers-reduced-motion:reduce){.ny-party *{animation:none!important}}

/* An atmosphere across the page, with a more saturated sky inside party view. */
.ny-experience{isolation:isolate}.ny-experience>main,.ny-experience>footer{position:relative;z-index:1}
.ny-world{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:strict;background:radial-gradient(ellipse at 15% 20%,#9f72f516,transparent 55%),radial-gradient(ellipse at 85% 70%,#3edbcc12,transparent 50%)}
.ny-world i{position:absolute;width:85vw;height:80vh;filter:blur(65px);opacity:.2;transform:rotate(-18deg);background:radial-gradient(ellipse,#ac8be780,transparent 65%);left:-25%;top:-15%;border-radius:45%}
.ny-world i:nth-child(2){left:45%;top:30%;background:radial-gradient(ellipse,#54c9bd65,transparent 65%);animation-delay:-9s!important}
.ny-world i:nth-child(3){left:10%;top:65%;background:radial-gradient(ellipse,#f9bd6260,transparent 65%);animation-delay:-17s!important}
.ny-world[data-motion=true] i{animation:ny-world-drift 24s ease-in-out infinite alternate}
.ny-world[data-show=true] i{opacity:.5;transition:opacity 2s}.ny-world i{transition:opacity 3s}
.ny-party::before{content:"";position:absolute;inset:-35%;z-index:0;pointer-events:none;background:conic-gradient(from 30deg at 40% 50%,transparent 0deg,#7641bc40 65deg,transparent 120deg,#219f962f 175deg,transparent 230deg,#b5659330 300deg,transparent 360deg);filter:blur(38px);opacity:.7}
.ny-party[data-motion=true]::before{animation:ny-aurora 32s ease-in-out infinite alternate}
.ny-party[data-motion=true] .ny-orb-one{animation:ny-orbit 16s ease-in-out infinite alternate}.ny-party[data-motion=true] .ny-orb-two{animation:ny-orbit 20s ease-in-out -8s infinite alternate-reverse}
.ny-party[data-show=true]::before{opacity:1;filter:blur(24px)}
.ny-party canvas.ny-sky{z-index:1}.ny-confetti,.ny-party canvas.ny-confetti{position:fixed;inset:0;width:100vw;height:100vh;z-index:40;pointer-events:none}
.ny-party .ny-content{z-index:2}.ny-countdown>div{background:#10102766;box-shadow:inset 0 1px 0 #ffffff13,0 12px 35px #05051322}
.ny-party[data-show=true] .ny-countdown>div{border-color:#ebc48d60;box-shadow:inset 0 1px 0 #ffffff20,0 0 35px #aa70e41a;transition:border-color 1.5s,box-shadow 1.5s}
@keyframes ny-world-drift{from{transform:translate3d(-5%,-4%,0) rotate(-18deg) scale(.9)}to{transform:translate3d(25%,15%,0) rotate(18deg) scale(1.15)}}
@keyframes ny-aurora{from{transform:rotate(-18deg) scale(1)}to{transform:rotate(25deg) scale(1.2)}}
@keyframes ny-orbit{from{transform:translate(0,0) scale(.9)}to{transform:translate(100px,65px) scale(1.15)}}
@media(prefers-reduced-motion:reduce){.ny-world *,.ny-party::before{animation:none!important;transition:none!important}}

/* Party view keeps controls out of the presentation. Escape also exits. */
.ny-exit-party{display:none}
.ny-party:fullscreen .ny-controls,.ny-party:fullscreen .ny-actions,.ny-party:fullscreen .ny-status,.ny-party:fullscreen .ny-footnote{display:none}
.ny-party:fullscreen .ny-exit-party{display:block;position:fixed;right:1rem;top:1rem;z-index:45;padding:.55rem .85rem;border:1px solid #ffffff30;border-radius:.65rem;background:#171529aa;color:#e1d8ec;font-size:.75rem;cursor:pointer;opacity:.65}
.ny-party:fullscreen .ny-exit-party:hover,.ny-party:fullscreen .ny-exit-party:focus-visible{opacity:1}
.ny-party:fullscreen .ny-content{max-width:1300px}.ny-party:fullscreen .ny-countdown{max-width:1100px;margin:3rem auto}
.ny-party:fullscreen .ny-countdown strong{font-size:clamp(2.5rem,9vw,8rem)}
/* Two faces per wheel, animated only when that digit changes. */
.ny-countdown strong.ny-odometer{display:flex;justify-content:center;letter-spacing:0}
.ny-countdown .ny-odometer span{display:block;margin:0;padding:0;font:inherit;letter-spacing:0;text-transform:none;color:inherit}
.ny-countdown .ny-digit-window{position:relative;width:.64em;height:1.1em;overflow:hidden;contain:paint;mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
.ny-countdown .ny-digit-face{height:1.1em;line-height:1.1em;text-align:center}
.ny-countdown>div{backdrop-filter:none;background:#131329bd}
/* Avoid sampling animated canvas pixels through a live backdrop blur. */
.ny-party[data-show=true]::before{filter:blur(38px)}
@media(max-width:640px){.ny-world i{filter:blur(35px)}.ny-party::before{inset:-15%;filter:blur(25px)}.ny-party:fullscreen .ny-countdown{gap:.5rem;margin:2rem auto}.ny-party:fullscreen .ny-heading{font-size:clamp(2rem,8vw,4rem)}}
