/* ch5.css — widgets for chapter 5 (profiling). --lk-* tokens only. */

/* reduction stepper: 8 warps x 32 lanes */
.rd-grid{display:grid;grid-template-columns:4.2rem 1fr 5.2rem;gap:3px .5rem;align-items:center;margin:.5rem 0 .3rem}
.rd-wlabel{font:.72rem var(--lk-mono);color:var(--lk-ink-soft);white-space:nowrap}
.rd-lanes{display:grid;grid-template-columns:repeat(32,1fr);gap:1px}
.rd-lane{height:.8rem;border:1px solid var(--lk-rule-soft);background:var(--lk-paper)}
.rd-lane.on{background:var(--lk-cobalt);border-color:var(--lk-cobalt)}
.rd-lane.cf{background:var(--lk-vermilion);border-color:var(--lk-vermilion)}
.rd-tag{font:.68rem var(--lk-mono);text-align:right;color:var(--lk-ink-soft)}
.rd-tag.div{color:var(--lk-vermilion);font-weight:600}
.rd-tag.full{color:var(--lk-cobalt-dark);font-weight:600}
.rd-btns{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin:.2rem 0 .6rem}
.rd-btns button{font-family:var(--lk-utility);font-size:.82rem;font-weight:600;cursor:pointer;padding:.35rem .8rem;border-radius:3px;border:1px solid var(--lk-cobalt);background:var(--lk-paper-light);color:var(--lk-cobalt)}
.rd-btns button[aria-pressed="true"]{background:var(--lk-cobalt);color:var(--lk-paper-light)}
.rd-btns button:focus-visible{outline:2px solid var(--lk-cobalt);outline-offset:2px}
.rd-btns .rd-sep{width:1px;height:1.4rem;background:var(--lk-rule-soft);margin:0 .2rem}
.rd-legend{display:flex;gap:1rem;flex-wrap:wrap;font:.72rem var(--lk-mono);color:var(--lk-ink-soft);margin:.1rem 0 .6rem}
.rd-legend i{display:inline-block;width:.8rem;height:.8rem;vertical-align:-2px;margin-right:.3rem;border:1px solid var(--lk-rule-soft)}
.rd-legend i.on{background:var(--lk-cobalt)} .rd-legend i.cf{background:var(--lk-vermilion)} .rd-legend i.off{background:var(--lk-paper)}
#w-reduce pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:560px){.rd-grid{grid-template-columns:2.4rem 1fr 3.2rem;gap:3px .35rem}.rd-wlabel{font-size:.58rem}.rd-tag{font-size:.6rem}.rd-lane{height:.6rem}
  #w-reduce .w-out{grid-template-columns:repeat(2,minmax(0,1fr))}#w-reduce .w-stat .v{font-size:1rem}}

/* stall-reason explorer (reuses the lk-se look) */
.st-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.45rem;margin-bottom:.9rem}
.st-grid button{font:600 .8rem var(--lk-mono);cursor:pointer;padding:.55rem .4rem;border:1px solid var(--lk-rule);border-radius:3px;background:var(--lk-paper-light);color:var(--lk-ink);text-align:center}
.st-grid button:hover{border-color:var(--lk-cobalt)}
.st-grid button[aria-pressed="true"]{background:var(--lk-hl);border-color:var(--lk-cobalt);color:var(--lk-cobalt-dark)}
.st-grid button:focus-visible{outline:2px solid var(--lk-cobalt);outline-offset:2px}
.st-panel{border:1px solid var(--lk-rule-soft);border-radius:3px;padding:.8rem .95rem;background:var(--lk-paper)}
.st-panel h4{margin:0 0 .15rem;color:var(--lk-cobalt-dark);font-family:var(--lk-mono);font-size:.92rem}
.st-panel dl{display:grid;grid-template-columns:7.2rem 1fr;gap:.35rem .8rem;margin:.5rem 0 0}
.st-panel dt{font:600 .7rem var(--lk-utility);letter-spacing:.06em;text-transform:uppercase;color:var(--lk-ink-soft);padding-top:.2rem}
.st-panel dd{margin:0;font-size:.98rem}
@media(max-width:560px){.st-panel dl{grid-template-columns:1fr}.st-panel dt{padding-top:.4rem}.st-grid button{font-size:.66rem;padding:.5rem .25rem;overflow-wrap:anywhere}}

/* fig-sampler (iso figure): counter digits and the histogram under the card */
.iso-svg .smp-dig{font:600 4.6px var(--lk-mono);fill:var(--iso-hi);text-anchor:middle}
.smp-hist{list-style:none;counter-reset:smp;margin:.7rem .2rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.25rem 1.2rem;font-size:.8rem}
.smp-hist li{counter-increment:smp;display:grid;grid-template-columns:1.2rem 9.6rem minmax(0,1fr) 2.6rem;align-items:center;gap:.4rem;color:var(--lk-ink-soft)}
.smp-hist li::before{content:counter(smp);font-family:var(--lk-mono);font-size:.72rem;color:var(--lk-ink-soft);text-align:right}
body.lk .smp-hist code{font-size:.74rem;background:none;border:0;padding:0;color:var(--lk-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.smp-hist .bar{height:.55rem;background:var(--iso-s1);border:1px solid var(--iso-faint);border-radius:2px;overflow:hidden}
.smp-hist .bar i{display:block;height:100%;width:0;background:var(--iso-mid);transition:width .2s}
.smp-hist .pc{font-family:var(--lk-mono);font-size:.74rem;text-align:right;font-variant-numeric:tabular-nums}
/* bars carry the figure's colour families: forest = issuing / compute, vermilion = memory, paper = the rest */
.smp-hist li[data-fam~="work"] .bar i{background:var(--m-work-s0)}
.smp-hist li[data-fam~="work"][data-fam~="strong"] .bar i{background:var(--lk-forest)}
.smp-hist li[data-fam~="mem"] .bar i{background:var(--m-mem-s0)}
.smp-hist li[data-fam~="mem"][data-fam~="strong"] .bar i{background:var(--lk-vermilion)}
.smp-hist li.top code{color:var(--lk-cobalt-dark);font-weight:600}
.smp-hist li.top .pc{font-weight:700;color:var(--lk-ink)}
@media(prefers-reduced-motion:reduce){.smp-hist .bar i{transition:none}}
