.signin-scrim{--sm-paper:#fafaf7;--sm-paper-dim:#f1ece2;--sm-card:#fff;--sm-ink:#1a1a1a;--sm-ink-muted:#5a5a58;--sm-ink-faint:#8c8b85;--sm-rule:#e0ddd2;--sm-accent:#4338ca;--sm-accent-soft:#eef2ff;--sm-scrim:rgba(26,22,16,.46);position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--sm-scrim);backdrop-filter:blur(4px);animation:signin-fade .18s ease}:root[data-theme=night] .signin-scrim{--sm-paper:#1e1c16;--sm-paper-dim:#15140f;--sm-card:#1e1c16;--sm-ink:#ecebe2;--sm-ink-muted:#a3a094;--sm-ink-faint:#74716a;--sm-rule:#34322a;--sm-accent:#a5b4fc;--sm-accent-soft:#2a2747;--sm-scrim:rgba(0,0,0,.6)}.signin-card{position:relative;width:min(440px,100%);background:var(--sm-card);border:1px solid var(--sm-rule);border-radius:20px;padding:30px 30px 24px;box-shadow:0 30px 80px rgba(0,0,0,.28);animation:signin-pop .2s cubic-bezier(.2,.8,.2,1)}@keyframes signin-fade{0%{opacity:0}}@keyframes signin-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}}.signin-card *{box-sizing:border-box}.signin-card .signin-x{position:absolute;top:14px;right:16px;width:30px;height:30px;display:grid;place-items:center;border:none;background:none;font-size:22px;line-height:1;color:var(--sm-ink-faint);border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.signin-card .signin-x:hover{background:var(--sm-paper-dim);color:var(--sm-ink)}.signin-logo{width:48px;height:48px;margin:0 0 16px}.signin-title{font-family:var(--font-display-next),var(--font-sans),system-ui,sans-serif;font-weight:700;font-size:25px;letter-spacing:-.02em;color:var(--sm-ink);margin:0}.signin-sub{font-size:14.5px;margin:7px 0 0}.signin-sub,.signin-warn{font-family:var(--font-sans),system-ui,sans-serif;line-height:1.5;color:var(--sm-ink-muted)}.signin-warn{margin:18px 0 0;padding:11px 13px;border:1px solid var(--sm-rule);background:var(--sm-paper-dim);border-radius:10px;font-size:12px}.signin-warn code{font-family:var(--font-mono),monospace;font-size:11px;color:var(--sm-ink)}.signin-card .signin-google{width:100%;margin:22px 0 0;display:flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-sans),system-ui,sans-serif;font-size:14px;font-weight:600;color:var(--sm-ink);background:var(--sm-paper);border:1px solid var(--sm-rule);border-radius:12px;padding:12px;cursor:pointer;transition:background .15s,border-color .15s}.signin-card .signin-google:hover{background:var(--sm-paper-dim);border-color:var(--sm-ink-faint)}.signin-card .signin-google:disabled{opacity:.5;cursor:not-allowed}.signin-or{display:flex;align-items:center;gap:12px;margin:16px 0}.signin-or:after,.signin-or:before{content:"";flex:1;border-top:1px solid var(--sm-rule)}.signin-or span{font-size:10px;letter-spacing:.14em}.signin-label,.signin-or span{font-family:var(--font-mono),monospace;text-transform:uppercase;color:var(--sm-ink-faint)}.signin-label{display:block;font-size:10.5px;letter-spacing:.1em;margin:0 0 7px}.signin-input{width:100%;font-family:var(--font-sans),system-ui,sans-serif;font-size:15px;padding:12px 14px;margin:0;border:1px solid var(--sm-rule);border-radius:11px;background:var(--sm-paper-dim);color:var(--sm-ink);outline:none;transition:border-color .15s,box-shadow .15s}.signin-input::placeholder{color:var(--sm-ink-faint)}.signin-input:focus{border-color:var(--sm-accent);box-shadow:0 0 0 3px var(--sm-accent-soft)}.signin-input:disabled{opacity:.5}.signin-card .signin-cta{width:100%;margin:14px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans),system-ui,sans-serif;font-size:15px;font-weight:700;color:var(--sm-paper);background:var(--sm-ink);border:none;border-radius:12px;padding:13px;cursor:pointer;transition:filter .15s,transform .15s}.signin-card .signin-cta:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.signin-card .signin-cta:disabled{opacity:.5;cursor:not-allowed}.signin-sent{padding:18px 0 4px}.signin-sent p{font-family:var(--font-sans),system-ui,sans-serif;font-size:14px;line-height:1.55;color:var(--sm-ink-muted);margin:6px 0 0}.signin-sent strong{color:var(--sm-ink);font-weight:600}.signin-sent form{margin:20px 0 0}.signin-code,.signin-sent .signin-error{text-align:center}.signin-code{font-family:var(--font-mono),monospace;font-size:26px;font-weight:600;letter-spacing:.42em;text-indent:.42em;padding:14px}.signin-code::placeholder{letter-spacing:.32em;font-size:22px}.signin-help{margin:16px 0 0;text-align:center;font-family:var(--font-sans),system-ui,sans-serif;font-size:12.5px;color:var(--sm-ink-faint)}.signin-card .signin-linkbtn{border:none;background:none;padding:0;font:inherit;color:var(--sm-accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.signin-card .signin-linkbtn:disabled{color:var(--sm-ink-faint);text-decoration:none;cursor:default}.signin-error{margin:14px 0 0;font-family:var(--font-sans),system-ui,sans-serif;font-size:12.5px;line-height:1.5;color:#dc2626}.signin-note{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--sm-rule);font-family:var(--font-mono),monospace;font-size:10.5px;color:var(--sm-ink-faint);text-align:center}.signup-wall{--sm-paper:#fafaf7;--sm-paper-dim:#f1ece2;--sm-card:#fff;--sm-ink:#1a1a1a;--sm-ink-muted:#5a5a58;--sm-ink-faint:#8c8b85;--sm-rule:#e0ddd2;--sm-accent:#4338ca;--sm-accent-soft:#eef2ff;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:#f1ece2}:root[data-theme=night] .signup-wall{--sm-paper:#1e1c16;--sm-paper-dim:#15140f;--sm-card:#1e1c16;--sm-ink:#ecebe2;--sm-ink-muted:#a3a094;--sm-ink-faint:#74716a;--sm-rule:#34322a;--sm-accent:#a5b4fc;--sm-accent-soft:#2a2747;background:#141310}.signup-wall .signin-card{box-shadow:0 1px 0 var(--sm-rule);animation:none}.signup-wall .signin-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 16px;padding:0;border:none;background:none;font-family:var(--font-sans),system-ui,sans-serif;font-size:13px;color:var(--sm-ink-faint);cursor:pointer;transition:color .15s}.signup-wall .signin-back:hover{color:var(--sm-ink)}.signup-wall .signup-head{margin-bottom:26px;text-align:center}.signup-wall .signup-brand{display:inline-flex;align-items:center;gap:9px;margin-bottom:20px}.signup-wall .signup-brandname{font-family:var(--font-display-next),var(--font-sans),system-ui,sans-serif;font-weight:800;font-size:19px;letter-spacing:-.03em;line-height:1;color:var(--sm-ink)}.signup-wall .signin-title{text-align:center;font-size:22px;line-height:1.2;margin:0}