* {
  box-sizing:border-box;
}
:root {
  font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body {
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
a {
  color:var(--accent);
  text-underline-offset:.23em;
}
button,input,select {
  font:inherit;
}
button,a,summary {
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
button,select,summary {
  cursor:pointer;
}
button:disabled {
  cursor:wait;
  opacity:.6;
}
img {
  max-width:100%;
}
:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:4px;
}
h1,h2,h3,p {
  margin-top:0;
}
h1,h2,h3 {
  line-height:1.2;
}
h1 {
  font-size:2.7rem;
  letter-spacing:-.05em;
  margin:0;
}
h2 {
  font-size:1.4rem;
  letter-spacing:-.035em;
}
h3 {
  font-size:1.1rem;
  letter-spacing:-.02em;
}
[hidden] {
  display:none!important;
}
.skip-link {
  position:absolute;
  top:-100px;
  left:20px;
  padding:12px;
  background:var(--surface);
  z-index:20;
}
.skip-link:focus {
  top:10px;
}

.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:1.3rem;
  font-weight:750;
  color:var(--ink);
  text-decoration:none;
  letter-spacing:-.045em;
}
.brand img {
  border-radius:24%;
}

.leaf-icon {
  display:inline-block;
  width:24px;
  height:24px;
  background:currentColor;
  mask:url('/assets/brand-leaf.png') center/contain no-repeat;
  -webkit-mask:url('/assets/brand-leaf.png') center/contain no-repeat;
}

.main-column {
  min-width:0;
}

#breadcrumb {
  color:var(--ink);
  letter-spacing:0;
  font-size:.875rem;
}

