.roadmap-timeline,.roadmap-pop{--accent-ink:#3b3fe0;--surface:var(--card);--row-hover:color-mix(in oklch, var(--card), var(--foreground) 3.5%);--grid:color-mix(in oklab, var(--foreground) 6%, transparent);--grid-major:color-mix(in oklab, var(--foreground) 11%, transparent);--bar-done:color-mix(in oklab, var(--foreground) 42%, transparent);--bar-done-hot:color-mix(in oklab, var(--foreground) 78%, transparent);--bar-plan:color-mix(in oklab, var(--foreground) 40%, transparent);--bar-plan-hot:color-mix(in oklab, var(--foreground) 70%, transparent);--zone:112px;font-feature-settings:"cv01", "ss03";--hatch:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='5'%3E%3Cpath d='M-1 6L6 -1M-1 1L1 -1M4 6L6 4' stroke='black' stroke-width='1'/%3E%3C/svg%3E")}.dark .roadmap-timeline,.dark .roadmap-pop{--accent-ink:#8b8ef8;--row-hover:color-mix(in oklch, var(--card), var(--foreground) 4%)}:where(.roadmap-timeline,.roadmap-pop) .rm-num{font-variant-numeric:tabular-nums}:where(.roadmap-timeline,.roadmap-pop) .tl-bar-top{border-bottom:var(--hairline) solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;padding:1rem 1.5rem;display:flex}:where(.roadmap-timeline,.roadmap-pop) .tl-legend{color:var(--muted-foreground);flex-wrap:wrap;gap:.5rem 1.25rem;font-size:13px;display:flex}:where(.roadmap-timeline,.roadmap-pop) .tl-legend li{align-items:center;gap:.5rem;display:inline-flex}:where(.roadmap-timeline,.roadmap-pop) .tl-key{width:18px;height:8px;color:var(--bar-plan);border-radius:2px;display:inline-block;position:relative}:where(.roadmap-timeline,.roadmap-pop) .tl-key[data-key=done]{background:var(--bar-done)}:where(.roadmap-timeline,.roadmap-pop) .tl-key[data-key=wip]{box-shadow:inset 0 0 0 1px var(--accent-ink)}:where(.roadmap-timeline,.roadmap-pop) .tl-key[data-key=wip]:after{content:"";background:var(--accent-ink);border-radius:2px 0 0 2px;width:5px;position:absolute;inset:0 auto 0 0}:where(.roadmap-timeline,.roadmap-pop) .tl-key[data-key=plan]{box-shadow:inset 0 0 0 1px var(--bar-plan)}:where(.roadmap-timeline,.roadmap-pop) .tl-key[data-key=none]{border:1px dashed color-mix(in oklab, var(--foreground) 30%, transparent)}:where(.roadmap-timeline,.roadmap-pop) .tl-key[data-key=today]{background:var(--accent-ink);border-radius:0;width:1px;height:12px;margin-inline:4px}:where(.roadmap-timeline,.roadmap-pop) .tl-foot-link:focus-visible,:where(.roadmap-timeline,.roadmap-pop) .pop-close:focus-visible,:where(.roadmap-timeline,.roadmap-pop) .pop-link:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}:where(.roadmap-timeline,.roadmap-pop) .tl{--left:clamp(19rem, 40%, 28.5rem);--row:2.75rem;isolation:isolate;border-radius:var(--radius-2xl);margin-top:3.5rem;position:relative;overflow:hidden}:where(.roadmap-timeline,.roadmap-pop) .tl-scroll,:where(.roadmap-timeline,.roadmap-pop) .tl-foot{z-index:0;position:relative}:where(.roadmap-timeline,.roadmap-pop) .tl:after{content:"";z-index:7;border-radius:inherit;box-shadow:inset 0 0 0 var(--hairline) var(--border);pointer-events:none;position:absolute;inset:0}:where(.roadmap-timeline,.roadmap-pop) .tl-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;background:var(--surface);overflow:auto hidden}:where(.roadmap-timeline,.roadmap-pop) .tl-inner{width:max(100%, calc(var(--left) + var(--cw-min) + var(--zone)));position:relative}:where(.roadmap-timeline,.roadmap-pop) .tl-row{grid-template-columns:var(--left) minmax(0, 1fr);display:grid;position:relative}:where(.roadmap-timeline,.roadmap-pop) .tl-cell-l{z-index:3;background:var(--surface);border-right:var(--hairline) solid var(--border);transition:background-color .15s;position:sticky;left:0}:where(.roadmap-timeline,.roadmap-pop) .tl-cell-r{min-width:0;transition:background-color .15s;position:relative}:where(.roadmap-timeline,.roadmap-pop) .tl-head{border-bottom:var(--hairline) solid var(--border);height:4rem}:where(.roadmap-timeline,.roadmap-pop) .tl-head .tl-cell-l{color:var(--muted-foreground);justify-content:space-between;align-items:flex-end;padding:0 1.5rem .625rem;font-size:12px;display:flex}:where(.roadmap-timeline,.roadmap-pop) .tl-t1,:where(.roadmap-timeline,.roadmap-pop) .tl-t2{white-space:nowrap;height:1.25rem;font-size:12px;line-height:1.25rem;position:absolute;left:0;right:0}:where(.roadmap-timeline,.roadmap-pop) .tl-t1{color:color-mix(in oklab, var(--foreground) 85%, transparent);top:1.25rem}:where(.roadmap-timeline,.roadmap-pop) .tl-t2{color:var(--muted-foreground);top:2.375rem}:where(.roadmap-timeline,.roadmap-pop) .tl-tick{top:0;left:calc(var(--f) * (100% - var(--zone)));transition:left .32s var(--ease-out-quint);padding-left:6px;position:absolute}:where(.roadmap-timeline,.roadmap-pop) .tl-t1 .tl-tick{left:var(--stick,calc(var(--f) * (100% - var(--zone))));background:var(--surface);padding-right:4px;transition:none}:where(.roadmap-timeline,.roadmap-pop) .tl-today-tag{top:.375rem;left:calc(var(--today) * (100% - var(--zone)));color:var(--accent-ink);white-space:nowrap;transition:left .32s var(--ease-out-quint);padding-left:6px;font-size:12px;line-height:1rem;position:absolute}:where(.roadmap-timeline,.roadmap-pop) .tl-unsched-h{width:var(--zone);color:var(--muted-foreground);white-space:nowrap;padding-left:8px;font-size:12px;line-height:1.25rem;position:absolute;top:2.375rem;right:0}:where(.roadmap-timeline,.roadmap-pop) .tl-layer{inset:0 0 0 var(--left);pointer-events:none;z-index:1;position:absolute}:where(.roadmap-timeline,.roadmap-pop) .tl-vline{top:0;bottom:0;left:calc(var(--f) * (100% - var(--zone)));border-left:1px solid var(--grid);transition:left .32s var(--ease-out-quint);position:absolute}:where(.roadmap-timeline,.roadmap-pop) .tl-vline[data-major]{border-left-color:var(--grid-major);top:1.25rem}:where(.roadmap-timeline,.roadmap-pop) .tl-zone{width:var(--zone);border-left:1px dashed var(--grid-major);position:absolute;top:4rem;bottom:0;right:0}:where(.roadmap-timeline,.roadmap-pop) .tl-todayline{top:.375rem;bottom:0;left:calc(var(--today) * (100% - var(--zone)));border-left:1px solid var(--accent-ink);z-index:4;transition:left .32s var(--ease-out-quint);position:absolute}:where(.roadmap-timeline,.roadmap-pop) .tl-links{z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}:where(.roadmap-timeline,.roadmap-pop) .tl-link{fill:none;stroke:color-mix(in oklab, var(--foreground) 30%, transparent);stroke-width:1px;stroke-dasharray:2 2;transition:stroke .15s,opacity .15s}:where(.roadmap-timeline,.roadmap-pop) .tl-links .tl-link[data-hot]{stroke:color-mix(in oklab, var(--foreground) 75%, transparent)}:where(.roadmap-timeline,.roadmap-pop) .tl-group{border-top:var(--hairline) solid var(--border);height:3.25rem}:where(.roadmap-timeline,.roadmap-pop) .tl-group[data-first]{border-top:0}:where(.roadmap-timeline,.roadmap-pop) .tl-group .tl-cell-l{align-items:flex-end;gap:.5rem;padding:0 1.5rem .5rem;display:flex}:where(.roadmap-timeline,.roadmap-pop) .tl-group h2{letter-spacing:-.01em;color:var(--foreground);font-size:14px;font-weight:500;line-height:1.25rem}:where(.roadmap-timeline,.roadmap-pop) .tl-count{color:var(--muted-foreground);font-size:13px;line-height:1.25rem}:where(.roadmap-timeline,.roadmap-pop) [data-group=now]{--t-ink:var(--foreground)}:where(.roadmap-timeline,.roadmap-pop) [data-group=next]{--t-ink:color-mix(in oklab, var(--foreground) 82%, transparent)}:where(.roadmap-timeline,.roadmap-pop) [data-group=later]{--t-ink:color-mix(in oklab, var(--foreground) 62%, transparent)}:where(.roadmap-timeline,.roadmap-pop) [data-group=shipped]{--t-ink:color-mix(in oklab, var(--foreground) 58%, transparent)}:where(.roadmap-timeline,.roadmap-pop) .tl-item{min-height:var(--row)}:where(.roadmap-timeline,.roadmap-pop) .tl-item .tl-cell-l{display:flex}:where(.roadmap-timeline,.roadmap-pop) .tl-btn{text-align:start;outline:none;flex:1;grid-template-columns:1rem minmax(0,1fr) auto;align-items:center;column-gap:.75rem;min-width:0;padding:.625rem 1.5rem;display:grid}:where(.roadmap-timeline,.roadmap-pop) .tl-btn:focus-visible{box-shadow:inset 0 0 0 2px var(--color-focus-ring)}:where(.roadmap-timeline,.roadmap-pop) .tl-title{letter-spacing:-.006em;min-width:0;color:var(--t-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.5;transition:color .15s;overflow:hidden}:where(.roadmap-timeline,.roadmap-pop) .tl-when{color:var(--muted-foreground);white-space:nowrap;font-size:13px}:where(.roadmap-timeline,.roadmap-pop) .tl-item:is(:hover,[data-open],:has(.tl-btn:focus-visible)) :is(.tl-cell-l,.tl-cell-r){background:var(--row-hover)}:where(.roadmap-timeline,.roadmap-pop) .tl-item:is(:hover,[data-open],:has(.tl-btn:focus-visible)) .tl-title{color:var(--foreground)}:where(.roadmap-timeline,.roadmap-pop) .glyph{width:1rem;height:1rem;display:block}:where(.roadmap-timeline,.roadmap-pop) .glyph circle{fill:none}:where(.roadmap-timeline,.roadmap-pop) .glyph[data-status=now] .glyph-track{stroke:color-mix(in oklab, var(--accent-ink) 45%, transparent);stroke-width:1.25px}:where(.roadmap-timeline,.roadmap-pop) .glyph[data-status=now] .glyph-pie{stroke:var(--accent-ink);stroke-width:5px;stroke-dasharray:3.2 15.71;transform-origin:8px 8px;transform:rotate(-90deg)}:where(.roadmap-timeline,.roadmap-pop) .glyph[data-status=next] circle{stroke:color-mix(in oklab, var(--foreground) 62%, transparent);stroke-width:1.5px}:where(.roadmap-timeline,.roadmap-pop) .glyph[data-status=later] circle{stroke:color-mix(in oklab, var(--foreground) 38%, transparent);stroke-width:1.5px;stroke-dasharray:1.6 2.48}:where(.roadmap-timeline,.roadmap-pop) .glyph[data-status=shipped] circle{fill:color-mix(in oklab, var(--foreground) 55%, transparent)}:where(.roadmap-timeline,.roadmap-pop) .glyph[data-status=shipped] path{fill:none;stroke:var(--surface);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.roadmap-pop .glyph[data-status=shipped] path{stroke:var(--card)}:where(.roadmap-timeline,.roadmap-pop) .rm-bar{top:50%;left:calc(var(--a) * (100% - var(--zone)));width:max(var(--min,8px), calc((var(--b) - var(--a)) * (100% - var(--zone))));cursor:pointer;transform-origin:0;height:10px;animation:bar-in .56s var(--ease-out-quint) both;animation-delay:calc(var(--i) * 35ms + .12s);transition:left .32s var(--ease-out-quint), width .32s var(--ease-out-quint), background-color .15s ease, color .15s ease, box-shadow .15s ease;border-radius:3px;margin-top:-5px;position:absolute}:where(.roadmap-timeline,.roadmap-pop) .rm-bar:before{content:"";position:absolute;inset:-12px 0}:where(.roadmap-timeline,.roadmap-pop) [data-kind=done]{--min:10px}:where(.roadmap-timeline,.roadmap-pop) .rm-bar[data-kind=done]{background:var(--bar-done)}:where(.roadmap-timeline,.roadmap-pop) .tl-item:is(:hover,[data-open],[data-rel],:has(.tl-btn:focus-visible)) .rm-bar[data-kind=done]{background:var(--bar-done-hot)}:where(.roadmap-timeline,.roadmap-pop) .rm-bar[data-kind=wip]{color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-ink)}:where(.roadmap-timeline,.roadmap-pop) .rm-bar-spent{width:max(3px, calc(var(--spent) * 100%));background:var(--accent-ink);border-radius:3px 0 0 3px;position:absolute;inset:0 auto 0 0}:where(.roadmap-timeline,.roadmap-pop) .rm-bar-window{inset:0 auto;left:calc(var(--win-a) * 100%);width:calc(var(--win-w) * 100%);position:absolute}:where(.roadmap-timeline,.roadmap-pop) .rm-bar-over{width:calc((1 - var(--due)) * 100%);background:color-mix(in oklab, var(--accent-ink) 30%, transparent);border-radius:0 3px 3px 0;position:absolute;inset:0 0 0 auto}:where(.roadmap-timeline,.roadmap-pop) .tl-item[data-late] .tl-when{color:var(--accent-ink)}:where(.roadmap-timeline,.roadmap-pop) .rm-hatch:after{content:"";opacity:.5;border-radius:inherit;-webkit-mask:var(--hatch) 0 0 / 5px 5px repeat;mask:var(--hatch) 0 0 / 5px 5px repeat;background:currentColor;transition:opacity .15s;position:absolute;inset:0}:where(.roadmap-timeline,.roadmap-pop) .rm-bar[data-kind=plan]{color:var(--bar-plan);box-shadow:inset 0 0 0 1px var(--bar-plan)}:where(.roadmap-timeline,.roadmap-pop) .tl-item:is(:hover,[data-open],:has(.tl-btn:focus-visible)) .rm-bar[data-kind=plan]{color:var(--bar-plan-hot);box-shadow:inset 0 0 0 1px var(--bar-plan-hot)}:where(.roadmap-timeline,.roadmap-pop) .tl-item:is(:hover,[data-open],:has(.tl-btn:focus-visible)) .rm-hatch:after{opacity:.75}:where(.roadmap-timeline,.roadmap-pop) .rm-bar[data-kind=none]{left:calc(100% - var(--zone) + 14px);width:calc(var(--zone) - 28px);border:1px dashed color-mix(in oklab, var(--foreground) 24%, transparent);cursor:default}:where(.roadmap-timeline,.roadmap-pop) .tl-tail{top:50%;left:calc(var(--today) * (100% - var(--zone)) + 6px);width:calc((1 - var(--today)) * (100% - var(--zone)) - 6px);border-top:1px dashed color-mix(in oklab, var(--foreground) 13%, transparent);pointer-events:none;transition:left .32s var(--ease-out-quint), width .32s var(--ease-out-quint);position:absolute}:where(.roadmap-timeline,.roadmap-pop) .rm-bar-label{top:50%;left:calc(max(var(--a) * (100% - var(--zone)) + var(--min,8px), var(--b) * (100% - var(--zone))) + 6px);color:var(--foreground);background:var(--row-hover);white-space:nowrap;opacity:0;pointer-events:none;z-index:5;transition:opacity .12s ease, left .32s var(--ease-out-quint);padding:0 6px;font-size:12px;line-height:16px;position:absolute;translate:0 -50%}:where(.roadmap-timeline,.roadmap-pop) .rm-bar-label[data-kind=none]{left:auto;right:calc(var(--zone) + 8px)}:where(.roadmap-timeline,.roadmap-pop) .tl-item:is(:hover,[data-open],:has(.tl-btn:focus-visible)) .rm-bar-label{opacity:1}:where(.roadmap-timeline,.roadmap-pop) .tl-foot{border-top:var(--hairline) solid var(--border);background:color-mix(in oklab, var(--muted) 40%, transparent);color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding:1rem 1.5rem;font-size:13px;line-height:1.5;display:flex}:where(.roadmap-timeline,.roadmap-pop) .tl-foot-link,:where(.roadmap-timeline,.roadmap-pop) .pop-link{border-radius:var(--radius-sm);color:color-mix(in oklab, var(--foreground) 75%, transparent);outline:none;flex-shrink:0;align-items:center;gap:.375rem;transition:color .15s;display:inline-flex}:where(.roadmap-timeline,.roadmap-pop) .tl-foot-link:hover,:where(.roadmap-timeline,.roadmap-pop) .pop-link:hover{color:var(--foreground)}:where(.roadmap-timeline,.roadmap-pop) .tl-foot-link svg,:where(.roadmap-timeline,.roadmap-pop) .pop-link svg{width:14px;height:14px;transition:translate .15s}:where(.roadmap-timeline,.roadmap-pop) .tl-foot-link:hover svg,:where(.roadmap-timeline,.roadmap-pop) .pop-link:hover svg{translate:3px}:where(.roadmap-timeline,.roadmap-pop) .pop-meta{color:var(--muted-foreground);align-items:center;gap:.5rem;font-size:13px;display:flex}:where(.roadmap-timeline,.roadmap-pop) .pop-meta .glyph{width:14px;height:14px}:where(.roadmap-timeline,.roadmap-pop) .pop-close{border-radius:calc(var(--radius) * .6);width:1.5rem;height:1.5rem;color:var(--muted-foreground);outline:none;place-items:center;margin-left:auto;display:grid}:where(.roadmap-timeline,.roadmap-pop) .pop-close:hover{color:var(--foreground);background:var(--secondary)}.roadmap-pop h3{letter-spacing:-.015em;margin-top:.5rem;font-size:15px;font-weight:500;line-height:1.4}.roadmap-pop p{color:var(--muted-foreground);margin-top:.375rem;font-size:13.5px;line-height:1.5}.roadmap-pop dl{border-top:var(--hairline) solid var(--border);font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr;gap:.375rem 1rem;margin-top:.875rem;padding-top:.75rem;font-size:13px;display:grid}.roadmap-pop dt{color:var(--muted-foreground)}.roadmap-pop dd{text-align:right}.roadmap-pop dd em{color:var(--muted-foreground);font-style:normal}:where(.roadmap-timeline,.roadmap-pop) .pop-link{color:color-mix(in oklab, var(--foreground) 80%, transparent);margin-top:.875rem;font-size:13px}@keyframes bar-in{0%{opacity:0;transform:scaleX(0)}}@media (min-width:768px){:where(.roadmap-timeline,.roadmap-pop) .tl{margin-top:5rem}:where(.roadmap-timeline,.roadmap-pop) .tl-bar-top,:where(.roadmap-timeline,.roadmap-pop) .tl-foot,:where(.roadmap-timeline,.roadmap-pop) .tl-head .tl-cell-l,:where(.roadmap-timeline,.roadmap-pop) .tl-group .tl-cell-l,:where(.roadmap-timeline,.roadmap-pop) .tl-btn{padding-inline:2rem}:where(.roadmap-timeline,.roadmap-pop) .tl-inner{width:max(100%, calc(var(--left) + var(--cw-fit) + var(--zone)))}}@media (max-width:767px){:where(.roadmap-timeline,.roadmap-pop) .tl{--left:10.5rem;--row:3.75rem}:where(.roadmap-timeline,.roadmap-pop) .tl-head .tl-cell-l,:where(.roadmap-timeline,.roadmap-pop) .tl-group .tl-cell-l,:where(.roadmap-timeline,.roadmap-pop) .tl-bar-top,:where(.roadmap-timeline,.roadmap-pop) .tl-foot{padding-inline:1rem}:where(.roadmap-timeline,.roadmap-pop) .tl-head .tl-cell-l span:last-child{display:none}:where(.roadmap-timeline,.roadmap-pop) .tl-btn{grid-template-rows:auto auto;grid-template-columns:1rem minmax(0,1fr);align-items:start;gap:.125rem .625rem;padding:.625rem 1rem}:where(.roadmap-timeline,.roadmap-pop) .tl-btn .glyph{margin-top:.1875rem}:where(.roadmap-timeline,.roadmap-pop) .tl-title{white-space:normal}:where(.roadmap-timeline,.roadmap-pop) .tl-when{grid-column:2;font-size:12px}:where(.roadmap-timeline,.roadmap-pop) .tl-legend{gap:.5rem 1rem}:where(.roadmap-timeline,.roadmap-pop) .tl-foot{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){:where(.roadmap-timeline,.roadmap-pop) .rm-bar{animation:none}:where(.roadmap-timeline,.roadmap-pop) .rm-bar,:where(.roadmap-timeline,.roadmap-pop) .rm-bar-label,:where(.roadmap-timeline,.roadmap-pop) .tl-vline,:where(.roadmap-timeline,.roadmap-pop) .tl-tick,:where(.roadmap-timeline,.roadmap-pop) .tl-tail,:where(.roadmap-timeline,.roadmap-pop) .tl-today-tag,:where(.roadmap-timeline,.roadmap-pop) .tl-todayline{transition-property:background-color,color,box-shadow,opacity}}
