:root{--color-background:#fefbf5;--color-surface:#fff;--color-surface-soft:#fffaf0;--color-text:#082218;--color-text-secondary:#47605a;--color-action:#082218;--color-border:#b9c5be;--color-accent:#d39e50;--color-focus:#315f50;--color-error:#8a2c2c;--color-warning:#7a4310;color:var(--color-text);background:var(--color-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--color-background);min-width:0;min-height:100vh;margin:0;overflow-x:hidden}a,button,input,select,textarea{outline-color:var(--color-focus)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;scroll-margin-block:16px}button,select,input:not([type=radio]):not([type=checkbox]):not([type=range]){min-height:44px}input[type=radio],input[type=checkbox]{min-width:24px;min-height:24px}button,input,select,textarea{font:inherit}.app-shell{width:min(1360px,100% - 32px);margin:0 auto;padding:20px 0 32px}.analysis-workspace{gap:20px;display:grid}.analysis-motion-stage{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;gap:16px;padding:18px;display:grid}.analysis-motion-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);align-items:start;gap:16px;display:grid}.analysis-motion-grid .motion-scene,.analysis-motion-grid .playback-controls{margin:0}.analysis-context{color:#24463d;background:#f1faf7;border:1px solid #b8d8cd;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:14px 16px;display:flex}.analysis-context strong{color:#082218;margin-right:auto}.analysis-family-selector,.analysis-family-panel{background:#fff;border:1px solid #d8e3df;border-radius:16px;padding:18px}.analysis-family-selector h3,.analysis-family-heading h3{color:#082218;margin:0}.analysis-family-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.analysis-family-buttons button{color:#17372e;text-align:left;background:#fbfdfc;border:1px solid #b8c9c3;border-radius:12px;align-content:center;gap:5px;min-height:84px;padding:12px;display:grid}.analysis-family-buttons button[aria-pressed=true]{background:#dff4ec;border-color:#0b6b4e;box-shadow:inset 0 0 0 1px #0b6b4e}.analysis-family-buttons span{color:#526861;font-size:.82rem;line-height:1.35}.analysis-family-heading{gap:5px;margin-bottom:16px;display:grid}.analysis-family-heading p,.analysis-explanation,.analysis-result-card p,.analysis-result-card small{margin:0;line-height:1.55}.analysis-comparison-grid,.analysis-focus-grid,.analysis-magnitudes-grid,.analysis-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.analysis-comparison-grid .derived-graphs,.analysis-graph-base .analysis-comparison-grid{grid-template-columns:1fr}.analysis-graph-controls{border-top:1px solid var(--color-border);gap:14px;padding-top:16px;display:grid}.analysis-graph-controls h4,.analysis-graph-tool-card h5,.analysis-graph-tool-card p{margin:0}.analysis-graph-controls h4{font-size:1.1rem}.analysis-graph-controls-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.analysis-graph-tool-card{border:1px solid var(--color-border);border-top:5px solid var(--color-action);background:var(--color-surface-soft);border-radius:12px;align-content:start;gap:10px;padding:14px;display:grid}.analysis-graph-tool-card--position{border-top-color:#2563eb}.analysis-graph-tool-card--velocity{border-top-color:#dc2626}.analysis-graph-tool-card--acceleration{border-top-color:#16a34a}.analysis-graph-current-value{font-size:1.05rem}.analysis-graph-layer-controls{gap:8px;display:grid}.analysis-graph-layer-controls label{align-items:center;gap:8px;min-height:44px;font-weight:750;display:flex}.analysis-graph-layer-controls input{width:20px;height:20px}.analysis-time-control{background:#fff;border:1px solid #d8e3df;border-radius:12px;gap:8px;padding:14px 18px;font-weight:800;display:grid}.analysis-result-card,.analysis-magnitudes-grid article{background:#f8fcfa;border:1px solid #c9dad4;border-radius:14px;gap:12px;padding:18px;display:grid}.analysis-result-card>strong{color:#07543d;font-size:clamp(1.6rem,3vw,2.4rem)}.analysis-explanation,.analysis-model-warning{background:#fff8e9;border-left:4px solid #d39e50;margin:16px 0 0;padding:12px 14px}.analysis-interval-grid{grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:10px 16px;margin:16px 0;display:grid}.analysis-interval-grid label{gap:6px;font-weight:800;display:grid}.analysis-interval-grid input{min-height:44px}.analysis-magnitudes-grid h4{margin:0}.analysis-magnitudes-grid dl,.analysis-magnitudes-grid dl div{gap:7px;margin:0;display:grid}.analysis-magnitudes-grid dl div{border-bottom:1px solid #dce7e3;grid-template-columns:minmax(0,1fr) auto;padding-bottom:7px}.analysis-magnitudes-grid dd{margin:0;font-weight:800}@media (width<=1024px){.analysis-family-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-comparison-grid,.analysis-focus-grid,.analysis-data-grid{grid-template-columns:1fr}}@media (width<=640px){.analysis-family-buttons,.analysis-magnitudes-grid,.analysis-interval-grid{grid-template-columns:1fr}.analysis-family-selector,.analysis-family-panel{padding:14px}.analysis-context{flex-direction:column;align-items:flex-start}}.app-header{margin-bottom:16px}.skip-link{background:var(--color-action);color:var(--color-background);z-index:2000;border-radius:0 0 8px 8px;padding:10px 14px;font-weight:800;transition:transform .12s;position:fixed;top:0;left:16px;transform:translateY(-130%)}.skip-link:focus-visible{transform:translateY(0)}.app-kicker{color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.9rem;font-weight:700}.app-header h1{max-width:900px;color:var(--color-text);margin:0;font-size:clamp(1.75rem,3.3vw,3rem);line-height:1.08}.app-orientation{max-width:880px;color:var(--color-text-secondary);margin:10px 0 0;font-size:clamp(.95rem,1.5vw,1.08rem)}.guided-tour-entry{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;display:flex}.guided-tour-trigger{border:2px solid var(--color-action);background:var(--color-surface);min-height:42px;color:var(--color-action);cursor:pointer;border-radius:999px;padding:8px 16px;font-weight:900}.guided-tour-trigger:hover{background:var(--color-surface-soft)}.guided-tour-trigger:focus-visible,.guided-tour-card button:focus-visible,.guided-tour-preference input:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.guided-tour-entry span{color:var(--color-text-secondary);font-size:.9rem}.workspace,.sidebar,.observe-support,.analyze-layout{gap:18px;min-width:0;display:grid}.sidebar{max-height:none;padding:0;position:static;overflow:visible}.stage-navigation{margin-bottom:18px}.stage-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.stage-button{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:104px;color:var(--color-text);cursor:pointer;text-align:left;border-radius:10px;grid-template-rows:1fr auto;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:12px 14px;display:grid}.stage-button:hover:not([aria-disabled=true]){border-color:var(--color-action)}.stage-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.stage-button[aria-disabled=true]{cursor:not-allowed;color:#58645e;background:#f3efe5}.stage-button--active{border-color:var(--color-action);box-shadow:inset 0 -4px 0 var(--color-accent)}.stage-number{background:var(--color-action);width:34px;height:34px;color:var(--color-background);border-radius:50%;place-items:center;font-weight:900;display:inline-grid}.stage-copy{gap:2px;display:grid}.stage-copy strong{font-size:1rem}.stage-copy>span,.stage-state{color:inherit;font-size:.8rem;line-height:1.3}.stage-state{grid-column:1/-1;font-weight:800}.stage-introduction,.transitional-note{border:1px solid #d7c39f;border-left:5px solid var(--color-accent);background:var(--color-surface-soft);color:var(--color-text-secondary);border-radius:8px;gap:3px;padding:12px 16px;display:grid}.stage-introduction strong{color:var(--color-text)}.stage-reference,.stage-panel{min-width:0}.stage-panel{gap:16px;display:grid}.stage-panel[hidden]{display:none}.stage-heading{border-bottom:1px solid #d7c39f;gap:3px;padding:2px 2px 12px;display:grid}.stage-heading p,.stage-heading h2,.stage-heading span{margin:0}.stage-heading p{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.stage-heading h2{color:var(--color-text);font-size:clamp(1.35rem,2vw,1.8rem)}.stage-heading span{color:var(--color-text-secondary)}.build-tools-grid,.observe-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.build-tools-grid>:only-child,.analyze-layout>:only-child{grid-column:1/-1}.analyze-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}.analyze-layout .derived-graphs{grid-column:1/-1}.transitional-note{margin:0;font-size:.9rem}.observe-heading strong{width:fit-content;color:var(--color-text);background:#e9f0e8;border-radius:999px;margin-top:7px;padding:7px 11px;font-size:.9rem}.observe-empty{justify-items:start;gap:10px;padding:28px;display:grid}.observe-empty h3,.observe-empty p{margin:0}.observe-primary-grid{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);align-items:start;gap:20px;display:grid}.observe-motion-column,.observe-graph-column{gap:14px;min-width:0;display:grid}.stage-panel--observe .motion-scene{border-top:5px solid var(--color-action);box-shadow:0 18px 42px #08221824}.stage-panel--observe .playback-controls{border-color:#98aca2}.curve-motion-explanation{border:1px solid #d7c39f;border-left:5px solid var(--color-accent);background:var(--color-surface-soft);border-radius:10px;gap:5px;padding:14px 16px;display:grid}.curve-motion-explanation p,.curve-motion-explanation h3,.curve-motion-explanation span{margin:0}.curve-motion-explanation p,.observe-card-heading p{color:#7a531f;letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;font-weight:900}.curve-motion-explanation h3,.observe-card-heading h3{color:var(--color-text);font-size:1.08rem}.curve-motion-explanation span{color:var(--color-text-secondary);line-height:1.5}.graph-editor--reference{box-shadow:none}.graph-editor--reference .graph-svg,.graph-editor--reference .graph-point-control,.graph-editor--reference .graph-segment{cursor:default}.observe-secondary-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);align-items:start;gap:20px;display:grid}.observable-values,.observe-vectors{gap:16px;padding:20px;display:grid}.observe-card-heading{gap:4px;display:grid}.observe-card-heading p,.observe-card-heading h3{margin:0}.observable-values-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.observable-values-grid>div{background:#fbf9f3;border:1px solid #d8e1da;border-radius:9px;gap:5px;min-width:0;padding:12px;display:grid}.observable-values-grid .observable-value--current{border:2px solid var(--color-action);background:#edf3ed}.observable-values-grid dt{color:var(--color-text-secondary);font-size:.8rem;font-weight:800}.observable-values-grid dd{color:var(--color-text);margin:0;font-size:1.05rem;font-weight:900}.observable-values-grid dd span{font-size:.78rem;font-weight:700}.observe-vector-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.observe-vector-options label{cursor:pointer;background:#fbf9f3;border:1px solid #cbd6ce;border-radius:8px;align-items:flex-start;gap:9px;min-height:54px;padding:10px;display:flex}.observe-vector-options input{width:18px;height:18px;accent-color:var(--color-action);flex:none}.observe-vector-options span{gap:2px;display:grid}.observe-vector-options small,.vector-scale-explanation,.playback-speed-note{color:var(--color-text-secondary);font-size:.82rem;line-height:1.4}.vector-scale-explanation,.playback-speed-note,.observe-status{margin:0}.observe-status:empty{display:none}.observe-status{border-left:4px solid var(--color-action);color:var(--color-text-secondary);padding:8px 12px;font-weight:700}.panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;box-shadow:0 12px 30px #1c2c2f14}.panel h2{color:#1d3033;margin:0;font-size:1.15rem;line-height:1.2}.panel-heading{justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 0;display:flex}.panel-note{color:#5e7476;font-size:.9rem}.graph-editor-actions{align-items:center;gap:12px;display:flex}.controls-panel,.metrics-panel,.itinerary-equation,.motion-scene,.playback-controls,.graph-data-tools,.derived-graphs{padding:20px}.collapsible-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-toggle{color:#1f3436;cursor:pointer;background:#f7fbfa;border:1px solid #b9c8c7;border-radius:6px;padding:7px 10px;font-size:.9rem;font-weight:700}.panel-toggle:focus{outline:3px solid #2f6f7329}.controls-content{min-height:220px;max-height:none;margin-top:2px;padding-right:6px;overflow:visible}.control-grid{gap:12px;margin-top:14px;display:grid}.control-group{gap:7px;margin-top:16px;display:grid}.control-group label{color:#30494c;font-size:.9rem;font-weight:700}.control-group input,.control-group select{color:#1f3436;background:#f9fcfc;border:1px solid #b9c8c7;border-radius:6px;width:100%;min-height:40px;padding:8px 10px}.control-group input:focus,.control-group select:focus{border-color:#2f6f73;outline:3px solid #2f6f7329}.point-type-legend{color:#4d6467;background:#f7fbfa;border:1px dashed #b9c8c7;border-radius:6px;gap:5px;padding:10px;font-size:.85rem;display:grid}.point-type-legend p{margin:0}.checkbox-control{color:#30494c;align-items:center;gap:10px;margin-top:18px;font-size:.95rem;font-weight:700;display:flex}.checkbox-control.compact{margin-top:0;font-size:.9rem;font-weight:600}.checkbox-control input{accent-color:#2f6f73;width:18px;height:18px}.checkbox-section{border:1px solid #d7e0df;border-radius:8px;gap:10px;margin:18px 0 0;padding:14px;display:grid}.checkbox-section legend{color:#1f3436;padding:0 6px;font-weight:700}.checkbox-list{gap:9px;display:grid}.visibility-panel{border-top:1px solid #d7e0df;margin-top:18px;padding-top:16px}.visibility-panel h3{color:#1d3033;margin:0;font-size:1rem}.visibility-content{gap:12px;margin-top:14px;display:grid}.analysis-interval-panel h3{color:#1d3033;margin:0;font-size:1rem}.analysis-interval-content{gap:12px;margin-top:14px;display:grid}.compact-action{justify-self:start;padding:7px 9px;font-size:.78rem}.interval-summary{color:#30494c;background:#f7fbfa;border:1px solid #d7e0df;border-radius:6px;margin:0;padding:9px 10px;font-size:.86rem;font-weight:700}.visibility-actions{flex-wrap:wrap;gap:10px;display:flex}.visibility-group{margin-top:0}.warning-message{color:#7a4310;background:#fff7eb;border:1px solid #d8914b;border-radius:6px;gap:6px;margin-top:16px;padding:10px 12px;font-size:.9rem;font-weight:700;display:grid}.warning-message p{margin:0}.placeholder-list{gap:10px;margin-top:18px;display:grid}.placeholder-list span,.metrics-list div,.derived-grid div,.derived-stack div{color:#41595c;background:#f7fbfa;border:1px dashed #b9c8c7;border-radius:6px}.placeholder-list span{padding:12px 14px}.graph-editor{overflow:hidden}.graph-comparison-layout{grid-template-columns:1fr;align-items:start;gap:0;display:grid}.graph-comparison-layout .graph-editor{min-width:0}.center-stage>.itinerary-equation{width:100%}.graph-svg,.motion-svg{width:100%;height:auto;display:block}.graph-svg{cursor:crosshair;background:linear-gradient(#f8fbfb,#fff);margin-top:8px}.motion-svg{background:#f7fbfa;border-radius:6px;margin-top:14px}.motion-heading{padding:0}.motion-time-readout{color:#30494c;margin:0;font-weight:800}.motion-background{fill:#f9fcfc;stroke:#d7e0df;stroke-width:1px}.axis-line{stroke:#223538;stroke-width:4px;stroke-linecap:round}.axis-arrow{fill:#223538}.grid-line{stroke:#bfd0cf;stroke-width:2px}.plot-hit-area{fill:#0000}.connection-path{fill:none;pointer-events:none;stroke:#2d3f42;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.connection-curve{stroke-width:4.5px}.function-sample-point{fill:#111827;opacity:.42;pointer-events:none;stroke:#fff;stroke-width:.7px}.area-under-curve-fill{fill:#2f80ed;opacity:.18;pointer-events:none;stroke:none}.area-label-layer{pointer-events:none}.area-label-bg{fill:#eff6ff;opacity:.96;stroke:#93c5fd;stroke-width:1.4px}.area-label{fill:#1d4ed8;text-anchor:middle;font-size:13px;font-weight:900}.analysis-interval-layer{pointer-events:none}.analysis-interval-line{stroke:#475569;stroke-dasharray:5 5;stroke-linecap:round;stroke-width:2.4px;opacity:.72}.analysis-interval-label-bg{fill:#f8fafc;opacity:.96;stroke:#94a3b8;stroke-width:1.2px}.analysis-interval-label{fill:#334155;text-anchor:middle;font-size:12px;font-weight:900}.tangent-layer{pointer-events:none}.tangent-line{stroke:#d946ef;stroke-linecap:round;stroke-width:3.4px}.secant-line{stroke-dasharray:0}.tangent-marker{fill:#fff;stroke:#d946ef;stroke-width:3px}.tangent-label-bg{fill:#fdf4ff;opacity:.96;stroke:#d946ef;stroke-width:1.4px}.tangent-label{fill:#a21caf;text-anchor:middle;font-size:13px;font-weight:900}.timeline-layer{pointer-events:none}.timeline-line{stroke:#7c3aed;stroke-dasharray:9 7;stroke-linecap:round;stroke-width:4px;opacity:.78}.timeline-label-bg,.current-value-label-bg{fill:#fff;opacity:.92;stroke:#bda8f7;stroke-width:1.5px}.timeline-label,.current-value-label{fill:#4c1d95;text-anchor:middle;font-size:14px;font-weight:800}.timeline-marker{fill:#fff;stroke:#7c3aed;stroke-width:4px}.axis-label{fill:#354d50;font-size:22px;font-weight:700}.tick-label{fill:#4d6467;text-anchor:middle;font-size:16px;font-weight:700}.vertical-tick{text-anchor:end}.graph-point{cursor:grab;stroke:#1f3436;stroke-width:3px}.graph-point:active{cursor:grabbing}.graph-point:focus{stroke-width:5px;outline:none}.graph-point-green{fill:#2fa66a}.graph-point-yellow{fill:#f0c441}.graph-analysis-panel{color:#30494c;background:#f9fcfc;border:1px solid #d7e0df;border-radius:8px;gap:10px;margin-top:14px;padding:12px 14px;display:grid}.graph-analysis-item{gap:5px;display:grid}.graph-analysis-item+.graph-analysis-item{border-top:1px solid #d7e0df;padding-top:10px}.graph-analysis-panel p{margin:0}.analysis-meaning,.analysis-value{color:#9a3412;font-weight:900}.analysis-note{color:#4d6467;font-size:.9rem}.points-summary{border-top:1px solid #d7e0df;padding:16px 20px 20px}.points-summary h3{color:#1d3033;margin:0;font-size:1rem}.points-summary-content{margin-top:12px}.points-summary-content ol{gap:6px;margin:0;padding-left:22px;display:grid}.points-summary-content p{color:#65787a;margin:0}.graph-observe-control{justify-items:end;gap:4px;display:grid}.graph-observe-control small{max-width:240px;color:var(--color-text-secondary);text-align:right;font-size:.78rem}.graph-observe-action{white-space:nowrap}.graph-observe-action[aria-disabled=true]{cursor:not-allowed;opacity:.55}.playback-heading{padding:0}.playback-content{gap:14px;margin-top:16px;display:grid}.time-readout{color:#30494c;margin:0;font-weight:800}.playback-actions{flex-wrap:wrap;gap:10px;display:flex}.playback-button{color:#fff;cursor:pointer;background:#223538;border:1px solid #8da1a1;border-radius:6px;min-height:40px;padding:8px 12px;font-weight:800}.playback-button.secondary{color:#223538;background:#f7fbfa}.playback-button:disabled{cursor:not-allowed;opacity:.55}.time-slider-control,.playback-speed-control{color:#30494c;gap:8px;font-size:.92rem;font-weight:800;display:grid}.time-slider-control input{accent-color:#2f6f73;width:100%}.playback-speed-control select{color:#1f3436;background:#f9fcfc;border:1px solid #b9c8c7;border-radius:6px;width:min(180px,100%);min-height:40px;padding:8px 10px}.playback-message{margin:0}.point-coordinates{border-top:1px solid #d7e0df;padding:16px 20px 20px}.graph-data-tools-content{border-top:1px solid #d7e0df;gap:0;margin-top:16px;display:grid}.point-coordinates h3,.numeric-data-panel h3,.physical-data-panel h3{color:#1d3033;margin:0;font-size:1rem}.point-coordinate-content{gap:12px;margin-top:14px;display:grid}.point-coordinate-list{gap:10px;display:grid}.point-coordinate-row{background:#f7fbfa;border:1px dashed #b9c8c7;border-radius:6px;grid-template-columns:minmax(76px,.8fr) minmax(96px,1fr) minmax(92px,1fr) minmax(92px,1fr) auto;align-items:end;gap:10px;padding:10px;display:grid}.point-coordinate-row label{color:#30494c;gap:4px;font-size:.8rem;font-weight:700;display:grid}.point-coordinate-row input,.point-coordinate-row select{color:#1f3436;background:#fff;border:1px solid #b9c8c7;border-radius:6px;width:100%;min-height:36px;padding:7px 8px}.point-index{color:#1f3436;padding-bottom:8px;font-weight:700}.delete-point-button{color:#8a2c2c;cursor:pointer;background:#fff4f4;border:1px solid #c87979;border-radius:6px;min-height:36px;padding:7px 10px;font-weight:700}.coordinate-note{color:#65787a;margin:0;font-size:.9rem}.numeric-data-panel,.physical-data-panel{border-top:1px solid #d7e0df;padding:16px 20px 20px}.numeric-data-content,.physical-data-content{gap:12px;margin-top:14px;display:grid}.numeric-data-content p,.physical-data-content p{color:#4d6467;margin:0}.derivative-note{background:#f7fbfa;border-left:4px solid #8da1a1;padding:10px 12px}.numeric-table-wrap{overscroll-behavior-inline:contain;overflow-x:auto}.graph-editor--position .connection-path{stroke:#2563eb}.numeric-table-wrap:focus-visible{border-radius:6px}.numeric-data-table{border-collapse:collapse;width:100%;font-size:.9rem}.numeric-data-table th,.numeric-data-table td{text-align:left;border-bottom:1px solid #d7e0df;padding:8px 10px}.numeric-data-table th{color:#1f3436;font-weight:800}.numeric-data-table td{color:#41595c}.person circle,.person line{fill:none;stroke:#2f6f73;stroke-width:8px;stroke-linecap:round;stroke-linejoin:round}.person circle{fill:#dff1f0}.position-markers line{stroke:#789294;stroke-width:3px;stroke-linecap:round}.position-markers text{fill:#41595c;text-anchor:middle;font-size:15px;font-weight:700}.motion-axis-tick line{stroke:#789294;stroke-width:2px;stroke-linecap:round}.motion-axis-tick text{fill:#52696b;text-anchor:middle;font-size:12px;font-weight:700}.zero-marker line{stroke:#223538;stroke-dasharray:5 5;stroke-width:2px}.zero-marker text{fill:#223538;text-anchor:middle;font-size:13px;font-weight:800}.motion-position-marker{pointer-events:none}.motion-position-marker line{stroke-width:3px;stroke-linecap:round}.motion-position-marker text{paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;text-anchor:middle;font-size:13px;font-weight:800}.current-position-guide{stroke:#6d5dfc;stroke-dasharray:4 6;stroke-linecap:round;stroke-width:2px;opacity:.58;pointer-events:none}.initial-position-marker line{stroke:#7eb6d9}.initial-position-marker text{fill:#2f6f99}.final-position-marker line{stroke:#1d4f7a;stroke-dasharray:7 5}.final-position-marker text{fill:#1d4f7a}.current-position-marker line,.current-position-marker circle{fill:#fff;stroke:#6d5dfc}.current-position-marker text{fill:#4c3edb;font-size:14px}.motion-vector-layer{pointer-events:none}.motion-vector-label,.zero-vector-label text{paint-order:stroke;stroke:#fff;stroke-linejoin:round;stroke-width:4px;text-anchor:middle;font-size:13px;font-weight:900}.position-vector,.displacement-vector,.velocity-vector,.acceleration-vector{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2px}.position-vector{stroke:#2563eb}.displacement-vector{stroke:#38bdf8;stroke-dasharray:8 7}.velocity-vector{stroke:#dc2626}.acceleration-vector{stroke:#16a34a}.position-vector-arrow-fill,.position-vector-zero-dot{fill:#2563eb}.displacement-vector-arrow-fill,.displacement-vector-zero-dot{fill:#38bdf8}.velocity-vector-arrow-fill,.velocity-vector-zero-dot{fill:#dc2626}.acceleration-vector-arrow-fill,.acceleration-vector-zero-dot{fill:#16a34a}.vector-label-box{pointer-events:none}.vector-label-box rect{fill:#fff;opacity:.94;stroke-width:1.4px}.vector-label-box text{text-anchor:middle;font-size:12px;font-weight:900}.vector-symbol{font-weight:1000}.position-vector-label rect{stroke:#93c5fd}.position-vector-label text{fill:#1d4ed8}.displacement-vector-label rect{stroke:#7dd3fc}.displacement-vector-label text{fill:#0369a1}.velocity-vector-label rect{stroke:#fca5a5}.velocity-vector-label text{fill:#b91c1c}.acceleration-vector-label rect{stroke:#86efac}.acceleration-vector-label text{fill:#15803d}.zero-vector-label text{fill:#1f3436;text-anchor:start}.vector-scale-note{fill:#5e7476;text-anchor:middle;font-size:12px;font-weight:800}.motion-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.motion-value-card{background:#f9fcfc;border:1px solid #d7e0df;border-radius:6px;gap:4px;padding:10px 12px;display:grid}.motion-value-card span{color:#52696b;font-size:.86rem;font-weight:800}.motion-value-card strong{color:#1f3436;font-size:1rem}.initial-position-card{border-left:5px solid #7eb6d9}.current-position-card{border-left:5px solid #6d5dfc}.final-position-card{border-left:5px solid #1d4f7a}.motion-empty-message{fill:#4d6467;text-anchor:middle;font-size:15px;font-weight:800}.placeholder-person{opacity:.5}.metrics-list{gap:10px;max-height:none;margin:18px 0 0;padding-right:6px;display:grid;overflow:visible}.metrics-list div{padding:12px 14px}.metrics-list dt{color:#1f3436;font-weight:700}.metrics-list dd{color:#65787a;margin:4px 0 0}.metric-symbol,.metric-vector-symbol{color:#1f3436;font-weight:900}.metric-vector-symbol{font-style:normal}.empty-message{color:#4d6467;background:#f7fbfa;border:1px dashed #b9c8c7;border-radius:6px;margin:18px 0 0;padding:12px 14px}.itinerary-card{gap:16px;margin-top:16px;display:grid}.itinerary-model{color:#1f3436;letter-spacing:.04em;text-transform:uppercase;background:#f7fbfa;border:1px solid #b9c8c7;border-radius:999px;width:fit-content;padding:6px 10px;font-size:.78rem;font-weight:900}.itinerary-formula-block,.itinerary-result,.itinerary-empty{background:#f9fcfc;border:1px solid #d7e0df;border-radius:8px;gap:10px;padding:16px;display:grid}.itinerary-formula-block span,.itinerary-result span{color:#5e7476;font-size:.82rem;font-weight:800}.math-equation{color:#1f3436;text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.38rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.08rem,1.3vw,1.35rem);font-weight:900;line-height:1.55;display:flex}.math-equation span{color:inherit;font:inherit}.math-equation sub,.math-equation sup{font-size:.68em;line-height:0}.math-equation--substitution{font-size:clamp(1rem,1.1vw,1.18rem)}.itinerary-delta-time{color:#314c4f;flex-wrap:wrap;justify-content:center;gap:.32rem;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:800;line-height:1.45;display:flex}.itinerary-delta-time span{color:inherit;font:inherit}.itinerary-result{background:#eef7f6;border-color:#9fb9b8}.math-equation--result{color:#10292d;font-size:clamp(1.2rem,1.55vw,1.55rem)}.itinerary-note,.itinerary-empty{color:#4d6467;margin:0}.itinerary-empty{text-align:center;font-weight:800}.itinerary-note{background:#f7fbfa;border-left:4px solid #8da1a1;padding:10px 12px}.derived-grid,.derived-stack{gap:12px;margin-top:18px;display:grid}.derived-stack{grid-template-columns:1fr}.derived-grid div,.derived-stack div{align-content:center;gap:8px;min-height:96px;padding:16px;display:grid}.derived-stack strong{color:#1f3436}.derived-stack span{color:#65787a}.derived-graph-card{background:#f9fcfc;border:1px solid #d7e0df;border-radius:8px;gap:8px;padding:12px;display:grid}.derived-graph-card strong{color:#1f3436}.derived-graph-card span,.derived-graph-note{color:#65787a;font-size:.86rem}.derived-graph-note{margin:0}.derived-graph-svg{width:100%;height:auto;display:block}.derived-graph-background{fill:#fff;stroke:#d7e0df;stroke-width:1px}.derived-grid-line{stroke:#d8e4e3;stroke-width:1.2px}.derived-axis-line{stroke:#223538;stroke-linecap:round;stroke-width:2.2px}.derived-graph-path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.derived-timeline-line{stroke-width:2.4px}.derived-current-marker{fill:#fff;stroke-width:3px}.derived-area-fill{opacity:.16}.derived-value-label{font-size:11px}.derived-tangent-line{stroke-width:2.2px}.derived-tangent-label-bg,.derived-area-label-bg{stroke-width:1px}.derived-tangent-label,.derived-area-label{font-size:9.5px}.derived-interval-line{stroke-width:1.6px}.derived-interval-label{font-size:9px}.derived-analysis-panel{color:#30494c;background:#f9fcfc;border:1px solid #d7e0df;border-radius:6px;gap:5px;padding:8px 10px;display:grid}.derived-stack .derived-analysis-panel{align-content:stretch;min-height:auto}.derived-analysis-panel p{color:#30494c;margin:0;font-size:.8rem;line-height:1.35}.derived-analysis-panel strong{color:#1f3436}.derived-axis-label{fill:#354d50;text-anchor:middle;font-size:11px;font-weight:800}.derived-y-label{text-anchor:middle}.derived-tick-label{fill:#52696b;text-anchor:middle;font-size:10px;font-weight:800}.derived-vertical-tick{text-anchor:end}@media (width<=1120px){.build-tools-grid,.observe-layout,.observe-primary-grid,.observe-secondary-grid{grid-template-columns:1fr}.observable-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.app-shell{width:min(100% - 20px,680px);padding:20px 0}.stage-list{grid-template-columns:1fr}.stage-button{min-height:84px}.controls-content{min-height:180px;max-height:none}.derived-grid,.graph-comparison-layout,.motion-values{grid-template-columns:1fr}.metrics-list{max-height:none}.point-coordinate-row{grid-template-columns:1fr}.point-index{padding-bottom:0}}@media (width<=520px){.observable-values-grid,.observe-vector-options{grid-template-columns:1fr}.stage-panel--observe .motion-scene,.stage-panel--observe .playback-controls,.observable-values,.observe-vectors{padding:16px}.graph-editor .panel-heading{flex-direction:column;align-items:stretch}.graph-editor-actions{justify-content:space-between}.graph-observe-action{flex-shrink:0}.graph-observe-control{justify-items:start}.graph-observe-control small{text-align:left}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.build-decision,.second-decision,.segment-kind-selector{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;gap:14px;padding:18px;display:grid}.build-decision-heading,.second-decision-heading,.segment-kind-heading,.point-inspector-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.build-decision-heading,.second-decision-heading{justify-content:initial;display:grid}.build-decision h3,.second-decision h3,.segment-kind-selector h3,.point-inspector h3{color:var(--color-text);margin:0;font-size:1.25rem}.build-step-label{color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;font-size:.75rem;font-weight:900}.variable-options{border:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;display:grid}.variable-option{border:2px solid var(--color-border);cursor:pointer;border-radius:10px;grid-template-columns:auto 1fr;align-content:center;gap:3px 10px;min-height:112px;padding:12px;display:grid}.variable-option:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.variable-option--selected{border-color:var(--color-action);box-shadow:inset 0 -4px 0 var(--color-accent)}.variable-option input{width:20px;height:20px;margin:2px 0 0}.variable-option-name,.variable-option strong{color:var(--color-text);font-weight:850}.variable-option-symbol,.variable-option-unit,.variable-option strong{grid-column:2}.variable-option-symbol,.variable-option-unit{color:var(--color-text-secondary);font-size:.85rem}.reinterpret-warning,.axis-summary{color:var(--color-text);background:#fff7e7;border:1px solid #b7771e;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 14px;display:flex}.reinterpret-warning{display:grid}.reinterpret-warning p{margin:0}.axis-summary{border-color:var(--color-border);background:var(--color-surface-soft)}.segment-kind-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.segment-kind-option{border:2px solid var(--color-border);background:var(--color-surface);min-height:82px;color:var(--color-text);cursor:pointer;text-align:left;border-radius:10px;grid-template-columns:52px 1fr;align-items:center;gap:12px;padding:10px 14px;display:grid}.segment-kind-option--selected{border-color:var(--color-action);background:var(--color-surface-soft)}.segment-kind-option:focus-visible,.point-card-select:focus-visible,.segment-list-item:focus-visible,.graph-point-control:focus-visible,.graph-segment:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.segment-kind-icon{background:var(--color-action);width:48px;height:48px;color:var(--color-background);border-radius:8px;place-items:center;font-size:1.8rem;display:grid}.segment-kind-option span:last-child{gap:3px;display:grid}.segment-kind-option small{color:var(--color-text-secondary);font-size:.82rem}.segment-mode-status{background:var(--color-action);color:var(--color-background);border-radius:999px;padding:7px 11px;font-size:.8rem}.construction-canvas-layout{min-width:0}.construction-canvas-layout--editing{grid-template-columns:minmax(0,1.75fr) minmax(300px,.75fr);align-items:start;gap:18px;display:grid}.point-inspector{gap:14px;padding:18px;display:grid}.add-coordinate-form,.point-card-editor{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:9px;gap:10px;padding:12px;display:grid}.add-coordinate-form label,.point-card-editor label{color:var(--color-text-secondary);gap:4px;font-size:.82rem;font-weight:750;display:grid}.add-coordinate-form input,.point-card-editor input{border:1px solid var(--color-border);background:var(--color-surface);min-height:42px;color:var(--color-text);font:inherit;border-radius:7px;padding:0 10px}.point-card-list,.segment-list{gap:9px;display:grid}.point-card{border:2px solid var(--color-border);background:var(--color-surface);border-radius:10px;overflow:hidden}.point-card--selected{border-color:var(--color-action);box-shadow:inset 4px 0 0 var(--color-accent)}.point-card-select{width:100%;min-height:58px;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:auto 1fr;gap:2px 9px;padding:10px 12px;display:grid}.point-card-select strong{background:var(--color-action);width:42px;height:42px;color:var(--color-background);border-radius:50%;grid-row:1/4;place-items:center;display:grid}.point-card-select span{font-size:.8rem}.point-card-editor{border:0;border-top:1px solid var(--color-border);border-radius:0}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.primary-action,.secondary-action,.danger-action,.observe-cta{border:1px solid var(--color-action);cursor:pointer;border-radius:8px;min-height:44px;padding:8px 13px;font-weight:850}.primary-action,.observe-cta{background:var(--color-action);color:var(--color-background)}.secondary-action{background:var(--color-surface);color:var(--color-action)}.danger-action{border-color:var(--color-error);background:var(--color-surface);color:var(--color-error)}.field-error{color:var(--color-error);margin:0;font-size:.85rem;font-weight:800}.segment-list-item{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.segment-list-item--selected{border:2px solid var(--color-action);background:var(--color-surface-soft)}.segment-hit-target{fill:none;stroke:#0000;stroke-width:24px;pointer-events:stroke}.graph-segment{cursor:pointer}.graph-segment--selected .connection-path{stroke-width:6px;filter:drop-shadow(0 0 2px var(--color-accent))}.graph-point-control{cursor:grab}.graph-point-control:active{cursor:grabbing}.graph-point-hit-target{fill:#0000;stroke:#0000;pointer-events:all}.graph-point{fill:#fff;stroke:var(--color-action);stroke-width:4px}.graph-point-control--selected .graph-point{fill:var(--color-accent);stroke-width:6px;filter:drop-shadow(0 0 2px var(--color-action))}.graph-point-label{fill:var(--color-text);paint-order:stroke;stroke:var(--color-surface);stroke-width:4px;text-anchor:middle;font-size:13px;font-weight:900}.observe-cta{justify-self:start}@media (width<=1023px){.construction-canvas-layout--editing,.variable-options{grid-template-columns:1fr}}@media (width<=620px){.segment-kind-options{grid-template-columns:1fr}.build-decision-heading,.segment-kind-heading,.point-inspector-heading{flex-direction:column;align-items:stretch}}.build-source-option{appearance:none;width:100%;color:inherit;text-align:left}.build-source-option .build-source-icon{color:var(--color-action);grid-row:1/span 3;font-size:1.2rem}.initial-condition-onboarding{background:#f5f9ff;border:1px solid #9fc3ff;border-left:5px solid #2563eb;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:18px;padding:16px;display:grid}.initial-condition-onboarding h4,.initial-condition-onboarding p{margin:0}.initial-condition-onboarding>div:first-child{align-content:start;gap:7px;display:grid}.initial-condition-fields{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.initial-condition-fields label{gap:6px;font-weight:800;display:grid}.initial-condition-fields input,.initial-condition-fields button{min-height:44px}.second-decision{grid-template-columns:1fr;gap:9px;padding:12px 14px;display:grid}.second-decision-heading{grid-template-columns:minmax(230px,auto) minmax(0,1fr) auto;align-items:center;gap:10px 16px;display:grid}.second-decision-heading>div{gap:2px;display:grid}.second-decision-heading p,.second-decision-help,.second-decision-editor fieldset{margin:0}.second-decision-summary{color:var(--color-text-secondary);font-size:.84rem;line-height:1.35}.second-decision-help{color:var(--color-text-secondary);font-size:.8rem}.second-decision-editor{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:10px;display:grid}.second-decision-editor>fieldset:only-of-type{grid-column:1/-1}.second-decision-editor fieldset{border:1px solid var(--color-border);border-radius:9px;min-width:0;padding:8px 10px 10px}.second-decision-editor legend{padding:0 5px;font-size:.82rem;font-weight:900}.second-decision-editor .control-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.second-decision-editor .control-group,.second-decision-editor .initial-condition-fields label{gap:4px;font-size:.76rem}.second-decision-editor input,.second-decision-editor button{min-height:38px}.second-decision-editor .initial-condition-fields{flex-wrap:wrap;gap:8px;display:flex}.second-decision-editor .initial-condition-fields label{flex:170px}.second-decision--collapsed{padding-block:10px}.analysis-tools-disclosure{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:10px;gap:12px;padding:14px;display:grid}.analysis-tools-disclosure #analysis-tools-content{gap:16px;display:grid}.collapsible-graph-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;gap:12px;min-width:0;padding:14px;display:grid}.collapsible-graph-panel-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.collapsible-graph-panel-heading>div{gap:3px;display:grid}.collapsible-graph-panel-heading h3,.collapsible-graph-panel-heading p{margin:0}.collapsible-graph-panel-heading h3{font-size:1.08rem}.collapsible-graph-panel-heading p:last-child{color:var(--color-text-secondary);font-size:.82rem}.graph-panel-eyebrow{color:var(--color-action);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;font-weight:900}.graph-panel-toggle,.graph-panel-tab{border:1px solid var(--color-action);background:var(--color-surface);min-height:40px;color:var(--color-action);cursor:pointer;white-space:nowrap;border-radius:999px;padding:7px 12px;font-weight:850}.graph-panel-toggle span,.graph-panel-tab span{margin-right:5px}.collapsible-graph-panel-content{gap:16px;min-width:0;display:grid}.collapsible-graph-panel-content[hidden],.second-decision-editor[hidden]{display:none}.collapsible-graph-panel-content.analysis-graph-base{background:0 0;border:0;border-radius:0;padding:0}.collapsible-graph-panel--collapsed{background:0 0;border-color:#0000;justify-items:end;padding:0}.graph-panel-tab{border-radius:10px 0 0 10px;box-shadow:0 3px 10px #0822181a}.initial-condition-fields button{border:1px solid var(--color-action);background:var(--color-surface);color:var(--color-action);border-radius:8px;font-weight:800}.build-source-content{border-top:1px solid var(--color-border);gap:22px;padding-top:16px;display:grid}.starter-library--embedded,.local-graphs--embedded{background:0 0;border:0;padding:0}.view-manager{max-width:1440px;margin:0 auto 18px;padding:0 20px}.view-manager-trigger{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:10px 24px;width:100%;min-height:48px;padding:10px 16px;display:flex}.view-manager-trigger span,.view-option span{color:var(--color-text-secondary);font-size:.86rem}.view-manager-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 14px 14px;gap:20px;padding:20px;display:grid;box-shadow:0 16px 34px #08221824}.view-manager-heading,.view-option{justify-content:space-between;align-items:center;gap:16px;display:flex}.view-manager-heading h2,.view-manager-heading p,.view-option-group h3{margin:0}.quick-view-grid{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.quick-view-grid button,.view-manager-heading button,.view-option button{min-height:44px}.quick-view-grid button[aria-pressed=true]{background:var(--color-action);color:var(--color-background)}.view-option-list{gap:8px;margin-top:10px;display:grid}.view-option{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:10px;padding:10px 12px}.view-option>div{gap:3px;display:grid}.view-density-message,.view-empty-state{background:var(--color-surface-soft);border-left:4px solid var(--color-accent);margin:10px 0 0;padding:10px 12px}.observe-primary-grid>:only-child,.observe-secondary-grid>:only-child,.construction-canvas-layout--editing>:only-child{grid-column:1/-1}@media (width<=768px){.view-manager{padding:0 12px}.view-manager-trigger,.view-manager-heading,.view-option{flex-direction:column;align-items:stretch}.view-option button{width:100%}}.construction-actions{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.history-actions{flex-wrap:wrap;gap:8px;display:flex}.construction-actions button,.dialog-choice-list button{min-height:44px}.clear-graph-action{margin-left:auto}.construction-status{border-left:4px solid var(--color-action);color:var(--color-text);background:#f2f7f2;border-radius:8px;min-height:24px;margin:0;padding:10px 14px}.construction-status p{margin:0}.construction-status small{margin-top:4px;display:block}.status-toast{background:var(--color-action);color:var(--color-surface);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:12px 16px;display:flex}.status-toast button{color:inherit;background:0 0;border:2px solid;border-radius:8px;min-height:40px;padding:6px 14px;font-weight:800}.dialog-backdrop{z-index:1000;background:#0822188c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.construction-dialog{background:var(--color-surface);border:2px solid var(--color-action);color:var(--color-text);border-radius:16px;width:100%;max-width:560px;max-height:calc(100vh - 40px);padding:24px;overflow-y:auto;box-shadow:0 18px 48px #08221847}.construction-dialog h3{margin-top:0}.construction-dialog,.view-manager-panel,.panel,.stage-panel{overflow-wrap:anywhere;min-width:0}.dialog-choice-list{gap:10px;margin-top:18px;display:grid}.reconnect-kind-options{border:1px solid var(--color-border);border-radius:10px;gap:20px;margin:18px 0;padding:14px;display:flex}.reconnect-kind-options label{align-items:center;gap:8px;min-height:44px;display:flex}@media (width<=620px){.construction-actions{flex-direction:column;align-items:stretch}.clear-graph-action{margin-left:0}.history-actions>button{flex:1}}@media (width<=400px){.dialog-backdrop{align-items:flex-start;padding:8px;overflow-y:auto}.construction-dialog{max-height:none;padding:16px}.reconnect-kind-options,.inline-actions{flex-direction:column;align-items:stretch}.construction-dialog button,.inline-actions button{width:100%}}.stage-panel--observe .observe-primary-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:start;gap:20px;display:grid}.observe-graph-column>.graph-editor,.observe-values-under-graph,.observe-values-under-graph>*{width:100%;min-width:0}.observe-values-under-graph .observable-values{gap:12px;padding:14px}.observe-values-under-graph .observable-values-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.observe-values-under-graph .observable-values-grid>div{gap:3px;padding:9px}.build-decision-heading{grid-template-columns:minmax(260px,auto) minmax(0,1fr) auto;align-items:center;gap:10px 16px;display:grid}.build-decision-heading>div{gap:2px;display:grid}.build-decision-heading p,.build-decision-heading h3,.build-decision-help,.build-decision-summary{margin:0}.build-decision-summary,.build-decision-help{color:var(--color-text-secondary);font-size:.86rem}.build-decision--collapsed{padding-block:10px}.variable-options[hidden],.build-decision-help[hidden],#analysis-itinerary-content[hidden]{display:none}.stage-reference .segment-kind-selector{border-radius:12px;margin-bottom:10px;padding:10px 12px}.stage-reference .segment-kind-heading{align-items:center}.stage-reference .segment-kind-options{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-reference .segment-kind-option{min-height:50px;padding-block:7px}.local-graph-visibility{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:9px 10px;display:grid}.local-graph-visibility-options{flex-wrap:wrap;gap:7px;display:flex}.local-graph-toggle{border:1px solid var(--color-border);background:var(--color-surface);min-height:38px;color:var(--color-text);cursor:pointer;border-radius:999px;padding:6px 10px;font-weight:800}.local-graph-toggle[aria-pressed=true]{border-color:var(--color-action);box-shadow:inset 0 0 0 1px var(--color-action);background:#dff4ec}.local-graph-toggle span{margin-right:5px}.local-graph-visibility small{color:var(--color-text-secondary)}.graph-comparison-grid,.analysis-graph-base .analysis-comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;display:grid}.graph-comparison-grid>.derived-graphs,.graph-comparison-grid>.derived-graphs>.derived-stack{display:contents}.graph-comparison-grid>.derived-graphs>h2{display:none}.graph-comparison-grid .graph-editor,.graph-comparison-grid .derived-graph-card{min-width:0;height:100%;padding:10px}.graph-comparison-grid .graph-editor h2,.graph-comparison-grid .derived-graph-card>strong{font-size:.95rem}.observe-primary-grid{grid-template-columns:minmax(380px,.82fr) minmax(0,1.18fr)}.analysis-focus-selector{background:#f1faf7;border:2px solid #9bcdbd;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.analysis-focus-selector p,.analysis-focus-selector h4{margin:0}.analysis-focus-selector p{color:var(--color-text-secondary);text-transform:uppercase;font-size:.78rem;font-weight:800}.analysis-focus-options{flex-wrap:wrap;gap:7px;display:flex}.analysis-focus-options button{border:1px solid var(--color-action);background:var(--color-surface);min-height:40px;color:var(--color-action);cursor:pointer;border-radius:9px;padding:7px 10px;font-weight:800}.analysis-focus-options button[aria-pressed=true]{background:var(--color-action);color:var(--color-background)}.analysis-graph-controls-grid{grid-template-columns:minmax(0,1fr)}.analysis-itinerary-bottom .collapsible-header{align-items:center}@media (width<=1120px) and (width>=761px){.graph-comparison-grid,.analysis-graph-base .analysis-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.build-decision-heading,.local-graph-visibility,.analysis-focus-selector{grid-template-columns:1fr}.build-decision-heading,.analysis-focus-selector{align-items:stretch;display:grid}.build-decision-heading .panel-toggle{width:100%}.variable-options{scroll-snap-type:x mandatory;grid-template-columns:none;padding:2px 2px 10px;display:flex;overflow-x:auto}.variable-option{scroll-snap-align:start;flex:0 0 min(78vw,260px)}.local-graph-visibility-options,.analysis-focus-options{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.local-graph-toggle,.analysis-focus-options button{flex:none}.graph-comparison-grid,.analysis-graph-base .analysis-comparison-grid{scroll-snap-type:x mandatory;gap:10px;padding-bottom:8px;display:flex;overflow-x:auto}.graph-comparison-grid>.graph-editor,.graph-comparison-grid .derived-graph-card{scroll-snap-align:start;flex:0 0 92%}.stage-reference .segment-kind-heading{align-items:stretch}}@media (width<=360px){.stage-reference .segment-kind-options{grid-template-columns:1fr}.variable-option{flex-basis:86vw}}.starter-library,.local-graphs,.analysis-graph-base,.analysis-itinerary-bottom{gap:16px;display:grid}.starter-library-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.starter-library-heading p,.starter-library-heading h2,.starter-library-heading span,.starter-card h3,.starter-card p{margin:0}.starter-library-heading>span{max-width:42rem;color:var(--color-muted)}.starter-library-details{border-top:1px solid var(--color-border);padding-top:12px}.starter-library-details summary{cursor:pointer;min-height:44px;color:var(--color-action);align-items:center;font-weight:850;display:flex}.starter-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;margin-top:12px;display:grid}.starter-card{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px;align-content:space-between;gap:14px;min-width:0;padding:16px;display:grid}.starter-card dl,.starter-card dl div{gap:2px;margin:0;display:grid}.starter-card dt,.starter-card dd{margin:0}.starter-card dt{color:var(--color-muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.starter-card button,.local-save-form button,.saved-graph-actions button{min-height:44px}.local-storage-notice{border-left:5px solid var(--color-action);background:var(--color-background);border-radius:10px;gap:4px;padding:14px;display:grid}.local-save-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 12px;display:grid}.local-save-form label,.local-save-form .field-error{grid-column:1/-1}.saved-graph-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.saved-graph-list>li{border:1px solid var(--color-border);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.saved-graph-list>li>div:first-child{gap:3px;display:grid}.saved-rename-form{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px;display:grid}.saved-rename-form label{grid-column:1/-1}.saved-graph-actions,.dialog-actions{flex-wrap:wrap;gap:8px;display:flex}.danger-text-button{color:var(--color-error)}.local-storage-status{min-height:1.5em;margin:0;font-weight:750}.confirmation-dialog{border:2px solid var(--color-action);background:var(--color-surface);border-radius:16px;width:min(100%,560px);max-height:calc(100vh - 40px);padding:24px;overflow-y:auto;box-shadow:0 18px 48px #08221847}.confirmation-dialog h2{margin-top:0}.confirmation-dialog .dialog-actions{justify-content:flex-end;margin-top:20px}.confirmation-dialog .danger-button{border-color:var(--color-error);background:var(--color-error);color:var(--color-surface)}.analysis-graph-base,.analysis-itinerary-bottom{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;padding:18px}.analysis-itinerary-bottom{border-top:5px solid var(--color-action);margin-top:8px}@media (width<=760px){.starter-library-heading,.saved-graph-list>li{grid-template-columns:1fr;align-items:stretch}.starter-library-heading{display:grid}.local-save-form,.saved-rename-form{grid-template-columns:1fr}.saved-rename-form label{grid-column:auto}.local-save-form button,.saved-graph-actions button{width:100%}.saved-graph-actions,.confirmation-dialog .dialog-actions{flex-direction:column}}@media (width<=1180px) and (width>=761px){.variable-options{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.initial-condition-onboarding,.initial-condition-fields,.second-decision-heading,.second-decision-editor{grid-template-columns:1fr}.second-decision-heading .panel-toggle{width:100%}.second-decision-editor .control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collapsible-graph-panel-heading{flex-direction:column;align-items:stretch}.graph-panel-toggle{width:100%}.analysis-motion-grid,.analysis-graph-controls-grid{grid-template-columns:1fr}}@media (width<=480px){.second-decision-editor .control-grid{grid-template-columns:1fr}}.guided-tour-layer{z-index:1000;pointer-events:none;position:fixed;inset:0}.guided-tour-wash{background:#f1ebdc2e;position:absolute;inset:0}.guided-tour-highlight{z-index:1001;border:3px solid var(--color-accent);border-radius:16px;transition:top .18s,left .18s,width .18s,height .18s;position:fixed;box-shadow:0 0 0 6px #d2a04833,0 12px 36px #0822182e}.guided-tour-card{z-index:1002;border:2px solid var(--color-action);background:var(--color-surface);pointer-events:auto;border-radius:16px;gap:11px;width:min(430px,100vw - 32px);max-height:calc(100vh - 40px);padding:18px;display:grid;position:fixed;bottom:20px;right:20px;overflow-y:auto;box-shadow:0 22px 60px #0822183d}.guided-tour-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.guided-tour-heading p,.guided-tour-card h2,.guided-tour-card>p{margin:0}.guided-tour-heading p{color:var(--color-action);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:900}.guided-tour-card h2{color:var(--color-text);font-size:1.35rem}.guided-tour-card>p{color:var(--color-text-secondary);line-height:1.55}.guided-tour-close{border:1px solid var(--color-border);background:var(--color-surface-soft);width:38px;height:38px;color:var(--color-text);cursor:pointer;border-radius:50%;place-items:center;font-size:1.35rem;line-height:1;display:inline-grid}.guided-tour-note,.guided-tour-recovery{border-left:4px solid var(--color-accent);background:var(--color-surface-soft);border-radius:6px;padding:9px 11px;font-size:.88rem}.guided-tour-recovery{border-left-color:var(--color-action)}.guided-tour-preference{color:var(--color-text-secondary);cursor:pointer;align-items:flex-start;gap:9px;font-size:.9rem;font-weight:750;display:flex}.guided-tour-preference input{width:18px;height:18px;accent-color:var(--color-action);flex:none;margin:1px 0 0}.guided-tour-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:2px;display:flex}.guided-tour-actions button{cursor:pointer;border-radius:9px;min-height:42px;padding:8px 13px;font-weight:850}.guided-tour-actions .quiet-action{color:var(--color-text-secondary);background:0 0;border:1px solid #0000}@media (width<=560px){.guided-tour-card{width:auto;max-height:calc(100vh - 20px);padding:15px;bottom:10px;left:10px;right:10px}.guided-tour-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.guided-tour-actions .primary-action{grid-column:1/-1}}@media (width<=400px){.confirmation-dialog{max-height:none;padding:16px}.confirmation-dialog button{width:100%}}@media (width<=1120px){.stage-panel--observe .observe-primary-grid{grid-template-columns:minmax(0,1fr)}}.analysis-primary-layout{grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);align-items:start;gap:20px;min-width:0;display:grid}.analysis-motion-column,.analysis-graphs-column{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;gap:14px;min-width:0;padding:16px;display:grid}.analysis-motion-column{position:sticky;top:16px}.analysis-graphs-column{grid-template-rows:auto minmax(0,1fr);height:0;min-height:100%;max-height:100%;overflow:hidden}.analysis-motion-column>.motion-scene,.analysis-motion-column>.playback-controls{width:100%;margin:0}.analysis-column-heading{gap:3px;display:grid}.analysis-column-heading p,.analysis-column-heading h3,.analysis-column-heading span{margin:0}.analysis-column-heading p{color:var(--color-action);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:850}.analysis-column-heading h3{color:var(--color-text);font-size:1.18rem}.analysis-column-heading span{color:var(--color-text-secondary);line-height:1.4}.analysis-graph-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;min-width:0;height:100%;min-height:0;padding:2px 8px 2px 2px;overflow:hidden auto}.analysis-graph-scroll:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.analysis-graph-stack{flex-direction:column;gap:14px;min-width:0;display:flex}.analysis-graph-stack>.graph-editor,.analysis-graph-stack .derived-graph-card{width:100%;min-width:0;margin:0}.analysis-graph-stack>.derived-graphs,.analysis-graph-stack>.derived-graphs>.derived-stack{display:contents}.analysis-graph-stack>.derived-graphs>h2{display:none}.analysis-graph-stack .graph-editor--position,.analysis-graph-stack .derived-graph-card--position{order:1}.analysis-graph-stack .graph-editor--velocity,.analysis-graph-stack .derived-graph-card--velocity{order:2}.analysis-graph-stack .graph-editor--acceleration,.analysis-graph-stack .derived-graph-card--acceleration{order:3}.analysis-graph-stack .graph-analysis-panel,.analysis-graph-stack .derived-analysis-panel{background:var(--color-surface-soft);border-radius:10px}@media (width<=1024px){.analysis-primary-layout{grid-template-columns:minmax(0,1fr)}.analysis-motion-column{position:static}.analysis-graphs-column{height:auto;min-height:0;max-height:none;overflow:visible}.analysis-graph-scroll{scrollbar-gutter:auto;height:auto;max-height:none;padding-right:2px;overflow:visible}}@media (width<=480px){.analysis-motion-column,.analysis-graphs-column{border-radius:12px;padding:12px}.analysis-graph-stack{gap:12px}}.emely-site-header{color:#082218;background:#fefbf5;border-bottom:1px solid #d39e50;width:100%;padding:10px 20px}.emely-site-header-inner{justify-content:space-between;align-items:center;gap:18px;width:100%;max-width:1360px;margin:0 auto;display:flex}.emely-site-identity{align-items:center;gap:18px;min-width:0;display:flex}.emely-site-brand{color:#082218;white-space:nowrap;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.emely-site-logo{object-fit:contain;width:auto;max-width:132px;height:34px;display:block}.emely-site-name{color:#082218;letter-spacing:0;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400;line-height:1}.compact-title{border-left:1px solid #d7c39f;padding-left:18px;line-height:1.2;display:grid}.compact-title span{color:#47605a;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.compact-title strong{color:#082218;font-size:1rem}.emely-site-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.emely-site-button{border:1px solid #d39e50;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:8px 14px;font-size:14px;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.emely-site-button-primary{color:#fefbf5;background:#082218}.emely-site-button-secondary{color:#082218;background:#fefbf5}.emely-site-footer{color:#fefbf5;text-align:center;background:#082218;justify-content:center;align-items:center;width:100%;min-height:68px;margin-top:24px;padding:16px 18px;font-size:14px;font-weight:700;line-height:1.4;display:flex}@media (width<=820px){.emely-site-header{padding:10px 14px}.emely-site-header-inner{flex-direction:column;align-items:stretch}.emely-site-actions{justify-content:stretch;width:100%}.emely-site-button{flex:190px}}@media (width<=520px){.emely-site-header{padding:10px}.emely-site-brand{gap:10px}.emely-site-logo{max-width:120px;height:32px}.emely-site-name{font-size:22px}.emely-site-identity{flex-direction:column;align-items:flex-start;gap:7px}.compact-title{border-left:0;padding-left:0}.emely-site-actions{grid-template-columns:1fr;gap:12px;display:grid}.emely-site-footer{min-height:64px;padding:14px 12px;font-size:13px}}
