.lanes-palette{--lanes-page:#fbfaf7;--lanes-surface:#ffffff;--lanes-ink:#1d2320;--lanes-muted:#5d6762;--lanes-line:#dde2de;--lanes-grid:#e9ece9;--lanes-turn:#eef1ee;--lanes-idle:#b9c2bd;--lanes-link:#1d4f91;--lanes-alert:#a3261b;--lanes-stale:#8a5a00;
  --lane-model:#6f7fe8;--lane-shell:#e8743f;--lane-edit:#3fa35c;--lane-read:#2aa9b8;--lane-tool:#8d97a8;--lane-delegate:#a667d6;--lane-wait:#e2b33a;--lane-background:#f0cf73;--lane-compact:#60707e;--lane-error:#d23a2c;
}
html[data-theme="dark"] .lanes-palette{--lanes-page:#111513;--lanes-surface:#181e1b;--lanes-ink:#e9efeb;--lanes-muted:#a6b3ac;--lanes-line:#34403a;--lanes-grid:#242c28;--lanes-turn:#212a25;--lanes-idle:#56645c;--lanes-link:#9cc7ff;--lanes-alert:#ffb0a6;--lanes-stale:#f2c66b;
  --lane-model:#8b99ff;--lane-shell:#ff9463;--lane-edit:#62c97f;--lane-read:#4fd0de;--lane-tool:#a7b0bf;--lane-delegate:#c690f2;--lane-wait:#f2c94c;--lane-background:#b89436;--lane-compact:#8797a6;--lane-error:#ff6b5c}
.agent-lanes{box-sizing:border-box;min-width:0;padding:12px 16px 24px;background:var(--lanes-page);color:var(--lanes-ink);user-select:text}
.agent-lanes .lanes-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 8px}
.agent-lanes h1{margin:0;font-size:16px;color:var(--lanes-ink)}
.agent-lanes .lanes-windows{display:flex;gap:4px}
.lanes-palette .lanes-windows button{padding:3px 9px;border:1px solid var(--lanes-line);border-radius:6px;background:var(--lanes-surface);color:var(--lanes-ink);font:inherit;font-size:12px;cursor:pointer}
.lanes-palette .lanes-windows button[aria-pressed="true"]{background:var(--lanes-ink);color:var(--lanes-page);border-color:var(--lanes-ink)}
.agent-lanes .lanes-status{margin:0;font-size:12px;color:var(--lanes-muted)}
.agent-lanes .lanes-status[data-state="stale"]{color:var(--lanes-stale);font-weight:700}
.agent-lanes .lanes-status[data-state="failed"]{color:var(--lanes-alert);font-weight:700}
.agent-lanes .lanes-chart{border:1px solid var(--lanes-line);border-radius:8px;background:var(--lanes-surface);color:var(--lanes-ink);overflow:hidden}
.agent-lanes .lanes-axis,.agent-lanes .lane{display:grid;grid-template-columns:270px minmax(0,1fr);align-items:center}
.agent-lanes .lanes-axis{border-bottom:1px solid var(--lanes-line);position:sticky;top:0;background:var(--lanes-surface);z-index:1}
.agent-lanes .lane+.lane{border-top:1px solid var(--lanes-grid)}
.agent-lanes .lane[data-depth="0"]+.lane[data-depth="0"]{border-top-color:var(--lanes-line)}
.agent-lanes .lanes-axis svg,.agent-lanes .lane-track{display:block;overflow:visible}
.lanes-palette .lanes-tick{fill:var(--lanes-muted);font-size:11px;text-anchor:middle}
.lanes-palette .lanes-grid{stroke:var(--lanes-grid)}
.agent-lanes .lane-label{--depth:0;min-width:0;padding:3px 8px 3px calc(8px + var(--depth) * 16px);font-size:12px;line-height:1.25;border-left:calc(min(var(--depth),1) * 3px) solid var(--lanes-line)}
.agent-lanes .lane-name{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--lanes-link);font-weight:600;text-decoration:none}
.agent-lanes .lane-name:hover,.agent-lanes .lane-name:focus-visible{text-decoration:underline}
.agent-lanes .lane-label small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--lanes-muted)}
.agent-lanes .lane-label:hover,.agent-lanes .lane-label:focus-within{position:relative;z-index:3}
.agent-lanes .lane-label:hover :is(.lane-name,small),.agent-lanes .lane-label:focus-within :is(.lane-name,small){overflow:visible;width:max-content;padding-right:8px;background:var(--lanes-surface)}
.agent-lanes .lane-label[data-running="true"] .lane-name::after{content:" ●";color:var(--lane-edit)}
.agent-lanes .lane-truncated{color:var(--lanes-stale)!important}
.lanes-palette .lane-idle{stroke:var(--lanes-idle);stroke-width:1.5}
.lanes-palette .lane-turn{fill:var(--lanes-turn)}
.lanes-palette .band{cursor:pointer}
.lanes-palette a:focus-visible .band,.lanes-palette a:hover .band{stroke:var(--lanes-ink);stroke-width:1.5}
.lanes-palette .lane-image-frame{fill:var(--lanes-page);stroke:var(--lanes-ink);stroke-width:1.5}
.lanes-palette .lane-error{fill:var(--lane-error)}
.lanes-palette .lane-now{fill:var(--lane-edit)}
.lanes-palette .band-model{fill:var(--lane-model);background:var(--lane-model)}
.lanes-palette .band-shell{fill:var(--lane-shell);background:var(--lane-shell)}
.lanes-palette .band-edit{fill:var(--lane-edit);background:var(--lane-edit)}
.lanes-palette .band-read{fill:var(--lane-read);background:var(--lane-read)}
.lanes-palette .band-tool{fill:var(--lane-tool);background:var(--lane-tool)}
.lanes-palette .band-delegate{fill:var(--lane-delegate);background:var(--lane-delegate)}
.lanes-palette .band-wait{fill:var(--lane-wait);background:var(--lane-wait)}
.lanes-palette .band-background{fill:var(--lane-background);background:var(--lane-background)}
.lanes-palette .band-compact{fill:var(--lane-compact);background:var(--lane-compact)}
.lanes-palette .band-error{fill:var(--lane-error);background:var(--lane-error)}
.agent-lanes .lanes-empty{margin:0;padding:18px;color:var(--lanes-muted)}
.agent-lanes .lanes-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;padding:0;list-style:none;font-size:12px;color:var(--lanes-ink)}
.agent-lanes .lanes-legend li{display:flex;align-items:center;gap:6px}
.agent-lanes .lanes-running-key{color:var(--lanes-ink)}.agent-lanes .lanes-running-key::first-letter{color:var(--lane-edit)}
.agent-lanes .lanes-legend small{color:var(--lanes-muted);font-variant-numeric:tabular-nums}
.lanes-palette i{display:inline-block;width:11px;height:11px;border-radius:2px;flex:none}
.lanes-palette .lanes-tip{position:fixed;z-index:1000;display:grid;gap:2px;max-width:300px;padding:5px 8px;border:1px solid var(--lanes-line);border-radius:7px;background:var(--lanes-surface);color:var(--lanes-ink);font-size:12px;line-height:1.35;box-shadow:0 6px 18px rgb(0 0 0 / .18);pointer-events:none;overflow-wrap:anywhere}
.lanes-palette .lanes-tip[hidden]{display:none}
.lanes-palette .lanes-tip strong{display:flex;align-items:center;gap:6px}
.lanes-palette .lanes-tip small{color:var(--lanes-muted)}
.lanes-palette .lanes-tip img{max-width:180px;max-height:120px;border-radius:4px;background:var(--lanes-page)}
@media(max-width:640px){.agent-lanes{padding:10px 8px 20px}.agent-lanes .lanes-axis,.agent-lanes .lane{grid-template-columns:130px minmax(0,1fr)}.agent-lanes .lane-label{padding-left:calc(6px + var(--depth) * 8px)}}
