:root {
  --bg: #f0ede8; --paper: #f7f5f0; --rule: #d8d2c6;
  --ink: #1a1a1a; --ink-2: #3b3a36; --ink-3: #6b6960; --ink-4: #9a9789;
  --accent: #b86a3e; --accent-ink: #7a3f1e; --accent-soft: #f3e3d6;
  --good: #4a6a4a; --good-soft: #dfe6da;
  --serif: 'New York', 'Iowan Old Style', Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --mono: 'SF Mono', ui-monospace, Menlo, monospace;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; min-height: 100vh; background: var(--bg); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body { display: flex; align-items: center; justify-content: center; padding: 80px 24px; line-height: 1.6; }
.wrap { max-width: 560px; width: 100%; text-align: center; }
.eyebrow { font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-3); }
.eyebrow.accent { color: var(--accent-ink); }
.eyebrow.good { color: var(--good); }
h1 { font-family: var(--serif); font-weight: 400; font-size: 40px; margin: 16px 0 12px; letter-spacing: -0.5px; line-height: 1.1; }
p { font-size: 16px; line-height: 1.65; color: var(--ink-2); margin: 0 0 14px; }
.small { font-size: 14px; color: var(--ink-3); margin-top: 24px; }
.foot { font-size: 13px; color: var(--ink-4); margin-top: 32px; }
.badge { font-family: var(--mono); background: var(--paper); padding: 2px 6px; border-radius: 4px; font-size: 14px; }
.card { padding: 24px 28px; background: var(--paper); border: 1px solid var(--rule); border-radius: 8px; margin-top: 32px; text-align: left; }
.card .row { display: flex; justify-content: space-between; padding: 8px 0; font-size: 14px; }
.card .row + .row { border-top: 1px solid var(--rule); }
.card .label { color: var(--ink-3); }
.spinner { display: inline-block; width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--rule); border-top-color: var(--ink); animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.error { color: var(--accent-ink); }
.brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 12px; opacity: 0.6; }
.brand svg { display: block; }
.brand .word { font-family: var(--serif); font-size: 14px; letter-spacing: -0.3px; color: var(--ink); }