main {
  max-width:1240px;
  margin:auto;
  padding:40px;
  min-height:calc(100vh - 180px);
}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-bottom:32px;
}
.eyebrow {
  font-size:.75rem;
  letter-spacing:.13em;
  font-weight:750;
  color:var(--accent);
  margin:0 0 10px;
}
.data-status {
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.secondary {
  color:var(--secondary-ink);
  font-size:.8125rem;
}
.button,.text-button,.icon-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  border-radius:10px;
  padding:10px 18px;
  font-size:.875rem;
  font-weight:600;
  background:var(--action-fill);
  border:1px solid var(--action-fill);
  color:var(--on-accent);
  text-decoration:none;
  transition:transform 160ms ease;
}
.button:active {
  transform:scale(.98);
}
.secondary-button {
  background:var(--surface);
  color:var(--ink);
  border-color:var(--control-border);
}
.text-button {
  background:transparent;
  border-color:transparent;
  color:var(--accent);
  padding-inline:8px;
}
.icon-button {
  background:var(--surface);
  color:var(--ink);
  border:1px solid var(--control-border);
  width:44px;
  font-size:1.4rem;
  padding:0;
}
.section-nav {
  display:flex;
  gap:28px;
  border-bottom:1px solid var(--separator);
  margin-bottom:28px;
  overflow-x:auto;
}
.section-nav a {
  display:inline-flex;
  align-items:center;
  min-height:48px;
  padding:4px 0 14px;
  text-decoration:none;
  color:var(--secondary-ink);
  font-size:.9375rem;
  font-weight:550;
  white-space:nowrap;
  border-bottom:2px solid transparent;
}
.section-nav a[aria-current=page] {
  color:var(--accent);
  border-bottom-color:var(--accent);
}
.preview-banner {
  padding:12px 40px;
  background:var(--tinted-surface);
  border-bottom:1px solid var(--control-border);
  font-size:.875rem;
  font-weight:600;
}
.preview-banner a {
  margin-left:12px;
}
.notice {
  padding:16px 20px;
  border-left:3px solid var(--accent);
  background:var(--tinted-surface);
  border-radius:8px;
  margin-bottom:24px;
  font-size:.9375rem;
}
.notice p {
  margin:0;
}
.notice .button {
  margin-top:16px;
}
.dashboard-grid {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);
  gap:24px;
  align-items:start;
}
.card {
  border:1px solid var(--separator);
  background:var(--surface);
  border-radius:16px;
  padding:28px;
  min-width:0;
}
.latest-card {
  position:relative;
}
.latest-card:before {
  content:"";
  position:absolute;
  left:28px;
  top:-1px;
  width:32px;
  height:4px;
  border-radius:4px;
  background:var(--accent);
}
.card-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  color:var(--secondary-ink);
  font-size:.8125rem;
  margin-bottom:24px;
}
.card-meta .eyebrow {
  margin:0;
}
.latest-card h2 {
  font-size:1.75rem;
  margin-bottom:8px;
  max-width:560px;
}
.subtitle {
  color:var(--secondary-ink);
  font-size:.9375rem;
}
.metrics {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:24px 44px;
  margin-block:28px;
}
.metrics>div {
  display:flex;
  flex-direction:column;
  gap:8px;
}
.metric {
  font-size:clamp(3.5rem,6vw,5.5rem);
  line-height:1.05;
  letter-spacing:-.06em;
  font-weight:750;
  font-variant-numeric:tabular-nums;
}
.metric.unreported {
  font-size:2rem;
  letter-spacing:-.035em;
}
.metric-small {
  font-size:2rem;
  font-weight:650;
  letter-spacing:-.04em;
}
.metric-label {
  font-size:.875rem;
  color:var(--secondary-ink);
}
.card-footer {
  border-top:1px solid var(--separator);
  padding-top:12px;
  margin-top:20px;
}
.card-footer .text-button {
  width:100%;
}
.comparison-card h2 {
  font-size:1.125rem;
  margin-bottom:8px;
}
.comparison-card .subtitle {
  font-size:.875rem;
}
.delta-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-block:28px;
}
.delta-grid strong {
  display:block;
  font-size:1.8rem;
  letter-spacing:-.04em;
  font-weight:650;
}
.delta-grid span {
  font-size:.875rem;
  color:var(--secondary-ink);
}
.comparison-card .fine-print {
  margin:0;
}
.fine-print {
  font-size:.8125rem;
  color:var(--secondary-ink);
}
.section-block {
  margin-top:32px;
}
.block-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:16px;
}
.block-heading h2 {
  margin:0;
  font-size:1.2rem;
}
.draw-list {
  background:var(--surface);
  border:1px solid var(--separator);
  border-radius:16px;
  overflow:hidden;
}
.draw-row {
  display:grid;
  grid-template-columns:1fr auto auto 20px;
  gap:28px;
  align-items:center;
  min-height:100px;
  padding:20px 24px;
  border-bottom:1px solid var(--separator);
}
.draw-row:last-child {
  border:0;
}
.row-title {
  background:none;
  border:0;
  padding:0;
  text-align:left;
  color:var(--ink);
  font-weight:650;
  line-height:1.5;
  min-height:44px;
}
.row-title:hover {
  color:var(--accent);
  text-decoration:underline;
}
.row-context {
  display:block;
  color:var(--secondary-ink);
  font-size:.8125rem;
  line-height:1.4;
}
.row-meta {
  display:block;
  color:var(--secondary-ink);
  font-size:.8125rem;
  font-weight:400;
  margin-top:4px;
}
.row-stat {
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.row-stat strong {
  font-size:1.1rem;
  display:block;
  font-weight:650;
}
.row-stat span {
  display:block;
  color:var(--secondary-ink);
  font-size:.75rem;
}
.row-arrow {
  color:var(--accent);
}
.source-card {
  padding:20px 24px;
  border:1px solid var(--separator);
  border-radius:16px;
  margin-top:24px;
  background:var(--surface);
}
.source-card p {
  font-size:.875rem;
  color:var(--secondary-ink);
  margin-bottom:8px;
}
.source-card a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:.875rem;
}
.empty-state {
  padding:64px 24px;
  text-align:center;
  border:1px solid var(--separator);
  border-radius:16px;
  background:var(--surface);
}
.empty-state>.leaf-icon {
  width:36px;
  height:36px;
  color:var(--accent);
  margin-bottom:16px;
}
.empty-state h2 {
  margin-bottom:12px;
}
.empty-state p {
  max-width:500px;
  margin:0 auto 20px;
  color:var(--secondary-ink);
}
.empty-state a {
  margin:8px;
}
.archive-toolbar {
  display:flex;
  align-items:end;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:20px;
}
.field {
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:.875rem;
  flex:1;
  min-width:160px;
}
.field label {
  font-weight:600;
}
.field input,.field select {
  width:100%;
  min-height:44px;
  background:var(--surface);
  color:var(--ink);
  border:1px solid var(--control-border);
  border-radius:10px;
  padding:10px 12px;
  font-size:.9375rem;
}
.search-field {
  flex:2;
  min-width:220px;
}
.filter-panel {
  border:1px solid var(--separator);
  border-radius:14px;
  background:var(--surface);
  margin-bottom:20px;
}
.filter-panel summary {
  padding:16px 20px;
  min-height:48px;
  font-size:.875rem;
  font-weight:600;
}
.filter-fields {
  padding:4px 20px 20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.filter-fields .field {
  min-width:0;
}
.filter-actions {
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:12px;
}
.filter-error {
  color:var(--accent);
  margin:0;
}
.archive-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:20px 0;
  font-size:.875rem;
  color:var(--secondary-ink);
}
.view-switch {
  display:flex;
  gap:8px;
}
.view-switch button {
  min-height:44px;
  border:1px solid var(--control-border);
  background:var(--surface);
  color:var(--ink);
  border-radius:8px;
  padding:8px 16px;
  font-size:.875rem;
}
.view-switch button[aria-pressed=true] {
  background:var(--action-fill);
  border-color:var(--action-fill);
  color:var(--on-accent);
}
.more-row {
  text-align:center;
  margin:24px 0;
}
.chart-wrap {
  margin-top:20px;
}
.chart {
  display:flex;
  gap:8px;
  align-items:end;
  height:280px;
  border-bottom:1px solid var(--control-border);
  padding:16px 0 0;
}
.chart-column {
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:end;
  height:100%;
  gap:8px;
}
.chart-value {
  font-size:.75rem;
  font-variant-numeric:tabular-nums;
}
.chart-bar {
  background:var(--action-fill);
  width:100%;
  max-width:64px;
  min-height:2px;
  border-radius:4px 4px 0 0;
  animation:arrive 360ms ease;
}
.chart-table-wrap {
  overflow-x:auto;
  margin-top:24px;
}
.chart-table {
  border-collapse:collapse;
  width:100%;
  font-size:.875rem;
  text-align:left;
}
.chart-table caption {
  text-align:left;
  font-weight:650;
  margin-bottom:16px;
}
.chart-table th,.chart-table td {
  padding:14px 12px;
  border-bottom:1px solid var(--separator);
}
.chart-table th {
  font-weight:600;
  color:var(--secondary-ink);
}
.compare-pickers {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:24px;
}
.compare-results {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.compare-results .card h3 {
  min-height:2.4em;
}
.comparison-summary {
  margin-top:24px;
}
.update-list {
  display:grid;
  gap:20px;
}
.update-card h2 {
  font-size:1.25rem;
  margin-block:12px;
}
.update-card p {
  color:var(--secondary-ink);
  white-space:pre-line;
  overflow-wrap:anywhere;
}
.update-card .row-title {
  font-size:1.25rem;
}
.footer {
  max-width:1240px;
  margin:auto;
  padding:24px 40px;
  border-top:1px solid var(--separator);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  color:var(--secondary-ink);
  font-size:.75rem;
}
.footer p {
  margin:0;
  max-width:560px;
}
.footer>span {
  white-space:nowrap;
}
dialog {
  border:1px solid var(--separator);
  border-radius:20px;
  background:var(--surface);
  color:var(--ink);
  width:min(700px,calc(100% - 32px));
  max-height:85vh;
  padding:28px;
}
dialog::backdrop {
  background:#0009;
}
.dialog-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}
.dialog-top h2 {
  margin:0;
  font-size:1.5rem;
}
.facts {
  display:grid;
  grid-template-columns:minmax(140px,.8fr) minmax(0,1.3fr);
  margin:0;
}
.facts dt,.facts dd {
  padding:16px 0;
  border-bottom:1px solid var(--separator);
  overflow-wrap:anywhere;
}
.facts dt {
  color:var(--secondary-ink);
  font-size:.875rem;
}
.facts dd {
  margin:0;
  font-size:.9375rem;
}
.article-body {
  white-space:pre-line;
  overflow-wrap:anywhere;
}
.article-link {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  margin-top:20px;
}
.resource-list {
  display:grid;
  gap:16px;
}
.resource-list a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:64px;
  font-weight:600;
  text-decoration:none;
  gap:20px;
}
.resource-list a:hover {
  text-decoration:underline;
}
@keyframes arrive {
  from {
    opacity:.3;
  }
  to {
    opacity:1;
  }
}

