.hrc-panel{background:var(--sim-bg);color:var(--sim-ink);border-radius:var(--radius);margin:20px 0;padding:12px}.hrc-panel>svg{width:100%;height:auto;margin-top:6px;display:block}.hrc-panel text{font-family:var(--font)}.hrc-panel .sim-btn{color:var(--sim-ink);background:#16212f;border-color:#33445a}.hrc-panel .sim-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.hrc-panel .sim-btn:disabled{opacity:.45;cursor:default}.hrc-panel .sim-btn.small{min-height:40px;padding:4px 10px;line-height:1.25}.hrc-t{fill:var(--sim-ink);font-size:22px}.hrc-t.mid{text-anchor:middle}.hrc-t.end{text-anchor:end}.hrc-t.small{font-size:19px}.hrc-t.tiny{font-size:17px}.hrc-t.dim{fill:var(--sim-dim)}.hrc-t.ink-dark{fill:#0e1726;font-weight:700}.hrc-foam{fill:#ece7da;stroke:#b9b19c;stroke-width:2px}.hrc-inner{fill:#0a111c}.hrc-inner.glass{fill:#aac8e614}.hrc-glass{fill:none;stroke:#9fb6cf;stroke-width:3px}.hrc-grad{stroke:#9fb6cf;stroke-width:2px}.hrc-liquid{opacity:.95;transition:d .6s}.hrc-lid{fill:#ddd6c4;stroke:#a49b84;stroke-width:2px}.hrc-lid.card{fill:#b98d5b;stroke:#8a6239}.hrc-display{fill:#071019;stroke:#3b5068;stroke-width:2px}.hrc-readout{fill:#7dffa8;text-anchor:middle;font-variant-numeric:tabular-nums;font-size:38px;font-weight:700}.hrc-probe{stroke:#a9b6c6;stroke-width:5px;stroke-linecap:round}.hrc-heat path,.hrc-flow path{fill:none;stroke-width:4px;stroke-linecap:round}.hrc-heat.out path{stroke:#ff8a4c}.hrc-heat.in path{stroke:#5cc8ff}.hrc-glassfill{fill:#aac8e61f;stroke:#9fb6cf;stroke-width:2px}.hrc-base-liq{fill:#b9d8ff;opacity:.8}.hrc-cyl{transform-box:view-box;transform-origin:300px 130px}.hrc-cyl[data-poured]{animation:1.4s ease-in-out forwards hrc-pour}@keyframes hrc-pour{0%{opacity:1;transform:none}35%{opacity:1;transform:translate(-30px,60px)rotate(100deg)}75%{opacity:1;transform:translate(-30px,60px)rotate(100deg)}to{opacity:0;transform:translate(-30px,60px)rotate(100deg)}}.hrc-watch{fill:#c8dcf033;stroke:#a9bfd6;stroke-width:2px}.hrc-crystals rect{fill:#f4f1ea}.hrc-crystals{transition:transform .5s ease-in}.hrc-crystals[data-added]{transform:translate(-96px,196px)}.hrc-hook-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.hrc-caption{margin:10px 0 0;font-size:15.5px}.hrc-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}.hrc-steps li{color:var(--sim-dim);grid-template-columns:24px minmax(0,1fr);gap:8px;display:grid}.hrc-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}.hrc-steps li[data-done]{color:var(--sim-ink)}.hrc-steps li[data-done] span{background:var(--good);border-color:var(--good);color:#fff}.hrc-heater{fill:#3a2a24;stroke:#8a5a40;stroke-width:2px}.hrc-waves path{fill:none;stroke:#ff7a3c;stroke-width:4px;stroke-linecap:round}.hrc-block{stroke:#e6edf6;stroke-width:1.5px}.hrc-tube{fill:#eef3f8;stroke:#8fa0b5;stroke-width:2px}.hrc-bulb,.hrc-mercury{fill:#e5484d}.hrc-mercury{transition:y .4s,height .4s}.hrc-tick{stroke:var(--sim-dim);stroke-width:2px}.hrc-slider{gap:2px;margin-top:10px;font-size:15px;display:grid}.hrc-slider input{width:100%;min-height:32px;accent-color:var(--accent)}.hrc-row{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;font-size:15px;display:flex}.hrc-formula{margin:10px 0 0;font-size:15.5px}.hrc-note{color:var(--sim-dim);font-size:14px}.hrc-note.warn{color:#ffcf6b}.hrc-compare{border-top:1px solid #263448;gap:6px;margin-top:10px;padding-top:10px;font-size:14px;display:grid}.hrc-compare-h{color:var(--sim-dim)}.hrc-cmp-row{opacity:.75;grid-template-columns:minmax(0,9em) minmax(0,1fr) 4.6em;align-items:center;gap:8px;display:grid}.hrc-cmp-row[data-on]{opacity:1;font-weight:700}.hrc-cmp-l small{color:var(--sim-dim);font-weight:400;display:block}.hrc-cmp-bar{background:#1a2636;border-radius:7px;height:14px;overflow:hidden}.hrc-cmp-bar i{border-radius:7px;height:100%;transition:width .3s;display:block}.hrc-cmp-v{text-align:right;font-variant-numeric:tabular-nums}.hrc-axis{stroke:var(--sim-dim);stroke-width:2.5px}.hrc-axhead{fill:var(--sim-dim)}.hrc-lvl{transition:transform .6s}.hrc-level{stroke-width:6px;stroke-linecap:round}.hrc-level.r{stroke:#7fb2ff}.hrc-level.p{stroke:#c7a6ff}.hrc-arrow,.hrc-arrowhead{fill:#ff8a4c;transition:transform .6s,fill .3s}.hrc-arrow{transform-origin:0 0}.hrc-flip:not([data-exo]) .hrc-arrow,.hrc-flip:not([data-exo]) .hrc-arrowhead{fill:#5cc8ff}.hrc-t.big-dh{font-size:26px;font-weight:700}.hrc-flow path{stroke:#ff8a4c}.hrc-flip:not([data-exo]) .hrc-flow path{stroke:#5cc8ff}.hrc-t.flowt{fill:#ffb48a}.hrc-flip:not([data-exo]) .hrc-t.flowt{fill:#9fe0ff}.hrc-flip-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.hrc-badge{border-radius:8px;padding:6px 10px;font-size:14.5px;font-weight:700}.hrc-badge.exo{color:#ffb48a;background:#4a2414}.hrc-badge.endo{color:#9fe0ff;background:#0f3346}.hrc-bars{gap:6px;margin-top:10px;display:grid}.hrc-bars-h{color:var(--sim-dim);justify-content:space-between;font-size:13.5px;display:flex}.hrc-bar-row{min-height:46px;color:var(--sim-ink);font:inherit;text-align:left;cursor:pointer;background:#121c2a;border:1px solid #2a3a50;border-radius:10px;grid-template-columns:minmax(0,7.2em) minmax(0,1fr) 3.6em;align-items:center;gap:8px;padding:4px 8px;font-size:14.5px;display:grid}.hrc-bar-row[aria-pressed=true]{border-color:var(--accent);background:#17263b}.hrc-bar-l small{color:var(--sim-dim);font-size:12.5px;display:block}.hrc-bar-track{background:#1a2636;border-radius:9px;height:18px;position:relative}.hrc-bar-track i{background:#7fb2ff;border-radius:9px;height:100%;transition:width .4s;display:block}.hrc-bar-row[data-kind=less] .hrc-bar-track i{background:#5cc8ff}.hrc-bar-row[data-kind=more] .hrc-bar-track i{background:#ff8a4c}.hrc-bar-track em,.hrc-bars-foot em{border-left:2px dashed #ffd36b;width:0;position:absolute;top:-4px;bottom:-4px}.hrc-bar-v{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.hrc-bars-foot{color:var(--sim-dim);padding-left:14px;font-size:13.5px;position:relative}.hrc-bars-foot em{top:2px;bottom:2px;left:2px}.hrc-why{background:#121c2a;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:15px}.hrc-why p{margin:6px 0 0}.hrc-why-sub{color:var(--sim-dim);font-size:13px}.hrc-supersat{fill:#ff785a1f}.hrc-solcurve{fill:none;stroke:#ffd36b;stroke-width:4px}.hrc-t.sol{fill:#ffd36b}.hrc-wish{fill:none;stroke:#ff7a6b;stroke-width:2.5px;stroke-dasharray:8 7;opacity:.7}.hrc-path{fill:none;stroke:#7dffa8;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.hrc-dot{fill:#7dffa8;stroke:#0e1726;stroke-width:3px}.hrc-go{margin-top:10px}.hrc-trap-out p{background:#121c2a;border-radius:8px;margin:10px 0 0;padding:8px 12px;font-size:15px}.hrc-trap-out p.bad{background:#3a2a10}.hrc-trap-out p.good{background:#12301c}@media (prefers-reduced-motion:reduce){.hrc-panel *,.hrc-lab *{transition:none!important;animation-duration:1ms!important}}.cal-modes{margin-bottom:8px}.cal-modes .sim-btn.small,.cal-setup .sim-btn.small,.cal-analysis .sim-btn.small{min-height:40px;padding:4px 10px;line-height:1.25}.cal-setup{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);gap:8px;padding:10px;display:grid}.cal-row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.cal-k{font-size:14px;font-weight:600}.cal-sub{color:var(--text-muted);margin:0;font-size:14px}.cal-slider{gap:2px;font-size:14.5px;display:grid}.cal-slider input{width:100%;min-height:32px;accent-color:var(--accent)}.cal-stage{border-radius:var(--radius);background:var(--sim-bg);color:var(--sim-ink);margin-top:10px;overflow:hidden}.cal-svg,.cal-graph{width:100%;height:auto;display:block}.cal-svg text,.cal-graph text{font-family:var(--font)}.cal-bar{flex-wrap:wrap;gap:8px;padding:10px;display:flex}.cal-stage .sim-btn{color:var(--sim-ink);background:#16212f;border-color:#33445a}.cal-stage .sim-btn:disabled{opacity:.5}.cal-go{font-weight:700}.cal-stage .cal-go{background:var(--accent);border-color:var(--accent);color:#fff}.cal-stir{fill:none;stroke:#8d97a5;stroke-width:4px}.cal-stirrer[data-on]{animation:.9s ease-in-out infinite cal-stir}@keyframes cal-stir{50%{transform:translateY(-30px)}}.cal-solid rect,.cal-crystal{fill:#f4f1ea}.cal-solid{transform-box:view-box;transition:transform .3s,opacity .3s}.cal-warn{fill:#ffcf6b;font-weight:700}.cal-heat path{fill:none;stroke-width:4px;stroke-linecap:round}.cal-heat[data-dir=out] .in,.cal-heat[data-dir=in] .out,.cal-heat:not([data-dir]) path{display:none}.cal-heat[data-dir=out] path,.cal-heat[data-dir=out]~defs .cal-ahp{stroke:#ff8a4c}.cal-heat[data-dir=in] path{stroke:#5cc8ff}.cal-ahp{fill:#c9d3df}.cal-pour{transform-box:view-box;transform-origin:600px 170px}.cal-pour[data-poured]{animation:1.2s ease-in-out forwards cal-pour}@keyframes cal-pour{0%{opacity:1;transform:none}35%,75%{opacity:1;transform:translate(-260px,-40px)rotate(-100deg)}to{opacity:0;transform:translate(-260px,-40px)rotate(-100deg)}}.cal-gbg{fill:#0b1320}.cal-grid{stroke:#1d2a3b;stroke-width:1px}.cal-mixline{stroke:#56677e;stroke-dasharray:5 6}.cal-trace{fill:none;stroke:#7dffa8;stroke-width:3px;stroke-linejoin:round}.cal-fit{stroke:#ff7a6b;stroke-width:3px;stroke-dasharray:10 7}.cal-t2{fill:#ff7a6b}.hrc-t.cal-fitt{fill:#ffb0a6;font-weight:700}.cal-msg{border-radius:8px;margin:10px 0 0;padding:8px 12px;font-size:15px}.cal-msg.ok{background:var(--good-soft)}.cal-msg.no{background:var(--warn-soft)}.cal-msg.info{background:var(--accent-soft)}.cal-analysis{border:1px solid var(--border);border-radius:var(--radius);gap:8px;min-width:0;margin-top:10px;padding:10px 12px;display:grid}.cal-analysis h3{margin:0;font-size:16px}.cal-tex{min-width:0;font-size:15px;overflow-x:auto}.cal-tex .tex-block{margin:2px 0}.cal-analysis .cal-go{background:var(--accent);border-color:var(--accent);color:#fff;justify-self:start}.cal-bottom{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px;display:grid}@media (width>=900px){.cal-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.cal-stirrer[data-on]{animation:none}.cal-pour[data-poured]{opacity:0;animation:none}}.cal-tex .katex-display{margin:.3em 0}
