:root{--bg:#0b1017;--panel:#111923;--panel-2:#151f2b;--line:#263445;--text:#e7edf4;--muted:#93a2b4;--cyan:#62c8d2;--amber:#e4b66c;--red:#df8585;--green:#78ba98}*{box-sizing:border-box}body{margin:0;min-width:1180px;background:var(--bg);color:var(--text);font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}.strategy-name{display:inline-flex;align-items:center;gap:5px}.strategy-help{position:relative;display:inline-flex}.info-button{display:inline-grid;place-items:center;width:15px;height:15px;padding:0;border:1px solid #557187;border-radius:50%;background:transparent;color:#9ab0bf;font:600 10px/1 Arial,sans-serif;cursor:help}.info-button:focus-visible,.info-button:hover{border-color:var(--cyan);color:var(--cyan);outline:0}.strategy-tooltip{z-index:5;left:calc(100% + 8px);width:260px;transform:translateY(-50%);padding:9px 10px;border:1px solid #3c6175;border-radius:4px;box-shadow:0 8px 22px rgba(0,0,0,.35);color:#c4d5df;font-size:12px;font-weight:400;line-height:1.55;white-space:normal}.strategy-tooltip,.strategy-tooltip:before{position:absolute;top:50%;background:#142433}.strategy-tooltip:before{content:"";left:-5px;width:8px;height:8px;transform:translateY(-50%) rotate(45deg);border-bottom:1px solid #3c6175;border-left:1px solid #3c6175}@media(max-width:720px){.strategy-tooltip{left:0;top:calc(100% + 8px);transform:none}.strategy-tooltip:before{left:4px;top:-5px;border:0;border-left:1px solid #3c6175;border-top:1px solid #3c6175}}.evidence-stage-list{display:grid;grid-gap:0;gap:0}.evidence-stage{display:grid;grid-template-columns:38px 1fr;grid-gap:12px;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.evidence-stage:last-child{border-bottom:0}.evidence-stage>strong{color:var(--cyan);font-size:13px}.evidence-stage b{font-size:13px}.evidence-stage p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}a{color:inherit;text-decoration:none}button,select{font:inherit}.shell{display:flex;min-height:100vh}.sidebar{width:244px;border-right:1px solid var(--line);padding:28px 16px;background:#0d141d}.brand{display:flex;gap:11px;align-items:center;margin:0 10px 34px;font-weight:700;letter-spacing:.4px}.brand-mark{width:29px;height:29px;border:1px solid var(--cyan);display:grid;place-items:center;color:var(--cyan);font-size:12px}.brand small{display:block;margin-top:3px;color:var(--muted);font-weight:500;font-size:10px;letter-spacing:1.4px}.nav-label{margin:21px 10px 8px;color:#69798c;font-size:11px;letter-spacing:1px}.nav-item{display:flex;align-items:center;gap:11px;color:#a9b8c7;padding:11px 10px;margin:2px 0;border-radius:4px;font-size:14px}.nav-item.active,.nav-item:hover{background:#182431;color:#eff8ff}.nav-icon{width:18px;color:var(--cyan)}.main{flex:1 1;padding:28px 38px 44px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.crumb{color:var(--muted);font-size:13px}.title{margin:6px 0 0;font-size:26px;letter-spacing:-.5px}.audience{background:var(--panel);border:1px solid var(--line);padding:9px 12px;color:var(--text);border-radius:4px}.audience label{margin-right:8px;color:var(--muted);font-size:12px}.audience select{background:transparent;border:0;color:var(--text);outline:none}.audience option{background:var(--panel)}.grid{display:grid;grid-gap:16px;gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:1fr 1fr}.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:18px}.card h3{font-size:14px;margin:0 0 14px}.meta,.metric-label{color:var(--muted);font-size:12px}.metric-value{font-size:29px;margin:10px 0 7px;font-weight:650}.hint{font-size:12px;color:var(--green)}.section{margin-top:22px}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.section-head h2{font-size:16px;margin:0}.section-head span{color:var(--muted);font-size:12px}.tag{display:inline-flex;padding:4px 8px;border-radius:3px;font-size:11px;border:1px solid;white-space:nowrap}.tag.capability-demo,.tag.demo{color:var(--amber);border-color:#775c31;background:#211d15}.tag.capability-realtime,.tag.live{color:var(--green);border-color:#315e48;background:#13241d}.tag.capability-planned{color:#9eb2c7;border-color:#496072;background:#17232e}.tag.high{color:#f0aaaa;border-color:#714148;background:#271719}.tag.medium{color:var(--amber);border-color:#6f5734;background:#251f16}.tag.ok{color:var(--green);border-color:#315e48;background:#13241d}table{width:100%;border-collapse:collapse}th{text-align:left;color:#8191a3;font-size:11px;letter-spacing:.5px;font-weight:500;padding:0 0 11px}td{border-top:1px solid var(--line);padding:13px 0;font-size:13px}td .muted{color:var(--muted);font-size:12px}.link{color:var(--cyan);cursor:pointer}.note{border-left:2px solid var(--cyan);padding:10px 13px;background:#101c25;color:#b3c6d5;font-size:13px;line-height:1.6}.two-col{display:grid;grid-template-columns:320px 1fr;grid-gap:16px;gap:16px}.asset-choice{width:100%;text-align:left;color:var(--text);padding:14px 0;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer}.asset-choice.active{color:var(--cyan)}.asset-choice small{display:block;color:var(--muted);margin-top:5px}.check{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.check:last-child{border:0}.check p{margin:4px 0 0;color:var(--muted)}.check p,.status{font-size:12px}.status.bad{color:var(--red)}.status.warn{color:var(--amber)}.status.good{color:var(--green)}.status.info{color:var(--cyan)}.pipeline{display:flex;align-items:center;gap:8px;color:#aebdca;font-size:12px}.pipeline i{height:1px;flex:1 1;background:var(--line)}.pipeline strong{display:block;color:var(--cyan);font-size:12px;margin-bottom:4px}.timeline{position:relative;padding:16px 0 0}.timeline:before{content:"";position:absolute;left:0;right:0;top:54px;height:1px;background:var(--line)}.event{position:relative;display:grid;grid-template-columns:100px 1fr 74px;align-items:center;min-height:66px;border-bottom:1px solid #1b2632}.dot{position:absolute;left:98px;top:28px;width:9px;height:9px;border-radius:50%;background:var(--amber);border:2px solid var(--panel)}.event p{margin:0 14px;font-size:13px}.event small{color:var(--muted)}.verification-workspace{display:grid;grid-gap:16px;gap:16px}.upload-workbench{display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;align-items:center}.upload-workbench h2{margin:0;font-size:16px}.upload-workbench p{margin:7px 0 0;color:var(--muted);font-size:12px}.upload-actions{display:flex;gap:10px;align-items:center}.file-picker{display:inline-flex;align-items:center;padding:8px 10px;border:1px solid #3f8690;color:var(--cyan);border-radius:3px;cursor:pointer;font-size:12px}.file-picker input{display:none}.outline-btn:disabled,.table-action:disabled{cursor:not-allowed;opacity:.42}.task-progress{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;grid-gap:8px 12px;gap:8px 12px;font-size:12px;color:var(--muted)}.task-progress strong{color:var(--cyan)}.task-progress i{grid-column:1/-1;height:5px;background:#243240;border-radius:6px;overflow:hidden}.task-progress b{display:block;height:100%;background:var(--cyan)}.upload-progress small{grid-column:1/-1;color:#8191a3}.table-task-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:7px;gap:7px;margin-top:7px;color:var(--cyan);font-size:11px}.table-task-progress i{height:4px;background:#243240;border-radius:5px;overflow:hidden}.table-task-progress b{display:block;height:100%;background:var(--cyan)}.realtime-error{grid-column:1/-1;color:var(--red);font-size:13px;margin:0}.history-card{margin:0}.table-actions,.table-toolbar{display:flex;gap:10px;align-items:center}.task-table td{vertical-align:middle}.table-action{border:0;background:transparent;color:var(--cyan);cursor:pointer;font-size:12px;padding:0}.modal-backdrop{position:fixed;inset:0;z-index:20;background:rgba(3,7,11,.72);display:grid;place-items:center;padding:28px}.report-modal{width:min(1120px,100%);max-height:calc(100vh - 56px);overflow:auto;background:var(--bg);border:1px solid #395268;border-radius:7px;box-shadow:0 24px 60px rgba(0,0,0,.42)}.modal-header{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:#101822;z-index:1}.modal-header h2{font-size:18px;margin:10px 0 4px}.modal-header p{margin:0;color:var(--muted);font-size:12px}.modal-close{border:0;background:transparent;color:#b6c7d5;font-size:28px;line-height:1;cursor:pointer}.modal-message{margin:20px 24px;padding:13px;border-left:2px solid var(--amber);background:#1d1a13;color:#c8b57f;font-size:13px}.error-message{border-color:var(--red);background:#251719;color:#e6a4a4}.demo-case-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-left:0;padding:14px 16px;border:1px dashed #5c4a2c;background:#161612}.demo-case-entry>div{display:flex;align-items:center;gap:12px}.demo-case-entry strong{font-size:13px}.demo-case-entry p{margin:4px 0 0;color:var(--muted);font-size:12px}.demo-case-content{padding:20px 24px 28px}.demo-case-layout{display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:16px;gap:16px}.demo-case-list{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.demo-case-list h3{margin:0;font-size:14px}.demo-case-list .section-head{margin-bottom:0}.demo-case-modal .card{min-width:0}.report-detail{padding:20px 24px 28px}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:16px}.report-summary>div{background:var(--panel-2);border-left:2px solid var(--cyan);padding:11px}.report-summary span{display:block;color:var(--muted);font-size:11px}.report-summary strong{display:block;margin-top:6px;font-size:14px}.detail-section{margin-top:22px}.detail-section h3{margin:0;font-size:14px}.raw-metadata{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.raw-metadata summary{cursor:pointer;color:var(--cyan);font-size:13px}.metadata-json{max-height:250px;overflow:auto;margin:10px 0 0;padding:12px;background:#0c131c;border:1px solid var(--line);color:#bcd4df;font-size:12px}.frame-table td{vertical-align:top}.frame-thumb{display:grid;grid-gap:5px;gap:5px;border:0;background:transparent;padding:0;color:var(--cyan);font-size:11px;cursor:pointer;text-align:left}.frame-thumb img{display:block;width:118px;height:66px;object-fit:cover;border:1px solid var(--line)}.image-lightbox{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:rgba(0,0,0,.88);padding:30px}.image-lightbox figure{position:relative;max-width:min(1200px,94vw);max-height:92vh;margin:0}.image-lightbox img{display:block;max-width:100%;max-height:calc(92vh - 42px);object-fit:contain}.image-lightbox figcaption{padding:10px;color:#c8d6e2;font-size:12px;text-align:center}.image-lightbox .modal-close{position:absolute;right:0;top:0;z-index:1;background:rgba(0,0,0,.5);padding:4px 9px}@media(max-width:1250px){.upload-workbench{grid-template-columns:1fr}.upload-actions{flex-wrap:wrap}.report-summary{grid-template-columns:repeat(2,1fr)}.demo-case-layout{grid-template-columns:1fr}.demo-case-entry,.demo-case-entry>div{align-items:flex-start}}.graph{min-height:260px;position:relative;background:linear-gradient(90deg,transparent 49.9%,#1a2632 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,#1a2632 50%,transparent 50.1%);background-size:36px 36px}.node{position:absolute;border:1px solid var(--line);background:#121c27;padding:11px;width:152px;font-size:12px}.node:after{content:"";position:absolute;height:1px;background:var(--cyan);width:102px;top:31px;left:100%}.node:first-child{left:40px;top:105px}.node:nth-child(2){left:42%;top:45px}.node:nth-child(3){right:40px;top:165px}.node:nth-child(3):after{display:none}.node small{color:var(--muted);display:block;margin-top:6px}.node.warn{border-color:#755233}.node.bad{border-color:#743f46}.weights{display:grid;grid-gap:13px;gap:13px}.weight-row{display:grid;grid-template-columns:100px 1fr 44px;align-items:center;grid-gap:10px;gap:10px;font-size:13px}.bar{height:7px;background:#243240;border-radius:5px;overflow:hidden}.fill{height:100%;background:var(--cyan)}.outline-btn{background:transparent;color:var(--cyan);border:1px solid #3f8690;padding:8px 10px;border-radius:3px;cursor:pointer;font-size:12px}.chart{height:180px;display:flex;align-items:flex-end;gap:26px;padding:10px 12px 0;border-bottom:1px solid var(--line)}.chart-col{display:flex;flex:1 1;height:100%;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;color:var(--muted);font-size:10px}.chart-bar{width:28px;background:#4e9da7}.legend{display:flex;gap:15px;color:var(--muted);font-size:12px;margin-top:12px}.legend i{display:inline-block;width:8px;height:8px;background:var(--cyan);margin-right:5px}.kpi{display:flex;gap:12px}.kpi>div{flex:1 1;padding:12px;background:var(--panel-2);border-left:2px solid var(--cyan)}.kpi strong{font-size:20px;display:block;margin-top:5px}.empty{color:var(--muted);padding:24px 0;font-size:13px}.capability-flow{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin:8px 0 18px}.capability-flow>div{min-height:104px;padding:11px;background:var(--panel-2);border-top:2px solid var(--cyan)}.capability-flow small,.capability-flow span,.capability-flow strong{display:block}.capability-flow strong{color:var(--cyan);font-size:12px}.capability-flow span{margin-top:8px;font-size:13px;font-weight:600}.capability-flow small{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4}.capability-matrix td{vertical-align:top;line-height:1.55}.capability-matrix td:not(:first-child){color:#b5c4d2}@media(max-width:1250px){.capability-flow{grid-template-columns:repeat(2,1fr)}}.batch-upload-workbench{padding:0;overflow:hidden}.batch-upload-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px}.batch-upload-header h2{margin:0;font-size:16px}.batch-upload-header p{margin:7px 0 0;color:var(--muted);font-size:12px}.batch-summary{display:flex;justify-content:space-between;align-items:center;padding:11px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#101822;font-size:12px}.batch-summary span{color:var(--cyan)}.batch-task-list{display:grid}.batch-task-item{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(220px,.8fr) minmax(180px,1fr);grid-gap:14px;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.batch-task-item:last-child{border-bottom:0}.batch-task-main span,.batch-task-main strong{display:block}.batch-task-main strong{font-size:13px}.batch-task-main span{margin-top:5px;color:var(--muted);font-size:11px}.batch-task-statuses{display:flex;gap:10px;flex-wrap:wrap}.batch-task-progress{display:grid;grid-template-columns:1fr 36px;grid-gap:8px;gap:8px;align-items:center;color:var(--muted);font-size:11px}.batch-task-progress i{height:5px;background:#243240;border-radius:6px;overflow:hidden}.batch-task-progress b{display:block;height:100%;background:var(--cyan)}.batch-task-item>.realtime-error{grid-column:1/-1}.primary-action{color:#081116;background:var(--cyan);border-color:var(--cyan);font-weight:650}.detail-next-step{position:-webkit-sticky;position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;border-top:1px solid #395268;background:#101822;box-shadow:0 -10px 28px rgba(3,7,11,.42)}.detail-next-step span,.detail-next-step strong{display:block}.detail-next-step strong{font-size:13px}.detail-next-step span{margin-top:4px;color:var(--muted);font-size:11px}.review-panel{padding:22px 24px 26px}.review-panel fieldset{display:grid;grid-gap:10px;gap:10px;margin:20px 0;padding:0;border:0}.review-panel legend{margin-bottom:10px;font-size:13px;font-weight:650}.review-option{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-size:13px}.review-option:has(input:checked){border-color:#3f8690;background:#11232b}.review-note{display:grid;grid-gap:8px;gap:8px;color:var(--muted);font-size:12px}.review-note textarea{min-height:110px;resize:vertical;padding:11px;border:1px solid var(--line);border-radius:4px;background:#0c131c;color:var(--text);font:inherit;line-height:1.55}.review-saved{margin-top:14px;padding:10px 12px;border-left:2px solid var(--green);background:#13241d;color:var(--green);font-size:12px}.review-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}@media(max-width:1250px){.batch-upload-header{align-items:flex-start}.batch-task-item{grid-template-columns:1fr 1fr}}.verification-task-section{scroll-margin-top:24px}.verification-task-section>.section{margin-top:0}.verification-task-section .history-card{margin-top:22px}.task-type-selector{margin:0;padding:16px 18px 18px;border:0;border-bottom:1px solid var(--line)}.task-type-selector legend{padding:0;color:#b7c7d5;font-size:12px;font-weight:650}.task-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:10px}.task-type-option{display:flex;align-items:flex-start;gap:9px;min-height:64px;padding:11px;border:1px solid var(--line);border-radius:4px;background:#101822;cursor:pointer}.task-type-option.active{border-color:#3f8690;background:#11232b}.task-type-option.disabled{cursor:not-allowed;opacity:.52}.task-type-option input{margin:3px 0 0;accent-color:var(--cyan)}.task-type-option small,.task-type-option strong{display:block}.task-type-option strong{font-size:12px}.task-type-option small{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}@media(max-width:1250px){.task-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.task-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.task-filter-bar button{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--line);border-radius:3px;background:#101822;color:#9fb0bf;cursor:pointer;font-size:12px}.task-filter-bar button.active{border-color:#3f8690;background:#11232b;color:var(--cyan)}.task-filter-bar b{min-width:20px;padding:1px 5px;border-radius:10px;background:#21303d;color:#c5d4df;font-size:10px;text-align:center}.task-table-scroll{overflow-x:auto}.task-table{min-width:1120px}.task-table td,.task-table th{padding-right:14px}.task-table td:last-child,.task-table th:last-child{padding-right:0}.task-table .table-actions{min-width:214px;flex-wrap:wrap;row-gap:6px}