.algorithm-detail-modal{z-index:1200!important}.algorithm-detail-modal .ant-modal{top:34px;max-width:calc(100vw - 80px)}.algorithm-detail-modal .ant-modal-body{max-height:calc(100vh - 96px);overflow:auto}.algorithm-detail-modal .muted{color:#8c8c8c}.algorithm-detail-modal .detail-shell{min-height:520px;background:#fafbfc}.algorithm-detail-modal .detail-hero{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#f7fbff,#fff 60%);border-bottom:1px solid #edf0f5}.algorithm-detail-modal .detail-identity{min-width:0}.algorithm-detail-modal .detail-heading{color:#162033;font-size:19px;font-weight:700;line-height:28px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.algorithm-detail-modal .detail-heading-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;min-width:0}.algorithm-detail-modal .detail-heading-row .detail-heading{min-width:0}.algorithm-detail-modal .detail-status-pill{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin-left:0}.algorithm-detail-modal .detail-status-indicator{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;padding:3px 10px 3px 8px;border-radius:12px;background:#f8fafb;border:1px solid #edf0f5}.algorithm-detail-modal .detail-status-text{color:#4b5563;font-size:12px;font-weight:500;line-height:18px}.algorithm-detail-modal .detail-subline{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:4px;color:#606a7b;font-size:12px}.algorithm-detail-modal .detail-subline span{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.algorithm-detail-modal .detail-subline-sep{width:1px;height:12px;background:#d1d5db;-ms-flex-negative:0;flex-shrink:0}.algorithm-detail-modal .detail-tabs{padding:0 12px 12px}.algorithm-detail-modal .detail-tabs .ant-tabs-bar{margin-bottom:12px;border-bottom-color:#edf0f5}.algorithm-detail-modal .detail-tabs .ant-tabs-nav .ant-tabs-tab{padding:8px 0;margin-right:20px;font-size:13px;color:#6b7280}.algorithm-detail-modal .detail-tabs .ant-tabs-nav .ant-tabs-tab-active{color:#111827;font-weight:600}.algorithm-detail-modal .detail-title{font-weight:600;color:#1f2d3d;margin-bottom:12px}.algorithm-detail-modal .result-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:12px}.algorithm-detail-modal .live-workspace{display:grid;grid-template-columns:180px minmax(0,1fr) 260px;gap:12px;-webkit-box-align:start;-ms-flex-align:start;align-items:start}.algorithm-detail-modal .live-channel-rail,.algorithm-detail-modal .live-inspector,.algorithm-detail-modal .live-stage-card{border:1px solid #dde4ef;border-radius:8px;background:#fff}.algorithm-detail-modal .live-channel-rail{padding:10px;max-height:506px;overflow:hidden}.algorithm-detail-modal .live-channel-head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:10px;margin-bottom:10px}.algorithm-detail-modal .live-channel-head strong{display:block;color:#172033;font-size:18px;font-weight:600;line-height:24px}.algorithm-detail-modal .live-channel-head span{display:block;color:#7a8499;font-size:12px;line-height:18px}.algorithm-detail-modal .live-channel-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.algorithm-detail-modal .live-channel-search{margin-bottom:8px}.algorithm-detail-modal .live-channel-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px;max-height:452px;overflow:auto;padding-right:2px}.algorithm-detail-modal .live-channel-item{width:100%;padding:8px 10px;border:none;border-radius:4px;background:transparent;cursor:pointer;text-align:left;-webkit-transition:background .14s ease;transition:background .14s ease}.algorithm-detail-modal .live-channel-item:hover{background:#f3f6fa}.algorithm-detail-modal .live-channel-item.active{background:#eff6ff}.algorithm-detail-modal .live-channel-item.alarm{background:#fef2f2}.algorithm-detail-modal .live-channel-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.algorithm-detail-modal .live-channel-name{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;color:#1f2d3d;font-size:13px;font-weight:500;line-height:18px;word-break:break-all}.algorithm-detail-modal .live-channel-badge{-ms-flex-negative:0;flex-shrink:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#f3f4f6;color:#374151;font-size:11px;font-weight:600;line-height:18px;text-align:center}.algorithm-detail-modal .live-channel-item.alarm .live-channel-badge{background:#fecaca;color:#b91c1c}.algorithm-detail-modal .live-channel-time{margin-top:2px;margin-left:16px;color:#9ca3af;font-size:11px;line-height:16px}.algorithm-detail-modal .live-main{min-width:0}.algorithm-detail-modal .live-stage-head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #edf0f5}.algorithm-detail-modal .live-camera-title{color:#172033;font-size:16px;font-weight:600;line-height:24px}.algorithm-detail-modal .live-camera-sub{color:#697386;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.algorithm-detail-modal .live-stage{position:relative;padding:10px;background:#121722;aspect-ratio:1.77777778}.algorithm-detail-modal .live-empty-state,.algorithm-detail-modal .live-viewport{position:relative;width:100%;height:100%;border:1px solid #2b3445;border-radius:4px;background:#090d14;overflow:hidden}.algorithm-detail-modal .live-image-viewport{cursor:-webkit-zoom-in;cursor:zoom-in}.algorithm-detail-modal .live-viewport img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.algorithm-detail-modal .live-player-viewport{cursor:default}.algorithm-detail-modal .live-player{position:absolute;inset:0;width:100%;height:100%}.algorithm-detail-modal .live-box-layer{position:absolute;inset:0;z-index:3;pointer-events:none}.algorithm-detail-modal .ai-detection-box{position:absolute;min-width:24px;min-height:18px;border:2px solid #23d18b;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.42),0 0 14px rgba(35,209,139,.26);box-shadow:0 0 0 1px rgba(0,0,0,.42),0 0 14px rgba(35,209,139,.26)}.algorithm-detail-modal .ai-detection-box span{position:absolute;left:-2px;top:-24px;max-width:180px;height:22px;padding:0 7px;border-radius:3px 3px 3px 0;background:#23d18b;color:#06130d;font-size:12px;font-weight:600;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.algorithm-detail-modal .live-player-warning{position:absolute;left:12px;bottom:48px;z-index:4;gap:6px;height:28px;padding:0 10px;border:1px solid rgba(250,173,20,.45);border-radius:4px;background:rgba(20,16,8,.78);color:#ffd666;font-size:12px}.algorithm-detail-modal .live-empty-state,.algorithm-detail-modal .live-player-warning{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.algorithm-detail-modal .live-empty-state{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.algorithm-detail-modal .live-hud{position:absolute;z-index:2;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;height:28px;padding:0 10px;border:1px solid hsla(0,0%,100%,.18);border-radius:4px;background:rgba(12,17,26,.78);color:#fff;font-size:12px}.algorithm-detail-modal .live-hud-left{top:12px;left:12px}.algorithm-detail-modal .live-hud-right{right:12px;bottom:12px}.algorithm-detail-modal .live-dot{width:8px;height:8px;border-radius:50%;background:#2f9e44}.algorithm-detail-modal .live-inspector{padding:10px;max-height:506px;overflow:auto}.algorithm-detail-modal .inspector-section+.inspector-section{margin-top:14px;padding-top:14px;border-top:1px solid #edf0f5}.algorithm-detail-modal .snapshot-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.algorithm-detail-modal .snapshot-shot{position:relative;width:100%;padding:0;border:1px solid #e2e8f0;border-radius:4px;background:#fff;cursor:pointer;overflow:hidden;text-align:left}.algorithm-detail-modal .snapshot-shot.active{border-color:#1890ff;-webkit-box-shadow:0 0 0 2px rgba(24,144,255,.14);box-shadow:0 0 0 2px rgba(24,144,255,.14)}.algorithm-detail-modal .snapshot-shot img{display:block;width:100%;height:64px;-o-object-fit:cover;object-fit:cover;background:#f4f6fa}.algorithm-detail-modal .snapshot-time{display:block;padding:2px 6px;color:#9ca3af;font-size:8px;line-height:14px;white-space:nowrap}.algorithm-detail-modal .detection-row{display:grid;grid-template-columns:70px minmax(0,1fr) 48px;gap:8px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:28px;font-size:12px}.algorithm-detail-modal .detection-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.algorithm-detail-modal .detection-row strong{text-align:right;color:#1f2d3d;font-weight:500}.algorithm-detail-modal .overview-panel{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:14px}.algorithm-detail-modal .overview-metric-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:10px}.algorithm-detail-modal .overview-metric{-webkit-box-flex:1;-ms-flex:1 1 120px;flex:1 1 120px;min-width:0;padding:12px 14px;border:1px solid #d6ebff;border-radius:8px;background:linear-gradient(135deg,#eef7ff,#f6fbff)}.algorithm-detail-modal .overview-metric span{display:block;color:#8a94a6;font-size:12px;line-height:18px}.algorithm-detail-modal .overview-metric strong{display:block;margin-top:4px;color:#1f2937;font-size:20px;font-weight:700;line-height:26px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.algorithm-detail-modal .overview-metric-wide{-ms-flex-preferred-size:100%;flex-basis:100%;border-color:#edf0f5;background:#fff}.algorithm-detail-modal .overview-metric-wide strong{font-size:15px;font-weight:600;white-space:normal;word-break:break-word}.algorithm-detail-modal .overview-image-area{text-align:center}.algorithm-detail-modal .overview-image-area img{display:inline-block;max-width:100%;max-height:480px;border:1px solid #edf0f5;border-radius:8px;background:#fafafa;cursor:-webkit-zoom-in;cursor:zoom-in}.algorithm-detail-modal .result-thumb{width:72px;height:48px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid #edf0f5;cursor:pointer}.algorithm-detail-modal .log-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:12px}.algorithm-detail-modal .log-toolbar-reload{margin-left:auto}.algorithm-detail-modal .log-level-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px}.algorithm-detail-modal .log-level-text{font-size:12px;font-weight:500;font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;color:#374151}.algorithm-detail-modal .result-actions-right{margin-left:auto;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:4px}.algorithm-detail-modal .result-detection-chip{display:inline-block;padding:1px 6px;margin:2px 4px 2px 0;border-radius:3px;background:#f3f4f6;color:#374151;font-size:12px;line-height:18px}.algorithm-detail-modal .metrics-panel{padding:4px 0}.algorithm-detail-modal .metrics-status-bar{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:14px;padding:6px 12px;border-radius:8px;background:#f8fafb;border:1px solid #edf0f5}.algorithm-detail-modal .metrics-status-text{font-size:13px;color:#374151;font-weight:500}.algorithm-detail-modal .metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.algorithm-detail-modal .metrics-info-box{margin-top:12px;padding:10px 12px;border:1px solid #edf0f5;border-radius:8px;background:#fff}.algorithm-detail-modal .metrics-error-box{border-color:#fecaca;background:#fef2f2}.algorithm-detail-modal .metrics-info-label{display:block;color:#8a94a6;font-size:12px;line-height:18px;margin-bottom:4px}.algorithm-detail-modal .metrics-error-value{color:#dc2626;font-size:13px;word-break:break-word}.algorithm-detail-modal .metrics-info-value{color:#374151;font-size:13px}.algorithm-detail-modal .live-head-meta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;-ms-flex-negative:0;flex-shrink:0}.algorithm-detail-modal .live-meta-label{color:#6b7280;font-size:12px}.algorithm-detail-modal .live-meta-label-warn{color:#d97706}.algorithm-detail-modal .live-meta-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:11px;font-weight:600;line-height:16px}.algorithm-detail-modal .live-meta-badge-ai{background:#dbeafe;color:#1d4ed8}.algorithm-detail-modal .live-meta-badge-osd{background:#fef3c7;color:#92400e}.algorithm-detail-modal .live-dot-active{-webkit-animation:dot-breathe-green 2s ease-in-out infinite;animation:dot-breathe-green 2s ease-in-out infinite}.algorithm-detail-modal .status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;-ms-flex-negative:0;flex-shrink:0;vertical-align:middle}.algorithm-detail-modal .status-dot-green{background:#10b981;-webkit-box-shadow:0 0 0 0 rgba(16,185,129,.5);box-shadow:0 0 0 0 rgba(16,185,129,.5);-webkit-animation:dot-breathe-green 2s ease-in-out infinite;animation:dot-breathe-green 2s ease-in-out infinite}.algorithm-detail-modal .status-dot-red{background:#ef4444;-webkit-box-shadow:0 0 0 0 rgba(239,68,68,.5);box-shadow:0 0 0 0 rgba(239,68,68,.5);-webkit-animation:dot-breathe-red 2s ease-in-out infinite;animation:dot-breathe-red 2s ease-in-out infinite}.algorithm-detail-modal .status-dot-orange{background:#f59e0b;-webkit-box-shadow:0 0 0 0 rgba(245,158,11,.5);box-shadow:0 0 0 0 rgba(245,158,11,.5);-webkit-animation:dot-breathe-orange 2s ease-in-out infinite;animation:dot-breathe-orange 2s ease-in-out infinite}.algorithm-detail-modal .status-dot-gray{background:#9ca3af}@-webkit-keyframes dot-breathe-green{0%,to{-webkit-box-shadow:0 0 0 0 rgba(16,185,129,.45);box-shadow:0 0 0 0 rgba(16,185,129,.45)}50%{-webkit-box-shadow:0 0 0 4px rgba(16,185,129,0);box-shadow:0 0 0 4px rgba(16,185,129,0)}}@keyframes dot-breathe-green{0%,to{-webkit-box-shadow:0 0 0 0 rgba(16,185,129,.45);box-shadow:0 0 0 0 rgba(16,185,129,.45)}50%{-webkit-box-shadow:0 0 0 4px rgba(16,185,129,0);box-shadow:0 0 0 4px rgba(16,185,129,0)}}@-webkit-keyframes dot-breathe-red{0%,to{-webkit-box-shadow:0 0 0 0 rgba(239,68,68,.45);box-shadow:0 0 0 0 rgba(239,68,68,.45)}50%{-webkit-box-shadow:0 0 0 4px rgba(239,68,68,0);box-shadow:0 0 0 4px rgba(239,68,68,0)}}@keyframes dot-breathe-red{0%,to{-webkit-box-shadow:0 0 0 0 rgba(239,68,68,.45);box-shadow:0 0 0 0 rgba(239,68,68,.45)}50%{-webkit-box-shadow:0 0 0 4px rgba(239,68,68,0);box-shadow:0 0 0 4px rgba(239,68,68,0)}}@-webkit-keyframes dot-breathe-orange{0%,to{-webkit-box-shadow:0 0 0 0 rgba(245,158,11,.45);box-shadow:0 0 0 0 rgba(245,158,11,.45)}50%{-webkit-box-shadow:0 0 0 4px rgba(245,158,11,0);box-shadow:0 0 0 4px rgba(245,158,11,0)}}@keyframes dot-breathe-orange{0%,to{-webkit-box-shadow:0 0 0 0 rgba(245,158,11,.45);box-shadow:0 0 0 0 rgba(245,158,11,.45)}50%{-webkit-box-shadow:0 0 0 4px rgba(245,158,11,0);box-shadow:0 0 0 4px rgba(245,158,11,0)}}@media (max-width:900px){.algorithm-detail-modal .live-workspace,.algorithm-detail-modal .overview-panel{grid-template-columns:1fr}.algorithm-detail-modal .detail-hero{display:grid}.algorithm-detail-modal .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.algorithm-detail-modal .live-stage{aspect-ratio:1.77777778}.algorithm-detail-modal .live-channel-rail,.algorithm-detail-modal .live-inspector{max-height:none}.algorithm-detail-modal .live-channel-list{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;max-height:none}}