@layer lab{.chips{flex-wrap:wrap;gap:8px;padding:4px 16px 0;display:flex}.tf-chip{border:1px solid var(--line-strong);background:var(--panel);font:600 12px var(--mono);color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 13px}.tf-chip:hover{border-color:var(--accent);color:var(--accent)}.tf-chip.on{background:var(--accent);border-color:var(--accent-press);color:#fff}.tf-stage{align-items:center;gap:12px;margin:10px 16px;display:grid}@media (width>=620px){.tf-stage{grid-template-columns:240px 1fr}}.tf-curve{background:var(--panel);border-radius:12px;width:100%;height:auto;display:block}.tf-curve .axis{stroke:var(--line-strong);stroke-width:1.5px}.tf-curve .grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 3}.tf-curve .plot{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.tf-curve .axlabel{fill:var(--muted);font:600 10px var(--mono)}.tf-track{background:var(--accent-soft);border:2px dashed var(--accent-pale);border-radius:12px;height:48px;position:relative}.tf-ball{background:var(--accent);border-radius:50%;width:36px;height:36px;margin-top:-18px;position:absolute;top:50%;left:5px}.tf-ball.go{transform:translateX(var(--tfmax,180px))}.tf-name{font:600 13px var(--mono);color:var(--accent-deep);padding:6px 16px 0}}
