/* Public datasets only. The homepage remains the authority for typography and tokens. */
.dataset-page {
  position: relative; isolation: isolate; color: var(--ink); background: transparent;
  /* Reference-image category fills, with darker companion colors for readable labels. */
  --dataset-affective-accent: #78b5ff; --dataset-affective-soft: #cce1ff; --dataset-affective-ink: #245b9c;
  --dataset-cognitive-accent: #a89aff; --dataset-cognitive-soft: #e0dbff; --dataset-cognitive-ink: #6251a8;
  --dataset-concern-accent: #78c1ff; --dataset-concern-soft: #e0f0ff; --dataset-concern-ink: #23668f;
  --dataset-safety-accent: #ffc477; --dataset-safety-soft: #fff6e8; --dataset-safety-ink: #965600;
}
.dataset-page [hidden] { display: none !important; }
/* One viewport-sized, clipped layer keeps the long catalog inexpensive to animate. */
.dataset-page .dataset-ambient { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: var(--paper); }
.dataset-page .dataset-ambient::before { content: ''; position: absolute; inset: -12%; background: radial-gradient(ellipse 65% 58% at 82% 18%, color-mix(in srgb, var(--blue) 12%, transparent), transparent 76%), radial-gradient(ellipse 65% 60% at 12% 76%, color-mix(in srgb, var(--purple) 8%, transparent), transparent 76%), radial-gradient(ellipse 55% 65% at 65% 90%, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 80%); animation: dataset-ambient-drift 30s ease-in-out infinite alternate; animation-play-state: paused; }
.dataset-page .dataset-ambient.is-running::before { animation-play-state: running; }
.dataset-page:has(.dataset-detail-dialog[open]) .dataset-ambient::before { animation-play-state: paused; }
@keyframes dataset-ambient-drift {
  from { transform: translate3d(-3%, -2%, 0) scale(1); opacity: .7; }
  to { transform: translate3d(3%, 3%, 0) scale(1.06); opacity: 1; }
}
/* Supplemental navigation uses one compact floating pattern at every viewport size. */
.dataset-page .dataset-scroll-nav { position: fixed; z-index: 35; top: auto; bottom: 20px; left: 12px; width: auto; color: var(--muted); font-size: var(--font-caption); line-height: 1.6; }
.dataset-page .scroll-nav-body { display: none; position: absolute; bottom: 54px; left: 0; width: 240px; max-height: min(60dvh, calc(100dvh - var(--nav-h) - 100px)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: var(--shadow-soft); }
.dataset-page .scroll-nav-group { border-top: 1px solid var(--line); }
.dataset-page .scroll-nav-all { display: block; width: 100%; min-height: 44px; padding: 8px 6px; background: var(--white); color: var(--muted); font: inherit; font-weight: 500; text-align: left; }
.dataset-page .scroll-nav-all[aria-pressed="true"], .dataset-page .scroll-nav-all:hover { color: var(--blue); background: var(--paper); }
.dataset-page .dataset-scroll-nav summary { display: flex; align-items: center; justify-content: space-between; gap: 4px; min-height: 44px; padding: 8px 6px; font-weight: 500; cursor: pointer; list-style: none; overflow-wrap: anywhere; }
.dataset-page .dataset-scroll-nav summary::-webkit-details-marker { display: none; }
.dataset-page .dataset-scroll-nav summary::after { content: ''; flex: 0 0 5px; width: 5px; height: 5px; margin-right: 2px; border: solid var(--muted); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.dataset-page .dataset-scroll-nav details[open] > summary::after { transform: rotate(225deg); }
.dataset-page .dataset-scroll-nav summary:hover, .dataset-page .scroll-nav-option:hover { background: var(--paper); }
.dataset-page .scroll-nav-group > summary { color: var(--muted); font-weight: 400; }
.dataset-page .scroll-nav-group > summary::before { content: ''; flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.dataset-page .scroll-nav-group.has-selection > summary { background: var(--paper); }
.dataset-page .scroll-nav-option { display: flex; align-items: flex-start; gap: 5px; padding: 10px 6px; min-height: 44px; cursor: pointer; overflow-wrap: anywhere; }
.dataset-page .scroll-nav-option input { flex: 0 0 13px; width: 13px; height: 13px; margin: 4px 0 0; accent-color: var(--blue); }
.dataset-page .scroll-nav-option span { min-width: 0; }
.dataset-page .scroll-nav-option:has(input:checked) { color: var(--blue); background: var(--paper); }
.dataset-page .scroll-nav-option:has(input:indeterminate) { color: var(--blue); }
.dataset-page .scroll-nav-options { padding-bottom: 4px; }
.dataset-page .scroll-nav-status { position: sticky; top: 0; z-index: 1; display: grid; gap: 4px; padding: 8px 6px; border-bottom: 1px solid var(--line); color: var(--muted); background: var(--white); font-size: var(--font-caption); }
.dataset-page .scroll-nav-status button { min-height: 36px; text-align: left; color: var(--blue); font: inherit; }
.dataset-page .scroll-nav-launcher { display: flex; gap: 6px; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--blue); background: var(--white); box-shadow: 0 8px 24px rgba(12, 55, 108, .08); font: inherit; }
.dataset-page .dataset-scroll-nav.is-expanded .scroll-nav-body { display: block; }
.dataset-page .dataset-scroll-nav summary, .dataset-page .scroll-nav-option, .dataset-page .scroll-nav-all { padding-inline: 12px; }
.dataset-page .result-row { scroll-margin-top: calc(var(--nav-h) + 12px); }
.dataset-page .dataset-scroll-nav :is(summary, button, input):focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
/* Match the framework hero's desktop scale without changing shared styles. */
.dataset-page .hero { min-height: 360px; display: block; padding: 64px 0 54px; overflow: visible; background: transparent; }
.dataset-page .hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 48px; align-items: center; min-height: 242px; }
.dataset-page .hero-copy { align-self: start; }
.dataset-page .hero .section-label { font-size: var(--font-caption); }
.dataset-page .hero-title { margin: 14px 0 0; font-family: 'Noto Sans SC', sans-serif; font-size: var(--font-hero); font-weight: 600; line-height: 1.1; letter-spacing: -.02em; }
.dataset-page .hero-lead { max-width: 720px; min-height: 3.7em; margin: 18px 0 0; color: var(--muted); font-size: var(--font-body); line-height: 1.85; }
.dataset-page .hero-facts { display: flex; flex-wrap: wrap; align-items: center; min-height: 34px; gap: 8px; margin-top: 24px; }
.dataset-page .hero-facts > div { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 7px 12px; border: 1px solid rgba(22, 119, 255, .16); border-radius: 999px; background: var(--white); }
.dataset-page .hero-facts strong { color: var(--blue); font-family: 'DM Sans', sans-serif; font-size: var(--font-title); line-height: 1; }
.dataset-page .hero-facts span { color: var(--muted); font-size: var(--font-caption); }
.dataset-page .distribution { display: flex; align-items: center; gap: 28px; padding: 24px 28px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.dataset-page .donut-wrap { position: relative; width: 124px; height: 124px; flex: 0 0 124px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; }
.dataset-page .category-donut { display: block; position: relative; width: 100%; height: 100%; border-radius: 50%; background: var(--blue); }
.dataset-page .category-donut::after { content: ''; position: absolute; inset: 18px; border-radius: 50%; background: var(--white); }
.dataset-page .donut-center { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.dataset-page .donut-center b { font: 600 var(--font-title)/1 'DM Sans', sans-serif; }
.dataset-page .donut-center span { margin-top: 8px; color: var(--muted); font-size: var(--font-caption); }
.dataset-page .donut-legend { display: grid; gap: 10px; flex: 1; min-width: 0; }
.dataset-page .legend-item { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: var(--font-caption); color: var(--muted); }
.dataset-page .legend-item b { color: var(--ink); }
.dataset-page .legend-item i, .dataset-page .category-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; background: var(--accent, var(--blue)); }

.dataset-page .browser-section { padding: 24px 0 64px; border-top: 0; background: transparent; }
.dataset-page .section-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 16px; }
.dataset-page .section-heading .section-title { margin: 0; font-size: var(--font-title); line-height: 1.4; letter-spacing: 0; }
.dataset-page .section-heading > p { margin: 0; font-size: var(--font-caption); line-height: 1.6; }
.dataset-page #categories, .dataset-page #browser, .dataset-page #tasks { scroll-margin-top: calc(var(--nav-h) + 20px); }
.dataset-page .dataset-classification { position: static; display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 4fr); gap: 16px; align-items: stretch; margin-bottom: 12px; }
.dataset-page .dataset-parent-row { display: flex; align-items: stretch; margin: 0; }
.dataset-page .dataset-parent { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: center; align-items: center; gap: 8px 12px; width: 100%; min-height: 90px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); color: var(--ink); font-size: var(--font-body); font-weight: 600; text-align: left; }
.dataset-page .dataset-parent b { font: 600 var(--font-display)/1 'DM Sans', sans-serif; }
.dataset-page .dataset-parent.is-active { background: var(--white); color: var(--ink); border-color: var(--line); box-shadow: inset 0 0 0 1px var(--line); }
.dataset-page .dataset-parent-note { grid-column: 1 / -1; font-size: var(--font-caption); font-weight: 400; color: var(--muted); }
.dataset-page .category-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0 0 0 16px; border-left: 1px solid var(--line); }
.dataset-page .category-card { position: relative; min-width: 0; min-height: 90px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); color: var(--ink); text-align: left; transition: border-color .2s var(--ease); }
.dataset-page .category-card-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.dataset-page .category-identity { display: flex; align-items: center; gap: 8px; font-size: var(--font-body); font-weight: 600; }
.dataset-page .category-card strong { color: var(--category-ink); font: 600 var(--font-display)/1 'DM Sans', sans-serif; }
.dataset-page .category-card small { display: block; margin-top: 6px; color: var(--muted); font-size: var(--font-caption); }
.dataset-page .category-card:hover { border-color: var(--category-ink); }
.dataset-page .category-card.is-active::after { content: ''; position: absolute; right: 16px; bottom: 16px; width: 6px; height: 10px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.dataset-page .category-card .category-identity { color: var(--category-ink); }

.dataset-page .browser-panel { margin: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.dataset-page .dataset-task-row { padding: 10px 20px 12px; border-bottom: 1px solid var(--line); }
.dataset-page .dataset-task-row > p { margin: 10px 0 0; color: var(--muted); font-size: var(--font-caption); line-height: 1.6; }
.dataset-page .task-picker-toggle { box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-width: 0; min-height: 48px; padding: 12px 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); color: var(--ink); font: inherit; font-size: var(--font-body); line-height: 1.5; text-align: left; transition: border-color .18s var(--ease), background .18s var(--ease); }
.dataset-page .task-picker-toggle:hover, .dataset-page .task-picker-toggle[aria-expanded="true"] { border-color: var(--blue); background: var(--paper); }
.dataset-page .task-picker-toggle svg { flex-shrink: 0; color: var(--muted); transition: transform .18s var(--ease); }
.dataset-page .task-picker-toggle > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dataset-page .task-picker-toggle[aria-expanded="true"] svg { transform: rotate(180deg); color: var(--blue); }
.dataset-page .task-control { position: relative; }
.dataset-page .task-picker-panel { position: absolute; z-index: 20; top: calc(100% + 8px); left: 0; width: min(380px, calc(100vw - 64px)); min-width: 0; padding: 6px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); box-shadow: var(--shadow-soft); overflow: hidden; }
.dataset-page .task-picker-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 10px 12px; border-bottom: 1px solid var(--line); font-size: var(--font-body); font-weight: 600; }
.dataset-page .task-picker-panel.is-root-level .task-picker-heading { display: none; }
.dataset-page .task-picker-heading span:last-child { color: var(--muted); font-size: var(--font-caption); font-weight: 400; }
.dataset-page .task-picker-options { max-height: min(360px, 55dvh); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 6px; }
.dataset-page .task-picker-group { margin-top: 8px; }
.dataset-page .task-picker-group-title { padding: 6px 10px; margin: 0 0 4px; border-bottom: 1px solid var(--category-soft); background: var(--category-soft); color: var(--category-ink); font-size: var(--font-caption); font-weight: 600; }
.dataset-page .task-picker-items { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
.dataset-page .task-picker-option { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; align-items: center; gap: 8px; width: 100%; min-height: 40px; padding: 8px 10px; border: 0; border-radius: 6px; background: var(--white); color: var(--ink); font: inherit; font-size: var(--font-body); line-height: 1.5; text-align: left; }
.dataset-page .task-picker-option:hover { background: var(--paper); }
.dataset-page .task-picker-option[aria-pressed="true"] { background: var(--paper); color: var(--blue); font-weight: 600; }
.dataset-page .task-picker-check { width: 16px; height: 16px; border: 1px solid var(--line); border-radius: 4px; }
.dataset-page .task-picker-option[aria-pressed="true"] .task-picker-check { position: relative; border-color: var(--blue); background: var(--blue); }
.dataset-page .task-picker-option[aria-pressed="true"] .task-picker-check::after { content: ''; position: absolute; left: 4px; top: 2px; width: 5px; height: 8px; border: solid var(--white); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.dataset-page .task-picker-all-option { grid-template-columns: minmax(0, 1fr) auto; min-height: 44px; border-radius: 6px 6px 0 0; border-bottom: 1px solid var(--line); background: var(--paper); color: var(--blue); font-weight: 600; }
.dataset-page .task-picker-all-option .task-picker-check { display: none; }
.dataset-page .task-picker-category-option, .dataset-page .task-picker-back { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto 14px; align-items: center; gap: 10px; width: 100%; min-height: 46px; padding: 9px 10px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); font: inherit; font-size: var(--font-body); line-height: 1.5; text-align: left; }
.dataset-page .task-picker-category-option:last-child { border-bottom: 0; border-radius: 0 0 6px 6px; }
.dataset-page .task-picker-category-option:hover, .dataset-page .task-picker-category-option[aria-pressed="true"], .dataset-page .task-picker-back:hover { background: var(--paper); }
.dataset-page .task-picker-category-option[aria-pressed="true"] { color: var(--category-ink); font-weight: 600; }
.dataset-page .task-picker-category-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--category-color); }
.dataset-page .task-picker-category-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--category-ink); }
.dataset-page .task-picker-category-meta { color: var(--muted); font-size: var(--font-caption); white-space: nowrap; }
.dataset-page .task-picker-category-arrow { width: 7px; height: 7px; margin: -3px 2px 0 0; border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted); transform: rotate(45deg); }
.dataset-page .task-picker-back { grid-template-columns: 16px minmax(0, 1fr); color: var(--blue); font-weight: 600; }
.dataset-page .task-picker-back::before { content: '‹'; font-size: var(--font-title); line-height: 1; }
.dataset-page .task-picker-name { overflow-wrap: anywhere; }
.dataset-page .task-picker-number { color: var(--muted); font-size: var(--font-caption); font-weight: 400; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dataset-page .browser-toolbar { display: grid; grid-template-columns: 176px 140px minmax(220px, 1fr) 44px; gap: 12px; align-items: end; padding: 0; border: 0; }
.dataset-page .search-box { display: flex; align-items: center; gap: 12px; height: 48px; min-width: 0; padding: 0 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); color: var(--muted); }
.dataset-page .search-box input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: var(--font-body); }
.dataset-page .search-box input::placeholder { color: var(--muted); opacity: 1; }
.dataset-page .search-symbol { position: relative; flex: 0 0 15px; width: 15px; height: 15px; border: 2px solid var(--muted); border-radius: 50%; }
.dataset-page .search-symbol::after { content: ''; position: absolute; right: -5px; bottom: -3px; width: 6px; height: 2px; background: var(--muted); transform: rotate(45deg); }
.dataset-page .search-box kbd { padding: 0 6px; border: 1px solid var(--line); border-radius: 4px; font-size: var(--font-caption); }
.dataset-page .select-control { display: grid; min-width: 0; gap: 7px; color: var(--muted); font-size: var(--font-caption); }
.dataset-page .sort-control { position: relative; }
.dataset-page .sort-picker-toggle { gap: 8px; padding-inline: 12px; }
.dataset-page .sort-picker-panel { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; width: max(100%, 176px); padding: 6px; border-radius: var(--radius-sm); background: var(--white); box-shadow: var(--shadow-soft); }
.dataset-page .sort-picker-option { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 6px; color: var(--ink); background: var(--white); font: inherit; font-size: var(--font-body); line-height: 1.5; text-align: left; }
.dataset-page .sort-picker-option + .sort-picker-option { margin-top: 4px; }
.dataset-page .sort-picker-option:hover { background: var(--paper); }
.dataset-page .sort-picker-option[aria-pressed="true"] { color: var(--blue); background: var(--paper); font-weight: 600; }
.dataset-page .sort-picker-check { width: 6px; height: 10px; margin-right: 4px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); visibility: hidden; }
.dataset-page .sort-picker-option[aria-pressed="true"] .sort-picker-check { visibility: visible; }
.dataset-page select { width: 100%; min-width: 0; height: 48px; padding: 0 34px 0 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); color: var(--ink); font: inherit; font-size: var(--font-body); }
.dataset-page select:disabled { color: var(--muted); background: var(--paper); cursor: not-allowed; opacity: 1; }
.dataset-page .clear-button { display: grid; place-items: center; width: 44px; height: 48px; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--muted); background: var(--white); font-size: var(--font-title); }
.dataset-page .clear-button:hover, .dataset-page .dataset-parent:hover { border-color: var(--blue); }
.dataset-page .active-filter-row { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 20px 0; }
.dataset-page .active-filter-row:empty { display: none; }
.dataset-page .filter-chip { min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--paper); color: var(--blue); font-size: var(--font-caption); }
.dataset-page .filter-chip:hover { border-color: var(--blue); }
.dataset-page .result-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 12px 20px; color: var(--blue); font-size: var(--font-caption); }
.dataset-page .view-hint { color: var(--muted); font-size: var(--font-caption); }
.dataset-page .entry-list { display: grid; gap: 0; padding: 0 20px 8px; }
.dataset-page .entry-card { min-width: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: var(--white); }
.dataset-page .entry-card:hover { background: var(--paper); }
.dataset-page .entry-head { width: 100%; display: grid; grid-template-columns: 32px minmax(0, 1fr) 16px; gap: 8px 12px; align-items: start; padding: 16px 4px; border-radius: inherit; color: var(--ink); text-align: left; }
.dataset-page .entry-index { display: grid; place-items: center; width: 32px; min-height: 28px; color: var(--muted); font: 500 var(--font-caption)/1 'DM Sans', sans-serif; }
.dataset-page .entry-title { min-width: 0; }
.dataset-page .entry-title b { display: block; overflow-wrap: anywhere; font-size: var(--font-title); font-weight: 600; line-height: 1.4; }
.dataset-page .entry-title small { display: block; margin-top: 4px; color: var(--muted); font-size: var(--font-body); font-weight: 400; line-height: 1.6; overflow-wrap: anywhere; }
.dataset-page .search-highlight { padding: 0 2px; border-radius: 3px; background: #ffe7a3; color: var(--ink); box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.dataset-page .entry-title .entry-search-context { margin-top: 8px; padding: 6px 8px; border-left: 2px solid var(--blue); border-radius: 0 6px 6px 0; background: var(--paper); color: var(--muted); font-size: var(--font-caption); }
.dataset-page .entry-search-label { margin-right: 8px; color: var(--blue); font-weight: 600; white-space: nowrap; }
.dataset-page .entry-tags { display: flex; flex-wrap: wrap; gap: 8px; grid-row: 2; grid-column: 2 / -1; justify-content: flex-start; padding-left: 0; }
.dataset-page .entry-tag { max-width: 100%; padding: 2px 8px; border-radius: 6px; background: var(--paper); color: var(--muted); font-size: var(--font-caption); line-height: 1.6; overflow-wrap: anywhere; }
.dataset-page .category-tag { color: var(--category-ink); background: var(--category-soft); }
.dataset-page .entry-chevron { width: 16px; height: 16px; grid-row: 1; grid-column: 3; position: relative; color: var(--blue); }
.dataset-page .entry-chevron::before { content: ''; position: absolute; top: 4px; left: 2px; width: 7px; height: 7px; border-right: 2px solid currentColor; border-top: 2px solid currentColor; transform: rotate(45deg); }
.dataset-page .no-results { display: grid; gap: 12px; padding: 48px 24px; color: var(--muted); text-align: center; }
.dataset-page .no-results b { font-size: var(--font-title); color: var(--ink); }
.dataset-page .no-results span { font-size: var(--font-body); }
.dataset-page .load-error { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); color: var(--ink); }
.dataset-page :where(button, select, a, [tabindex]):focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.dataset-page .search-box:focus-within { outline: 2px solid var(--blue); outline-offset: 3px; }

