.vlab-hint-toast{z-index:45;color:#ffe7b8;text-align:center;pointer-events:none;background:#1c1204eb;border:2px solid #ffd68ab3;border-radius:12px;max-width:min(90%,420px);padding:10px 18px;font-size:1.05rem;font-weight:600;line-height:1.35;animation:2.8s ease-out forwards vlab-hint-toast;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}@keyframes vlab-hint-toast{0%{opacity:0;transform:translate(-50%,-10px)}8%{opacity:1;transform:translate(-50%)}88%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}@media (prefers-reduced-motion:reduce){.vlab-hint-toast{animation-name:vlab-hint-toast-fade;animation-duration:2.8s}}@keyframes vlab-hint-toast-fade{0%,92%{opacity:1}to{opacity:0}}.vlab-bench-reset{z-index:26;color:#f5fffc;cursor:pointer;background:#06110fd6;border:2px solid #e5fbf785;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .12s,border-color .12s,background .12s;display:flex;position:absolute;top:12px;right:12px}.vlab-bench-reset:hover{background:#06110ff5;border-color:#64e6d2}.vlab-bench-reset:active{transform:scale(.92)}.vlab-trash{z-index:25;color:#e5fbf7b8;pointer-events:none;background:#06110f80;border:2px dashed #e5fbf775;border-radius:16px;justify-content:center;align-items:center;width:72px;height:72px;transition:transform .14s,border-color .14s,background .14s,color .14s;display:flex;position:absolute;bottom:14px;right:14px}.vlab-trash.armed{color:#ffce7ef2;border-color:#ffbe61e6}.vlab-trash.hover{color:#ff8d8d;background:#d23a3a40;border-color:#d23a3a;transform:scale(1.1)}.vlab-bench-item.stirring svg{transform-origin:50% 94%;animation:.36s ease-in-out infinite alternate vlab-stir-sway}@keyframes vlab-stir-sway{0%{transform:rotate(-8deg)translate(-2px)}to{transform:rotate(8deg)translate(2px)}}.vlab-dropper{cursor:grab;line-height:0}.vlab-drip{z-index:28;pointer-events:none;border-radius:50%/60% 60% 40% 40%;width:7px;height:9px;margin-left:-3.5px;animation:.65s ease-in forwards vlab-drip-fall;position:absolute;box-shadow:inset 0 -1px 2px #00000026}@keyframes vlab-drip-fall{0%{opacity:0;transform:translateY(0)scaleY(.7)}20%{opacity:1}to{opacity:0;transform:translateY(26px)scaleY(1.1)}}@media (prefers-reduced-motion:reduce){.vlab-drip{animation-duration:.3s}}.vlab-pour-stream{z-index:27;pointer-events:none;transform-origin:top;background:linear-gradient(to bottom, color-mix(in srgb, currentColor 35%, transparent), currentColor);width:5px;animation:vlab-pour-grow var(--pour-ms,1.4s) ease-in-out forwards;border-radius:3px;margin-left:-2.5px;position:absolute;box-shadow:inset 0 0 2px #fff6}.vlab-pour-stream.filtered{width:3px;animation:vlab-pour-drip var(--pour-ms,3.2s) linear forwards;margin-left:-1.5px}@keyframes vlab-pour-grow{0%{opacity:0;transform:scaleY(0)}10%{opacity:.92}82%{opacity:.92;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@keyframes vlab-pour-drip{0%{opacity:0;transform:scaleY(0)}8%{opacity:.85}20%{transform:scaleY(.55)}40%{transform:scaleY(.7)}60%{transform:scaleY(.85)}88%{opacity:.85;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.vlab-pour-stream{animation-duration:.6s}.vlab-pour-stream.filtered{animation-duration:.9s}}.vlab-add-bottle{z-index:30;pointer-events:none;transform-origin:100% 100%;animation:vlab-bottle-pour var(--pour-ms,.8s) ease-in-out forwards;line-height:0;position:absolute}@keyframes vlab-bottle-pour{0%{opacity:0;transform:translate(-38px,-44px)rotate(-6deg)}18%{opacity:1;transform:translate(-38px,-44px)rotate(58deg)}82%{opacity:1;transform:translate(-38px,-44px)rotate(58deg)}to{opacity:0;transform:translate(-38px,-44px)rotate(-6deg)}}.vlab-solid-drop{z-index:29;pointer-events:none;animation:vlab-solid-fall var(--drop-ms,.52s) cubic-bezier(.45, 0, .7, 1) forwards;line-height:0;position:absolute}.vlab-solid-drop-inner{line-height:0;transform:translateY(-100%)}@keyframes vlab-solid-fall{0%{opacity:0;transform:translate(-50%)rotate(-10deg)}16%{opacity:1}86%{transform:translate(-50%, calc(var(--drop-to,60px) - 3px)) rotate(6deg);opacity:1}to{transform:translate(-50%, var(--drop-to,60px)) rotate(4deg);opacity:0}}.vlab-liquid.is-filling{transform-box:fill-box;transform-origin:bottom;animation:vlab-liquid-rise var(--fill-ms,.72s) ease-out}@keyframes vlab-liquid-rise{0%{transform:scaleY(.03)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.vlab-add-bottle{animation-duration:.4s}.vlab-solid-drop{animation-duration:.28s}.vlab-liquid.is-filling{animation-duration:.32s}}.vlab-pour-note{color:#00564b;background:#005d5014;border-radius:8px;margin:0 0 6px;padding:6px 8px;font-size:.82rem;line-height:1.35}.vlab-snap-note{color:#005d50;align-items:center;gap:6px;margin:0;font-size:.9rem;font-weight:800;display:inline-flex}.vlab-snap-note[data-state=on]{color:#1f9f63}
.vlab-side{flex-direction:column;gap:12px;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.vlab-observation{overscroll-behavior:contain;background:#fffefa;flex:1 1 0;min-height:0;padding:14px;overflow:hidden auto}.vlab-phenomena{color:var(--ink);margin:0 0 10px;font-size:1.08rem;font-weight:760;line-height:1.42}.vlab-observation-log{flex-direction:column;gap:12px;margin:0;padding-left:1.35rem;display:flex}.vlab-observation-entry{border-bottom:2px solid #34463f29;padding:0 0 12px 4px}.vlab-observation-entry:last-child{border-bottom:0;padding-bottom:0}.vlab-observation-entry::marker{color:var(--muted);font-weight:800}.vlab-phenomena.muted{color:var(--muted);font-weight:700}.vlab-observation h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:12px 0 4px;font-size:.82rem}.vlab-equation{color:#06372f;letter-spacing:.01em;background:#e5f3ee;border:1px solid #a5beb4;border-radius:10px;margin:0;padding:10px 12px;font-size:1.18rem;font-weight:850}.vlab-indicator-readout{color:#005a93;margin:10px 0 0;padding:0 0 0 18px;font-weight:800}.vlab-paper-strip{justify-content:center;display:flex}.vlab-splint-ember{transform-box:fill-box;transform-origin:50%;animation:1.4s ease-in-out infinite vlab-splint-ember-pulse}.vlab-splint-flame{transform-box:fill-box;transform-origin:bottom;filter:drop-shadow(0 0 5px #ffa028d9);animation:.28s ease-in-out infinite alternate vlab-splint-flame-flicker}.vlab-splint-smoke{transform-box:fill-box;transform-origin:bottom;animation:2.2s ease-out infinite vlab-splint-smoke-rise}@keyframes vlab-splint-ember-pulse{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}@keyframes vlab-splint-flame-flicker{0%{opacity:.9;transform:scaleY(.92)scaleX(1.04)rotate(-1.5deg)}to{opacity:1;transform:scaleY(1.1)scaleX(.94)rotate(1.5deg)}}@keyframes vlab-splint-smoke-rise{0%{opacity:0;transform:translateY(4px)scale(.9)}35%{opacity:.7}to{opacity:0;transform:translateY(-10px)scale(1.15)}}@media (prefers-reduced-motion:reduce){.vlab-splint-ember,.vlab-splint-flame,.vlab-splint-smoke{animation:none}}.vlab-paper-readout{flex-direction:column;gap:10px;display:flex}.vlab-paper-readout-head{align-items:center;gap:10px;display:flex}.vlab-paper-swatch{border:2px solid #0813106b;border-radius:6px;flex-shrink:0;width:30px;height:30px}.vlab-paper-value{color:#005a93;font-size:1.5rem;font-weight:850}.vlab-paper-verdict{color:#005a93;margin:0;font-weight:800}.vlab-ph-scale{flex-direction:column;gap:2px;display:flex}.vlab-ph-scale-bands{border:2px solid #08131052;border-radius:6px;grid-template-columns:repeat(14,1fr);height:26px;display:grid;position:relative;overflow:hidden}.vlab-ph-band{height:100%}.vlab-ph-marker{background:#0b1310;border-radius:2px;width:3px;position:absolute;top:-4px;bottom:-4px;transform:translate(-50%);box-shadow:0 0 0 2px #ffffffe6}.vlab-ph-scale-ticks{color:var(--ink);justify-content:space-between;font-family:monospace;font-size:.85rem;font-weight:700;display:flex}.vlab-paper-hint{margin:0;font-size:.92rem}.vlab-litmus-legend{grid-template-columns:repeat(3,1fr);gap:4px;height:24px;display:grid}.vlab-litmus-zone{opacity:.45;border:2px solid #0813102e;border-radius:5px}.vlab-litmus-zone.active{opacity:1;border-color:#0b1310;box-shadow:0 0 0 2px #ffffffe6}.vlab-contents ul{color:var(--ink);flex-direction:column;gap:4px;min-width:0;margin:4px 0 0;padding:0;font-size:.98rem;list-style:none;display:flex}.vlab-contents li{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;display:flex}.vlab-contents li.indicator{color:#8d0f67;font-weight:750}.vlab-swatch{border:2px solid #0813106b;border-radius:4px;flex-shrink:0;width:18px;height:18px}.vlab-swatch.is-glyph{background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.vlab-cabinet{flex-direction:column;flex:1 1 0;min-height:0;padding:14px;display:flex;overflow:hidden}.vlab-cabinet-filters{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.vlab-search{border:2px solid var(--line);background:var(--surface-2);border-radius:12px;align-items:center;gap:8px;min-width:0;min-height:48px;padding:0 12px;display:flex}.vlab-search input{background:0 0;border:0;flex:1;min-height:46px}.vlab-search input:focus{outline:none}.vlab-chemical-grid{overscroll-behavior:contain;flex:auto;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-auto-rows:max-content;align-content:start;gap:8px;min-height:0;padding-right:4px;display:grid;overflow:hidden auto}.vlab-chemical{border:2px solid var(--line);background:var(--surface);cursor:grab;touch-action:none;border-radius:12px;flex-direction:column;align-items:center;gap:3px;min-width:0;min-height:86px;padding:8px 6px;transition:transform .1s,border-color .12s;display:flex;position:relative}.vlab-chemical-hazard{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.7rem;font-weight:900;line-height:1;display:flex;position:absolute;top:4px;right:4px;box-shadow:0 1px 2px #0000004d}.vlab-safety-note{background:#d63d3d14;border-radius:8px;margin:6px 0 0;padding:6px 8px;font-size:.8rem;font-weight:600;line-height:1.35}.vlab-toxic-warn{background:#d63d3d1a;border:1px solid;border-radius:8px;margin:0 0 8px;padding:8px 10px;font-size:.82rem;font-weight:700;line-height:1.35}.vlab-broken{color:#d63d3d;font-weight:700}.vlab-bench-item.broken{filter:saturate(.85);transform:rotate(7deg)translateY(6px)}.vlab-broken-overlay{pointer-events:none;position:absolute;inset:0;overflow:visible}.vlab-broken-overlay .vlab-crack{opacity:.8;position:absolute;inset:0}.vlab-broken-overlay .vlab-crack polyline{stroke-linejoin:round;stroke-linecap:round}.vlab-broken-overlay .vlab-spill{opacity:.5;filter:blur(.5px);border-radius:50%;width:150%;height:16px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.vlab-broken-overlay .vlab-spill-2{opacity:.4;width:110%;height:11px;bottom:-3px}.vlab-bench-lock{z-index:50;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0c101675;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.vlab-bench-lock-card{text-align:center;background:#fff;border:1px solid #d63d3d99;border-radius:12px;flex-direction:column;align-items:center;gap:12px;max-width:360px;padding:16px 18px;display:flex;box-shadow:0 12px 32px #00000047}.vlab-bench-lock-msg{color:#b3261e;margin:0;font-weight:700;line-height:1.4}.vlab-bench-lock-clear{color:#fff;cursor:pointer;background:#d63d3d;border:none;border-radius:9px;align-items:center;gap:6px;padding:9px 16px;font-weight:700;display:inline-flex}.vlab-bench-lock-clear:hover{background:#b3261e}.vlab-chemical:active{cursor:grabbing;border-color:var(--focus);transform:scale(.96)}.vlab-chemical-swatch{justify-content:center;align-items:center;width:36px;height:36px;display:flex}.vlab-chemical-swatch svg{width:100%;height:100%;display:block}.vlab-chemical-formula{overflow-wrap:anywhere;text-align:center;min-width:0;max-width:100%;font-size:1rem;font-weight:900;line-height:1.05;display:block}.vlab-chemical-formula.is-sm{font-size:.78rem}.vlab-chemical-formula.is-xs{font-size:.68rem}.vlab-chemical-name{overflow-wrap:anywhere;color:#243a34;text-align:center;max-width:100%;font-size:.74rem;font-weight:700;line-height:1.25}.vlab-ghost{z-index:60;pointer-events:none;opacity:1;position:fixed;transform:translate(-50%,-60%)}.vlab-ghost-tool svg{width:auto;max-height:90px}.vlab-ghost-chemical{background:var(--surface);min-width:58px;min-height:58px;box-shadow:var(--shadow);border:3px solid #0813108f;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-weight:800;display:inline-flex}.vlab-dose-pop{z-index:50;border:1px solid var(--line);background:var(--surface);width:252px;max-height:calc(100% - 16px);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;overflow-y:auto}.vlab-dose-pop header{align-items:center;gap:8px;display:flex}.vlab-dose-pop header strong{font-size:.95rem;line-height:1.3}.vlab-dose-formula{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.85rem;font-weight:700}.vlab-dose-pop>p{color:var(--muted);margin:0;font-size:.85rem}.vlab-dose-presets{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.vlab-dose-presets button{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:12px;min-height:48px;font-size:.98rem;font-weight:800;transition:transform .1s,border-color .12s}.vlab-dose-presets button:hover{border-color:var(--focus)}.vlab-dose-presets button:active{transform:scale(.96)}.vlab-dose-custom{align-items:center;gap:6px;display:flex}.vlab-dose-custom button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;flex-shrink:0;width:44px;min-height:44px;font-size:1.2rem;font-weight:800}.vlab-dose-custom button:active{transform:scale(.96)}.vlab-dose-custom input{border:1px solid var(--line);background:var(--surface-2);text-align:center;border-radius:12px;flex:1;min-width:0;min-height:44px;padding:0 8px;font-size:1rem;font-weight:800}.vlab-dose-custom>span{color:var(--muted);font-weight:700}.vlab-dose-molarity{border-top:1px dashed var(--line);flex-direction:column;gap:8px;padding-top:10px;display:flex}.vlab-dose-sub{color:var(--muted);margin:0;font-size:.82rem;font-weight:700}.vlab-dose-presets button.is-active{border-color:var(--focus);background:color-mix(in srgb, var(--focus) 16%, var(--surface-2))}.vlab-dose-actions{gap:8px;display:flex}.vlab-dose-cancel{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;min-height:48px;padding:0 14px;font-weight:700}.vlab-dose-add{color:#fff;cursor:pointer;background:#167b73;border:0;border-radius:12px;flex:1;min-height:48px;font-size:.95rem;font-weight:800}.vlab-dose-add:not(:disabled):active{transform:scale(.97)}.vlab-dose-add:disabled{opacity:.5;cursor:not-allowed}.vlab-amount{color:#1f5f8b;overflow-wrap:anywhere;margin-left:auto;font-size:.85rem;font-weight:700}
.vlab-phone-block,.vlab-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:calc(100vh - 64px);padding:32px;display:flex}.vlab-phone-block svg,.vlab-loading svg{color:var(--focus)}.vlab-phone-block h1{margin:0;font-size:1.4rem}.vlab-phone-block p{max-width:420px;color:var(--muted);margin:0;line-height:1.6}@media (max-width:1180px){.vlab-layout{grid-template-columns:clamp(136px,14vw,170px) minmax(0,1fr) clamp(250px,28vw,300px)}}@media (max-width:980px){.vlab-layout{grid-template-columns:clamp(122px,16vw,150px) minmax(0,1fr) clamp(220px,30vw,280px);gap:10px}.vlab-rack-grid{grid-template-columns:1fr}.vlab-rack,.vlab-cabinet,.vlab-observation{padding:10px}.vlab-chemical-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px}}@media (max-height:760px){.vlab-root{gap:8px;padding-top:8px;padding-bottom:10px}.vlab-header h1{font-size:clamp(1.1rem,1.6vw,1.35rem)}.vlab-header p:not(.vlab-net-status){display:none}.vlab-header .vlab-net-status{margin-top:2px;padding:2px 8px;font-size:.76rem}.vlab-hint{padding:5px 10px;font-size:.78rem}.vlab-rack h2,.vlab-side h2{margin-bottom:8px;font-size:.82rem}.vlab-rack-grid{gap:8px}.vlab-rack-item{min-height:58px;padding:6px}.vlab-rack-glyph{height:58px}.vlab-rack-glyph svg{max-height:56px}.vlab-rack-name{font-size:.72rem}.vlab-side{gap:8px}.vlab-phenomena{font-size:.98rem;line-height:1.35}.vlab-equation{padding:8px 10px;font-size:1.06rem}.vlab-search,.vlab-search input{min-height:40px}.vlab-chemical{min-height:72px;padding:6px 4px}.vlab-chemical-swatch{width:24px;height:24px}}@media (prefers-reduced-motion:reduce){.vlab-shake{animation:none}.vlab-flame,.vlab-darting{animation-duration:2.5s}.vlab-light-rays{opacity:.9;animation:none}.vlab-flash{animation-duration:1.2s}.vlab-bubble,.vlab-precipitate-particle,.vlab-fume span,.vlab-gas-jet span{animation-duration:3.5s}.vlab-vent-flame svg{animation:none}.vlab-gas-fill{opacity:.34;animation:none}.vlab-foam{opacity:.7;animation:none}.vlab-liquid-body{transition:none!important}.vlab-liquid-churn,.vlab-surface-wave,.vlab-splash-drop{animation:none}.vlab-splash-drop{opacity:0}.vlab-burst{animation-duration:1.4s}}@media (max-width:1120px){.virtual-lab-workspace{grid-template-columns:1fr}.lab-quick-start-bar{grid-template-columns:1fr;align-items:stretch}.virtual-lab-panel-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-lab-panel{grid-column:1/-1}.left-menu-panel{max-height:none;position:static}.instruction-panel{grid-row:span 2}}@media (max-width:760px){.lab-experiment-strip,.lab-shelf-grid,.virtual-lab-panel-stack,.requirement-line{grid-template-columns:1fr}.virtual-lab-scene,.virtual-lab-skeleton{min-height:430px}.chemical-cabinet-25d{width:25%;min-width:92px;height:34%;min-height:168px;top:24%;left:5%}.chemical-cabinet-plaque{max-width:calc(100% - 12px);padding:4px 5px;font-size:.58rem}.chemical-cabinet-plaque svg{width:11px;height:11px}.scene-chemical-bottle{width:38px;height:70px}.bottle-liquid{width:28px;height:49px}.bottle-label{max-width:35px;font-size:.52rem}.lab-bench-25d{width:100%;height:33.333%;bottom:0;left:0;right:0}.reaction-vessel-25d{width:88px;height:116px;top:-22%;left:50%;translate:-50%}.reaction-vessel-25d.test-tube-vessel{width:54px;height:128px;rotate:var(--object-rotation,-8deg);top:-32%;left:53%}.reaction-vessel-25d.hard-glass-vessel{width:136px;height:52px}.reaction-vessel-25d.gas-washing-vessel{width:86px;height:124px}.lab-tools-25d{width:auto;height:31%;bottom:1%;left:4%;right:4%}.scene-tool{width:58px;height:58px}.scene-tool-beaker{top:30%;left:2%}.scene-tool-test-tube{top:17%;left:17%}.scene-tool-dropper{top:31%;left:31%}.scene-tool-stirring-rod{top:5%;left:58%}.scene-tool-alcohol-lamp{top:28%;left:80%}.beaker-shape{width:34px;height:36px}.beaker-shape span{height:13px}.test-tube-shape{width:18px;height:44px}.dropper-shape{width:10px;height:45px}.rod-shape{width:7px;height:62px}.lamp-shape{width:36px;height:28px}.lab-equation-chip{max-width:calc(100% - 122px);font-size:.68rem}.vessel-volume-readout,.vessel-temperature-readout{min-width:48px;left:100%;transform:translate(8px)}.measurement-current-marker{right:18px}.measurement-current-marker b{min-width:38px;padding:3px 5px;font-size:.56rem}.vessel-volume-readout{bottom:22px}.vessel-temperature-readout{bottom:0}.lab-items-grid,.chemical-items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.instruction-panel{grid-row:auto}.left-menu-tabs,.panel-action-row,.lab-quick-start-bar,.quick-control-heading,.quick-tool-grid,.quick-chemical-list>div,.parameter-input-grid,.report-columns,.selected-measurement-card{grid-template-columns:1fr}.quick-start-tool-row,.quick-start-chemical-row{grid-template-columns:repeat(2,minmax(0,1fr))}.report-columns,.selected-measurement-card{display:grid}}
.vlab-seo{align-items:center;display:inline-flex}.vlab-seo-toggle{color:#0f5f57;cursor:pointer;background:#fffffff2;border:1px solid #cfe0d8;border-radius:999px;align-items:center;gap:6px;padding:9px 15px;font-size:.85rem;font-weight:750;list-style:none;display:inline-flex;box-shadow:0 8px 22px #0713102e}.vlab-seo-toggle::-webkit-details-marker{display:none}.vlab-seo-toggle:hover,.vlab-seo-toggle:focus-visible{color:#0b5a54;border-color:#0f766e}.vlab-seo-toggle-close,.vlab-seo[open] .vlab-seo-toggle-open{display:none}.vlab-seo[open] .vlab-seo-toggle-close{align-items:center;gap:6px;display:inline-flex}.vlab-seo[open] .vlab-seo-toggle{z-index:1301;position:fixed;inset:78px 20px auto auto}.vlab-seo-overlay{z-index:1300;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#08100e8c;align-content:start;justify-items:center;padding:clamp(20px,5vh,64px) 16px 64px;display:grid;position:fixed;inset:0;overflow-y:auto}.vlab-seo-panel{color:#15201c;background:#fffefa;border-radius:16px;width:min(880px,100%);padding:clamp(24px,3vw,44px);box-shadow:0 30px 80px #00000073}.vlab-seo-inner{line-height:1.65}.vlab-seo-inner h2{color:#0b1f1a;margin:0 0 16px;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:850}.vlab-seo-inner h3{color:#0b1f1a;margin:32px 0 10px;font-size:clamp(1.15rem,1.9vw,1.4rem);font-weight:800}.vlab-seo-inner h4{color:#16463c;margin:18px 0 6px;font-size:1.02rem;font-weight:750}.vlab-seo-inner p{color:#2c3b35;margin:0 0 12px}.vlab-seo-group ul{margin:0 0 8px;padding-left:20px}.vlab-seo-group li{color:#2c3b35;margin-bottom:6px}.vlab-seo-group li strong{color:#0b1f1a}.vlab-seo-chemicals{color:#2c3b35}.vlab-seo-faq details{background:#fff;border:1px solid #d4e2db;border-radius:10px;margin-bottom:10px;padding:12px 16px}.vlab-seo-faq summary{cursor:pointer;color:#0b1f1a;font-weight:750}.vlab-seo-faq details[open] summary{margin-bottom:8px}.vlab-seo-faq p{margin:0}.vlab-seo-links{margin:0;padding-left:20px}.vlab-seo-links li{margin-bottom:6px}.vlab-seo-links a{color:#0f766e;text-underline-offset:2px;font-weight:650;text-decoration:underline}.vlab-seo-links a:hover,.vlab-seo-links a:focus-visible{color:#0b5a54}@media (prefers-color-scheme:dark){.vlab-seo-toggle{color:#7fd8c6;background:#0e201cf2;border-color:#1d3a33}.vlab-seo-toggle:hover,.vlab-seo-toggle:focus-visible{color:#99f6e4;border-color:#5eead4}.vlab-seo-panel{color:#dff0ea;background:#0c1a17}.vlab-seo-inner h2,.vlab-seo-inner h3,.vlab-seo-group li strong{color:#eafaf4}.vlab-seo-inner h4{color:#7fd8c6}.vlab-seo-inner p,.vlab-seo-group li,.vlab-seo-chemicals{color:#b9d3cb}.vlab-seo-faq details{background:#0e201c;border-color:#1d3a33}.vlab-seo-faq summary{color:#eafaf4}.vlab-seo-links a{color:#5eead4}.vlab-seo-links a:hover,.vlab-seo-links a:focus-visible{color:#99f6e4}}.vlab-molecular-btn{color:#bfe5f5;cursor:pointer;touch-action:manipulation;background:linear-gradient(#123243,#0d2534);border:1px solid #2f6f8f;border-radius:999px;align-items:center;gap:6px;min-height:40px;margin-top:6px;padding:8px 14px;font-size:.86rem;font-weight:600;display:inline-flex}.vlab-molecular-btn:hover,.vlab-molecular-btn:focus-visible{color:#eaf7fd;border-color:#57a9cc}.vlab-molecular-chip{color:#2b6b8c;cursor:pointer;vertical-align:middle;background:0 0;border:1px solid #91b6c9;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-left:6px;display:inline-flex}.vlab-molecular-chip:hover,.vlab-molecular-chip:focus-visible{background:#e3f2fa}.vlab-molecular-overlay{z-index:260;color:#eaf2f8;background:#061018f7;flex-direction:column;display:flex;position:fixed;inset:0}.vlab-molecular-header{border-bottom:1px solid #7ec8ff2e;align-items:center;gap:16px;padding:14px 20px;display:flex}.vlab-molecular-title{white-space:nowrap;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:inline-flex}.vlab-molecular-equation{text-align:center;letter-spacing:.02em;color:#ffe9a8;white-space:nowrap;flex:1;margin:0;font-size:clamp(1.05rem,2.4vw,1.7rem);font-weight:700;overflow-x:auto}.vlab-molecular-close{color:#eaf2f8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff40;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.vlab-molecular-close:hover,.vlab-molecular-close:focus-visible{background:#ffffff29}.vlab-molecular-stage{flex:1;min-height:0;position:relative}.vlab-molecular-stage canvas{touch-action:none}.vlab-molecular-status{color:#9fb9c9;place-items:center;margin:0;font-size:1.15rem;display:grid;position:absolute;inset:0}.vlab-molecular-context-overlay{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#061018d1;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.vlab-molecular-context-card{color:#12201c;text-align:center;background:#fafdfbf5;border:1px solid #ffffff3d;border-radius:8px;justify-items:center;gap:12px;max-width:280px;padding:18px;display:grid}.vlab-molecular-hint{color:#9fc4da;text-align:center;pointer-events:none;background:#0918219e;border-radius:999px;max-width:min(92%,760px);margin:0;padding:5px 14px;font-size:.82rem;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}@media (max-width:720px){.vlab-molecular-hint{font-size:.74rem}}.vlab-molecular-caption{text-align:center;color:#d8ecf8;min-height:3.4rem;padding:10px 24px 0;font-size:clamp(1.1rem,2.6vw,1.75rem);font-weight:600}.vlab-molecular-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 16px 6px;display:flex}.vlab-molecular-controls>button{color:#cfe9f7;cursor:pointer;touch-action:manipulation;background:#123243d9;border:1px solid #7ec8ff59;border-radius:14px;justify-content:center;align-items:center;gap:6px;min-width:52px;min-height:52px;padding:0 14px;font-size:.95rem;font-weight:600;display:inline-flex}.vlab-molecular-controls>button:hover,.vlab-molecular-controls>button:focus-visible{color:#fff;border-color:#7ec8ff}.vlab-molecular-play{min-width:64px}.vlab-molecular-phases{align-items:center;gap:8px;margin-left:10px;display:inline-flex}.vlab-molecular-phases button{cursor:pointer;background:#9fb9c973;border:none;border-radius:50%;width:14px;height:14px;padding:0}.vlab-molecular-phases button.active{background:#7ec8ff;transform:scale(1.25)}.vlab-molecular-disclaimer{color:#8aa4b4;margin:0;padding:6px 20px 12px;font-size:.8rem}@media (prefers-reduced-motion:reduce){.vlab-molecular-phases button.active{transform:none}}

