.auth{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;position:relative;overflow:hidden;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-base);line-height:1.45;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}.auth:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,var(--border-subtle) 1px,transparent 0);background-size:24px 24px;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 30%,transparent 75%);opacity:.5;pointer-events:none}.auth .auth-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:16px 24px}.auth .brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-primary);font-weight:600;font-size:var(--text-md);letter-spacing:-.012em}.auth .brand-mark{width:22px;height:22px;background:var(--accent-highlight-muted);color:var(--accent-highlight);border-radius:var(--radius-md);display:grid;place-items:center;font-weight:700;font-size:11px;letter-spacing:-.03em;line-height:1}.auth .brand .word{display:inline-flex;gap:4px;align-items:baseline}.auth .brand .word small{font-family:var(--font-mono);font-weight:500;font-size:var(--text-xxs);color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase}.auth .top-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--text-xxs);color:var(--accent-highlight);background:var(--accent-highlight-muted);border:1px solid var(--accent-highlight-muted);padding:4px 8px;border-radius:var(--radius-full);letter-spacing:.08em;text-transform:uppercase;line-height:1}.auth .top-pill .dot{width:5px;height:5px;border-radius:50%;background:var(--accent-highlight);animation:auth-pulse 1.6s ease-in-out infinite}@keyframes auth-pulse{0%,to{opacity:.55}50%{opacity:1}}.auth .auth-body{position:relative;z-index:2;display:grid;place-items:center;padding:24px}.auth .card{width:100%;max-width:380px;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:28px 28px 24px;box-shadow:var(--shadow-md)}.auth .card-head{display:grid;gap:6px;text-align:center;margin-bottom:20px}.auth .eyebrow{font-family:var(--font-mono);font-size:var(--text-xxs);color:var(--text-tertiary);letter-spacing:.14em;text-transform:uppercase;line-height:1}.auth .eyebrow .sep{color:var(--border-default);margin:0 6px}.auth h1{font-family:var(--font-ui);font-weight:600;font-size:22px;letter-spacing:-.02em;margin:4px 0 0;line-height:1.2;color:var(--text-primary)}.auth h2{font-family:var(--font-ui);font-weight:600;font-size:var(--text-md);margin:0;color:var(--text-primary)}.auth h3{font-family:var(--font-ui);font-weight:600;font-size:var(--text-sm);margin:0;color:var(--text-primary)}.auth .sub{font-size:var(--text-base);color:var(--text-secondary);margin:0;line-height:1.5}.auth .form{display:grid;gap:12px}.auth .field{display:grid;gap:4px}.auth .field-row{display:flex;align-items:center;justify-content:space-between}.auth .field label,.auth label.field-label{font-family:var(--font-mono);font-size:var(--text-xxs);color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;line-height:1;font-weight:500}.auth .link{font-family:var(--font-mono);font-size:var(--text-xxs);color:var(--accent-highlight);text-decoration:none;letter-spacing:.04em;text-transform:uppercase}.auth .link:hover{text-decoration:underline}.auth .input-wrap{position:relative;display:flex;align-items:center}.auth input[type=email],.auth input[type=password],.auth input[type=text]{width:100%;font-family:var(--font-ui);font-size:var(--text-md);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:9px 12px;line-height:1.2;outline:none;transition:border-color .12s var(--ease-standard),box-shadow .12s var(--ease-standard),background-color .12s var(--ease-standard)}.auth input::placeholder{color:var(--text-tertiary)}.auth input:focus{border-color:var(--accent-highlight);box-shadow:0 0 0 3px var(--accent-highlight-muted)}.auth .pw-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:0;padding:4px;cursor:pointer;color:var(--text-tertiary);display:grid;place-items:center;border-radius:var(--radius-sm);transition:background-color .12s var(--ease-standard)}.auth .pw-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.auth .pw-toggle svg{width:14px;height:14px;display:block}.auth .field-error{color:var(--status-error);font-size:var(--text-sm);margin-top:2px;font-family:var(--font-ui)}.auth .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;font-family:var(--font-ui);font-size:var(--text-md);font-weight:500;line-height:1;padding:10px 14px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color .12s var(--ease-standard),border-color .12s var(--ease-standard),color .12s var(--ease-standard);text-decoration:none;color:inherit}.auth .btn:disabled{opacity:.6;cursor:not-allowed}.auth .btn-primary{background:var(--accent-primary);color:var(--text-inverse);border-color:var(--accent-primary);margin-top:4px}.auth .btn-primary:hover:not(:disabled){background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.auth .btn-primary svg{width:14px;height:14px}.auth .btn-ghost{background:transparent;color:var(--text-primary);border-color:var(--border-default)}.auth .btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.auth .btn-ghost svg{width:14px;height:14px}.auth .divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:16px 0 12px}.auth .divider:before,.auth .divider:after{content:"";height:1px;background:var(--border-subtle)}.auth .divider span{font-family:var(--font-mono);font-size:var(--text-xxs);color:var(--text-tertiary);letter-spacing:.14em;text-transform:uppercase}.auth .oauth{display:grid;gap:8px}.auth .card .foot{margin-top:18px;text-align:center;font-size:var(--text-base);color:var(--text-secondary)}.auth .card .foot a{color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--accent-highlight);padding-bottom:1px;transition:color .12s var(--ease-standard)}.auth .card .foot a:hover{color:var(--accent-highlight)}.auth .acct-list{display:grid;gap:8px}.auth .acct{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:12px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);text-decoration:none;color:inherit;cursor:pointer;transition:border-color .12s var(--ease-standard),background-color .12s var(--ease-standard);text-align:left;font:inherit}.auth .acct:hover{border-color:var(--accent-highlight);background:var(--bg-hover)}.auth .acct:hover .acct-arrow{color:var(--accent-highlight)}.auth .acct-mark{width:36px;height:36px;border-radius:var(--radius-md);background:var(--bg-input);border:1px solid var(--border-default);display:grid;place-items:center;font-family:var(--font-ui);font-weight:600;font-size:var(--text-md);letter-spacing:-.02em;color:var(--text-primary);line-height:1}.auth .acct:hover .acct-mark{border-color:var(--accent-highlight);color:var(--accent-highlight)}.auth .acct-name{font-size:var(--text-md);font-weight:500;color:var(--text-primary);letter-spacing:-.005em;line-height:1.2}.auth .acct-meta{font-family:var(--font-mono);font-size:var(--text-xxs);color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;margin-top:4px;line-height:1;display:inline-flex;align-items:center;gap:6px}.auth .acct-meta .role{padding:2px 5px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-secondary)}.auth .acct-arrow{color:var(--text-tertiary);display:grid;place-items:center;transition:color .12s var(--ease-standard)}.auth .acct-arrow svg{width:16px;height:16px;display:block}.auth .signed-in-as{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 16px;padding:6px 10px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-full);width:fit-content;font-size:var(--text-sm);color:var(--text-secondary)}.auth .signed-in-as strong{font-weight:500;color:var(--text-primary)}.auth .signed-in-as .av{width:18px;height:18px;border-radius:50%;background:var(--accent-highlight-muted);color:var(--accent-highlight);font-weight:600;font-size:9px;display:grid;place-items:center;line-height:1}.auth .signout{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;padding:6px 8px;margin-top:12px;color:var(--text-tertiary);font:inherit;font-size:var(--text-base);cursor:pointer;border-radius:var(--radius-sm);text-decoration:none;transition:background-color .12s var(--ease-standard),color .12s var(--ease-standard)}.auth .signout:hover{color:var(--text-primary);background:var(--bg-hover)}.auth .signout svg{width:13px;height:13px}.auth .auth-foot{position:relative;z-index:2;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:var(--text-xxs);color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;background:var(--bg-base)}.auth .auth-foot .links{display:flex;gap:18px}.auth .auth-foot a{color:var(--text-tertiary);text-decoration:none;transition:color .12s var(--ease-standard)}.auth .auth-foot a:hover{color:var(--text-primary)}.auth .demo-toggle{position:fixed;bottom:16px;right:16px;z-index:50;display:inline-flex;align-items:center;background:var(--bg-overlay);border:1px solid var(--border-default);border-radius:var(--radius-full);padding:3px;box-shadow:var(--shadow-md);font-family:var(--font-mono);font-size:var(--text-xxs);letter-spacing:.06em;text-transform:uppercase}.auth .demo-toggle a{padding:5px 10px;border-radius:var(--radius-full);color:var(--text-tertiary);text-decoration:none;line-height:1}.auth .demo-toggle a.active{background:var(--accent-primary);color:var(--text-inverse)}@media(max-width:480px){.auth .auth-top,.auth .auth-foot{padding-left:16px;padding-right:16px}.auth .card{padding:22px 20px 20px}.auth .auth-foot{flex-direction:column;gap:8px}}
