.party{--paper:#fff5ee;--ink:#773f47;--accent:#c77f8b;--pink:#e9a9b9;--blue:#9bbccc;--gold:#c89845;margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,Times New Roman,serif;text-align:center;line-height:1.5}.party *{box-sizing:border-box}.party button,.party input,.party select{font:inherit}.party button,.party a{-webkit-tap-highlight-color:transparent}.party button{cursor:pointer}.party button:disabled{cursor:wait;opacity:.65}.party :focus-visible{outline:3px solid var(--ink);outline-offset:6px}.party [hidden]{display:none!important}.party a{color:inherit}.party-skip{position:absolute;left:20px;top:-80px;z-index:10;padding:10px;background:var(--paper)}.party-skip:focus{top:10px}.party main{max-width:880px;margin:auto;overflow:hidden;background-image:radial-gradient(#986d4320 .6px,transparent .8px);background-size:5px 5px}.party-opening{min-height:100svh;padding:54px 22px 34px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.party-eyebrow{font-family:Arial,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.27em;max-width:90%;margin:12px auto}.party h1{font-weight:400;font-size:clamp(38px,7vw,70px);line-height:1.03;letter-spacing:-.045em;margin:12px 0 14px;text-wrap:balance;overflow-wrap:anywhere}.party-tagline{font-style:italic;margin:0;font-size:17px}.party-stars{width:280px;display:flex;justify-content:space-between;color:var(--gold);font-size:22px}.party-stars span{transform:translateY(-15px);font-size:15px}.party h2{font-size:clamp(34px,6vw,52px);font-weight:400;line-height:1.15;margin:15px 0 24px;text-wrap:balance}.party h3{font-size:25px;font-weight:400;margin:5px}.party-button{border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper)!important;padding:14px 28px;min-height:50px;text-decoration:none;display:inline-flex;gap:28px;align-items:center;justify-content:center;font-size:14px}.party-button:hover{filter:brightness(1.12)}.party-button--outline{background:transparent;color:var(--ink)!important}.party-text-button{display:inline-block;background:none;border:0;text-underline-offset:5px;text-decoration:underline;padding:12px;font-size:13px}.party-more{font-family:Arial,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;margin-top:25px}.party-more span{display:block;font-size:24px;margin-top:8px}.party-preview{font:10px Arial,sans-serif;letter-spacing:.12em;opacity:.65}.party-reveal-status:empty{display:none}.party-reveal-status{font-style:italic;margin:12px 0 0}.party-details{padding:60px 26px 45px;max-width:570px;margin:auto}.party-ornament{font-size:32px;color:var(--gold)}.party-note{white-space:pre-line;line-height:1.85;font-size:18px}.party-photo{display:block;width:min(100%,330px);height:auto;aspect-ratio:6/7;object-fit:cover;border-radius:180px 180px 12px 12px;margin:30px auto}.party-date{margin:40px 0 24px}.party-date strong{font-size:30px;font-weight:400;display:block}.party-date span{font-size:14px}.party-countdown{display:flex;justify-content:center;gap:34px;padding-bottom:35px;border-bottom:1px solid #a5805540}.party-countdown strong{font-size:38px;display:block;font-weight:400;font-variant-numeric:tabular-nums}.party-countdown span{font:10px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.party-location{padding-top:35px}.party-location>span{font-size:40px}.party-location p{font-size:15px;margin-bottom:24px}.party-families{font-size:14px}.party-families span{display:block;padding:8px}.party-program{margin-top:35px}.party-program p{display:flex;gap:20px;text-align:left;border-bottom:1px solid #a5805540;padding:12px}.party-program time{color:var(--accent)}.party-gift{margin:30px 0;overflow-wrap:anywhere}.party-rsvp{max-width:440px;margin:auto;padding:25px 25px 50px}.party-rsvp form{text-align:left;display:grid;gap:18px}.party-rsvp label{display:grid;gap:6px;font-size:13px}.party-rsvp input,.party-rsvp select{width:100%;background:#ffffff60;border:1px solid #a5805570;border-radius:8px;min-height:48px;padding:10px;color:var(--ink);font-size:16px}.party-footer{border-top:1px solid #a5805530;margin:0 25px;padding:30px;font:10px Arial,sans-serif;letter-spacing:.12em}.party-confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:30}.love-machine{width:260px;height:320px;position:relative;margin:32px auto 24px;background:linear-gradient(110deg,#f6d4ce,#dda5ac 70%,#bb7d8c);border:3px solid #b88276;border-radius:120px 120px 20px 20px;box-shadow:inset 5px 3px 9px #fff9,inset -5px -2px 8px #843a4740,0 20px 35px #71394320;padding:35px 20px 18px}.machine-sign{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#7d4b45;display:flex;justify-content:space-between;margin:9px 0 22px}.machine-sign span{color:#a98143}.machine-windows{display:flex;padding:7px;background:#593943;border-radius:8px;box-shadow:0 0 0 3px #d0a768;gap:3px}.machine-reel{height:83px;flex:1;background:linear-gradient(#cdaf9c,#fff9ee 28%,#fff9ee 68%,#d3b3a0);border-radius:5px;overflow:hidden;display:grid;place-items:center;color:#a75c71;font-size:25px;font-weight:700}.machine-reel.is-spinning span{animation:reel-spin .13s linear infinite}.machine-lights{display:flex;justify-content:space-evenly;margin:16px 0}.machine-lights i{height:6px;width:6px;border-radius:50%;background:#ffe8ac;box-shadow:0 0 5px #ffe8ac}.machine-ticket{height:65px;border:2px solid #c39c69;border-radius:10px;box-shadow:inset 2px 2px 4px #fff6;color:#86545b}.machine-ticket>span{font-size:21px}.machine-ticket p{font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin:0}.machine-lever{position:absolute;right:-27px;top:114px;height:113px;width:30px;border:0;border-radius:12px;background:transparent;transform-origin:50% 95%;padding:0}.machine-lever:before{content:"";position:absolute;width:8px;height:83px;left:11px;bottom:0;background:linear-gradient(90deg,#8c6b52,#eddfca,#947858);border-radius:5px}.machine-lever span{display:block;position:absolute;top:0;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#edafb2,#a83e58 65%);box-shadow:1px 2px 4px #73374650}.party.is-playing .machine-lever{animation:lever-pull .5s ease}.party.is-revealed .machine-lights i{background:#fff;box-shadow:0 0 8px #fff}.party--scratch{--paper:#f7f4e8;--ink:#716033;--gold:#b89942;--accent:#ad8e4c}.golden-card{width:340px;max-width:100%;position:relative;margin:22px 0 10px;padding:16px 0;background:radial-gradient(ellipse at top,#fff9,transparent);border:1px solid #c4aa6240;border-radius:170px 170px 8px 8px}.golden-orbit{font-size:24px;color:var(--gold)}.scratch-heart{position:relative;width:100%;aspect-ratio:340/320;clip-path:path("M 170 294 C 138 263 20 188 20 106 C 20 22 122 9 170 83 C 218 9 320 22 320 106 C 320 188 202 263 170 294 Z")}.scratch-date{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:35px 55px;background:#fff8e4}.scratch-date small{font:9px Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}.scratch-date strong{font-size:31px;font-weight:400;line-height:1.1;margin:13px 0}.scratch-date>span{font-size:26px}.scratch-heart canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.golden-card>p{font-style:italic;font-size:13px;margin:0}.party.is-revealed [data-scratch]{opacity:0;pointer-events:none;transition:opacity .5s}.party--prediction{--paper:#fbf6ee;--ink:#5a596e;--gold:#baa263;--accent:#a783a4}.mystery-scene{width:300px;height:240px;position:relative;margin:10px auto}.gift{position:absolute;left:83px;bottom:15px;width:140px;height:145px;filter:drop-shadow(0 14px 12px #85768022)}.gift-box{position:absolute;bottom:0;width:140px;height:111px;border-radius:0 0 12px 12px;background:repeating-linear-gradient(90deg,#f1d5d6 0,#f1d5d6 28px,#e5b6bf 28px,#e5b6bf 30px,#ece3d1 30px,#ece3d1 58px,#e5b6bf 58px,#e5b6bf 60px);border:1px solid #be9fa34d}.gift-box:before{content:"";position:absolute;left:57px;width:26px;height:100%;background:#c1d3da}.gift-box span{position:relative;display:grid;place-items:center;background:#fff8ed;border:1px solid #d6bb85;border-radius:50%;width:56px;height:56px;margin:26px auto;font-size:34px;font-style:italic}.gift-lid{position:absolute;top:20px;left:-5px;width:150px;height:28px;background:#c1d3da;border-radius:5px;z-index:1;transform-origin:10% 100%;box-shadow:0 4px 5px #81748320}.gift-lid i:before,.gift-lid i:after{content:"";position:absolute;top:-29px;left:37px;width:40px;height:29px;border:8px solid #b5cbd4;border-radius:55% 55% 0;transform:rotate(17deg)}.gift-lid i:after{left:69px;transform:scaleX(-1) rotate(17deg)}.party.has-voted .gift-lid{transform:translateY(-25px) rotate(-10deg);transition:transform .5s}.cloud{position:absolute;background:#fff;border-radius:50px;width:105px;height:32px;box-shadow:0 6px 18px #81748308}.cloud:before,.cloud:after{content:"";position:absolute;background:#fff;border-radius:50%;width:49px;height:49px;top:-23px;left:18px}.cloud:after{width:35px;height:35px;left:57px;top:-15px}.cloud--one{left:0;top:67px;transform:scale(.8)}.cloud--two{right:-5px;bottom:55px;transform:scale(.7)}.moon{position:absolute;right:40px;top:0;font-size:65px;color:#d7bd80;transform:rotate(-20deg)}.small-star{position:absolute;left:50px;top:14px;font-size:23px;color:#d7bd80}.prediction{width:340px;max-width:100%}.prediction-question{font-style:italic;font-size:21px;margin:0 0 12px}.prediction-choices{display:flex;gap:12px}.prediction-choice{flex:1;min-height:55px;border:1px solid #ddabb8;border-radius:999px;background:#f5e1e6;color:#7b475b;font-size:19px;display:flex;align-items:center;justify-content:center;gap:30px}.prediction-choice--boy{background:#e4eef2;border-color:#b5ccd8;color:#466c81}.prediction-choice[aria-pressed=true]{outline:2px solid currentColor;outline-offset:3px}.prediction-results{margin-top:22px}.prediction-labels{display:flex;justify-content:space-between;font:12px Arial,sans-serif}.prediction-meter{height:7px;border-radius:5px;background:var(--blue);margin-top:10px;overflow:hidden}.prediction-meter i{display:block;width:50%;height:100%;background:var(--pink);transition:width .4s}.prediction-results p{font:12px/1.6 Arial,sans-serif;color:#6b6576;min-height:20px}.party--balloons{--paper:#fff8e8;--ink:#426d65;--gold:#d09a4e;--accent:#d79586}.birthday-game{width:360px;max-width:100%;margin:18px 0 4px}.birthday-bunting{display:flex;justify-content:center;gap:10px;border-top:1px solid #a9916270;padding-top:0;transform:rotate(-3deg)}.birthday-bunting i{width:36px;height:37px;background:#d8a99c;clip-path:polygon(0 0,100% 0,50% 100%)}.birthday-bunting i:nth-child(2n){background:#a4c0b1}.birthday-bunting i:nth-child(3){background:#e6c575}.balloon-field{height:295px;position:relative}.party-balloon{position:absolute;width:65px;height:80px;left:calc(8% + var(--balloon-index)*13%);top:20px;border:0;border-radius:50% 50% 46% 46%;background:radial-gradient(ellipse at 30% 25%,#ffffff70,transparent 50%),#e6b3a5;color:#fff6e6;box-shadow:inset -5px -4px 12px #73374612;animation:balloon-bob 3.5s ease-in-out infinite alternate;animation-delay:calc(var(--balloon-index)*-.6s);z-index:2;padding:0;font-size:28px}.party-balloon:nth-child(2n){background-color:#a5c2b3;top:87px}.party-balloon:nth-child(3n){background-color:#e8cb85;top:40px}.party-balloon:after{content:"";position:absolute;top:77px;left:32px;width:1px;height:58px;background:#9b977b70;pointer-events:none}.party-balloon.is-popped{visibility:hidden;pointer-events:none}.birthday-cake{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:130px;height:110px}.cake-base{position:absolute;bottom:10px;width:130px;height:65px;background:repeating-linear-gradient(90deg,#ebafa0 0,#ebafa0 11px,#f2c4ad 11px,#f2c4ad 22px);border-radius:6px 6px 12px 12px;border:1px solid #c3977360}.cake-base span{display:block;padding-top:11px;font-size:24px;color:#a3655d}.cake-icing{position:absolute;bottom:65px;width:130px;height:20px;border-radius:60% 60% 20% 20%;background:#fff0c8;z-index:1}.cake-candle{position:absolute;left:61px;bottom:82px;width:8px;height:25px;background:repeating-linear-gradient(45deg,#8db5a5 0,#8db5a5 4px,#fff1cc 4px,#fff1cc 8px)}.cake-candle i{position:absolute;top:-14px;left:0;width:9px;height:14px;background:#e2b057;border-radius:60% 60% 55% 55%}.cake-plate{position:absolute;bottom:0;left:-15px;width:160px;height:10px;border-radius:50%;background:#b7c6b3}.game-score{font-style:italic;font-size:16px;min-height:25px;margin:4px 0}.party.game-finished .cake-candle i{opacity:0;transition:opacity .4s}.party.game-finished .birthday-cake{animation:cake-celebrate .6s ease}@keyframes reel-spin{0%{transform:translateY(-65px);filter:blur(1px)}to{transform:translateY(65px);filter:blur(1px)}}@keyframes lever-pull{50%{transform:rotate(25deg)}}@keyframes balloon-bob{0%{transform:translateY(0) rotate(-5deg)}to{transform:translateY(-15px) rotate(5deg)}}@keyframes cake-celebrate{50%{transform:translate(-50%) scale(1.08)}}@media(min-width:700px){.party-opening{padding-top:60px}.party main{box-shadow:0 0 100px #4e3b3010}.love-machine{margin:38px auto 32px}.party-details{padding-top:85px}}@media(prefers-reduced-motion:reduce){.party *,.party *:before,.party *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.party-confetti{display:none}}
