.optical-assembly{color:#dbece8;background:#0b1b25;border:1px solid #3b5662;border-radius:12px;min-width:0;overflow:hidden}.assembly-heading{justify-content:space-between;align-items:center;gap:12px;padding:15px 16px 10px;display:flex}.assembly-heading>div{min-width:0}.assembly-heading strong{margin-top:4px;font-size:clamp(1rem,1.4vw,1.3rem);font-weight:500;line-height:1.4;display:block}.assembly-kicker{letter-spacing:.16em;color:#9fddca;font-size:.66rem}.optical-assembly button{font-family:inherit;min-height:36px!important}.assembly-heading>button{border-radius:6px;flex:none;background:#15313b!important;border:1px solid #42646b!important;padding:6px 10px!important;font-size:.8rem!important}.assembly-stage{isolation:isolate;background:radial-gradient(at 50% 55%,#203640,#07151d 80%);height:350px;position:relative}.assembly-canvas{position:absolute;inset:0}.assembly-canvas canvas{touch-action:none;display:block;width:100%!important;height:100%!important}.assembly-cameras{z-index:2;flex-wrap:wrap;gap:5px;display:flex;position:absolute;bottom:9px;left:10px;right:10px}.assembly-cameras button{border-radius:5px;background:#132b35e8!important;border:1px solid #4d6973!important;min-height:32px!important;padding:5px 9px!important;font-size:.72rem!important}.assembly-cameras button[aria-pressed=true]{color:#effff6;background:#285a58!important}.assembly-loading{text-align:center;color:#b7d6df;position:absolute;inset:25% 10% auto}.assembly-legend{color:#adcad1;border-top:1px solid #29424d;flex-wrap:wrap;gap:8px 16px;padding:9px 14px;font-size:.7rem;line-height:1.5;display:flex}.assembly-legend>span:first-child{color:#9bceff}.assembly-legend>span:nth-child(2){color:#9be6c5}.assembly-components{padding:0 14px 10px}.assembly-components summary{cursor:pointer;color:#d1e7e8;padding:7px 0;font-size:.82rem}.assembly-part-buttons{flex-wrap:wrap;gap:5px;padding:8px 0;display:flex}.assembly-part-buttons button{text-align:left;border-radius:5px;align-items:center;gap:6px;display:inline-flex;color:#bed3da!important;background:#132b36!important;border:1px solid #34545d!important;min-height:34px!important;padding:5px 8px!important;font-size:.72rem!important}.assembly-part-buttons button span{color:#83b8b5;font-size:.65rem}.assembly-part-buttons button[aria-pressed=true]{color:#f2fff9!important;background:#24534f!important;border-color:#9dd9c5!important}.assembly-part-buttons button[aria-pressed=true] span{color:#a9d6d2}.assembly-explanation{color:#bcd0d7;font-size:.84rem;line-height:1.65;margin:6px 0!important}.assembly-explanation b{color:#e3f1ed;font-weight:600}.assembly-note{color:#96b3bd;font-size:.72rem;line-height:1.6;margin:8px 14px 14px!important}.assembly-pinhole-control{background:#142f38;border-top:1px solid #2f555b;padding:10px 16px}.assembly-pinhole-control .range{margin:5px 0 14px}.assembly-pinhole-control p{color:#acced1;margin:0;font-size:.77rem}.assembly-pinhole-control .range>span{flex-wrap:wrap;gap:8px;font-size:.85rem}.assembly-diagram{width:100%;height:100%;display:block}.confocal-section{background:#0b1d27;border:1px solid #36515d;border-radius:9px;min-width:0;margin-top:12px;padding:14px}.section-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-title h3{margin:0;font-size:1.05rem}.section-title>span{color:#a4e8d4;border:1px solid #40645f;border-radius:5px;padding:4px 7px;font-size:.85rem}.confocal-section>svg{width:100%;max-height:145px;margin-top:9px;display:block}.confocal-section p{color:#afc7d0;font-size:.82rem;line-height:1.6}.confocal-section .assembly-note{font-size:.73rem;margin:10px 0 0!important}.in-focus-key{color:#8aeec7}.out-focus-key{color:#f1be83}.section-readout{color:#a4bec8;justify-content:space-between;gap:12px;font-size:.76rem;display:flex}.section-readout b{color:#dff7ed;margin-top:3px;font-size:1rem;display:block}.stand-shell{min-width:0}.stand-shell-tabs{flex-wrap:wrap;gap:5px;padding:6px 0;display:flex}.stand-shell-tabs button{min-height:34px;padding:6px 10px!important;font-size:.77rem!important}.stand-shell-tabs button[aria-pressed=true]{color:#edfff7;background:#245550!important;border-color:#8fdcca!important}.stand-shell .assembly-compact .assembly-stage{height:270px}.stand-shell .assembly-compact .assembly-heading{padding:10px}.stand-shell .assembly-compact .assembly-heading strong{font-size:.92rem}.stand-shell .assembly-compact .assembly-note{font-size:.68rem}.stand-shell .assembly-compact .assembly-pinhole-control{padding:8px 12px}.mechanism-learning-workspace .mechanism-stage:has(.stand-shell){background:0 0;border:0;flex:none;height:auto;min-height:0;overflow:visible}.mechanism-learning-workspace .stand-shell .assembly-stage{height:350px}.mechanism-learning-workspace .mechanism-selected{display:none}.mechanism-dialog[data-slot=dialog-content]:has(.stand-shell){overflow-y:auto}.mechanism-learning-workspace:has(.stand-shell){flex:none}.mechanism-learning-workspace:has(.stand-shell) .mechanism-body{flex:none;align-items:start}.mechanism-learning-workspace:has(.stand-shell) .mechanism-observation-column{overflow:visible}.mechanism-learning-workspace:has(.stand-shell) .mechanism-image-single{width:min(100%,340px)}.confocal-hardware{margin:12px 0}.confocal-hardware .assembly-stage{height:355px}.confocal-hardware .assembly-part-buttons{max-height:none}.confocal-visual .raster-image{max-width:500px;margin:0 auto}.optical-assembly button:focus-visible{outline-offset:3px;outline:3px solid #ccffe6}@media (min-width:1200px){.mechanism-learning-workspace:has(.stand-shell) .mechanism-body{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr)}.mechanism-learning-workspace .stand-shell .assembly-stage{height:410px}}@media (max-width:800px){.assembly-heading{padding:11px 12px}.assembly-stage,.mechanism-learning-workspace .stand-shell .assembly-stage,.confocal-hardware .assembly-stage{height:310px}.mechanism-learning-workspace:has(.stand-shell) .mechanism-body{display:flex}.assembly-part-buttons button{font-size:.77rem!important}.assembly-legend{font-size:.72rem}.confocal-section p{font-size:.86rem}.assembly-cameras button{min-height:38px!important}.assembly-explanation{font-size:.88rem}.assembly-note{font-size:.75rem}.assembly-heading strong{font-size:1rem}}@media (prefers-reduced-motion:reduce){.optical-assembly *{scroll-behavior:auto}}.assembly-selected-label{z-index:2;pointer-events:none;color:#cee9e2;background:#102832d9;border-left:2px solid #9dd8c0;border-radius:3px;padding:6px 9px;font-size:.78rem;position:absolute;top:10px;left:12px}.assembly-pinhole-control{border-bottom:1px solid #2f555b}.assembly-part-buttons{max-width:100%}.optical-assembly[data-mode=brightfield] .assembly-legend>span:first-child{color:#f4d5a4}.optical-assembly{background:#0b1d27;border-color:#395761;box-shadow:0 12px 32px #0002}.assembly-route-state{color:#d1dedd;background:#102630;border-top:1px solid #29424e;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 14px;font-size:.75rem;display:flex}.assembly-route-state>span:last-child{color:#9ebbc5;margin-left:auto;font-size:.71rem}.assembly-state-dot{border:1px solid #b8c8cc;border-radius:50%;flex:none;width:6px;height:6px}.assembly-route-state[data-lit=true] .assembly-state-dot{background:#82e3bb;border-color:#82e3bb}.assembly-stage,.confocal-hardware .assembly-stage,.mechanism-learning-workspace .stand-shell .assembly-stage{height:440px}.assembly-cameras{background:#102630;border-top:1px solid #29424e;flex-wrap:wrap;gap:6px;padding:10px 12px;display:flex;position:static}.assembly-cameras button{min-height:36px!important;padding:6px 11px!important;font-size:.76rem!important}.assembly-selected-label{background:#0c222bea;border-color:#dfc193;max-width:80%;font-size:.72rem;top:10px;left:10px}.assembly-label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.assembly-world-label{color:#d9e9e8;white-space:nowrap;background:#0a202adb;border:1px solid #4f6a7399;border-radius:4px;padding:4px 7px;font-size:11px;line-height:1.35;position:absolute;transform:translate(-50%,-100%);box-shadow:0 2px 9px #0003}.assembly-world-label:after{content:"";top:var(--label-line-top,100%);width:1px;height:var(--label-stem,13px);transform:rotate(var(--label-angle,0deg));transform-origin:top;background:#83a3ab99;position:absolute;left:50%}.assembly-world-label[data-selected=true]{color:#ffe6b8;background:#2b2a25e8;border-color:#a68e65}.assembly-legend{background:#0c1e28;padding:10px 14px;font-size:.76rem}.assembly-components{padding-top:4px}.assembly-components summary{font-size:.85rem}@media (min-width:1500px){.mechanism-learning-workspace .stand-shell .assembly-stage{height:485px}}@media (max-width:800px){.assembly-stage,.confocal-hardware .assembly-stage,.mechanism-learning-workspace .stand-shell .assembly-stage{height:345px}.assembly-cameras{gap:5px;padding:8px}.assembly-cameras button{min-height:38px!important;padding:6px 9px!important;font-size:.74rem!important}.assembly-route-state>span:last-child{width:100%;margin-left:14px;display:block}.assembly-world-label{font-size:10px}.assembly-selected-label{font-size:.7rem}.stand-shell .assembly-compact .assembly-stage{height:300px}}.assembly-heading-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;display:flex}.assembly-heading-actions button{color:#e4f4ec;border-radius:6px;background:#15313b!important;border:1px solid #55767c!important;min-height:44px!important;padding:6px 10px!important;font-size:.76rem!important}.assembly-failure{color:#ffe9bd;background:#302b20;border-left:3px solid #e4c082;padding:10px 12px;font-size:.84rem;line-height:1.6;display:block;margin:12px 14px!important}.assembly-failure p{margin:0}.assembly-failure button{border-radius:6px;margin-top:8px;color:#fff4db!important;background:#15313b!important;border:1px solid #e4c082!important;min-height:44px!important;padding:7px 12px!important}.assembly-flat-guide,.assembly-specimen-note{color:#c4dedf;font-size:.79rem;line-height:1.55;margin:9px 14px!important}@media (max-width:560px){.assembly-heading{flex-wrap:wrap}.assembly-heading-actions{justify-content:flex-start;width:100%}.assembly-heading-actions button{min-height:44px!important}}.instrument-workspace .stand-shell .assembly-workspace .assembly-stage{height:var(--lab-stage-height,400px)}.assembly-view-options{min-width:0;font-size:.82rem}.assembly-view-options summary{cursor:pointer;color:#e4f4ec;background:#15313b;border:1px solid #55767c;border-radius:6px;align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:flex}.assembly-view-options summary:after{content:"▾"}.assembly-view-options[open]{flex-basis:100%}.assembly-view-menu{max-width:100%;padding:10px 0 0}.assembly-view-menu p{color:#bed2d8;margin:8px 0;font-size:.8rem;line-height:1.5}.assembly-view-choice{flex-wrap:wrap;gap:6px;display:flex}.assembly-view-choice button[aria-pressed=true]{background:#285a58!important;border-color:#96ddc9!important}.assembly-heading-actions{flex-shrink:1;min-width:0}.assembly-heading:has(.assembly-view-options[open]){flex-wrap:wrap}.assembly-heading-actions:has(.assembly-view-options[open]){width:100%}.assembly-inspector{background:#102630;border-top:1px solid #38535d;padding:14px}.assembly-component-picker{color:#d3e9e7;gap:7px;font-size:.9rem;display:grid}.assembly-component-picker select{color:#effaf5;width:100%;min-width:0;min-height:44px;font:inherit;background:#10232d;border:1px solid #55767c;border-radius:6px;padding:8px}.assembly-inspector .range{margin:18px 0 14px}.assembly-inspector .range>span{font-size:.88rem}.assembly-inspector .choice{margin-top:12px;margin-bottom:10px}.assembly-control-hint{color:#b5d1d1;margin:9px 0 0;font-size:.84rem;line-height:1.55}.assembly-workspace .assembly-heading{flex-wrap:wrap;align-items:center;padding:10px 12px}.stand-shell .assembly-workspace .assembly-heading strong{font-size:1rem}.assembly-workspace .assembly-heading>div:first-child{flex:160px}.assembly-workspace .assembly-note{font-size:.78rem!important}.assembly-workspace .assembly-route-state{font-size:.8rem}.assembly-workspace .assembly-route-state>span:last-child{font-size:.75rem}.assembly-workspace .assembly-specimen-note{margin:8px 14px!important}.assembly-workspace .assembly-cameras{background:0 0;border:0;padding:8px 0}.enlarged-instrument-dialog{height:calc(100dvh - 24px);overflow-y:auto;width:calc(100vw - 24px)!important;max-width:1280px!important;max-height:none!important;padding:18px!important;display:block!important}.enlarged-instrument-dialog>[data-slot=dialog-header]{text-align:left;margin-bottom:12px;padding-right:36px}.enlarged-instrument-dialog .assembly-workspace .assembly-stage{height:clamp(380px,58dvh,690px)}.enlarged-instrument-dialog .assembly-workspace .assembly-inspector{max-width:none}:is(.assembly-view-options summary:focus-visible,.assembly-component-picker select:focus-visible){outline-offset:3px;outline:2px solid #8cead6}@media (max-width:760px){.instrument-workspace .stand-shell-tabs button{min-height:44px!important}.assembly-workspace .assembly-heading-actions{justify-content:flex-start;width:100%}.enlarged-instrument-dialog{padding:12px!important}.enlarged-instrument-dialog .assembly-workspace .assembly-stage{height:clamp(310px,55dvh,480px)}}.assembly-inspector .assembly-component-picker{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}.assembly-context-controls[aria-disabled=true]{opacity:.6}@media (max-width:440px){.assembly-inspector .assembly-component-picker{grid-template-columns:minmax(0,1fr);gap:7px}}.assembly-flat-key{color:#e8faf1;background:#102630;border-top:1px solid #38535d;flex-wrap:wrap;gap:8px 16px;margin:0;padding:12px 14px;font-size:.875rem;line-height:1.5;list-style:none;display:flex}.assembly-flat-key li{align-items:baseline;gap:7px;display:flex}.assembly-flat-key li>span{font-variant-numeric:tabular-nums;color:#b9d9d6;font-size:.8rem}.stand-view{isolation:isolate;position:relative}.stand-annotations{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.stand-annotations svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.stand-annotations line{stroke:#e4faff;stroke-width:1px;opacity:.7}.stand-annotations button{pointer-events:auto;border:1px solid #bceadd;border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0008;color:#efffff!important;background:#0c2430!important;width:25px!important;min-width:25px!important;height:25px!important;min-height:25px!important;padding:0!important;font:600 13px Arial!important}.stand-annotations button[aria-pressed=true]{color:#09362e!important;background:#a8f2d7!important}.stand-annotations button:focus-visible{outline-offset:3px;outline:3px solid #fff}.optical-guide .stand-view{height:430px!important}.optical-legend{flex-wrap:wrap;gap:12px;font-size:14px;display:flex}.optical-legend span{border-left:3px solid #63b7ff;padding:4px 8px}.optical-legend span:last-child{border-color:#71f6b6}.optical-status{background:#153944;border-left:3px solid #9ae9d7;padding:10px 12px;font-size:14px}.optical-names{grid-template-columns:1fr 1fr;gap:6px;margin:14px 0;display:grid}.optical-names button{text-align:left;justify-content:flex-start;padding:7px!important;font-size:13px!important}.optical-explanation{background:#132c38;border:1px solid #365764;border-radius:8px;padding:14px}.optical-explanation h3{margin:0;font-size:18px}.optical-explanation p{font-size:14px;line-height:1.6}.optical-settings{color:#b4d3dd;font-size:13px}.optical-controls{flex-wrap:wrap;gap:7px;margin:10px 0;display:flex}.first-experiment .experiment-guide{max-height:calc(100dvh - 24px);overflow:auto}@media (max-width:720px){.optical-guide .stand-view{height:370px!important}.first-experiment .experiment-guide{max-height:none;overflow:visible}}.first-experiment-entry{color:#abf0d9;background:#14313b;border:1px solid #365f63;border-radius:7px;flex:none;margin-top:8px;padding:9px 14px;font-size:14px;text-decoration:underline;display:block}.optical-quick-controls{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px;display:grid}.optical-quick-controls .choice{grid-column:1/-1}.optical-quick-controls .range{margin:0}.optical-quick-controls .choice>span{font-size:14px}.stand-error{z-index:4;background:#102c38;border:1px solid #5d7f89;border-radius:8px;padding:20px;position:absolute;inset:12px}.optical-guide,.experiment-bench,.experiment-views>section,.optical-quick-controls>*{min-width:0}.optical-quick-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.optical-quick-controls .range>span{flex-wrap:wrap;gap:4px}.optical-guide .stand-view{width:100%;min-width:0;overflow:hidden}.optical-guide .stand-view canvas{max-width:100%;display:block;width:100%!important;height:100%!important}.stand-camera-controls{z-index:3;flex-wrap:wrap;gap:5px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.stand-camera-controls button{min-height:32px;background:#102c38!important;padding:4px 9px!important;font-size:12px!important}.stand-camera-controls button:focus-visible{outline-offset:2px;outline:3px solid #b8fff0}
