/* Swimlane charts for 'What Actually Improved'. Scoped to .lanes so the
   post's own column styling and the site palette are left untouched. */
.lanes{
  --l-panel:#ffffff; --l-panel2:#eef1f5; --l-ink:#131922; --l-ink2:#48535f; --l-ink3:#78838f;
  --l-rule:#d9dee5; --l-rule2:#c3cbd4; --l-trace:#0d6f80; --l-tracesoft:#e2f0f2;
  --l-signal:#a5183f; --l-signalsoft:#fbe9ee; --l-signalink:#8a1436; --l-neg:#9a5b12; --l-earth:#4a6b2f;
  --l-mono:'SFMono-Regular',Consolas,ui-monospace,monospace;
  margin:2.25rem 0 2.75rem; font-family:var(--font-body,sans-serif);
  /* break out of the 680px reading column so a 14-column chart is legible */
  width:min(96vw,1560px);
  margin-left:calc(-1 * (min(96vw,1560px) - 100%) / 2);
}
@media (prefers-color-scheme:dark){
  .lanes{
    --l-panel:#161b21; --l-panel2:#1d242c; --l-ink:#e8edf2; --l-ink2:#a3b0bd; --l-ink3:#76838f;
    --l-rule:#2a343e; --l-rule2:#39454f; --l-trace:#4fc3d4; --l-tracesoft:#152a30;
    --l-signal:#f2718f; --l-signalsoft:#2c1520; --l-signalink:#f9a3b7; --l-neg:#d9a05b; --l-earth:#9dc275;
  }
}
.lanes *{box-sizing:border-box}
.lanes-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.lanes-btn{
  font-family:var(--l-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  background:var(--l-panel);color:var(--l-ink2);border:1px solid var(--l-rule2);
  padding:7px 13px;cursor:pointer;border-radius:2px;line-height:1.3;
}
.lanes-btn[aria-pressed="true"]{background:var(--l-signal);border-color:var(--l-signal);color:var(--l-panel)}
.lanes-btn:focus-visible{outline:2px solid var(--l-trace);outline-offset:2px}
.lanes-hint{font-size:11.5px;color:var(--l-ink3);font-family:var(--l-mono)}
.lanes-shell{background:var(--l-panel);border:1px solid var(--l-rule);border-radius:3px;overflow:hidden}
.lanes-scroll{overflow-x:auto}
.lanes-grid{display:grid;grid-template-columns:228px repeat(10,minmax(122px,1fr)) 168px;min-width:1530px}
.lanes-gh{
  position:sticky;top:0;z-index:5;background:var(--l-panel2);border-bottom:1px solid var(--l-rule2);
  padding:10px 8px;font-family:var(--l-mono);font-size:11.5px;font-weight:600;color:var(--l-ink2);
  text-align:center;font-variant-numeric:tabular-nums;
}
.lanes-gh.head{text-align:left;position:sticky;left:0;z-index:6;padding-left:16px;text-transform:uppercase;font-size:10px;letter-spacing:.12em;color:var(--l-ink3)}
.lanes-gh.gaugehead{text-transform:uppercase;font-size:10px;letter-spacing:.12em;color:var(--l-ink3);border-left:1px solid var(--l-rule2)}
.lanes-lab{
  position:sticky;left:0;z-index:4;background:var(--l-panel);
  border-bottom:1px solid var(--l-rule);border-right:1px solid var(--l-rule2);
  padding:14px 14px 14px 16px;display:flex;flex-direction:column;gap:4px;
}
.lanes-n{font-family:var(--l-mono);font-size:10px;color:var(--l-trace);letter-spacing:.1em;font-weight:600}
.lanes-grid.emb .lanes-n{color:var(--l-earth)}
.lanes-name{font-size:1rem;font-weight:700;line-height:1.18;color:var(--l-ink);font-family:var(--font-display,sans-serif)}
.lanes-sub{font-size:11.5px;color:var(--l-ink2);line-height:1.4}
.lanes-met{font-family:var(--l-mono);font-size:9.5px;color:var(--l-ink3);line-height:1.5;border-top:1px dotted var(--l-rule2);padding-top:5px;margin-top:3px}
.lanes-cell{border-bottom:1px solid var(--l-rule);border-right:1px solid var(--l-rule);padding:10px 8px;display:flex;flex-direction:column;gap:10px;min-height:92px}
.lanes-ev{display:grid;grid-template-columns:auto 1fr;gap:0 6px;line-height:1.25}
.lanes-dot{width:7px;height:7px;border-radius:50%;background:var(--l-trace);margin-top:4px;box-shadow:0 0 0 3px var(--l-tracesoft)}
.lanes-grid.emb .lanes-dot{background:var(--l-earth)}
.lanes-ev.neg .lanes-dot{background:var(--l-neg);box-shadow:none;border-radius:0;transform:rotate(45deg);width:6px;height:6px;margin-top:5px}
.lanes-t{font-family:var(--l-mono);font-size:10px;color:var(--l-ink);font-weight:500}
.lanes-ev.neg .lanes-t{color:var(--l-neg)}
.lanes-g{grid-column:2;font-size:10px;color:var(--l-ink3);line-height:1.34;margin-top:2px}
.lanes-grid.band .lanes-cell.bind{background:var(--l-signalsoft);border-top:1px solid var(--l-signal);border-bottom:1px solid var(--l-signal)}
.lanes-grid.band .lanes-cell.bind.s{border-left:2px solid var(--l-signal)}
.lanes-grid.band .lanes-cell.bind.e{border-right:2px solid var(--l-signal)}
.lanes-tag{font-family:var(--l-mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--l-signalink);font-weight:600;margin-top:auto;padding-top:4px;display:none}
.lanes-grid.band .lanes-cell.bind.s .lanes-tag{display:block}
.lanes-gauge{
  border-bottom:1px solid var(--l-rule);border-left:1px solid var(--l-rule2);padding:12px 13px;
  display:flex;flex-direction:column;gap:6px;justify-content:center;cursor:pointer;
  background:none;text-align:left;font:inherit;color:inherit;width:100%;
}
.lanes-gauge:focus-visible{outline:2px solid var(--l-trace);outline-offset:-2px}
.lanes-gv{font-family:var(--l-mono);font-size:11.5px;font-weight:600;line-height:1.25;color:var(--l-ink)}
.lanes-gb{height:8px;border:1px solid var(--l-rule2);background:var(--l-panel2);position:relative;overflow:hidden}
.lanes-gf{position:absolute;inset:0 auto 0 0;background:var(--l-trace)}
.lanes-gs{font-family:var(--l-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--l-ink3)}
.lanes-gauge[data-s="at"] .lanes-gf{background:repeating-linear-gradient(45deg,var(--l-signal) 0 3px,transparent 3px 6px);border-right:2px solid var(--l-signal)}
.lanes-gauge[data-s="at"] .lanes-gv,.lanes-gauge[data-s="at"] .lanes-gs{color:var(--l-signalink)}
.lanes-gauge[data-s="near"] .lanes-gf{background:repeating-linear-gradient(45deg,var(--l-neg) 0 3px,transparent 3px 6px)}
.lanes-gauge[data-s="near"] .lanes-gv{color:var(--l-neg)}
.lanes-gauge[data-s="unknown"] .lanes-gb{border-style:dashed;background:none}
.lanes-gauge[data-s="unknown"] .lanes-gv{color:var(--l-ink3);font-style:italic}
.lanes-more{font-family:var(--l-mono);font-size:9px;color:var(--l-trace);letter-spacing:.05em}
.lanes-det{grid-column:1/-1;background:var(--l-panel2);border-bottom:1px solid var(--l-rule2);padding:0 16px;max-height:0;overflow:hidden;transition:max-height .28s ease,padding .28s ease;position:sticky;left:0}
.lanes-det.open{max-height:420px;padding:16px}
.lanes-din{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;max-width:1120px}
.lanes-dh{font-family:var(--l-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--l-ink3);margin:0 0 6px}
.lanes-db{margin:0;font-size:13px;line-height:1.6;color:var(--l-ink2)}
.lanes-db strong{color:var(--l-ink);font-weight:600}
.lanes-db code{font-family:var(--l-mono);font-size:12px;background:var(--l-panel);border:1px solid var(--l-rule);padding:1px 4px;border-radius:2px;color:var(--l-ink)}
.lanes-kind{display:inline-block;font-family:var(--l-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--l-rule2);padding:2px 6px;margin-bottom:8px;color:var(--l-ink2)}
.lanes-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:12px 26px;margin-top:14px}
.lanes-k{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--l-ink2);line-height:1.4}
.lanes-k b{color:var(--l-ink);font-weight:600;display:block;font-family:var(--l-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1px}
.lanes-sw{flex:none;margin-top:3px}
.sw1{width:8px;height:8px;border-radius:50%;background:var(--l-trace);box-shadow:0 0 0 3px var(--l-tracesoft);margin:3px 6px 0 3px}
.sw2{width:7px;height:7px;background:var(--l-neg);transform:rotate(45deg);margin:3px 7px 0 3px}
.sw3{width:20px;height:11px;background:var(--l-signalsoft);border:1px solid var(--l-signal)}
.sw4{width:20px;height:11px;background:repeating-linear-gradient(45deg,var(--l-signal) 0 3px,transparent 3px 6px);border:1px solid var(--l-rule2)}
.sw5{width:20px;height:11px;border:1px dashed var(--l-rule2)}
@media (max-width:640px){.lanes-din{grid-template-columns:1fr;gap:14px}}
@media (prefers-reduced-motion:reduce){.lanes-det{transition:none}}
