﻿:root { color-scheme: dark; --bg:#101012; --panel:#19191c; --ink:#f2f2f4; --muted:#a0a0aa; --accent:#cede35; --border:#303034; font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); line-height:1.55; }
a { color:var(--accent); text-underline-offset:4px; }
.auth-header { padding:30px 5vw; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); font-size:25px; font-weight:750; text-decoration:none; letter-spacing:-.6px; }
.brand > span { color:var(--accent); margin-left:-9px; }
.brand svg { width:28px; height:28px; stroke:var(--accent); stroke-width:1.7; fill:none; }
.auth-header nav { display:flex; gap:24px; font-size:14px; }
.auth-header nav a { color:var(--muted); text-decoration:none; }
.auth-header nav a[aria-current] { color:var(--accent); }
.auth-layout { width:min(1180px,90vw); margin:38px auto 48px; display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:9%; }
.auth-story { padding:20px 0; }
.eyebrow { color:var(--muted); letter-spacing:.15em; font-size:11px; font-weight:650; margin:0 0 18px; }
.accent-dot { display:inline-block; height:7px; width:7px; background:var(--accent); border-radius:50%; margin-right:9px; }
.auth-story h2 { font-size:clamp(42px,5.1vw,70px); line-height:1.06; letter-spacing:-3px; margin:20px 0; font-weight:650; }
.auth-story h2 span { color:var(--accent); }
.auth-story > p:not(.eyebrow) { color:var(--muted); max-width:350px; font-size:16px; }
.forge-mark { width:270px; height:165px; position:relative; margin-top:34px; overflow:hidden; }
.forge-mark > span { position:absolute; width:155px; height:155px; border:1px solid #383b28; border-radius:28px; transform:rotate(-28deg); left:30px; top:22px; }
.forge-mark > span:nth-child(2) { left:60px; border-color:#5e6330; }
.forge-mark > span:nth-child(3) { left:90px; border-color:#8b932e; }
.forge-mark b { position:absolute; top:58px; left:95px; font-size:44px; font-weight:600; letter-spacing:-2px; }
.forge-mark b span { color:var(--accent); }
.auth-assurance { display:flex; flex-wrap:wrap; gap:24px; color:var(--muted); font-size:12px; margin-top:26px; }
.auth-assurance span::before { content:'✓'; color:var(--accent); margin-right:8px; }
.auth-form-wrap { min-width:0; }
.panel { background:var(--panel); border:1px solid var(--border); border-radius:16px; padding:34px; }
.auth-panel h1 { font-size:30px; line-height:1.2; letter-spacing:-1px; margin:0; }
.auth-panel .eyebrow { color:var(--accent); margin-bottom:12px; }
.muted { color:var(--muted); }
.auth-description { font-size:14px; margin:12px 0 26px; }
.field { margin-bottom:18px; }
label { display:block; font-size:13px; font-weight:550; margin-bottom:8px; }
input:not([type=hidden]),select,textarea { width:100%; border:1px solid var(--border); border-radius:8px; padding:12px 14px; color:var(--ink); background:var(--bg); font:inherit; font-size:14px; }
input::placeholder { color:#73737e; }
button { border:1px solid var(--border); border-radius:8px; padding:12px 16px; background:#262628; color:var(--ink); font:inherit; cursor:pointer; }
button.primary { display:flex; justify-content:space-between; width:100%; background:var(--accent); border:0; color:#1c1e12; font-weight:650; margin-top:22px; }
button.primary:hover { background:#e0ed55; }
button:disabled { opacity:.6; cursor:wait; }
.forgot-link { font-size:13px; display:block; text-align:right; }
.auth-alternate { color:var(--muted); font-size:13px; text-align:center; margin:24px 0 0; }
.auth-token-link { text-align:center; font-size:12px; margin:12px 0 0; }
.auth-token-link a { color:var(--muted); }
.auth-footnote { text-align:center; color:#7e7e88; font-size:12px; margin:20px 0 0; }
.field-help { color:var(--muted); font-size:12px; margin:7px 0 0; }
.error-summary,.errorlist { color:#ffb7af; font-size:13px; }
.error-summary { padding:12px; background:#462626; border-radius:8px; margin-bottom:18px; }
.errorlist { padding-left:18px; margin:8px 0 0; }
.password-wrap { position:relative; }
.password-wrap input { padding-right:70px; }
.password-wrap .password-toggle { position:absolute; right:7px; top:7px; padding:5px 7px; font-size:12px; color:var(--muted); background:transparent; border:0; }
:is(a,button,input,select,textarea):focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
[hidden] { display:none !important; }
.skip-link { position:fixed; top:-100px; left:16px; padding:10px; color:#111; background:var(--accent); z-index:100; }
.skip-link:focus { top:16px; }
#status:not(:empty) { padding:14px; margin-top:16px; border:1px solid var(--border); border-radius:8px; overflow-wrap:anywhere; }
@media(max-width:850px) { .auth-layout { gap:5%; }.panel { padding:26px; }.auth-story h2 { font-size:48px; } }
@media(max-width:650px) { .auth-header { padding:22px 6vw; }.brand { font-size:21px; }.auth-header nav { gap:12px; font-size:12px; }.auth-layout { display:block; width:min(440px,88vw); margin:25px auto; }.auth-story { display:none; }.panel { padding:26px 22px; }.auth-panel h1 { font-size:28px; } }
