@font-face{font-family:Pixelify;src:url('/assets/PixelifySans.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Outfit;src:url('/assets/Outfit.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--title-size:clamp(64px,min(9.2vw,15.5svh),132px);--sky:#141c1e;--ink:#f2f4ec;--muted:#bbc5bd;--soft:#a8b6ae;--title:#e0e7d6;--accent:#d2dfcb;--field:#26312ea8;color-scheme:dark;font-family:Outfit,system-ui,sans-serif;color:var(--ink);background:var(--sky);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100svh;position:relative;isolation:isolate;display:flex;flex-direction:column;padding:24px 56px}button,input{font:inherit}button{cursor:pointer}p,h1,h2{margin:0}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--sky)}
.space{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none;background:#101719 url('/assets/space.png') center/cover no-repeat}.space canvas{display:none;width:100%;height:100%;image-rendering:pixelated}.space.is-rendered canvas{display:block}
.header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;min-height:44px;font-size:14px;color:#c5cec7}.development{grid-column:2;justify-self:center;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid #ffffff28;border-radius:20px;background:#26312e85;font-size:12px;line-height:14px}.development>span{width:6px;height:6px;border-radius:50%;background:#a7bd83}
.hero{display:flex;align-items:center;flex-direction:column;flex:1;min-height:0;padding-top:4px;width:100%;gap:8px}.wordmark{position:relative;z-index:0;font-family:Pixelify,monospace;font-size:var(--title-size);font-weight:600;letter-spacing:-.02em;line-height:1.09;text-align:center;color:var(--title)}.island-stage{height:430px;width:100%;display:flex;align-items:center;justify-content:center}.island{display:block;width:min(620px,100%);height:100%;object-fit:contain;image-rendering:pixelated;user-select:none}
.invitation{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.invitation>h2{font-size:28px;font-weight:500;letter-spacing:-.5px;line-height:1.25}.description{font-size:16px;line-height:1.5;color:var(--muted)}.signup{padding-top:8px;width:min(490px,100%);min-height:100px}form{width:100%}.form-controls{display:flex;align-items:center;gap:8px;width:100%;height:56px;padding:5px 5px 5px 22px;border:1px solid #ffffff2b;border-radius:28px;background:linear-gradient(145deg,#ffffff15,#ffffff03),var(--field);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}
input[type=email]{flex:1;min-width:0;width:100%;height:44px;padding:0;border:0;outline:0;border-radius:8px;background:transparent;color:var(--ink);font-size:15px}input::placeholder{color:#c5cec7;opacity:1}.form-controls:focus-within{outline:2px solid #a7bd83;outline-offset:4px}button{flex-shrink:0;min-height:44px;padding:0 22px;border:1px solid #ffffff33;border-radius:23px;background:var(--accent);color:#26312e;font-size:14px;font-weight:500;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#e1eadd}button:active:not(:disabled){transform:scale(.98)}button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}button:disabled{cursor:default;opacity:.6}.email-note{margin-top:13px;font-size:12px;line-height:1.45;color:var(--soft)}.form-message{font-size:13px;line-height:1.4;color:#f0c5a9;max-width:100%;margin-top:10px}.form-message:empty{display:none}.honey,.sr-only{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.confirmation{display:flex;flex-direction:row;align-items:center;gap:14px;padding:20px 22px;text-align:left;border:1px solid #d2dfcb29;border-radius:18px;background:#26312e99;outline:0;min-height:96px}.confirmation:focus-visible{outline:2px solid #a7bd83;outline-offset:4px}.confirmation-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:50%;color:var(--accent);background:#d2dfcb14}.confirmation-icon svg{width:21px;height:21px}.confirmation-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.confirmation h3{margin:0;font-family:Outfit,system-ui,sans-serif;font-size:17px;font-weight:500;letter-spacing:-.2px;line-height:1.35;color:var(--ink)}.confirmation p{font-size:14px;line-height:1.45;color:var(--muted)}.no-script{font-size:14px;color:var(--muted);text-align:center}
.header-actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:12px;flex-shrink:0}.header-actions .sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto;min-height:44px;height:44px;padding:0 15px;border:1px solid #ffffff1c;background:#26312e80;color:#bbc5bd;font-size:12px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.header-actions .sound-toggle:hover:not(:disabled){background:#34413c;color:#f2f4ec}.sound-toggle svg{width:18px;height:18px;flex:none}.sound-waves{display:none}.sound-toggle[aria-pressed=true] .sound-waves{display:block}.sound-toggle[aria-pressed=true] .sound-muted{display:none}
@media(min-width:701px) and (max-height:850px){body{padding-top:20px;padding-bottom:20px}.hero{padding-top:0;gap:6px}}
@media(min-width:701px) and (max-height:700px){.invitation>h2{font-size:24px}.signup{min-height:88px}}
@media(max-width:700px){body{padding:16px 20px}.header{font-size:12px;gap:8px}.development{padding:0;border:0;background:none;font-size:11px;color:#a7bd83}.development>span{display:none}:root{--title-size:clamp(52px,15vw,72px)}.hero{padding-top:12px;gap:8px}.island-stage{height:auto;aspect-ratio:342/250;max-width:480px;padding:2px 0 6px}.island{width:100%;height:100%;object-fit:contain}.invitation{gap:10px}.invitation>h2{font-size:24px;line-height:1.2;letter-spacing:-.4px}.invitation>h2 span,.description span{display:block}.description{font-size:14px;line-height:1.5}.signup{padding-top:6px;max-width:400px;min-height:150px}.form-controls{height:auto;display:flex;flex-direction:column;gap:8px;padding:0;border:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}.form-controls:focus-within{outline:none}input[type=email]{flex:auto;width:100%;height:50px;padding:0 20px;border:1px solid #ffffff2b;border-radius:27px;background:linear-gradient(145deg,#ffffff15,#ffffff03),var(--field)}input[type=email]:focus-visible{outline:2px solid #a7bd83;outline-offset:3px}button{width:100%;height:46px;border-radius:25px;font-size:15px}.email-note{margin-top:8px}.email-note span{display:block}.confirmation{padding:18px;gap:12px}.confirmation h3{font-size:16px}.confirmation p{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:700px){.header-actions{gap:10px}.header-actions .sound-toggle{width:44px;padding:0}.sound-toggle #sound-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media(max-width:700px) and (max-height:740px){body{padding-top:10px;padding-bottom:10px}.hero{padding-top:0;gap:4px}:root{--title-size:52px}}
/* On desktop the whole first screen fits the window; the island takes whatever height is left. */
@media(min-width:701px){body{height:100svh;min-height:640px}.invitation{gap:6px}.signup{padding-top:6px;min-height:0}.email-note{margin-top:10px}}
@media(min-width:701px) and (max-height:820px){:root{--title-size:clamp(60px,min(9vw,12.5svh),120px)}body{padding-top:14px;padding-bottom:14px}.invitation{gap:4px}.invitation>h2{font-size:22px}.description{font-size:14px}.form-controls{height:52px}.email-note{margin-top:8px}}