/* Native top layer, independent content scrolling, and a stationary close button. */
.dataset-page .dataset-detail-dialog { width: min(1240px, calc(100% - 64px)); max-width: none; height: min(900px, calc(100dvh - 64px)); max-height: none; padding: 0; margin: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); color: var(--ink); background: var(--white); box-shadow: var(--shadow-soft); overflow: hidden; opacity: 0; transform: translateY(12px); transition: opacity 180ms var(--ease), transform 180ms var(--ease); }
.dataset-page .dataset-detail-dialog[open] { display: flex; flex-direction: column; }
.dataset-page .dataset-detail-dialog.is-visible { opacity: 1; transform: translateY(0); }
.dataset-page .dataset-detail-dialog::backdrop { background: rgb(0 0 0 / 0); transition: background-color 180ms var(--ease); }
.dataset-page .dataset-detail-dialog.is-visible::backdrop { background: rgb(0 0 0 / .58); }
.dataset-page .dataset-detail-header { position: relative; flex: 0 0 auto; display: flex; align-items: flex-start; gap: 24px; padding: 24px 32px; border-bottom: 1px solid var(--line); }
.dataset-page .dataset-detail-header > div { flex: 1; min-width: 0; max-height: 22dvh; overflow: auto; }
.dataset-page .detail-eyebrow { display: inline-flex; max-width: 100%; padding: 6px 10px; border: 1px solid var(--accent); border-radius: 999px; background: var(--category-soft); color: var(--category-ink); font-size: var(--font-caption); font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.dataset-page .dataset-detail-header h2 { margin-top: 8px; font-size: var(--font-display); line-height: 1.3; overflow-wrap: anywhere; }
.dataset-page .dataset-detail-close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--paper); color: var(--ink); }
.dataset-page .dataset-detail-close:hover { color: var(--blue); border-color: var(--blue); }
.dataset-page .dataset-detail-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); flex: 1; min-height: 0; }
.dataset-page .dataset-detail-nav { display: grid; grid-template-rows: repeat(10, minmax(0, 1fr)); gap: 8px; padding: 16px; overflow: hidden; overscroll-behavior: contain; border-right: 1px solid var(--line); background: var(--paper); }
.dataset-page .section-nav-button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 0; padding: 10px 12px; margin: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--muted); text-align: left; font-size: var(--font-body); line-height: 1.4; }
.dataset-page .section-nav-button b { font: 600 var(--font-caption)/1.5 'DM Sans', sans-serif; }
.dataset-page .section-nav-button.is-active { background: var(--white); color: var(--blue); }
.dataset-page .section-nav-button:hover { color: var(--blue); }
.dataset-page .dataset-detail-main { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.dataset-page .dataset-detail-jump { display: none; }
.dataset-page .dataset-detail-scroll { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 28px 32px 40px; scrollbar-gutter: stable; }
.dataset-page .dataset-detail-scroll:focus-visible { outline-offset: -3px; }
.dataset-page .dataset-detail-section + .dataset-detail-section { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--line); }
.dataset-page .dataset-detail-section > h3 { margin-bottom: 20px; font-size: var(--font-title); line-height: 1.4; overflow-wrap: anywhere; }
.dataset-page .entry-panel { min-width: 0; color: var(--ink); font-size: var(--font-body); line-height: 1.8; }
.dataset-page .entry-panel p { margin: 12px 0; overflow-wrap: anywhere; }
.dataset-page .entry-panel ul, .dataset-page .entry-panel ol { margin: 12px 0; padding-left: 24px; }
.dataset-page .entry-panel ul { list-style: disc; }
.dataset-page .entry-panel li { overflow-wrap: anywhere; }
.dataset-page .entry-panel li + li { margin-top: 8px; }
.dataset-page .entry-panel h5 { margin: 24px 0 12px; font-size: var(--font-body); line-height: 1.5; }
.dataset-page .entry-panel a { color: var(--blue); overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
.dataset-page .entry-panel a:hover { color: var(--ink); }
.dataset-page .entry-panel blockquote { margin: 16px 0; padding: 16px 20px; background: var(--paper); border-radius: var(--radius-sm); color: var(--muted); }
.dataset-page .entry-panel pre { max-width: 100%; margin: 16px 0; padding: 20px; overflow: auto; border-radius: var(--radius-sm); background: var(--navy); color: var(--white); line-height: 1.7; }
.dataset-page .entry-panel pre code { padding: 0; background: transparent; color: inherit; white-space: pre; }
.dataset-page .table-scroll { width: 100%; min-width: 0; max-width: 100%; margin: 16px 0; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.dataset-page .entry-panel table { width: max-content; min-width: 100%; border-collapse: collapse; font-size: var(--font-body); line-height: 1.7; color: var(--ink); }
.dataset-page .entry-panel th, .dataset-page .entry-panel td { min-width: 110px; max-width: 360px; padding: 12px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; }
.dataset-page .entry-panel tr > :last-child { border-right: 0; }
.dataset-page .entry-panel tr:last-child > td { border-bottom: 0; }
.dataset-page .entry-panel th, .dataset-page .entry-panel thead td { background: var(--paper); font-weight: 600; }
.dataset-page .entry-panel td p, .dataset-page .entry-panel th p { margin: 0; }
.dataset-page .entry-panel.is-source-section { display: grid; gap: 24px; }
.dataset-page .source-resource-block, .dataset-page .source-method-body { min-width: 0; }
.dataset-page .source-resource-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; }
.dataset-page .entry-panel .source-resource-link { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); text-decoration: none; }
.dataset-page .source-resource-link strong { font-size: var(--font-body); overflow-wrap: anywhere; }
.dataset-page .source-resource-link small { font-size: var(--font-caption); color: var(--muted); overflow-wrap: anywhere; }
.dataset-page .entry-panel .source-resource-link:hover { border-color: var(--blue); background: var(--paper); }
.dataset-page .align-right { text-align: right; }
.dataset-page .doc-image { display: block; max-width: 100%; height: auto; margin: 16px 0; border-radius: var(--radius-sm); }
.dataset-page .empty-section { color: var(--muted); }

