.roadmap{--track: #cdd6dc;--band: #f4f5f7;--line: #b6c0c8;--c0: #0b8894;--c1: #b85f06;--c2: #6748dc;--c3: #cf2f68;--on-node: #ffffff;max-width:1280px;margin:0 auto;padding-inline:var(--gutter);padding-block:32px 72px;display:flex;flex-direction:column;gap:24px}@media(min-width:900px){.roadmap{padding-inline:32px}}.roadmap button{font:inherit;color:inherit;cursor:pointer}.roadmap .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.roadmap .top{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:end;justify-content:space-between}.roadmap .top>div{min-width:0}.roadmap .eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink)}.roadmap h1{font-size:clamp(30px,6vw,48px);letter-spacing:-.03em;text-wrap:balance;margin-top:6px}.roadmap .lead{margin-top:12px;font-size:17px}.roadmap .stats{display:flex;gap:28px}.roadmap .stats div{display:flex;flex-direction:column}.roadmap .stats b{font-size:30px;line-height:1;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.roadmap .stats span{font-size:13px;color:var(--text-2);margin-top:6px}.roadmap .areas{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.roadmap .areas>span{font-size:14px;color:var(--text-2);margin-right:4px}.roadmap .chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:14px;font-weight:600;transition:border-color .2s,background-color .2s}.roadmap .chip i,.roadmap .area i,.roadmap .go i{width:10px;height:10px;border-radius:50%;background:var(--h);flex:none}.roadmap .chip:hover{border-color:var(--h)}.roadmap .chip[aria-pressed=true]{border-color:var(--h);background:color-mix(in srgb,var(--h) 14%,var(--surface))}.roadmap .board{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}@media(min-width:1040px){.roadmap .board{grid-template-columns:minmax(0,1fr) 340px;gap:20px}}.roadmap .canvas{position:relative;border:1px solid var(--border);border-radius:24px;overflow:hidden;min-width:0;background:var(--surface)}.roadmap .net{display:block;width:100%;height:auto;user-select:none;-webkit-user-select:none}.roadmap .net text{font-family:var(--font);pointer-events:none}.roadmap .net .band{fill:var(--band)}.roadmap .net .bl{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;fill:var(--text-2)}.roadmap .net .nm,.roadmap .net .when{paint-order:stroke;stroke:var(--band);stroke-width:4px;stroke-linejoin:round}.roadmap .net .nm{font-size:13px;font-weight:650;fill:var(--text)}.roadmap .net .when{font-size:12px;font-weight:600;fill:var(--text-2);opacity:0;transition:opacity .2s}.roadmap .net .pc{font-size:12px;font-weight:800;fill:var(--text);font-variant-numeric:tabular-nums}.roadmap .net .nd{cursor:grab;touch-action:none;outline:none;transition:opacity .25s}.roadmap .net.dragging .nd{cursor:grabbing}.roadmap .net .body{transition:transform .26s cubic-bezier(.3,1.6,.5,1)}.roadmap .net .subs{transition:transform .3s cubic-bezier(.3,1.6,.5,1)}.roadmap .net .ringf,.roadmap .net .rings{opacity:0;transition:opacity .2s}.roadmap .net .nd.on .body{transform:scale(1.06)}.roadmap .net .nd.on .subs{transform:scale(1.12)}.roadmap .net .nd.on .when,.roadmap .net .nd.sel .when,.roadmap .net .nd.sel .rings{opacity:1}.roadmap .net .nd:focus-visible .ringf{opacity:1}.roadmap .net .lk{stroke:var(--line);stroke-width:1}.roadmap .net .lk.far{stroke-dasharray:3 5}.roadmap .net .lk,.roadmap .net .pl{transition:opacity .25s,stroke .25s}.roadmap .net .lk.on{stroke:var(--h);stroke-width:1.5;stroke-dasharray:none}.roadmap .net.dim .lk:not(.on){opacity:.3}.roadmap .net.dim .pl:not(.on){opacity:0}.roadmap .net.dim .nd:not(.on):not(.near){opacity:.3}.roadmap .net.narrow .lk:not(.on),.roadmap .net.narrow .pl:not(.on){opacity:0}.roadmap .net.narrow.dim .nd:not(.on):not(.near){opacity:.5}.roadmap .hint{position:absolute;right:14px;bottom:12px;font-size:13px;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 12px;pointer-events:none}.roadmap .panel{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:3;max-height:48vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.roadmap .panel h2{font-size:20px;line-height:1.15;letter-spacing:-.02em;font-weight:750;text-wrap:balance;margin:0}.roadmap .more{align-self:flex-start;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:14px;font-weight:600}.roadmap .mini{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 10px;border:0;background:transparent;text-align:left;border-radius:16px}.roadmap .mini i{width:12px;height:12px;border-radius:50%;background:var(--h);flex:none}.roadmap .mini b{flex:1;min-width:0;font-size:16px;line-height:1.25}.roadmap .mini span{font-size:14px;color:var(--text-2);font-variant-numeric:tabular-nums;text-align:right}.roadmap .mini svg{flex:none;width:20px;height:20px;color:var(--text-2)}@media(max-width:1039px){.roadmap .panel:not(.open){padding:6px}.roadmap .panel:not(.open)>*:not(.mini){display:none}.roadmap .panel.open .mini{display:none}}@media(min-width:1040px){.roadmap .panel{top:calc(80px + env(safe-area-inset-top,0px));bottom:auto;max-height:none;padding:22px;gap:12px;min-height:420px}.roadmap .panel h2{font-size:24px}.roadmap .more,.roadmap .mini{display:none}}.roadmap .p-top{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.roadmap .stage{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--h) 16%,var(--surface));color:var(--text)}.roadmap .area{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2);font-weight:600}.roadmap .sum{color:var(--text-2)}.roadmap .meter{display:flex;align-items:center;gap:12px}.roadmap .meter .bar{flex:1;height:8px;border-radius:4px;background:var(--track);overflow:hidden}.roadmap .meter .bar i{display:block;height:100%;border-radius:4px;background:var(--h)}.roadmap .meter b{font-variant-numeric:tabular-nums;font-size:15px;min-width:42px;text-align:right}.roadmap .eta{display:flex;align-items:center;gap:8px;font-size:15px}.roadmap .eta svg,.roadmap .subl svg{flex:none;width:18px;height:18px}.roadmap .subl{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:12px}.roadmap .subl li{display:flex;align-items:center;gap:10px;font-size:15px}.roadmap .subl li.todo{color:var(--text-2)}.roadmap .subl li.done svg,.roadmap .subl li.now svg{color:var(--h)}.roadmap .rel{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.roadmap .rel>span{width:100%;font-size:13px;color:var(--text-2);font-weight:600}.roadmap .go{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:14px;font-weight:600;transition:border-color .2s}.roadmap .go:hover{border-color:var(--h)}.roadmap .plain{border-top:1px solid var(--border);padding-top:16px}.roadmap .plain summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}.roadmap .plain h2{font-size:13px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--text-2);margin:16px 0 6px}.roadmap .plain li{padding:6px 0;max-width:70ch}.roadmap .plain li span{color:var(--text-2)}.roadmap .foot{font-size:14px;color:var(--text-2);max-width:70ch}
