.tl{flex-direction:column;gap:3rem;padding:2rem 0;display:flex;position:relative}.tl-spine{background:#94a3b840;border-radius:999px;width:4px;position:absolute;top:0;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.tl-fill{transform-origin:top;background:linear-gradient(#ffd54a,#67e8f9);border-radius:999px;position:absolute;inset:0;transform:scaleY(0)}.tl-item{grid-template-columns:1fr 1fr;align-items:start;gap:3.5rem;display:grid;position:relative}.tl-stage{text-align:right;flex-direction:column;align-items:flex-end;gap:.5rem;padding-top:.35rem;display:flex}.tl-name{font-family:var(--font-title), serif;color:#94a3b8;font-size:1.6rem;line-height:1.2;transition:color .3s}.tl-item--active .tl-name,.tl-item--passed .tl-name{color:#fff}.tl-status{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.72rem;font-weight:700;display:inline-flex}.tl-status--done{color:#ffd54a;background:#ffd54a26}.tl-status--building{color:#22d3ee;background:#22d3ee26}.tl-status--testing{color:#67e8f9;background:#67e8f926}.tl-status--planned{color:#94a3b8;background:#64748b33}.tl-marker{z-index:1;background:#0f172a;border:3px solid #475569;border-radius:999px;width:18px;height:18px;transition:background .3s,border-color .3s,box-shadow .3s;position:absolute;top:.6rem;left:50%;transform:translate(-50%)}.tl-item--done.tl-item--active .tl-marker,.tl-item--done.tl-item--passed .tl-marker{background:#ffd54a;border-color:#ffd54a}.tl-item--building.tl-item--active .tl-marker,.tl-item--building.tl-item--passed .tl-marker{background:#22d3ee;border-color:#22d3ee}.tl-item--testing.tl-item--active .tl-marker,.tl-item--testing.tl-item--passed .tl-marker{background:#67e8f9;border-color:#67e8f9}.tl-item--active .tl-marker{box-shadow:0 0 16px #ffd54a8c}.tl-card{opacity:0;background:linear-gradient(160deg,#0f172ad9,#1e293be6);border:3px solid #94a3b840;border-radius:20px;padding:1.5rem;transition:opacity .45s,transform .45s,border-color .3s;transform:translate(24px)}.tl-item--active .tl-card,.tl-item--passed .tl-card{opacity:1;transform:translate(0)}.tl-item--active .tl-card{border-color:#ffd54a73}.tl-item--passed .tl-card{border-color:#67e8f94d}.tl-desc{color:#cbd5e1;margin:0;font-size:.95rem;line-height:1.6}.tl-block{margin-top:1rem}.tl-block-title{font-family:var(--font-title), serif;text-transform:uppercase;letter-spacing:.12em;margin:0 0 .5rem;font-size:.78rem}.tl-block-title--done{color:#ffd54a}.tl-block-title--next{color:#67e8f9}.tl-list{color:#e2e8f0;flex-direction:column;gap:.35rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.tl-list li{align-items:baseline;gap:.5rem;display:flex}.tl-list-ico--done{color:#ffd54a}.tl-list-ico--next{color:#67e8f9}.tl-eval{opacity:0;transition:opacity .45s,transform .45s;transform:translate(24px)}.tl-item--active .tl-eval,.tl-item--passed .tl-eval{opacity:1;transform:translate(0)}.tl-eval-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}@media (max-width:767px){.tl{gap:2.25rem}.tl-spine{left:10px;transform:none}.tl-item{grid-template-columns:1fr;gap:.75rem;padding-left:2.25rem}.tl-stage{text-align:left;align-items:flex-start;padding-top:0}.tl-marker{top:.35rem;left:10px;transform:translate(-50%)}.tl-card,.tl-eval{transform:translateY(12px)}.tl-item--active .tl-card,.tl-item--passed .tl-card,.tl-item--active .tl-eval,.tl-item--passed .tl-eval{transform:translateY(0)}.tl-eval-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.tl-card,.tl-marker,.tl-name{transition:none!important}.tl-card,.tl-eval{opacity:1;transform:none}}.roadmap-map{z-index:0;pointer-events:none;background-image:url(/assets/images/background.webp);background-position:50%;background-size:cover;position:fixed;inset:0}.roadmap-map-video{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.roadmap-map-video{display:none}}.roadmap-veil{z-index:1;pointer-events:none;background:radial-gradient(ellipse at 15% 40%, #991b1b1a 0%, transparent 45%), radial-gradient(ellipse at 85% 65%, #7f1d1d1f 0%, transparent 50%), radial-gradient(ellipse at 50% 95%, #991b1b29 0%, transparent 55%), radial-gradient(circle 260px at var(--mx,50vw) var(--my,35vh), transparent 0%, transparent 32%, #0f172a 72%, #1a0b0b 100%);position:fixed;inset:0}
