:root{--color-page: #f8f5ff;--color-surface: #ffffff;--color-ink: #29213d;--color-muted: #665d7a;--color-accent: #7b57d1;--color-accent-hover: #6742bd;--color-accent-ink: #ffffff;--color-focus: #ef8fbd;--color-overlay: rgb(31 23 49 / 72%);--color-error: #b32955;--color-girl: #d74d8a;--color-boy: #3384c7;--color-confetti-one: #ef8fbd;--color-confetti-two: #7b57d1;--color-confetti-three: #ffd166;--color-confetti-four: #5abf9b;--color-transparent: transparent;--shadow-surface: 0 1.5rem 4rem rgb(41 33 61 / 18%);--shadow-button: 0 .75rem 1.5rem rgb(123 87 209 / 30%);--radius-large: 1.75rem;--radius-medium: 1rem}*{box-sizing:border-box}html,body{min-width:100%;min-height:100%;margin:0}body{background:var(--color-page);color:var(--color-ink);font-family:"Noto Serif",serif;font-optical-sizing:auto;font-style:normal;font-variation-settings:"wdth" 100}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:.2rem solid var(--color-focus);outline-offset:.25rem}.reveal-page{display:grid;grid-template-columns:minmax(0,1fr);min-height:100dvh;align-content:center;justify-items:center;gap:clamp(2rem,5vh,3.5rem);padding:clamp(1.5rem,5vw,5rem);text-align:center}.hero,.result{width:min(100%,48rem);min-width:0;overflow-wrap:break-word}.kicker{margin:0 0 1rem;color:var(--color-muted);font-family:Finger Paint,sans-serif;font-weight:400;font-style:normal;font-size:clamp(.7rem,1.5vw,.85rem);font-weight:700;letter-spacing:.15em;text-transform:uppercase}#hero-kicker{position:relative}.kicker-swim-lane{position:absolute;inset-inline:0;bottom:calc(100% + .25rem);height:1.25rem;overflow:hidden;pointer-events:none}.kicker-swim-track{display:block;width:100%;height:100%;visibility:hidden;animation:kicker-swim 3s linear 1 both}.kicker-sperm{display:block;width:4.5rem;height:1.2rem;fill:currentColor;transform:translate(-100%)}.kicker-sperm-tail{transform-origin:84px 12px;animation:kicker-tail-wiggle .3s ease-in-out 10}@keyframes kicker-swim{0%{visibility:visible;transform:translate(0)}99.9%{visibility:visible}to{visibility:hidden;transform:translate(calc(100% + 4.5rem))}}@keyframes kicker-tail-wiggle{0%,to{transform:scaleY(1)}50%{transform:scaleY(.35)}}h1,h2{margin:0;font-weight:700;line-height:.98}h1{font-size:clamp(3.4rem,11vw,8.5rem)}.intro,.result-note{margin:1.5rem auto 2.4rem;color:var(--color-muted);font-size:clamp(1rem,2vw,1.25rem);line-height:1.5}.reveal-button,.submit-button{border:0;border-radius:999rem;background:var(--color-accent);box-shadow:var(--shadow-button);color:var(--color-accent-ink);font-family:Arial,sans-serif;font-weight:700;transition:background .16s ease,transform .16s ease}.reveal-button{display:inline-flex;min-height:4.25rem;align-items:center;gap:.7rem;padding:1rem clamp(1.4rem,4vw,2.25rem);font-size:clamp(1rem,2vw,1.2rem)}.reveal-button:hover,.submit-button:hover{background:var(--color-accent-hover);transform:translateY(-.15rem)}.reveal-button:disabled{cursor:default;opacity:.65}.reveal-button[hidden]{display:none}.result{opacity:0;transform:translateY(1.25rem) scale(.98);transition:opacity .48s ease-in-out,transform .48s ease-in-out}.result[data-state=visible]{opacity:1;transform:translateY(0) scale(1)}.result h2,.result-note{opacity:0;transform:translateY(.75rem)}.result-note{font-size:2rem;font-family:Finger Paint,sans-serif;font-weight:400;font-style:normal}.result h2[data-waiting=true],.result[data-outcome-ready=true] h2,.result[data-outcome-ready=true] .result-note{opacity:1;transform:translateY(0)}.result[data-outcome-ready=true] h2,.result[data-outcome-ready=true] .result-note{animation:reveal-in .56s ease-out both}.waiting-dot{animation:dot-fade-in .3s ease-out both}@keyframes dot-fade-in{0%{opacity:0}to{opacity:1}}@keyframes reveal-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.result h2{min-height:1em;font-size:clamp(5rem,19vw,13rem)}.result-note{min-height:1.5em}.reveal-page[data-outcome=girl] .result h2{color:var(--color-girl)}.reveal-page[data-outcome=boy] .result h2{color:var(--color-boy)}.password-dialog{width:min(calc(100% - 2rem),29rem);border:0;border-radius:var(--radius-large);background:var(--color-surface);box-shadow:var(--shadow-surface);color:var(--color-ink);padding:0}.password-dialog::backdrop{background:var(--color-overlay)}.password-form{position:relative;display:grid;gap:1rem;padding:clamp(1.75rem,5vw,2.5rem);text-align:left}.password-form h2{font-size:clamp(2.2rem,7vw,3.75rem)}.password-form label{color:var(--color-muted);font-family:Arial,sans-serif;font-size:.95rem;font-weight:700}.password-form input{width:100%;min-height:3.25rem;border:.1rem solid var(--color-muted);border-radius:var(--radius-medium);background:var(--color-transparent);color:var(--color-ink);padding:.75rem 1rem}.password-error{margin:0;color:var(--color-error);font-family:Arial,sans-serif;font-size:.9rem;font-weight:700}.submit-button{min-height:3.5rem;padding:.85rem 1.25rem}.close-button{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:var(--color-transparent);color:var(--color-ink);font-size:1.75rem;line-height:1}.close-button:hover{background:var(--color-page)}.confetti-layer{position:fixed;z-index:2;inset:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-2rem;left:var(--x);width:.7rem;height:1.15rem;background:var(--confetti-color);animation:fall 2.8s cubic-bezier(.2,.7,.3,1) var(--delay) both}@keyframes fall{0%{opacity:1;transform:translateZ(0) rotate(0)}to{opacity:0;transform:translate3d(var(--drift),110dvh,0) rotate(var(--rotation))}}@media(prefers-reduced-motion:reduce){.kicker-swim-lane{display:none}.kicker-swim-track,.kicker-sperm-tail{animation:none}*,*:before,*:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}