@media(max-width:1120px) {

  main {
    padding:32px 28px;
  }

  .dashboard-grid {
    grid-template-columns:1fr;
  }
  .comparison-card .delta-grid {
    max-width:400px;
  }

  .draw-row {
    gap:20px;
  }
}
@media(max-width:760px) {

  main {
    padding:28px 20px;
  }
  .page-heading {
    gap:16px;
    align-items:flex-start;
    margin-bottom:24px;
  }
  h1 {
    font-size:2.3rem;
  }
  .data-status {
    flex-direction:column-reverse;
    align-items:flex-end;
    gap:8px;
  }
  .data-status .secondary {
    font-size:.75rem;
  }
  .section-nav {
    gap:24px;
  }
  .card {
    padding:24px 20px;
  }
  .metrics {
    gap:24px 36px;
  }
  .latest-card h2 {
    font-size:1.5rem;
  }
  .draw-row {
    padding:16px;
    gap:12px;
    grid-template-columns:1fr auto;
  }
  .draw-row .row-stat:nth-of-type(3),.row-arrow {
    display:none;
  }
  .row-stat span {
    max-width:100px;
  }
  .filter-fields {
    grid-template-columns:1fr 1fr;
  }
  .archive-toolbar {
    gap:12px;
  }
  .archive-toolbar .field {
    min-width:140px;
  }
  .archive-toolbar .search-field {
    flex-basis:100%;
  }
  .archive-meta {
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .compare-pickers,.compare-results {
    grid-template-columns:1fr;
  }
  .compare-results .card h3 {
    min-height:0;
  }
  .chart {
    gap:4px;
  }
  .chart-value {
    font-size:.75rem;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
  }
  .footer {
    padding:24px 20px;
    flex-wrap:wrap;
    gap:12px;
  }
  .preview-banner {
    padding:12px 20px;
  }
  .facts {
    grid-template-columns:1fr;
  }
  .facts dt {
    border:0;
    padding-bottom:0;
  }
  .facts dd {
    padding-top:4px;
  }
  .dialog-top h2 {
    font-size:1.2rem;
  }
  .section-block {
    margin-top:28px;
  }
  .block-heading {
    flex-wrap:wrap;
  }
}
@media(max-width:380px) {
  main {
    padding-inline:16px;
  }

  .filter-fields {
    grid-template-columns:1fr;
  }
  .page-heading .button {
    padding-inline:12px;
  }
  .metrics {
    gap:24px;
  }
  .section-nav {
    gap:20px;
  }
  .card-meta {
    margin-bottom:16px;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
@media(forced-colors:active) {
  .chart-bar {
    background:Highlight;
  }

}
@media print {

  main {
    padding:0;
  }
  .card {
    break-inside:avoid;
  }
  .chart-bar {
    print-color-adjust:exact;
  }
}
.chart-scroll {
  overflow-x:auto;
}
.comparison-plot {
  display:flex;
  align-items:end;
  justify-content:center;
  gap:44px;
  margin:24px 0 28px;
  border-bottom:1px solid var(--separator);
}
.comparison-observation {
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:8px;
  width:120px;
  font-size:.875rem;
}
.comparison-bar {
  background:var(--action-fill);
  width:60px;
  border-radius:5px 5px 0 0;
}
.baseline-bar {
  background:var(--secondary-ink);
}
.comparison-observation strong {
  font-size:.8125rem;
  font-weight:500;
  margin-bottom:16px;
}
.missing-bar {
  display:none;
}

.archive-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.archive-summary > div {
  border: 1px solid var(--separator);
  background: var(--surface);
  border-radius: 12px;
  padding: 16px 20px;
}
.archive-summary span {
  display: block;
  color: var(--secondary-ink);
  font-size: .8125rem;
}
.archive-summary strong {
  display: block;
  font-size: 1.35rem;
  font-weight: 650;
  margin-top: 8px;
}
@media (max-width: 600px) {
  .archive-summary {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .archive-summary > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  .archive-summary strong {
    margin-top: 0;
  }
}

/* MasterX horizontal dashboard, adapted to the app's semantic palette. */
.workspace { min-height:100vh; }
.site-header { background:var(--surface); border-bottom:1px solid var(--separator); }
.header-inner,.main-menu { max-width:1240px; margin:auto; padding:12px 40px; display:flex; align-items:center; gap:28px; }
.header-inner { justify-content:space-between; min-height:76px; }
.brand { font-size:1.2rem; }
.brand-caption { display:block; font-size:.6875rem; color:var(--secondary-ink); font-weight:400; letter-spacing:.015em; margin-top:2px; }
.header-actions { display:flex; align-items:center; gap:16px; }
.appearance-control { display:flex; align-items:center; gap:10px; font-size:.8125rem; color:var(--secondary-ink); }
.appearance-control select { min-height:44px; border:1px solid var(--control-border); border-radius:8px; padding:8px 28px 8px 12px; background:var(--surface); color:var(--ink); font-size:.8125rem; }
.menu-band { border-top:1px solid var(--separator); }
.main-menu { padding-block:6px; gap:8px; }
.main-menu a { display:flex; align-items:center; gap:8px; padding:10px 16px; min-height:44px; color:var(--secondary-ink); font-size:.8125rem; text-decoration:none; border-radius:8px; }
.main-menu a[aria-current=page] { color:var(--accent); background:var(--tinted-surface); font-weight:600; }
.main-menu a:hover { background:var(--tinted-surface); color:var(--ink); }
.main-menu .leaf-icon { width:18px; height:18px; }
.menu-caption { font-size:.6875rem; color:var(--secondary-ink); font-weight:400; }
h1 { font-size:1.5rem; letter-spacing:-.035em; }
main { padding:28px 40px; }
.page-heading { margin-bottom:16px; gap:16px; }
.page-path { display:flex; gap:8px; color:var(--secondary-ink); font-size:.6875rem; margin:8px 0 0; }
.page-path #breadcrumb { font-size:inherit; }
#page-eyebrow { font-size:inherit; letter-spacing:0; margin:0; font-weight:400; }
.section-nav { gap:24px; margin-bottom:20px; }
.section-nav a { font-size:.8125rem; min-height:44px; padding:8px 0; }
.preview-banner { font-size:.75rem; padding:8px 24px; text-align:center; }
.card,.draw-list,.source-card,.summary-strip,.footer { box-shadow:0 3px 16px #00000006; }
.card { padding:20px; border-radius:12px; }
.summary-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--surface); border:1px solid var(--separator); border-radius:12px; margin-bottom:24px; padding:20px 8px; }
.summary-stat { padding:0 24px; border-right:1px solid var(--separator); min-width:0; }
.summary-stat:last-child { border:0; }
.summary-stat span { display:block; font-size:.75rem; color:var(--secondary-ink); }
.summary-stat strong { display:block; margin:6px 0 4px; font-size:1.5rem; font-weight:650; letter-spacing:-.04em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.summary-stat small { display:block; font-size:.6875rem; color:var(--secondary-ink); }
.overview-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:stretch; }
.overview-grid>.latest-card,.overview-grid>.comparison-card { display:flex; flex-direction:column; }
.latest-card:before { display:none; }
.overview-grid .latest-card h2 { font-size:1.125rem; margin-bottom:8px; }
.overview-grid .card-meta { gap:8px; margin-bottom:16px; font-size:.6875rem; }
.overview-grid .eyebrow { font-size:.625rem; letter-spacing:.09em; }
.overview-grid .metrics { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0; }
.overview-grid .metric { font-size:2.5rem; }
.overview-grid .metric-small { font-size:1.5rem; }
.overview-grid .metrics>div { justify-content:flex-end; gap:6px; }
.overview-grid .metric-label { font-size:.6875rem; }
.overview-grid .subtitle { font-size:.8125rem; margin-bottom:12px; }
.overview-grid .card-footer { margin-top:auto; padding-top:4px; }
.overview-grid .card-footer .text-button { font-size:.75rem; padding-inline:0; }
.overview-grid .comparison-card h2 { font-size:1rem; }
.overview-grid .comparison-card .delta-grid { gap:12px; margin:16px 0; }
.overview-grid .delta-grid strong { font-size:1.5rem; }
.overview-grid .delta-grid span { font-size:.6875rem; }
.overview-grid .fine-print { font-size:.75rem; }
.overview-activity { display:contents; }
.overview-grid>.latest-card { grid-column:span 6; }
.overview-grid>.comparison-card { grid-column:span 4; }
.overview-chart { grid-column:span 8; }
.overview-chart .block-heading { margin-bottom:12px; }
.overview-chart h2 { font-size:1rem; }
.overview-chart .chart { height:164px; padding-top:8px; }
.overview-chart .chart-column { gap:4px; }
.overview-chart .chart-bar { background:var(--complementary); max-width:18px; }
.overview-chart .chart-column:last-child .chart-bar { background:var(--action-fill); }
.overview-chart .chart-value { font-size:.625rem; }
.overview-chart details { margin-top:8px; font-size:.75rem; }
.overview-chart summary { min-height:44px; padding:10px 0; color:var(--accent); }
.chart-date { font-size:.5625rem; color:var(--secondary-ink); white-space:nowrap; }
.chart-key { display:flex; align-items:center; gap:8px; font-size:.6875rem; color:var(--secondary-ink); }
.chart-key:before { content:""; width:7px; height:7px; border-radius:50%; background:var(--complementary); }
.coverage-card { grid-column:span 4; }
.coverage-card h2 { font-size:1rem; }
.coverage-fact { padding:12px 0; border-bottom:1px solid var(--separator); font-size:.75rem; color:var(--secondary-ink); }
.coverage-fact strong { display:block; margin-top:4px; font-size:.8125rem; color:var(--ink); }
.coverage-card .source-card { padding:12px 0; background:none; border:0; box-shadow:none; border-radius:0; margin:0; }
.coverage-card .source-card p,.coverage-card .source-card a { font-size:.75rem; }
.overview-recent { grid-column:span 8; margin:0; padding:20px; border-radius:12px; background:var(--surface); border:1px solid var(--separator); box-shadow:0 3px 16px #00000006; }
.overview-recent h2 { font-size:1rem; }
.overview-recent .block-heading { margin:0 0 8px; }
.overview-recent .block-heading button { font-size:.75rem; }
.overview-recent .draw-list { border:0; box-shadow:none; border-radius:0; }
.overview-recent .draw-row { padding:12px 0; min-height:80px; }
.overview-recent .row-title { font-size:.8125rem; min-height:44px; }
.overview-recent .row-meta { font-size:.6875rem; }
.overview-recent .row-stat strong { font-size:.9375rem; }
.overview-recent .row-stat span { font-size:.6875rem; }
.footer { margin:0 auto 28px; max-width:1160px; border:1px solid var(--separator); border-radius:12px; background:var(--surface); padding:24px; }
.footer-brand { display:flex; align-items:center; gap:8px; color:var(--ink); font-size:1rem; font-weight:700; text-decoration:none; margin-bottom:8px; }
.footer-brand .leaf-icon { color:var(--accent); width:18px; height:18px; }
.footer p { margin-bottom:8px; }
.footer nav { display:flex; flex-wrap:wrap; gap:8px 20px; }
.footer nav a { display:inline-flex; align-items:center; min-height:44px; color:var(--secondary-ink); }
.legal-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:40px; align-items:start; }
.legal-toc { position:sticky; top:24px; }
.legal-toc a { display:block; padding:10px 0; min-height:44px; color:var(--secondary-ink); text-decoration:none; font-size:.875rem; }
.legal-toc a:hover { color:var(--accent); }
.legal-document { padding:32px; }
.legal-document section { scroll-margin-top:24px; padding-top:20px; margin-top:20px; border-top:1px solid var(--separator); }
.legal-document h2 { font-size:1.25rem; }
.legal-document p,.legal-document li { font-size:.9375rem; line-height:1.8; }
.legal-document li { margin-bottom:8px; }
.legal-meta { font-size:.8125rem; color:var(--secondary-ink); }
.mix-card { grid-column:span 6; }
.score-card,.monthly-card,.archive-coverage { grid-column:span 4; }
.mix-card h2,.score-card h2,.monthly-card h2,.archive-coverage h2 { font-size:1rem; margin-bottom:12px; }
.ring { width:146px; height:146px; border-radius:50%; background:var(--ring-fill); margin:20px auto; display:grid; place-items:center; flex-shrink:0; }
.ring>div { width:calc(100% - 18px); height:calc(100% - 18px); border-radius:50%; background:var(--surface); display:flex; flex-direction:column; align-items:center; justify-content:center; }
.ring strong { font-size:1.625rem; font-weight:650; letter-spacing:-.035em; }
.ring span { font-size:.6875rem; color:var(--secondary-ink); }
.mix-content { display:flex; gap:20px; align-items:center; justify-content:space-between; }
.mix-content .ring { width:158px; height:158px; }
.mix-legend { flex:1; min-width:0; }
.legend-dot { width:14px; height:14px; border-radius:3px; margin-top:3px; }
.mix-legend strong { text-align:right; }
.mix-legend small { display:block; font-size:.6875rem; font-weight:400; color:var(--secondary-ink); }
.score-card .chart,.monthly-card .chart { height:196px; }
.score-card .chart-bar,.monthly-card .chart-bar { background:var(--accent); opacity:.65; max-width:24px; }
.score-card .chart-column:last-child .chart-bar,.monthly-card .chart-column:last-child .chart-bar { opacity:1; }
.score-card .chart-value,.monthly-card .chart-value { font-size:.75rem; }
.score-card summary,.monthly-card summary { min-height:44px; padding:10px 0; font-size:.75rem; color:var(--accent); }
.score-card .chart-note { margin:12px 0 0; }
.coverage-list { margin:0; }
.coverage-list>div { padding:14px 0; border-bottom:1px solid var(--separator); }
.coverage-list dt { font-size:.75rem; color:var(--secondary-ink); }
.coverage-list dd { margin:4px 0 0; font-size:.9375rem; font-weight:600; }
.monthly-card .chart-date { margin-block:6px; }
@media(max-width:1100px) {
  .overview-grid>.latest-card,.mix-card { grid-column:1/-1; }
  .overview-chart,.overview-grid>.comparison-card,.overview-recent,.score-card { grid-column:1/-1; }
  .coverage-card,.monthly-card { grid-column:span 6; }
  .archive-coverage { grid-column:1/-1; }
  .footer { margin-inline:40px; }
}
@media(max-width:760px) {
  .header-inner,.main-menu { padding-inline:20px; }
  .brand-caption,.appearance-control>span,.menu-caption { display:none; }
  .header-inner { min-height:64px; padding-block:8px; }
  .brand { font-size:1.0625rem; gap:8px; }
  .brand img { width:32px; height:32px; }
  .appearance-control select { max-width:108px; }
  .main-menu { gap:8px; padding-block:4px; }
  .main-menu a { padding:8px 16px; flex:1; justify-content:center; font-size:.875rem; }
  .main-menu .leaf-icon { display:none; }
  main { padding:20px; }
  .page-heading { margin-bottom:12px; }
  .page-path { font-size:.625rem; }
  .preview-banner { font-size:.6875rem; padding:8px 20px; text-align:left; }
  .section-nav { gap:20px; margin-bottom:16px; }
  .section-nav a { font-size:.8125rem; white-space:nowrap; }
  .summary-strip { grid-template-columns:1fr 1fr; padding:16px 0 0; margin-bottom:16px; }
  .summary-stat { padding:0 16px 12px; }
  .summary-stat:nth-child(2) { border:0; }
  .summary-stat:last-child { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; border-top:1px solid var(--separator); }
  .summary-stat:last-child strong { font-size:.875rem; margin:0; }
  .summary-stat:last-child small { display:none; }
  .summary-stat strong { font-size:1.5rem; }
  .overview-grid { gap:16px; }
  .overview-grid .card,.overview-recent { padding:16px; }
  .overview-grid .latest-card { grid-column:1/-1; }
  .overview-grid .latest-card h2 { font-size:1.125rem; }
  .overview-grid .latest-card .card-meta { margin-bottom:12px; }
  .overview-grid .metrics { margin:8px 0 16px; }
  .overview-grid .metric { font-size:2.5rem; }
  .overview-grid .metric-small { font-size:1.75rem; }
  .overview-grid .metric-label { font-size:.75rem; }
  .overview-grid .comparison-card,.overview-grid .mix-card,.overview-grid .score-card,.overview-grid .monthly-card,.overview-grid .archive-coverage { grid-column:1/-1; }
  .overview-grid .card-footer .text-button { font-size:.8125rem; }
  .overview-grid .fine-print { font-size:.8125rem; }
  .overview-grid .eyebrow { font-size:.6875rem; }
  .overview-grid .comparison-card .delta-grid { margin:12px 0; }
  .overview-grid .comparison-card .delta-grid strong { font-size:1.75rem; }
  .overview-grid .comparison-card .delta-grid span { font-size:.75rem; }
  .overview-chart .chart { min-width:660px; }
  .overview-chart .chart-value { writing-mode:horizontal-tb; transform:none; font-size:.6875rem; }
  .overview-chart .chart-date { font-size:.625rem; }
  .overview-chart .chart-scroll { margin-inline:-4px; padding-inline:4px; }
  .overview-grid .coverage-card { grid-column:1/-1; }
  .overview-recent .row-title { font-size:.875rem; min-height:44px; }
  .overview-recent .draw-row { grid-template-columns:1fr auto; gap:8px; padding:12px 0; }
  .overview-recent .row-meta { font-size:.75rem; }
  .footer { margin:0 20px 20px; padding:20px; display:block; }
  .footer nav { margin-top:12px; gap:8px 20px; }
  .legal-layout { grid-template-columns:1fr; gap:16px; }
  .legal-toc { position:static; display:flex; flex-wrap:wrap; gap:0 20px; }
  .legal-document { padding:20px; }
  .legal-document a { overflow-wrap:anywhere; }
}
@media(max-width:359px) {
  main,.header-inner,.main-menu { padding-inline:16px; }
  .section-nav { gap:16px; }
  .section-nav a { font-size:.75rem; }
  .data-status .button { padding-inline:10px; }
  .footer { margin-inline:16px; }
}
@media(prefers-contrast:more) { .card,.summary-strip,.footer,.overview-recent { box-shadow:none; } }
@media print { .site-header,.legal-toc,.data-status,.section-nav,.footer { display:none; } .legal-layout,.overview-grid { display:block; } }

@media(max-width:760px) {
  .mix-content { gap:12px; }
  .mix-content .ring { width:118px; height:118px; }
  .score-card .chart-value,.monthly-card .chart-value { writing-mode:horizontal-tb; transform:none; }
  .coverage-card h2,.score-card h2,.monthly-card h2,.archive-coverage h2 { font-size:1.0625rem; }
}
@media(forced-colors:active) { .ring { border:8px solid CanvasText; } .ring>div { border:1px solid CanvasText; } .chart-bar { background:Highlight; } }

.chart-scroll-hint { display:none; }
@media(max-width:760px) { .chart-scroll-hint { display:block; font-size:.75rem; color:var(--secondary-ink); margin:0 0 8px; } }
.inventory-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.inventory-card h2 { font-size:1.125rem; }
.inventory-card .block-heading { flex-wrap:wrap; }
.match-badge { padding:4px 8px; border-radius:6px; color:var(--accent); background:var(--tinted-surface); font-size:.75rem; }
.inventory-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.inventory-metrics dt { font-size:.75rem; color:var(--secondary-ink); }
.inventory-metrics dd { margin:8px 0; font-size:1.25rem; font-weight:600; overflow-wrap:anywhere; }
.detail-history { border-top:1px solid var(--separator); padding-top:20px; margin-top:20px; }
@media(max-width:760px) { .inventory-list { grid-template-columns:1fr; } .inventory-metrics { gap:12px; } .inventory-metrics dd { font-size:1rem; } }

/* Native form controls remain legible without focus zoom on mobile Safari. */
@media (max-width:760px) {
  .field input,.field select,.appearance-control select { font-size:16px; }
  .data-status { align-self:flex-start; font-size:.75rem; }
}
@supports (height:100dvh) { dialog { max-height:calc(100dvh - 32px); } }

.app-prompt[hidden],.app-prompt [hidden] { display:none; }
.app-prompt { position:fixed; z-index:30; inset:auto 16px max(16px,env(safe-area-inset-bottom)); display:flex; align-items:flex-start; gap:12px; max-width:500px; margin-inline:auto; padding:16px; border:1px solid var(--separator); border-radius:16px; background:var(--surface); color:var(--ink); box-shadow:0 8px 32px #0003; }
.app-prompt>img { border-radius:10px; flex-shrink:0; }
.app-prompt>div { min-width:0; }
.app-prompt h2 { font-size:1rem; margin:0 0 6px; }
.app-prompt p { font-size:.875rem; margin:0 0 12px; }
.app-prompt-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:.875rem; }
.app-prompt-actions>a { min-height:44px; display:inline-flex; align-items:center; }
@media(max-width:380px) { .app-prompt>img { display:none; } }
@media print { .app-prompt { display:none; } }

/* Compact mobile rhythm: separate rows once, without stacking desktop margins. */
@media (max-width:760px) {
  .card { padding:16px; }
  .block-heading { gap:12px; margin-bottom:8px; }
  .draw-row { min-height:0; padding:12px 16px; gap:8px 12px; }
  .overview-recent .draw-row { min-height:0; padding:8px 0; }
  .row-meta { margin-top:0; }
  .article-link { margin-top:4px; }
  .resource-list { gap:0; }
  .resource-list .article-link {
    min-height:44px;
    margin-top:0;
    padding:12px 0;
    border-bottom:1px solid var(--separator);
  }
  .resource-list .article-link:last-child { border-bottom:0; }
  .inventory-list { gap:16px; }
  .inventory-metrics { margin:12px 0 4px; }
  .inventory-metrics dd { margin:4px 0 0; }
  .inventory-card>.fine-print:last-child { margin-bottom:0; }
  .overview-grid .card-footer { margin-top:8px; padding-top:0; }
  .overview-grid .metrics { margin-bottom:12px; }
  .update-card h2 { margin-bottom:8px; }
  .update-card>p { margin-bottom:8px; }
  .more-row { margin:16px 0; }
  .source-card { margin-top:16px; padding:16px; }
  .coverage-card .source-card { padding:8px 0; }
  .detail-history { margin-top:16px; padding-top:16px; }
}

/* Two-tier web navigation: quiet global links, then the current section. */
.site-header { border-bottom:0; background:var(--surface); }
.header-inner { max-width:1240px; min-height:48px; padding:0 40px; gap:32px; }
.header-inner .brand { min-height:44px; font-size:.875rem; gap:8px; flex-shrink:0; }
.header-inner .brand img { width:24px; height:24px; border-radius:6px; }
.header-inner .main-menu { flex:1; max-width:none; margin:0; padding:0; gap:32px; }
.header-inner .main-menu a { min-height:44px; padding:0; border-radius:0; font-size:.8125rem; flex:none; background:transparent; color:var(--secondary-ink); font-weight:400; }
.header-inner .main-menu a:hover,.header-inner .main-menu a[aria-current=page] { background:transparent; color:var(--ink); }
.header-inner .appearance-control select { border:0; background:transparent; padding:8px 20px 8px 4px; border-radius:4px; color:var(--secondary-ink); font-size:.8125rem; }
.local-header { position:sticky; top:0; z-index:20; background:var(--surface); border-bottom:1px solid var(--separator); }
.local-header-inner { max-width:1240px; margin:auto; padding:0 40px; min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.local-header h1 { margin:0; font-size:1.5rem; font-weight:600; letter-spacing:-.035em; }
.local-header .section-nav { margin:0; padding:0; border:0; gap:28px; overflow:visible; align-self:stretch; }
.local-header .section-nav a { display:flex; align-items:center; min-height:64px; padding:0; font-size:.8125rem; color:var(--secondary-ink); border:0; }
.local-header .section-nav a[aria-current=page] { color:var(--ink); box-shadow:inset 0 -1px var(--ink); }
.section-toggle { display:none; }
.page-heading .page-path { margin:0; }
@supports (backdrop-filter:blur(20px)) { .local-header { background:color-mix(in srgb,var(--surface) 92%,transparent); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); } }
@media(max-width:760px) {
 .header-inner { min-height:48px; padding:0 20px; gap:20px; }
 .header-inner .brand span { display:none; }
 .header-inner .main-menu { justify-content:center; gap:24px; }
 .header-inner .appearance-control select { font-size:16px; max-width:98px; }
 .local-header-inner { min-height:56px; padding:0 20px; flex-wrap:wrap; gap:0; }
 .local-header h1 { font-size:1.25rem; }
 .section-toggle { display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-height:44px; padding:0; border:0; background:transparent; color:var(--ink); }
 .section-toggle span { width:10px; height:10px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translate(-2px,-2px); }
 .sections-open .section-toggle span { transform:rotate(225deg); }
 .local-header .section-nav { display:none; flex-basis:100%; flex-direction:column; gap:0; padding:4px 0 12px; }
 .sections-open .section-nav { display:flex; }
 .local-header .section-nav a { min-height:44px; padding:8px 0; border-top:1px solid var(--separator); }
 .local-header .section-nav a[aria-current=page] { box-shadow:none; font-weight:600; }
 main { padding-top:16px; }
 .page-heading { margin-bottom:12px; }
}
@media(max-width:380px) { .header-inner,.local-header-inner { padding-inline:16px; } .header-inner { gap:12px; } .header-inner .main-menu { gap:16px; } }
@media print { .local-header { position:static; } .section-toggle { display:none; } }

/* Original mobile logo layers and stem-anchored 1.2-second bloom. */
.brand-loading { min-height:240px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; padding:32px 16px; }
.brand-loading p { margin:0; color:var(--secondary-ink); font-size:.9375rem; }
.loading-logo { width:112px; height:112px; background:transparent; filter:brightness(0) saturate(100%) invert(14%) sepia(91%) saturate(4779%) hue-rotate(340deg) brightness(86%) contrast(102%); }
@media(prefers-color-scheme:dark) { :root:not([data-theme="light"]) .loading-logo { filter:brightness(0) invert(1); } }
:root[data-theme="dark"] .loading-logo { filter:brightness(0) invert(1); }
.loading-leaf { transform-origin:512px 750px; animation:logo-bloom 1.2s infinite; }
.loading-marker { animation:logo-marker 1.2s infinite; }
@keyframes logo-bloom { 0%,68% { transform:scale(1); } 80% { transform:scale(1.08); } 92% { transform:scale(.99); } 100% { transform:scale(1); } }
@keyframes logo-marker { 0%,80%,100% { opacity:0; } 8%,68% { opacity:1; } }
.brand-loading.compact { min-height:96px; flex-direction:row; gap:12px; padding:16px 0; }
.brand-loading.compact .loading-logo { width:48px; height:48px; }
@media(prefers-reduced-motion:reduce) { .loading-leaf,.loading-marker { animation:none; } .loading-marker { display:none; } }

/* Keep chart labels readable and retain the numeric equivalent without colour. */
.mix-legend { list-style:none; padding:0; margin:0; }
.mix-legend>li { display:grid; grid-template-columns:14px minmax(0,1fr) auto; gap:10px; align-items:start; padding:12px 0; border-bottom:1px solid var(--separator); font-size:.8125rem; }
.mix-legend>li:last-child { border-bottom:0; }
.mix-legend small,.ring span { font-size:.75rem; }
.overview-chart .chart-value,.overview-chart .chart-date,.chart-key { font-size:.75rem; }
.score-card .chart-bar,.monthly-card .chart-bar { opacity:1; }
@media(max-width:480px) {
  .mix-content { flex-direction:column-reverse; align-items:stretch; }
  .mix-content .ring { margin:12px auto; }
}
@media(forced-colors:active) {
  .mix-content .ring,.legend-dot { display:none; }
  .mix-legend>li { grid-template-columns:minmax(0,1fr) auto; }
}
