/* status.kyeprotocol.com — inherits site tokens.
   Uses minimal layout: a status banner, a component grid, an incident
   list. Avoids any vendor SaaS-style chrome.
*/
@import url("/styles.css");

:root {
  --st-ok: var(--success);
  --st-ok-soft: var(--success-soft);
  --st-warn: var(--warning);
  --st-warn-soft: var(--warning-soft);
  --st-bad: var(--danger);
  --st-bad-soft: var(--danger-soft);
  --st-maint: var(--info);
  --st-maint-soft: var(--info-soft);

  /* Type scale + icon sizes — locked by /design-system/tokens/type.json
     (constitution §24). Remediation Wave 5 mapped every Npx font-size
     to these tokens; this :root MUST define them. */
  --type-9: 9px; --type-10: 10px; --type-11: 11px; --type-12: 12px;
  --type-13: 13px; --type-14: 14px; --type-16: 16px; --type-18: 18px;
  --type-22: 22px; --type-28: 28px; --type-36: 36px; --type-48: 48px;
  --icon-12: 12px; --icon-14: 14px; --icon-16: 16px; --icon-18: 18px;
  --icon-20: 20px; --icon-24: 24px;
  --font-ui: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-display: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}

.st-shell { max-width: 1080px; margin: 0 auto; padding: 30px 22px 80px; }

.st-hero {
  border-radius: 14px;
  padding: 28px 28px;
  margin: 10px 0 28px;
  border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 20px;
}
.st-hero.st-ok { background: var(--st-ok-soft); border-color: var(--success-line); }
.st-hero.st-warn { background: var(--st-warn-soft); border-color: var(--warning-line); }
.st-hero.st-bad { background: var(--st-bad-soft); border-color: var(--danger-line); }
.st-hero.st-maint { background: var(--st-maint-soft); border-color: var(--info-line); }
.st-hero h1 { font-size: var(--type-28); margin: 0 0 6px; letter-spacing: -0.01em; }
.st-hero p { margin: 0; color: var(--text-muted); font-size: var(--type-14); }
.st-hero .st-dot {
  width: 18px; height: 18px; border-radius: 50%;
  display: inline-block;
  background: var(--st-ok);
  box-shadow: 0 0 0 5px rgba(5,150,105,0.18);
  margin-right: 10px;
}
.st-hero.st-warn .st-dot { background: var(--st-warn); box-shadow: 0 0 0 5px rgba(217,119,6,0.18); }
.st-hero.st-bad  .st-dot { background: var(--st-bad);  box-shadow: 0 0 0 5px rgba(225,29,72,0.18); }
.st-hero.st-maint .st-dot{ background: var(--st-maint);box-shadow: 0 0 0 5px rgba(14,165,233,0.18); }

.st-section { margin: 30px 0; }
.st-section h2 { font-size: var(--type-18); margin: 0 0 14px; letter-spacing: -0.005em; }

.st-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (max-width: 720px) { .st-grid { grid-template-columns: 1fr; } }

.st-comp {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  gap: 16px;
}
.st-comp .left { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.st-comp .left strong { font-size: var(--type-14); font-weight: 600; }
.st-comp .left span { font-size: var(--type-12); color: var(--text-dim); font-family: var(--font-mono); }
.st-comp .right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.st-pill {
  font-size: var(--type-11); font-weight: 600; letter-spacing: 0.02em;
  padding: 4px 10px;
  border-radius: 999px;
  text-transform: uppercase;
  border: 1px solid;
}
.st-pill.ok { background: var(--st-ok-soft); color: var(--st-ok); border-color: var(--success-line); }
.st-pill.warn { background: var(--st-warn-soft); color: var(--st-warn); border-color: var(--warning-line); }
.st-pill.bad { background: var(--st-bad-soft); color: var(--st-bad); border-color: var(--danger-line); }
.st-pill.maint { background: var(--st-maint-soft); color: var(--st-maint); border-color: var(--info-line); }

.st-metric { font-size: var(--type-11); color: var(--text-dim); font-family: var(--font-mono); }

.st-incident {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px 18px;
  background: var(--surface);
  margin-bottom: 10px;
}
.st-incident h3 { margin: 0 0 4px; font-size: var(--type-14); }
.st-incident .meta { font-size: var(--type-12); color: var(--text-dim); font-family: var(--font-mono); }

.st-foot {
  margin-top: 50px;
  padding: 20px 0 0;
  border-top: 1px solid var(--line);
  font-size: var(--type-12);
  color: var(--text-dim);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px;
}
.st-foot a { color: var(--text-muted); }
.st-foot a:hover { color: var(--accent); }
.st-foot .tm-notice { flex: 1 1 100%; margin: 8px 0 0; font-size: var(--type-11); line-height: 1.5; color: var(--text-dim); opacity: .72; }

.st-loading { color: var(--text-dim); font-style: italic; }
.st-error   { color: var(--danger); }
