.lab-more-notes{display:contents}.lab-more-notes>summary{display:none}
@media(max-width:850px){
/* One owner for the mobile layout, after the desktop and shared styles. */
body.vr-lab.mobile-lab{padding-bottom:calc(58px + env(safe-area-inset-bottom))!important;overflow-x:hidden}
body.vr-lab.mobile-lab>header{position:relative!important;top:auto!important;height:44px!important;min-height:44px!important;z-index:20;background:#f7f9ff!important}
body.vr-lab.mobile-lab header .nav{height:44px!important;min-height:44px!important;padding:5px 12px!important;flex-wrap:nowrap!important;gap:8px!important;align-items:center!important}
body.vr-lab.mobile-lab header .nav nav{display:none!important}
body.vr-lab.mobile-lab header .brand{height:32px!important;gap:9px!important}
body.vr-lab.mobile-lab header .brand .partner-logo{width:76px!important;height:28px!important}
body.vr-lab.mobile-lab header .brand .brand-divider{height:19px!important}
body.vr-lab.mobile-lab main{height:calc(var(--lab-viewport,100dvh) - 102px - env(safe-area-inset-bottom));min-height:340px;display:grid;grid-template-rows:29px 34px minmax(0,1fr);gap:0;overflow:visible}
body.vr-lab.mobile-lab .lab-intro{position:static!important;margin:0!important;padding:4px 10px!important;height:29px;min-height:0!important;display:flex;align-items:center;flex-wrap:nowrap;gap:7px;overflow:hidden}
body.vr-lab.mobile-lab .lab-intro h1{font-size:14px!important;line-height:20px!important;letter-spacing:0!important;white-space:nowrap;margin:0!important}
body.vr-lab.mobile-lab .lab-mode-label{font-size:9px;line-height:13px;padding:2px 5px;white-space:nowrap}
body.vr-lab.mobile-lab .vr-toolbar{height:34px!important;min-height:0!important;padding:4px 9px!important;margin:0 8px!important;border-radius:7px 7px 0 0;gap:8px}
body.vr-lab.mobile-lab .vr-project{font-size:11px;line-height:20px}
body.vr-lab.mobile-lab #vrStageToggle{font-size:10px!important;line-height:18px;min-height:26px!important;height:26px;padding:3px 7px!important}
body.vr-lab.mobile-lab .lab{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(145px,.47fr) minmax(170px,.53fr)!important;gap:5px!important;padding:5px!important;margin:0 8px 0!important;width:auto!important;height:100%!important;max-height:none!important;min-height:0!important;overflow:hidden;border-radius:0 0 7px 7px}
body.vr-lab.mobile-lab .lab>.simulation-panel{grid-row:1;grid-column:1;display:grid!important;grid-template-rows:28px minmax(0,1fr) 23px!important;position:relative!important;top:auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important;border-radius:5px!important;padding:0!important;order:0}
body.vr-lab.mobile-lab .simulation-panel>.panel-head,body.vr-lab.mobile-lab .simulation-panel>.stage-toolbar{display:none!important}
body.vr-lab.mobile-lab .screen-box{min-height:0!important;height:28px!important;padding:3px 8px!important;display:flex!important;align-items:center;gap:7px}
body.vr-lab.mobile-lab .screen-top{font-size:0!important;flex:0 0 auto;line-height:1}
body.vr-lab.mobile-lab .screen-top>span:first-child{display:none!important}
body.vr-lab.mobile-lab .screen-top .led{height:7px!important;width:7px!important;display:block}
body.vr-lab.mobile-lab .screen{font-size:13px!important;line-height:20px!important;min-height:0!important;height:22px!important;padding:1px 6px!important;margin:0!important;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.vr-lab.mobile-lab .stage-wrap{display:grid;grid-template-rows:minmax(0,1fr) 14px;gap:3px;padding:4px 7px!important;min-height:0;overflow:hidden}
body.vr-lab.mobile-lab .stage{height:100%!important;width:auto!important;max-width:100%!important;max-height:none!important;min-height:0!important;aspect-ratio:8/6!important;justify-self:center;align-self:center;margin:0!important;border-width:1px!important;border-radius:4px}
body.vr-lab.mobile-lab .stage-meta{font-size:9px!important;line-height:14px!important;margin:0!important;gap:5px;white-space:nowrap}
body.vr-lab.mobile-lab .stage-meta span:first-child{overflow:hidden;text-overflow:ellipsis}
body.vr-lab.mobile-lab .simulation-panel .status{font-size:10px!important;line-height:16px!important;min-height:0!important;height:23px!important;padding:3px 7px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.vr-lab.mobile-lab .simulation-panel .status strong{font-size:10px!important;line-height:16px!important;overflow:hidden;text-overflow:ellipsis}
body.vr-lab.mobile-lab .lab>.program-panel{grid-row:2;grid-column:1;display:grid!important;grid-template-rows:25px 32px 34px minmax(0,1fr)!important;gap:0;min-height:0!important;height:auto!important;max-height:none!important;overflow:hidden!important;position:relative;order:1;border-radius:4px}
body.vr-lab.mobile-lab .program-panel>.panel-head{height:25px!important;min-height:0!important;padding:3px 8px!important;display:block}
body.vr-lab.mobile-lab .program-panel .panel-head h2{font-size:12px!important;line-height:19px!important;margin:0!important;letter-spacing:0!important}
body.vr-lab.mobile-lab .program-panel .panel-head p{display:none!important}
body.vr-lab.mobile-lab .program-panel .counter{font-size:10px!important;line-height:19px}
body.vr-lab.mobile-lab .program-toolbar{height:32px!important;min-height:0!important;padding:2px 6px!important;display:flex;flex-wrap:nowrap!important;align-items:center;gap:5px;overflow-x:auto}
body.vr-lab.mobile-lab .program-toolbar button{font-size:10px!important;line-height:18px;min-height:27px!important;height:27px;padding:3px 6px!important;margin:0;white-space:nowrap;border-radius:4px}
body.vr-lab.mobile-lab .program-panel>div:has(>.start-block){padding:2px 8px 0!important;height:34px!important;min-height:0!important}
body.vr-lab.mobile-lab .start-block{height:32px!important;min-height:0!important;width:max-content!important;max-width:100%!important;font-size:11px!important;line-height:20px!important;padding:5px 11px!important;margin:0!important;border-radius:15px 15px 3px 3px!important}
body.vr-lab.mobile-lab .program-list{min-height:0!important;max-height:none!important;height:100%!important;padding:0 8px 32px!important;margin:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y}
body.vr-lab.mobile-lab .program-panel>.legend{display:none!important}
body.vr-lab.mobile-lab .program-row{height:40px!important;min-height:0!important;padding:4px 9px 4px 27px!important;line-height:30px!important}
body.vr-lab.mobile-lab .program-row .touch-handle{height:30px!important;top:5px!important;width:23px!important;font-size:18px!important}
body.vr-lab.mobile-lab .program-row .row-content{height:30px;min-height:0!important;font-size:12px!important}
body.vr-lab.mobile-lab .program-row input{max-width:108px!important;width:108px!important}
body.vr-lab.mobile-lab .mobile-lab-bar{height:calc(58px + env(safe-area-inset-bottom));min-height:0!important;padding:6px 10px calc(6px + env(safe-area-inset-bottom))!important;gap:7px;box-sizing:border-box;align-items:flex-start}
body.vr-lab.mobile-lab .mobile-lab-bar button{height:44px!important;min-height:44px!important;font-size:13px!important;line-height:20px;padding:10px 4px!important;border-radius:7px}
body.vr-lab.mobile-lab .resource-map-entry{bottom:calc(66px + env(safe-area-inset-bottom))!important;font-size:10px!important;line-height:18px!important;padding:5px 9px!important;right:12px!important;z-index:1000;background:#fffffff2!important}
body.vr-lab.mobile-lab.palette-open .palette-panel{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;overflow:auto!important;max-height:45dvh!important;min-height:0!important;width:auto!important;height:auto!important;position:fixed!important;left:10px!important;right:10px!important;top:auto!important;bottom:calc(65px + env(safe-area-inset-bottom))!important;z-index:1701!important;padding:10px!important}
body.vr-lab.mobile-lab.palette-open .palette-panel .panel-head{height:auto!important;min-height:0!important;padding:0 0 6px!important;grid-column:1/-1}
body.vr-lab.mobile-lab .lab-more-notes{display:block;border:0;margin:8px 12px 0!important;padding:0!important;background:transparent}
body.vr-lab.mobile-lab .lab-more-notes>summary{display:list-item;font-size:11px!important;padding:6px 0;color:#627da8}
body.vr-lab.mobile-lab .lab-more-notes>section{padding:12px 0!important;margin:0!important}
body.vr-lab.mobile-lab.mobile-stage-large .lab{grid-template-rows:minmax(0,1fr)!important}
body.vr-lab.mobile-lab.mobile-stage-large .program-panel{display:none!important}
body.vr-lab.mobile-lab.mobile-stage-large .simulation-panel{grid-template-rows:28px minmax(0,1fr) 23px!important}
body.vr-lab.mobile-lab .lab.vr-stage-expanded .simulation-panel .stage{height:100%!important;max-height:none!important}
}
@media(max-width:850px) and (max-height:540px) and (orientation:landscape){body.vr-lab.mobile-lab main{min-height:230px}body.vr-lab.mobile-lab .lab{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}body.vr-lab.mobile-lab .lab>.program-panel{grid-row:1;grid-column:1}body.vr-lab.mobile-lab .lab>.simulation-panel{grid-column:2}body.vr-lab.mobile-lab.mobile-stage-large .lab{grid-template-columns:1fr!important}body.vr-lab.mobile-lab.mobile-stage-large .simulation-panel{grid-column:1}}
@media(max-width:850px){body.vr-lab.mobile-lab .stage{width:100%!important;aspect-ratio:auto!important}}

/* Explicit canvas dimensions prevent percentage-height collapse in nested grids. */
@media(max-width:850px){
body.mobile-lab>header{position:relative!important;top:auto!important;height:44px!important;min-height:44px!important;z-index:20;background:#f7f9ff!important}
body.mobile-lab header .nav{height:44px!important;min-height:44px!important;padding:5px 12px!important;flex-wrap:nowrap!important;gap:8px!important;align-items:center!important}
body.mobile-lab header .nav nav{display:none!important}
body.mobile-lab header .brand{height:32px!important;gap:9px!important}
body.mobile-lab header .brand .partner-logo{width:76px!important;height:28px!important}
body.mobile-lab header .brand .brand-divider{height:19px!important}
body.vr-lab.mobile-lab .lab{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:5px!important}
body.vr-lab.mobile-lab .lab>.simulation-panel{display:block!important;flex:0 0 auto!important;align-self:stretch!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
body.vr-lab.mobile-lab .stage-wrap{display:block!important;min-height:0!important;height:auto!important;padding:4px 7px!important;overflow:visible!important}
body.vr-lab.mobile-lab .stage{display:block!important;height:clamp(120px,24dvh,200px)!important;min-height:120px!important;width:100%!important;max-width:100%!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important}
body.vr-lab.mobile-lab .stage-meta{height:15px!important;line-height:15px!important;margin-top:3px!important}
body.vr-lab.mobile-lab .lab>.program-panel{display:grid!important;flex:1 1 0!important;align-self:stretch!important;min-height:150px!important;height:auto!important;overflow:hidden!important;grid-template-rows:25px 30px 34px minmax(0,1fr)!important}
body.vr-lab.mobile-lab .program-toolbar{height:30px!important}
body.vr-lab.mobile-lab .program-list{min-height:0!important;height:auto!important;align-self:stretch!important;max-height:none!important}
body.vr-lab.mobile-lab .simulation-panel .status{height:23px!important;box-sizing:border-box!important}
body.vr-lab.mobile-lab #robot{min-width:30px!important;min-height:30px!important;width:11.5%!important;height:auto!important;aspect-ratio:1!important}
body.vr-lab.mobile-lab.mobile-stage-large .program-panel{display:none!important}
body.vr-lab.mobile-lab.mobile-stage-large .lab>.simulation-panel{flex:1 1 0!important;display:flex!important;flex-direction:column!important}
body.vr-lab.mobile-lab.mobile-stage-large .stage-wrap{flex:1;display:flex!important;flex-direction:column!important;min-height:0!important}
body.vr-lab.mobile-lab.mobile-stage-large .lab .stage{height:auto!important;flex:1;min-height:150px!important;max-height:none!important}
body.mobile-lab .race-intro{position:relative!important;top:auto!important;padding:6px 10px!important;margin:0!important}
body.mobile-lab .race-intro h1{font-size:16px!important;line-height:23px!important;margin:0!important}
body.mobile-lab .mission-tabs{margin:5px 0 0!important}
body.mobile-lab .mission-tabs button{font-size:10px!important;line-height:16px!important;min-height:32px!important;padding:5px 4px!important}
body.mobile-lab .race-board{position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important}
body.mobile-lab .race-layout{gap:6px!important;padding:4px 10px 8px!important}
body.mobile-lab .race-head{min-height:0!important;padding:6px 9px!important}
body.mobile-lab .race-head h2{font-size:13px!important;line-height:20px!important;margin:0!important}
body.mobile-lab .race-head p{display:none!important}
body.mobile-lab .race-program{min-height:100px!important;max-height:31dvh!important;overflow:auto!important}
body.mobile-lab .mission-info h3{font-size:12px!important;line-height:18px!important;margin:0!important}
body.mobile-lab .race-board .stage-toolbar{flex-wrap:nowrap!important}
body.mobile-lab .race-board .stage-toolbar strong{display:none!important}
body.mobile-lab .race-board .stage-toolbar button{padding:3px 6px!important;font-size:10px!important;white-space:nowrap!important}
}
@media(max-width:850px) and (max-height:540px) and (orientation:landscape){body.vr-lab.mobile-lab .lab{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:minmax(0,1fr)!important}body.vr-lab.mobile-lab .lab>.simulation-panel{grid-column:2!important;grid-row:1!important}body.vr-lab.mobile-lab .lab>.program-panel{grid-column:1!important;grid-row:1!important}body.vr-lab.mobile-lab .stage{height:120px!important}body.vr-lab.mobile-lab.mobile-stage-large .lab{display:flex!important}}
