/* Jammap's search pages (tools/seo-pages.mjs): the app's own tokens (src/styles.css), Apple's type scale and
   grouped lists (design-school APPLE.md), day and night following the phone. No map, no script. */
@font-face { font-family: 'Plus Jakarta Sans Variable'; font-style: normal; font-weight: 200 800; font-display: swap; src: url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format('woff2-variations'); }
:root {
  color-scheme: light dark;
  --bg: #f2f2f7; --surface: #ffffff; --ink: #1c1c1e; --ink-2: #3a3a3c; --muted: #636366; --line: #e5e5ea;
  --accent: #6d28d9; --accent-deep: #5b21b6; --on-accent: #ffffff; --fill: rgb(120 120 128 / 0.16);
  --r-ctl: 14px; --r-card: 20px;
  --font: -apple-system, 'Plus Jakarta Sans Variable', 'Plus Jakarta Sans', ui-sans-serif, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #000000; --surface: #1c1c1e; --ink: #f5f5f7; --ink-2: #e5e5ea; --muted: #d1d1d6; --line: #38383a;
    --accent: #d9aa4f; --accent-deep: #e8c170; --on-accent: #1a1406; --fill: rgb(118 118 128 / 0.24);
  }
}
html { font-size: 100%; -webkit-text-size-adjust: 100%; }
@supports (font: -apple-system-body) { html { font: -apple-system-body; } }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 1.0625rem; line-height: 1.35; overflow-wrap: anywhere; }
a { color: var(--accent); }
.top, main, .foot { max-width: 40rem; margin: 0 auto; padding: 0 1rem; }
.top { padding-top: max(0.5rem, env(safe-area-inset-top)); }
.brand { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; font-size: 1.0625rem; color: var(--ink); text-decoration: none; }
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 0.375rem; font-size: 0.9375rem; color: var(--muted); }
.crumbs li + li::before { content: '\203A'; margin-right: 0.375rem; color: var(--muted); }
.crumbs a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); }
.crumbs span { display: inline-flex; align-items: center; min-height: 44px; }
h1 { font-size: 1.75rem; line-height: 1.2; font-weight: 700; margin: 0.25rem 0 0.5rem; letter-spacing: -0.01em; }
h2 { font-size: 1.25rem; line-height: 1.25; font-weight: 600; margin: 1.75rem 0 0.5rem; }
.sub { color: var(--muted); margin: 0 0 1rem; font-size: 0.9375rem; }
.group { background: var(--surface); border-radius: var(--r-card); margin: 0; padding: 0; list-style: none; overflow: hidden; }
.group > li { padding: 0.75rem 1rem; min-height: 3.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.group > li + li { border-top: 0.5px solid var(--line); }
.label { color: var(--ink-2); }
.time { font-size: 1.375rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.time small { display: block; font-size: 0.8125rem; font-weight: 400; color: var(--muted); }
.note { color: var(--muted); font-size: 0.9375rem; margin: 0.75rem 0 0; }
.btn { display: flex; align-items: center; justify-content: center; min-height: 50px; margin: 1.25rem 0 0; padding: 0 1.25rem; border-radius: var(--r-ctl); background: var(--accent); color: var(--on-accent); font-weight: 600; font-size: 1.0625rem; text-decoration: none; }
.btn:active { background: var(--accent-deep); }
.prose p { margin: 0 0 0.75rem; }
.prose h2 { margin-top: 2rem; }
.steps > li { display: block; padding: 0.875rem 1rem; }
.prose .btn { margin-bottom: 0.5rem; }
.prose a:not(.btn) { position: relative; }
/* A link in running text keeps a 44pt reach without raising its line: the reach is an invisible box round the word,
   centred on it, that takes no room (5 Oct 2026; before, inline-block with a 44px line made every line with a link
   taller than its neighbours). */
.prose a:not(.btn)::after, .foot a::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 44px; transform: translateY(-50%); }
.more { display: flex; align-items: center; min-height: 44px; margin-top: 0.5rem; font-size: 1.0625rem; }
.links > li { padding: 0; }
.links a { display: flex; flex-direction: column; justify-content: center; width: 100%; min-height: 3.25rem; padding: 0.625rem 1rem; color: var(--ink); text-decoration: none; }
.links a:active { background: var(--fill); }
/* A row that opens a page carries a chevron (APPLE.md section 3; the designer's review, Fix 2): CSS, never SVG (L-001). */
.links a { position: relative; padding-right: 2.5rem; }
.links a::after { content: ''; position: absolute; right: 1.125rem; top: 50%; width: 0.5rem; height: 0.5rem; border-top: 2px solid var(--muted); border-right: 2px solid var(--muted); border-radius: 1px; transform: translateY(-50%) rotate(45deg); }
.links .name { font-weight: 600; }
.links .meta { color: var(--muted); font-size: 0.9375rem; font-variant-numeric: tabular-nums; }
.foot { color: var(--muted); font-size: 0.8125rem; padding-top: 2rem; padding-bottom: max(2rem, env(safe-area-inset-bottom)); }
.foot a { color: var(--muted); position: relative; }
.foot p { margin: 0; }