@media (min-width: 1600px) {
  .dataset-page .section-shell { width: min(1480px, calc(100% - 96px)); }
  .dataset-page .hero { min-height: 390px; padding: 72px 0 60px; }
  .dataset-page .hero-grid { grid-template-columns: minmax(0, 1fr) 480px; gap: 88px; min-height: 258px; }
  .dataset-page .distribution { gap: 30px; padding: 24px 28px; }
  .dataset-page .browser-section { padding: 36px 0 80px; }
  .dataset-page .section-heading { gap: 10px 24px; margin-bottom: 20px; }
  .dataset-page .dataset-classification { grid-template-columns: 240px minmax(0, 1fr); gap: 20px; margin-bottom: 16px; }
  .dataset-page .category-stats { gap: 14px; padding-left: 20px; }
  .dataset-page .dataset-parent, .dataset-page .category-card { min-height: 104px; padding: 20px 22px; }
  .dataset-page .browser-panel { border-radius: var(--radius-lg); }
  .dataset-page .dataset-task-row { padding: 16px 24px 18px; }
  .dataset-page .browser-toolbar { grid-template-columns: 184px 160px minmax(280px, 1fr) 48px; gap: 16px; }
  .dataset-page .task-picker-toggle { min-height: 52px; }
  .dataset-page .search-box { height: 52px; padding-inline: 16px; }
  .dataset-page .clear-button { width: 48px; height: 52px; }
  .dataset-page .active-filter-row { padding: 16px 28px 0; }
  .dataset-page .result-row { padding: 16px 28px; }
  .dataset-page .entry-list { padding: 0 28px 12px; }
  .dataset-page .entry-head { grid-template-columns: 36px minmax(0, 1fr) 18px; gap: 10px 16px; padding: 20px 8px; }
  .dataset-page .entry-index { width: 36px; }
  .dataset-page .entry-title b { font-size: var(--font-title); }
}

