#application[hidden],#access-gate[hidden]{display:none!important}.access-gate{min-height:100dvh;display:grid;place-items:center;padding:32px 22px calc(32px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 5%,#37304c55,transparent 60%),#101116;color:#eeeaf5}.access-card{width:100%;max-width:430px;text-align:center}.access-brand{display:flex;justify-content:center;align-items:center;gap:10px;font-size:24px;font-weight:600;letter-spacing:-1px;margin-bottom:44px}.access-moon{width:30px;height:30px;border-radius:50%;background:#d1bcf5;box-shadow:inset -8px 4px 0 #17151f}.access-kicker{font-size:10px;letter-spacing:2.3px;color:#bba8d4}.access-card h1{font-size:clamp(25px,5vw,34px);line-height:1.25;font-weight:500;letter-spacing:-1px;margin:18px 0}.access-card>p{font-size:14px;line-height:1.7;color:#a7a1b3;max-width:340px;margin:0 auto 28px}.access-actions{display:grid;gap:11px;margin-top:30px}.access-actions a,.access-actions button{display:flex;justify-content:center;align-items:center;min-height:52px;padding:14px 20px;border-radius:12px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none}.access-actions a{background:#d6c2f6;color:#231a31;border:1px solid #d6c2f6}.access-actions button{background:transparent;border:1px solid #ffffff26;color:#e3dbea;cursor:pointer}.access-actions button:disabled{opacity:.5;cursor:wait}.access-message{min-height:52px;font-size:12px;line-height:1.7;color:#b9a9ce;margin:20px 0 0}.access-footnote{display:block;color:#70697d;font-size:10px;letter-spacing:.3px;margin-top:32px}html[data-theme=light] .access-gate{background:#f7f4fb;color:#302637}html[data-theme=light] .access-actions button{color:#544360;border-color:#cbbdd6}html[data-theme=black] .access-gate{background:#050507}@media(prefers-reduced-motion:no-preference){.access-card{animation:access-appear .3s ease-out}@keyframes access-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

.access-actions .web-login-button{background:#d6c2f6;color:#231a31;border-color:#d6c2f6}.access-message a{display:inline-flex;padding:12px 18px;border-radius:10px;background:#d6c2f6;color:#231a31;text-decoration:none}.access-message p{margin:0 0 12px}#web-logout{font-size:11px;padding:8px 12px;min-height:36px}

.access-actions [hidden]{display:none!important}

/* Guest mode: header sign-in button and the login dialog with a code (2026-10-23). */
header #web-login{min-height:40px;padding:0 16px;font-size:13px;margin-left:auto}
header #web-login[hidden]{display:none}
.web-login-dialog{width:min(420px,calc(100% - 28px));padding:30px 26px 26px;position:relative}
.web-login-dialog h2{margin:0 36px 10px 0;font-size:24px;line-height:1.25;letter-spacing:-.6px}
.web-login-dialog .muted{font-size:13px;line-height:1.6;margin:0 0 18px}
.web-login-dialog .button{width:100%;min-height:50px;margin:0}
.web-login-body{display:grid;gap:14px;margin-top:18px}
.web-login-code{font-size:38px;font-weight:600;letter-spacing:6px;text-align:center;padding:14px 0;border:1px dashed #c8b6ff66;border-radius:14px;color:#f2f0f8}
.web-login-status{font-size:13px;color:#9b98aa;margin:0;text-align:center}
