:root{color-scheme:dark;--blue:#3544bd;--cream:#fff6dc;--yellow:#ffce65;--pink:#ff8e9c;--mint:#b7e7d2;font-family:"Trebuchet MS","Microsoft YaHei","PingFang SC",sans-serif;color:var(--cream);background:var(--blue)}
*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100svh;position:relative;isolation:isolate;overflow-x:hidden;background:radial-gradient(ellipse at 40% 45%,#4c5bce 0%,transparent 65%)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.bunting{position:absolute;top:-30px;left:15%;width:70%;height:125px;pointer-events:none;opacity:.95}.bunting svg{width:100%;height:100%;overflow:visible}
.celebration{width:min(1180px,90%);min-height:100svh;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%;padding:110px 0 60px}
.chicken-stage{position:relative;display:grid;place-items:center;aspect-ratio:1;width:100%;max-width:520px;margin:auto}.sunburst{position:absolute;inset:8%;background:var(--yellow);border-radius:50%;box-shadow:0 0 0 17px #ffce6512;transform:rotate(-12deg)}.sunburst::after{content:"";position:absolute;inset:-20px;border:2px dashed #fff6dc40;border-radius:50%}.chicken{position:relative;width:90%;height:auto;transform:scaleX(-1) rotate(4deg);filter:drop-shadow(-5px 12px 0 #1b256325)}
.spark{position:absolute;width:12%;z-index:2;color:var(--cream)}.spark-one{top:2%;right:7%;transform:rotate(12deg)}.spark-two{bottom:16%;left:0;width:8%;color:var(--pink)}
.greeting{position:relative;padding-left:4%;}h1{margin:0;font-size:clamp(54px,6.8vw,96px);letter-spacing:-.055em;line-height:1.16;font-weight:900;text-shadow:3px 4px 0 #24328a35}h1>span{display:block;white-space:nowrap}.heading-spark{width:.52em;height:.52em;margin-left:.24em;margin-bottom:.1em;color:var(--yellow);transform:rotate(10deg)}
.celebrate-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-top:28px;padding:0;border:2px solid var(--cream);border-radius:100px;background:var(--cream);color:#2b379e;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 5px 0 #202c85;transition:transform .15s,box-shadow .15s}.celebrate-button svg{width:23px;height:23px}.celebrate-button:hover{transform:translateY(-2px);box-shadow:0 7px 0 #202c85}.celebrate-button:active{transform:translateY(4px);box-shadow:0 1px 0 #202c85}.celebrate-button:focus-visible{outline:3px solid var(--pink);outline-offset:6px}
#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:10}.paper-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.paper-confetti i{position:absolute;width:7px;height:17px;border-radius:1px;opacity:.8}
@media (orientation:portrait){.bunting{width:96%;left:2%;height:90px;top:23px}.celebration{grid-template-columns:1fr;gap:32px;padding:110px 0 48px;min-height:100svh;align-content:center;width:86%}.chicken-stage{width:min(74vw,380px)}.greeting{text-align:center;padding:0}h1{font-size:clamp(45px,10.5vw,82px);line-height:1.17;letter-spacing:-.06em}h1>span:first-child{display:inline}h1>span:nth-child(2){display:inline}h1>span:last-child{display:block}.heading-spark{position:absolute;margin-left:.18em;margin-top:.29em;width:.4em;height:.4em}.celebrate-button{margin-top:24px}.spark-one{right:3%;top:0}}
@media (orientation:landscape) and (max-height:650px){.bunting{height:65px;top:-20px}.celebration{width:82%;min-height:100svh;gap:9%;padding:65px 0 28px;grid-template-columns:.9fr 1.1fr}.chicken-stage{max-width:min(350px,65vh)}h1{font-size:clamp(34px,7.9vh,65px)}.celebrate-button{width:44px;height:44px;margin-top:16px}.celebrate-button svg{width:19px;height:19px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
