/* Only the new Lab presentation. All approved sections retain their styles. */
#labPhone{display:none}
/* Organization marks keep their original colors and proportions. */
#labPhone .lab-phone-record-title>.archive-logo{width:64px;height:64px;min-width:64px;flex:0 0 64px;padding:6px;border:0;border-radius:0;background:transparent;object-fit:contain;object-position:center;filter:none}
@media(max-width:760px), (max-width:1023px) and (max-height:500px){
 #labPhone[hidden],#labPhone [hidden]{display:none!important}
 body.lab-phone-active #engineeringLab{display:none!important}
 body.lab-phone-active .topbar{opacity:1!important;transform:none;pointer-events:auto!important}
 #labPhone{display:block;position:fixed;inset:calc(65px + env(safe-area-inset-top,0px)) 0 0;z-index:23;pointer-events:none;color:#f0f3ed;font-family:Arial,Helvetica,sans-serif;--phone-red:#ff502b;--lab-safe-top:env(safe-area-inset-top,0px)}
 #labPhone *{box-sizing:border-box}
 #labPhone button,#labPhone summary{touch-action:manipulation;cursor:pointer}
 #labPhone button{min-height:44px;border:1px solid #dbeaff30;border-radius:12px;background:var(--workshop-glass-control,#17252c);color:#edf4f5;padding:8px 12px;font:9px/1.4 ui-monospace,monospace;pointer-events:auto}
 #labPhone button:active{filter:brightness(.82)}
 body.lab-phone-active #stage{touch-action:pinch-zoom}
 #stage.lab-looking{cursor:grabbing}
 .lab-phone-look{position:fixed;left:0;pointer-events:none;outline-offset:-3px}
 .lab-phone-look:focus-visible{outline:2px solid #ffb98e}
 .lab-phone-look>span{position:absolute;left:16px;bottom:12px;padding:5px 8px;border-radius:6px;background:#08121b9c;color:#d2dddf;font:8px/1.4 ui-monospace,monospace;letter-spacing:.06em}
 #labPhone .lab-phone-look button{position:absolute;right:12px;bottom:4px;min-height:44px;background:var(--workshop-glass-control);font-size:8px}
 #labPhone button:focus-visible,#labPhone summary:focus-visible,#labPhone .lab-phone-reading:focus-visible{outline:2px solid #ffb98e;outline-offset:-3px}
 .lab-phone-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 16px;background:linear-gradient(#071017ed,#07101700)}
 .lab-phone-heading>span,.lab-phone-eyebrow{color:#f1805d;font:8px/1.5 ui-monospace,monospace;letter-spacing:.08em}
 #labPhone .lab-phone-heading button{font-size:8px;min-height:44px;padding:5px 9px;background:#18252ca8}
 .lab-phone-instrument{position:absolute;top:calc(53dvh - 65px - env(safe-area-inset-top,0px));bottom:0;left:0;right:0;display:flex;flex-direction:column;min-height:0;padding:16px 20px calc(8px + env(safe-area-inset-bottom));border:1px solid var(--workshop-glass-edge,#b9d1e237);border-bottom:0;border-radius:24px 24px 0 0;background:var(--workshop-glass-light),var(--workshop-glass-tint);-webkit-backdrop-filter:var(--workshop-glass-filter);backdrop-filter:var(--workshop-glass-filter);box-shadow:0 -8px 30px #0004,inset 0 1px 0 #ffffff1c;pointer-events:auto;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}
 .lab-phone-intro{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
 .lab-phone-intro h1{font:700 clamp(34px,10vw,44px)/.95 'Workshop Condensed',sans-serif;letter-spacing:-.025em;margin:8px 0 10px}
 .lab-phone-intro em{font-style:normal;color:var(--phone-red)}
 .lab-phone-intro p,.lab-phone-reading p{font:13px/1.5 Arial,sans-serif;color:#c6d1d3;margin:10px 0}
 .lab-phone-desks{display:flex;gap:8px;flex:none;margin-bottom:12px}
 #labPhone .lab-phone-desks button{flex:1;min-width:0;padding:10px;text-align:left}
 .lab-phone-desks span{display:block;font-size:7px;letter-spacing:.03em;color:#abbec4;margin-bottom:3px}
 .lab-phone-desks strong{display:block;font:600 21px/1.1 'Workshop Condensed',sans-serif;white-space:nowrap}
 .lab-phone-desks i{font:14px monospace;font-style:normal;float:right;color:#f1805d}
 #labPhone .lab-phone-desks button[aria-pressed=true]{background:var(--workshop-glass-accent);border-color:#ffac8490}
 #labPhone[data-mode=overview] .lab-phone-desks button:first-child{background:var(--workshop-glass-accent);border-color:#ffac8490}
 .lab-phone-skills,.lab-phone-archives{display:flex;flex:1;flex-direction:column;min-height:0}
 .lab-phone-domains{display:flex;gap:6px;flex:none;padding:0 0 10px}
 #labPhone .lab-phone-domains button{flex:1;min-width:0;padding:8px 3px;font-size:7px;line-height:1.25;display:flex;flex-direction:column;gap:5px;align-items:center;border-radius:10px}
 .lab-phone-domains svg{width:21px;height:21px}
 .lab-phone-domains span{max-width:13ch}
 #labPhone .lab-phone-domains button[aria-pressed=true],#labPhone .lab-phone-sections button[aria-pressed=true]{border-color:#f47e5b;background:var(--workshop-glass-accent);color:#fff5eb}
 .lab-phone-reading{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#80909755 transparent;touch-action:pan-y pinch-zoom;padding:4px 1px 8px}
 .lab-phone-reading h2{font:600 29px/1.05 'Workshop Condensed',sans-serif;letter-spacing:-.01em;margin:6px 0 8px}
 .lab-phone-tools{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
 .lab-phone-tools span{border:1px solid #b3c7cc45;border-radius:6px;padding:5px 8px;color:#d2dcdd;font:9px/1.3 ui-monospace,monospace}
 .lab-phone-capabilities{border-top:1px solid #d3e2e325;flex:none;margin:0;min-height:44px;scrollbar-width:thin;scrollbar-color:#80909755 transparent}
 .lab-phone-capabilities summary{font:8px/1.5 ui-monospace,monospace;color:#f3ac8d;min-height:44px;padding:14px 0;list-style-position:inside}
 .lab-phone-skills:has(.lab-phone-capabilities[open])>.lab-phone-reading{display:none}
 .lab-phone-capabilities[open]{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}
 .lab-phone-capabilities[open] summary{position:sticky;top:0;background:#14232e;z-index:1}
 .lab-phone-capabilities ul{font:12px/1.6 Arial,sans-serif;color:#c6d1d3;padding-left:18px;margin:0}
 .lab-phone-capabilities p{font:9px/1.5 monospace}
 .lab-phone-capabilities dl{margin:16px 0;font:12px/1.5 Arial,sans-serif;color:#c6d1d3}.lab-phone-capabilities dt{color:#f0b499;font:10px/1.5 monospace;margin-top:10px}.lab-phone-capabilities dd{margin:4px 0}
 .lab-phone-evidence{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
 .lab-phone-sections{display:flex;gap:7px;flex:none;margin-bottom:12px}
 #labPhone .lab-phone-sections button{flex:1;min-width:0;font:600 17px/1 'Workshop Condensed',sans-serif;padding:9px 5px}
 .lab-phone-record-title{display:flex;align-items:center;gap:12px;margin-top:12px}
 .lab-phone-record-title>.archive-symbol{flex:none;width:34px;height:38px;color:#f5b49b;object-fit:contain}
 .lab-phone-record-title h2{margin:0}
 .lab-phone-record-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;color:#efa88b;font:9px/1.5 ui-monospace,monospace}
 .lab-phone-record-meta span+span{border-left:1px solid #d9e5ea45;padding-left:8px}
 .lab-phone-record-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;flex:none}
 #labPhone .lab-phone-record-nav button{font-size:8px;background:transparent;padding:8px;min-width:84px}
 #labPhoneCount{font:9px monospace;color:#f1805d}
 .lab-phone-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;margin-top:8px;border-top:1px solid #e2eff225;padding-top:4px}
 #labPhone .lab-phone-footer button{padding:5px 0;background:transparent;border:0;min-height:44px;font-size:8px}
 #labPhone[data-mode=overview] .lab-phone-footer{margin-top:0}
 body.has-no-webgl #labPhone .lab-phone-instrument{top:60px}
 @media(max-width:375px){.lab-phone-instrument{padding-left:16px;padding-right:16px}.lab-phone-desks strong{font-size:19px}.lab-phone-reading h2{font-size:27px}.lab-phone-heading>span{font-size:7px}}
 @media(max-height:650px) and (orientation:portrait){.lab-phone-instrument{top:calc(46dvh - 65px - env(safe-area-inset-top,0px));padding-top:12px}.lab-phone-desks{margin-bottom:8px}.lab-phone-intro h1{font-size:32px}}
 @media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.lab-phone-instrument{background:#11212b;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#b4c6ce}}
 @supports not (height:1dvh){.lab-phone-instrument{top:calc(53vh - 65px - env(safe-area-inset-top,0px))}}
 @media(prefers-reduced-motion:reduce){#labPhone *{scroll-behavior:auto!important;transition:none!important}}
}
/* Room entrance uses the same edge-to-edge glass sheet as the other sections. */
@media(max-width:760px) and (orientation:portrait){
 #labPhone[data-mode=overview] .lab-phone-heading{padding:9px 18px 13px;border-bottom:1px solid #d9e5e215;background:linear-gradient(180deg,#0a1117ed,#0a1117a8)}
 #labPhone[data-mode=overview] .lab-phone-heading>span{color:#ddc7a0;font-size:9px;font-weight:600;letter-spacing:.09em}
 #labPhone[data-mode=overview] .lab-phone-instrument{top:calc(56dvh - 65px - env(safe-area-inset-top,0px));bottom:0;left:0;right:0;padding:18px 20px calc(8px + env(safe-area-inset-bottom,0px));border:1px solid var(--workshop-glass-edge);border-bottom:0;border-radius:24px 24px 0 0;background:var(--workshop-glass-light),var(--workshop-glass-tint);box-shadow:var(--workshop-glass-shadow);backdrop-filter:var(--workshop-glass-filter);-webkit-backdrop-filter:var(--workshop-glass-filter)}
 #labPhone[data-mode=overview] .lab-phone-eyebrow{color:#ed8c55;font-size:8px;letter-spacing:.045em}
 #labPhone[data-mode=overview] .lab-phone-intro h1{font-size:clamp(34px,11vw,44px);line-height:.98;margin:10px 0 12px;font-weight:800}
 #labPhone[data-mode=overview] .lab-phone-intro p{font-size:13px;line-height:1.45;margin:0 0 16px;max-width:32ch;color:#d0d8d8}
 #labPhone[data-mode=overview] .lab-phone-desks{gap:9px;margin:12px 0}
 #labPhone[data-mode=overview] .lab-phone-desks button{position:relative;min-height:78px;padding:12px 11px;border-radius:14px;background:var(--workshop-glass-control);border-color:var(--workshop-glass-edge)}
 #labPhone[data-mode=overview] .lab-phone-desks button:first-child{background:var(--workshop-glass-accent);border-color:#ffac8490;box-shadow:inset 0 1px 0 #fff3}
 #labPhone[data-mode=overview] .lab-phone-desks span{font-size:8px;letter-spacing:.06em;color:#dae0dc;margin-bottom:5px}
 #labPhone[data-mode=overview] .lab-phone-desks strong{font-size:clamp(21px,5.8vw,25px);line-height:1.05;white-space:normal;padding-right:12px}
 #labPhone[data-mode=overview] .lab-phone-desks i{position:absolute;right:10px;top:40px;color:#f4e5d4;font-size:16px}
 #labPhone[data-mode=overview] .lab-phone-footer{border-color:#dce9e92b}
 #labPhone[data-mode=overview] .lab-phone-footer button{font-size:9px;color:#d8dfdd}
}
@media(max-width:375px) and (orientation:portrait){#labPhone[data-mode=overview] .lab-phone-instrument{left:0;right:0;padding:15px 16px calc(8px + env(safe-area-inset-bottom,0px))}#labPhone[data-mode=overview] .lab-phone-intro p{font-size:12px}#labPhone[data-mode=overview] .lab-phone-desks button{padding:10px 8px;min-height:74px}}
@media(max-height:650px) and (orientation:portrait){#labPhone[data-mode=overview] .lab-phone-instrument{top:calc(47dvh - 65px - env(safe-area-inset-top,0px));padding-top:12px}#labPhone[data-mode=overview] .lab-phone-intro h1{font-size:30px;margin:6px 0 8px}#labPhone[data-mode=overview] .lab-phone-intro p{line-height:1.4;margin-bottom:8px}#labPhone[data-mode=overview] .lab-phone-desks{margin:8px 0}#labPhone[data-mode=overview] .lab-phone-desks button{min-height:64px;padding:8px}#labPhone[data-mode=overview] .lab-phone-desks strong{font-size:20px}}
/* Landscape at the existing phone breakpoint: scene left, instrument right. */
@media(max-width:760px) and (orientation:landscape), (min-width:761px) and (max-width:1023px) and (max-height:500px){
 .lab-phone-heading{width:48%;padding:6px 12px}.lab-phone-heading>span{max-width:130px;font-size:7px}
 .lab-phone-instrument{top:6px;left:49%;padding:10px calc(14px + env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) 14px;border-radius:18px 0 0 0}
 .lab-phone-desks{gap:5px;margin-bottom:7px}#labPhone .lab-phone-desks button{padding:5px}.lab-phone-desks strong{font-size:18px}.lab-phone-desks span{font-size:6px}
 .lab-phone-intro h1{font-size:32px}.lab-phone-intro p,.lab-phone-reading p{font-size:12px}
 .lab-phone-domains{padding-bottom:5px}#labPhone .lab-phone-domains button{padding:5px 2px}.lab-phone-domains svg{width:16px;height:16px}.lab-phone-domains span{font-size:6px}
 .lab-phone-footer{margin-top:3px;padding-top:0}.lab-phone-reading h2{font-size:25px}.lab-phone-sections{margin-bottom:4px}.lab-phone-record-nav{margin-top:2px}
}
