/* Vertical stack columns shared by the stack pages. Load after viz.css.
   A .well is bottom-anchored (column-reverse: first child sits at the bottom), the top item is tagged. */
.duo{display:grid;grid-template-columns:minmax(0,max-content) auto;justify-content:start;gap:8px 40px;align-items:start}
.pair{display:flex;flex-wrap:wrap;gap:0 8px}
.stk{display:flex;flex-direction:column;align-items:center;padding-left:42px;margin-top:16px}
.well{
  --sh:32px;--sg:5px;
  width:76px;min-height:calc(var(--depth, 3) * (var(--sh) + var(--sg)) + var(--sh) / 2 + 9px); /* half a slot of headroom */
  display:flex;flex-direction:column-reverse;gap:var(--sg);padding:6px 6px 8px;
  border:1.5px solid var(--ink);border-top:0;border-radius:0 0 6px 6px;background:var(--sheet)
}
.well.deep{--sh:22px;--sg:3px}
.well:empty::after{font-family:var(--body);content:"empty";text-align:center;font-size:var(--fs-label);color:var(--ink-3)}
.si{
  height:var(--sh);flex:none;display:flex;align-items:center;justify-content:center;gap:4px;position:relative;
  border:1.5px solid var(--ink-4);border-radius:6px;background:var(--paper);
  font-family:var(--mono);font-weight:700;font-size:var(--fs-small);
  transition:background-color .25s, border-color .25s, color .25s
}
.well.deep .si{font-size:var(--fs-label)}
.si small{font-size:var(--fs-label);font-weight:500;color:var(--ink-3)}
.si.top::before{
  content:"top →";position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%);
  font-family:var(--mono);font-size:var(--fs-label);font-weight:700;color:var(--ink-3);white-space:nowrap
}
.si.probe{background:var(--probe-tint);border-color:var(--probe)}
.si.hit{background:var(--mark);border-color:var(--mark);color:var(--on-mark)}
.si.hit small{color:var(--on-mark)}
.si.ok{background:var(--ok-tint);border-color:var(--ok);color:var(--ok)}
.sn{margin:8px 0 0;font-family:var(--mono);font-size:var(--fs-label);font-weight:700;text-align:center;line-height:1.3}
.sn span{display:block;font-family:var(--body);font-size:var(--fs-label);font-weight:400;color:var(--ink-3)}
@media (max-width:520px){
  .stk{padding-left:36px}
  .well{width:62px}
  .si.top::before{content:"top";right:calc(100% + 12px)}
}
