.camera-tool{width:min(1100px, calc(100vw - 24px));height:650px;max-height:calc(100vh - 24px);margin:12px auto;background:#fff;border:1px solid #d9e1ea;border-radius:18px;box-shadow:0 18px 50px rgb(15 23 42 / .12);overflow:hidden;display:flex;flex-direction:column}.tool-header{min-height:72px;padding:12px 18px;border-bottom:1px solid #e5eaf0;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff}.title-area{min-width:0}.title-area h1{margin:0;font-size:21px;font-weight:800;color:#111827;line-height:1.2}.title-area p{margin:4px 0 0;font-size:18px;font-weight:800;color:#111827;line-height:1.2}.status-box{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dce3eb;border-radius:10px;background:#f8fafc;white-space:nowrap;font-size:13px;font-weight:700}.status-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8}.status-dot.live{background:#16a34a;box-shadow:0 0 0 4px rgb(22 163 74 / .12)}.status-dot.recording{background:#dc2626;box-shadow:0 0 0 4px rgb(220 38 38 / .12)}.tool-body{flex:1;min-height:0;display:grid;grid-template-columns:59% 41%}.preview-column{min-width:0;padding:15px;background:#f7f9fc;border-right:1px solid #e4e9ef;display:flex;flex-direction:column}.preview-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.preview-label strong{font-size:14px;color:#172033}.preview-label span{font-size:11px;color:#64748b}.preview-box{flex:1;min-height:0;position:relative;overflow:hidden;background:#000;border-radius:14px;border:2px solid #d5dce5;box-shadow:inset 0 0 0 1px rgb(255 255 255 / .04)}#video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background:#000;transition:filter 0.15s ease,transform 0.2s ease}.camera-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;color:#fff;background:radial-gradient(circle at center,rgb(255 255 255 / .08),transparent 45%),#10141b;z-index:2}.camera-placeholder.hidden{display:none}.placeholder-content{max-width:340px}.placeholder-icon{width:64px;height:64px;margin:0 auto 12px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .15);font-size:29px}.placeholder-content h3{margin:0 0 6px;font-size:18px;color:#fff}.placeholder-content p{margin:0;color:#cbd5e1;font-size:12px;line-height:1.5}.preview-badge{position:absolute;z-index:4;top:10px;padding:6px 9px;border-radius:8px;background:rgb(15 23 42 / .78);color:#fff;font-size:11px;font-weight:700;backdrop-filter:blur(6px)}.preview-badge.left{left:10px}.preview-badge.right{right:10px}.preview-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px}.preview-action{height:39px;border:1px solid #d6dee8;background:#fff;border-radius:9px;font-size:12px;font-weight:700;color:#334155;cursor:pointer;transition:0.15s}.preview-action:hover{background:#f1f5f9;border-color:#b9c5d3}.preview-action.primary{background:#2563eb;color:#fff;border-color:#2563eb}.preview-action.primary:hover{background:#1d4ed8}.preview-action.danger{background:#fff;color:#dc2626;border-color:#fecaca}.preview-action.danger:hover{background:#fef2f2}.settings-column{min-width:0;overflow:auto;padding:13px;background:#fff}.settings-column::-webkit-scrollbar{width:6px}.settings-column::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.setting-section{border:1px solid #dce3eb;border-radius:12px;margin-bottom:10px;background:#fff;overflow:hidden}.section-title{min-height:37px;padding:8px 11px;display:flex;align-items:center;gap:8px;background:#f8fafc;border-bottom:1px solid #e5eaf0;font-size:13px;font-weight:800;color:#172033}.section-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:#e8eef7;font-size:13px}.section-content{padding:10px}.camera-select{width:100%;height:40px;padding:0 10px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#1e293b;font-size:13px;outline:none}.camera-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgb(37 99 235 / .1)}.control-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.control-grid.three{grid-template-columns:repeat(3,1fr)}.control-btn{min-height:39px;border:1px solid #d4dde7;border-radius:8px;background:#fff;color:#334155;font-size:12px;font-weight:700;cursor:pointer;transition:0.15s;display:flex;align-items:center;justify-content:center;gap:5px}.control-btn:hover{background:#f1f5f9;border-color:#b8c5d3}.control-btn.active{background:#eaf2ff;border-color:#3b82f6;color:#1d4ed8}.control-btn.blue{background:#2563eb;color:#fff;border-color:#2563eb}.control-btn.blue:hover{background:#1d4ed8}.control-btn.red{background:#dc2626;color:#fff;border-color:#dc2626}.control-btn.red:hover{background:#b91c1c}.control-btn.green{background:#16a34a;color:#fff;border-color:#16a34a}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.quick-btn{min-height:42px;border:1px solid #d4dde7;background:#fff;border-radius:9px;font-size:12px;font-weight:800;cursor:pointer;color:#334155}.quick-btn:hover{background:#f1f5f9}.quick-btn.normal{border-color:#16a34a;color:#15803d}.quick-btn.invert{border-color:#7c3aed;color:#6d28d9}.quick-btn.mirror{border-color:#2563eb;color:#1d4ed8}.slider-row{margin-bottom:9px}.slider-row:last-child{margin-bottom:0}.slider-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.slider-name{font-size:12px;font-weight:700;color:#334155}.slider-value{min-width:42px;text-align:center;padding:2px 5px;border-radius:5px;background:#eef2f7;color:#334155;font-size:11px;font-weight:800}.form-range{height:18px;margin:0}.form-range::-webkit-slider-thumb{width:17px;height:17px}.form-range::-moz-range-thumb{width:17px;height:17px}.capture-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.capture-btn{min-height:43px;border-radius:9px;border:1px solid #d4dde7;background:#fff;font-size:12px;font-weight:800;cursor:pointer}.capture-btn.snapshot{background:#2563eb;color:#fff;border-color:#2563eb}.capture-btn.record{background:#fff;color:#dc2626;border-color:#fecaca}.capture-btn.record.recording{background:#dc2626;color:#fff;border-color:#dc2626}.capture-btn.fullscreen{color:#334155}.help-text{margin:8px 0 0;color:#64748b;font-size:10px;line-height:1.45}@media (max-width:850px){.camera-tool{width:calc(100vw - 16px);height:auto;max-height:none;min-height:0;margin:8px auto}.tool-header{min-height:auto;padding:12px}.tool-body{display:flex;flex-direction:column}.preview-column{min-height:430px;height:52vh;border-right:0;border-bottom:1px solid #e4e9ef}.settings-column{overflow:visible}}@media (max-width:520px){.camera-tool{width:100%;margin:0;border-radius:0;border-left:0;border-right:0}.tool-header{padding:11px}.title-area h1{font-size:18px}.title-area p{font-size:11px}.status-box{padding:7px 8px;font-size:11px}.preview-column{height:45vh;min-height:300px;padding:10px}.settings-column{padding:10px}.section-content{padding:9px}}