:root{--green:#22c670;--deep:#087442;--ink:#122033;--mint:#f4fbf7;--line:#d4e9dd;--muted:#60766c;--space:#122333;--gold:#ffc875;--stage:clamp(440px,calc(100svh - 370px),700px)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--mint);color:var(--ink);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:white;border:1px solid var(--line);border-radius:8px;padding:8px 12px;transition:background .15s}button:hover:not(:disabled){background:#eaf6ee}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--green);outline-offset:3px}input,select{border:1px solid var(--line);background:white;border-radius:7px;padding:7px 8px;min-width:0}input[type=checkbox],input[type=range]{accent-color:var(--deep)}input[type=checkbox]{width:16px;height:16px}input:disabled,select:disabled{background:#edf1ee}.primary{background:var(--green);border-color:var(--green);color:#083b25;font-weight:750}.primary:hover:not(:disabled){background:#35d17f}.eyebrow{display:block;font-size:9px;font-weight:800;letter-spacing:1.7px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-100px;z-index:2000;background:white;padding:12px}.skip:focus{top:0}#lab{max-width:1900px;padding:0 26px;margin:auto}.topbar{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:8px;align-items:center;color:var(--ink);text-decoration:none}.brand img{width:45px;height:47px;object-fit:contain}.brand b{font-size:23px;letter-spacing:-1.2px}.brand b span{color:var(--deep)}.brand small{display:block;font-size:7px;letter-spacing:2px;font-weight:700;color:var(--muted)}.modes{display:flex;gap:6px}.modes button{background:transparent;border-color:transparent;font-size:12px;white-space:nowrap}.modes button[aria-pressed=true]{background:#d9f2e5;color:var(--deep)}.modes small{font-size:8px;margin-right:6px;color:var(--muted)}.help{border-radius:50%;font-size:17px;width:34px;height:34px;padding:0}.workshop,.evidence{border:1px solid var(--line);background:white;border-radius:18px;overflow:hidden;box-shadow:0 8px 35px #113f2110}.heading{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:24px 29px 20px}.heading h1{font-size:clamp(25px,2.5vw,40px);line-height:1.2;font-weight:750;letter-spacing:-1.9px;margin:7px 0}.heading h1 span{color:var(--green)}.subtitle{margin:0;color:var(--muted);font-size:12px}.transport{display:flex;gap:7px;flex-wrap:wrap}.transport button{padding:11px 15px}.context{display:flex;align-items:center;gap:14px;padding:12px 28px;border-block:1px solid var(--line);background:#fafcfb;font-size:12px}.context p{flex:1;margin:0;color:var(--muted)}.context label{display:flex;gap:9px;align-items:center}.context select{max-width:340px;font-size:12px}#state-tag{font-size:8px;letter-spacing:1px;font-weight:800;color:var(--deep);background:#e2f6e8;border-radius:5px;padding:5px 7px}.workspace-layout{display:grid;grid-template-columns:108px minmax(0,1fr) 252px}.parts{display:flex;flex-direction:column;padding:20px 10px;border-right:1px solid var(--line);text-align:center;background:#fcfefd}.parts>.eyebrow{font-size:8px;letter-spacing:1.2px;margin:0 0 8px}.parts button{border:0;background:transparent;padding:6px 3px;display:flex;flex-direction:column;align-items:center;font-size:10px;gap:0;margin:2px 0}.parts button.active{background:#def4e7}.parts svg{height:40px;width:53px}.parts i{border-top:1px solid var(--line);margin:12px 3px}.parts p{font-size:9px;color:var(--muted);margin-top:auto;padding-top:15px}.skin-label{font-size:8px;color:var(--muted)}.skin-label select{width:100%;font-size:10px;padding:5px 2px;margin-top:3px}.stage{position:relative;min-height:var(--stage);overflow:hidden;background:var(--space)}#workspace{display:block;width:100%;height:var(--stage);touch-action:none;cursor:crosshair}.stage-top{position:absolute;top:19px;left:23px;right:20px;display:flex;justify-content:space-between;align-items:start;gap:12px;pointer-events:none}.stage-top .eyebrow{color:#8eacbc;font-size:8px;letter-spacing:1.5px}.stage-top #selection-note{display:block;color:#c6dce5;font-size:11px;margin-top:5px}.model-select{color:#b6ccd7;font-size:9px;display:flex;gap:6px;align-items:center;pointer-events:auto}.model-select select,.stage select{background:#203747;color:#d5e6ed;border-color:#3b5361;font-size:10px;padding:5px 6px}.clock{position:absolute;left:23px;top:76px;display:flex;align-items:center;gap:9px;color:#dcebf0}.record-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.clock output{font-size:18px;font-variant-numeric:tabular-nums}.speed-control{display:flex;gap:6px;align-items:center;color:#9bb5c4;font-size:9px}.stage-bottom{position:absolute;left:23px;right:17px;bottom:18px;display:flex;gap:12px;align-items:center;justify-content:space-between}#stage-hint{color:#9eb9c8;max-width:48%;font-size:10px}.view-tools{display:flex;gap:4px;align-items:center}.view-tools button{background:#203747;border-color:#3b5361;color:#d9e7ed;padding:5px 9px}.view-tools select{max-width:117px}.stage-scale{position:absolute;left:23px;bottom:55px;font-size:9px;color:#91adbb;pointer-events:none}#placement{position:absolute;left:50%;transform:translateX(-50%);bottom:70px;padding:8px 16px;border-radius:20px;background:#d9f3e9;color:#145d3f;font-size:12px;pointer-events:none;white-space:nowrap}.inspector{padding:18px 17px;max-height:var(--stage);overflow:auto;border-left:1px solid var(--line);background:#fcfefd}.inspector-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.inspector-heading button{padding:2px 7px;background:transparent;border:0;font-size:20px;color:var(--muted)}.object-picker{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted)}.object-picker select{font-size:12px}.property-field{display:block;margin-top:12px;font-size:10px;color:var(--muted)}.property-field input,.property-field select{display:block;width:100%;margin-top:4px;font-size:12px;color:var(--ink)}.property-field.check{display:flex;align-items:center;gap:7px}.property-field.check input{display:inline;width:16px;height:16px;margin:0}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.inspector h3{font-size:11px;margin:17px 0 6px;color:var(--deep);border-top:1px solid var(--line);padding-top:12px}.inspector p{font-size:10px;color:var(--muted)}.inspector button.action{width:100%;font-size:11px;margin-top:8px}.burn-card{border:1px solid var(--line);border-radius:8px;padding:8px;margin-top:10px;background:white}.burn-card .property-field{margin-top:5px}.burn-card button{padding:3px 7px;font-size:10px}.toolbar{display:flex;gap:14px;align-items:center;padding:12px 20px;border-block:1px solid var(--line);flex-wrap:wrap}.history{display:flex;gap:5px}.history button{padding:3px 9px;font-size:18px}.overlays{display:flex;gap:8px 14px;flex-wrap:wrap;flex:1}.overlays label{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.toolbar>button{font-size:10px}.measurements{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:12px;padding:21px 26px;min-height:96px}.measurements>div:not(:first-child){border-left:1px solid var(--line);padding-left:18px}.measurements span{font-size:9px;color:var(--muted);display:block;margin-bottom:4px}.measurements strong{font-size:23px;letter-spacing:-.8px;font-weight:650;display:block;font-variant-numeric:tabular-nums}.measurements small{display:block;color:var(--muted);font-size:9px}.measurements .measure-name strong{font-size:14px;letter-spacing:0}.measure-name button{padding:3px 7px;font-size:10px;margin-top:5px}.evidence{margin-top:19px;border-radius:14px}.evidence-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line)}.evidence-tabs,.record-actions{display:flex;gap:6px;flex-wrap:wrap}.evidence-tabs button{border:0;background:transparent;color:var(--muted);font-size:12px}.evidence-tabs button[aria-pressed=true]{background:#e6f5eb;color:var(--deep);font-weight:700}.record-actions button{font-size:10px;padding:7px 10px}.panel{padding:22px 26px}.panel p{font-size:12px;color:var(--muted)}.investigation-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}.investigation-layout h2{font-size:21px;letter-spacing:-.5px;margin:9px 0}.investigation-layout ol{font-size:12px;padding-left:20px;line-height:1.8;color:#40564b}.spec-chip{font-size:9px;color:var(--deep);background:#eaf6ee;border-radius:20px;padding:5px 9px;display:inline-block}.concept-card{background:#f3faf5;border:1px solid var(--line);border-radius:12px;padding:17px 20px}.concept-card h3{font-size:13px;margin:0 0 8px}.equations{font-size:12px;font-family:ui-monospace,Consolas,monospace;line-height:2}.graph-launch{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.graph-launch label,.settings-grid label{font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.graph-launch select{max-width:250px;font-size:12px}.graph-launch button{font-size:11px}.results-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.results-tools button{font-size:11px}.results-tools span{font-size:11px;color:var(--muted);margin-left:auto}.table-wrap{overflow:auto;max-height:360px;margin-top:15px}table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:10px;background:#f7fbf8;position:sticky;top:0}h3{font-size:14px}#kept-runs{display:flex;gap:9px;flex-wrap:wrap}.kept-card{border:1px solid var(--line);border-radius:8px;padding:10px;font-size:11px;display:flex;gap:12px;align-items:center}.kept-card button{font-size:10px;padding:3px 6px}#event-results{font-size:11px;color:var(--muted);max-height:250px;overflow:auto;margin-top:15px}#event-results p{margin:4px 0;font-size:11px}.replay{border-top:1px solid var(--line);display:flex;align-items:center;gap:15px;padding:12px 25px;font-size:10px;color:var(--muted)}.replay label{display:flex;align-items:center;gap:12px;flex:1}.replay input{flex:1}.replay button{font-size:10px;padding:5px 8px}#panel-challenges>label{font-size:12px}#panel-challenges>button{font-size:11px;margin-left:8px}#challenge-form{display:flex;align-items:end;gap:10px;margin-top:15px}#challenge-form label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:6px}#challenge-feedback{margin-top:16px;font-size:12px;border-radius:8px}footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 3px;font-size:10px;color:var(--muted)}footer button{border:0;background:transparent;padding:0;color:var(--deep);font-size:10px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);max-width:650px;width:max-content;max-width:90vw;background:#16412e;color:white;padding:12px 20px;border-radius:9px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:3000}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:16px;padding:24px;max-width:720px;width:calc(100% - 35px);max-height:85vh;color:var(--ink)}dialog::backdrop{background:#112f2560;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-heading h2{font-size:23px;letter-spacing:-.5px;margin:0}.dialog-heading button{border:0;font-size:24px;padding:0 7px}dialog p,dialog li{font-size:12px;color:#50665a}dialog li{margin-bottom:8px}dialog a{color:var(--deep)}.teacher-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.teacher-grid label,fieldset label{display:flex;align-items:center;gap:7px;font-size:12px}fieldset{border:1px solid var(--line);border-radius:9px;padding:12px;display:flex;gap:12px;flex-wrap:wrap}fieldset legend{font-size:11px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}
.float-window{position:fixed;left:14vw;top:16vh;width:650px;height:400px;min-width:300px;min-height:280px;max-width:98vw;max-height:95vh;background:white;border:1px solid #adcbb8;border-radius:13px;box-shadow:0 20px 70px #112f2540;overflow:hidden;resize:both;z-index:100;display:flex;flex-direction:column}.window-heading{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:#f0f8f2;border-bottom:1px solid var(--line);cursor:move;touch-action:none;gap:8px}.window-heading h2{font-size:13px;margin:0;font-weight:700}.window-heading button{padding:2px 7px;font-size:14px;background:transparent;border:0}.window-controls{display:flex;gap:10px;align-items:center;padding:8px 13px;flex-wrap:wrap}.window-controls label{font-size:10px;display:flex;align-items:center;gap:4px;color:var(--muted)}.window-controls button,.window-controls select{font-size:10px;padding:3px 6px}.window-controls input[type=number]{width:70px;padding:3px;font-size:10px}.graph-canvas{width:100%;min-height:160px;flex:1;display:block;touch-action:none}.graph-caption{font-size:10px;color:var(--muted);padding:6px 15px 12px;min-height:32px;max-height:70px;overflow:auto}.float-window.maximised{inset:5vh 3vw!important;width:94vw!important;height:90vh!important;max-height:none}.float-window.docked{position:relative;inset:auto!important;width:100%!important;height:360px;margin-top:16px;box-shadow:none;max-width:none}.inset-note{font-size:10px;color:var(--muted);padding:8px 15px}.presentation .topbar,.presentation .parts,.presentation .inspector,.presentation .toolbar,.presentation .context,.presentation .subtitle{display:none}.presentation .workspace-layout{grid-template-columns:1fr}.presentation #lab{padding:12px}.presentation .stage,.presentation #workspace{height:70vh;min-height:70vh}.presentation .measurements strong{font-size:30px}.simple .advanced-control,.simple .overlay-advanced{display:none}.simple .measurements strong{font-size:22px}
@media(min-width:1550px){.workspace-layout{grid-template-columns:120px minmax(0,1fr) 270px}.parts button{font-size:11px}.stage-top #selection-note{font-size:12px}.stage-top .eyebrow{font-size:9px}.heading h1{font-size:43px}}
@media(max-width:1150px){#lab{padding:0 15px}.topbar{gap:10px}.brand b{font-size:20px}.brand img{width:37px}.modes{gap:1px}.modes button{font-size:10px;padding:8px}.workspace-layout{grid-template-columns:85px minmax(0,1fr) 220px}.heading{padding:20px}.transport button{padding:9px 11px;font-size:12px}.context{padding:11px 18px;gap:9px}.context select{max-width:260px}.parts{padding:16px 5px}.parts button{font-size:9px}.inspector{padding:15px 13px}.clock output{font-size:16px}.stage-bottom{flex-wrap:wrap}#stage-hint{max-width:100%;width:100%}.view-tools{margin-left:auto}.stage-scale{bottom:85px}.evidence-heading{flex-wrap:wrap}.record-actions{margin-left:auto}.measurements{padding:18px;gap:10px}.measurements strong{font-size:19px}.measurements>div:not(:first-child){padding-left:10px}.model-select{flex-direction:column;gap:3px;align-items:end}.stage-top{left:16px;right:14px}.clock{left:16px}.stage-bottom{left:16px}.float-window{left:5vw;width:650px;max-width:90vw}}
@media(max-width:820px){.topbar{flex-wrap:wrap;padding:13px 0;gap:10px}.modes{order:3;width:100%;justify-content:space-between}.modes button{font-size:11px;flex:1}.modes small{display:none}.heading{flex-wrap:wrap;gap:14px}.heading h1{font-size:31px}.transport{margin-left:auto}.context{flex-wrap:wrap}.context label{width:100%}.context select{max-width:none;flex:1}.workspace-layout{grid-template-columns:75px minmax(0,1fr)}.inspector{grid-column:1/-1;max-height:none;border-left:0;border-top:1px solid var(--line);padding:14px 20px}.inspector-heading{margin:0}.object-picker{flex-direction:row;align-items:center;gap:15px}.object-picker select{flex:1}#properties{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}#properties h3,#properties p,.burn-card{grid-column:1/-1}.property-grid{grid-template-columns:1fr 1fr;grid-column:span 2}.parts p{display:none}.measurements{grid-template-columns:repeat(4,1fr)}.measure-name{grid-column:1/-1;display:flex;align-items:center;gap:15px;padding-bottom:10px;border-bottom:1px solid var(--line)}.measurements>div:nth-child(2){border-left:0;padding-left:0}.investigation-layout{grid-template-columns:1fr;gap:15px}.evidence-heading{padding:10px 12px}.record-actions{width:100%;justify-content:space-between}.record-actions button{padding:6px 8px}.panel{padding:18px}.graph-launch{gap:9px}.graph-launch label{flex:1;min-width:130px}.graph-launch select{max-width:none;width:100%}.float-window{left:3vw;top:10vh;width:94vw;max-width:94vw}.presentation .inspector{display:none}.stage-top .eyebrow{font-size:7px}.model-select select{max-width:120px}.stage-scale{left:16px}.settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:500px){#lab{padding:0 8px}.heading{padding:17px 14px}.heading h1{font-size:26px;letter-spacing:-1.2px}.heading .eyebrow{font-size:7px}.transport{width:100%;justify-content:space-between}.transport button{padding:8px 10px;font-size:11px}.context{padding:10px 13px}.context p{font-size:10px}.workspace-layout{grid-template-columns:59px minmax(0,1fr)}.parts{padding:12px 3px}.parts svg{width:43px;height:34px}.parts button{font-size:8px}.parts>.eyebrow{font-size:6px}.skin-label{font-size:7px}.skin-label select{font-size:9px}.stage-top .eyebrow{max-width:150px;letter-spacing:1px}.model-select{font-size:8px}.model-select select{font-size:9px;max-width:107px}.stage-top #selection-note{font-size:9px}.clock{top:80px;gap:6px}.clock output{font-size:15px}.clock .speed-control{font-size:8px;gap:3px}.stage-bottom{left:12px;right:9px;bottom:13px}#stage-hint{font-size:9px}.view-tools button{padding:5px 7px}.view-tools select{max-width:98px;font-size:9px}.stage-scale{bottom:82px;font-size:8px}.toolbar{padding:10px;gap:8px}.overlays{gap:7px 10px;order:3;flex-basis:100%}.overlays label{font-size:9px}.toolbar>button{margin-left:auto}.inspector{padding:12px 14px}#properties{grid-template-columns:1fr 1fr;gap:0 12px}.property-grid{grid-column:span 2}.measurements{padding:14px;grid-template-columns:1fr 1fr}.measurements>div:nth-child(4){border-left:0;padding-left:0}.measurements strong{font-size:21px}.measure-name{flex-wrap:wrap}.evidence-tabs{width:100%;justify-content:space-between}.evidence-tabs button{font-size:11px;padding:7px}.record-actions{gap:5px}.record-actions button{font-size:9px}.panel{padding:14px}.investigation-layout h2{font-size:19px}.replay{padding:10px;gap:8px;flex-wrap:wrap}.replay label{flex-basis:100%}.replay button{margin-left:auto}footer{font-size:8px;flex-wrap:wrap;padding:15px 3px}footer>span:nth-child(2){order:3;width:100%}.teacher-grid,.settings-grid{grid-template-columns:1fr}.window-controls{gap:8px}.window-heading h2{font-size:12px}.graph-caption{font-size:9px}#challenge-form{flex-wrap:wrap}#challenge-form label{flex:1;min-width:170px}#panel-challenges>button{margin:10px 0}.float-window{min-width:260px}#placement{white-space:normal;max-width:94%;width:max-content;text-align:center;font-size:10px}.presentation .measurements strong{font-size:23px}}
.investigation-library{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.investigation-library summary{cursor:pointer;font-size:12px;font-weight:650;color:var(--deep)}.experiment-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:15px}.experiment-cards button{display:flex;gap:10px;align-items:center;text-align:left;font-size:11px;padding:9px}.experiment-cards svg{width:74px;min-width:74px;height:50px}.experiment-cards span{line-height:1.4}
.float-window{height:440px}.float-window.docked{height:420px}.graph-legend{display:flex;flex-wrap:wrap;gap:5px 12px;padding:5px 14px 8px;max-height:72px;overflow:auto;flex-shrink:0;border-bottom:1px solid var(--line)}.graph-legend[hidden]{display:none}.graph-legend label{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted);cursor:pointer}.graph-legend input{width:13px;height:13px;margin:0}.graph-legend .legend-line{width:17px;border-top:2px solid}.graph-legend .legend-status{font-size:9px;opacity:.8}.sector-card{padding:12px 15px;border:1px solid var(--line);border-radius:9px;background:#f3faf5;margin:8px 0;font-size:12px}.sector-card p{margin:5px 0}.sector-card small{font-size:10px;color:var(--muted)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Scene-first sandbox shell. Measurements and graphs keep a paper-like surface. */
:root{--stage:clamp(430px,calc(100svh - 294px),760px);--chrome:#182b3b;--chrome-line:#334a5b;--chrome-text:#e0edf3}
body{background:#0d1b29}#lab{max-width:1900px;padding:0 18px 22px}
.topbar{min-height:62px;gap:18px}.brand{color:#edf6fa}.brand b span{color:#54df9b}.brand small{color:#9bb3c2}
.brand img{width:35px;height:37px}.brand b{font-size:21px}.modes button{color:#b3c8d6;font-size:12px}
.modes small{color:#87a6b9}.modes button[aria-pressed=true]{background:#264638;color:#87f1b4}.help{background:var(--chrome);border-color:var(--chrome-line);color:var(--chrome-text)}
.heading{padding:8px 3px 16px;gap:15px}.heading h1{font-size:26px;margin:3px 0 0;letter-spacing:-.8px;color:#edf6fa}.heading .eyebrow{color:#7aa3b7;font-size:8px}.subtitle{color:#93aebe;font-size:12px}
.control-bar{position:sticky;top:0;z-index:600;display:flex;align-items:center;gap:20px;min-height:72px;padding:10px 14px;background:#1b3041f5;border:1px solid #425b6d;border-radius:12px;box-shadow:0 9px 28px #07141a55;backdrop-filter:blur(12px);color:var(--chrome-text);margin-bottom:12px}
.transport{flex-wrap:nowrap;margin:0;gap:7px}.control-bar button{min-height:44px;padding:9px 13px;font-size:12px;color:var(--chrome-text);background:#253e50;border-color:#425b6d}.control-bar button:hover:not(:disabled){background:#345269}
.control-bar #run{min-width:116px;min-height:50px;font-size:17px;background:#51e390;color:#092d20;border-color:#78ecaa;box-shadow:0 2px 0 #157b48;font-weight:800}.control-bar #run:hover{background:#7df0ad}.control-bar #run[aria-pressed=true]{background:#ffcf79;border-color:#ffe0a3;color:#493017;box-shadow:0 2px 0 #976c2a}
.control-bar .clock{position:static;gap:12px;flex:1;min-width:0;flex-wrap:wrap}.clock output{font-size:17px;min-width:66px;color:#edf6fa;white-space:nowrap}.speed-control{font-size:11px;color:#b3c7d3}.speed-control select{background:#102334;color:#e0edf3;border-color:#425b6d;padding:6px 8px;font-size:12px}
#state-tag{font-size:9px;padding:5px 8px;letter-spacing:.8px;background:#26483c;color:#90e8b5;white-space:nowrap}#state-tag[data-state=running]{background:#4a3c24;color:#ffd384}#state-tag[data-state=replay]{background:#303f60;color:#c5d8ff}#state-tag[data-state=impact]{background:#552f38;color:#ffb5b5}
.control-links{display:flex;gap:6px}.control-links #teacher{background:transparent}.workshop{border-radius:12px;border-color:var(--chrome-line);box-shadow:none}
.context{padding:12px 18px;background:#203446;border-color:var(--chrome-line);color:var(--chrome-text);justify-content:space-between;gap:20px}.context>div{flex:1}.context .eyebrow{color:#83b09f;font-size:8px}.context p{color:#d9e9ee;font-size:12px;margin:3px 0 0}.context label{font-size:10px;color:#a9c1cf}.context select{max-width:345px;background:#102333;border-color:#425b6d;color:var(--chrome-text);padding:8px}
.workspace-layout{grid-template-columns:176px minmax(0,1fr) 282px}.parts{padding:16px 11px;background:var(--chrome);border-color:var(--chrome-line);gap:5px;text-align:left;max-height:var(--stage);overflow:auto}.parts>.eyebrow{color:#96b5c8;font-size:9px;margin-bottom:2px;letter-spacing:1.1px}
.skin-label{color:#b1c6d3;font-size:10px}.skin-label select{font-size:12px;padding:7px;margin:4px 0;background:#102333;border-color:#425b6d;color:var(--chrome-text)}
.parts button{position:relative;flex-direction:row;gap:9px;padding:6px 8px;min-height:48px;border:1px solid #344f60;border-radius:9px;background:#213849;color:#e1edf3;font-size:11px;margin:0;text-align:left;justify-content:flex-start}.parts button:hover:not(:disabled){background:#304e61;border-color:#6f9bad}.parts button.active{border-color:#72e3ad;background:#285342;color:#bff8d7;box-shadow:inset 3px 0 #72e3ad}.parts button:disabled{opacity:.5}.parts svg{width:39px;height:34px;flex-shrink:0}.parts i{border-color:var(--chrome-line);margin:7px 0}.parts p{font-size:10px;color:#9eb9c8;margin:5px 1px 9px;padding:0;line-height:1.5}
.scene-roster{border-top:1px solid var(--chrome-line);padding-top:10px;margin-top:2px}.roster-heading{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-bottom:7px}.roster-heading .eyebrow{color:#9bbacb;font-size:8px;letter-spacing:.8px}#object-count{color:#a3c0cd;font-size:10px}#scene-objects{display:flex;flex-direction:column;gap:4px;max-height:190px;overflow:auto}
#scene-objects button{font-size:10px;min-height:36px;padding:6px 7px;border-color:transparent;background:transparent;gap:7px;width:100%;line-height:1.3}#scene-objects button[aria-pressed=true]{background:#294b43;border-color:#518774;color:#c1fbd9}#scene-objects .object-dot{width:8px;height:8px;border-radius:50%;background:#7bbdb9;flex-shrink:0}#scene-objects .object-dot.craft{border-radius:2px;background:#dfc28a}#scene-objects .object-dot.probe{background:transparent;border:1.5px solid #9bbef0}#scene-objects .object-dot.ruler{border-radius:1px;height:3px;background:#dfc28a}#scene-objects .roster-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stage-top{left:18px;top:16px;right:16px}.stage-top .eyebrow{font-size:8px}.stage-top #selection-note{font-size:12px;color:#d3e5ed}.model-select{font-size:10px;flex-direction:row;align-items:center}.model-select select,.stage select{font-size:11px;padding:6px 8px}.stage-bottom{left:18px;bottom:14px;right:16px;flex-wrap:wrap}#stage-hint{font-size:11px;max-width:100%;width:auto;color:#abc6d5}.view-tools{margin-left:auto}.view-tools button{min-width:34px;min-height:34px;font-size:15px;padding:5px 7px}.view-tools select{max-width:127px}.stage-scale{left:18px;bottom:61px;font-size:10px}#workspace{cursor:grab}#workspace:active{cursor:grabbing}.placing #workspace{cursor:crosshair}
#placement{display:flex;gap:12px;align-items:center;bottom:105px;padding:9px 10px 9px 16px;white-space:normal;width:max-content;max-width:90%;border:1px solid #74e0b1;background:#153e35f2;color:#d0ffe7;border-radius:10px;pointer-events:auto;font-size:12px;box-shadow:0 4px 20px #07131a66}#placement button{background:#27594a;color:#d0ffe7;border-color:#64a08a;white-space:nowrap;font-size:11px;padding:6px 9px;min-height:34px}kbd{font:10px ui-monospace,Consolas,monospace;border:1px solid #6c9484;border-radius:3px;padding:1px 3px;margin-left:4px}
#placement-preview{position:absolute;width:60px;height:60px;transform:translate(-50%,-50%);border:1.5px dashed #8dffd0;border-radius:50%;background:#5ce1ab24;display:grid;place-items:center;pointer-events:none;box-shadow:0 0 18px #3fe79c28;z-index:2}#placement-preview svg{width:47px;height:40px;opacity:.8}#placement-preview.invalid{border-color:#ff9898;background:#ff777733;box-shadow:none}
.inspector{display:flex;flex-direction:column;padding:0;background:var(--chrome);border-color:var(--chrome-line);color:var(--chrome-text);min-height:0;overflow:hidden}.inspector-summary{padding:14px 15px 10px;border-bottom:1px solid var(--chrome-line);background:#203648;flex-shrink:0}.inspector-heading{margin-bottom:9px}.inspector-heading .eyebrow{color:#9bbccc;font-size:9px;letter-spacing:1px}#selected-kind{font-size:9px;color:#a6d9bf}.object-picker{color:#b2cad6;font-size:10px}.object-picker select{background:#102333;border-color:#425b6d;color:#e4f0f5;font-size:12px;padding:8px}.object-actions{display:flex;gap:7px;margin-top:10px}.object-actions button{flex:1;min-height:35px;background:#2c4759;border-color:#4a6475;color:#ddecf3;font-size:11px;padding:5px}.object-actions button:hover:not(:disabled){background:#3b5a6e}.object-actions #delete{color:#ffb6aa;border-color:#795655;background:#442f37}.object-actions #delete:hover:not(:disabled){background:#674149}
.inspector #edit-hint{font-size:10px;color:#abc4d1;margin:8px 0 0;line-height:1.5}.inspector #properties{padding:0 15px 16px;overflow:auto;min-height:0;flex:1}.inspector .property-field{font-size:11px;color:#b0c8d5;margin-top:11px}.inspector input,.inspector select{background:#102333;border-color:#425b6d;color:#e5f0f6;font-size:12px}.inspector input:disabled,.inspector select:disabled{background:#20323f;color:#98acb8}.inspector h3{font-size:12px;color:#86dbac;border-color:var(--chrome-line)}.inspector p{color:#a8c0ce;font-size:11px}.inspector button.action{background:#284837;border-color:#476d58;color:#c5f3d7;font-size:12px;min-height:36px}.inspector button.action:hover:not(:disabled){background:#355d48}.inspector .burn-card{background:#213847;border-color:#476172}.inspector .burn-card button,.inspector [data-remove-target]{background:#364858;color:#e9d1ce;border-color:#6f6270}
.toolbar{padding:10px 14px;background:#203446;border-color:var(--chrome-line);color:#b4cbd5;gap:12px;align-items:flex-start}.history{padding-top:1px}.history button,.toolbar>button{font-size:11px;padding:6px 9px;background:#294557;border-color:#425f71;color:#ddebf2;min-height:34px}.history button:hover:not(:disabled),.toolbar>button:hover{background:#355b71}.display-options{flex:1;min-width:0}.display-options summary{font-size:11px;cursor:pointer;color:#d3e5ef;padding:6px 0}.overlays{gap:9px 14px;padding:8px 0 4px}.overlays label{font-size:11px;color:#bbd0db}.toolbar>button{margin-left:auto}.measurements{background:#f0f7f5;padding:16px 20px;min-height:85px}.evidence{border-radius:12px;border-color:#536b71;margin-top:16px}footer{color:#91afc0}footer button{color:#8dddaf}.evidence,#stage,#inspector{scroll-margin-top:95px}
.toast{bottom:18px}.float-window{z-index:610}.float-window.maximised{top:85px!important;height:calc(100svh - 105px)!important}
.presentation .heading{padding:5px 3px 10px}.presentation .heading h1{font-size:23px}.presentation .control-bar{margin-bottom:10px}.presentation .stage,.presentation #workspace{height:65vh;min-height:65vh}
@media(min-width:1550px){.workspace-layout{grid-template-columns:190px minmax(0,1fr) 298px}.heading h1{font-size:29px}.parts button{font-size:12px}}
@media(max-width:1150px){.workspace-layout{grid-template-columns:154px minmax(0,1fr) 254px}.control-bar{gap:12px;padding:9px}.control-bar button{padding:9px 10px}.control-links{gap:4px}.clock{gap:8px}.parts{padding:13px 9px}.parts button{gap:5px;font-size:10px;padding:6px}.parts svg{width:32px}.inspector #properties{padding-inline:12px}.inspector-summary{padding-inline:12px}.stage-bottom{gap:8px}#stage-hint{width:100%;font-size:10px}.stage-scale{bottom:88px}.model-select{flex-direction:column;align-items:end}}
@media(max-width:920px){.control-links #jump-scene,.control-links #jump-graphs{display:none}.control-bar{gap:15px}.workspace-layout{grid-template-columns:140px minmax(0,1fr)}.inspector{grid-column:1/-1;max-height:none;border-top:1px solid var(--chrome-line);border-left:0;display:block}.inspector #properties{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px;padding-bottom:20px}.inspector-summary{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.inspector-heading{grid-column:1/-1}.object-picker{flex-direction:row;align-items:center}.object-actions{margin:0}#edit-hint{grid-column:1/-1}.inspector .property-grid{grid-column:span 2}.inspector #properties h3,.inspector #properties p,.burn-card{grid-column:1/-1}.parts p{display:block}.heading{flex-wrap:nowrap}.transport{margin:0}.model-select{flex-direction:row;align-items:center}}
@media(max-width:680px){#lab{padding:0 8px 16px}.topbar{min-height:58px;padding:10px 0;gap:8px}.modes{gap:3px}.modes button{font-size:10px;padding:7px 5px;border:1px solid #294556;border-radius:6px}.heading{padding:5px 3px 12px}.heading h1{font-size:22px}.subtitle{display:none}.control-bar{flex-wrap:wrap;gap:7px 10px;padding:8px;min-height:0}.transport{flex:1;gap:6px}.control-bar #run{min-width:108px;min-height:46px;font-size:16px}.control-bar button{min-height:40px;font-size:11px;padding:7px 10px}.control-links{margin-left:auto}.control-links #teacher{font-size:10px;padding:7px}.control-bar .clock{flex-basis:100%;gap:11px;flex-wrap:nowrap}.clock output{font-size:14px;min-width:0}.speed-control{margin-left:auto;font-size:10px}.speed-control select{font-size:11px;padding:4px 6px}#state-tag{font-size:8px;padding:3px 7px}.context{padding:10px 12px;gap:9px;flex-wrap:wrap}.context label{width:100%;gap:9px}.context p{font-size:11px}.context select{max-width:none;flex:1;font-size:11px;padding:6px}.workspace-layout{grid-template-columns:minmax(0,1fr)}
.parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px;max-height:none;overflow:visible;border-right:0;border-bottom:1px solid var(--chrome-line)}.parts>.eyebrow:first-child{grid-column:1/-1}.parts .skin-label{grid-column:1/-1;display:flex;gap:9px;align-items:center}.skin-label select{flex:1;width:auto;margin:0;padding:6px;font-size:11px}.parts button{font-size:10px;min-height:49px;padding:5px;gap:4px;flex-direction:row}.parts svg{width:30px;height:30px}.parts i,.parts>.eyebrow:not(:first-child){display:none}.parts p{grid-column:1/-1;margin:1px 0;font-size:10px}.scene-roster{grid-column:1/-1;padding-top:6px;margin-top:0}.roster-heading{margin-bottom:5px}#scene-objects{flex-direction:row;max-height:74px;flex-wrap:wrap;gap:4px;overflow:auto}#scene-objects button{width:auto;max-width:48%;min-height:30px;padding:5px 7px;border-color:#345261;font-size:10px}.stage,#workspace{min-height:420px;height:54svh;max-height:620px}.stage-top{left:12px;right:12px;top:12px}.stage-top .eyebrow{font-size:7px;letter-spacing:.8px}.stage-top #selection-note{font-size:10px}.model-select{flex-direction:column;align-items:end;font-size:9px}.model-select select{font-size:10px;max-width:125px}.stage-bottom{left:12px;right:12px;bottom:12px}.view-tools{gap:4px}.view-tools button{padding:4px 7px}.view-tools select{max-width:119px;font-size:10px}.stage-scale{left:12px;bottom:88px;font-size:9px}
.inspector-summary{padding:12px;gap:7px 10px;grid-template-columns:minmax(0,1fr)}.inspector-heading{margin:0}.object-picker{gap:12px}.object-actions{grid-column:1/-1}.object-actions button{min-height:40px;font-size:12px}.inspector #properties{grid-template-columns:1fr 1fr;gap:0 12px;padding:0 12px 18px}.property-grid{grid-column:span 2}.toolbar{padding:9px 10px;gap:8px}.display-options{flex-basis:100%;order:3}.overlays label{font-size:10px}.toolbar>button{font-size:11px}.history button{font-size:11px}.evidence,#stage,#inspector{scroll-margin-top:120px}.float-window{top:120px!important;max-height:calc(100svh - 135px)}.float-window.maximised{top:120px!important;height:calc(100svh - 135px)!important}.presentation .stage,.presentation #workspace{min-height:420px;height:58vh}.presentation .inspector{display:none}
}
@media(max-width:380px){.control-bar{gap:7px}.control-bar #run{min-width:95px}.control-bar button{padding:7px 8px}.control-links #teacher{max-width:56px;padding:5px;line-height:1.2}.parts button{font-size:9px}.parts svg{width:26px}.heading h1{font-size:20px}}
#inspect-selected{display:none;pointer-events:auto;background:#24463e;color:#c2eed6;border-color:#4a7567;padding:5px 9px;margin-top:8px;font-size:10px;min-height:30px}
@media(max-width:920px){#inspect-selected{display:block}}
@media(max-width:680px){.control-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 8px}.transport{width:auto;justify-content:flex-start;grid-column:1;gap:5px}.control-links{grid-column:2;grid-row:1;margin:0}.control-links #teacher{max-width:66px;padding:5px 6px;font-size:10px;line-height:1.3}.control-bar .clock{grid-column:1/-1;grid-row:2;display:flex}.control-bar #run{min-width:100px}.transport #step,.transport #restart{padding:7px 9px}.float-window.maximised{top:110px!important;height:calc(100svh - 125px)!important}.float-window{max-height:calc(100svh - 125px)}.evidence,#stage,#inspector{scroll-margin-top:112px}}
#windows{position:relative;z-index:100}.float-window:not(.docked):not(.maximised){top:max(var(--controls-bottom,84px),var(--window-top,10vh))!important;max-height:calc(100svh - var(--controls-bottom,84px) - 18px)}.float-window.maximised{top:var(--controls-bottom,84px)!important;height:calc(100svh - var(--controls-bottom,84px) - 18px)!important}
@media(min-width:681px){.parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-content:start}.parts>.eyebrow:first-child,.parts .skin-label,.parts p,.scene-roster{grid-column:1/-1}.parts i,.parts>.eyebrow:not(:first-child){display:none}.parts button{flex-direction:column;justify-content:center;gap:2px;padding:5px 3px;font-size:10px;line-height:1.35;min-height:64px;text-align:center}.parts svg{height:28px;width:37px}.parts p{margin:4px 0;font-size:10px}.scene-roster #scene-objects button{flex-direction:row;justify-content:flex-start;min-height:32px;gap:7px;padding:5px 7px;text-align:left}}
