:root{--ink: #2a1740;--cream: #fff4dc;--paper: #ffffff;--gold: #ffb627;--gold-deep: #f08a00;--pink: #ff4f9a;--purple: #9b3dff;--teal: #1fd1b9;--sky: #7fd8ff;--red: #ff4438;--font-display: "Lilita One", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--border: 3px solid var(--ink);--shadow: 6px 6px 0 var(--ink);--shadow-sm: 4px 4px 0 var(--ink);--radius: 22px;--nav-h: 68px}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-body);font-size:18px;line-height:1.55;color:var(--ink);background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='%23f08a00' fill-opacity='0.09'%3E%3Cg transform='translate(28 30) rotate(-20)'%3E%3Cellipse cx='0' cy='10' rx='11' ry='9'/%3E%3Ccircle cx='-12' cy='-4' r='4.5'/%3E%3Ccircle cx='-4' cy='-10' r='4.5'/%3E%3Ccircle cx='5' cy='-10' r='4.5'/%3E%3Ccircle cx='13' cy='-4' r='4.5'/%3E%3C/g%3E%3Cg transform='translate(100 98) rotate(25)'%3E%3Cellipse cx='0' cy='10' rx='11' ry='9'/%3E%3Ccircle cx='-12' cy='-4' r='4.5'/%3E%3Ccircle cx='-4' cy='-10' r='4.5'/%3E%3Ccircle cx='5' cy='-10' r='4.5'/%3E%3Ccircle cx='13' cy='-4' r='4.5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");overflow-x:hidden;overflow-x:clip}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.05;margin:0 0 .5em;letter-spacing:.01em;text-wrap:balance}h1{font-size:clamp(2.4rem,7vw,4.6rem)}h2{font-size:clamp(1.7rem,4.5vw,2.8rem)}h3{font-size:clamp(1.25rem,3vw,1.6rem)}p{margin:0 0 1em}img{max-width:100%;height:auto}a{color:inherit}button,input{font:inherit;color:inherit}:focus-visible{outline:4px solid var(--purple);outline-offset:3px}.page{width:min(1100px,100%);margin:0 auto;padding:clamp(20px,4vw,48px) clamp(16px,4vw,32px) 64px}.page-head{text-align:center;margin-bottom:clamp(20px,4vw,40px)}.page-head .kicker{display:inline-block;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;background:var(--ink);color:var(--cream);padding:4px 14px;border-radius:999px;margin-bottom:14px;transform:rotate(-2deg)}.page-head p{max-width:38em;margin-inline:auto;font-size:1.1rem}.card{background:var(--paper);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(18px,3vw,30px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:48px;padding:10px 24px;font-family:var(--font-display);font-size:1.2rem;letter-spacing:.02em;text-decoration:none;color:var(--ink);background:var(--gold);border:var(--border);border-radius:999px;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:hover{transform:translate(-2px,-2px) rotate(-1.5deg);box-shadow:6px 6px 0 var(--ink)}.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.btn:disabled{opacity:.6;cursor:wait;transform:none;box-shadow:var(--shadow-sm)}.btn.pink{background:var(--pink);color:#fff}.btn.teal{background:var(--teal)}.btn.purple{background:var(--purple);color:#fff}.btn.ghost{background:var(--paper)}.btn.big{font-size:1.5rem;padding:14px 34px;min-height:60px}.field{width:100%;min-height:56px;padding:10px 18px;font-size:1.15rem;font-weight:700;background:var(--paper);border:var(--border);border-radius:16px;box-shadow:inset 3px 3px #2a17401a}.field::placeholder{color:#2a174073;font-weight:600}.sticker{display:inline-block;font-family:var(--font-display);background:var(--pink);color:#fff;border:var(--border);border-radius:14px;padding:4px 14px;box-shadow:var(--shadow-sm);transform:rotate(-4deg)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.reveal{opacity:0;transform:translateY(36px) rotate(-1deg);transition:opacity .6s ease,transform .7s cubic-bezier(.2,1.4,.4,1)}.reveal-in{opacity:1;transform:none}.fx-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:1000}.fx-particle{position:absolute;line-height:1;-webkit-user-select:none;user-select:none;will-change:transform,opacity}.fx-text{font-family:var(--font-display);font-size:clamp(1.6rem,6vw,2.6rem);color:var(--pink);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;white-space:nowrap}.fx-zoomies{top:auto;filter:drop-shadow(0 6px 0 rgba(42,23,64,.25))}@keyframes bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}@keyframes wiggle{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop-in{0%{transform:scale(.2) rotate(-12deg);opacity:0}60%{transform:scale(1.12) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px) rotate(-2deg)}40%{transform:translate(8px) rotate(2deg)}60%{transform:translate(-6px) rotate(-1deg)}80%{transform:translate(6px) rotate(1deg)}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes rainbow{to{filter:hue-rotate(360deg)}}body.party main{animation:rainbow 4s linear infinite}body.party .card,body.party .btn,body.party h1,body.party h2{animation:wiggle .5s ease-in-out infinite}body.party .card:nth-child(2n),body.party .btn:nth-child(2n){animation-direction:reverse}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
