:root {
  --color-primary: #f7a501;
  --color-primary-pressed: #dd9001;
  --color-primary-active: #b17816;
  --color-on-primary: #23251d;
  --color-ink: #23251d;
  --color-body: #4d4f46;
  --color-charcoal: #33342d;
  --color-mute: #6c6e63;
  --color-ash: #9b9c92;
  --color-stone: #b6b7af;
  --color-hairline: #bfc1b7;
  --color-hairline-soft: #dcdfd2;
  --color-on-dark: #ffffff;
  --color-canvas: #eeefe9;
  --color-surface-soft: #e5e7e0;
  --color-surface-card: #ffffff;
  --color-surface-doc: #fcfcfa;
  --color-surface-dark: #23251d;
  --color-link-blue: #1d4ed8;
  --color-link-teal: #1078a3;
  --color-accent-blue: #2c84e0;
  --color-accent-blue-soft: #dceaf6;
  --color-accent-red: #cd4239;
  --color-accent-red-soft: #f7d6d3;
  --color-accent-green: #2c8c66;
  --color-accent-green-soft: #d9eddf;
  --color-accent-purple: #7c44a6;
  --color-accent-purple-soft: #e7d8ee;
  --color-focus-ring: rgba(59,130,246,0.5);
  --rounded-none: 0px;
  --rounded-xs: 2px;
  --rounded-sm: 4px;
  --rounded-md: 6px;
  --rounded-lg: 8px;
  --rounded-full: 9999px;
  --space-xxs: 2px;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --space-xxl: 32px;
  --space-section: 80px;
  --font-display: "IBM Plex Sans Variable", "IBM Plex Sans", system-ui, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-body: "IBM Plex Sans Variable", "IBM Plex Sans", system-ui, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-mono: ui-monospace, "Source Code Pro", "Cascadia Code", system-ui, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
* { box-sizing: border-box; }
html { background: #d9dbd2; }
body {
  margin: 0 auto; max-width: 390px; min-height: 100vh;
  font-family: var(--font-body); color: var(--color-body);
  background: var(--color-canvas); font-size: 16px; line-height: 1.5; padding-bottom: 64px;
}
a { color: var(--color-ink); text-decoration: none; }
.top { background: var(--color-canvas); padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; }
.logo { font-weight: 700; color: var(--color-ink); display: flex; align-items: center; gap: 6px; }
.logo .hog { width: 28px; height: 22px; }
.back { font-size: 12px; color: var(--color-mute); }
.hero { padding: 24px 16px; }
.kicker { font-size: 12px; font-weight: 700; text-transform: uppercase; margin: 0 0 6px; }
.hero h1 { font-size: 28px; font-weight: 700; line-height: 1.5; color: var(--color-ink); margin: 0 0 8px; }
.hero p { margin: 0; font-size: 14px; }
.hero-cta { display: inline-flex; margin-top: 14px; background: #f7a501; color: #23251d; border-radius: 6px; padding: 10px 16px; font-weight: 700; font-size: 14px; }
.block { padding: 16px; }
.block h2 { font-size: 18px; font-weight: 700; color: var(--color-ink); margin: 0 0 12px; }
.cell { display: block; background: #fff; border: 1px solid #bfc1b7; border-radius: 6px; padding: 16px; margin-bottom: 8px; color: var(--color-ink); }
.cell h3 { margin: 0 0 4px; font-size: 16px; font-weight: 600; }
.cell p { margin: 0; color: var(--color-mute); font-size: 13px; }
.row { display: flex; justify-content: space-between; gap: 8px; padding: 10px 0; border-bottom: 1px solid #dcdfd2; font-size: 14px; }
.row:last-child { border-bottom: 0; }
.row span { color: var(--color-mute); }
.ph { background: #e5e7e0; color: #9b9c92; height: 120px; display: flex; align-items: center; justify-content: center; font-size: 13px; margin-bottom: 12px; border-radius: 6px; }
.tip { background: #dceaf6; border-radius: 6px; padding: 12px 14px; font-size: 14px; margin-bottom: 12px; }
.code { background: #23251d; color: #fff; border-radius: 6px; padding: 12px; font-family: ui-monospace, monospace; font-size: 12px; }
form label { display: block; margin: 0 0 4px; font-size: 14px; font-weight: 600; }
form input, form textarea { width: 100%; padding: 8px 12px; border: 1px solid #bfc1b7; border-radius: 6px; font: inherit; margin-bottom: 12px; }
form button { width: 100%; padding: 10px; border: 0; border-radius: 6px; background: #f7a501; color: #23251d; font: inherit; font-weight: 700; }
.tab {
  position: fixed; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 100%; max-width: 390px; display: flex;
  background: #eeefe9; border-top: 1px solid #bfc1b7;
}
.tab a { flex: 1; text-align: center; padding: 10px 0; font-size: 11px; font-weight: 600; color: #6c6e63; }
.tab a.on { color: #23251d; }

.ph { overflow: hidden; }
.ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
