*{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:dark;--bg:#0f172a;--panel:#1e293b;--fg:#f8fafc;--muted:#94a3b8;--subtle:#cbd5e1;--accent:#a855f7;--accent-hover:#9333ea;--border:rgba(168,85,247,.25);--error:#f87171;--ok:#34d399}body,html{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;background:var(--bg);color:var(--fg);line-height:1.5;-webkit-font-smoothing:antialiased}.container{max-width:720px;margin:0 auto;padding:64px 24px}h1{font-size:2.5rem;letter-spacing:-.02em;margin-bottom:16px}.lede{font-size:1.125rem;color:#cbd5e1;margin-bottom:24px}.note{color:var(--muted);font-size:.875rem}code{background:rgba(168,85,247,.15);color:var(--accent);padding:2px 6px;border-radius:4px;font-family:ui-monospace,monospace;font-size:.875em}input,select,textarea{width:100%;padding:10px 12px;font:inherit;font-size:1rem;color:var(--fg);background:var(--panel);border:1px solid var(--border);border-radius:8px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(168,85,247,.25)}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent);margin-right:8px}label>span:first-child{display:block;margin-bottom:6px;font-size:.9rem;color:var(--subtle)}button{font:inherit;font-weight:700;padding:12px 24px;color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer;transition:background .15s,opacity .15s,transform .05s}button:hover:not(:disabled){background:var(--accent-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-shell{max-width:460px;margin:0 auto;padding:48px 24px}.auth-brand{display:flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;margin-bottom:28px;color:var(--fg);text-decoration:none}.auth-brand .dot{width:12px;height:12px;border-radius:50%;background:var(--accent)}.panel{background:rgba(30,41,59,.55);border:1px solid rgba(168,85,247,.15);border-radius:14px;padding:28px}.field-error{color:var(--error);font-size:.9rem;margin-top:4px}.field-ok{color:var(--ok)}.req{color:var(--accent)}.btn-ghost,.btn-primary{display:inline-block;font-weight:700;padding:12px 24px;border-radius:8px;text-decoration:none;transition:background .15s,border-color .15s}.btn-primary{color:#fff;background:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{color:var(--subtle);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--accent);color:var(--fg)}.btn-ghost:focus-visible,.btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.alert-error{background:hsla(0,91%,71%,.1);border:1px solid hsla(0,91%,71%,.35);color:var(--error);border-radius:8px;padding:12px 14px;font-size:.9rem;margin-bottom:18px}