:root{color-scheme:light;--nav-bg:#0d1b34;--nav-bg-2:#091529;--nav-fg:#d6e1f1;--nav-fg-muted:#8fa3c0;--nav-hover:#132745;--nav-active:#1b3760;--nav-indicator:#6d9cff;--nav-badge:#203654;--nav-focus:#8fb6ff;--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-3xl:28px;--fs-4xl:36px;--lh-tight:1.25;--lh-body:1.5;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-pill:999px;--control-h:40px;--control-h-touch:44px;--dur-fast:120ms;--dur-base:200ms;--ease:cubic-bezier(.2,0,0,1);--z-sticky:10;--z-drawer:40;--z-toast:60;--sidebar-w:256px;--content-max:1440px;--gutter:16px;--bg:#f4f6f9;--surface:#ffffff;--surface-2:#f8fafc;--surface-sunken:#eef1f5;--border:#dfe4ec;--border-strong:#7c8799;--text:#172033;--text-muted:#4f5b70;--accent:#225ed8;--accent-hover:#1a4bb0;--accent-fg:#ffffff;--accent-soft:#e8effc;--focus:#225ed8;--backdrop:rgba(12,25,47,.45);--danger:#b42338;--danger-soft:#fdebed;--danger-fg:#ffffff;--warning:#8a5300;--warning-soft:#fff3dc;--info:#1f4f86;--info-soft:#e8f0fb;--ok:#13704f;--ok-soft:#e6f4ee;--ai-fg:#5b3fa6;--ai-bg:#f3effb;--ai-line:#7d62c4;--mark-bg:#fff0b3;--risk-stop-bg:#fde8e8;--risk-stop-fg:#9b1c1c;--risk-stop-edge:#c7384f;--risk-high-bg:#fdecd8;--risk-high-fg:#8a4312;--risk-high-edge:#c25e12;--risk-review-bg:#fef6d8;--risk-review-fg:#7a5a00;--risk-review-edge:#a07800;--risk-data-bg:#e6effc;--risk-data-fg:#1e4b8f;--risk-data-edge:#3f74c9;--risk-gap-bg:#eef0f3;--risk-gap-fg:#4b5563;--risk-gap-edge:#7c8799;--risk-cond-bg:#ffffff;--risk-cond-fg:#3b4658;--risk-cond-edge:#7c8799;--shadow-1:0 1px 2px rgba(20,32,51,.04),0 6px 20px rgba(20,32,51,.04);--shadow-2:0 12px 36px rgba(20,32,51,.18);--shadow-3:0 24px 80px rgba(12,25,47,.24);}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#0b0f14;--surface:#111720;--surface-2:#151c26;--surface-sunken:#0d1218;--border:#242d39;--border-strong:#6b7686;--text:#f2f5f7;--text-muted:#a3adb9;--accent:#6ea2ff;--accent-hover:#8fb6ff;--accent-fg:#0b1220;--accent-soft:#16263f;--focus:#8fb6ff;--backdrop:rgba(0,0,0,.6);--danger:#ff8a96;--danger-soft:#3a1519;--danger-fg:#0b1220;--warning:#f5c26b;--warning-soft:#332a0f;--info:#8fbaff;--info-soft:#13263f;--ok:#4fd1a0;--ok-soft:#10291f;--ai-fg:#cbbcff;--ai-bg:#1d1730;--ai-line:#9c86e8;--mark-bg:#4a3f10;--risk-stop-bg:#3a1519;--risk-stop-fg:#ffb3b8;--risk-stop-edge:#ff6577;--risk-high-bg:#3a2412;--risk-high-fg:#ffc38f;--risk-high-edge:#f59a4b;--risk-review-bg:#332a0f;--risk-review-fg:#f5d27a;--risk-review-edge:#d9b24a;--risk-data-bg:#13263f;--risk-data-fg:#a8c8ff;--risk-data-edge:#6ea2ff;--risk-gap-bg:#1d232c;--risk-gap-fg:#b8c1cc;--risk-gap-edge:#6b7686;--risk-cond-bg:#111720;--risk-cond-fg:#c9d1db;--risk-cond-edge:#6b7686;--shadow-1:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 12px 36px rgba(0,0,0,.55);--shadow-3:0 24px 80px rgba(0,0,0,.7);}}:root[data-theme="dark"]{color-scheme:dark;--bg:#0b0f14;--surface:#111720;--surface-2:#151c26;--surface-sunken:#0d1218;--border:#242d39;--border-strong:#6b7686;--text:#f2f5f7;--text-muted:#a3adb9;--accent:#6ea2ff;--accent-hover:#8fb6ff;--accent-fg:#0b1220;--accent-soft:#16263f;--focus:#8fb6ff;--backdrop:rgba(0,0,0,.6);--danger:#ff8a96;--danger-soft:#3a1519;--danger-fg:#0b1220;--warning:#f5c26b;--warning-soft:#332a0f;--info:#8fbaff;--info-soft:#13263f;--ok:#4fd1a0;--ok-soft:#10291f;--ai-fg:#cbbcff;--ai-bg:#1d1730;--ai-line:#9c86e8;--mark-bg:#4a3f10;--risk-stop-bg:#3a1519;--risk-stop-fg:#ffb3b8;--risk-stop-edge:#ff6577;--risk-high-bg:#3a2412;--risk-high-fg:#ffc38f;--risk-high-edge:#f59a4b;--risk-review-bg:#332a0f;--risk-review-fg:#f5d27a;--risk-review-edge:#d9b24a;--risk-data-bg:#13263f;--risk-data-fg:#a8c8ff;--risk-data-edge:#6ea2ff;--risk-gap-bg:#1d232c;--risk-gap-fg:#b8c1cc;--risk-gap-edge:#6b7686;--risk-cond-bg:#111720;--risk-cond-fg:#c9d1db;--risk-cond-edge:#6b7686;--shadow-1:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 12px 36px rgba(0,0,0,.55);--shadow-3:0 24px 80px rgba(0,0,0,.7);}@media (min-width:600px){:root{--gutter:24px}}@media (min-width:1200px){:root{--gutter:32px}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur-base:0ms}}body{background:var(--bg);color:var(--text);font:var(--fs-md)/var(--lh-body) var(--font-sans)}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.mono{font-family:var(--font-mono)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--control-h-touch);margin:0;padding:0 var(--sp-4);border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text);font:var(--fw-semibold) var(--fs-md)/1.2 var(--font-sans);text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:none;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.btn[data-variant=primary]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.btn[data-variant=primary]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn[data-variant=secondary]{background:var(--surface);border-color:var(--border-strong);color:var(--text)}
.btn[data-variant=secondary]:hover{background:var(--surface-2)}
.btn[data-variant=tertiary]{background:transparent;border-color:transparent;color:var(--accent);padding:0 var(--sp-2)}
.btn[data-variant=tertiary]:hover{background:var(--accent-soft)}
.btn[data-variant=danger]{background:var(--danger);border-color:var(--danger);color:var(--danger-fg)}
.btn[data-variant=danger]:hover{filter:brightness(.92)}
.btn[data-size=sm]{min-height:var(--control-h-touch);padding:0 var(--sp-3);font-size:var(--fs-sm)}
.btn[data-block]{width:100%}
.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.btn:disabled,.btn[aria-disabled=true]{background:var(--surface-sunken);border-color:var(--border);color:var(--text-muted);cursor:not-allowed;filter:none}
@media (min-width:900px){.btn{min-height:var(--control-h)}.btn[data-size=sm]{min-height:36px}}
.status-tag{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border:1px solid transparent;border-radius:var(--r-sm);font:var(--fw-semibold) var(--fs-xs)/1.3 var(--font-sans);letter-spacing:0;white-space:nowrap}
.status-tag[data-tone=neutral]{background:var(--surface-2);border-color:var(--border);color:var(--text-muted)}
.status-tag[data-tone=info]{background:var(--info-soft);color:var(--info)}
.status-tag[data-tone=warning]{background:var(--warning-soft);color:var(--warning)}
.status-tag[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}
.banner{display:flex;align-items:flex-start;gap:var(--sp-2);margin:0 0 var(--sp-4);padding:var(--sp-3);border:1px solid var(--b-line,var(--border));border-radius:var(--r-md);background:var(--b-bg,var(--surface-2));color:var(--b-fg,var(--text));font:var(--fs-md)/var(--lh-body) var(--font-sans);text-align:left}
.banner::before{content:"i";content:"i" / "";flex:none;display:inline-grid;place-items:center;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--b-fg,var(--text-muted));color:var(--b-bg,var(--surface));font:var(--fw-bold) var(--fs-xs)/1 var(--font-sans)}
.banner[data-tone=info]{--b-fg:var(--info);--b-bg:var(--info-soft);--b-line:var(--info-soft)}
.banner[data-tone=warning]{--b-fg:var(--warning);--b-bg:var(--warning-soft);--b-line:var(--warning-soft)}
.banner[data-tone=danger]{--b-fg:var(--danger);--b-bg:var(--danger-soft);--b-line:var(--danger-soft)}
.banner[data-tone=danger]::before,.banner[data-tone=warning]::before{content:"!";content:"!" / ""}
.banner[data-tone=success]{--b-fg:var(--ok);--b-bg:var(--ok-soft);--b-line:var(--ok-soft)}
.banner:focus{outline:2px solid var(--focus);outline-offset:2px}
.field{display:grid;gap:var(--sp-1);min-width:0;margin:0 0 var(--sp-4);padding:0;border:0}
.field>label,.field>legend,.field-label{display:block;margin:0;padding:0;font:var(--fw-semibold) var(--fs-sm)/1.35 var(--font-sans);color:var(--text)}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:var(--control-h-touch);margin:0;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:var(--fs-lg)/1.35 var(--font-sans);box-shadow:none}
.field textarea{min-height:96px;resize:vertical}
.field input:not([type=checkbox]):not([type=radio])[readonly]{background:var(--surface-sunken);color:var(--text)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}
.field [aria-invalid=true]{border-color:var(--danger)!important}
.field-help{margin:0;font:var(--fs-sm)/1.45 var(--font-sans);color:var(--text-muted)}
.field-error{margin:0;font:var(--fw-semibold) var(--fs-sm)/1.45 var(--font-sans);color:var(--danger)}
.pw-row{display:flex;gap:var(--sp-2);align-items:stretch}
.pw-row input{flex:1 1 auto}
.check-row{display:flex;align-items:flex-start;gap:var(--sp-2);margin:0 0 var(--sp-4);font:var(--fs-md)/1.4 var(--font-sans);color:var(--text)}
.check-row input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--accent)}
.check-row input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.role-line{margin:var(--sp-2) 0;padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--border-strong);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-2);color:var(--text-muted);font:var(--fs-sm)/1.45 var(--font-sans)}
@media (min-width:600px){.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{font-size:var(--fs-md)}}
.field input.mono:not([type=checkbox]):not([type=radio]){font-family:var(--font-mono)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100dvh}
.auth{display:grid;place-items:start center;min-height:100vh;min-height:100dvh;padding:var(--sp-4) var(--gutter)}
.auth-card{width:100%;max-width:400px;margin:0 auto;padding:var(--sp-6) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1)}
.auth-brand{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-6);color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}
.auth-mark{flex:none;color:var(--accent)}
.auth-product{margin-right:auto}
h1{margin:0 0 var(--sp-4);font:var(--fw-semibold) var(--fs-2xl)/var(--lh-tight) var(--font-sans);color:var(--text)}
.auth-form{display:block;margin:0}
.auth-form .btn[type=submit]{margin-top:var(--sp-2)}
.auth-lock{min-height:1.4em;margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--text-muted)}
.auth-lock:empty{display:none}
.auth-hint{margin:var(--sp-4) 0 0;font-size:var(--fs-sm);color:var(--text-muted)}
.auth-who{margin:0 0 var(--sp-4);font-size:var(--fs-sm);color:var(--text-muted);overflow-wrap:anywhere}
.auth-lead{margin:0 0 var(--sp-4);color:var(--text)}
.auth-note{margin:0 0 var(--sp-4)}
.auth-secondary{margin:var(--sp-3) 0 0;text-align:center}
.auth-boundary{display:flex;align-items:center;gap:var(--sp-2);margin:var(--sp-6) 0 0;padding-top:var(--sp-4);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-muted)}
.auth-boundary::before{content:"i";content:"i" / "";flex:none;display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--border-strong);border-radius:50%;font:var(--fw-bold) var(--fs-xs)/1 var(--font-sans);color:var(--text-muted)}
#password-status:empty{display:none}
.auth-continue{margin:0 0 var(--sp-4)}
.rules{list-style:none;margin:var(--sp-1) 0 var(--sp-1);padding:0;display:grid;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--text-muted)}
.rules li{display:flex;align-items:flex-start;gap:var(--sp-2)}
.rules li::before{content:"";flex:none;display:inline-grid;place-items:center;width:16px;height:16px;margin-top:2px;border:1.5px solid var(--border-strong);border-radius:50%;box-sizing:border-box;font:var(--fw-bold) var(--fs-xs)/1 var(--font-sans)}
.rules li[data-met=true]{color:var(--text)}
.rules li[data-met=true]::before{border-color:var(--ok);background:var(--ok);box-shadow:inset 0 0 0 3px var(--surface)}
.rules li[data-met=info]::before{border-style:dashed}
.rules li[data-met=fail]{color:var(--danger)}
.rules li[data-met=fail]::before{content:"×";content:"×" / "";border-color:var(--danger);color:var(--danger)}
a{color:var(--accent)}
a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (min-width:600px){.auth{place-items:center;padding:var(--sp-10) var(--gutter)}.auth-card{padding:var(--sp-8)}}
@media (forced-colors:active){.rules li[data-met=true]::before{background:CanvasText}}
