/* Design tokens lifted verbatim from app/head.html so the platform and the artifact
   are one visual system. Do not fork these values - change them in both or in neither. */

:root{
  --ground:#f6f7f9; --surface:#fff; --surface-2:#eef1f5; --surface-3:#e4e9f0;
  --line:#dde2e9; --line-soft:#e8ecf1;
  --ink:#171b21; --ink-2:#4a5361; --ink-3:#79828f;
  --accent:#2f5d8c; --accent-ink:#fff; --accent-soft:#e7eef6;
  --ok:#2c7a58; --ok-soft:#e2f2ea; --no:#b0473c; --no-soft:#fbeae8; --edit:#8a6520; --edit-soft:#faf1dd;
  --ns-org:#2f5d8c; --ns-role:#5b5bd6; --ns-system:#0f766e; --ns-doc:#92400e; --ns-param:#9d174d;
  --ns-modality:#6b21a8; --ns-data:#166534; --ns-sev:#9a3412; --ns-env:#155e75; --ns-std:#3f4756;
  --tok-bg:rgba(0,0,0,.045);
  --shadow:0 1px 2px rgba(20,28,40,.06),0 6px 20px -8px rgba(20,28,40,.14);
  --rail:230px;
  --f-ui:"Public Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-doc:"Source Serif 4",Georgia,"Times New Roman",serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#0f1216; --surface:#171b21; --surface-2:#1e242c; --surface-3:#252c36;
  --line:#2b323c; --line-soft:#222932;
  --ink:#e6eaf0; --ink-2:#a8b2be; --ink-3:#79838f;
  --accent:#7aa9d8; --accent-ink:#0f1216; --accent-soft:#1b2836;
  --ok:#5cbf92; --ok-soft:#15291f; --no:#e08278; --no-soft:#2b1a18; --edit:#d4a94a; --edit-soft:#2a2213;
  --ns-org:#7aa9d8; --ns-role:#9a9aef; --ns-system:#4fd1c5; --ns-doc:#e0a86a; --ns-param:#f0879f;
  --ns-modality:#c99af0; --ns-data:#6ecf95; --ns-sev:#f0a07a; --ns-env:#6cc7e0; --ns-std:#a8b2be;
  --tok-bg:rgba(255,255,255,.07);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -10px rgba(0,0,0,.6);
}}
:root[data-theme="dark"]{
  --ground:#0f1216; --surface:#171b21; --surface-2:#1e242c; --surface-3:#252c36;
  --line:#2b323c; --line-soft:#222932;
  --ink:#e6eaf0; --ink-2:#a8b2be; --ink-3:#79838f;
  --accent:#7aa9d8; --accent-ink:#0f1216; --accent-soft:#1b2836;
  --ok:#5cbf92; --ok-soft:#15291f; --no:#e08278; --no-soft:#2b1a18; --edit:#d4a94a; --edit-soft:#2a2213;
  --ns-org:#7aa9d8; --ns-role:#9a9aef; --ns-system:#4fd1c5; --ns-doc:#e0a86a; --ns-param:#f0879f;
  --ns-modality:#c99af0; --ns-data:#6ecf95; --ns-sev:#f0a07a; --ns-env:#6cc7e0; --ns-std:#a8b2be;
  --tok-bg:rgba(255,255,255,.07);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -10px rgba(0,0,0,.6);
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--f-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none;padding:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
h1,h2,h3{margin:0;text-wrap:balance;font-weight:600;letter-spacing:-.011em}

/* ---------- primitives shared by every server-rendered page ---------- */
/* The artifact owns the Registry / Review / Glossary shell. What lives here is only
   what the artifact has no equivalent of: sign-in, sign-up, org setup, billing. */

.auth{min-height:100vh;display:grid;place-items:center;padding:40px 20px}
.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);
  border-radius:10px;box-shadow:var(--shadow);padding:30px 32px 28px}
.auth-brand{display:flex;align-items:baseline;gap:9px;margin-bottom:22px}
.auth-brand h1{font-size:16px}
.auth-brand .sub{font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3)}
.auth-card h2{font-size:19px;margin-bottom:6px}
.auth-card .lede{color:var(--ink-2);margin:0 0 20px;font-size:13.5px;line-height:1.55}
.auth-card .lede b{color:var(--ink);font-weight:600}

.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.field label{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:600}
.field .hint{font-size:11.5px;color:var(--ink-3);line-height:1.45}
input[type=text],input[type=email],textarea{background:var(--surface-2);border:1px solid var(--line);
  border-radius:6px;padding:9px 11px;font-size:14px;width:100%}
input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}
input.code{font-family:var(--f-mono);font-size:23px;letter-spacing:.34em;text-align:center;padding:12px 0 12px 12px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;
  border-radius:6px;font-weight:600;font-size:13.5px;border:1px solid var(--line);
  background:var(--surface-2);color:var(--ink)}
.btn:hover{background:var(--surface-3)}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}
.btn.primary:hover{filter:brightness(1.08)}
.btn.wide{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn.danger{color:var(--no);border-color:color-mix(in srgb,var(--no) 30%,var(--line))}
.btn.danger:hover{background:var(--no-soft)}

.note{border-radius:6px;padding:10px 12px;font-size:12.5px;line-height:1.5;margin:0 0 16px}
.note.err{background:var(--no-soft);color:var(--no)}
.note.ok{background:var(--ok-soft);color:var(--ok)}
.note.info{background:var(--accent-soft);color:var(--accent)}
.note.warn{background:var(--edit-soft);color:var(--edit)}

.auth-foot{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft);
  font-size:12.5px;color:var(--ink-3);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.mono{font-family:var(--f-mono)}

/* the dev corpus browser - scaffolding until the artifact shell is served (milestone 4) */
.devwrap{max-width:860px;margin:0 auto;padding:36px 24px 80px}
.devwrap>h1{font-size:22px}
.devwrap .kicker{font-family:var(--f-mono);font-size:11px;color:var(--ink-3);margin:5px 0 26px;
  display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.devlist{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:8px;
  overflow:hidden;background:var(--surface)}
.devlist li+li{border-top:1px solid var(--line-soft)}
.devlist a{display:flex;gap:12px;align-items:baseline;padding:10px 15px;color:var(--ink);font-weight:600;font-size:13px}
.devlist a:hover{background:var(--surface-2);text-decoration:none}
.devlist .n{margin-left:auto;font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3);font-weight:400}
.devwrap h2{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);
  padding-bottom:7px;border-bottom:1px solid var(--line);margin:30px 0 4px}
.devwrap .doc{font-family:var(--f-doc);font-size:14.5px;line-height:1.62;color:var(--ink-2);max-width:62ch;margin:10px 0 0}
.devstmt{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:11px 0;
  border-bottom:1px solid var(--line-soft);align-items:start}
.devstmt .no{font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3);padding-top:3px;
  text-align:right;font-variant-numeric:tabular-nums}
.devstmt .txt{font-family:var(--f-doc);font-size:15px;line-height:1.6;max-width:74ch}
.devstmt .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.chip{font-size:10px;font-weight:600;letter-spacing:.03em;padding:1.5px 6px;border-radius:9px;
  background:var(--surface-3);color:var(--ink-2)}
.chip.lab{background:var(--accent-soft);color:var(--accent)}
.chip.kind{background:transparent;border:1px solid var(--line);color:var(--ink-3)}
