.icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentColor}.icon-sm{width:.875em;height:.875em}.icon-lg{width:1.25em;height:1.25em}body.timeline-page{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}html.desktop-mode body.timeline-page,body.timeline-page.horizontal-mode{overflow-x:auto;overflow-y:hidden;will-change:scroll-position}html.desktop-mode .timeline-wrapper,body.timeline-page.horizontal-mode .timeline-wrapper{flex-direction:row;flex-wrap:nowrap;width:-moz-max-content;width:max-content;min-width:100vw;height:100vh}.timeline-header{text-align:center;padding:6.5rem 1rem 2rem;max-width:800px;margin:0 auto;transition:opacity .6s ease-out}.timeline-header.fade-out{opacity:0;pointer-events:none}.timeline-header h1{font-size:clamp(2rem,6vw,3.5rem);font-weight:700;line-height:1.1;margin-bottom:1rem}.timeline-header p{font-size:clamp(1rem,3vw,1.25rem);line-height:1.6;max-width:600px;margin:0 auto}.scroll-hint{position:fixed;bottom:30px;left:50%;transform:translate(-50%);z-index:50;animation:fadeInOut 3s ease-in-out infinite;transition:opacity .3s ease}.scroll-hint.hidden{opacity:0;pointer-events:none}@keyframes fadeInOut{0%,to{opacity:.4}50%{opacity:.8}}.nav-arrow{display:none;position:fixed;top:50%;transform:translateY(-50%);z-index:100;width:50px;height:50px;border:none;border-radius:50%;cursor:pointer;opacity:0;pointer-events:none;transition:all .2s ease}.nav-arrow.visible{opacity:1;pointer-events:auto}.nav-arrow-left{left:1.5rem}.nav-arrow-right{right:1.5rem}.timeline-wrapper{display:flex;flex-direction:column;width:100%;max-width:100%;padding-bottom:4rem}@media(min-width:900px){.timeline-wrapper{opacity:0;transition:opacity .4s ease}.timeline-wrapper.ready{opacity:1}}.era-section{width:100%;padding:3rem 1rem;border-bottom:1px solid rgba(255,255,255,.05)}.era-content{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.era-intro{max-width:700px}.era-label{display:inline-block;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;padding:.3rem .75rem;border:1px solid currentColor;border-radius:20px;margin-bottom:1rem}.era-label.highlight{background:#f59e0b33}.era-title{font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;margin-bottom:1rem}.era-desc{font-size:1.05rem;line-height:1.7;margin-bottom:1.5rem}.era-keywords{font-size:.9rem;line-height:1.6;padding:1.25rem;border-radius:12px}.era-keywords strong{display:block;margin-bottom:.75rem;font-size:.8rem;letter-spacing:.1em}.keyword-line{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem;align-items:baseline}.keyword-term{font-weight:700;min-width:100px}.keyword-arrow{opacity:.5;margin:0 .25rem}.keyword-def{flex:1;min-width:200px;opacity:.8}[data-era=dream] .era-label,[data-era=dream] .keyword-term{color:var(--accent-dream);border-color:var(--accent-dream)}[data-era=winters] .era-label,[data-era=winters] .keyword-term{color:var(--accent-winter);border-color:var(--accent-winter)}[data-era=deep] .era-label,[data-era=deep] .keyword-term{color:var(--accent-deep);border-color:var(--accent-deep)}[data-era=gen] .era-label,[data-era=gen] .keyword-term{color:var(--accent-gen);border-color:var(--accent-gen)}[data-era=agent] .era-label,[data-era=agent] .keyword-term{color:var(--accent-agent);border-color:var(--accent-agent)}.cards-wrapper{display:flex;gap:1.25rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -1rem;padding:1rem}.cards-wrapper::-webkit-scrollbar{display:none}.event-card{flex:0 0 auto;width:280px;height:380px;border-radius:16px;display:flex;flex-direction:column;position:relative;overflow:hidden;cursor:pointer;scroll-snap-align:start;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;will-change:transform;contain:layout style paint}.event-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000004d}.event-card:active{transform:scale(.98)}.card-media{height:45%;width:100%;-o-object-fit:cover;object-fit:cover;filter:grayscale(.6);background-color:#1a1a1a;transition:filter .4s ease,transform .4s ease}.event-card:hover .card-media{filter:grayscale(0);transform:scale(1.05)}.card-content{padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;flex:1;background:linear-gradient(to top,#000000f2,#000000b3)}.card-year{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1rem;color:#ffffff80;position:absolute;top:.75rem;right:.75rem;z-index:2;background:#00000080;padding:.25rem .5rem;border-radius:6px}.card-title{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;line-height:1.3}.card-summary{font-size:.875rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-footer{margin-top:auto;padding-top:.75rem;display:flex;align-items:center;gap:.5rem;font-size:.8rem;opacity:.6;transition:opacity .3s ease}.event-card:hover .card-footer{opacity:1}[data-era=dream] .event-card{border-color:#d4b48333}[data-era=dream] .event-card:hover{border-color:var(--accent-dream)}[data-era=winters] .event-card{border-color:#60a5fa33}[data-era=winters] .event-card:hover{border-color:var(--accent-winter)}[data-era=deep] .event-card{border-color:#34d39933}[data-era=deep] .event-card:hover{border-color:var(--accent-deep)}[data-era=gen] .event-card{border-color:#a855f733}[data-era=gen] .event-card:hover{border-color:var(--accent-gen)}[data-era=agent] .event-card{border-color:#f59e0b33}[data-era=agent] .event-card:hover{border-color:var(--accent-agent)}.end-spacer{display:none}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;z-index:1000;display:flex;align-items:flex-start;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-overlay.active{opacity:1;pointer-events:all}.modal-content{width:100%;min-height:100vh;background:#111;display:flex;flex-direction:column}.modal-image-container{width:100%;height:35vh;min-height:200px;max-height:300px;flex-shrink:0}.modal-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.modal-details{flex:1;padding:1.5rem;padding-bottom:100px;overflow-y:auto}.close-modal{position:fixed;top:1rem;right:1rem;background:#000000b3;border:none;color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;display:grid;place-items:center;z-index:1010;transition:background .2s ease}.close-modal:hover{background:#fff3}.modal-year{font-weight:700;margin-bottom:.5rem;display:block;font-size:1rem}.modal-title{font-size:1.75rem;font-family:Space Grotesk,sans-serif;margin-bottom:1.25rem;line-height:1.2}.modal-quote{border-left:3px solid var(--accent-agent);padding-left:1rem;font-style:italic;color:#ddd;margin:1.5rem 0;font-size:1rem}.era-separator{border:none;height:1px;background:linear-gradient(to right,transparent,var(--era-color, #666),transparent);margin:2rem 0;opacity:.4}.impact-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:1.5rem;margin-bottom:2rem;padding:1rem;border-radius:8px;list-style:none}.impact-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;line-height:1.5}.impact-item i{font-size:1rem;opacity:.7;margin-top:.2rem}.sources-list a{display:block;margin:.5rem 0;padding-bottom:.1rem;text-underline-offset:6px;font-size:.95rem;color:#ddd;transition:color .2s ease}.sources-list a:hover{color:var(--accent-agent)}@media(min-width:768px)and (max-width:899px){.era-section{padding:4rem 2rem}.era-content{flex-direction:row;align-items:flex-start;gap:3rem}.era-intro{flex:0 0 350px;max-width:400px;position:sticky;top:2rem}.cards-wrapper{flex:1;margin:0;padding:1rem}.event-card{width:280px;height:400px}}@media(min-width:900px){html.desktop-mode .timeline-header,body.timeline-page.horizontal-mode .timeline-header,html.desktop-mode .scroll-hint,body.timeline-page.horizontal-mode .scroll-hint{display:none}html.desktop-mode .nav-arrow,body.timeline-page.horizontal-mode .nav-arrow{display:flex;align-items:center;justify-content:center}body.timeline-page.horizontal-mode .timeline-wrapper{flex-direction:row;flex-wrap:nowrap;width:-moz-max-content;width:max-content;min-width:100vw;height:100vh;padding-bottom:0}body.timeline-page.horizontal-mode .era-section{flex:0 0 auto;width:auto;min-width:100vw;height:100vh;padding:100px 80px 60px;display:flex;align-items:center;border-bottom:none;border-right:1px solid rgba(255,255,255,.05)}body.timeline-page.horizontal-mode .era-content{flex-direction:row;align-items:center;gap:3rem;max-width:none;width:100%}body.timeline-page.horizontal-mode .era-intro{flex:0 0 400px;max-width:450px;position:relative;top:auto}body.timeline-page.horizontal-mode .cards-wrapper{flex:1;display:flex;gap:1.5rem;overflow:visible;padding:0;margin:0}body.timeline-page.horizontal-mode .event-card{flex:0 0 auto;width:300px;height:450px;scroll-snap-align:none}body.timeline-page.horizontal-mode .event-card:hover{transform:translateY(-10px) scale(1.02)}body.timeline-page.horizontal-mode .end-spacer{display:block;width:100px;flex-shrink:0}}@media(min-width:1200px){body.timeline-page.horizontal-mode .era-section{padding:100px 100px 60px}body.timeline-page.horizontal-mode .era-intro{flex:0 0 480px;max-width:520px}body.timeline-page.horizontal-mode .event-card{width:320px;height:480px}body.timeline-page.horizontal-mode .cards-wrapper{gap:2rem}}@media(min-width:1600px){body.timeline-page.horizontal-mode .era-intro{flex:0 0 550px;max-width:600px}body.timeline-page.horizontal-mode .event-card{width:350px;height:500px}}@media(min-width:768px){.modal-overlay{align-items:center;padding:2rem}.modal-content{width:90%;max-width:1000px;min-height:auto;height:auto;max-height:90vh;display:grid;grid-template-columns:1fr 1.2fr;border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 50px 100px #000c;transform:scale(.95);transition:transform .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden}.modal-overlay.active .modal-content{transform:scale(1)}.modal-image-container{height:100%;max-height:none;min-height:400px}.modal-details{max-height:90vh;overflow-y:auto;padding:2.5rem}.close-modal{position:absolute;top:1rem;right:1rem;background:#ffffff1a}.modal-title{font-size:2rem;margin-bottom:1.5rem}.impact-grid{grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.25rem}}
