@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=JetBrains+Mono:wght@300;400;500;600&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--ink:#0a0a0f;--ink-soft:#16161f;--ink-muted:#1e1e2a;--surface:#12121a;--surface-2:#1a1a26;--surface-3:#222232;--border:#ffffff12;--border-light:#ffffff1f;--accent:#00e5b3;--accent-dim:#00e5b326;--accent-glow:#00e5b366;--accent-2:#7c6fff;--accent-2-dim:#7c6fff26;--text:#f0f0f8;--text-soft:#a0a0c0;--text-muted:#606080;--danger:#ff5757;--warning:#ffb347;--success:#00e5b3;--font-display:"DM Serif Display", Georgia, serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--font-body:"Outfit", system-ui, sans-serif;--radius:10px;--radius-lg:16px;--radius-xl:24px;--ease:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6;overflow-x:hidden}::selection{background:var(--accent-dim);color:var(--accent)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 24px}.mono{font-family:var(--font-mono)}.accent{color:var(--accent)}.accent-2{color:var(--accent-2)}body:before{content:"";pointer-events:none;z-index:9999;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:fixed;inset:0}.text-white{color:#ffffffbf}.glow-accent{box-shadow:0 0 40px var(--accent-glow)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulse-glow{0%,to{opacity:.6}50%{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-slide-up{animation:slide-up .7s var(--ease) both}.animate-fade-in{animation:.5s both fade-in}.kf-spinner-wrap{flex-direction:column;align-items:center;gap:16px;display:flex}.kf-spinner{width:var(--spinner-size,48px);height:var(--spinner-size,48px);position:relative}.kf-ring{width:100%;height:100%;animation:1.4s linear infinite kf-spin;position:absolute;inset:0}.kf-ring-track{stroke:var(--surface-3);stroke-width:4px}.kf-ring-arc{stroke:var(--accent);stroke-width:4px;stroke-linecap:round;stroke-dasharray:180 264;stroke-dashoffset:0;filter:drop-shadow(0 0 6px var(--accent-glow));animation:1.4s ease-in-out infinite kf-dash}.kf-keyhole{width:50%;height:50%;animation:2s ease-in-out infinite kf-pulse;position:absolute;inset:25%}.kf-keyhole-circle{fill:none;stroke:var(--accent);stroke-width:3px;opacity:.7}.kf-keyhole-slot{fill:var(--accent);opacity:.5}.kf-spinner-text{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-muted);font-size:.75rem;animation:2s ease-in-out infinite kf-text-pulse}.kf-spinner-wrap.kf-fullscreen{z-index:9998;background:var(--ink);justify-content:center;position:fixed;inset:0}@keyframes kf-spin{to{transform:rotate(360deg)}}@keyframes kf-dash{0%{stroke-dashoffset:0}50%{stroke-dashoffset:-80px}to{stroke-dashoffset:-180px}}@keyframes kf-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes kf-text-pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.timeline-chart .bar-group{animation:bar-grow .5s var(--ease) both;transform-origin:bottom}.timeline-chart .bar-group:nth-child(odd){animation-delay:30ms}.timeline-chart .bar-group:nth-child(2n){animation-delay:60ms}.timeline-tooltip{background:var(--surface-3);border:1px solid var(--border-light);color:var(--text);pointer-events:none;z-index:10;white-space:nowrap;border-radius:6px;padding:8px 12px;font-size:.75rem;animation:.15s fade-in;position:absolute;box-shadow:0 4px 12px #0006}.timeline-tooltip .tt-date{color:var(--text-muted);margin-bottom:4px;font-size:.68rem}.timeline-tooltip .tt-row{align-items:center;gap:6px;margin-top:2px;display:flex}.timeline-tooltip .tt-dot{border-radius:2px;width:8px;height:8px}.timeline-tooltip .tt-val{font-weight:600;font-family:var(--font-mono);font-size:.78rem}
