:root{--blue:#98bbcb;--cream:#f1e5d2;--ink:#2d302d;--button:#4887b0;color:var(--ink);background:var(--blue);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Alfa Slab One,Georgia,serif}*{box-sizing:border-box}body{margin:0}.poster{--frame-inset:clamp(.625rem, 1.1vw, 1.0625rem);--frame-width:clamp(.375rem, .65vw, .625rem);--frame-radius:clamp(1.75rem, 3vw, 2.875rem);isolation:isolate;place-items:center;min-block-size:100svh;padding:6rem 3rem 4rem;display:grid;position:relative;overflow:clip}.poster:before,.poster:after{z-index:2;border:solid var(--cream);pointer-events:none;content:"";position:absolute}.poster:before{inset:var(--frame-inset);border-width:var(--frame-width);border-radius:var(--frame-radius)}.poster:after{inset:calc(var(--frame-inset) + var(--frame-width) + .375rem);border-width:calc(var(--frame-width) / 2);border-radius:calc(var(--frame-radius) - .75rem)}.sunburst{z-index:-1;object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;block-size:100%;inline-size:100%;animation:1.4s cubic-bezier(.22,1,.36,1) both sunrise;position:absolute;inset:0}@keyframes sunrise{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.content{text-align:center;inline-size:min(100%,60rem)}.hero{aspect-ratio:1120/410;position:relative}h1{margin:0;position:absolute;inset-block-start:50%;inset-inline:17%;transform:translateY(-50%)}.logo{block-size:auto;inline-size:100%;display:block}.decorations{pointer-events:none;-webkit-user-select:none;user-select:none}.decorations>img{block-size:auto;position:absolute}.bubble{aspect-ratio:1;cursor:pointer;pointer-events:auto;touch-action:manipulation;background:0 0;border:0;border-radius:50%;padding:0;animation:8s ease-in-out infinite float;position:absolute}.bubble img{pointer-events:none;block-size:auto;inline-size:100%;display:block}.bubble:before{content:"";border-radius:50%;block-size:max(100%,44px);inline-size:max(100%,44px);position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.bubble:after{border:2px solid var(--cream);opacity:0;pointer-events:none;content:"";border-radius:50%;position:absolute;inset:0}.bubble:focus-visible{outline:2px solid var(--cream);outline-offset:5px}.bubble.popping{cursor:default}.bubble.popping img{animation:1.05s linear pop}.bubble.popping:after{animation:.22s ease-out burst}.sparkle{animation:7s ease-in-out infinite sway}@keyframes pop{0%{opacity:1;animation-timing-function:ease-out;transform:scale(1)}12%{opacity:0;transform:scale(1.18)}52%{opacity:0;animation-timing-function:cubic-bezier(.22,1,.36,1);transform:scale(.1)}80%{opacity:1;animation-timing-function:ease-in-out;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}@keyframes burst{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes float{0%,to{transform:translate(0)rotate(-2deg)}50%{transform:translate(5%,-12%)rotate(2deg)}}@keyframes sway{0%,to{transform:translateY(4%)rotate(-4deg)}50%{transform:translateY(-5%)rotate(4deg)}}.bubble-one{inline-size:9.1%;animation-delay:-3s;inset-block-start:0;inset-inline-start:8%}.bubble-two{inline-size:5.8%;animation-duration:7s;animation-delay:-4.5s;inset-block-start:41%;inset-inline-start:8%;rotate:-6deg}.bubble-three{inline-size:8.3%;animation-duration:9.5s;animation-delay:-1s;inset-block-start:46%;inset-inline-end:0;rotate:6deg}.bubble-four{inline-size:4.2%;animation-duration:6.5s;animation-delay:-2.5s;inset-block-start:70%;inset-inline-end:6.5%}.sparkle-one{inline-size:8%;animation-delay:-2s;inset-block-start:20%;inset-inline-start:1.2%}.sparkle-two{inline-size:7%;animation-duration:8.5s;animation-delay:-5s;inset-block-start:4%;inset-inline-end:6.5%}.sparkle-three{inline-size:5.5%;animation-duration:6.5s;animation-delay:-.5s;inset-block-start:76%;inset-inline-end:1.7%}.intro,.notice{isolation:isolate;text-wrap:balance;margin:1.25rem 0 0;font-size:1.75rem;line-height:1.25;position:relative}:is(.intro,.notice):before{z-index:-1;background:radial-gradient(ellipse, var(--blue) 40%, transparent 75%);pointer-events:none;content:"";position:absolute;inset:-2rem}.intro span{display:block}.intro span+span{margin-block-start:.5rem;font-size:clamp(1rem,.8em,1.375rem);line-height:1.4}.notice{outline:none;max-inline-size:42rem;margin-inline:auto;display:none}.notice:target{display:block}.notice h2{font:inherit;margin:0}.notice p{margin:.75rem 0 0;font-size:clamp(1rem,.8em,1.25rem);line-height:1.5}.notice .hint{font-size:1rem}.notice a{min-block-size:44px;color:inherit;text-underline-offset:.2em;align-items:center;margin-block-start:1rem;font-size:1rem;display:inline-flex}.notice a:focus-visible{outline:3px solid var(--cream);outline-offset:4px;border-radius:2px}.content:has(.notice:target) .intro,.content:has(.notice:target) .signup{display:none}.signup{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;inline-size:min(100%,46rem);margin:2.5rem auto 0;display:grid;position:relative}.signup input,.signup button{border:3px solid var(--ink);min-block-size:3.75rem;min-inline-size:0;font:inherit;touch-action:manipulation;border-radius:.75rem;line-height:1.2}:is(.signup input,.signup button):focus-visible{outline:3px solid var(--cream);outline-offset:4px}.signup input{color:var(--ink);background:var(--cream);padding:.75rem 1.375rem;font-size:1.375rem}.signup input::placeholder{color:#6b665a;opacity:1}.signup button{color:var(--cream);background:var(--button);white-space:nowrap;cursor:pointer;padding:.75rem 1.375rem;font-size:1.5rem}@media (hover:hover) and (pointer:fine){.signup button:hover{background:#2b688a}}.signup button:active{background:#255c7c;transform:translateY(1px)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;padding:0;position:absolute;overflow:hidden}@media (width>=48.0625rem) and (height<=50rem){.poster{padding-block:4rem 3rem}.content{max-inline-size:130svh}.intro,.notice{font-size:clamp(1.25rem,4.2svh,1.75rem)}.signup{margin-block-start:2rem}.signup input,.signup button{min-block-size:3.25rem;padding:.625rem 1.125rem;font-size:1.25rem}}@media (width<=48rem){.poster{padding:5rem 2.5rem 6rem}.hero{margin-block-end:1.5rem}.intro,.notice{font-size:clamp(1.125rem,3.5vw,1.625rem)}.signup{grid-template-columns:minmax(0,1fr);gap:.5rem;max-inline-size:30rem;margin-block-start:2rem}.signup input,.signup button{border-width:2px;border-radius:.625rem;min-block-size:3.25rem;padding:.625rem 1rem;font-size:1.25rem}}
