/* Styles for the static pages in public/ (they live outside the Angular app).
   Tokens: copy of src/styles/tokens.css (from docs/design/). Fonts: /fonts.css. */
/* Rookwit design tokens. Generated from tokens.json by tools/build_tokens.py.
   Don't edit by hand: change tokens.json and run the script again.
   Light ("Paper") is the default. Dark ("Floodlights") follows the phone's setting;
   a manual switch sets data-theme="light" or data-theme="dark" on <html>. */

:root, [data-theme="light"] {
  --paper: #fafaf7;
  --paper-2: #efefea;
  --paper-3: #e3e3dc;
  --line: #d9d9d1;
  --line-strong: #8a8a82;
  --ink: #121212;
  --ink-2: #45453f;
  --ink-3: #6a6a62;
  --on-ink: #fafaf7;
  --marker: #e4530e;
  --marker-ink: #b0430b;
  --marker-wash: #fce6d8;
  --hit: #1b6b3e;
  --strip: #121212;
  --on-strip: #fafaf7;
  --marker-on-strip: #ff8a4c;
  --scarf-default-a: var(--ink);
  --scarf-default-b: var(--paper-3);
  --rook: var(--ink);
  --rook-patch: #d0d0cc;
  --rook-patch-inverse: #6a6a64;
  --focus-ring: 0 0 0 2px #fafaf7, 0 0 0 4px #121212;
  --sheet: 0 -8px 24px #1212121f;
}

[data-theme="dark"] {
  --paper: #121314;
  --paper-2: #1c1d20;
  --paper-3: #26282b;
  --line: #303236;
  --line-strong: #7c7f84;
  --ink: #f3f2ee;
  --ink-2: #c9c9c3;
  --ink-3: #9c9c95;
  --on-ink: #121314;
  --marker: #ff6f2c;
  --marker-ink: #ff8f57;
  --marker-wash: #3b2418;
  --hit: #63c98c;
  --strip: #26282b;
  --on-strip: #f3f2ee;
  --marker-on-strip: #ff8f57;
  --scarf-default-a: var(--ink);
  --scarf-default-b: var(--paper-3);
  --rook: var(--ink);
  --rook-patch: #6a6a64;
  --rook-patch-inverse: #d0d0cc;
  --focus-ring: 0 0 0 2px #121314, 0 0 0 4px #f3f2ee;
  --sheet: 0 -8px 24px #000000b3;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #121314;
    --paper-2: #1c1d20;
    --paper-3: #26282b;
    --line: #303236;
    --line-strong: #7c7f84;
    --ink: #f3f2ee;
    --ink-2: #c9c9c3;
    --ink-3: #9c9c95;
    --on-ink: #121314;
    --marker: #ff6f2c;
    --marker-ink: #ff8f57;
    --marker-wash: #3b2418;
    --hit: #63c98c;
    --strip: #26282b;
    --on-strip: #f3f2ee;
    --marker-on-strip: #ff8f57;
    --scarf-default-a: var(--ink);
    --scarf-default-b: var(--paper-3);
    --rook: var(--ink);
    --rook-patch: #6a6a64;
    --rook-patch-inverse: #d0d0cc;
    --focus-ring: 0 0 0 2px #121314, 0 0 0 4px #f3f2ee;
    --sheet: 0 -8px 24px #000000b3;
  }
}

:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-0: 0px;
  --radius-s: 2px;
  --radius-m: 3px;
  --radius-round: 9999px;
  --rule-hair: 1px;
  --rule-control: 2px;
  --rule-head: 3px;
  --tap-min: 44px;
  --button-h: 48px;
  --button-h-s: 40px;
  --loop-stroke: 3px;
  --loop-stroke-big: 4px;
  --font-display: "Big Shoulders Display", "Arial Narrow", sans-serif;
  --font-display-text: "Big Shoulders Text", "Arial Narrow", sans-serif;
  --font-body: "Atkinson Hyperlegible Next", system-ui, sans-serif;
  --font-mono: "Atkinson Hyperlegible Mono", ui-monospace, monospace;
}


*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 17px/26px var(--font-body); -webkit-font-smoothing: antialiased; }
a { color: var(--ink); font-weight: 700; text-underline-offset: 3px; }
:focus-visible { outline: 2px solid transparent; box-shadow: var(--focus-ring); }
.top { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 760px; margin: 0 auto; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.top img { display: block; height: 40px; width: auto; }
.top .logo-dark { display: none; }
@media (prefers-color-scheme: dark) { .top .logo-light { display: none; } .top .logo-dark { display: block; } }
.btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px; border: 2px solid var(--ink); border-radius: 3px; background: var(--ink); color: var(--on-ink); font-weight: 700; text-decoration: none; }
.btn--outline { min-height: 40px; padding: 0 14px; background: transparent; color: var(--ink); font-size: 15px; }
main { max-width: 760px; margin: 0 auto; padding: 32px 16px 48px; }
h1 { margin: 0; font: 900 44px/42px var(--font-display); text-transform: uppercase; }
.lede { margin: 12px 0 0; font-size: 19px; line-height: 28px; color: var(--ink-2); }
h2 { margin: 40px 0 8px; padding-top: 8px; border-top: 3px solid var(--ink); font: 800 26px/26px var(--font-display); text-transform: uppercase; }
p { margin: 0 0 12px; }
ul, ol { margin: 0 0 12px; padding-left: 22px; }
li { margin-bottom: 6px; }
table { width: 100%; border-collapse: collapse; margin: 8px 0 12px; font-variant-numeric: tabular-nums; }
th { padding: 8px 6px; border-bottom: 2px solid var(--ink); text-align: left; font: 700 14px/20px var(--font-body); color: var(--ink-3); }
td { padding: 10px 6px; border-bottom: 1px solid var(--line); }
.cta { margin-top: 40px; padding: 20px 0 0; border-top: 3px solid var(--ink); }
footer { max-width: 760px; margin: 0 auto; padding: 24px 16px 40px; border-top: 3px solid var(--ink); }
footer .promise { margin: 0 0 8px; font: 900 28px/28px var(--font-display); text-transform: uppercase; }
footer nav { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 15px; }
