:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17231f;font-synthesis:none;--ink:#17231f;--muted:#6f7d77;--line:#dce4df;--line-strong:#c7d2cc;--surface:#fff;--soft:#f4f7f5;--green:#176f52;--green-dark:#0f523d;--green-soft:#e6f2ed;--amber:#c47724;--amber-soft:#fff4e6;--red:#b64949;--blue:#34739b;background:#eef2ef;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{overflow:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible{outline-offset:2px;outline:3px solid #26826040}input:focus-visible{outline-offset:2px;outline:3px solid #26826040}select:focus-visible{outline-offset:2px;outline:3px solid #26826040}[role=button]:focus-visible{outline-offset:2px;outline:3px solid #26826040}.app-shell{background:#eef2ef;min-height:100vh}.topbar{z-index:30;border-bottom:1px solid var(--line);background:#fffffff7;grid-template-columns:248px minmax(420px,1fr) 340px;align-items:center;height:68px;display:grid;position:relative;box-shadow:0 1px #12332708}.brand{border-right:1px solid var(--line);align-items:center;gap:10px;height:100%;padding:0 18px;display:flex}.brand__mark{color:#fff;background:var(--green);border-radius:6px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 5px 12px #176f5233}.brand__name{font-size:16px;font-weight:700;line-height:1.25}.brand__en{color:#8b9892;letter-spacing:0;margin-top:2px;font-family:Manrope,sans-serif;font-size:8px;font-weight:700}.experiment-heading{align-items:center;gap:14px;min-width:0;padding:0 22px;display:flex}.experiment-heading__copy{min-width:0}.subject-pill{color:var(--green-dark);background:var(--green-soft);border-radius:4px;flex:none;align-items:center;gap:5px;padding:5px 8px;font-size:11px;font-weight:600;display:inline-flex}.experiment-heading h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:700;line-height:1.35;overflow:hidden}.experiment-heading p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-family:Manrope,Noto Sans SC,sans-serif;font-size:10px;overflow:hidden}.topbar-progress{flex:0 190px;min-width:130px;margin-left:auto}.topbar-progress>div:first-child{color:#6f7d77;align-items:center;gap:5px;font-size:9px;font-weight:650;display:flex}.topbar-progress svg{color:var(--green)}.topbar-progress strong{color:var(--green);margin-left:auto;font-family:Manrope,sans-serif;font-size:10px}.topbar-progress .progress-track{margin-top:5px}.topbar__actions{border-left:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;height:100%;padding:0 16px;display:flex}.autosave{color:#617069;align-items:center;gap:6px;margin-right:6px;font-size:11px;display:flex}.autosave span,.live-dot:before{content:"";background:#2c966e;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #2c966e1a}.icon-button{color:#53625c;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:5px;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.icon-button:hover{color:var(--green);background:var(--green-soft);border-color:#bad7ca}.mobile-menu{display:none}.avatar{color:#65381f;background:#f4cfab;border:2px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;margin-left:4px;font-size:10px;font-weight:700;display:grid;box-shadow:0 0 0 1px #deb58f}.workspace{grid-template-columns:248px minmax(560px,1fr) 340px;height:calc(100vh - 68px);display:grid}.app-shell.is-navigation-hidden .topbar{grid-template-columns:minmax(420px,1fr) 340px}.app-shell.is-navigation-hidden .workspace{grid-template-columns:minmax(560px,1fr) 340px}.catalog,.control-panel{z-index:20;background:var(--surface);min-height:0;position:relative}.catalog{background:#f8faf9;border-right:1px solid #dfe8e3;flex-direction:column;display:flex}.catalog__mobile-head{display:none}.grade-switch{background:#e9f0ec;border:1px solid #e1eae5;border-radius:8px;grid-template-columns:1fr 1fr;gap:2px;margin:14px 14px 12px;padding:4px;display:grid}.grade-switch button{color:#75827c;cursor:pointer;background:0 0;border:0;border-radius:6px;height:34px;padding:0;font-size:12px;font-weight:600}.grade-switch button.is-active{color:var(--green-dark);background:#fff;border:1px solid #d2e4da;box-shadow:0 2px 6px #14372a1a}.subject-nav{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,1fr);gap:3px;margin:0 14px 12px;padding-bottom:8px;display:grid}.subject-nav button{color:#7e8a84;cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:7px 1px 8px;display:flex;position:relative}.subject-nav button:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:3px;position:absolute;bottom:-9px;left:8px;right:8px}.subject-nav button.is-active{color:var(--subject-color)}.subject-nav button.is-active:after{background:var(--subject-color)}.subject-nav__icon{background:#f2f5f3;border:1px solid #e3ebe7;border-radius:9px;place-items:center;width:30px;height:30px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.subject-nav button.is-active .subject-nav__icon{background:color-mix(in srgb,var(--subject-color)12%,white);border-color:color-mix(in srgb,var(--subject-color)36%,white);box-shadow:0 2px 6px color-mix(in srgb,var(--subject-color)16%,transparent)}.subject-nav button>span:nth-child(2){font-size:10px;font-weight:600}.subject-nav small{color:#9ba59f;background:#f0f4f2;border-radius:4px;min-width:14px;padding:1px 3px;font-family:Manrope,sans-serif;font-size:8px;line-height:1.2;position:absolute;top:1px;right:0}.module-filter{gap:6px;margin:0 14px 11px;display:grid;position:relative}.module-filter label{color:#78857f;font-size:10px;font-weight:600}.module-filter select{color:#294139;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #cbdad2;border-radius:7px;width:100%;min-height:36px;padding:0 30px 0 10px;font-size:11px;line-height:1.2;overflow:hidden;box-shadow:0 2px 7px #2244340d}.module-filter:after{content:"";pointer-events:none;border-bottom:1.5px solid #5f776b;border-right:1.5px solid #5f776b;width:7px;height:7px;position:absolute;top:calc(100% - 18px);right:13px;transform:translateY(-50%)rotate(45deg)}.module-filter select:disabled{color:#9ba59f;cursor:default}.catalog__standard{background:#fff;border:1px solid #e1ebe6;border-left:3px solid #82b49c;border-radius:6px;margin:0 14px 12px;padding:8px 10px;box-shadow:0 2px 7px #2244340a}.catalog__standard span{color:#87938d;font-size:9px;font-weight:600;display:block}.catalog__standard p{color:#6f7d77;max-height:29px;margin:3px 0 0;font-size:9.5px;line-height:1.45;overflow:hidden}.catalog__section-title{color:#6f7c76;align-items:center;gap:6px;padding:1px 15px 8px;font-size:11px;font-weight:600;display:flex}.catalog__section-title small{min-width:17px;height:17px;color:var(--green-dark);background:#e5f2eb;border-radius:5px;place-items:center;font-family:Manrope,sans-serif;font-size:9px;display:inline-grid}.experiment-list{scrollbar-color:#b9cbc1 transparent;scrollbar-width:thin;min-height:0;padding:0 12px 16px;overflow-y:auto}.experiment-list::-webkit-scrollbar{width:6px}.experiment-list::-webkit-scrollbar-track{background:0 0}.experiment-list::-webkit-scrollbar-thumb{background:#b9cbc1;border-radius:6px}.catalog-theme{margin-bottom:8px}.catalog-theme__toggle{color:#40584e;text-align:left;cursor:pointer;background:#fff;border:1px solid #dfeae4;border-radius:7px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;padding:9px 9px 8px;display:grid;box-shadow:0 2px 6px #2244340a}.catalog-theme__toggle:hover{background:#edf5f1}.catalog-theme__toggle>svg{color:var(--green);align-self:center;transition:transform .16s}.catalog-theme__toggle.is-collapsed>svg{transform:rotate(-90deg)}.catalog-theme__toggle span{overflow-wrap:anywhere;min-width:0;font-size:10.5px;font-weight:700;line-height:1.45}.catalog-theme__toggle small,.catalog-group__title small{color:#819089;text-align:right;background:#f1f5f3;border-radius:4px;min-width:16px;padding:2px 4px;font-family:Manrope,sans-serif;font-size:9px}.catalog-theme__items{border-left:1px solid #dfeae4;margin-left:16px;padding:4px 0 2px 8px}.catalog-group{margin:1px 0 5px}.catalog-group__title{color:#7b8982;justify-content:space-between;align-items:center;gap:6px;padding:5px 8px 4px 7px;font-size:9.5px;font-weight:600;display:flex}.catalog-group__title span{overflow-wrap:anywhere;min-width:0;line-height:1.35}.experiment-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-bottom-color:#edf2ef;border-radius:6px;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:9px;width:100%;margin-bottom:1px;padding:9px 5px;display:grid;position:relative}.experiment-item.is-active{background:#edf6f2;border-color:#cee5db;box-shadow:0 2px 6px #1862460f}.experiment-item:disabled{color:inherit;cursor:default;opacity:1}.experiment-item__number{color:#5f8574;background:#fff;border:1px solid #cfe2da;border-radius:7px;place-items:center;width:28px;height:28px;font-family:Manrope,sans-serif;font-size:11px;font-weight:700;display:grid}.experiment-item strong,.experiment-item small,.experiment-item em{display:block}.experiment-item__content{min-width:0}.experiment-item strong{color:#40574d;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.experiment-item small{color:#84938b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:8.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.experiment-item em{color:#8b9691;align-items:center;gap:3px;margin-top:5px;font-size:8.5px;font-style:normal;display:flex}.experiment-item__duration{align-items:center;gap:3px;display:inline-flex}.experiment-item>svg{color:var(--green);align-self:center}.experiment-item em i{color:#89745b;white-space:nowrap;background:#f5eee5;border:1px solid #eee2d5;border-radius:3px;margin-left:auto;padding:2px 4px;font-size:8px;font-style:normal;line-height:1.2}.catalog-empty{color:#9ba59f;text-align:center;justify-items:center;padding:34px 12px;display:grid}.catalog-empty p{margin:8px 0 0;font-size:11px}.progress-track{background:#dfe7e3;border-radius:3px;height:5px;margin-top:7px;overflow:hidden}.progress-track span{background:var(--green);border-radius:inherit;height:100%;transition:width .3s;display:block}.navigation-confirm-backdrop{z-index:120;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#192a2352;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.navigation-confirm{background:#fff;border:1px solid #cddbd4;border-radius:8px;grid-template-columns:42px minmax(0,1fr);gap:3px 12px;width:min(380px,100%);padding:22px;display:grid;box-shadow:0 18px 45px #18332838}.navigation-confirm__icon{color:#a46125;background:var(--amber-soft);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.navigation-confirm__copy h2{color:#294238;margin:2px 0 5px;font-size:15px;font-weight:750}.navigation-confirm__copy p{color:#708078;margin:0;font-size:10px;line-height:1.6}.navigation-confirm__actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.navigation-confirm__actions button{flex:1 1 0;width:auto;min-width:92px;min-height:32px;margin-top:0;padding:0 10px}.lab-main{background:#e6ece8;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.lab-toolbar{z-index:10;border-bottom:1px solid var(--line-strong);background:#f8faf9f5;justify-content:space-between;align-items:center;min-height:74px;padding:11px 18px;display:flex;position:relative}.instruction{align-items:center;gap:11px;min-width:0;display:flex}.instruction__index{color:#fff;background:var(--green);border-radius:5px;flex:none;place-items:center;width:40px;height:40px;font-family:Manrope,sans-serif;font-size:13px;font-weight:700;display:grid}.instruction small,.instruction strong{display:block}.instruction small{color:#89958f;margin-bottom:3px;font-size:9px}.instruction strong{text-overflow:ellipsis;white-space:nowrap;max-width:440px;font-size:12px;font-weight:600;overflow:hidden}.live-metrics{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:stretch;display:flex}.live-metrics>div{border-right:1px solid var(--line);min-width:84px;padding:7px 10px}.live-metrics>div:last-child{border-right:0}.live-metrics small,.live-metrics strong{display:block}.live-metrics small{color:#89958f;font-size:8px}.live-metrics strong{color:#263b33;margin-top:2px;font-family:Manrope,Noto Sans SC,sans-serif;font-size:13px;font-weight:700}.live-metrics strong em{color:#819089;font-size:8px;font-style:normal}.live-metrics .has-warning strong{color:var(--red)}.lab-stage{isolation:isolate;contain:layout paint;background:#eaf0ed;flex:1;min-height:540px;position:relative;overflow:hidden}.lab-canvas-shell{z-index:1;background:#e8efec;position:absolute;top:0;bottom:0;left:0;right:0}.lab-canvas-shell canvas{touch-action:none;cursor:grab;display:block;width:100%!important;height:100%!important}.lab-stage[class*=dragging-] .lab-canvas-shell canvas{cursor:grabbing}.scene-loading{z-index:10;color:#547066;background:#e8efec;justify-content:center;align-items:center;gap:9px;font-size:10px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.scene-loading span{border:2px solid #b8d2c7;border-top-color:var(--green);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite transferSpin}.engine-status{z-index:20;color:#405c52;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#ffffffd1;border:1px solid #91aea1a6;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-family:Manrope,Noto Sans SC,sans-serif;font-size:8px;font-weight:600;display:flex;position:absolute;bottom:16px;right:18px}.engine-status span{background:#28a373;border-radius:50%;width:6px;height:6px;animation:1.4s infinite livePulse;box-shadow:0 0 0 4px #28a3731f}.scene-drag-tip{z-index:20;color:#405c52;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#ffffffd6;border:1px solid #91aea1a6;margin:0;position:absolute;bottom:16px;left:18px}.lab-stage.is-replaying:after{z-index:40;content:"";pointer-events:none;background:#ecf3ef14;position:absolute;top:0;bottom:0;left:0;right:0}.stage-grid{background-color:#ecf2ef;background-image:linear-gradient(#5b776a12 1px,#0000 1px),linear-gradient(90deg,#5b776a12 1px,#0000 1px);background-size:24px 24px;position:absolute;top:0;bottom:142px;left:0;right:0}.stage-grid:before{content:"";background:linear-gradient(90deg,#ffffff6b,#0000 28% 72%,#ffffff47);position:absolute;top:0;bottom:0;left:0;right:0}.stage-shelf{opacity:.55;border-bottom:5px solid #b3c0ba;align-items:flex-end;gap:8px;width:175px;height:56px;padding:0 13px 6px;display:flex;position:absolute;top:8%;left:5%}.stage-shelf span{background:#ffffff6b;border:2px solid #9eb0a8;border-radius:2px 2px 7px 7px;width:22px;height:34px;display:block}.stage-shelf span:nth-child(2){background:#e09c5533;height:43px}.stage-shelf span:nth-child(3){border-radius:2px 2px 11px 11px;width:34px;height:27px}.stage-shelf span:nth-child(4){background:#468ea42b;height:39px}.stage-sign{color:#658177;z-index:20;pointer-events:none;background:#ffffff8c;border:1px solid #9db2a980;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-family:Manrope,Noto Sans SC,sans-serif;font-size:9px;font-weight:600;display:flex;position:absolute;top:4%;right:4%}.lab-stand{z-index:4;pointer-events:none;width:160px;height:calc(89% - 132px);min-height:340px;position:absolute;top:11%;left:66%}.lab-stand__rod{background:linear-gradient(90deg,#6e7774,#c2c9c6 50%,#515a56);border-radius:3px;width:7px;position:absolute;top:0;bottom:18px;left:106px;box-shadow:3px 2px 5px #19282229}.lab-stand__base{background:#4f5955;border:2px solid #3c4441;border-radius:4px 4px 2px 2px;width:150px;height:22px;position:absolute;bottom:0;right:0;box-shadow:0 8px 12px #16262038}.lab-stand__clamp{background:#737d79;border-radius:3px;width:76px;height:9px;position:absolute;top:60px;left:35px}.lab-stand__clamp span{border:5px solid #5c6662;border-right-color:#0000;border-radius:50%;width:22px;height:26px;position:absolute;top:-8px;left:-7px}.burette{z-index:7;width:34px;height:330px;position:absolute;top:9%;left:calc(66% + 26px)}.burette:before{content:"";background:#e7f2f2;border:2px solid #79979c;border-radius:2px;width:26px;height:8px;position:absolute;top:-4px;left:4px}.burette__glass{background:#f7ffff73;border:2px solid #597e85b8;border-radius:2px 2px 5px 5px;width:19px;height:250px;position:absolute;top:0;left:8px;overflow:hidden;box-shadow:inset 4px 0 #ffffff9e,2px 3px 5px #22413a1f}.burette__liquid{height:var(--fill-height);background:#bfe1e9a8;border-top:1px solid #729cab;max-height:246px;transition:height .18s linear;position:absolute;bottom:0;left:1px;right:1px}.burette__scale{z-index:2;clip-path:polygon(0 0,45% 0,45% 100%,0 100%);background:repeating-linear-gradient(#0000 0 4px,#3153599e 4px 5px,#0000 5px 10px);position:absolute;top:5px;bottom:5px;left:0;right:0}.burette__reading{z-index:3;color:#38575e;background:#ffffffd9;border:1px solid #b8cdcf;border-radius:3px;padding:2px 4px;font-family:Manrope,sans-serif;font-size:8px;position:absolute;top:102px;left:20px}.burette__valve{background:#edf5f4;border:2px solid #6f8f91;border-radius:3px;width:27px;height:12px;position:absolute;top:252px;left:4px}.burette__valve span{background:#9e6955;border-radius:2px;width:39px;height:5px;transition:transform .18s;position:absolute;top:2px;left:-15px}.burette__valve span.is-open{transform:rotate(90deg)}.burette__tip{clip-path:polygon(0 0,100% 0,70% 100%,35% 100%);background:linear-gradient(90deg,#ebfafab3,#70999e6b);border:1px solid #76969a;width:9px;height:56px;position:absolute;top:264px;left:13px}.titration-position{z-index:3;border:1px solid #0000;border-radius:6px;width:176px;height:160px;transition:background .18s,border-color .18s,box-shadow .18s;position:absolute;bottom:134px;left:calc(66% - 54px)}.porcelain-tile{background:#f9fbfa;border:1px solid #c6ceca;border-radius:50%;width:150px;height:30px;position:absolute;bottom:0;right:10px;box-shadow:0 9px 10px #1e362c2e,inset 0 -4px 7px #9faba62e}.drop-hint{color:#66766f;background:#ffffffb8;border:1px dashed #92aaa0;border-radius:4px;align-items:center;gap:5px;padding:5px 7px;font-size:9px;animation:2s ease-in-out infinite hintPulse;display:flex;position:absolute;bottom:38px;right:19px}.flask-prep{z-index:8;flex-direction:column;align-items:center;width:150px;display:flex;position:absolute;bottom:133px;left:22%}.flask-prep .draggable-asset{width:120px;height:146px}.flask-active{z-index:8;pointer-events:none;width:142px;height:174px;animation:.42s cubic-bezier(.2,.85,.3,1) both flaskSettle;position:absolute;bottom:141px;left:calc(66% - 31px)}.flask{filter:drop-shadow(3px 7px 4px #1f3b3129);width:100%;height:100%;overflow:visible}.flask.is-swirling{transform-origin:50% 80%;animation:.3s ease-in-out 4 swirlFlask}.flask__liquid{transition:fill .3s,y .2s}.object-label{color:#6d7e77;background:#ffffffb3;border-radius:3px;margin-top:-2px;padding:3px 6px;font-size:8px}.physics-canvas{z-index:9;pointer-events:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.lab-stage.dragging-flask .titration-position{background:#e6f6ef94;border-color:#4e9d7c;box-shadow:0 0 0 4px #2d8b651a}.lab-stage.dragging-flask .drop-hint{color:var(--green-dark);border-color:var(--green);background:#ffffffeb}.lab-stage.dragging-acid .burette,.lab-stage.dragging-base .flask-prep,.lab-stage.dragging-base .flask-active,.lab-stage.dragging-indicator .flask-prep,.lab-stage.dragging-indicator .flask-active{filter:drop-shadow(0 0 7px #1f855f7a)}.bench-front{z-index:12;background:#d2d9d5;border-top:8px solid #b8c3bd;align-items:flex-end;height:142px;padding:18px 24px 13px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -6px 14px #20342c1f,inset 0 1px #ffffff80}.bench-front:after{z-index:-1;content:"";background-image:linear-gradient(90deg,#ffffff29,#0000 40%,#6779700f);position:absolute;top:0;bottom:0;left:0;right:0}.asset-tray-label{color:#65756e;align-items:center;gap:5px;font-size:9px;font-weight:600;display:flex;position:absolute;top:10px;left:24px}.asset-tray{background:#eff3f194;border:1px solid #8f9e978c;border-radius:6px;align-items:flex-end;gap:13px;height:95px;padding:5px 16px 8px;display:flex;box-shadow:inset 0 2px 6px #3c4c4414}.asset-tray .draggable-asset{width:58px;height:82px}.drag-tip{color:#5f7068;background:#ffffff78;border-radius:4px;align-items:center;gap:7px;margin:0 0 12px 18px;padding:7px 9px;font-size:9px;display:flex}.draggable-asset{z-index:20;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;transition:filter .16s,opacity .16s,transform .22s cubic-bezier(.2,.8,.3,1);position:relative}.draggable-asset:hover{filter:brightness(1.03)drop-shadow(0 6px 7px #14322729)}.draggable-asset.is-dragging{z-index:60;cursor:grabbing;filter:drop-shadow(0 12px 12px #1432273d);transition:none}.draggable-asset.is-disabled{cursor:not-allowed;opacity:.72}.reagent{filter:drop-shadow(2px 4px 3px #22332c2e);flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.reagent__cap{z-index:3;background:#2e3331;border-radius:3px 3px 2px 2px;width:26px;height:13px;position:absolute;top:0;box-shadow:inset 0 -3px #0003}.reagent__cap:before{content:"";background:repeating-linear-gradient(90deg,#0000 0 3px,#ffffff29 3px 4px);width:100%;height:100%;display:block}.reagent__cap--white{background:#e9ecea;border:1px solid #a8b0ac}.reagent__neck{background:#e1f0eecc;border-left:1px solid #9caaa5;border-right:1px solid #9caaa5;width:20px;height:14px;position:absolute;top:11px}.reagent__body{background:#deeeecc2;border:1px solid #9fb1aa;border-radius:8px 8px 5px 5px;flex-direction:column;justify-content:center;align-items:center;height:61px;display:flex;position:absolute;bottom:0;left:4px;right:4px;overflow:hidden;box-shadow:inset 7px 0 #ffffff59}.reagent--amber .reagent__neck,.reagent--amber .reagent__body{background:#854e20cc;border-color:#69411f}.reagent--rose .reagent__body{background:#cd567db3}.reagent__formula{z-index:1;color:#21352e;text-align:center;background:#f6f2e9;border-top:1px solid #d9cfbb;min-width:42px;padding:4px 2px 2px;font-family:Manrope,sans-serif;font-size:10px;font-weight:700}.reagent__label{z-index:1;color:#53615b;text-align:center;background:#f6f2e9;border-bottom:1px solid #d9cfbb;min-width:42px;padding:0 2px 3px;font-size:6px}.reagent__volume{color:#34463fbf;margin-top:3px;font-family:Manrope,sans-serif;font-size:5px}.reagent--amber .reagent__volume{color:#ffffffb3}.pour-effect{z-index:30;color:#fff;pointer-events:none;background:#185640db;border-radius:4px;align-items:center;gap:6px;padding:7px 9px;font-size:10px;animation:1s both effectPop;display:flex;position:absolute;top:25%;left:45%}.pour-effect--indicator{background:#a33f5ee6}.pour-effect--base{background:#386b8be6}.transfer-sequence{z-index:32;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.lab-stage.transfer-mode-rinse .burette{opacity:.22;transition:opacity .18s}.transfer-caption{z-index:34;color:#244238;white-space:nowrap;background:#fffffff0;border:1px solid #b8d4c8;border-radius:4px;align-items:center;gap:7px;max-width:min(340px,100% - 32px);padding:7px 10px;font-size:9px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 7px 18px #1b3d3024}.transfer-caption__spinner{border:2px solid #c7ddd3;border-top-color:var(--green);border-radius:50%;width:11px;height:11px;animation:.7s linear infinite transferSpin}.transfer-bottle{transform-origin:85% 78%;width:52px;height:76px;animation:1.4s ease-in-out both acidBottlePour;position:absolute;top:7%;left:calc(66% - 58px)}.transfer-funnel{clip-path:polygon(0 0,100% 0,61% 52%,58% 100%,43% 100%,40% 52%);opacity:0;background:#e2f3f1b8;border:2px solid #76979a;width:29px;height:34px;animation:1.4s both funnelAppear;position:absolute;top:calc(9% - 13px);left:calc(66% + 18px)}.transfer-stream{transform-origin:top;background:#95d3e1db;border-radius:2px;width:3px;height:40px;animation:1.4s both reagentStream;position:absolute;top:calc(9% - 5px);left:calc(66% + 5px);box-shadow:0 0 4px #54a3b473}.transfer-rinse{width:280px;height:135px;position:absolute;top:29%;left:50%;transform:translate(-50%)}.transfer-rinse__tube{transform-origin:50%;background:#effbfa94;border:2px solid #78999c;border-radius:5px 12px 12px 5px;width:218px;height:19px;animation:1.4s ease-in-out both rinseTube;position:absolute;top:28px;left:28px;overflow:hidden;box-shadow:inset 0 4px #ffffff94,0 5px 8px #233f351f}.transfer-rinse__tube:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 9px,#42656a75 9px 10px);position:absolute;top:2px;bottom:2px;left:8px;right:9px}.transfer-rinse__tube span{background:#98d7e5b3;border-radius:3px 45% 45% 3px;width:35%;animation:1.4s ease-in-out both rinseLiquid;position:absolute;top:2px;bottom:2px;left:2px}.transfer-rinse__waste{color:#6c7b75;background:#e7f4f285;border:2px solid #879f9e;border-top-width:4px;border-radius:3px 3px 10px 10px;place-items:end center;width:64px;height:55px;padding-bottom:7px;font-size:8px;display:grid;position:absolute;bottom:0;right:19px}.transfer-rinse__drain{z-index:2;opacity:0;background:#94d0ddc7;border-radius:2px;width:4px;height:34px;animation:1.4s both rinseDrain;position:absolute;bottom:40px;right:48px}.transfer-pipette{transform-origin:bottom;background:#e7f7f68a;border:2px solid #79989b;border-radius:6px 6px 40% 40%;width:13px;height:174px;animation:1.5s ease-in-out both pipetteMove;position:absolute;bottom:255px;left:calc(22% + 67px);box-shadow:inset 3px 0 #ffffffa3}.transfer-pipette:after{clip-path:polygon(0 0,100% 0,55% 100%,42% 100%);content:"";background:#daefeeb3;border:1px solid #79989b;width:3px;height:19px;position:absolute;bottom:-18px;left:3px}.transfer-pipette__bulb{background:#e0f2f0ad;border:2px solid #79989b;border-radius:50%;width:21px;height:31px;position:absolute;top:42%;left:-6px}.transfer-pipette__liquid{transform-origin:bottom;background:#9dd7e5b8;border-radius:0 0 30% 30%;height:72%;animation:1.5s ease-in-out both pipetteLiquid;position:absolute;bottom:2px;left:2px;right:2px}.transfer-dropper{width:18px;height:108px;animation:1.2s ease-in-out both dropperMove;position:absolute;bottom:272px;left:calc(22% + 65px)}.transfer-dropper__bulb{background:#414946;border-radius:9px 9px 5px 5px;width:18px;height:28px;position:absolute;top:0;left:0;box-shadow:inset 4px 0 #ffffff21}.transfer-dropper__tube{clip-path:polygon(0 0,100% 0,62% 100%,40% 100%);background:linear-gradient(90deg,#f0faf9b8,#7a999780);border:1px solid #829c9c;width:7px;height:72px;position:absolute;top:25px;left:6px}.transfer-dropper i{opacity:0;background:#cf3267c7;border-radius:50% 50% 55% 55%;width:5px;height:7px;animation:.55s ease-in .38s infinite indicatorDrop;position:absolute;top:92px;left:7px}.transfer-dropper i:last-child{animation-delay:.75s}.replay-badge{z-index:50;color:#fff;background:#17503be6;border-radius:4px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 14px #0c2b2033}.control-panel{border-left:1px solid var(--line);flex-direction:column;display:flex}.panel-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;height:52px;display:grid}.panel-tabs button{color:#7a8781;cursor:pointer;background:#fafbfa;border:0;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex;position:relative}.panel-tabs button:first-child{border-right:1px solid var(--line)}.panel-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.panel-tabs button.is-active{color:var(--green-dark);background:#fff}.panel-tabs button.is-active:after{background:var(--green)}.panel-tabs button span{min-width:17px;height:17px;color:var(--green-dark);background:var(--green-soft);border-radius:8px;place-items:center;padding:0 4px;font-family:Manrope,sans-serif;font-size:8px;display:inline-grid}.panel-content{flex:1;min-height:0;overflow-y:auto}.control-content{padding:4px 16px 18px}.control-section{border-bottom:1px solid var(--line);padding:15px 0}.section-heading{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.section-heading>div{color:#263b33;align-items:center;gap:7px;display:flex}.section-heading>div>svg{color:var(--green)}.section-heading strong{font-size:11px;font-weight:600}.section-heading>small{color:#9a6130;background:var(--amber-soft);border-radius:3px;padding:2px 5px;font-size:8px}.safety-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.safety-options button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#f7f9f8;border-radius:5px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:7px;min-height:51px;padding:8px;display:grid}.safety-options button>span{color:#fff;background:#fff;border:1px solid #b9c6c0;border-radius:3px;place-items:center;width:19px;height:19px;display:grid}.safety-options button.is-on{background:var(--green-soft);border-color:#a9d2c0}.safety-options button.is-on>span{background:var(--green);border-color:var(--green)}.safety-options strong,.safety-options small{display:block}.safety-options strong{overflow-wrap:anywhere;font-size:10px;font-weight:600}.safety-options small{color:#87938d;margin-top:2px;font-size:7px}.flow-control{background:#edf1ef;border-radius:5px;grid-template-columns:repeat(4,1fr);gap:3px;padding:3px;display:grid}.flow-control button{color:#68766f;cursor:pointer;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;gap:3px;height:34px;padding:0 3px;font-size:9px;display:flex}.flow-control button.is-active{color:var(--green-dark);background:#fff;font-weight:600;box-shadow:0 1px 4px #19392d1a}.flow-symbol{color:#85918b;place-items:center;display:grid}.flow-control button.is-active .flow-symbol{color:var(--green)}.flow-control button.is-active .flow-symbol--closed{color:var(--red)}.volume-readout{background:#f6f8f7;border:1px solid #e3e8e5;border-radius:5px;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:10px;padding:9px 11px;display:grid}.volume-readout>svg{color:#a6b0ab}.volume-readout div:last-child{text-align:right}.volume-readout span,.volume-readout strong{display:block}.volume-readout span{color:#87938d;font-size:8px}.volume-readout strong{margin-top:2px;font-family:Manrope,sans-serif;font-size:12px}.volume-readout em{color:#829089;font-size:7px;font-style:normal}.secondary-command,.primary-command{cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:38px;font-size:10px;font-weight:600;display:flex}.secondary-command{color:var(--green-dark);background:#fff;border:1px solid #b7d3c7;margin-top:9px}.secondary-command:hover{background:var(--green-soft)}.secondary-command:disabled,.primary-command:disabled,.flow-control button:disabled,.safety-options button:disabled{cursor:not-allowed;opacity:.5}.primary-command{color:#fff;background:var(--green);border:1px solid var(--green-dark);margin-top:16px;box-shadow:0 5px 10px #176f5233}.primary-command:hover{background:var(--green-dark)}.live-dot{color:#2f8c69;align-items:center;gap:5px;font-family:Manrope,sans-serif;font-size:7px;font-weight:700;display:flex}.live-dot:before{width:5px;height:5px;box-shadow:none;animation:1.4s infinite livePulse;display:block}.observation-grid{border:1px solid var(--line);border-radius:5px;grid-template-columns:1fr 1fr;display:grid}.observation-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 9px}.observation-grid>div:nth-child(2n){border-right:0}.observation-grid>div:nth-last-child(-n+2){border-bottom:0}.observation-grid span,.observation-grid strong{display:block}.observation-grid span{color:#89958f;font-size:7px}.observation-grid strong{margin-top:3px;font-family:Manrope,Noto Sans SC,sans-serif;font-size:10px}.ph-scale{margin-top:12px}.ph-scale__labels,.ph-scale__ticks{justify-content:space-between;align-items:center;display:flex}.ph-scale__labels{color:#73817a;margin-bottom:6px;font-size:8px}.ph-scale__labels strong{color:#293d35;font-family:Manrope,sans-serif;font-size:10px}.ph-scale__bar{background:linear-gradient(90deg,#db6060,#e5b452 35%,#76a66d 50%,#5ca4b8 70%,#6566a5);border-radius:4px;height:7px;position:relative}.ph-scale__bar span{background:#fff;border:3px solid #243b33;border-radius:50%;width:13px;height:13px;transition:left .2s linear;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000038}.ph-scale__ticks{color:#9aa49f;margin-top:4px;font-family:Manrope,sans-serif;font-size:7px}.log-content{flex-direction:column;padding:14px 14px 16px;display:flex}.replay-controls{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) 52px;align-items:center;gap:8px;padding-bottom:13px;display:grid}.replay-play{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;display:grid}.replay-play:disabled{cursor:not-allowed;background:#aeb9b4}.replay-timeline{min-width:0}.replay-timeline>div{color:#66756e;justify-content:space-between;font-size:8px;display:flex}.replay-timeline small{font-family:Manrope,sans-serif}.replay-timeline input{width:100%;height:4px;accent-color:var(--green);margin:8px 0 0}.replay-controls select{color:#53625b;border:1px solid var(--line);background:#f5f7f6;border-radius:4px;height:30px;font-family:Manrope,sans-serif;font-size:9px}.log-summary{border:1px solid var(--line);background:#f6f8f7;border-radius:5px;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));margin:13px 0;display:grid}.log-summary>div{text-align:center;border-right:1px solid var(--line);padding:9px 4px}.log-summary>div:last-child{border-right:0}.log-summary strong,.log-summary span{display:block}.log-summary strong{color:var(--green-dark);font-family:Manrope,sans-serif;font-size:14px}.log-summary span{color:#84908a;font-size:7px}.log-list{flex:1;min-height:150px;overflow-y:auto}.log-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:52px;padding:7px 6px;display:grid;position:relative}.log-item:hover,.log-item.is-current{background:#f2f7f4;border-color:#d7e6df}.log-item__line{background:#d9e1dd;width:1px;position:absolute;top:34px;bottom:-18px;left:16px}.log-item:last-child .log-item__line{display:none}.log-item__status{z-index:1;width:22px;height:22px;color:var(--blue);background:#eaf3f8;border-radius:50%;place-items:center;display:grid;position:relative}.log-item--success .log-item__status{color:var(--green);background:var(--green-soft)}.log-item--warning .log-item__status{color:#a46125;background:var(--amber-soft)}.log-item__body{min-width:0}.log-item__body strong,.log-item__body small{display:block}.log-item__body strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;overflow:hidden}.log-item__body small{color:#89958f;margin-top:3px;font-family:Manrope,Noto Sans SC,sans-serif;font-size:7px}.log-item>svg{color:#9ca6a1}.log-empty{color:#97a39d;text-align:center;justify-items:center;padding:45px 25px;display:grid}.log-empty strong{color:#68766f;margin-top:11px;font-size:11px}.log-empty p{margin:6px 0 0;font-size:8px;line-height:1.6}.full-width{flex:none;margin-top:12px}.toast{z-index:100;color:#263b33;border:1px solid #cddbd5;border-left:4px solid var(--blue);background:#fffffff7;border-radius:6px;grid-template-columns:30px minmax(0,1fr) 26px;align-items:center;gap:8px;width:min(410px,100vw - 32px);min-height:56px;padding:9px 9px 9px 11px;animation:.25s both toastIn;display:grid;position:fixed;bottom:22px;right:24px;box-shadow:0 12px 30px #152e252e}.toast>span{width:29px;height:29px;color:var(--blue);background:#eaf3f8;border-radius:50%;place-items:center;display:grid}.toast p{margin:0;font-size:10px;line-height:1.55}.toast button{color:#85918b;cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;width:26px;height:26px;padding:0;display:grid}.toast--success{border-left-color:var(--green)}.toast--success>span{color:var(--green);background:var(--green-soft)}.toast--warning{border-left-color:var(--amber)}.toast--warning>span{color:#a46125;background:var(--amber-soft)}.projectile-stage .lab-canvas-shell{background:#e4ece8}.projectile-readout{z-index:20;color:#31463d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#ffffffdb;border:1px solid #c6d8cf;border-radius:5px;grid-template-columns:repeat(4,minmax(58px,1fr));gap:1px;min-width:290px;padding:1px;display:grid;position:absolute;bottom:18px;right:18px;box-shadow:0 5px 14px #233d321a}.projectile-readout div{background:#f6faf8e0;flex-direction:column;gap:3px;padding:8px 9px;display:flex}.projectile-readout span{color:#809088;font-size:8px}.projectile-readout strong{font-family:Manrope,Noto Sans SC,sans-serif;font-size:12px}.projectile-formula{color:#667a70;background:#f6f9f7;border:1px solid #e0e8e3;border-radius:5px;justify-content:space-between;align-items:center;margin-top:10px;padding:9px 11px;font-size:8px;display:flex}.projectile-formula strong{color:var(--green-dark);font-family:Manrope,sans-serif;font-size:13px}.projectile-range{margin:12px 0 16px;display:block}.projectile-range>span:first-child{color:#52645b;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:9px;display:flex}.projectile-range output{color:var(--green-dark);font-family:Manrope,sans-serif;font-size:11px;font-weight:700}.projectile-range input{width:100%;height:5px;accent-color:var(--green);cursor:pointer;display:block}.projectile-range input:disabled{cursor:not-allowed}.projectile-range__bounds{color:#9aa69f;justify-content:space-between;margin-top:3px;font-family:Manrope,sans-serif;font-size:8px;display:flex}.function-stage .lab-canvas-shell{background:#e5eeea}.lab-2d-scene{z-index:1;background:#e5eeea;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.function-graph-svg{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;overflow:visible}.function-graph-svg text{letter-spacing:0;font-family:Manrope,Noto Sans SC,sans-serif}.function-svg-title{fill:#2d5143;font-size:18px;font-weight:700}.function-svg-hint{fill:#7e968b;font-size:12px}.function-grid-line{stroke:#dfece5;stroke-width:1px;vector-effect:non-scaling-stroke}.function-grid-line--major{stroke:#ccded5;stroke-width:1.25px}.function-axis line,.function-ticks line{fill:none;stroke:#42695a;stroke-linecap:round;stroke-width:1.6px;vector-effect:non-scaling-stroke}.function-ticks text{fill:#547366;font-size:14px;font-weight:600}.function-axis-label{fill:#315c4a;font-size:17px;font-style:italic;font-weight:800}.function-origin-label{fill:#6c887b;font-size:12px;font-weight:600}.function-curve{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.function-curve--basic{stroke:#8ca39a;stroke-dasharray:5 7;stroke-width:2px;opacity:.72}.function-curve--target{stroke:#d27a4f;stroke-dasharray:8 7;stroke-width:2.5px;opacity:.82}.function-curve--current{stroke:#2f76b7;stroke-width:4px;filter:drop-shadow(0 2px 2px #2f76b72e)}.function-curve--current.is-complete{stroke:#20865f;filter:drop-shadow(0 2px 2px #20865f2e)}.function-legend{fill:#607b70;font-size:12px;font-weight:600}.function-legend__line{fill:none;stroke-linecap:round;stroke-width:3px;vector-effect:non-scaling-stroke}.function-legend__line--basic{stroke:#8ca39a;stroke-dasharray:4 5}.function-legend__line--target{stroke:#d27a4f;stroke-dasharray:6 5}.function-legend__line--current{stroke:#2f76b7}.plant-cell-stage .lab-2d-scene{background:#e6f1eb}.plant-cell-svg{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;overflow:visible}.plant-cell-svg text{letter-spacing:0;font-family:Manrope,Noto Sans SC,sans-serif}.plant-scene-title{fill:#2c5444;font-size:21px;font-weight:700}.plant-scene-subtitle{fill:#769187;font-size:13px}.plant-workbench{fill:#f8fcfa;stroke:#c9ddd2;stroke-width:1.2px}.plant-bench-edge{fill:#dcece3;stroke:#c0d7ca;stroke-width:1px}.plant-microscope-arm,.plant-microscope-base,.plant-microscope-stage,.plant-objectives path{fill:url(#plant-microscope-metal);stroke:#657970;stroke-linejoin:round;stroke-width:2px}.plant-microscope-base{fill:#667a71}.plant-microscope-base-highlight{fill:#90a49c;opacity:.8}.plant-microscope-stage{fill:#7d9188}.plant-stage-hole{fill:#273c35}.plant-microscope-tube,.plant-eyepiece{fill:#879990;stroke:#5d7068;stroke-width:2px}.plant-eyepiece{fill:#4c6259}.plant-eyepiece-ring{fill:#2f473d;stroke:#253b33;stroke-width:2px}.plant-focus-knob,.plant-fine-knob{fill:#405950;stroke:#29433a;stroke-width:2px}.plant-focus-knob-inner{fill:#8ca198;stroke:#304a40;stroke-width:2px}.plant-part-label{fill:#526d61;font-size:14px;font-weight:600}.plant-slide-tray{fill:#edf5f1;stroke:#cadbd2;stroke-width:1px}.plant-slide{fill:#d3e6ef;stroke:#7199a5;stroke-width:2px;transition:y .22s}.plant-slide.is-placed{fill:#e7f4f1;stroke:#4d7b6d}.plant-coverslip{fill:#e7faffb8;stroke:#7cb0b7;stroke-width:1.5px}.plant-water-drop{fill:#c9e7ed;stroke:#78afb6;stroke-width:1.5px}.plant-water-drop.is-filled{fill:#a7dbe6}.plant-water-drop.is-stained{fill:#b6a85e;stroke:#8f813b}.plant-slide-status{fill:#789187;font-size:12px}.plant-light path{fill:#80938a;stroke:#5b7067;stroke-width:2px}.plant-light circle{fill:#bccbc4}.plant-light.is-on path{fill:#b7c65b;stroke:#77833c}.plant-light.is-on circle{fill:#fff5a5;filter:drop-shadow(0 0 10px #ffdf56d9)}.plant-view-shadow{fill:#c2d9ce;opacity:.75}.plant-view{fill:#c4d8cc;stroke:#627d70;stroke-width:5px}.plant-view.is-lit{fill:url(#plant-view-light)}.plant-onion-cell{fill:#def2e7bd;stroke:#6eaa88;stroke-width:2px}.plant-onion-cell.is-stained{fill:#dee1b5d1;stroke:#638d65}.plant-leaf-cell{fill:#aadea9c2;stroke:#5f9b68;stroke-width:2px}.plant-leaf-cell.is-stained{fill:#91cd80db;stroke:#48794f}.plant-cell-vacuole{fill:#f9ffef94;stroke:#8bbe99b8;stroke-width:1px}.plant-cell-nucleus{fill:#8d5a77;stroke:#663c5b;stroke-width:1px}.plant-chloroplast{fill:#3d8a55;stroke:#2b6540;stroke-width:1px}.plant-view-message,.plant-focus-message,.plant-observed-message{fill:#5d786c;font-size:17px;font-weight:600}.plant-focus-message{fill:#a4673f;font-size:14px}.plant-observed-message{fill:#237c59;font-size:14px}.plant-view-crosshair{fill:none;stroke:#6b9582;stroke-width:1.5px;opacity:.8}.plant-crosshair-line{fill:none;stroke:#6b9582;stroke-dasharray:3 8;stroke-width:1px;opacity:.45}.plant-view-label{fill:#607d70;font-size:14px;font-weight:600}.plant-control-content .plant-select,.plant-control-content .plant-range{color:#52645b;margin:10px 0 13px;font-size:9px;display:block}.plant-select>span,.plant-range>span:first-child{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.plant-select select{color:#31463d;border:1px solid var(--line);background:#f6f9f7;border-radius:4px;width:100%;height:33px;padding:0 8px;font-size:10px}.plant-safety-toggle,.plant-light-toggle{color:#52645b;border:1px solid var(--line);cursor:pointer;text-align:left;background:#f6f9f7;border-radius:4px;align-items:center;gap:7px;width:100%;min-height:34px;margin-bottom:10px;padding:0 9px;font-size:10px;display:flex}.plant-safety-toggle>span{color:#fff;background:#becbc4;border-radius:3px;place-items:center;width:19px;height:19px;display:grid}.plant-safety-toggle.is-on>span{background:var(--green)}.plant-safety-toggle small{color:#88968f;margin-left:auto}.plant-safety-toggle:disabled,.plant-light-toggle:disabled,.plant-step-button:disabled{cursor:not-allowed;opacity:.66}.plant-light-toggle{color:#42695a;justify-content:center}.plant-light-toggle.is-on{color:#79631d;background:#f8f3d8;border-color:#e1d38c}.plant-step-list{gap:5px;display:grid}.plant-step-button{color:#52645b;cursor:pointer;text-align:left;background:#f6f9f7;border:1px solid #e0e8e3;border-radius:4px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:31px;padding:4px 7px;font-size:9px;display:grid}.plant-step-button>span{color:#9caea5;place-items:center;display:grid}.plant-step-button.is-done{color:#257453;background:#eef8f2;border-color:#cce6d7}.plant-step-button.is-done>span{color:var(--green)}.plant-step-button small{color:#96a39c;font-size:8px}.plant-focus-readout{background:#f6f9f7;border:1px solid #e0e8e3;border-radius:4px;grid-template-columns:1fr auto;align-items:center;gap:3px 8px;margin-top:5px;padding:8px 9px;display:grid}.plant-focus-readout span{color:#809088;font-size:8px}.plant-focus-readout strong{color:var(--green-dark);font-family:Manrope,sans-serif;font-size:13px}.plant-focus-readout small{color:#8c9d94;grid-column:1/-1;font-size:8px}.plant-range output{color:var(--green-dark);font-family:Manrope,sans-serif;font-size:11px;font-weight:700}.plant-range input{width:100%;height:5px;accent-color:var(--green);cursor:pointer;display:block}.plant-range input:disabled{cursor:not-allowed}.plant-range__bounds{color:#9aa69f;justify-content:space-between;font-family:Manrope,sans-serif;font-size:8px;display:flex}.plant-observation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plant-readout{z-index:20;color:#31463d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#ffffffe0;border:1px solid #c6d8cf;border-radius:5px;grid-template-columns:repeat(3,minmax(88px,1fr));gap:1px;min-width:330px;padding:1px;display:grid;position:absolute;bottom:67px;right:20px;box-shadow:0 5px 14px #233d321a}.plant-readout div{background:#f6faf8e6;flex-direction:column;gap:3px;padding:8px 9px;display:flex}.plant-readout span{color:#809088;font-size:8px}.plant-readout strong{color:var(--green-dark);font-family:Manrope,Noto Sans SC,sans-serif;font-size:11px}@media (max-width:620px){.plant-control-content{display:block}.plant-readout{min-width:0;bottom:68px;left:10px;right:10px}.plant-readout div{padding:7px 6px}.plant-readout strong{font-size:9px}}.function-readout{z-index:20;color:#31463d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#ffffffe0;border:1px solid #c6d8cf;border-radius:5px;grid-template-columns:repeat(3,minmax(100px,1fr));gap:1px;min-width:390px;padding:1px;display:grid;position:absolute;bottom:68px;right:18px;box-shadow:0 5px 14px #233d321a}.function-readout div{background:#f6faf8e6;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.function-readout span,.function-target span,.function-formula span{color:#809088;font-size:8px}.function-readout strong,.function-formula strong{color:var(--green-dark);font-family:Manrope,Noto Sans SC,sans-serif;font-size:11px}.function-select{color:#52645b;flex-direction:column;gap:6px;font-size:9px;display:flex}.function-select select{color:#31463d;border:1px solid var(--line);background:#f6f9f7;border-radius:4px;width:100%;height:34px;padding:0 9px;font-size:10px}.function-range{margin:12px 0 16px;display:block}.function-range>span:first-child{color:#52645b;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:9px;display:flex}.function-range output{color:var(--green-dark);font-family:Manrope,sans-serif;font-size:11px;font-weight:700}.function-range input{width:100%;height:5px;accent-color:var(--green);cursor:pointer;display:block}.function-range input:disabled{cursor:not-allowed}.function-range__bounds{color:#9aa69f;justify-content:space-between;margin-top:3px;font-family:Manrope,sans-serif;font-size:8px;display:flex}.function-target{background:#f6f9f7;border:1px solid #e0e8e3;border-radius:5px;flex-direction:column;gap:5px;padding:10px 11px;display:flex}.function-target strong{color:#b7613d;font-family:Manrope,Noto Sans SC,sans-serif;font-size:14px}.function-target small{color:#89958f;font-size:8px;line-height:1.5}.function-formula{background:#f6f9f7;border:1px solid #e0e8e3;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding:9px 11px;display:flex}@media (max-width:620px){.function-readout{min-width:0;bottom:68px;left:10px;right:10px}.function-readout div{padding:7px 6px}.function-readout strong{font-size:9px}}.instantaneous-speed-stage .lab-2d-scene{background:#e7efeb}.instantaneous-scene{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;overflow:visible}.instantaneous-scene text{letter-spacing:0;font-family:Manrope,Noto Sans SC,sans-serif}.instantaneous-scene__bench{fill:url(#instantFloor)}.instantaneous-scene__horizon{stroke:#aebeb6;stroke-width:2px;vector-effect:non-scaling-stroke}.instantaneous-scene__heading text:first-child{fill:#294a3d;font-size:20px;font-weight:750}.instantaneous-scene__heading text:last-child{fill:#71887d;font-size:12px;font-weight:550}.instantaneous-scene__gate-zone{fill:#cf5d4512;stroke:#be503a42;stroke-dasharray:5 5;stroke-width:1px;vector-effect:non-scaling-stroke}.motion-track__rail-shadow{fill:none;stroke:#2a3d362e;stroke-linecap:round;stroke-width:20px;vector-effect:non-scaling-stroke}.motion-track__rail{fill:#b8c7c0;stroke:#63776e;stroke-width:2px;vector-effect:non-scaling-stroke}.motion-track__edge{fill:#73867d}.motion-track__tick{stroke:#596e64;stroke-width:1px;vector-effect:non-scaling-stroke}.motion-track__tick.is-major{stroke-width:1.8px}.motion-track__label,.motion-track__unit{fill:#435e52;font-size:12px;font-weight:650}.motion-track__unit{font-style:italic}.motion-track__support{fill:#8a9b93;stroke:#60746b;stroke-linejoin:round;stroke-width:1.5px;vector-effect:non-scaling-stroke}.motion-track__floor{stroke:#7e9188;stroke-linecap:round;stroke-width:3px;vector-effect:non-scaling-stroke}.motion-cart__body{fill:#bf704c;stroke:#703e2d;stroke-linejoin:round;stroke-width:2px;filter:drop-shadow(0 5px 4px #302a2329);vector-effect:non-scaling-stroke}.motion-cart__highlight{fill:none;stroke:#ffffff7a;stroke-linecap:round;stroke-width:2px;vector-effect:non-scaling-stroke}.motion-cart__label{fill:#f5eee7;stroke:#9c6449;stroke-width:1px}.motion-cart__label-text{fill:#623c2b;font-size:9px;font-weight:700}.motion-cart__wheel circle:nth-child(odd){fill:#313a36;stroke:#17211d;stroke-width:2px}.motion-cart__wheel circle:nth-child(2n){fill:#aab7b1;stroke:#596a62;stroke-width:1.5px}.motion-cart__flag rect:first-child{fill:#54645d}.motion-cart__flag rect:nth-child(2){fill:#dde6e1;stroke:#53685e;stroke-width:1.5px}.motion-cart__flag text{fill:#42574e;writing-mode:vertical-rl;font-size:8px;font-weight:700}.motion-cart__speed-line{fill:none;stroke:#bb6847;stroke-linecap:round;stroke-width:3px;opacity:.5;vector-effect:non-scaling-stroke;animation:.55s ease-in-out infinite alternate instantSpeedLine}.photo-gate{transition:opacity .18s}.photo-gate:not(.is-installed){opacity:.52}.photo-gate__frame{fill:none;stroke:#394842;stroke-linecap:round;stroke-linejoin:round;stroke-width:13px;filter:drop-shadow(3px 4px 3px #25342d29);vector-effect:non-scaling-stroke}.photo-gate__sensor{fill:#222c28;stroke:#66776f;stroke-width:1.5px}.photo-gate__beam{stroke:#df4d43;stroke-width:2.5px;opacity:.75;filter:drop-shadow(0 0 3px #df4d43)}.photo-gate.is-blocked .photo-gate__beam{opacity:.12}.photo-gate__base{fill:#596a62;stroke:#394842;stroke-width:1.5px}.photo-gate__display{fill:#27352f;stroke:#82968d;stroke-width:1.5px}.photo-gate__name{fill:#dce6e1;font-size:8px;font-weight:650}.photo-gate__value{fill:#8af2b8;font-size:12px;font-weight:750}.photo-gate__pending{fill:#9a6130;font-size:10px;font-weight:700}.ticker-timer:not(.is-installed){opacity:.55}.ticker-timer__cable{fill:none;stroke:#33423c;stroke-width:4px;vector-effect:non-scaling-stroke}.ticker-timer__paper-edge{stroke:#9b8f73;stroke-width:19px;vector-effect:non-scaling-stroke}.ticker-timer__paper{fill:#fbf5d9;stroke:#b9ac80;stroke-width:1px}.ticker-timer__dot{fill:#29342f}.ticker-timer__selected{fill:#c56b381f;stroke:#c66c38;stroke-width:2px;vector-effect:non-scaling-stroke}.ticker-timer__base{fill:#596a62;stroke:#37453f;stroke-width:1.5px}.ticker-timer__body{fill:#778981;stroke:#384840;stroke-width:2px;filter:drop-shadow(3px 4px 3px #25342d26)}.ticker-timer__top{fill:#53645c;stroke:#34423c;stroke-width:1.5px}.ticker-timer__coil{fill:none;stroke:#b65b3d;stroke-width:8px}.ticker-timer__arm{fill:none;stroke:#26322d;stroke-linecap:round;stroke-width:4px;transform-box:fill-box;transform-origin:50% 15%}.ticker-timer.is-active .ticker-timer__arm{animation:40ms linear infinite alternate tickerArm}.ticker-timer__needle{fill:#29352f}.ticker-timer__slot{fill:#28352f}.ticker-timer__name{fill:#fff;font-size:9px;font-weight:700}.ticker-timer__frequency{fill:#dfe8e4;font-size:8px;font-weight:650}.ticker-timer__pending{fill:#9a6130;font-size:10px;font-weight:700}.ticker-detail>rect{fill:#ffffffeb;stroke:#c5d5cd;stroke-width:1.5px;filter:drop-shadow(0 5px 8px #263d331a)}.ticker-detail line{stroke:#a69a7b;stroke-width:10px}.ticker-detail circle{fill:#33443c}.ticker-detail circle.is-selected{fill:#c56b38;stroke:#fff;stroke-width:2px}.ticker-detail text{fill:#687d73;font-size:9px;font-weight:600}.ticker-detail__title{fill:#344f43!important;font-size:11px!important;font-weight:700!important}.instantaneous-speed-stage .engine-status{left:18px;right:auto}.instantaneous-readout{z-index:20;color:#31463d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#ffffffe0;border:1px solid #c6d8cf;border-radius:5px;grid-template-columns:repeat(4,minmax(72px,1fr));gap:1px;min-width:340px;padding:1px;display:grid;position:absolute;bottom:18px;right:18px;box-shadow:0 5px 14px #233d321a}.instantaneous-readout div{background:#f6faf8e6;flex-direction:column;gap:3px;padding:8px 9px;display:flex}.instantaneous-readout span{color:#809088;font-size:8px}.instantaneous-readout strong{color:var(--green-dark);font-family:Manrope,Noto Sans SC,sans-serif;font-size:11px}.instant-method-tabs{background:#edf1ef;border-radius:5px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.instant-method-tabs button{color:#68766f;cursor:pointer;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 8px;font-size:9px;display:flex}.instant-method-tabs button.is-active{color:var(--green-dark);background:#fff;font-weight:700;box-shadow:0 1px 4px #19392d1a}.instant-method-tabs button:disabled{cursor:not-allowed;opacity:.55}.instant-range{margin:10px 0 13px;display:block}.instant-range>span:first-child{color:#52645b;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:9px;display:flex}.instant-range output{color:var(--green-dark);font-family:Manrope,sans-serif;font-size:10px;font-weight:700}.instant-range input{width:100%;height:5px;accent-color:var(--green);cursor:pointer;display:block}.instant-range input:disabled{cursor:not-allowed}.instant-range__bounds{color:#9aa69f;justify-content:space-between;margin-top:3px;font-family:Manrope,sans-serif;font-size:8px;display:flex}.instantaneous-control .primary-command,.instantaneous-control .secondary-command{margin-top:8px}.instant-formula{color:#52685e;background:#f5f8f6;border:1px solid #e0e8e3;border-radius:4px;margin:7px 0 0;padding:8px 9px;font-family:Manrope,Noto Sans SC,sans-serif;font-size:9px;line-height:1.55}.instant-result{color:#61756b;background:var(--green-soft);border:1px solid #c5dfd3;border-radius:4px;justify-content:space-between;align-items:center;margin-top:8px;padding:8px 10px;font-size:9px;display:flex}.instant-result strong{color:var(--green-dark);font-family:Manrope,sans-serif;font-size:12px}@keyframes instantSpeedLine{0%{opacity:.15}to{opacity:.65}}@keyframes tickerArm{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}@media (max-width:620px){.instantaneous-readout{min-width:0;bottom:68px;left:10px;right:10px}.instantaneous-readout div{padding:7px 5px}.instantaneous-readout strong{font-size:9px}}.solution-preparation-stage .lab-2d-scene{background:#e8efeb}.solution-preparation-svg{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;overflow:hidden}.solution-preparation-svg text{letter-spacing:0;font-family:Manrope,Noto Sans SC,sans-serif}.prep-wall-shadow{fill:#dce7e1;opacity:.62}.prep-bench-edge{fill:#87684f;opacity:.68}.prep-scene-heading text:first-child{fill:#294c3e;font-size:22px;font-weight:750}.prep-scene-heading text:last-child{fill:#758b80;font-size:13px;font-weight:550}.material-2d-draggable{cursor:grab;outline:none}.material-2d-draggable:focus-visible>.material-2d{filter:drop-shadow(0 0 5px #228b64a6)}.material-2d-draggable.is-dragging{cursor:grabbing;filter:none}.material-2d-draggable.is-lifted{filter:none}.material-2d-draggable.is-lifted:focus-visible>.material-2d{filter:none}.material-2d-draggable.is-lifted [class*=shadow]{opacity:0!important}.material-2d{color:#44544c;pointer-events:visiblePainted}.material-2d .material-shadow{fill:#2b35302e}.material-2d .material-caption{fill:#43564d;paint-order:stroke;stroke:#f7faf8d1;stroke-width:3px;font-size:14px;font-weight:700}.glass-outline,.glass-neck{fill:#d8eff461;stroke:#6f9299;stroke-width:3px;vector-effect:non-scaling-stroke}.glass-outline{fill:#dcf1f540;stroke-linecap:round;stroke-linejoin:round}.glass-highlight{fill:none;stroke:#ffffffeb;stroke-linecap:round;stroke-width:4px}.solid-powder,.powder-fall circle{fill:#f7f5eb;stroke:#c8c4ad;stroke-width:1px}.flask-mouth{fill:#edfafbd1;stroke:#668890;stroke-width:3px}.volumetric-flask-2d .flask-body{stroke:#4e605e;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;vector-effect:non-scaling-stroke}.volumetric-flask-2d .flask-highlight{fill:none;stroke:#fffffff0;stroke-linecap:round;stroke-width:3px}.volumetric-flask-2d .flask-mouth rect,.volumetric-flask-2d .flask-mouth ellipse{fill:#e0eff1e0;stroke:#526664;stroke-width:1.7px}.volumetric-flask-2d .flask-mouth .flask-mouth__inner{fill:#65797738;stroke-width:1px}.solid-reagent-bottle-2d .solid-bottle-body{stroke:#566264;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.solid-reagent-bottle-2d .solid-bottle-neck{fill:#b5c2c36b;stroke:#647173;stroke-linejoin:round;stroke-width:2px}.solid-reagent-bottle-2d .solid-bottle-mouth{fill:#d6e1e2bf;stroke:#596668;stroke-width:2px}.solid-reagent-bottle-2d .solid-bottle-collar{fill:#a6b4b566;stroke:#617072;stroke-width:1.5px}.solid-reagent-bottle-2d .solid-bottle-highlight{fill:none;stroke:#f9fcfc9e;stroke-linecap:round;stroke-width:3px}.solid-reagent-bottle-2d .solid-bottle-fill-surface{fill:none;opacity:.75;stroke-width:1.3px}.solid-bottle-cap__plug,.solid-bottle-cap__top,.solid-bottle-cap__rim{fill:#b5bebedb;stroke:#515d5e;stroke-width:1.7px;vector-effect:non-scaling-stroke}.solid-bottle-cap__top{fill:#c7cfcff0}.solid-bottle-cap__highlight{fill:none;stroke:#ffffffc7;stroke-linecap:round;stroke-width:1.6px}.solid-bottle-cap.is-removed{opacity:.96}.solid-bottle-label path{fill:#f8f9f7f0;stroke:#2788e7;stroke-linejoin:round;stroke-width:3px;vector-effect:non-scaling-stroke}.solid-bottle-label__name{fill:#202726;font-weight:800}.solid-bottle-label__formula{fill:#26302e;font-size:14px;font-weight:750}.liquid-reagent-bottle-2d .liquid-bottle-body{stroke:#566264;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.liquid-reagent-bottle-2d .liquid-bottle-neck{fill:#b8c6c866;stroke:#627173;stroke-linejoin:round;stroke-width:2px}.liquid-reagent-bottle-2d .liquid-bottle-mouth{fill:#d8e4e5c2;stroke:#586668;stroke-width:2px}.liquid-reagent-bottle-2d .liquid-bottle-collar{fill:#a9b8ba61;stroke:#617072;stroke-width:1.5px}.liquid-reagent-bottle-2d .liquid-bottle-highlight{fill:none;stroke:#f9fcfca3;stroke-linecap:round;stroke-width:3px}.liquid-reagent-bottle-2d .liquid-bottle-surface{opacity:.72;stroke-width:1.2px}.liquid-bottle-cap__plug,.liquid-bottle-cap__top,.liquid-bottle-cap__rim{fill:#b8c2c2e0;stroke:#505d5e;stroke-width:1.7px;vector-effect:non-scaling-stroke}.liquid-bottle-cap__top{fill:#cad2d2f2}.liquid-bottle-cap__highlight{fill:none;stroke:#fffc;stroke-linecap:round;stroke-width:1.5px}.liquid-bottle-cap.is-removed{opacity:.96}.liquid-bottle-label path{fill:#f8f9f7f0;stroke:#2788e7;stroke-linejoin:round;stroke-width:3px;vector-effect:non-scaling-stroke}.liquid-bottle-label__name{fill:#202726;font-weight:800}.liquid-bottle-label__formula{fill:#26302e;font-size:12px;font-weight:750}.analytical-balance-2d .balance-shadow{fill:#312c2733}.analytical-balance-2d .balance-foot{fill:#555a58;opacity:.9}.analytical-balance-2d .balance-shell{stroke:#777d7a;stroke-linejoin:round;stroke-width:1.8px;vector-effect:non-scaling-stroke}.analytical-balance-2d .balance-top-bevel{fill:#aeb3b1;stroke:#7e8481;stroke-width:1.2px}.analytical-balance-2d .balance-face{stroke:#a2a6a3;stroke-width:1px}.analytical-balance-2d .balance-lower-bevel{fill:#8f9491;opacity:.72}.analytical-balance-2d .balance-side-shade{fill:#686f6c57}.analytical-balance-2d .balance-tray-surface{stroke:#6d7478;stroke-linejoin:round;stroke-width:1.3px;vector-effect:non-scaling-stroke}.analytical-balance-2d .balance-tray-front{fill:#a9afb1;stroke:#686f72;stroke-linejoin:round;stroke-width:1.3px;vector-effect:non-scaling-stroke}.analytical-balance-2d .balance-display-frame{fill:#666b68;stroke:#aeb3b0;stroke-width:1.4px}.analytical-balance-2d .balance-display-screen{stroke:#111613;stroke-width:1.2px}.analytical-balance-2d .balance-display-cells line{stroke:#73857c1f;stroke-width:9px}.analytical-balance-2d .balance-reading{fill:#7083796b;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;font-weight:800}.analytical-balance-2d.is-active .balance-reading{fill:#b8ddc9;filter:drop-shadow(0 0 1px #8ee3b68a)}.analytical-balance-2d .balance-unit{fill:#4d5350;font-size:9px;font-weight:800}.analytical-balance-2d .balance-tare-button{fill:#e69a22;stroke:#7d5515;stroke-width:1.1px}.analytical-balance-2d .balance-tare path{fill:none;stroke:#ffdd91d9;stroke-width:1px}.analytical-balance-2d .balance-tare text{fill:#382409;font-size:6px;font-weight:900}.analytical-balance-2d .balance-tare.is-tared .balance-tare-button{fill:#f3ad35;filter:drop-shadow(0 0 2px #e394166b)}.analytical-balance-2d .balance-power-button{fill:#888d8a;stroke:#666b68;stroke-width:1px}.analytical-balance-2d .balance-power circle{fill:#b5b9b6;stroke:#6b716e;stroke-width:.8px}.analytical-balance-2d .balance-power path{fill:none;stroke:#666c69;stroke-linecap:round;stroke-width:.9px}.analytical-balance-2d .balance-power text{fill:#575d5a;font-size:5.5px;font-weight:800}.analytical-balance-2d .balance-power.is-on .balance-power-button{fill:#83958b}.analytical-balance-2d .balance-power.is-on circle{fill:#b8d6c6;stroke:#438064}.analytical-balance-2d .balance-power.is-on path{stroke:#367658}.analytical-balance-2d .balance-control{cursor:pointer;outline:none}.analytical-balance-2d .balance-control-hitarea{fill:#0000;pointer-events:all;stroke:#0000;stroke-width:1.5px;vector-effect:non-scaling-stroke}.analytical-balance-2d .balance-control:hover .balance-control-hitarea{fill:#ffffff29;stroke:#1c8067}.analytical-balance-2d .balance-control:focus-visible .balance-control-hitarea{fill:#ffffff29;stroke:#1c8067}.analytical-balance-2d .balance-control:focus-visible{filter:drop-shadow(0 0 2px #1c80677a)}.lab-spatula-2d .spatula-shadow{fill:#402d262e}.lab-spatula-2d .spatula-shaft,.lab-spatula-2d .spatula-tip{fill:#df5c38;stroke:#ad442a;stroke-width:1.4px;vector-effect:non-scaling-stroke}.lab-spatula-2d .spatula-bowl{stroke:#ae3f28;stroke-width:1.5px;vector-effect:non-scaling-stroke}.lab-spatula-2d .spatula-bowl-depth{fill:#be361e8c}.lab-spatula-2d .spatula-highlight{fill:none;stroke:#ffb394e0;stroke-linecap:round;stroke-width:1.6px}.weighing-boat{fill:#f5f7f4;stroke:#7d8983;stroke-linejoin:round;stroke-width:2px}.weighing-boat-rim{fill:none;stroke:#a7b2ac;stroke-width:1.6px}.weighing-paper-sheet{fill:#f7f6f0;stroke:#7f8984;stroke-linejoin:round;stroke-width:1.8px;vector-effect:non-scaling-stroke}.weighing-paper-fold{fill:none;stroke:#b4b7ae;stroke-linecap:round;stroke-width:1.2px;vector-effect:non-scaling-stroke}.weighing-paper-highlight{fill:none;stroke:#ffffffe0;stroke-linecap:round;stroke-width:1.5px}.weighing-paper-powder .solid-powder{stroke-width:.9px}.solution-liquid{fill:#6cbed37a}.solution-liquid.is-dissolved{fill:#62b8cf94}.solution-surface{fill:#c0ebf3d1;stroke:#58a9bc;stroke-width:1.5px}.solution-meniscus{fill:none;stroke:#4f9fb5;stroke-width:2px}.beaker-rim{fill:#d7e2e48a;stroke:#657476;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.laboratory-beaker-2d .beaker-body{stroke:#657476;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.laboratory-beaker-2d .beaker-bottom,.laboratory-beaker-2d .beaker-rim-highlight{fill:none;stroke:#edf5f5cc;stroke-linecap:round;stroke-width:2px}.laboratory-beaker-2d .beaker-highlight{fill:none;stroke:#f8fcfcb8;stroke-linecap:round;stroke-width:3.5px}.laboratory-beaker-2d .glass-graduation line{stroke:#4e58599e;stroke-width:1.3px}.laboratory-beaker-2d .glass-graduation text{fill:#596364;paint-order:stroke;stroke:#e6ecec9e;stroke-width:1.2px;font-size:8px;font-weight:650}.laboratory-beaker-2d .beaker-capacity-label{fill:#687273;paint-order:stroke;stroke:#e8eeee94;stroke-width:1.5px;font-size:11px;font-weight:750}.laboratory-beaker-2d .beaker-brand-label{fill:#697273;font-size:7px;font-weight:650}.glass-graduation line,.flask-mark line{stroke:#9c5743;stroke-width:2px}.glass-graduation text,.flask-mark text{fill:#7f5043;font-size:10px;font-weight:700}.volumetric-flask-2d .flask-mark path{fill:#d9e7e76b;stroke:#4d5c5a;stroke-width:1.3px}.volumetric-flask-2d .flask-mark line{stroke:#414d4b;stroke-width:1.7px}.volumetric-flask-2d .flask-capacity-label{fill:#52635f;paint-order:stroke;stroke:#f5faf9c7;stroke-width:2px;font-size:10px;font-weight:700}.glass-rod{fill:#d3eef49e;stroke:#6f969e;stroke-width:2px}.glass-rod-shadow{fill:none;stroke:#2b353029;stroke-linecap:round;stroke-width:5px;transform:translate(4px,5px)}.glass-rod-highlight{stroke:#ffffffe6;stroke-linecap:round;stroke-width:2px}.flask-stopper__plug,.flask-stopper__knob{fill:#d8e1e1;stroke:#465654;stroke-width:1.8px}.flask-stopper__knob{fill:#c8d1d0}.flask-stopper__highlight{fill:none;stroke:#ffffffe0;stroke-linecap:round;stroke-width:2px}.flask-stopper.is-removed{opacity:.96}.material-cap-control{cursor:pointer;outline:none}.material-cap-hitarea{fill:#0000;pointer-events:all;stroke:#0000;stroke-width:2px;vector-effect:non-scaling-stroke}.material-cap-control:hover .material-cap-hitarea{fill:#ffffff24;stroke:#1c8067;stroke-dasharray:3 2}.material-cap-control:focus-visible .material-cap-hitarea{fill:#ffffff24;stroke:#1c8067;stroke-dasharray:3 2}.material-cap-control:focus-visible{filter:drop-shadow(0 0 3px #1c806773)}.wash-bottle-2d .wash-bottle-body{stroke:#647173;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.wash-bottle-2d .wash-bottle-liquid-surface{fill:none;stroke-width:1.5px}.wash-bottle-2d .wash-bottle-nozzle{stroke:#9f3823;stroke-linejoin:round;stroke-width:1.8px;vector-effect:non-scaling-stroke}.wash-bottle-2d .wash-bottle-nozzle-highlight{fill:none;stroke:#ff8e64d1;stroke-linecap:round;stroke-width:1.4px}.wash-bottle-2d .wash-bottle-cap__dome,.wash-bottle-2d .wash-bottle-cap__base{fill:currentColor;stroke:#a93a21;stroke-width:1.8px;vector-effect:non-scaling-stroke}.wash-bottle-2d .wash-bottle-cap__rib{stroke:#7e27168c;stroke-width:1.2px}.wash-bottle-2d .wash-bottle-highlight{fill:none;stroke:#f4faf98c;stroke-linecap:round;stroke-width:4px}.wash-bottle-2d .wash-bottle-scale line{stroke:#4d595a8c;stroke-width:1px}.wash-bottle-2d .wash-bottle-scale text{fill:#4f5959;paint-order:stroke;stroke:#e3e9e88c;stroke-width:1.5px;font-size:9px;font-weight:650}.dropper-bulb{stroke:#9d321b;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.dropper-bulb-shade{fill:#701b0e47}.dropper-bulb-highlight{fill:none;stroke:#ffaa89db;stroke-linecap:round;stroke-width:2px}.dropper-collar{stroke:#9c321b;stroke-width:1.7px}.dropper-glass{stroke:#667173;stroke-linejoin:round;stroke-width:1.5px;vector-effect:non-scaling-stroke}.dropper-glass-highlight{fill:none;stroke:#ffffffc7;stroke-linecap:round;stroke-width:1.6px}.material-drop-target{pointer-events:none}.material-drop-target>circle{fill:#ffffff1a;stroke:#839c90;stroke-dasharray:8 8;stroke-width:2px;opacity:.35}.material-drop-target.is-active>circle{fill:#2da0751a;stroke:#249566;stroke-dasharray:none;stroke-width:5px;opacity:.95;animation:.85s ease-in-out infinite alternate preparationTargetPulse}.material-drop-target__label rect{fill:#fffffff5;stroke:#8bbba6;stroke-width:1.5px}.material-drop-target__label text{fill:#276149;font-size:13px;font-weight:750}.preparation-operation{pointer-events:none}.preparation-operation [class*=shadow]{opacity:0!important}.preparation-operation>.material-2d{transform-box:fill-box;transform-origin:50%}.liquid-vessel-clip,.liquid-gravity-layer{pointer-events:none}.operation-pour>.liquid-reagent-bottle-2d,.operation-flask-pour>.volumetric-flask-2d,.operation-invert>.material-2d,.operation-pour>.liquid-reagent-bottle-2d .liquid-gravity-layer,.operation-flask-pour>.volumetric-flask-2d .liquid-gravity-layer,.operation-invert>.material-2d .liquid-gravity-layer,.operation-beaker-pour__vessel .liquid-gravity-layer{transform-box:view-box;transform-origin:0 0}.operation-spatula>.material-2d{animation:preparationSpatula var(--operation-duration,1.35s)ease-in-out}.operation-pour>.material-2d{animation:preparationPour var(--operation-duration,1.35s)ease-in-out}.operation-beaker-pour__vessel{transform-box:view-box;transform-origin:0 0;animation:preparationBeakerPour var(--operation-duration,1.35s)ease-in-out}.operation-beaker-pour .material-caption{display:none}.operation-wash>.material-2d{animation:preparationWash var(--operation-duration,1.35s)ease-in-out}.operation-stir>.material-2d{animation:preparationStir var(--operation-duration,1.5s)ease-in-out}.operation-place-rod>.material-2d{animation:preparationPlaceRod var(--operation-duration,1.5s)ease-out both}.operation-dropper>.material-2d{animation:preparationDropper var(--operation-duration,1.35s)ease-in-out}.operation-flask-pour>.material-2d{animation:preparationFlaskPour var(--operation-duration,1.7s)ease-in-out}.operation-invert>.material-2d{animation:preparationInvert var(--operation-duration,1.7s)ease-in-out}.operation-pour>.liquid-reagent-bottle-2d .liquid-gravity-layer{animation:preparationBottleLiquidGravity var(--operation-duration,1.35s)ease-in-out}.operation-beaker-pour__vessel .liquid-gravity-layer{animation:preparationBeakerLiquidGravity var(--operation-duration,1.35s)ease-in-out}.operation-flask-pour>.volumetric-flask-2d .liquid-gravity-layer{animation:preparationFlaskLiquidGravity var(--operation-duration,1.7s)ease-in-out}.operation-invert>.material-2d .liquid-gravity-layer{animation:preparationInvertLiquidGravity var(--operation-duration,1.7s)ease-in-out}.operation-beaker-pour>.liquid-pour-stream-2d,.operation-wash>.liquid-pour-stream-2d,.operation-flask-pour>.liquid-pour-stream-2d{animation:preparationPourStreamVisibility var(--operation-duration,1.35s)linear both}.operation-fill .liquid-contents{transform-box:fill-box;transform-origin:bottom;animation:preparationLiquidRise var(--operation-duration,1.35s)ease-out both}.liquid-pour-stream-2d{pointer-events:none;overflow:visible}.liquid-pour-stream__source{opacity:.88}.liquid-pour-stream__body{opacity:.9}.liquid-pour-stream__texture{fill:none;stroke:#ffffffb8;stroke-dasharray:3 10;stroke-linecap:round;stroke-width:1.3px;animation:liquidPourStreamTexture var(--liquid-stream-duration,.35s)linear infinite}.liquid-pour-stream__glint{fill:#ffffffc7;pointer-events:none}.powder-fall{animation:.6s ease-in infinite preparationPowder}.solution-drop{fill:#55aec5;opacity:0;animation:.7s ease-in infinite preparationDrop}.solution-drop--two{animation-delay:.35s}@keyframes preparationTargetPulse{to{opacity:.6;transform:scale(1.06)}}@keyframes preparationSpatula{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(12px,-8px)rotate(-8deg)}50%{transform:translate(5px,3px)rotate(6deg)}75%{transform:translate(14px,-5px)rotate(-5deg)}}@keyframes preparationPour{0%,12%,92%,to{transform:rotate(0)}28%,78%{transform:rotate(58deg)}}@keyframes preparationBottleLiquidGravity{0%,12%{transform:rotate(0)}28%{transform:rotate(-55deg)}34%{transform:rotate(-61deg)}42%{transform:rotate(-56deg)}52%,78%{transform:rotate(-58deg)}92%{transform:rotate(3deg)}96%{transform:rotate(-2deg)}to{transform:rotate(0)}}@keyframes preparationBeakerPour{0%,12%,92%,to{transform:rotate(0)}30%,78%{transform:rotate(-50deg)}}@keyframes preparationBeakerLiquidGravity{0%,12%{transform:rotate(0)}30%{transform:rotate(47deg)}36%{transform:rotate(53deg)}44%{transform:rotate(48deg)}54%,78%{transform:rotate(50deg)}92%{transform:rotate(-3deg)}96%{transform:rotate(2deg)}to{transform:rotate(0)}}@keyframes preparationWash{0%,12%,92%,to{transform:rotate(0)}28%,78%{transform:rotate(42deg)}50%{transform:rotate(39deg)scale(.97,1.03)}}@keyframes preparationStir{0%,to{transform:translate(-15px)rotate(-15deg)}25%{transform:translate(18px)rotate(12deg)}50%{transform:translate(-10px)rotate(-12deg)}75%{transform:translate(16px)rotate(14deg)}}@keyframes preparationPlaceRod{0%{opacity:.3;transform:translate(-20px,-30px)rotate(-8deg)}65%,to{opacity:1;transform:translate(0)rotate(0)}}@keyframes preparationDropper{0%,to{transform:translateY(0)scaleY(1)}24%,36%{transform:translateY(4px)scaleY(.94)}62%,74%{transform:translateY(4px)scaleY(.94)}}@keyframes preparationFlaskPour{0%,12%,92%,to{transform:rotate(0)}30%,78%{transform:rotate(68deg)}}@keyframes preparationFlaskLiquidGravity{0%,12%{transform:rotate(0)}30%{transform:rotate(-65deg)}36%{transform:rotate(-71deg)}44%{transform:rotate(-66deg)}54%,78%{transform:rotate(-68deg)}92%{transform:rotate(4deg)}96%{transform:rotate(-2deg)}to{transform:rotate(0)}}@keyframes preparationPourStreamVisibility{0%,16%,90%,to{opacity:0}28%,78%{opacity:1}}@keyframes preparationInvert{0%,8%,92%,to{transform:rotate(0)}35%,66%{transform:rotate(180deg)}}@keyframes preparationInvertLiquidGravity{0%,8%{transform:rotate(0)}35%{transform:rotate(-176deg)}41%{transform:rotate(-184deg)}48%{transform:rotate(-178deg)}55%{transform:rotate(-181deg)}61%{transform:rotate(-179deg)}66%{transform:rotate(-180deg)}92%{transform:rotate(4deg)}96%{transform:rotate(-2deg)}to{transform:rotate(0)}}@keyframes liquidPourStreamTexture{to{stroke-dashoffset:-26px}}@keyframes preparationPowder{0%{opacity:0;transform:translateY(-8px)}25%{opacity:1}to{opacity:0;transform:translateY(34px)}}@keyframes preparationDrop{0%{opacity:0;transform:translateY(0)scale(.65)}20%{opacity:.95}to{opacity:0;transform:translateY(78px)scale(1)}}@keyframes preparationLiquidRise{0%{opacity:.25;transform:scaleY(.08)}to{opacity:1;transform:scaleY(1)}}.solution-preparation-stage .engine-status{bottom:58px;left:18px;right:auto}.solution-operation-caption{z-index:45;color:#28483b;pointer-events:none;background:#fffffff0;border:1px solid #bdd3c8;border-radius:5px;align-items:center;gap:8px;max-width:min(430px,100% - 220px);padding:8px 12px;font-size:10px;font-weight:650;display:flex;position:absolute;top:17px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #1d362b24}.solution-operation-caption span{border:2px solid #b8d4c8;border-top-color:var(--green);border-radius:50%;flex:none;width:13px;height:13px;animation:.65s linear infinite transferSpin}.solution-prep-readout{z-index:20;color:#31463d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#ffffffe0;border:1px solid #c6d8cf;border-radius:5px;grid-template-columns:repeat(4,minmax(66px,1fr));gap:1px;min-width:320px;padding:1px;display:grid;position:absolute;bottom:18px;right:18px;box-shadow:0 5px 14px #233d321a}.solution-prep-readout div{background:#f6faf8e6;flex-direction:column;gap:3px;padding:8px 9px;display:flex}.solution-prep-readout span{color:#809088;font-size:8px}.solution-prep-readout strong{color:var(--green-dark);font-family:Manrope,Noto Sans SC,sans-serif;font-size:11px}.solution-prep-control .section-heading>small{text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:174px;line-height:1.35;overflow:hidden}.solution-prep-formula{background:#f5f8f6;border:1px solid #dce6e1;border-radius:5px;grid-template-columns:1fr auto;align-items:center;gap:5px 10px;padding:9px 10px;font-family:Manrope,Noto Sans SC,sans-serif;display:grid}.solution-prep-formula span{color:#385b4c;font-size:12px;font-weight:750}.solution-prep-formula strong{color:#72847b;grid-column:1;font-size:9px;font-weight:550}.solution-prep-formula output{color:#b45e39;grid-area:1/2/3;font-size:13px;font-weight:750}.prep-apparatus-grid{grid-template-columns:1fr 1fr;gap:5px;display:grid}.prep-apparatus-grid button{color:#627269;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#f8faf9;border:1px solid #dce4df;border-radius:4px;grid-template-columns:17px minmax(0,1fr);align-items:center;gap:6px;min-height:31px;padding:5px 7px;font-size:8px;display:grid;overflow:hidden}.prep-apparatus-grid button span{color:#fff;background:#fff;border:1px solid #b8c6bf;border-radius:3px;place-items:center;width:16px;height:16px;display:grid}.prep-apparatus-grid button.is-selected{color:var(--green-dark);background:var(--green-soft);border-color:#a9d2c0;font-weight:650}.prep-apparatus-grid button.is-selected span{background:var(--green);border-color:var(--green)}.prep-apparatus-grid button:disabled{cursor:not-allowed;opacity:.55}.preparation-progress{gap:4px;margin-bottom:9px;display:grid}.preparation-progress>span{color:#8b9791;background:#f4f7f5;border:1px solid #e0e7e3;border-radius:4px;place-items:center;min-width:0;height:42px;font-family:Manrope,sans-serif;font-size:9px;font-weight:700;display:grid}.preparation-progress small{max-width:100%;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.preparation-progress>span.is-current{color:#9a6130;background:var(--amber-soft);border-color:#e4bd8d}.preparation-progress>span.is-done{color:var(--green-dark);background:var(--green-soft);border-color:#abd1c0}.meniscus-view-control{background:#f6f9f7;border:1px solid #dee7e2;border-radius:5px;margin-top:9px;padding:8px}.meniscus-view-control>strong{color:#4b6257;align-items:center;gap:6px;margin-bottom:7px;font-size:9px;display:flex}.meniscus-view-control>div{background:#e9efec;border-radius:4px;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.meniscus-view-control button{color:#63736b;cursor:pointer;background:#fff;border:0;border-radius:3px;height:29px;font-size:8px}.meniscus-view-control button:nth-child(2){color:var(--green-dark);font-weight:700;box-shadow:inset 0 0 0 1px #96c4af}.solution-prep-status{color:#718078;background:#f6f9f7;border:1px solid #e0e8e3;border-radius:4px;grid-template-columns:1fr auto;gap:5px 10px;margin-top:8px;padding:8px 10px;font-size:8px;display:grid}.solution-prep-status strong{color:#35584a;font-family:Manrope,Noto Sans SC,sans-serif;font-size:9px}@media (max-width:620px){.solution-operation-caption{width:max-content;max-width:calc(100% - 24px);font-size:9px;top:48px}.solution-preparation-stage .engine-status{display:none}.solution-prep-readout{min-width:0;bottom:68px;left:10px;right:10px}.solution-prep-readout div{padding:7px 5px}.solution-prep-readout strong{font-size:9px}}@keyframes swirlFlask{0%,to{transform:rotate(0)translate(0)}35%{transform:rotate(-5deg)translate(-4px)}70%{transform:rotate(5deg)translate(4px)}}@keyframes flaskSettle{0%{opacity:.75;transform:translateY(-9px)rotate(-2deg)scale(.98)}58%{opacity:1;transform:translateY(2px)rotate(1deg)scale(1)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes transferSpin{to{transform:rotate(360deg)}}@keyframes acidBottlePour{0%{opacity:0;transform:translate(-35px,20px)rotate(0)}22%{opacity:1;transform:translate(0)rotate(0)}42%,82%{opacity:1;transform:translate(18px,3px)rotate(-68deg)}to{opacity:0;transform:translate(-10px,8px)rotate(-25deg)}}@keyframes funnelAppear{0%,8%,94%,to{opacity:0}16%,88%{opacity:1}}@keyframes reagentStream{0%,38%,88%,to{opacity:0;transform:rotate(64deg)scaleY(0)}45%,82%{opacity:1;transform:rotate(64deg)scaleY(1)}}@keyframes rinseTube{0%{opacity:0;transform:translateY(20px)rotate(86deg)}18%{opacity:1;transform:translateY(0)rotate(0)}36%{transform:rotate(155deg)}56%{transform:rotate(330deg)}74%{transform:translate(22px,22px)rotate(18deg)}88%{opacity:1;transform:translate(38px,40px)rotate(27deg)}to{opacity:0;transform:translate(46px,48px)rotate(30deg)}}@keyframes rinseLiquid{0%,14%{transform:translate(-110%)}28%{transform:translate(0)}72%{width:35%;transform:translate(145%)}to{width:8%;transform:translate(620%)}}@keyframes rinseDrain{0%,70%,to{opacity:0;transform-origin:top;transform:scaleY(0)}78%,94%{opacity:1;transform-origin:top;transform:scaleY(1)}}@keyframes pipetteMove{0%{opacity:0;transform:translate(-65px,45px)rotate(-8deg)}20%{opacity:1;transform:translate(-28px,24px)rotate(0)}45%,82%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(18px,-16px)rotate(4deg)}}@keyframes pipetteLiquid{0%,28%{transform:scaleY(0)}48%,65%{transform:scaleY(1)}95%,to{transform:scaleY(0)}}.chemical-waste-svg{-webkit-user-select:none;user-select:none;width:100%;height:100%;font-family:Manrope,Noto Sans SC,sans-serif;display:block}.chemical-waste-stage .lab-2d-scene{background:#e8f0ec}.chemical-waste-stage .engine-status{bottom:58px;left:18px;right:auto}.waste-bench-edge{fill:#74533a;opacity:.66}.waste-scene-heading text:first-child{fill:#284c3e;font-size:20px;font-weight:750}.waste-scene-heading text:last-child{fill:#70857b;font-size:11px;font-weight:600}.battery-cell-shell{fill:#697a7f;stroke:#314247;stroke-width:2px}.battery-cell-highlight{fill:#ffffff2e}.battery-cell-band{fill:#384a4f}.battery-cell-terminal--negative{fill:#b9bcb7}.battery-cell-terminal--positive{fill:#c7804c}.battery-cell-polarity{fill:#26363a;font-size:12px;font-weight:800}.battery-cell-mark{fill:#f4f5f0;font-size:15px;font-weight:800}.battery-charge-indicator rect:first-child{fill:none;stroke:#dbe4df;stroke-width:1.5px}.battery-charge-indicator rect:last-child{fill:#d8704c;transition:width .22s}.battery-charge-indicator.is-safe rect:last-child{fill:#54a67e}.sample-dish{fill:#d2dfdc94;stroke:#71827f;stroke-width:1.8px}.sample-dish-rim{fill:#eff6f352;stroke:#869794;stroke-width:1.7px}.sample-cathode .sample-powder{fill:#4d5551}.sample-anode .sample-powder{fill:#343a39}.sample-foil{stroke-linejoin:round;stroke-width:1px}.sample-foil--al{fill:#c4cac8;stroke:#777f7d}.sample-foil--cu{fill:#c67b4b;stroke:#895032}.sample-graphite{fill:#202625;stroke:#59605d;stroke-width:1px}.sample-granule--one{fill:#8d5769}.sample-granule--two{fill:#567b74}.sample-vial-liquid{fill:#d7c59b;opacity:.75}.sample-vial-body{fill:#e1ebe83d;stroke:#647572;stroke-width:1.7px}.sample-vial-neck{fill:#dfe9e64d;stroke:#647572;stroke-width:1.5px}.sample-vial-cap{fill:#596866;stroke:#32413f;stroke-width:1.3px}.sample-vial-label{fill:#f2eee3;stroke:#c8bfa9;stroke-width:1px}.sample-vial-formula{fill:#493f32;font-size:10px;font-weight:800}.sample-vial-sub{fill:#746857;font-size:7px;font-weight:600}.waste-treatment-reactor-2d .waste-reactor-body{fill:#d6e2df57;stroke:#566c68;stroke-width:2px}.waste-reactor-highlight{fill:none;stroke:#ffffffb3;stroke-linecap:round;stroke-width:3px}.waste-reactor-lid{fill:#9eaaa7;stroke:#536562;stroke-width:2px}.waste-reactor-port{fill:#d4ddda;stroke:#586a67;stroke-width:2px}.waste-reactor-outlet{fill:#8e9c98;stroke:#536562;stroke-width:2px}.waste-reactor-drive rect{fill:#526765;stroke:#2f4240;stroke-width:2px}.waste-reactor-drive circle{fill:#7f9991;stroke:#d4e4de;stroke-width:1.5px}.waste-reactor-drive>path{fill:none;stroke:#52615f;stroke-width:5px}.waste-reactor-drive .waste-reactor-paddle{stroke:#697977;stroke-linecap:round;stroke-width:5px}.waste-treatment-reactor-2d.is-active .waste-reactor-paddle{transform-box:fill-box;transform-origin:50%;animation:.65s linear infinite wastePaddle}.waste-reactor-liquid{opacity:.62}.waste-reactor-precipitate{opacity:.88}.waste-reactor-particles circle{fill:#4f5754;opacity:.88}.waste-reactor-bubbles circle{fill:#ffffff4d;stroke:#ffffffd1;stroke-width:1.2px;animation:1.35s ease-in infinite wasteBubble}.waste-reactor-bubbles circle:nth-child(2){animation-delay:.3s}.waste-reactor-bubbles circle:nth-child(3){animation-delay:.65s}.waste-reactor-bubbles circle:nth-child(4){animation-delay:.9s}.waste-reactor-status rect{fill:#f5f9f7eb;stroke:#89a198;stroke-width:1px}.waste-reactor-status text{fill:#34564a;font-size:10px;font-weight:750}.vacuum-filter-funnel{fill:#dde8e566;stroke:#5e706d;stroke-width:2px}.vacuum-filter-rim{fill:#eff6f373;stroke:#657773;stroke-width:2px}.vacuum-filter-cake{opacity:.85;stroke:#454a4799;stroke-width:1px}.vacuum-filter-stem,.vacuum-filter-sidearm{fill:#dde8e573;stroke:#5e706d;stroke-width:2px}.vacuum-filter-flask{fill:#deeae747;stroke:#5e706d;stroke-width:2px}.vacuum-filter-liquid{opacity:.63}.vacuum-filter-hose{fill:none;stroke:#4c605c;stroke-linecap:round;stroke-width:5px}.vacuum-pump rect{fill:#566865;stroke:#2f413e;stroke-width:2px}.vacuum-pump circle{fill:#91a7a1;stroke:#d7e3df;stroke-width:2px}.vacuum-pump circle.is-running{transform-box:fill-box;transform-origin:50%;animation:.48s linear infinite wastePump}.vacuum-pump path{fill:none;stroke:#b8c8c3;stroke-width:2px}.vacuum-filter-switch rect,.solvent-unit-switch rect,.anode-station-switch rect{fill:#d8e4df;stroke:#6f8880;stroke-width:1.4px}.vacuum-filter-switch text,.solvent-unit-switch text,.anode-station-switch text{fill:#37564c;font-size:9px;font-weight:750}.vacuum-filter-switch.is-interactive,.solvent-unit-switch.is-interactive,.anode-station-switch.is-interactive{cursor:pointer}.vacuum-filter-switch.is-interactive:hover rect,.solvent-unit-switch.is-interactive:hover rect,.anode-station-switch.is-interactive:hover rect{fill:#b8d8ca;stroke:#3d8065}.solvent-stand{fill:none;stroke:#515f5c;stroke-linecap:round;stroke-width:5px}.solvent-boiling-flask>path:first-child,.solvent-receiver>path:first-child{fill:#e0ebe847;stroke:#5d706c;stroke-width:2px}.solvent-boiling-liquid{fill:#d4bf8d;opacity:.72}.solvent-recovered-liquid{fill:#e1c98e;opacity:.78}.solvent-head{fill:none;stroke:#60736f;stroke-linejoin:round;stroke-width:8px}.solvent-condenser rect{fill:#cae2e880;stroke:#60736f;stroke-width:2px}.solvent-condenser path{fill:none;stroke:#647875;stroke-width:3px}.solvent-condenser .solvent-cooling-water{stroke:#5794aa;stroke-width:5px}.solvent-adapter{fill:none;stroke:#60736f;stroke-width:7px}.solvent-vapor circle{fill:#ffffff2e;stroke:#efdfbc;stroke-width:1.4px;animation:1.2s ease-in infinite wasteVapor}.solvent-vacuum-pump rect{fill:#566865;stroke:#2f413e;stroke-width:2px}.solvent-vacuum-pump circle{fill:#92a8a1;stroke:#d8e5e0;stroke-width:2px}.solvent-vacuum-pump circle.is-running{transform-box:fill-box;transform-origin:50%;animation:.48s linear infinite wastePump}.solvent-vacuum-pump path{fill:none;stroke:#4d615d;stroke-width:4px}.anode-machine-body{fill:#60716e;stroke:#344743;stroke-width:2px}.anode-feed-tray{fill:#96a5a1;stroke:#4a5c59;stroke-width:2px}.anode-feed-material{fill:#313837;stroke:#171d1c;stroke-width:1px}.anode-separator-drum circle{fill:#758985;stroke:#cfdbd7;stroke-width:3px}.anode-separator-drum path{fill:none;stroke:#d6dfdc;stroke-width:3px}.anode-separator-drum.is-running{transform-box:fill-box;transform-origin:50%;animation:.52s linear infinite wastePump}.anode-copper-chute{fill:#a76a43;stroke:#6f422c;stroke-width:2px}.anode-graphite-chute{fill:#4b5552;stroke:#2b3432;stroke-width:2px}.anode-output rect{fill:#dce5e1;stroke:#667a75;stroke-width:1.6px}.anode-output text{fill:#344b45;font-size:11px;font-weight:800}.anode-output--copper path{fill:#c27b4b}.anode-output--graphite path{fill:#2e3533}.waste-fume-hood>.waste-hood-frame{fill:#c1dad114;stroke:#768c84;stroke-width:4px;pointer-events:none}.waste-hood-top,.waste-hood-bench{fill:#647b73;stroke:#40564e;stroke-width:2px;pointer-events:none}.waste-hood-sash{fill:#c4e0e01f;stroke:#647e799e;stroke-width:2px;pointer-events:none}.waste-hood-label{fill:#e8f1ed;pointer-events:none;font-size:11px;font-weight:750}.waste-hood-airflow{opacity:0;pointer-events:none}.waste-fume-hood.is-on .waste-hood-airflow{opacity:.7}.waste-hood-airflow path{fill:none;stroke:#57a989;stroke-dasharray:7 7;stroke-width:2px;animation:.8s linear infinite wasteAirflow}.waste-disassembly-tray path{fill:#9aa8a4;stroke:#566864;stroke-width:2px}.waste-disassembly-tray text{fill:#344945;font-size:10px;font-weight:700}.waste-battery-source.is-discharging{animation:wasteDischarge var(--waste-operation-duration,1.1s)ease-in-out}.waste-dismantle-battery__material{animation:wasteDismantleInside var(--waste-operation-duration,1.4s)ease-in-out both;transform-box:fill-box;transform-origin:50%}.waste-dismantled-preview__material{animation:wasteSampleSeparate var(--waste-operation-duration,1.4s)ease-out both;transform-box:fill-box;transform-origin:50%}.waste-dismantled-preview>g:nth-child(2) .waste-dismantled-preview__material{animation-delay:90ms}.waste-dismantled-preview>g:nth-child(3) .waste-dismantled-preview__material{animation-delay:.18s}.waste-classification-bin>path:first-child{fill:#778a84;stroke:#435750;stroke-width:2px}.waste-classification-bin .waste-bin-lid{fill:#536b62;stroke:#344b43;stroke-width:2px}.waste-classification-bin .waste-bin-label{fill:#f4f6f1;stroke:#b6c4bd;stroke-width:1px}.waste-classification-bin>text{fill:#34443f;font-size:10px;font-weight:750}.waste-classification-bin.is-filled>path:first-child{fill:#668c7c}.bin-electrolyte>path:first-child{fill:#8a806b}.bin-anode>path:first-child{fill:#65706e}.waste-recovery-rack>path{fill:#f1f5f2b3;stroke:#83968f;stroke-width:2px}.waste-recovery-rack>text{fill:#415851;font-size:11px;font-weight:800}.waste-recovery-rack>g rect{fill:#e9eeeb;stroke:#b7c4be;stroke-width:1px}.waste-recovery-rack>g text{fill:#8a9691;font-size:10px;font-weight:700}.waste-recovery-rack>g.is-recovered rect{fill:#c7dfd3;stroke:#70a58c}.waste-recovery-rack>g.is-recovered text{fill:#2d5b48}.waste-fluoride-output rect{fill:#ebefec;stroke:#a5b3ad;stroke-width:1.5px}.waste-fluoride-output text{fill:#7d8984;font-size:9px;font-weight:700}.waste-fluoride-output.is-recovered rect{fill:#d8e5df;stroke:#77a18e}.waste-fluoride-output.is-recovered text{fill:#365b4d}.waste-dust-note rect{fill:#f0f4f1}.waste-dust-note text{fill:#486058;font-size:11px;font-weight:650}.waste-operation{pointer-events:none}.waste-operation [class*=shadow]{opacity:0!important}.waste-operation-pour__bottle{transform-box:view-box;transform-origin:0 0;animation:wasteBottlePour var(--waste-operation-duration,1.65s)ease-in-out both}.waste-operation-pour__bottle .liquid-gravity-layer{transform-box:view-box;transform-origin:0 0;animation:wasteBottleLiquidGravity var(--waste-operation-duration,1.65s)ease-in-out both}.waste-operation-pour>.liquid-pour-stream-2d{animation:wasteStreamVisibility var(--waste-operation-duration,1.65s)linear both}.waste-operation-sample__material{animation:wasteSampleSettle var(--waste-operation-duration,.95s)ease-out both;transform-box:fill-box;transform-origin:50%}.waste-summary-board>.waste-summary-title{fill:#2f5145;font-size:22px;font-weight:800}.waste-summary-board>g:not(.waste-principles)>rect{fill:#f8faf8d9;stroke:#a9bbb4;stroke-width:1.5px}.waste-summary-board>g:not(.waste-principles)>text:first-of-type{fill:#35594b;font-size:16px;font-weight:800}.waste-summary-board>g:not(.waste-principles)>text:not(:first-of-type){fill:#63756e;font-size:11px;font-weight:600}.waste-summary-board>g:not(.waste-principles)>path{fill:none;stroke:#4fa077;stroke-linecap:round;stroke-linejoin:round;stroke-width:6px}.waste-principles circle{fill:#4d9b74}.waste-principles text{fill:#365b4c;font-size:15px;font-weight:800}.waste-treatment-readout{z-index:20;color:#344941;pointer-events:none;background:#f6faf8f0;border:1px solid #bfd0c8;border-radius:5px;grid-template-columns:repeat(4,minmax(62px,1fr));min-width:300px;display:grid;position:absolute;bottom:18px;right:18px;overflow:hidden;box-shadow:0 5px 14px #233d321a}.waste-treatment-readout div{border-left:1px solid #dce6e1;flex-direction:column;gap:3px;padding:8px 9px;display:flex}.waste-treatment-readout div:first-child{border-left:0}.waste-treatment-readout span{color:#7a8b83;font-size:8px}.waste-treatment-readout strong{color:#315747;font-size:11px}.waste-safety-controls{grid-template-columns:1fr;gap:5px;display:grid}.waste-safety-controls button{color:#65756e;cursor:pointer;text-align:left;background:#f5f8f6;border:1px solid #dce5e0;border-radius:4px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:34px;padding:6px 8px;font-size:9px;display:grid}.waste-safety-controls button em{color:#8b9892;font-size:8px;font-style:normal}.waste-safety-controls button.is-active{color:#285b47;background:#e1f0e8;border-color:#9bc7b3}.waste-safety-controls button.is-active em{color:#3f8063}.waste-safety-controls button:disabled{cursor:not-allowed;opacity:.58}.waste-preprocess-actions{gap:6px;display:grid}.waste-route-progress{gap:5px;display:grid}.waste-route-progress>div{color:#6e7c76;background:#f5f7f6;border:1px solid #e0e6e3;border-radius:4px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:34px;padding:5px 8px;display:grid}.waste-route-progress span{background:#e3e9e6;border-radius:50%;place-items:center;width:18px;height:18px;display:grid}.waste-route-progress strong{font-size:9px;font-weight:650}.waste-route-progress em{color:#89958f;font-size:8px;font-style:normal}.waste-route-progress>div.is-done{color:#2f654f;background:#e4f0e9;border-color:#acd0bf}.waste-route-progress>div.is-done span{color:#fff;background:#559b79}.waste-route-progress>div.is-done em{color:#448264}.waste-equation{background:#f4f7f5;border-left:3px solid #c98755;gap:6px;margin-bottom:8px;padding:9px 10px;display:grid}.waste-equation span{color:#87938d;font-size:8px}.waste-equation strong{color:#435850;font-size:9px;font-weight:650;line-height:1.55}@keyframes wastePaddle{to{transform:rotate(360deg)}}@keyframes wastePump{to{transform:rotate(360deg)}}@keyframes wasteBubble{0%{opacity:0;transform:translateY(18px)scale(.6)}25%{opacity:.9}to{opacity:0;transform:translateY(-45px)scale(1.15)}}@keyframes wasteVapor{0%{opacity:0;transform:translateY(16px)scale(.7)}35%{opacity:.9}to{opacity:0;transform:translateY(-32px)scale(1.2)}}@keyframes wasteAirflow{to{stroke-dashoffset:-28px}}@keyframes wasteDischarge{0%,to{filter:none;transform:translate(140px,330px)scale(1.05)}30%,68%{filter:drop-shadow(0 0 8px #ca7545b3);transform:translate(140px,330px)scale(1.05)}42%,58%{transform:translate(140px,330px)scale(1.01)}}@keyframes wasteDismantleInside{0%,22%{opacity:1;transform:rotate(0)scale(1)}72%,to{opacity:0;transform:rotate(-4deg)scale(.9)}}@keyframes wasteSampleSeparate{0%{opacity:0;transform:translate(-70px,-12px)scale(.72)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes wasteBottlePour{0%,12%,92%,to{transform:rotate(0)}28%,78%{transform:rotate(58deg)}}@keyframes wasteBottleLiquidGravity{0%,12%{transform:rotate(0)}28%,78%{transform:rotate(-58deg)}92%,to{transform:rotate(0)}}@keyframes wasteStreamVisibility{0%,18%,88%,to{opacity:0}30%,78%{opacity:1}}@keyframes wasteSampleSettle{0%{opacity:.45;transform:translateY(-40px)scale(.82)}70%{opacity:1;transform:translateY(4px)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:620px){.chemical-waste-stage .engine-status{display:none}.waste-treatment-readout{min-width:0;bottom:68px;left:10px;right:10px}.waste-treatment-readout div{padding:7px 5px}.waste-treatment-readout strong{font-size:9px}}@media (prefers-reduced-motion:reduce){.waste-treatment-reactor-2d *,.vacuum-filter-apparatus-2d *,.solvent-recovery-unit-2d *,.anode-recovery-station-2d *,.waste-operation,.waste-operation *,.waste-hood-airflow path{animation-duration:.01ms!important;animation-iteration-count:1!important}}.tyndall-effect-stage .lab-2d-scene{background:#e8efec}.tyndall-effect-stage .engine-status{bottom:58px;left:18px;right:auto}.tyndall-experiment-svg{-webkit-user-select:none;user-select:none;width:100%;height:100%;font-family:Manrope,Noto Sans SC,sans-serif;display:block}.tyndall-bench-edge{fill:#76543b;opacity:.7}.tyndall-scene-heading{pointer-events:none}.tyndall-scene-heading text:first-child{fill:#284d3f;font-size:21px;font-weight:800}.tyndall-scene-heading text:last-child{fill:#71867c;font-size:12px;font-weight:600}.tyndall-prep-zone>path{fill:#f8fbf98f;stroke:#a9bbb3;stroke-dasharray:7 7;stroke-width:1.5px}.tyndall-prep-zone>text{fill:#587067;font-size:13px;font-weight:750}.tyndall-sample-beaker-2d .tyndall-sample-liquid{opacity:.76;transition:fill .26s}.tyndall-sample-beaker-2d .tyndall-sample-surface{opacity:.84;stroke-width:1.3px}.tyndall-solid-powder{opacity:.92}.tyndall-beaker-body{stroke:#60777b;stroke-linejoin:round;stroke-width:2.1px}.tyndall-beaker-base{fill:#e1eff0b8;stroke:#5b7176d1;stroke-linejoin:round;stroke-width:1.5px}.tyndall-beaker-rim{fill:#e2f1f38a;stroke:#61787d;stroke-linejoin:round;stroke-width:2px}.tyndall-beaker-highlight{fill:none;stroke:#ffffffc2;stroke-linecap:round;stroke-width:3px}.tyndall-beaker-scale line{stroke:#61767a;stroke-width:1.2px}.tyndall-beaker-scale text{fill:#52666a;stroke:none;font-size:9px;font-weight:700}.tyndall-sample-beaker-2d .material-caption{font-size:13px}.tyndall-colloid-particles circle{fill:#6e2e22;opacity:.45;animation:1.8s ease-in-out infinite alternate tyndallParticleFloat}.tyndall-colloid-particles circle:nth-child(2n){animation-delay:-.7s}.tyndall-suspension-particles circle{fill:#4a372d;opacity:.72;animation:2.4s ease-in infinite tyndallParticleSettle}.tyndall-suspension-particles circle:nth-child(2){animation-delay:-.8s}.tyndall-suspension-particles circle:nth-child(3){animation-delay:-1.5s}.tyndall-sediment{fill:#4d392e;opacity:.72}.tyndall-beam{fill:none;stroke:#ed443b;stroke-linecap:round;pointer-events:none}.tyndall-beam--solution{opacity:.06;stroke-width:2px}.tyndall-beam--colloid{fill:#ef483957;stroke:#ff705ad6;stroke-width:1.4px;filter:drop-shadow(0 0 4px #f24537eb);animation:.68s ease-in-out infinite alternate tyndallBeamPulse}.tyndall-scattered-rays path{fill:none;stroke:#ff7b65b8;stroke-linecap:round;stroke-width:1.4px}.tyndall-beam--suspension{fill:#ed543747;stroke:#f777599e;stroke-width:1.2px;filter:drop-shadow(0 0 3px #e34e32b3)}.alcohol-burner-fuel{opacity:.72}.alcohol-burner-body{stroke:#687d82;stroke-linejoin:round;stroke-width:2.4px}.alcohol-burner-glass-highlight{fill:none;stroke:#ffffffad;stroke-linecap:round;stroke-width:3.2px}.alcohol-burner-liquid-surface{fill:#cee7eb57;stroke:#edf9fa94;stroke-width:1.4px}.alcohol-burner-inner-wick{fill:none;stroke:#f2f8f7d1;stroke-linecap:round;stroke-width:5px}.alcohol-burner-base path{stroke:#52666a;stroke-width:1.8px}.alcohol-burner-base ellipse{fill:#cad6d86b;stroke:#5a6e72;stroke-width:2px}.alcohol-burner-neck{stroke:#687d82;stroke-width:2px}.alcohol-burner-neck-rim{fill:#e1eff073;stroke:#60767b;stroke-width:1.8px}.alcohol-burner-wick-holder{stroke:#56686c;stroke-width:1.4px}.alcohol-burner-wick-holder-rim{fill:#aab8ba;stroke:#56686c;stroke-width:1.3px}.alcohol-burner-wick{fill:#e5e8e3;stroke:#7b8078;stroke-width:1px}.alcohol-burner-flame{filter:drop-shadow(0 0 7px #f1882dad);transform-box:fill-box;transform-origin:bottom;animation:.41s ease-in-out infinite alternate tyndallFlame}.alcohol-burner-flame path:first-child{fill:#f2772e}.alcohol-burner-flame path:last-child{fill:#2e7ef0}.alcohol-burner-flame.is-snuffing{animation:alcoholFlameSnuff var(--tyndall-operation-duration,1.05s)ease-in both}.alcohol-burner-match{transform-box:fill-box;transform-origin:10px -60px;animation:alcoholMatchLight var(--tyndall-operation-duration,1.6s)ease-in-out both}.alcohol-burner-match>path:first-child{fill:none;stroke:#dbc79d;stroke-linecap:round;stroke-width:4px}.alcohol-burner-match>circle{fill:#4b2c21;stroke:#2d1c17;stroke-width:1px}.alcohol-burner-match-flame{fill:#ff9a35;filter:drop-shadow(0 0 5px #ff7e28bf)}.alcohol-burner-wick-control{cursor:default;outline:none}.alcohol-burner-wick-control.is-interactive{cursor:pointer}.alcohol-burner-wick-control.is-interactive:hover circle{fill:#4ea67c2e;stroke:#4a9a73;stroke-dasharray:3 3;stroke-width:1.5px}.alcohol-burner-wick-control.is-interactive:focus-visible circle{fill:#4ea67c2e;stroke:#4a9a73;stroke-dasharray:3 3;stroke-width:1.5px}.alcohol-burner-cap{cursor:default;outline:none}.alcohol-burner-cap>path:first-child{stroke:#56666a;stroke-width:1.6px}.alcohol-burner-cap-highlight{fill:none;stroke:#ffffff94;stroke-linecap:round;stroke-width:3px}.alcohol-burner-cap-rim{fill:#c0ccceb8;stroke:#59696c;stroke-width:1.5px}.alcohol-burner-cap.is-interactive{cursor:pointer}.alcohol-burner-cap.is-interactive:hover>path:first-child{filter:drop-shadow(0 0 5px #41926bb8);stroke:#3f8967}.alcohol-burner-cap.is-interactive:focus-visible>path:first-child{filter:drop-shadow(0 0 5px #41926bb8);stroke:#3f8967}.alcohol-burner-cap.is-opening{animation:alcoholCapOpen var(--tyndall-operation-duration,.75s)ease-in-out both}.alcohol-burner-cap.is-closing{animation:alcoholCapClose var(--tyndall-operation-duration,1.05s)ease-in-out both}.tripod-foot-shadows ellipse{fill:#22282733}.tripod-leg{fill:none;stroke-linecap:round;stroke-width:8px}.tripod-leg--back{opacity:.18;stroke-width:5px}.tripod-ring{stroke:#202527;stroke-linejoin:round;stroke-width:1.5px}.tripod-ring-highlight{fill:none;stroke:#d7dedd5c;stroke-linecap:round;stroke-width:2.4px}.wire-gauze-shadow{fill:#252b292e}.wire-gauze-surface{stroke:#434b4e;stroke-linejoin:round;stroke-width:1px}.wire-gauze-frame{fill:none;stroke:#303638;stroke-linejoin:round;stroke-width:3px}.wire-gauze-ceramic{stroke:#bcb79e;stroke-width:1.3px}.wire-gauze-speckles circle{fill:#a7a38d;opacity:.56}.wire-gauze-ceramic-highlight{fill:none;stroke:#ffffff85;stroke-linecap:round;stroke-width:1.6px}.laser-pointer-body{stroke:#080909;stroke-width:1.5px}.laser-pointer-body-highlight{fill:none;stroke:#fff3;stroke-linecap:round;stroke-width:1.6px}.laser-pointer-seam{fill:none;stroke:#000000a3;stroke-width:1.2px}.laser-pointer-end-cap{stroke:#444847;stroke-width:1.2px}.laser-pointer-end-collar{stroke:#303332;stroke-width:1px}.laser-pointer-output-aperture{fill:#171919;stroke:#5f6462;stroke-width:1px}.laser-pointer-switch-label{fill:#aaaead;letter-spacing:0;font-size:8px;font-weight:650}.laser-pointer-switch-track{fill:#0b5838;stroke:#080a09;stroke-width:1px}.laser-pointer-switch-knob{fill:#32d67e;stroke:#087540;stroke-width:1px;filter:drop-shadow(0 0 2px #2fd67ca6);transition:cx .16s}.lab-laser-pointer-2d.is-active .laser-pointer-switch-track{fill:#0c814c}.laser-pointer-local-beam{fill:none;stroke-linecap:round;stroke-width:3px;filter:drop-shadow(0 0 4px #e0372ee6)}.lab-laser-pointer-2d .material-caption{font-size:12px}.tyndall-steam path{fill:none;stroke:#6c8e8e80;stroke-dasharray:8 7;stroke-linecap:round;stroke-width:3px;animation:1.35s linear infinite tyndallSteam}.tyndall-prep-status rect{fill:#f8fbf9e6;stroke:#b7c7c0;stroke-width:1.4px}.tyndall-prep-status text{fill:#718078;font-size:10px;font-weight:650}.tyndall-prep-status text:first-of-type{fill:#315344;font-size:13px;font-weight:800}.tyndall-prep-status text.is-done{fill:#26704f;font-weight:800}.tyndall-chamber-body{fill:#27353321;stroke:#51645f;stroke-width:2.4px}.tyndall-chamber-top,.tyndall-chamber-bench{fill:#5d6d69;stroke:#354740;stroke-width:2px}.tyndall-chamber-label{color:#d8e7e0;pointer-events:none}.tyndall-chamber-label text{fill:#e7efeb;font-size:11px;font-weight:750}.tyndall-chamber-door{fill:#0c1918c9;stroke:#455852;stroke-width:2px;pointer-events:none}.tyndall-chamber.is-closed .tyndall-chamber-body{fill:#0c19184d}.tyndall-chamber-control{cursor:pointer;outline:none}.tyndall-chamber-control rect{fill:#e3eee9;stroke:#77a28f;stroke-width:1.2px}.tyndall-chamber-control text{fill:#315b49;pointer-events:none;font-size:9px;font-weight:800}.tyndall-chamber-control:hover rect{fill:#cce4d8;stroke:#3f8664;stroke-width:2px}.tyndall-chamber-control:focus-visible rect{fill:#cce4d8;stroke:#3f8664;stroke-width:2px}.tyndall-chamber-control.is-disabled{cursor:not-allowed;opacity:.58}.tyndall-observation-row-label{pointer-events:none}.tyndall-observation-row-label text:first-child{fill:#e7efeb;font-size:11px;font-weight:800}.tyndall-observation-row-label text:last-child{fill:#9fb1aa;font-size:8px;font-weight:600}.tyndall-view-screen{fill:#273431;stroke:#7d8e88;stroke-width:2px}.tyndall-operation{pointer-events:none}.tyndall-operation [class*=shadow]{opacity:0!important}.tyndall-operation .material-caption{display:none}.tyndall-operation-water__bottle{animation:tyndallWaterPour var(--tyndall-operation-duration,1.55s)ease-in-out both}.tyndall-operation-water>.liquid-pour-stream-2d{animation:tyndallStreamShow var(--tyndall-operation-duration,1.55s)linear both}.tyndall-operation-dropper__instrument{animation:tyndallDropperUse var(--tyndall-operation-duration,1.55s)ease-in-out both}.tyndall-fecl3-drop{fill:#a4462f;opacity:0;animation:tyndallDropFall var(--tyndall-operation-duration,1.55s)ease-in both}.tyndall-fecl3-drop.drop-2{animation-delay:calc(var(--tyndall-operation-duration,1.55s)*.09)}.tyndall-fecl3-drop.drop-3{animation-delay:calc(var(--tyndall-operation-duration,1.55s)*.18)}.tyndall-fecl3-drop.drop-4{animation-delay:calc(var(--tyndall-operation-duration,1.55s)*.27)}.tyndall-fecl3-drop.drop-5{animation-delay:calc(var(--tyndall-operation-duration,1.55s)*.36)}.tyndall-fecl3-drop.drop-6{animation-delay:calc(var(--tyndall-operation-duration,1.55s)*.45)}.tyndall-operation-place__material{animation:tyndallPlaceSample var(--tyndall-operation-duration,.85s)ease-out both}.tyndall-global-beam{fill:none;stroke:#ef463c;stroke-linecap:round;stroke-width:3px;filter:drop-shadow(0 0 5px #ed3d33e6);animation:.6s ease-in-out infinite alternate tyndallBeamPulse}.tyndall-operation-laser.beam-colloid .tyndall-global-beam,.tyndall-operation-laser.beam-suspension .tyndall-global-beam{fill:#ef463a42;stroke-width:1.5px}.tyndall-operation-laser.beam-suspension .tyndall-global-beam{opacity:.72}.tyndall-exit-spot{fill:#ff6658;filter:drop-shadow(0 0 7px #ef4137)}.tyndall-readout{z-index:8;pointer-events:none;background:#f7faf8f0;border:1px solid #c3d2cb;border-radius:5px;grid-template-columns:repeat(4,minmax(62px,1fr));min-width:300px;display:grid;position:absolute;bottom:14px;right:18px;overflow:hidden;box-shadow:0 5px 14px #233d321a}.tyndall-readout div{border-left:1px solid #dbe4e0;flex-direction:column;gap:2px;padding:7px 9px;display:flex}.tyndall-readout div:first-child{border-left:0}.tyndall-readout span{color:#809088;font-size:8px}.tyndall-readout strong{color:#315747;font-size:10px}.tyndall-safety-button{color:#616f69;cursor:pointer;text-align:left;background:#f7f9f8;border:1px solid #dce4e0;border-radius:5px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:34px;padding:6px 9px;font-size:9px;display:grid}.tyndall-safety-button em{color:#8a9690;font-size:8px;font-style:normal}.tyndall-safety-button.is-active{color:#285b47;background:#e1f0e8;border-color:#9bc7b3}.tyndall-safety-button.is-active em{color:#3f8063}.tyndall-safety-button:disabled{cursor:not-allowed;opacity:.58}.tyndall-laser-warning{color:#8c4d3d;background:#fbefeb;border:1px solid #eed0c5;border-radius:4px;align-items:flex-start;gap:7px;margin-top:7px;padding:7px 8px;font-size:8px;line-height:1.45;display:flex}.tyndall-laser-warning svg{flex:none}.tyndall-prep-progress{grid-template-columns:repeat(5,1fr);gap:4px;display:grid;position:relative}.tyndall-prep-progress>span{color:#89958f;background:#f3f6f4;border:1px solid #dfe6e2;border-radius:4px;place-items:center;min-width:0;height:39px;font-size:9px;font-weight:800;display:grid}.tyndall-prep-progress small{color:inherit;font-size:7px;font-weight:650;display:block}.tyndall-prep-progress>span.is-done{color:#2f6c52;background:#e1efe7;border-color:#a8ceb9}.tyndall-equation{background:#f4f7f5;border:1px solid #dce5e0;border-radius:4px;gap:4px;margin-top:7px;padding:8px 9px;display:grid}.tyndall-equation span{color:#849089;font-size:8px}.tyndall-equation strong{color:#3d584d;font-family:Manrope,Noto Sans SC,sans-serif;font-size:8px;font-weight:700;line-height:1.5}.tyndall-observation-list{gap:5px;display:grid}.tyndall-observation-list>div{color:#67766f;background:#f6f8f7;border:1px solid #e0e6e3;border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:30px;padding:5px 8px;font-size:8px;display:grid}.tyndall-observation-list strong{color:#89938e;font-size:8px;font-weight:650}.tyndall-observation-list>div.is-observed{color:#2c604b;background:#e8f2ed;border-color:#b8d4c6}.tyndall-observation-list>div.is-observed strong{color:#36735a}.tyndall-classification-grid{gap:6px;display:grid}.tyndall-classification-grid label{color:#53665d;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:8px;font-size:8px;font-weight:650;display:grid}.tyndall-classification-grid select{color:#40564d;background:#f8faf9;border:1px solid #d5e0da;border-radius:4px;outline:none;width:100%;height:29px;padding:0 24px 0 7px;font-size:8px}.tyndall-classification-grid select:focus{border-color:#68a688;box-shadow:0 0 0 2px #539e791f}@keyframes tyndallParticleFloat{0%{transform:translateY(-1px)}to{transform:translateY(2px)}}@keyframes tyndallParticleSettle{0%{opacity:.78;transform:translateY(-5px)}82%,to{opacity:.3;transform:translateY(12px)}}@keyframes tyndallBeamPulse{0%{opacity:.68}to{opacity:1}}@keyframes tyndallFlame{0%{transform:scaleX(.94)rotate(-1deg)}to{transform:scale(1.04,.96)rotate(1.5deg)}}@keyframes alcoholCapOpen{0%{transform:translate(-108px,-79px)}42%{transform:translate(-70px,-118px)}to{transform:translate(0)}}@keyframes alcoholCapClose{0%{transform:translate(108px,79px)}48%{transform:translate(45px,-30px)}to{transform:translate(0)}}@keyframes alcoholMatchLight{0%{opacity:0;transform:translate(45px,10px)rotate(8deg)}22%,76%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(20px,-8px)rotate(-4deg)}}@keyframes alcoholFlameSnuff{0%,56%{opacity:1;transform:scale(1)}82%{opacity:.4;transform:scale(.72,.35)}to{opacity:0;transform:scale(.25,.05)}}@keyframes tyndallSteam{to{stroke-dashoffset:-30px}}@keyframes tyndallWaterPour{0%,to{opacity:0;transform:translate(-50px,24px)}18%{opacity:1;transform:translate(-14px,7px)}38%,82%{opacity:1;transform:translate(0)}}@keyframes tyndallStreamShow{0%,34%,86%,to{opacity:0}42%,80%{opacity:1}}@keyframes tyndallDropperUse{0%,to{opacity:0;transform:translateY(-30px)}17%,84%{opacity:1;transform:translateY(0)}38%,48%{transform:translateY(4px)scaleY(.96)}60%,70%{transform:translateY(3px)scaleY(.97)}}@keyframes tyndallDropFall{0%,24%{opacity:0;transform:translateY(0)}30%{opacity:1}55%,to{opacity:0;transform:translateY(92px)}}@keyframes tyndallPlaceSample{0%{opacity:.4;transform:translateY(-24px)scale(.96)}70%{opacity:1;transform:translateY(2px)scale(1)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:620px){.tyndall-effect-stage .engine-status{display:none}.tyndall-readout{grid-template-columns:repeat(4,1fr);min-width:0;bottom:68px;left:10px;right:10px}.tyndall-readout div{padding:6px 5px}.tyndall-readout strong{font-size:9px}}@media (prefers-reduced-motion:reduce){.alcohol-burner-match{opacity:1!important;animation:none!important}.alcohol-burner-cap.is-opening,.alcohol-burner-cap.is-closing{animation:none!important}.tyndall-colloid-particles circle,.tyndall-suspension-particles circle,.alcohol-burner-flame,.tyndall-steam path,.tyndall-operation,.tyndall-operation *,.tyndall-global-beam{animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes dropperMove{0%{opacity:0;transform:translate(45px,-20px)rotate(8deg)}22%,88%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(22px,-12px)rotate(5deg)}}@keyframes indicatorDrop{0%{opacity:0;transform:translateY(0)scale(.7)}18%{opacity:1}to{opacity:0;transform:translateY(46px)scale(1)}}@keyframes hintPulse{0%,to{opacity:.62;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes livePulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes effectPop{0%{opacity:0;transform:translateY(8px)scale(.96)}18%,70%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.98)}}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1220px){.topbar{grid-template-columns:minmax(380px,1fr) 340px}.brand{display:none}.workspace{grid-template-columns:minmax(540px,1fr) 340px}.catalog{z-index:80;width:270px;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:12px 0 28px #112a2129}.catalog.is-open{transform:translate(0)}.catalog__mobile-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:58px;padding:0 16px;font-size:13px;display:flex}.mobile-menu{display:inline-grid}.experiment-heading{padding-left:14px}.app-shell.is-navigation-hidden .topbar{grid-template-columns:minmax(380px,1fr) 340px}.app-shell.is-navigation-hidden .workspace{grid-template-columns:minmax(540px,1fr) 340px}}@media (max-width:900px){body{overflow:auto}.app-shell{min-height:100vh}.topbar{grid-template-columns:minmax(0,1fr) auto;height:60px;position:sticky;top:0}.app-shell.is-navigation-hidden .topbar{grid-template-columns:minmax(0,1fr) auto}.experiment-heading{gap:8px}.experiment-heading h1{font-size:13px}.experiment-heading p,.subject-pill{display:none}.topbar-progress{flex-basis:72px;min-width:64px}.topbar-progress>div:first-child{justify-content:flex-end}.topbar-progress>div:first-child span,.topbar-progress svg{display:none}.topbar__actions{border-left:0;padding:0 10px}.autosave,.topbar__actions .icon-button:last-of-type,.avatar{display:none}.workspace{height:auto;display:block}.lab-main{min-height:calc(100svh - 60px)}.lab-stage{flex:none;height:660px;min-height:660px}.control-panel{border-top:1px solid var(--line);border-left:0;min-height:640px}.panel-content{overflow:visible}.control-content{grid-template-columns:1fr 1fr;gap:0 22px;padding:4px 20px 22px;display:grid}.electrolyte-task1-divider,.control-content .primary-command{grid-column:1/-1}.log-content{min-height:580px}}@media (max-width:620px){.topbar__actions .icon-button{display:none}.experiment-heading{padding:0 10px}.experiment-heading h1{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.lab-toolbar{min-height:104px;padding:10px 12px;display:block}.instruction strong{max-width:calc(100vw - 76px);font-size:10px}.instruction__index{width:34px;height:34px}.live-metrics{margin-top:8px}.live-metrics>div{flex:1;min-width:0;padding:5px 8px}.live-metrics strong{font-size:11px}.lab-stage{height:610px;min-height:610px}.stage-grid{bottom:132px}.stage-shelf{transform-origin:0 0;left:2%;transform:scale(.75)}.stage-sign{top:2%;right:2%}.lab-stand{width:125px;height:440px;left:64%}.lab-stand__rod{left:83px}.lab-stand__clamp{left:17px}.lab-stand__base{width:118px}.burette{left:calc(64% + 10px)}.titration-position{left:calc(64% - 67px)}.flask-active{left:calc(64% - 44px)}.flask-prep{transform-origin:bottom;bottom:125px;left:4%;transform:scale(.82)}.bench-front{height:132px;padding:18px 10px 10px}.asset-tray-label{left:11px}.asset-tray{gap:7px;padding-left:8px;padding-right:8px}.asset-tray .draggable-asset{width:50px}.drag-tip{max-width:112px;margin-left:9px;padding:6px}.drag-tip span{line-height:1.5}.projectile-readout{min-width:0;bottom:10px;left:10px;right:10px}.projectile-readout div{padding:7px 6px}.projectile-readout strong{font-size:10px}.pour-effect{left:33%}.transfer-bottle{left:calc(64% - 58px)}.transfer-funnel{left:calc(64% + 18px)}.transfer-stream{left:calc(64% + 5px)}.transfer-pipette{left:calc(4% + 62px)}.transfer-dropper{left:calc(4% + 60px)}.control-content{padding:4px 16px 20px;display:block}.toast{bottom:14px;right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.spring-force-stage .lab-2d-scene{background:#e8efec}.spring-force-stage .engine-status{bottom:15px;left:18px;right:auto}.spring-force-scene{-webkit-user-select:none;user-select:none;width:100%;height:100%;font-family:Manrope,Noto Sans SC,sans-serif;display:block}.spring-force-scene text{letter-spacing:0}.spring-scene-heading text:first-child{fill:#263f37;font-size:22px;font-weight:800}.spring-scene-heading text:last-child{fill:#708179;font-size:12px;font-weight:650}.elastic-spring-wire{stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2px}.elastic-spring-hook,.elastic-spring-bottom-hook{stroke-linecap:round;stroke-width:3px}.elastic-spring-2d.is-overstretched .elastic-spring-wire,.elastic-spring-2d.is-overstretched .elastic-spring-hook,.elastic-spring-2d.is-overstretched .elastic-spring-bottom-hook{stroke:#b54f42!important}.measurement-ruler-body{fill:#f4e7b9;stroke:#827657;stroke-width:1.5px}.measurement-ruler-tick{stroke:#3d4643;stroke-width:.9px}.measurement-ruler-value{fill:#31413b;font-size:9px;font-weight:700}.measurement-ruler-unit{fill:#5a665f;font-size:8px;font-weight:750}.measurement-ruler-2d.is-vertical.is-unaligned{opacity:.45}.slotted-weight-top-cap{stroke-linecap:round;stroke-width:3px}.slotted-weight-stem{stroke-linecap:round;stroke-width:4px}.slotted-weight-stem-highlight{stroke:#ffffffad;stroke-linecap:round;stroke-width:.75px}.slotted-weight-hanger,.slotted-weight-plate{stroke:#4b5456;stroke-linejoin:round;stroke-width:1.2px}.slotted-weight-hanger{filter:drop-shadow(0 2px 2px #1f292638)}.slotted-weight-hanger-edge,.slotted-weight-plate-edge{pointer-events:none;stroke:#1e2527ad;stroke-linejoin:round;stroke-width:.65px}.slotted-weight-hanger-highlight,.slotted-weight-plate-highlight{fill:none;pointer-events:none;stroke:#ffffffc7;stroke-linecap:round;stroke-linejoin:round;stroke-width:.8px}.slotted-weight-piece{filter:drop-shadow(0 1px 1px #1b222338)}.slotted-weight-mass{fill:#293234;paint-order:stroke;pointer-events:none;stroke:#eef2f18c;stroke-width:.45px;font-family:SFMono-Regular,Consolas,monospace;font-size:6.5px;font-weight:800}.force-sensor-eyelet{stroke:#596567;stroke-width:3px}.force-sensor-link{stroke:#667174;stroke-linecap:round;stroke-width:5px}.force-sensor-link-highlight{stroke:#ffffff94;stroke-linecap:round;stroke-width:.8px}.force-sensor-collar{fill:#7d8789;stroke:#4d575a;stroke-width:1.5px}.force-sensor-body{fill:#36444a;stroke:#1e292d;stroke-width:2px;filter:drop-shadow(0 5px 5px #1f2b2833)}.force-sensor-screen{fill:#d8eddb;stroke:#161f21;stroke-width:2px}.force-sensor-reading{fill:#163627;font-family:SFMono-Regular,Consolas,monospace;font-size:19px;font-weight:800}.force-sensor-unit{fill:#315a45;font-size:8px;font-weight:800}.force-sensor-led{fill:#6e7777;stroke:#1d2928;stroke-width:1px}.force-sensor-led.is-on{fill:#42cf72;filter:drop-shadow(0 0 3px #37cf6fb3)}.force-sensor-zero{fill:#687477;stroke:#aeb8b7;stroke-width:1.2px}.force-sensor-zero.is-tared{fill:#2f7658}.force-sensor-zero-label{fill:#fff;font-size:9px;font-weight:800}.force-sensor-grip{fill:#202c30;stroke:#667377;stroke-width:1.5px}.digital-force-sensor-2d.is-active .force-sensor-body{stroke:#2f8d65;filter:drop-shadow(0 0 7px #2f8d6580)}.spring-stand-base{fill:#3d494c;stroke:#1f292b;stroke-width:2px}.spring-stand-rod{fill:#667275;stroke:#323d40;stroke-width:2px}.spring-stand-clamp{fill:#5c686b;stroke:#2f393c;stroke-linejoin:round;stroke-width:2px}.spring-stand-knob{fill:#2d3639;stroke:#879193;stroke-width:2px}.spring-install-placeholder{fill:#8a9892;font-size:13px;font-weight:750}.spring-hanging-apparatus>.is-unaligned{opacity:.42;transform:translate(498px,155px)rotate(2deg)}.spring-length-guide{fill:none;stroke:#3a7f62;stroke-width:1.5px}.spring-length-label{fill:#315f4d;font-size:10px;font-weight:800}.spring-weight-control,.spring-spare-weight{cursor:pointer;outline:none}.spring-weight-control:hover .slotted-weight-plate,.spring-spare-weight:hover .slotted-weight-plate{stroke:#2e9a68;stroke-width:2.5px}.spring-weight-control:focus-visible .slotted-weight-plate{stroke:#2e9a68;stroke-width:2.5px}.spring-spare-weight:focus-visible .slotted-weight-plate{stroke:#2e9a68;stroke-width:2.5px}.spring-weight-control.is-disabled,.spring-spare-weight.is-disabled{cursor:default;opacity:.55}.spring-spare-weight__label{fill:#556a61;font-size:10px;font-weight:750}.spring-apparatus-note,.spring-pull-label{fill:#586d64;font-size:11px;font-weight:650}.spring-hanging-apparatus.is-oscillating .slotted-weights-2d{transform-box:fill-box;transform-origin:top;animation:.65s ease-in-out infinite alternate springLoadOscillate}.spring-hanging-apparatus.is-oscillating .elastic-spring-wire{transform-box:fill-box;transform-origin:top;animation:.65s ease-in-out infinite alternate springWirePulse}.spring-horizontal-board{fill:#d7c69f;stroke:#76694f;stroke-width:2px}.spring-fixed-bracket{fill:none;stroke:#3d4749;stroke-linecap:round;stroke-linejoin:round;stroke-width:7px}.spring-natural-marker{stroke:#b55f4d;stroke-dasharray:5 4;stroke-width:1.5px}.spring-natural-marker__label{fill:#9b4c3e;font-family:Georgia,serif;font-size:15px;font-style:italic;font-weight:800}.spring-force-dragger{touch-action:none;outline:none}.spring-force-dragger.is-interactive{cursor:ew-resize}.spring-force-dragger.is-interactive:focus-visible .force-sensor-body{stroke:#2f8d65;stroke-width:3px}.spring-pull-arrow{fill:none;marker-end:none;stroke:#b04b3d;stroke-linecap:round;stroke-width:4px}.spring-pull-arrow-head{fill:#b04b3d}.spring-data-graph__panel{fill:#fafcfbeb;stroke:#b7c7c0;stroke-width:1.5px}.spring-data-graph__title{fill:#2d5142;font-size:14px;font-weight:800}.spring-data-graph__grid{stroke:#d8e1dd;stroke-width:1px}.spring-data-graph__axis{fill:none;stroke:#3d5149;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.spring-data-graph__tick{fill:#65756e;font-size:8px;font-weight:650}.spring-data-graph__label{fill:#485d54;font-size:10px;font-weight:750}.spring-data-graph__point{fill:#c94f42;stroke:#fff;stroke-width:2px}.spring-data-graph__fit{stroke:#2f83b6;stroke-linecap:round;stroke-width:3px}.spring-data-graph__formula{fill:#315846;font-family:Manrope,Noto Sans SC,sans-serif;font-size:10px;font-weight:750}.spring-scene-readout rect{fill:#f7faf8f0;stroke:#b9c9c1;stroke-width:1.4px}.spring-scene-readout text{fill:#5c6e66;font-size:10px;font-weight:650}.spring-scene-readout text:first-of-type{fill:#294f3f;font-size:12px;font-weight:800}.spring-scene-readout .is-stable{fill:#24724f;font-weight:800}.spring-scene-readout .is-moving{fill:#ad5e34;font-weight:800}.spring-force-overlay{z-index:8;pointer-events:none;background:#f8faf9f0;border:1px solid #bdcbc5;border-radius:5px;align-items:center;gap:12px;min-width:225px;padding:8px 11px;display:flex;position:absolute;bottom:15px;right:18px;box-shadow:0 4px 12px #2339301a}.spring-force-overlay span{color:#77867f;font-size:9px}.spring-force-overlay strong{color:#2e5e49;margin-left:auto;font-size:11px}.spring-force-control .primary-command,.spring-force-control .secondary-command{margin-top:7px}.spring-hypothesis-tabs,.spring-method-tabs{gap:5px;display:grid}.spring-hypothesis-tabs{grid-template-columns:repeat(3,1fr)}.spring-method-tabs{grid-template-columns:repeat(2,1fr)}.spring-hypothesis-tabs button,.spring-method-tabs button{color:#607169;cursor:pointer;background:#f6f8f7;border:1px solid #d9e1dd;border-radius:4px;justify-content:center;align-items:center;gap:5px;min-width:0;height:32px;padding:0 7px;font-size:9px;font-weight:750;display:inline-flex}.spring-hypothesis-tabs button.is-active,.spring-method-tabs button.is-active{color:#245e46;background:#dfeee6;border-color:#8ebfa8}.spring-hypothesis-tabs button:disabled,.spring-method-tabs button:disabled{cursor:not-allowed;opacity:.55}.spring-sensor-setup{grid-template-columns:1fr 1fr;gap:6px;display:grid}.spring-sensor-setup .secondary-command{min-width:0;padding:0 6px;font-size:8px}.spring-load-stepper{border:1px solid #d4dfda;border-radius:5px;grid-template-columns:36px 1fr 36px;align-items:stretch;display:grid;overflow:hidden}.spring-load-stepper button{color:#365e4d;cursor:pointer;background:#edf4f0;border:0;place-items:center;display:grid}.spring-load-stepper button:disabled{color:#9ca8a2;cursor:not-allowed}.spring-load-stepper div{background:#fafcfb;border-left:1px solid #d4dfda;border-right:1px solid #d4dfda;justify-content:space-between;align-items:center;padding:7px 11px;display:flex}.spring-load-stepper strong{color:#2e5142;font-size:11px}.spring-load-stepper span{color:#74837c;font-size:8px}.spring-force-range{background:#f6f8f7;border:1px solid #dce3df;border-radius:5px;gap:7px;padding:8px 9px;display:grid}.spring-force-range>span{justify-content:space-between;align-items:center;display:flex}.spring-force-range strong{color:#52645c;font-size:9px}.spring-force-range output{color:#2f654d;font-size:10px;font-weight:800}.spring-force-range input{accent-color:#347a5b;width:100%}.spring-measure-commands{grid-template-columns:.9fr 1.1fr;gap:6px;display:grid}.spring-measure-commands button{min-width:0;padding:0 7px}.spring-data-table{border:1px solid #d6dfdb;border-radius:4px;overflow:hidden}.spring-data-table>div{color:#7a8881;background:#fbfcfc;border-top:1px solid #e5ebe8;grid-template-columns:.7fr repeat(3,1fr);min-height:23px;font-size:8px;display:grid}.spring-data-table>div:first-child{border-top:0}.spring-data-table span{border-left:1px solid #e5ebe8;place-items:center;display:grid}.spring-data-table span:first-child{border-left:0}.spring-data-table__head{font-weight:800;color:#486056!important;background:#e9f0ed!important}.spring-data-table>div.has-data{color:#315a48;background:#f2f8f5;font-weight:700}@keyframes springLoadOscillate{0%{transform:translateY(-3px)}to{transform:translateY(4px)}}@keyframes springWirePulse{0%{transform:scaleY(.985)}to{transform:scaleY(1.015)}}@media (max-width:620px){.spring-force-stage .engine-status{display:none}.spring-force-overlay{min-width:190px;bottom:10px;right:10px}.spring-force-scene{transform-origin:0;min-width:760px;transform:translate(-8%)}}.multimeter-measurement-stage .lab-2d-scene{background:#e1e9e5}.multimeter-measurement-stage .engine-status{bottom:15px;left:18px;right:auto}.multimeter-experiment-scene{-webkit-user-select:none;user-select:none;width:100%;height:100%;font-family:Manrope,Noto Sans SC,sans-serif;display:block}.multimeter-experiment-scene text{letter-spacing:0}.multimeter-scene-heading text:first-child{fill:#253e35;font-size:22px;font-weight:800}.multimeter-scene-heading text:last-child{fill:#71817a;font-size:12px;font-weight:650}.analog-multimeter-2d{outline:none}.multimeter-case{fill:url(#multimeter-case-finish);stroke:#15191a;stroke-linejoin:round;stroke-width:4px;filter:url(#multimeter-body-shadow)}.multimeter-case-highlight{fill:none;stroke:#ffffff1f;stroke-linejoin:round;stroke-width:2px;pointer-events:none}.multimeter-bezel{fill:url(#multimeter-metal-bezel);stroke:#363b3c;stroke-width:3px;filter:url(#multimeter-inner-shadow)}.multimeter-bezel-inset{fill:#252a2c;stroke:#747a7a;stroke-width:2px}.multimeter-glass{fill:url(#multimeter-face-paper);stroke:#999e9d;stroke-width:1.5px}.multimeter-glass-highlight{fill:url(#multimeter-glass-sheen);pointer-events:none}.multimeter-scale{cursor:pointer;outline:none}.multimeter-scale:hover .multimeter-bezel,.multimeter-scale.is-identified .multimeter-bezel{stroke:#318462;stroke-width:4px}.multimeter-scale:focus-visible .multimeter-bezel{stroke:#318462;stroke-width:4px}.multimeter-ohm-arc,.multimeter-va-arc,.multimeter-voltage-arc,.multimeter-current-arc{fill:none;stroke-linecap:round}.multimeter-ohm-arc{stroke:#202526;stroke-width:1.8px}.multimeter-va-arc{stroke:#202526;stroke-width:1.5px}.multimeter-voltage-arc{stroke:#315e85;stroke-width:1.35px}.multimeter-current-arc{stroke:#8f3e37;stroke-width:1.4px}.multimeter-ohm-tick{stroke:#202526;stroke-width:1px}.multimeter-va-tick{stroke:#202526;stroke-width:.85px}.multimeter-voltage-tick{stroke:#315e85;stroke-width:.8px}.multimeter-current-tick{stroke:#934038;stroke-width:.8px}.multimeter-va-label,.multimeter-voltage-label,.multimeter-current-label,.multimeter-ohm-label{paint-order:stroke;stroke:#f4f4f0f0;stroke-linejoin:round;stroke-width:1.4px}.multimeter-va-label{fill:#23292a;font-size:7px;font-weight:750}.multimeter-voltage-label{fill:#2a5274;font-size:6.5px;font-weight:750}.multimeter-current-label{fill:#8e3d36;font-size:7px;font-weight:750}.multimeter-ohm-label{fill:#202526;font-size:6.2px;font-weight:800}.multimeter-scale-legend{pointer-events:none}.multimeter-scale-legend line{stroke-linecap:round;stroke-width:2.6px}.multimeter-scale-legend text{fill:#1c2421;paint-order:stroke;stroke:#f8f9f6fa;stroke-linejoin:round;stroke-width:1.4px;font-size:8px;font-weight:900}.multimeter-scale-legend .is-ohm line,.multimeter-scale-legend .is-va line{stroke:#202526}.multimeter-scale-legend .is-voltage line{stroke:#315e85}.multimeter-scale-legend .is-current line{stroke:#934038}.multimeter-face-title{fill:#2b3031;font-size:16px;font-weight:850}.multimeter-face-unit{fill:#6b706f;font-size:6px;font-weight:750}.multimeter-needle-shadow{stroke:#191f1d38;stroke-linecap:round;stroke-width:4px}.multimeter-needle{stroke:#d52126;stroke-linecap:round;stroke-width:2.7px;transition:x2 .22s,y2 .22s}.multimeter-pivot{fill:#262a2b;stroke:#8f9493;stroke-width:2px}.multimeter-pivot-cap{fill:#ffffff6b}.multimeter-brand{fill:#575c5b;font-size:9px;font-weight:650}.multimeter-mechanical-zero circle{fill:url(#multimeter-control-knob);stroke:#777c7b;stroke-width:1.5px}.multimeter-mechanical-zero path{fill:none;stroke:#c6c9c8;stroke-linecap:round;stroke-width:1.5px}.multimeter-model{fill:#9ea7a4;font-size:6px;font-weight:700}.multimeter-zero-adjust{cursor:pointer;outline:none}.multimeter-zero-adjust>circle:first-of-type{fill:#1b1f20;stroke:#555b5b;stroke-width:2px;filter:url(#multimeter-inner-shadow)}.multimeter-zero-adjust line{stroke:#6d7372;stroke-linecap:round;stroke-width:1.5px}.multimeter-zero-adjust .multimeter-zero-cap{fill:url(#multimeter-control-knob);stroke:#0f1213;stroke-width:1.5px}.multimeter-zero-adjust .multimeter-zero-shine{fill:#ffffff59;stroke:none}.multimeter-zero-arrow,.multimeter-zero-arrowhead{fill:none;stroke:#aeb6b3;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px}.multimeter-zero-adjust:hover circle,.multimeter-zero-adjust.is-identified circle{stroke:#50b888;stroke-width:3px}.multimeter-zero-adjust:focus-visible circle{stroke:#50b888;stroke-width:3px}.multimeter-selector-well{fill:#171b1c;stroke:#596260;stroke-width:2px}.multimeter-selector-band{fill:none;stroke-linecap:butt;stroke-width:8px}.multimeter-selector-band.is-off{stroke:#d3ba35}.multimeter-selector-band.is-ohm{stroke:#66a83f}.multimeter-selector-band.is-dcv{stroke:#2589b8}.multimeter-selector-band.is-acv{stroke:#b54936}.multimeter-selector-band.is-dca{stroke:#c8892d}.multimeter-selector-area-label{pointer-events:none}.multimeter-selector-area-label text{fill:#fff;filter:drop-shadow(0 1px 1px #000000d1);font-size:7px;font-weight:850}.multimeter-selector-area-label.is-dca text{font-size:6.5px}.multimeter-selector-unit-mark{fill:none;stroke:#fff;stroke-linecap:round;stroke-width:.9px}.multimeter-dial-tick{stroke:#77817e;stroke-width:1.2px}.multimeter-dial-label{fill:#c3cbc8;pointer-events:none;font-size:6.2px;font-weight:760}.multimeter-selector-option{cursor:pointer;outline:none}.multimeter-selector-option-hit{fill:#0000;stroke:#0000}.multimeter-selector-option:hover .multimeter-selector-option-hit{fill:#5bbe8d2e;stroke:#63bc92;stroke-width:1px}.multimeter-selector-option:focus-visible .multimeter-selector-option-hit{fill:#5bbe8d2e;stroke:#63bc92;stroke-width:1px}.multimeter-selector-option.is-selected .multimeter-selector-option-hit{fill:#ffde5d1f;stroke:#f0d45f;stroke-width:1.2px}.multimeter-selector-option.is-selected .multimeter-dial-label{fill:#fff2a8;font-size:6.8px;font-weight:900}.multimeter-selector-option.is-selected .multimeter-dial-tick{stroke:#f2d759;stroke-width:2px}.multimeter-selector-knob-control{cursor:grab;outline:none}.multimeter-selector-knob-control.is-dragging{cursor:grabbing}.multimeter-selector-knob-shadow{fill:#00000070;filter:blur(1.4px)}.multimeter-selector-knob-base{fill:#0c0f10;stroke:#646d6b;stroke-width:2.5px}.multimeter-selector-knob{fill:url(#multimeter-control-knob);stroke:#777f7d;stroke-width:2.3px;filter:drop-shadow(0 5px 4px #0000008c)}.multimeter-selector-ridge{stroke:#d0d9d63d;stroke-linecap:round;stroke-width:1.2px}.multimeter-selector-knob-sheen{fill:none;stroke:#ffffff38;stroke-linecap:round;stroke-width:2.2px}.multimeter-selector-grip-shadow{stroke:#0009;stroke-linecap:round;stroke-width:21px}.multimeter-selector-grip{stroke:url(#multimeter-selector-handle);stroke-linecap:round;stroke-width:17px}.multimeter-selector-grip-highlight{stroke:#ffffff38;stroke-linecap:round;stroke-width:2.4px}.multimeter-selector-pointer{stroke:#ed3d37;stroke-linecap:round;stroke-width:4px}.multimeter-selector-cap{fill:url(#multimeter-control-knob);stroke:#8a9290;stroke-width:1.4px}.multimeter-selector-cap-shine{fill:#ffffff57;pointer-events:none}.multimeter-selector.is-identified .multimeter-selector-well{stroke:#3d9d72;stroke-width:3px}.multimeter-socket{cursor:pointer;outline:none}.multimeter-socket>circle:first-child{fill:#171b1c;stroke:#585f5e;stroke-width:3px;filter:url(#multimeter-inner-shadow)}.multimeter-socket>circle:nth-child(2){fill:#090b0c;stroke:#343a3b;stroke-width:1.5px}.multimeter-socket>circle:nth-child(3){fill:#fff3;pointer-events:none}.multimeter-socket.is-red>circle:first-child{fill:#d62d42;stroke:#ec5967}.multimeter-socket.is-red>circle:nth-child(2){fill:#771622;stroke:#e43b4e}.multimeter-socket text{fill:#c9d0ce;font-size:8px;font-weight:800}.multimeter-socket:hover>circle:first-child{stroke:#58c28d;stroke-width:4px}.multimeter-socket:focus-visible>circle:first-child{stroke:#58c28d;stroke-width:4px}.multimeter-socket.is-active>circle:first-child{stroke-width:4px;filter:drop-shadow(0 0 3px #ffffff61)}.multimeter-sockets.is-identified .multimeter-socket>circle:first-child{filter:drop-shadow(0 0 4px #44b57f9e)}.circuit-board{fill:#f4f6f2;stroke:#8da298;stroke-width:2px;filter:drop-shadow(0 7px 7px #24362f26)}.circuit-board-title{fill:#2d5344;font-size:17px;font-weight:800}.circuit-board-subtitle{fill:#74867e;font-size:10px;font-weight:650}.circuit-wire{fill:none;stroke:#466b5d;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.circuit-wire.is-powered{stroke:#287654;filter:drop-shadow(0 0 2px #308b6352)}.circuit-wire.is-fault{stroke:#a45448;stroke-dasharray:8 5}.circuit-source-lead{stroke:#466b5d;stroke-linecap:round;stroke-width:4px}.circuit-power-source-2d.is-active .circuit-source-lead,.circuit-power-source-2d.is-active .circuit-source-plate{stroke:#287654}.circuit-source-plate{stroke:#343e3b;stroke-linecap:square}.circuit-source-plate.is-positive{stroke-width:7px}.circuit-source-plate.is-negative{stroke-width:4px}.circuit-source-label,.circuit-source-polarity{fill:#3d5149;font-size:10px;font-weight:800}.circuit-lamp-shell{fill:#f2f1eb;stroke:#666a65;stroke-width:3px}.circuit-lamp-cross{fill:none;stroke:#555d59;stroke-linecap:round;stroke-width:3.2px}.circuit-lamp text{fill:#5c6963;font-size:10px;font-weight:700}.circuit-lamp-glow{fill:#ffcd3d47;stroke:#f09f1ca8;stroke-width:2px;filter:drop-shadow(0 0 12px #f1a31fb3)}.circuit-lamp.is-lit .circuit-lamp-shell{fill:#fff3ad;stroke:#a7791d;filter:drop-shadow(0 0 8px #f5b5289e)}.circuit-lamp.is-lit .circuit-lamp-cross{stroke:#ef7d16;filter:drop-shadow(0 0 3px #ffb22d)}.circuit-lamp.is-fault .circuit-lamp-cross{stroke:#c84037}.circuit-resistor line,.circuit-resistor path{fill:none;stroke:#98603d;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.circuit-resistor text{fill:#694e3c;font-size:10px;font-weight:750}.circuit-resistor.is-active line,.circuit-resistor.is-active path{stroke:#b36a3d;filter:drop-shadow(0 0 2px #b064394d)}.circuit-power-switch{cursor:pointer;outline:none}.circuit-power-switch circle{fill:#bd4c42;stroke:#76382f;stroke-width:2px}.circuit-power-switch line{stroke:#364340;stroke-linecap:round;stroke-width:7px}.circuit-power-switch text{fill:#586c63;font-size:10px;font-weight:750}.circuit-power-switch.is-on line{stroke:#287654}.circuit-power-switch.is-disabled{cursor:default;opacity:.62}.circuit-power-switch:hover line{stroke:#27805b}.circuit-power-switch:focus-visible line{stroke:#27805b}.circuit-power-switch.is-disabled:hover line{stroke:#364340}.circuit-power-switch.is-disabled.is-on:hover line{stroke:#287654}.circuit-isolation-zone{fill:#e9eeeb;stroke:#a8b7b0;stroke-dasharray:7 5;stroke-width:2px}.circuit-safety-label{fill:#2e7256;font-size:11px;font-weight:800}.circuit-probe-target{cursor:crosshair;outline:none}.circuit-probe-target.is-disabled{cursor:default}.circuit-terminal{fill:#c7ceca;stroke:#55635e;stroke-width:3px}.circuit-target-hit{fill:#0000;stroke:#74a890;stroke-dasharray:3 3;stroke-width:1px}.circuit-probe-target text{fill:#53665d;pointer-events:none;font-size:8px;font-weight:750}.circuit-probe-target:hover .circuit-target-hit{fill:#4ba87b29;stroke:#2e9368;stroke-width:2px}.circuit-probe-target:focus-visible .circuit-target-hit{fill:#4ba87b29;stroke:#2e9368;stroke-width:2px}.circuit-probe-target.is-disabled:hover .circuit-target-hit{fill:#0000;stroke:#74a890;stroke-width:1px}.circuit-probe-target.has-red .circuit-terminal{fill:#cf3e41;stroke:#8f2529}.circuit-probe-target.has-black .circuit-terminal{fill:#242c2e;stroke:#070a0b}.circuit-fault-status{fill:#9b4438;font-size:12px;font-weight:800}.is-circuit-muted{opacity:.32;pointer-events:none}.multimeter-probe-2d__wire{fill:none;pointer-events:none;stroke-linecap:round;stroke-width:5px}.multimeter-probe-2d.is-black .multimeter-probe-2d__wire{stroke:#171b1d}.multimeter-probe-2d.is-red .multimeter-probe-2d__wire{stroke:#b52026}.multimeter-probe-2d__handle{cursor:grab;outline:none}.multimeter-probe-2d__drag-hit{fill:none;pointer-events:stroke;stroke:#0000;stroke-linecap:round;stroke-width:34px}.multimeter-probe-2d.is-disabled .multimeter-probe-2d__handle{cursor:default}.multimeter-probe-2d.is-dragging .multimeter-probe-2d__handle{cursor:grabbing}.multimeter-probe-2d.is-dragging .multimeter-probe-2d__body-shadow,.multimeter-probe-2d.is-replaying .multimeter-probe-2d__body-shadow{opacity:0}.multimeter-probe-2d__body-shadow{stroke:#070a0b80;stroke-linecap:round;stroke-width:22px}.multimeter-probe-2d__body{stroke-linecap:round;stroke-width:18px}.multimeter-probe-2d__tail-cap{stroke:#151a1b94;stroke-linejoin:round;stroke-width:1.2px}.multimeter-probe-2d.is-red .multimeter-probe-2d__tail-cap{stroke:#66151ba8}.multimeter-probe-2d__strain-relief{stroke-linecap:round;stroke-width:9px}.multimeter-probe-2d__strain-ridge{stroke:#0c1011b3;stroke-linecap:round;stroke-width:1.4px}.multimeter-probe-2d.is-red .multimeter-probe-2d__strain-ridge{stroke:#67141bb8}.multimeter-probe-2d__highlight{stroke:#ffffff59;stroke-linecap:round;stroke-width:2px}.multimeter-probe-2d__tail-highlight{stroke:#ffffff40;stroke-linecap:round;stroke-width:1.5px}.multimeter-probe-2d__collar{stroke:#87969b;stroke-linejoin:round;stroke-width:1px}.multimeter-probe-2d__tip{stroke:#667a83;stroke-linejoin:round;stroke-width:1px}.multimeter-probe-2d__tip-highlight{stroke:#ffffffa8;stroke-linecap:round;stroke-width:1px}.multimeter-probe-2d.is-active .multimeter-probe-2d__body{filter:drop-shadow(0 0 4px #34a4708f)}.multimeter-probe-2d.is-dragging .multimeter-probe-2d__body,.multimeter-probe-2d.is-replaying .multimeter-probe-2d__body{filter:drop-shadow(0 2px 2px #121c182e)}.multimeter-scene-readout rect{fill:#f7f9f7f2;stroke:#aebfb7;stroke-width:1.5px}.multimeter-scene-readout text{fill:#596d64;font-size:11px;font-weight:650}.multimeter-scene-readout text:first-of-type{fill:#294e3f;font-size:13px;font-weight:800}.multimeter-guide__scrim{fill:#141d1a94;pointer-events:none}.multimeter-guide__target{fill:#42b77f14;stroke:#69d09c;stroke-width:3px;cursor:pointer;outline:none;animation:1.6s ease-in-out infinite multimeter-guide-pulse}.multimeter-guide__target:hover{fill:#46c1892b;stroke:#a0e7c3;stroke-width:4px}.multimeter-guide__target:focus-visible{fill:#46c1892b;stroke:#a0e7c3;stroke-width:4px}.multimeter-guide__connector{fill:none;stroke:#80d4aa;stroke-linecap:round;stroke-width:2px}.multimeter-guide__popover>rect{fill:#fbfdfc;stroke:#51856e;stroke-width:2px;filter:drop-shadow(0 8px 10px #0f1c1747)}.multimeter-guide__eyebrow{fill:#388064;font-size:9px;font-weight:800}.multimeter-guide__title{fill:#203f33;font-size:16px;font-weight:850}.multimeter-guide__description{fill:#60736a;font-size:10px;font-weight:650}.multimeter-guide__next{cursor:pointer;outline:none}.multimeter-guide__next rect{fill:#287653;stroke:#155d3e;stroke-width:1px}.multimeter-guide__next text{fill:#fff;pointer-events:none;font-size:10px;font-weight:800}.multimeter-guide__next:hover rect{fill:#1f6546;stroke:#8fd6b2;stroke-width:2px}.multimeter-guide__next:focus-visible rect{fill:#1f6546;stroke:#8fd6b2;stroke-width:2px}.multimeter-guide__next.is-disabled{cursor:default;opacity:.48}@keyframes multimeter-guide-pulse{0%,to{stroke-opacity:.72}50%{stroke-opacity:1}}.security-warning-page{color:#17231f;background:#eef2ef;place-items:center;min-height:100vh;padding:24px;display:grid}.security-warning{text-align:center;background:#fff;border:1px solid #dce4df;border-radius:8px;width:min(100%,520px);padding:38px 40px 34px;box-shadow:0 18px 48px #17372a1f}.security-warning__mark{color:#a46125;background:#fff4e6;border:1px solid #f0d0a7;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 18px;display:grid}.security-warning__eyebrow{color:#a46125;align-items:center;gap:5px;font-size:11px;font-weight:800;display:inline-flex}.security-warning h1{color:#203f33;margin:12px 0 10px;font-size:22px;line-height:1.35}.security-warning p{color:#617069;margin:0;font-size:13px;line-height:1.8}.security-warning__path{color:#7a8a82;background:#f2f5f3;border-radius:4px;margin-top:18px;padding:5px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;display:inline-block}.security-warning__return{align-items:center;gap:6px;margin-top:24px;display:inline-flex}@media (max-width:520px){.security-warning{padding:30px 22px 26px}.security-warning h1{font-size:19px}}.multimeter-task-progress{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.multimeter-task-progress span{color:#86948e;background:#edf1ef;border:1px solid #d8e0dc;border-radius:3px;place-items:center;height:23px;font-size:8px;font-weight:800;display:grid}.multimeter-task-progress span.is-current{color:#fff;background:#347758;border-color:#347758}.multimeter-task-progress span.is-done{color:#27694d;background:#dcece4;border-color:#9ac5b0}.multimeter-part-list{gap:5px;display:grid}.multimeter-part-list>div{color:#77867f;background:#f7f9f8;border:1px solid #e0e6e3;border-radius:4px;align-items:center;gap:7px;min-height:29px;padding:0 8px;font-size:9px;font-weight:650;display:flex}.multimeter-part-list>div svg{color:#b2bdb8}.multimeter-part-list>div.is-done{color:#2f6f53;background:#e7f2ec;border-color:#b3d3c3}.multimeter-part-list>div.is-done svg{color:#2f9265}.multimeter-guide-panel{background:#f2f7f4;border:1px solid #d7e5dd;border-radius:4px;gap:9px;padding:9px 10px;display:grid}.multimeter-guide-panel>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.multimeter-guide-panel small{color:#7a8a82;font-size:8px;font-weight:700}.multimeter-guide-panel strong{color:#315e49;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.multimeter-guide-panel__steps{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.multimeter-guide-panel__steps span{background:#d6dfda;border-radius:2px;height:4px}.multimeter-guide-panel__steps span.is-current{background:#5aa985}.multimeter-guide-panel__steps span.is-done{background:#277552}.multimeter-selector-control{color:#52655c;gap:5px;font-size:9px;font-weight:700;display:grid}.multimeter-selector-control select{color:#334c41;background:#f8faf9;border:1px solid #d5dfda;border-radius:4px;width:100%;height:31px;padding:0 28px 0 8px;font-size:9px}.multimeter-probe-selector{grid-template-columns:1fr 1fr;gap:6px;margin-top:7px;display:grid}.multimeter-probe-selector button{color:#68776f;cursor:pointer;background:#f5f7f6;border:1px solid #d7dfdb;border-radius:4px;justify-content:center;align-items:center;gap:5px;height:30px;font-size:9px;font-weight:750;display:inline-flex}.multimeter-probe-selector button.is-red svg{color:#bd373a}.multimeter-probe-selector button.is-black svg{color:#252d2f}.multimeter-probe-selector button.is-active{color:#2d644c;background:#e1eee7;border-color:#89bda4}.multimeter-ohm-controls{grid-template-columns:1fr 1fr;gap:6px;display:grid}.multimeter-ohm-controls button{min-width:0;padding:0 5px;font-size:8px}.multimeter-reading-input{color:#52655c;gap:5px;margin-top:7px;font-size:9px;font-weight:700;display:grid}.multimeter-reading-input>div{border:1px solid #d4dfda;border-radius:4px;grid-template-columns:1fr 44px;display:grid;overflow:hidden}.multimeter-reading-input input{color:#2f4f40;background:#fbfcfb;border:0;min-width:0;height:31px;padding:0 8px;font-size:11px;font-weight:750}.multimeter-reading-input em{color:#5f7168;background:#edf2ef;border-left:1px solid #d4dfda;place-items:center;font-size:9px;font-style:normal;font-weight:800;display:grid}.multimeter-control .primary-command{margin-top:7px}.multimeter-range-note{color:#708078;background:#f2f5f3;border-radius:3px;justify-content:space-between;margin-top:7px;padding:6px 8px;font-size:8px;display:flex}.multimeter-range-note strong{color:#315f49}.multimeter-data-table{border:1px solid #d7e0dc;border-radius:4px;overflow:hidden}.multimeter-data-table>div{color:#7e8b85;background:#fbfcfb;border-top:1px solid #e4eae7;grid-template-columns:1.25fr .8fr .85fr;min-height:25px;font-size:7.5px;display:grid}.multimeter-data-table>div:first-child{border-top:0}.multimeter-data-table span{text-align:center;place-items:center;padding:3px;display:grid}.multimeter-data-table__head{font-weight:800;color:#455e53!important;background:#e7efeb!important}.multimeter-data-table>div.has-data{color:#2f624b;background:#eef7f2;font-weight:750}@media (max-width:620px){.multimeter-measurement-stage .engine-status{display:none}.multimeter-experiment-scene{transform-origin:0;min-width:850px;transform:translate(-7%)}}.redox-reaction-stage .lab-2d-scene{background:#dfe9e4}.redox-reaction-stage .stage-sign{top:12px;right:18px}.redox-reaction-stage .engine-status{top:46px;bottom:auto;left:auto;right:18px}.redox-experiment-svg{letter-spacing:0;width:100%;height:100%;shape-rendering:geometricPrecision;text-rendering:geometricPrecision;-webkit-user-select:none;user-select:none;font-family:Manrope,Noto Sans SC,sans-serif;display:block;overflow:hidden}.redox-bench-line{fill:none;stroke:#aebdb6;stroke-width:2px}.redox-scene-heading text:first-child{fill:#253f35;font-size:22px;font-weight:800}.redox-scene-heading text:last-child{fill:#647a70;font-size:12px;font-weight:650}.redox-reaction-plate__surface,.redox-monitoring-panel__surface,.redox-electrochemical-board>rect,.redox-prediction-board>rect{fill:#fafcfbf5;stroke:#b9c9c1;stroke-width:1.6px}.redox-reaction-plate__edge{fill:#bcc9c3;stroke:#8fa098;stroke-width:1.2px}.redox-panel-title{fill:#294c3e;font-size:16px;font-weight:800}.redox-panel-note{fill:#697d74;font-size:10px;font-weight:650}.redox-well__rim{fill:#e0e9e6c2;stroke:#778983;stroke-width:2px}.redox-well__liquid{fill:#bfdce166;stroke:#698d93b8;stroke-width:1.2px}.redox-well.is-reacted .redox-well__liquid{fill:#c2854847;stroke:#a97043}.redox-well.is-control .redox-well__liquid{fill:#93cada75}.redox-well>text{fill:#435b51;font-size:12px;font-weight:800}.redox-well__nail{fill:#727d7c;stroke:#3e4b49;stroke-width:1.2px}.redox-well__nail.is-reacted{fill:#9b5e36;stroke:#6e3f27}.redox-placed-nail .material-shadow,.redox-placed-nail .material-caption{display:none}.redox-well__bubbles circle{fill:#ffffff80;stroke:#8f6c4b;animation:1.6s ease-in infinite redoxBubbleRise}.redox-well__bubbles circle:nth-child(2){animation-delay:-.6s}.redox-well__bubbles circle:nth-child(3){animation-delay:-1.1s}.redox-observation-caption{fill:#687c73;font-size:9px;font-weight:700}.redox-chart text{fill:#65776f;font-size:9px;font-weight:650}.redox-chart__axis{fill:none;stroke:#485b53;stroke-width:1.7px}.redox-chart__grid{stroke:#cfdad5;stroke-dasharray:4 4;stroke-width:1px}.redox-chart__line{fill:none;stroke:#367bb3;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.redox-chart__point{fill:#fff;stroke:#367bb3;stroke-width:3px}.redox-chart__value{fill:#255f91!important;font-size:10px!important;font-weight:850!important}.redox-chart__label{fill:#4f655b!important;font-size:9px!important;font-weight:800!important}.redox-monitor-status{fill:#3f6c58;font-size:11px;font-weight:750}.chloride-ion-sensor-2d .chloride-sensor__body{fill:#d5dbd8;stroke:#58655f;stroke-width:2px}.chloride-ion-sensor-2d .chloride-sensor__screen{fill:#17241f;stroke:#829089;stroke-width:1.5px}.chloride-sensor__reading{fill:#91d9b4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;font-weight:800}.chloride-sensor__unit{fill:#40534a;font-size:7px;font-weight:800}.chloride-sensor__status{fill:#a9b3ae;stroke:#75817b}.chloride-ion-sensor-2d.is-active .chloride-sensor__status{fill:#3ac17e;filter:drop-shadow(0 0 3px #31b271b3)}.chloride-sensor__cable{fill:none;stroke:#39453f;stroke-linecap:round;stroke-width:4px}.chloride-sensor__probe{fill:#879795;stroke:#43534f;stroke-width:1.5px}.chloride-sensor__probe-tip{fill:#4d6665}.iron-nail-2d__shaft,.iron-nail-2d__head,.iron-nail-2d__neck,.iron-nail-2d__tip{fill:#737d7d;stroke:#374443;stroke-width:1.5px}.iron-nail-2d__neck{stroke:none}.iron-nail-2d__highlight{fill:none;stroke:#ffffff94;stroke-linecap:round;stroke-width:2px}.iron-nail-2d__oxide{fill:#9c5a32;opacity:.86}.iron-nail-2d.is-oxidized .iron-nail-2d__shaft,.iron-nail-2d.is-oxidized .iron-nail-2d__neck{fill:#8a6249}.redox-electrochemical-board>rect{fill:#f8faf9}.redox-equation text{fill:#263e35;font-size:16px;font-weight:800}.redox-equation .redox-valence{fill:#bd4d45;font-size:10px}.redox-equation .redox-valence--product{fill:#3276a7}.redox-equation .redox-equation__role{fill:#667b71;font-size:9px;font-weight:700}.redox-electron-arrow{fill:none;stroke:#3c79aa;stroke-width:2.5px}.redox-electron-arrow:after{content:""}.redox-electron-flow circle{fill:#3e7faf;opacity:.28}.redox-electron-flow path{fill:none;stroke:#3e7faf;stroke-dasharray:8 6;stroke-width:3px;animation:.8s linear infinite redoxElectronFlow}.redox-electron-flow.is-active circle{opacity:1;filter:drop-shadow(0 0 4px #367cb08c);animation:.85s ease-in-out infinite alternate redoxElectronPulse}.redox-concept{fill:#37604e;font-size:9px;font-weight:750}.redox-fume-hood path:first-child{fill:#6c847e1a;stroke:#657973;stroke-width:1.5px}.redox-fume-hood path:nth-child(2){fill:#e1eee933;stroke:#a1b2ac;stroke-dasharray:4 3}.redox-fume-hood text{fill:#6f8179;font-size:7px;font-weight:800}.redox-cleaner-mixing-well .redox-well__liquid{fill:#cadeaf75}.redox-cleaner-mixing-well>text{fill:#5a6d64;font-size:8px;font-weight:750}.redox-cleaner-mixing-well.is-reacting .redox-well__liquid{fill:#cdcd6475;stroke:#a4a143}.redox-chlorine-cloud circle{fill:#b9c94994;stroke:#818d2f8c;animation:1.9s ease-in-out infinite alternate redoxChlorineCloud}.redox-chlorine-cloud circle:nth-child(2){animation-delay:-.7s}.redox-chlorine-cloud circle:nth-child(3){animation-delay:-1.2s}.redox-prediction-card rect{fill:#f1f5f3;stroke:#b8c9c1;stroke-width:1.3px}.redox-prediction-card__valence{fill:#b64e47;font-size:10px;font-weight:850}.redox-prediction-card__formula{fill:#2c5142;font-size:16px;font-weight:850}.redox-prediction-card__hint{fill:#71827a;font-size:8px;font-weight:650}.redox-prediction-score{fill:#2e6d50;font-size:9px;font-weight:800}.redox-material-tray rect{fill:#f7faf8f5;stroke:#b9c9c1;stroke-width:1.5px}.redox-material-tray text:first-of-type{fill:#345648;font-size:11px;font-weight:800}.redox-material-tray text:last-of-type{fill:#778a80;font-size:8px;font-weight:650}.redox-pour-operation{pointer-events:none}.redox-pour-operation [class*=shadow]{opacity:0!important}.redox-pour-operation .material-caption{display:none}.redox-reaction-particles circle{fill:#a8683e;opacity:.65;animation:1.8s ease-in-out infinite alternate redoxParticleDrift}.redox-safety-button{color:#68786f;cursor:pointer;text-align:left;background:#f5f7f6;border:1px solid #d7dfdb;border-radius:4px;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;width:100%;min-height:36px;padding:0 10px;font-size:9px;display:grid}.redox-safety-button em{color:#87938d;font-size:8px;font-style:normal}.redox-safety-button.is-active{color:#285d47;background:#e2f0e9;border-color:#98c5b0}.redox-safety-button:disabled{cursor:not-allowed;opacity:.58}.redox-task-progress{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.redox-task-progress>span{color:#87938d;background:#f4f6f5;border:1px solid #dfe5e2;border-radius:4px;place-items:center;min-width:0;min-height:37px;padding:3px;font-size:8px;font-weight:850;display:grid}.redox-task-progress small{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:7px;overflow:hidden}.redox-task-progress>span.is-done{color:#2e7656;background:#e5f1eb;border-color:#afd1c1}.redox-control .secondary-command{width:100%;margin-top:6px}.redox-reading-list{grid-template-columns:repeat(5,1fr);gap:3px;display:grid}.redox-reading-list>div{text-align:center;background:#f3f6f4;border:1px solid #dce4e0;border-radius:4px;gap:2px;min-width:0;padding:6px 4px;display:grid}.redox-reading-list span{color:#85928c;font-size:7px}.redox-reading-list strong{color:#68776f;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.redox-reading-list>div.is-done{background:#e8f2f7;border-color:#abcbdc}.redox-reading-list>div.is-done strong{color:#2b688c}.redox-equation-card{background:#eef5f1;border:1px solid #cedfd6;border-radius:4px;gap:5px;padding:8px;display:grid}.redox-equation-card strong{color:#254e3d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;line-height:1.5}.redox-equation-card span{color:#6e8077;font-size:8px;line-height:1.55}.redox-equation-card.is-danger{background:#fff5e8;border-color:#ebc99d}.redox-equation-card.is-danger strong{color:#8a4f28}.redox-danger-note{color:#8b4d37;background:#fff0ec;border-left:3px solid #c75a49;padding:6px 8px;font-size:8px;font-weight:700;line-height:1.55}.redox-mixing-progress{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px;display:grid}.redox-mixing-progress span{color:#89948f;text-align:center;background:#f2f5f3;border:1px solid #dce3df;border-radius:3px;padding:5px;font-size:8px;font-weight:800}.redox-mixing-progress span.is-done{color:#8a5c25;background:#fff0d9;border-color:#e6c18d}.redox-prediction-controls{gap:5px;display:grid}.redox-prediction-controls label{color:#52665c;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:5px;font-size:9px;font-weight:800;display:grid}.redox-prediction-controls select{color:#3c5549;background:#f8faf9;border:1px solid #d5dfda;border-radius:4px;min-width:0;height:29px;padding:0 22px 0 6px;font-size:8px}@keyframes redoxBubbleRise{0%{opacity:0;transform:translateY(8px)}45%{opacity:.9}to{opacity:0;transform:translateY(-16px)}}@keyframes redoxElectronFlow{to{stroke-dashoffset:-28px}}@keyframes redoxElectronPulse{0%{transform:translate(0)}to{transform:translate(10px)}}@keyframes redoxChlorineCloud{0%{opacity:.45;transform:translateY(4px)scale(.92)}to{opacity:.78;transform:translateY(-5px)scale(1.05)}}@keyframes redoxParticleDrift{0%{transform:translateY(2px)}to{transform:translate(4px,-4px)}}@media (max-width:620px){.redox-reaction-stage .engine-status{display:none}.redox-experiment-svg{transform-origin:0;min-width:920px;transform:translate(-5%)}}.electrolyte-ionization-stage .lab-2d-scene{background:#e3ece8}.electrolyte-ionization-stage .stage-sign{top:12px;right:18px}.electrolyte-ionization-stage .engine-status{top:46px;bottom:auto;left:auto;right:18px}.electrolyte-experiment-svg{letter-spacing:0;width:100%;height:100%;shape-rendering:geometricPrecision;text-rendering:geometricPrecision;-webkit-user-select:none;user-select:none;font-family:Manrope,Noto Sans SC,sans-serif;display:block;overflow:hidden}.electrolyte-bench-line{fill:none;stroke:#aebdb6;stroke-width:2px}.electrolyte-scene-heading text:first-child{fill:#253f35;font-size:22px;font-weight:800}.electrolyte-scene-heading text:last-child{fill:#647a70;font-size:12px;font-weight:650}.electrolyte-workbench{fill:url(#electrolyteWorkbench);stroke:#b3c6bc;stroke-width:1.5px}.electrolyte-route-title{fill:#2b5142;font-size:22px;font-weight:850}.electrolyte-route-note{fill:#688076;font-size:12px;font-weight:650}.electrolyte-route-status{fill:#3b6a55;font-size:12px;font-weight:750}.electrolyte-route--macro .electrolyte-sample-label,.electrolyte-route--macro .material-caption{font-size:11px}.electrolyte-macro-readings text{fill:#526b60;font-size:9px;font-weight:750}.electrolyte-macro-board{pointer-events:none}.electrolyte-macro-board__surface{fill:#d6e3dd;stroke:#8faea0;stroke-width:1.5px}.electrolyte-macro-board__title{fill:#2c5847;font-size:13px;font-weight:850}.electrolyte-macro-board__note{fill:#678177;font-size:9px;font-weight:650}.electrolyte-macro-board__switch circle{fill:#67766f;stroke:#f5faf7;stroke-width:1.5px}.electrolyte-macro-board__switch path{fill:none;stroke:#b52b1f;stroke-linecap:round;stroke-width:3.5px}.electrolyte-macro-board__switch text{fill:#536c60;font-size:8px;font-weight:800}.electrolyte-macro-board__switch.is-on circle{fill:#2e9068}.electrolyte-macro-board__switch.is-on path{stroke:#247957}.electrolyte-macro-board__wiring path{stroke-width:3.5px}.electrolyte-macro-board__wiring .wire-2d--path{opacity:.92}.electrolyte-macro-board__overpass{stroke-width:4px!important}.electrolyte-macro-board__branch-label{fill:#436557;font-size:9px;font-weight:800}.electrolyte-macro-board__readout text:first-child{fill:#3b614f;font-size:9px;font-weight:850}.electrolyte-macro-board__readout text:not(:first-child){fill:#5c756a;font-size:7px;font-weight:700}.electrolyte-macro-board__junction{stroke:#f4faf6;stroke-width:1.2px}.electrolyte-macro-board__junction--positive{fill:#b52b1f}.electrolyte-macro-board__junction--negative{fill:#252d2b}.electrolyte-macro-board__junction--sample{fill:#c18b43}.electrolyte-heating-setup{pointer-events:none}.electrolyte-heating-setup__tripod{opacity:.88}.electrolyte-heating-setup__gauze{opacity:.96}.electrolyte-heating-setup__burner{opacity:.98}.electrolyte-heating-setup__label{fill:#896139;font-size:8px;font-weight:800}.electrolyte-route--micro .electrolyte-model-frame{fill:#f2f8f5e6;stroke:#a8c1b5;stroke-width:1.6px}.electrolyte-route--definition .electrolyte-definition-flow rect{fill:#e2f0e8;stroke:#82b59b;stroke-width:1.5px}.electrolyte-route--definition .electrolyte-definition-flow text{fill:#2f654c;font-size:12px;font-weight:800}.electrolyte-route--definition .electrolyte-definition-flow path{fill:none;stroke:#5a9478;stroke-width:2px}.electrolyte-summary-grid rect{fill:#f7fbf9e0;stroke:#abc0b6;stroke-width:1.4px}.electrolyte-summary-grid text:first-of-type{fill:#37624f;font-size:14px;font-weight:800}.electrolyte-summary-grid text:not(:first-of-type){fill:#71857c;font-size:10px;font-weight:650}.electrolyte-material-tray{display:block}.electrolyte-panel-surface{fill:#fafcfbf7;stroke:#b9c9c1;stroke-width:1.6px}.electrolyte-panel-title{fill:#294c3e;font-size:16px;font-weight:800}.electrolyte-panel-note{fill:#697d74;font-size:10px;font-weight:650}.electrolyte-panel-status{fill:#3f6c58;font-size:10px;font-weight:750}.electrolyte-sample-label{fill:#40594d;font-size:10px;font-weight:800}.electrolyte-sample-check{fill:#2f996d;stroke:#f7fcf9;stroke-width:2px}.electrolyte-circuit path{fill:none}.electrolyte-circuit-label{fill:#5a7167;font-size:9px;font-weight:750}.electrolyte-heating-status{fill:#97602d;font-size:10px;font-weight:800}.electrolyte-model-frame{fill:#f0f6f3;stroke:#b4c9bd;stroke-width:1.2px}.electrolyte-ion-model{pointer-events:none}.electrolyte-ion-model .ion-particle{stroke-width:1.2px}.electrolyte-ion-model .ion-particle.is-positive{fill:#efc674;stroke:#b5893f}.electrolyte-ion-model .ion-particle.is-negative{fill:#83c5b1;stroke:#4d8d79}.electrolyte-ion-model text{fill:#3d5149;font-size:15px;font-weight:850}.electrolyte-ion-model--lattice .ion-particle{opacity:.9}.electrolyte-ion-model--solution .ion-particle,.electrolyte-ion-model--molten .ion-particle{animation:2.2s ease-in-out infinite alternate electrolyteIonFloat}.electrolyte-ion-model--solution g:nth-child(3n) .ion-particle{animation-delay:-.8s}.electrolyte-ion-model--molten g:nth-child(2n) .ion-particle{animation-delay:-1.2s}.electrolyte-model-mode{fill:#3c6954;font-size:10px;font-weight:800}.electrolyte-observation-record>rect{fill:#f7fbf9db;stroke:#abc4b6;stroke-width:1px}.electrolyte-observation-record-title{fill:#37624f;font-size:10px;font-weight:850}.electrolyte-observation-record g>circle{fill:#dbe7e1;stroke:#9db7aa;stroke-width:1px}.electrolyte-observation-record g.is-recorded>circle{fill:#4d9976;stroke:#2e7254}.electrolyte-observation-record-mode{fill:#587166;font-size:9px;font-weight:750}.electrolyte-observation-record-status{fill:#899990;font-size:8px}.electrolyte-observation-record g.is-recorded .electrolyte-observation-record-status{fill:#2f805c;font-weight:750}.electrolyte-definition{fill:#2c5142;font-size:13px;font-weight:800}.electrolyte-definition-flow rect{fill:#e5f0eb;stroke:#8eb9a3;stroke-width:1.2px}.electrolyte-definition-flow text{fill:#326149;font-size:10px;font-weight:800}.electrolyte-definition-flow path{fill:none;stroke:#5a9478;stroke-width:1.6px}.electrolyte-material-tray rect{fill:#f7faf8f7;stroke:#b9c9c1;stroke-width:1.5px}.electrolyte-material-tray text:first-of-type{fill:#345648;font-size:11px;font-weight:800}.electrolyte-material-tray text:last-of-type{fill:#778a80;font-size:8px;font-weight:650}.electrolyte-control .primary-command,.electrolyte-control .secondary-command{width:100%}.electrolyte-control .secondary-command{margin-top:6px}.electrolyte-control .secondary-command.is-danger{color:#9a4f3e;background:#fff3ee;border-color:#e4b7aa}.electrolyte-task1-divider{border-bottom:1px solid #cddbd3;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 0 2px;display:flex}.electrolyte-task1-divider strong{color:#2f654c;font-size:10px;font-weight:850}.electrolyte-task1-divider span{color:#84958c;white-space:nowrap;font-size:8px}.electrolyte-safety-button{color:#68786f;cursor:pointer;text-align:left;background:#f5f7f6;border:1px solid #d7dfdb;border-radius:4px;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;width:100%;min-height:36px;padding:0 10px;font-size:9px;display:grid}.electrolyte-safety-button em{color:#87938d;font-size:8px;font-style:normal}.electrolyte-safety-button.is-active{color:#285d47;background:#e2f0e9;border-color:#98c5b0}.electrolyte-safety-button:disabled{cursor:not-allowed;opacity:.58}.electrolyte-checklist{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.electrolyte-checklist span{color:#7c8983;background:#f5f7f6;border:1px solid #dce4df;border-radius:4px;align-items:center;gap:4px;min-width:0;min-height:29px;padding:0 6px;font-size:8px;font-weight:700;display:flex}.electrolyte-checklist span.is-done{color:#2e7656;background:#e6f2eb;border-color:#acd0bd}.electrolyte-reading-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:6px;display:grid}.electrolyte-reading-list span{color:#546b60;background:#f7faf8;border:1px solid #dce6df;border-radius:4px;gap:2px;min-width:0;padding:5px 6px;font-size:8px;display:grid}.electrolyte-reading-list b{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.electrolyte-reading-list small{color:#72867b;font-size:7px;line-height:1.25}.electrolyte-mode-buttons{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.electrolyte-mode-buttons button{color:#6b7c73;cursor:pointer;background:#f3f6f4;border:1px solid #d5e0da;border-radius:4px;min-width:0;height:29px;font-size:9px;font-weight:750}.electrolyte-mode-buttons button.is-active{color:#2b6b4f;background:#e1f0e8;border-color:#8fc0a6}.electrolyte-mode-buttons button:disabled{cursor:not-allowed;opacity:.52}.electrolyte-current-observation{color:#60766b;background:#eef5f1;border:1px solid #d3e2d9;border-radius:4px;gap:2px;margin-top:6px;padding:6px 7px;display:grid}.electrolyte-current-observation strong{color:#2f654c;font-size:9px}.electrolyte-current-observation span{font-size:8px;line-height:1.45}.electrolyte-observation-list{gap:3px;margin-top:6px;display:grid}.electrolyte-observation-list>span{color:#7a8981;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;font-size:8px;display:grid}.electrolyte-observation-list>span i{background:#e0e8e3;border:1px solid #9db0a6;border-radius:50%;width:6px;height:6px}.electrolyte-observation-list>span.is-recorded{color:#347455}.electrolyte-observation-list>span.is-recorded i{background:#55a67d;border-color:#3d8c68}.electrolyte-observation-list>span small{color:#98a49e;font-size:7px}.electrolyte-observation-list>span.is-recorded small{color:#4b966f}.electrolyte-classification-controls{gap:5px;display:grid}.electrolyte-classification-controls label{color:#52665c;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:5px;font-size:9px;font-weight:800;display:grid}.electrolyte-classification-controls select{color:#3c5549;background:#f8faf9;border:1px solid #d5dfda;border-radius:4px;min-width:0;height:28px;padding:0 20px 0 6px;font-size:8px}.electrolyte-extension-list{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.electrolyte-extension-list span{color:#77857e;text-overflow:ellipsis;white-space:nowrap;background:#f3f6f4;border:1px solid #dce4df;border-radius:4px;min-width:0;padding:5px 6px;font-size:8px;overflow:hidden}.electrolyte-extension-list span.is-strong{color:#2d6f50;background:#e5f2ea;border-color:#afd1bd}.electrolyte-extension-list span.is-weak{color:#91602f;background:#fff1dc;border-color:#e2c494}.electrolyte-extension-list span.is-none{color:#7a8581;background:#f0f3f2}.electrolyte-source-note{color:#7d8f86;margin-top:6px;font-size:8px;line-height:1.35;display:block}.log-item__source{color:#668477}.log-item__record{color:#4f6c5d}.electrolyte-conductivity-setup-2d{overflow:visible}.electrolyte-conductivity-setup-2d .material-caption{fill:#53655d;font-size:11px}.battery-cell-2d,.bulb-assembly-2d{overflow:visible}.battery-cell-shadow{fill:#191f1d40;filter:blur(2px)}.battery-cell-body{stroke:#111617;stroke-linejoin:round;stroke-width:1.2px}.battery-cell-positive{stroke:#9a4e24;stroke-linejoin:round;stroke-width:1px}.battery-cell-positive-face{stroke:#9a4e24;stroke-width:.7px}.battery-cell-seam{fill:none;stroke:#5b311dcc;stroke-width:1.2px}.battery-cell-body-highlight,.battery-cell-positive-highlight{fill:none;stroke-linecap:round}.battery-cell-body-highlight{stroke:#e0e9e65c;stroke-width:1.5px}.battery-cell-positive-highlight{stroke:#ffe2ac9e;stroke-width:1.4px}.battery-cell-negative-mark,.battery-cell-positive-mark{font-size:12px;font-weight:900}.battery-cell-negative-mark{fill:#e0e6e2}.battery-cell-positive-mark{fill:#34302b}.battery-cell-terminal{stroke:#687570;stroke-width:.8px}.battery-cell-terminal-highlight{fill:none;stroke:#ffffffad;stroke-linecap:round;stroke-width:.8px}.battery-contact-2d{overflow:visible}.battery-contact-shadow{fill:#191f1d33;filter:blur(1.5px)}.battery-contact-plate{stroke:#65736e;stroke-linejoin:round;stroke-width:.9px}.battery-contact-highlight{fill:none;stroke:#ffffffa8;stroke-linecap:round;stroke-width:1px}.battery-contact-spring path{fill:none;stroke:#5d6965;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45px}.battery-contact-spring-highlight{stroke:#ffffffb8!important;stroke-width:.55px!important}.battery-contact-polarity{fill:#485650;font-size:10px;font-weight:900}.battery-box-cells,.battery-box-contacts{pointer-events:none}.binding-post-2d{overflow:visible}.binding-post-shadow{fill:#191f1d3b;filter:blur(1.5px)}.binding-post-body{stroke:#261c1ad1;stroke-linejoin:round;stroke-width:1px}.binding-post-cap{stroke:#261c1ab8;stroke-width:.8px}.binding-post-cap-metal{stroke:#4b5751b3;stroke-width:.65px}.binding-post-foot{stroke:#62706a;stroke-width:.8px}.binding-post-rib{fill:none;stroke:#faebe55c;stroke-linecap:round;stroke-width:.8px}.binding-post-label{fill:#56665e;font-size:9px;font-weight:750}.wire-2d{pointer-events:none}.wire-2d--path{fill:none;stroke-linecap:round;stroke-linejoin:round}.wire-sheath{fill:none;stroke-linecap:round}.wire-end{fill:none;stroke:#c8a56c;stroke-linecap:round;stroke-width:2px}.wire-end--left,.wire-end--right{filter:drop-shadow(0 1px 1px #412e1957)}.electrolyte-conductivity-setup-2d.is-powered .wire-2d--path{filter:drop-shadow(0 0 2px #c13a268c)}.metal-base-2d{overflow:visible}.metal-base-shadow{fill:#1e2a2638;filter:blur(2px)}.metal-base-top,.metal-base-front,.metal-base-side{stroke:#5d6964;stroke-linejoin:round;stroke-width:1px}.metal-base-top{stroke:#87928e;stroke-linejoin:miter;stroke-width:1.2px}.metal-base-front{stroke:#596560;stroke-linejoin:miter;stroke-width:1px}.metal-base-side{stroke:#4f5b57;stroke-linecap:butt;stroke-linejoin:miter;stroke-width:.9px}.metal-base-highlight{fill:none;stroke:#ffffffad;stroke-linecap:round;stroke-width:1.1px}.metal-base-front-highlight{fill:none;stroke:#e8efeb61;stroke-linecap:round;stroke-width:1px}.metal-base-bottom-edge{fill:none;stroke:#2d3834a6;stroke-linecap:round;stroke-width:1px}.battery-box-shadow,.bulb-shadow,.electrode-shadow{fill:#1f2b273d;filter:blur(2px)}.battery-box-platform,.bulb-platform{stroke:#4d5956;stroke-linejoin:round;stroke-width:1.8px}.battery-box-platform-top{fill:#b7c0bd;stroke:#6f7d79;stroke-width:1px}.battery-box-platform-highlight{fill:none;stroke:#eff4f1b8;stroke-linecap:round;stroke-width:1.4px}.battery-box-holder{fill:#697572;stroke:#44504d;stroke-linejoin:round;stroke-width:1.5px}.battery-box-holder-inner{fill:#222a29;stroke:#161d1b;stroke-width:1px}.battery-box-holder-front{fill:#5e6965;stroke:#3f4a47;stroke-width:1px}.battery-box-rail{fill:none;stroke:#d6deda99;stroke-linecap:round;stroke-width:2px}.battery-box-cell{stroke:#1b2322;stroke-width:1.4px}.battery-box-cell-cap{fill:#313a38;stroke:#111817;stroke-width:1px}.battery-box-cell-highlight{fill:none;stroke:#cbd5d04d;stroke-linecap:round;stroke-width:1.4px}.battery-box-contact{fill:#d28c43;stroke:#8a572e;stroke-width:1px}.battery-box-contact-highlight{fill:none;stroke:#ffe1b3b8;stroke-linecap:round;stroke-width:1.2px}.battery-box-negative-cap{fill:#aab3af;stroke:#5b6662;stroke-width:1px}.battery-box-positive-cap{fill:#c8d0cb;stroke:#596761;stroke-width:1px}.battery-box-positive-mark{fill:#f4f6f2;font-size:11px;font-weight:900}.battery-box-side-post{fill:#9fa9a5;stroke:#5c6965;stroke-width:1px}.battery-box-terminal__top,.battery-box-terminal__body,.bulb-terminal__top{stroke:#34403d;stroke-width:1.3px}.battery-box-terminal__rib,.bulb-terminal__rib{fill:none;stroke:#ebefeb99;stroke-linecap:round;stroke-width:1px}.battery-box-terminal--black .battery-box-terminal__top,.battery-box-terminal--black .battery-box-terminal__body,.bulb-terminal--black .bulb-terminal__body,.bulb-terminal--black .bulb-terminal__top{fill:#282d2b}.battery-box-terminal--red .battery-box-terminal__top,.battery-box-terminal--red .battery-box-terminal__body,.bulb-terminal--red .bulb-terminal__body,.bulb-terminal--red .bulb-terminal__top{fill:#b5291f;stroke:#792117}.battery-box-terminal__body{stroke:#34403d;stroke-width:1.3px}.battery-box-terminal__rib{fill:none;stroke:#ebefeb99;stroke-linecap:round;stroke-width:1px}.battery-box-terminal__foot{fill:#b7c0bc;stroke:#67736d;stroke-width:1px}.bulb-terminal__body{stroke:#34403d;stroke-width:1.3px}.battery-box-voltage{fill:#e9efec;font-size:9px;font-weight:800}.battery-box-2d.is-active .battery-box-terminal--red ellipse{filter:drop-shadow(0 0 3px #df4a328c)}.bulb-glow{fill:#ffd866;opacity:.34;filter:blur(3px)}.bulb-glass,.bulb-glass-neck{stroke:#7c908c;stroke-width:1.8px}.bulb-glass-neck{opacity:.72}.bulb-glass-highlight{fill:none;stroke:#ffffffc7;stroke-linecap:round;stroke-width:2.2px}.bulb-filament{fill:none;stroke:#8c6a3d;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.bulb-platform-highlight{fill:none;stroke:#ebf1edad;stroke-linecap:round;stroke-width:1.4px}.bulb-socket-top{fill:#c2c8c2;stroke:#56635d;stroke-width:1.4px}.bulb-socket{stroke:#55635d;stroke-width:1.5px}.bulb-socket-line{fill:none;stroke:#e0e6e1;stroke-linecap:round;stroke-width:1.1px}.bulb-2d.is-lit .bulb-glass,.bulb-2d.is-lit .bulb-glass-neck{fill:#ffe7a3;stroke:#b99242}.bulb-2d.is-lit .bulb-filament{stroke:#ee8520;filter:drop-shadow(0 0 2px #f38722cc)}.electrode-insulator{fill:#6e302a;stroke:#43211d;stroke-width:1px}.electrode-terminal{fill:#c6a36c;stroke:#735b32;stroke-width:1px}.electrode-shaft{stroke:#34413e;stroke-linejoin:round;stroke-width:1px}.electrode-highlight{fill:none;stroke:#ffffffa3;stroke-linecap:round;stroke-width:1px}.electrode-2d{pointer-events:none}.conductivity-beaker .material-shadow{fill:#2b353033}.conductivity-beaker .beaker-body{stroke:#6c8789;stroke-width:2px}.conductivity-beaker .beaker-rim{fill:#effafa47;stroke:#668285;stroke-width:2px}.conductivity-beaker .beaker-bottom{fill:none;stroke:#648083;stroke-width:1.8px}.conductivity-beaker .glass-graduation line{stroke:#718d8d;stroke-width:1.2px}.conductivity-beaker .glass-graduation text{fill:#5d7777;font-size:6px}.conductivity-beaker .beaker-capacity-label,.conductivity-beaker .material-caption{display:none}.conductivity-electrode{fill:#555f5c;stroke:#273531;stroke-linejoin:round;stroke-width:1.5px}.conductivity-electrode--left,.conductivity-electrode--right{filter:drop-shadow(1px 1px 1px #1e2c2740)}.conductivity-electrode-contact{fill:#bc8f45;stroke:#755b2d;stroke-width:1.2px}.electrolyte-conductivity-setup-2d.is-heating .conductivity-beaker .material-shadow{opacity:.28}@keyframes electrolyteIonFloat{0%{transform:translate(0)}to{transform:translate(4px,-3px)}}@media (max-width:620px){.electrolyte-ionization-stage .engine-status{display:none}.electrolyte-experiment-svg{transform-origin:0;min-width:960px;transform:translate(-5%)}}