.signal-workbench{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:18px}.signal-section{padding:clamp(58px,8vw,96px) 0;background:linear-gradient(180deg,#0f2319,#0c1a12);overflow:hidden}.signal-section-head{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:34px}.signal-section-head h2{max-width:720px;margin:0;font-size:clamp(30px,4vw,50px);line-height:1.08;letter-spacing:-.045em}.signal-section-head>p{max-width:390px;margin:0;color:var(--muted);font-size:15px;line-height:1.7}.signal-pitch{position:relative;min-height:560px;overflow:hidden;border:1px solid rgb(150 229 184 / 36%);border-radius:24px;background:linear-gradient(140deg,rgb(21 65 43 / 92%),rgb(10 37 25 / 98%));box-shadow:inset 0 0 0 1px rgb(255 255 255 / 3%),0 24px 70px rgb(0 0 0 / 24%)}.signal-pitch:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(255 255 255 / 2%) 1px,transparent 1px),linear-gradient(0deg,rgb(255 255 255 / 2%) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 95%);pointer-events:none}.signal-pitch .pitch-lines{inset:7%;border-color:rgb(220 255 230 / 34%)}.signal-pitch .pitch-lines:before,.signal-pitch .pitch-lines:after{border-color:rgb(220 255 230 / 34%)}.signal-match-meta{position:absolute;z-index:2;top:22px;left:24px;display:grid;gap:3px}.signal-match-meta span{color:#f2fff6;font-size:15px;font-weight:760;letter-spacing:-.02em}.signal-match-meta small{color:#b8cabd;font-size:12px}.signal-node{position:absolute;z-index:2;display:grid;gap:4px;min-width:132px;max-width:190px;padding:12px 14px;border:1px solid rgb(217 255 227 / 25%);border-radius:14px;background:rgb(4 23 14 / 78%);box-shadow:0 14px 32px rgb(0 0 0 / 18%)}.signal-node p{margin:0;color:#a9bfaf;font-size:11px;font-weight:750;letter-spacing:.06em}.signal-node strong{color:#f4fff7;font-size:17px;line-height:1.25;overflow-wrap:anywhere}.signal-node span{color:#a9bfaf;font-size:11px;line-height:1.45}.signal-node-verdict{top:50%;left:50%;width:min(70%,340px);max-width:none;min-width:0;padding:22px;transform:translate(-50%,-50%);border-color:rgb(121 232 163 / 84%);background:linear-gradient(145deg,rgb(19 66 43 / 96%),rgb(9 37 24 / 96%));text-align:center}.signal-node-verdict p{color:var(--green)}.signal-node-verdict strong{font-size:clamp(25px,3.2vw,39px);letter-spacing:-.04em}.signal-node-verdict span{font-size:12px}.node-direction{top:19%;left:10%}.node-protection{right:9%;bottom:17%;border-color:rgb(239 198 108 / 58%)}.node-market{right:9%;top:19%}.node-quality{left:10%;bottom:17%;border-color:rgb(121 232 163 / 45%)}.signal-detail-action{position:absolute;z-index:3;right:22px;bottom:20px;min-height:44px;padding:0 14px;border:1px solid rgb(121 232 163 / 58%);border-radius:12px;background:rgb(8 33 21 / 82%);color:var(--green);font-weight:800;cursor:pointer;transition:transform .2s var(--ease),background .2s var(--ease)}.signal-detail-action:hover,.signal-detail-action:focus-visible{background:rgb(121 232 163 / 14%)}.signal-detail-action:active{transform:scale(.98)}.signal-detail-action:disabled{border-color:var(--line);color:var(--muted);cursor:not-allowed}.signal-notes{display:grid;align-content:start;gap:0;border:1px solid var(--line);border-radius:20px;background:rgb(16 36 27 / 72%);padding:8px 20px}.signal-notes article{display:flex;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.signal-notes article:last-child{border-bottom:0}.signal-notes strong{display:block;font-size:14px}.signal-notes p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.logic-control{display:grid;gap:14px}.logic-overview{display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#10241b}.logic-intro{padding:24px}.logic-intro>p{margin:12px 0 0;color:#c7d5cc;line-height:1.7}.logic-intro .logic-status{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:7px 10px;border:1px solid currentColor;border-radius:999px;font-size:13px;font-weight:800}.logic-status.good{color:var(--green)}.logic-status.warn{color:var(--gold)}.logic-status.bad{color:var(--red)}.logic-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.logic-stat{display:grid;align-content:center;min-height:112px;padding:18px;background:#132b20}.logic-stat span{color:var(--muted);font-size:12px}.logic-stat strong{margin-top:7px;color:#f2fff5;font-size:25px;line-height:1.1;letter-spacing:-.04em}.logic-stat.warn strong{color:var(--gold)}.logic-stat.bad strong{color:var(--red)}.logic-module-panel,.logic-details{border:1px solid var(--line);border-radius:18px;background:#10241b}.logic-panel-head{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:20px 20px 0}.logic-panel-head h3{margin:0;font-size:18px;letter-spacing:-.025em}.logic-panel-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.logic-module-grid{display:flex;flex-wrap:wrap;gap:8px;padding:18px 20px}.logic-module-chip{display:inline-flex;align-items:center;min-height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgb(255 255 255 / 3%);color:#d8e9de;font-size:12px;line-height:1.35}.logic-module-chip.good{border-color:rgb(121 232 163 / 35%);color:#a9eec2}.logic-module-chip.warn{border-color:rgb(239 198 108 / 45%);color:#ffdf96}.logic-module-chip.bad{border-color:rgb(255 138 125 / 48%);color:#ffaea5}.logic-details{padding:0}.logic-details>summary{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 20px;cursor:pointer;color:#f3fff6;font-weight:800;list-style:none}.logic-details>summary::-webkit-details-marker{display:none}.logic-details>summary:after{content:"⌄";color:var(--green);font-size:20px;transition:transform .2s var(--ease)}.logic-details[open]>summary:after{transform:rotate(180deg)}.logic-detail-body{padding:0 20px 20px;border-top:1px solid var(--line)}.logic-issues{display:grid;gap:8px;margin-top:14px}.logic-issue{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgb(255 255 255 / 3%)}.logic-issue.bad{border-color:rgb(255 138 125 / 45%);background:rgb(255 138 125 / 6%)}.logic-issue.warn{border-color:rgb(239 198 108 / 42%);background:rgb(239 198 108 / 6%)}.logic-issue.good{border-color:rgb(121 232 163 / 38%);background:rgb(121 232 163 / 6%)}.logic-issue-state{display:inline-flex;align-items:center;min-height:24px;padding:0 7px;border:1px solid currentColor;border-radius:999px;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}.logic-issue.bad .logic-issue-state{color:var(--red)}.logic-issue.warn .logic-issue-state{color:var(--gold)}.logic-issue.good .logic-issue-state{color:var(--green)}.logic-issue strong{display:block;font-size:14px}.logic-issue small{display:block;margin-top:3px;color:#c7d5cc;font-size:12px;line-height:1.55}.logic-issue p{grid-column:2;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.logic-check-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.logic-check{display:inline-flex;align-items:center;min-height:36px;padding:6px 9px;border:1px solid rgb(121 232 163 / 35%);border-radius:10px;background:rgb(121 232 163 / 6%);color:#b4efca;font-size:12px}.logic-check.bad{border-color:rgb(255 138 125 / 48%);background:rgb(255 138 125 / 7%);color:#ffb1a8}.logic-empty{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.6}@media(max-width:900px){.signal-workbench{grid-template-columns:1fr}.signal-notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.signal-notes article{padding:16px 0;border-bottom:0}.logic-overview{grid-template-columns:1fr}.logic-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.logic-stat{min-height:100px}}@media(max-width:640px){.signal-section{padding:58px 0}.signal-section-head{display:grid;gap:14px}.signal-pitch{min-height:590px;border-radius:19px}.signal-match-meta{top:18px;left:18px;max-width:calc(100% - 36px)}.signal-node{min-width:0;max-width:calc(50% - 20px);padding:10px}.signal-node p{font-size:10px}.signal-node strong{font-size:14px}.signal-node span{font-size:10px}.signal-node-verdict{width:min(76%,310px);padding:18px}.signal-node-verdict strong{font-size:28px}.node-direction{top:19%;left:5%}.node-market{top:19%;right:5%}.node-quality{bottom:19%;left:5%}.node-protection{right:5%;bottom:19%}.signal-detail-action{right:16px;bottom:14px}.signal-notes{grid-template-columns:1fr;padding:4px 16px}.signal-notes article{padding:16px 0;border-bottom:1px solid var(--line)}.signal-notes article:last-child{border-bottom:0}.logic-overview{border-radius:16px}.logic-intro{padding:20px}.logic-stats{grid-template-columns:1fr 1fr}.logic-stat{min-height:94px;padding:16px}.logic-stat strong{font-size:23px}.logic-panel-head{display:grid;padding:18px 18px 0}.logic-module-grid{padding:16px 18px}.logic-detail-body{padding:0 14px 14px}.logic-details>summary{padding:0 14px}.logic-issue{grid-template-columns:1fr}.logic-issue p{grid-column:auto}.logic-issue-state{width:max-content}}@media(prefers-reduced-motion:reduce){.signal-detail-action,.logic-details>summary:after{transition:none}}
.signal-match-switcher{grid-column:1/-1;display:flex;gap:8px;overflow:auto;padding:2px 1px 8px;scrollbar-width:thin;scrollbar-color:rgb(121 232 163 / 46%) transparent}.signal-match-option{flex:0 0 auto;min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:rgb(16 36 27 / 74%);color:#cde0d4;font-size:13px;cursor:pointer;transition:transform .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}.signal-match-option span{color:var(--gold);font-size:11px;font-weight:800}.signal-match-option.selected{border-color:rgb(121 232 163 / 72%);background:rgb(121 232 163 / 13%);color:#f3fff6;font-weight:800}.signal-match-option:active{transform:scale(.98)}.signal-switcher-empty{color:var(--muted);font-size:13px}.signal-pitch{min-height:700px}.node-home-team{top:19%;left:8%}.node-away-team{top:19%;right:8%;text-align:right}.node-lottery{bottom:18%;left:8%;border-color:rgb(239 198 108 / 56%)}.node-asian{right:8%;bottom:18%;border-color:rgb(121 232 163 / 56%);text-align:right}.node-score{bottom:6%;left:50%;width:min(54%,280px);max-width:none;min-width:0;transform:translateX(-50%);border-color:rgb(121 232 163 / 42%);text-align:center}.signal-detail-action{top:20px;bottom:auto}.signal-node strong{font-size:16px}.node-home-team strong,.node-away-team strong{font-size:18px}.node-lottery strong,.node-asian strong{font-size:15px}@media(max-width:640px){.signal-pitch{min-height:700px}.signal-match-switcher{margin-right:-16px;padding-right:16px}.node-home-team{top:20%;left:5%}.node-away-team{top:20%;right:5%}.node-lottery{left:5%;bottom:22%}.node-asian{right:5%;bottom:22%}.node-score{bottom:7%;width:min(70%,280px)}.signal-detail-action{top:14px;right:14px;font-size:12px}.signal-match-meta{max-width:54%}.node-home-team strong,.node-away-team strong{font-size:13px}.node-lottery strong,.node-asian strong{font-size:13px}}
.signal-node.node-home-team,.signal-node.node-away-team{width:28%;min-width:0;max-width:190px}.signal-node.node-lottery,.signal-node.node-asian{width:34%;min-width:0;max-width:190px;padding:10px 11px}.signal-node.node-lottery{left:7%}.signal-node.node-asian{right:7%}.signal-node.node-lottery strong,.signal-node.node-asian strong{font-size:14px}.signal-node.node-lottery span,.signal-node.node-asian span{font-size:10px;line-height:1.45}.signal-pitch.result-home-only .node-away-team,.signal-pitch.result-away-only .node-home-team{display:none!important}@media(max-width:640px){.signal-node.node-home-team,.signal-node.node-away-team{width:29%;max-width:150px}.signal-node.node-lottery,.signal-node.node-asian{width:34%;max-width:165px;padding:9px}.signal-node.node-lottery{left:6%}.signal-node.node-asian{right:6%}.signal-node.node-lottery strong,.signal-node.node-asian strong{font-size:12px}.signal-node.node-lottery span,.signal-node.node-asian span{font-size:9px}}
.signal-verdict-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:13px;padding-top:12px;border-top:1px solid rgb(220 255 230 / 18%);text-align:left}.signal-verdict-metric{min-width:0;padding:8px 9px;border:1px solid rgb(220 255 230 / 16%);border-radius:10px;background:rgb(0 0 0 / 12%)}.signal-verdict-metric>span{display:flex;align-items:center;gap:6px;color:#bdd1c2;font-size:10px;font-weight:760;line-height:1.3}.signal-verdict-metric .status-icon{width:7px;height:7px;box-shadow:none}.signal-verdict-metric>b{display:block;margin-top:5px;color:#f5fff8;font-size:14px;line-height:1.2;overflow-wrap:anywhere}.signal-verdict-metric>small{display:block;margin-top:3px;color:#a9bfaf;font-size:10px;line-height:1.3}.signal-node-verdict .signal-verdict-metric>span{font-size:10px}.signal-node-verdict .signal-verdict-metric>b{font-size:14px;letter-spacing:0}@media(max-width:640px){.signal-verdict-context{gap:6px;margin-top:10px;padding-top:9px}.signal-verdict-metric{padding:7px}.signal-verdict-metric>b,.signal-node-verdict .signal-verdict-metric>b{font-size:12px}.signal-verdict-metric>small{font-size:9px}}
@media(max-width:640px){.signal-pitch{min-height:790px}.signal-node-verdict{width:min(80%,310px);max-width:none}.node-lottery,.node-asian{bottom:18%}.node-score{bottom:4%}}
.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px}.button-history{border:1px solid rgb(239 198 108 / 70%);background:rgb(239 198 108 / 17%);color:#ffe4a8}.button-control{border:1px solid rgb(169 201 180 / 44%);background:rgb(169 201 180 / 9%);color:#d9ebe0}.button-history:hover,.button-history:focus-visible{background:rgb(239 198 108 / 28%)}.button-control:hover,.button-control:focus-visible{background:rgb(169 201 180 / 17%)}
@media(max-width:640px){.hero{display:block;min-height:0;padding:1px 0 max(28px,env(safe-area-inset-bottom))}.hero-content{padding-top:max(104px,calc(env(safe-area-inset-top) + 92px));padding-bottom:24px}.hero-copy{max-width:none}.hero-actions{max-width:none;gap:9px}.featured-match{position:relative;right:auto;bottom:auto;width:calc(100% - 32px);margin:0 auto;z-index:1}.hero-scroll{display:none}}

/* 当前赛事与情报室连续衔接：场景渐隐而非硬切换到下一页。 */
.hero{isolation:isolate}
.hero::after{content:"";position:absolute;z-index:0;right:0;bottom:-1px;left:0;height:clamp(72px,10vw,140px);pointer-events:none;background:linear-gradient(to bottom,rgba(15,35,25,0),#0f2319 88%)}
.hero-content,.hero-scroll{position:relative;z-index:1}
.signal-section{position:relative;background:linear-gradient(180deg,#0f2319 0%,#0e2118 53%,#0b1811 100%)}
.signal-section::after{content:"";position:absolute;z-index:0;right:0;bottom:-1px;left:0;height:clamp(76px,10vw,150px);pointer-events:none;background:linear-gradient(to bottom,rgba(11,24,17,0),var(--paper) 88%)}
.signal-workbench{position:relative;z-index:1}

/* 四个入口采用同一层玻璃材质；主次只通过边缘色与文字表达，不以实体色块抢夺首屏。 */
.hero-actions .button{position:relative;isolation:isolate;min-height:52px;overflow:hidden;border:1px solid rgba(239,255,245,.42);border-radius:15px;background:rgba(8,28,18,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px rgba(0,0,0,.16);color:#f5fff8;font-weight:780;letter-spacing:-.012em;backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease)}
.hero-actions .button:before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(128deg,rgba(255,255,255,.14),rgba(255,255,255,0) 44%);opacity:.75}
.hero-actions .button-primary{border-color:rgba(144,239,184,.72);background:rgba(83,185,124,.18);color:#f6fff8}
.hero-actions .button-secondary{border-color:rgba(234,247,239,.48);background:rgba(16,43,30,.3)}
.hero-actions .button-history{border-color:rgba(244,211,133,.62);background:rgba(137,103,42,.16);color:#fff8e8}
.hero-actions .button-control{border-color:rgba(190,218,202,.52);background:rgba(82,126,101,.14);color:#f2fbf4}
.hero-actions .button:hover,.hero-actions .button:focus-visible{transform:translateY(-2px);border-color:rgba(248,255,250,.78);background:rgba(240,255,246,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 16px 34px rgba(0,0,0,.22)}
.hero-actions .button:active{transform:translateY(0) scale(.985)}
@supports not (backdrop-filter:blur(1px)){.hero-actions .button{background:rgba(10,31,20,.9)}.hero-actions .button-primary{background:#1f6841}.hero-actions .button-history{background:#5a461f}.hero-actions .button-control{background:#294b38}}
@media(max-width:640px){.hero::after{height:56px}.hero-actions .button{min-height:52px;font-size:15px}.signal-section::after{height:64px}}
@media(prefers-reduced-motion:reduce){.hero-actions .button{transition:none}.hero-actions .button:hover,.hero-actions .button:focus-visible,.hero-actions .button:active{transform:none}}

/* 情报室改为“记分牌 + 横向战术板”：所有资料卡保留在边线以内、中心线以外。 */
.signal-pitch{--pitch-safe-x:clamp(24px,7%,54px);width:100%;min-height:0;height:clamp(460px,62vw,500px);aspect-ratio:auto;overflow:hidden}.signal-pitch .pitch-lines{inset:38% var(--pitch-safe-x) 7%;border-color:rgb(220 255 230 / 40%)}.signal-match-meta{top:20px;left:var(--pitch-safe-x);max-width:42%;gap:4px}.signal-match-meta span{font-size:15px;line-height:1.32}.signal-match-meta small{line-height:1.4}.signal-detail-action{top:20px;right:var(--pitch-safe-x);bottom:auto}.signal-node{width:min(24%,190px);min-width:0;max-width:190px;padding:10px 12px;border-radius:15px;background:rgb(4 23 14 / 82%)}.signal-node p{font-size:10px;line-height:1.2}.signal-node strong{font-size:15px;line-height:1.32}.signal-node-verdict{top:11%;left:50%;width:min(44%,320px);max-width:none;padding:12px 14px;transform:translateX(-50%);text-align:center}.signal-node-verdict strong{font-size:clamp(20px,2.4vw,28px)}.signal-node-verdict>span{font-size:10px;line-height:1.35}.signal-verdict-context{margin-top:9px;padding-top:9px;gap:7px}.signal-verdict-metric{padding:7px 8px}.signal-verdict-metric>b,.signal-node-verdict .signal-verdict-metric>b{font-size:13px}.signal-verdict-metric>small{display:none}.node-home-team,.node-away-team{top:43%;width:min(24%,190px)}.node-home-team{left:var(--pitch-safe-x)}.node-away-team{right:var(--pitch-safe-x)}.node-asian{top:52%;right:var(--pitch-safe-x);bottom:auto;text-align:right}.node-lottery{top:68%;left:var(--pitch-safe-x);bottom:auto}.node-score{top:73%;right:var(--pitch-safe-x);bottom:auto;left:auto;width:min(24%,190px);transform:none;text-align:right}.signal-pitch.reveal .signal-node,.signal-pitch.reveal .signal-match-meta,.signal-pitch.reveal .signal-detail-action{opacity:1;translate:0 0;transition:opacity .22s ease,translate .32s var(--ease);will-change:opacity,translate}.signal-pitch.reveal:not(.in-view) .signal-node,.signal-pitch.reveal:not(.in-view) .signal-match-meta,.signal-pitch.reveal:not(.in-view) .signal-detail-action{opacity:0;translate:0 12px}.signal-pitch.reveal:not(.in-view) .node-home-team{translate:-12px 12px}.signal-pitch.reveal:not(.in-view) .node-away-team,.signal-pitch.reveal:not(.in-view) .node-asian,.signal-pitch.reveal:not(.in-view) .node-score{translate:12px 12px}.signal-pitch.reveal .signal-match-meta,.signal-pitch.reveal .signal-detail-action{transition-delay:.04s}.signal-pitch.reveal .signal-node-verdict{transition-delay:.1s}.signal-pitch.reveal .node-home-team,.signal-pitch.reveal .node-away-team{transition-delay:.16s}.signal-pitch.reveal .node-asian{transition-delay:.21s}.signal-pitch.reveal .node-lottery{transition-delay:.26s}.signal-pitch.reveal .node-score{transition-delay:.31s}
@media(max-width:900px){.signal-pitch{height:clamp(460px,62vw,500px)}.signal-pitch .pitch-lines{inset:37% var(--pitch-safe-x) 7%}.signal-node{width:min(25%,190px)}.node-home-team,.node-away-team{top:42%}.node-asian{top:51%}.node-lottery{top:67%}.node-score{top:72%}}
@media(max-width:640px){.signal-pitch{--pitch-safe-x:18px;min-height:0;height:clamp(620px,165vw,720px);aspect-ratio:auto}.signal-pitch .pitch-lines{inset:37% var(--pitch-safe-x) 7%}.signal-pitch .pitch-lines:before{top:50%;right:0;bottom:auto;left:0;width:auto;height:0;transform:translateY(-50%)}.signal-pitch .pitch-lines:after{top:50%;width:32%;transform:translate(-50%,-50%)}.signal-match-meta{top:18px;left:var(--pitch-safe-x);max-width:46%}.signal-match-meta span{font-size:13px}.signal-match-meta small{font-size:11px}.signal-detail-action{top:18px;right:var(--pitch-safe-x);min-height:44px;padding:0 10px;font-size:12px}.signal-node{width:40%;max-width:none;padding:10px 11px;border-radius:14px}.signal-node strong{font-size:14px}.signal-node-verdict{top:10%;width:min(80%,320px);padding:12px}.signal-node-verdict strong{font-size:23px}.signal-node-verdict>span{font-size:10px}.signal-verdict-context{gap:6px;margin-top:8px;padding-top:8px}.signal-verdict-metric>b,.signal-node-verdict .signal-verdict-metric>b{font-size:12px}.node-home-team,.node-away-team{top:42%;width:38%}.node-home-team{left:var(--pitch-safe-x)}.node-away-team{right:var(--pitch-safe-x)}.node-asian{top:42%;right:var(--pitch-safe-x);width:40%}.signal-pitch.result-away-only .node-asian{right:auto;left:var(--pitch-safe-x);text-align:left}.node-lottery{top:67%;left:var(--pitch-safe-x);width:40%}.node-score{top:78%;right:var(--pitch-safe-x);left:auto;width:40%;text-align:right}.signal-pitch.result-away-only .node-lottery{top:67%}}
@media(prefers-reduced-motion:reduce){.signal-pitch.reveal .signal-node,.signal-pitch.reveal .signal-match-meta,.signal-pitch.reveal .signal-detail-action{opacity:1;translate:0 0;transition:none;will-change:auto}}

/* 情报室：左侧正式结论，右侧专项信号；卡片始终避开中线与中圈。 */
.signal-pitch{height:clamp(560px,54vw,620px)}
.signal-pitch .pitch-lines{inset:23% var(--pitch-safe-x) 8%}
.signal-node-verdict{top:34%;left:calc(var(--pitch-safe-x) + 18px);width:min(33%,304px);padding:16px 17px;transform:none;text-align:left}
.signal-node-verdict strong{font-size:clamp(22px,2.45vw,30px)}
.signal-node-verdict>span{font-size:11px}
.signal-verdict-context{gap:8px;margin-top:11px;padding-top:11px}
.signal-node.node-home-team,.signal-node.node-away-team,.signal-node.node-asian,.signal-node.node-lottery,.signal-node.node-score{right:calc(var(--pitch-safe-x) + 18px);left:auto;width:min(30%,230px);text-align:right}
.node-home-team,.node-away-team{top:32%}
.node-asian{top:47%;bottom:auto}
.node-lottery{top:62%;bottom:auto}
.node-score{top:77%;bottom:auto;transform:none}
.signal-pitch.result-away-only .node-asian{right:calc(var(--pitch-safe-x) + 18px);left:auto;text-align:right}

/* 分析链路：主视图强调监测覆盖与自动维护，把需人工关注内容收进明细。 */
.logic-chain-overview{border-color:rgb(121 232 163 / 46%);background:linear-gradient(135deg,rgb(19 64 42 / 96%),rgb(11 34 24 / 98%))}
.logic-chain-intro{background:radial-gradient(circle at 15% 18%,rgb(121 232 163 / 13%),transparent 42%)}
.logic-chain-intro h3{margin:0;color:#f5fff8;font-size:clamp(23px,3vw,32px);line-height:1.12;letter-spacing:-.045em}
.logic-chain-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;color:#bfd1c4;font-size:12px;line-height:1.45}
.logic-chain-status .logic-status{margin:0}
.logic-chain-stats .logic-stat{position:relative;background:rgb(14 44 29 / 92%)}
.logic-chain-stats .logic-stat:before{content:"";position:absolute;top:0;right:18px;left:18px;height:2px;background:rgb(121 232 163 / 38%)}
.logic-chain-stats .logic-stat.warn:before{background:rgb(239 198 108 / 68%)}
.logic-chain-stats .logic-stat small{display:block;margin-top:7px;color:#9cb3a3;font-size:11px;line-height:1.45}
.logic-chain-coverage{border-color:rgb(210 245 220 / 24%);background:linear-gradient(145deg,rgb(15 42 29 / 92%),rgb(11 29 21 / 94%))}
.logic-chain-coverage .logic-panel-head{align-items:center}
.logic-chain-coverage .logic-status{flex:0 0 auto}
.logic-detail-lead{margin:14px 0 0;color:#b9cbbb;font-size:13px;line-height:1.6}

@media(max-width:900px){.signal-pitch{height:clamp(540px,67vw,620px)}.signal-pitch .pitch-lines{inset:24% var(--pitch-safe-x) 8%}.signal-node-verdict{top:33%;width:min(35%,304px)}.node-home-team,.node-away-team,.node-asian,.node-lottery,.node-score{width:min(31%,230px)}.node-home-team,.node-away-team{top:32%}.node-asian{top:47%}.node-lottery{top:62%}.node-score{top:77%}}
@media(max-width:640px){.signal-pitch{height:clamp(660px,174vw,760px)}.signal-pitch .pitch-lines{inset:37% var(--pitch-safe-x) 7%}.signal-node-verdict{top:10%;left:50%;width:min(80%,320px);padding:12px;transform:translateX(-50%);text-align:center}.signal-node-verdict strong{font-size:23px}.signal-node.node-home-team,.signal-node.node-away-team,.signal-node.node-asian,.signal-node.node-lottery,.signal-node.node-score{width:40%;right:auto;text-align:left}.node-home-team,.node-away-team{top:42%;left:var(--pitch-safe-x)}.signal-node.node-asian{top:42%;right:var(--pitch-safe-x);left:auto;text-align:right}.signal-node.node-lottery{top:69%;left:var(--pitch-safe-x)}.signal-node.node-score{top:79%;right:var(--pitch-safe-x);left:auto;text-align:right}.signal-pitch.result-away-only .node-asian{right:var(--pitch-safe-x);left:auto;text-align:right}.logic-chain-coverage .logic-panel-head{align-items:start}.logic-chain-status{margin-top:16px}.logic-chain-stats .logic-stat:before{right:16px;left:16px}}

/* 情报室安全区：所有信号卡都落在边线以内，并按结论 → 风险/信心 → 专项参考的阅读顺序展开。 */
.signal-pitch{--pitch-safe-x:clamp(32px,7%,82px);height:clamp(620px,55vw,700px);overflow:hidden}
.signal-pitch .pitch-lines{inset:22% var(--pitch-safe-x) 8%;border-color:rgb(220 255 230 / 42%)}
.signal-node{display:grid;align-content:start;gap:5px;min-width:0;max-width:none;padding:11px 13px;border-radius:15px;background:rgb(4 23 14 / 84%);box-shadow:0 12px 26px rgb(0 0 0 / 16%)}
.signal-node p{font-size:10px;letter-spacing:.055em}
.signal-node strong{font-size:15px;line-height:1.3}
.signal-node-verdict{top:27%;left:calc(var(--pitch-safe-x) + 16px);width:min(26%,270px);padding:17px 18px;transform:none;text-align:left;border-color:rgb(121 232 163 / 82%);background:linear-gradient(145deg,rgb(16 60 39 / 96%),rgb(7 31 20 / 97%))}
.signal-node-verdict strong{font-size:clamp(23px,2.35vw,31px);letter-spacing:-.04em}
.signal-node.node-home-team,.signal-node.node-away-team,.signal-node.node-risk,.signal-node.node-confidence,.signal-node.node-lottery,.signal-node.node-asian,.signal-node.node-score{width:min(21%,190px);max-width:190px}
.signal-node.node-home-team{top:43%;left:calc(var(--pitch-safe-x) + 16px);text-align:left}
.signal-node.node-away-team{top:25%;right:calc(var(--pitch-safe-x) + 16px);left:auto;text-align:right}
.signal-node.node-risk{top:60%;left:calc(var(--pitch-safe-x) + 16px);border-color:rgb(239 198 108 / 54%)}
.signal-node.node-confidence{top:72%;left:calc(var(--pitch-safe-x) + 16px);border-color:rgb(169 201 180 / 40%)}
.signal-node.node-asian{top:38%;right:calc(var(--pitch-safe-x) + 16px);left:auto;text-align:right;border-color:rgb(121 232 163 / 55%)}
.signal-node.node-lottery{top:62%;right:calc(var(--pitch-safe-x) + 16px);left:auto;text-align:right;border-color:rgb(239 198 108 / 58%)}
.signal-node.node-score{top:75%;right:calc(var(--pitch-safe-x) + 16px);left:auto;transform:none;text-align:right;border-color:rgb(121 232 163 / 42%)}
.signal-pitch.result-away-only .node-away-team{top:25%;right:calc(var(--pitch-safe-x) + 16px);left:auto;text-align:right}
.signal-pitch.result-away-only .node-asian{top:48%}
.signal-pitch.result-away-only .node-lottery{top:63%}
.signal-pitch.result-away-only .node-score{top:78%}
.signal-pitch.reveal .signal-node{transition:opacity .22s ease,translate .34s var(--ease),scale .34s var(--ease);will-change:opacity,translate,scale}
.signal-pitch.reveal:not(.in-view) .signal-node{opacity:0;scale:.985;translate:0 14px}
.signal-pitch.reveal:not(.in-view) .node-home-team,.signal-pitch.reveal:not(.in-view) .node-risk,.signal-pitch.reveal:not(.in-view) .node-confidence{translate:-14px 14px}
.signal-pitch.reveal:not(.in-view) .node-away-team,.signal-pitch.reveal:not(.in-view) .node-asian,.signal-pitch.reveal:not(.in-view) .node-lottery,.signal-pitch.reveal:not(.in-view) .node-score{translate:14px 14px}
.signal-pitch.reveal .signal-node-verdict{transition-delay:.08s}.signal-pitch.reveal .node-home-team,.signal-pitch.reveal .node-away-team{transition-delay:.14s}.signal-pitch.reveal .node-risk{transition-delay:.19s}.signal-pitch.reveal .node-confidence{transition-delay:.23s}.signal-pitch.reveal .node-asian{transition-delay:.27s}.signal-pitch.reveal .node-lottery{transition-delay:.31s}.signal-pitch.reveal .node-score{transition-delay:.35s}

@media(max-width:900px){.signal-pitch{height:620px}.signal-node-verdict{width:min(27%,250px)}.signal-node.node-home-team,.signal-node.node-away-team,.signal-node.node-risk,.signal-node.node-confidence,.signal-node.node-lottery,.signal-node.node-asian,.signal-node.node-score{width:min(22%,176px)}}
@media(max-width:640px){.signal-pitch{--pitch-safe-x:18px;height:clamp(760px,195vw,840px)}.signal-pitch .pitch-lines{inset:20% var(--pitch-safe-x) 6%}.signal-pitch .pitch-lines:before{top:58%;right:0;bottom:auto;left:0;width:auto;height:0;transform:translateY(-50%)}.signal-pitch .pitch-lines:after{top:58%;width:30%;transform:translate(-50%,-50%)}.signal-node{padding:9px 10px;border-radius:14px}.signal-node p{font-size:9px}.signal-node strong{font-size:13px}.signal-node-verdict{top:23%;left:calc(var(--pitch-safe-x) + 14px);width:43%;padding:13px 14px;transform:none;text-align:left}.signal-node-verdict strong{font-size:24px}.signal-node.node-home-team,.signal-node.node-away-team,.signal-node.node-risk,.signal-node.node-confidence,.signal-node.node-lottery,.signal-node.node-asian,.signal-node.node-score{max-width:none}.signal-node.node-home-team{top:34%;left:calc(var(--pitch-safe-x) + 8px);width:37%}.signal-node.node-away-team{top:34%;right:calc(var(--pitch-safe-x) + 8px);left:auto;width:37%;text-align:right}.signal-node.node-risk{top:47%;left:calc(var(--pitch-safe-x) + 8px);width:29%;text-align:left}.signal-node.node-confidence{top:35%;right:calc(var(--pitch-safe-x) + 8px);left:auto;width:31%;text-align:right}.signal-node.node-asian{top:70%;right:calc(var(--pitch-safe-x) + 8px);left:auto;width:35%;text-align:right}.signal-node.node-lottery{top:71%;right:auto;left:calc(var(--pitch-safe-x) + 8px);width:34%;text-align:left}.signal-node.node-score{top:83%;right:calc(var(--pitch-safe-x) + 8px);left:auto;width:31%;text-align:right}.signal-pitch.result-away-only .node-away-team{top:34%;right:calc(var(--pitch-safe-x) + 8px);left:auto;text-align:right}.signal-pitch.result-away-only .node-confidence{top:35%;right:auto;left:calc(var(--pitch-safe-x) + 8px);text-align:left}.signal-pitch.result-away-only .node-asian{top:70%;right:calc(var(--pitch-safe-x) + 8px);left:auto;text-align:right}.signal-pitch.result-away-only .node-lottery{top:71%;right:auto;left:calc(var(--pitch-safe-x) + 8px);text-align:left}.signal-pitch.result-away-only .node-score{top:83%;right:calc(var(--pitch-safe-x) + 8px);left:auto;text-align:right}}
@media(prefers-reduced-motion:reduce){.signal-pitch.reveal .signal-node{opacity:1;translate:0 0;scale:1;transition:none;will-change:auto}}

/* 情报室最终排布：移动端以等高半场组织信息，所有信号卡都在边线内、中心圆外。 */
.signal-pitch{height:clamp(580px,52vw,640px)}
.signal-pitch .pitch-lines{inset:16% var(--pitch-safe-x) 8%}
.signal-node{align-content:center;gap:3px;padding:9px 11px;text-align:center}
.signal-node p{font-size:10px;line-height:1.2}
.signal-node strong{font-size:14px;line-height:1.26}
.signal-node-verdict{top:20%;left:calc(var(--pitch-safe-x) + 16px);width:min(25%,246px);padding:13px 15px;text-align:center}
.signal-node-verdict strong{font-size:clamp(22px,2.2vw,29px)}
.signal-node.node-home-team,.signal-node.node-away-team,.signal-node.node-risk,.signal-node.node-confidence,.signal-node.node-lottery,.signal-node.node-asian,.signal-node.node-score{width:min(20%,176px);text-align:center}
.signal-node.node-home-team{top:34%;left:calc(var(--pitch-safe-x) + 16px)}
.signal-node.node-away-team{top:25%;right:calc(var(--pitch-safe-x) + 16px);left:auto}
.signal-node.node-risk{top:49%;left:calc(var(--pitch-safe-x) + 16px)}
.signal-node.node-confidence{top:64%;left:calc(var(--pitch-safe-x) + 16px)}
.signal-node.node-asian{top:35%;right:calc(var(--pitch-safe-x) + 16px);left:auto}
.signal-node.node-lottery{top:53%;right:calc(var(--pitch-safe-x) + 16px);left:auto}
.signal-node.node-score{top:69%;right:calc(var(--pitch-safe-x) + 16px);left:auto}

@media(max-width:900px){
  .signal-pitch{height:clamp(560px,66vw,620px)}
  .signal-node.node-home-team,.signal-node.node-away-team,.signal-node.node-risk,.signal-node.node-confidence,.signal-node.node-lottery,.signal-node.node-asian,.signal-node.node-score{width:min(21%,168px)}
}

/* 主界面权益保护：赛事身份保留，只有受保护的具体结果字段使用窄幅磨砂标记。 */
.match-card.is-access-locked{border-color:rgba(172,227,191,.28);background:#10281b}
.match-card.is-access-locked .card-overlay{background:linear-gradient(180deg,rgba(5,23,14,.13),rgba(5,25,15,.84) 84%)}
.card-outcome{align-items:center}.card-outcome>span,.card-outcome>strong{display:inline-flex;align-items:center;gap:.32rem}.card-outcome b{font:inherit}.is-access-redacted{position:relative;display:inline-flex!important;align-items:center;min-height:1.5rem;padding:0 .44rem;overflow:hidden;border:1px solid rgba(216,252,227,.27);border-radius:.45rem;color:#d9f4e2!important;background:linear-gradient(110deg,rgba(198,252,218,.17),rgba(81,160,106,.08) 48%,rgba(6,37,21,.48));box-shadow:inset 0 1px rgba(255,255,255,.15);backdrop-filter:blur(10px) saturate(108%);-webkit-backdrop-filter:blur(10px) saturate(108%)}.is-access-redacted::before{content:"";position:absolute;inset:-25% 42% -25% -28%;background:linear-gradient(105deg,rgba(255,255,255,.18),transparent 70%);filter:blur(7px);pointer-events:none}.signal-node .is-access-redacted{justify-content:center;min-width:4.8rem;font-size:11px!important;line-height:1.2}.feature-meta .is-access-redacted,.confidence-line .is-access-redacted{margin-left:.2rem;font-size:11px!important}.confidence-line .is-access-redacted{min-height:1.4rem}.match-card.is-access-locked .card-summary{color:#c9d8ce}.match-card.is-access-locked .card-bottom{border-color:rgba(229,255,238,.19)}.match-card.is-access-locked .card-bottom button{padding:0 .25rem;color:#e8fff0}@supports not (backdrop-filter:blur(1px)){.is-access-redacted{background:rgba(25,68,43,.92)}}
/* 详情页只呈现权限边界，不以遮罩掩盖未从服务端返回的数据。 */
.module-group.is-access-disabled{min-height:auto;opacity:1;border-style:dashed;border-color:rgba(184,231,201,.38);background:linear-gradient(104deg,rgba(17,49,31,.44),rgba(12,35,23,.7));box-shadow:none;pointer-events:auto}.module-group.is-access-disabled .module-group-head{min-height:0;padding-block:1rem}.module-group.is-access-disabled .module-group-head p{color:#a9edc0}.module-group.is-access-disabled .module-group-head span{max-width:34rem;color:#c3d8c9;line-height:1.55}.match-access-dialog{width:min(calc(100% - 2rem),28rem);padding:0;border:0;border-radius:1.25rem;color:#eff9f2;background:transparent;box-shadow:0 1.5rem 4rem rgba(0,0,0,.5)}.match-access-dialog::backdrop{background:rgba(0,12,7,.66);backdrop-filter:blur(8px)}.match-access-dialog>div{position:relative;padding:1.5rem;border:1px solid rgba(190,240,207,.28);border-radius:inherit;background:linear-gradient(145deg,rgba(22,55,37,.96),rgba(8,27,17,.98))}.match-access-dialog h2{margin:.25rem 2.5rem .5rem 0;font-size:1.35rem}.match-access-dialog p:not(.eyebrow),.match-access-dialog small{display:block;color:#bed0c4;line-height:1.6}.match-access-dialog button,.match-access-dialog a{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;margin-top:1rem;padding:0 .875rem;border:1px solid rgba(143,230,173,.5);border-radius:.75rem;color:#dff6e6;background:rgba(143,230,173,.12);font-weight:750;text-decoration:none}.match-access-dialog [data-close]{position:absolute;top:.75rem;right:.75rem;width:2.5rem;padding:0;border-color:transparent;background:transparent;font-size:1.35rem}.match-access-dialog .access-pass-confirm{width:100%;color:#082015;background:#8fe6ad}.match-access-dialog small{margin-top:.5rem;font-size:.75rem}

/* 次卡确认采用主次动作层级：扣次为明确的绿色主按钮，取消保持低干扰。 */
.match-access-dialog .access-confirm-actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.75rem;margin-top:1.25rem}.match-access-dialog .access-confirm-actions button{width:100%;margin-top:0}.match-access-dialog .access-pass-approve{color:#062216;background:linear-gradient(135deg,#a7f0bd,#78d99a);border-color:#baf7ca;box-shadow:0 .55rem 1.25rem rgba(78,199,115,.18)}.match-access-dialog .access-pass-approve:hover:not(:disabled),.match-access-dialog .access-pass-approve:focus-visible:not(:disabled){background:linear-gradient(135deg,#c1f8d0,#8de7aa);transform:translateY(-1px)}.match-access-dialog .access-pass-approve:disabled{cursor:wait;opacity:.72}.match-access-dialog .access-pass-cancel{border-color:rgba(202,230,211,.32);color:#cbdcd1;background:rgba(255,255,255,.035)}.match-access-dialog .access-pass-cancel:hover,.match-access-dialog .access-pass-cancel:focus-visible{border-color:rgba(202,230,211,.55);background:rgba(255,255,255,.08);color:#f2fbf4}.match-access-dialog .access-confirm-feedback{min-height:1.35rem;margin:.7rem 0 0;color:#b9d1c0;font-size:.78rem;line-height:1.45}.match-access-dialog .access-confirm-feedback:not(:empty){color:#d8ebdf}

@media(max-width:380px){.match-access-dialog .access-confirm-actions{grid-template-columns:1fr}}

@media(max-width:640px){
  .signal-pitch{--pitch-safe-x:18px;height:clamp(720px,185vw,790px)}
  .signal-pitch .pitch-lines{inset:15% var(--pitch-safe-x) 7%}
  .signal-pitch .pitch-lines:before{top:50%;right:0;bottom:auto;left:0;width:auto;height:0;transform:translateY(-50%)}
  .signal-pitch .pitch-lines:after{top:50%;width:30%;transform:translate(-50%,-50%)}
  .signal-match-meta{top:16px;left:var(--pitch-safe-x);max-width:44%}
  .signal-detail-action{top:16px;right:var(--pitch-safe-x);padding:0 9px}
  .signal-node{gap:2px;padding:8px 9px;border-radius:14px;text-align:center}
  .signal-node p{font-size:9px;line-height:1.15}
  .signal-node strong{font-size:13px;line-height:1.22}
  .signal-node-verdict{top:19%;left:calc(var(--pitch-safe-x) + 14px);width:40%;padding:11px 10px;text-align:center}
  .signal-node-verdict strong{font-size:23px;line-height:1.1}
  .signal-node.node-home-team,.signal-node.node-away-team,.signal-node.node-risk,.signal-node.node-confidence,.signal-node.node-lottery,.signal-node.node-asian,.signal-node.node-score{max-width:none;text-align:center}
  .signal-node.node-home-team{top:32%;left:calc(var(--pitch-safe-x) + 14px);width:30%}
  .signal-node.node-away-team{top:32%;right:calc(var(--pitch-safe-x) + 14px);left:auto;width:30%}
  .signal-node.node-risk{top:41%;left:calc(var(--pitch-safe-x) + 14px);width:27%}
  .signal-node.node-confidence{top:33%;right:calc(var(--pitch-safe-x) + 14px);left:auto;width:27%}
  .signal-node.node-asian{top:68%;right:calc(var(--pitch-safe-x) + 14px);left:auto;width:32%}
  .signal-node.node-lottery{top:69%;right:auto;left:calc(var(--pitch-safe-x) + 14px);width:29%}
  .signal-node.node-score{top:82%;right:calc(var(--pitch-safe-x) + 14px);left:auto;width:27%}
  .signal-pitch.result-away-only .node-away-team{top:32%;right:calc(var(--pitch-safe-x) + 14px);left:auto}
  .signal-pitch.result-away-only .node-confidence{top:33%;right:auto;left:calc(var(--pitch-safe-x) + 14px)}
  .signal-pitch.result-away-only .node-asian{top:68%;right:calc(var(--pitch-safe-x) + 14px);left:auto}
  .signal-pitch.result-away-only .node-lottery{top:69%;right:auto;left:calc(var(--pitch-safe-x) + 14px)}
  .signal-pitch.result-away-only .node-score{top:82%;right:calc(var(--pitch-safe-x) + 14px);left:auto}
}

/*
 * 手机端情报室：以中线为几何中心组织上下半场。
 * 元信息、正式结论与所有资料卡均被收回到边线内；资料卡不跨中线或中圈，
 * 让每个尺寸下的场地上下半区保持同样的阅读空间。
 */
.signal-workbench{row-gap:10px}

@media(max-width:640px){
  .signal-pitch{
    --pitch-safe-x:18px;
    height:clamp(720px,185vw,780px);
  }

  /* 对称的上下边距让中线永远位于可见球场的正中央。 */
  .signal-pitch .pitch-lines{inset:12% var(--pitch-safe-x)}
  .signal-pitch .pitch-lines:before{top:50%;right:0;bottom:auto;left:0;width:auto;height:0;transform:translateY(-50%)}
  .signal-pitch .pitch-lines:after{top:50%;width:32%;transform:translate(-50%,-50%)}

  .signal-match-meta{
    top:13%;
    left:calc(var(--pitch-safe-x) + 12px);
    max-width:42%;
    gap:2px;
  }
  .signal-match-meta span{font-size:12px;line-height:1.25}
  .signal-match-meta small{font-size:10px;line-height:1.3}
  .signal-detail-action{
    top:13%;
    right:calc(var(--pitch-safe-x) + 12px);
    min-height:44px;
    padding:0 8px;
    font-size:11px;
  }

  /* 卡片只压缩内边距与字阶，信息本身不截断；文字统一居中。 */
  .signal-node{
    align-content:center;
    gap:2px;
    padding:8px 8px;
    border-radius:13px;
    text-align:center;
  }
  .signal-node p{font-size:9px;line-height:1.15;letter-spacing:.04em}
  .signal-node strong{font-size:12px;line-height:1.24;text-align:center}
  .signal-node-verdict{
    top:23%;
    left:calc(var(--pitch-safe-x) + 14px);
    width:38%;
    padding:11px 9px;
    text-align:center;
  }
  .signal-node-verdict strong{font-size:22px;line-height:1.12}

  .signal-node.node-home-team,
  .signal-node.node-away-team,
  .signal-node.node-risk,
  .signal-node.node-confidence,
  .signal-node.node-lottery,
  .signal-node.node-asian,
  .signal-node.node-score{max-width:none;text-align:center}

  /* 上半场：结论与归属在左；风险、信心在右。 */
  .signal-node.node-home-team{top:34%;left:calc(var(--pitch-safe-x) + 14px);width:30%}
  .signal-node.node-away-team{top:30%;right:calc(var(--pitch-safe-x) + 14px);left:auto;width:30%}
  .signal-node.node-risk{top:23%;right:calc(var(--pitch-safe-x) + 14px);left:auto;width:32%}
  .signal-node.node-confidence{top:34%;right:calc(var(--pitch-safe-x) + 14px);left:auto;width:28%}

  /* 下半场：三项专项数据按观察顺序散开，且全部避开中圈。 */
  .signal-node.node-asian{top:60%;right:calc(var(--pitch-safe-x) + 14px);left:auto;width:34%}
  .signal-node.node-lottery{top:61%;right:auto;left:calc(var(--pitch-safe-x) + 14px);width:30%}
  .signal-node.node-score{top:75%;right:calc(var(--pitch-safe-x) + 14px);left:auto;width:28%}

  /* 客队方向仍把球队卡留在客场（右侧）；空出的主侧留给风险信息。 */
  .signal-pitch.result-away-only .node-away-team{top:30%;right:calc(var(--pitch-safe-x) + 14px);left:auto;text-align:center}
  .signal-pitch.result-away-only .node-confidence{top:23%;right:calc(var(--pitch-safe-x) + 14px);left:auto;text-align:center}
  .signal-pitch.result-away-only .node-risk{top:34%;right:auto;left:calc(var(--pitch-safe-x) + 14px);text-align:center}
  .signal-pitch.result-away-only .node-asian{top:60%;right:calc(var(--pitch-safe-x) + 14px);left:auto;text-align:center}
  .signal-pitch.result-away-only .node-lottery{top:61%;right:auto;left:calc(var(--pitch-safe-x) + 14px);text-align:center}
  .signal-pitch.result-away-only .node-score{top:75%;right:calc(var(--pitch-safe-x) + 14px);left:auto;text-align:center}
}

@media(prefers-reduced-motion:reduce){
  .signal-pitch.reveal .signal-node,
  .signal-pitch.reveal .signal-match-meta,
  .signal-pitch.reveal .signal-detail-action{transition:none}
}

/* 链路数据监测：将原站数据状态与校验链路合并为一条只读、可追溯的摘要。 */
.logic-control-section{scroll-margin-top:92px}
.chain-monitor{padding:clamp(18px,2.2vw,28px);border:1px solid rgb(181 239 203 / 34%);border-radius:22px;background:linear-gradient(135deg,rgb(25 70 47 / 94%),rgb(13 42 29 / 96%));box-shadow:inset 0 1px 0 rgb(255 255 255 / 7%),0 20px 42px rgb(0 0 0 / 15%)}
.chain-monitor-head{display:flex;align-items:end;justify-content:space-between;gap:18px}
.chain-monitor-head h3{margin:0;color:#f4fff7;font-size:clamp(20px,2.3vw,28px);line-height:1.14;letter-spacing:-.04em}
.chain-monitor-head p:not(.eyebrow){max-width:660px;margin:7px 0 0;color:#bdd0c2;font-size:13px;line-height:1.65}
.chain-monitor-live{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;min-height:32px;padding:0 10px;border:1px solid rgb(152 230 181 / 36%);border-radius:999px;background:rgb(4 30 18 / 28%);color:#d8f5e2;font-size:12px;font-weight:760;white-space:nowrap}
.chain-monitor-live .live-dot{width:7px;height:7px}
.chain-monitor-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.chain-monitor-route{display:grid;align-content:center;min-height:102px;padding:17px 19px;border:1px solid rgb(218 255 228 / 24%);border-radius:16px;background:rgb(4 29 18 / 38%);color:inherit;text-decoration:none;transition:transform .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}
.chain-monitor-route span{color:#a8c2af;font-size:12px;font-weight:760;letter-spacing:.04em}
.chain-monitor-route strong{display:block;margin-top:6px;color:#f6fff8;font-size:clamp(17px,2vw,22px);line-height:1.2;letter-spacing:-.025em}
.chain-monitor-route small{display:flex;align-items:center;gap:6px;margin-top:8px;color:#b8eac8;font-size:12px;font-weight:720}
.chain-monitor-route small b{font-size:15px;line-height:1}
.chain-monitor-route:hover,.chain-monitor-route:focus-visible{border-color:rgb(157 239 189 / 68%);background:rgb(113 218 146 / 10%);transform:translateY(-2px)}
.chain-monitor-route:active{transform:scale(.985)}
.chain-monitor-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;margin-top:10px}
.chain-monitor-card{display:grid;align-content:start;min-height:118px;padding:16px 18px;border:1px solid rgb(218 255 228 / 20%);border-radius:16px;background:rgb(3 26 16 / 31%)}
.chain-monitor-card>p{margin:0;color:#b4cbb9;font-size:12px;font-weight:760;letter-spacing:.035em}
.chain-monitor-card>strong{display:block;margin-top:9px;color:#f5fff7;font-size:clamp(17px,1.8vw,23px);line-height:1.22;letter-spacing:-.025em;overflow-wrap:anywhere}
.chain-monitor-card>small{display:flex;align-items:flex-start;gap:7px;margin-top:auto;padding-top:9px;color:#a9c2b0;font-size:11px;line-height:1.42}
.chain-monitor-card>small i{display:block;flex:0 0 auto;width:7px;height:7px;margin-top:4px;border-radius:50%;background:#8fe1a8}
.chain-monitor-card.warn{border-color:rgb(239 198 108 / 38%)}
.chain-monitor-card.warn>strong{color:#ffe1a1}
.chain-monitor-card.warn>small i{background:#eec15f}
.chain-monitor-card.bad{border-color:rgb(255 138 125 / 44%)}
.chain-monitor-card.bad>strong{color:#ffb3a9}
.chain-monitor-card.bad>small i{background:#ff8a7d}
.chain-monitor-source,.chain-monitor-updated,.chain-monitor-server{grid-column:span 4}
.chain-monitor-snapshots,.chain-monitor-matches,.chain-monitor-backtest,.chain-monitor-scope{grid-column:span 3}
.chain-monitor-scope>strong{font-size:clamp(14px,1.35vw,18px);line-height:1.38}

@media(max-width:900px){
  .chain-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chain-monitor-source,.chain-monitor-updated,.chain-monitor-server,.chain-monitor-snapshots,.chain-monitor-matches,.chain-monitor-backtest,.chain-monitor-scope{grid-column:auto}
  .chain-monitor-scope{grid-column:span 2}
}

@media(max-width:640px){
  .chain-monitor{padding:18px;border-radius:18px}
  .chain-monitor-head{display:grid;align-items:start;gap:12px}
  .chain-monitor-head h3{font-size:22px}
  .chain-monitor-live{width:max-content;min-height:30px}
  .chain-monitor-routes{grid-template-columns:1fr;gap:8px;margin-top:14px}
  .chain-monitor-route{min-height:94px;padding:15px 16px;border-radius:14px}
  .chain-monitor-grid{grid-template-columns:1fr;gap:8px;margin-top:8px}
  .chain-monitor-card,.chain-monitor-scope{grid-column:auto;min-height:104px;padding:14px 16px;border-radius:14px}
  .chain-monitor-card>strong{font-size:19px}
  .chain-monitor-scope>strong{font-size:16px}
}

@media(prefers-reduced-motion:reduce){
  .chain-monitor-route{transition:none}
}

/* 紧凑运行摘要：保留全部字段，将说明性留白收回为快速扫描的数据带。 */
.chain-monitor{padding:14px;border-radius:18px}
.chain-monitor-head{gap:12px}
.chain-monitor-head h3{font-size:clamp(16px,1.6vw,20px);line-height:1.2;letter-spacing:-.025em}
.chain-monitor-head p:not(.eyebrow){display:none}
.chain-monitor-live{min-height:26px;padding:0 8px;font-size:10px}
.chain-monitor-live .live-dot{width:6px;height:6px}
.chain-monitor-routes{gap:6px;margin-top:10px}
.chain-monitor-route{min-height:64px;padding:10px 12px;border-radius:12px}
.chain-monitor-route span{font-size:10px;letter-spacing:.03em}
.chain-monitor-route strong{margin-top:3px;font-size:clamp(14px,1.35vw,17px);line-height:1.15}
.chain-monitor-route small{gap:5px;margin-top:4px;font-size:10px}
.chain-monitor-route small b{font-size:12px}
.chain-monitor-grid{gap:6px;margin-top:6px}
.chain-monitor-card{min-height:66px;padding:8px 10px;border-radius:12px}
.chain-monitor-card>p{font-size:10px;line-height:1.25;letter-spacing:.025em}
.chain-monitor-card>strong{margin-top:4px;font-size:clamp(13px,1.15vw,16px);line-height:1.22;letter-spacing:-.015em}
.chain-monitor-card>small{display:none}
.chain-monitor-scope>strong{font-size:clamp(11px,.9vw,13px);line-height:1.32}

@media(max-width:900px){
  .chain-monitor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .chain-monitor-source,.chain-monitor-updated,.chain-monitor-server,.chain-monitor-snapshots,.chain-monitor-matches,.chain-monitor-backtest{grid-column:auto}
  .chain-monitor-scope{grid-column:span 2}
}

@media(max-width:640px){
  .chain-monitor{padding:12px;border-radius:16px}
  .chain-monitor-head{grid-template-columns:1fr auto;align-items:start;gap:8px}
  .chain-monitor-head h3{font-size:17px;line-height:1.18}
  .chain-monitor-live{min-height:24px;padding:0 7px;font-size:9px}
  .chain-monitor-routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
  .chain-monitor-route{min-height:62px;padding:9px 10px}
  .chain-monitor-route strong{font-size:14px;line-height:1.18}
  .chain-monitor-route small{font-size:9px}
  .chain-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:6px}
  .chain-monitor-card{grid-column:auto;min-height:70px;padding:8px 9px;border-radius:11px}
  .chain-monitor-card>p{font-size:9px}
  .chain-monitor-card>strong{font-size:13px;line-height:1.25}
  .chain-monitor-scope{grid-column:span 2;min-height:78px}
.chain-monitor-scope>strong{font-size:12px;line-height:1.35}
}

/* 二次压缩：数据摘要采用仪表盘密度，入口保留 44px 以上触控高度。 */
.chain-monitor{padding:10px;border-radius:16px}
.chain-monitor-head h3{font-size:clamp(15px,1.35vw,18px)}
.chain-monitor-live{min-height:24px;padding:0 7px;font-size:9px}
.chain-monitor-routes{gap:4px;margin-top:7px}
.chain-monitor-route{min-height:50px;padding:7px 9px;border-radius:10px}
.chain-monitor-route span{font-size:9px}
.chain-monitor-route strong{margin-top:2px;font-size:clamp(12px,1.15vw,15px);line-height:1.15}
.chain-monitor-route small{display:none}
.chain-monitor-grid{gap:4px;margin-top:4px}
.chain-monitor-card{min-height:50px;padding:6px 8px;border-radius:10px}
.chain-monitor-card>p{font-size:9px;line-height:1.15}
.chain-monitor-card>strong{margin-top:2px;font-size:clamp(12px,1vw,14px);line-height:1.2}
.chain-monitor-scope>strong{font-size:clamp(10px,.78vw,12px);line-height:1.28}

@media(max-width:640px){
  .chain-monitor{padding:10px;border-radius:14px}
  .chain-monitor-head h3{font-size:15px}
  .chain-monitor-routes{gap:4px;margin-top:7px}
  .chain-monitor-route{min-height:48px;padding:7px 8px}
  .chain-monitor-route span{font-size:8px}
  .chain-monitor-route strong{font-size:12px}
  .chain-monitor-grid{gap:4px;margin-top:4px}
  .chain-monitor-card{min-height:56px;padding:7px 8px;border-radius:9px}
  .chain-monitor-card>p{font-size:8px}
  .chain-monitor-card>strong{font-size:12px;line-height:1.2}
  .chain-monitor-scope{min-height:62px}
  .chain-monitor-scope>strong{font-size:10px;line-height:1.3}
}

/* 权限遮挡采用场景雾化，不再以带边框的文字方块占位。
   后端未返回真实字段，因此只用被打散的字距纹理表达“数据在此处”，不伪造内容。 */
.is-access-redacted{
  position:relative;
  display:inline-block!important;
  flex:0 0 auto;
  width:clamp(3.7rem,10vw,5.8rem);
  min-width:0!important;
  min-height:1.05em!important;
  height:1.05em;
  padding:0!important;
  overflow:hidden;
  border:0!important;
  border-radius:999px;
  color:transparent!important;
  background:linear-gradient(90deg,transparent 0%,rgba(189,239,207,.1) 16%,rgba(224,255,233,.24) 48%,rgba(103,181,129,.12) 78%,transparent 100%)!important;
  box-shadow:none!important;
  backdrop-filter:blur(8px) saturate(112%);
  -webkit-backdrop-filter:blur(8px) saturate(112%);
  isolation:isolate;
  vertical-align:middle;
}
.is-access-redacted::before{
  content:"";
  position:absolute;
  inset:18% 9%;
  z-index:-1;
  opacity:.62;
  background:repeating-linear-gradient(90deg,rgba(232,255,239,.56) 0 .18rem,transparent .18rem .35rem,rgba(178,227,193,.44) .35rem .65rem,transparent .65rem .86rem);
  filter:blur(2.6px);
  transform:skewX(-9deg);
}
.is-access-redacted::after{
  content:"";
  position:absolute;
  inset:-55% -22%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(104deg,transparent 22%,rgba(247,255,249,.24) 48%,transparent 69%);
  filter:blur(8px);
}
.card-outcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem;align-items:center}
.card-outcome>span,.card-outcome>strong{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.38rem;min-width:0}
.card-outcome .is-access-redacted{width:100%}
.card-access-chip{
  align-self:flex-end;
  min-height:2rem;
  margin:.6rem 0 .15rem;
  padding:0 .7rem;
  border:1px solid rgba(161,233,186,.48);
  border-radius:999px;
  color:#e8fff0;
  background:rgba(6,31,18,.52);
  box-shadow:0 .4rem 1.15rem rgba(0,0,0,.16);
  font-size:.73rem;
  font-weight:780;
  line-height:1;
  cursor:pointer;
}
.card-access-chip:hover,.card-access-chip:focus-visible{border-color:rgba(177,246,201,.84);background:rgba(84,180,116,.2)}
.match-card.is-access-locked .kickoff{margin-top:auto}
.match-card.is-access-locked .card-outcome{margin-top:.9rem}
.signal-node .is-access-redacted{justify-self:center;width:min(72%,5.5rem);min-height:1.1rem!important;font-size:inherit!important;line-height:1}
.feature-meta .is-access-redacted,.confidence-line .is-access-redacted{width:4.5rem;margin-left:.2rem}

/* 每日免费场只作为当前赛事的访问提示，不额外增加一层卡片。 */
.feature-access-guide{
  display:flex;
  align-items:center;
  gap:.38rem;
  margin:10px 0 -5px;
  color:#c7f6d5;
  font-size:.75rem;
  font-weight:720;
  line-height:1.45;
}
.feature-access-guide::before{
  content:"";
  flex:0 0 auto;
  width:.35rem;
  height:.35rem;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 .2rem rgb(121 232 163 / 12%);
}
@media(max-width:640px){
  .feature-access-guide{margin-top:9px;font-size:.72rem}
}

/* 右侧风险/信心拆成不同纵向轨道；即使文字变长也不重叠。 */
@media(max-width:640px){
  .signal-node.node-risk{top:22%;right:calc(var(--pitch-safe-x) + 14px);left:auto;width:32%}
  .signal-node.node-confidence{top:41%;right:calc(var(--pitch-safe-x) + 14px);left:auto;width:30%}
  .signal-pitch.result-away-only .node-risk{top:39%;right:auto;left:calc(var(--pitch-safe-x) + 14px)}
  .signal-pitch.result-away-only .node-confidence{top:22%;right:calc(var(--pitch-safe-x) + 14px);left:auto}
  .card-access-chip{min-height:2.2rem;margin-top:.7rem;padding:0 .75rem;font-size:.72rem}
}

@media(prefers-reduced-transparency:reduce){
  .is-access-redacted{background:rgba(28,70,47,.82)!important;backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* 双选票面会换成两行，预留独立纵向轨道，避免正式结论压住球队归属卡。 */
.signal-pitch.result-multiple-choice{
  height:clamp(660px,59vw,740px);
}
.signal-pitch.result-multiple-choice .signal-node-verdict{top:18%;}
.signal-pitch.result-multiple-choice .node-home-team{top:47%;}
.signal-pitch.result-multiple-choice .node-risk{top:62%;}
.signal-pitch.result-multiple-choice .node-confidence{top:77%;}

@media(max-width:640px){
  .signal-pitch.result-multiple-choice{
    height:clamp(820px,208vw,900px);
  }
  .signal-pitch.result-multiple-choice .signal-node-verdict{
    top:21%;
    width:42%;
  }
  .signal-pitch.result-multiple-choice .node-home-team{top:46%;}
  .signal-pitch.result-multiple-choice .node-risk{top:22%;}
  .signal-pitch.result-multiple-choice .node-confidence{top:46%;}
  .signal-pitch.result-multiple-choice .node-asian{top:64%;}
  .signal-pitch.result-multiple-choice .node-lottery{top:65%;}
  .signal-pitch.result-multiple-choice .node-score{top:80%;}
}
