.plab-tabs{margin-bottom:12px}.plab-pane{gap:10px;min-width:0;display:grid}.plab-kicker{color:var(--accent);margin-top:4px;font-size:14px;font-weight:700}.plab-group-label{color:var(--text-muted);font-size:13.5px}.plab-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.plab-chips .sim-btn.small{min-height:40px;font-size:14px}.plab .sim-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.plab .sim-btn:disabled{opacity:.5;cursor:default}.plab-f{opacity:.75;font-size:12.5px}.plab-slider{gap:4px;font-size:15px;display:grid}.plab-slider input{width:100%;min-height:40px;accent-color:var(--accent)}.plab svg{width:100%;height:auto;display:block}.plab svg text{font-family:var(--font)}.plab-reactor{background:var(--sim-bg);border-radius:var(--radius)}.plab-reactor .vessel{fill:#1b2737;stroke:#8fa0b5;stroke-width:3px}.plab-reactor .contents{fill:#2c3e55;transition:fill .4s}.plab-reactor .contents.ok{fill:#3a6f8f}.plab-reactor .contents.bad{fill:#5a3a3a}.plab-reactor .squiggle{stroke:#e6edf6;stroke-width:3px;stroke-linecap:round}.plab .tx{fill:var(--sim-ink);font-size:19px}.plab .tx.mid{text-anchor:middle}.plab .tx.end{text-anchor:end}.plab .tx.dim{fill:var(--sim-dim)}.plab .tx.small{font-size:18px}.plab .tx.big{font-size:30px;font-weight:700}.plab-result{border-radius:var(--radius);border:1px solid var(--border);padding:12px 14px;font-size:15px;line-height:1.6}.plab-result.bad{background:var(--warn-soft)}.plab-result.ok{background:var(--good-soft)}.plab-result h3{margin:0 0 4px;font-size:17px}.plab-en{color:var(--text-muted);font-size:14px;font-weight:400}.plab-repeat{overflow-wrap:anywhere;margin:0 0 8px;font-size:17px;font-weight:600}.plab-dl{grid-template-columns:minmax(0,9.5em) minmax(0,1fr);gap:3px 10px;margin:0;display:grid}.plab-dl dt{color:var(--text-muted);font-size:14px}.plab-dl dd{overflow-wrap:anywhere;margin:0}@media (width<=520px){.plab-dl{grid-template-columns:minmax(0,1fr)}.plab-dl dd{margin-bottom:4px}}.plab-note{margin:8px 0 0;font-size:14.5px}.plab-note.warn{color:var(--warn)}.plab-small{color:var(--text-muted);margin:6px 0 0;font-size:13px}.plab-n{border-top:1px dashed var(--border);margin:8px 0;padding-top:8px}.plab-n p{overflow-wrap:anywhere;margin:6px 0 0}.plab-help{margin:0;font-size:15px;line-height:1.6}.plab-readout{background:var(--surface-2);border-radius:10px;padding:8px 12px;font-size:15px}.plab-graph{background:var(--sim-bg);border-radius:var(--radius)}.plab-graph .grid{stroke:#26354a;stroke-width:1px}.plab-graph .stepline{stroke:#ffd36b;stroke-width:4px}.plab-graph .chainline{stroke:#6fdc8c;stroke-width:3px;stroke-dasharray:10 6}.plab-graph .steplabel{fill:#ffd36b}.plab-graph .chainlabel{fill:#6fdc8c}.plab-graph .dot{fill:#ff9b8a;stroke:#fff;stroke-width:2px}.plab-beads{gap:4px;display:grid}.plab-beads svg{background:var(--sim-bg);border-radius:10px}.plab-beads .beadlink{stroke:#c9d3df;stroke-width:3px}.plab-beads .bead.c0{fill:#7cc0f5}.plab-beads .bead.c1{fill:#6fdc8c}.plab-beads .bead.c2{fill:#ffd36b}.plab-beads .bead.c3{fill:#c9a6ff}.plab-beads .bead.mono{fill:#59636f}.plab-stage .bg{fill:var(--sim-bg)}.plab-stage .plate{fill:#8a96a4}.plab-stage .sample{transition:d .5s,fill .5s}.plab[data-reduced] .plab-stage .sample{transition:none}.plab-stage .smoke{opacity:0;animation:1.6s ease-out infinite plab-smoke}.plab[data-reduced] .plab-stage .smoke{opacity:.5;animation:none}@keyframes plab-smoke{0%{opacity:0;transform:translateY(8px)}25%{opacity:.7}to{opacity:0;transform:translateY(-50px)}}.plab-sort{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}@media (width<=700px){.plab-sort{grid-template-columns:minmax(0,1fr)}}.plab-sort-item{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:6px 10px;display:flex}.plab-sort-item[data-right]{border-color:var(--good);background:var(--good-soft)}.plab-sort-item[data-wrong]{background:var(--warn-soft);border-color:#cf222e}.plab-sort-name{font-size:15px}.plab-sort-btns{gap:6px;display:flex}.plab-sort-btns .sim-btn.small{min-height:40px;font-size:14px}.plab-bottom{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:14px;display:grid}@media (width>=900px){.plab-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
