/* profile_forge — Wesley Stuart profile.
   Order: brand → forge component tokens → scale → reset → G_ atoms.
   Dark-only site: one :root. */

/* ── BRAND ── */
:root {
  --orange: #ea580c;
  --orange-dim: rgba(234, 88, 12, 0.12);
  --orange-mid: rgba(234, 88, 12, 0.35);
  --black: #050505;
  --surface: #0a0a0a;
  --card: #0f0f0f;
  --border: #1a1a1a;
  --border-h: #2a2a2a;
  --white: #e8e8f0;
  --muted: #7b7b99;
  --ok: #22c55e;
  --mono: 'JetBrains Mono', monospace;
  --sans: 'Inter', sans-serif;

  /* Text on the orange fill: #050505 gives 4.9:1 (white only 4.2:1, under AA
     for the small mono button labels), and matches the original site. */
  --text-on-accent: var(--black);
}

/* ── FORGE COMPONENT TOKENS ── */
:root {
  --forge-button-bg: var(--orange);
  --forge-button-hover-bg: #c2410c;
  --forge-button-text: var(--text-on-accent);
  --forge-button-border-radius: 0.125rem;
  --forge-button-hover-glow: 0 0 20px rgba(234, 88, 12, 0.3);
  --forge-button-focus-ring: var(--orange);
  --forge-button-danger-bg: #dc2626;
  --forge-button-danger-hover-bg: #b91c1c;
  --forge-button-danger-text: #ffffff;
  --forge-popup-heading-bg: var(--orange);
  --forge-popup-heading-text: var(--text-on-accent);
  --forge-toggle-checked-bg: var(--orange);
  --forge-menu-focus: var(--orange);
  --forge-loader-color: var(--orange);
  --forge-loader-track: var(--border-h);
  --forge-loader-text: var(--muted);
  --forge-popup-bg: var(--card);
  --forge-popup-text: var(--white);
  --color-toast-bg: var(--card);
  --color-toast-border: var(--border-h);
  --color-toast-text: var(--white);
  --color-accent: var(--orange);
  --color_menu_btn: var(--muted);
  --color-bg: var(--black);
  --color-text: var(--white);
  --color_text_light: var(--white);
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 100%; -webkit-tap-highlight-color: transparent; }
body {
  margin: 0;
  background: var(--black);
  color: var(--white);
  font-family: var(--sans);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
h1, h2, p { margin: 0; }

/* ── G_ ATOMS (shared across page components) ── */

/* Page column: every tab page caps at 53.75rem inside forge-nav's centred content. */
.G_page {
  width: 100%;
  max-width: 53.75rem;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  padding: 4rem 1.5rem;
}

.G_section_header { display: flex; align-items: baseline; gap: 0.75rem; }
.G_section_tag {
  font-family: var(--mono);
  font-size: 0.65rem;
  color: var(--orange);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.G_section_title { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.02em; }

.G_tags { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.G_tag {
  font-family: var(--mono);
  font-size: 0.6rem;
  color: var(--orange);
  background: var(--orange-dim);
  border: 1px solid var(--orange-mid);
  padding: 0.2rem 0.5rem;
  border-radius: 0.125rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

/* Ruled list: rows separated by hairlines, top rule on the first row. */
.G_rows { display: flex; flex-direction: column; }
.G_rows > * { border-bottom: 1px solid var(--border); }
.G_rows > *:first-child { border-top: 1px solid var(--border); }

.G_mono_meta { font-family: var(--mono); font-size: 0.6rem; color: var(--muted); }

@media (max-width: 640px) {
  .G_page { padding: 2.5rem 1.25rem; gap: 1.5rem; }
  .G_section_title { font-size: 1.15rem; }
  .G_section_header { gap: 0.6rem; }
  .G_section_tag { font-size: 0.6rem; }
  .G_tags { gap: 0.3rem; }
  .G_tag { font-size: 0.55rem; padding: 0.15rem 0.4rem; }
}
