:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173d33;background:#edf4ed;font-synthesis:none;--ink:#173d33;--muted:#6c8375;--line:#d7e3d8;--green:#148069}*{box-sizing:border-box}html,body{margin:0;height:100%;height:100dvh}body{display:flex;flex-direction:column;overflow:hidden}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:8px 12px;font-size:13px;font-weight:600;white-space:nowrap}button:hover{border-color:#69a38a;background:#f0f7f0}button:disabled{opacity:.45;cursor:default}.primary{background:#157e66;color:white;border-color:#157e66}.primary:hover{background:#106650;color:white}button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #d7a939;outline-offset:2px}select,input[type=number]{border:1px solid var(--line);border-radius:7px;padding:7px;background:white;color:var(--ink);min-width:0}input[type=range]{accent-color:var(--green);width:100%}.topbar{height:62px;flex:none;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:10px 24px;background:#fafcf8}.brand img{width:120px;height:auto;display:block}.lab-name{font-size:11px;letter-spacing:.18em;color:#8a9e88;border-left:1px solid var(--line);padding-left:20px}.topbar nav{display:flex;gap:7px;margin-left:auto}#capture-count{display:inline-block;background:#e7f0e5;border-radius:10px;padding:0 5px;margin-left:3px}main{flex:1;min-height:0;display:flex;flex-direction:column;padding:19px 24px 8px;gap:12px}.heading{display:flex;align-items:center;gap:18px;justify-content:space-between;flex:none}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em;color:#6c8e73;margin:0 0 6px}h1{font-size:clamp(20px,2.2vw,32px);letter-spacing:-.035em;margin:0 0 4px;font-weight:650}h2{font-size:18px;letter-spacing:-.02em;margin:0}h3{font-size:16px}.heading p:not(.eyebrow){font-size:13px;color:#617c6c;margin:0}.preset-label{display:flex;flex-direction:column;gap:5px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);width:235px;flex-shrink:0}.preset-label select{font-size:12px;letter-spacing:0;text-transform:none;padding:9px}.transport{display:flex;gap:7px;align-items:center;flex-wrap:wrap;flex:none}.transport .speed{margin-left:auto;display:flex;gap:6px;align-items:center;font-size:11px;color:var(--muted)}#clock{font-size:15px;font-variant-numeric:tabular-nums;min-width:66px;text-align:right}#state{background:#dcebdd;font-size:10px;border-radius:12px;padding:4px 8px;min-width:55px;text-align:center}.workbench{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:15px;flex:1;min-height:0}.scene-panel,.evidence-panel{background:#fafcf8;border:1px solid #d9e5d9;border-radius:14px;min-width:0;min-height:0;overflow:hidden}.scene-panel{display:flex;flex-direction:column}.scene-tools{display:flex;gap:5px;padding:10px 12px;align-items:center;flex:none}.scene-tools span{font-size:11px;color:#78917e;margin-right:auto}.scene-tools button{font-size:11px;padding:4px 8px}.stage-wrap{flex:1;min-height:130px;position:relative}#stage{width:100%;height:100%;display:block;touch-action:none}.quick-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid #e1e9df;background:#f5f9f2;font-size:11px}.quick-controls label{display:flex;align-items:center;gap:7px;min-width:0}.quick-controls input[type=range]{width:110px}.quick-controls output{min-width:45px;font-variant-numeric:tabular-nums}.readings{display:grid;grid-template-columns:repeat(4,1fr);padding:14px 16px 9px;gap:8px}.reading{border-right:1px solid var(--line);padding-right:5px}.reading:last-child{border:0}.reading small{font-size:9px;letter-spacing:.07em;text-transform:uppercase;display:block;color:#74907e}.reading strong{display:block;font-size:clamp(15px,1.6vw,24px);font-weight:550;font-variant-numeric:tabular-nums;margin-top:3px}.reading span{font-size:11px;color:var(--muted)}.event{font-size:10px;margin:0;padding:0 16px 10px;color:#73907d;min-height:22px}.evidence-panel{padding:16px;display:flex;flex-direction:column;gap:10px;overflow:auto}.evidence-heading h2{font-size:15px;margin-bottom:8px}.compact select{width:100%;font-size:11px;background:#f5f8f2}.energy-bars{display:flex;flex-direction:column;gap:10px}.energy-row .bar-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:4px}.energy-row .bar-label strong{font-variant-numeric:tabular-nums;font-weight:600}.bar-track{height:7px;background:#e8eee4;border-radius:6px;overflow:hidden}.bar-fill{height:100%;border-radius:6px;min-width:0}.balance{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 0;font-size:11px;gap:5px}.balance strong{font-size:15px}.balance small{grid-column:1/-1;color:#81917f;font-size:9px}.graph-heading label{display:flex;align-items:center;justify-content:space-between;font-size:11px}.graph-heading select{font-size:10px;padding:4px;max-width:145px}#live-chart{height:160px;width:100%;flex:1;min-height:120px;display:block}.legend{font-size:9px;display:flex;flex-wrap:wrap;gap:6px}.legend span:before{content:"";display:inline-block;width:7px;height:7px;background:var(--colour);border-radius:50%;margin-right:4px}footer{flex:none;display:flex;align-items:center;gap:12px;font-size:10px;color:#829781}footer span:nth-child(2){margin-left:auto}footer button{font-size:10px;border:0;padding:4px 8px;background:none}dialog{padding:0;border:1px solid #d7e2d5;border-radius:16px;width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 36px);box-shadow:0 24px 90px #173d3333;background:#fafcf8;color:var(--ink)}dialog[open]{display:flex;flex-direction:column}dialog.wide{width:min(1000px,calc(100vw - 24px))}dialog::backdrop{background:#1c352c40;backdrop-filter:blur(2px)}.dialog-heading{padding:20px 22px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex:none}.dialog-heading button{font-size:22px;border:0;background:none;padding:0 8px}.dialog-body{padding:18px 22px;overflow:auto;font-size:13px;line-height:1.6;min-height:0}.dialog-body>p:first-child{margin-top:0}.workspace-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.workspace-card{text-align:left;white-space:normal;padding:14px;display:flex;flex-direction:column;gap:7px;min-height:128px}.workspace-card .icon{font-size:23px;color:#1a8c70;font-weight:400}.workspace-card span:last-child{font-size:11px;font-weight:400;color:var(--muted);line-height:1.5}.file-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#597662}.field input{width:100%}.field small{font-size:10px;color:#8b9c88}.settings{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.check{display:flex;gap:7px;align-items:center;margin:12px 0;font-size:12px}.check input{accent-color:var(--green)}details{border-top:1px solid var(--line);padding:12px 0}summary{cursor:pointer;font-weight:650}.notice{background:#edf3e8;border-left:3px solid #89ac7f;padding:10px 12px;font-size:11px}.muted{color:#718575;font-size:11px}.object-actions{display:flex;gap:8px;margin:12px 0}#object-details{padding:12px;background:#edf4ec;border-radius:8px;font-size:12px;margin:12px 0}.notebook-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.notebook-toolbar label{display:flex;flex-direction:column;font-size:11px;gap:4px}.notebook-toolbar .check{flex-direction:row}#notebook-chart{height:260px;width:100%;display:block;margin-top:16px}.table-wrap{overflow:auto;margin-top:18px}table{border-collapse:collapse;white-space:nowrap;font-size:11px;width:100%}th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right}th{color:#64816c;font-size:10px}td details{white-space:normal;min-width:180px;text-align:left}.kept-list{display:flex;flex-wrap:wrap;gap:8px}.kept-list button{font-size:11px}.replay{display:flex;align-items:center;gap:12px;font-size:11px;margin:14px 0}.replay input{flex:1}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#173d33;color:white;border-radius:10px;padding:10px 18px;font-size:12px;box-shadow:0 6px 30px #173d3322;opacity:0;pointer-events:none;max-width:90vw;z-index:10}#toast.visible{opacity:1}.skip{position:fixed;top:-100px}.skip:focus{top:0;background:white;padding:10px;z-index:20}.teacher .heading{display:none}.teacher .topbar{height:48px}.teacher main{padding-top:10px}.teacher .readings strong{font-size:28px}hr{border:0;border-top:1px solid var(--line)}
@media(min-width:1600px){.workbench{grid-template-columns:minmax(0,1fr) 350px}.energy-row .bar-label{font-size:13px}.evidence-panel{gap:15px}.scene-tools span{font-size:13px}}
@media(max-width:1000px){.lab-name{display:none}.workbench{grid-template-columns:minmax(0,1fr) 245px}main{padding:12px 12px 6px;gap:9px}.topbar{padding:8px 14px}.topbar nav{gap:4px}.topbar button{padding:7px 9px;font-size:11px}.scene-tools span{display:none}.evidence-panel{padding:12px}.transport{gap:4px}.transport button{padding:7px 9px;font-size:11px}.readings{padding:12px}.readings strong{font-size:18px}.heading .preset-label{width:195px}}
@media(max-width:700px){body{overflow:auto}.topbar{height:auto;min-height:52px;gap:8px;flex-wrap:wrap}.brand img{width:93px}.topbar nav{gap:3px;flex:1;justify-content:flex-end}.topbar button{font-size:10px;padding:7px 6px}.topbar button[data-panel=apparatus]{display:none}main{min-height:calc(100dvh - 54px);flex:none;height:auto}.heading{gap:8px}.heading p:not(.eyebrow){font-size:11px}.heading .preset-label{width:140px;font-size:8px}.heading h1{font-size:21px}.heading .preset-label select{font-size:10px}.transport{gap:4px}.transport button{font-size:10px;padding:7px}.transport .speed{margin-left:0}.workbench{display:flex;flex-direction:column;flex:none}.scene-panel{min-height:390px}.stage-wrap{height:230px;flex:none}.quick-controls{gap:8px;padding:8px;font-size:10px}.quick-controls input[type=range]{width:80px}.readings{padding:10px;gap:4px}.reading strong{font-size:17px}.reading small{font-size:8px}.evidence-panel{display:grid;grid-template-columns:1fr 1fr;overflow:visible;gap:10px}.evidence-heading{grid-column:1}.energy-bars{grid-row:2/5;grid-column:1;gap:7px}.balance{grid-column:1;grid-row:5}.graph-heading{grid-column:2;grid-row:1}.graph-heading label{display:block}.graph-heading select{margin-top:4px;width:100%;max-width:none}#live-chart{grid-column:2;grid-row:2/5;min-height:150px;height:100%;width:100%}.legend{grid-column:2;grid-row:5}.workspace-list{gap:7px}.workspace-card{padding:10px;min-height:130px}.dialog-body{padding:15px}.dialog-heading{padding:15px}.settings{gap:10px}footer{font-size:8px;gap:5px}footer span:nth-child(2){display:none}footer button:first-of-type{margin-left:auto}.replay{flex-wrap:wrap}}
@media(max-height:680px) and (min-width:701px){body{overflow:auto}main{min-height:600px;flex:none}.stage-wrap{min-height:250px}.heading{margin:0}.topbar{height:48px}#live-chart{min-height:110px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}
@media(max-width:700px) and (min-height:650px){body{overflow:hidden}main{flex:1;min-height:0;height:auto;gap:7px}.workbench{flex:1;min-height:0;gap:9px}.scene-panel{flex:1;min-height:260px}.stage-wrap{height:auto;flex:1;min-height:110px}.scene-tools{padding:7px 9px}.quick-controls{gap:6px;padding:6px 9px}.quick-controls input[type=range]{width:65px}.quick-controls output{min-width:34px}.readings{padding:8px 9px 5px}.reading strong{font-size:15px;white-space:nowrap}.reading span{font-size:8px}.reading small{font-size:7px;letter-spacing:0}.event{padding-bottom:6px;font-size:9px;min-height:17px}.evidence-panel{flex:none;min-height:190px;height:190px;padding:9px;gap:5px;overflow:auto}.evidence-heading h2{font-size:12px;margin-bottom:4px}.compact select{padding:3px;font-size:9px}.energy-bars{gap:5px}.energy-row .bar-label{font-size:9px;margin-bottom:2px}.bar-track{height:4px}.balance{font-size:9px;padding:5px 0;gap:2px}.balance strong{font-size:11px}.balance small{font-size:7px}.legend{font-size:7px;gap:3px}#live-chart{min-height:95px}.heading .eyebrow{font-size:8px;margin-bottom:3px}.heading h1{font-size:19px}.heading p:not(.eyebrow){font-size:10px}.transport button{padding:6px;font-size:9px}.transport select{padding:4px}footer{min-height:18px}.teacher .scene-panel{min-height:320px}}

.explanation{font-size:12px;line-height:1.45;color:#355f4d;padding:9px 14px;margin:0;background:#edf5eb;border-top:1px solid #dae7d7}.event{padding-top:5px}.quick-controls button{font-size:11px;padding:6px 9px}#force-view[aria-pressed=true]{background:#e5eee8;border-color:#7c9f8a}#force-account p{font-size:12px}.quick-controls input[type=range]{width:92px}
@media(max-width:1000px){.quick-controls{gap:7px}.quick-controls input[type=range]{width:68px}.explanation{font-size:11px;padding:7px 10px}}
@media(max-width:700px){.quick-controls label{font-size:10px}.quick-controls button{font-size:10px}.explanation{font-size:10px;line-height:1.35;padding:6px 9px}.scene-tools button{padding:4px 6px}.quick-controls input[type=range]{width:65px}#toast{bottom:8px;font-size:10px;padding:7px 10px;max-width:94vw}.event{font-size:8px;min-height:16px}}
