.php{background:var(--sim-bg);color:var(--sim-ink);border-radius:var(--radius);margin:20px 0;padding:12px}.php svg:not(.katex svg){touch-action:manipulation;width:100%;height:auto;display:block}.php text{font-family:var(--font);fill:var(--sim-ink)}.php .sim-btn{color:var(--sim-ink);background:#16212f;border-color:#33445a}.php .sim-btn:hover:not(:disabled){border-color:var(--accent)}.php .sim-btn:disabled{opacity:.45;cursor:default}.php .sim-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.php-title{color:var(--sim-ink);margin:0 0 8px;font-size:15px;font-weight:600}.php-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.php-row+.php-row,.php-row+svg,svg+.php-row,.php-row+.php-readout,.php-readout+.php-row{margin-top:10px}.php-chips .sim-btn{min-height:40px;padding:0 10px;font-size:14.5px}.php-caption{margin:10px 0 0;font-size:15.5px;line-height:1.6}.php-dim{color:var(--sim-dim);font-size:14px}.php-slider{flex:220px;gap:2px;min-width:0;margin-top:8px;font-size:14.5px;display:grid}.php-slider input[type=range]{width:100%;height:32px;accent-color:var(--accent)}.php-slider b{font-variant-numeric:tabular-nums}.php-readout{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px 10px;margin-top:10px;display:grid}.php-readout div{background:#142033;border-radius:8px;min-width:0;padding:6px 10px}.php-readout span{color:var(--sim-dim);font-size:13px;display:block}.php-readout b{font-variant-numeric:tabular-nums;font-size:17px}.php-badge{background:#253246;border-radius:999px;padding:2px 10px;font-size:14px;font-weight:600;display:inline-block}.php-badge.acidic{color:#ffc9c9;background:#5c1f1f}.php-badge.neutral,.php-badge.good{color:#b8f0c8;background:#1d4d2c}.php-badge.basic{color:#c4d6ff;background:#1b2f63}.php-badge.warn{color:#ffe2a3;background:#5a3d0c}.php-steps{border-top:1px solid #263448;gap:6px;margin:12px 0 0;padding:10px 0 0;font-size:14.5px;list-style:none;display:grid}.php-steps li{color:var(--sim-dim);grid-template-columns:24px 1fr;gap:8px;display:grid}.php-steps li span{border:1.5px solid #46586f;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.php-steps li[data-done]{color:var(--sim-ink)}.php-steps li[data-done] span{color:#fff;background:#2f9a52;border-color:#2f9a52}.php .katex{font-size:1.05em}.php .tex-block{margin:8px 0 0;padding-bottom:2px}.php[data-reduced] *{transition:none!important;animation:none!important}.php-chart{margin-top:10px}.php-chart-bar{border-radius:6px;height:26px;position:relative}.php-chart-ticks{height:18px;color:var(--sim-dim);font-variant-numeric:tabular-nums;font-size:12px;position:relative}.php-chart-ticks span{position:absolute;transform:translate(-50%)}.php-chart-mark{background:#fff;border-radius:2px;width:3px;margin-left:-1.5px;transition:left .25s;position:absolute;top:-6px;bottom:-6px;box-shadow:0 0 0 1px #0e1726}.php-chart-mark b{white-space:nowrap;color:var(--sim-ink);font-size:12px;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.ph-hook .beaker-glass{fill:#c8dcff0d;stroke:#9fb4cf;stroke-width:3px}.ph-hook .liquid{transition:fill 1.4s .45s}.ph-hook .drop{fill:#5ad15a;opacity:0}.ph-hook .drop[data-go]{animation:.6s ease-in forwards ph-drop}@keyframes ph-drop{0%{opacity:1;transform:translateY(0)}90%{opacity:1}to{opacity:0;transform:translateY(var(--fall))}}.ph-hook .pipette{fill:#c9d6e6;stroke:#7f93ad;stroke-width:1.5px}.ph-hook .bulb{fill:#e15a5a}.ph-hook .bk-g{cursor:pointer}.ph-hook .bk-g:focus-visible .beaker-glass,.ph-hook .bk-g:hover .beaker-glass{stroke:var(--accent)}.ph-hook .f{text-anchor:middle;font-size:26px;font-weight:700}.ph-hook .n{text-anchor:middle;fill:var(--sim-dim);font-size:19px}.ph-hook .guess{text-anchor:middle;font-size:22px;font-weight:700}.ph-hook .bk-g:not([data-done]) .beaker-glass{animation:1.8s ease-in-out infinite ph-pulse}@keyframes ph-pulse{50%{stroke:#ffd36b}}.ph-hook-btns{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:6px;display:grid}.ph-hook-btns .sim-btn{padding:0 6px;font-size:14px}.ph-ladder-big{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.ph-ladder-big>div{background:#142033;border-radius:10px;padding:8px 12px}.ph-ladder-big span{color:var(--sim-dim);font-size:13px;display:block}.ph-ladder-big b{font-variant-numeric:tabular-nums;font-size:24px}.ph-ladder .things{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.ph-ladder .things .sim-btn{min-height:40px;padding:0 10px;font-size:14px}.ph-ladder .things i{border-radius:50%;width:10px;height:10px;display:inline-block}.ph-grids text{text-anchor:middle;font-size:20px}.ph-grids .cell{fill:#1b2a3e}.ph-grids .cell[data-on]{fill:#ff7a59}.ph-ice{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:10px;font-size:14px}.ph-ice th,.ph-ice td{text-align:right;border-bottom:1px solid #263448;padding:5px 6px}.ph-ice td:not(:first-child),.ph-ice th:not(:first-child){white-space:nowrap}.ph-ice th:first-child,.ph-ice td:first-child{text-align:left;color:var(--sim-dim)}.ph-alpha-bar{background:#142033;border-radius:6px;height:22px;margin-top:8px;position:relative;overflow:hidden}.ph-alpha-bar i{background:#3f8cff;transition:width .2s;position:absolute;top:0;bottom:0;left:0}.ph-alpha-bar i[data-over]{background:#e0884a}.ph-alpha-bar u{background:#ffd36b;width:2px;position:absolute;top:0;bottom:0}.ph-alpha-bar em{color:var(--sim-ink);font-size:13px;font-style:normal;position:absolute;top:1px;right:6px}.ph-hyd .ion-c{stroke-width:3px}.ph-hyd .lbl{text-anchor:middle;font-size:24px;font-weight:700}.ph-hyd .sub{text-anchor:middle;fill:var(--sim-dim);font-size:18px}.ph-hyd .o-atom{fill:#e0524a}.ph-hyd .h-atom{fill:#e8eef6}.ph-hyd .proton{transition:transform 1.1s cubic-bezier(.5,0,.3,1)}.ph-hyd .proton circle{fill:#ffd36b;stroke:#fff6d8;stroke-width:2px}.ph-hyd .proton text{text-anchor:middle;fill:#3a2a00;font-size:18px;font-weight:700}.ph-hyd .mover{transition:transform .7s}.ph-hyd .arrow{stroke:var(--sim-dim);stroke-width:2.5px;fill:none;stroke-dasharray:6 6}.ph-bars{gap:6px;margin-top:10px;display:grid}.ph-bars>div{grid-template-columns:74px minmax(0,1fr) 96px;align-items:center;gap:8px;font-size:14px;display:grid}.ph-bars .track{background:#142033;border-radius:5px;height:16px;overflow:hidden}.ph-bars .track i{height:100%;transition:width .6s;display:block}.ph-bars b{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.ph-ind-rows{gap:8px;margin-top:10px;display:grid}.ph-ind-row{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;display:grid}.ph-tube{border:2px solid #9fb4cf;border-top:none;border-radius:0 0 13px 13px;width:26px;height:46px;margin:0 auto;position:relative;overflow:hidden}.ph-tube i{height:75%;transition:background .2s;position:absolute;bottom:0;left:0;right:0}.ph-ind-name{flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:14px;display:flex}.ph-ind-name b{font-weight:600}.ph-ind-track{background:#142033;border-radius:4px;height:14px;margin-top:3px;position:relative}.ph-ind-track .band{position:absolute;top:0;bottom:0}.ph-ind-track .now{background:#fff;border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:-4px;bottom:-4px}.pml{margin:0 0 12px}.pml-groups .sim-btn{font-size:13.5px}.pml-shelf{margin-top:8px}.pml-shelf .sim-btn small{opacity:.8;font-size:12px}.pml-now{margin:10px 0 0;font-size:15px;line-height:1.55}.pml-main{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:8px;display:grid}@media (width>=900px){.pml-main{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}}.pml-side{gap:10px;min-width:0;display:grid}.pml-box{background:#142033;border-radius:10px;min-width:0;margin-top:10px;padding:10px 12px}.pml-side .pml-box{margin-top:0}.pml-box-head{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:15px;display:flex}.pml-box .php-row{margin-top:8px}.pml-box .php-readout div{background:#0e1726}.pml-msg{font-size:14.5px}.pml .sim-btn[data-state=wrong]{border-color:#c9302c;text-decoration:line-through}.pml .sim-btn[data-state=right]{opacity:1;background:#1d4d2c;border-color:#4cc26a}.pml-meter{fill:#1d2a3b;stroke:#6f88a8;stroke-width:2px}.pml-lcd{fill:#23302a;stroke:#46586f;stroke-width:2px}.pml-lcd[data-on]{fill:#b9d6a8}.pml .pml-digits{text-anchor:end;fill:#142414;font-family:Consolas,Courier New,monospace;font-size:58px;font-weight:700}.pml .pml-unit{fill:#142414;font-size:24px;font-weight:700}.pml .pml-mv{text-anchor:end;fill:#2b4a2b;font-size:18px}.pml .pml-tag{text-anchor:middle;fill:var(--sim-dim);font-size:20px}.pml .pml-small{fill:var(--sim-dim);font-size:19px}.pml .pml-small.mid{text-anchor:middle}.pml-led{fill:#4a5566}.pml-led[data-on]{fill:#4cc26a}.pml-led.cal[data-on=half]{fill:#e0b24f}.pml-cable{fill:none;stroke:#56677e;stroke-width:4px}.pml-glass{fill:#c8dcff0d;stroke:#9fb4cf;stroke-width:3px}.pml-liquid{transition:fill .4s}.pml-probe{transition:transform .6s}.pml-probe-body{fill:#c9d6e6;stroke:#7f93ad;stroke-width:1.5px}.pml-probe-win{fill:#8fa6c0}.pml-bulb{fill:#dcebff8c;stroke:#c9d6e6;stroke-width:2px}.pml-mark{stroke:#e6edf6;stroke-width:2px}.pml-flask-fill{transition:transform 1.2s .2s;transform:translateY(190px)}.pml-flask[data-on] .pml-flask-fill{transform:translateY(26px)}.pml-pipette{opacity:0;transition:opacity .3s}.pml-flask[data-on] .pml-pipette{opacity:1}.pml-pip{fill:#c8dcff40;stroke:#c9d6e6;stroke-width:2px}.pml-wells{background:#e9edf2;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px;padding:8px 4px;display:grid}.pml-well{font:inherit;cursor:pointer;color:#17202b;background:0 0;border:none;justify-items:center;gap:2px;min-width:0;min-height:40px;padding:2px;display:grid}.pml-well:disabled{cursor:default;opacity:.6}.pml-dish{background:#f7f9fb;border-radius:50%;width:44px;height:44px;position:relative;overflow:hidden;box-shadow:inset 0 3px 6px #00000040}.pml-dish i{border-radius:50%;transition:background .5s;position:absolute;inset:5px}.pml-wlabel{text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:12px;line-height:1.25}@media (width<=480px){.pml-wells{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}}.pml-wword{text-align:center;font-size:12px;font-weight:700}.pml-bottom{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=900px){.pml-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
