/* Shared visual contract. Keep inventory rules and page-specific layout separate. */
:root {
  --ui-brand: #176a59;
  --ui-brand-deep: #115345;
  --ui-brand-soft: #edf6f2;
  --ui-action: #ad4938;
  --ui-action-soft: #fff3ee;
  --ui-ink: #202b28;
  --ui-muted: #5f6f69;
  --ui-line: #dce5e0;
  --ui-paper: #f6f8f7;
  --ui-surface: #fff;
  --ui-radius: 6px;
  --ui-focus: #80b9a8;
  color-scheme: light;
  background: var(--ui-paper);
}

body[data-site-page] {
  --accent: var(--ui-brand);
  --accent-dark: var(--ui-brand-deep);
  --blue: var(--ui-brand);
  --blue-deep: var(--ui-brand-deep);
  --blue-soft: var(--ui-brand-soft);
  --green: var(--ui-brand);
  --green-deep: var(--ui-brand-deep);
  --green-soft: var(--ui-brand-soft);
  --publish: var(--ui-brand);
  --publish-soft: var(--ui-brand-soft);
  --text: var(--ui-ink);
  --ink: var(--ui-ink);
  --muted: var(--ui-muted);
  --line: var(--ui-line);
  --bg: var(--ui-paper);
  --paper: var(--ui-paper);
  --wash: var(--ui-paper);
  --panel: var(--ui-surface);
  --surface: var(--ui-surface);
  min-height: 100vh;
  color: var(--ui-ink);
  background: var(--ui-paper);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

body[data-site-page] :is(h1, h2, h3, strong, button, a, input, select, textarea) { letter-spacing: 0; }
body[data-site-page] :is(input, select, textarea) { accent-color: var(--ui-brand); }
body[data-site-page] :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--ui-focus);
  outline-offset: 2px;
}
body[data-site-page] :is(.topbar, .masthead, .bill-topbar, .feedback-header) {
  background: var(--ui-surface);
  border-bottom-color: var(--ui-line);
}
body[data-site-page] :is(.brand-reset, .article-brand-link, .brand strong, .bill-topbar strong) { color: var(--ui-brand-deep); }
body[data-site-page] :is(button.primary, a.primary, .primary-action, .button.primary) {
  color: #fff;
  background: var(--ui-brand);
  border-color: var(--ui-brand);
  border-radius: var(--ui-radius);
}
body[data-site-page] :is(button.secondary, a.secondary, .secondary-action, .button.secondary) {
  color: var(--ui-brand-deep);
  background: #fff;
  border-color: var(--ui-line);
  border-radius: var(--ui-radius);
}
body[data-site-page] :is(.channel-tab.active, .bottom-tab.active, .tab.active, .sub-channel-tab.active) {
  color: var(--ui-brand-deep);
  border-color: var(--ui-brand);
  background: var(--ui-brand-soft);
}
body[data-site-page] :is(.city-chip.active, .monthly-filter-chip.active, .global-filter-chip.active, .mode-button.active) {
  color: #fff;
  border-color: var(--ui-brand);
  background: var(--ui-brand);
}
body[data-site-page] :is(.quick-rule-tags button.active, .advanced-chip-wrap button.active) {
  color: var(--ui-brand-deep);
  border-color: var(--ui-brand);
  background: var(--ui-brand-soft);
}
body[data-site-page] :is(.reserve-button, [data-pool-reserve], [data-channel-reserve]) {
  color: var(--ui-action);
  background: var(--ui-action-soft);
  border: 1px solid #dfaa9d;
  border-radius: var(--ui-radius);
}
body[data-site-page] :is(.pool-button, .detail-toggle, .more-filter-toggle) {
  color: var(--ui-brand-deep);
  border-color: var(--ui-line);
  background: #fff;
  border-radius: var(--ui-radius);
}
body[data-site-page] .fee-pill { color: var(--ui-muted); background: transparent; }
body[data-site-page] .number-main { color: var(--ui-ink); }
body[data-site-page] .num-hit { color: var(--ui-brand-deep); background: #e5f0eb; }
body[data-site-page] .inspiration-mode-link {
  color: var(--ui-action);
  border-color: #efcfc3;
  background: var(--ui-action-soft);
}
body[data-site-page] .inspiration-mode-link.has-progress::after { background: var(--ui-action); box-shadow: none; }
body[data-site-page] .channel-type-guide { color: var(--ui-brand-deep); background: var(--ui-brand-soft); border-color: var(--ui-line); }
body[data-site-page] .channel-type-guide strong { color: var(--ui-brand-deep); background: transparent; }
body[data-site-page] #globalServiceButton { color: #fff; background: var(--ui-brand); border-radius: var(--ui-radius); }
body[data-site-page] :is(.login-form, .bill-form, .bill-result, .bill-help, .sales-link-card, .feedback-card) {
  border-color: var(--ui-line);
  border-radius: 8px;
}

body[data-site-page="inspiration"] .hero { background: #125e50; }
body[data-site-page="inspiration"] .hero::after { display: none; }
body[data-site-page="inspiration"] .hero :is(.eyebrow, .hero-kicker) { color: #cde7dc; }
body[data-site-page="inspiration"] .app-shell { background: var(--ui-paper); box-shadow: 0 12px 32px #18382c12; }
body[data-site-page="inspiration"] :is(.section-card, .disclaimer, .loop-card, .reason-item, .similar-card) { border-radius: 8px; border-color: var(--ui-line); }
body[data-site-page="inspiration"] :is(.loop-section, .loop-panel) { background: #125e50; }
body[data-site-page="inspiration"] .back-link { border-radius: 6px; }
body[data-site-page="inspiration"] .story-section { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body[data-site-page="inspiration"] :is(.boundary-note, .shared-inventory-note, .refine-panel) { border-radius: 8px; border-color: var(--ui-line); box-shadow: none; }
body[data-site-page="inspiration"] .boundary-note { background: #f3f8f5; }
body[data-site-page="inspiration"] .boundary-note strong { color: var(--ui-brand-deep); }
body[data-site-page="inspiration"] .preference-grid button.active { border-color: var(--ui-brand); box-shadow: inset 0 0 0 1px var(--ui-brand); }
body[data-site-page] .page-watermark { opacity: 0.55; }

body[data-site-page="sales"] .sales-topbar { color: var(--ui-ink); background: #fff; border-bottom: 2px solid var(--ui-brand); }
body[data-site-page="sales"] .sales-topbar :is(a, button) { color: var(--ui-brand-deep); background: #fff; border-color: var(--ui-line); }
body[data-site-page="sales"] .sales-topbar .sales-eyebrow { color: var(--ui-muted); }
body[data-site-page="sales"] :is(.sales-metric strong, .sales-topbar h1) { color: var(--ui-brand-deep); }
body[data-site-page="sales"] .sales-form button[type="submit"] { background: var(--ui-brand); border-color: var(--ui-brand); }

body[data-site-page="bill-check"] .operator-options input:checked + span,
body[data-site-page="bill-check"] .issue-options input:checked + span {
  color: var(--ui-brand-deep);
  background: var(--ui-brand-soft);
  border-color: var(--ui-brand);
}
body[data-site-page="official-selection"] .official-topbar { background: var(--ui-brand-deep); }
body[data-site-page="admin"] :is(.admin-nav-button.active, .admin-tab.active) { color: #fff; background: var(--ui-brand); }
body[data-site-page="admin"] :is(.admin-architecture-nav, .admin-nav-group) { border-color: var(--ui-line); }
body[data-site-page="workbench"] :is(.brand-mark, .subnav button.active) { border-radius: 6px; }
body[data-site-page="workbench"] .subnav button.active { color: var(--ui-brand-deep); background: var(--ui-brand-soft); }
body[data-site-page="article"] :is(.article-back-link, .public-guide-nav a, .company-contact-card a) { color: var(--ui-brand-deep); }
body[data-site-page="article"] .article-detail { border: 0; border-radius: 0; box-shadow: none; }
body[data-site-page="article"] .company-contact-card {
  border: 0;
  border-left: 2px solid var(--ui-brand);
  border-radius: 0;
  box-shadow: none;
  background: var(--ui-brand-soft);
}

@media (max-width: 620px) {
  body[data-site-page] :is(input:not([type="checkbox"]):not([type="radio"]), textarea) { font-size: 16px; }
  body[data-site-page="selection"] .site-info-menu summary { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-site-page], body[data-site-page] * { scroll-behavior: auto; transition-duration: 0.01ms; animation-duration: 0.01ms; }
}
