.public-timeline{margin:32px 0;--timeline-line:var(--accent);--timeline-card:var(--surface)}
.timeline-track{list-style:none;margin:24px 0;padding:0;position:relative;display:grid;gap:24px}
.timeline-track::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);background:var(--timeline-line)}
.timeline-year{position:relative;z-index:1;display:flex;justify-content:center;margin:8px 0;list-style:none}
.timeline-year span{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:var(--accent);color:var(--button-text,#fff);font-size:22px;font-weight:700;border:5px solid var(--bg);box-sizing:border-box}
.timeline-item{position:relative;list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:start}
.timeline-dot{position:absolute;left:50%;top:24px;width:15px;height:15px;border-radius:50%;border:3px solid var(--bg);background:var(--accent);transform:translateX(-50%);box-sizing:content-box}
.timeline-card{min-width:0;grid-column:1;background:var(--timeline-card);border-radius:12px;padding:20px;box-shadow:0 3px 14px #00000012;position:relative;border:1px solid var(--border)}
.timeline-right .timeline-card{grid-column:3}
.timeline-card::after{content:"";position:absolute;top:27px;right:-8px;width:14px;height:14px;background:var(--timeline-card);border-top:1px solid var(--border);border-right:1px solid var(--border);transform:rotate(45deg)}
.timeline-right .timeline-card::after{left:-8px;right:auto;transform:rotate(225deg)}
.timeline-card h3{margin:12px 0 8px;overflow-wrap:anywhere}.timeline-card p{overflow-wrap:anywhere}.timeline-card-date{font-weight:600;margin:0 0 12px}.timeline-card img{width:100%;height:auto;max-height:280px;object-fit:cover;border-radius:6px}
.timeline-card summary{cursor:pointer;color:var(--accent);font-weight:600;min-height:32px;padding:8px 0}.timeline-story-full{margin-top:16px}.timeline-story-full img{width:100%;height:auto;max-height:450px;object-fit:contain}.timeline-story-date{font-weight:600}.timeline-dialog .richtext{overflow-wrap:anywhere}
.timeline-dialog{width:min(820px,calc(100vw - 32px));max-width:820px;max-height:calc(100dvh - 40px);padding:0;overflow:hidden;box-sizing:border-box}
.timeline-dialog:modal{display:flex;flex-direction:column}.timeline-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.timeline-dialog h2{margin:0;font-size:22px;overflow-wrap:anywhere}.timeline-dialog [data-timeline-close]{width:32px;height:32px;min-height:32px;padding:0;flex:0 0 32px;font-size:24px}.timeline-dialog>[data-timeline-dialog-body]{padding:0 22px 20px;overflow:auto;overscroll-behavior:contain;min-height:0}.timeline-dialog>footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.timeline-dialog footer button{font-size:14px;min-height:36px;padding:6px 10px}.timeline-dialog footer a{font-size:14px}
.timeline-single .timeline-track::before{left:42px}.timeline-single .timeline-year{justify-content:start}.timeline-single .timeline-item{display:block;padding-left:96px}.timeline-single .timeline-dot{left:42px}.timeline-single .timeline-card::after{left:-8px;right:auto;transform:rotate(225deg)}
.timeline-date-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.timeline-date-inputs input{width:100%}.story-text-toolbar{display:flex;gap:4px;flex-wrap:wrap}.story-text-toolbar button{width:32px;height:32px;min-height:32px;padding:4px}.story-text-toolbar select{width:auto!important}.story-text-toolbar .icon{width:16px;height:16px}#story-richtext .tiptap{min-height:260px;max-height:560px;overflow:auto;border:1px solid var(--border);border-radius:6px;padding:14px;background:var(--surface)}
@media(max-width:650px){.timeline-track::before{left:30px}.timeline-year{justify-content:start}.timeline-year span{width:60px;height:60px;font-size:17px;border-width:3px}.timeline-item{display:block;padding-left:64px}.timeline-dot{left:30px}.timeline-card{padding:14px}.timeline-card::after{left:-8px;right:auto;transform:rotate(225deg)}.timeline-single .timeline-track::before,.timeline-single .timeline-dot{left:30px}.timeline-single .timeline-item{padding-left:64px}.timeline-dialog>header,.timeline-dialog>footer{padding:12px}.timeline-dialog>[data-timeline-dialog-body]{padding:0 12px 12px}.timeline-dialog h2{font-size:19px}.timeline-dialog footer{flex-wrap:wrap}.timeline-dialog footer a{order:3;flex-basis:100%;text-align:center}}
@media(prefers-reduced-motion:no-preference){.timeline-dialog[open]{animation:timeline-fade .16s ease-out}@keyframes timeline-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}

.timeline-dot.has-date{display:grid;place-items:center;width:42px;height:42px;border-width:3px;font-size:11px;font-weight:700;color:var(--button-text,#fff);line-height:1;box-sizing:border-box}

html dialog.timeline-dialog[open]{overflow:hidden;max-height:calc(100dvh - 40px);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 70px #0004}
html dialog.timeline-dialog>[data-timeline-dialog-body]{flex:1 1 auto;min-height:0}
.timeline-dialog>header{position:static}

.timeline-dialog>footer{flex-direction:row}
.timeline-card figure,.timeline-story-full figure{margin:12px 0}
.public-timeline figcaption{font-size:13px;color:var(--muted);margin-top:4px}
