:root{--sky:linear-gradient(#a9c6ea 0%, #f3d3c4 48%, #ffc89a 72%, #ffe3b8 100%);--sun-core:#fff7dc;--sun-glow:#ffba78bf;--sun-x:77%;--sun-from:70vh;--sun-to:30vh;--ink:#2a2440;--muted:#6b5f72;--glass:#ffffff94;--button:#111e30;--button-ink:#fff}.afternoon{--sky:linear-gradient(#5d9ee6 0%, #8cc0f0 45%, #d6ebfa 100%);--sun-core:#fffdf2;--sun-glow:#fff4c8cc;--sun-x:72%;--sun-from:30vh;--sun-to:10vh;--ink:#1c2b44;--muted:#55657d;--glass:#fff9}.evening{--sky:linear-gradient(#3f4f8f 0%, #8e6fa8 38%, #e59a9a 66%, #ffbf86 100%);--sun-core:#ffe6b0;--sun-glow:#ff8c6eb3;--sun-x:22%;--sun-from:66vh;--sun-to:38vh;--ink:#2b2140;--muted:#5a4766;--glass:#fff6fa8c}.night{--sky:linear-gradient(#070c22 0%, #111a3d 55%, #24305a 100%);--sun-core:#f1f3ff;--sun-glow:#becdff66;--sun-x:74%;--sun-from:28vh;--sun-to:12vh;--ink:#eef0ff;--muted:#a7aed0;--glass:#141c3c8c;--button:#eef0ff;--button-ink:#111e30}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100svh;color:var(--ink);-webkit-font-smoothing:antialiased;background:#0b1230;flex-direction:column;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;display:flex;overflow-x:hidden}.sky{background:var(--sky);animation:1.6s ease-out both fade;position:fixed;inset:0}.sun{left:var(--sun-x);background:var(--sun-core);width:72px;height:72px;box-shadow:0 0 36px 12px var(--sun-glow), 0 0 160px 80px color-mix(in srgb, var(--sun-glow), transparent 55%);border-radius:50%;margin-left:-36px;animation:2.2s cubic-bezier(.22,1,.36,1) .2s both rise;position:absolute;top:0}.night .sun{width:56px;height:56px;margin-left:-28px}.night .sky:before{content:"";background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff,#0000),radial-gradient(1px 1px at 28% 42%,#fff,#0000),radial-gradient(1.5px 1.5px at 46% 12%,#fff,#0000),radial-gradient(1px 1px at 58% 34%,#fff,#0000),radial-gradient(1px 1px at 86% 48%,#fff,#0000),radial-gradient(1.5px 1.5px at 92% 8%,#fff,#0000),radial-gradient(1px 1px at 8% 62%,#fff,#0000),radial-gradient(1px 1px at 38% 72%,#fff,#0000),radial-gradient(1.5px 1.5px at 66% 64%,#fff,#0000),radial-gradient(1px 1px at 78% 82%,#fff,#0000);animation:5s ease-in-out 1.6s infinite alternate both twinkle;position:absolute;inset:0}main{flex:1;width:100%;max-width:40rem;margin:0 auto;padding:18vh 16px 48px;animation:1.2s cubic-bezier(.22,1,.36,1) .5s both up;position:relative}.mark{fill:currentColor;width:44px;margin-bottom:40px;display:block}h1{letter-spacing:-.035em;margin:0;font-size:clamp(2.5rem,8vw,4.25rem);font-weight:650;line-height:1.02}.lede{max-width:30rem;color:var(--muted);margin:24px 0 36px;font-size:1.125rem;line-height:1.55}.glass{background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(1.4);border-radius:999px;gap:6px;max-width:30rem;padding:6px;display:flex;box-shadow:0 10px 40px #111e301f,inset 0 0 0 1px #ffffff59}.glass[hidden]{display:none}input{min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:none;flex:1;padding:0 18px;font-size:1rem}input::placeholder{color:var(--muted);opacity:.8}button{background:var(--button);height:48px;color:var(--button-ink);font:inherit;cursor:pointer;border:0;border-radius:999px;flex:none;padding:0 22px;font-weight:600;transition:transform .15s,opacity .15s}button:hover{transform:translateY(-1px)}button:disabled{opacity:.6;cursor:default;transform:none}.status{min-height:1.5em;margin:16px 0 0 4px;font-weight:500}.glass:focus-within{box-shadow:0 10px 40px #111e301f, inset 0 0 0 2px var(--button)}footer{padding:24px 16px calc(24px + env(safe-area-inset-bottom));text-align:center;color:var(--muted);font-size:.8125rem;position:relative}footer a{color:inherit}.sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(var(--sun-from))}to{transform:translateY(var(--sun-to))}}@keyframes twinkle{0%{opacity:.35}to{opacity:.9}}@keyframes up{0%{opacity:0;transform:translateY(16px)}}@media (width<=480px){main{padding-top:14vh}.glass{border-radius:24px;flex-direction:column}input{height:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-delay:0s!important}}
