.timeline{border:1px solid color-mix(in srgb, var(--edge) 80%, transparent);border-radius:var(--radius-lg);background:var(--surface-sheen);gap:1.5rem;margin-top:2rem;padding:1.5rem;display:grid}.timeline-range{appearance:none;border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--edge) 78%, transparent);background-color:color-mix(in srgb, var(--surface-2) 92%, transparent);background-image:linear-gradient(90deg, color-mix(in srgb, var(--accent-dark) 70%, transparent) 0%, color-mix(in srgb, var(--accent) 80%, transparent) var(--timeline-progress,0%), color-mix(in srgb, var(--surface-2) 98%, transparent) var(--timeline-progress,0%), color-mix(in srgb, var(--surface-2) 98%, transparent) 100%), radial-gradient(circle at 0 50%, color-mix(in srgb, var(--edge) 44%, transparent) 0, color-mix(in srgb, var(--edge) 44%, transparent) 2px, transparent 3px), linear-gradient(135deg, color-mix(in srgb, var(--surface-1) 95%, transparent), color-mix(in srgb, var(--surface-2) 98%, transparent));background-repeat:no-repeat,repeat-x,no-repeat;background-size:100% 12px, var(--timeline-step,100%) 12px, 100% 12px;width:240px;max-width:60vw;height:44px;min-height:44px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--surface-1) 85%, transparent), 0 0 0 4px color-mix(in srgb, var(--accent) 12%, transparent);accent-color:var(--ink);background-position:50%;transition:box-shadow .22s,border-color .2s,filter .2s,background-size .2s,background-image .25s}.timeline-range::-webkit-slider-thumb{appearance:none;background:var(--ink);border:2px solid var(--surface-1);width:18px;height:18px;box-shadow:var(--shadow-sm);border-radius:0;transition:transform .16s,box-shadow .22s}.timeline-range::-moz-range-thumb{background:var(--ink);border:2px solid var(--surface-1);width:18px;height:18px;box-shadow:var(--shadow-sm);border-radius:0;transition:transform .16s,box-shadow .22s}.timeline-range:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.timeline-range:hover,.timeline-range:active{border-color:var(--edge-strong)}.timeline-range:active::-webkit-slider-thumb{transform:translateY(1px)scale(1.02)}.timeline-range:active::-moz-range-thumb{transform:translateY(1px)scale(1.02)}.timeline-range:focus-visible::-webkit-slider-thumb{animation:1.8s ease-in-out infinite thumb-pulse}.timeline-range:focus-visible::-moz-range-thumb{animation:1.8s ease-in-out infinite thumb-pulse}.timeline-range:focus-visible::-webkit-slider-thumb{background:var(--ink)}.timeline-range:focus-visible::-moz-range-thumb{background:var(--ink)}.timeline-tick{opacity:.8;justify-items:center;gap:.2rem;transition:opacity .2s,color .2s,transform .2s;display:grid}.timeline-tick.is-complete .timeline-tick-dot{background:var(--accent);border-color:var(--accent)}.timeline-tick.is-active{color:var(--ink);opacity:1;transform:translateY(-1px)}.timeline-tick.is-active .timeline-tick-dot{background:var(--accent);border-color:var(--accent)}@keyframes thumb-pulse{0%{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent)}to{box-shadow:var(--shadow-sm)}}@media (prefers-reduced-motion:reduce){.timeline-range{transition:none}.timeline-range:focus-visible::-webkit-slider-thumb{animation:none}.timeline-range:focus-visible::-moz-range-thumb{animation:none}}.log-filter-chip.is-active{background:var(--ink);color:var(--surface-1);border-color:var(--ink)}.timeline-item{border:1px solid var(--edge);border-radius:var(--radius);background:var(--surface-2);gap:.35rem;min-width:210px;padding:0;transition:border-color .2s,box-shadow .2s;display:grid}.timeline-item.is-active{border-color:var(--ink);box-shadow:var(--shadow-sm)}.log-list .timeline-item{grid-template-columns:120px 1fr;width:100%;padding:.75rem .8rem}.timeline-year{letter-spacing:.04em;font-weight:800}.timeline-title{margin:0;font-weight:700}.metric{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--edge);padding:.9rem 1rem}.highlight .window-body{background:var(--surface-3)}.case-study-section .lede{margin-bottom:.5rem}.about-hero-note{max-width:62ch;margin-top:var(--space-sm);font-size:var(--text-base);color:var(--ink-secondary)}
