.lab-editor{min-width:0}.lab-layers{z-index:4;box-sizing:border-box;color:#151515;background:#c6c6c6;border:2px solid #464646;border-color:#fff #464646 #464646 #fff;width:min(29%,252px);font:clamp(9px,1.1cqw,14px)/1.2 Times New Roman,Times,serif;position:absolute;top:5.5%;left:2.8%}.lab-layers-title{color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;background:navy;border:0;justify-content:space-between;align-items:center;gap:3px;padding:1px 3px 1px 5px;font-weight:700;display:flex}.lab-layers-toggle{color:#151515;background:#c6c6c6;border:1px solid #484848;border-color:#fff #484848 #484848 #fff;place-items:center;min-width:13px;font-family:Arial,sans-serif;display:grid}.lab-layers-content{padding:3px}.lab-layers-list{overscroll-behavior:contain;background:#fff;max-height:16cqw;margin:0;padding:0;list-style:none;overflow:auto}.lab-layer-entry{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:2px 4px;display:flex}.lab-layer-entry .collage-picture{object-fit:contain;flex:none;width:clamp(12px,1.7cqw,24px);height:clamp(12px,1.7cqw,24px)}.lab-layer-entry[aria-pressed=true]{color:#fff;background:navy}.lab-layer-entry:focus-visible{outline-offset:-2px;outline:2px dashed #346bf4}.lab-layers-empty{margin:2px 4px}.lab-layer-commands{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;margin-top:3px;display:grid}.lab-layer-commands .lab-window-button{font:inherit;padding:2px 1px}.lab-layer-commands button:disabled{color:#656565;cursor:default}.collage-workspace,.collage-piece,.collage-selection{position:absolute}.collage-workspace{isolation:isolate}.collage-layer-clip{position:absolute;inset:0;overflow:hidden}.collage-composition{isolation:isolate;overflow:hidden}.collage-workspace,.lab-material,.collage-piece,.collage-handle,.collage-rotation-zone{touch-action:none;-webkit-user-select:none;user-select:none}.collage-composition{background:#f2f2f2;width:100%;position:relative}.collage-piece,.collage-handle{background:0 0;border:0;padding:0}button.collage-piece{cursor:move}.collage-piece .collage-picture{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.lab-material{z-index:2;cursor:grab}.lab-toolbar{z-index:2;touch-action:none;background-repeat:no-repeat}.lab-toolbar:disabled{cursor:default}.collage-ghost{opacity:.65;pointer-events:none}.collage-selection{--handle-size:min(10px, 36cqw, 36cqh);--rotation-zone:clamp(9px, 13cqw, 15px);z-index:1;outline-offset:-1px;pointer-events:none;outline:1px dashed #17359b;container-type:size}.collage-handle{width:var(--handle-size);height:var(--handle-size);outline-offset:-1px;pointer-events:auto;background:#224ba9;outline:1px solid #fff;position:absolute}.collage-handle[data-corner=nw]{cursor:nwse-resize;top:0;left:0}.collage-handle[data-corner=ne]{cursor:nesw-resize;top:0;right:0}.collage-handle[data-corner=sw]{cursor:nesw-resize;bottom:0;left:0}.collage-handle[data-corner=se]{cursor:nwse-resize;bottom:0;right:0}.collage-rotation-zone{bottom:calc(-1 * var(--rotation-zone));width:calc(var(--rotation-zone) + var(--handle-size));height:calc(var(--rotation-zone) + var(--handle-size));pointer-events:auto;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M18 10A7 7 0 1 0 18 16M18 5v5h-5' fill='none' stroke='white' stroke-width='4'/%3E%3Cpath d='M18 10A7 7 0 1 0 18 16M18 5v5h-5' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") 12 12,crosshair;position:absolute}.collage-rotation-zone[data-rotate-corner=sw]{left:calc(-1 * var(--rotation-zone));clip-path:polygon(0 0, var(--rotation-zone) 0, var(--rotation-zone) var(--handle-size), 100% var(--handle-size), 100% 100%, 0 100%)}.collage-rotation-zone[data-rotate-corner=se]{right:calc(-1 * var(--rotation-zone));clip-path:polygon(0 var(--handle-size), var(--handle-size) var(--handle-size), var(--handle-size) 0, 100% 0, 100% 100%, 0 100%)}.lab-material:focus-visible,.lab-toolbar:focus-visible,.collage-piece:focus-visible{outline-offset:-2px;outline:2px dashed #17359b}.lab-window{box-sizing:border-box;color:#0511f2;background:#c6c6c6;border:2px solid #464646;border-color:#fff #464646 #464646 #fff;flex-direction:column;width:min(880px,94vw);max-height:90dvh;padding:3px;font:1rem/1.35 Times New Roman,Times,serif}main.lab-window,dialog.lab-window[open]{display:flex}.lab-window-title{color:#fff;background:navy;justify-content:space-between;align-items:center;gap:.5rem;padding:3px 4px 3px 8px;display:flex}.lab-window-title h1{overflow-wrap:anywhere;margin:0;font-size:1rem}.lab-window-body{background:#f3f3f3;border:1px solid #777;min-height:0;padding:.9rem;overflow:auto}.lab-window-button{color:#151515;font:inherit;cursor:pointer;background:#c6c6c6;border:2px solid #484848;border-color:#fff #484848 #484848 #fff;padding:4px 12px}.lab-window-button:active{border-color:#484848 #fff #fff #484848}.lab-window-close{flex-shrink:0;width:24px;height:23px;padding:0;font:700 18px/1 Arial,sans-serif}.lab-window-actions{justify-content:flex-end;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.lab-information-form{width:min(540px,94vw)}.lab-information-form::backdrop{background:#0008}.lab-form-fields{gap:.65rem;display:grid}.lab-form-fields label{grid-template-columns:minmax(125px,39%) minmax(0,1fr);align-items:baseline;gap:.6rem;font-weight:700;display:grid}.lab-form-fields input,.lab-form-fields textarea{box-sizing:border-box;color:#0511f2;min-width:0;font:inherit;background:#fff;border:2px solid #fff;border-color:#616161 #fff #fff #616161;padding:4px 5px;font-weight:400}.lab-form-fields textarea{resize:vertical}.lab-form-error{color:#b52c18}.lab-save-notice{margin:0 0 .75rem;font-weight:700}.lab-collection-stage{aspect-ratio:var(--image-ratio)}.lab-window.lab-collection{border-width:max(1px,.23cqw);max-height:none;padding:.25cqw;font-size:clamp(10px,1.4cqw,18px);position:absolute;overflow:hidden}.lab-collection .lab-window-title{box-sizing:border-box;flex:0 0 5.4%;padding:0 .3cqw 0 .65cqw}.lab-collection .lab-window-title h1{font-size:1em}.lab-collection .lab-window-close{border-width:max(1px,.16cqw);width:2.4cqw;height:2.9cqw;font-size:clamp(10px,1.8cqw,32px)}.lab-collection .lab-window-body{overscroll-behavior:contain;flex:1;padding:clamp(4px,1.15cqw,16px)}.lab-collection .lab-collection-items{grid-template-columns:repeat(auto-fill,minmax(min(clamp(77px,12cqw,150px),100%),1fr));gap:clamp(4px,1cqw,12px)}.lab-collection-items{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.lab-collection-file{width:100%;color:inherit;text-align:left;overflow-wrap:anywhere;font:inherit;cursor:pointer;background:#fff;border:1px solid #999;gap:.25rem;padding:.4rem;display:grid}.lab-collection-file time,.lab-saved-record time{color:#3c3c3c;font-size:.85em}.lab-saved-layout{overflow-wrap:anywhere;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:start;gap:1.2rem;display:grid}.lab-collection-file .collage-composition,.lab-saved-layout .collage-composition{outline:1px solid #888}.lab-saved-description{white-space:pre-wrap}.lab-saved-warning{margin:1.5em 0 0;padding:0}@media (width<=600px){.lab-saved-layout{grid-template-columns:1fr}.lab-saved-layout .collage-composition{max-width:320px}}@media (width<=420px){.lab-form-fields label{grid-template-columns:1fr;gap:.25rem}}.monitor-sample,.monitor-status,.monitor-range{position:absolute}.monitor-sample{overflow:hidden}.image-screen .monitor-sample img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.monitor-sample img[aria-hidden=true]{visibility:hidden}.monitor-fade{z-index:1;opacity:0;pointer-events:none;background:#000;transition:opacity .3s ease-in-out;position:absolute;inset:0}.monitor-fade--black{opacity:1;transition-duration:.2s}@media (prefers-reduced-motion:reduce){.monitor-fade{visibility:hidden;transition-duration:0s}}.monitor-status{color:#fff;font:700 2.35cqw/1.16 Courier New,Courier,monospace}.monitor-status--mutated{color:#ff6060}.monitor-status dl,.monitor-status dd{margin:0}.monitor-status dd+dt{margin-top:.65em}.monitor-status span{display:block}.monitor-range--active{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none}.monitor-range--active:focus-visible{outline-offset:-2px;outline:2px dashed #1f2f66}.monitor-range .monitor-thumb{pointer-events:none;height:auto;position:absolute;top:50%;transform:translate(-50%,-50%)}.plant-information{overscroll-behavior:contain;scrollbar-width:none;overflow-wrap:anywhere;color:#0511f2;font:400 clamp(14px,1.95cqw,28px)/1.35 Times New Roman,Times,serif;position:absolute;overflow:hidden auto}.plant-information::-webkit-scrollbar{display:none}.plant-information:focus-visible{outline-offset:-2px;outline:2px dashed #0511f2}.plant-record{box-sizing:border-box;min-block-size:100%;padding:1.5cqw 2cqw 0}.plant-fields{grid-template-columns:fit-content(42%) minmax(0,1fr);align-items:baseline;gap:.5em .75em;margin:0 0 1.2em;display:grid}.plant-fields dt{color:#201d1a;font-size:.9em;font-style:italic;font-weight:700}.plant-fields dd{margin:0;font-weight:700}.plant-record p{margin:0 0 .7em}.plant-record p:last-child{margin-bottom:0}.plant-warning{color:#b52c18;margin:0;padding:1.5em 2cqw 1em;font-style:italic;font-weight:700}body{background:#000;margin:0}.viewport{place-items:center;min-height:100dvh;display:grid;position:relative}.image-screen{width:min(100vw, calc(100dvh * var(--image-ratio)));position:relative;container-type:inline-size}.image-screen img{width:100%;height:auto;display:block}.hotspot,.dialogue{position:absolute}.hotspot{cursor:pointer;background:0 0;border:0;padding:0}.hotspot:focus-visible,.dialogue:focus-visible{outline-offset:2px;outline:2px dashed #fff}.viewport>.hotspot:focus-visible{outline-offset:-4px}.dialogue{scrollbar-width:none;overflow-wrap:break-word;color:#0511f2;text-align:left;white-space:pre-wrap;font:400 clamp(13px,1.7cqw,28px)/1.45 Times New Roman,Times,serif;overflow:hidden auto}.dialogue::-webkit-scrollbar{display:none}.dialogue--typing{cursor:pointer}.dialogue p{margin:0}.dialogue strong{font-weight:700}.typewriter-caret{position:relative}.typewriter-caret:after{content:"";background:currentColor;width:1px;height:.85em;animation:1.1s step-end infinite caret-blink;position:absolute;inset-block-start:.1em;inset-inline-start:0}@keyframes caret-blink{50%{opacity:0}}.screen-reader-text{clip-path:inset(50%);width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
