/* Private camera panel: fixed preview, independently scrolling controls, reachable actions. */
#camera-effects-open{min-height:44px;min-width:44px}
#camera-effects-dialog{width:min(840px,calc(100vw - 24px));height:min(650px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:20px;border:1px solid #dbc8af;border-radius:22px;background:#fffaf3;color:var(--ink);overflow:hidden;box-sizing:border-box}
#camera-effects-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
#camera-effects-dialog::backdrop{background:#292019b3;backdrop-filter:blur(5px)}
#camera-effects-dialog button,#camera-effects-dialog select,#camera-effects-dialog input[type=range]{min-height:44px;min-width:44px}
#camera-effects-dialog button{border:1px solid #ddccb6;border-radius:10px;background:#fffaf3;color:var(--ink);padding:8px 10px;font-size:14px}
#camera-effects-dialog button:disabled{opacity:.5;cursor:default}
.camera-header{display:flex;align-items:start;justify-content:space-between;gap:10px;min-width:0}
.camera-header>div{min-width:0}.camera-header h2{font-size:22px;margin:0 0 5px}
#camera-status{font-size:12px;line-height:1.5;margin:0;overflow-wrap:anywhere;color:var(--muted)}
#camera-close{flex:none;font-size:24px!important;padding:0!important;width:44px}
.camera-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,1fr);gap:20px;min-height:0;overflow:hidden}
.camera-preview-panel{min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px}
.camera-video-frame{position:relative;width:100%;aspect-ratio:4/3;min-height:0;overflow:hidden;border-radius:16px;background:#e9ddcc;flex:0 1 auto}
.camera-video-frame video{width:100%;height:100%;object-fit:contain;display:block}
.camera-video-frame video[hidden]{display:none}
#camera-preview-empty{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:12px;text-align:center;color:#80664d}
#camera-preview-empty[hidden]{display:none}#camera-preview-empty>span{font-size:38px}#camera-preview-empty p{font-size:14px}
#camera-comparison-label{position:absolute;left:8px;top:8px;max-width:calc(100% - 16px);padding:4px 8px;border-radius:6px;background:#2b211ddd;color:#fff;font-size:11px}
.camera-preview-actions{display:flex;align-items:center;gap:8px;flex:none}
.camera-preview-actions>button{flex:1}.camera-preview-actions label{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:12px;gap:5px;margin:0;white-space:nowrap}
.camera-preview-actions input{width:18px;height:18px;margin:0}
#camera-tracking{font-size:11px;color:var(--muted);margin:0;line-height:1.45}
#camera-start,#camera-raw-request{flex:none;width:100%}
#camera-controls{border:0;margin:0;padding:0 4px 0 0;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain}
#camera-controls legend{font-weight:600;font-size:16px;margin-bottom:10px}
.camera-presets{display:flex;gap:6px;margin-bottom:12px}.camera-presets button{flex:1;min-width:0!important;font-size:13px!important;padding:6px!important}
.camera-presets button[aria-pressed=true]{background:#755239!important;color:#fffaf3!important;border-color:#755239!important}
#camera-controls label{display:flex;justify-content:space-between;align-items:center;margin:6px 0 0;font-size:13px;min-width:0}
#camera-controls output{font-variant-numeric:tabular-nums;color:var(--muted)}
#camera-controls input[type=range]{width:100%;box-sizing:border-box;max-width:100%;margin:0;accent-color:#93653f;padding:0}
#camera-controls select{width:100%;box-sizing:border-box;max-width:100%;margin:8px 0 0;border:1px solid #dcccba;border-radius:10px;background:#fffaf3;color:var(--ink);padding:6px 10px}
.camera-hint{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0}
.camera-footer{padding-top:8px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #e5d8c5;min-width:0}
.camera-footer p{font-size:11px;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}
.camera-footer>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#camera-effects-dialog .camera-primary{background:#755239;color:#fffaf3;border-color:#755239}
@media(max-width:600px) and (min-height:451px){
 #camera-effects-dialog{padding:12px;border-radius:16px;gap:8px;height:calc(100dvh - 24px)}
 .camera-header h2{font-size:18px}.camera-content{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:10px}
 .camera-video-frame{aspect-ratio:auto;height:min(29dvh,210px);flex:none}
 .camera-preview-panel{gap:4px}.camera-preview-actions{gap:6px}
 #camera-controls{padding-right:4px}.camera-footer{padding-top:6px}
}
@media(max-height:450px){
 #camera-effects-dialog{width:calc(100vw - 20px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);padding:8px 12px;gap:5px}
 .camera-header h2{font-size:16px}.camera-header p{font-size:11px}.camera-content{grid-template-columns:minmax(0,1fr) minmax(200px,1fr);gap:12px}
 .camera-preview-panel{overflow:auto;gap:4px}.camera-video-frame{aspect-ratio:auto;height:110px;flex:none}
 .camera-footer{padding-top:4px}.camera-footer p{font-size:10px;margin-bottom:4px}
}
#camera-ar-picker{margin-top:6px}
#camera-ar-picker[hidden]{display:none}
#camera-ar-status{font-size:12px;color:var(--muted);margin:4px 0}
.camera-ar-group{border:0;border-top:1px solid #d8c7ad;margin:6px 0 0;padding:6px 0 0;min-width:0}
.camera-ar-group legend{font-size:11px;color:var(--muted);padding:0 4px}
.camera-ar-prop{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:3px 4px 3px 0;padding:4px 10px;border:1px solid #bba68d;border-radius:10px;background:#fffaf0;font-size:13px}
.camera-ar-prop img{width:32px;height:32px;object-fit:contain}
.camera-ar-prop[aria-pressed=true]{background:#755239;color:#fffaf3;border-color:#755239}
.camera-ar-actions{margin-top:6px}
