.camera-player[data-v-9c7a37d8]{position:relative;display:flex;flex-direction:column;background:#0a0a0f;border:1px solid #1e2030;border-radius:6px;overflow:hidden;transition:border-color .2s}.camera-player[data-v-9c7a37d8]:hover{border-color:#3a7bd5}.player-header[data-v-9c7a37d8]{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#111320;flex-shrink:0;height:32px;box-sizing:border-box}.camera-name[data-v-9c7a37d8]{font-size:12px;color:#a0aec0;font-weight:500;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot[data-v-9c7a37d8]{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-left:6px;transition:background-color .3s}.dot-playing[data-v-9c7a37d8]{background:#48bb78;box-shadow:0 0 6px #48bb78}.dot-loading[data-v-9c7a37d8]{background:#ecc94b;animation:blink-9c7a37d8 1.2s ease-in-out infinite}.dot-error[data-v-9c7a37d8]{background:#fc8181}.dot-offline[data-v-9c7a37d8]{background:#4a5568}@keyframes blink-9c7a37d8{0%,to{opacity:1}50%{opacity:.3}}.player-body[data-v-9c7a37d8]{position:relative;flex:1;min-height:0}.player-container[data-v-9c7a37d8]{width:100%;height:100%}[data-v-9c7a37d8] canvas{width:100%!important;height:100%!important}.overlay[data-v-9c7a37d8]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:10;font-size:13px;color:#a0aec0}.loading-overlay[data-v-9c7a37d8]{background:#0a0a0fd9}.error-overlay[data-v-9c7a37d8]{background:#0a0a0feb}.offline-overlay[data-v-9c7a37d8]{background:#0a0a0fcc}.spinner[data-v-9c7a37d8]{width:32px;height:32px;border:3px solid #1e2030;border-top-color:#3a7bd5;border-radius:50%;animation:spin-9c7a37d8 .8s linear infinite}@keyframes spin-9c7a37d8{to{transform:rotate(360deg)}}.error-icon[data-v-9c7a37d8]{font-size:28px}.offline-icon[data-v-9c7a37d8]{font-size:28px;filter:grayscale(1);opacity:.5}.error-msg[data-v-9c7a37d8]{color:#fc8181;font-size:12px;text-align:center;padding:0 12px;max-width:200px;line-height:1.5}.retry-btn[data-v-9c7a37d8]{margin-top:4px;padding:5px 16px;background:#3a7bd5;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.retry-btn[data-v-9c7a37d8]:hover{background:#2c65bf}.fade-enter-active[data-v-9c7a37d8],.fade-leave-active[data-v-9c7a37d8]{transition:opacity .25s}.fade-enter-from[data-v-9c7a37d8],.fade-leave-to[data-v-9c7a37d8]{opacity:0}.grid-wrapper[data-v-6161dfd0]{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;width:100%;height:100%;transition:grid-template-columns .35s ease,grid-template-rows .35s ease}.grid-cell[data-v-6161dfd0]{position:relative;cursor:pointer;border-radius:6px;overflow:hidden;transition:opacity .3s ease,transform .3s ease;min-height:0}.grid-cell:hover .expand-hint[data-v-6161dfd0]{opacity:1}.has-expanded[data-v-6161dfd0]{grid-template-columns:1fr;grid-template-rows:1fr}.cell-expanded[data-v-6161dfd0]{grid-column:1 / -1;grid-row:1 / -1;z-index:2}.cell-hidden[data-v-6161dfd0]{display:none}.cell-placeholder[data-v-6161dfd0]{background:#0a0a0f;border:1px dashed #1e2030;cursor:default}.placeholder-content[data-v-6161dfd0]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#2d3748}.placeholder-icon[data-v-6161dfd0]{font-size:28px;opacity:.3}.placeholder-content p[data-v-6161dfd0]{font-size:12px;margin:0}.expand-hint[data-v-6161dfd0]{position:absolute;top:36px;right:8px;background:#0000008c;color:#e2e8f0;font-size:11px;padding:3px 8px;border-radius:3px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-layout[data-v-40f41c73]{display:flex;flex-direction:column;width:100vw;height:100vh;background:#060810;color:#e2e8f0;font-family:PingFang SC,Microsoft YaHei,Segoe UI,system-ui,sans-serif;overflow:hidden}.app-header[data-v-40f41c73]{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:48px;background:#0d1117;border-bottom:1px solid #1e2030;flex-shrink:0;z-index:100}.header-left[data-v-40f41c73]{display:flex;align-items:center;gap:10px}.logo-icon[data-v-40f41c73]{font-size:20px}.app-title[data-v-40f41c73]{font-size:16px;font-weight:600;color:#e2e8f0;letter-spacing:.05em}.header-right[data-v-40f41c73]{display:flex;align-items:center;gap:12px}.current-time[data-v-40f41c73]{font-size:13px;color:#718096;font-variant-numeric:tabular-nums;letter-spacing:.02em}.header-badge[data-v-40f41c73]{font-size:11px;padding:2px 10px;border-radius:12px;font-weight:500}.badge-ok[data-v-40f41c73]{background:#48bb7826;color:#68d391;border:1px solid rgba(72,187,120,.3)}.badge-loading[data-v-40f41c73]{background:#ecc94b26;color:#f6e05e;border:1px solid rgba(236,201,75,.3)}.badge-error[data-v-40f41c73]{background:#fc818126;color:#fc8181;border:1px solid rgba(252,129,129,.3)}.app-main[data-v-40f41c73]{flex:1;min-height:0;padding:8px;box-sizing:border-box}.config-error-panel[data-v-40f41c73],.load-error-panel[data-v-40f41c73]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;text-align:center;padding:24px}.config-error-icon[data-v-40f41c73],.error-icon-big[data-v-40f41c73]{font-size:48px;margin-bottom:8px}.config-error-panel h2[data-v-40f41c73],.load-error-panel h2[data-v-40f41c73]{font-size:18px;font-weight:600;color:#e2e8f0;margin:0}.config-error-panel p[data-v-40f41c73],.load-error-panel .error-detail[data-v-40f41c73]{color:#fc8181;font-size:14px;margin:0}.config-steps[data-v-40f41c73],.error-tips[data-v-40f41c73]{background:#0d1117;border:1px solid #1e2030;border-radius:8px;padding:16px 24px;text-align:left;max-width:480px;width:100%}.config-steps p[data-v-40f41c73],.error-tips p[data-v-40f41c73]{color:#a0aec0;font-size:13px;margin:0 0 8px}.config-steps ol[data-v-40f41c73],.error-tips ul[data-v-40f41c73]{color:#718096;font-size:13px;padding-left:20px;margin:0;line-height:2}code[data-v-40f41c73]{background:#1a1f2e;color:#63b3ed;padding:1px 6px;border-radius:3px;font-size:12px;font-family:JetBrains Mono,Fira Code,monospace}.init-loading[data-v-40f41c73]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#718096}.big-spinner[data-v-40f41c73]{width:48px;height:48px;border:4px solid #1e2030;border-top-color:#3a7bd5;border-radius:50%;animation:spin-40f41c73 .9s linear infinite}@keyframes spin-40f41c73{to{transform:rotate(360deg)}}.retry-big-btn[data-v-40f41c73]{margin-top:8px;padding:8px 28px;background:#3a7bd5;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.retry-big-btn[data-v-40f41c73]:hover{background:#2c65bf}
