.pl-panel{background:var(--sim-bg);color:var(--sim-ink);border-radius:var(--radius);margin:20px 0;padding:12px}.pl-panel svg{touch-action:manipulation;width:100%;height:auto;display:block}.pl-panel text{font-family:var(--font)}.pl-panel .sim-btn{color:var(--sim-ink);background:#16212f;border-color:#33445a}.pl-panel .sim-btn:disabled{opacity:.45;cursor:default}.pl-panel .sim-btn[aria-pressed=true],.pl-panel .sim-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.pl-panel .sim-btn.warn[aria-pressed=true]{background:#b3412f;border-color:#b3412f}.pl-row{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.pl-row+.pl-row,.pl-row+.pl-slider,.pl-slider+.pl-row,.pl-slider+.pl-slider{margin-top:10px}.pl-label{color:var(--sim-dim);font-size:13.5px}.pl-caption{min-height:2.6em;margin:10px 0 0;font-size:15.5px;line-height:1.6}.pl-note{color:var(--sim-dim);margin:6px 0 0;font-size:13px}.pl-slider label{justify-content:space-between;gap:8px;font-size:15px;display:flex}.pl-slider input[type=range]{width:100%;min-height:40px;accent-color:var(--accent)}.pl-slider .ends{color:var(--sim-dim);justify-content:space-between;gap:12px;margin-top:-6px;font-size:12.5px;display:flex}.pl-good{color:#6fdc8c}.pl-bad{color:#ff8f8f}.pl-alk{color:#c9a2ff}.pl-panel .t{fill:var(--sim-ink);font-size:22px}.pl-panel .t.mid{text-anchor:middle}.pl-panel .t.end{text-anchor:end}.pl-panel .t.dim{fill:var(--sim-dim)}.pl-panel .t.small{font-size:19px}.pl-panel .t.big{font-size:34px;font-weight:700}.pl-panel .t.num{font-variant-numeric:tabular-nums}.pl-panel .glass{fill:#c8dcff12;stroke:#9fb6d3;stroke-width:2.5px}@media (width<=560px){.pl-panel .t{font-size:26px}.pl-panel .t.small{font-size:23px}.pl-panel .t.big{font-size:38px}}.pl-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:8px;margin-top:10px;display:grid}.pl-stat{background:#16212f;border:1px solid #2a3a50;border-radius:10px;padding:6px 10px}.pl-stat dt{color:var(--sim-dim);font-size:12.5px}.pl-stat dd{font-variant-numeric:tabular-nums;margin:0;font-size:18px;font-weight:600}.pl-steps{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.pl-steps li{color:var(--sim-dim);grid-template-columns:26px minmax(0,1fr);gap:8px;font-size:14.5px;line-height:1.5;display:grid}.pl-steps li span{border:2px solid #33445a;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.pl-steps li[data-done]{color:var(--sim-ink)}.pl-steps li[data-done] span{color:#fff;background:#2f9e55;border-color:#2f9e55}.bv-cells{animation:2.6s linear infinite bv-flow}.bv[data-paused] .bv-cells,.bv[data-paused] .bv-co2{animation-play-state:paused}@keyframes bv-flow{0%{transform:translate(0)}to{transform:translate(120px)}}.bv-co2{animation:1.8s ease-in infinite bv-rise}@keyframes bv-rise{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:0;transform:translateY(-46px)}}.bv-drop{animation:.55s ease-in forwards bv-drop}@keyframes bv-drop{0%{opacity:1;transform:translateY(-40px)}85%{opacity:1}to{opacity:0;transform:translateY(40px)}}.pl-needle{transition:transform .6s cubic-bezier(.3,1.4,.5,1)}.pl-liquid{transition:fill .5s}@media (prefers-reduced-motion:reduce){.bv-cells,.bv-co2,.bv-drop{animation:none}.bv-drop{opacity:0}.pl-needle,.pl-liquid{transition:none}}.pl-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.pl-chip{color:var(--sim-dim);border:1px solid #33445a;border-radius:999px;padding:4px 12px;font-size:14px}.pl-chip[data-on]{color:var(--sim-ink);background:#2f9e552e;border-color:#2f9e55}.pl-tex{margin-top:8px;font-size:15px;overflow-x:auto}.pl-tex .katex{color:var(--sim-ink)}.pl-story{background:#16212f;border-radius:8px;margin:8px 0 0;padding:8px 12px;font-size:14.5px;line-height:1.6}.pel-modes{margin-bottom:12px}.pel-bench{gap:12px;display:grid}.pel-shelf{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:6px;display:grid}.pel-item{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:4px 26px 4px 8px;font-size:14px;line-height:1.25;display:grid;position:relative}.pel-item small{color:var(--text-muted);font-size:11.5px;display:block}.pel-item i{border:1px solid #00000059;border-radius:50%;width:16px;height:16px}.pel-item[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.pel-tick{color:var(--good);position:absolute;top:50%;right:8px;transform:translateY(-50%)}.pel-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}@media (width<=760px){.pel-grid{grid-template-columns:minmax(0,1fr)}}.pel-stage{background:var(--sim-bg);color:var(--sim-ink);border-radius:var(--radius);margin:0;padding:8px}.pel-stage svg{width:100%;height:auto;display:block}.pel-stage text,.pel-verdict text{font-family:var(--font)}.pel-stage .t,.pel-verdict .t{fill:var(--sim-ink);font-size:22px}.pel-stage .t.mid,.pel-verdict .t.mid{text-anchor:middle}.pel-stage .t.small,.pel-verdict .t.small{font-size:19px}.pel-stage .t.dim,.pel-verdict .t.dim{fill:var(--sim-dim)}.pel-stage .t.big{font-size:34px;font-weight:700}.pel-stage .t.num{font-variant-numeric:tabular-nums}.pel-stage .glass{fill:#c8dcff12;stroke:#9fb6d3;stroke-width:2.5px}.pel-mini{width:100%;height:auto;margin-top:6px;display:block}.pel-controls{gap:10px;display:grid}.pel-controls .seg .sim-btn{flex:140px}.pel-actions{flex-wrap:wrap;gap:6px;display:flex}.pel-msg{background:var(--surface-2);border-radius:8px;margin:0;padding:8px 12px;font-size:15px;line-height:1.55}.pel-small{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.pel-chart{border:1px solid var(--border);border-radius:var(--radius);padding:10px}.pel-chart-head{align-items:center;gap:10px;margin-bottom:8px;font-size:14.5px;display:flex}.pel-swatch{border:2px solid var(--text);border-radius:6px;flex:none;width:44px;height:44px}.pel-chart-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:6px;display:grid}.pel-cell{color:#fff;min-height:42px;font:inherit;text-shadow:0 1px 2px #0009;cursor:pointer;border:2px solid #0000;border-radius:6px;font-size:16px;font-weight:700}.pel-cell:hover:not(:disabled){border-color:var(--text)}.pel-cell[data-wrong]{opacity:.3;cursor:default}.pel-verdict{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);gap:8px;padding:10px 14px;display:grid}.pel-verdict .pel-mini{background:var(--sim-bg);border-radius:8px;max-width:520px;padding:4px}.pel-v-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.pel-badge{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:1px 9px;font-size:12.5px}.pel-v-vals{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:6px;margin:0;display:grid}.pel-v-vals dt{color:var(--text-muted);font-size:12.5px}.pel-v-vals dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.pel-v-text{margin:0;font-size:15px;line-height:1.6}.pel-ok,.pel-no{margin:0;font-weight:700}.pel-ok{color:var(--good)}.pel-no{color:#cf222e}.pel-verdict .sim-btn.warn[aria-pressed=true]{color:#fff;background:#b3412f;border-color:#b3412f}.pel-verdict .sim-btn{white-space:normal;text-align:left;justify-self:start;height:auto;min-height:40px}.pel-q{gap:6px;display:grid}.pel-q p{margin:0}.pel-stats .pl-stat{background:var(--surface-2);border-color:var(--border)}.pel-stats .pl-stat dt,.pel-controls .pl-slider .ends{color:var(--text-muted)}.pel-holdbar{background:#16212f;border-radius:5px;height:10px;margin:4px 8px;overflow:hidden}.pel-holdbar span{background:#3fbf6a;height:100%;display:block}.pel-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:14px;display:grid}@media (width<=760px){.pel-bottom{grid-template-columns:minmax(0,1fr)}}.pel-rinse circle{animation:.8s ease-in forwards pel-rinse}@keyframes pel-rinse{0%{opacity:1;transform:translateY(-30px)}to{opacity:0;transform:translateY(40px)}}.pel-fizz circle{opacity:0;animation:1.4s ease-out forwards pel-fizz}@keyframes pel-fizz{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-70px)}}@media (prefers-reduced-motion:reduce){.pel-rinse circle,.pel-fizz circle{opacity:0;animation:none}}@media (width<=560px){.pel-stage .t,.pel-verdict .t{font-size:25px}.pel-stage .t.small,.pel-verdict .t.small{font-size:23px}.pel-stage .t.big{font-size:40px}}
