:root{color-scheme:light;--paper:#fffefb;--ink:#203129;--muted:#66756e;--rule:#d8ded7;--green:#2f6b4f;--soft:#e7f0ea;--rust:#a94f2a;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#f7f5ef;font-size:14px}*{box-sizing:border-box}body{margin:0;padding:28px}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--rule);border-radius:7px;background:var(--paper);color:var(--ink);padding:7px 11px;min-height:34px;font-size:12px;font-weight:600}button:hover{border-color:var(--green);background:var(--soft)}button.primary{background:var(--green);border-color:var(--green);color:white}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible{outline:3px solid #a94f2a;outline-offset:3px}a{color:var(--green)}.standalone{max-width:1200px;margin:0 auto 24px}.standalone h1{font:36px/1.1 Georgia,serif;margin:20px 0 12px}.standalone p{color:var(--muted)}footer.standalone{font-size:12px;margin-top:18px}#lab{max-width:1200px;margin:auto}.experiment{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr) auto;gap:0 22px;border:1px solid var(--rule);border-radius:14px;background:var(--paper);padding:16px 18px 0;height:475px;overflow:hidden}.visual{min-width:0;min-height:0;display:flex;flex-direction:column}.plot{min-height:0;flex:1;position:relative}canvas{display:block;width:100%;height:100%}.legend{font-size:11px;color:var(--muted);line-height:1.4;margin:5px 0 11px}.controls{min-width:0;display:flex;flex-direction:column;gap:12px;padding:0 0 8px}.presets{display:flex;gap:5px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--rule)}.presets button{font-size:11px;padding:6px 9px;min-height:32px}.presets button[aria-pressed=true]{color:var(--green);background:var(--soft);border-color:var(--green)}.slider{display:block}.slider span{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px;font-weight:600}.slider output{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--green);font-weight:700}.slider input{display:block;width:100%;margin:7px 0 0;accent-color:var(--green);height:17px;cursor:pointer}.check{display:flex;align-items:center;gap:7px;font-size:12px;min-height:18px}.check input{accent-color:var(--green);width:15px;height:15px;margin:0}.buttons{display:flex;gap:6px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding-top:8px;border-top:1px solid var(--rule)}.metric{min-width:0}.metric span{display:block;font-size:10.5px;color:var(--muted);line-height:1.25}.metric strong{display:block;font-size:16px;line-height:1.5;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap}.insight{grid-column:1/-1;border-top:1px solid var(--rule);margin:0;padding:9px 0 10px;color:var(--muted);font-size:11.5px;line-height:1.4;min-height:36px}.history{height:49px;display:flex;align-items:center;gap:8px;border-top:1px solid var(--rule)}.history span{width:80px;flex:none;font-size:10px;color:var(--muted);line-height:1.35}.history svg{flex:1;min-width:0;height:38px;overflow:visible}.export button{font-size:10px;min-height:26px;padding:4px 8px}.embedded body{padding:0;background:var(--paper)}.embedded .standalone{display:none}.embedded #lab{max-width:none}.embedded .experiment{height:100vh}.embedded .controls{gap:10px}
@media(max-width:700px){body{padding:16px}.standalone h1{font-size:30px}.experiment,.embedded .experiment{height:auto;grid-template-columns:1fr;gap:16px;padding:12px}.plot{height:330px;flex:none}.controls{gap:16px}.legend{font-size:12px}.metrics strong{font-size:20px}.slider span,.check{font-size:14px}.slider input{height:28px}.buttons button,.presets button{min-height:40px;font-size:13px}.insight{font-size:12px}.embedded body{overflow:auto}.embedded .controls{gap:15px}.history{height:55px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.standalone,.controls{display:none}.experiment{display:block;height:auto}.plot{height:450px}.insight{margin-top:12px}}

@media(max-width:540px){.paired .plot{height:570px}}
