/* Infinity Curling - the system's own look (24 Oct 2026), under each club's colours and crest (/club.css).
   Fonts: Montserrat (headings, labels, clock digits - the Infinity Curling title bar's font) and Quicksand (text on
   the settings pages), both SIL Open Font License 1.1 - fonts/OFL.txt. Montserrat is served as WOFF2 converted from
   the original OTFs; Quicksand (a Reserved Font Name) as its original OTFs, unchanged. */
@font-face { font-family: "Montserrat"; src: url("/fonts/Montserrat-Light.woff2") format("woff2"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("/fonts/Montserrat-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("/fonts/Montserrat-Medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("/fonts/Montserrat-SemiBold.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("/fonts/Montserrat-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("/fonts/Montserrat-ExtraBold.woff2") format("woff2"); font-weight: 800 900; font-display: swap; }
@font-face { font-family: "Quicksand"; src: url("/fonts/Quicksand-Regular.otf") format("opentype"); font-weight: 300 500; font-display: swap; }
@font-face { font-family: "Quicksand"; src: url("/fonts/Quicksand-Bold.otf") format("opentype"); font-weight: 600 900; font-display: swap; }

:root {
  --font-head: "Montserrat", "Segoe UI", system-ui, sans-serif;
  --font: "Quicksand", "Segoe UI", system-ui, sans-serif;          /* settings pages' text */
  --digits: "Montserrat", "Segoe UI", system-ui, sans-serif;       /* clocks, counters (tabular figures) */
  --ic-gradient: linear-gradient(90deg, #ffd700 0%, #ff8c00 45%, #ff2a00 80%, #ff0000 100%);   /* the infinity mark */
}
:root.tv { --font: var(--font-head); }   /* TVs: Montserrat everywhere - Quicksand's thin strokes read badly across a room */
:root.tv .time { letter-spacing: -.03em; }   /* Montserrat's figures are wider than the condensed ones the clocks were sized for */
body.bc { --digits: "Montserrat", "Segoe UI", system-ui, sans-serif; }

/* headings, labels and every button / picker in Montserrat on the settings pages (24 Oct 2026: some buttons were in
   Quicksand, the PIN page's in Arial) */
button, .btn, select { font-family: var(--font-head); }
.app-header h1, .app-header .titles h1, h1, h2, h3, .btn, .pill, .tabs .btn, .big b, h2.part { font-family: var(--font-head); }

/* "How this works": each settings page's explanation, folded under its header (24 Oct 2026) */
details.howto { margin: 4px 0 14px; }
body.embed .ic-foot, body.embed details.howto { display: none; }   /* a page shown inside another (Game types in the bell page) */
details.howto > summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: .5em;
  font: 600 13px/1 var(--font-head); letter-spacing: .08em; text-transform: uppercase; color: var(--accent, #fdce5b); }
details.howto > summary::-webkit-details-marker { display: none; }
details.howto > summary::before { content: "?"; display: inline-grid; place-items: center; width: 1.5em; height: 1.5em;
  border-radius: 50%; border: 1.5px solid currentColor; font-size: .85em; }
details.howto[open] > summary { margin-bottom: 6px; }
details.howto .intro { margin: 0; }

/* "by Infinity Curling": the maker's mark, small, where the system names itself */
.ic-by { display: inline-flex; align-items: center; gap: .45em; font: 600 12px/1 var(--font-head); letter-spacing: .14em;
  text-transform: uppercase; color: var(--muted, #b9a8c9); text-decoration: none; }
.ic-by img { height: 1.6em; width: auto; }
.ic-by b { font-weight: 700; background: var(--ic-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ic-foot { display: flex; justify-content: center; padding: 18px 0 10px; opacity: .9; }
