:root{--paper:#fff;--ground:#fafafa;--ink:#111;--quiet:#5a5a5a;--faint:#8e8e8e;--line:#e4e4e4;--accent:#2563eb;--accent-soft:#dbeafe;--accent-dark:#1746b0;--danger:#b42318;--good:#087443;--display:var(--font-display), -apple-system, BlinkMacSystemFont, sans-serif;--body:var(--font-body), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ease:cubic-bezier(.23, 1, .32, 1);--soft:var(--ground)}*{box-sizing:border-box}html{background:var(--paper);min-height:100%}body{min-height:100vh;color:var(--ink);background:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::selection{color:#fff;background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.kick{color:var(--quiet);font:10px var(--mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;margin:0;display:flex}.kick:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:5px;height:5px}.button{cursor:pointer;min-height:40px;transition:transform .15s var(--ease), background .15s, border-color .15s, box-shadow .15s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:12px;font-weight:500;display:inline-flex}.button:hover{transform:translateY(-1px);box-shadow:0 7px 20px -11px #111111a6}.button:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.button-dark{color:#fff;background:var(--ink)}.button-dark:hover{background:var(--accent)}.button-light{color:var(--ink);border-color:var(--line);background:#fff}.button-light:hover{border-color:var(--ink)}.wordmark{font:500 20px var(--display);letter-spacing:-.035em;white-space:nowrap}.wordmark span{color:var(--accent)}.login-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.login-form-wrap{flex-direction:column;justify-content:space-between;gap:40px;padding:32px clamp(24px,6vw,88px);display:flex}.login-card{width:100%;max-width:420px;margin:auto 0}.login-card h1{font:300 clamp(38px, 4vw, 52px)/1 var(--display);letter-spacing:-.04em;margin:14px 0 0}.login-card>p:not(.kick):not(.form-message){color:var(--quiet);margin:14px 0 30px;font-size:14px}.login-back{color:var(--quiet);font-size:12px;display:inline-block}.login-back:hover{color:var(--ink)}.login-aside{text-align:center;border-left:1px solid var(--line);background:var(--ground);justify-content:center;align-items:center;height:100vh;padding:40px;display:flex;position:sticky;top:0;overflow:hidden}.login-field{width:100%;height:100%;position:absolute;inset:0}.login-claim{font:500 clamp(44px, 5vw, 72px)/.95 var(--display);letter-spacing:-.045em;text-shadow:0 0 12px var(--ground), 0 0 4px var(--ground);margin:0;position:relative}.auth-tabs{border-bottom:1px solid var(--ink);gap:22px;margin-bottom:24px;display:flex}.auth-tabs button{color:var(--quiet);font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 0 9px}.auth-tabs button.active{color:var(--ink);border-bottom-color:var(--ink)}.oauth-grid{gap:8px;display:grid}.oauth-button{border:1px solid var(--line);cursor:pointer;width:100%;min-height:42px;transition:border-color .15s, transform .15s var(--ease);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.oauth-button:hover{border-color:var(--ink);transform:translateY(-1px)}.oauth-button:disabled{opacity:.5;cursor:wait;transform:none}.oauth-button svg{flex:none;width:16px;height:16px}.auth-divider{color:var(--faint);font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;margin:20px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.field{gap:8px;margin-bottom:16px;display:grid}.field-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.field label{color:var(--quiet);font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.field-heading a{color:var(--ink);text-underline-offset:3px;font-size:12px;text-decoration:underline}.field input{border:1px solid var(--line);background:#fff;border-radius:0;outline:none;width:100%;height:44px;padding:0 12px;font-size:14px}.field input:focus{border-color:var(--ink)}.primary-button{color:#fff;background:var(--ink);cursor:pointer;width:100%;min-height:44px;transition:background .15s, transform .15s var(--ease);border:0;border-radius:999px;margin-top:6px;font-size:13px;font-weight:500}.primary-button:hover{background:var(--accent);transform:translateY(-1px)}.primary-button:disabled{opacity:.5;cursor:wait;transform:none}.form-message{border-left:2px solid var(--line);background:var(--ground);margin:16px 0 0;padding:10px 12px;font-size:13px}.form-message.error{border-left-color:var(--danger);color:var(--danger);background:#fff6f5}.form-message.success{border-left-color:var(--good);color:var(--good);background:#f0faf4}.auth-page-simple{background:var(--ground);place-items:center;min-height:100vh;padding:48px 20px;display:grid}.auth-page-simple .login-card{border:1px solid var(--line);background:#fff;margin:0;padding:36px}.auth-page-simple .wordmark{margin-bottom:28px;display:block}.auth-page-simple .login-back{margin-bottom:24px;display:inline-block}@media (max-width:860px){.login-page{grid-template-columns:minmax(0,1fr)}.login-aside{display:none}.login-form-wrap{padding:24px 20px 32px}}@media (min-width:861px){.mobile-only{display:none!important}}@media (max-width:860px){.desktop-only{display:none!important}}
