@font-face{font-family:Itim;src:url('assets/itim.ttf') format('truetype');font-display:swap}@font-face{font-family:Cormorant;src:url('assets/cormorant-garamond.ttf') format('truetype');font-display:swap}
*{box-sizing:border-box}html{background:#182d10}body{margin:0;min-height:100svh;display:grid;place-items:center;background:radial-gradient(ellipse at center,#36501f,#10210d);color:#71451e;font-family:Itim,cursive}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:5px}[hidden]{display:none!important}.icons{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap;border:0}.invitation{position:relative;width:min(100vw,calc(100svh * 9 / 16));aspect-ratio:9/16;max-width:600px;container-type:inline-size;overflow:hidden;box-shadow:0 0 80px #0006}.screen{position:absolute;inset:0;overflow:hidden}.scene-art,video{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}.gate-button{position:absolute;inset:27% 12% 22%;border:0;background:transparent;border-radius:40% 40% 5% 5%}.gate-button:focus-visible{outline:3px solid #fff4d4;outline-offset:0;box-shadow:0 0 25px #ffe8a8}.cover{animation:reveal .6s ease-out}.film-screen{background:#192b12}.film-toolbar{position:absolute;left:3%;right:3%;top:2%;display:flex;justify-content:space-between;align-items:center;opacity:.45;transition:opacity .2s}.film-toolbar:hover,.film-toolbar:focus-within{opacity:1}.quiet-button,.skip-button{border:1px solid #fff5;background:#253a2090;color:#fff8d9;border-radius:50%;display:grid;place-items:center;padding:7px}.quiet-button{width:32px;height:32px}.quiet-button svg,.close-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.skip-button{border-radius:30px;padding:7px 12px;font-size:13px}.playback-error{position:absolute;inset:0;background:#172e16b8;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff4d4;gap:14px}.playback-error p{font-size:24px}.playback-error button{border:1px solid #fff9;border-radius:25px;background:#fff1cd;color:#4e5f20;padding:12px 20px}.details{animation:reveal .7s ease-out}.details p{margin:0;text-align:center;position:absolute}.age{top:24%;left:25%;width:50%;font-size:3.6cqw;font-weight:bold;letter-spacing:.025em}.party-copy{top:30%;left:19%;width:63%;font-size:4.55cqw;line-height:1.22}.flourish{position:absolute;left:29%;top:47.8%;width:42%;height:1px;background:linear-gradient(90deg,transparent,#967557,transparent)}.flourish span{position:absolute;left:50%;transform:translate(-50%,-50%);font-size:2.5cqw;background:#f8d9be;padding:0 5px}.date-row{position:absolute;top:51%;left:25%;width:52%;display:flex;align-items:center;justify-content:center;gap:6cqw;text-align:center}.date-row>div{display:flex;flex-direction:column;align-items:center}.date-row strong{font-size:8.5cqw;line-height:1}.date-row b{font-size:5.9cqw;line-height:1.15;font-weight:400;white-space:nowrap}.date-row span{font-size:2.8cqw;margin-top:4px}.venue{top:61%;left:22%;width:57%;font-size:3.05cqw;line-height:1.35}.venue strong,.venue span{display:block}.venue strong{font-weight:400;font-size:3.6cqw;margin-bottom:1.6cqw}.interaction-hint{top:75%;left:36%;width:29%;font-size:2.8cqw;line-height:1.1}.party-actions{position:absolute;bottom:2.2%;left:20%;width:61%;display:flex;justify-content:space-between;gap:3%}.party-action{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.4cqw;min-width:0;flex:1;color:#fff9e4;text-shadow:0 1px 2px #133c0c,0 1px 4px #133c0c;font-family:Itim,cursive;font-size:2.8cqw;line-height:1.02;text-align:center;text-decoration:none;border:0;background:none;padding:0}.round-icon{width:14cqw;height:14cqw;max-width:76px;max-height:76px;border-radius:50%;display:grid;place-items:center;border:2px solid #e8ffc2;box-shadow:inset 0 2px 5px #fff9,inset 0 -5px 8px #117b5b6b,0 3px 5px #214a2066;background:radial-gradient(circle at 35% 22%,#9af9b5,#45cf8c 62%,#2b986a)}.round-icon svg{width:75%;height:75%;color:white;filter:drop-shadow(0 2px 1px #31806a60)}.confirmation .round-icon{border-color:#c4f4ff;background:radial-gradient(circle at 30% 18%,#8af2ff,#40bbd9 58%,#238bb5)}.confirmation .round-icon svg{width:80%;height:80%}.gifts .round-icon{background:radial-gradient(circle at 28% 20%,#97f1aa,#3dcc92 65%,#219e78)}.party-action:active .round-icon{transform:scale(.94)}.replay-button{position:absolute;top:2%;right:3%;opacity:.45;width:27px;height:27px}.gift-dialog{padding:0;border:0;overflow:visible;background:transparent;color:#6c5146;width:min(72vw,330px);max-height:90svh;container-type:inline-size}.gift-dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}.gift-card{position:relative;padding:8% 5% 9%;background:#dfb8a7;box-shadow:0 12px 35px #0005;text-align:center;max-height:90svh;overflow:visible}.gift-card h2{margin:0 0 5%;font:400 10cqw Cormorant,Georgia,serif;color:#fff2e1;letter-spacing:.005em}.close-button{position:absolute;right:-24px;top:-18px;width:25px;height:25px;border:0;background:#3c342dcc;color:#fff;display:grid;place-items:center;padding:4px}.close-button svg{width:15px;height:15px}.gift-item{min-height:0;display:flex;flex-direction:column;align-items:center}.gift-object{height:30cqw;width:30cqw;position:relative;overflow:hidden}.gift-object img{position:absolute;left:0;top:0;width:100%;height:300%;object-fit:fill}.gift-object.shoes img{top:-100%}.gift-object.toy img{top:-200%}.gift-item p{font:400 4.4cqw/1.3 Cormorant,Georgia,serif;margin:0 0 5%;letter-spacing:.025em}.gift-item.toys p{margin-bottom:0}.noscript-gifts{color:#fff;padding:15px}.gift-dialog[open]{animation:reveal .25s ease-out}@keyframes reveal{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@supports not (font-size:1cqw){.age{font-size:14px}.party-copy{font-size:17px}.date-row strong{font-size:32px}.date-row b{font-size:21px}.date-row span,.interaction-hint,.party-action{font-size:11px}.venue{font-size:12px}.venue strong{font-size:14px}.round-icon{width:52px;height:52px}.gift-object{height:65px}.gift-card h2{font-size:26px}.gift-item p{font-size:12px}}
.details-sound{position:absolute;top:2%;left:3%;opacity:.45;width:27px;height:27px}
.party-action>span:last-child{background:#254619c9;border-radius:4px;padding:2px 3px}