.wt{--wt-label-w:clamp(220px, 30%, 380px);--wt-row-h:34px;--wt-group-h:38px;--wt-bar-h:14px;min-width:0;font-size:var(--fs-caption);line-height:var(--lh-caption);position:relative}.wt__head{top:var(--h-topbar);z-index:4;grid-template-columns:var(--wt-label-w) minmax(0, 1fr);height:var(--sp-8);background:var(--card);border-bottom:1px solid var(--line-strong);display:grid;position:sticky}.wt__scale{position:relative}.wt__tick{bottom:var(--sp-1);padding-left:var(--sp-1);border-left:1px solid var(--line);font-size:var(--fs-label);line-height:var(--lh-label);color:var(--muted);white-space:nowrap;display:grid;position:absolute}.wt__year{font-size:var(--fs-label);font-weight:var(--fw-bold);color:var(--ink)}.wt__body{position:relative}.wt__overlay{top:0;bottom:0;left:var(--wt-label-w);pointer-events:none;z-index:1;position:absolute;right:0}.wt__gridline{border-left:1px solid var(--line);position:absolute;top:0;bottom:0}.wt__links{position:absolute;inset:0;overflow:visible}.wt__link{fill:none;stroke:var(--data-progress-ink);stroke-width:1.5px;stroke-dasharray:3 3}.wt__linkdot{fill:var(--data-progress-ink)}.wt__row{grid-template-columns:var(--wt-label-w) minmax(0, 1fr);height:var(--wt-row-h);border-bottom:1px solid var(--line);background:var(--card);display:grid;position:relative}.wt__row[data-selected]{background:var(--sage)}.wt__row[data-dragging]{z-index:6;background:var(--card);box-shadow:var(--shadow-focus);opacity:.94;pointer-events:none}.wt__row[data-removed] .wt__text,.wt__row[data-removed] .wt__name{color:var(--muted);text-decoration:line-through}.wt__row--group{height:var(--wt-group-h);background:var(--soft);border-bottom-color:var(--line-strong)}.wt__label{align-items:center;gap:var(--sp-1);min-width:0;padding:0 var(--sp-1) 0 var(--sp-2);border-right:1px solid var(--line);display:flex}.wt__row[data-changed] .wt__label{box-shadow:inset 3px 0 0 var(--active)}.wt__name{min-width:0;height:100%;padding:0 var(--sp-1);font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;flex:auto}.wt__name:disabled{cursor:default}.wt__text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.wt__actions{align-items:center;gap:var(--sp-1);flex:none;display:inline-flex}.wt__grip{border-radius:var(--r-tiny);width:20px;height:28px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.wt__grip:hover{color:var(--ink);background:var(--sage)}.wt--reordering,.wt--reordering *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.wt__toggle{align-items:center;gap:var(--sp-2);min-width:0;height:100%;padding:0 var(--sp-1);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;display:flex}.wt__chev{color:var(--muted);transition:transform var(--dur-fast) var(--ease-out);flex:none;display:inline-flex}.wt__toggle[aria-expanded=true] .wt__chev{transform:rotate(90deg)}.wt__groupname{font-weight:var(--fw-bold);color:var(--deep);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wt__groupsum{color:var(--muted);white-space:nowrap;flex:none}.wt__empty{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);color:var(--muted)}.wt__track{min-width:0;position:relative}.wt__span{border-radius:var(--r-pill);background:var(--data-ok-started);min-width:4px;height:6px;position:absolute;top:50%;transform:translateY(-50%)}.wt__nowindow{top:50%;left:var(--sp-3);color:var(--muted);font-style:italic;position:absolute;transform:translateY(-50%)}.wt__bar{height:var(--wt-bar-h);border-radius:var(--r-pill);background:var(--data-progress);box-sizing:border-box;touch-action:pan-y;z-index:2;min-width:6px;display:block;position:absolute;top:50%;transform:translateY(-50%)}.wt__bar[tabindex]{cursor:pointer}.wt__bar[data-drag=free],.wt__bar[data-drag=whole]{cursor:grab}.wt--dragging .wt__bar[data-active]{cursor:grabbing;box-shadow:var(--shadow-focus)}.wt__bar:focus-visible{outline:2px solid var(--line-focus);outline-offset:2px}.wt__bar[data-tone=ok]{background:var(--data-ok)}.wt__bar[data-tone=muted]{background:var(--line-strong)}.wt__bar--optional{opacity:.55}.wt__bar--approx{background-image:repeating-linear-gradient(135deg, transparent 0 var(--sp-1), var(--card) var(--sp-1) var(--sp-2))}.wt__bar--linked{background:var(--data-progress-soft);border:2px dashed var(--data-progress)}.wt__bar--point{border-radius:50%;width:12px;min-width:0;height:12px}.wt__bar--changed{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--active)}.wt__row[data-selected] .wt__bar{box-shadow:0 0 0 2px var(--sage), 0 0 0 4px var(--deep)}.wt__handle{cursor:ew-resize;touch-action:none;width:8px;position:absolute;top:-3px;bottom:-3px}.wt__handle:after{content:"";border-radius:var(--r-pill);background:var(--deep);opacity:0;width:3px;transition:opacity var(--dur-fast) var(--ease-out);position:absolute;top:3px;bottom:3px}.wt__handle--start{left:-2px}.wt__handle--start:after{left:2px}.wt__handle--end{right:-2px}.wt__handle--end:after{right:2px}.wt__bar:hover .wt__handle:after,.wt__bar:focus-visible .wt__handle:after,.wt__bar[data-active] .wt__handle:after{opacity:.7}.wt__tip{bottom:calc(100% + var(--sp-2));padding:var(--sp-1) var(--sp-2);border-radius:var(--r-tiny);background:var(--ink);color:var(--text-inverse);font-size:var(--fs-caption);line-height:var(--lh-caption);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;z-index:8;gap:2px;display:none;position:absolute;left:50%;transform:translate(-50%)}.wt__tip small{color:var(--text-inverse-muted);font-size:var(--fs-label)}.wt__bar[data-tip=end] .wt__tip{left:auto;right:0;transform:none}.wt__bar[data-tip=start] .wt__tip{left:0;transform:none}.wt__bar:hover .wt__tip,.wt__bar:focus-visible .wt__tip,.wt__bar[data-active] .wt__tip{display:grid}.wt--reordering .wt__bar .wt__tip{display:none}.wt__drop{border-top:2px solid var(--deep);z-index:7;pointer-events:none;height:0;position:absolute;left:0;right:0}.wt__drop:before{content:"";background:var(--deep);border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:0}@media (prefers-reduced-motion:reduce){.wt__chev,.wt__handle:after{transition:none}}@media (width<=720px){.wt{--wt-label-w:44%}}
