/* Illustration inspection station: precision controls, warm metal, deep navy. */
.device-editorial:has(.device-lab){padding-block:110px}
.studio-home .device-editorial-grid:has(.device-lab){max-width:1440px;grid-template-columns:.65fr 1.35fr;gap:6%;align-items:start}
.device-editorial-grid:has(.device-lab) .device-editorial-copy{padding-top:60px}
.device-lab{border:1px solid #52616b;background:#0c2535;box-shadow:0 24px 70px #0003}
.lab-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid #344651}
.lab-kicker,.lab-session,.lab-detail-kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#c0cbd1}
.lab-header h3{margin:7px 0 0;font-family:var(--display);font-size:24px;font-weight:400;letter-spacing:.05em;color:#ecd3af}
.lab-session{white-space:nowrap;color:#ecd3af}
.lab-controls{display:flex;justify-content:space-between;gap:10px;padding:12px 18px;border-bottom:1px solid #344651;align-items:center}
.lab-modes{display:flex;gap:4px;flex-wrap:wrap}
.device-lab button{font-family:var(--sans);font-size:11px;line-height:1.5;min-height:44px;padding:10px 12px;background:transparent;border:1px solid #536570;border-radius:0;color:#dfd9cd;cursor:pointer;touch-action:manipulation}
.device-lab button:focus-visible,.device-lab input:focus-visible{outline:2px solid #f0c884;outline-offset:3px}
.device-lab button[aria-pressed=true]{background:#ecd3af;color:#091e2e;border-color:#ecd3af}
.device-lab .lab-reset{border:0;color:#d9c4a4;white-space:nowrap}
.lab-viewport{position:relative;isolation:isolate;background:#eeeee6;aspect-ratio:1;overflow:hidden;perspective:1000px}
.lab-ready .lab-viewport{cursor:grab;touch-action:pan-y}
.is-dragging .lab-viewport{cursor:grabbing}
.lab-camera{position:absolute;inset:7%;transform-origin:50% 50%;transition:transform .18s var(--ease);will-change:transform}
.is-dragging .lab-camera,.lab-reduced .lab-camera{transition:none}
.lab-image{display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;mix-blend-mode:multiply}
.lab-grid{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.13;background-image:linear-gradient(#74532755 1px,transparent 1px),linear-gradient(90deg,#74532755 1px,transparent 1px);background-size:40px 40px}
.lab-hud{position:absolute;inset:20px 20px auto;display:flex;justify-content:space-between;gap:20px;z-index:2;pointer-events:none;font-family:var(--sans);font-size:9px;line-height:1.7;letter-spacing:.12em;color:#4d5b63}
.lab-hud .lab-zoom-readout{font-size:16px;letter-spacing:0}
.lab-view-hint{position:absolute;bottom:14px;left:12px;right:12px;text-align:center;color:#45535c;font-size:10px;letter-spacing:.045em;pointer-events:none}
.lab-hotspots{position:absolute;inset:0}
.device-lab .lab-hotspot{position:absolute;left:var(--pin-x);top:var(--pin-y);transform:translate(-50%,-50%);height:44px;width:44px;padding:0;border-radius:50%;border:1px solid #997038;background:#091e2ee8;color:#f0d6ae;box-shadow:0 0 0 6px #ecd3af44;z-index:3;font-size:12px}
.lab-hotspot.is-inspected::after{content:'';position:absolute;right:-2px;top:-2px;width:8px;height:8px;border:2px solid #eeeee6;border-radius:50%;background:#5b9475}
.device-lab .lab-hotspot[aria-pressed=true]{box-shadow:0 0 0 8px #bc8e4b33;background:#ecd3af;color:#091e2e}
.device-lab[data-mode=blueprint] .lab-viewport{background:#0e2d42}
.device-lab[data-mode=blueprint] .lab-camera{mix-blend-mode:screen}
.device-lab[data-mode=blueprint] .lab-image{filter:grayscale(1) invert(1) contrast(1.6) sepia(1) hue-rotate(150deg);mix-blend-mode:screen;opacity:.85}
.device-lab[data-mode=blueprint] .lab-grid{opacity:.2;background-image:linear-gradient(#a5cad466 1px,transparent 1px),linear-gradient(90deg,#a5cad466 1px,transparent 1px)}
.device-lab[data-mode=blueprint] .lab-hud,.device-lab[data-mode=blueprint] .lab-view-hint{color:#c6dce7}
.device-lab[data-mode=hardware] .lab-image{filter:grayscale(1);opacity:.48}
.device-lab[data-mode=hardware] .lab-hotspot[data-part=rod],.device-lab[data-mode=hardware] .lab-hotspot[data-part=screw]{box-shadow:0 0 0 12px #d3aa6555}
.lab-interactions{padding:18px 22px 22px}
.lab-camera-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.lab-camera-controls label{display:flex;align-items:center;gap:14px;font-size:11px;color:#ccd4d9;flex:1;min-width:0}
.lab-zoom{width:100%;min-width:45px;max-width:145px;accent-color:#ecd3af;height:44px;cursor:pointer}
.lab-directions{display:flex;gap:5px}
.device-lab .lab-directions button{width:36px;min-width:36px;padding:4px;font-size:18px}
.lab-mission{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:#d7c3a4;font-size:11px;letter-spacing:.04em}
.lab-mission progress{width:100%;height:3px}
.device-lab progress{display:block;appearance:none;border:0;background:#344651;color:#ecd3af}
.device-lab progress::-webkit-progress-bar{background:#344651}
.device-lab progress::-webkit-progress-value{background:#ecd3af}
.device-lab progress::-moz-progress-bar{background:#ecd3af}
.all-inspected .lab-progress-text{color:#aad1b9}
.lab-component-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:18px 0}
.device-lab .lab-component-tabs button{font-size:10px;padding-inline:5px}
.lab-detail{min-height:182px;border-left:2px solid #c3a477;padding:0 0 0 17px;margin:22px 0 25px}
.lab-detail h4{font-family:var(--display);font-weight:400;font-size:23px;line-height:1.25;color:#ecd3af;margin:10px 0}
.lab-detail p{font-size:12px;color:#ccd5da;line-height:1.85;margin:0;max-width:60ch}
.lab-scan-controls{display:flex;align-items:center;gap:16px;justify-content:space-between}
.lab-scan-toolbar{padding:12px 18px 0}
.device-lab .lab-scan-button{background:#ecd3af;border-color:#ecd3af;color:#091e2e;display:flex;gap:24px;justify-content:space-between;min-width:175px}
.lab-scan-status{font-size:10px;color:#b9c6ce;line-height:1.6;max-width:22ch}
.device-lab button:disabled{cursor:wait;opacity:.65}
.lab-scan-progress{width:100%;height:2px;margin-top:15px}
.lab-scan-line{display:none;position:absolute;z-index:4;top:var(--scan-position,0%);left:0;right:0;height:2px;box-shadow:0 0 25px 8px #c89b6c66;background:#aa7730;pointer-events:none}
.is-scanning .lab-scan-line{display:block}
.device-lab figcaption{display:block;padding:15px 22px;border-top:1px solid #344651;color:#aebcc5;font-size:10px;line-height:1.65}
@media(hover:hover) and (pointer:fine){.device-lab button:hover{border-color:#ecd3af;background:#29465a;color:#fff4df}.device-lab button[aria-pressed=true]:hover{background:#ffe2b6;color:#091e2e}}
@media(max-width:1000px){.studio-home .device-editorial-grid:has(.device-lab){grid-template-columns:1fr;gap:40px}.device-editorial-grid:has(.device-lab) .device-editorial-copy{padding-top:0}.device-lab{max-width:680px;margin-inline:auto}}
@media(max-width:560px){.lab-header{padding:18px 14px}.lab-header h3{font-size:21px}.lab-session{font-size:8px}.lab-controls{padding:10px;flex-wrap:wrap;gap:2px}.lab-modes{flex:1}.device-lab .lab-reset{font-size:10px;padding-inline:5px}.device-lab .lab-modes button{padding:8px;font-size:10px}.lab-interactions{padding:16px 12px}.lab-camera-controls{gap:10px;flex-wrap:wrap}.lab-camera-controls label{min-width:110px}.lab-directions{gap:4px}.lab-hud{inset:10px 10px auto;font-size:8px}.lab-view-hint{font-size:9px;bottom:8px}.lab-camera{inset:8% 3%}.lab-detail{min-height:210px}.lab-scan-controls{flex-wrap:wrap;gap:10px}.lab-scan-status{max-width:none}.device-lab figcaption{padding-inline:12px}.device-editorial:has(.device-lab){padding-block:75px}}
@media(prefers-reduced-motion:reduce){.lab-camera{transition:none}}
@media print{.lab-controls,.lab-interactions,.lab-hotspots,.lab-hud,.lab-view-hint,.lab-scan-line,.lab-scan-toolbar{display:none!important}.lab-camera{transform:none!important}.device-lab{break-inside:avoid;box-shadow:none}}
