/* Tokens copied from web/src/app/globals.css. Copied rather than imported because this site has no
   build step; the pages are few and short-lived enough that drift is not a real risk. Same
   three-state theming: light on :root, dark via prefers-color-scheme. */
:root {
  color-scheme: light;
  --bg: #ffffff; --panel-2: #f7f7f6;
  --ink: #16171a; --ink-2: #6a6e76; --ink-3: #9498a0;
  --line: #ececeb;
  --font: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', system-ui, Roboto, Helvetica,
    Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --bg: #08090a; --panel-2: #16171a;
    --ink: #f2f3f4; --ink-2: #8a8f98; --ink-3: #61656d;
    --line: #212327;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font);
  font-size: 15px; line-height: 1.5; letter-spacing: -0.006em;
  -webkit-font-smoothing: antialiased;
}
/* Mobile is the target; desktop is the same column, centred. */
.stage {
  min-height: 100dvh; display: flex; flex-direction: column; align-items: center;
  justify-content: center; padding: 32px 22px; text-align: center;
}
.panel { width: 100%; max-width: 30rem; }
.mark { width: 56px; height: 56px; background: currentColor; margin: 0 auto 18px;
  -webkit-mask: url(/kordo-mark.24cc70f0.svg) center / contain no-repeat;
  mask: url(/kordo-mark.24cc70f0.svg) center / contain no-repeat; }
h1 { font-size: 1.55rem; font-weight: 650; letter-spacing: -0.025em; margin: 0 0 14px; }
h2 { font-size: 1rem; font-weight: 650; margin: 28px 0 8px; }
p { color: var(--ink-2); margin: 0 0 14px; }
.doc { text-align: left; max-width: 34rem; }
.doc h1 { text-align: center; }
a { color: var(--ink); text-underline-offset: 3px; }
a:hover { color: var(--ink-2); }
.foot { margin-top: 34px; font-size: 0.78rem; color: var(--ink-3); display: flex; gap: 10px;
  justify-content: center; flex-wrap: wrap; }
.foot a { color: var(--ink-3); text-decoration: none; }
.foot a:hover { color: var(--ink); }
:focus-visible { outline: 2px solid var(--ink-2); outline-offset: 2px; border-radius: 4px; }

/* Long-form documents. `.stage` centres a short page; a policy is read top-to-bottom, so it aligns
   to the top and takes a comfortable measure instead. */
.doc { text-align: left; max-width: 34rem; }
.doc h1 { text-align: center; margin-bottom: 6px; }
.doc .meta { text-align: center; color: var(--ink-3); font-size: 0.82rem; margin-bottom: 28px; }
.doc h2 { font-size: 1rem; font-weight: 650; margin: 30px 0 10px; color: var(--ink); }
.doc p { margin: 0 0 14px; }
.doc strong { color: var(--ink); font-weight: 600; }
.doc ul { color: var(--ink-2); margin: 0 0 14px; padding-left: 20px; }
.doc li { margin-bottom: 8px; }
body:has(.doc) .stage { justify-content: flex-start; padding-top: 56px; padding-bottom: 56px; }
