/* Shared learning environment, aligned with the uniform-motion laboratory. */
body.light{--bg:#f3f7fd;--bg2:#e6f0fb;--surface:#fff;--surface2:#e4efff;--line:#d3e1f0;--ink:#183858;--muted:#526f8c;--soft:#6b86a0;--accent:#2877e8;--on-accent:#fff;--math:#6b62c8;--physics:#2877c9;--chem:#b86525}
body.light .card-visual{background:#e8f2fc}body.light .card-visual svg{color:#254f7c}
.school-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.school-filter button{min-height:44px;padding:9px 19px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted)}.school-filter button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.lab-backdrop:has(>.lab[data-immersive]){padding:8px;background:#c7dded}
.lab[data-immersive]{--bg:#e6f1fb;--bg2:#e9f3fd;--surface:#f8fbff;--surface2:#e1eeff;--ink:#143557;--muted:#587592;--soft:#6b86a0;--line:#d1e2f1;--accent:#2877e8;--on-accent:#fff;--math:#7160c7;--physics:#287ac0;--chem:#bd712a;width:100%;max-width:none;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);overflow:hidden;border:0;border-radius:20px;background:#d7e8f3;color:var(--ink);scrollbar-gutter:auto;box-shadow:none}
.lab[data-immersive] [hidden]{display:none!important}
.lab[data-immersive] .lab-header{position:relative;height:64px;min-height:64px;padding:8px 18px;gap:20px;justify-content:flex-start;background:#dcedfc;border:0;z-index:10}
.lab[data-immersive] .lab-header h2{font-size:15px;font-weight:600;margin:0}.lab[data-immersive] .lab-header .section-kicker,.lab[data-immersive] .lab-header p:last-child,.lab[data-immersive] .lab-objective{display:none}
.lab[data-immersive] #labClose{order:-1;flex:none;width:auto;height:44px;padding:0 18px;border:0;border-radius:12px;background:#2877e8;color:#fff;font-size:14px;font-weight:700}
.lab[data-immersive] button,.lab[data-immersive] summary{min-height:44px;min-width:44px;cursor:pointer}.lab[data-immersive] input[type=range]{min-height:44px;accent-color:#2877e8}.lab[data-immersive] :is(button,input,select,summary):focus-visible{outline:3px solid #2877e8;outline-offset:2px}
.lab[data-immersive] .lab-layout{display:block;position:relative;height:calc(100dvh - 80px);min-height:0;padding:0;overflow:hidden;isolation:isolate;background:#d7e8f3}
.lab[data-immersive] .lab-center{display:contents;padding:0}
.lab[data-immersive] .il-intro{position:absolute;left:20px;top:20px;width:252px;padding:20px;border-radius:22px;background:#f4faffed;border:1px solid #fff;z-index:2}
.lab[data-immersive] .il-intro>span{font-size:11px;color:#4483bd;letter-spacing:.06em}.lab[data-immersive] .il-intro h2{font-size:30px;line-height:1.25;letter-spacing:-.025em;margin:10px 0;color:#163d65}.lab[data-immersive] .il-intro p{font-size:12px;color:#5a7794;line-height:1.7;margin:0}
.lab[data-immersive] .lab-controls,.lab[data-immersive] .lab-insights{position:absolute;z-index:3;display:block;min-width:0;border:1px solid #fff;border-radius:22px;background:#f5faffee;box-shadow:0 8px 24px #2647660b;padding:18px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aec9e3 transparent;backdrop-filter:blur(10px)}
.lab[data-immersive] .lab-controls{left:20px;top:var(--il-control-top,240px);bottom:100px;width:252px}.lab[data-immersive] .lab-insights{right:20px;top:20px;bottom:100px;width:300px}
.lab[data-immersive] .panel-heading{display:flex;align-items:center;gap:8px;font-size:16px;margin:0 0 14px;color:#20466c}.lab[data-immersive] .panel-heading small{display:none}.lab[data-immersive] .il-collapse{margin-left:auto;padding:4px 9px;border:1px solid #d4e4f5;border-radius:10px;background:#fff;color:#3777b1;font-size:11px}
.lab[data-immersive] .il-folded{bottom:auto!important}.lab[data-immersive] .il-folded>:not(.panel-heading){display:none}.lab[data-immersive] .il-folded .panel-heading{margin:0}
.lab[data-immersive] .experiment-stage{position:absolute;left:282px;right:330px;top:74px;bottom:106px;width:auto;height:auto;min-height:0;display:block;overflow:hidden;border:0;border-radius:18px;background:transparent}
.lab[data-immersive] .experiment-stage.atlas-3d-host,.lab[data-immersive] .experiment-stage>.atlas-3d-host{height:auto;min-height:0;background:transparent}.lab[data-immersive] .experiment-stage>.atlas-3d-host{position:absolute;inset:0;width:100%}
.lab[data-immersive] .stage-heading{position:absolute;top:20px;left:292px;right:340px;padding:0;margin:0;z-index:2;align-items:flex-start;gap:8px;flex-wrap:wrap;line-height:1.65;font-size:12px}.lab[data-immersive] .stage-heading>span{display:none}.lab[data-immersive] #stageStatus{color:#3b658d;font-weight:500}
.lab[data-immersive] .lab-transport{position:absolute;z-index:4;bottom:18px;left:50%;transform:translateX(-50%);width:min(500px,calc(100% - 48px));display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:10px;margin:0;padding:12px;border:1px solid #fff;border-radius:20px;background:#f7fbffed;box-shadow:0 8px 24px #26476614}
.lab[data-immersive] .lab-transport button{border-radius:12px}.lab[data-immersive] .chart-box{margin-bottom:18px;padding:12px 0 16px;border:0;border-bottom:1px solid #d4e3f2;background:transparent;border-radius:0}.lab[data-immersive] .chart-heading{font-size:12px;line-height:1.5}.lab[data-immersive] .chart-heading small{font-size:11px}
.lab[data-immersive] .readings{display:block;margin-bottom:14px}.lab[data-immersive] .reading{display:flex;padding:8px 0;min-height:36px;align-items:center;border:0;border-bottom:1px solid #d9e7f3;background:transparent;border-radius:0}.lab[data-immersive] .reading span{font-size:12px}.lab[data-immersive] .reading strong{font:600 12px var(--mono);margin:0;text-align:right;color:#235184}
.lab[data-immersive] .control-group{margin-bottom:12px}.lab[data-immersive] .control-head{font-size:12px;gap:5px;flex-wrap:wrap}.lab[data-immersive] .control-head output{font-size:12px}.lab[data-immersive] .control-help,.lab[data-immersive] .experiment-tip,.lab[data-immersive] .knowledge-box p{font-size:12px;line-height:1.8}.lab[data-immersive] .experiment-tip{background:#e5f0fc;border:0;border-radius:12px;padding:12px}.lab[data-immersive] .knowledge-box{margin-top:14px;padding-top:13px}.lab[data-immersive] .knowledge-box>strong{font-size:15px}
.lab[data-immersive] .l3-view-tools{top:8px;left:8px;right:8px;gap:5px}.lab[data-immersive] .l3-view-tools button{background:#f7fbffed;color:#386c9d;border:1px solid #c1d8ed;border-radius:10px;font-size:11px;padding:6px 10px}.lab[data-immersive] .l3-view-tools button[aria-pressed=true]{background:#2877e8;color:white}.lab[data-immersive] .l3-view-help{background:#e5f0f9e6;color:#5a7895;border-radius:12px;padding:7px;font-size:11px}.lab[data-immersive] .l3-label{color:#284c72;background:#f7fbffed;border:1px solid #fff;border-radius:8px;white-space:normal;text-align:center;max-width:135px;line-height:1.4}
.lab[data-immersive] .math-reference{margin-top:18px;padding-top:14px;border-top:1px solid #d4e3f2}.lab[data-immersive] .math-reference h3{font-size:13px;margin:0 0 8px}.lab[data-immersive] .math-reference p{font-size:12px;line-height:1.7;color:var(--muted);margin:8px 0 0}.lab[data-immersive] .math-reference svg{display:block;width:100%;height:auto;background:#e9f3fc;border-radius:10px}
@media(min-width:761px) and (max-width:1150px){.lab[data-immersive] .il-intro{width:214px;padding:16px}.lab[data-immersive] .il-intro h2{font-size:25px}.lab[data-immersive] .lab-controls{width:214px;top:var(--il-control-top,240px);padding:14px}.lab[data-immersive] .lab-insights{width:246px;padding:14px}.lab[data-immersive] .experiment-stage{left:242px;right:274px}.lab[data-immersive] .stage-heading{left:250px;right:280px}}
@media(max-width:760px){
 .lab-backdrop:has(>.lab[data-immersive]){padding:0}.lab[data-immersive]{height:100dvh;max-height:100dvh;border-radius:0;overflow-y:auto;overflow-x:hidden;background:#e4f0fa}
 .lab[data-immersive] .lab-header{position:sticky;top:0;height:auto;min-height:64px;padding:9px 12px;gap:12px}.lab[data-immersive] .lab-header h2{font-size:14px}.lab[data-immersive] #labClose{padding-inline:13px}
 .lab[data-immersive] .lab-mobile-nav{display:grid;top:var(--lab-header-height,64px);z-index:9;background:#d2e4f4}.lab[data-immersive] .lab-mobile-nav button{background:#eff7ff;color:#3277b8}
 .lab[data-immersive] .lab-layout{display:flex;height:auto;min-height:0;overflow:visible;flex-direction:column;background:#e4f0fa;padding:12px;gap:12px}
 .lab[data-immersive] .il-intro{position:static;width:auto;padding:18px;order:-2;border-radius:18px}.lab[data-immersive] .il-intro h2{font-size:26px;margin:7px 0}.lab[data-immersive] .il-intro p{font-size:13px}
 .lab[data-immersive] .lab-center{display:flex;flex-direction:column;order:-1;padding:0}.lab[data-immersive] .stage-heading{position:static;padding:5px 8px;margin:0 0 7px;font-size:12px;min-height:27px}
 .lab[data-immersive] .experiment-stage{position:relative;inset:auto;width:100%;height:380px;min-height:380px;border-radius:18px;background:#d7e8f3}.lab[data-immersive] .experiment-stage.atlas-3d-host{height:380px;min-height:380px}
 .lab[data-immersive] .lab-transport{position:static;transform:none;width:100%;margin:10px 0 0;padding:10px;gap:7px;border-radius:16px}.lab[data-immersive] .lab-transport .button{font-size:13px;padding:8px}
 .lab[data-immersive] .lab-controls,.lab[data-immersive] .lab-insights{position:static;width:auto;max-height:none;display:block;padding:18px;border-radius:18px;overflow:visible;backdrop-filter:none}.lab[data-immersive] .lab-controls{order:1}.lab[data-immersive] .lab-insights{order:2}
 .lab[data-immersive] .control-head{font-size:14px}.lab[data-immersive] .control-head output{font-size:13px}.lab[data-immersive] .control-help,.lab[data-immersive] .experiment-tip,.lab[data-immersive] .knowledge-box p{font-size:14px}.lab[data-immersive] .reading span{font-size:13px}.lab[data-immersive] .reading strong{font-size:13px}.lab[data-immersive] .chart-heading{font-size:13px}.lab[data-immersive] .il-collapse{font-size:12px}
 .lab[data-immersive] .math-reference p{font-size:13px}.lab[data-immersive] .l3-label{font-size:11px;max-width:115px}
}

