/* SCID — LLM guardrails · design-code (spec-06). Self-hosted, zero external requests.
   Dark monochrome high-tech editorial system. Own implementation in the SCID visual
   language — no SCID brand assets reproduced. */

:root{
  /* palette — dark, default (spec-06 §2) */
  --bg:#1B1C1F; --surface:#232529; --surface-2:#2B2E33;
  --ink:#EDEDEE; --ink-dim:#A7ABB2; --muted:#7C828B; --line:#34373D;
  --accent:#FFFFFF; --accent-ink:#111316;
  --ok:#3FB770; --warn:#D7A53A; --bad:#D8584C; --info:#6E9BD1;
  --field:#191A1D; --header-bg:rgba(27,28,31,.86); /* form field / sticky header */
  --ok-bg:rgba(63,183,112,.14); --ok-ink:#9FE0BB; --bad-bg:rgba(216,88,76,.14); --bad-ink:#F0B4AE; /* status messages */
  --radius:14px; --btn-radius:11px; --maxw:1160px;
  /* type */
  --font-display:"Arial Narrow","Helvetica Neue Condensed",Inter,system-ui,Arial,sans-serif;
  --font-body:Inter,"Helvetica Neue",system-ui,Arial,sans-serif;
}

/* light theme — monochrome inversion (spec-06 §2.1). Same var names, dark stays default. */
:root[data-theme="light"]{
  --bg:#F5F5F6; --surface:#FFFFFF; --surface-2:#ECECEE;
  --ink:#15161A; --ink-dim:#4B4F57; --muted:#6B7079; --line:#D9DBDF;
  --accent:#15161A; --accent-ink:#FFFFFF;
  --ok:#2E9E5B; --warn:#B5841F; --bad:#C23B30; --info:#3B6FA8;
  --field:#FFFFFF; --header-bg:rgba(245,245,246,.86);
  --ok-bg:rgba(46,158,91,.12); --ok-ink:#1E7A45; --bad-bg:rgba(194,59,48,.10); --bad-ink:#9A2820;
}
/* short color transition on theme switch (respects reduced-motion below) */
body,.card,.badge,.btn,.btn-outline,.rule,.logo,a{transition:background-color .22s ease,border-color .22s ease,color .18s ease}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);
  line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* typography (spec-06 §3) */
.display,h1.display,h2.display{font-family:var(--font-display);font-weight:800;
  text-transform:uppercase;letter-spacing:-0.01em;line-height:.95;margin:0;color:var(--ink)}
.display{font-size:clamp(40px,8vw,120px)}
.h2{font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  letter-spacing:-0.005em;line-height:1.02;font-size:clamp(28px,4vw,56px);margin:0 0 .3em;color:var(--ink)}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.lead{font-size:clamp(16px,1.6vw,19px);color:var(--ink-dim);max-width:62ch}
.muted{color:var(--muted)} .dim{color:var(--ink-dim)}
a{color:var(--ink)} a:hover{color:var(--accent)}

/* layout helpers */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.section{padding:clamp(56px,9vw,130px) 0}
.rule{height:2px;background:var(--accent);border:0;width:120px;margin:18px 0} /* accent line */

/* buttons (spec-06 §4) */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:800;
  font-size:15px;text-decoration:none;padding:12px 22px;border-radius:var(--btn-radius);
  border:1px solid transparent;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{transform:translateY(-2px);color:var(--accent-ink)}
.btn-outline{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-outline:hover{border-color:var(--ink);background:var(--surface-2)}

/* cards / badges / section numbers */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card h3{margin:0 0 8px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;
  font-size:18px;color:var(--ink)}
.card p{margin:.4em 0 0;color:var(--ink-dim);font-size:15px}
.badge{display:inline-block;background:var(--surface-2);color:var(--ink-dim);border:1px solid var(--line);
  border-radius:999px;padding:4px 12px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.badge-ok{color:var(--ok)} .badge-warn{color:var(--warn)} .badge-bad{color:var(--bad)} .badge-info{color:var(--info)}
.section-num{font-family:var(--font-display);font-weight:800;color:var(--muted);font-size:14px;
  letter-spacing:.05em} /* 01 / 02 / 03 markers */

/* grid */
.grid{display:grid;gap:18px}
.cols-2{grid-template-columns:repeat(2,1fr)} .cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.cols-2,.cols-3{grid-template-columns:1fr}}

/* product wordmark */
.logo{font-family:var(--font-display);font-weight:800;letter-spacing:.02em;color:var(--ink);
  text-transform:uppercase;text-decoration:none;font-size:20px}
.logo .desc{display:block;font-size:9px;font-weight:800;letter-spacing:.34em;color:var(--muted);margin-top:1px}

/* theme toggle (spec-06 §10) — moon shown on dark (click -> light), sun on light */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 auto;
  border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer;padding:0;
  transition:border-color .15s ease,background .15s ease,color .15s ease}
.theme-toggle:hover{border-color:var(--ink)}
.theme-toggle svg{width:18px;height:18px;display:block}
.theme-toggle .i-sun{display:none} .theme-toggle .i-moon{display:block}
:root[data-theme="light"] .theme-toggle .i-sun{display:block}
:root[data-theme="light"] .theme-toggle .i-moon{display:none}

/* a11y */
a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,
summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--accent-ink);
  padding:10px 16px;z-index:100;font-weight:800;text-decoration:none}
.skip:focus{left:0}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}
