/* Copied from the Pouchi landing (agent-pay apps/landing/src/tokens.css). Keep in sync by hand. */
/* Geist Mono (OFL 1.1, fonts/geist-mono/LICENSE.txt), self-hosted. Hangul in code falls back to Pretendard. */
@font-face { font-family: "Geist Mono"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/fonts/geist-mono/GeistMono-Variable.woff2) format("woff2"); }
:root {
  /* Type: Pretendard sets Hangul and carries an Inter-derived Latin, so one family covers ko and en. */
  --font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Segoe UI", sans-serif;
  --mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Pretendard Variable", monospace;

  /* Type scale. Fluid only where the step is large; text sizes stay fixed for a steady rhythm. */
  --fs-display: clamp(38px, 1.25rem + 2.9vw, 60px);
  --fs-h2: clamp(28px, 1rem + 1.7vw, 40px);
  --fs-h3-lg: 20px;   /* card and record titles */
  --fs-h3: 18px;      /* list and sub-section titles */
  --fs-lead: clamp(17px, .875rem + .45vw, 19px);
  --fs-body: 17px;
  --fs-body-sm: 15px;
  --fs-small: 14px;
  --fs-caption: 13px;
  --fs-micro: 12px;
  --fs-code: 13px;

  --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-display: 650;

  /* Latin defaults; Hangul overrides below. */
  --lh-display: 1.08; --lh-heading: 1.16; --lh-title: 1.4; --lh-body: 1.6; --lh-small: 1.55; --lh-code: 1.7;
  --ls-display: -.032em; --ls-heading: -.026em; --ls-title: -.014em; --ls-body: -.008em; --ls-small: 0em;

  /* Vertical rhythm */
  --space-section: clamp(72px, 3rem + 5vw, 120px);
  --space-head: clamp(40px, 1.5rem + 2.5vw, 64px);  /* section heading block to its content */
  --space-stack: 16px;                               /* heading to its paragraph */
  --space-item: 28px;                                /* padding of ruled list rows */
  --bg: #fafbf8; --fg: #19271f; --muted: #526056; --line: #d3dcd1;
  --surface: #edf2e9; --brand: #1d5a43; --button-fg: #fff; --button: #1d5a43;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --bg: #101612; --fg: #edf1e9; --muted: #b2beb3; --line: #34443a;
  --surface: #1b271e; --brand: #9acfaa; --button: #c4e8b7; --button-fg: #142219;
  color-scheme: dark;
} }
:root[data-theme="dark"] {
  --bg: #101612; --fg: #edf1e9; --muted: #b2beb3; --line: #34443a;
  --surface: #1b271e; --brand: #9acfaa; --button: #c4e8b7; --button-fg: #142219;
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 24px; }
:lang(ko) {
  /* Hangul is full-height and dense: more leading in text, slightly tighter tracking in headings. */
  --lh-display: 1.18; --lh-heading: 1.28; --lh-title: 1.45; --lh-body: 1.75; --lh-small: 1.7;
  --ls-display: -.036em; --ls-heading: -.03em; --ls-title: -.02em; --ls-body: -.004em;
  word-break: keep-all; overflow-wrap: break-word;
}
body { margin: 0; background: var(--bg); color: var(--fg); font-family: var(--font); font-size: var(--fs-body); font-weight: var(--fw-regular); line-height: var(--lh-body); letter-spacing: var(--ls-body); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-kerning: normal; }
h1,h2,h3,p,figure,dl,dd { margin: 0; }
h1,h2,h3 { font-weight: var(--fw-semibold); text-wrap: balance; }
h1 { font-size: var(--fs-display); font-weight: var(--fw-display); line-height: var(--lh-display); letter-spacing: var(--ls-display); }
h2 { font-size: var(--fs-h2); line-height: var(--lh-heading); letter-spacing: var(--ls-heading); }
h3 { font-size: var(--fs-h3); line-height: var(--lh-title); letter-spacing: var(--ls-title); }
h1 span,h2 span { display: block; }
p { text-wrap: pretty; }
code, pre, kbd { font-family: var(--mono); font-variant-ligatures: none; }
a { color: inherit; text-underline-offset: 5px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 5px; }
.container { max-width: 1248px; padding-inline: 48px; margin-inline: auto; }
@media (max-width: 700px) { .container { padding-inline: 24px; } }
