/* Serious Coder One tokens. Source of truth: the Serious Coder One design system
   (https://claude.ai/artifact/J8HMy6KxQcXFswzVyh99VL), tokens.json. */
:root {
  --navy: #1c2331; --tie-red: #9c0413; --white: #ffffff; --scrim: rgba(0,0,0,.3);
  --grey-l4: #f7f7f7; --grey-l3: #dedede; --grey-l2: #c6c6c6; --grey-l1: #adadad;
  --text-dark: #333333;
  --surface-page: #f8f9fa; --surface-card: #ffffff; --surface-nav: #1c2331;
  --ink: #333333; --ink-muted: #646464; --ink-subtle: #6c6c6c; --on-dark: #ffffff;
  --link: #2f6fa6; --accent: #38849e; --accent-text: #2f7088; --hairline: #dedede; --focus-ring: #1c2331;
  --font-body: -apple-system, BlinkMacSystemFont, 'Raleway', "Helvetica Neue", Arial, sans-serif;
  --font-head: 'Raleway', "Helvetica Neue", Arial, sans-serif;
  --font-mono: 'Ubuntu Mono', SFMono-Regular, Menlo, Consolas, monospace;
  --space-1: .25rem; --space-2: .5rem; --space-3: 1rem; --space-4: 1.5rem; --space-5: 2rem;
  --radius-card: .25rem; --radius-code: 4px; --radius-pill: 999em; --radius-round: 50%;
  --shadow-1: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12);
  --shadow-hover: 0 1px 3px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12);
  --shadow-avatar: 0 2px 3px rgba(0,0,0,.2);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --surface-page: #1c2331; --surface-card: #262f42; --surface-nav: #141a26;
    --ink: #f7f7f7; --ink-muted: #c6c6c6; --ink-subtle: #adadad;
    --link: #7fb3e0; --accent: #5fb3cc; --accent-text: #5fb3cc; --hairline: #3a4458; --focus-ring: #f7f7f7;
    color-scheme: dark;
  }
}
@font-face { font-family: "Font Awesome 5 Brands"; font-weight: 400; font-display: block; src: url("fonts/fa-brands-400.woff2") format("woff2"); }
@font-face { font-family: "Font Awesome 5 Free"; font-weight: 400; font-display: block; src: url("fonts/fa-regular-400.woff2") format("woff2"); }
@font-face { font-family: "Font Awesome 5 Free"; font-weight: 900; font-display: block; src: url("fonts/fa-solid-900.woff2") format("woff2"); }
.sco-icon { display: inline-block; font-style: normal; line-height: 1; -webkit-font-smoothing: antialiased; }
.sco-icon.github::before   { content: "\f09b"; font-family: "Font Awesome 5 Brands"; font-weight: 400; }
.sco-icon.linkedin::before { content: "\f0e1"; font-family: "Font Awesome 5 Brands"; font-weight: 400; }
.sco-icon.email::before    { content: "\f2b6"; font-family: "Font Awesome 5 Free"; font-weight: 400; }
.sco-icon.rss::before      { content: "\f09e"; font-family: "Font Awesome 5 Free"; font-weight: 900; }
.sco-icon.download::before { content: "\f019"; font-family: "Font Awesome 5 Free"; font-weight: 900; }
.sco-icon.print::before    { content: "\f02f"; font-family: "Font Awesome 5 Free"; font-weight: 900; }
.sco-icon.arrow::before    { content: "\f061"; font-family: "Font Awesome 5 Free"; font-weight: 900; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--surface-page); color: var(--ink); font-family: var(--font-body); font-size: 1rem; line-height: 1.6; }
a { color: var(--link); }
a:focus-visible, button:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
img { max-width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
