.lab-layout-loader{min-height:min(720px,calc(100dvh - 96px));place-items:center;align-content:center;gap:14px;color:var(--muted, #65758a);background:var(--bg, #f5f7fb);font-size:14px;font-weight:700}.lab-loader-mark{width:34px;height:34px;border:2px solid color-mix(in srgb,var(--blue, #1457e6) 24%,transparent);border-top-color:var(--blue, #1457e6);border-radius:50%;animation:lab-shell-loading .9s linear infinite}@keyframes lab-shell-loading{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.lab-loader-mark{animation:none;border-color:var(--blue, #1457e6)}}.lab-shell{--lab-left-panel-default: 320px;--lab-left-panel-min: 280px;--lab-left-panel-max: 420px;--lab-left-panel-collapsed: 64px;--lab-right-panel-default: 360px;--lab-right-panel-min: 320px;--lab-right-panel-max: 460px;--lab-right-panel-collapsed: 60px;--lab-panel-resizer-size: 6px;--lab-scene-min-width: 600px;--lab-panel-header-height: 52px;--lab-panel-control-height: 44px;--lab-panel-radius: 10px;--lab-panel-shadow: 0 18px 48px rgba(2, 12, 20, .28);--lab-panel-danger: #f58b94;--lab-panel-danger-bg: #4d242b;--lab-panel-success: #5ee6a8;--lab-panel-success-bg: #123d31;--lab-panel-primary-text: #062f2c;color-scheme:dark}body.theme-light .lab-shell{--lab-panel-shadow: 0 18px 48px rgba(28, 54, 68, .2);--lab-panel-danger: #a42d39;--lab-panel-danger-bg: #fff0f1;--lab-panel-success: #086c4c;--lab-panel-success-bg: #d8f3e8;--lab-panel-primary-text: #ffffff;--lab-panel-accent-strong: #0f766e;color-scheme:light}.lab-shell .lab-ui-icon{display:block;width:1.25rem;height:1.25rem;flex:0 0 auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.lab-shell [data-lab-icon]:not(button){display:inline-grid;place-items:center;color:currentColor}.lab-shell [data-lab-icon]:before,.lab-shell [data-lab-icon]:after{content:none!important}.lab-shell .lab-action-button{min-width:0;min-height:var(--lab-panel-control-height);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 13px;overflow:visible;border:1px solid var(--lab-panel-line);border-radius:9px;color:var(--lab-panel-text);background:var(--lab-panel-raised);box-shadow:none;font:inherit;font-size:12px;font-weight:780;line-height:1.25;text-align:center;text-wrap:pretty;white-space:normal;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,transform .12s ease}.lab-shell .lab-action-button[data-lab-size=sm]{min-height:36px;gap:6px;padding:7px 10px;font-size:11px}.lab-shell .lab-action-button[data-lab-size=lg]{min-height:48px;padding:11px 16px;font-size:13px}.lab-shell .lab-action-button[data-lab-variant=primary]{color:var(--lab-panel-primary-text);border-color:var(--lab-panel-accent-strong);background:var(--lab-panel-accent-strong)}.lab-shell .lab-action-button[data-lab-variant=success]{color:var(--lab-panel-success);border-color:color-mix(in srgb,var(--lab-panel-success) 58%,var(--lab-panel-line));background:var(--lab-panel-success-bg)}.lab-shell .lab-action-button[data-lab-variant=danger]{color:var(--lab-panel-danger);border-color:color-mix(in srgb,var(--lab-panel-danger) 58%,var(--lab-panel-line));background:var(--lab-panel-danger-bg)}.lab-shell .lab-action-button[data-lab-variant=ghost]{border-color:transparent;background:transparent}.lab-shell .lab-action-button-icon{display:inline-grid;width:20px;height:20px;flex:0 0 20px;place-items:center;color:currentColor}.lab-shell .lab-action-button-label{min-width:0;overflow-wrap:anywhere}.lab-shell .lab-action-button.is-loading .lab-action-button-icon{position:relative}.lab-shell .lab-action-button.is-loading .lab-action-button-icon>*{visibility:hidden}.lab-shell .lab-action-button.is-loading .lab-action-button-icon:after{content:"";position:absolute;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:lab-panel-spin .72s linear infinite}.lab-shell .lab-action-button:disabled,.lab-shell .lab-action-button[aria-disabled=true]{color:var(--lab-control-disabled-text);border-color:var(--lab-control-disabled-line);background:var(--lab-control-disabled-bg);cursor:not-allowed;opacity:1}@media(hover:hover)and (pointer:fine){.lab-shell .lab-action-button:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--lab-panel-accent-strong)}.lab-shell .lab-action-button[data-lab-variant=primary]:hover:not(:disabled){background:var(--lab-panel-accent)}}.lab-shell .lab-action-button:active:not(:disabled){transform:translateY(1px)}@keyframes lab-panel-spin{to{transform:rotate(1turn)}}.lab-left-panel,.experiment-panel,.lab-panel-resize-handle{min-width:0;min-height:0}.lab-left-panel{color:var(--lab-panel-text);border-right:1px solid var(--lab-panel-line);background:var(--lab-panel-bg)}.lab-panel-header{position:sticky;z-index:8;top:0;min-height:var(--lab-panel-header-height);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px 7px 14px;color:var(--lab-panel-text);border-bottom:1px solid var(--lab-panel-line);background:var(--lab-panel-bg)}.lab-panel-header strong{min-width:0;font-size:13px;font-weight:850;line-height:1.25;overflow-wrap:anywhere}.lab-panel-collapse,.lab-collapsed-action{width:40px;min-width:40px;height:40px;min-height:40px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--lab-panel-line);border-radius:8px;color:var(--lab-panel-text);background:var(--lab-panel-raised);cursor:pointer}.lab-panel-collapse .lab-ui-icon,.lab-collapsed-action .lab-ui-icon{width:19px;height:19px}.lab-collapsed-rail{display:none;min-width:0;min-height:0;align-content:start;justify-items:center;gap:8px;padding:8px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.lab-collapsed-action{width:44px;min-width:44px;height:44px;min-height:44px}.lab-panel-resize-handle{position:relative;z-index:12;width:var(--lab-panel-resizer-size);height:100%;touch-action:none;cursor:col-resize;background:var(--lab-panel-bg)}.lab-panel-resize-handle:after{content:"";position:absolute;z-index:1;top:0;bottom:0;left:2px;width:2px;background:var(--lab-panel-line);transition:background-color .15s ease,width .15s ease,left .15s ease}.lab-panel-resize-handle:hover:after,.lab-panel-resize-handle:focus-visible:after,.lab-shell.is-panel-resizing .lab-panel-resize-handle:after{left:1px;width:4px;background:var(--lab-panel-accent-strong)}.lab-panel-resize-handle:focus-visible{outline:3px solid var(--lab-panel-focus);outline-offset:-3px}.lab-shell.is-panel-resizing,.lab-shell.is-panel-resizing *{cursor:col-resize!important;user-select:none!important}@media(min-width:1221px){.lab-shell.is-panel-layout-ready,.lab-shell.is-panel-layout-ready.is-dock-expanded{display:grid;width:min(100%,1920px);height:calc(100dvh - 58px);min-height:680px;grid-template-columns:var(--lab-left-panel-size, var(--lab-left-panel-default)) var(--lab-panel-resizer-size) minmax(var(--lab-scene-min-width),1fr) var(--lab-panel-resizer-size) var(--lab-right-panel-size, var(--lab-right-panel-default));grid-template-rows:minmax(0,1fr);grid-template-areas:"left left-resize stage right-resize right";gap:0;overflow:hidden}.lab-shell.is-panel-layout-ready>.lab-left-panel{grid-area:left;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.lab-shell.is-panel-layout-ready>.lab-panel-resize-left{grid-area:left-resize}.lab-shell.is-panel-layout-ready>.lab-stage{grid-area:stage;width:100%;min-width:var(--lab-scene-min-width);min-height:0}.lab-shell.is-panel-layout-ready>.lab-panel-resize-right{grid-area:right-resize}.lab-shell.is-panel-layout-ready>.experiment-panel{grid-area:right;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0;overflow:hidden;border-left:1px solid var(--lab-panel-line);background:var(--lab-panel-bg)}.lab-left-panel-scroll{min-width:0;min-height:0;display:block;padding:0 4px 20px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}.lab-left-panel .tool-rail{display:flex;flex-direction:column;width:auto;min-height:auto;gap:12px;padding:12px 12px 14px;overflow:visible;border:0;background:transparent}.lab-left-panel .tool-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-bottom:12px;overflow:visible;border-bottom:1px solid var(--lab-panel-line)}.lab-left-panel .tool-button{min-width:0;min-height:46px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:7px 9px;text-align:left;white-space:normal}.lab-left-panel .tool-icon{width:20px;height:20px;flex:0 0 20px;display:grid;margin:0;place-items:center}.lab-left-panel :is(.tool-drawer,.lab-action-toolbar){flex:none;min-height:0;overflow:visible}.lab-left-panel .lab-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-left-panel .equipment-dock,.lab-left-panel .equipment-dock.is-expanded{display:grid;width:auto;min-height:0;max-height:none;grid-template-rows:auto auto;gap:10px;padding:14px 12px 20px;overflow:visible;border-top:1px solid var(--lab-panel-line);background:transparent}.lab-left-panel .dock-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.lab-left-panel .dock-tabs{grid-column:1 / -1;display:flex;min-height:0;flex-wrap:wrap;gap:5px;overflow:visible;border:0}.lab-left-panel .dock-tab{min-height:36px;padding:0 9px;white-space:normal}.lab-left-panel .dock-scroll,.lab-left-panel .dock-expand{display:none}.dock-scroll .lab-action-button-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lab-left-panel .dock-items,.lab-left-panel .equipment-dock.is-expanded .dock-items{display:grid;grid-auto-flow:row;grid-auto-columns:initial;grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:8px;min-width:0;min-height:0;padding:0;overflow:visible;scroll-snap-type:none}.lab-left-panel .dock-pick,.lab-left-panel .equipment-dock.is-expanded .dock-pick{width:100%;height:auto;min-height:0}.lab-left-panel .dock-item,body.theme-light .lab-left-panel .dock-item,.lab-left-panel .equipment-dock.is-expanded .dock-item,body.theme-light .lab-left-panel .equipment-dock.is-expanded .dock-item{width:100%;height:auto;min-height:104px;display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;align-content:center;justify-items:stretch;gap:5px 10px;padding:10px 46px 10px 10px;overflow:visible;text-align:left}.lab-left-panel .equipment-thumb,.lab-left-panel .equipment-dock.is-expanded .equipment-thumb{grid-column:1;grid-row:1 / span 2;width:72px;height:76px}.lab-left-panel .equipment-thumb img,.lab-left-panel .equipment-dock.is-expanded .equipment-thumb img{width:68px;height:72px}.lab-left-panel .dock-copy{grid-column:2;min-width:0}.lab-left-panel .dock-item strong,.lab-left-panel .equipment-dock.is-expanded .dock-item strong{display:block;overflow:visible;font-size:12px;line-height:1.3;overflow-wrap:anywhere;-webkit-line-clamp:initial}.lab-left-panel .dock-item small,.lab-left-panel .equipment-dock.is-expanded .dock-item small{display:block;overflow:visible;color:var(--lab-panel-muted);font-size:10px;line-height:1.35;overflow-wrap:anywhere;-webkit-line-clamp:initial}.lab-left-panel .dock-card-meta{grid-column:2;flex-wrap:wrap;justify-content:flex-start}.lab-left-panel .dock-status{max-width:100%;min-height:22px;overflow:visible;padding:3px 7px;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.lab-left-panel .dock-add{top:10px;right:10px;width:36px;min-width:36px;height:36px;min-height:36px}.experiment-panel .lab-sidebar-scroll{min-height:0;display:grid;align-content:start;gap:12px;padding:14px 14px 20px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}.experiment-panel .panel-actions{min-height:0;display:grid;gap:8px;margin:0;padding:12px 14px 14px;border-top:1px solid var(--lab-panel-line);background:var(--lab-panel-bg)}.lab-shell.is-left-collapsed>.lab-left-panel{grid-template-rows:minmax(0,1fr)}.lab-shell.is-left-collapsed .lab-left-panel-header,.lab-shell.is-left-collapsed .lab-left-panel-scroll,.lab-shell.is-right-collapsed .lab-right-panel-header,.lab-shell.is-right-collapsed .experiment-panel>:not(.lab-right-collapsed-rail){display:none}.lab-shell.is-left-collapsed .lab-left-collapsed-rail,.lab-shell.is-right-collapsed .lab-right-collapsed-rail{display:grid}.lab-shell.is-right-collapsed>.experiment-panel{grid-template-rows:minmax(0,1fr)}}.experiment-panel .tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;min-width:0;min-height:44px;padding:3px;overflow:visible;border:1px solid var(--lab-panel-line);border-radius:var(--lab-panel-radius);background:var(--lab-panel-soft)}.experiment-panel .tab,body.theme-light .experiment-panel .tab{min-width:0;min-height:38px;padding:5px 4px;border:1px solid transparent;border-radius:7px;color:var(--lab-panel-muted);background:transparent;font-size:11px;font-weight:780;line-height:1.15;text-align:center;white-space:normal;overflow-wrap:anywhere}.experiment-panel .tab:is(.is-active,[aria-selected=true]),body.theme-light .experiment-panel .tab:is(.is-active,[aria-selected=true]){color:var(--lab-panel-text);border-color:var(--lab-panel-line);background:var(--lab-panel-raised)}.experiment-panel .lab-mode-description{margin:-5px 2px 0;padding:0 2px 0 10px;color:var(--lab-panel-text-secondary);border-left:3px solid var(--lab-panel-accent-strong);font-size:11px;line-height:1.45;text-wrap:pretty}.experiment-panel .tab-panel[hidden]{display:none!important}.lab-result-announcement{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.lab-result-requirements{display:grid;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--lab-panel-danger) 54%,var(--lab-panel-line));border-radius:var(--lab-panel-radius);background:color-mix(in srgb,var(--lab-panel-danger-bg) 64%,var(--lab-panel-raised))}.lab-result-requirements h3{margin:0;color:var(--lab-panel-text);font-size:13px}.lab-result-requirements ul{display:grid;gap:6px;margin:0;padding-inline-start:20px;color:var(--lab-panel-text-secondary);font-size:12px;line-height:1.45}.lab-result-requirements .lab-result-return{justify-self:start}.experiment-panel :is(.scenario-card,.scenario-check,.progress-card,.mode-card,.condition-row,.composition-box,.result-message,.result-summary,.tab-panel,.panel-actions){min-width:0}.experiment-panel :is(h1,h2,h3,p,li,label,strong,span,em,small,output){max-width:100%;overflow-wrap:anywhere}.experiment-panel .scenario-card strong{white-space:normal}.experiment-panel :is(.result-message,.result-summary).is-result-focus,.experiment-panel .is-result-focus{outline:2px solid var(--lab-panel-accent-strong);outline-offset:3px;animation:lab-result-focus .9s ease-out both}@keyframes lab-result-focus{0%{background-color:color-mix(in srgb,var(--lab-panel-accent-strong) 22%,var(--lab-panel-raised))}to{background-color:var(--lab-panel-raised)}}@media(max-width:1220px){body.lab-mobile-drawer-open{position:fixed;right:0;left:0;width:100%;overflow:hidden!important;overscroll-behavior:none}#lab{position:relative}.lab-shell.is-panel-layout-ready,.lab-shell.is-panel-layout-ready.is-dock-expanded,.lab-shell.has-mobile-lab-ui,.lab-shell.has-mobile-lab-ui.is-dock-expanded{display:grid;width:100%;height:auto;min-height:480px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(480px,calc(100dvh - var(--mobile-shell-nav-height, 0px) - 66px));grid-template-areas:"stage";overflow:clip;background:var(--lab-panel-bg)}.lab-shell.is-panel-layout-ready>.lab-stage,.lab-shell.has-mobile-lab-ui>.lab-stage{grid-area:stage;width:100%;height:calc(100dvh - var(--mobile-shell-nav-height, 0px) - 66px);min-width:0;min-height:480px;max-height:none;border-inline:0}.lab-panel-resize-handle,.lab-collapsed-rail,.lab-panel-header{display:none!important}.lab-shell.has-mobile-lab-ui>:is(.lab-left-panel,.experiment-panel,.lab-held-object-panel){position:fixed;z-index:1220;inset:auto max(8px,env(safe-area-inset-right)) calc(var(--mobile-shell-nav-height, 0px) + env(safe-area-inset-bottom) + 78px) max(8px,env(safe-area-inset-left));width:auto;height:auto;max-height:min(80dvh,720px);margin:0;overflow:hidden;visibility:hidden;pointer-events:none;border:1px solid var(--lab-panel-line);border-radius:14px;color:var(--lab-panel-text);background:var(--lab-panel-bg);box-shadow:var(--lab-panel-shadow);transform:translateY(calc(100% + 28px));transition:transform .18s cubic-bezier(.2,.8,.2,1),visibility 0s linear .18s}.lab-shell.has-mobile-lab-ui>:is(.lab-left-panel,.experiment-panel,.lab-held-object-panel).is-mobile-drawer-open{visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}.lab-shell.has-mobile-lab-ui>.lab-left-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.lab-shell.has-mobile-lab-ui>.experiment-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0}.lab-shell.has-mobile-lab-ui>.lab-held-object-panel{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:10px;padding:0 12px 14px;overflow-x:hidden;overflow-y:auto}.lab-shell.has-mobile-lab-ui>.lab-held-object-panel>.lab-mobile-drawer-head{grid-column:1 / -1;margin-inline:-12px}.lab-shell.has-mobile-lab-ui>.lab-held-object-panel[hidden]{display:none!important}.lab-mobile-drawer-head{position:sticky;z-index:9;top:0;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 7px 5px 14px;border-bottom:1px solid var(--lab-panel-line);color:var(--lab-panel-text);background:var(--lab-panel-bg)}.lab-mobile-drawer-head strong{min-width:0;font-size:14px;overflow-wrap:anywhere}.lab-mobile-drawer-head button{width:44px;min-width:44px;height:44px;min-height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--lab-panel-line);border-radius:9px;color:var(--lab-panel-text);background:var(--lab-panel-raised)}.lab-shell.has-mobile-lab-ui>.lab-held-object-panel[data-empty=true]{display:none}.lab-left-panel-scroll,.experiment-panel .lab-sidebar-scroll{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}.lab-left-panel-scroll{display:block;padding-bottom:18px}.lab-left-panel .tool-rail{display:flex;flex-direction:column;min-height:0;gap:12px;padding:10px;overflow:visible;border:0;background:transparent}.lab-left-panel .tool-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible}.lab-left-panel .tool-button{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:7px 9px;text-align:left;white-space:normal}.lab-left-panel .tool-icon{width:20px;height:20px;flex:0 0 20px;display:grid;margin:0;place-items:center}.lab-left-panel :is(.tool-drawer,.lab-action-toolbar){min-height:0;overflow:visible}.lab-shell.has-mobile-lab-ui .lab-left-panel .tool-drawer{max-height:none}.lab-left-panel .equipment-dock,.lab-left-panel .equipment-dock.is-expanded{display:grid;min-height:0;max-height:none;grid-template-rows:auto auto;gap:10px;padding:12px 10px 18px;overflow:visible;border-top:1px solid var(--lab-panel-line);background:transparent}.lab-left-panel .dock-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.lab-left-panel .dock-tabs{grid-column:1 / -1;display:flex;min-height:0;flex-wrap:wrap;gap:5px;overflow:visible}.lab-left-panel .dock-tab,.lab-left-panel .dock-controls button{height:auto!important;min-height:44px!important}.lab-left-panel .dock-scroll,.lab-left-panel .dock-expand{display:none}.lab-left-panel .dock-items,.lab-left-panel .equipment-dock.is-expanded .dock-items{display:grid;grid-auto-flow:row;grid-auto-columns:initial;grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:8px;min-height:0;padding:0;overflow:visible;scroll-snap-type:none}.lab-left-panel .dock-pick,.lab-left-panel .equipment-dock.is-expanded .dock-pick{width:100%;height:auto;min-height:0}.lab-left-panel .dock-item,body.theme-light .lab-left-panel .dock-item,.lab-left-panel .equipment-dock.is-expanded .dock-item,body.theme-light .lab-left-panel .equipment-dock.is-expanded .dock-item{width:100%;height:auto;min-height:104px;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:5px 10px;padding:10px 48px 10px 10px;overflow:visible;text-align:left}.lab-left-panel .equipment-thumb,.lab-left-panel .equipment-dock.is-expanded .equipment-thumb{grid-column:1;grid-row:1 / span 2;width:72px;height:76px}.lab-left-panel .equipment-thumb img,.lab-left-panel .equipment-dock.is-expanded .equipment-thumb img{width:68px;height:72px}.lab-left-panel .dock-copy,.lab-left-panel .dock-card-meta{grid-column:2}.lab-left-panel .dock-item strong,.lab-left-panel .dock-item small,.lab-left-panel .equipment-dock.is-expanded .dock-item strong,.lab-left-panel .equipment-dock.is-expanded .dock-item small{display:block;overflow:visible;white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:initial}.lab-left-panel .dock-item small{color:var(--lab-panel-muted);font-size:10px;line-height:1.35}.lab-left-panel .dock-card-meta{flex-wrap:wrap;justify-content:flex-start}.lab-left-panel .dock-status{max-width:100%;min-height:22px;overflow:visible;padding:3px 7px;text-overflow:clip;white-space:normal}.lab-left-panel .dock-add{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}.experiment-panel .lab-sidebar-scroll{display:grid;align-content:start;gap:12px;padding:12px 12px 18px}.experiment-panel .tabs{position:sticky;z-index:7;top:0;min-height:48px;background:var(--lab-panel-soft)}.experiment-panel .tab{min-height:42px}.experiment-panel .panel-actions{display:grid;gap:8px;max-height:none;margin:0;padding:10px 12px 12px;overflow:visible;border-top:1px solid var(--lab-panel-line);background:var(--lab-panel-bg)}.lab-shell.has-mobile-lab-ui :is(.lab-left-panel,.experiment-panel,.lab-held-object-panel,.lab-mobile-toolbar) :is(button,select,input:not([type=checkbox]):not([type=radio]),textarea){min-height:44px}.lab-mobile-backdrop{position:fixed;z-index:1210;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#04101894}.lab-mobile-backdrop[hidden]{display:none}.lab-mobile-toolbar{position:fixed;z-index:1200;right:max(8px,env(safe-area-inset-right));bottom:calc(var(--mobile-shell-nav-height, 0px) + env(safe-area-inset-bottom) + 8px);left:max(8px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:58px;padding:6px;border:1px solid var(--lab-panel-line);border-radius:14px;background:var(--lab-panel-bg);box-shadow:var(--lab-panel-shadow)}.lab-mobile-toolbar[hidden]{display:none}.lab-mobile-toolbar button{min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 4px;border:1px solid var(--lab-panel-line);border-radius:9px;color:var(--lab-panel-text);background:var(--lab-panel-raised);font:inherit;font-size:11px;font-weight:780;line-height:1.15;text-align:center}.lab-mobile-toolbar-icon{display:inline-grid;width:18px;height:18px;flex:0 0 18px;place-items:center}.lab-mobile-toolbar button[aria-expanded=true]{color:var(--lab-panel-primary-text);border-color:var(--lab-panel-accent-strong);background:var(--lab-panel-accent-strong)}.lab-mobile-toolbar button:disabled{color:var(--lab-control-disabled-text);border-color:var(--lab-control-disabled-line);background:var(--lab-control-disabled-bg);opacity:1}}@media(min-width:700px)and (max-width:1220px){.lab-shell.has-mobile-lab-ui>:is(.lab-left-panel,.experiment-panel,.lab-held-object-panel){right:max(12px,calc((100vw - 780px)/2));left:max(12px,calc((100vw - 780px)/2))}.lab-mobile-toolbar{right:max(12px,calc((100vw - 640px)/2));left:max(12px,calc((100vw - 640px)/2))}.lab-left-panel .dock-items,.lab-left-panel .equipment-dock.is-expanded .dock-items{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.lab-mobile-toolbar button{flex-direction:column;gap:2px;font-size:10px}.experiment-panel .tab{padding-inline:2px;font-size:10px}.lab-left-panel .lab-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.lab-quick-dock{display:none}@media(min-width:1221px){.lab-stage>.lab-quick-dock{position:absolute;z-index:34;right:14px;bottom:14px;left:14px;display:grid;gap:8px;max-height:min(214px,32dvh);padding:8px;overflow:hidden;color:var(--lab-panel-text);border:1px solid var(--lab-panel-line);border-radius:12px;background:var(--lab-panel-bg);box-shadow:0 12px 34px #020c1457}.lab-stage>.lab-quick-dock.is-collapsed{left:max(14px,calc(50% - 280px));max-width:560px;padding-block:6px}.lab-quick-dock-head{min-width:0;display:grid;grid-template-columns:minmax(120px,1fr) auto auto;align-items:center;gap:8px}.lab-quick-dock-copy{min-width:0;display:grid;gap:1px;padding-inline:4px}.lab-quick-dock-copy strong{overflow:hidden;color:var(--lab-panel-text);font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.lab-quick-dock-copy span{overflow:hidden;color:var(--lab-panel-muted);font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.lab-shell #labQuickDock :is(.lab-quick-dock-open,.lab-quick-dock-toggle){min-height:44px;padding:7px 10px}.lab-quick-dock-toggle .lab-ui-icon{transform:rotate(90deg);transition:transform .15s ease}.lab-quick-dock.is-collapsed .lab-quick-dock-toggle .lab-ui-icon{transform:rotate(-90deg)}.lab-quick-dock.is-collapsed .lab-quick-dock-body{display:none}.lab-quick-dock-body{min-width:0;min-height:0;display:grid;gap:7px}.lab-quick-dock-categories,.lab-quick-dock-items{min-width:0;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-ms-overflow-style:none;scrollbar-width:none}.lab-quick-dock-categories::-webkit-scrollbar,.lab-quick-dock-items::-webkit-scrollbar{display:none}.lab-quick-dock-categories button{min-width:max-content;min-height:44px;padding:7px 11px;color:var(--lab-panel-text-secondary);border:1px solid var(--lab-panel-line);border-radius:8px;background:var(--lab-panel-raised);font:inherit;font-size:10px;font-weight:760;cursor:pointer}.lab-quick-dock-categories button:is(.is-active,[aria-pressed=true]){color:var(--lab-panel-primary-text);border-color:var(--lab-panel-accent-strong);background:var(--lab-panel-accent-strong)}.lab-quick-dock-items{padding-bottom:2px}.lab-quick-dock-item{position:relative;width:172px;min-width:172px;min-height:74px;display:grid;grid-template-columns:54px minmax(0,1fr) 26px;align-items:center;gap:7px;padding:6px 7px;overflow:hidden;color:var(--lab-panel-text);border:1px solid var(--lab-panel-line);border-radius:9px;background:var(--lab-panel-raised);font:inherit;text-align:left;cursor:pointer}.lab-quick-dock-item.is-placed{border-color:color-mix(in srgb,var(--lab-panel-success) 60%,var(--lab-panel-line));background:color-mix(in srgb,var(--lab-panel-success-bg) 70%,var(--lab-panel-raised))}.lab-quick-dock-item:disabled{color:var(--lab-control-disabled-text);border-color:var(--lab-control-disabled-line);background:var(--lab-control-disabled-bg);cursor:not-allowed}.lab-quick-dock-thumb,.lab-quick-dock-thumb img{width:52px;height:58px;object-fit:contain}.lab-quick-dock-item-copy{min-width:0;display:grid;gap:3px}.lab-quick-dock-item-copy strong,.lab-quick-dock-item-copy small{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical}.lab-quick-dock-item-copy strong{color:inherit;font-size:10px;line-height:1.25;-webkit-line-clamp:2}.lab-quick-dock-item-copy small{color:var(--lab-panel-muted);font-size:9px;line-height:1.2;-webkit-line-clamp:1}.lab-quick-dock-item-action{width:26px;height:26px;display:grid;place-items:center;color:var(--lab-panel-primary-text);border-radius:7px;background:var(--lab-panel-accent-strong)}.lab-quick-dock-item.is-placed .lab-quick-dock-item-action{color:var(--lab-panel-success);background:var(--lab-panel-success-bg)}.lab-quick-dock-action-icon{width:16px;height:16px}}@media(min-width:1221px)and (max-height:760px){.lab-quick-dock-items{display:none}}.experiment-panel .lab-sidebar-scroll>.lab-quick-dock{min-width:0;display:grid;gap:6px;padding:8px;color:var(--lab-panel-text);border:1px solid var(--lab-panel-line);border-radius:10px;background:var(--lab-panel-bg)}.experiment-panel .lab-sidebar-scroll>.lab-quick-dock .lab-quick-dock-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px}.experiment-panel .lab-sidebar-scroll>.lab-quick-dock .lab-quick-dock-copy{min-width:0;display:grid}.experiment-panel .lab-sidebar-scroll>.lab-quick-dock .lab-quick-dock-copy strong{font-size:12px}.experiment-panel .lab-sidebar-scroll>.lab-quick-dock .lab-quick-dock-copy span{color:var(--lab-panel-muted);font-size:10px}.experiment-panel .lab-sidebar-scroll>.lab-quick-dock .lab-quick-dock-body{min-width:0}.experiment-panel .lab-sidebar-scroll>.lab-quick-dock .lab-quick-dock-categories,.experiment-panel .lab-sidebar-scroll>.lab-quick-dock .lab-quick-dock-items{display:flex;overflow-x:auto;scrollbar-width:none}.experiment-panel .lab-sidebar-scroll>.lab-quick-dock.is-collapsed .lab-quick-dock-body{display:none}.lab-shell :is(.lab-panel-collapse,.lab-collapsed-action,.lab-action-button,.lab-panel-resize-handle,.lab-mobile-toolbar button,.lab-mobile-drawer-head button,.experiment-panel .tab,.lab-quick-dock button):focus-visible{outline:3px solid var(--lab-panel-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.lab-panel-resize-handle:after,.lab-shell .lab-action-button,.lab-shell.has-mobile-lab-ui>:is(.lab-left-panel,.experiment-panel,.lab-held-object-panel),.lab-mobile-toolbar button{transition:none!important}.lab-quick-dock-toggle .lab-ui-icon{transition:none!important}.lab-shell .lab-action-button.is-loading .lab-action-button-icon:after{animation-duration:1.5s}.experiment-panel :is(.result-message,.result-summary).is-result-focus,.experiment-panel .is-result-focus{animation:none}}@media(forced-colors:active){.lab-left-panel,.experiment-panel,.lab-panel-header,.lab-mobile-drawer-head,.lab-mobile-toolbar,.lab-quick-dock,.lab-quick-dock button,.lab-shell .lab-action-button,.lab-panel-collapse,.lab-collapsed-action,.experiment-panel .tab{color:CanvasText;border-color:CanvasText;background:Canvas;forced-color-adjust:auto}.lab-shell .lab-action-button[data-lab-variant=primary],.lab-mobile-toolbar button[aria-expanded=true],.experiment-panel .tab:is(.is-active,[aria-selected=true]){color:HighlightText;border-color:Highlight;background:Highlight}.lab-panel-resize-handle:after{background:CanvasText}.lab-shell :is(.lab-panel-collapse,.lab-collapsed-action,.lab-action-button,.lab-panel-resize-handle,.lab-mobile-toolbar button,.lab-mobile-drawer-head button,.experiment-panel .tab):focus-visible{outline-color:Highlight}}.lab-left-panel .equipment-guide-item{grid-template-columns:64px minmax(0,1fr);grid-template-rows:minmax(0,auto) auto;min-height:90px;align-items:center;gap:6px 10px;overflow:hidden}.lab-left-panel .equipment-guide-item>.equipment-thumb.guide-thumb{grid-column:1;grid-row:1 / span 2;width:64px;height:68px;margin:0;overflow:hidden}.lab-left-panel .equipment-guide-item>.equipment-thumb.guide-thumb img{width:58px;height:64px;max-width:58px;object-fit:contain}.lab-left-panel .equipment-guide-item>span{grid-column:2;grid-row:1;min-width:0;align-self:end}.lab-left-panel .equipment-guide-item :is(strong,small){max-width:100%;overflow-wrap:anywhere;white-space:normal}.lab-left-panel .equipment-guide-item>em{grid-column:2;grid-row:2;align-self:start}.lab-shell .reagent-bottle span{left:3px;right:3px;padding-inline:1px;overflow:hidden;font-variant-numeric:lining-nums tabular-nums;line-height:1;text-overflow:clip;white-space:nowrap}.lab-shell .reagent-bottle{width:64px;min-width:64px}.lab-shell .reagent-bottle:before{left:50%;transform:translate(-50%)}.lab-shell .reagent-bottle[data-formula-fit=tight] span{font-size:9.5px;letter-spacing:-.2px}.lab-shell .reagent-bottle[data-formula-fit=compact] span{font-size:9px;letter-spacing:-.25px}.lab-shell .reagent-bottle[data-formula-fit=multiline] span{padding-block:4px;font-size:9.5px;letter-spacing:-.2px;line-height:1.05;white-space:normal}.lab-shell .bottle-row{grid-template-columns:repeat(4,minmax(0,1fr));scrollbar-color:var(--lab-panel-line-strong) transparent;scrollbar-width:thin}.reaction-vessel.is-placeholder{opacity:.42;filter:saturate(.72)}body.theme-light .reaction-vessel.is-placeholder{opacity:.5;filter:saturate(.72) contrast(1.08)}body.theme-light .vessel-content-badge.vessel-content-panel p{color:#087264}body.theme-light .vessel-content-badge .vessel-content-chip{color:#17354a;border-color:#94afbd;background:#f3f8fa}body.theme-light .vessel-content-badge .vessel-content-chip.is-filled{border-color:#459f90;background:#e3f4f0}body.theme-light .vessel-content-badge .vessel-content-chip b{color:#063f49;background:#69d9e3}body.theme-light .vessel-content-badge .vessel-content-chip strong{color:#153447}body.theme-light .vessel-content-badge .vessel-content-chip small{color:#536b79}body.theme-light .vessel-content-badge .vessel-content-chip em{color:#15546e;border-color:#9fc9d9;background:#dceef4}body.theme-light .vessel-content-badge .vessel-content-chip.is-empty{border-color:#9bafbb;background:#f5f7f8}body.theme-light .vessel-content-badge .vessel-content-chip.is-empty strong,body.theme-light .vessel-content-badge .vessel-content-chip.is-empty small{color:#536775}body.theme-light .vessel-content-badge .chip-remove{color:#4b626f;background:#dce6ea}body.theme-light .result-message.result-card.success{color:#133f31;border-color:#6ca98b;background:#edf8f2}body.theme-light .result-message.result-card .status-pill.success{color:#075b3b;border-color:#6cad8b;background:#d8f1e4}body.theme-light .result-message.result-card .status-pill.neutral{color:#334c5d;border-color:#9aadb9;background:#edf2f4}@media(max-width:420px){.lab-left-panel .equipment-guide-item{grid-template-columns:58px minmax(0,1fr)}.lab-left-panel .equipment-guide-item>.equipment-thumb.guide-thumb{width:58px}.lab-left-panel .equipment-guide-item>.equipment-thumb.guide-thumb img{width:52px;max-width:52px}}
