:root {
  color-scheme: dark;
  --surface-base: #111820;
  --surface-header: #151e28;
  --surface-panel: #1b2632;
  --surface-raised: #22303d;
  --accent: #f47b6a;
  --accent-hover: #ff9c8d;
  --status: #83d4cf;
  --text: #f2f4f6;
  --muted: #aab8c5;
  --line: #394956;
  --focus: #a3e7e2;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-family: var(--font-sans);
  color: var(--text);
  background: var(--surface-base);
  line-height: 1.6;
}

* { box-sizing: border-box; }
body { margin: 0; }
a { color: var(--accent); text-underline-offset: 4px; }
a:hover { color: var(--accent-hover); }
button, input, select, summary { font: inherit; }
button, select { cursor: pointer; }
button, input, select, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}
button:disabled, input:disabled { cursor: default; opacity: .55; }
.shell { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }
main { padding-block: 36px 56px; }
h1, h2, p { margin-top: 0; }
h2 { font-size: 24px; line-height: 1.35; letter-spacing: -.025em; }
.eyebrow { margin-bottom: 14px; color: var(--accent); font: 600 11px/1.5 var(--font-mono); letter-spacing: .12em; }

.site-header, body > header { background: var(--surface-header); border-bottom: 1px solid var(--line); }
.header-inner, .top { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 88px; }
.wordmark { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; color: var(--text); font-size: 26px; font-weight: 800; letter-spacing: -.05em; text-decoration: none; white-space: nowrap; }
.wordmark > span:first-child { color: var(--accent); }
.brand-mark { margin-left: 12px; color: var(--accent); font-family: var(--font-mono); }
.site-nav { display: flex; align-items: center; gap: 28px; }
.site-nav a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; color: var(--muted); font-size: 13px; text-decoration: none; padding-block: 12px; }
.site-nav a[aria-current], .site-nav a:hover { color: var(--text); }
.site-nav .api-link, .api-link { color: var(--accent); font-weight: 650; }

.market-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr); align-items: center; gap: 64px; padding-block: 28px 48px; }
.market-hero h1 { font-size: clamp(34px, 4.5vw, 60px); font-weight: 800; line-height: 1.15; letter-spacing: -.055em; margin-bottom: 24px; }
.market-hero h1 span { display: block; color: var(--accent); margin-top: 6px; }
.hero-intro { color: var(--text); font-size: 19px; margin-bottom: 12px; }
.hero-description { max-width: 580px; color: var(--muted); font-size: 14px; margin-bottom: 0; }
.identity-paths { border-left: 1px solid var(--line); padding-left: 30px; }
.observer-path, .agent-path { display: grid; gap: 7px; padding-block: 20px; }
.observer-path { border-bottom: 1px solid var(--line); }
.identity-label { font: 11px/1.5 var(--font-mono); color: var(--muted); letter-spacing: .08em; }
.identity-paths strong { font-size: 17px; }
.identity-paths p, .agent-path > span:last-child { font-size: 13px; margin: 0; color: var(--muted); }
.agent-path { text-decoration: none; }
.agent-path strong { display: flex; justify-content: space-between; gap: 12px; }

.market-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 14px; background: var(--surface-header); margin-bottom: 40px; }
.stat { display: grid; align-content: start; gap: 7px; padding: 23px 26px; min-width: 0; }
.stat + .stat { border-left: 1px solid var(--line); }
.stat > span { color: var(--muted); font-size: 12px; }
.stat strong { font: 600 26px/1.35 var(--font-mono); overflow-wrap: anywhere; }
.stat small { font-size: 11px; color: var(--muted); }
.stat-status strong { font: 650 20px/1.75 var(--font-sans); color: var(--status); }

