/* Camera monitor: compact parameter strip, uncluttered picture, dedicated capture edge. */
body.camera-monitor-active #plannerMenubar,body.camera-monitor-active #plannerInspectorToggle,body.camera-monitor-active #shotPlannerTimeline,body.camera-monitor-active #panel{display:none!important;}
body.planner-reference.camera-monitor-active .plannerViewportCanvas{top:0!important;left:0!important;width:100vw!important;height:100dvh!important;}
body.camera-monitor-active #cameraViewToolbar{inset:0 0 auto!important;transform:none!important;box-sizing:border-box;width:100%;min-width:0;max-width:none;margin:0;padding:0 184px 0 24px;border:0;border-bottom:1px solid #ffffff25;border-radius:0;background:linear-gradient(#111315fa,#111315de);box-shadow:none;z-index:75;color:#f1f2f3;font:13px Arial,sans-serif;}
body.camera-monitor-active #cameraViewToolbar .toolbarRow{display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:0;min-height:76px;max-height:none;overflow:visible;}
body.camera-monitor-active #cameraViewToolbar>[hidden]{display:none!important;}
.cameraHudIdentity{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:132px;padding-right:25px;}
.cameraHudIdentity span{color:#a2a7ae;font:9px Arial;letter-spacing:.17em;}.cameraHudIdentity strong{font:600 15px Arial;letter-spacing:.1em;}
.cameraParameter{position:relative;min-width:120px;flex:1;max-width:200px;border-left:1px solid #ffffff15;}
.cameraParameter summary{height:76px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:10px 24px;list-style:none;cursor:pointer;}
.cameraParameter summary::-webkit-details-marker{display:none;}.cameraParameter summary>span:first-child{color:#989ea7;font:10px Arial;letter-spacing:.12em;}
.cameraParameter summary strong,.cameraParameter summary #toolbarFocalLengthLabel{font:500 20px/1 Arial,sans-serif;color:#fafafa;white-space:nowrap;}
.cameraParameter[open] summary,.cameraParameter summary:hover{background:#ffffff0b;}.cameraParameter[open] summary strong,.cameraParameter[open] summary #toolbarFocalLengthLabel{color:#edc34c;}
.cameraParameter summary:focus-visible{outline:2px solid #f0c34b;outline-offset:-3px;}
.cameraParameterPopup{position:absolute;top:84px;left:0;min-width:260px;max-width:350px;padding:16px;background:#17191df5;border:1px solid #454a53;border-radius:6px;box-shadow:0 12px 30px #0007;}
body.camera-monitor-active #cameraViewToolbar .cameraParameterPopup .toolbarGroup{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0;}
body.camera-monitor-active #cameraViewToolbar .cameraParameterPopup .toolbarGroup[hidden]{display:none;}
body.camera-monitor-active #cameraViewToolbar .cameraParameterPopup .toolbarLabel{display:none;}
body.camera-monitor-active #cameraViewToolbar .cameraParameterPopup button{width:auto;min-width:58px;min-height:40px;margin:0;padding:8px 12px;border:1px solid #494e57;border-radius:4px;background:#262a31;color:#f1f2f4;font:13px Arial;}
body.camera-monitor-active #cameraViewToolbar .cameraParameterPopup button.active{color:#f4ca56;border-color:#e3b63e;background:#3c3420;}
.cameraParameterPopup p{margin:0 0 14px;color:#aeb5bf;font:12px/1.6 Arial;}
body.camera-monitor-active #cameraViewToolbar #phoneCameraControlStatus{display:block;color:#e8c572;max-width:none;flex-basis:100%;font:11px/1.4 Arial;}
body.camera-monitor-active :is(#cameraViewExitButton,#cameraViewUiToggle,#cameraViewUiShowButton,#cameraViewHelpButton){position:fixed;inset:auto;transform:none;width:auto;max-width:none;min-height:36px;margin:0;padding:8px 12px;border:1px solid #454a52;border-radius:4px;background:#1a1d22de;color:#e9edf1;font:12px Arial;letter-spacing:0;z-index:80;}
body.camera-monitor-active #cameraViewExitButton{top:20px;right:20px;left:auto;bottom:auto;}
body.camera-monitor-active #cameraViewUiToggle{bottom:105px;right:20px;top:auto;left:auto;}
body.camera-monitor-active #cameraViewUiShowButton{bottom:24px;right:20px;top:auto;left:auto;}
body.camera-monitor-active #cameraViewHelpButton{display:block;right:20px;top:95px;bottom:auto;left:auto;font-size:11px;}
body.camera-monitor-active #cameraViewIndicator{display:none!important;}
body.camera-monitor-active #cameraShutterButton{position:fixed;top:50%;bottom:auto;right:24px;left:auto;transform:translateY(-50%);width:68px;height:68px;min-width:68px;min-height:68px;padding:7px;border:3px solid #f5f5f5;border-radius:50%;background:radial-gradient(circle,#f0f0f0 0 54%,#17191d 56% 100%);box-shadow:0 4px 20px #0006;font-size:0;z-index:76;}
body.camera-monitor-active #cameraShutterButton:after{content:'SAVE SHOT';position:absolute;top:78px;left:50%;transform:translateX(-50%);white-space:nowrap;font:10px Arial;letter-spacing:.1em;color:#e5e6e9;}
body.camera-monitor-active #cameraShutterButton:hover{filter:brightness(1.2);}body.camera-monitor-active #cameraShutterButton:active{background:radial-gradient(circle,#ecc450 0 54%,#17191d 56% 100%);}
#cameraMonitorStatus{display:none;}
body.camera-monitor-active #cameraMonitorStatus{position:fixed;inset:auto 0 0;z-index:74;display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px;box-sizing:border-box;padding:14px 26px;border-top:1px solid #ffffff20;background:linear-gradient(#111315d9,#111315fa);color:#f3f4f6;font:12px Arial;pointer-events:none;}
#cameraMonitorStatus>div{display:flex;flex-direction:column;gap:7px;}#cameraMonitorStatus strong{font-size:13px;font-weight:500;}#cameraMonitorStatus span{font-size:9px;letter-spacing:.14em;color:#8f99a6;}
#cameraMonitorStatus .cameraMonitorReady{color:#c8d4c1;}#cameraMonitorStatus output{font:22px/1 Consolas,monospace;letter-spacing:.08em;}.cameraMonitorTime{text-align:center;}.cameraMonitorFormat{text-align:right;}
body.camera-monitor-active #cameraZoomControl{position:fixed;top:auto;bottom:106px;left:50%;right:auto;transform:translateX(-50%);height:32px;width:240px;box-sizing:border-box;padding:0 28px;border:1px solid #ffffff30;border-radius:4px;background:#15191ddd;z-index:74;}
body.camera-monitor-active #cameraZoomSlider{position:static;transform:none;width:100%;height:30px;margin:0;accent-color:#e8c252;}
body.camera-monitor-active #cameraZoomControl:before{left:auto;right:9px;top:5px;transform:none;}body.camera-monitor-active #cameraZoomControl:after{left:9px;right:auto;top:5px;bottom:auto;transform:none;}
body.camera-monitor-active #mobileCameraMoveControl{width:92px;height:92px;left:20px;bottom:102px;border:1px solid #a2a8b0;background:#22262c9c;box-shadow:inset 0 0 0 6px #ffffff08,0 4px 16px #0005;}
body.camera-monitor-active #mobileCameraMoveStick{width:40px;height:40px;background:#bec4cc;border:2px solid #eff1f4;box-shadow:0 2px 8px #0005;}
body.camera-monitor-clean :is(#cameraViewToolbar,#cameraMonitorStatus,#cameraViewHelpButton){display:none!important;}
body.camera-monitor-clean #cameraShutterButton:after{display:none;}body.camera-monitor-clean #mobileCameraMoveControl{bottom:20px;}body.camera-monitor-clean #cameraZoomControl{bottom:24px;}
@media(max-width:1000px){body.camera-monitor-active #cameraViewToolbar{padding-left:12px;padding-right:148px;}.cameraHudIdentity{min-width:90px;padding-right:8px;}.cameraHudIdentity span{font-size:8px;}.cameraHudIdentity strong{font-size:12px;}.cameraParameter{min-width:90px;}.cameraParameter summary{padding:10px 14px;}.cameraParameter summary strong,.cameraParameter summary #toolbarFocalLengthLabel{font-size:17px;}.cameraParameterPopup{position:fixed;top:84px;left:12px;max-width:calc(100vw - 48px);}.cameraParameter:last-child .cameraParameterPopup{left:auto;right:12px;}}
@media(max-width:650px){body.camera-monitor-active #cameraViewToolbar{padding:0 10px;}.cameraHudIdentity{display:none;}.cameraParameter{min-width:0;max-width:none;}.cameraParameter summary{height:64px;padding:9px 10px;gap:7px;}.cameraParameter summary>span:first-child{font-size:8px;}.cameraParameter summary strong,.cameraParameter summary #toolbarFocalLengthLabel{font-size:15px;}body.camera-monitor-active #cameraViewToolbar .toolbarRow{min-height:64px;}.cameraParameterPopup{top:72px;}body.camera-monitor-active #cameraViewExitButton{top:76px;left:12px;right:auto;font-size:11px;}body.camera-monitor-active #cameraViewHelpButton{top:76px;right:12px;}body.camera-monitor-active #cameraViewUiToggle{right:12px;bottom:94px;font-size:10px;padding:7px;}body.camera-monitor-active #cameraShutterButton{right:14px;width:58px;height:58px;min-width:58px;min-height:58px;}body.camera-monitor-active #cameraShutterButton:after{top:67px;font-size:8px;}body.camera-monitor-active #cameraMonitorStatus{height:72px;padding:12px 14px;gap:12px;}#cameraMonitorStatus output{font-size:17px;}#cameraMonitorStatus strong{font-size:11px;}#cameraMonitorStatus .cameraMonitorFormat{display:none;}body.camera-monitor-active #cameraZoomControl{width:160px;bottom:148px;left:calc(50% + 28px);}body.camera-monitor-active #mobileCameraMoveControl{left:14px;bottom:90px;width:76px;height:76px;}body.camera-monitor-active #mobileCameraMoveStick{width:32px;height:32px;}body.camera-monitor-clean #cameraZoomControl{left:50%;bottom:24px;width:140px;}body.camera-monitor-clean #mobileCameraMoveControl{bottom:20px;}}
@media(max-height:500px) and (min-width:651px){body.camera-monitor-active #cameraViewToolbar .toolbarRow{min-height:58px;}.cameraParameter summary{height:58px;padding-block:7px;gap:5px;}.cameraParameterPopup{top:65px;max-height:calc(100dvh - 90px);overflow:auto;}body.camera-monitor-active #cameraViewExitButton{top:12px;}body.camera-monitor-active #cameraMonitorStatus{height:58px;padding-block:8px;}body.camera-monitor-active #cameraViewUiToggle{bottom:70px;}body.camera-monitor-active #cameraViewHelpButton{top:70px;}body.camera-monitor-active #cameraZoomControl{bottom:74px;}body.camera-monitor-active #mobileCameraMoveControl{bottom:72px;width:70px;height:70px;}}
#cameraExtraControls{display:none;position:fixed;left:18px;top:95px;width:215px;z-index:78;padding:10px;border:1px solid #46525e;border-radius:6px;background:#101820ed;color:#e8edf4;font:11px Arial}
body.camera-monitor-active #cameraExtraControls{display:grid;gap:10px}body.camera-monitor-clean #cameraExtraControls{display:none!important}
#cameraExtraControls button{width:auto;margin:0;min-height:36px;padding:7px 10px;font:11px Arial;background:#293442;border:1px solid #617080;border-radius:4px;color:#edf2f8;cursor:pointer}#cameraExtraControls button:disabled{opacity:.5;cursor:default}
#cameraExtraControls #phoneCameraControlButton{width:100%;border-color:#d1a747;color:#f5cd70;font-weight:600}#cameraExtraControls #phoneCameraControlButton.active{background:#71551c;color:#fff;border-color:#ffcf5a}
.cameraHeightControl{display:grid;grid-template-columns:1fr auto;gap:7px}.cameraHeightControl input{grid-column:1/-1;width:100%;margin:0;min-height:28px;accent-color:#e6b446;touch-action:pan-x}.cameraHeightControl>span{grid-column:1/-1;color:#abb8c7}.cameraHeightControl>span>span{float:right}.cameraPhoneActions{display:flex;gap:6px;flex-wrap:wrap}.cameraPhoneActions #phoneCameraControlStatus{flex-basis:100%;font:10px/1.4 Arial;color:#efca7d}
#phoneCameraInstructions{z-index:200}.phoneCameraInstructionsCard{max-height:calc(100dvh - 32px);overflow:auto}.phoneCameraInstructionsCard p+p{margin-top:12px}.phoneCameraInstructionsActions{flex-wrap:wrap}.phoneCameraInstructionsActions button{min-height:44px}
@media(max-width:650px){#cameraExtraControls{top:112px;left:12px;width:185px;padding:8px;gap:7px}#cameraExtraControls button{min-height:40px}.cameraHeightControl input{min-height:32px}}
@media(max-height:500px){#cameraExtraControls{top:100px;left:12px;width:190px;max-height:calc(100dvh - 155px);overflow:auto;padding:7px}.cameraPhoneActions #phoneCameraControlStatus:empty{display:none}}
#cameraHiddenHeight{display:none;position:fixed;left:18px;top:50%;transform:translateY(-50%);z-index:79;width:170px;padding:12px;border:1px solid #718091;border-radius:6px;background:#101820d9;color:#eef3f8;font:12px Arial}
body.camera-monitor-active.camera-monitor-clean #cameraHiddenHeight{display:grid!important}
#cameraMonitorStatus .cameraMonitorTime{display:grid;grid-template-columns:auto auto;align-items:center;gap:5px 14px;pointer-events:auto}#cameraMonitorStatus .cameraMonitorTime>span{grid-column:1}#cameraAnimationPlayback{grid-column:2;grid-row:1/3;min-height:40px;width:auto;margin:0;padding:7px 12px;border:1px solid #718091;border-radius:4px;background:#263441;color:#fff;font:12px Arial;cursor:pointer}#cameraAnimationPlayback:disabled{opacity:.45;cursor:default}
@media(max-width:650px){#cameraMonitorStatus .cameraMonitorTime{gap:5px 7px}#cameraAnimationPlayback{font-size:10px;padding:6px;min-height:40px}#cameraHiddenHeight{left:12px;width:150px}body.camera-monitor-active #cameraMonitorStatus{gap:8px}}
