body.auth-pending,body.auth-locked{overflow:hidden}
body.auth-pending>:not(#authScreen):not(script),body.auth-locked>:not(#authScreen):not(script){visibility:hidden;pointer-events:none}
.auth-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:auto;padding:28px;background:radial-gradient(1000px 600px at 13% 70%,var(--wash-1),transparent 70%),radial-gradient(780px 560px at 89% 10%,var(--wash-2),transparent 75%),var(--bg);color:var(--text)}
body.auth-ready .auth-screen{display:none}
.auth-shell{width:min(970px,100%);min-height:min(650px,calc(100vh - 56px));display:grid;grid-template-columns:minmax(250px,.9fr) minmax(350px,1fr);overflow:hidden;border:1px solid var(--border);border-radius:26px;background:var(--panel);box-shadow:0 30px 90px -35px var(--shadow-1),0 0 80px -55px var(--glow)}
.auth-story{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(28px,5vw,70px);overflow:hidden;background:linear-gradient(145deg,var(--panel-2),var(--panel));border-right:1px solid var(--border)}
.auth-story::before{content:"";position:absolute;inset:10% -40% 0 -70%;z-index:-1;border:1px solid var(--border-lit);border-radius:50%;transform:rotate(-25deg);opacity:.45;box-shadow:0 0 80px -25px var(--glow)}
.auth-story-glow{position:absolute;z-index:-1;width:340px;height:340px;left:-110px;bottom:-130px;border-radius:50%;background:var(--primary);filter:blur(120px);opacity:.22}
.auth-mark{display:grid;place-items:center;width:52px;height:52px;margin-bottom:27px;border:1px solid var(--border-lit);border-radius:16px;color:var(--primary);font-size:31px;box-shadow:0 0 32px -15px var(--glow)}
.auth-brand{font:900 clamp(31px,4vw,48px)/1 var(--font-display);letter-spacing:.15em;color:var(--text)}
.auth-story-line{max-width:260px;margin:18px 0 0;color:var(--text-dim);font:500 clamp(18px,2vw,24px)/1.35 var(--font-body)}
.auth-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,5vw,66px);min-width:0}
.auth-eyebrow{margin-bottom:16px;color:var(--primary);font:700 10px/1.5 var(--font-display);letter-spacing:.16em}
.auth-card h1{margin:0 0 10px;font:700 clamp(25px,3vw,33px)/1.2 var(--font-body);letter-spacing:-.02em}
.auth-card p{line-height:1.5}.auth-intro{margin:0 0 26px;color:var(--text-dim)}
.auth-google,.auth-submit,.auth-secondary{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;border-radius:12px;font:700 15px var(--font-body);transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.auth-google{border:1px solid var(--border-lit);background:var(--raise-2);color:var(--text)}.auth-google:hover,.auth-secondary:hover{background:var(--wash-1);border-color:var(--primary);transform:translateY(-1px)}
.auth-google-g{display:grid;place-items:center;width:24px;height:24px;background:#fff;color:#4285f4;border-radius:50%;font:800 16px system-ui,sans-serif}
.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--text-faint);font-size:12px;white-space:nowrap}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--border);flex:1}
#authEmailForm{display:grid;gap:8px}#authEmailForm label{font-size:13px;font-weight:700;color:var(--text-dim)}#authEmailForm input{width:100%;height:46px;margin-bottom:10px;padding:0 14px;border:1px solid var(--border);border-radius:10px;background:var(--sunken);color:var(--text);outline:none;font-size:15px}#authEmailForm input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--wash-1)}
.auth-submit{border:1px solid var(--primary);background:var(--primary);color:var(--on-accent)}.auth-submit:hover{background:var(--primary-2);box-shadow:0 6px 20px -10px var(--glow);transform:translateY(-1px)}.auth-secondary{margin-top:10px;border:1px solid var(--border);background:transparent;color:var(--text)}
.auth-links{display:flex;justify-content:space-between;gap:14px;margin-top:17px}.auth-links button,.auth-link-button{padding:6px 0;border:0;background:none;color:var(--primary);font-size:13px;font-weight:700}.auth-links button:hover,.auth-link-button:hover{text-decoration:underline}
.auth-install{margin-top:16px}.auth-install button{padding:8px 0;border:0;background:none;color:var(--text-dim);font-size:12px;font-weight:700;cursor:pointer}.auth-install button:hover{color:var(--primary)}.auth-install p{margin:4px 0 0;color:var(--text-dim);font-size:12px;line-height:1.45}.auth-install [hidden]{display:none!important}
.auth-link-button{display:block;margin:18px auto 0}.auth-status{min-height:20px;margin:15px 0 0;color:var(--text-dim);font-size:13px}.auth-status.err{color:var(--danger-soft)}.auth-status.ok{color:var(--success)}.auth-footnote{margin:17px 0 0;color:var(--text-faint);font-size:11px}
.auth-card [hidden]{display:none!important}.auth-card button:disabled{opacity:.55;cursor:wait;transform:none}
@media(max-width:720px){.auth-screen{padding:12px}.auth-shell{display:block;min-height:0;border-radius:20px}.auth-story{min-height:148px;padding:24px 28px;justify-content:flex-end}.auth-mark{width:38px;height:38px;margin-bottom:12px;font-size:24px}.auth-brand{font-size:27px}.auth-story-line{margin:6px 0 0;font-size:15px}.auth-card{padding:28px}.auth-card h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){.auth-google,.auth-submit,.auth-secondary{transition:none}.auth-google:hover,.auth-submit:hover,.auth-secondary:hover{transform:none}}
