.ex-app{--ex-bg:#101a2a;--ex-panel:#182538;--ex-panel2:#1e2e44;--ex-border:#2a3e55;--ex-text:#ecf4fd;--ex-muted:#9cb0c5;background:var(--ex-bg);color:var(--ex-text);font-family:Kanit,Arial,sans-serif;min-height:100dvh;height:100dvh;display:flex;flex-direction:column;font-size:13px;overflow:hidden}[data-theme=light] .ex-app{--ex-bg:#edf3f8;--ex-panel:#fff;--ex-panel2:#f0f5fa;--ex-border:#d7e2ec;--ex-text:#20354c;--ex-muted:#60768d}.ex-app button,.ex-app select,.ex-app input{font:inherit}.ex-app button{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:1px solid var(--ex-border);border-radius:9px;background:var(--ex-panel2);color:var(--ex-text);padding:9px 12px;min-height:38px;transition:background .15s,transform .15s}.ex-app button:hover:not(:disabled){background:color-mix(in srgb,var(--ex-accent) 14%,var(--ex-panel2));border-color:color-mix(in srgb,var(--ex-accent) 55%,var(--ex-border))}.ex-app button:active:not(:disabled){transform:translateY(1px)}.ex-app button:disabled{opacity:.4;cursor:not-allowed}.ex-app button:focus-visible,.ex-app a:focus-visible,.ex-app select:focus-visible,.ex-app input:focus-visible{outline:3px solid var(--ex-accent);outline-offset:3px}.ex-app h1,.ex-app h2,.ex-app h3,.ex-app p{margin:0}.ex-app svg{flex-shrink:0}.ex-app input,.ex-app select{background:var(--ex-bg);border:1px solid var(--ex-border);color:var(--ex-text);border-radius:8px;padding:10px;min-height:40px;width:100%}.ex-app select:disabled{opacity:.55}.ex-app small{color:var(--ex-muted)}.ex-header{height:68px;flex:none;background:var(--ex-panel);border-bottom:1px solid var(--ex-border);display:flex;align-items:center;gap:35px;padding:0 24px}.ex-app .ex-brand{padding:0;background:none;border:0;text-align:left;gap:12px}.ex-brand>span{width:42px;height:42px;background:linear-gradient(140deg,#45bce9,#3c66ce);color:#fff;display:grid;place-items:center;border-radius:13px}.ex-brand>div{font-size:14px;letter-spacing:1.1px;font-weight:600;line-height:1.4}.ex-brand small{display:block;font-size:10px;letter-spacing:1.5px;font-weight:400}.ex-brand b{font-weight:400;letter-spacing:0;color:var(--ex-accent)}.ex-header-title{display:flex;align-items:center;gap:18px;color:var(--ex-muted);font-size:12px;letter-spacing:.6px}.ex-header-title span{padding:4px 9px;border:1px solid var(--ex-border);border-radius:6px;color:var(--ex-accent)}.ex-header-title i{color:#ffcb76;font-size:9px}.ex-header-actions{margin-left:auto;display:flex;gap:12px;align-items:center}.ex-header .language-switch button{border:0;min-height:30px}.ex-toolbar{display:flex;align-items:center;gap:20px;padding:8px 24px;border-bottom:1px solid var(--ex-border);background:var(--ex-panel);flex:none}.ex-toolbar>button{border:0;background:none}.ex-tools{display:flex;gap:7px;margin-left:auto}.ex-toolbar button{font-size:12px;min-height:33px;padding:6px 12px}.ex-demo{flex:none;display:flex;align-items:center;gap:12px;background:#194b56;color:#d5fff5;padding:9px 25px;font-size:12px}.ex-demo b{font-weight:400}.ex-demo button{margin-left:auto;padding:4px 10px;min-height:29px;color:#d8fff7;background:#276772;border-color:#3b8291}.ex-workspace{display:grid;grid-template-columns:268px minmax(0,1fr) 268px;min-height:0;flex:1;gap:14px;padding:16px}.ex-left,.ex-right{border:1px solid var(--ex-border);background:var(--ex-panel);border-radius:15px;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#4a627b transparent}.ex-left{display:flex;flex-direction:column;padding:20px 18px}.ex-lesson-title>span{font-size:10px;letter-spacing:2px;color:var(--ex-accent)}.ex-lesson-title h1{font-weight:500;font-size:23px;line-height:1.4;margin:10px 0}.ex-lesson-title p{color:var(--ex-muted);font-size:12px;line-height:1.7}.ex-tabs{display:flex;border-bottom:1px solid var(--ex-border);margin:18px 0 12px}.ex-tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;flex:1;font-size:12px;padding:10px 5px;color:var(--ex-muted)}.ex-tabs button.active{border-color:var(--ex-accent);color:var(--ex-accent)}.ex-tabs b{font-size:10px;background:var(--ex-panel2);padding:1px 5px;border-radius:5px}.ex-task-list{padding:0;list-style:none;margin:0}.ex-task-list li{display:flex;gap:11px;align-items:flex-start;padding:12px 0;font-size:12px;line-height:1.65}.ex-task-list li>span{flex:none;width:26px;height:26px;border:1px solid var(--ex-border);border-radius:50%;display:grid;place-items:center;font-size:11px;color:var(--ex-muted)}.ex-task-list li.complete>span{border:0;color:#5ed7b8}.ex-task-list li.complete{color:#7fdcc3}.ex-progress{margin:10px 0 17px}.ex-progress>span{font-size:11px;color:var(--ex-muted)}.ex-progress>div{height:4px;background:var(--ex-border);margin-top:9px;border-radius:4px;overflow:hidden}.ex-progress i{display:block;height:100%;background:var(--ex-accent);transition:width .3s}.ex-app .ex-demo-button,.ex-quiz-button{width:100%;font-size:11px;margin-bottom:10px}.ex-app .ex-quiz-button{background:color-mix(in srgb,var(--ex-accent) 12%,var(--ex-panel));border-color:color-mix(in srgb,var(--ex-accent) 30%,var(--ex-border));color:var(--ex-accent)}.ex-quiz-button>svg:last-child{margin-left:auto}.ex-insight{padding:14px;background:var(--ex-panel2);border-radius:10px;margin-top:auto;line-height:1.7;font-size:11px}.ex-insight b{color:var(--ex-accent);font-weight:400}.ex-insight p{margin-top:5px;color:var(--ex-muted)}.ex-center{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}.ex-stage{position:relative;flex:1;min-height:260px;border:1px solid var(--ex-border);border-radius:17px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#304760,#18283c 65%,#142235)}[data-theme=light] .ex-stage{background:radial-gradient(ellipse at center,#f3faff,#d5e6f0)}.ex-stage>div>canvas{touch-action:none}.ex-stage-heading{position:absolute;top:14px;left:16px;right:14px;display:flex;align-items:center;justify-content:space-between;z-index:2;pointer-events:none}.ex-stage-heading>span{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.7px;color:#b7cadd}.ex-stage-heading i,.ex-footer i{width:6px;height:6px;background:#60dcc1;border-radius:50%;display:inline-block}.ex-stage-heading button{pointer-events:auto;padding:7px;min-height:32px;background:#21344acb}.ex-stage-hint{position:absolute;bottom:33px;left:50%;transform:translate(-50%);white-space:nowrap;display:flex;gap:8px;align-items:center;pointer-events:none;padding:8px 13px;border:1px solid #46637e88;background:#132539d9;border-radius:9px;font-size:11px;color:#d6eaff}.ex-camera-hint{position:absolute;bottom:12px;width:100%;text-align:center;color:#9fb4c9;font-size:9px;pointer-events:none}.ex-loading,.ex-error{position:absolute;inset:0;display:grid;place-items:center;color:var(--ex-accent);font-size:13px;background:var(--ex-panel)}.ex-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:none}.ex-metrics article{border:1px solid var(--ex-border);border-radius:13px;background:var(--ex-panel);padding:12px 17px}.ex-metrics article>span{font-size:10px;color:var(--ex-muted)}.ex-metrics article>div{display:flex;align-items:baseline;gap:8px;margin-top:5px}.ex-metrics strong{font-size:27px;font-weight:500;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:-.5px;color:var(--ex-accent)}.ex-metrics small{font-size:11px}.ex-chart-panel{flex:none;height:215px;border:1px solid var(--ex-border);border-radius:14px;background:var(--ex-panel);padding:13px 16px;overflow:auto;scrollbar-width:thin}.ex-chart-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.ex-chart-title b{font-size:12px;font-weight:400}.ex-chart-title span{font-size:9px;color:var(--ex-muted)}.ex-graph{display:block;width:100%;height:145px;overflow:visible}.ex-graph text{fill:var(--ex-muted);font:9px Kanit,sans-serif}.ex-graph line{stroke:var(--ex-border);stroke-dasharray:3 3}.ex-chart-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:9px;color:var(--ex-muted)}.ex-chart-legend>span{display:flex;gap:5px;align-items:center}.ex-chart-legend i{width:9px;height:4px;border-radius:3px}.ex-mass-bars{display:flex;flex-direction:column;gap:12px;margin-top:18px}.ex-mass-bars>div{display:grid;grid-template-columns:145px minmax(0,1fr) 58px;gap:12px;align-items:center;font-size:10px}.ex-mass-bars>div>div{height:7px;background:var(--ex-border);border-radius:5px;overflow:hidden}.ex-mass-bars i{display:block;height:100%;border-radius:5px}.ex-mass-bars b{text-align:right;font-weight:400;color:var(--ex-muted)}.ex-right{padding:19px 17px}.ex-panel-heading{display:flex;align-items:center;gap:8px;color:var(--ex-accent);margin-bottom:21px}.ex-panel-heading h2{font-weight:400;font-size:14px}.ex-reagent{display:flex;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--ex-border);margin-bottom:19px}.ex-bottle-icon{display:grid;place-items:center;background:color-mix(in srgb,var(--ex-accent) 15%,var(--ex-panel));color:var(--ex-accent);width:49px;height:57px;border-radius:12px}.ex-reagent b{font-size:14px;font-weight:400}.ex-reagent small{display:block;margin-top:5px;font-size:10px}.ex-settings{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.ex-settings label,.ex-amount-label{font-size:11px;color:var(--ex-muted)}.ex-settings select{display:block;margin-top:7px;font-size:11px}.ex-amounts{display:flex;gap:7px;margin:9px 0 16px}.ex-amounts button{flex:1;display:flex;flex-direction:column;padding:9px 3px;gap:1px;font-size:17px}.ex-amounts small{font-size:9px}.ex-amounts .active{border-color:var(--ex-accent);background:color-mix(in srgb,var(--ex-accent) 14%,var(--ex-panel));color:var(--ex-accent)}.ex-app .ex-primary{background:var(--ex-accent);color:#112539;border-color:var(--ex-accent);font-weight:500}.ex-app .ex-primary:hover:not(:disabled){background:color-mix(in srgb,var(--ex-accent) 85%,white)}.ex-pour{width:100%;min-height:44px!important}.ex-run-controls{display:flex;gap:9px;margin:12px 0 18px;align-items:center}.ex-run-controls>button{flex:1;font-size:11px}.ex-run-controls>label{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--ex-muted)}.ex-run-controls select{width:55px;padding:6px;min-height:38px;font-size:11px}.ex-record{width:100%;font-size:12px}.ex-app .ex-new-run{width:100%;border:0;background:none;color:var(--ex-muted);font-size:11px;margin-top:8px}.ex-filter-button{width:100%;margin-bottom:14px;font-size:12px}.ex-filter-button.installed{border-color:#58cfaa;color:#78e4c1}.ex-equation{border-top:1px solid var(--ex-border);margin-top:22px;padding-top:18px}.ex-equation>span{display:block;font-size:9px;letter-spacing:.9px;color:var(--ex-muted);margin-bottom:9px}.ex-equation>b{display:block;color:var(--ex-accent);font-size:14px;line-height:1.8;font-weight:400}.ex-equation p{font-size:10px;line-height:1.8;margin-top:8px;color:var(--ex-muted)}.ex-app .ex-scope-button{background:none;border:0;padding:13px 0;color:var(--ex-muted);font-size:10px;justify-content:flex-start}.ex-footer{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 24px;font-size:9px;color:var(--ex-muted);border-top:1px solid var(--ex-border);background:var(--ex-panel)}.ex-footer>span{display:flex;align-items:center;gap:8px}.ex-readings{max-height:400px;overflow:auto;scrollbar-width:thin}.ex-readings article{display:flex;gap:10px;padding:14px 0;border-bottom:1px solid var(--ex-border)}.ex-run-number{border-radius:6px;display:grid;place-items:center;height:23px;width:23px;background:var(--ex-panel2);font-size:11px;color:var(--ex-accent);flex:none}.ex-readings b{display:block;font-size:14px;font-weight:400}.ex-readings small{display:block;font-size:10px;line-height:1.7;margin-top:3px}.ex-export-buttons{display:flex;gap:8px;margin:16px 0}.ex-export-buttons>button{flex:1}.ex-student{font-size:10px;color:var(--ex-muted);line-height:1.8}.ex-student input{margin-top:6px;font-size:12px}.ex-file-note{font-size:10px;line-height:1.7;color:var(--ex-muted);margin-top:12px!important}.ex-empty{display:grid;justify-items:center;text-align:center;padding:28px 0;gap:12px;color:var(--ex-muted);font-size:12px}.ex-empty>svg{width:35px;height:35px}.ex-empty small{font-size:10px}.ex-modal-backdrop{position:fixed;inset:0;z-index:100;background:#081320bb;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:24px}.ex-dialog{position:relative;background:var(--ex-panel);border:1px solid var(--ex-border);border-radius:22px;padding:35px;max-height:calc(100dvh - 48px);overflow:auto;width:640px;max-width:100%;box-shadow:0 24px 100px #0005;scrollbar-width:thin}.ex-app .ex-close{position:absolute;right:15px;top:15px;background:none;border:0;padding:5px;min-height:30px}.ex-eyebrow{font-size:10px;letter-spacing:2px;color:var(--ex-accent)}.ex-dialog h2{font-size:28px;font-weight:500;margin:12px 0}.ex-dialog>p{font-size:13px;line-height:1.9;color:var(--ex-muted)}.ex-guide-image{display:block;width:100%;height:170px;object-fit:cover;border-radius:13px;margin:19px 0}.ex-intro-steps{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.ex-intro-steps li{display:flex;gap:9px;font-size:12px;line-height:1.7}.ex-intro-steps li>span{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;color:var(--ex-accent);background:var(--ex-panel2);font-size:11px}.ex-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px}.ex-dialog-actions button{font-size:12px}.ex-dialog li{line-height:1.8;margin:8px 0;font-size:13px}.ex-scope-note{background:var(--ex-panel2);padding:18px;border-radius:12px;font-size:12px;line-height:1.9;color:var(--ex-muted);margin:20px 0}.ex-dialog>a{font-size:12px;color:var(--ex-accent)}.ex-question{margin:22px 0}.ex-question h3{font-size:14px;font-weight:400;line-height:1.7;margin-bottom:11px}.ex-question>button{width:100%;justify-content:flex-start;text-align:left;margin-bottom:7px;font-size:12px;padding:11px 13px;line-height:1.7}.ex-question>button>span{display:grid;place-items:center;flex:none;width:22px;height:22px;background:var(--ex-bg);border-radius:5px;font-size:10px}.ex-question>button.correct{border-color:#65d0ac;background:#164d4260}.ex-question>button.incorrect{border-color:#edb774;background:#60482360}.ex-question>button>svg{margin-left:auto;color:#67d5b3}.ex-question .ex-feedback{font-size:11px;line-height:1.8;color:var(--ex-muted);padding:8px 0}.ex-quiz-score{display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid var(--ex-border);color:var(--ex-accent)}.ex-toast{position:fixed;bottom:45px;left:50%;transform:translate(-50%);z-index:200;background:#1d4b54;color:#e1fff6;border:1px solid #407780;box-shadow:0 5px 25px #0004;border-radius:12px;padding:13px 20px;max-width:90vw;font-size:12px;text-align:center}.lesson-card .cover-art .ex-cover-image{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.lesson-card .cover-art .cover-number{z-index:1}@media(min-width:2000px){.ex-app{font-size:clamp(14px,.75vw,26px)}.ex-header{height:clamp(70px,4vw,140px);padding:0 1.5vw;gap:2vw}.ex-brand>span{width:2.6vw;height:2.6vw}.ex-brand>div{font-size:1vw}.ex-brand small{font-size:.65vw}.ex-header-title{font-size:.8vw}.ex-app button,.ex-app select,.ex-app input{min-height:2.1vw;font-size:.72vw}.ex-toolbar{padding:.5vw 1.5vw}.ex-toolbar button{font-size:.7vw}.ex-workspace{grid-template-columns:minmax(290px,18vw) minmax(0,1fr) minmax(290px,18vw);gap:1vw;padding:1vw}.ex-left,.ex-right{padding:1.35vw}.ex-lesson-title>span,.ex-equation>span{font-size:.6vw}.ex-lesson-title h1{font-size:1.6vw;margin:.7vw 0}.ex-lesson-title p,.ex-task-list li,.ex-insight,.ex-dialog>p{font-size:.8vw}.ex-tabs button,.ex-task-list li>span{font-size:.75vw}.ex-task-list li{padding:.8vw 0;gap:.7vw}.ex-task-list li>span{width:1.65vw;height:1.65vw}.ex-progress>span{font-size:.7vw}.ex-app .ex-demo-button,.ex-quiz-button{font-size:.72vw;margin-bottom:.6vw}.ex-insight{padding:1vw}.ex-center{gap:.8vw}.ex-stage-heading>span{font-size:.65vw}.ex-stage-hint{font-size:.75vw;bottom:2.1vw;padding:.6vw .9vw}.ex-camera-hint{font-size:.6vw;bottom:.8vw}.ex-metrics{gap:.7vw}.ex-metrics article{padding:.9vw 1.3vw}.ex-metrics article>span{font-size:.75vw}.ex-metrics strong{font-size:2vw}.ex-metrics small{font-size:.8vw}.ex-chart-panel{height:15vw;padding:1vw 1.2vw}.ex-graph{height:11.2vw}.ex-chart-title b{font-size:.8vw}.ex-chart-title span,.ex-chart-legend{font-size:.65vw}.ex-panel-heading h2{font-size:1vw}.ex-panel-heading{margin-bottom:1.3vw}.ex-reagent{margin-bottom:1.4vw;padding-bottom:1.2vw}.ex-reagent b{font-size:1vw}.ex-reagent small{font-size:.75vw}.ex-bottle-icon{width:3.3vw;height:3.6vw}.ex-settings{gap:1vw;margin-bottom:1.5vw}.ex-settings label,.ex-amount-label{font-size:.76vw}.ex-settings select{font-size:.8vw}.ex-amounts button{font-size:1.2vw}.ex-amounts small{font-size:.65vw}.ex-pour{min-height:3vw!important}.ex-run-controls{margin:.8vw 0 1vw}.ex-run-controls>label{font-size:.65vw}.ex-run-controls select{width:3.5vw}.ex-equation{margin-top:1.4vw;padding-top:1.3vw}.ex-equation>b{font-size:1vw}.ex-equation p,.ex-app .ex-scope-button,.ex-file-note{font-size:.72vw}.ex-footer{font-size:.6vw;padding:.5vw 1.5vw}.ex-mass-bars{gap:.85vw;margin-top:1.1vw}.ex-mass-bars>div{grid-template-columns:10vw minmax(0,1fr) 4vw;font-size:.75vw}.ex-mass-bars>div>div{height:.5vw}.ex-readings b{font-size:1vw}.ex-readings small,.ex-student{font-size:.7vw}.ex-readings{max-height:24vw}.ex-dialog{width:42vw;padding:2.3vw}.ex-dialog h2{font-size:1.8vw}.ex-intro-steps li,.ex-dialog li,.ex-scope-note,.ex-question h3{font-size:.9vw}.ex-guide-image{height:12vw}.ex-question>button{font-size:.8vw}.ex-question .ex-feedback,.ex-eyebrow,.ex-dialog>a{font-size:.7vw}.ex-dialog-actions button,.ex-quiz-score{font-size:.85vw}}@media(max-width:1250px){.ex-workspace{grid-template-columns:218px minmax(0,1fr) 228px;gap:10px;padding:10px}.ex-left,.ex-right{padding:15px 13px}.ex-lesson-title h1{font-size:20px}.ex-task-list li{font-size:11px;padding:10px 0}.ex-chart-panel{height:185px;padding:10px}.ex-graph{height:120px}.ex-metrics article{padding:10px}.ex-metrics strong{font-size:24px}.ex-chart-title span{display:none}.ex-stage-hint{font-size:10px;padding:7px}.ex-header{padding:0 17px;gap:20px}.ex-header-title{font-size:10px}.ex-stage{min-height:240px}}@media(max-height:800px)and (min-width:1001px){.ex-header{height:57px}.ex-toolbar{padding-top:5px;padding-bottom:5px}.ex-workspace{padding:10px;gap:10px}.ex-chart-panel{height:160px}.ex-graph{height:104px}.ex-center{gap:9px}.ex-stage{min-height:210px}.ex-metrics article{padding:8px 12px}.ex-metrics strong{font-size:24px}.ex-task-list li{padding:8px 0;font-size:11px}.ex-left,.ex-right{padding:14px}.ex-lesson-title h1{font-size:21px;margin:7px 0}.ex-insight{display:none}.ex-reagent{padding-bottom:12px;margin-bottom:12px}.ex-settings{gap:9px;margin-bottom:12px}.ex-settings select{padding:7px;min-height:33px}.ex-equation{margin-top:12px;padding-top:12px}.ex-panel-heading{margin-bottom:12px}.ex-mass-bars{gap:7px;margin-top:9px}}@media(max-width:1000px){.ex-app{height:auto;min-height:100dvh;overflow:visible}.ex-workspace{grid-template-columns:1fr 270px;grid-template-rows:auto auto;flex:none}.ex-center{grid-column:1;grid-row:1}.ex-right{grid-column:2;grid-row:1;overflow:visible}.ex-left{grid-column:1/-1;grid-row:2;overflow:visible}.ex-stage{height:430px;flex:none}.ex-task-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.ex-lesson-title h1{font-size:24px}.ex-left .ex-insight{margin-top:15px}.ex-demo-button,.ex-quiz-button{max-width:360px}.ex-insight{display:none}.ex-readings{max-height:none}.ex-header-title{display:none}.ex-mass-bars>div{grid-template-columns:110px minmax(0,1fr) 42px;gap:7px;font-size:9px}.ex-chart-panel{height:190px}.ex-metrics strong{font-size:22px}.ex-metrics article>span{font-size:9px}.ex-metrics article>div{gap:4px}.ex-metrics small{font-size:10px}.ex-footer{font-size:8px;padding:9px 14px}.ex-header{height:65px}.ex-toolbar{padding:8px 14px}.ex-toolbar button{font-size:11px;padding:7px}.ex-header-actions{gap:5px}}@media(max-width:650px){.ex-header{padding:0 12px;height:63px}.ex-brand>span{width:34px;height:36px}.ex-brand>div{font-size:12px}.ex-brand small{font-size:8px}.ex-header-actions .language-switch button{padding:7px;min-height:34px}.ex-header-actions>button{padding:7px}.ex-toolbar{gap:7px;flex-wrap:wrap;padding:6px 10px}.ex-tools{gap:5px}.ex-toolbar button{font-size:10px;padding:6px;gap:4px}.ex-toolbar button svg{width:14px}.ex-workspace{display:flex;flex-direction:column;padding:9px;gap:12px}.ex-center{display:contents}.ex-stage{order:0;height:380px;min-height:340px;flex:none}.ex-metrics{order:1;gap:6px}.ex-metrics article{padding:10px 8px}.ex-metrics strong{font-size:23px}.ex-metrics small{font-size:10px}.ex-right{order:2;padding:18px;overflow:visible}.ex-chart-panel{order:3;height:220px;padding:14px}.ex-graph{height:157px}.ex-left{order:4;padding:20px;overflow:visible}.ex-stage-hint{white-space:normal;max-width:90%;width:max-content;text-align:center;font-size:10px;bottom:37px}.ex-camera-hint{font-size:8px;bottom:15px}.ex-task-list{display:flex;flex-direction:column;gap:0}.ex-task-list li,.ex-lesson-title p{font-size:13px}.ex-demo-button,.ex-quiz-button{max-width:none;font-size:13px!important}.ex-panel-heading{margin-bottom:15px}.ex-panel-heading h2,.ex-reagent b{font-size:16px}.ex-reagent small{font-size:12px}.ex-right button{min-height:44px;font-size:13px}.ex-run-controls select{min-height:44px;width:64px}.ex-settings label,.ex-amount-label{font-size:12px}.ex-settings select{font-size:14px;min-height:44px}.ex-equation>b{font-size:16px}.ex-equation p{font-size:11px}.ex-amounts button{font-size:19px}.ex-amounts small{font-size:11px}.ex-dialog{padding:24px 20px;max-height:calc(100dvh - 24px)}.ex-modal-backdrop{padding:12px}.ex-dialog h2{font-size:25px;padding-right:15px}.ex-intro-steps{grid-template-columns:1fr}.ex-guide-image{height:155px}.ex-dialog-actions{gap:8px}.ex-dialog-actions button{font-size:11px;padding:9px}.ex-question>button{min-height:48px}.ex-demo{padding:9px 12px;font-size:10px;align-items:flex-start}.ex-demo b{max-width:55%;font-size:10px}.ex-demo button{font-size:10px;min-height:33px;padding:5px}.ex-footer>span:first-child{max-width:82%;line-height:1.7}.ex-stage-heading>span{font-size:9px}}@media(prefers-reduced-motion:reduce){.ex-app *{scroll-behavior:auto!important;transition:none!important}}@media(min-width:1001px){.library-page.expanded-library{display:flex;flex-direction:column;padding:clamp(12px,1.4vh,30px) clamp(18px,2vw,70px);gap:clamp(10px,1.2vh,25px);overflow:auto}.expanded-library .library-hero{flex:none;height:clamp(90px,14vh,285px);min-height:90px;padding:clamp(12px,1.6vh,30px) clamp(20px,2vw,65px)}.expanded-library .library-hero h1{font-size:clamp(20px,1.6vw,54px);margin:.2em 0}.expanded-library .library-hero p{font-size:clamp(11px,.8vw,27px)}.expanded-library .library-hero .eyebrow{font-size:clamp(8px,.55vw,18px)}.expanded-library .hero-pills{margin-top:.6em}.expanded-library .hero-pills span{font-size:clamp(8px,.55vw,18px);padding:.25em .7em}.expanded-library .hero-art{width:12vw}.expanded-library .hero-art>svg{width:7vw;height:9vw;max-height:12vh}.expanded-library .atom-orbit{display:none}.expanded-library .section-title{flex:none;margin:0;min-height:30px}.expanded-library .section-title h2{font-size:clamp(15px,1.05vw,35px)}.expanded-library .lesson-cards{flex:1;min-height:360px;grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(10px,1.2vh,26px)}.expanded-library .lesson-card{display:flex;flex-direction:column;min-height:0}.expanded-library .cover-art{flex:1;height:auto;min-height:80px}.expanded-library .cover-art>svg{height:90%;max-height:170px}.expanded-library .lesson-card-body{flex:none;padding:clamp(9px,1.1vh,22px) clamp(12px,1vw,30px)}.expanded-library .lesson-card h3{font-size:clamp(15px,1.05vw,35px);margin:.2em 0;line-height:1.45}.expanded-library .lesson-card p{font-size:clamp(10px,.7vw,24px);min-height:0;line-height:1.5}.expanded-library .lesson-card-body>.eyebrow{font-size:clamp(8px,.5vw,16px)}.expanded-library .lesson-card-body>div{font-size:clamp(9px,.62vw,21px);padding-top:.6em;margin-top:.65em}.expanded-library .library-note{display:none}}@media(min-width:1001px)and (max-height:800px){.expanded-library .library-hero .hero-pills,.expanded-library .lesson-card p{display:none}.expanded-library .lesson-card-body>.eyebrow{display:none}.expanded-library .lesson-cards{min-height:290px}.expanded-library .lesson-card h3{font-size:15px}.expanded-library .lesson-card-body>div{padding-top:4px;margin-top:5px}.expanded-library .lesson-card-body{padding:8px 12px}.expanded-library .cover-art{min-height:65px}}.expanded-library .lesson-card{align-items:stretch;justify-content:flex-start}.expanded-library .cover-art,.expanded-library .lesson-card-body{width:100%;align-self:stretch}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.isolate{isolation:isolate}.\!container{width:100%!important}@media(min-width:40rem){.\!container{max-width:40rem!important}}@media(min-width:48rem){.\!container{max-width:48rem!important}}@media(min-width:64rem){.\!container{max-width:64rem!important}}@media(min-width:80rem){.\!container{max-width:80rem!important}}@media(min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.columns-2{columns:2}.columns-3{columns:3}.columns-4{columns:4}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow\!{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Kanit;src:url(../fonts/Kanit-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Kanit;src:url(../fonts/Kanit-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Kanit;src:url(../fonts/Kanit-SemiBold.ttf)format("truetype");font-weight:600 900;font-display:swap}:root{color:#e6eefb;--bg:#111824;--panel:#182230;--raised:#202d3e;--surface:#1b2839;--line:#2a3b50;--text:#e6eefb;--muted:#90a4be;--blue:#5bf;--cyan:#3ddcc5;--purple:#b596fa;--shadow:0 14px 45px #03091825;color-scheme:dark;font-synthesis:none;background:#111824;font-family:Kanit,Arial,sans-serif;font-size:clamp(13px,.94vw,27px)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}button:hover{background:#7894bb14}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}input,select{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:.4rem;padding:.5rem .7rem}input::placeholder{color:var(--muted)}input[type=checkbox]{accent-color:var(--cyan);width:13px;height:13px}button svg{flex-shrink:0}p{margin:.5rem 0;line-height:1.7}h1,h2,h3{margin:0;font-weight:500;line-height:1.4}h1{font-size:1.65rem}h2{font-size:1.25rem}h3{font-size:1.04rem}small{font-size:.8em}.muted,.subtle{color:var(--muted)}.subtle{font-size:.87rem}.eyebrow{letter-spacing:.12em;color:var(--blue);font-size:.74rem;font-weight:500}.app-shell{grid-template-rows:4.3rem minmax(0,1fr);grid-template-columns:5rem minmax(0,1fr);height:100dvh;min-height:630px;display:grid;overflow:hidden}.app-header{border-bottom:1px solid var(--line);z-index:10;background:#131d2b;grid-column:1/-1;align-items:center;gap:2rem;padding:0 1.4rem;display:flex}.brand{color:var(--text);letter-spacing:.08em;cursor:pointer;flex-shrink:0;align-items:center;gap:.7rem;font-size:.95rem;display:flex}.brand-symbol{color:#fff;background:linear-gradient(145deg,#3aadee,#5363d7);border-radius:.75rem;place-items:center;width:2.55rem;height:2.55rem;display:grid;box-shadow:0 0 24px #419cff22}.brand small{letter-spacing:.2em;color:#8ca8c9;align-items:center;gap:.5rem;font-size:.58rem;display:flex}.brand small b{color:#b7d6ff;letter-spacing:0;background:#34507d;border-radius:.2rem;padding:.1rem .25rem;font-size:.5rem}.project-heading{color:var(--muted);flex:1;align-items:center;gap:.55rem;min-width:0;font-size:.8rem;display:flex}.project-heading>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-dot{background:var(--cyan);border-radius:100%;width:.4rem;height:.4rem}.unsaved{color:#ffd273;font-size:1.2rem}.header-separator{border-left:1px solid var(--line);height:1rem;margin:0 .5rem}.header-actions{align-items:center;gap:.5rem;display:flex}.language-switch{border:1px solid var(--line);background:#0c1420;border-radius:.5rem;padding:.2rem;display:flex}.language-switch button{border-radius:.3rem;min-width:2.1rem;padding:.3rem .65rem;font-size:.76rem}.language-switch button.active{color:#a8daff;background:#293e5d}.avatar{color:#68dfcf;background:#294348;border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;margin-left:.3rem;font-size:.8rem;display:grid}.icon-button{width:2.2rem;height:2.2rem;color:var(--muted);flex-shrink:0}.icon-button.active,.icon-button:hover{color:var(--blue);background:#4aafff15}.nav-rail{border-right:1px solid var(--line);background:#111a28;flex-direction:column;justify-content:space-between;padding:.9rem .4rem;display:flex}.rail-top{flex-direction:column;gap:.8rem;display:flex}.nav-rail button{color:#7f94af;flex-direction:column;gap:.45rem;width:100%;min-height:4.3rem;font-size:.66rem;display:flex;position:relative}.nav-rail button.active{color:#64c6ff;background:linear-gradient(135deg,#2585be23,#4948c522)}.nav-rail button.active:before{content:"";background:#55c3ff;border-radius:0 4px 4px 0;width:3px;position:absolute;top:1rem;bottom:1rem;left:-.4rem}.main-shell{flex-direction:column;min-width:0;min-height:0;display:flex}.toolbar{border-bottom:1px solid var(--line);background:#162131;justify-content:space-between;align-items:center;gap:.7rem;height:3.5rem;min-height:3.5rem;padding:0 1rem;display:flex}.tool-group{align-items:center;gap:.25rem;display:flex}.file-button{padding:.5rem .4rem;font-size:.85rem}.file-menu{position:relative}.menu-popover{z-index:30;background:var(--raised);border:1px solid var(--line);width:16rem;box-shadow:var(--shadow);border-radius:.7rem;padding:.4rem;position:absolute;top:2.5rem;left:0}.menu-popover button{justify-content:flex-start;width:100%;padding:.65rem;font-size:.9rem}.menu-popover kbd{color:var(--muted);margin-left:auto;font-size:.7rem}.tool-divider{border-left:1px solid var(--line);height:1.2rem;margin:0 .45rem}.engine-state{letter-spacing:.08em;color:#88c4df;background:#2a4150;border:1px solid #355465;border-radius:.3rem;margin-right:.45rem;padding:.25rem .5rem;font-size:.62rem}.engine-state.running{color:#60dfb3;background:#18483d;border-color:#226a55}.speed{color:var(--muted);align-items:center;gap:.4rem;margin-left:.6rem;font-size:.73rem;display:flex}.speed select{background:var(--raised);padding:.3rem .35rem;font-size:.75rem}.guide-button,.outline-button,.primary{white-space:nowrap;padding:.55rem .85rem;font-size:.8rem}.guide-button{color:var(--muted)}.outline-button{color:#a6d7ff;background:#24374f;border-color:#3b5578}.primary{color:#fff;background:linear-gradient(125deg,#259bdd,#507cdb);border-color:#449feb}.primary:hover{background:linear-gradient(125deg,#35b4ee,#668df3)}.workspace{flex:1;grid-template-columns:16rem minmax(0,1fr) 23rem;min-width:0;min-height:0;display:grid}.workspace.hide-library{grid-template-columns:minmax(0,1fr) 23rem}.equipment-panel{border-right:1px solid var(--line);background:#162131;flex-direction:column;min-height:0;padding:1.1rem .9rem .65rem;display:flex;overflow:auto}.panel-heading{color:var(--muted);letter-spacing:.035em;justify-content:space-between;align-items:center;gap:.5rem;font-size:.72rem;font-weight:500;display:flex}.count-badge{background:var(--raised);border-radius:.25rem;padding:.1rem .35rem;font-size:.65rem}.lesson-list{flex-direction:column;gap:.3rem;margin:.8rem 0 1.3rem;display:flex}.lesson-list button{text-align:left;border-radius:.65rem;justify-content:flex-start;gap:.7rem;width:100%;padding:.6rem .55rem;font-size:.86rem}.lesson-list button.active{background:linear-gradient(120deg,#3a4a7133,#335c7033);border-color:#3e5974}.lesson-index{background:#ffffff08;border-radius:.4rem;padding:.35rem .45rem;font-size:.86rem}.lesson-list small{color:var(--muted);margin-top:.2rem;font-size:.68rem;display:block}.active-dot{background:var(--cyan);border-radius:50%;width:.4rem;height:.4rem;margin-left:auto}.equipment-heading{border-top:1px solid var(--line);padding-top:1.1rem;font-size:.65rem}.search{border:1px solid var(--line);color:#7290ad;background:#101a28;border-radius:.5rem;align-items:center;gap:.5rem;margin:.75rem 0;padding:0 .6rem;display:flex}.search input{background:0 0;border:0;outline:none;width:100%;min-width:0;padding:.5rem 0;font-size:.74rem}.equipment-list{flex-direction:column;gap:.55rem;display:flex}.equipment-card{text-align:left;background:#1c293b;border:1px solid #2a3a51;justify-content:flex-start;gap:.6rem;min-height:4.6rem;padding:.7rem .55rem}.equipment-card.selected{background:#263b55;border-color:#61b4fa;box-shadow:inset 3px 0 #5dbdff}.chemical-icon{border-radius:.5rem;place-items:center;width:2.8rem;height:3rem;display:grid}.equipment-card b{font-size:.93rem;font-weight:500}.equipment-card small{color:var(--muted);font-size:.65rem;display:block}.equipment-card em{text-align:right;color:#bbcee3;margin-left:auto;font-size:.83rem;font-style:normal}.equipment-card em small{font-size:.6rem}.safety-note{color:#748da9;align-items:flex-start;gap:.6rem;margin-top:auto;padding-top:1.2rem;display:flex}.safety-note svg{flex-shrink:0;margin-top:.3rem}.safety-note p{margin:0;font-size:.68rem;line-height:1.7}.library-footer{color:#6f8ca5;border-top:1px solid var(--line);align-items:center;gap:.4rem;margin-top:1rem;padding-top:.8rem;font-size:.62rem;display:flex}.library-footer>span:last-child{margin-left:auto}.status-dot{background:#3adbb4;border-radius:50%;width:.38rem;height:.38rem;display:inline-block;box-shadow:0 0 8px #3adbb433}.center-workspace{background:#111c2b;flex-direction:column;min-width:0;min-height:0;padding:0 1rem;display:flex}.stage-header{justify-content:space-between;align-items:center;gap:.6rem;min-height:4.3rem;padding:.9rem 0 .75rem;display:flex}.stage-header>div:first-child{align-items:center;gap:.6rem;min-width:0;display:flex}.lesson-tag{white-space:nowrap;border-radius:.35rem;padding:.3rem .45rem;font-size:.64rem}.stage-header h1{white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;overflow:hidden}.mode-toggle{border:1px solid var(--line);background:#0c1523;border-radius:.5rem;flex-shrink:0;padding:.2rem;display:flex}.mode-toggle button{color:var(--muted);white-space:nowrap;border-radius:.3rem;padding:.3rem .5rem;font-size:.65rem}.mode-toggle button.active{color:#c3def8;background:#2a3d59}.scene-frame{background:radial-gradient(at 50% 48%,#e9eff8,#bdcddd 70%,#a7bacf);border:1px solid #42556f;border-radius:.85rem;flex:1;min-height:230px;position:relative;overflow:hidden}.scene-frame:fullscreen{border-radius:0;width:100vw;height:100vh}.scene-frame canvas{touch-action:none;cursor:grab;display:block}.scene-topline{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:.8rem;left:.85rem;right:.85rem}.viewport-label{color:#4b637e;letter-spacing:.06em;align-items:center;gap:.45rem;font-size:.62rem;font-weight:500;display:flex}.viewport-label>span{background:#2e937a;border-radius:50%;width:.32rem;height:.32rem}.viewport-label small{color:#4d6582;background:#fff7;border:1px solid #fff8;border-radius:1rem;margin-left:.3rem;padding:.15rem .4rem}.view-controls{pointer-events:auto;gap:.25rem;display:flex}.view-controls .icon-button{color:#345878;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff9c;border:1px solid #ffffffbf;width:2rem;height:2rem}.view-controls .icon-button.active{color:#1d6dac;background:#d4e9ff}.camera-presets{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#17324a16;border:1px solid #fffa;border-radius:.45rem;gap:.1rem;padding:.15rem;display:flex;position:absolute;bottom:4.1rem;right:.75rem}.camera-presets button{color:#52697e;border-radius:.3rem;padding:.3rem .45rem;font-size:.62rem}.camera-presets button.active{color:#2c547d;background:#ffffffd9}.interaction-hint{white-space:nowrap;color:#d9edff;pointer-events:none;background:#17304be8;border:1px solid #45627e;border-radius:.65rem;justify-content:center;align-items:center;gap:.6rem;width:max-content;max-width:calc(100% - 1.3rem);padding:.6rem .9rem;font-size:.7rem;display:flex;position:absolute;bottom:.8rem;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #17304b20}.interaction-hint span{white-space:normal;text-align:center}.interaction-hint svg{color:#80d6ef;flex-shrink:0}.demo-overlay{box-shadow:var(--shadow);background:#15283bf5;border:1px solid #4d6b8b;border-radius:.7rem;align-items:center;gap:1rem;padding:.9rem;display:flex;position:absolute;bottom:.8rem;left:.8rem;right:.8rem}.demo-overlay>div:first-child{flex:1}.demo-label{letter-spacing:.05em;color:#ffc878;align-items:center;gap:.4rem;font-size:.6rem;display:flex}.demo-overlay strong{margin:.35rem 0;font-size:.83rem;font-weight:400;display:block}.demo-progress{background:#344c65;border-radius:3px;height:3px;margin-top:.5rem}.demo-progress i{background:linear-gradient(90deg,#5ec6ff,#b5a0ff);height:100%;transition:width .4s;display:block}.demo-actions{flex-wrap:wrap;gap:.4rem;max-width:13rem;display:flex}.demo-actions button{border:1px solid #4a6381;padding:.45rem .55rem;font-size:.7rem}.monitor-panel{border:1px solid var(--line);resize:vertical;background:#172435;border-radius:.7rem;flex-direction:column;height:13rem;min-height:13rem;max-height:40vh;margin-top:.75rem;margin-bottom:.8rem;display:flex;overflow:hidden}.monitor-tabs{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:2.7rem;padding:0 .7rem;display:flex}.monitor-tabs>div{gap:1.2rem;height:100%;display:flex}.monitor-tabs button{color:var(--muted);border-radius:0;font-size:.74rem;position:relative}.monitor-tabs button.active{color:#c1e7ff}.monitor-tabs button.active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:-1px;left:0;right:0}.monitor-tabs em{color:#9cbada;background:#293e58;border-radius:.3rem;padding:.1rem .3rem;font-size:.6rem;font-style:normal}.monitor-content{flex:1;min-height:0;padding:.7rem;overflow:auto}.hide-monitor .monitor-panel{resize:none;height:2.8rem;min-height:2.8rem}.task-strip{grid-template-columns:repeat(5,1fr);gap:.5rem;height:100%;display:grid}.task{background:#1b2c40;border:1px solid #2b415c;border-radius:.5rem;padding:.55rem}.task>span{color:#8ba8c8;background:#2b4059;border:1px solid #405873;border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;font-size:.65rem;display:grid}.task p{color:#93abc4;margin:.45rem 0 0;font-size:.69rem;line-height:1.6}.task.done{background:#173a36;border-color:#2b705f}.task.done>span{color:#65efc4;background:#216552;border-color:#31856b}.task.done p{color:#a9d7cc}.inspector{border-left:1px solid var(--line);background:#182333;min-height:0;padding:1.15rem 1.15rem .9rem;overflow:auto}.live-tag{letter-spacing:.12em;color:#47d7b6;align-items:center;gap:.35rem;font-size:.6rem;display:flex}.live-tag i{background:#47d7b6;border-radius:50%;width:.3rem;height:.3rem}.ph-display{margin-top:1rem}.ph-display>span{color:var(--muted);font-size:.71rem}.ph-display>div{justify-content:space-between;align-items:center;display:flex}.ph-display strong{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:4rem;font-weight:500;line-height:1.3}.ph-state{background:#ffffff08;border:1px solid #ffffff0d;border-radius:2rem;padding:.35rem .7rem;font-size:.78rem}.ph-scale{background:linear-gradient(90deg,#e64b75,#ffad58 30%,#eada5f,#4edeb4 50%,#5ecfee,#6b8ceb 80%,#b378e3);border-radius:1rem;height:.35rem;margin:.35rem 0 .45rem;position:relative}.ph-scale>span{background:#1b3555;border:1px solid #fff;border-radius:3px;width:.2rem;height:.8rem;transition:left .1s;position:absolute;top:-.22rem;box-shadow:0 0 0 1px #1b3555}.scale-labels{color:var(--muted);justify-content:space-between;font-size:.61rem;display:flex}.volume-readings{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem;display:grid}.volume-readings>div{background:#111c2c;border:1px solid #2a3c55;border-radius:.65rem;padding:.65rem .85rem}.volume-readings small{color:#8ca8c8;font-size:.67rem}.volume-readings b{font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:400;display:block}.volume-readings em{color:#90a4bb;font-size:.65rem;font-style:normal}.capacity{color:var(--muted);justify-content:space-between;margin:.8rem 0 .3rem;font-size:.64rem;display:flex}.capacity b{color:#b1c6db;font-weight:400}.capacity-track,.progress-track{background:#2b4059;border-radius:3px;height:4px;overflow:hidden}.capacity-track i,.progress-track i{background:linear-gradient(90deg,#3aa6ea,#3edec9);border-radius:3px;height:100%;display:block}.inspector-divider{border-top:1px solid var(--line);margin:1rem 0}.selection-title{align-items:center;gap:.75rem;min-height:3rem;margin:.8rem 0 1rem;display:flex}.selection-badge{color:#68bcf6;background:#22384f;border:1px solid #3b526d;border-radius:.6rem;flex-shrink:0;place-items:center;width:2.9rem;height:3rem;display:grid}.selection-badge.base{color:#bb9df8;background:#332d49;border-color:#594c79}.selection-title b{font-size:.87rem;font-weight:400}.selection-title small{color:var(--muted);margin-top:.25rem;font-size:.65rem;display:block}.control-label{color:#91abc8;letter-spacing:.03em;justify-content:space-between;font-size:.68rem;display:flex}.control-label>span{color:#6e89a7}.dose-chips{grid-template-columns:repeat(5,1fr);gap:.4rem;margin:.6rem 0;display:grid}.dose-chips button{background:#111d2f;border:1px solid #2e4460;border-radius:.4rem;padding:.45rem .1rem;font-size:.86rem}.dose-chips button.active{color:#85d4ff;background:#224969;border-color:#56bfff}.pour-button{color:#fff;background:linear-gradient(115deg,#238ce2,#6461df);border:1px solid #61a4ff;justify-content:flex-start;width:100%;margin-top:.2rem;padding:.8rem .85rem;font-size:.88rem;box-shadow:0 4px 16px #2564de22}.pour-button:hover{background:linear-gradient(115deg,#31a3f1,#8573ee)}.pour-button>span{border-left:1px solid #ffffff50;margin-left:auto;padding-left:.7rem;font-size:.64rem}.pour-hint{color:#708da8;justify-content:center;align-items:center;gap:.35rem;margin:.5rem 0 .8rem;font-size:.62rem;display:flex}.lab-actions{flex-direction:column;gap:.45rem;display:flex}.lab-actions button{color:#b5d6ea;background:#1c3041;border:1px solid #335269;justify-content:flex-start;padding:.65rem .7rem;font-size:.77rem}.lab-actions button:first-child{color:#f8cd82;background:#3b3328;border-color:#5e4e36}.lab-actions button>svg:last-child:not(:first-child){margin-left:auto}.mini-count{color:#96c7e1;background:#2b485c;border-radius:.25rem;margin-left:auto;padding:.15rem .35rem;font-size:.62rem}.learning-callout{background:linear-gradient(120deg,#27334a,#252e44);border:1px solid #394963;border-radius:.6rem;margin-top:1rem;padding:.8rem}.learning-callout>span{color:#adbcfc;align-items:center;gap:.45rem;font-size:.7rem;display:flex}.learning-callout p{color:#95a9c6;margin:.45rem 0 0;font-size:.74rem;line-height:1.7}.assessment-button{color:#c8daf4;border:1px solid #3f5676;justify-content:flex-start;width:100%;margin-top:.8rem;padding:.7rem .8rem;font-size:.74rem}.assessment-button svg:last-child{margin-left:auto}.burette-controls{background:#183638;border:1px solid #315d62;border-radius:.6rem;margin-top:.8rem;padding:.7rem}.burette-controls>div:nth-child(2){gap:.35rem;margin:.5rem 0;display:flex}.burette-controls button{background:#235252;border:1px solid #357775;flex:1;padding:.4rem;font-size:.72rem}.burette-controls>button{width:100%;font-size:.68rem}.burette-controls>button.active{color:#ffda96;background:#795426}.statusbar{border-top:1px solid var(--line);color:#7896b5;background:#121e2d;justify-content:space-between;align-items:center;gap:1rem;height:2rem;min-height:2rem;padding:0 1rem;font-size:.63rem;display:flex}.statusbar>div,.statusbar>span{align-items:center;gap:.5rem;display:flex}.statusbar button{color:#7fa6c8;margin-left:.4rem;font-size:.6rem;text-decoration:underline}.footer-version{margin-left:.5rem}.chart{flex-direction:column;height:100%;min-height:100px;display:flex}.chart-heading{color:#aac8e2;justify-content:space-between;align-items:center;font-size:.65rem;display:flex}.chart-heading label{color:var(--muted);align-items:center;gap:.3rem;font-size:.58rem;display:flex}.chart svg{width:100%;height:100%;min-height:0}.chart text{fill:#829fbb;font-family:Kanit;font-size:11px}.chart-grid{stroke:#354c66;stroke-width:1px;stroke-dasharray:3 4}.chart-current{stroke:#42b9ae55;stroke-width:1px;stroke-dasharray:3 4}.theory-line{fill:none;stroke:#7294bf;stroke-width:2px;stroke-dasharray:4 4}.chart.large{height:22rem;margin-top:1rem}.event-list{font-size:.73rem}.event-list>div{border-bottom:1px solid #29405a;gap:.8rem;padding:.35rem 0;display:flex}.event-list time{color:#6f94b5;min-width:3rem}.event-list svg{color:#4ea594;margin-left:auto}.library-page,.analysis-page,.report-page{background:radial-gradient(ellipse at 100% 0,#2a275020,transparent 60%),var(--bg);flex:1;min-height:0;padding:2rem 2.5rem;overflow:auto}.library-hero{background:radial-gradient(circle at 85%,#495cd53d,#0000 40%),linear-gradient(110deg,#1c344b,#232b4c);border:1px solid #324f71;border-radius:1rem;justify-content:space-between;align-items:center;padding:2rem 2.5rem;display:flex;position:relative;overflow:hidden}.library-hero>div:first-child{z-index:1;max-width:70%}.library-hero h1{margin:.6rem 0;font-size:2.2rem;line-height:1.45}.library-hero p{color:#9cb8d5;max-width:44rem;font-size:.95rem}.hero-pills{flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;display:flex}.hero-pills>span{color:#a9c8e4;background:#0e213a33;border:1px solid #3f5c7b;border-radius:2rem;align-items:center;gap:.4rem;padding:.4rem .65rem;font-size:.72rem;display:flex}.hero-art{flex-shrink:0;width:17rem;position:relative}.hero-art>svg{filter:drop-shadow(0 15px 20px #192a6040);width:12rem;margin:auto;display:block;transform:rotate(10deg)}.atom-orbit{color:#8aacff22;position:absolute;top:-.5rem;right:-1rem;transform:rotate(-20deg)}.section-title{justify-content:space-between;align-items:center;margin:2rem 0 1rem;display:flex}.section-title h2{font-size:1.35rem}.section-title>span{color:var(--muted);font-size:.8rem}.lesson-cards{grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid}.lesson-card{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:.9rem;padding:0;transition:all .2s;display:block;overflow:hidden}.lesson-card:hover{border-color:var(--lesson);transform:translateY(-4px);box-shadow:0 10px 35px #0002}.cover-art{background:radial-gradient(circle at 50% 65%,var(--lesson),transparent 70%),linear-gradient(125deg,#172d43,#232846);place-items:center;height:13rem;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.cover-art{background:radial-gradient(circle at 50% 65%,color-mix(in srgb,var(--lesson) 18%,transparent),transparent 70%),linear-gradient(125deg,#172d43,#232846)}}.cover-art{border-bottom:1px solid var(--line);overflow:hidden}.cover-art:before,.cover-art:after{content:"";border:1px solid var(--lesson);position:absolute;inset:15% 20%}@supports (color:color-mix(in lab,red,red)){.cover-art:before,.cover-art:after{border:1px solid color-mix(in srgb,var(--lesson) 17%,transparent)}}.cover-art:before,.cover-art:after{border-radius:50%;transform:rotate(-20deg)}.cover-art:after{inset:8% 27%;transform:rotate(25deg)}.cover-art>svg{z-index:1;height:10.5rem}.cover-number{color:var(--lesson);background:#ffffff0a;border:1px solid #ffffff10;border-radius:.3rem;padding:.25rem .45rem;font-size:.65rem;position:absolute;top:1rem;left:1rem}.molecule{color:var(--lesson);background:#182e4866;border:1px solid #ffffff18;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;font-size:.8rem;display:grid;position:absolute}.m1{top:2.7rem;right:2.5rem}.m2{width:2rem;height:2rem;font-size:.65rem;bottom:2rem;left:2rem}.lesson-card-body{padding:1.3rem}.lesson-card-body>.eyebrow{color:var(--lesson);font-size:.62rem}.lesson-card h3{margin:.5rem 0;font-size:1.3rem}.lesson-card p{color:var(--muted);min-height:3rem;font-size:.85rem}.lesson-card-body>div{border-top:1px solid var(--line);color:#9cb2ca;justify-content:space-between;margin-top:1.2rem;padding-top:1rem;font-size:.76rem;display:flex}.lesson-card-body>div>span{align-items:center;gap:.4rem;display:flex}.lesson-card-body>div>span:last-child{color:var(--lesson)}.library-note{border:1px solid var(--line);background:#1a2a3b;border-radius:.7rem;align-items:center;gap:1rem;margin-top:1.4rem;padding:1.1rem 1.4rem;display:flex}.library-note>svg{color:#eabd69;flex-shrink:0}.library-note b{font-size:.9rem;font-weight:500}.library-note p{color:var(--muted);margin:.2rem 0;font-size:.8rem}.library-note button{white-space:nowrap;border:1px solid #365477;margin-left:auto;padding:.6rem .9rem;font-size:.8rem}.page-title{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-title h1{margin-top:.5rem;font-size:1.9rem}.surface{background:var(--panel);border:1px solid var(--line);border-radius:.9rem;padding:1.5rem}.surface h2{font-size:1.15rem}.surface h2>span{color:var(--muted);font-size:.8rem}.analysis-grid{grid-template-columns:1.1fr 1fr;gap:1.2rem;display:grid}.table-scroll{max-height:30rem;margin-top:1rem;overflow:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.83rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.7rem .6rem}th{color:var(--muted);background:var(--raised);font-size:.7rem;font-weight:400}tbody tr:hover{background:#78a8cc08}.empty-state{color:var(--muted);flex-direction:column;align-items:center;padding:4rem 1rem;display:flex}.empty-state svg{color:#5b7fa8;margin-bottom:.5rem}.empty-state button{color:#9dcbf7;border:1px solid #46658b;margin-top:.7rem;padding:.5rem .8rem;font-size:.8rem}.reaction-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.2rem;display:flex}.reaction-banner span{color:#58d3bc;font-size:.65rem}.reaction-banner h2{color:#a1ded6;margin-top:.45rem;font-size:1.3rem}.reaction-banner p{color:var(--muted);font-size:.8rem}.reaction-banner button{color:#9dbedf;font-size:.7rem}.report-grid{grid-template-columns:1.5fr 1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.form-label{color:var(--muted);flex-direction:column;gap:.4rem;margin-top:1rem;font-size:.8rem;display:flex}.form-label input{font-size:.9rem}.report-lesson{color:var(--blue);align-items:center;gap:.8rem;margin-top:1.2rem;display:flex}.report-lesson small{letter-spacing:.1em;font-size:.6rem;display:block}.report-lesson b{color:#c1d7ef;font-size:.9rem;font-weight:400}.score-surface{flex-direction:column;justify-content:center;display:flex}.score-surface>span{color:var(--muted);font-size:.75rem}.score-surface strong{color:#57dcc0;font-size:4.5rem;font-weight:400;line-height:1.5}.score-surface strong small{color:#55718d;margin-left:.5rem;font-size:1.5rem}.score-surface p{color:var(--muted);font-size:.78rem}.score-surface.purple strong{color:#b599ff}.score-surface button{color:#b99bff;justify-content:flex-start;margin-top:.5rem;font-size:.75rem}.report-tasks{margin-top:1rem}.report-tasks>div{border-bottom:1px solid var(--line);align-items:center;gap:.7rem;padding:.8rem .3rem;font-size:.9rem;display:flex}.report-tasks svg{color:#45d3b6}.report-tasks em{color:var(--muted);margin-left:auto;font-size:.75rem;font-style:normal}.empty-check{border:1px solid #4a637d;border-radius:50%;width:20px;height:20px}.toast{z-index:80;background:#253c54;border:1px solid #476988;border-radius:.7rem;align-items:center;gap:.75rem;max-width:90vw;padding:.85rem 1.1rem;font-size:.9rem;display:flex;position:fixed;bottom:3rem;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #0005}.toast>svg{color:#69dcc4;flex-shrink:0}.toast button{margin-left:.5rem;padding:.2rem}.modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:100;background:#06101ecc;justify-content:center;align-items:center;padding:1.3rem;display:flex;position:fixed;inset:0}.modal{background:linear-gradient(140deg,#203047,#172335);border:1px solid #39536f;border-radius:1.1rem;width:100%;max-width:680px;max-height:90vh;padding:2rem;position:relative;overflow:auto;box-shadow:0 25px 100px #0006}.modal h2{margin:.6rem 0;font-size:1.8rem}.modal>p{color:#9db4ce;margin:.8rem 0 1rem;font-size:.93rem}.modal-close{color:#8eaac4;background:#30425a;padding:.3rem;position:absolute;top:1rem;right:1rem}.modal .eyebrow{font-size:.67rem}.modal-actions{justify-content:flex-end;gap:.7rem;margin-top:1.6rem;display:flex}.modal-actions>button{border:1px solid #3f5878;padding:.65rem 1rem;font-size:.88rem}.tutorial-intro{background:radial-gradient(at 0%,#3f4a9140,#0000 80%),#17283f;border:1px solid #364e70;border-radius:.8rem;align-items:center;gap:1.2rem;margin:1.3rem 0;padding:1rem;display:flex}.tutorial-intro>svg{flex-shrink:0;width:6rem}.tutorial-intro b{font-size:1.05rem;font-weight:500;display:block}.tutorial-intro span{color:#82bee7;margin:.3rem 0;font-size:.75rem;display:block}.tutorial-intro p{color:#91adc8;margin:0;font-size:.8rem}.tutorial-steps{flex-direction:column;gap:.85rem;padding:0;list-style:none;display:flex}.tutorial-steps li{align-items:flex-start;gap:.85rem;display:flex}.tutorial-steps li>span{color:#80c5f3;background:#273b57;border:1px solid #4a6687;border-radius:50%;flex-shrink:0;place-items:center;width:1.9rem;height:1.9rem;font-size:.75rem;display:grid}.tutorial-steps b{font-size:.9rem;font-weight:400;line-height:1.8}.tutorial-steps p{color:#8da5bf;margin:.2rem 0;font-size:.78rem}.question{border-bottom:1px solid var(--line);padding:1.3rem 0}.question h3{margin-bottom:.9rem;font-size:.98rem}.question>div{flex-direction:column;gap:.5rem;display:flex}.question button{text-align:left;background:#182a40;border:1px solid #3c536e;border-radius:.5rem;justify-content:flex-start;padding:.7rem;font-size:.86rem}.question button>span{color:#9dbbd6;background:#30445e;border-radius:.3rem;padding:.2rem .4rem;font-size:.65rem}.question button.correct{color:#a2e8cf;background:#17483e;border-color:#3caa8d}.question button.incorrect{background:#533d30;border-color:#b78349}.question button svg{margin-left:auto}.feedback{color:#94c9c2;margin-top:.6rem;font-size:.8rem}.quiz-summary{color:#7ce3c9;justify-content:space-between;align-items:center;padding-top:1.2rem;font-size:1.1rem;display:flex}.quiz-summary button{border:1px solid #3c5d7a;padding:.5rem .8rem;font-size:.8rem}.settings-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1.2rem 0;font-size:.9rem;display:flex}.settings-row>b{color:#a6d7ff;font-weight:400}.settings-row>button{border:1px solid #3f5879;padding:.6rem .9rem}.help-steps{flex-direction:column;gap:1.4rem;margin:1.5rem 0;display:flex}.help-steps>div{gap:1rem;display:flex}.help-steps>div>span{color:#7dc6fc;background:#2c4160;border:1px solid #3f5b7e;border-radius:.75rem;flex-shrink:0;place-items:center;width:3.3rem;height:3.3rem;display:grid}.help-steps h3{font-size:1.05rem}.help-steps p{color:#90aaca;margin:.4rem 0 0;font-size:.85rem}.wide{width:100%}.reference{color:#9bbad7;overflow-wrap:anywhere;background:#132238;border:1px solid #35506e;border-radius:.5rem;margin-top:1rem;padding:1rem;font-size:.85rem}.modal ul{color:#afc3d9;padding-left:1.3rem;font-size:.9rem;line-height:1.9}.modal li{margin:.4rem 0}.confirm-modal{max-width:450px}.confirm-icon{color:#f5c77e;background:#604d2e;border-radius:50%;place-items:center;width:3.3rem;height:3.3rem;display:grid}.confirm-modal h2{font-size:1.4rem}.scene-error{color:#244b6e;text-align:center;place-content:center;height:100%;padding:2rem;display:grid}:root[data-theme=light]{--bg:#eef3fa;--panel:#fff;--raised:#f0f5fb;--surface:#fff;--line:#d4e0ef;--text:#243c58;--muted:#6e86a3;--blue:#1889d3;color-scheme:light;background:var(--bg);color:var(--text)}[data-theme=light] .app-header,[data-theme=light] .toolbar,[data-theme=light] .nav-rail,[data-theme=light] .equipment-panel,[data-theme=light] .inspector,[data-theme=light] .statusbar{background:#f9fbff}[data-theme=light] .center-workspace{background:#eaf1f8}[data-theme=light] .equipment-card,[data-theme=light] .monitor-panel,[data-theme=light] .volume-readings>div,[data-theme=light] .dose-chips button,[data-theme=light] .task,[data-theme=light] .search,[data-theme=light] .mode-toggle,[data-theme=light] .learning-callout,[data-theme=light] .language-switch{color:#365577;background:#f4f8fe;border-color:#cad9ec}[data-theme=light] .task p,[data-theme=light] .learning-callout p{color:#597697}[data-theme=light] .equipment-card.selected,[data-theme=light] .dose-chips button.active{background:#dfedff;border-color:#66b5ef}[data-theme=light] .task.done{background:#def5ed;border-color:#8dcebc}[data-theme=light] .task.done p{color:#3a8070}[data-theme=light] .volume-readings b{color:#264662}[data-theme=light] .library-hero,[data-theme=light] .lesson-card .cover-art,[data-theme=light] .modal,[data-theme=light] .demo-overlay{color:#e6eefb}[data-theme=light] .library-note{background:#e3edf9}[data-theme=light] .lesson-card-body{background:#fff}[data-theme=light] .modal input{color:#d8eaff;background:#14263d}[data-theme=light] .toast{color:#e6eefb}@media(min-width:2200px){.workspace{grid-template-columns:17rem minmax(0,1fr) 24rem}.workspace.hide-library{grid-template-columns:minmax(0,1fr) 24rem}.monitor-panel{height:14rem;min-height:14rem}.modal{max-width:1000px}.lesson-cards{gap:1.5rem}.library-page{padding:2.5rem 3.5rem}.cover-art{height:15rem}.cover-art>svg{height:12rem}}@media(max-height:820px)and (min-width:1100px){.app-shell{grid-template-rows:3.5rem minmax(0,1fr);min-height:600px}.toolbar{height:3rem;min-height:3rem}.stage-header{min-height:3.6rem;padding:.65rem 0}.monitor-panel{height:10rem;min-height:10rem}.monitor-tabs{min-height:2.4rem}.task{padding:.4rem}.task p{font-size:.62rem}.inspector{padding:.85rem 1rem}.ph-display{margin-top:.65rem}.ph-display strong{font-size:3.3rem}.volume-readings{margin-top:.65rem}.inspector-divider{margin:.8rem 0}.learning-callout{margin-top:.7rem}.equipment-panel{padding-top:.85rem}.scene-frame{min-height:200px}}@media(max-width:1300px){.workspace{grid-template-columns:13.8rem minmax(0,1fr) 21rem}.workspace.hide-library{grid-template-columns:minmax(0,1fr) 21rem}.project-heading>span:last-child,.simulation-tools .speed>span{display:none}.stage-header{flex-wrap:wrap}.stage-header h1{font-size:.95rem}.stage-header .mode-toggle button{font-size:.59rem}.task-strip{grid-template-columns:repeat(3,1fr)}.task p{font-size:.66rem}.equipment-card{padding:.6rem .4rem}.equipment-card em{font-size:.7rem}.chemical-icon{width:2.1rem}.equipment-card .chemical-icon svg{width:20px}.library-page,.analysis-page,.report-page{padding:1.5rem}.toolbar-end .guide-button{display:none}}@media(max-width:1100px){.workspace,.workspace.hide-library{grid-template-columns:minmax(0,1fr) 22rem}.equipment-panel,.header-separator,.project-heading{display:none}.header-actions{margin-left:auto}.toolbar .simulation-tools .engine-state{display:none}.library-hero h1{font-size:1.7rem}.hero-art{width:10rem}.hero-art>svg{width:9rem}.lesson-cards{gap:.8rem}.lesson-card-body{padding:1rem}.lesson-card h3{font-size:1.1rem}.report-grid{grid-template-columns:1fr 1fr}.report-grid>.surface:first-child{grid-column:1/-1}.analysis-grid{grid-template-columns:1fr}.scene-frame{min-height:260px}.task-strip{grid-template-columns:repeat(3,1fr)}.modal{font-size:15px}}@media(max-width:760px){:root{font-size:14px}.app-shell{flex-direction:column;height:auto;min-height:100dvh;display:flex;overflow:visible}.app-header{flex-shrink:0;gap:.5rem;height:60px;padding:0 1rem}.brand{font-size:.8rem}.brand-symbol{width:2.3rem;height:2.3rem}.brand small{font-size:.48rem}.header-actions .avatar{display:none}.header-actions{gap:.2rem}.header-actions>.icon-button:first-of-type{display:none}.nav-rail{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;height:61px;padding:.3rem .5rem}.rail-top{flex-direction:row;flex:1;gap:.4rem}.nav-rail button{gap:.2rem;min-height:3.5rem;padding:.3rem;font-size:.6rem}.nav-rail>.rail-top button{flex:1;min-width:4.1rem}.nav-rail>button{width:4rem}.nav-rail button.active:before{width:auto;height:2px;inset:auto 25% -.3rem}.main-shell{overflow:visible}.toolbar{flex-wrap:wrap;gap:.2rem;height:auto;min-height:3.6rem;padding:.4rem .5rem}.toolbar .tool-group{gap:0}.toolbar .simulation-tools{border-top:1px solid var(--line);order:3;justify-content:center;width:100%;margin-top:.2rem;padding-top:.3rem}.toolbar-end .outline-button{padding:.5rem;font-size:.7rem}.toolbar .speed>span{display:inline}.workspace,.workspace.hide-library{flex-direction:column;display:flex}.center-workspace{flex-shrink:0;height:650px;padding:0 .65rem}.stage-header{flex-wrap:wrap;gap:.3rem;min-height:4rem;padding:.7rem 0}.stage-header h1{font-size:1rem}.stage-header .mode-toggle button{font-size:.65rem}.scene-frame{flex:1;min-height:350px}.scene-topline{top:.6rem;left:.5rem;right:.5rem}.viewport-label{font-size:.52rem}.viewport-label small{display:none}.view-controls .icon-button{width:1.9rem;height:1.9rem}.view-controls .icon-button:first-child{display:none}.interaction-hint{padding:.5rem .7rem;font-size:.65rem;bottom:.6rem}.camera-presets{bottom:4.5rem}.monitor-panel{height:12rem;min-height:12rem;margin-top:.6rem}.monitor-tabs{padding:0 .5rem}.monitor-tabs>div{gap:.9rem}.monitor-tabs button{font-size:.66rem}.task-strip{grid-template-columns:repeat(3,1fr)}.task p{font-size:.65rem}.inspector{border-left:0;border-top:1px solid var(--line);padding:1.3rem 1.4rem;overflow:visible}.inspector .ph-display strong{font-size:4.5rem}.panel-heading{font-size:.8rem}.ph-display>span,.capacity,.control-label{font-size:.75rem}.dose-chips button{min-height:44px;font-size:1rem}.pour-button{min-height:50px;font-size:1rem}.lab-actions button,.assessment-button{min-height:44px;font-size:.88rem}.selection-title b{font-size:1rem}.selection-title small{font-size:.75rem}.learning-callout p{font-size:.86rem}.learning-callout>span{font-size:.8rem}.pour-hint{font-size:.72rem}.volume-readings b{font-size:1.8rem}.volume-readings small{font-size:.8rem}.statusbar{flex-wrap:wrap;gap:.3rem;height:auto;min-height:3.5rem;padding:.6rem .8rem;font-size:.6rem}.footer-version{display:none}.library-page,.analysis-page,.report-page{padding:1.2rem .9rem;overflow:visible}.library-hero{padding:1.3rem}.library-hero>div:first-child{max-width:100%}.library-hero h1{font-size:1.7rem}.library-hero p{font-size:.85rem}.hero-art{display:none}.hero-pills{gap:.4rem}.hero-pills>span{padding:.35rem .5rem;font-size:.6rem}.lesson-cards{grid-template-columns:1fr;gap:1rem}.cover-art{height:13rem}.lesson-card h3{font-size:1.4rem}.lesson-card p{min-height:0;font-size:.9rem}.lesson-card-body{padding:1.3rem}.library-note{flex-wrap:wrap;gap:.6rem;padding:1rem}.library-note>div{flex:1}.library-note button{margin-left:2rem}.section-title h2{font-size:1.15rem}.page-title{flex-wrap:wrap}.page-title h1{font-size:1.5rem}.analysis-grid,.report-grid{grid-template-columns:1fr}.report-grid>.surface:first-child{grid-column:auto}.report-tasks>div{font-size:.8rem}.report-tasks em{font-size:.6rem}.surface{padding:1.1rem}.modal-backdrop{padding:.7rem}.modal{max-height:92dvh;padding:1.4rem 1.1rem}.modal h2{margin-right:1.4rem;font-size:1.5rem}.modal>p{font-size:.85rem}.tutorial-intro{gap:.7rem;padding:.8rem}.tutorial-intro>svg{width:4.5rem}.tutorial-intro p{font-size:.75rem}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:1;min-height:44px}.modal .question button{min-height:44px}.demo-overlay{flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem}.demo-actions{justify-content:flex-end;max-width:none}.demo-overlay strong{font-size:.75rem}.demo-label{font-size:.55rem}.demo-actions button{font-size:.7rem}.scene-frame:fullscreen{height:100dvh}.toast{width:max-content;max-width:95vw;font-size:.8rem;bottom:1rem}.settings-row{font-size:.8rem}.settings-row .language-switch button{font-size:.75rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.panel-heading,.viewport-label,.statusbar,.library-footer,.control-label,.capacity,.pour-hint,.scale-labels,.equipment-card small,.selection-title small,.safety-note p{font-size:max(10px,.7rem)}.lesson-list button,.equipment-card b,.guide-button,.outline-button,.file-button,.lab-actions button,.assessment-button{font-size:max(12px,.82rem)}.task p,.learning-callout p,.monitor-tabs button,.interaction-hint{font-size:max(11px,.74rem)}.lesson-list small,.dose-chips button,.mode-toggle button,.camera-presets button{font-size:max(10px,.7rem)}@media(max-width:760px){.statusbar,.viewport-label,.camera-presets button,.mode-toggle button{font-size:10px}.monitor-tabs button{font-size:11px}.task p{font-size:10px}.task-strip{gap:.4rem}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
