:root{--void-0:#0a0a1a;--void-1:#141033;--void-2:#1d1547;--lilac:#b39cff;--periwinkle:#8fb3ff;--aqua:#7fe6e0;--rose:#ffa8d9;--peach:#ffcfa3;--gold:#ffe9a8;--ink:#f6f4ff;--ink-dim:#c9c3e8;--ink-faint:#8f88b8;--danger:#ff8f9e;--success:#7fe6b0;--glass:#ffffff0f;--glass-strong:#ffffff1a;--hairline:#ffffff24;--radius:22px;--radius-sm:14px;--serif:ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--tap:64px}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);background:var(--void-0);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior-y:none;font-size:19px;line-height:1.6}.aurora{z-index:-1;background:radial-gradient(120% 90% at 50% -10%, var(--void-2), transparent 60%), linear-gradient(180deg, var(--void-1), var(--void-0) 70%);position:fixed;inset:0;overflow:hidden}.aurora:before,.aurora:after{content:"";filter:blur(72px);opacity:.32;will-change:transform;border-radius:50%;width:78vmax;height:78vmax;position:absolute}.aurora:before{background:radial-gradient(circle, var(--lilac), transparent 62%);animation:34s ease-in-out infinite alternate drift-a;top:-28vmax;left:-22vmax}.aurora:after{background:radial-gradient(circle, var(--aqua), transparent 62%);animation:44s ease-in-out infinite alternate drift-b;bottom:-34vmax;right:-26vmax}.aurora span{background:radial-gradient(circle, var(--rose), transparent 64%);filter:blur(84px);opacity:.2;border-radius:50%;width:52vmax;height:52vmax;animation:52s ease-in-out infinite alternate drift-c;position:absolute;top:18vmax;right:6vmax}@keyframes drift-a{to{transform:translate(14vmax,10vmax)scale(1.14)}}@keyframes drift-b{to{transform:translate(-12vmax,-8vmax)scale(1.1)}}@keyframes drift-c{to{transform:translate(-10vmax,12vmax)scale(.9)}}.shell{width:100%;max-width:560px;padding:max(28px, env(safe-area-inset-top)) 20px max(40px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;gap:22px;min-height:100dvh;margin:0 auto;display:flex}.card{background:var(--glass);border:1px solid var(--hairline);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px)saturate(140%);padding:26px 22px}.stack{flex-direction:column;gap:16px;display:flex}.center{text-align:center}.display{font-family:var(--serif);letter-spacing:-.01em;background:linear-gradient(120deg, var(--ink), var(--lilac) 55%, var(--aqua));color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(30px,8vw,40px);font-weight:400;line-height:1.15}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:15px}h2{font-family:var(--serif);margin:0;font-size:25px;font-weight:400;line-height:1.25}p{margin:0}.lede{color:var(--ink-dim);font-size:19px}.signoff{font-family:var(--serif);color:var(--ink-dim);font-size:19px}.fine{color:var(--ink-faint);font-size:17px}a{color:var(--lilac)}.btn{appearance:none;width:100%;min-height:var(--tap);color:var(--void-0);background:linear-gradient(120deg, var(--lilac), var(--periwinkle));cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-family:inherit;font-size:19px;font-weight:600;transition:transform .12s,filter .12s,opacity .12s;display:flex}.btn:active{filter:brightness(1.08);transform:scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:var(--glass-strong);border-color:var(--hairline);color:var(--ink);font-weight:500}.btn-danger{color:var(--danger);background:0 0;border-color:#ff8f9e73;font-weight:500}.btn-sm{width:auto;min-height:48px;padding:0 20px;font-size:17px}:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}label{color:var(--ink-dim);margin-bottom:8px;font-size:17px;font-weight:600;display:block}input[type=text],input[type=email]{appearance:none;width:100%;min-height:58px;color:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:#00000047;padding:0 18px;font-family:inherit;font-size:19px}input::placeholder{color:var(--ink-faint)}input:focus{border-color:var(--lilac);outline:none;box-shadow:0 0 0 3px #b39cff38}.notice{border-radius:var(--radius-sm);border:1px solid var(--hairline);background:#ffffff12;flex-direction:column;gap:8px;padding:16px 18px;font-size:17px;line-height:1.5;display:flex}.notice-error{color:#ffd9df;background:#ff8f9e1f;border-color:#ff8f9e61}.notice-warn{color:#fff3d2;background:#ffe9a81a;border-color:#ffe9a857}.notice-ok{color:#d6fff0;background:#7fe6b01f;border-color:#7fe6b05c}.notice ol,.notice ul{margin:4px 0 0;padding-left:22px}.notice li{margin-bottom:6px}.rec-wrap{flex-direction:column;align-items:center;gap:18px;display:flex}.rec-btn{cursor:pointer;background:linear-gradient(140deg, var(--rose), var(--lilac));width:132px;height:132px;color:var(--void-0);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:18px;font-weight:700;transition:transform .15s;display:flex;position:relative;box-shadow:0 0 #ffa8d973}.rec-btn:active{transform:scale(.96)}.rec-btn[data-recording=true]{background:linear-gradient(140deg,#ff6b81,#ff9db0);animation:2s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #ff6b8180}to{box-shadow:0 0 0 26px #ff6b8100}}.rec-timer{font-family:var(--serif);font-variant-numeric:tabular-nums;color:var(--ink);font-size:34px}.rec-timer[data-low=true]{color:var(--peach)}.meter{background:#ffffff1f;border-radius:999px;width:100%;max-width:260px;height:8px;overflow:hidden}.meter i{background:linear-gradient(90deg, var(--aqua), var(--lilac));transform-origin:0;border-radius:999px;height:100%;transition:transform 80ms linear;display:block}.bar{background:#ffffff1f;border-radius:999px;width:100%;height:10px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--lilac), var(--aqua));border-radius:999px;height:100%;transition:width .3s;display:block}.photo-frame{border-radius:var(--radius-sm);border:1px solid var(--hairline);background:#0000004d;width:100%;position:relative;overflow:hidden}.photo-frame img{object-fit:cover;width:100%;max-height:44vh;display:block}audio{width:100%;min-height:44px}.spin{border:2.5px solid #ffffff4d;border-top-color:var(--ink);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{place-items:center;min-height:100dvh;display:grid}.countdown{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.countdown div{border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--hairline);min-width:78px;padding:14px 10px}.countdown b{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:32px;font-weight:400;line-height:1.1;display:block}.countdown span{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:13px}.names{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.names i{background:var(--glass);border:1px solid var(--hairline);color:var(--ink-dim);border-radius:999px;padding:7px 14px;font-size:16px;font-style:normal}.sheet{z-index:50;-webkit-backdrop-filter:blur(6px);background:#04030eb8;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.sheet>div{border:1px solid var(--hairline);border-radius:var(--radius);background:#1a1436;flex-direction:column;gap:14px;width:100%;max-width:460px;padding:24px 20px;display:flex}@media (width>=560px){.sheet{align-items:center}}.admin-bar{bottom:max(10px, env(safe-area-inset-bottom));z-index:60;border:1px solid var(--hairline);-webkit-backdrop-filter:blur(10px);background:#0a081ac7;border-radius:999px;gap:6px;padding:6px;display:flex;position:fixed;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body.has-admin-bar .shell{padding-bottom:calc(max(40px, env(safe-area-inset-bottom)) + 64px)}
