/* PHY-003 · immersive teaching laboratory. Every rule is experiment-scoped. */
.lab-backdrop:has(>.lab[data-experiment="uniform-linear-motion"]){padding:8px;background:#c7dded}
.lab[data-experiment="uniform-linear-motion"]{--bg:#e6f1fb;--bg2:#e9f3fd;--surface:#f6faff;--surface2:#deedff;--ink:#143557;--muted:#587592;--soft:#6b86a0;--line:#d6e4f1;--accent:#2877e8;--on-accent:#fff;--um-blue:#2877e8;--um-orange:#e58c31;--um-blue-wash:#e2efff;--um-orange-wash:#fff1df;--um-track:#8aa3b8;--um-wheel:#274b6b;--um-paper:#fff;width:100%;max-width:none;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);overflow:hidden;border:0;border-radius:20px;background:#e6f1fb;color:var(--ink);scrollbar-gutter:auto;box-shadow:none}
.lab[data-experiment="uniform-linear-motion"] [hidden]{display:none!important}
.lab[data-experiment="uniform-linear-motion"] .lab-header{position:relative;min-height:64px;height:64px;padding:8px 18px;justify-content:flex-start;gap:20px;background:#dcedfc;border:0;color:var(--ink);z-index:10}
.lab[data-experiment="uniform-linear-motion"] .lab-header>div{min-width:0}
.lab[data-experiment="uniform-linear-motion"] .lab-header h2{font-size:14px;font-weight:500;color:#5d7e9d;margin:0;line-height:1.4}
.lab[data-experiment="uniform-linear-motion"] .lab-header .section-kicker,
.lab[data-experiment="uniform-linear-motion"] .lab-header p:last-child,
.lab[data-experiment="uniform-linear-motion"] .lab-objective{display:none}
.lab[data-experiment="uniform-linear-motion"] #labClose{order:-1;flex:none;width:auto;height:44px;padding:0 20px;border:1px solid #6aa2ef;border-radius:12px;background:#2877e8;color:#fff;font-size:16px;font-weight:700;box-shadow:0 3px 9px #2877e822}
.lab[data-experiment="uniform-linear-motion"] button{min-height:44px;min-width:44px;font-family:inherit;line-height:1.35;white-space:normal;cursor:pointer}
.lab[data-experiment="uniform-linear-motion"] button:focus-visible,
.lab[data-experiment="uniform-linear-motion"] input:focus-visible,
.lab[data-experiment="uniform-linear-motion"] summary:focus-visible{outline:3px solid #2877e8;outline-offset:3px}
.lab[data-experiment="uniform-linear-motion"] button:disabled{opacity:.45;cursor:not-allowed}
.lab[data-experiment="uniform-linear-motion"] .lab-layout{display:block;position:relative;height:calc(100dvh - 80px);min-height:0;padding:0;overflow:hidden;isolation:isolate;border-radius:18px;background:#cfe3ef}
.lab[data-experiment="uniform-linear-motion"] .lab-center{display:contents}
.lab[data-experiment="uniform-linear-motion"] .experiment-stage.um-world{position:absolute;inset:0;width:100%;height:100%;min-height:0;display:block;border:0;border-radius:0;background:#d7e8f3;overflow:hidden;z-index:0}
.lab[data-experiment="uniform-linear-motion"] .um-world canvas{display:block;width:100%;height:100%;max-width:100%;touch-action:none;outline:none}
.lab[data-experiment="uniform-linear-motion"] .um-world-label{position:absolute;left:50%;top:47%;z-index:1;transform:translate(-50%,-100%);padding:10px 15px;max-width:220px;background:#f8fcffeb;border:1px solid #ffffff;border-radius:14px;color:var(--ink);font-size:12px;line-height:1.7;pointer-events:none;box-shadow:0 5px 16px #294b6b12}
.lab[data-experiment="uniform-linear-motion"] .um-world-label strong{display:block;font:700 15px var(--mono);color:var(--ink)}
.lab[data-experiment="uniform-linear-motion"] .um-world-label small{display:block;font-size:11px;color:var(--muted)}
.lab[data-experiment="uniform-linear-motion"] .um-intro{position:absolute;left:24px;top:24px;z-index:2;width:340px;padding:22px 24px;border-radius:24px;background:#f2f9fff0;border:1px solid #ffffffcc;box-shadow:0 9px 32px #2647660b}
.lab[data-experiment="uniform-linear-motion"] .um-intro .section-kicker{margin:0 0 8px;color:#2877e8;font-size:11px;font-weight:700;letter-spacing:.2em}
.lab[data-experiment="uniform-linear-motion"] .um-intro h1,
.lab[data-experiment="uniform-linear-motion"] .um-intro h2{margin:0 0 8px;font-size:42px;font-weight:800;line-height:1.15;letter-spacing:-.04em;color:#103358}
.lab[data-experiment="uniform-linear-motion"] .um-subtitle{font-size:12px;line-height:1.7;margin:0;color:#5a7794}
.lab[data-experiment="uniform-linear-motion"] .um-formulas{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.lab[data-experiment="uniform-linear-motion"] .um-formulas>*{display:inline-flex;align-items:center;min-height:27px;padding:3px 10px;border:1px solid #c4ddfa;border-radius:20px;background:#e4f1ff;color:#326eaf;font-size:12px;font-style:italic;font-weight:600}
.lab[data-experiment="uniform-linear-motion"] .um-intro-actions{display:flex;gap:8px;margin-top:10px}
.lab[data-experiment="uniform-linear-motion"] .um-intro-actions button{padding:7px 13px;background:#fff;border:1px solid #e4edf7;border-radius:11px;color:#3673ae;font-size:11px;font-weight:600}
.lab[data-experiment="uniform-linear-motion"] .lab-controls,
.lab[data-experiment="uniform-linear-motion"] .lab-insights{position:absolute;z-index:2;display:block;min-width:0;background:#f1f8fff2;border:1px solid #ffffffd9;border-radius:24px;box-shadow:0 9px 32px #2647660e;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a9c5df transparent;backdrop-filter:blur(10px)}
.lab[data-experiment="uniform-linear-motion"] .lab-controls{left:24px;top:290px;width:260px;max-height:calc(100% - 420px);padding:18px}
.lab[data-experiment="uniform-linear-motion"] .lab-insights{right:24px;top:24px;bottom:132px;width:334px;padding:20px}
.lab[data-experiment="uniform-linear-motion"] .panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 13px;font-size:17px;font-weight:700;color:#20466c}
.lab[data-experiment="uniform-linear-motion"] .panel-heading small{font-size:10px;color:#6c88a4;font-weight:400}
.lab[data-experiment="uniform-linear-motion"] .panel-heading button,
.lab[data-experiment="uniform-linear-motion"] #umControlToggle,
.lab[data-experiment="uniform-linear-motion"] #umInsightToggle{padding:6px 10px;border:1px solid #d6e7f8;border-radius:12px;background:#ffffffb8;color:#3276b8;font-size:11px;font-weight:600}
.lab[data-experiment="uniform-linear-motion"] .lab-controls.is-collapsed,
.lab[data-experiment="uniform-linear-motion"] .lab-controls.um-collapsed{max-height:none}
.lab[data-experiment="uniform-linear-motion"] .lab-controls.is-collapsed .um-control-body,
.lab[data-experiment="uniform-linear-motion"] .lab-controls.um-collapsed .um-control-body,
.lab[data-experiment="uniform-linear-motion"] .lab-controls.is-collapsed .experiment-tip,
.lab[data-experiment="uniform-linear-motion"] .lab-controls.um-collapsed .experiment-tip{display:none}
.lab[data-experiment="uniform-linear-motion"] .lab-insights.is-collapsed,
.lab[data-experiment="uniform-linear-motion"] .lab-insights.um-collapsed{bottom:auto}
.lab[data-experiment="uniform-linear-motion"] .lab-insights.is-collapsed>:not(.panel-heading),
.lab[data-experiment="uniform-linear-motion"] .lab-insights.um-collapsed>:not(.panel-heading){display:none}
.lab[data-experiment="uniform-linear-motion"] .um-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:12px}
.lab[data-experiment="uniform-linear-motion"] .um-presets button,
.lab[data-experiment="uniform-linear-motion"] .um-chart-tabs button,
.lab[data-experiment="uniform-linear-motion"] .um-answers button{padding:6px;border:1px solid #d3e4f5;border-radius:10px;background:#ffffffd9;color:#567594;font-size:12px}
.lab[data-experiment="uniform-linear-motion"] .um-presets button[aria-pressed="true"],
.lab[data-experiment="uniform-linear-motion"] .um-chart-tabs button[aria-pressed="true"],
.lab[data-experiment="uniform-linear-motion"] .um-answers button[aria-pressed="true"]{background:#2877e8;border-color:#2877e8;color:#fff;font-weight:700}
.lab[data-experiment="uniform-linear-motion"] .control-group{margin:0 0 10px}
.lab[data-experiment="uniform-linear-motion"] .control-head{font-size:12px;line-height:1.5;gap:6px;flex-wrap:wrap;color:#5b7c9a}
.lab[data-experiment="uniform-linear-motion"] .control-head output{font:600 12px var(--mono);color:#22598c}
.lab[data-experiment="uniform-linear-motion"] input[type="range"]{display:block;width:100%;min-width:0;min-height:44px;height:44px;margin:0;accent-color:#2877e8;cursor:pointer}
.lab[data-experiment="uniform-linear-motion"] .control-help{margin:0 0 8px;font-size:11px;line-height:1.65;color:#65819d}
.lab[data-experiment="uniform-linear-motion"] .um-timeline{border-top:1px solid #d5e5f4;padding-top:9px;font-size:11px}
.lab[data-experiment="uniform-linear-motion"] .um-timeline output{font-size:11px}
.lab[data-experiment="uniform-linear-motion"] .experiment-tip{margin-top:10px;padding:9px 10px;background:#e4f0fb;border:0;border-radius:10px;font-size:11px;line-height:1.7;color:#557594}
.lab[data-experiment="uniform-linear-motion"] .um-phase{padding:12px;border:1px solid #d2e6fd;border-radius:14px;background:#edf6ff;margin-bottom:12px;font-size:11px;color:#6b88a4}
.lab[data-experiment="uniform-linear-motion"] .um-phase>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}
.lab[data-experiment="uniform-linear-motion"] #umPhaseName{font-size:12px;font-weight:700;color:#235f99}
.lab[data-experiment="uniform-linear-motion"] #umPhaseFraction{font:700 11px var(--mono);color:#2877e8}
.lab[data-experiment="uniform-linear-motion"] .um-phase-track{height:5px;background:#d4e4f4;border-radius:20px;overflow:hidden;margin-top:10px}
.lab[data-experiment="uniform-linear-motion"] #umPhaseBar{display:block;height:5px;border-radius:20px;background:#2877e8;transition:width .2s ease}
.lab[data-experiment="uniform-linear-motion"] .readings{display:block;margin:0 0 14px}
.lab[data-experiment="uniform-linear-motion"] .um-metrics{display:block}
.lab[data-experiment="uniform-linear-motion"] .reading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;min-height:34px;background:none;border:0;border-bottom:1px solid #dce9f5;border-radius:0}
.lab[data-experiment="uniform-linear-motion"] .reading span{font-size:11px;color:#6a87a2}
.lab[data-experiment="uniform-linear-motion"] .reading strong{display:block;margin:0;text-align:right;font:600 12px var(--mono);color:#235184;line-height:1.45}
.lab[data-experiment="uniform-linear-motion"] .um-gates{margin:12px 0 0;padding-top:4px;font-size:11px}
.lab[data-experiment="uniform-linear-motion"] .um-gate-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:12px}
.lab[data-experiment="uniform-linear-motion"] .um-gate-head>span{font-size:10px;color:var(--muted)}
.lab[data-experiment="uniform-linear-motion"] .um-gate-row{display:flex;justify-content:space-between;gap:8px;padding:5px 0;color:#66849f}
.lab[data-experiment="uniform-linear-motion"] .um-gate-row strong{font:600 11px var(--mono);color:#315c83;text-align:right}
.lab[data-experiment="uniform-linear-motion"] .um-gate-note{margin:5px 0 0;font-size:10px;line-height:1.7;color:#738da7}
.lab[data-experiment="uniform-linear-motion"] .chart-box{padding:14px 0 0;border:0;border-top:1px solid #d4e4f3;border-radius:0;background:none;min-width:0}
.lab[data-experiment="uniform-linear-motion"] .chart-heading{font-size:12px;margin:0 0 8px;line-height:1.5}
.lab[data-experiment="uniform-linear-motion"] .chart-heading small{font-size:10px;color:#6e8ba6}
.lab[data-experiment="uniform-linear-motion"] .um-chart-tabs{display:flex;gap:6px;margin:0 0 9px}
.lab[data-experiment="uniform-linear-motion"] .um-chart-tabs button{font-size:11px;padding:7px 12px}
.lab[data-experiment="uniform-linear-motion"] .um-chart-svg{display:block;width:100%;height:auto;aspect-ratio:720/300;overflow:visible}
.lab[data-experiment="uniform-linear-motion"] .um-plot-label{fill:#6b86a0;font-family:var(--font);font-size:28px}
.lab[data-experiment="uniform-linear-motion"] #umPlotUnit{font-size:24px}
.lab[data-experiment="uniform-linear-motion"] .um-axis{stroke:#99b2c9;stroke-width:2;fill:none}
.lab[data-experiment="uniform-linear-motion"] .um-grid{stroke:#d2e1ef;stroke-width:1.5;stroke-dasharray:5 7;fill:none}
.lab[data-experiment="uniform-linear-motion"] .um-plot-line{stroke:#2877e8;stroke-width:4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lab[data-experiment="uniform-linear-motion"] .um-plot-point{fill:#2877e8;stroke:#eff7ff;stroke-width:2}
.lab[data-experiment="uniform-linear-motion"] .um-cursor{stroke:#e58c31;stroke-width:2;stroke-dasharray:5 5;fill:none}
.lab[data-experiment="uniform-linear-motion"] #umPlotSummary,
.lab[data-experiment="uniform-linear-motion"] .um-chart-caption{margin:7px 0 10px;font-size:10px;line-height:1.7;color:#6c87a1;overflow-wrap:anywhere}
.lab[data-experiment="uniform-linear-motion"] .um-data-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #d5e6f5;padding-top:14px;margin:14px 0 9px;font-size:14px;color:#204c76}
.lab[data-experiment="uniform-linear-motion"] .um-data-head>span,
.lab[data-experiment="uniform-linear-motion"] .um-data-head small{font-size:10px;color:#6c88a2}
.lab[data-experiment="uniform-linear-motion"] .um-table-scroll{max-height:124px;overflow:auto;overscroll-behavior:contain;border-radius:9px;min-width:0;scrollbar-width:thin}
.lab[data-experiment="uniform-linear-motion"] #umDataTable{border-collapse:collapse;width:100%;table-layout:fixed;font:10px var(--mono);font-variant-numeric:tabular-nums;color:#537596}
.lab[data-experiment="uniform-linear-motion"] #umDataTable th,
.lab[data-experiment="uniform-linear-motion"] #umDataTable td{padding:7px 4px;text-align:center;border-bottom:1px solid #dce9f4;overflow-wrap:anywhere}
.lab[data-experiment="uniform-linear-motion"] #umDataTable th{position:sticky;top:0;z-index:1;background:#deeeff;color:#3476af;font-weight:600}
.lab[data-experiment="uniform-linear-motion"] .um-current-row{background:#e1effd}
.lab[data-experiment="uniform-linear-motion"] .knowledge-box{display:block;margin-top:13px;padding-top:12px;border-color:#d5e4f2}
.lab[data-experiment="uniform-linear-motion"] .knowledge-box>span{font-size:11px;color:#557b9c;margin-bottom:5px}
.lab[data-experiment="uniform-linear-motion"] .knowledge-box>strong{font-size:15px;color:#214e76}
.lab[data-experiment="uniform-linear-motion"] .knowledge-box p{margin:4px 0 0;font-size:11px;line-height:1.8;color:#5b7b97}
.lab[data-experiment="uniform-linear-motion"] .button-complete{margin-top:14px;padding:10px;font-size:12px;border:1px solid #c9dff5;border-radius:10px;background:#deedff;color:#2770ad}
.lab[data-experiment="uniform-linear-motion"] .button-complete.done{background:#2877e8;color:white}
.lab[data-experiment="uniform-linear-motion"] .stage-heading{position:absolute;z-index:2;left:24px;bottom:142px;margin:0;padding:8px 12px;border-radius:10px;background:#f6fbffdf;pointer-events:none}
.lab[data-experiment="uniform-linear-motion"] .stage-heading>span{display:none}
.lab[data-experiment="uniform-linear-motion"] .stage-heading strong{font:11px var(--font);color:#5e7f9a}
.lab[data-experiment="uniform-linear-motion"] .um-scene-hint{position:absolute;z-index:1;left:50%;bottom:145px;max-width:calc(100% - 60px);transform:translateX(-50%);padding:7px 12px;border-radius:20px;background:#f5fbffcf;color:#4f7292;font-size:11px;line-height:1.5;text-align:center;pointer-events:none}
.lab[data-experiment="uniform-linear-motion"] .um-dock{position:absolute;z-index:4;left:4%;right:4%;bottom:24px;display:flex;align-items:center;gap:14px;padding:13px 16px;border:1px solid #fff;border-radius:24px;background:#f0f8fff5;box-shadow:0 10px 30px #14395b12;backdrop-filter:blur(12px)}
.lab[data-experiment="uniform-linear-motion"] .um-steps{display:flex;flex:1 1 auto;min-width:0;gap:3px;margin:0;padding:0}
.lab[data-experiment="uniform-linear-motion"] .um-steps button{position:relative;display:flex;align-items:center;flex:1 1 0;gap:7px;min-width:0;min-height:60px;padding:8px 7px;border:1px solid transparent;border-radius:14px;background:transparent;color:#315473;text-align:left;font-size:11px}
.lab[data-experiment="uniform-linear-motion"] .um-steps button::after{content:"";position:absolute;left:40px;right:-8px;top:50%;height:2px;background:#d0e2f4;z-index:-1}
.lab[data-experiment="uniform-linear-motion"] .um-steps button:last-child::after{display:none}
.lab[data-experiment="uniform-linear-motion"] .um-steps button>span:first-child{display:grid;place-items:center;flex:none;width:29px;height:29px;border:4px solid #f7fbff;border-radius:50%;background:#dfedfa;color:#7299bd;font:700 10px var(--mono)}
.lab[data-experiment="uniform-linear-motion"] .um-steps button>span:last-child{min-width:0;background:#eff7ff}
.lab[data-experiment="uniform-linear-motion"] .um-steps button strong{display:block;font-size:11px;line-height:1.45}
.lab[data-experiment="uniform-linear-motion"] .um-steps button small{display:block;font-size:9px;line-height:1.5;color:#7b95ac;margin-top:2px}
.lab[data-experiment="uniform-linear-motion"] .um-steps button[aria-pressed="true"],
.lab[data-experiment="uniform-linear-motion"] .um-steps button.active{border-color:#8bbaff;background:#deedff;color:#215d98}
.lab[data-experiment="uniform-linear-motion"] .um-steps button[aria-pressed="true"]>span:first-child,
.lab[data-experiment="uniform-linear-motion"] .um-steps button.active>span:first-child{background:#2877e8;color:white}
.lab[data-experiment="uniform-linear-motion"] .um-steps button[aria-pressed="true"]>span:last-child,
.lab[data-experiment="uniform-linear-motion"] .um-steps button.active>span:last-child{background:#deedff}
.lab[data-experiment="uniform-linear-motion"] .lab-transport{display:grid;grid-template-columns:1.45fr 1fr 1fr;flex:0 0 216px;gap:6px;margin:0;padding-left:14px;border-left:1px solid #d4e2f0}
.lab[data-experiment="uniform-linear-motion"] .lab-transport .button,
.lab[data-experiment="uniform-linear-motion"] .um-view-controls button{height:60px;min-width:44px;padding:8px 5px;border-radius:12px;border:1px solid #d7e8f8;background:#fff;color:#2e6396;font-size:11px;font-weight:600;text-align:center}
.lab[data-experiment="uniform-linear-motion"] #playButton{background:#2877e8;border-color:#2877e8;color:white;box-shadow:0 4px 10px #2877e825}
.lab[data-experiment="uniform-linear-motion"] .um-view-controls{display:flex;flex:0 0 auto;gap:6px}
.lab[data-experiment="uniform-linear-motion"] .um-view-controls button{width:51px}
.lab[data-experiment="uniform-linear-motion"] .um-view-controls button[aria-pressed="true"]{border-color:#7eaff0;background:#dfedff;color:#195ca3}
.lab[data-experiment="uniform-linear-motion"] .um-guide-panel{position:absolute;z-index:7;left:50%;top:20%;transform:translateX(-50%);width:min(420px,calc(100% - 40px));max-height:65%;overflow:auto;padding:25px;border-radius:22px;background:#f7fbff;border:1px solid #c9dff3;box-shadow:0 15px 70px #183d6833;font-size:13px;color:#294d70}
.lab[data-experiment="uniform-linear-motion"] .um-guide-panel h3{margin:0 48px 12px 0;font-size:21px;color:#163d63}
.lab[data-experiment="uniform-linear-motion"] #umGuideClose{float:right;border:1px solid #d7e6f4;border-radius:10px;background:white;color:#3d6c97;padding:6px 12px}
.lab[data-experiment="uniform-linear-motion"] #umStepCopy{margin:12px 0;font-size:14px;line-height:1.9;color:#4d708e;overflow-wrap:anywhere}
.lab[data-experiment="uniform-linear-motion"] .um-challenge{border-top:1px solid #d4e3f1;padding-top:16px;margin-top:14px;font-size:13px;line-height:1.8}
.lab[data-experiment="uniform-linear-motion"] .um-challenge p{margin:7px 0 12px}
.lab[data-experiment="uniform-linear-motion"] .um-answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lab[data-experiment="uniform-linear-motion"] #umFeedback{color:#286ea8;font-size:12px;line-height:1.8;min-height:42px;margin:10px 0 0}
@media(min-width:1600px){
.lab[data-experiment="uniform-linear-motion"] .um-intro{width:410px;padding:26px}
.lab[data-experiment="uniform-linear-motion"] .um-intro h1,.lab[data-experiment="uniform-linear-motion"] .um-intro h2{font-size:48px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls{top:300px;width:280px}
.lab[data-experiment="uniform-linear-motion"] .lab-insights{width:370px;padding:24px}
.lab[data-experiment="uniform-linear-motion"] .um-steps button{padding-inline:12px}
.lab[data-experiment="uniform-linear-motion"] .um-steps button strong{font-size:12px}
.lab[data-experiment="uniform-linear-motion"] .um-steps button small{font-size:10px}
}
@media(min-width:761px) and (max-width:1100px){
.lab[data-experiment="uniform-linear-motion"] .um-intro{left:16px;top:16px;width:286px;padding:18px}
.lab[data-experiment="uniform-linear-motion"] .um-intro h1,.lab[data-experiment="uniform-linear-motion"] .um-intro h2{font-size:35px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls{left:16px;top:275px;width:222px;padding:14px;max-height:calc(100% - 400px)}
.lab[data-experiment="uniform-linear-motion"] .lab-insights{right:16px;top:16px;bottom:124px;width:280px;padding:16px}
.lab[data-experiment="uniform-linear-motion"] .um-dock{left:16px;right:16px;bottom:16px;padding:10px;gap:8px}
.lab[data-experiment="uniform-linear-motion"] .um-steps button{padding:6px 4px;gap:4px}
.lab[data-experiment="uniform-linear-motion"] .um-steps button small{display:none}
.lab[data-experiment="uniform-linear-motion"] .um-steps button>span:first-child{width:25px;height:25px;border-width:3px}
.lab[data-experiment="uniform-linear-motion"] .lab-transport{flex-basis:178px;padding-left:8px}
.lab[data-experiment="uniform-linear-motion"] .um-view-controls{gap:4px}
.lab[data-experiment="uniform-linear-motion"] .um-view-controls button{width:44px}
.lab[data-experiment="uniform-linear-motion"] .stage-heading{left:16px;bottom:124px}
}
@media(min-width:761px) and (max-height:760px){
.lab[data-experiment="uniform-linear-motion"] .um-intro{padding:16px 20px;top:16px}
.lab[data-experiment="uniform-linear-motion"] .um-intro h1,.lab[data-experiment="uniform-linear-motion"] .um-intro h2{font-size:35px}
.lab[data-experiment="uniform-linear-motion"] .um-intro-actions{margin-top:6px}
.lab[data-experiment="uniform-linear-motion"] .um-intro-actions button{min-height:44px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls{top:262px;max-height:calc(100% - 378px)}
.lab[data-experiment="uniform-linear-motion"] .lab-insights{top:16px;bottom:115px}
.lab[data-experiment="uniform-linear-motion"] .um-dock{bottom:14px;padding-block:10px}
.lab[data-experiment="uniform-linear-motion"] .stage-heading{bottom:113px}
}
@media(max-width:760px){
.lab-backdrop:has(>.lab[data-experiment="uniform-linear-motion"]){padding:0}
.lab[data-experiment="uniform-linear-motion"]{height:100dvh;max-height:100dvh;border-radius:0;overflow:auto;overflow-x:hidden;background:#eaf3fc}
.lab[data-experiment="uniform-linear-motion"] .lab-header{position:sticky;top:0;height:64px;min-height:64px;padding:8px 12px;gap:12px;align-items:center;background:#dfedfb;z-index:10}
.lab[data-experiment="uniform-linear-motion"] #labClose{padding:0 13px;font-size:13px}
.lab[data-experiment="uniform-linear-motion"] .lab-header h2{font-size:12px}
.lab[data-experiment="uniform-linear-motion"] .lab-mobile-nav{position:sticky;top:64px;z-index:9;background:#cfdfef;border-color:#cfdfef}
.lab[data-experiment="uniform-linear-motion"] .lab-mobile-nav button{min-height:44px;background:#f0f7ff;color:#2d6ba5;font-size:12px}
.lab[data-experiment="uniform-linear-motion"] .lab-layout{display:flex;flex-direction:column;gap:12px;height:auto;min-height:0;overflow:visible;border-radius:0;background:#eaf3fc;padding:12px 12px 22px}
.lab[data-experiment="uniform-linear-motion"] .um-intro{position:relative;left:auto;top:auto;width:auto;order:-1;padding:17px 18px;border-radius:19px;box-shadow:none}
.lab[data-experiment="uniform-linear-motion"] .um-intro h1,.lab[data-experiment="uniform-linear-motion"] .um-intro h2{font-size:32px;line-height:1.2}
.lab[data-experiment="uniform-linear-motion"] .um-intro .section-kicker{font-size:10px;letter-spacing:.12em}
.lab[data-experiment="uniform-linear-motion"] .um-subtitle{font-size:12px;line-height:1.8}
.lab[data-experiment="uniform-linear-motion"] .um-formulas{margin-top:10px;gap:5px}
.lab[data-experiment="uniform-linear-motion"] .um-formulas>*{font-size:11px;padding-inline:8px}
.lab[data-experiment="uniform-linear-motion"] .um-intro-actions{margin-top:9px}
.lab[data-experiment="uniform-linear-motion"] .lab-center{position:relative;display:block;order:0;width:100%;min-width:0;padding:0;scroll-margin-top:120px;border-radius:18px;overflow:hidden;background:#d5e6f2}
.lab[data-experiment="uniform-linear-motion"] .experiment-stage.um-world{position:relative;inset:auto;width:100%;height:360px;min-height:300px;border-radius:18px;overflow:hidden}
.lab[data-experiment="uniform-linear-motion"] .stage-heading{left:12px;top:12px;bottom:auto;max-width:calc(100% - 24px);padding:6px 10px;border-radius:9px}
.lab[data-experiment="uniform-linear-motion"] .stage-heading strong{font-size:10px}
.lab[data-experiment="uniform-linear-motion"] .um-scene-hint{left:50%;bottom:12px;max-width:calc(100% - 24px);width:max-content;font-size:10px;padding:6px 10px}
.lab[data-experiment="uniform-linear-motion"] .um-world-label{max-width:180px;font-size:11px;padding:8px 11px}
.lab[data-experiment="uniform-linear-motion"] .um-world-label strong{font-size:13px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls,
.lab[data-experiment="uniform-linear-motion"] .lab-insights{position:static;inset:auto;width:100%;max-height:none;min-height:0;padding:18px;border-radius:18px;overflow:visible;box-shadow:none;backdrop-filter:none;scroll-margin-top:120px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls{order:2}
.lab[data-experiment="uniform-linear-motion"] .lab-insights{order:3}
.lab[data-experiment="uniform-linear-motion"] .panel-heading{font-size:18px;margin-bottom:14px}
.lab[data-experiment="uniform-linear-motion"] .control-head{font-size:13px}
.lab[data-experiment="uniform-linear-motion"] .control-head output{font-size:13px}
.lab[data-experiment="uniform-linear-motion"] .control-help,
.lab[data-experiment="uniform-linear-motion"] .experiment-tip{font-size:12px;line-height:1.8}
.lab[data-experiment="uniform-linear-motion"] .um-dock{position:static;inset:auto;order:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 8px;width:100%;min-width:0;padding:12px 10px;border-radius:18px;box-shadow:none;backdrop-filter:none}
.lab[data-experiment="uniform-linear-motion"] .um-steps{grid-column:1/-1;display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;gap:5px;padding-bottom:3px;min-width:0}
.lab[data-experiment="uniform-linear-motion"] .um-steps button{flex:0 0 108px;gap:6px;padding:8px 6px;min-height:57px}
.lab[data-experiment="uniform-linear-motion"] .um-steps button strong{font-size:11px}
.lab[data-experiment="uniform-linear-motion"] .um-steps button small{display:block;font-size:9px}
.lab[data-experiment="uniform-linear-motion"] .lab-transport{min-width:0;flex:none;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:5px;padding:0;border:0}
.lab[data-experiment="uniform-linear-motion"] .lab-transport .button,
.lab[data-experiment="uniform-linear-motion"] .um-view-controls button{height:48px;font-size:10px;padding:5px 3px;border-radius:10px}
.lab[data-experiment="uniform-linear-motion"] .um-view-controls{display:flex;gap:4px}
.lab[data-experiment="uniform-linear-motion"] .um-view-controls button{width:44px;min-width:44px}
.lab[data-experiment="uniform-linear-motion"] .reading{padding:10px 0}
.lab[data-experiment="uniform-linear-motion"] .reading span,.lab[data-experiment="uniform-linear-motion"] .reading strong{font-size:13px}
.lab[data-experiment="uniform-linear-motion"] .um-gate-head,.lab[data-experiment="uniform-linear-motion"] .um-gate-row{font-size:12px}
.lab[data-experiment="uniform-linear-motion"] .um-gate-row strong{font-size:12px}
.lab[data-experiment="uniform-linear-motion"] .um-gate-note{font-size:11px}
.lab[data-experiment="uniform-linear-motion"] .chart-heading{font-size:13px}
.lab[data-experiment="uniform-linear-motion"] #umPlotSummary{font-size:12px}
.lab[data-experiment="uniform-linear-motion"] .um-table-scroll{max-height:190px}
.lab[data-experiment="uniform-linear-motion"] #umDataTable{font-size:12px}
.lab[data-experiment="uniform-linear-motion"] .knowledge-box p{font-size:13px;line-height:1.9}
.lab[data-experiment="uniform-linear-motion"] .um-guide-panel{position:fixed;top:auto;bottom:18px;left:50%;width:calc(100% - 28px);max-height:70dvh;padding:20px;border-radius:20px;z-index:20}
}
@media(max-width:380px){
.lab[data-experiment="uniform-linear-motion"] .lab-layout{padding:10px;gap:10px}
.lab[data-experiment="uniform-linear-motion"] .um-intro{padding:15px}
.lab[data-experiment="uniform-linear-motion"] .um-intro h1,.lab[data-experiment="uniform-linear-motion"] .um-intro h2{font-size:29px}
.lab[data-experiment="uniform-linear-motion"] .um-dock{grid-template-columns:minmax(0,1fr);gap:9px}
.lab[data-experiment="uniform-linear-motion"] .um-view-controls{justify-content:center}
.lab[data-experiment="uniform-linear-motion"] .um-view-controls button{flex:1;max-width:none}
.lab[data-experiment="uniform-linear-motion"] .lab-controls,.lab[data-experiment="uniform-linear-motion"] .lab-insights{padding:15px}
.lab[data-experiment="uniform-linear-motion"] .experiment-stage.um-world{height:330px}
}
@media(prefers-reduced-motion:reduce){
.lab[data-experiment="uniform-linear-motion"] #umPhaseBar{transition:none}
}
/* Parameter steppers retain a full touch target beside the range input. */
.lab[data-experiment="uniform-linear-motion"] .um-slider-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:5px;margin-top:5px;padding:2px;border:1px solid #d5e6f7;border-radius:12px;background:#fff}
.lab[data-experiment="uniform-linear-motion"] .um-slider-row button{width:44px;height:44px;min-width:44px;min-height:44px;border:0;border-radius:9px;background:#e8f3ff;color:#2877e8;font-size:21px;font-weight:500;line-height:1}
.lab[data-experiment="uniform-linear-motion"] .um-slider-row button:hover{background:#d9ebff}
.lab[data-experiment="uniform-linear-motion"] .um-slider-row button:active{background:#cbe1ff}
.lab[data-experiment="uniform-linear-motion"] .um-slider-row input[type="range"]{min-width:0;width:100%;margin:0}
/* Compact desktop overlays keep live graphs and the entire timeline in view. */
@media(min-width:761px){
.lab[data-experiment="uniform-linear-motion"] .um-intro{padding:16px 20px}
.lab[data-experiment="uniform-linear-motion"] .um-intro .section-kicker{margin-bottom:6px;font-size:10px}
.lab[data-experiment="uniform-linear-motion"] .um-intro h1,.lab[data-experiment="uniform-linear-motion"] .um-intro h2{font-size:37px;margin-bottom:6px}
.lab[data-experiment="uniform-linear-motion"] .um-subtitle{font-size:11px;line-height:1.55}
.lab[data-experiment="uniform-linear-motion"] .um-formulas{margin-top:8px}
.lab[data-experiment="uniform-linear-motion"] .um-formulas>*{min-height:25px;font-size:11px}
.lab[data-experiment="uniform-linear-motion"] .um-intro-actions{margin-top:7px}
.lab[data-experiment="uniform-linear-motion"] .um-intro-actions button{min-height:44px;padding:5px 11px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls{top:250px;max-height:calc(100% - 370px);padding:12px 14px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .panel-heading{margin-bottom:6px;font-size:15px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .um-presets{gap:4px;margin-bottom:7px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .um-presets button{font-size:11px;padding:5px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .control-group{margin-bottom:6px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .control-head{font-size:11px;line-height:1.4}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .control-head output{font-size:11px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .um-slider-row{margin-top:2px;padding:0;gap:4px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .control-help{font-size:10px;line-height:1.55;margin:0 0 6px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .um-timeline{padding-top:6px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .experiment-tip{display:none}
.lab[data-experiment="uniform-linear-motion"] .um-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}
.lab[data-experiment="uniform-linear-motion"] .um-metrics .reading{padding:7px 0;min-height:31px;gap:6px}
.lab[data-experiment="uniform-linear-motion"] .um-metrics .reading span{font-size:10px;flex-shrink:0}
.lab[data-experiment="uniform-linear-motion"] .um-metrics .reading strong{font-size:11px;line-height:1.4}
.lab[data-experiment="uniform-linear-motion"] .lab-insights .panel-heading{margin-bottom:9px;font-size:16px}
.lab[data-experiment="uniform-linear-motion"] .um-phase{padding:9px 11px;margin-bottom:5px}
.lab[data-experiment="uniform-linear-motion"] .um-phase-track{margin-top:7px}
.lab[data-experiment="uniform-linear-motion"] .readings{margin-bottom:8px}
.lab[data-experiment="uniform-linear-motion"] .chart-box{padding-top:9px}
.lab[data-experiment="uniform-linear-motion"] .chart-heading{margin-bottom:5px}
.lab[data-experiment="uniform-linear-motion"] .um-chart-tabs{margin-bottom:6px}
.lab[data-experiment="uniform-linear-motion"] .um-data-head{margin:9px 0 7px;padding-top:9px}
.lab[data-experiment="uniform-linear-motion"] .stage-heading{left:50%;right:auto;bottom:127px;transform:translateX(-50%);max-width:calc(100% - 610px)}
}
@media(min-width:761px) and (max-height:760px){
.lab[data-experiment="uniform-linear-motion"] .um-intro{top:14px;padding:13px 18px}
.lab[data-experiment="uniform-linear-motion"] .um-intro h1,.lab[data-experiment="uniform-linear-motion"] .um-intro h2{font-size:34px}
.lab[data-experiment="uniform-linear-motion"] .um-intro-actions{margin-top:5px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls{top:238px;max-height:calc(100% - 340px);padding:10px 12px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .panel-heading{margin-bottom:4px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .um-presets{margin-bottom:5px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .control-group{margin-bottom:4px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .control-help{display:none}
.lab[data-experiment="uniform-linear-motion"] .stage-heading{bottom:110px}
.lab[data-experiment="uniform-linear-motion"] .lab-insights{padding:14px 16px}
.lab[data-experiment="uniform-linear-motion"] .lab-insights .panel-heading{margin-bottom:5px}
}
@media(min-width:1600px) and (min-height:761px){
.lab[data-experiment="uniform-linear-motion"] .um-intro h1,.lab[data-experiment="uniform-linear-motion"] .um-intro h2{font-size:42px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls{top:264px;max-height:calc(100% - 390px)}
}
@media(min-width:761px) and (max-height:760px){
.lab[data-experiment="uniform-linear-motion"] .lab-controls{top:226px;max-height:calc(100% - 324px)}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .control-group{margin-bottom:2px}
.lab[data-experiment="uniform-linear-motion"] .lab-controls .control-head{line-height:1.3}
}

.lab[data-experiment="uniform-linear-motion"]:fullscreen{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
@media(min-width:761px){.lab[data-experiment="uniform-linear-motion"]:fullscreen .lab-layout{height:calc(100dvh - 64px)}}

/* Keep the model and transport controls reachable in the first phone screen. */
@media(max-width:760px){
.lab[data-experiment="uniform-linear-motion"] .um-intro{padding:12px 15px}
.lab[data-experiment="uniform-linear-motion"] .um-intro h2{font-size:24px;margin-bottom:6px}
.lab[data-experiment="uniform-linear-motion"] .um-intro .section-kicker,
.lab[data-experiment="uniform-linear-motion"] .um-intro .um-subtitle,
.lab[data-experiment="uniform-linear-motion"] .um-intro .um-formulas{display:none}
.lab[data-experiment="uniform-linear-motion"] .um-intro-actions{margin-top:0}
}
@media(min-width:761px){.lab[data-experiment="uniform-linear-motion"] .um-scene-hint{bottom:165px}}
