/* 월·연도 흐름: 한 번의 개관 뒤에 세 시기씩 묶어 읽는 편집형 타임라인. */
.premium-flow-editorial {
  --flow-ink: #252c30;
  --flow-muted: #626861;
  --flow-high: #315b50;
  --flow-low: #82513f;
  margin: 40px 0;
  color: var(--flow-ink);
}
.premium-flow-editorial .flow-editorial-heading { margin-bottom: 24px; }
.premium-flow-editorial .flow-editorial-kicker { margin: 0 0 10px; color: var(--flow-muted); font: 600 11px/1.6 var(--sans); letter-spacing: .09em; }
.premium-flow-editorial .flow-editorial-heading h3 { margin: 0 0 10px; color: var(--flow-ink); font: 700 25px/1.45 var(--serif); letter-spacing: -.04em; }
.premium-flow-editorial .flow-editorial-heading > p:last-child { margin: 0; color: var(--flow-muted); font: 13px/1.7 var(--sans); }
.premium-flow-editorial .flow-editorial-overview { padding: 24px 20px 18px; border: 1px solid #dcd9cf; background: #f4f4eb; }
.premium-flow-editorial .flow-rhythm-strip { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; gap: 6px; margin: 0; padding: 0; list-style: none; }
.premium-flow-editorial .flow-rhythm-strip li { display: flex; min-width: 0; flex-direction: column; justify-content: end; align-items: center; gap: 8px; }
.premium-flow-editorial .flow-rhythm-bar { display: block; width: 100%; height: var(--flow-height); background: #afb9ac; border-radius: 3px 3px 0 0; }
.premium-flow-editorial .flow-rhythm-strip .is-high .flow-rhythm-bar { background: var(--flow-high); }
.premium-flow-editorial .flow-rhythm-strip .is-low .flow-rhythm-bar { background: var(--flow-low); }
.premium-flow-editorial .flow-rhythm-strip small { color: #555e54; font: 10px/1.2 var(--sans); font-variant-numeric: tabular-nums; }
.premium-flow-editorial .flow-rhythm-key { margin: 14px 0 22px; color: var(--flow-muted); font: 11px/1.7 var(--sans); }
.premium-flow-editorial .flow-editorial-highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; border-top: 1px solid #d5d8cc; padding-top: 18px; }
.premium-flow-editorial .flow-editorial-highlights > div { min-width: 0; }
.premium-flow-editorial .flow-editorial-highlights span { display: block; margin-bottom: 5px; color: var(--flow-ink); font: 600 13px/1.5 var(--sans); }
.premium-flow-editorial .flow-editorial-highlights strong { color: var(--flow-high); font: 700 29px/1.3 var(--serif); }
.premium-flow-editorial .flow-editorial-highlights .is-low strong { color: var(--flow-low); }
.premium-flow-editorial .flow-editorial-highlights p { margin: 8px 0 4px; font: 500 13px/1.7 var(--sans); overflow-wrap: anywhere; }
.premium-flow-editorial .flow-editorial-highlights > p { grid-column: 1 / -1; }
.premium-flow-editorial .flow-editorial-highlights small { color: var(--flow-muted); font: 11px/1.6 var(--sans); }
.premium-flow-editorial .flow-editorial-note { margin: 20px 0 0; padding-top: 14px; border-top: 1px solid #d5d8cc; color: #535b53; font: 11px/1.8 var(--sans); }
.premium-flow-editorial .flow-editorial-group { margin-top: 38px; }
.premium-flow-editorial .flow-editorial-group > h4 { display: flex; align-items: baseline; gap: 12px; margin: 0; padding-bottom: 14px; border-bottom: 2px solid #353e38; color: var(--flow-ink); font: 600 14px/1.7 var(--sans); }
.premium-flow-editorial .flow-editorial-group > h4 > span:first-child { flex: 0 0 auto; color: #6b745f; font: 500 25px/1.2 var(--serif); }
.premium-flow-editorial .flow-editorial-entry { position: relative; padding: 24px 0; border-bottom: 1px solid #dddcd3; }
.premium-flow-editorial .flow-entry-heading { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: baseline; gap: 4px 8px; }
.premium-flow-editorial .flow-entry-position { color: var(--flow-muted); font: 11px/1.4 var(--sans); font-variant-numeric: tabular-nums; }
.premium-flow-editorial .flow-entry-heading h5 { margin: 0; color: var(--flow-ink); font: 700 20px/1.5 var(--serif); letter-spacing: -.03em; }
.premium-flow-editorial .flow-entry-score { color: #50594e; font: 600 14px/1.5 var(--sans); font-variant-numeric: tabular-nums; white-space: nowrap; }
.premium-flow-editorial .flow-entry-badge { grid-column: 2 / -1; justify-self: start; margin-top: 3px; padding: 2px 7px; color: var(--flow-high); background: #e8eee7; font: 600 10px/1.7 var(--sans); }
.premium-flow-editorial .is-high .flow-entry-score { color: var(--flow-high); }
.premium-flow-editorial .is-low .flow-entry-score { color: var(--flow-low); }
.premium-flow-editorial .is-low .flow-entry-badge { color: var(--flow-low); background: #f2e9df; }
.premium-flow-editorial .flow-entry-meta { margin: 8px 0 18px 32px; color: var(--flow-muted); font: 12px/1.7 var(--sans); word-break: keep-all; overflow-wrap: anywhere; }
.premium-flow-editorial .flow-entry-reading { margin-left: 32px; }
.premium-flow-editorial .flow-entry-reading p { margin: 0 0 13px; color: var(--flow-ink); font: 400 15px/1.9 var(--serif); word-break: keep-all; overflow-wrap: anywhere; }
.premium-flow-editorial .flow-entry-reading p:last-child { margin-bottom: 0; }
.premium-flow-editorial .flow-entry-reading p > span { display: block; margin-bottom: 3px; color: var(--flow-muted); font: 600 10px/1.6 var(--sans); letter-spacing: .03em; }
.premium-flow-editorial .flow-entry-reading .flow-entry-juwol { margin-top: 17px; padding-left: 12px; border-left: 2px solid #b4bda8; font-weight: 500; }
.premium-flow-editorial .is-high .flow-entry-current { font-size: 17px; font-weight: 600; }
.premium-flow-editorial .is-low .flow-entry-action { font-weight: 600; }
@media (max-width: 400px) {
  .premium-flow-editorial .flow-editorial-overview { padding: 20px 14px 16px; }
  .premium-flow-editorial .flow-rhythm-strip { gap: 4px; }
  .premium-flow-editorial .flow-editorial-group > h4 { font-size: 12px; gap: 8px; }
  .premium-flow-editorial .flow-entry-heading { grid-template-columns: 20px minmax(0, 1fr) auto; gap: 4px 6px; }
  .premium-flow-editorial .flow-entry-heading h5 { font-size: 19px; }
  .premium-flow-editorial .flow-entry-meta, .premium-flow-editorial .flow-entry-reading { margin-left: 26px; }
}
@media print {
  .premium-flow-editorial { margin: 8mm 0; }
  .premium-flow-editorial .flow-editorial-overview { break-inside: avoid; page-break-inside: avoid; }
  .premium-flow-editorial .flow-editorial-group, .premium-flow-editorial .flow-editorial-entry, .premium-flow-editorial .flow-entry-reading { display: block; break-inside: auto; page-break-inside: auto; }
  .premium-flow-editorial .flow-editorial-group { margin-top: 7mm; }
  .premium-flow-editorial .flow-editorial-group > h4, .premium-flow-editorial .flow-entry-heading, .premium-flow-editorial .flow-entry-meta { break-after: avoid; page-break-after: avoid; }
  .premium-flow-editorial .flow-editorial-entry { padding-block: 5mm; }
  .premium-flow-editorial .flow-entry-reading p { font-size: 10pt; line-height: 1.8; orphans: 3; widows: 3; }
  .premium-flow-editorial .is-high .flow-entry-current { font-size: 11pt; }
}

@media screen {
  .premium-flow-editorial { --flow-ink: var(--ui-ink); --flow-muted: var(--ui-muted); }
  .premium-flow-editorial .flow-editorial-overview { border-radius: var(--ui-radius); border-color: var(--ui-line); background: var(--ui-surface); }
  .premium-flow-editorial .flow-editorial-group > h4 { border-bottom-color: var(--ui-gold); }
  .premium-flow-editorial .flow-entry-badge { border-radius: 6px; padding: 4px 8px; font-size: 11px; }
  .premium-flow-editorial :is(.flow-editorial-kicker,.flow-rhythm-key,.flow-editorial-note,.flow-editorial-highlights small) { font-size: 12px; }
  .premium-flow-editorial .flow-editorial-entry { padding-block: 26px; border-color: var(--ui-line); }
}
