/* Print stylesheet for /resume.
   Black on white, one column, real text - an applicant tracking system reads
   this in DOM order, and anything decorative is something it can get wrong. */

@page {
  size: A4;
  margin: 10mm 12mm;
}

/* The page does not load styles.css, so it declares the face itself. Without
   this, 'Inter' below only matched a copy installed on the machine doing the
   printing, and everyone else got their system font - different metrics, so
   the one-sheet fit depended on whose computer rendered it. Static Regular,
   declared at the weight it has; see styles.css. */
@font-face {
  font-family: 'Inter';
  src: url('/data/fonts/inter-latin.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --ink: #111;
  --ink-soft: #444;
  --rule: #c8c8c8;
  --accent: #1a3f6b;
}

* { box-sizing: border-box; }

html { color-scheme: light; background: #fff; }

body {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  font-size: 8.9pt;
  line-height: 1.27;
  -webkit-font-smoothing: antialiased;
}

.sheet {
  max-width: 190mm;
  margin: 0 auto;
  padding: 12mm 10mm;
}

a { color: var(--accent); text-decoration: none; }

h1, h2, h3 { margin: 0; }

.r-head { margin-bottom: 6pt; }

.r-head h1 {
  font-size: 19pt;
  letter-spacing: -0.02em;
  font-weight: 700;
}

.r-title {
  margin: 2pt 0 0;
  font-size: 10.5pt;
  color: var(--accent);
  font-weight: 600;
}

.r-contact {
  margin: 5pt 0 0;
  font-size: 8.8pt;
  color: var(--ink-soft);
}

.r-section { margin-top: 6.5pt; }

.r-section h2 {
  font-size: 8.4pt;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: var(--accent);
  border-bottom: 0.7pt solid var(--rule);
  padding-bottom: 2pt;
  margin-bottom: 5pt;
}

.r-summary { margin: 0; }

.r-item { margin-bottom: 4.8pt; break-inside: avoid; }
.r-item:last-child { margin-bottom: 0; }

.r-item-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4pt 10pt;
}

.r-item h3 { font-size: 9.4pt; font-weight: 700; }

/* This was nowrap so a date range would not break across lines. On an A4 sheet
   nothing here is long enough to wrap anyway, so the rule only ever took effect
   on a phone - where it pushed the page wider than the screen instead. The
   Frostcord line naming its upstream is what made that visible. */
.r-meta {
  font-size: 8.4pt;
  color: var(--ink-soft);
}

.r-item ul {
  margin: 2.5pt 0 0;
  padding-left: 10pt;
}

.r-item li { margin-bottom: 1.1pt; }

.r-skills { margin: 0; }

.r-skill-row {
  display: flex;
  gap: 8pt;
  margin-bottom: 1.4pt;
}

.r-skill-row dt {
  flex: 0 0 33mm;
  font-weight: 700;
}

.r-skill-row dd { margin: 0; }

@media screen {
  body { background: #e9e9ec; padding: 18px 0; }
  .sheet {
    background: #fff;
    box-shadow: 0 2px 18px rgba(0, 0, 0, 0.16);
  }
}

@media print {
  /* @page already supplies the margin; the on-screen padding would add to it. */
  .sheet { padding: 0; max-width: none; box-shadow: none; }
  body { background: #fff; padding: 0; }
  a { color: var(--ink); }
}
