body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg-alt)}.page-header{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-light));color:#fff;padding:3rem 2rem;text-align:center}.page-header h1{margin:0;font-size:2.5rem}.page-header p{margin:1rem 0 0;opacity:.9}.nav-links{display:flex;justify-content:center;gap:2rem;padding:1rem 2rem;background:#fff;border-bottom:1px solid var(--color-border)}.nav-links a{color:var(--color-text);text-decoration:none;font-weight:500}.nav-links a:hover{color:var(--color-accent)}.scrollspy-sidebar{position:fixed;left:2rem;top:50%;transform:translateY(-50%);width:180px;background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000014;padding:1.5rem;max-height:80vh;overflow-y:auto;z-index:100}.scrollspy-title{font-size:.85rem;font-weight:600;color:var(--color-accent);margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px}.scrollspy-list{list-style:none;padding:0;margin:0}.scrollspy-item{padding:.5rem .75rem;margin-bottom:.25rem;border-radius:6px;font-size:.9rem;color:var(--color-text-muted);cursor:pointer;transition:transform .3s ease,opacity .3s ease,box-shadow .3s ease;border-left:none}.scrollspy-item:hover{background:var(--color-bg-alt);color:var(--color-text)}.scrollspy-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.scrollspy-item.active{background:var(--color-accent-bg);color:var(--color-accent);font-weight:700}.scrollspy-item .year{font-weight:600;display:block;margin-bottom:.2rem}.scrollspy-item .event-title{font-size:.8rem;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-container{display:flex;justify-content:center;padding:3rem 2rem;gap:3rem}.timeline{max-width:800px;position:relative;flex:1}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--color-border-light);transform:translate(-50%)}.timeline-item{display:flex;margin-bottom:3rem;position:relative}.timeline-item:nth-child(odd){flex-direction:row-reverse}.timeline-content{width:45%;background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014;position:relative;transition:transform .3s ease,opacity .3s ease,box-shadow .3s ease}.timeline-content.in-view{box-shadow:0 8px 24px #0000001a;border:1px solid rgba(139,0,0,.2)}.timeline-item:nth-child(odd) .timeline-content{margin-right:auto;margin-left:5%}.timeline-item:nth-child(2n) .timeline-content{margin-left:auto;margin-right:5%}.timeline-dot{position:absolute;left:50%;top:1.5rem;width:16px;height:16px;background:var(--color-accent);border-radius:50%;transform:translate(-50%);border:3px solid white;box-shadow:0 0 0 2px var(--color-accent);transition:transform .3s ease,opacity .3s ease,box-shadow .3s ease}.timeline-item.in-view .timeline-dot{width:20px;height:20px;box-shadow:0 0 0 4px var(--color-accent-soft)}.timeline-date{font-size:.85rem;color:var(--color-accent);font-weight:700;margin-bottom:.5rem}.timeline-content h3{margin:0 0 .5rem;font-size:1.2rem;color:var(--color-text)}.timeline-content p{margin:0;color:var(--color-text-muted);font-size:.95rem;line-height:1.6}.timeline-tags{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.tag{font-size:.75rem;padding:2px 8px;border-radius:4px;background:var(--color-bg-alt);color:var(--color-text-muted)}.tag.people{background:var(--color-info-bg);color:var(--color-info)}.tag.places{background:var(--color-accent-bg);color:var(--color-accent)}.importance-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:700;margin-left:.5rem}.importance-s{background:gold;color:var(--color-text)}.importance-a{background:silver;color:var(--color-text)}.importance-b{background:var(--color-warning);color:#fff}@media (max-width: 1024px){.scrollspy-sidebar{display:none}.timeline-container{padding:2rem 1rem}}@media (max-width: 768px){.timeline:before{left:20px}.timeline-item{flex-direction:row!important}.timeline-content{width:calc(100% - 50px)!important;margin-left:50px!important;margin-right:0!important}.timeline-dot{left:20px!important}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}footer{background:#1a1a1a;color:var(--color-text-muted);text-align:center;padding:2rem;margin-top:4rem}
