/* camera debug dialog: preview exists only inside this modal */
.camera-dialog{width:min(920px,94vw);border:0;border-radius:16px;padding:0;overflow:hidden;background:#07100d;color:#fff;box-shadow:0 35px 100px rgba(20,34,28,.34)}.camera-dialog::backdrop{background:rgba(10,19,15,.72)}.camera-preview{height:min(76vh,680px);background:#07100d;position:relative;overflow:hidden}.camera-preview video{width:100%;height:100%;object-fit:cover}.camera-head{position:absolute;z-index:3;inset:0 0 auto;height:76px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(4,10,8,.8),transparent)}.camera-head h2{margin:0;color:#fff;font-size:22px}.camera-head-actions{display:flex;gap:10px}.camera-icon-button{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;background:rgba(5,14,11,.62)}.camera-icon-button svg{width:22px;height:22px}.camera-guide{position:absolute;z-index:2;top:82px;left:22px;display:grid;gap:3px;max-width:min(520px,calc(100% - 44px));padding:12px 14px;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;background:rgba(5,14,11,.58);font-size:15px;line-height:1.45;text-align:left}.camera-guide span{color:rgba(255,255,255,.82)}.camera-body{padding:18px 22px 22px;background:#fffdf8;color:var(--ink)}.camera-status{padding:14px 0;font-size:15px;color:var(--ink2)}.camera-status[data-state=on]{color:var(--leaf);font-weight:700}.camera-status[data-state=denied],.camera-status[data-state=busy],.camera-status[data-state=missing]{color:var(--coral)}.camera-actions{display:flex;justify-content:flex-end;gap:10px}.camera-actions button{height:44px;border-radius:10px;border:1px solid var(--line);background:#fff;padding:0 16px;font-weight:700}.camera-actions .primary{background:var(--leaf);border-color:var(--leaf);color:#fff}
/* 2026-09-15（用户拍板：主页「摄像头」合并成唯一入口）——弹窗里多两行：选设备 + 「正在用的」 */
.camera-dialog .camera-row{display:flex;align-items:center;gap:10px;margin:10px 0}
.camera-dialog .camera-row>span{color:var(--ink2);font-size:15px;white-space:nowrap}
.camera-dialog .camera-row>b{font-size:15px;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.camera-dialog .cam-select{flex:1;min-width:0;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:0 10px;font-size:15px}
.camera-status[data-state=starting],.camera-status[data-state=error]{color:var(--coral)}