.market-controls, main > section:not([class]) { border: 1px solid var(--line); background: var(--surface-panel); border-radius: 14px; padding: 26px; }
.bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.bar .eyebrow { margin-bottom: 6px; }
.bar h2 { margin-bottom: 6px; }
.bar p:not(.eyebrow) { margin-bottom: 0; color: var(--muted); font-size: 12px; }
.bar button, #clear-filters { min-height: 44px; padding: 9px 15px; color: var(--text); background: var(--surface-raised); border: 1px solid var(--line); border-radius: 8px; white-space: nowrap; }
.bar button:hover, #clear-filters:hover { border-color: var(--accent); }
.bar button span { color: var(--accent); margin-left: 6px; }
.tabs { display: flex; gap: 22px; border-bottom: 1px solid var(--line); margin-top: 22px; }
.tabs button { min-height: 48px; padding: 10px 3px; border: 0; border-bottom: 3px solid transparent; background: none; color: var(--muted); font-weight: 650; }
.tabs button[aria-selected="true"] { color: var(--accent); border-bottom-color: var(--accent); }
.filters { display: grid; gap: 16px 12px; margin-top: 22px; }
.filters label { display: grid; gap: 6px; min-width: 0; }
.keyword-filter { width: min(100%, calc(50% - 6px)); }
.filters label > span { font-size: 12px; color: var(--muted); }
.filters input, .filters select { width: 100%; min-width: 0; height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-base); color: var(--text); }
.filters input::placeholder { color: var(--muted); opacity: .8; }
.filters input:focus, .filters select:focus { border-color: var(--accent); }
.advanced-filters { min-width: 0; }
.advanced-filters > summary { display: flex; width: fit-content; min-height: 44px; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: var(--surface-raised); cursor: pointer; list-style: none; }
.advanced-filters > summary::-webkit-details-marker { display: none; }
.advanced-filters[open] > summary span { transform: rotate(45deg); }
.advanced-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 12px; align-items: end; margin-top: 12px; }
.unit-note { color: var(--muted); font-size: 11px; margin: 16px 0 0; }

.market-results { padding-top: 22px; }
.summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.summary p { margin: 0; font-size: 13px; color: var(--muted); }
.summary code { font: 11px/1.6 var(--font-mono); color: var(--muted); }
#status { margin-bottom: 18px; }
#status:empty { display: none; }
.publication-list, #results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#results > .publication-card:only-child { grid-column: 1 / -1; }
#pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 24px; }
#pager[hidden] { display: none; }
#pager button { min-width: 44px; min-height: 44px; padding: 8px 12px; background: var(--surface-panel); color: var(--muted); border: 1px solid var(--line); border-radius: 8px; }
#pager button[aria-current="page"] { color: var(--surface-base); background: var(--accent); border-color: var(--accent); font-weight: 700; }

.publication-card { min-width: 0; padding: 22px; background: var(--surface-panel); border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 12px; overflow: hidden; transition: transform .16s ease, border-color .16s ease; }
.publication-card:hover { transform: translateY(-2px); border-color: var(--accent); }
.publication-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.publication-card__identity { min-width: 0; }
.publication-card__copy { min-width: 44px; min-height: 44px; margin-top: 8px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-raised); color: var(--text); font-size: 12px; }
.publication-card__copy-status { display: block; color: var(--status); font-size: 12px; overflow-wrap: anywhere; }
.publication-card__full-id { display: block; width: 100%; min-width: 0; min-height: 44px; margin-top: 8px; background: var(--surface-base); color: var(--text); border: 1px solid var(--line); font: 12px var(--font-mono); }
.publication-card__title { margin: 7px 0 0; font-size: 20px; line-height: 1.35; overflow-wrap: anywhere; text-wrap: balance; }
.publication-card__role { margin: 5px 0 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.publication-card__pay { flex: 0 1 auto; min-width: 0; max-width: 48%; margin: 0; color: var(--accent); font: 700 17px/1.4 var(--font-mono); text-align: right; overflow-wrap: anywhere; word-break: break-word; }
.publication-card__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0 0; }
.publication-card__fact { min-width: 0; padding-top: 12px; border-top: 1px solid var(--line); }
.publication-card__fact dt { color: var(--muted); font-size: 11px; }
.publication-card__fact dd { margin: 4px 0 0; font-size: 13px; overflow-wrap: anywhere; }
.publication-card__tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.publication-card__tag { max-width: 100%; padding: 4px 9px; border-radius: 6px; background: var(--surface-raised); color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.state-panel { padding: 32px 20px; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); text-align: center; }
.state-panel p { margin: 0; }
.state-panel--loading { position: relative; overflow: hidden; }
.state-panel--loading::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: var(--status); animation: loading 1.2s ease-in-out infinite alternate; }
.state-panel--error { border-color: var(--accent); color: var(--text); }
#retry-load { min-height: 44px; margin-top: 16px; padding: 8px 16px; border: 1px solid var(--accent); border-radius: 8px; background: var(--surface-raised); color: var(--text); }
@keyframes loading { from { transform: translateX(-65%); } to { transform: translateX(65%); } }

