/* =============================================================================
   KAOLU KAOLU — PAGE-SPECIFIC STYLES
   Load after common.css
   ============================================================================= */

body { background-color: var(--paper); color: var(--ink); font-family: var(--font-body); font-size: 1rem; line-height: 1.75; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 700; line-height: 1.2; color: var(--ink); }
.breadcrumb__list a, .breadcrumb__list span { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mid); text-decoration: none; }
.article-header__glyph { font-family: var(--font-display); font-size: clamp(4rem, 10vw, 7rem); line-height: 0.9; color: var(--paper-tint); display: block; text-align: center; margin-bottom: var(--space-s); border-bottom: 2px solid var(--rule); padding-bottom: var(--space-m); }
@media (min-width: 960px) { .article-header__glyph { font-size: 6rem; text-align: right; color: rgba(212,207,197,0.5); border-bottom: none; padding-bottom: 0; margin-bottom: 0; } }
.timeline-figure { margin-block: var(--space-xl); }
.timeline-figure__caption { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mid); display: block; margin-bottom: var(--space-l); padding-bottom: var(--space-xs); border-bottom: 1px solid var(--rule); }
.timeline-anchor { display: flex; align-items: center; gap: var(--space-m); margin-bottom: var(--space-l); padding: var(--space-m) var(--space-l); border: 1px solid var(--rule); background-color: var(--paper-tint); }
.timeline-anchor__marker { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mid); white-space: nowrap; flex-shrink: 0; }
.timeline-anchor__phrase { font-family: var(--font-display); font-size: 1.1rem; font-style: italic; font-weight: 700; color: var(--ink); }
.timeline-bands { border: 1px solid var(--rule); border-top: 3px solid var(--ink); }
.timeline-band { display: grid; grid-template-columns: 110px 1fr; border-bottom: 1px solid var(--rule); align-items: stretch; }
.timeline-band:last-child { border-bottom: none; }
@media (max-width: 480px) {
.timeline-band { grid-template-columns: 1fr; }
}
.timeline-band__window { padding: var(--space-m); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; border-right: 1px solid var(--rule); gap: 0.3rem; flex-shrink: 0; }
@media (max-width: 480px) {
.timeline-band__window { border-right: none; border-bottom: 1px solid var(--rule); flex-direction: row; justify-content: flex-start; text-align: left; padding: var(--space-s) var(--space-m); }
}
.timeline-band--same-day    .timeline-band__window { background-color: var(--gold-tint); }
.timeline-band--days        .timeline-band__window { background-color: var(--paper-tint); }
.timeline-band--week        .timeline-band__window { background-color: #e8e3d8; }
.timeline-band--weeks       .timeline-band__window { background-color: #ddd8cc; }
.timeline-band--month-plus  .timeline-band__window { background-color: rgba(26,26,24,0.08); }
.timeline-band--silence     .timeline-band__window { background-color: var(--ink); }
.timeline-band__duration { font-family: var(--font-mono); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.04em; line-height: 1.2; }
.timeline-band--same-day    .timeline-band__duration { color: var(--gold); }
.timeline-band--days        .timeline-band__duration { color: var(--ink); }
.timeline-band--week        .timeline-band__duration { color: var(--ink); }
.timeline-band--weeks       .timeline-band__duration { color: var(--mid); }
.timeline-band--month-plus  .timeline-band__duration { color: var(--mid); }
.timeline-band--silence     .timeline-band__duration { color: rgba(247,244,238,0.55); }
.timeline-band__content { padding: var(--space-m) var(--space-l); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-m); }
@media (max-width: 640px) {
.timeline-band__content { grid-template-columns: 1fr; gap: var(--space-s); }
}
.timeline-band__col-head { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--light); display: block; margin-bottom: 0.3rem; }
.timeline-band__move { font-size: 0.86rem; line-height: 1.6; color: var(--ink); margin-bottom: 0; }
.timeline-band--silence .timeline-band__col-head { color: rgba(247,244,238,0.35); }
.timeline-band--silence .timeline-band__move { color: rgba(247,244,238,0.7); }
.timeline-band--silence .timeline-band__content { background-color: rgba(26,26,24,0.04); }
.signal-verdict { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; display: inline-block; margin-bottom: 0.4rem; padding: 0.1rem 0.4rem; border: 1px solid; }
.signal-verdict--positive { color: var(--gold); border-color: var(--gold); }
.signal-verdict--neutral  { color: var(--mid); border-color: var(--rule); }
.signal-verdict--caution  { color: var(--red); border-color: var(--red); background-color: rgba(184,50,50,0.04); }
.signal-verdict--negative { color: var(--ink); border-color: var(--ink); background-color: var(--paper-tint); }
.timeline-band--silence .signal-verdict--negative { color: var(--paper); border-color: rgba(247,244,238,0.4); background-color: transparent; }
.return-signals { margin-block: var(--space-l); border: 1px solid var(--rule); border-top: 3px solid var(--gold); }
.return-signals__head { padding: var(--space-m) var(--space-l); background-color: var(--gold-tint); border-bottom: 1px solid var(--rule); }
.return-signals__label { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); display: block; margin-bottom: 0.2rem; }
.return-signals__title { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--ink); }
.return-signal-row { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--rule); }
.return-signal-row:last-child { border-bottom: none; }
@media (max-width: 540px) { .return-signal-row { grid-template-columns: 1fr; } }
.return-signal-row__how { padding: var(--space-m) var(--space-l); border-right: 1px solid var(--rule); font-size: 0.88rem; line-height: 1.6; color: var(--ink); }
.return-signal-row__what { padding: var(--space-m) var(--space-l); font-size: 0.88rem; line-height: 1.6; color: var(--mid); }
@media (max-width: 540px) {
.return-signal-row__how { border-right: none; border-bottom: 1px solid var(--rule); }
}
.return-label { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--light); display: block; margin-bottom: 0.3rem; }
.return-signal-row__how p, .return-signal-row__what p { margin-bottom: 0; }
.followup-table { width: 100%; border-collapse: collapse; margin-block: var(--space-l); font-size: 0.88rem; }
.followup-table caption { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mid); text-align: left; padding-bottom: var(--space-s); }
.followup-table th { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mid); text-align: left; padding: var(--space-xs) var(--space-s); border-bottom: 2px solid var(--ink); font-weight: 500; }
.followup-table td { padding: var(--space-s); border-bottom: 1px solid var(--rule); vertical-align: top; line-height: 1.6; }
.followup-table tr:last-child td { border-bottom: none; }
.followup-table td:first-child { font-weight: 600; font-size: 0.82rem; color: var(--mid); white-space: nowrap; }
@media (max-width: 520px) {
.followup-table thead { display: none; }
.followup-table tr { display: block; margin-bottom: var(--space-m); border-bottom: 2px solid var(--rule); }
.followup-table td { display: block; padding: 0.3rem 0; border: none; }
.followup-table td::before { content: attr(data-label); display: block; font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--light); margin-bottom: 0.2rem; }
}

@media print {
  .site-header, .site-nav, .article-sidebar, .site-footer, .breadcrumb { display: none; }
  h1,h2,h3 { page-break-after: avoid; }
  .timeline-figure, .field-example, .key-fact { page-break-inside: avoid; }
  .article-layout__inner, .timeline-band, .timeline-band__content, .return-signal-row { display: block; }
  .timeline-band--silence .timeline-band__duration { color: black; }
  .timeline-band--silence .timeline-band__move { color: black; }
  .wrap, .wrap--wide { max-width: 100%; padding: 0; }
}
