/*! © 2026 FXP · fxps.io — house style, House.Rev001 (Hostinger.Manager). Every fxps.io site loads this file first.
   Do not edit a site's copy: ask Hostinger.Manager, which changes the master and checks every site. */

/* ---- the one font: Source Serif 4 (SIL Open Font License, fonts/ofl.txt) ---- */
@font-face { font-family: "Source Serif 4"; src: url(fonts/source-serif-4-regular.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url(fonts/source-serif-4-semibold.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url(fonts/source-serif-4-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

/* ---- the one palette, by role. Light here; dark below, from the system or from the shared switch ---- */
:root {
  --paper: #fdfcf9;        /* page, list, panel */
  --paper-2: #f5f4ee;      /* banner, buttons, fields */
  --ink: #1d1d1b;          /* titles, headings, button text */
  --ink-2: #3d3d39;        /* body text, entries, status */
  --muted: #6b6b66;        /* top line, labels, counts, icons at rest */
  --accent: #1f4d4a;       /* current, open, pressed, tooltip, focus */
  --on-accent: #fdfcf9;    /* text on the accent */
  --rule: #c9c8c0;         /* every 1 px line */
  --rule-strong: #a8a79e;  /* button and field borders */
  --view: #000;            /* an app's view, black in both themes */
  --good: #3f7a4c; --info: #3f6386; --warn: #94661c; --bad: #a8473a; --high: #a85a26;  /* states */
  --font: "Source Serif 4", Georgia, "Times New Roman", serif;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #141a19; --paper-2: #182120; --ink: #e8e4da; --ink-2: #c9c4b8; --muted: #9a958a;
    --accent: #7fb5ae; --on-accent: #141a19; --rule: #34403e; --rule-strong: #4b5a57;
    --good: #7fb08a; --info: #8fb0d0; --warn: #d6a052; --bad: #d98272; --high: #dc9358;
  }
}
:root[data-theme="dark"] {
  --paper: #141a19; --paper-2: #182120; --ink: #e8e4da; --ink-2: #c9c4b8; --muted: #9a958a;
  --accent: #7fb5ae; --on-accent: #141a19; --rule: #34403e; --rule-strong: #4b5a57;
  --good: #7fb08a; --info: #8fb0d0; --warn: #d6a052; --bad: #d98272; --high: #dc9358;
  color-scheme: dark;
}
:root[data-theme="light"] { color-scheme: light; }

/* ---- base: the same text, links and focus on every page ---- */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.6;
  font-kerning: normal;
  font-synthesis: none;            /* no faked bold, italic or small caps */
}
button, input, select, textarea { font-family: inherit; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 0.15em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
:focus:not(:focus-visible) { outline: none; }
