/* Slug & Trip workspace — a Simulate mode in the Gas & Influx pattern.
   Scoped to .sltr (and the mode button) so nothing reaches the landing page or
   the other simulators. Surfaces, lines and text are the app's theme tokens; the
   identity accent is the app blue. Nothing is animated here. */
.hydro-app .hw-simmode-b.trip{border-color:color-mix(in srgb,var(--blue) 45%,var(--line));color:var(--blue)}
.hydro-app .hw-simmode-b.trip.on{background:var(--blue);border-color:var(--blue);color:#fff}
.hydro-app .hw-simmode-b.trip .trip-dot{display:inline-block;width:8px;height:8px;border-radius:2px;background:currentColor;margin-right:7px;vertical-align:middle}

.sltr{--sa:var(--blue);--sa-soft:color-mix(in srgb,var(--blue) 10%,var(--card));--sl:var(--line);--sh:color-mix(in srgb,var(--line) 70%,transparent);
  --sr:var(--radius,10px);--s-mud:#8b5cf6;--s-slug:#f59f0a;--s-ok:var(--green);--s-warn:var(--amber);--s-bad:var(--red);
  display:flex;flex-direction:column;gap:8px;min-width:0;color:var(--ink);font-size:13px;line-height:1.45}
.sltr *{box-sizing:border-box}
.sltr h2{margin:0;font-size:15px;font-weight:700;line-height:1.2;font-family:inherit}
.sltr h3{margin:0 0 4px;font-size:15px;font-weight:700}
.sltr h4{margin:14px 0 6px;font-size:12.5px;font-weight:700}
.sltr h4 small{font-weight:500;color:var(--muted);margin-left:6px}
.sltr p{margin:5px 0}
.sltr button:focus-visible,.sltr input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.sltr-fine{font-size:11.5px;color:var(--muted);line-height:1.45}
.sltr-list{margin:6px 0;padding-left:18px}
.sltr-list li{margin:3px 0}

/* header */
.sltr-head{display:flex;gap:8px 14px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:4px 0 8px;border-bottom:1px solid var(--sl)}
.sltr-headl{display:flex;gap:10px;align-items:center;min-width:0;flex:1 1 280px}
.sltr-headl>i{flex:0 0 auto;width:9px;height:9px;border-radius:2px;background:var(--sa)}
.sltr-headt{min-width:0}
.sltr-badge{display:block;font-size:10px;font-weight:800;letter-spacing:.09em;color:var(--sa)}
.sltr-head h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sltr-head p{margin:1px 0 0;color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sltr-headr{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.sltr-clock{font-size:11.5px;color:var(--muted);border:1px solid var(--sl);border-radius:999px;padding:5px 10px;background:var(--soft);white-space:nowrap}
.sltr-clock b{color:var(--ink)}

/* buttons */
.sltr-btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 12px;border:1px solid var(--sl);
  border-radius:var(--sr);background:var(--card);color:var(--ink);font:inherit;font-weight:600;font-size:12.5px;line-height:1.2}
.sltr-btn:hover:not(:disabled){border-color:var(--muted)}
.sltr-btn.primary{background:var(--sa);border-color:var(--sa);color:#fff}
.sltr-btn.quiet{background:transparent;color:var(--muted)}
.sltr-btn:disabled{opacity:.5;cursor:not-allowed}
.sltr-ib{cursor:pointer;min-width:28px;height:28px;border:1px solid var(--sl);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;font-weight:700;line-height:1}
.sltr-linkb{background:none;border:0;padding:6px 0;min-height:30px;color:var(--sa);font:inherit;font-size:12px;font-weight:600;text-decoration:underline;cursor:pointer}
.sltr-chip{cursor:pointer;border:1px solid color-mix(in srgb,var(--sa) 45%,var(--sl));background:var(--sa-soft);color:var(--ink);border-radius:999px;padding:3px 9px;font:inherit;font-size:11px;font-weight:600}
.sltr-chip.on{background:var(--sa);color:#fff;border-color:var(--sa)}
.sltr-chips{display:inline-flex;gap:5px;flex-wrap:wrap}

/* stepper */
.sltr-rail{display:flex;gap:4px;list-style:none;margin:0;padding:0;min-width:0}
.sltr-step{flex:1 1 0;min-width:0}
.sltr-stepb{width:100%;display:flex;gap:8px;align-items:center;text-align:left;cursor:pointer;min-height:34px;padding:4px 8px;border:1px solid transparent;
  border-bottom:2px solid var(--sl);border-radius:var(--sr) var(--sr) 0 0;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;font-weight:600}
.sltr-stepb>b{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--sl);background:var(--soft);font-size:11px}
.sltr-stepb>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sltr-stepb:disabled{opacity:.45;cursor:not-allowed}
.sltr-step.open .sltr-stepb,.sltr-step.done .sltr-stepb{color:var(--ink)}
.sltr-step.now .sltr-stepb{color:var(--ink);border-bottom-color:var(--sa);background:var(--sa-soft)}
.sltr-step.now .sltr-stepb>b{background:var(--sa);border-color:var(--sa);color:#fff}
.sltr-step.done .sltr-stepb>b{background:color-mix(in srgb,var(--s-ok) 18%,var(--card));border-color:color-mix(in srgb,var(--s-ok) 50%,var(--sl));color:var(--s-ok);font-size:0}
.sltr-step.done .sltr-stepb>b::after{content:"\2713";font-size:12px}

/* body: three columns that scroll on their own on a desktop */
.sltr-body{display:grid;grid-template-columns:minmax(300px,350px) minmax(330px,440px) minmax(0,1fr);gap:10px;min-width:0;align-items:stretch}
.sltr-panel,.sltr-well,.sltr-res{min-width:0;min-height:0;border:1px solid var(--sl);border-radius:var(--sr);background:var(--card)}
.sltr-panel{padding:12px 14px;overflow:auto}
.sltr-well{display:flex;flex-direction:column;padding:8px;gap:6px;overflow:hidden}
.sltr-res{padding:10px 12px;overflow:auto;display:flex;flex-direction:column;gap:8px}

/* fields */
.sltr-fields{display:grid;gap:8px;margin:8px 0}
.sltr-f{display:grid;gap:3px;min-width:0}
.sltr-fl{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--muted)}
.sltr-src{margin-left:auto;font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--muted);border:1px dashed var(--sl);border-radius:999px;padding:0 7px;line-height:17px;background:transparent;cursor:help}
.sltr-src.yours{border-style:solid;border-color:color-mix(in srgb,var(--sa) 50%,var(--sl));color:var(--sa);cursor:pointer;font:inherit;font-size:10px;font-weight:700}
.sltr-fi{display:flex;align-items:center;border:1px solid var(--sl);border-radius:8px;background:var(--soft);min-height:36px;overflow:hidden}
.sltr-fi:focus-within{border-color:var(--sa)}
.sltr-fi input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;font-size:14px;padding:6px 9px;font-variant-numeric:tabular-nums;outline:none}
.sltr-fi i{font-style:normal;font-size:11px;color:var(--muted);padding-right:9px;white-space:nowrap}
.sltr-f small{font-size:11px;color:var(--muted)}
.sltr-seg{display:flex;flex-wrap:wrap;border:1px solid var(--sl);border-radius:8px;overflow:hidden;background:var(--soft)}
.sltr-seg button{flex:1 1 auto;min-height:32px;border:0;border-right:1px solid var(--sl);background:transparent;color:var(--ink);font:inherit;font-size:12px;font-weight:600;padding:4px 9px;cursor:pointer}
.sltr-seg button:last-child{border-right:0}
.sltr-seg button.on{background:var(--sa);color:#fff}
.sltr-seg.sm button{min-height:26px;font-size:11px;padding:2px 8px}
.sltr-check{display:flex;gap:8px;align-items:center;font-size:12px}

/* KPIs, notes, design */
.sltr-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}
.sltr-kpi{background:var(--soft);border:1px solid var(--sh);border-radius:var(--sr);padding:7px 9px;min-width:0}
.sltr-kpi span{display:block;font-size:10.5px;color:var(--muted)}
.sltr-kpi b{font-size:15px;font-variant-numeric:tabular-nums}
.sltr-kpi b i{font-style:normal;font-size:10.5px;color:var(--muted)}
.sltr-kpi small{display:block;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sltr-kpi.warn{border-color:color-mix(in srgb,var(--s-warn) 45%,var(--sl))}
.sltr-notes{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sltr-note{border:1px solid var(--sh);border-left:3px solid var(--muted);border-radius:var(--sr);padding:8px 10px;background:var(--card)}
.sltr-note.blocks{border-left-color:var(--s-bad);background:color-mix(in srgb,var(--s-bad) 6%,var(--card))}
.sltr-note.caution{border-left-color:var(--s-warn);background:color-mix(in srgb,var(--s-warn) 6%,var(--card))}
.sltr-note.ok{border-left-color:var(--s-ok)}
.sltr-note.info{border-left-color:var(--sa)}
.sltr-nh{display:flex;gap:8px;justify-content:space-between;align-items:flex-start}
.sltr-nh b{font-size:12.5px}
.sltr-lvl{flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sltr-note.blocks .sltr-lvl{color:var(--s-bad)}.sltr-note.caution .sltr-lvl{color:var(--s-warn)}.sltr-note.ok .sltr-lvl{color:var(--s-ok)}
.sltr-note p{font-size:12px;margin:4px 0}
.sltr-props{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.sltr-props>span{font-size:11px;color:var(--muted)}
.sltr-acc{font-size:11.5px;color:var(--s-ok);font-weight:600}
.sltr-kv{width:100%;border-collapse:collapse;font-size:11.5px;margin:4px 0}
.sltr-kv th,.sltr-kv td{border:0;border-bottom:1px solid var(--sh);padding:3px 5px;text-align:left;background:transparent;font-family:inherit;text-transform:none;letter-spacing:0}
.sltr-kv th{font-weight:500;color:var(--muted);white-space:pre}
.sltr-kv td{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.sltr-design{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin:8px 0}
.sltr-design>div{border:1px solid var(--sh);border-radius:var(--sr);padding:7px 9px;background:var(--sa-soft)}
.sltr-design>div.warn{background:color-mix(in srgb,var(--s-warn) 8%,var(--card))}
.sltr-design span{display:block;font-size:10.5px;color:var(--muted)}
.sltr-design b{display:block;font-size:15px}
.sltr-design small{font-size:10.5px;color:var(--muted)}
.sltr-next{margin-top:12px;padding-top:10px;border-top:1px solid var(--sh);display:grid;gap:6px;justify-items:start}
.sltr-why{margin:0;padding-left:18px;font-size:11.5px;color:var(--s-warn)}
.sltr-err{border:1px solid color-mix(in srgb,var(--s-bad) 45%,var(--sl));border-left:3px solid var(--s-bad);border-radius:var(--sr);padding:9px 11px;margin:8px 0;background:color-mix(in srgb,var(--s-bad) 6%,var(--card))}
.sltr-note-busy{border:1px dashed var(--sl);border-radius:var(--sr);padding:12px;color:var(--muted)}
.sltr-note-busy h3{color:var(--ink)}
.sltr-runbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0}
.sltr-stale{font-size:11.5px;color:var(--s-warn);font-weight:600;margin:0}
.sltr-verdict{border-radius:var(--sr);padding:8px 10px;font-size:12.5px;border:1px solid var(--sh)}
.sltr-verdict.ok{background:color-mix(in srgb,var(--s-ok) 8%,var(--card))}
.sltr-verdict.bad{background:color-mix(in srgb,var(--s-bad) 8%,var(--card))}
.sltr-facts{width:100%;border-collapse:collapse;font-size:12px;margin:6px 0}
.sltr-facts th,.sltr-facts td{border:0;border-bottom:1px solid var(--sh);padding:5px 4px;text-align:left;vertical-align:top;background:transparent;font-family:inherit;text-transform:none;letter-spacing:0}
.sltr-facts th{font-weight:500;color:var(--muted);width:48%}
.sltr-facts td small{display:block;font-size:10.5px;color:var(--muted)}
.sltr-evs{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.sltr-ev button{all:unset;cursor:pointer;display:block;font-size:11.5px;line-height:1.4;padding:5px 8px;border-radius:8px;border:1px solid var(--sh);width:100%;box-sizing:border-box}
.sltr-ev button:hover{border-color:var(--sa)}
.sltr-ev.backflow button,.sltr-ev.not_settled button,.sltr-ev.trip_tank_empty button{border-left:3px solid var(--s-bad)}
.sltr-ev.settled button{border-left:3px solid var(--s-ok)}

/* the well */
.sltr-wtool{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sltr-wtool .sltr-seg{flex:1 1 auto}
.sltr-schems{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sltr-schem{margin:0;min-height:0;display:flex;flex-direction:column;align-items:stretch}
.sltr-schem svg{flex:1 1 auto;min-height:0;width:100%;height:100%;display:block}
.sltr-schem figcaption{font-size:10.5px;color:var(--muted);text-align:center;padding-top:2px}
.sltr-wellempty{padding:20px;color:var(--muted)}
.sltr-ov{pointer-events:none}
.sltr-empty{fill:var(--card);stroke:color-mix(in srgb,var(--muted) 70%,transparent);stroke-width:.6;stroke-dasharray:2 2}
.sltr-loc line{stroke:var(--ink);stroke-width:.8;stroke-dasharray:3 2;opacity:.85}
.sltr-loc path{fill:var(--ink)}
.sltr-loc text{font-size:9.5px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:3px}
.sltr-loc.slug line{stroke:var(--s-slug)}.sltr-loc.slug path{fill:var(--s-slug)}
.sltr-loc.ann line{stroke:var(--sa)}.sltr-loc.ann path{fill:var(--sa)}
.sltr-tick{fill:var(--ink)}.sltr-tick.slug{fill:var(--s-slug)}.sltr-tick.ann{fill:var(--sa)}
.sltr-eye{fill:color-mix(in srgb,var(--sa) 10%,transparent);stroke:var(--sa);stroke-width:1;stroke-dasharray:4 2}
.sltr-wintag{font-size:9px;fill:var(--muted)}
.sltr .sc-eq-static{cursor:default}
.sltr-legend{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11px;color:var(--muted)}
.sltr-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.sltr-legend i.empty{background:var(--card);border:1px dashed var(--muted)}
.sltr-probe{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11.5px;min-height:24px}
.sltr-probeb{display:flex;flex-wrap:wrap;gap:2px 10px}
.sltr-probeb span{color:var(--muted)}
.sltr-offscreen{position:fixed;left:-10000px;top:0;width:300px;height:600px;overflow:hidden}

/* results */
.sltr-live{display:grid;gap:6px}
.sltr-phase{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12.5px}
.sltr-phase span{color:var(--muted)}
.sltr-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px}
.sltr-tile{background:var(--soft);border:1px solid var(--sh);border-radius:var(--sr);padding:6px 8px;min-width:0}
.sltr-tile span{display:block;font-size:10.5px;color:var(--muted)}
.sltr-tile b{font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
.sltr-tile b i{font-style:normal;font-size:10.5px;color:var(--muted);margin-left:3px}
.sltr-tile em{display:block;font-style:normal;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sltr em.ok,.sltr .ok{color:var(--s-ok)}.sltr em.bad,.sltr td.bad{color:var(--s-bad)}.sltr em.na{color:var(--muted)}.sltr td.warn{color:var(--s-warn)}
.sltr-tabs{display:flex;flex-wrap:wrap;gap:2px;align-items:center;border-bottom:1px solid var(--sl)}
.sltr-tabs>button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:600;padding:6px 9px;cursor:pointer}
.sltr-tabs>button.on{color:var(--ink);border-bottom-color:var(--sa)}
.sltr-xaxis{margin-left:auto;flex:0 0 auto}
.sltr-tab{display:grid;gap:8px;min-width:0}
.sltr-preview{display:grid;gap:10px}
.sltr-voltab{border:1px solid var(--sh);border-radius:var(--sr);padding:8px 10px}

/* charts */
.sltr-chart{margin:0;border:1px solid var(--sh);border-radius:var(--sr);padding:6px 8px;background:var(--card);min-width:0}
.sltr-chart figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px}
.sltr-chart figcaption>i{font-style:normal;color:var(--muted);font-size:11px}
.sltr-chart figcaption .sltr-ib{margin-left:auto;min-width:24px;height:24px;font-size:12px}
.sltr-chart svg{width:100%;height:auto;display:block;cursor:crosshair}
.sltr-chart.empty{padding:10px}
.sltr-k{font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:4px}
.sltr-k::before{content:"";width:14px;height:0;border-top:2px solid var(--k,var(--ink))}
.sltr-k.dash::before{border-top-style:dashed}
.sltr-grid{stroke:var(--sh);stroke-width:.6}
.sltr-frame{fill:none;stroke:var(--sl);stroke-width:1}
.sltr-ax{font-size:10px;fill:var(--muted);font-variant-numeric:tabular-nums}
.sltr-line{fill:none;stroke:var(--k,var(--ink));stroke-width:1.8;stroke-linejoin:round}
.sltr-line.dash{stroke-dasharray:5 3;stroke-width:1.4}
.sltr-line.a,.sltr-k.a{--k:var(--blue)}.sltr-line.b,.sltr-k.b{--k:var(--green)}.sltr-line.c,.sltr-k.c{--k:#8b5cf6}.sltr-line.d,.sltr-k.d{--k:var(--amber)}
.sltr-line.slug,.sltr-k.slug{--k:#f59f0a}.sltr-line.bad,.sltr-k.bad{--k:var(--red)}
.sltr-line.pore,.sltr-k.pore{--k:var(--red)}.sltr-line.frac,.sltr-k.frac{--k:#9333ea}
.sltr-ref{stroke:var(--muted);stroke-width:1;stroke-dasharray:4 3}
.sltr-ref.pore{stroke:var(--red)}.sltr-ref.margin{stroke:var(--amber)}.sltr-ref.target{stroke:var(--green)}.sltr-ref.now{stroke:var(--blue);stroke-dasharray:none}
.sltr-ref.bit{stroke:var(--ink)}.sltr-ref.probe{stroke:var(--blue)}
.sltr-ax.pore{fill:var(--red)}.sltr-ax.margin{fill:var(--amber)}.sltr-ax.target{fill:var(--green)}.sltr-ax.now{fill:var(--blue)}
.sltr-dot{fill:var(--blue);stroke:var(--card);stroke-width:1.5}
.sltr-cur line{stroke:var(--ink);stroke-width:1.2;opacity:.7}
.sltr-xh line{stroke:var(--muted);stroke-width:.8;stroke-dasharray:2 2}
.sltr-xh circle{fill:var(--card);stroke:var(--blue);stroke-width:1.6}
.sltr-mark line{stroke:var(--muted);stroke-width:.8;stroke-dasharray:1 3}
.sltr-mark circle{fill:var(--muted)}
.sltr-mark.settled circle{fill:var(--green)}.sltr-mark.backflow circle,.sltr-mark.not_settled circle,.sltr-mark.trip_tank_empty circle{fill:var(--red)}
.sltr-tip{position:fixed;z-index:10050;pointer-events:none;max-width:280px;background:var(--card);color:var(--ink);border:1px solid var(--sl);border-radius:8px;
  padding:6px 9px;font-size:11.5px;line-height:1.4;box-shadow:var(--shadow-sm,0 6px 20px rgba(0,0,0,.25));display:grid;gap:1px}
.sltr-tip[hidden]{display:none}
.sltr-tip span{color:var(--muted)}.sltr-tip span b{color:var(--ink)}
.sltr-tip em{font-style:normal;font-size:10.5px;color:var(--blue)}

/* trip sheet */
.sltr-sheetbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--muted)}
.sltr-tablewrap{overflow:auto;max-height:340px;border:1px solid var(--sh);border-radius:var(--sr)}
.sltr-tablewrap.full{max-height:70vh}
.sltr-table{width:100%;border-collapse:collapse;font-size:11.5px}
.sltr-table th,.sltr-table td{border:0;border-bottom:1px solid var(--sh);padding:4px 6px;text-align:right;white-space:nowrap;background:transparent;font-family:inherit;text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums}
.sltr-table thead th{position:sticky;top:0;background:var(--card);color:var(--muted);font-weight:600;font-size:10.5px;z-index:1}
.sltr-table th:first-child,.sltr-table td:first-child{text-align:left}
.sltr-table tbody tr{cursor:pointer}
.sltr-table tbody tr:hover{background:var(--soft)}
.sltr-table tr.cur{background:var(--sa-soft)}

/* timeline */
.sltr-time{position:sticky;bottom:var(--sltr-foot,0px);z-index:5;box-shadow:0 -6px 18px color-mix(in srgb,var(--ink) 8%,transparent);display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid var(--sl);border-radius:var(--sr);background:linear-gradient(var(--card),var(--card)),var(--bg,#fff);padding:6px 10px}
.sltr-scrub{position:relative;flex:1 1 260px;min-width:0;padding-top:12px}
.sltr-scrub input{width:100%;margin:0}
.sltr-phasebar{position:absolute;top:0;left:0;right:0;display:flex;font-size:9.5px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.sltr-phasebar span{white-space:nowrap;overflow:hidden}.sltr-phasebar span:not(:last-child){border-right:1px solid var(--sl)}
.sltr-phasebar span+span{padding-left:4px}
.sltr-evmarks{position:absolute;left:0;right:0;bottom:-6px;height:8px}
.sltr-evm{position:absolute;width:8px;height:8px;min-height:0;min-width:0;box-sizing:border-box;margin-left:-4px;border-radius:50%;border:1px solid var(--card);background:var(--muted);padding:0;cursor:pointer}
.sltr-evm.settled{background:var(--green)}.sltr-evm.backflow,.sltr-evm.not_settled,.sltr-evm.trip_tank_empty{background:var(--red)}
.sltr-readout{font-size:12px;white-space:nowrap}
.sltr-replay{font-size:10.5px;color:var(--muted);white-space:nowrap}

/* modal */
.sltr-modal{padding:4px 2px}
.sltr-cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px}
.sltr-cgrid h4{margin-top:4px}
.sltr-cgrid .sltr-f{margin-bottom:8px}

/* narrower screens: the panel and the well side by side, results below; phones stack */
@media (max-width:1379px),(max-height:619px){
  .sltr-body{grid-template-columns:minmax(290px,340px) minmax(0,1fr);height:auto!important}
  .sltr-res{grid-column:1/-1;overflow:visible}
  .sltr-panel{max-height:min(82vh,800px)}
  .sltr-well{height:min(82vh,800px)}
}
@media (max-width:760px){
  .sltr-body{grid-template-columns:minmax(0,1fr)}
  .sltr-rail .sltr-stepb>span{display:none}
  .sltr-rail .sltr-step.now .sltr-stepb>span{display:inline}
  .sltr-kpis{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sltr-panel{max-height:none;overflow:visible}
  .sltr-well{height:600px}
  .sltr-head .sltr-headr{justify-content:flex-start}
  .sltr-replay,.sltr-time>.sltr-seg{display:none}
  .sltr-time{gap:8px;padding:5px 8px}
  .sltr-time .sltr-scrub{flex:1 1 150px}
  .sltr-readout{font-size:11px;flex-basis:100%}
}

/* saved runs and comparison */
.sltr-label{flex:1 1 180px}
.sltr-kept{font-size:11.5px;color:var(--s-ok);font-weight:600;margin:4px 0}
.sltr-runs{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.sltr-runs li{display:flex;gap:8px;justify-content:space-between;align-items:center;border:1px solid var(--sh);border-radius:var(--sr);padding:6px 8px}
.sltr-runs li.cur{border-color:var(--sa);background:var(--sa-soft)}
.sltr-runs li>div{min-width:0}
.sltr-runs li b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sltr-runs li small{display:block;font-size:10.5px;color:var(--muted)}
.sltr-runs li em{font-style:normal;color:var(--s-warn)}
.sltr-runs li>span{display:flex;gap:4px;flex:0 0 auto}
.sltr-runs .sltr-btn{min-height:26px;padding:3px 8px;font-size:11px}
.sltr-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}

/* Setup window (the input pop-up every simulator opens) and the inputs summary it feeds */
.sltr.sltr-setup{display:block;gap:0}
.sltr-setup .hw-sim-stepbody{min-height:220px}
.sltr-setup .sltr-fields{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.sltr-setup-chart{margin-top:12px}
.sltr-setup .hw-sim-step.bad .hw-sim-stepn{border-color:var(--amber);background:var(--amber);color:#fff}
.sltr-setup .hw-sim-card{margin-bottom:10px}
.sltr-inh{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sltr-inh h3{margin:0}
.sltr-sums{display:grid;grid-template-columns:1fr;gap:8px;margin:8px 0}
.sltr-setup .sltr-sums{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.sltr-sum{border:1px solid var(--sl);border-radius:var(--sr);padding:8px 10px;background:var(--card)}
.sltr-sum.bad{border-color:color-mix(in srgb,var(--amber) 55%,var(--sl));background:color-mix(in srgb,var(--amber) 6%,var(--card))}
.sltr-sumh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.sltr-sumh b{font-size:12.5px}
.sltr-sum .sltr-kv th{width:40%}
.sltr-sum .sltr-src{margin-left:4px;cursor:default}
#mcModal:has(.sltr-setup){max-width:min(1180px,96vw)}
.sltr-setup-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
.sltr-setup-split .sltr-setup-chart{margin-top:0;position:sticky;top:0}
@media (max-width:900px){.sltr-setup-split{grid-template-columns:1fr}.sltr-setup-split .sltr-setup-chart{position:static}}

/* speed list picker (sltrSpeedPicker): chips, a speed scale, presets */
.sltr-sp{--spa:var(--sa,var(--blue));gap:6px}
.sltr-sp .sltr-fl{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.sltr-sp .sltr-fl em{font-style:normal;font-size:11px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.sltr-sp-box{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:38px;padding:5px 6px;border:1px solid var(--sl,var(--line));border-radius:8px;background:var(--soft);cursor:text}
.sltr-sp-box:focus-within{border-color:var(--spa);box-shadow:0 0 0 3px color-mix(in srgb,var(--spa) 18%,transparent)}
.sltr-spc{display:inline-flex;align-items:center;gap:2px;height:26px;padding:0 3px 0 9px;border-radius:999px;background:var(--card);border:1px solid var(--sl,var(--line));color:var(--ink);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.sltr-spc.cur{border-color:var(--spa);background:color-mix(in srgb,var(--spa) 12%,var(--card));box-shadow:inset 0 0 0 1px var(--spa)}
.sltr-spc button{display:inline-grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:14px;line-height:1;cursor:pointer;padding:0}
.sltr-spc button:hover,.sltr-spc button:focus-visible{background:color-mix(in srgb,var(--red,#c0392b) 14%,transparent);color:var(--ink);outline:none}
.sltr-sp-box input{flex:1 1 70px;min-width:60px;height:26px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:600;padding:0 4px;outline:none}
.sltr-sp-track{position:relative;height:22px;margin:2px 6px 0}
.sltr-sp-track .axis{position:absolute;left:0;right:0;top:7px;height:2px;border-radius:2px;background:var(--sl,var(--line))}
.sltr-sp-track b{position:absolute;top:3px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--spa);border:2px solid var(--card)}
.sltr-sp-track u{position:absolute;top:0;width:2px;height:16px;margin-left:-1px;background:var(--ink);border-radius:1px}
.sltr-sp-track span{position:absolute;top:13px;transform:translateX(-50%);font-size:9.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.sltr-sp-track span:first-of-type{transform:none}
.sltr-sp-track span:last-of-type{transform:translateX(-100%)}
.sltr-sp-pre{display:flex;flex-wrap:wrap;gap:5px}
.sltr-sp-pre button{min-height:26px;padding:2px 10px;border:1px solid var(--sl,var(--line));border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer}
.sltr-sp-pre button:hover{border-color:var(--spa)}
.sltr-sp-pre button.on{background:var(--spa);border-color:var(--spa);color:#fff}
.sltr-sp-pre button.clr{color:var(--muted);border-style:dashed}
.sltr-sp-pre button:focus-visible{outline:2px solid var(--spa);outline-offset:1px}
.sltr-sp small.warn{color:var(--amber,#b26b00);font-weight:600}
.sltr-fields .sltr-sp{grid-column:1/-1}
.sltr-sp .sltr-sp-box input[type=text]{border:0!important;box-shadow:none!important;background:transparent!important;outline:none!important;height:28px!important;min-height:0!important;padding:0 4px;margin:0;border-radius:0;font-size:13px;width:auto}
/* touch: bigger chips and remove buttons, a 16px field (no iOS zoom) that does not stretch the box */
body.is-touch .sltr-sp .sltr-sp-box input[type=text]{min-height:34px!important;height:34px!important;font-size:16px!important;padding:0 4px!important}
body.is-touch .sltr-spc{height:34px;font-size:14px;padding-left:11px}
body.is-touch .sltr-spc button{width:30px;height:30px;font-size:17px}
body.is-touch .sltr-sp-pre button{min-height:36px;padding:4px 13px;font-size:13px}
.sltr-chart .sltr-band{fill:color-mix(in srgb,var(--green,#16a34a) 12%,transparent);stroke:color-mix(in srgb,var(--green,#16a34a) 45%,transparent);stroke-dasharray:3 3;stroke-width:1}
.sltr-chart .sltr-corner{font-size:11px;font-weight:700;letter-spacing:.04em;fill:var(--muted);pointer-events:none}
.sltr-chart .sltr-corner.l{fill:#2563eb}.sltr-chart .sltr-corner.r{fill:#ea580c}
.sltr-chart .sltr-ref.shoe{stroke:var(--muted);stroke-dasharray:2 3;opacity:.7}.sltr-chart .sltr-ax.shoe{fill:var(--muted)}

/* build 1223 · trip-out schedule tab */
.sltr-sched-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin:10px 0}
.sltr-sched-fig{margin:0;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--card)}
.sltr-sched-fig img{width:100%;height:auto;display:block;border-radius:6px;background:#fff}
.sltr-sched-fig figcaption{margin-top:6px;font-size:12px}
.sltr-table tr.sltr-sched-2 td{background:color-mix(in srgb,var(--green) 8%,transparent)}
