/* 比赛卡片沿用扫盘列表，外层采用与站内二级页一致的头部和导航。 */
.single-pick-page { padding: calc(63px + env(safe-area-inset-top, 0px)) 0 calc(24px + env(safe-area-inset-bottom, 0px)); }
.single-pick-page [hidden] { display: none !important; }
.single-pick-page .site-app-header { position: fixed; top: 0; left: 0; right: 0; z-index: 90; width: 100%; background: rgba(255, 255, 255, .94); border-bottom: 1px solid rgba(229, 231, 235, .88); box-shadow: 0 8px 24px rgba(24, 48, 75, .07); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.single-pick-page .site-app-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; max-width: 760px; min-height: calc(62px + env(safe-area-inset-top, 0px)); margin: 0 auto; padding: calc(10px + env(safe-area-inset-top, 0px)) 12px 10px; }
.single-pick-page .site-app-logo { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1 1 auto; color: var(--text); }
.single-pick-page .site-app-logo-box { display: block; width: 36px; height: 36px; flex: 0 0 auto; border-radius: var(--radius); overflow: hidden; }
.single-pick-page .site-app-logo-box img { display: block; width: 100%; height: 100%; }
.single-pick-page .site-app-logo-text { display: block; min-width: 0; margin: 0; font: inherit; }
.single-pick-page .site-app-logo-text strong { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; line-height: 1.1; font-weight: 900; }
.single-pick-page .site-app-logo-text small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 3px; color: var(--sub); font-size: 11px; line-height: 1.2; }
.single-title { display: flex; align-items: center; gap: 6px; }
/* 与首页VIP功能入口相同的皇冠图形、尺寸和配色。 */
.single-title .tool-vip-crown { display: block; flex: 0 0 auto; width: 17px; height: 13px; fill: #fff2b8; stroke: #f4c24f; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.single-period { color: #bacde5; font-size: 12px; line-height: 1.6; }
.single-summary { margin-top: 14px; color: var(--sub); font-size: 12px; line-height: 1.65; }
.single-summary p { margin: 4px 2px; }
#singleHistoryNote { color: #8b662d; }
.single-status { padding: 32px 16px; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); text-align: center; color: var(--sub); font-size: 13px; }
.single-status.is-error { color: #b42318; }
.single-list { margin-top: 8px; gap: 8px; }
.single-list .match { border-color: #e2e8ef; box-shadow: 0 3px 12px rgba(37, 59, 84, .055); }
.single-list .single-business-date { padding: 6px 10px; display: flex; justify-content: space-between; align-items: center; gap: 8px; background: #f8fafc; border-bottom: 1px solid #edf1f5; font-size: 12px; color: #596b80; }
.single-list .single-business-date strong { font-weight: 650; }
.single-list .match-header { padding: 8px 10px 7px; }
.single-list .topline { gap: 7px; }
.single-list .league { min-height: 24px; border-color: #e1e7ee; background: #f7f9fb; color: #52677f; }
.single-list .teams { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 8px; margin-top: 8px; padding-bottom: 1px; }
.single-list .teams .t { display: flex; flex-direction: column; align-items: center; align-self: start; gap: 4px; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.single-list .teams .t.away { justify-content: flex-start; text-align: center; }
.single-list .single-team-logo { display: block; width: 48px; height: 48px; flex: 0 0 auto; object-fit: contain; }
.single-list .single-team-name { display: block; min-width: 0; max-width: 100%; color: #25364a; font-size: 13px; line-height: 1.35; }
.single-list .teams .vs { min-width: 46px; padding: 3px 7px; text-align: center; background: #f6f8fa; color: #5d7087; font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; }
.single-list .recommend { margin: 0 10px 9px; padding: 7px 9px; border-color: #edf1f3; background: #fbfcfc; }
.single-list .analysis-link { min-width: 70px; min-height: 30px; background: #f6fbf8; border-color: #cfe5d8; box-shadow: none; }
.single-list .forecast { padding: 2px 8px; font-size: 12px; }
.single-list .match.good { background: #fffbfa; border-color: #f0d5d2; box-shadow: 0 3px 12px rgba(151, 66, 56, .055); }
.single-list .match.good .single-business-date { background: #fdf3f1; border-color: #f4e2df; color: #98483f; }
.single-list .match.good .recommend { background: #fffdfc; border-color: #f1e5e3; }
.single-list .match.good .teams .vs { background: #fcefed; color: #9e3e35; }
.single-list .match.good .jid, .single-list .match.good .date { color: #82625e; }
.single-list .badge.void { background: #f1f3f6; color: #697789; }
.single-empty { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 5px 12px; padding: 15px 12px; border: 1px dashed #cfd8e3; border-radius: var(--radius); background: #f6f8fb; color: #7b8797; font-size: 12px; line-height: 1.5; }
.single-empty strong { font-weight: 600; color: #687789; }
.single-updated { text-align: right; color: var(--sub-2); font-size: 11px; line-height: 1.6; }
.single-pick-page button:disabled { cursor: wait; opacity: .5; }
.single-pick-page .confidence-btn:focus-visible, #singleRefresh:focus-visible { outline: 2px solid #55789a; outline-offset: 2px; }
@media (max-width: 720px) {
    .single-list .single-team-logo { width: 44px; height: 44px; }
    .single-list .match-header { padding: 7px 9px 6px; }
    .single-list .teams { gap: 6px; margin-top: 7px; }
    .single-list .recommend { margin: 0 9px 8px; }
}
@media (max-width: 380px) {
    .single-pick-page .confidence-row { gap: 6px; }
    .single-pick-page .confidence-btn { padding: 0 9px; }
}
