.simulation{--sim-accent:#245da2;--sim-reference:#9a6570;--sim-target:#a85316;max-width:1150px;margin:0 auto;color:var(--foreground)}[data-theme=dark] .simulation{--sim-accent:#89b9ff;--sim-reference:#e7a3af;--sim-target:#f2ad65}.simulation-heading{margin-bottom:var(--notebook-unit)}.simulation-heading h1{font:400 clamp(2rem,4vw,3rem)/1.15 var(--font-patrick-hand),cursive}.simulation-heading p{max-width:72ch}.simulation-kicker{color:var(--sim-accent);font:.8rem var(--font-ibm-plex-mono),monospace;letter-spacing:.08em;text-transform:uppercase}.simulation-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:var(--notebook-unit);align-items:start}.simulation-stage{min-width:0}.simulation-graph{position:relative}.simulation-graph canvas{display:block;width:100%;height:clamp(300px,29vw,360px);border:1px solid;color:var(--foreground);background:color-mix(in srgb,var(--background) 84%,transparent)}.simulation-clock{position:absolute;top:9px;right:10px;padding:2px 5px;background:var(--page-bg);font:.78rem var(--font-ibm-plex-mono),monospace}.simulation-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:.65rem;font-size:.8rem}.simulation-legend span{display:inline-flex;align-items:center;gap:.4rem}.simulation-legend i{display:inline-block;width:22px;border-top:2px solid}.simulation-legend-current{color:var(--sim-accent)}.simulation-legend-reference{color:var(--sim-reference);border-top-style:dashed!important}.simulation-legend-target{color:var(--sim-target)}.simulation-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1rem}.simulation-readout span{display:grid;gap:.1rem;min-width:0;border-top:1px solid;padding-top:.4rem;font-size:.8rem}.simulation-readout strong{font:600 1.3rem var(--font-ibm-plex-mono),monospace}.simulation-result{min-height:1.5rem;margin-top:.8rem;color:var(--sim-target);font-weight:600}.simulation-hit{color:#267449}[data-theme=dark] .simulation-hit{color:#8de0a6}.simulation-controls{display:grid;gap:.55rem}.simulation-controls>label{display:flex;justify-content:space-between;gap:1rem;font-weight:600}.simulation-controls output{color:var(--sim-accent);font:600 1rem var(--font-ibm-plex-mono),monospace;white-space:nowrap}.simulation-controls input[type=range]{width:100%;min-height:38px;margin:0 0 .55rem;accent-color:var(--sim-accent);cursor:pointer}.simulation-gravity{border:0;padding:0}.simulation-gravity legend{font-weight:600}.simulation-gravity>div{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.simulation-gravity label{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;gap:.4rem;padding:0 .4rem;cursor:pointer}.simulation-gravity input{accent-color:var(--sim-accent)}.simulation-controls input:focus-visible,.simulation-share textarea:focus-visible{outline:2px solid var(--sim-accent);outline-offset:3px}.simulation-buttons{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.25rem}.simulation-math{border-top:1px solid;margin-top:.55rem;padding-top:.55rem;font-size:.83rem}.simulation-math p{display:flex;justify-content:space-between;gap:.5rem;margin:.2rem 0}.simulation-math strong{white-space:nowrap}.simulation-math .simulation-equation{display:block;margin-top:.65rem;font:.8rem/1.5 var(--font-ibm-plex-mono),monospace}.simulation-guidance{border-left:2px solid var(--sim-accent);padding-left:.8rem;max-width:38ch;font-size:.87rem}.simulation-share{margin-top:calc(var(--notebook-unit) * 2);padding-top:var(--notebook-unit);border-top:1px solid}.simulation-share h2{font:400 1.7rem var(--font-patrick-hand),cursive}.simulation-share textarea{display:block;width:100%;min-height:88px;margin-top:.9rem;padding:.5rem;overflow-wrap:anywhere;color:inherit;background:var(--background);border:1px solid;font:.8rem var(--font-ibm-plex-mono),monospace}.simulation-embedded{padding:16px}.simulation-embedded .simulation-heading{margin-bottom:.75rem}.simulation-embedded .simulation-heading h1{font-size:2rem}.simulation-embedded .simulation-graph canvas{height:320px}@media (max-width:760px){.simulation-workspace{grid-template-columns:1fr}.simulation-embedded .simulation-graph canvas,.simulation-graph canvas{height:300px}.simulation-embedded{padding:12px}}@media (max-width:390px){.simulation-readout strong{font-size:1rem}}