*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --bg: #ffffff;
  --surface: #edeeee;  /* grey/100 */
  --border: #c3c7c9;  /* grey/200 */
  --text: #171819;    /* grey/700 */
  --muted: #555859;   /* grey/500 */
  --accent: #0081bd;  /* primary/400 base */

  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #171819;    /* grey/700 */
    --surface: #343637; /* grey/600 */
    --border: #555859;  /* grey/500 */
    --text: #edeeee;    /* grey/100 */
    --muted: #9ba0a3;   /* grey/300 */
    --accent: #00a8f4;  /* primary/300 */
  }
}

body {
  font-family: 'Raleway', system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  font-size: 16px;
  font-variant-numeric: lining-nums;
}

h1, h2, h3, h4 {
  font-weight: 700;
  line-height: 1.2;
  color: var(--text);
}

p, .subtitle {
  font-size: 1rem;
  color: var(--muted);
  line-height: 1.6;
}

a {
  color: var(--accent);
}

code {
  font-family: ui-monospace, monospace;
  font-size: 0.875em;
  background: var(--surface);
  padding: 2px 6px;
  border-radius: 0;
}

/* ── Proto header (shared across all project pages) ── */
.proto-nav {
  padding: 36px 0 0;
}
.proto-back {
  font-size: 0.82rem;
  color: var(--muted);
  text-decoration: none;
}
.proto-back:hover { color: var(--accent); }

.proto-header {
  padding: 40px 0 36px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 56px;
}
.proto-header__name {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.15;
  margin-bottom: 10px;
}
.proto-header__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.proto-header__desc {
  font-size: 0.95rem;
  color: var(--muted);
  max-width: 560px;
}
.meta-sep {
  font-size: 0.75rem;
  color: var(--border);
}
.meta-val {
  font-size: 0.78rem;
  color: var(--muted);
}
.status-badge {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 3px 8px;
  background: #e2efff;
  color: #005c89;
}
@media (prefers-color-scheme: dark) {
  .status-badge { background: #001a2b; color: #93cbff; }
}
