/* 全部图表共享色彩、刻度、间距和表格层级。 */
:root{font:14px/1.6 Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#202b3b;background:#f7f8fa;--ink:#202b3b;--muted:#657389;--line:#e5e9ef;--accent:#e56f26;--blue:#3b73c5;--teal:#268a79;--red:#c26061}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}header{background:white;border-bottom:1px solid var(--line);padding:0 max(28px,calc((100vw - 1240px)/2)) 24px}.topbar{display:flex;justify-content:space-between;align-items:center;height:68px;border-bottom:1px solid var(--line)}.brand{font-size:21px;font-weight:800;letter-spacing:-1px}.brand span{color:var(--accent)}.brand small{font-size:13px;font-weight:500;margin-left:18px;letter-spacing:0;color:var(--muted)}.project-link{font-size:13px;color:var(--muted)}.heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 20px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em;color:var(--accent);margin:0 0 7px}h1{font-size:32px;letter-spacing:-1px;font-weight:650;line-height:1.35;margin:0 0 10px}.subtitle{color:var(--muted);margin:0}.source-control{min-width:265px}.source-control select{font-weight:600}.dataset-line{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted)}main{max-width:1296px;padding:26px 28px;margin:auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cards article{background:white;border:1px solid var(--line);border-radius:9px;padding:18px 24px}.cards small{color:var(--muted)}.cards strong{display:block;font-size:32px;font-weight:600;line-height:1.3;margin-top:8px;font-variant-numeric:tabular-nums}.overview-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;color:var(--muted);font-size:13px}.tag{background:#edf1f6;border-radius:4px;padding:4px 9px;font-size:11px;white-space:nowrap}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lead-charts{grid-template-columns:1.65fr 1fr}section{background:white;border:1px solid var(--line);border-radius:10px;padding:24px;margin:22px 0}.chart-grid section{margin:0;min-width:0}h2{font-size:17px;font-weight:650;margin:0 0 12px}h3{font-size:14px;margin:0 0 16px;font-weight:600}p{margin:8px 0}.muted{font-size:12px;color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-title h2{margin:0}.section-title label{flex-direction:row;align-items:center}.section-title select{padding:5px 9px}.ranking-heading{margin:26px 0 16px}.section-title .eyebrow{margin-bottom:6px}label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}input,select,button{font:inherit;border:1px solid #d5dce5;border-radius:5px;min-height:36px;padding:7px 10px;min-width:0;background:white;color:var(--ink)}button{cursor:pointer;background:var(--accent);border-color:var(--accent);color:white;font-weight:550;font-size:12px}button:hover{filter:brightness(.96)}button:disabled{opacity:.4;cursor:default}.secondary{background:white;color:var(--ink);border-color:#d5dce5}.text-button{background:transparent;color:var(--muted);border-color:transparent}.actions,.player-controls,.step-controls,.tabs{display:flex;gap:9px;flex-wrap:wrap;align-items:end}.step-controls{margin-left:auto}.player-controls label:first-child{min-width:210px}.player-controls label:nth-child(2){max-width:340px;flex:1}.tabs{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.tabs button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}form,.advanced-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}form>.actions,.advanced{grid-column:1/-1}.advanced{border-top:1px solid var(--line);padding-top:12px}.advanced-grid{margin-top:14px}.inline{flex-direction:row;align-items:center}.inline input{min-height:0}.precision{align-self:end}details summary{cursor:pointer;color:var(--muted);font-size:12px;padding:6px 0}details[open]>summary{margin-bottom:8px}svg{display:block;width:100%;height:auto}svg text{font:11px "Segoe UI",sans-serif;fill:var(--muted)}svg [role=button]{cursor:pointer}svg .network-node text{fill:var(--ink);font-size:12px;font-weight:600}.network-scroll{overflow-x:auto;margin:12px 0}.network-scroll svg{min-width:600px}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#a7b2c2}.legend .added:before{background:var(--teal)}.legend .removed:before{background:var(--red)}.legend .reset:before{background:#8e75b6}.legend .gap:before{background:#e8be61}.rank{display:grid;grid-template-columns:minmax(100px,1.1fr) 1.4fr 45px;align-items:center;gap:12px;margin:18px 0;font-size:12px}.rank button{padding:0;min-height:24px;background:none;border:0;color:var(--ink);text-align:left;overflow-wrap:anywhere}.rank>span{text-align:right;font-variant-numeric:tabular-nums}.bar{height:8px;background:#f0f2f6;border-radius:3px;overflow:hidden}.bar span{display:block;height:100%;background:var(--blue);border-radius:3px}#types .bar span{background:var(--accent)}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;color:var(--muted);font-weight:500;background:#f8f9fb;white-space:nowrap}th,td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}td{font-size:12px;overflow-wrap:anywhere;max-width:460px}tbody tr:hover{background:#fbfcfe}.pager{display:flex;justify-content:flex-end;align-items:center;gap:14px;font-size:12px;margin-top:18px}.diff{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:15px 0}.diff>div{padding:15px;background:#f7f9fc;border-radius:6px;overflow-wrap:anywhere}.path,code{font-family:Consolas,monospace}.path{font-size:12px;line-height:1.8}.state-row{padding:12px 0;border-bottom:1px solid var(--line)}.state-active{fill:var(--teal)}.state-withdrawn{fill:var(--red)}.state-session_reset{fill:#8e75b6}.state-gap{fill:#e8be61}.state-unknown{fill:#d0d7e1}#step{width:100%;min-height:20px;margin-top:16px;accent-color:var(--accent)}.empty{padding:26px;color:var(--muted);text-align:center}.provenance{padding:12px 4px;border-bottom:1px solid var(--line)}pre{background:#f4f6f9;padding:15px;font:11px/1.7 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto}.compare-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.compare-cards article{border-left:3px solid var(--blue);padding:14px 20px;background:#f6f8fc}.compare-cards article:nth-child(2){border-color:var(--accent)}.compare-cards strong{font-size:26px;display:block}.pill{display:inline-block;background:#edf2f8;padding:3px 7px;border-radius:4px}footer{max-width:1240px;border-top:1px solid var(--line);margin:30px auto 0;padding:24px 0 36px;display:flex;gap:24px;color:var(--muted);font-size:12px}footer span{margin-right:auto}:focus-visible{outline:3px solid #eebc99;outline-offset:3px}@media(max-width:900px){.heading{align-items:flex-start;flex-direction:column}.source-control{width:100%}.lead-charts{grid-template-columns:1fr}.chart-grid{gap:14px}.cards{gap:12px}.cards article{padding:16px}.cards strong{font-size:27px}.section-title{flex-wrap:wrap}h1{font-size:28px}form,.advanced-grid{grid-template-columns:1fr 1fr}footer{margin:24px}.player-controls{align-items:stretch}.step-controls{margin-left:0}}@media(max-width:600px){header{padding:0 18px 20px}main{padding:18px}.chart-grid,.diff{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.cards article{padding:14px 18px}section{padding:18px}h1{font-size:25px}.project-link{font-size:11px}.brand small{display:none}.overview-line{align-items:flex-start}.player-controls label{width:100%;max-width:none!important}.player-controls label:nth-child(2){flex:auto}.section-title .actions{gap:2px}form,.advanced-grid{grid-template-columns:1fr 1fr}.rank{grid-template-columns:minmax(100px,1.2fr) 1fr 35px;gap:8px}footer{flex-wrap:wrap;gap:14px}.compare-cards{grid-template-columns:1fr}#period{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* 既有回放报告沿用同一表格和页面样式。 */
.cards:has(#rows){grid-template-columns:repeat(3,1fr)}.card{background:white;border:1px solid var(--line);border-radius:9px;padding:20px}.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.value{white-space:pre-wrap;overflow-wrap:anywhere}.group{border-bottom:1px solid var(--line);padding:16px 0}@media(max-width:600px){.filters,.diff-grid{grid-template-columns:1fr}.cards:has(#rows){grid-template-columns:1fr 1fr}}

/* 窄屏筛选控件按容器收缩，长版本号在详情中换行。 */
label{min-width:0}label>select,label>input{max-width:100%;width:100%}.section-title label>select{width:auto}code{overflow-wrap:anywhere}@media(max-width:600px){form,.advanced-grid{grid-template-columns:minmax(0,1fr)}.source-control{min-width:0}.overview-line p{min-width:0}}
