.cam-container .cam-card{background:var(--card);border-radius:var(--radius);box-shadow:0 1px 6px #00000012;padding:20px;margin-bottom:14px}@media(max-width:640px){.cam-container .cam-card{padding:15px}}.cam-container .cam-card-stage{padding:14px}.cam-container .cam-sec-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:var(--sub);letter-spacing:.3px;margin-bottom:12px}.cam-container .cam-live{display:inline-flex;align-items:center;gap:5px;font-weight:500}.cam-container .cam-live-dot{width:7px;height:7px;border-radius:50%;background:#4caf50;animation:cam-pulse 1.6s ease-in-out infinite}@keyframes cam-pulse{0%,to{opacity:1}50%{opacity:.25}}.cam-container .cam-gate{background:var(--card);border-radius:var(--radius);box-shadow:0 1px 6px #00000012;padding:34px 24px;text-align:center}.cam-container .cam-gate-icon{font-size:46px;line-height:1}.cam-container .cam-gate-title{font-size:20px;font-weight:800;color:var(--text);margin-top:14px}.cam-container .cam-gate-desc{font-size:13px;color:var(--sub);line-height:1.7;max-width:36em;margin:10px auto 0}.cam-container .cam-gate-desc b{color:var(--text);font-weight:700}.cam-container .cam-gate-btn{margin-top:20px;padding:13px 34px;border:none;border-radius:var(--radius);background:linear-gradient(135deg,var(--primary),var(--primary-end));color:#fff;font-size:15px;font-weight:800;font-family:inherit;cursor:pointer;transition:filter .15s,transform .1s}.cam-container .cam-gate-btn:hover{filter:brightness(1.08)}.cam-container .cam-gate-btn:active{transform:scale(.99)}.cam-container .cam-gate-btn:disabled{opacity:.6;cursor:progress}.cam-container .cam-gate-hint{font-size:11px;color:var(--sub);margin-top:12px}.cam-container .cam-notice{display:flex;align-items:flex-start;gap:12px;background:#f443361a;border-left:4px solid #f44336;border-radius:14px;padding:16px;margin-bottom:14px}.cam-container .cam-notice-icon{font-size:24px;line-height:1.1;flex-shrink:0}.cam-container .cam-notice-title{font-size:15px;font-weight:800;color:var(--text);margin-bottom:4px}.cam-container .cam-notice-desc{font-size:13px;color:var(--sub);line-height:1.6}.cam-container .cam-notice-retry{margin-top:10px;padding:8px 16px;border:none;border-radius:9px;background:var(--card);color:var(--primary);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}.cam-container .cam-notice-retry:hover{filter:brightness(.97)}.cam-container .cam-verdict{display:flex;align-items:center;gap:13px;background:var(--card);border-radius:var(--radius);box-shadow:0 1px 6px #00000012;border-left:4px solid var(--sub);padding:15px 18px;margin-bottom:14px;transition:border-color .3s}.cam-container .cam-verdict.ok{border-left-color:#4caf50}.cam-container .cam-verdict.warn{border-left-color:#ffa726}.cam-container .cam-verdict.bad{border-left-color:#f44336}.cam-container .cam-verdict-dot{width:13px;height:13px;border-radius:50%;flex-shrink:0;background:var(--sub);transition:background .3s}.cam-container .cam-verdict.ok .cam-verdict-dot{background:#4caf50}.cam-container .cam-verdict.warn .cam-verdict-dot{background:#ffa726}.cam-container .cam-verdict.bad .cam-verdict-dot{background:#f44336}.cam-container .cam-verdict-title{font-size:16px;font-weight:800;color:var(--text)}.cam-container .cam-verdict-desc{font-size:12.5px;color:var(--sub);line-height:1.55;margin-top:2px}.cam-container .cam-stage{position:relative;width:100%;aspect-ratio:16 / 9;background:#14151a;border-radius:12px;overflow:hidden}.cam-container .cam-stage video{width:100%;height:100%;object-fit:contain;display:block;transition:transform .18s}.cam-container .cam-stage.mirror video{transform:scaleX(-1)}.cam-container .cam-badge{position:absolute;left:10px;bottom:10px;padding:4px 9px;border-radius:7px;background:#0000008c;color:#fff;font-size:11px;font-weight:700;letter-spacing:.3px;font-variant-numeric:tabular-nums;pointer-events:none}.cam-container .cam-stage-act{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}.cam-container .cam-toggle{padding:8px 14px;border:none;border-radius:9px;background:var(--card-alt);color:var(--sub);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.cam-container .cam-toggle:hover{background:var(--primary-muted);color:var(--primary)}.cam-container .cam-toggle.active{background:var(--primary);color:#fff}.cam-container .cam-stage-hint{flex:1;min-width:200px;font-size:11px;color:var(--sub);line-height:1.5}.cam-container .cam-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cam-container .cam-n{background:var(--card-alt);border-radius:11px;padding:10px 4px;text-align:center}.cam-container .cam-n-v{font-size:15px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.2}.cam-container .cam-n-k{font-size:11px;color:var(--sub);margin-top:4px}.cam-container .cam-luma{margin-top:14px}.cam-container .cam-luma-bar{position:relative;height:10px;border-radius:5px;overflow:hidden;background:linear-gradient(to right,#14151a,#9a9aa2,#fff)}.cam-container .cam-luma-fill{position:absolute;top:-3px;bottom:-3px;left:0;width:3px;border-radius:2px;background:var(--primary);transform:translate(-50%);transition:left .18s linear}.cam-container .cam-luma-legend{display:flex;justify-content:space-between;font-size:10px;color:var(--sub);margin-top:6px}.cam-container .cam-luma-foot,.cam-container .cam-info-foot{font-size:11px;color:var(--sub);line-height:1.6;margin-top:9px}.cam-container .cam-luma-foot b,.cam-container .cam-info-foot b{color:var(--text);font-weight:700}.cam-container .cam-rec-desc{font-size:13px;color:var(--sub);line-height:1.65;margin-bottom:14px}.cam-container .cam-rec-desc b{color:var(--text);font-weight:700}.cam-container .cam-rec-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cam-container .cam-rec-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:var(--radius);background:linear-gradient(135deg,var(--primary),var(--primary-end));color:#fff;font-size:15px;font-weight:800;font-family:inherit;cursor:pointer;transition:filter .15s}.cam-container .cam-rec-btn:hover{filter:brightness(1.08)}.cam-container .cam-rec-btn:disabled{opacity:.5;cursor:not-allowed}.cam-container .cam-rec-btn.recording{background:#d04848}.cam-container .cam-rec-ic{font-size:13px;line-height:1}.cam-container .cam-rec-btn.recording .cam-rec-ic{animation:cam-pulse 1s ease-in-out infinite}.cam-container .cam-rec-timer{font-size:13px;color:var(--sub);font-variant-numeric:tabular-nums;font-weight:600}.cam-container .cam-rec-prog{height:4px;border-radius:3px;background:var(--card-alt);overflow:hidden;margin-top:12px}.cam-container .cam-rec-prog-fill{height:100%;width:0%;border-radius:3px;background:linear-gradient(to right,var(--primary),var(--primary-end));transition:width .1s linear}.cam-container .cam-play{margin-top:16px}.cam-container .cam-play video{width:100%;display:block;border-radius:12px;background:#14151a}.cam-container .cam-play-act{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.cam-container .cam-play-hint{flex:1;min-width:180px;font-size:11px;color:var(--sub);line-height:1.5;font-variant-numeric:tabular-nums}.cam-container .cam-rec-note,.cam-container .cam-rec-unsupported{font-size:11px;color:var(--sub);line-height:1.6;margin-top:12px}.cam-container .cam-rec-note b{color:var(--text);font-weight:700}.cam-container .cam-ctrl-label{font-size:12px;font-weight:700;color:var(--sub);margin-bottom:8px}.cam-container .cam-tabs{display:inline-flex;background:var(--card-alt);border-radius:10px;padding:4px;gap:3px}.cam-container .cam-tab{padding:8px 16px;border:none;border-radius:8px;background:transparent;color:var(--sub);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.cam-container .cam-tab.active{background:var(--primary);color:#fff}.cam-container .cam-tab:disabled{opacity:.45;cursor:not-allowed}.cam-container .cam-res-warn{display:flex;align-items:flex-start;gap:10px;background:var(--card-alt);border-left:4px solid var(--sub);border-radius:12px;padding:12px 14px;margin-top:14px}.cam-container .cam-res-warn-ic{font-size:16px;line-height:1.3;flex-shrink:0}.cam-container .cam-res-warn>div{font-size:12.5px;color:var(--text);line-height:1.65}.cam-container .cam-res-warn b{font-weight:800}.cam-container .cam-res-warn-foot{font-size:11px;color:var(--sub);line-height:1.6;margin-top:6px}.cam-container .cam-dev-row{display:flex;align-items:center;gap:10px;margin-top:18px}.cam-container .cam-dev-row label{width:56px;flex-shrink:0;font-size:13px;color:var(--sub);font-weight:500}.cam-container .cam-select-wrap{flex:1;min-width:0;height:42px;display:flex;align-items:center;border:1.5px solid var(--border);border-radius:10px;background:var(--card-alt);overflow:hidden;transition:border-color .2s,background .2s}.cam-container .cam-select-wrap:focus-within{border-color:var(--primary);background:var(--card)}.cam-container .cam-select-wrap select{flex:1;min-width:0;height:100%;padding:0 12px;border:none;outline:none;background:transparent;color:var(--text);font-size:14px;font-weight:600;font-family:inherit;appearance:none;-webkit-appearance:none}.cam-container .cam-info{width:100%;border-collapse:collapse;margin-top:16px}.cam-container .cam-info th,.cam-container .cam-info td{text-align:left;padding:9px 0;font-size:13px;border-bottom:1px solid var(--border);vertical-align:top}.cam-container .cam-info tr:last-child th,.cam-container .cam-info tr:last-child td{border-bottom:none}.cam-container .cam-info th{width:110px;color:var(--sub);font-weight:500}.cam-container .cam-info td{color:var(--text);font-weight:600;word-break:break-word;font-variant-numeric:tabular-nums}.cam-container .cam-ghost{display:inline-block;padding:10px 18px;border:none;border-radius:10px;background:var(--card-alt);color:var(--sub);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.cam-container .cam-ghost:hover{background:var(--primary-muted);color:var(--primary)}.cam-container .cam-act{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}@media(max-width:560px){.cam-container .cam-nums{grid-template-columns:repeat(2,1fr)}.cam-container .cam-info th{width:92px}.cam-container .cam-dev-row{flex-direction:column;align-items:stretch;gap:6px}.cam-container .cam-dev-row label{width:auto}.cam-container .cam-tabs{display:flex;width:100%}.cam-container .cam-tab{flex:1;padding-left:6px;padding-right:6px}}
