[data-demo]{--demo-paper:#fafbf7;--demo-ink:#1c2128;--demo-grid:#e7ecf3;--demo-line:#dce0da;--demo-sin:#2b5ce6;--demo-cos:#b8860b;--demo-ok:#2e7d4f;--demo-ok-bg:#f0f7f2;--demo-act-h:calc(100vh - 288px)}[data-demo].demo-stage{margin-block:-2rem;margin-inline:calc(50% - 50vw)}[data-demo].demo-stage:fullscreen{--demo-act-h:calc(100vh - 149px);background:var(--pro-bg);width:100%;height:100%;margin:0;overflow-y:auto}[data-demo].demo-stage:fullscreen nav[aria-label=Acts]{display:flex!important}[data-demo] .demo-grid{background-color:var(--demo-paper);background-image:linear-gradient(var(--demo-grid) 1px, transparent 1px), linear-gradient(90deg, var(--demo-grid) 1px, transparent 1px);background-size:22px 22px}[data-demo] .demo-mono{font-family:var(--pro-mono);font-variant-numeric:tabular-nums;font-weight:700}
.kin-instrument{width:100%;display:block}.kin-instrument .lab-instrument__stage{background-image:none;padding:0}.kin-instrument .lab-instrument__stage>canvas,.kin-instrument .lab-instrument__stage canvas{max-height:none}.kin-stage{gap:.65rem;width:100%;display:grid;position:relative}.kin-stage__main,.kin-trace{border:1px solid var(--lab-instrument-bezel);background:var(--lab-instrument-bg);border-radius:12px;min-width:0;position:relative;overflow:hidden}.kin-canvas{touch-action:none;width:100%;display:block}.kin-canvas--trajectory{height:clamp(230px,46vw,340px)}.kin-canvas--trace{height:clamp(130px,26vw,165px)}.kin-canvas--workbench{height:clamp(260px,58vw,400px)}.kin-canvas[data-draggable=true]{cursor:crosshair}.kin-stage__traces{gap:.65rem;min-width:0;display:grid}.kin-hint{border-top:1px solid var(--lab-instrument-bezel);color:var(--lab-instrument-ink);background:var(--lab-instrument-bg);pointer-events:none;margin:0;padding:.3rem .6rem;font-size:.68rem;line-height:1.4}.kin-controls,.dyn-controls{gap:.85rem;display:grid}.kin-viewswitch,.dyn-viewswitch{flex-wrap:wrap;gap:.4rem;display:flex}.kin-viewswitch button,.kin-toggles button,.dyn-viewswitch button,.dyn-toggles button{white-space:nowrap;border:1px solid var(--lab-hairline);min-width:max-content;min-height:44px;color:var(--lab-ink-2);background:var(--lab-panel);cursor:pointer;border-radius:999px;padding:.5rem .85rem;font-size:.8rem;font-weight:600;transition:background .16s,color .16s,border-color .16s,transform .12s}.kin-viewswitch button:hover,.kin-toggles button:hover,.dyn-viewswitch button:hover,.dyn-toggles button:hover{border-color:var(--lab-accent);transform:translateY(-1px)}.kin-viewswitch button[aria-selected=true],.kin-toggles button[aria-pressed=true],.dyn-viewswitch button[aria-selected=true],.dyn-toggles button[aria-pressed=true]{color:var(--lab-accent-ink);border-color:var(--lab-accent);background:var(--lab-accent-tint);box-shadow:0 0 12px color-mix(in srgb, var(--lab-accent) 25%, transparent)}.kin-viewswitch button:disabled,.kin-toggles button:disabled,.dyn-viewswitch button:disabled,.dyn-toggles button:disabled{opacity:.45;cursor:not-allowed;transform:none}.kin-controls__grid,.dyn-controls__grid{gap:.75rem 1.1rem;display:grid}.kin-toggles,.dyn-toggles{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:.4rem;display:flex}.kin-control,.dyn-control{gap:.3rem;min-width:0;display:grid}.kin-control[data-disabled=true],.dyn-control[data-disabled=true]{opacity:.5}.kin-control__label,.dyn-control__label{color:var(--lab-ink-2);justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.76rem;font-weight:600;display:flex}.kin-control__label b,.dyn-control__label b{font-variant-numeric:tabular-nums;color:var(--lab-accent-ink);background:var(--lab-accent-tint);border-radius:4px;padding:.1rem .4rem;font-size:.75rem}.kin-control input[type=range],.dyn-control input[type=range]{width:100%;min-height:44px;accent-color:var(--lab-accent);cursor:pointer}.kin-control input[type=range]:disabled,.dyn-control input[type=range]:disabled{cursor:not-allowed}.kin-refusal,.dyn-refusal{border-left:3px solid var(--lab-warn);color:var(--lab-ink-2);background:var(--lab-panel-2);border-radius:6px;grid-column:1/-1;margin:0;padding:.6rem .75rem;font-size:.8rem;line-height:1.5}.kin-derivations,.dyn-derivations{border:1px solid var(--lab-instrument-bezel);background:color-mix(in srgb, var(--lab-instrument-bg) 92%, var(--lab-instrument-ink));border-radius:12px;margin-top:.85rem;padding:.85rem .95rem;box-shadow:0 4px 16px #0003}.kin-derivations__title,.dyn-derivations__title{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--lab-instrument-ink) 66%, transparent);margin:0 0 .5rem;font-size:.7rem;font-weight:700}.kin-derivations ul,.dyn-derivations ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.kin-derivations li,.dyn-derivations li{gap:.15rem;min-width:0;display:grid}.kin-derivations li>span,.dyn-derivations li>span{color:var(--lab-accent-tint);font-size:.72rem;font-weight:600}.kin-derivations__math,.dyn-derivations__math{color:var(--lab-instrument-ink);padding-bottom:.15rem;font-size:.95rem;line-height:1.5;display:block;overflow:auto hidden}.kin-derivations__note,.dyn-derivations__note{color:color-mix(in srgb, var(--lab-instrument-ink) 66%, transparent);font-size:.72rem;font-style:normal;line-height:1.5;display:block}.kin-derivations code,.dyn-derivations code{font-family:var(--lab-mono);color:var(--lab-instrument-ink);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.76rem;line-height:1.55;display:block;overflow-x:auto}.kin-scope,.dyn-scope{border-top:1px dashed var(--lab-instrument-bezel);color:color-mix(in srgb, var(--lab-instrument-ink) 72%, transparent);margin:.65rem 0 0;padding-top:.6rem;font-size:.74rem;line-height:1.55}.kin-worked,.dyn-worked{color:var(--lab-ink-2);gap:.4rem;margin:.5rem 0 0;padding-left:1.2rem;font-size:.85rem;line-height:1.6;display:grid}.kin-worked li::marker{color:var(--lab-accent);font-weight:700}.dyn-worked li::marker{color:var(--lab-accent);font-weight:700}.kin-question-visual,.dyn-question-visual{border:1px solid var(--lab-instrument-bezel,#26343d);background:var(--lab-instrument-bg,#091117);border-radius:12px;margin:0 0 .75rem;overflow:hidden}.kin-question-visual canvas,.dyn-question-visual canvas{width:100%;height:clamp(190px,44vw,260px);display:block}.kin-question-visual figcaption,.dyn-question-visual figcaption{border-top:1px solid var(--lab-instrument-bezel,#26343d);color:var(--lab-instrument-ink,#edf7f3);padding:.45rem .7rem;font-size:.74rem;line-height:1.5}.dyn-instrument{width:100%;display:block}.dyn-instrument .lab-instrument__stage{background-image:none;padding:0}.dyn-instrument .lab-instrument__stage>canvas,.dyn-instrument .lab-instrument__stage canvas{max-height:none}.dyn-stage{gap:.65rem;width:100%;display:grid;position:relative}.dyn-stage__main{border:1px solid var(--lab-instrument-bezel);background:var(--lab-instrument-bg);border-radius:12px;min-width:0;position:relative;overflow:hidden}.dyn-canvas{touch-action:none;width:100%;height:clamp(260px,58vw,400px);display:block}.dyn-canvas--fbd{height:clamp(230px,46vw,370px)}.dyn-stage--split>.dyn-stage__main{flex-direction:column;display:flex}.dyn-stage--split>.dyn-stage__main>.dyn-canvas{flex:auto;min-height:0}.dyn-hint{border-top:1px solid var(--lab-instrument-bezel);color:var(--lab-instrument-ink);background:var(--lab-instrument-bg);margin:0;padding:.35rem .7rem;font-size:.72rem;line-height:1.4}@media (min-width:900px){.kin-stage--split,.dyn-stage--split{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}.kin-canvas--trajectory{height:360px}.kin-canvas--trace{height:172px}.kin-controls__grid,.dyn-controls__grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.kin-derivations ul,.dyn-derivations ul{grid-template-columns:repeat(2,minmax(0,1fr))}}.lab-learn__instrument .kin-stage--split,.lab-learn__instrument .dyn-stage--split{grid-template-columns:minmax(0,1fr)}.lab-learn__instrument .kin-canvas--trajectory,.lab-learn__instrument .dyn-canvas{height:clamp(220px,34vw,300px)}@media (prefers-reduced-motion:reduce){.kin-viewswitch button,.kin-toggles button,.dyn-viewswitch button,.dyn-toggles button{transition:none}}.lab-instrument__readout dt .katex,.kin-control__label .katex,.dyn-control__label .katex,.wep-control__label .katex{text-transform:none}.wep-instrument .lab-instrument__stage canvas{max-height:none}.wep-stage{gap:.65rem;width:100%;min-width:0;display:grid;position:relative}.wep-stage--track{grid-template-columns:1fr}@media (min-width:720px){.wep-stage--track{grid-template-columns:minmax(0,1fr) minmax(190px,.44fr)}}.wep-stage--work{grid-template-columns:1fr}@media (min-width:860px){.wep-stage--work{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}.wep-canvas{border:1px solid var(--lab-instrument-bezel);border-radius:.6rem;min-width:0;position:relative;overflow:hidden}.wep-canvas canvas{touch-action:none;width:100%;height:clamp(230px,46vw,330px);display:block}.wep-canvas--bar canvas{height:clamp(190px,42vw,330px)}.wep-hint{color:var(--lab-instrument-ink);opacity:.72;background:var(--lab-instrument-bg);border-top:1px solid var(--lab-instrument-bezel);margin:0;padding:.3rem .55rem;font-size:.72rem}.wep-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wep-views,.wep-presets{flex-wrap:wrap;grid-column:1/-1;gap:.4rem;display:flex}.wep-views button,.wep-presets button,.wep-run{min-height:44px;color:var(--lab-instrument-ink);background:var(--lab-instrument-bg);border:1px solid var(--lab-instrument-bezel);cursor:pointer;border-radius:.5rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600}.wep-views button[aria-selected=true],.wep-presets button[aria-pressed=true]{color:var(--lab-accent-ink,#9a3412);background:var(--lab-accent-tint);border-color:var(--lab-accent)}.wep-views button:disabled,.wep-presets button:disabled,.wep-run:disabled{opacity:.45;cursor:not-allowed}.wep-run{color:#fff;background:var(--lab-accent);border-color:var(--lab-accent);grid-column:1/-1}.wep-control{flex-direction:column;gap:.3rem;min-width:0;display:flex}.wep-control__label{color:var(--lab-instrument-ink);justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.76rem;display:flex}.wep-control__label b{font-variant-numeric:tabular-nums;color:var(--lab-accent)}.wep-control input[type=range]{width:100%;min-height:44px;accent-color:var(--lab-accent)}.wep-control[data-disabled=true]{opacity:.45}.wep-control--toggle{min-height:44px;color:var(--lab-instrument-ink);flex-direction:row;align-items:center;gap:.5rem;font-size:.76rem}.wep-control--toggle input{width:18px;height:18px;accent-color:var(--lab-accent)}.wep-refusal{color:var(--lab-instrument-ink);background:color-mix(in srgb, var(--lab-bad) 16%, transparent);border-left:3px solid var(--lab-bad);border-radius:.35rem;margin:.6rem 0 0;padding:.55rem .7rem;font-size:.8rem;line-height:1.45}.wep-scope{color:var(--lab-instrument-ink);opacity:.6;margin:.55rem 0 0;font-size:.7rem;line-height:1.5}.wep-question-visual{border:1px solid var(--lab-instrument-bezel);border-radius:.6rem;margin:0 0 .85rem;overflow:hidden}.wep-question-visual canvas{width:100%;height:clamp(200px,44vw,290px);display:block}.wep-question-visual figcaption{color:var(--lab-ink-2,#475569);border-top:1px solid var(--lab-instrument-bezel);padding:.4rem .6rem;font-size:.74rem}.wep-worked{color:var(--lab-ink-2);gap:.4rem;margin:.5rem 0 0;padding-left:1.2rem;font-size:.85rem;line-height:1.6;display:grid}.wep-worked li::marker{color:var(--lab-accent);font-weight:700}.mom-instrument .lab-instrument__stage canvas{max-height:none}.mom-stage{gap:.65rem;width:100%;min-width:0;display:grid;position:relative}.mom-stage--table{grid-template-columns:1fr}@media (min-width:860px){.mom-stage--table{grid-template-columns:minmax(0,1fr) minmax(250px,.5fr)}}.mom-canvas{border:1px solid var(--lab-instrument-bezel);border-radius:.6rem;min-width:0;margin:0;position:relative;overflow:hidden}.mom-canvas canvas{touch-action:none;width:100%;height:clamp(230px,46vw,340px);display:block}.mom-canvas figcaption{color:var(--lab-instrument-ink);background:var(--lab-instrument-bg);border-top:1px solid var(--lab-instrument-bezel);padding:.3rem .55rem;font-size:.72rem;font-weight:600}.mom-pair{grid-template-columns:1fr;gap:.55rem;display:grid}@media (min-width:620px){.mom-pair{grid-template-columns:1fr 1fr}}.mom-pair .mom-canvas canvas{height:clamp(180px,34vw,250px)}.mom-ledger{background:var(--lab-instrument-bg);border:1px solid var(--lab-instrument-bezel);border-radius:.6rem;flex-direction:column;gap:.5rem;min-width:0;padding:.7rem;display:flex;overflow-x:auto}.mom-ledger__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;color:var(--lab-instrument-ink);font-size:.78rem}.mom-ledger__table caption{letter-spacing:.04em;text-align:left;text-transform:uppercase;opacity:.66;margin-bottom:.4rem;font-size:.72rem;font-weight:700}.mom-ledger__table th,.mom-ledger__table td{text-align:right;border-bottom:1px solid var(--lab-instrument-bezel);padding:.34rem .4rem}.mom-ledger__table thead th{opacity:.7;font-size:.7rem;font-weight:600}.mom-ledger__table th[scope=row],.mom-ledger__table thead th:first-child{text-align:left}.mom-ledger__table tbody tr[data-kept=true] td:last-child{color:var(--lab-ok,#16835f);font-weight:700}.mom-ledger__table tbody tr[data-kept=false] td:last-child{color:var(--lab-bad,#c82f4f);font-weight:700}.mom-ledger__table tbody tr[data-kept=true]{box-shadow:inset 3px 0 0 0 var(--lab-ok,#16835f)}.mom-ledger__table tbody tr[data-kept=false]{box-shadow:inset 3px 0 0 0 var(--lab-bad,#c82f4f)}.mom-ledger__verdict{color:var(--lab-instrument-ink);opacity:.86;margin:0;font-size:.76rem;line-height:1.55}.mom-ledger__verdict b{text-transform:capitalize;color:var(--lab-accent)}.mom-ledger--refused{border-color:var(--lab-accent)}.mom-ledger__refusal{color:var(--lab-accent);margin:0;font-size:.82rem;font-weight:600;line-height:1.5}.mom-ledger__hint{color:var(--lab-instrument-ink);opacity:.74;margin:0;font-size:.74rem;line-height:1.55}.mom-note{color:var(--lab-instrument-ink);opacity:.8;margin:0;font-size:.76rem;line-height:1.55}.mom-scope{color:var(--lab-instrument-ink);opacity:.6;margin:.2rem 0 0;font-size:.72rem;line-height:1.5}.mom-views{flex-wrap:wrap;grid-column:1/-1;gap:.4rem;display:flex}.mom-views button,.mom-run{min-height:44px;color:var(--lab-instrument-ink);background:var(--lab-instrument-bg);border:1px solid var(--lab-instrument-bezel);cursor:pointer;border-radius:.5rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600}.mom-views button[aria-selected=true],.mom-views button[aria-pressed=true]{color:var(--lab-accent-ink,#9a3412);background:var(--lab-accent-tint);border-color:var(--lab-accent)}.mom-run{color:var(--lab-accent-ink,#9a3412);background:var(--lab-accent-tint);border-color:var(--lab-accent);grid-column:1/-1}.mom-views button:disabled,.mom-run:disabled{cursor:not-allowed;opacity:.45}.mom-control{min-width:0;color:var(--lab-instrument-ink);flex-direction:column;gap:.3rem;font-size:.76rem;display:flex}.mom-control__label{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.mom-control__label b{font-variant-numeric:tabular-nums;color:var(--lab-accent)}.mom-control__label .katex{text-transform:none}.mom-control input[type=range]{width:100%;min-height:44px;accent-color:var(--lab-accent)}.mom-control[data-disabled=true]{opacity:.42}.mom-control--toggle{flex-direction:row;align-items:center;gap:.45rem;min-height:44px}.mom-control--toggle input{width:18px;height:18px;accent-color:var(--lab-accent)}.mom-question-visual{border:1px solid var(--lab-instrument-bezel);border-radius:.6rem;margin:.6rem 0 0;overflow:hidden}.mom-question-visual canvas{width:100%;height:clamp(190px,44vw,300px);display:block}.mom-question-visual figcaption{color:var(--lab-ink-2,#475569);border-top:1px solid var(--lab-instrument-bezel);padding:.4rem .6rem;font-size:.74rem}.mom-worked{color:var(--lab-ink-2);gap:.4rem;margin:.5rem 0 0;padding-left:1.2rem;font-size:.85rem;line-height:1.6;display:grid}.mom-worked li::marker{color:var(--lab-accent);font-weight:700}.mom-ledger__isolation{color:var(--lab-instrument-ink);background:color-mix(in srgb, var(--lab-accent) 12%, var(--lab-instrument-bg));border-left:3px solid var(--lab-accent);border-radius:.35rem;margin:0;padding:.5rem .6rem;font-size:.74rem;line-height:1.55}.mom-ledger__isolation b{color:var(--lab-accent)}.grav-instrument .lab-instrument__stage canvas{max-height:none}.grav-stage{border:1px solid var(--lab-instrument-bezel);border-radius:.6rem;min-width:0;margin:0;position:relative;overflow:hidden}.grav-canvas{touch-action:none;width:100%;height:clamp(260px,74vw,420px);display:block}.grav-refusal{color:var(--lab-instrument-ink);background:color-mix(in srgb, var(--lab-bad) 14%, var(--lab-instrument-bg));border-left:3px solid var(--lab-bad);border-radius:.35rem;margin:.55rem 0 0;padding:.5rem .6rem;font-size:.76rem;line-height:1.55}.grav-controls{gap:.7rem;width:100%;min-width:0;display:grid}.grav-viewswitch{flex-wrap:wrap;gap:.35rem;display:flex}.grav-viewswitch button,.grav-toggles button{min-height:44px;color:var(--lab-instrument-ink);background:var(--lab-instrument-bg);border:1px solid var(--lab-instrument-bezel);cursor:pointer;border-radius:.45rem;padding:.35rem .8rem;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.grav-viewswitch button:hover:not(:disabled),.grav-toggles button:hover:not(:disabled){border-color:var(--lab-accent)}.grav-viewswitch button[aria-selected=true],.grav-toggles button[aria-pressed=true]{color:var(--lab-accent);background:color-mix(in srgb, var(--lab-accent) 16%, var(--lab-instrument-bg));border-color:var(--lab-accent)}.grav-viewswitch button:disabled,.grav-toggles button:disabled{opacity:.45;cursor:not-allowed}.grav-controls__grid{grid-template-columns:1fr;gap:.7rem;display:grid}@media (min-width:720px){.grav-controls__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.grav-control{min-width:0;color:var(--lab-instrument-ink);gap:.3rem;font-size:.76rem;font-weight:600;display:grid}.grav-control input[type=range]{width:100%;min-height:44px;accent-color:var(--lab-accent)}.grav-control select{min-height:44px;color:var(--lab-instrument-ink);background:var(--lab-instrument-bg);border:1px solid var(--lab-instrument-bezel);border-radius:.45rem;padding:0 .55rem;font-size:.8rem}.grav-control small{color:var(--lab-instrument-ink);opacity:.72;font-size:.7rem;font-weight:400;line-height:1.5}.grav-toggles{flex-wrap:wrap;gap:.35rem;display:flex}.grav-eccentricities{margin-top:.6rem}.grav-eccentricities h4{color:var(--lab-instrument-ink);margin:0 0 .35rem;font-size:.8rem;font-weight:700}.grav-strip{border:1px solid var(--lab-instrument-bezel);border-radius:.6rem;overflow:hidden}.grav-strip canvas{width:100%;height:clamp(120px,26vw,170px);display:block}.grav-question-visual{border:1px solid var(--lab-instrument-bezel);border-radius:.6rem;margin:.6rem 0 0;overflow:hidden}.grav-question-visual canvas{width:100%;height:clamp(200px,46vw,310px);display:block}.grav-question-visual figcaption{color:var(--lab-ink-2,#475569);border-top:1px solid var(--lab-instrument-bezel);padding:.4rem .6rem;font-size:.74rem}.grav-worked{color:var(--lab-ink-2);gap:.4rem;margin:.5rem 0 0;padding-left:1.2rem;font-size:.85rem;line-height:1.6;display:grid}.grav-worked li::marker{color:var(--lab-accent);font-weight:700}
