/* Hallmark · macrostructure: Long Document · genre: modern-minimal · theme: 继承爱标书
 * nav: N1b（3–4 个真实目的地）· footer: Ft2 · motion: none · enrichment: 已有视频与二维码
 * 新增内容页专用，不改变获准首页；Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4
 * contrast: pass (40–41) · responsive: representative widths 320–1920 verified
 * slop: pass for new content surfaces; inherited Chinese fonts / homepage exempt by user direction. */
@import url('./tokens.css');
html:has(.search-page), body:has(.search-page) { overflow-x: clip; }
body:has(.search-page) { margin: 0; }
.search-page { background: var(--color-search-paper); color: var(--color-search-ink); min-height: 100dvh; font: var(--text-search-body)/1.85 var(--font-search-body); }
.search-page *, .search-page *::before, .search-page *::after { box-sizing: border-box; }
.search-page h1, .search-page h2, .search-page h3 { color: var(--color-search-ink); font-family: var(--font-search-display); font-style: normal; font-weight: 700; overflow-wrap: anywhere; min-width: 0; }
.search-page a { color: var(--color-search-accent); text-underline-offset: .22em; }
.search-page a:hover { text-decoration-thickness: 2px; }
.search-page a:active { text-decoration-style: double; }
.search-page a[aria-disabled="true"] { opacity: .55; cursor: not-allowed; pointer-events: none; }
.search-page a:focus-visible, .search-page video:focus-visible { outline: 3px solid var(--color-search-accent); outline-offset: 4px; }
.search-container { width: min(100% - 2rem, 1120px); margin-inline: auto; }
.search-skip { position: fixed; inset: 8px auto auto 8px; transform: translateY(-200%); background: var(--color-search-paper); padding: var(--space-search-sm); }
.search-skip:focus-visible { transform: none; z-index: 10; }
.search-nav { border-bottom: 1px solid var(--color-search-rule); }
.search-nav-inner { display: flex; gap: var(--space-search-sm); align-items: center; justify-content: space-between; min-height: 80px; flex-wrap: wrap; padding-block: var(--space-search-sm); }
.search-nav nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--space-search-sm); order: 3; width: 100%; }
.search-nav a, .search-footer a, .search-crumb a, .search-topic-nav a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; text-decoration: none; }
.search-nav nav a { color: var(--color-search-body); font-size: var(--text-search-small); }
.search-nav a:hover, .search-footer a:hover, .search-crumb a:hover, .search-topic-nav a:hover { text-decoration: underline; }
.search-nav .search-brand { color: var(--color-search-ink); display: inline-flex; gap: var(--space-search-xs); font-size: var(--text-search-heading); font-weight: 700; }
.search-brand img { display: block; }
.search-page .search-button { display: inline-flex; align-items: center; gap: var(--space-search-xs); min-height: 48px; padding: var(--space-search-xs) var(--space-search-button); border-radius: var(--radius-search); background: var(--color-search-peach); color: var(--color-search-accent-ink); font-weight: 700; text-decoration: none; white-space: nowrap; }
.search-button:hover { outline: 1px solid var(--color-search-ink); outline-offset: -1px; }
.search-crumb { display: flex; flex-wrap: wrap; gap: var(--space-search-xs); align-items: center; padding-top: var(--space-search-lg); font-size: var(--text-search-small); color: var(--color-search-body); }
.search-hero { max-width: 870px; padding-block: var(--space-search-md) var(--space-search-xl); }
.search-hero h1 { font-size: var(--text-search-display); line-height: 1.3; letter-spacing: -.025em; margin: 0 0 var(--space-search-md); text-wrap: balance; }
.search-hero > p { color: var(--color-search-body); font-size: var(--text-search-lead); margin: 0; max-width: 42em; }
.search-hero .search-meta { margin-top: var(--space-search-md); font-size: var(--text-search-small); font-variant-numeric: tabular-nums; }
.search-reading { max-width: 780px; }
.search-reading section { padding-block: var(--space-search-lg); scroll-margin-top: var(--space-search-lg); }
.search-reading h2, .search-related h2, .search-library h2, .search-contact h2, .search-next h2 { font-size: var(--text-search-heading); line-height: 1.5; margin: 0 0 var(--space-search-sm); }
.search-reading p, .search-reading ul { margin: 0 0 var(--space-search-sm); color: var(--color-search-body); }
.search-reading ul { padding-left: 1.4em; }
.search-reading li + li { margin-top: var(--space-search-xs); }
.search-topic-nav { display: flex; flex-wrap: wrap; gap: 0 var(--space-search-md); padding-bottom: var(--space-search-lg); border-bottom: 1px solid var(--color-search-rule); }
.search-library { max-width: 920px; padding-block: var(--space-search-lg); }
.search-library section { padding-block: var(--space-search-lg); scroll-margin-top: var(--space-search-lg); }
.search-resource-row { border-top: 1px solid var(--color-search-rule); padding-block: var(--space-search-md); }
.search-resource-row h3, .search-related h3 { font-size: var(--text-search-lead); line-height: 1.7; margin: 0; }
.search-resource-row p, .search-related p { color: var(--color-search-body); margin: var(--space-search-xs) 0; max-width: 46em; }
.search-text-link { display: inline-flex; min-height: 44px; align-items: center; gap: var(--space-search-xs); white-space: nowrap; }
.search-nav a, .search-footer a, .search-crumb a, .search-topic-nav a, .search-text-link, .search-page .search-button { line-height: 1; }
.search-related { max-width: 920px; border-top: 1px solid var(--color-search-rule); margin-top: var(--space-search-xl); padding-top: var(--space-search-xl); }
.search-related > div { padding-block: var(--space-search-sm); }
.search-video { margin: 0 0 var(--space-search-lg); }
.search-video video { display: block; width: 100%; height: auto; aspect-ratio: 16/9; background: var(--color-search-soft); border-radius: var(--radius-search); }
.search-video figcaption { color: var(--color-search-body); font-size: var(--text-search-small); margin-top: var(--space-search-xs); }
.search-contact { display: grid; gap: var(--space-search-md); grid-template-columns: minmax(0, 1fr); background: var(--color-search-soft); padding: var(--space-search-md); margin-block: var(--space-search-lg); border-radius: var(--radius-search); }
.search-contact p { color: var(--color-search-body); }
.search-contact figure { margin: 0; width: min(100%, 300px); }
.search-contact img { display: block; width: 100%; height: auto; }
.search-contact figcaption a { display: inline-flex; min-height: 44px; align-items: center; white-space: nowrap; }
.search-next { margin-top: var(--space-search-xl); padding-block: var(--space-search-xl) var(--space-search-3xl); }
.search-next p { color: var(--color-search-body); }
.search-next > a + a { margin-left: var(--space-search-sm); }
.search-footer { border-top: 1px solid var(--color-search-rule); padding-block: var(--space-search-lg); font-size: var(--text-search-small); }
.search-footer p { margin: 0; }
.search-footer nav { display: flex; flex-wrap: wrap; gap: 0 var(--space-search-md); }
.search-missing { padding-block: var(--space-search-3xl); min-height: 60dvh; }
.search-preview-note { margin: 0; padding: .5rem 1rem; background: var(--color-search-soft); color: var(--color-search-body); font: var(--text-search-small)/1.6 var(--font-search-body); }
@media (min-width: 48rem) {
  .search-container { width: min(100% - 4rem, 1120px); }
  .search-hero { padding-block: var(--space-search-xl) var(--space-search-2xl); }
  .search-contact { grid-template-columns: minmax(0, 1fr) 300px; align-items: center; padding: var(--space-search-xl); }
}
@media (min-width: 64rem) {
  .search-nav-inner { flex-wrap: nowrap; }
  .search-nav nav { width: auto; order: 0; gap: 0 var(--space-search-md); }
}
@media (prefers-reduced-motion: reduce) {
  .search-skip { transform: none; top: -12rem; }
  .search-skip:focus-visible { top: var(--space-search-xs); }
}
