.site-header { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: var(--sp-7); height: var(--h-header); padding: var(--sp-0) var(--sp-7); background: var(--bg-1); border-bottom: var(--border) solid var(--line-1); view-transition-name: site-header; }
.brand { display: flex; align-items: center; gap: var(--sp-3); color: var(--fg-0); flex-shrink: 0; }
.brand:hover { text-decoration: none; }
.brand-mark { width: var(--w-brand-mark); height: var(--w-brand-mark); color: var(--accent-text); }
.brand-copy { display: flex; flex-direction: column; }
.brand-title { font-size: var(--fs-4); font-weight: 750; letter-spacing: .06em; line-height: 1.4; }
.brand-subtitle { color: var(--fg-2); font-size: var(--fs-1); letter-spacing: .02em; line-height: 1.4; }
.header-context { border-left: var(--border) solid var(--line-2); padding-left: var(--sp-7); color: var(--fg-1); font-size: var(--fs-3); }
.header-link { margin-left: auto; font-size: var(--fs-3); color: var(--fg-1); display: flex; align-items: center; gap: var(--sp-2); min-height: var(--h-touch); }
.menu-toggle { display: none; margin-left: auto; padding: var(--sp-2) var(--sp-3); min-height: var(--h-touch); border: var(--border) solid var(--line-2); background: var(--bg-2); border-radius: var(--r-1); font-size: var(--fs-3); }
.sidebar { position: sticky; top: var(--h-header); align-self: start; height: calc(100dvh - var(--h-header)); padding: var(--sp-7) var(--sp-5) var(--sp-6); border-right: var(--border) solid var(--line-1); display: flex; flex-direction: column; gap: var(--sp-6); overflow-y: auto; background: var(--bg-0); view-transition-name: sidebar; }
.primary-nav { display: flex; flex-direction: column; gap: var(--sp-1); flex-shrink: 0; }
.nav-link { display: flex; align-items: center; min-height: var(--h-touch); padding: var(--sp-3); gap: var(--sp-3); color: var(--fg-1); border-radius: var(--r-1); font-size: var(--fs-4); line-height: 1.35; }
.nav-link:hover { text-decoration: none; background: var(--bg-1); color: var(--fg-0); }
.nav-link[aria-current=page] { background: var(--accent-weak); color: var(--accent-text); font-weight: 650; }
.nav-icon { width: var(--w-icon); height: var(--w-icon); }
.nav-label { flex: 1; }
.nav-meta { color: var(--fg-2); font-size: var(--fs-1); }
.nav-divider { height: var(--border); background: var(--line-1); margin: var(--sp-2) var(--sp-3); flex-shrink: 0; }
.nav-caption { padding-left: var(--sp-3); color: var(--fg-2); font-size: var(--fs-1); font-weight: 600; letter-spacing: .09em; margin-bottom: var(--sp-3); }
.section-nav { flex-shrink: 0; }
.toc-list { list-style: none; padding: var(--sp-0); display: flex; flex-direction: column; gap: var(--sp-1); }
.toc-link { display: flex; align-items: baseline; gap: var(--sp-3); padding: var(--sp-2) var(--sp-3); border-left: var(--focus-width) solid transparent; color: var(--fg-2); font-size: var(--fs-3); line-height: 1.6; }
.toc-link:hover { color: var(--fg-0); text-decoration: none; }
.toc-link.is-active { color: var(--accent-text); border-color: var(--accent-text); background: var(--bg-1); }
.toc-number { font: var(--fs-1) var(--font-mono); color: var(--fg-2); flex-shrink: 0; }
.sidebar-note { margin-top: auto; padding: var(--sp-4) var(--sp-3) var(--sp-0); color: var(--fg-2); font-size: var(--fs-1); border-top: var(--border) solid var(--line-1); line-height: 1.9; flex-shrink: 0; }
.note-dot { display: inline-block; width: var(--w-dot); height: var(--w-dot); border-radius: 50%; background: var(--accent-text); margin-right: var(--sp-2); }
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); color: var(--fg-2); font-size: var(--fs-2); margin-bottom: var(--sp-7); }
.breadcrumb a { color: var(--fg-2); }
.eyebrow { font: 600 var(--fs-1) var(--font-mono); letter-spacing: .15em; color: var(--accent-text); margin-bottom: var(--sp-3); }
.page-heading { margin-bottom: var(--sp-7); }
.page-title { font-size: clamp(var(--fs-8), 3.2vw, var(--fs-9)); letter-spacing: -.055em; font-weight: 730; view-transition-name: page-title; }
.lede { color: var(--fg-1); max-width: var(--w-lede); line-height: var(--lh-copy); margin-top: var(--sp-4); font-size: var(--fs-5); word-break: keep-all; }
.intro-meta { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-5); font-size: var(--fs-2); color: var(--fg-2); }
.meta-separator { width: var(--border); height: var(--sp-3); background: var(--line-2); }
.status-pill { display: inline-flex; align-items: center; width: fit-content; gap: var(--sp-2); padding: var(--sp-1) var(--sp-2); border-radius: var(--r-1); font-size: var(--fs-1); font-weight: 550; line-height: 1.5; }
.status-pill--blue { color: var(--accent-text); background: var(--accent-weak); border: var(--border) solid var(--line-2); }
.status-pill--amber { color: var(--warn); background: var(--warn-weak); border: var(--border) solid var(--warn); }
.status-pill--neutral { color: var(--fg-1); background: var(--bg-2); border: var(--border) solid var(--line-2); }
.overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--sp-6); border: var(--border) solid var(--line-1); border-radius: var(--r-2); overflow: hidden; }
.overview-card { padding: var(--sp-6); background: var(--bg-1); }
.overview-card + .overview-card { border-left: var(--border) solid var(--line-1); }
.overview-label { color: var(--fg-2); font-size: var(--fs-2); margin-bottom: var(--sp-3); display: flex; align-items: center; gap: var(--sp-2); }
.overview-value { font-size: var(--fs-7); line-height: 1.5; font-weight: 650; letter-spacing: -.035em; }
.overview-caption { margin-top: var(--sp-2); color: var(--fg-2); font-size: var(--fs-2); word-break: keep-all; }
.change-value { color: var(--accent-text); }
.change-arrow { color: var(--fg-2); font-weight: 400; margin: var(--sp-0) var(--sp-2); }
.section-heading { display: flex; gap: var(--sp-4); align-items: flex-start; }
.section-index { color: var(--accent-text); font: var(--fs-3) var(--font-mono); padding-top: var(--sp-1); }
.section-title { font-size: var(--fs-7); letter-spacing: -.035em; font-weight: 650; }
.section-description { font-size: var(--fs-3); color: var(--fg-1); margin-top: var(--sp-3); line-height: 1.8; }
.section-top { display: flex; align-items: start; justify-content: space-between; gap: var(--sp-5); margin-bottom: var(--sp-5); }
.section-link { display: flex; gap: var(--sp-3); white-space: nowrap; font-size: var(--fs-2); padding-top: var(--sp-1); }
.comparison { border: var(--border) solid var(--line-1); border-radius: var(--r-2); background: var(--bg-1); overflow: hidden; }
.compare-head { display: grid; grid-template-columns: var(--w-compare-label) 1fr 1fr; background: var(--bg-2); font-size: var(--fs-2); color: var(--fg-2); font-weight: 600; }
.compare-head > div { padding: var(--sp-3) var(--sp-5); }
.compare-head > div:last-child { color: var(--accent-text); }
.compare-row { display: grid; grid-template-columns: var(--w-compare-label) minmax(0, 1fr) minmax(0, 1fr); border-top: var(--border) solid var(--line-1); }
.compare-label { padding: var(--sp-5); font-size: var(--fs-3); font-weight: 550; line-height: 1.7; grid-row: span 2; display: flex; flex-direction: column; align-items: start; gap: var(--sp-2); }
.compare-value { padding: var(--sp-5) var(--sp-5) var(--sp-2); font-size: var(--fs-4); line-height: 1.85; word-break: keep-all; }
.compare-value[data-year="2022"] { color: var(--fg-1); }
.compare-value[data-year="2026"] { color: var(--fg-0); background: var(--bg-2); }
.compare-year { display: none; }
.compare-source { color: inherit; }
.source-arrow { color: var(--accent-text); font-size: var(--fs-2); white-space: nowrap; }
.compare-note { grid-column: 2 / 4; padding: var(--sp-2) var(--sp-5) var(--sp-5); color: var(--fg-2); font-size: var(--fs-2); line-height: 1.9; border-top: var(--border) dashed var(--line-1); margin-top: var(--sp-2); }
.row-tag { font-size: var(--fs-1); font-weight: 500; line-height: 1.5; }
.row-tag--changed { color: var(--accent-text); }
.row-tag--definition { color: var(--warn); }
.row-tag--same { color: var(--fg-2); }
.row-tag--scope { color: var(--fg-1); }
.callout { display: flex; gap: var(--sp-3); padding: var(--sp-4) var(--sp-5); border: var(--border) solid var(--line-2); border-radius: var(--r-1); margin: var(--sp-5) var(--sp-0); font-size: var(--fs-3); align-items: flex-start; line-height: 1.85; }
.callout--warning { background: var(--warn-weak); border-left: var(--focus-width) solid var(--warn); }
.callout--info { background: var(--bg-1); border-left: var(--focus-width) solid var(--accent-text); }
.callout-title { color: var(--fg-0); font-weight: 650; display: block; margin-bottom: var(--sp-1); }
.callout-body { color: var(--fg-1); }
.schedule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: var(--border) solid var(--line-1); border-radius: var(--r-2); background: var(--bg-1); }
.schedule-card { padding: var(--sp-6); }
.schedule-card + .schedule-card { border-left: var(--border) solid var(--line-1); }
.schedule-date { font-size: var(--fs-6); font-weight: 600; color: var(--fg-0); font-variant-numeric: tabular-nums; margin-top: var(--sp-3); line-height: 1.75; }
.schedule-label { color: var(--accent-text); font-size: var(--fs-3); }
.schedule-note { font-size: var(--fs-2); color: var(--fg-2); margin-top: var(--sp-2); }
.document { max-width: 100%; }
.rule-group { margin-top: var(--sp-9); }
.scope { padding: var(--sp-5); border-left: var(--focus-width) solid var(--line-2); background: var(--bg-1); margin: var(--sp-5) var(--sp-0); color: var(--fg-1); font-size: var(--fs-3); line-height: 1.95; }
.scope-label { display: block; color: var(--fg-2); font-size: var(--fs-1); letter-spacing: .07em; margin-bottom: var(--sp-2); }
.scope > p + p { margin-top: var(--sp-2); }
.rule-list { border-top: var(--border) solid var(--line-2); }
.rule { padding: var(--sp-6) var(--sp-0); border-bottom: var(--border) solid var(--line-1); }
.rule-heading { display: flex; gap: var(--sp-4); align-items: start; }
.rule-number { color: var(--accent-text); background: var(--bg-2); display: inline-flex; align-items: center; justify-content: center; min-width: var(--w-rule-number); height: var(--w-rule-number); border-radius: var(--r-1); font: var(--fs-2) var(--font-mono); flex-shrink: 0; }
.rule-title { flex: 1; font-size: var(--fs-6); font-weight: 600; letter-spacing: -.02em; line-height: 1.75; padding-top: var(--sp-half); }
.source-ref { font-size: var(--fs-1); color: var(--fg-2); white-space: nowrap; padding-top: var(--sp-2); font-weight: 400; }
.rule-body { margin: var(--sp-3) var(--sp-0) var(--sp-0) calc(var(--w-rule-number) + var(--sp-4)); color: var(--fg-1); font-size: var(--fs-3); line-height: 1.95; }
.rule-body > p + p { margin-top: var(--sp-3); }
.formula { padding: var(--sp-3) var(--sp-4); background: var(--bg-1); border: var(--border) solid var(--line-1); border-radius: var(--r-1); color: var(--fg-0); word-break: normal; overflow-wrap: anywhere; line-height: 2; }
.footnote { color: var(--fg-1); }
.source-note { padding: var(--sp-3) var(--sp-4); background: var(--warn-weak); color: var(--warn); border-left: var(--focus-width) solid var(--warn); margin-top: var(--sp-4); font-size: var(--fs-2); line-height: 1.9; }
.original-notice { color: var(--fg-1); font-size: var(--fs-3); border: var(--border) solid var(--line-2); background: var(--bg-1); border-radius: var(--r-2); padding: var(--sp-5); line-height: 1.95; }
.original-notice p + p { margin-top: var(--sp-3); }
.implementation { border-top: var(--border) solid var(--line-2); }
.appendix { font-size: var(--fs-3); }
.prose { font-size: var(--fs-3); color: var(--fg-1); line-height: 1.95; }
.prose p + p, .prose p + ul, .prose p + ol, .prose ul + p, .prose ol + p { margin-top: var(--sp-4); }
.prose ul, .prose ol { margin: var(--sp-3) var(--sp-0); }
.prose li + li { margin-top: var(--sp-2); }
.prose blockquote { padding: var(--sp-3) var(--sp-5); border-left: var(--focus-width) solid var(--line-2); margin: var(--sp-4) var(--sp-0); background: var(--bg-1); }
.prose h3 { font-size: var(--fs-6); color: var(--fg-0); margin-top: var(--sp-6); margin-bottom: var(--sp-3); }
.table-wrap { margin: var(--sp-5) var(--sp-0); }
.data-table { border-collapse: collapse; width: 100%; font-size: var(--fs-2); line-height: 1.9; table-layout: fixed; }
.data-table th, .data-table td { border: var(--border) solid var(--line-1); vertical-align: top; text-align: left; padding: var(--sp-3); }
.data-table th { color: var(--fg-0); background: var(--bg-2); font-weight: 600; }
.data-table td { color: var(--fg-1); }
.report-section { margin-top: var(--sp-6); }
.report-details { border-top: var(--border) solid var(--line-2); margin-top: var(--sp-8); }
.report-details summary { cursor: pointer; padding: var(--sp-5) var(--sp-0); color: var(--fg-0); font-weight: 600; font-size: var(--fs-6); }
.report-label { color: var(--warn); font-size: var(--fs-2); display: block; margin-bottom: var(--sp-4); }
.source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: var(--border) solid var(--line-1); border-radius: var(--r-2); background: var(--bg-1); }
.source-card { padding: var(--sp-5); display: flex; flex-direction: column; align-items: start; }
.source-card + .source-card { border-left: var(--border) solid var(--line-1); }
.source-name { font: 600 var(--fs-3) var(--font-mono); color: var(--fg-0); }
.source-description { color: var(--fg-2); font-size: var(--fs-2); margin: var(--sp-3) var(--sp-0) var(--sp-5); flex: 1; }
.download-link { color: var(--accent-text); font-size: var(--fs-2); display: inline-flex; gap: var(--sp-2); align-items: center; min-height: var(--h-touch); }
.page-links { margin-top: var(--sp-9); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: var(--border) solid var(--line-2); border-bottom: var(--border) solid var(--line-1); gap: var(--sp-6); }
.page-link { display: flex; flex-direction: column; padding: var(--sp-5) var(--sp-0); }
.page-link:last-child { text-align: right; }
.page-link-label { color: var(--fg-2); font-size: var(--fs-1); margin-bottom: var(--sp-1); }
.page-link-title { color: var(--accent-text); font-size: var(--fs-4); }
.page-footer { margin-top: var(--sp-6); display: flex; justify-content: space-between; align-items: start; gap: var(--sp-5); color: var(--fg-2); font-size: var(--fs-1); line-height: 1.9; }
.footer-label { display: block; font: var(--fs-1) var(--font-mono); color: var(--fg-1); margin-bottom: var(--sp-1); letter-spacing: .08em; }
.back-top { white-space: nowrap; color: var(--fg-2); }
.no-js-note { color: var(--fg-2); font-size: var(--fs-2); }
@media (max-width: 1200px) {
  .compare-head, .compare-row { grid-template-columns: var(--w-compare-label-compact) minmax(0, 1fr) minmax(0, 1fr); }
  .compare-label, .compare-value, .compare-note { padding-left: var(--sp-4); padding-right: var(--sp-4); }
  .overview-card { padding: var(--sp-5); }
}
@media (max-width: 1020px) {
  .site-header { padding: var(--sp-0) var(--sp-7); }
  .header-context { display: none; }
  .header-link { margin-left: auto; }
  .is-ready .menu-toggle { display: block; }
  .is-ready .header-link { margin-left: var(--sp-0); }
  .sidebar { position: static; height: auto; border-right: 0; border-bottom: var(--border) solid var(--line-1); padding: var(--sp-5) var(--sp-7); gap: var(--sp-5); }
  .sidebar.is-collapsed { display: none; }
  .primary-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-divider, .sidebar-note { display: none; }
  .toc-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-caption { margin-bottom: var(--sp-2); }
}
@media (max-width: 600px) {
  .site-header { padding: var(--sp-0) var(--sp-5); gap: var(--sp-3); }
  .brand-title { font-size: var(--fs-3); }
  .brand-subtitle { font-size: var(--fs-1); letter-spacing: 0; }
  .header-link { display: none; }
  .sidebar { padding: var(--sp-5); }
  .breadcrumb { margin-bottom: var(--sp-6); }
  .page-heading { margin-bottom: var(--sp-6); }
  .page-title { font-size: var(--fs-8); letter-spacing: -.06em; }
  .lede { font-size: var(--fs-4); }
  .intro-meta { gap: var(--sp-2); }
  .overview-grid { grid-template-columns: 1fr; }
  .overview-card { padding: var(--sp-4) var(--sp-5); display: grid; grid-template-columns: 1fr 1.2fr; column-gap: var(--sp-3); }
  .overview-card + .overview-card { border-left: 0; border-top: var(--border) solid var(--line-1); }
  .overview-label { margin: var(--sp-0); align-self: center; }
  .overview-value { font-size: var(--fs-6); }
  .overview-caption { grid-column: 2; margin-top: var(--sp-1); }
  .section-title { font-size: var(--fs-6); }
  .section-top { display: block; }
  .section-link { margin-left: calc(var(--sp-4) + var(--sp-4)); margin-top: var(--sp-3); }
  .section-description { font-size: var(--fs-3); }
  .compare-head { display: none; }
  .compare-row { display: block; }
  .compare-row:first-of-type { border-top: 0; }
  .compare-label { padding: var(--sp-4) var(--sp-4) var(--sp-3); flex-direction: row; justify-content: space-between; gap: var(--sp-3); background: var(--bg-2); }
  .compare-value { padding: var(--sp-3) var(--sp-4); display: grid; grid-template-columns: var(--sp-8) minmax(0, 1fr); gap: var(--sp-3); font-size: var(--fs-3); }
  .compare-value[data-year="2026"] { background: var(--bg-1); }
  .compare-year { display: inline; color: var(--fg-2); font: var(--fs-1) var(--font-mono); padding-top: var(--sp-1); }
  .compare-value[data-year="2026"] .compare-year { color: var(--accent-text); }
  .compare-note { padding: var(--sp-3) var(--sp-4) var(--sp-4); margin: var(--sp-0) var(--sp-4); padding-left: var(--sp-0); padding-right: var(--sp-0); }
  .schedule-grid, .source-grid { grid-template-columns: 1fr; }
  .schedule-card + .schedule-card, .source-card + .source-card { border-left: 0; border-top: var(--border) solid var(--line-1); }
  .schedule-card { padding: var(--sp-5); }
  .callout { padding: var(--sp-4); font-size: var(--fs-2); }
  .rule-heading { flex-wrap: wrap; gap: var(--sp-3); }
  .rule-title { font-size: var(--fs-5); min-width: 0; }
  .source-ref { margin-left: calc(var(--w-rule-number) + var(--sp-3)); padding-top: var(--sp-0); flex-basis: 100%; }
  .rule-body { margin-left: var(--sp-0); }
  .formula { padding: var(--sp-3); }
  .data-table, .data-table tbody { display: block; }
  .data-table thead { display: none; }
  .data-table tr { display: block; border: var(--border) solid var(--line-1); margin-bottom: var(--sp-4); }
  .data-table td { display: block; border: 0; border-bottom: var(--border) solid var(--line-1); padding: var(--sp-3); }
  .data-table td:last-child { border-bottom: 0; }
  .data-table td::before { content: attr(data-label); display: block; font-weight: 650; color: var(--fg-0); margin-bottom: var(--sp-1); }
  .page-links { gap: var(--sp-3); }
  .page-link-title { font-size: var(--fs-3); }
  .page-footer { display: block; }
  .back-top { display: inline-block; margin-top: var(--sp-4); }
}
