:root{
  --zl-timeline-slot:224px;
  --zl-timeline-label:178px;
}
.timeline-view{min-height:100vh;background:var(--zl-paper);padding:34px 0 64px}
.timeline-shell{width:100%;margin:0 auto}
.timeline-head{display:grid;grid-template-columns:minmax(320px,480px) 1fr;gap:32px;align-items:end;padding:0 34px 28px}
.timeline-sub{justify-self:end;margin-top:0;color:var(--zl-muted);font-size:.75rem}
.timeline-search-wrap{position:relative;width:100%;justify-self:start}
.timeline-search-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--zl-line)}
.timeline-search-row:focus-within{border-bottom-color:var(--zl-gold)}
.timeline-search{min-width:0;flex:1;border:0;background:transparent;color:var(--zl-ink);padding:10px 2px;font:inherit;font-size:1rem;outline:none}
.timeline-share{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:0;background:transparent;color:var(--zl-muted);padding:0;cursor:pointer;opacity:.72;transition:opacity .14s ease,color .14s ease}
.timeline-share:hover,.timeline-share:focus-visible,.timeline-share.copied{color:var(--zl-navy);opacity:1;outline:none}
.timeline-share svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.timeline-share-status{position:absolute;right:0;top:calc(100% + 5px);min-height:16px;color:var(--zl-muted);font-size:.66rem;white-space:nowrap}
.timeline-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 34px 24px}
.timeline-chip,.timeline-all{border:0;background:transparent;color:var(--zl-navy);font:inherit;font-size:.76rem;cursor:pointer}
.timeline-chip{padding:7px 11px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(15,47,85,.10)}
.timeline-chip.active{background:var(--zl-navy);color:white;box-shadow:none}
.timeline-all{color:var(--zl-muted);padding:7px 5px}
.timeline-filter-panel{position:relative;z-index:40;display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;padding:0 34px 24px}
.timeline-facet{position:relative;min-width:176px;color:var(--zl-navy);font-size:.76rem}
.timeline-facet[hidden]{display:none}
.timeline-facet summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 11px;border:1px solid rgba(15,47,85,.12);border-radius:2px;background:rgba(255,255,255,.58);cursor:pointer;list-style:none;user-select:none}
.timeline-facet summary::-webkit-details-marker{display:none}
.timeline-facet summary:after{content:"⌄";margin-left:auto;color:var(--zl-gold);font-size:.8rem;line-height:1;transition:transform .14s ease}
.timeline-facet[open] summary{border-color:rgba(185,149,75,.65);background:white}
.timeline-facet[open] summary:after{transform:rotate(180deg)}
.timeline-facet summary:focus-visible,.timeline-facet-option:focus-visible,.timeline-reset:focus-visible{outline:2px solid var(--zl-gold);outline-offset:2px}
.timeline-facet-count{color:var(--zl-muted);font-size:.65rem;white-space:nowrap}
.timeline-facet-options{position:absolute;top:calc(100% + 5px);left:0;z-index:50;display:grid;gap:3px;width:max-content;min-width:100%;max-width:min(340px,calc(100vw - 36px));max-height:300px;overflow:auto;padding:8px;border:1px solid var(--zl-line);background:white;box-shadow:0 12px 30px rgba(15,47,85,.12)}
.timeline-facet-option{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;padding:7px 8px;color:var(--zl-muted);font:inherit;font-size:.72rem;text-align:left;cursor:pointer}
.timeline-facet-option:before{content:"";width:9px;height:9px;flex:0 0 9px;border:1px solid rgba(15,47,85,.28);border-radius:50%;background:white}
.timeline-facet-option[aria-pressed="true"]{color:var(--zl-navy)}
.timeline-facet-option[aria-pressed="true"]:before{border-color:var(--zl-gold);background:var(--zl-gold);box-shadow:inset 0 0 0 2px white}
.timeline-reset{border:0;background:transparent;padding:9px 6px;color:var(--zl-muted);font:inherit;font-size:.72rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.timeline-reset[hidden]{display:none}
.timeline-result-note{padding:0 34px 12px;color:var(--zl-muted);font-size:.72rem}
.timeline-board{border-top:1px solid var(--zl-line);border-bottom:1px solid var(--zl-line);background:white;overflow:auto;max-height:calc(100vh - 230px);scrollbar-gutter:stable}
.timeline-grid{display:grid;grid-template-columns:var(--zl-timeline-label) repeat(var(--zl-visible-count),var(--zl-timeline-slot));grid-template-rows:92px repeat(var(--zl-category-count),150px);min-width:max-content}
.timeline-corner{position:sticky;left:0;top:0;z-index:30;background:white;border-right:1px solid var(--zl-line)}
.timeline-year{position:sticky;top:0;z-index:20;background:white;display:flex;align-items:end;justify-content:center;text-align:center;padding:12px 10px 27px;color:var(--zl-muted);font-size:.68rem}
.timeline-year:after{content:"";position:absolute;left:0;right:0;bottom:17px;height:1px;background:var(--zl-gold)}
.timeline-year:before{content:"";position:absolute;left:50%;bottom:12px;width:10px;height:10px;border-radius:50%;background:var(--zl-gold);transform:translateX(-50%);box-shadow:0 0 0 4px white}
.timeline-label{position:sticky;left:0;z-index:15;background:white;display:flex;align-items:center;padding:16px 20px;border-right:1px solid var(--zl-line);border-top:1px solid var(--zl-line);color:var(--zl-navy);font-size:.82rem;font-weight:530}
.timeline-cell{display:flex;align-items:center;padding:12px;border-top:1px solid var(--zl-line)}
.timeline-card{width:100%;min-height:108px;border:1px solid rgba(15,47,85,.10);background:var(--zl-paper);padding:12px 13px;text-align:left;cursor:pointer;color:var(--zl-ink);transition:border-color .14s ease,transform .14s ease;background .14s ease}
.timeline-card:hover,.timeline-card:focus-visible{border-color:rgba(185,149,75,.72);transform:translateY(-1px);outline:none;background:white}
.timeline-card-k{color:var(--zl-gold);font-size:.61rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px}
.timeline-card-title{color:var(--zl-navy);font-size:.76rem;line-height:1.28;font-weight:540}
.timeline-empty{padding:54px 34px;color:var(--zl-muted);font-size:.9rem}
.reader-stage[hidden],.z-control[hidden]{display:none!important}

@media(max-width:900px){
  :root{--zl-timeline-slot:206px;--zl-timeline-label:160px}
  .timeline-head{grid-template-columns:minmax(280px,440px) 1fr;padding-left:22px;padding-right:22px}.timeline-controls,.timeline-filter-panel,.timeline-result-note{padding-left:22px;padding-right:22px}
}
@media(max-width:680px){
  .timeline-view{padding-top:24px}
  .timeline-head{display:block;padding:0 18px 24px}
  .timeline-search-wrap{width:100%;margin-top:0}
  .timeline-sub{margin-top:12px;text-align:left}
  .timeline-share-status{right:0}
  .timeline-controls,.timeline-filter-panel,.timeline-result-note{padding-left:18px;padding-right:18px}
  .timeline-filter-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .timeline-facet{min-width:0}
  .timeline-facet:first-child{grid-column:1/-1}
  .timeline-facet-options{position:static;width:100%;max-width:none;max-height:240px;box-shadow:none;margin-top:5px}
  .timeline-reset{justify-self:start}
  .timeline-board{max-height:none;border-bottom:0}
  .timeline-grid{display:block;min-width:0}
  .timeline-corner,.timeline-year,.timeline-label{display:none}
  .timeline-cell{border-top:0;padding:6px 18px}
  .timeline-cell:empty{display:none}
  .timeline-card{min-height:0;padding:14px 15px}
}
