/* Shared PTZ layout: presets | zoom | focus | joystick, speed underneath. */
.source-control-panel.ptz-remote .compact-google-layout {
 display:grid;grid-template-columns:44px 40px 40px minmax(0,180px);
 grid-template-rows:190px auto;column-gap:clamp(10px,3vw,22px);row-gap:20px;
 max-width:430px;margin:20px auto 8px;align-items:center;
}
.source-control-panel.ptz-remote .ptz-preset-column {grid-column:1;grid-row:1 / 3;align-self:stretch;align-content:space-between;gap:8px;}
.source-control-panel.ptz-remote .compact-google-layout>.compact-rockers {grid-column:2;grid-row:1;align-self:center;}
.source-control-panel.ptz-remote .compact-google-layout>.ptz-focus {grid-column:3;grid-row:1;height:144px;}
.source-control-panel.ptz-remote .compact-navigation {display:contents;}
.source-control-panel.ptz-remote .compact-navigation .source-dpad {grid-column:4;grid-row:1;width:100%;max-width:180px;aspect-ratio:1;height:auto;}
.source-control-panel.ptz-remote .ptz-speed-control {grid-column:2 / 5;grid-row:2;max-width:300px;width:100%;gap:10px;font-size:12px;}
.source-control-panel.ptz-remote .ptz-spring-rocker>small {top:auto;bottom:calc(100% + 8px);font-size:18px;font-weight:700;color:#f3f5f7;line-height:22px;}
.source-control-panel.ptz-remote .ptz-spring-rocker,#ptz-control .ptz-spring-rocker {overflow:visible;background:transparent;border:0;box-shadow:none;}
.ptz-spring-rocker input.ptz-spring::-webkit-slider-runnable-track {background:linear-gradient(90deg,#000 0%,#030609 55%,#101820 100%);box-shadow:inset 2px 0 3px #000,inset -1px 0 1px #ffffff14,0 1px 1px #ffffff20;}
.ptz-spring-rocker input.ptz-spring::-moz-range-track {background:linear-gradient(90deg,#000,#030609 55%,#101820);box-shadow:inset 2px 0 3px #000,inset -1px 0 1px #ffffff14,0 1px 1px #ffffff20;}
.source-control-panel.ptz-remote .ptz-focus .focus-auto {top:150px;min-height:26px;}

#ptz-control:not([hidden]) {display:grid;grid-template-columns:44px 40px 40px minmax(0,180px);grid-template-rows:190px auto;gap:20px clamp(10px,3vw,22px);max-width:430px;margin:24px auto 0;align-items:center;}
#ptz-control .ptz-tools {display:contents;}
#ptz-control .ptz-tools>.dpad {grid-column:4;grid-row:1;width:100%;height:auto;aspect-ratio:1;box-sizing:border-box;}
#ptz-control .ptz-tools>.zoom {grid-column:2;grid-row:1;margin:0;}
#ptz-control .ptz-tools>#focus-tools {grid-column:3;grid-row:1;position:relative;}
#ptz-control .ptz-tools>.zoom::before {content:'Z';position:absolute;bottom:calc(100% + 8px);width:100%;text-align:center;font-size:18px;font-weight:700;color:#f3f5f7;}
#ptz-control .ptz-tools>#focus-tools::before {content:'F';}
#ptz-control #focus-tools>[data-focus=auto] {position:absolute;top:150px;}
#ptz-control .speed {grid-column:2 / 5;grid-row:2;background:transparent;padding:0;text-align:center;font-size:12px;}
#ptz-control .speed span {display:none;}
#ptz-control .speed input {margin:10px 0 0;}
#ptz-control #presets {grid-column:1;grid-row:1 / 3;grid-template-columns:1fr;align-self:stretch;align-content:space-between;gap:8px;}
#ptz-control .preset {padding:0;}
#ptz-control .preset strong {font-size:14px;}
#ptz-control .preset span {font-size:8px;}
#ptz-control .section-title,#ptz-control>.hint {grid-column:1 / -1;margin:0;}
@media(max-width:370px){
 .source-control-panel.ptz-remote .compact-google-layout,#ptz-control:not([hidden]) {grid-template-columns:40px 34px 34px minmax(0,1fr);column-gap:10px;}
}
