/* Small testing boundary, kept separate from the product's visual system. */
:root { --sans: Inter, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; }
.preview-strip { display:flex; align-items:center; gap:8px; padding:7px 32px; border-bottom:1px solid var(--rule); background:var(--well); color:var(--muted); font-size:11px; line-height:1.5; }
.preview-strip strong { font-weight:600; color:var(--ink-2); }
.preview-strip>a { margin-left:auto; color:var(--primary); white-space:nowrap; border-radius:3px; padding:2px 4px; transition:background .15s,color .15s; }
.preview-strip>a:hover { background:var(--tint); color:var(--ink); }
.preview-dot { width:6px; height:6px; border-radius:50%; background:var(--warn); flex-shrink:0; }
.preview-guide { max-width:920px; margin:0 auto; }
.preview-guide h1 { margin-bottom:12px; }
.preview-guide .preview-intro { max-width:740px; color:var(--muted); font-size:15px; }
.preview-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:24px; }
.preview-guide .panel { padding:24px; }
.preview-guide .panel h2 { font-size:19px; margin-bottom:12px; }
.preview-guide .panel p, .preview-guide .panel li { font-size:13px; }
.preview-guide .panel ul { padding-left:18px; margin:0 0 18px; }
.preview-case-list { display:grid; gap:8px; margin-top:18px; }
.preview-case { display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:left; border:1px solid var(--rule); border-radius:var(--r2); padding:11px 14px; background:var(--sheet); color:var(--ink); }
.preview-case:hover { background:var(--well); border-color:var(--rule-2); }
.preview-case small { color:var(--muted); display:block; font-size:11px; }
.preview-case .icon { width:16px; height:16px; }
.preview-guide code { font:12px/1.6 var(--sans); padding:1px 4px; border-radius:3px; background:var(--tint); }
.account-menu-email { line-height:1.5; }
#account-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:20px 0; }
#account-tabs [role=tab] { border:1px solid var(--rule); border-radius:5px; padding:8px 14px; font-size:13px; }
#account-tabs [role=tab][aria-selected=true] { background:var(--primary); border-color:var(--primary); color:var(--on-primary); }
#account-tabs [role=tab]:hover { box-shadow:0 0 0 1px var(--rule-2); }
#account-settings .field { margin-bottom:18px; }
@media(max-width:760px) {
 .preview-strip { padding:6px 16px; font-size:10px; gap:6px; align-items:flex-start; }
 .preview-detail { display:block; }
 .preview-strip>a { padding-top:0; }
 .preview-guide-grid { grid-template-columns:1fr; gap:14px; margin-top:18px; }
 .preview-guide .panel { padding:18px; }
 .preview-case { padding:12px; }
}
@media print { .preview-strip { display:flex!important; } }

.coverage-snapshot { margin:0 0 28px; padding:24px 28px; background:var(--sheet); border:1px solid var(--rule); border-radius:var(--r3); }
.coverage-metrics { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.coverage-metrics>div { display:grid; gap:4px; }
.coverage-metrics>div+div { padding-left:30px; border-left:1px solid var(--rule); }
.coverage-metrics span { font-size:13px; color:var(--muted); }
.coverage-metrics strong { font-size:30px; line-height:1.25; font-weight:600; font-variant-numeric:tabular-nums; color:var(--ink); }
.coverage-metrics small { font-size:12px; color:var(--muted); }
.coverage-snapshot>p { margin:18px 0 0; font-size:11px; color:var(--muted); }
@media(max-width:480px) { .coverage-snapshot { padding:18px; }.coverage-metrics { gap:16px; }.coverage-metrics>div+div { padding-left:16px; }.coverage-metrics strong { font-size:24px; }.coverage-metrics span,.coverage-metrics small { font-size:11px; } }

.ein-verdict.neutral { border-top-color:var(--muted); }
.ein-verdict.neutral .ein-status-icon { color:var(--muted); }

/* Restore the live application's font roles without changing the approved layout.
   Keep --serif intact: state articles and the founder's Letter have their own fonts. */
#page:not(.letter-host):not(.editorial-page):not(.map-dir-page) :is(h1, h2),
.modal :is(h1, h2),
.context-value,
.hg-fact b,
.home-guide h3,
.error-number,
.quota-num strong,
.plan-price,
.order-details .total dd,
.reader-end h3 { font-family: var(--sans); }
.home-page h1,
.query-page .search-page-title h1,
.account-page :is(h1, h2),
.context-value,
.quota-num strong,
.plan-price,
.order-details .total dd { font-weight: 650; }
.home-page h2,
.home-guide h3,
.query-page h2 { font-weight: 600; }
.nav-link,
.lang-switch a,
.user-trigger { font-weight: 550; }
.lang-switch a.active { font-weight: 650; }

/* The live MAP directory uses system sans; individual state articles are separate. */
.map-dir-page {
  --map-font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;
  font-family: var(--map-font);
}
#page.map-dir-page :is(h1, h2, h3),
.map-dir-page .map-tooltip,
.map-dir-page .map-tooltip small,
.map-dir-page .directory-summary strong { font-family: var(--map-font); }
#page.map-dir-page :is(h1, h2, h3),
.map-dir-page .map-tooltip,
.map-dir-page .directory-summary strong { font-weight: 500; }
