/* Laboratory companion: paper, legible scientific controls and generous specimen views. */
body.lab-page{--bg:#f7f5ee;--panel:#fffefb;--panel2:#f0f3ed;--ink:#172f35;--muted:#587075;--line:#d9e2dc;--cyan:#007c78;--gold:#8a6223;--pink:#9c527d;--green:#28745d;--red:#d23b3b;--blue:#2469b5;color-scheme:light;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.55}
.lab-page button,.lab-page select,.lab-page input[type=number],.lab-page input[type=text]{background:#fffefb;color:#172f35;border-color:#c5d2cb;min-height:44px;font-size:13px;border-radius:7px}
.lab-page button:hover,.lab-page select:hover{background:#eef3ed;border-color:#85aca0}.lab-page button.active,.lab-page button.primary{background:#e4f0e9;border-color:#5f9c8e}.lab-page input[type=range]{min-height:35px}.lab-page [hidden]{display:none!important}.lab-page a{color:#007c78}
.lab-page .lab-header,.lab-page main,.lab-page footer{max-width:1960px;padding-left:clamp(16px,2.3vw,48px);padding-right:clamp(16px,2.3vw,48px)}
.lab-page .lab-header{padding-top:16px;padding-bottom:22px}.lab-page .header-main{padding:26px 0 25px;gap:28px}.lab-page .kicker,.lab-page .eyebrow{font-size:11px;color:#007c78;letter-spacing:.12em}
.lab-page h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,4vw,66px);font-weight:400;line-height:1.05;letter-spacing:-.045em;margin:12px 0 15px}.lab-page .lede{font-size:clamp(15px,1.1vw,17px);line-height:1.7;max-width:850px}.lab-page .hero-actions{max-width:440px}.lab-page .hero-actions button{font-size:13px}
.lab-page .evidence-banner{background:#edf2e9;border-color:#c9d7c6;color:#4f665d;font-size:12px;padding:13px 16px;line-height:1.6}.lab-page .evidence-banner strong{color:#304e43}.lab-page .evidence-label{color:#496a53;font-size:11px}.lab-page .survey-details{font-size:12px;margin-top:12px}.lab-page .survey-details summary{padding:8px 0}.lab-page .metric-top{background:#fffefb;border-color:var(--line)}.lab-page .metric-top span{font-size:11px}.lab-page .scope-note{font-size:13px;line-height:1.7}
.lab-page .toolbar{padding:15px 17px;gap:14px;margin-bottom:20px;border-radius:12px;background:#fffefb}.lab-page .toolbar>.control label{font-size:12px}.lab-page .toolbar>.control select{font-size:13px}.lab-page .control label,.lab-page .display-grid label{font-size:12px}.lab-page .control.grow{min-width:200px}.lab-page .display-settings>summary,.lab-page .advanced>summary{font-size:12px;padding:6px 0}.lab-page .display-grid button,.lab-page .toolbar>button{font-size:12px}
.lab-page .workspace.ultimate-workspace{grid-template-columns:minmax(0,1.33fr) minmax(400px,1fr);gap:22px;align-items:start}.lab-page .panel{border-radius:13px;background:#fffefb;border-color:#d9e2dc}.lab-page .panel-head{padding:17px 20px}.lab-page .panel-head h2,.lab-page .panel-head h3{font-size:17px;line-height:1.3;font-weight:600}.lab-page .panel-head small{font-size:12px;line-height:1.6;margin-top:7px;max-width:660px}.lab-page .badge{font-size:10px;color:#426862;border-color:#c8d8d0;background:#f0f5ec}.lab-page .head-actions button{font-size:12px}.lab-page .world-panel-title{gap:12px}.lab-page .world-wrap{height:clamp(510px,42vw,760px);min-height:430px;max-height:none;background:#f7f5ee}.lab-page .world-wrap>canvas{background:#f7f5ee}
.lab-landscape-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 20px 0;color:#73857e;font-size:11px;flex-wrap:wrap}.lab-section-number{font:650 10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em;color:#007c78}.lab-page .camera-tools{background:#f7f8f1;padding:10px 16px;gap:8px;border-bottom:1px solid #e2e7dd}.lab-page .camera-tools>span{font-size:11px}.lab-page .camera-tools button{min-height:38px;font-size:12px;padding:6px 12px}.lab-page .camera-tool-note{max-width:250px;line-height:1.5}.lab-page .export-actions button,.lab-page .export-actions select{min-height:38px;font-size:11px}.lab-page .export-actions label{font-size:11px;color:#587075}.lab-page .export-status{font-size:11px;color:#45685b}
.lab-page .world-label{background:#fffefbe8;color:#39564f;border-color:#c2d1c4;font-size:10px;box-shadow:0 2px 8px #314b3110}.lab-page .world-label.endpoint{color:#176254}.lab-page .world-label.hovered{color:#6e542a;border-color:#baa87d}.lab-page .selected-hud{color:#456354;font-size:10px;padding:5px 8px;background:#fffefbc9;width:fit-content;max-width:calc(100% - 24px);border-radius:4px}.lab-page .hud-card{background:#fffefbe8;border-color:#c6d7ca;color:#526c63;font-size:10px}.lab-page .hud{max-width:calc(100% - 24px)}
.lab-linked-host{border:1px solid #d9e2dc;border-radius:13px;overflow:hidden;box-shadow:0 7px 30px #25432c06}.lab-page #labLinkedSpecimens{padding:19px}.lab-page #labLinkedSpecimens .linked-heading h3{font-size:28px}.lab-page #labLinkedSpecimens .linked-stage{height:clamp(300px,24vw,390px)}.lab-page #labLinkedSpecimens .linked-pair{gap:17px}.lab-page #labLinkedSpecimens button,.lab-page #labLinkedSpecimens select{min-height:40px}.lab-page #labLinkedSpecimens .linked-dialog .linked-stage{height:min(66dvh,850px)}
.lab-locator-panel{padding:20px;border-top:1px solid var(--line);background:#fffefb}.lab-locator-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.lab-locator-heading p{margin:6px 0 15px;font-size:12px;line-height:1.6;color:#587075;max-width:460px}.lab-locator-heading button{font-size:11px!important;min-height:37px!important;white-space:nowrap}.lab-locator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lab-page .lab-locator-card{padding:12px 9px;text-align:left;display:flex;gap:9px;align-items:flex-start;min-height:102px;border-color:#d6e0d7;background:#fafbf5;overflow:hidden}.lab-page .lab-locator-card:hover{background:#f0f6ec;border-color:#82a997}.lab-page .lab-locator-card.is-selected{border-color:var(--locator-color);background:#f2f7ec;box-shadow:inset 0 0 0 1px var(--locator-color)}.lab-locator-letter{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;background:var(--locator-color);color:#fff;font:650 12px ui-monospace,monospace;border-radius:50%;text-shadow:0 1px 1px #0003}.lab-locator-copy{display:block;min-width:0}.lab-locator-copy>b{display:block;font-size:12px;font-weight:600;line-height:1.4;margin:2px 0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-locator-coordinates,.lab-locator-radius{display:block;font:10px/1.65 ui-monospace,monospace;color:#5b7569;overflow-wrap:anywhere}.lab-locator-radius{color:#254f43;margin-top:2px}
.lab-pin-layer{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}.lab-page .lab-surface-pin{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;min-height:44px;border-radius:50%;padding:0;background:var(--locator-color);border:3px solid #fffefb;color:white;font:700 14px ui-monospace,monospace;box-shadow:0 2px 9px #23453044;pointer-events:auto;cursor:grab;touch-action:none;text-shadow:0 1px 2px #0004;user-select:none}.lab-page .lab-surface-pin:hover{background:var(--locator-color);border-color:white;box-shadow:0 0 0 2px var(--locator-color),0 3px 14px #1e3c3644;z-index:3}.lab-page .lab-surface-pin.is-selected{border-width:4px;box-shadow:0 0 0 2px var(--locator-color),0 3px 15px #1e3c3644;z-index:2}.lab-page .lab-surface-pin:active{cursor:grabbing}.lab-page .lab-surface-pin:focus-visible{outline:3px solid #183b36;outline-offset:4px}
.lab-travel-tools{display:flex;gap:12px 16px;align-items:center;flex-wrap:wrap;padding-top:16px;margin-top:15px;border-top:1px solid #e3e9de}.lab-travel-tools>label{font-size:11px;color:#587075;flex:1;min-width:150px}.lab-travel-tools input{display:block;width:100%;margin:2px 0}.lab-travel-tools output{color:#294f43;margin-left:6px;font-family:ui-monospace,monospace}.lab-travel-tools select{display:block;width:100%;margin-top:5px;font-size:11px;min-height:37px}.lab-travel-tools>button{font-size:11px!important;min-height:38px!important}.lab-travel-tools>span{font-size:11px;line-height:1.6;color:#577667;flex-basis:100%;min-height:18px}.lab-pin-scope{font-size:11px;line-height:1.65;color:#738379;margin:11px 0 0}
.lab-page .lab-exact-parameter{margin-top:22px;margin-bottom:15px}.lab-page .selection-grid{padding:18px 20px;gap:15px}.lab-page .selection-grid label{font-size:12px}.lab-page .selection-grid input{font-size:14px;min-height:44px}.lab-page .selection-foot{padding:0 20px 15px;font-size:12px;gap:14px}.lab-page .selection-foot button{min-height:39px;font-size:12px}.lab-page .selection-equations{padding:15px 20px;font-size:13px;line-height:1.8;gap:10px 26px}.lab-page .selection-status{font-size:11px;color:#607c57}.lab-page .precision-note{font-size:11px;padding:0 20px 15px}.lab-page #selectionError{font-size:12px;color:#a23636;margin:0 20px 12px}.lab-page .session-tools{padding:13px 20px;gap:10px}.lab-page .session-tools button{font-size:12px}.lab-page .session-tools span{font-size:11px}
.lab-page .lab-raw-survey{margin-bottom:18px}.lab-page .lab-raw-survey>summary,.lab-page .advanced-deck>summary,.lab-page .lab-legacy-specimens>summary,.lab-page .agent-details>summary{padding:18px 20px;font-size:13px;color:#24594b;min-height:56px;cursor:pointer}.lab-page .angular-survey{padding:20px;background:#fffefb}.lab-page .angular-survey canvas{height:310px;background:#fffefb}.lab-page .survey-map-head h3{font-size:16px}.lab-page .survey-map-head p{font-size:12px}.lab-page .survey-map-head label{font-size:12px}.lab-page .survey-map-head select{min-height:42px;font-size:13px}.lab-page .survey-scale{font-size:11px}.lab-page .survey-cell-read{font-size:12px;color:#315b4b}.lab-page .survey-map-actions button{font-size:12px}.lab-page .survey-map-actions span{font-size:11px}.lab-page .angular-explanation{font-size:12px;line-height:1.75}.lab-page .angular-explanation summary{color:#365f4f;padding:8px 0}
.lab-page .advanced-deck{background:#fffefb;border-radius:13px;margin:18px 0}.lab-page .research-deck{grid-template-columns:minmax(300px,1fr) minmax(0,1fr) minmax(0,1fr);gap:16px}.lab-page .guide-card{padding:18px}.lab-page .guide-card h3{font-size:17px}.lab-page .guide-card p{font-size:13px;line-height:1.7}.lab-page .datum{background:#f5f7ef;border-color:#dbe4d6;padding:11px}.lab-page .datum span{font-size:10px}.lab-page .datum b{font-size:12px;color:#234f41}.lab-page .card-actions button,.lab-page .card-actions select{font-size:12px}.lab-page .detail-grid label{font-size:12px}.lab-page .note{font-size:12px;line-height:1.65}.lab-page .note strong,.lab-page footer strong{color:#274c40}.lab-page .notice{font-size:12px;color:#705e35;border-color:#b1985d}.lab-page .view-tabs button{font-size:12px;min-height:38px}.lab-page .research-deck canvas{background:#fffefb}.lab-page .lab-legacy-specimens{margin:18px 0}.lab-legacy-note{padding:0 20px 7px;font-size:12px;line-height:1.7;color:#617569}.lab-page .lab-legacy-grid{padding:0 18px 18px;grid-template-columns:1fr 1fr}.lab-page .lab-legacy-grid .live-state-panel{grid-column:1/-1}.lab-page .lab-legacy-grid canvas{height:340px;background:#fffefb}.lab-page .live-state-strip span{font-size:10px}.lab-page .live-state-strip b{font-size:11px}.lab-page .live-loading{background:#fffefbe8;border-color:#c8d8c6;color:#476451}.lab-page .agent-body pre{background:#f4f7ef;border-color:#d7e1d2;color:#2c5546;font-size:12px}.lab-page .journey-dock{background:#f0f4e9;border-color:#cbd8bd}.lab-page .journey-copy p{font-size:13px}.lab-page .journey-controls button{font-size:12px}.lab-page .tour-track,.lab-page .journey-progress{background:#dce7d6}.lab-page .event-rail:before{background:#bfd1b9}
.lab-page .onboarding{background:#213e35c7;backdrop-filter:blur(6px)}.lab-page .onboard-sheet{background:#fffefb;border-color:#c6d5c8;padding:30px}.lab-page .onboard-sheet h2{font-family:Georgia,serif;font-size:35px;font-weight:400}.lab-page .tour-card p{font-size:12px}.lab-page .full-explorer{background:#fffefb}.lab-page .full-stage canvas{background:#fffefb}.lab-page .full-watermark{background:#fffefbe8;color:#416655;border-color:#c6d7c3}.lab-page .full-spinner{background:#f4f6ebc9;color:#315440}.lab-page .full-status{font-size:12px}.lab-page .full-status strong{color:#345840}
.lab-page .lab-surface-expanded{position:fixed;inset:12px;z-index:1200;display:grid;grid-template-rows:auto auto auto minmax(200px,1fr) auto;background:#fffefb;box-shadow:0 0 0 30px #173c31b0,0 10px 50px #153b3455;border-radius:14px;overflow:auto}.lab-page .lab-surface-expanded .world-wrap{height:100%;min-height:250px;max-height:none}.lab-page .lab-surface-expanded .lab-locator-panel{padding:12px 20px}.lab-page .lab-surface-expanded .lab-locator-heading,.lab-page .lab-surface-expanded .lab-pin-scope{display:none}.lab-page .lab-surface-expanded .lab-locator-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.lab-page .lab-surface-expanded .lab-locator-card{min-height:84px;padding:8px}.lab-page .lab-surface-expanded .lab-travel-tools{padding-top:7px;margin-top:7px}.lab-page .lab-surface-expanded .lab-travel-tools>span{flex-basis:auto;flex:1;min-width:200px}.lab-page footer{font-size:12px;line-height:1.9;padding-top:25px;padding-bottom:35px}
@media(min-width:1650px){.lab-page .workspace.ultimate-workspace{grid-template-columns:minmax(0,1.4fr) minmax(530px,1fr)}.lab-page #labLinkedSpecimens .linked-stage{height:390px}}
@media(max-width:1220px){.lab-page .workspace.ultimate-workspace{grid-template-columns:minmax(0,1.15fr) minmax(370px,1fr);gap:16px}.lab-page .lab-locator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-page .world-wrap{height:600px}.lab-page #labLinkedSpecimens{padding:15px}.lab-page .lab-locator-heading{display:block}.lab-page .lab-locator-heading button{margin-bottom:12px}.lab-page .camera-tool-note{display:none}.lab-page .research-deck{grid-template-columns:1fr 1fr}.lab-page .research-deck>.guide{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.lab-page .workspace.ultimate-workspace{grid-template-columns:1fr}.lab-page .lab-locator-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-page .world-wrap{height:570px}.lab-page #labLinkedSpecimens .linked-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-page #labLinkedSpecimens .linked-stage{height:330px}.lab-page .lab-locator-heading{display:flex}.lab-page .header-main{align-items:flex-start;flex-direction:column;gap:16px}.lab-page .hero-actions{justify-content:flex-start}.lab-page .lab-surface-expanded .lab-locator-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-page .lab-surface-expanded .lab-locator-card{min-height:69px}.lab-page .lab-surface-expanded .lab-locator-radius{display:none}.lab-page .lab-surface-expanded .lab-travel-tools>label{min-width:130px}}
@media(max-width:620px){.lab-page .lab-header,.lab-page main,.lab-page footer{padding-left:12px;padding-right:12px}.lab-page .lab-header{padding-top:4px}.lab-page .header-main{padding:20px 4px}.lab-page h1{font-size:40px;line-height:1.05}.lab-page .lede{font-size:15px}.lab-page .hero-actions{gap:8px}.lab-page .hero-actions button{font-size:12px;flex:1}.lab-page .evidence-banner{padding:13px;font-size:12px}.lab-page .evidence-label{font-size:10px;margin-bottom:6px}.lab-page .toolbar{padding:13px;gap:12px}.lab-page .control,.lab-page .control.grow{min-width:calc(50% - 10px);flex-basis:45%}.lab-page .toolbar>.control select{font-size:12px}.lab-page .panel-head{padding:16px}.lab-landscape-intro{padding:16px 16px 0;gap:5px}.lab-landscape-intro>span:last-child{font-size:10px}.lab-page .world-wrap{height:410px;min-height:360px}.lab-page .camera-tools{padding:9px;gap:5px}.lab-page .camera-tools button{padding:7px 10px;min-height:42px}.lab-page .selected-hud{font-size:9px}.lab-page .hud-card{font-size:9px}.lab-page .lab-locator-panel{padding:16px}.lab-page .lab-locator-heading{display:block}.lab-page .lab-locator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lab-page .lab-locator-card{min-height:103px;padding:11px 8px}.lab-locator-copy>b{font-size:12px}.lab-locator-coordinates,.lab-locator-radius{font-size:10px}.lab-page .lab-travel-tools>label{min-width:130px}.lab-page .lab-travel-tools select{min-height:44px}.lab-page .lab-surface-pin{width:44px;height:44px}.lab-page #labLinkedSpecimens .linked-pair{grid-template-columns:1fr}.lab-page #labLinkedSpecimens .linked-stage{height:330px}.lab-page #labLinkedSpecimens .linked-heading h3{font-size:28px}.lab-page #labLinkedSpecimens button,.lab-page #labLinkedSpecimens select{min-height:44px}.lab-page .selection-grid{padding:15px;gap:12px;grid-template-columns:1fr 1fr}.lab-page .selection-grid button{grid-column:1/-1}.lab-page .selection-grid label{font-size:11px}.lab-page .selection-grid input{font-size:12px}.lab-page .selection-equations{padding:15px;font-size:11px;grid-template-columns:1fr}.lab-page .selection-foot{padding:0 15px 14px}.lab-page .precision-note{padding:0 15px 14px}.lab-page .session-tools{padding:13px 15px}.lab-page .session-tools span{min-width:100%}.lab-page .research-deck{grid-template-columns:1fr}.lab-page .research-deck>.guide{grid-template-columns:1fr}.lab-page .lab-legacy-grid{grid-template-columns:1fr}.lab-page .lab-legacy-grid .live-state-panel{grid-column:auto}.lab-page .angular-survey{padding:14px 8px}.lab-page .angular-survey canvas{height:230px}.lab-page .survey-map-head h3{font-size:14px}.lab-page .survey-map-head p{font-size:11px}.lab-page .survey-map-head label{font-size:10px}.lab-page .lab-surface-expanded{inset:4px;border-radius:10px;grid-template-rows:auto auto auto minmax(200px,1fr) auto}.lab-page .lab-surface-expanded .lab-landscape-intro{display:none}.lab-page .lab-surface-expanded .panel-head{padding:10px 12px}.lab-page .lab-surface-expanded .panel-head h2{font-size:15px}.lab-page .lab-surface-expanded .panel-head small,.lab-page .lab-surface-expanded .export-actions,.lab-page .lab-surface-expanded .badge{display:none}.lab-page .lab-surface-expanded .world-wrap{min-height:200px}.lab-page .lab-surface-expanded .lab-locator-panel{padding:8px}.lab-page .lab-surface-expanded .lab-locator-grid{gap:5px}.lab-page .lab-surface-expanded .lab-locator-card{min-height:43px;gap:6px}.lab-page .lab-surface-expanded .lab-locator-copy>b{font-size:10px;margin:4px 0}.lab-page .lab-surface-expanded .lab-locator-coordinates{display:none}.lab-page .lab-surface-expanded .lab-travel-tools{display:none}}
@media(prefers-reduced-motion:reduce){.lab-page{scroll-behavior:auto}.lab-page *{scroll-behavior:auto!important;transition:none!important}}
/* Expanded landscape keeps the canvas flexible when mobile hides its explanatory header. */
.lab-page .lab-surface-expanded{display:flex;flex-direction:column}.lab-page .lab-surface-expanded>.world-wrap{flex:1;min-height:240px}.lab-page .lab-surface-expanded>.panel-head,.lab-page .lab-surface-expanded>.camera-tools,.lab-page .lab-surface-expanded>.lab-locator-panel,.lab-page .lab-surface-expanded>.lab-landscape-intro{flex-shrink:0}
@media(max-width:620px){.lab-page .lab-surface-expanded>.world-wrap{min-height:200px}}
/* Keep skipped navigation out of full-page captures and preserve complete parameter labels on narrow cards. */
.lab-page .skip-link:not(:focus){width:1px;height:1px;min-height:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lab-locator-coordinates,.lab-locator-radius{display:flex;flex-wrap:wrap;gap:0 8px}.lab-locator-coordinates>span,.lab-locator-radius>span{white-space:nowrap}.lab-locator-copy>b{white-space:normal;overflow:visible;min-height:32px;margin-bottom:6px}