@media (max-width: 1000px) {
  .dataset-page .distribution { gap: 16px; padding: 16px; }
  .dataset-page .category-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dataset-page .browser-toolbar { grid-template-columns: minmax(0, 1fr) 140px 44px; }
  .dataset-page .task-control { grid-column: 1; grid-row: 1; }
  .dataset-page .sort-control { grid-column: 2; grid-row: 1; }
  .dataset-page .clear-button { grid-column: 3; grid-row: 1; }
  .dataset-page .search-box { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .dataset-page .hero { min-height: 0; }
  .dataset-page .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; min-height: 0; }
  .dataset-page .hero-lead { min-height: 0; }
}
@media (max-width: 760px) {
  .dataset-page .hero-facts { gap: 8px; }
  .dataset-page .distribution { max-width: 540px; gap: 16px; padding: 16px; }
  .dataset-page .donut-wrap { width: 96px; height: 96px; flex: 0 0 96px; }
  .dataset-page .category-donut::after { inset: 14px; }
  .dataset-page .donut-legend { gap: 8px; }
  .dataset-page .browser-section { padding: 20px 0 48px; }
  .dataset-page .dataset-classification { display: block; }
  .dataset-page .dataset-parent-row { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 10px; }
  .dataset-page .category-stats { margin-left: 8px; padding: 10px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .dataset-page .task-picker-options { padding: 8px; }
  .dataset-page .task-picker-option { padding: 8px; gap: 8px; }
  .dataset-page .dataset-detail-dialog { width: calc(100% - 24px); height: calc(100dvh - 24px); border-radius: var(--radius); }
  .dataset-page .dataset-detail-header { padding: 20px; gap: 12px; }
  .dataset-page .dataset-detail-layout { grid-template-columns: minmax(0, 1fr); }
  .dataset-page .dataset-detail-nav { display: none; }
  .dataset-page .dataset-detail-jump { display: flex; align-items: center; gap: 12px; padding: 12px 20px; border-bottom: 1px solid var(--line); font-size: var(--font-body); color: var(--muted); white-space: nowrap; }
  .dataset-page .dataset-detail-jump select { flex: 1; }
  .dataset-page .dataset-detail-scroll { padding: 24px 20px 32px; }
}
@media (max-width: 600px) {
  .dataset-page .hero { padding-top: 40px; }
  .dataset-page .hero-title { font-size: var(--font-hero); }
  .dataset-page .hero-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .dataset-page .hero-facts > div { justify-content: center; gap: 8px; }
  .dataset-page .hero-facts strong { font-size: var(--font-title); }
  .dataset-page .hero-facts span { font-size: var(--font-caption); }
  .dataset-page .section-heading .section-title { font-size: var(--font-title); }
  .dataset-page .category-stats { margin-left: 8px; gap: 8px; }
  .dataset-page .category-card { padding: 12px; }
  .dataset-page .category-card-top { gap: 6px; }
  .dataset-page .category-identity { gap: 6px; font-size: var(--font-body); }
  .dataset-page .category-card strong { font-size: var(--font-display); }
  .dataset-page .category-card small { font-size: var(--font-caption); }
  .dataset-page .dataset-parent-note { font-size: var(--font-caption); }
  .dataset-page .dataset-task-row { padding: 10px 12px 12px; }
  .dataset-page .browser-toolbar { grid-template-columns: minmax(0, 1fr) 44px; gap: 10px; }
  .dataset-page .task-control { grid-column: 1 / -1; grid-row: 1; }
  .dataset-page .sort-control { grid-column: 1; grid-row: 2; }
  .dataset-page .clear-button { grid-column: 2; grid-row: 2; }
  .dataset-page .search-box { grid-column: 1 / -1; grid-row: 3; }
  .dataset-page .search-box kbd { display: none; }
  .dataset-page .search-box input, .dataset-page select { font-size: var(--font-body); }
  .dataset-page .active-filter-row { padding: 12px 12px 0; }
  .dataset-page .result-row { padding: 12px; }
  .dataset-page .view-hint { width: 100%; }
  .dataset-page .entry-list { padding: 0 12px 8px; }
  .dataset-page .entry-head { grid-template-columns: 24px minmax(0, 1fr) 16px; gap: 8px; padding: 16px 0; }
  .dataset-page .entry-index { width: 24px; min-height: 28px; font-size: var(--font-caption); }
  .dataset-page .entry-title { grid-column: 2; grid-row: 1; }
  .dataset-page .entry-tags { grid-column: 2 / -1; grid-row: 2; }
  .dataset-page .entry-chevron { grid-row: 1; }
  .dataset-page .dataset-detail-header { padding: 16px; }
  .dataset-page .dataset-detail-jump { padding: 10px 16px; }
  .dataset-page .dataset-detail-scroll { padding: 20px 16px 32px; }
}
@media (max-width: 600px) {
  .dataset-page .dataset-parent b, .dataset-page .category-card strong { font-size: var(--font-title); }
}
@media (prefers-reduced-motion: reduce) {
  .dataset-page *, .dataset-page *::before, .dataset-page *::after, .dataset-page .dataset-detail-dialog::backdrop { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
