/* ONE TYPEFACE, ONE PLACE.
 *
 * Angela, on what was wrong with the look: "It's inconsistent between tabs."
 * And on how far to go for now: "I want things to stay as they are - just fi
 * th fonts for now."
 *
 * So this file changes nothing but the letters. Every size, weight, colour,
 * border and layout on all fourteen pages is exactly as it was.
 *
 * What it fixes: the pages had drifted into FIVE different monospace stacks
 * and THREE different sans stacks — ui-monospace, 'SF Mono', plain monospace,
 * ui-monospace with a Menlo fallback, SFMono-Regular — so a number in the
 * Roster table and the same number on the Athlete page were set in different
 * faces, on the same screen, on the same Mac. Nobody would name it, and it is
 * why the tabs never quite looked like one product.
 *
 * The face is Inter, which is what TrainingPeaks itself uses — their app
 * loads inter-latin-wght-italic.woff2 — so the software and the place the
 * data comes from now read the same. It is a variable font, one file for
 * every weight already in use.
 *
 * TO PUT IT BACK: change --anc-sans below to the old stack. That is the whole
 * revert, for every page at once, because nothing else names a typeface any
 * more.
 */

:root {
  --anc-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  /* The old stack, kept so putting it back is a copy and paste:
     --anc-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; */

  /* One monospace stack instead of five. No web font — the system's own
     monospace is good on every machine this runs on, and a second download
     for a handful of table columns is not worth the wait. */
  --anc-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
}

body {
  font-family: var(--anc-sans);
  /* Inter is drawn for screens and looks heavy without this on a Mac. */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* FIGURES THAT LINE UP. In Inter's normal setting a 1 is narrower than a 7,
 * so a column of watts or TSS wobbles a pixel or two from row to row. This is
 * the whole reason half the app was set in monospace in the first place.
 *
 * Angela, on the monospace: "TP Run: 6:45/mi · last test 2026-09-18 → 6:45/mi
 * to be the same font as the standard. you have it as weird font." She is
 * right — that is a sentence, not code, and it was set in a typewriter face
 * along with about twenty other lines of ordinary reading text. Those are all
 * in the standard face now.
 *
 * Monospace is left in the four places where the characters really are code
 * and must be copied exactly: the token box, the admin brain editor, a
 * one-time password, a commit hash, and the prompt previews.
 *
 * Which leaves the alignment to this rule. Tabular figures are Inter's own
 * fixed-width digits, so a column of numbers still lines up perfectly while
 * the words beside it read like words. */
table, .num, .v, .big, .tile .v, .fit .m .v, .read .c .v, .range, .thr,
.cur, .rtab, .wthr, .ath-anchors, .derv-z, .rid, .athlete-id, .wk-meta,
.rec .p, .existing, .sess .line, .facts .v, .kv .v, .prof .v {
  font-variant-numeric: tabular-nums;
}

/* NO COMPUTER TYPE IN THE BOXES. Angela: "Archaic print is the print showing
 * inside a note to be written to be pushed … it's like computer type."
 * Browsers set every <textarea>, <input>, <select> and <button> in their own
 * default face — a typewriter monospace for textareas — unless told
 * otherwise, and most of the note boxes in the app were never told. One rule,
 * every page: the boxes read in the same face as the page around them. */
input, select, textarea, button {
  font-family: inherit;
}
