:root{color-scheme:light;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#17212b;background:#eef1f4;--line: #c9d3db;--line-soft: #dfe5ea;--muted: #5d6b78;--teal: #117a63;--teal-soft: #e2f3ef;--red: #ad2f2f;--red-soft: #fbeceb;--blue: #235d8f;--blue-soft: #e8f0f7;--gray-soft: #e8ebee}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#eef1f4}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #235d8f;outline-offset:2px}.shell{max-width:1180px;margin:0 auto;padding:28px 24px 48px}.app-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.eyebrow{margin:0 0 3px;color:var(--muted);font-size:13px;font-weight:650}h1{margin:0;font-size:30px;line-height:1.2;letter-spacing:0}h2{margin:0;font-size:17px;line-height:1.3}h3{margin:0 0 8px;font-size:14px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.service-pill{display:inline-flex;align-items:center;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);font-size:13px;white-space:nowrap}.service-pill.ok{color:var(--teal);background:var(--teal-soft);border-color:#a7d8cd}.service-pill.degraded,.service-pill.error{color:var(--red);background:var(--red-soft);border-color:#dca9a5}.task-selector{display:grid;gap:3px;min-width:190px;color:var(--muted);font-size:12px}select,input{min-height:36px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#17212b;padding:0 9px}.task-selector select{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#263846}.icon-button:disabled{opacity:.55;cursor:not-allowed}.spinning{animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.notice{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:11px 14px;border-radius:6px;font-size:14px}.notice.success{color:#0d674f;background:var(--teal-soft);border:1px solid #a7d8cd}.notice.error{color:var(--red);background:var(--red-soft);border:1px solid #dca9a5}.notice.neutral{color:#334553;background:#fff;border:1px solid var(--line)}.notice.warning{color:#8a5300;background:#fff5df;border:1px solid #dfc18b}.tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-bottom:16px;padding:4px;border:1px solid var(--line);border-radius:7px;background:#fff}.tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:14px;white-space:nowrap}.tabs button.active{background:#263846;color:#fff;font-weight:650}.page-stack{display:grid;gap:14px}.panel{padding:16px;border:1px solid var(--line);border-radius:7px;background:#fff;min-width:0}.panel.muted{color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-tile{min-height:88px;padding:14px;border:1px solid var(--line);border-radius:7px;background:#fff}.metric-tile span{display:block;margin-bottom:8px;color:var(--muted);font-size:13px}.metric-tile strong{font-size:25px;line-height:1;font-variant-numeric:tabular-nums}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.definition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.definition-grid dt{margin-bottom:4px;color:var(--muted);font-size:12px}.definition-grid dd{margin:0;font-size:14px;font-weight:650;overflow-wrap:anywhere}.dimension-row{display:grid;gap:7px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.dimension-row:last-child{border-bottom:0;padding-bottom:0}.dimension-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.dimension-row strong{font-variant-numeric:tabular-nums}.dimension-row small{color:var(--muted)}.progress-track{height:7px;border-radius:4px;background:var(--gray-soft);overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--teal)}.split-count{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.split-count div{padding:14px;border-radius:6px;background:#f7f9fa}.split-count span,.distribution-list span{display:block;margin-bottom:6px;color:var(--muted);font-size:13px}.split-count strong{font-size:22px;font-variant-numeric:tabular-nums}.distribution-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.distribution-list li{min-height:40px;padding:8px 10px;border-radius:5px;background:#f7f9fa;font-size:14px}.distribution-list li>span,.distribution-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.distribution-list button{margin:-8px -10px;padding:8px 10px;border:0;background:transparent;text-align:left}.distribution-list button:hover{background:var(--blue-soft)}.distribution-list strong{font-size:16px;font-variant-numeric:tabular-nums}.task-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-meta{color:var(--muted);font-size:12px;white-space:nowrap}.task-form label{display:grid;gap:5px;color:var(--muted);font-size:12px}.task-form select,.task-form input{width:100%}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;align-self:end;border:0;border-radius:5px;background:#263846;color:#fff;font-size:14px;font-weight:650}.primary-button:disabled{opacity:.6}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;align-self:end;border:1px solid #263846;border-radius:5px;background:#fff;color:#263846;font-size:14px;font-weight:650}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.mode-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:26px;padding:3px 9px;border-radius:5px;color:#6d4f13;background:#fff5df;font-size:12px;font-weight:650;white-space:nowrap}.demo-loop-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:16px}.demo-loop-controls{display:grid;align-content:start;gap:10px}.demo-loop-controls label{display:grid;gap:5px;color:var(--muted);font-size:12px}.demo-loop-controls select{width:100%}.demo-loop-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.demo-loop-actions .run-action-button{min-height:36px}.demo-result-list{display:grid;align-content:start;gap:8px;margin:0}.demo-result-list div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft)}.demo-result-list div:last-child{border-bottom:0}.demo-result-list dt{color:var(--muted);font-size:12px}.demo-result-list dd{margin:0;font-size:13px;font-weight:650;overflow-wrap:anywhere}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px 10px;border-bottom:1px solid var(--line-soft);text-align:left;white-space:nowrap}th{color:var(--muted);font-weight:600;background:#f7f9fa}tbody tr{cursor:pointer}tbody tr.selected{background:var(--blue-soft)}.status-tag,.result-tag{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:23px;padding:2px 7px;border-radius:4px;font-size:12px;font-weight:650;white-space:nowrap}.status-tag.completed{color:var(--teal);background:var(--teal-soft)}.status-tag.running{color:var(--blue);background:var(--blue-soft)}.status-tag.failed{color:var(--red);background:var(--red-soft)}.status-tag.pending{color:var(--muted);background:var(--gray-soft)}.result-tag.pass{color:var(--teal);background:var(--teal-soft)}.result-tag.fail{color:var(--red);background:var(--red-soft)}.result-tag.not_applicable{color:var(--muted);background:var(--gray-soft)}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.trend-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trend-selectors label{display:grid;gap:5px;color:var(--muted);font-size:12px}.trend-selectors select{width:100%}.trend-hero{display:grid;grid-template-columns:1fr 42px 1fr 1fr;align-items:center;gap:10px}.trend-hero>div{display:grid;gap:5px}.trend-hero span{color:var(--muted);font-size:13px}.trend-hero strong{font-size:24px;font-variant-numeric:tabular-nums}.trend-hero svg{width:26px;height:26px}.delta-box strong{color:#263846}.neutral-icon{color:var(--muted)}.muted-text{color:var(--muted);font-size:13px}.replay-badge,.release-tag,.change-tag{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:26px;padding:3px 9px;border-radius:5px;font-size:12px;font-weight:650;white-space:nowrap}.replay-badge{color:var(--blue);background:var(--blue-soft)}.release-tag.passed{color:var(--teal);background:var(--teal-soft)}.release-tag.failed{color:var(--red);background:var(--red-soft)}.release-tag.insufficient_sample{color:#8a5300;background:#fff5df}.change-tag.fixed{color:var(--teal);background:var(--teal-soft)}.change-tag.new{color:var(--red);background:var(--red-soft)}.change-tag.unchanged{color:var(--muted);background:var(--gray-soft)}.check-list{display:grid;gap:7px;margin:0 0 12px;padding-left:18px;color:#37485a;font-size:13px;line-height:1.5}.release-reasons p{margin:0;padding:9px 10px;border-radius:5px;background:#f7f9fa;color:#425361;font-size:13px;line-height:1.5}.replay-pair{min-width:0;padding:13px;border:1px solid var(--line-soft);border-radius:6px;background:#fff}.replay-pair summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;list-style:none;cursor:pointer}.replay-pair summary::-webkit-details-marker{display:none}.replay-pair summary:after{content:"+";color:var(--muted);font-size:18px}.replay-pair[open] summary:after{content:"-"}.replay-output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:12px;margin-top:6px;border-top:1px solid var(--line-soft)}.replay-output-grid section{min-width:0;padding:11px;border-radius:5px;background:#f7f9fa}.replay-output-grid p{margin:0 0 9px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.replay-output-grid ul{margin:9px 0 0;padding-left:17px;color:#425361;font-size:13px;line-height:1.6}.run-action-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:29px;padding:0 9px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:13px;white-space:nowrap}.run-action-button:disabled{opacity:.55;cursor:not-allowed}.snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:12px;margin-top:6px;border-top:1px solid var(--line-soft)}.snapshot-grid section{min-width:0;padding:11px;border-radius:5px;background:#f7f9fa}.snapshot-grid p,.snapshot-grid li{margin:0;color:#425361;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.snapshot-grid ul{margin:0;padding-left:17px}.output-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:9px}.output-text-group{margin-bottom:9px}.output-text-group small{display:block;margin-bottom:3px;color:var(--muted);font-size:12px}.output-text-group p{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.run-check-list{display:grid;gap:8px}.run-check-row{min-width:0;padding:9px;border:1px solid var(--line-soft);border-radius:5px;background:#fff}.run-check-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.run-check-row small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.run-check-row ul{margin:7px 0 0;padding-left:17px;color:#425361;font-size:13px;line-height:1.6}.filter-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px}.filter-grid select,.filter-grid input{width:100%}.result-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.pager{display:flex;gap:7px}.pager button{display:inline-flex;align-items:center;gap:5px;min-height:31px;padding:0 9px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:13px}.pager button:disabled{opacity:.5;cursor:not-allowed}.record-list{display:grid;gap:9px}.record-item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;list-style:none;cursor:pointer}.record-item summary::-webkit-details-marker{display:none}.record-item summary:after{content:"+";color:var(--muted);font-size:19px}.record-item[open] summary:after{content:"-"}.record-title{display:grid;gap:2px;min-width:0}.record-title small{color:var(--muted)}.record-title strong,.record-title small{overflow-wrap:anywhere}.record-tags{display:flex;gap:5px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:13px;margin-top:8px;border-top:1px solid var(--line-soft)}.evidence-grid section{min-width:0;padding:11px;border-radius:5px;background:#f7f9fa}.evidence-grid p,.fact-box p{margin:0 0 7px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.fact-box{margin-top:10px;padding-top:11px;border-top:1px solid var(--line-soft)}.fact-box ul{margin:0;padding-left:18px;color:#384957;font-size:13px;line-height:1.6}.empty-text,.error-text{color:var(--muted)}.error-text{color:var(--red)}@media(max-width:900px){.shell{padding:22px 15px 40px}.app-header{align-items:stretch;flex-direction:column}.header-actions{justify-content:flex-start}.tabs,.metric-grid,.two-column,.definition-grid,.filter-grid,.metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-grid{grid-template-columns:1fr}.trend-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-hero svg{justify-self:start}.replay-output-grid,.snapshot-grid,.demo-loop-layout{grid-template-columns:1fr}}@media(max-width:560px){h1{font-size:25px}.tabs{display:flex;overflow-x:auto;padding:3px}.tabs button{flex:0 0 auto;padding:0 12px}.metric-grid,.snapshot-grid,.two-column,.definition-grid,.filter-grid,.task-form,.split-count,.trend-selectors,.metric-grid.four{grid-template-columns:1fr}.header-actions,.result-summary{align-items:stretch;flex-direction:column}.task-selector,.header-actions .icon-button{width:100%}.pager{justify-content:space-between}.pager button{flex:1;justify-content:center}.record-item summary{align-items:flex-start;flex-direction:column}.record-tags{justify-content:flex-start}.demo-result-list div{grid-template-columns:1fr;gap:3px}}
