.fullscreen-toggle{margin-left:auto;white-space:nowrap;font-size:12px;padding:9px 12px;min-height:42px;flex-shrink:0}
body.test-fullscreen-open{overflow:hidden}
/* Keep existing controls inside the fullscreen element; do not clone their state. */
.lab.test-fullscreen:not([hidden]){position:fixed!important;inset:0!important;width:100%!important;max-width:none!important;height:100vh!important;height:100dvh!important;z-index:1000;border:0;border-radius:0;margin:0!important;display:flex;flex-direction:column;overflow:hidden;background:#0d1412;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.lab.test-fullscreen>.lab-top{order:0;flex:0 0 auto;padding:6px 12px;gap:8px;min-height:50px}
.lab.test-fullscreen>.screen,.lab.test-fullscreen[data-running="true"]>.screen,#video-lab.test-fullscreen>.screen.video-screen{order:2;flex:1 1 0;width:100%!important;height:auto!important;min-height:80px;aspect-ratio:auto!important;margin:0!important}
.lab.test-fullscreen>.speed-settings,.lab.test-fullscreen>.controls{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;flex:0 0 auto;margin:0!important;box-shadow:none;padding:8px 12px!important;z-index:auto}
.lab.test-fullscreen>.speed-settings{order:5;border-top:1px solid #2b3833;background:#18211f;gap:6px}
.lab.test-fullscreen>.speed-settings small{display:none}
.lab.test-fullscreen>.speed-settings select{min-height:40px}
.lab.test-fullscreen>.controls{order:6;background:#18211f}
.lab.test-fullscreen>.controls .stage-controls{display:grid;grid-template-columns:1fr 1fr;max-width:860px;width:100%;margin:auto;gap:8px}
.lab.test-fullscreen>.controls .stage-controls button{width:100%;min-height:48px!important;padding:10px 8px!important;font-size:14px!important}
.lab.test-fullscreen>.controls>.primary{min-height:48px;width:min(100%,860px)}
.lab.test-fullscreen>.controls>.text-button{margin:4px auto 0;padding:5px 12px}
.lab.test-fullscreen>.test-feedback{order:3;flex:0 0 auto;min-height:0;padding:4px 12px!important;font-size:11px;line-height:1.5}
.lab.test-fullscreen>.video-info,.lab.test-fullscreen>.return-home,.lab.test-fullscreen>.test-results{display:none}
.lab.test-fullscreen>.f-warning{order:1;flex:0 1 auto;overflow:auto;max-height:40dvh;font-size:14px;padding:8px 12px}
.lab.test-fullscreen .warning-title{font-size:16px}
@media(max-width:520px){.lab.test-fullscreen>.lab-top{font-size:11px;flex-wrap:wrap}.lab.test-fullscreen>.lab-top>span:nth-last-of-type(1){display:none}.fullscreen-toggle{font-size:11px;padding:8px 10px}.lab.test-fullscreen .stage-controls kbd{display:none}}
@media(max-height:500px){.lab.test-fullscreen>.lab-top{min-height:40px;padding:2px 10px}.lab.test-fullscreen .fullscreen-toggle{min-height:36px;padding:5px 10px}.lab.test-fullscreen>.speed-settings,.lab.test-fullscreen>.controls{padding:3px 10px!important}.lab.test-fullscreen>.speed-settings select{min-height:32px}.lab.test-fullscreen>.test-feedback{display:none}}
/* Edge-to-edge experiment with touch controls overlaid, never an opaque toolbar. */
.lab.test-fullscreen>.screen,.lab.test-fullscreen[data-running="true"]>.screen,#video-lab.test-fullscreen>.screen.video-screen{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0;border:0}
.lab.test-fullscreen>.lab-top{position:absolute;top:env(safe-area-inset-top);left:0;right:0;z-index:4;background:transparent;pointer-events:none}
.lab.test-fullscreen>.lab-top>span{display:none!important}
.lab.test-fullscreen .fullscreen-toggle{pointer-events:auto}
.lab.test-fullscreen .frequency,.lab.test-fullscreen #f-frequency{top:calc(18px + env(safe-area-inset-top));left:calc(18px + env(safe-area-inset-left));background:none!important;color:rgba(255,255,255,.65);font-size:18px;font-weight:600;padding:0;box-shadow:none;text-shadow:0 1px 4px #0008;pointer-events:none}
.lab.test-fullscreen>.controls{position:absolute!important;bottom:env(safe-area-inset-bottom)!important;left:env(safe-area-inset-left)!important;right:env(safe-area-inset-right)!important;width:auto!important;z-index:4;background:none!important;border:0;padding:10px 14px!important;pointer-events:none}
.lab.test-fullscreen>.speed-settings{position:absolute!important;bottom:calc(112px + env(safe-area-inset-bottom))!important;left:0!important;right:0!important;z-index:4;background:none!important;border:0;color:rgba(255,255,255,.65);text-shadow:0 1px 4px #0008;pointer-events:none}
.lab.test-fullscreen button,.lab.test-fullscreen select{background:rgba(20,30,27,.28)!important;border:1px solid rgba(255,255,255,.30)!important;color:rgba(255,255,255,.75)!important;box-shadow:none;pointer-events:auto;text-shadow:0 1px 3px #0008}
.lab.test-fullscreen button:hover,.lab.test-fullscreen button:focus-visible,.lab.test-fullscreen select:focus-visible{background:rgba(20,30,27,.58)!important;color:#fff!important}
.lab.test-fullscreen button:disabled{opacity:.35;pointer-events:none}
.lab.test-fullscreen select option{background:#18211f;color:#eff4ed}
.lab.test-fullscreen>.test-feedback{display:none!important}
.lab.test-fullscreen>.f-warning{position:absolute;top:60px;left:12px;right:12px;z-index:5;max-height:60dvh}
@media(max-height:500px){.lab.test-fullscreen>.speed-settings{bottom:calc(96px + env(safe-area-inset-bottom))!important}.lab.test-fullscreen>.controls{padding:5px 12px!important}}
/* Join the speed row to controls in every start/play/pause state. */
html[data-version="mobile"] .lab:not(.test-fullscreen)>.speed-settings{bottom:var(--controls-height,62px);padding-bottom:8px}
html[data-version="mobile"] .lab:not(.test-fullscreen)>.controls{padding-top:0}
html[data-version="desktop"] .lab:not(.test-fullscreen)>.speed-settings{padding-bottom:8px}
html[data-version="desktop"] .lab:not(.test-fullscreen)>.controls{padding-top:0}
@media(max-width:600px){.lab:not(.test-fullscreen)>.speed-settings{bottom:var(--controls-height,62px);padding-bottom:8px}.lab:not(.test-fullscreen)>.controls{padding-top:0}}
.lab.test-fullscreen>.speed-settings{bottom:calc(var(--controls-height,62px) + env(safe-area-inset-bottom))!important;padding-bottom:8px!important}
.lab.test-fullscreen>.controls{padding-top:0!important}
/* PC regular view: keep the speed hint alongside the selector, not between rows. */
html[data-version="desktop"] .lab:not(.test-fullscreen)>.speed-settings small{flex-basis:auto}
html[data-version="desktop"] #motion-lab:not(.test-fullscreen)>.controls,html[data-version="desktop"] #game-lab:not(.test-fullscreen)>.controls{border-top:0}
@media(max-width:767px){html[data-version="desktop"] .lab:not(.test-fullscreen)>.speed-settings small{display:none}}