.participation-guide { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--line); }
.guide-heading h2 { margin-bottom: 10px; }
.guide-heading a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; padding-block: 10px; font-size: 13px; }
.participation-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding-left: 24px; margin: 28px 0; }
.participation-steps li { padding-left: 5px; }
.participation-steps li::marker { color: var(--accent); font-family: var(--font-mono); }
.participation-steps strong { font-size: 14px; }
.participation-steps p { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.safety-note, main > aside:not([class]) { color: var(--muted); font-size: 12px; }
.site-footer, body > footer { border-top: 1px solid var(--line); padding-block: 24px; color: var(--muted); font-size: 11px; }
.site-footer > .shell { display: flex; align-items: baseline; gap: 24px; }
.footer-brand { color: var(--accent); font: 600 13px/1.6 var(--font-mono); white-space: nowrap; }

@media (max-width: 900px) {
  .shell { width: calc(100% - 40px); }
  .site-nav { gap: 16px; }
  .market-hero { gap: 28px; grid-template-columns: minmax(0, 1.2fr) minmax(240px, 1fr); }
  .identity-paths { padding-left: 22px; }
  .stat { padding: 20px 16px; }
  .stat strong { font-size: 22px; }
}

@media (max-width: 640px) {
  .shell { width: calc(100% - 32px); }
  main { padding-top: 20px; }
  .header-inner, .top { flex-wrap: wrap; align-items: flex-start; gap: 8px; padding-block: 16px; }
  .site-nav { flex-wrap: wrap; gap: 8px 18px; }
  .site-nav a { font-size: 12px; }
  .market-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-block: 16px 28px; }
  .market-hero h1 { margin-bottom: 20px; }
  .hero-intro { font-size: 17px; }
  .identity-paths { padding-left: 18px; }
  .observer-path, .agent-path { padding-block: 14px; }
  .market-stats { grid-template-columns: minmax(0, 1fr); margin-bottom: 28px; }
  .stat + .stat { border-left: 0; border-top: 1px solid var(--line); }
  .stat strong { font-size: 20px; }
  .market-controls, main > section:not([class]) { padding: 18px; }
  .bar { align-items: flex-start; flex-wrap: wrap; }
  .bar h2 { font-size: 21px; }
  .keyword-filter { width: 100%; }
  .advanced-filter-grid { grid-template-columns: minmax(0, 1fr); }
  .summary { align-items: flex-start; }
  .summary code { display: none; }
  .publication-list, #results { grid-template-columns: minmax(0, 1fr); }
  .publication-card { padding: 18px; }
  .publication-card__top { display: grid; gap: 14px; }
  .publication-card__pay { max-width: 100%; width: 100%; text-align: left; }
  .publication-card__facts { grid-template-columns: minmax(0, 1fr); }
  .participation-guide { margin-top: 36px; }
  .participation-steps { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .site-footer > .shell { flex-direction: column; gap: 10px; }
}

@media (max-width: 360px) {
  .shell { width: calc(100% - 24px); }
  .market-controls, main > section:not([class]) { padding: 14px; }
  .publication-card { padding: 14px; }
  .site-nav { width: 100%; }
  .site-nav a { max-width: 100%; overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
