/* AHS motion language: one shell, model-specific figures. */
:root{--ahs-demo-ink:#173649;--ahs-demo-gold:#92713b;--ahs-demo-paper:#fafaf7;--ahs-demo-muted:#415969;--ahs-motion-fast:140ms;--ahs-motion-panel:180ms;--ahs-motion-ease:cubic-bezier(.2,.6,.3,1)}
.ahs-demo219{--demo-gap:20px;max-width:1180px;margin-inline:auto;color:var(--ahs-demo-ink)}
.ahs-demo219 :is(h2,h3){font-family:Georgia,serif;font-size:clamp(28px,3vw,40px);line-height:1.2}
.ahs-demo219 :is(.g217-ranges,.e218-controls,[data-demo-params]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;padding-block:12px;border-block:1px solid #c3cdd2;margin:20px 0}
.ahs-demo219 [hidden]{display:none!important}
.ahs-demo219 label{font:400 15px/1.6 Arial,sans-serif;color:var(--ahs-demo-ink)}
.ahs-demo219 input[type=range]{padding:0;min-height:44px;background:transparent;border:0;width:100%;accent-color:var(--ahs-demo-ink)}
.ahs-demo219 :is(.g217-actions,.e218-actions,[data-demo-actions]),:is(.surface-animation,.surface-scenario),.ahs-motion-controls{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:18px 0}
.ahs-demo219 :is(button,select),:is(.surface-animation,.surface-scenario) button,.ahs-motion-controls button{min-height:44px;border:1px solid #899da8;border-radius:0;font:600 14px/1.3 Arial,sans-serif;padding:11px 15px;color:var(--ahs-demo-ink);background:#fff;cursor:pointer}
.ahs-demo219 [data-play],:is(.surface-animation,.surface-scenario) button:first-child,.ahs-motion-controls button:nth-child(2){background:var(--ahs-demo-ink);border-color:var(--ahs-demo-ink);color:#fff}
.ahs-demo219 button[aria-pressed=true],:is(.surface-animation,.surface-scenario) button[aria-pressed=true]{box-shadow:inset 0 -3px var(--ahs-demo-gold)}
.ahs-demo219 button:disabled,:is(.surface-animation,.surface-scenario) button:disabled,.ahs-motion-controls button:disabled{opacity:.5;cursor:default}
.ahs-demo219 :is(button,input,select,summary,[tabindex]):focus-visible,:is(.surface-animation,.surface-scenario) button:focus-visible,.ahs-motion-controls :is(button,input):focus-visible{outline:3px solid #8b671e;outline-offset:4px}
.ahs-demo219 .ahs-demo-progress{display:block;max-width:none;margin:16px 0}
.ahs-demo219 [data-stage]{padding:16px 18px;border-left:3px solid var(--ahs-demo-gold);background:#eef3f4;min-height:84px;margin:16px 0;font-size:16px!important;line-height:1.6}
.ahs-demo219 .ahs-demo-status{font-size:14px!important;min-height:24px;font-variant-numeric:tabular-nums}
.ahs-demo219 [data-values] dl{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 24px}
.ahs-demo219 [data-values] dt{font-size:14px!important;line-height:1.5;color:var(--ahs-demo-muted)}
.ahs-demo219 [data-values] dd{font-size:24px!important;margin:8px 0!important;font-variant-numeric:tabular-nums}
.ahs-demo219 :is([data-scene],[data-plot]){margin:12px 0;overflow-x:auto;background:var(--ahs-demo-paper);border-block:1px solid #d5dee1;max-width:100%;width:100%}
.ahs-demo219 :is([data-scene],[data-plot])>svg{width:100%;min-width:0!important;height:auto;display:block;max-height:none}
.ahs-demo219 :is(.g217-equations,.e218-formula,[data-demo-formula]){background:#eef3f4;padding:14px;overflow:auto;margin:16px 0;max-width:100%}
.ahs-demo219 .katex{font-size:1.08em!important;color:var(--ahs-demo-ink)}
.ahs-demo219 .katex-display{min-width:100%;width:max-content;margin:8px 0}
.ahs-demo219 [data-table]{max-height:420px;overflow:auto;max-width:100%;margin-top:12px}
.ahs-demo219 table{width:100%;min-width:0!important;border-collapse:collapse;font-size:14px}
.ahs-demo219 th{background:#eef3f4}.ahs-demo219 th,.ahs-demo219 td{padding:10px 12px;vertical-align:top;white-space:normal}
.ahs-demo219 .ahs-demo-extras{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid #b8c7cd;padding-top:20px;margin-top:24px}
.ahs-demo219 .ahs-demo-extras button{background:transparent;font-weight:400}
.ahs-demo219 .ahs-demo-extras span{font-size:14px}
.ahs-demo219 .ahs-range-value{float:right;font-weight:600;font-variant-numeric:tabular-nums}
/* Existing families adopt common chrome; calculations and native plot sizing remain intact. */
.ahs-motion-player{background:var(--ahs-demo-paper);border:0;border-top:2px solid var(--ahs-demo-gold);border-radius:0;padding:18px;color:var(--ahs-demo-ink)}
.ahs-motion-player p,:is(.surface-animation,.surface-scenario) p{font-size:14px;line-height:1.6;color:var(--ahs-demo-muted);flex-basis:100%;margin:4px 0}
.ahs-motion-player :is(select,input){min-height:44px;font-size:16px}
.ahs-motion-status{font-size:14px;color:var(--ahs-demo-ink)}
:is(.is212,.m215) :is(button,select,input){min-height:44px}
:is(.is212-equations,.m215-equations) .katex{font-size:1.08em}
@media(max-width:650px){.ahs-demo219 :is(.g217-ranges,.e218-controls,[data-demo-params]){grid-template-columns:1fr}.ahs-demo219 :is(.g217-actions,.e218-actions,[data-demo-actions]) button{flex:1 1 42%}.ahs-demo219 :is(.g217-actions,.e218-actions,[data-demo-actions]) label{flex-basis:100%}.ahs-demo219 [data-values] dd{font-size:20px!important}.ahs-demo219 [data-stage]{font-size:15px!important}.ahs-demo219 :is([data-scene],[data-plot])>svg{min-width:620px!important}.ahs-demo219 [data-plot][data-story=true]>svg{min-width:580px!important}.ahs-demo219 :is([data-scene],[data-plot])::after{content:attr(data-scroll-note);display:block;padding:8px;font-size:13px;color:var(--ahs-demo-muted)}.ahs-demo219 table{min-width:500px!important}}
@media(prefers-reduced-motion:reduce){.ahs-demo219 *{transition:none!important;animation:none!important}}

:is(.surface-animation,.surface-scenario){padding:16px;border-top:1px solid #b8c7cd;background:#fafaf7;color:#173649} .surface-scenario label{font-size:15px;line-height:1.6}.surface-scenario input[type=range]{accent-color:#173649;min-height:44px}
