@font-face{font-family:DM;src:url('assets/dm-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--paper:#fafbfc;--ink:#242930;--muted:#7b828c;--border:#e0e4e9;--line:#c5ccd4;--header:76px;--bridge:78px;--accent:#6388b0;--accent-soft:#e9eff6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:DM,Arial,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}h1,h2,h3,p,figure{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:0;background:none;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation;transition:color .18s,background .18s,border-color .18s}button:hover,a:hover{color:#426c9b}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #6388b0;outline-offset:4px}[hidden]{display:none!important}svg{display:block;width:19px;height:19px;flex-shrink:0}::selection{background:#dce7f3}.skip-link{position:fixed;top:-70px;left:10px;background:var(--ink);color:#fff;padding:12px;z-index:100}.skip-link:focus{top:10px}.icon-button{display:inline-flex;justify-content:center;align-items:center;width:38px;height:40px;padding:9px;border-radius:6px;position:relative}.icon-button:hover{background:#eef1f4}.icon-button[aria-pressed=true]{color:#426c9b;background:#e9eff6}
.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--border);background:rgba(250,251,252,.97);height:var(--header)}.header-shell{max-width:1240px;margin:auto;padding:0 36px;display:flex;align-items:center;justify-content:space-between;height:100%;position:relative;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:600;letter-spacing:-.65px;line-height:1.2}.brand-period{color:#7094b7}.brand small{font-size:9px;font-weight:400;letter-spacing:.55px;display:block;color:var(--muted);margin-top:4px}.brand-mark{height:30px;width:20px;display:block;position:relative;border-left:1.5px solid var(--ink);margin-left:6px}.brand-mark i{position:absolute;left:-4px;width:6px;height:6px;border-radius:50%;background:var(--paper);border:1.5px solid var(--ink)}.brand-mark i:nth-child(1){top:0}.brand-mark i:nth-child(2){top:12px;background:#7094b7;border-color:#7094b7}.brand-mark i:nth-child(3){bottom:0}.brand-mark:after{content:'';position:absolute;width:10px;height:1px;background:var(--ink);top:3px;left:2px}#current-date{font-weight:500;font-variant-numeric:tabular-nums}.header-actions{display:flex;align-items:center;gap:8px}.saved-count{position:absolute;right:0;top:0;font-size:8px;background:#426c9b;color:white;border-radius:8px;min-width:13px;line-height:13px;padding:0 3px}
.timeline-shell{max-width:1080px;padding:0 32px;margin:auto}.timeline-caption{display:flex;justify-content:space-between;color:#959ba4;font-size:8px;letter-spacing:1.2px;margin:30px 0 28px}.timeline{position:relative;isolation:isolate;min-height:180px}.timeline:before{content:'';position:absolute;left:50%;transform:translateX(-50%);width:1.5px;top:12px;bottom:0;background:var(--line);z-index:-1}.year-marker{position:relative;width:64px;height:31px;display:flex;align-items:center;justify-content:center;border:1px solid #cbd2db;background:var(--paper);font-size:13px;font-weight:600;letter-spacing:.7px;border-radius:30px;margin:0 auto 37px;z-index:3}.year-marker:not(:first-child){margin-top:13px;margin-bottom:38px}.day-group{position:relative;padding-top:83px;padding-bottom:57px;scroll-margin-top:105px}.day-date{position:absolute;top:0;left:50%;transform:translateX(-50%);width:130px;text-align:center;z-index:2}.date-type{display:flex;align-items:center;justify-content:center;gap:7px;background:var(--paper);padding:3px 10px}.date-day{font-size:30px;line-height:1;font-weight:600;letter-spacing:-1px}.date-rest{display:flex;flex-direction:column;gap:3px;font-size:9px;text-align:left;letter-spacing:1px;line-height:1.2}.date-rest small{font-size:9px;color:var(--muted);letter-spacing:.4px}.day-count{display:block;background:var(--paper);font-size:9px;color:var(--muted);padding:6px 0 8px}.date-node{position:absolute;width:15px;height:15px;border:3px solid var(--accent);background:var(--paper);border-radius:50%;left:calc(50% - 7.5px);top:96px;box-shadow:0 0 0 5px var(--paper)}.day-group.is-current .date-node{background:var(--accent);box-shadow:0 0 0 5px var(--paper),0 0 0 6px var(--accent-soft)}.day-group.is-current .date-day{color:var(--accent)}.memes{display:grid;grid-template-columns:minmax(0,1fr) calc(var(--bridge)*2) minmax(0,1fr);row-gap:32px;align-items:start}.meme-branch{position:relative;min-width:0;scroll-margin-top:110px}.side-left{grid-column:1}.side-right{grid-column:3}.meme-branch.side-right.stagger{margin-top:43px}.meme-branch:before{content:'';position:absolute;top:20px;width:var(--bridge);height:1px;background:var(--line)}.side-left:before{left:100%}.side-right:before{right:100%}.meme-branch:after{content:'';position:absolute;width:7px;height:7px;background:var(--accent);border:1px solid var(--paper);border-radius:50%;top:17px;z-index:1}.side-left:after{right:calc(-1*var(--bridge) - 3.5px)}.side-right:after{left:calc(-1*var(--bridge) - 3.5px)}.meme-display{display:block;position:relative;width:100%;padding:0;background:white;color:#17191c;border:1px solid #dfe3e8;border-radius:7px;overflow:hidden;box-shadow:0 2px 6px #24293003}.meme-display:hover{color:#17191c}.meme-display img{display:block;width:100%;height:auto;object-fit:contain}.zoom-cue{position:absolute;right:10px;bottom:10px;background:#ffffffdf;padding:6px;border-radius:4px;opacity:0;transition:opacity .15s}.zoom-cue svg{width:15px;height:15px}.meme-display:hover .zoom-cue,.meme-display:focus-visible .zoom-cue{opacity:1}.meme-credit{font-size:9px;line-height:1.6;color:#959ba4;margin-top:9px;padding:0 2px}.meme-note{margin-top:16px;padding:0 2px;max-width:370px}.meme-note h2{font-size:13px;font-weight:500;line-height:1.55;margin-bottom:5px}.meme-note p{font-size:11px;line-height:1.65;color:var(--muted)}.context-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.context-button{display:flex;align-items:center;gap:6px;font-size:10px;color:#5c7490;min-height:34px;padding:4px 0}.context-button svg{width:12px;height:12px}.context-button .source-count{font-size:9px;color:#959ba4;letter-spacing:0;margin-left:3px}.note-actions{display:flex;gap:2px}.note-actions .icon-button{width:30px;height:32px;padding:7px}.note-actions svg{width:14px;height:14px}.note-actions .is-saved{color:#426c9b;background:#edf2f7}.timeline-end{position:relative;text-align:center;padding:0 0 51px}.timeline-end:before{content:'';width:1.5px;height:20px;background:var(--line);position:absolute;left:50%;top:0;transform:translateX(-50%)}.end-node{display:block;position:relative;top:17px;margin:0 auto 37px;width:9px;height:9px;border:1.5px solid #9aa4b0;border-radius:50%;background:var(--paper)}.timeline-end p{font-size:11px;color:var(--muted)}.timeline-end button{font-size:10px;display:inline-flex;align-items:center;gap:7px;padding:12px;margin-top:6px}.timeline-end button svg{width:12px;height:12px}.filter-status{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;margin:22px 0;padding:12px 16px;background:#eaf0f7;border:1px solid #d5e0ee;border-radius:5px;color:#426c9b}.filter-status button{display:flex;align-items:center;gap:8px}.filter-status svg{width:14px;height:14px}.empty-state{position:relative;text-align:center;padding:40px 20px;background:var(--paper);border:1px solid var(--border);border-radius:6px}.empty-state h2{font-size:20px;margin:14px 0;font-weight:500}.empty-state p{font-size:13px;line-height:1.6;color:var(--muted)}.empty-state>svg{margin:auto;color:#6388b0}.empty-state button{background:var(--ink);color:white;padding:11px 17px;border-radius:5px;font-size:12px;margin-top:20px}
footer{border-top:1px solid var(--border);padding:24px 36px;max-width:1160px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:9px;color:#9097a0}footer>span:first-child{font-size:14px;font-weight:500;letter-spacing:-.4px;color:var(--ink)}footer button{font-size:10px;display:flex;gap:6px;align-items:center}footer svg{width:12px;height:12px}.back-top{position:fixed;bottom:20px;right:20px;z-index:20;border:1px solid var(--border);background:#ffffffed;box-shadow:0 3px 12px #00000006}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,15px);background:var(--ink);color:white;font-size:12px;padding:13px 20px;border-radius:5px;z-index:70;max-width:calc(100% - 32px);width:max-content;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
dialog{border:0;color:var(--ink);padding:0;background:white;overscroll-behavior:contain}dialog::backdrop{background:rgba(28,35,45,.37);backdrop-filter:blur(3px)}.dialog-close{position:absolute;top:17px;right:18px;z-index:3;background:white}.context-dialog{margin:0 0 0 auto;width:510px;max-width:100%;height:100dvh;max-height:100dvh;box-shadow:-10px 0 35px #18222d10}.context-dialog[open]{animation:enter .2s ease-out}.context-content{padding:65px 34px 35px}.context-kicker{font-size:10px;color:#6388b0;letter-spacing:1px;margin-bottom:14px}.context-content h2{font-size:26px;line-height:1.3;font-weight:600;letter-spacing:-.6px;margin:0 0 15px}.context-meta{font-size:11px;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--border);margin-bottom:22px}.context-content p{font-size:14px;line-height:1.8;color:#626b77;margin:10px 0}.context-content h3{font-size:13px;font-weight:600;margin:27px 0 10px}.source-link{display:flex;align-items:start;justify-content:space-between;gap:15px;padding:15px;border:1px solid var(--border);border-radius:5px;margin:10px 0}.source-link b{font-size:11px;font-weight:600;color:#527399;display:block;margin-bottom:7px}.source-link span{font-size:12px;line-height:1.55;display:block}.source-link small{font-size:10px;color:var(--muted);display:block;margin-top:8px}.source-link svg{width:15px;height:15px}.credit-detail{padding:13px 0;border-top:1px solid var(--border)}.credit-detail strong{font-size:11px;font-weight:500}.credit-detail p{font-size:12px;margin:7px 0}.credit-detail a{font-size:11px;color:#527399;text-decoration:underline;text-underline-offset:3px}.context-return{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;font-size:12px;padding:13px;background:var(--ink);color:white;border-radius:5px;margin-top:28px}.context-return:hover{background:#39485a;color:white}.context-return svg{width:15px;height:15px}.search-dialog{width:580px;max-width:calc(100% - 32px);border:1px solid var(--border);border-radius:10px;margin:95px auto 0;max-height:calc(100dvh - 120px);padding:23px}.search-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.search-heading h2{font-size:21px;font-weight:500;letter-spacing:-.5px}.search-field{display:flex;align-items:center;gap:10px;border:1px solid #bdc8d5;border-radius:5px;padding:0 12px;margin-bottom:16px}.search-field input{font-size:14px;border:0;outline:none;width:100%;padding:13px 0;min-width:0}.search-field:focus-within{outline:2px solid #6388b0;outline-offset:2px}.search-field input:focus-visible{outline:none}.search-field svg{width:17px;height:17px;color:var(--muted)}.search-result{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid var(--border)}.search-result strong{display:block;font-size:13px;font-weight:500;line-height:1.4}.search-result small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.search-result svg{width:16px;height:16px}.search-empty{font-size:13px;color:var(--muted);padding:25px 0;text-align:center}.image-dialog{width:max-content;max-width:min(900px,95vw);max-height:92dvh;border-radius:7px;overflow:auto}.image-dialog .dialog-close{position:fixed;top:16px;right:16px;border:1px solid var(--border)}.image-dialog img{display:block;max-height:77dvh;max-width:100%;object-fit:contain;margin:auto;width:auto}.lightbox-credit{font-size:11px;padding:15px 20px;color:var(--muted);background:var(--paper)}noscript{display:block;text-align:center;padding:30px}
@keyframes enter{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1400px){.timeline-shell{max-width:1120px}.header-shell{max-width:1280px}}
@media(max-width:1000px){:root{--bridge:63px}.timeline-shell{padding:0 28px}.header-shell{padding:0 27px}.brand{font-size:19px}.date-day{font-size:28px}.date-node{width:13px;height:13px;left:calc(50% - 6.5px);top:97px}}
@media(max-width:700px){
 :root{--header:96px;--bridge:30px}
 .site-header{height:96px}.header-shell{padding:0 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:60px 35px;gap:0 8px}.brand{font-size:18px;letter-spacing:-.6px;gap:6px}.brand small{font-size:8px;letter-spacing:.1px;margin-top:3px}.brand-mark{height:25px;width:15px;margin-left:3px}.brand-mark i:nth-child(2){top:10px}.brand-mark:after{width:8px}.header-actions{gap:3px}.header-actions .icon-button{width:34px;height:38px;padding:8px}.header-actions svg{width:17px;height:17px}.timeline-caption{font-size:7px;letter-spacing:.8px;margin:22px 0 20px}.timeline-caption>span:last-child{display:none}.date-day{font-size:19px;letter-spacing:-.4px;line-height:1.2}.date-rest{font-size:10px;display:flex;flex-direction:row;align-items:center;letter-spacing:.5px;gap:5px}.date-rest small{font-size:10px;letter-spacing:.5px}.day-count{font-size:9px;padding:0;color:#8a929d}.meme-display{border-radius:5px}.meme-credit{font-size:9px;line-height:1.5;margin-top:7px}.meme-note h2{font-size:14px;line-height:1.5}.meme-note p{font-size:12px;line-height:1.65}.context-actions{margin-top:5px}.context-button{font-size:11px;min-height:38px}.context-button .source-count{font-size:9px}.note-actions .icon-button{width:34px;height:38px}.note-actions svg{width:15px;height:15px}.filter-status{font-size:11px;padding:11px 12px}.empty-state{padding:30px 18px}.empty-state h2{font-size:19px}.empty-state p{font-size:12px}.back-top{bottom:12px;right:12px;width:35px;height:37px}footer{display:flex;flex-direction:column;gap:12px;padding:24px 16px 28px;text-align:center}footer>span:nth-child(2){font-size:8px}footer>span:first-child{font-size:15px}footer button{font-size:10px}.toast{font-size:11px;bottom:16px}.context-dialog{width:100%;height:auto;max-height:92dvh;margin:auto 0 0;border-radius:15px 15px 0 0}.context-dialog:before{content:'';position:absolute;top:9px;left:calc(50% - 18px);width:36px;height:4px;background:#d5dae1;border-radius:5px}.context-content{padding:61px 25px 30px}.context-content h2{font-size:26px}.context-content p{font-size:14px}.dialog-close{top:16px;right:14px}.search-dialog{padding:17px;margin:70px auto 0;max-height:calc(100dvh - 90px)}.search-heading{margin-bottom:14px}.search-heading h2{font-size:20px}.search-field input{font-size:16px}.search-result strong{font-size:14px}.search-result small{font-size:11px}.image-dialog img{max-height:75dvh}.image-dialog .dialog-close{top:9px;right:9px}.lightbox-credit{font-size:10px}.context-dialog[open]{animation:mobile-enter .2s ease-out}
}
@media(max-width:360px){.header-shell{padding:0 12px;gap:0 4px}.brand{font-size:17px;gap:3px}.brand small{font-size:7px}.brand-mark{width:12px}.header-actions{gap:1px}.header-actions .icon-button{width:31px}.timeline-caption{font-size:6.5px}.day-count{font-size:8px}}
@keyframes mobile-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.day-intro{position:relative;max-width:500px;margin:0 auto 25px;padding:2px 18px;background:var(--paper);color:#69727e;font-size:13px;line-height:1.7;text-align:center}.day-intro p+p{margin-top:9px}
@media(min-width:701px){.timeline-caption{margin:21px 0 19px}.year-marker{margin-bottom:24px}.year-marker:not(:first-child){margin-bottom:24px}.day-group{padding-top:70px;padding-bottom:44px}.day-date .date-node{display:none}.memes{position:relative}.memes:before{content:'';position:absolute;left:calc(50% - 7.5px);top:13px;width:15px;height:15px;border:3px solid var(--accent);background:var(--paper);border-radius:50%;box-shadow:0 0 0 5px var(--paper);z-index:2}.day-group.is-current .memes:before{background:var(--accent);box-shadow:0 0 0 5px var(--paper),0 0 0 6px var(--accent-soft)}.meme-branch.side-right.stagger{margin-top:30px}}

html {
  scrollbar-gutter: stable;
}

.day-group {
  padding: 0;
  scroll-margin-top: calc(var(--header) + 10px);
}
.day-date {
  position: sticky;
  top: var(--header);
  left: auto;
  z-index: 6;
  width: 100%;
  min-height: 62px;
  margin: 0;
  transform: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: var(--paper);
}
.day-date .day-count {
  padding: 4px 0 3px;
}
.day-date.is-pinned {
  box-shadow: 0 1px 0 var(--border);
}
.day-date + .day-intro,
.day-date + .memes {
  margin-top: 13px;
}
.memes {
  padding-bottom: 44px;
}
.date-type {
  outline-offset: 3px;
}
.day-intro {
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.timeline {
  overflow-anchor: none;
}
.meme-caption {
  margin-top: 10px;
  color: #495461;
  font-size: 13px;
  line-height: 1.45;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.image-dialog .meme-caption {
  max-width: 700px;
  margin: 0 auto;
  padding: 10px 14px 0;
}
.meme-media {
  display: block;
}
.meme-display img:not([width]) {
  min-height: 110px;
}
.meme-unavailable {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 160px;
  padding: 28px 16px;
  font-size: 14px;
  color: #626c7a;
  background: #f2f5f8;
}
.meme-unavailable small,
.image-retry {
  font-size: 12px;
  color: #426c9b;
}
.image-retry {
  padding: 10px 12px;
}
.image-dialog #image-content {
  min-width: min(280px, 86vw);
}
.archive-status,
.batch-control {
  position: relative;
  margin: 14px 0;
  padding: 12px;
  text-align: center;
  color: #626c7a;
  font-size: 13px;
}
.archive-status button,
.batch-control button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 5px 13px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: white;
  color: #426c9b;
  font-size: 12px;
}
.archive-status button {
  margin-left: 10px;
}
.history-empty {
  padding: 12px 7px;
  font-size: 12px;
  color: #626c7a;
}

@media (max-width: 700px) {
  :root {
    --header: 60px;
  }
  .site-header {
    height: var(--header);
  }
  .header-shell {
    grid-template-rows: minmax(0, 1fr);
  }
  .timeline-shell {
    padding-inline: 12px;
  }
  .year-marker,
  .year-marker:not(:first-child) {
    width: 51px;
    height: 27px;
    margin: 0 auto 12px;
    border-radius: 5px;
    font-size: 11px;
    letter-spacing: .4px;
  }
  .day-group {
    --meme-gap: 24px;
  }
  .day-date {
    --date-node-inset: 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content minmax(0, 1fr);
    row-gap: 7px;
    align-items: center;
    min-height: 0;
    padding-block: var(--date-node-inset) 5px;
  }
  .day-date:not(.is-pinned)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.5px;
    height: var(--date-node-inset);
    background: var(--line);
    transform: translateX(-50%);
  }
  .date-type {
    grid-area: 2 / 2;
    padding: 0;
    gap: 5px;
  }
  .day-date .day-count {
    grid-area: 2 / 3;
    justify-self: end;
    padding: 0 0 0 6px;
    text-align: right;
    color: #626c7a;
    overflow-wrap: anywhere;
  }
  .day-date .date-node {
    position: static;
    grid-area: 1 / 2;
    justify-self: center;
    width: 12px;
    height: 12px;
    border-width: 2px;
  }
  .day-date + .day-intro {
    margin-top: 0;
  }
  .day-intro {
    max-width: none;
    margin: 0 0 var(--meme-gap);
    padding: 5px 0 3px;
    font-size: 13px;
    line-height: 1.6;
    text-align: left;
  }
  .day-date + .memes {
    margin-top: var(--meme-gap);
  }
  .memes {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--meme-gap);
    padding-bottom: 28px;
  }
  .meme-branch {
    grid-column: 1;
    background: var(--paper);
  }
  .meme-branch.side-right.stagger {
    margin-top: 0;
  }
  .meme-branch::before {
    content: none;
  }
  .meme-branch::after {
    top: calc(var(--meme-gap) / -2);
    left: 50%;
    right: auto;
    width: 6px;
    height: 6px;
    transform: translate(-50%, -50%);
  }
  .meme-note {
    max-width: none;
    margin-top: 12px;
  }
  .timeline-end {
    padding-bottom: 37px;
  }
}
.history-sidebar {
  display: none;
}
.header-actions .history-open {
  width: 44px;
  height: 44px;
  border: 1px solid var(--border);
  background: white;
}
.header-actions .history-open:hover {
  background: #eef1f4;
}
.history-open svg {
  width: 19px;
  height: 19px;
}
.history-card {
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - var(--header) - 84px);
  overflow: hidden;
}
.history-card .history-nav {
  padding: 10px 11px 8px;
  overscroll-behavior: contain;
}
.history-card .history-year[open] > .history-year-toggle {
  background: #eef2f6;
}
.history-heading {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 16px;
  border-bottom: 1px solid var(--border);
}
.history-title {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.15px;
}
.history-title svg {
  color: #507397;
  width: 17px;
  height: 17px;
}
.history-nav {
  min-height: 0;
  overflow-y: auto;
  padding: 4px 12px 8px;
  scrollbar-width: thin;
  scrollbar-color: #cdd7e2 transparent;
}
.history-year + .history-year {
  border-top: 1px solid #edf0f3;
}
.history-year-toggle {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 7px;
  min-height: 42px;
  border-radius: 6px;
  cursor: pointer;
  list-style: none;
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.history-year-toggle::-webkit-details-marker {
  display: none;
}
.history-year-toggle svg {
  width: 14px;
  height: 14px;
  color: #697687;
  transform: rotate(-90deg);
}
.history-year[open] > .history-year-toggle svg {
  transform: none;
}
.history-year-toggle:hover,
.history-month:hover {
  background: #f2f5f8;
}
.history-months {
  display: grid;
  gap: 2px;
  list-style: none;
  margin: 5px 0 0;
  padding: 0 0 8px 22px;
}
.history-month {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  padding: 5px 9px;
  border-radius: 6px;
  color: #535e6c;
  font-size: 13px;
}
.history-month::before {
  content: '';
  flex: 0 0 6px;
  height: 6px;
  border-radius: 50%;
  background: #b5bfcb;
}
.history-month[aria-current="location"] {
  background: #e8f0f9;
  color: #2f5278;
  font-weight: 700;
}
.history-month[aria-current="location"]::before {
  background: #487cae;
}
.history-year-toggle:focus-visible,
.history-month:focus-visible {
  outline: 2px solid #6388b0;
  outline-offset: -2px;
}

.history-dialog {
  width: min(100%, 440px);
  max-width: 100%;
  max-height: min(76dvh, 580px);
  margin: auto auto 0;
  padding-bottom: env(safe-area-inset-bottom);
  border-radius: 16px 16px 0 0;
  overflow: hidden;
  box-shadow: 0 -12px 40px #18222d18;
}
.history-dialog[open] {
  display: flex;
  flex-direction: column;
  animation: mobile-enter .18s ease-out;
}
.history-dialog .history-heading {
  padding: 9px 14px 9px 20px;
}
.history-dialog .history-title {
  font-size: 17px;
}
.history-dialog .history-heading .icon-button {
  width: 44px;
  height: 44px;
}
.history-dialog .history-nav {
  padding: 4px 16px 12px;
  overscroll-behavior: contain;
}
.history-dialog .history-year-toggle,
.history-dialog .history-month {
  min-height: 44px;
  font-size: 15px;
}

@media (max-width: 700px) {
  .history-dialog {
    width: 100%;
  }
}

@media (min-width: 1120px) {
  .header-shell {
    max-width: 1408px;
  }
  .header-actions .history-open {
    display: none;
  }
  .page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 224px;
    gap: 36px;
    max-width: 1408px;
    margin-inline: auto;
    padding-inline: 36px;
  }
  .timeline-shell {
    --bridge: clamp(46px, calc(12vw - 88px), 78px);
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }
  .history-sidebar {
    display: block;
    position: sticky;
    align-self: start;
    top: calc(var(--header) + 21px);
    margin-top: 21px;
  }
}
