.filter-page { min-height: 100vh; background: #f8f5f1; color: #252321; }
.filter-page > .site-navigation { max-width: 1360px; margin: 0 auto; padding: 0 32px; }
.filter-content { max-width: 1180px; margin: 0 auto; padding: 42px 30px 0; }
.filter-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 34px; }
.filter-eyebrow { margin: 0 0 9px; color: #c32d2d; font-size: 13px; font-weight: 800; letter-spacing: .12em; }
.filter-header h1 { margin: 0; font-size: clamp(34px, 4vw, 52px); letter-spacing: -.055em; line-height: 1.13; }
.filter-header p:last-child { margin: 12px 0 0; color: #716c67; font-size: 16px; }
.filter-help, .filter-text-button { color: #bd2a2b; font: inherit; font-weight: 700; text-decoration: none; white-space: nowrap; }
.filter-help { padding-bottom: 4px; }
.filter-help:hover, .filter-text-button:hover { text-decoration: underline; }
.filter-section { margin-bottom: 34px; }
.filter-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 14px; margin-bottom: 14px; }
.filter-section-heading > div { display: flex; align-items: center; gap: 11px; }
.filter-section-heading h2 { margin: 0; font-size: 23px; line-height: 1.3; }
.filter-section-heading p { margin: 0 0 2px; color: #817b75; font-size: 13px; }
.filter-step { display: grid; place-items: center; flex: 0 0 30px; height: 30px; border-radius: 7px; color: #fff; background: #cb3030; font-size: 13px; font-weight: 800; }
.filter-game-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.filter-game-card { position: relative; display: flex; align-items: center; min-width: 0; min-height: 102px; gap: 16px; overflow: hidden; padding: 15px; border: 1px solid #e6ded7; border-radius: 13px; background: #fff; color: inherit; font: inherit; text-align: left; text-decoration: none; cursor: pointer; box-shadow: 0 5px 15px rgb(90 63 47 / 4%); }
.filter-game-card:hover { border-color: #d8a9a7; transform: translateY(-1px); }
.filter-game-card.is-current { border-color: #cb3030; box-shadow: 0 0 0 2px rgb(203 48 48 / 10%); }
.filter-game-mark { display: grid; place-items: center; flex: 0 0 68px; width: 68px; height: 68px; border-radius: 12px; color: #fff; background: #706b67; font-size: 17px; font-weight: 800; }
.filter-game-card-orange .filter-game-mark { background: #ee9552; }
.filter-game-card-violet .filter-game-mark { background: #7563ee; }
.filter-game-card-magenta .filter-game-mark { background: #c54add; }
.filter-game-card.is-hot::before { position: absolute; top: 8px; left: -25px; width: 90px; padding: 4px 0; color: #fff; background: #fa5050; content: "热门"; font-size: 12px; font-weight: 800; text-align: center; transform: rotate(-45deg); }
.filter-game-copy { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; gap: 5px; overflow: hidden; }
.filter-game-copy strong { font-size: 19px; }
.filter-game-copy small { color: #807a73; font-size: 13px; }
.filter-game-copy .filter-game-draft-summary { color: #e23b3b; font-weight: 700; line-height: 1.4; }
.filter-game-copy .filter-game-draft-summary[hidden] { display: none; }
.filter-game-copy b { overflow: hidden; color: #282421; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.filter-game-arrow { margin-left: auto; color: #c6bfb9; font-size: 30px; line-height: 1; }
.filter-game-card.is-current .filter-game-arrow { color: #cb3030; }
.filter-panel { border: 1px solid #ebe4dd; border-radius: 13px; background: #fff; box-shadow: 0 5px 18px rgb(80 60 40 / 4%); }
.filter-base-intro { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 19px 24px; border-bottom: 1px solid #eee9e4; }
.filter-base-intro > div { display: flex; flex-direction: column; gap: 4px; }
.filter-base-intro strong { font-size: 18px; }
.filter-base-intro span { color: #827d78; font-size: 13px; }
.filter-base-actions { display: flex; align-items: center; gap: 12px; }
.filter-text-button { min-height: 44px; padding: 8px 0; border: 0; background: none; cursor: pointer; }
.filter-text-button:disabled { color: #aaa19a; cursor: not-allowed; }
.filter-positions { padding: 5px 24px 17px; }
.filter-position { display: grid; grid-template-columns: 105px minmax(0, 1fr) auto; align-items: start; gap: 16px; padding: 17px 0; border-bottom: 1px solid #f0ebe6; }
.filter-position:last-child { border-bottom: 0; }
.filter-position-title { padding-top: 9px; }
.filter-position-title strong, .filter-position-title small { display: block; }
.filter-position-title strong { font-size: 16px; }
.filter-position-title small { margin-top: 4px; color: #918983; font-size: 12px; }
.filter-number-grid { display: flex; flex-wrap: wrap; gap: 7px; }
.filter-number-option { position: relative; display: inline-flex; }
.filter-number-option input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.filter-number-option span { display: grid; place-items: center; min-width: 42px; min-height: 42px; padding: 0 5px; border: 1px solid #ddd7d0; border-radius: 8px; color: #514d49; background: #fff; font-weight: 700; }
.filter-number-option input:checked + span { border-color: #cb3030; color: #fff; background: #cb3030; }
.filter-number-option input:focus-visible + span { outline: 3px solid #1f62c7; outline-offset: 2px; }
.filter-position-actions { display: flex; gap: 5px; padding-top: 4px; }
.filter-position-actions button { min-height: 36px; padding: 4px 6px; border: 0; background: transparent; color: #857e77; font: inherit; font-size: 12px; cursor: pointer; }
.filter-position-actions button:hover { color: #bd2a2b; }
.filter-inline-error { margin: 0 24px 20px; padding: 11px 13px; border-radius: 7px; color: #a41f25; background: #fff0ed; font-size: 14px; }
.filter-catalog-shell { display: grid; grid-template-columns: 185px minmax(0, 1fr); overflow: hidden; min-height: 320px; border: 1px solid #ebe4dd; border-radius: 13px; background: #fff; }
.filter-category-nav { display: flex; flex-direction: column; gap: 3px; padding: 16px 9px; border-right: 1px solid #eee9e4; background: #f6f3f0; }
.filter-category-nav button { min-height: 49px; padding: 10px 13px; border: 0; border-radius: 7px; background: none; color: #655e58; font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.filter-category-nav button[aria-current="true"] { color: #b7292a; background: #fff; box-shadow: inset 3px 0 #cb3030; }
.filter-condition-list { padding: 19px; }
.filter-condition-group + .filter-condition-group { margin-top: 21px; }
.filter-condition-group h3 { margin: 0 0 11px; font-size: 15px; color: #a19a94; }
.filter-condition-empty { margin: 0; padding: 30px 17px; color: #938b84; background: #fff; font-size: 14px; }
.filter-condition-card { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 92px; margin-bottom: 9px; padding: 16px 17px; border: 1px solid #eee7e1; border-radius: 9px; }
.filter-condition-card strong { font-size: 16px; }
.filter-condition-card p { margin: 5px 0 0; color: #817b75; font-size: 13px; line-height: 1.5; }
.filter-condition-card button { min-height: 42px; min-width: 78px; flex: 0 0 auto; border: 1px solid #ca3534; border-radius: 7px; color: #bd2a2b; background: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.filter-condition-card button:hover { background: #fff1ef; }
.filter-condition-card button:disabled { border-color: #ddd6d0; color: #a29b94; background: #f8f6f4; cursor: not-allowed; }
.filter-condition-card.is-added { border-color: #e6bbb8; background: #fffafa; }
.filter-bottom-spacer { height: 94px; }
.filter-entry-feedback { display: flex; min-height: 420px; flex-direction: column; align-items: center; justify-content: end; padding: 44px 20px 80px; color: #99918b; text-align: center; }
.filter-entry-feedback a { color: #3888cb; font-size: 18px; font-weight: 700; text-decoration: none; }
.filter-entry-feedback a:hover { text-decoration: underline; }
.filter-entry-feedback p { margin: 52px 0 13px; font-size: 15px; }
.filter-bottom-bar { position: fixed; z-index: 20; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: minmax(140px, 1fr) minmax(220px, 1.5fr) minmax(150px, 1fr); min-height: 84px; padding: 0 max(24px, calc((100vw - 1180px) / 2)); border-top: 1px solid #ddd7d1; color: #fff; background: #626262; box-shadow: 0 -8px 22px rgb(33 27 24 / 10%); }
.filter-bottom-bar > * { min-width: 0; }
.filter-bottom-metrics { display: flex; flex-direction: column; justify-content: center; min-height: 84px; padding: 9px 17px; background: #ee6640; white-space: nowrap; }
.filter-bottom-metrics strong { font-size: 28px; line-height: 1; }
.filter-bottom-metrics span { margin-top: 5px; color: #fff; font-size: 14px; font-weight: 700; }
.filter-bottom-selected { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; align-content: center; justify-content: start; column-gap: 7px; min-height: 84px; padding: 9px 20px; border: 0; color: #fff; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.filter-bottom-selected > span { align-self: center; color: #f0efef; font-size: 16px; }
.filter-bottom-selected strong { display: inline-grid; place-items: center; min-width: 22px; height: 22px; border-radius: 20px; background: #fb3e3e; font-size: 12px; }
.filter-bottom-selected > span > strong { color: #fff; font-size: 18px; }.filter-bottom-selected > span > em { margin-left: 6px; padding: 2px 5px; border: 1px solid #fb3e3e; border-radius: 3px; color: #fff; font-size: 12px; font-style: normal; }.filter-bottom-selected > span > small { display: block; margin-top: 3px; color: #ddd; font-size: 12px; }
.filter-primary, .filter-secondary { min-height: 44px; padding: 10px 19px; border-radius: 7px; font: inherit; font-weight: 800; cursor: pointer; }
.filter-primary { border: 1px solid #c72e2e; color: #fff; background: #fb3e3e; }
.filter-primary:hover:not(:disabled) { background: #b92525; }
.filter-primary:disabled { border-color: #a8a09a; background: #a8a09a; cursor: not-allowed; }
.filter-bottom-bar > .filter-primary { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 84px; border: 0; border-radius: 0; padding: 8px 12px; }
.filter-bottom-bar > .filter-primary strong { font-size: 22px; line-height: 1; }
.filter-bottom-bar > .filter-primary span { margin-top: 6px; font-size: 13px; }
.filter-secondary { border: 1px solid #d6cdc5; color: #514b46; background: #fff; }
.filter-secondary:hover:not(:disabled) { background: #f7f2ee; }
.filter-secondary:disabled { color: #a9a09a; cursor: not-allowed; }
.filter-dialog { width: min(520px, calc(100vw - 24px)); max-height: min(82vh, 720px); padding: 0; border: 0; border-radius: 14px; color: #282521; background: #fff; box-shadow: 0 25px 60px rgb(20 16 13 / 24%); }
.filter-dialog::backdrop { background: rgb(30 24 20 / 55%); }
.filter-dialog-header { display: flex; align-items: start; justify-content: space-between; gap: 10px; padding: 22px 24px 13px; }
.filter-dialog-header small { color: #b82c2b; font-weight: 800; }
.filter-dialog-header h2 { margin: 3px 0 0; font-size: 24px; }
.filter-icon-button { display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 6px; color: #857d75; background: #f6f2ee; font-size: 28px; cursor: pointer; }
.filter-action-shell-dialog { width: min(460px, calc(100vw - 32px)); }.filter-action-shell-content { padding: 4px 24px 22px; color: #766f69; line-height: 1.65; }.filter-action-shell-content p { margin: 0; }.filter-action-shell-content p + p { margin-top: 8px; color: #a29a94; font-size: 14px; }.filter-action-shell-dialog footer { display: flex; justify-content: end; padding: 0 24px 24px; }.filter-action-shell-dialog .filter-primary { min-width: 112px; min-height: 42px; }
.filter-editor-description, .filter-selected-note { margin: 0; padding: 0 24px 18px; color: #78716a; font-size: 14px; line-height: 1.5; }
#filter-editor-fields { padding: 0 24px 18px; }
.filter-editor-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 15px; font-weight: 700; }
.filter-editor-field input { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid #d9d0c8; border-radius: 7px; font: inherit; }
.filter-editor-hint { margin: 0; color: #8d857e; font-size: 13px; }
.filter-dialog-actions, .filter-selected-footer { display: flex; justify-content: flex-end; align-items: center; gap: 10px; padding: 16px 24px 22px; border-top: 1px solid #eee8e2; }
.filter-selected-list { min-height: 110px; max-height: 50vh; overflow: auto; padding: 0 24px 16px; }
.filter-selected-empty { padding: 28px 0; color: #8c847e; text-align: center; }
.filter-selected-row { display: flex; align-items: center; gap: 11px; padding: 12px 0; border-bottom: 1px solid #eee8e2; }
.filter-selected-row > div { flex: 1; min-width: 0; }
.filter-selected-row strong, .filter-selected-row small { display: block; }
.filter-selected-row small { margin-top: 4px; color: #827b74; }
.filter-selected-row button { min-height: 40px; border: 0; background: none; color: #b6292b; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.filter-selected-toggle { width: 20px; height: 20px; accent-color: #cb3030; }
.filter-selected-footer { justify-content: space-between; }
.filter-results-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 20px 24px; border-bottom: 1px solid #eee8e2; }
.filter-results-toolbar > div { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; }
.filter-results-toolbar strong { color: #c32d2d; font-size: 32px; }
.filter-results-toolbar small { margin-left: 9px; color: #8a837d; }
.filter-result-note { margin: 0; padding: 14px 24px; color: #706a64; font-size: 14px; }
.filter-result-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; max-height: 580px; overflow: auto; padding: 0 24px 24px; }
.filter-result-item { padding: 10px 8px; border: 1px solid #eee8e2; border-radius: 6px; font-variant-numeric: tabular-nums; text-align: center; white-space: nowrap; }
.filter-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.filter-page :is(button, a, input):focus-visible { outline: 3px solid #1f62c7; outline-offset: 2px; }
[hidden] { display: none !important; }
.batch-position-dialog { width: min(720px, calc(100vw - 24px)); max-height: 90vh; background: #f1f1f1; }
.batch-position-header { display: flex; justify-content: space-between; align-items: center; padding: 13px 18px; color: #fff; background: #fb3e3e; }
.batch-position-header h2 { margin: 0; font-size: 21px; }
.batch-position-header button { padding: 6px 13px; border: 1px solid #fff; border-radius: 7px; color: #fff; background: transparent; font: inherit; cursor: pointer; }
.batch-position-content { margin: 10px 14px; padding: 13px 15px; background: #fff; }
.batch-position-intro { display: flex; justify-content: space-between; gap: 8px; padding-bottom: 9px; border-bottom: 1px solid #eee; }
.batch-position-intro strong, .batch-position-intro small { display: block; }
.batch-position-intro strong { font-size: 16px; }.batch-position-intro small { max-width: 340px; margin-top: 2px; color: #8b8580; font-size: 12px; line-height: 1.32; }
/* 三定、二定沿用 App 的四个物理位置；此提示只解释配置上限，不改变选号规则。 */
.batch-position-intro .batch-position-limit { margin-top: 5px; color: #c86e31; font-size: 11px; font-weight: 700; }
.batch-mode { display: flex; align-self: start; flex: 0 0 auto; }.batch-mode button { min-height: 34px; background: #fff; font: inherit; font-weight: 800; cursor: pointer; }.batch-mode button:first-child { border-radius: 6px 0 0 6px; }.batch-mode button:last-child { border-radius: 0 6px 6px 0; }.batch-position-dialog[data-selection-tone="keep"] .batch-mode button, .free-position-dialog[data-selection-tone="keep"] .batch-mode button { border: 1px solid #47af56; color: #47af56; }.batch-position-dialog[data-selection-tone="exclude"] .batch-mode button, .free-position-dialog[data-selection-tone="exclude"] .batch-mode button { border: 1px solid #fa3f3f; color: #fa3f3f; }.batch-mode button[data-batch-mode="keep"][aria-pressed="true"], .batch-mode button[data-free-mode="keep"][aria-pressed="true"] { border-color: #47af56; color: #fff; background: #47af56; }.batch-mode button[data-batch-mode="exclude"][aria-pressed="true"], .batch-mode button[data-free-mode="exclude"][aria-pressed="true"] { border-color: #fa3f3f; color: #fff; background: #fa3f3f; }
.batch-position-row { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 8px; padding: 8px 0; border-bottom: 1px solid #eee; }.batch-position-row:last-child { border-bottom: 0; }.batch-position-row > strong { align-self: center; font-size: 17px; }.batch-position-controls { display: grid; gap: 4px; }.batch-position-option-line { display: flex; align-items: center; flex-wrap: nowrap; gap: 4px; }.batch-position-option-line > span { flex: 0 0 39px; color: #817a74; font-size: 12px; }.batch-position-option-line button { flex: 0 1 44px; min-width: 0; min-height: 28px; padding: 0 4px; border: 1px solid #d9d1cb; border-radius: 15px; color: #504a45; background: #fff; font: inherit; font-size: 12px; white-space: nowrap; cursor: pointer; }.batch-position-row[data-position-state="locked"] .batch-position-option-line button:disabled { border-color: #ece7e2; color: #c7c0ba; background: #faf9f8; cursor: not-allowed; }.batch-position-dialog[data-selection-tone="keep"] .batch-position-option-line button[aria-pressed="true"] { border-color: #47af56; color: #fff; background: #47af56; }.batch-position-dialog[data-selection-tone="exclude"] .batch-position-option-line button[aria-pressed="true"] { border-color: #fa3f3f; color: #fff; background: #fa3f3f; }
.batch-position-footer, .free-position-footer { display: grid; gap: 13px; padding: 13px 22px 20px; }.batch-position-footer p, .free-position-footer p { min-height: 23px; margin: 0; overflow: hidden; font-size: 14px; line-height: 23px; text-overflow: ellipsis; white-space: nowrap; }.batch-position-dialog[data-selection-tone="keep"] .batch-position-footer p, .free-position-dialog[data-selection-tone="keep"] .free-position-footer p { color: #47af56; }.batch-position-dialog[data-selection-tone="exclude"] .batch-position-footer p, .free-position-dialog[data-selection-tone="exclude"] .free-position-footer p { color: #d93434; }.batch-position-footer-actions, .free-position-footer-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 190px)); justify-content: space-around; gap: 40px; }.batch-position-footer-actions button, .free-position-footer-actions button { min-height: 52px; border-radius: 28px; font-size: 18px; }.batch-position-footer-actions .filter-secondary, .free-position-footer-actions .filter-secondary { border: 2px solid #fa3f3f; color: #fa3f3f; background: transparent; }.filter-base-results-dialog textarea { box-sizing: border-box; width: calc(100% - 48px); min-height: 260px; margin: 0 24px 24px; padding: 12px; border: 1px solid #ded7d0; border-radius: 7px; resize: vertical; font: 14px/1.6 ui-monospace, monospace; }
.filter-results-header-actions { display:flex; align-items:center; gap:8px; }.filter-copy-results { min-height:32px; padding:4px 10px; border:0; border-radius:4px; color:#fff; background:#fa3f3f; font:inherit; font-weight:800; cursor:pointer; }
.multiplier-position-dialog { width: min(520px, calc(100vw - 24px)); background: #f1f1f1; }.multiplier-position-content { margin: 12px 16px 0; padding: 18px; background: #fff; }.multiplier-position-content > strong, .multiplier-position-content > small { display: block; }.multiplier-position-content > strong { font-size: 18px; }.multiplier-position-content > small { margin-top: 5px; color: #8b8580; font-size: 13px; }.multiplier-position-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }.multiplier-position-fields button { min-height: 68px; border: 1px solid #e5ded8; color: #2d2926; background: #fff; font: inherit; font-size: 17px; font-weight: 800; cursor: pointer; }.multiplier-position-fields button[aria-pressed="true"] { border-color: #47af56; color: #fff; background: #47af56; }.multiplier-position-dialog .batch-position-footer p { color: #47af56; }
.free-position-dialog { width: min(720px, calc(100vw - 24px)); max-height: 90vh; background: #f1f1f1; }.free-position-content { margin: 10px 14px; padding: 13px 15px; background: #fff; }.free-omission-picker { display: flex; justify-content: flex-end; align-items: center; gap: 20px; margin: 0; padding: 12px 0; border: 0; border-bottom: 1px solid #eee; color: #77716b; }.free-omission-picker legend { float: left; padding: 0; font-size: 15px; font-weight: 800; }.free-omission-picker label { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; cursor: pointer; }.free-omission-picker input { width: 16px; height: 16px; margin: 0; accent-color: #f28b00; }.free-position-row { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 8px; padding: 9px 0; border-bottom: 1px solid #eee; }.free-position-row:last-child { border-bottom: 0; }.free-position-row > strong { align-self: center; font-size: 17px; }.free-position-digits { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }.free-position-digit { display: grid; justify-items: center; gap: 3px; min-width: 0; }.free-position-digits button { aspect-ratio: 1; width: 100%; min-width: 0; border: 0; border-radius: 50%; color: #aaa; background: #f5f5f5; font: inherit; font-size: 18px; font-weight: 800; cursor: pointer; }.free-position-row[data-position-state="locked"] .free-position-digits button:disabled { color: #ccc7c2; background: #faf9f8; cursor: not-allowed; }.free-position-digit small { min-height: 16px; color: #aaa; font-size: 11px; font-variant-numeric: tabular-nums; line-height: 16px; white-space: nowrap; }.free-position-digit small.is-highest-omission { color: #f57c00; font-weight: 800; }.free-position-dialog[data-selection-tone="keep"] .free-position-digits button[aria-pressed="true"] { color: #fff; background: #47af56; }.free-position-dialog[data-selection-tone="exclude"] .free-position-digits button[aria-pressed="true"] { color: #fff; background: #fa3f3f; }
/* 头尾有数使用独立数字集合组件：保留紧凑的 App 弹层层级，后续中肚有数可直接复用。 */
.number-set-dialog { width: min(520px, calc(100vw - 24px)); background: #f1f1f1; }.number-set-content { margin: 10px 14px; padding: 16px; background: #fff; }.number-set-digits { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; }.number-set-digits button { aspect-ratio: 1; width: 100%; min-width: 0; border: 0; border-radius: 50%; color: #aaa; background: #f5f5f5; font: inherit; font-size: 20px; font-weight: 800; cursor: pointer; }.number-set-dialog[data-selection-tone="keep"] .number-set-digits button[aria-pressed="true"] { color: #fff; background: #47af56; }.number-set-dialog[data-selection-tone="exclude"] .number-set-digits button[aria-pressed="true"] { color: #fff; background: #fa3f3f; }.number-set-footer { display: grid; gap: 13px; padding: 13px 22px 20px; }.number-set-footer p { min-height: 23px; margin: 0; overflow: hidden; font-size: 14px; line-height: 23px; text-overflow: ellipsis; white-space: nowrap; }.number-set-dialog[data-selection-tone="keep"] .number-set-footer p { color: #47af56; }.number-set-dialog[data-selection-tone="exclude"] .number-set-footer p { color: #d93434; }.number-set-footer-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 190px)); justify-content: space-around; gap: 40px; }.number-set-footer-actions button { min-height: 52px; border-radius: 28px; font-size: 18px; }.number-set-footer-actions .filter-secondary { border: 2px solid #fa3f3f; color: #fa3f3f; background: transparent; }
.number-set-dialog[data-selection-tone="keep"] .batch-mode button { border: 1px solid #47af56; color: #47af56; }.number-set-dialog[data-selection-tone="exclude"] .batch-mode button { border: 1px solid #fa3f3f; color: #fa3f3f; }.number-set-dialog .batch-mode button[data-number-set-mode="keep"][aria-pressed="true"] { border-color: #47af56; color: #fff; background: #47af56; }.number-set-dialog .batch-mode button[data-number-set-mode="exclude"][aria-pressed="true"] { border-color: #fa3f3f; color: #fff; background: #fa3f3f; }
#match-number-dialog { width:min(720px, calc(100vw - 24px)); max-height:calc(100dvh - 12px); } #match-number-dialog [data-match-number-fields] { display:grid; gap:12px; margin-top:14px; } #match-number-dialog .match-number-row { display:grid; grid-template-columns:120px minmax(0, 1fr); align-items:center; gap:12px; padding:0 0 12px; border-bottom:1px solid #eee; } #match-number-dialog .match-number-row:last-child { border-bottom:0; padding-bottom:0; } #match-number-dialog .match-number-row > strong { font-size:24px; white-space:nowrap; } #match-number-dialog .match-number-row .number-set-digits { grid-template-columns:repeat(5, 90px); margin:0; padding:0; border:0; gap:16px; } #match-number-dialog .match-number-row .number-set-digits button { aspect-ratio:1; font-size:18px; } @media (max-width:640px) { #match-number-dialog .match-number-row { grid-template-columns:68px minmax(0, 1fr); gap:8px; } #match-number-dialog .match-number-row > strong { font-size:18px; } #match-number-dialog .match-number-row .number-set-digits { grid-template-columns:repeat(5, minmax(0, 1fr)); gap:8px; } }
.full-turn-dialog .number-set-digits { grid-template-columns:repeat(5, minmax(0, 1fr)); }.full-turn-dialog .number-set-footer p { color:#fa3f3f; }.full-turn-dialog .number-set-footer-actions .filter-secondary:disabled { border:0; color:#fff; background:#c7c7c7; cursor:default; }
.lottery-history-dialog { width:min(560px,calc(100vw - 24px)); background:#f1f1f1; }.lottery-history-dialog .batch-position-header h2 small { margin-left:5px; font-size:13px; font-weight:700; }.lottery-history-content { margin:10px 14px; padding:16px; background:#fff; }.lottery-history-dialog[data-selection-tone="keep"] .batch-mode button { border:1px solid #47af56; color:#47af56; }.lottery-history-dialog[data-selection-tone="exclude"] .batch-mode button { border:1px solid #fa3f3f; color:#fa3f3f; }.lottery-history-dialog .batch-mode button[data-history-mode="keep"][aria-pressed="true"] { border-color:#47af56; color:#fff; background:#47af56; }.lottery-history-dialog .batch-mode button[data-history-mode="exclude"][aria-pressed="true"] { border-color:#fa3f3f; color:#fff; background:#fa3f3f; }.lottery-history-periods { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:18px; padding-top:15px; border-top:1px solid #eee; }.lottery-history-periods button { min-height:42px; border:1px solid #999; border-radius:5px; color:#393430; background:#fff; font:inherit; font-weight:800; cursor:pointer; }.lottery-history-periods button[aria-pressed="true"] { border-color:#4caf59; color:#197b34; background:#edf8ee; box-shadow:inset 0 -4px #259445; }.lottery-history-periods button:disabled { border-color:#ddd; color:#aaa; background:#f6f6f6; cursor:not-allowed; }.lottery-history-periods button:focus-visible { outline:3px solid #1f7fd5; outline-offset:2px; }.lottery-history-range { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; margin:16px 0 0; color:#197b34; font-weight:800; }.lottery-history-range::before, .lottery-history-range::after { padding:10px 8px; border:1px solid #b8dfbd; border-radius:5px; background:#edf8ee; text-align:center; white-space:pre-wrap; }.lottery-history-range::before { content:"开始期号\A" attr(data-start); }.lottery-history-range::after { content:"结束期号\A" attr(data-end); }.lottery-history-range { font-size:0; }.lottery-history-range::before, .lottery-history-range::after { font-size:13px; }.lottery-history-dialog[data-selection-tone="keep"] .number-set-footer p { color:#47af56; }.lottery-history-dialog[data-selection-tone="exclude"] .number-set-footer p { color:#d93434; }
.subtraction-fields { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:16px; padding-top:8px; border-top:1px solid #eee; }.subtraction-fields button { width:36px; min-height:36px; border:1px solid #e5e5e5; background:#fff; font:inherit; font-size:18px; font-weight:800; }.subtraction-fields button[aria-pressed="true"] { color:#fff; background:#47af56; border-color:#47af56; }.subtraction-dialog[data-selection-tone="exclude"] .subtraction-fields button[aria-pressed="true"] { background:#fa3f3f; border-color:#fa3f3f; }.subtraction-minus { margin:0 5px; color:#302b27; font-weight:800; white-space:nowrap; }
.subtraction-dialog[data-selection-tone="keep"] [data-subtraction-digits] button[aria-pressed="true"] { color:#fff; background:#47af56; }.subtraction-dialog[data-selection-tone="exclude"] [data-subtraction-digits] button[aria-pressed="true"] { color:#fff; background:#fa3f3f; }
.subtraction-dialog[data-selection-tone="keep"] [data-subtraction-digits] button.is-selected { color:#fff; background:#47af56; }.subtraction-dialog[data-selection-tone="exclude"] [data-subtraction-digits] button.is-selected { color:#fff; background:#fa3f3f; }
.subtraction-dialog { width:min(520px, calc(100vw - 24px)); max-height:calc(100dvh - 24px); padding:0; overflow-y:auto; border:0; border-radius:14px; background:#f1f1f1; }.subtraction-dialog .batch-position-header { min-height:64px; padding:14px 18px; }.subtraction-dialog .number-pattern-content { margin:10px 14px; padding:16px; }.subtraction-dialog .number-set-footer { padding-bottom:18px; }
.product-dialog { width:min(520px, calc(100vw - 24px)); background:#f1f1f1; }.product-content { margin:10px 14px; padding:16px; background:#fff; }.product-options { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; margin-top:14px; padding-top:14px; border-top:1px solid #eee; }.product-dialog[data-product-option-count="4"] .product-options { grid-template-columns:repeat(2, minmax(0, 1fr)); }.product-options button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:36px; padding:0; border:0; color:#211d1a; background:transparent; font:inherit; font-size:17px; cursor:pointer; }.product-options button > span:first-child { display:grid; place-items:center; width:22px; height:22px; border:2px solid #211d1a; border-radius:2px; color:transparent; font-weight:800; }.product-dialog[data-selection-tone="keep"] .product-options button[aria-pressed="true"] { color:#47af56; }.product-dialog[data-selection-tone="exclude"] .product-options button[aria-pressed="true"] { color:#fa3f3f; }.product-dialog[data-selection-tone="keep"] .product-options button[aria-pressed="true"] > span:first-child { border-color:#47af56; color:#fff; background:#47af56; }.product-dialog[data-selection-tone="exclude"] .product-options button[aria-pressed="true"] > span:first-child { border-color:#fa3f3f; color:#fff; background:#fa3f3f; }.product-dialog[data-selection-tone="keep"] [data-product-digits] button[aria-pressed="true"] { color:#fff; background:#47af56; }.product-dialog[data-selection-tone="exclude"] [data-product-digits] button[aria-pressed="true"] { color:#fff; background:#fa3f3f; }
/* Flutter AlertHezWidget 的和值固定每行 7 个；合值仍使用通用的 0–4、5–9 两排布局。 */
.sum-number-dialog[data-number-set-columns="7"] .number-set-digits { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; max-height: none; overflow: visible; }
.sum-number-dialog[data-number-set-columns="7"] .number-set-digits button { min-height: 0; aspect-ratio: 1; font-size: 16px; }
.sum-number-dialog[data-number-set-columns="6"] .number-set-digits { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; max-height: none; overflow: visible; }
.sum-number-dialog[data-number-set-columns="9"] .number-set-digits { grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 8px; max-height: none; overflow: visible; }
.sum-number-dialog[data-number-set-columns="9"] .number-set-digits button { min-height: 0; aspect-ratio: 1; font-size: 15px; }
.filter-selected-overlay { position: fixed; z-index: 19; inset: 0 0 84px; display: flex; align-items: end; justify-content: center; background: rgb(30 24 20 / 55%); }.filter-selected-sheet { width: min(760px, 100vw); min-height: 220px; max-height: 56vh; overflow: auto; border-radius: 16px 16px 0 0; background: #f1f1f1; }.filter-selected-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 0 22px; color: #fff; background: #fb3e3e; }.filter-selected-toolbar button { border: 0; color: #fff; background: transparent; font: inherit; font-weight: 800; cursor: pointer; }.filter-selected-toolbar-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }.filter-selected-operator { display: flex; overflow: hidden; border: 1px solid #fff; border-radius: 5px; }.filter-selected-operator button { min-width: 47px; min-height: 31px; color: #fff; font-size: 13px; }.filter-selected-operator button[aria-pressed="true"] { color: #fb3e3e; background: #fff; }.filter-selected-tip { margin: 0; padding: 15px 22px 10px; color: #8b8580; font-size: 13px; }.filter-selected-card { display: flex; align-items: center; gap: 13px; margin: 0 18px 12px; padding: 16px; border-radius: 8px; background: #fff; cursor: pointer; }.filter-selected-card:last-child { margin-bottom: 20px; }.filter-selected-check { display: grid; place-items: center; flex: 0 0 37px; width: 37px; height: 37px; border-radius: 50%; color: #fff; background: #fb3e3e; font-size: 25px; }.filter-selected-card > div:nth-child(2) { flex: 1; min-width: 0; }.filter-selected-card h2, .filter-selected-card p { margin: 0; }.filter-selected-card h2 { font-size: 18px; }.filter-selected-card h2 small { margin-left: 4px; padding: 3px 6px; border-radius: 3px; color: #8b8580; background: #eee; font-size: 12px; }.filter-selected-card p { margin-top: 7px; color: #77716b; line-height: 1.45; }.filter-selected-card p b { padding: 3px 5px; border-radius: 3px; color: #fff; }.filter-selected-card p b[data-condition-mode="keep"] { background: #4cae57; }.filter-selected-card p b[data-condition-mode="exclude"] { background: #fa3f3f; }.filter-selected-card > button { border: 0; color: #a59d96; background: transparent; font: inherit; cursor: pointer; }
.filter-selected-card > .filter-selected-check { border: 0; color: #fff; background: #fb3e3e; font: inherit; font-size: 25px; cursor: pointer; }.filter-selected-card > .filter-selected-check[aria-pressed="false"] { background: #c9c3be; }.filter-selected-check:focus-visible { outline: 3px solid #362f2b; outline-offset: 2px; }.filter-selected-card.is-disabled > div:nth-child(2), .filter-selected-card.is-disabled > button[data-delete-selected] { opacity: .58; }
.filter-bottom-selected { justify-content: center; text-align: center; }.filter-bottom-selected > span { grid-column: 1 / -1; overflow: hidden; }.filter-bottom-selected > span > strong, .filter-bottom-selected > span > em { white-space: nowrap; }.filter-bottom-selected > span > strong { min-width: 0; height: auto; border-radius: 0; background: transparent; }.filter-bottom-selected > span > em { margin-left: 3px; padding: 1px 3px; border: 1px solid #e6e0dc; border-radius: 3px; color: #e6e0dc; }
.position-group-content { margin: 10px 14px; padding: 16px; background: #fff; }.position-group-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; }.position-group-options button { min-height: 38px; border: 1px solid #d9d1cb; border-radius: 5px; color: #5e5751; background: #fff; font: inherit; font-weight: 800; cursor: pointer; }.position-group-dialog[data-selection-tone="keep"] .position-group-options button[aria-pressed="true"] { border-color: #47af56; color: #fff; background: #47af56; }.position-group-dialog[data-selection-tone="exclude"] .position-group-options button[aria-pressed="true"] { border-color: #fa3f3f; color: #fff; background: #fa3f3f; }.position-group-content .number-set-digits { margin-top: 18px; }
.position-group-dialog { width: min(520px, calc(100vw - 24px)); background: #f1f1f1; }.position-group-dialog[data-selection-tone="keep"] .batch-mode button { border: 1px solid #47af56; color: #47af56; }.position-group-dialog[data-selection-tone="exclude"] .batch-mode button { border: 1px solid #fa3f3f; color: #fa3f3f; }.position-group-dialog .batch-mode button[data-position-group-mode="keep"][aria-pressed="true"] { border-color: #47af56; color: #fff; background: #47af56; }.position-group-dialog .batch-mode button[data-position-group-mode="exclude"][aria-pressed="true"] { border-color: #fa3f3f; color: #fff; background: #fa3f3f; }.position-group-dialog[data-position-group-size="3"] .position-group-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }.position-group-options button { display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; color: #211d1a; background: transparent; font-size: 18px; font-weight: 500; }.position-group-options button > span:first-child { display: grid; place-items: center; width: 24px; height: 24px; border: 2px solid #211d1a; border-radius: 2px; color: transparent; font-weight: 800; }.position-group-dialog[data-selection-tone="keep"] .position-group-options button[aria-pressed="true"], .position-group-dialog[data-selection-tone="exclude"] .position-group-options button[aria-pressed="true"] { color: inherit; background: transparent; }.position-group-dialog[data-selection-tone="keep"] .position-group-options button[aria-pressed="true"] > span:first-child { border-color: #47af56; color: #fff; background: #47af56; }.position-group-dialog[data-selection-tone="exclude"] .position-group-options button[aria-pressed="true"] > span:first-child { border-color: #fa3f3f; color: #fff; background: #fa3f3f; }.position-group-dialog[data-selection-tone="keep"] .position-group-options button[aria-pressed="true"] > span:last-child { color: #47af56; }.position-group-dialog[data-selection-tone="exclude"] .position-group-options button[aria-pressed="true"] > span:last-child { color: #fa3f3f; }.position-group-dialog[data-selection-tone="keep"] .number-set-digits button[aria-pressed="true"] { color: #fff; background: #47af56; }.position-group-dialog[data-selection-tone="exclude"] .number-set-digits button[aria-pressed="true"] { color: #fff; background: #fa3f3f; }.position-group-dialog[data-selection-tone="keep"] .number-set-footer p { color: #47af56; }.position-group-dialog[data-selection-tone="exclude"] .number-set-footer p { color: #d93434; }
.number-pattern-dialog { width: min(520px, calc(100vw - 24px)); background: #f1f1f1; }.number-pattern-content { margin: 10px 14px; padding: 16px; background: #fff; }.number-pattern-fields { display: grid; gap: 6px; margin-top: 18px; padding-top: 14px; border-top: 1px solid #eee; }.number-pattern-fields button { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 10px; padding: 7px 0; border: 0; color: #26211d; background: transparent; font: inherit; text-align: left; cursor: pointer; }.number-pattern-fields button > span:first-child { display: grid; place-items: center; width: 22px; height: 22px; border: 2px solid #211d1a; border-radius: 2px; color: transparent; font-weight: 800; }.number-pattern-fields strong, .number-pattern-fields small { display: inline; }.number-pattern-fields small { margin-left: 12px; color: #918b85; font-size: 12px; }.number-pattern-dialog[data-selection-tone="keep"] .batch-mode button { border: 1px solid #47af56; color: #47af56; }.number-pattern-dialog[data-selection-tone="exclude"] .batch-mode button { border: 1px solid #fa3f3f; color: #fa3f3f; }.number-pattern-dialog .batch-mode button[data-pattern-mode="keep"][aria-pressed="true"] { border-color: #47af56; color: #fff; background: #47af56; }.number-pattern-dialog .batch-mode button[data-pattern-mode="exclude"][aria-pressed="true"] { border-color: #fa3f3f; color: #fff; background: #fa3f3f; }.number-pattern-dialog[data-selection-tone="keep"] .number-pattern-fields button[aria-pressed="true"] > span:first-child { border-color: #47af56; color: #fff; background: #47af56; }.number-pattern-dialog[data-selection-tone="exclude"] .number-pattern-fields button[aria-pressed="true"] > span:first-child { border-color: #fa3f3f; color: #fff; background: #fa3f3f; }.number-pattern-dialog[data-selection-tone="keep"] .number-pattern-fields button[aria-pressed="true"] strong { color: #47af56; }.number-pattern-dialog[data-selection-tone="exclude"] .number-pattern-fields button[aria-pressed="true"] strong { color: #fa3f3f; }.number-pattern-dialog[data-selection-tone="keep"] .number-set-footer p { color: #47af56; }.number-pattern-dialog[data-selection-tone="exclude"] .number-set-footer p { color: #d93434; }
.binary-quick-dialog { width: min(520px, calc(100vw - 24px)); background: #f1f1f1; }.binary-quick-content { margin: 10px 14px; padding: 16px; background: #fff; }.binary-quick-content > [data-binary-quick-fields] { margin-top: 18px; border-top: 1px solid #eee; }.binary-quick-row { display:grid; grid-template-columns:minmax(58px,1fr) repeat(var(--quick-choice-count,3),minmax(0,1fr)); align-items:center; gap:8px; min-height:52px; border-bottom:1px solid #eee; }.binary-quick-row strong { font-size:16px; }.binary-quick-row button { min-height:32px; border:1px solid #d9d1cb; border-radius:18px; color:#625a54; background:#fff; font:inherit; font-size:14px; font-weight:700; white-space:nowrap; cursor:pointer; }.binary-quick-dialog[data-selection-tone="keep"] .binary-quick-row button[aria-pressed="true"] { border-color:#47af56; color:#fff; background:#47af56; }.binary-quick-dialog[data-selection-tone="exclude"] .binary-quick-row button[aria-pressed="true"] { border-color:#fa3f3f; color:#fff; background:#fa3f3f; }
.binary-any-dialog { width:min(620px,calc(100vw - 24px)); background:#f1f1f1; }.binary-any-content { max-height:min(62vh,580px); margin:10px 14px; padding:16px; overflow:auto; background:#fff; }.binary-any-content > [data-binary-any-fields] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:18px; padding-top:14px; border-top:1px solid #eee; }.binary-any-content [data-binary-any-fields] button { display:flex; align-items:center; gap:8px; min-width:0; min-height:36px; border:0; color:#302b27; background:transparent; font:inherit; text-align:left; cursor:pointer; }.binary-any-content [data-binary-any-fields] button > span { display:grid; place-items:center; width:22px; height:22px; border:2px solid #211d1a; border-radius:2px; color:transparent; font-weight:800; }.binary-any-dialog[data-selection-tone="keep"] [data-binary-any-fields] button[aria-pressed="true"] > span { border-color:#47af56; color:#fff; background:#47af56; }.binary-any-dialog[data-selection-tone="exclude"] [data-binary-any-fields] button[aria-pressed="true"] > span { border-color:#fa3f3f; color:#fff; background:#fa3f3f; }.binary-any-dialog[data-selection-tone="keep"] [data-binary-any-fields] button[aria-pressed="true"] { color:#47af56; }.binary-any-dialog[data-selection-tone="exclude"] [data-binary-any-fields] button[aria-pressed="true"] { color:#fa3f3f; }
.route-any-dialog { width:min(620px,calc(100vw - 24px)); background:#f1f1f1; }.route-any-content { max-height:min(62vh,580px); margin:10px 14px; padding:16px; overflow:auto; background:#fff; }.route-any-tabs { display:flex; gap:0; margin-top:16px; padding:3px 2px 0; border-radius:8px 8px 0 0; background:#e5e5e5; }.route-any-tabs button { position:relative; flex:1 1 0; min-width:0; min-height:40px; padding:0 3px; border:0; border-radius:7px 7px 0 0; color:#333; background:transparent; font:inherit; font-size:13px; font-weight:800; cursor:pointer; white-space:nowrap; }.route-any-tabs button[aria-pressed="true"] { color:#47af56; background:#fff; }.route-any-tabs small { display:inline-grid; place-items:center; min-width:16px; height:16px; margin-left:2px; border-radius:9px; color:#fff; background:#47af56; font-size:10px; }.route-any-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:14px 6px 0; border:2px solid #e5e5e5; border-top:0; }.route-any-fields button { display:flex; align-items:center; gap:6px; min-width:0; min-height:34px; border:0; color:#302b27; background:transparent; font:inherit; font-size:12px; text-align:left; white-space:nowrap; cursor:pointer; }.route-any-fields button > span { display:grid; flex:0 0 20px; place-items:center; width:20px; height:20px; border:2px solid #211d1a; border-radius:2px; color:transparent; font-weight:800; }.route-any-dialog[data-selection-tone="keep"] .route-any-fields button[aria-pressed="true"] { color:#47af56; }.route-any-dialog[data-selection-tone="exclude"] .route-any-fields button[aria-pressed="true"] { color:#fa3f3f; }.route-any-dialog[data-selection-tone="keep"] .route-any-fields button[aria-pressed="true"] > span { border-color:#47af56; color:#fff; background:#47af56; }.route-any-dialog[data-selection-tone="exclude"] .route-any-fields button[aria-pressed="true"] { color:#fa3f3f; }.route-any-dialog[data-selection-tone="exclude"] .route-any-fields button[aria-pressed="true"] > span { border-color:#fa3f3f; color:#fff; background:#fa3f3f; }.route-any-dialog[data-selection-tone="exclude"] .route-any-tabs button[aria-pressed="true"] { color:#fa3f3f; }.route-any-dialog[data-selection-tone="exclude"] .route-any-tabs small { background:#fa3f3f; }
.parity-ratio-dialog { width: min(520px, calc(100vw - 24px)); background: #f1f1f1; }.parity-ratio-content { margin: 10px 14px; padding: 16px; background: #fff; }.parity-ratio-content > [data-parity-ratio-fields] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; padding-top:14px; border-top:1px solid #eee; }.parity-ratio-content button[data-parity-ratio] { min-height:38px; border:0; background:#fff; font:inherit; font-weight:700; text-align:left; }.parity-ratio-content button[data-parity-ratio] span { display:inline-grid; place-items:center; width:22px; height:22px; margin-right:8px; border:2px solid #211d1a; color:transparent; }.parity-ratio-dialog[data-selection-tone="keep"] button[aria-pressed="true"] { border-color:#47af56; color:#47af56; }.parity-ratio-dialog[data-selection-tone="exclude"] button[aria-pressed="true"] { border-color:#fa3f3f; color:#fa3f3f; }.parity-ratio-dialog[data-selection-tone="keep"] button[data-parity-ratio][aria-pressed="true"] span { border-color:#47af56; color:#fff; background:#47af56; }.parity-ratio-dialog[data-selection-tone="exclude"] button[data-parity-ratio][aria-pressed="true"] span { border-color:#fa3f3f; color:#fff; background:#fa3f3f; }
.parity-ratio-content [data-parity-break-fields] { display:grid; gap:8px; margin-top:18px; }.parity-ratio-content button[data-parity-break-option] { display:flex; align-items:center; gap:8px; min-height:42px; margin:0; padding:10px 0; border:0; color:#302b27; background:transparent; font:inherit; font-weight:700; text-align:left; cursor:pointer; }.parity-ratio-content button[data-parity-break-option] span { display:grid; place-items:center; width:22px; height:22px; border:2px solid #211d1a; border-radius:2px; color:transparent; }.parity-ratio-dialog[data-selection-tone="keep"] button[data-parity-break-option][aria-pressed="true"] { color:#47af56; }.parity-ratio-dialog[data-selection-tone="exclude"] button[data-parity-break-option][aria-pressed="true"] { color:#fa3f3f; }.parity-ratio-dialog[data-selection-tone="keep"] button[data-parity-break-option][aria-pressed="true"] span { border-color:#47af56; color:#fff; background:#47af56; }.parity-ratio-dialog[data-selection-tone="exclude"] button[data-parity-break-option][aria-pressed="true"] span { border-color:#fa3f3f; color:#fff; background:#fa3f3f; }.parity-ratio-dialog[data-selection-tone="keep"] .number-set-footer p { color:#47af56; }.parity-ratio-dialog[data-selection-tone="exclude"] .number-set-footer p { color:#d93434; }.parity-ratio-content [data-parity-break-error] { margin:8px 0 0; }
/* 包奖王唯一的保留/排除开关视觉契约：所有筛选弹层只需标记 data-selection-mode。 */
.filter-dialog[data-selection-tone="keep"] .batch-mode button[data-selection-mode] { border: 1px solid #47af56; color: #47af56; }.filter-dialog[data-selection-tone="exclude"] .batch-mode button[data-selection-mode] { border: 1px solid #fa3f3f; color: #fa3f3f; }.filter-dialog[data-selection-tone="keep"] .batch-mode button[data-selection-mode][aria-pressed="true"] { border-color: #47af56; color: #fff; background: #47af56; }.filter-dialog[data-selection-tone="exclude"] .batch-mode button[data-selection-mode][aria-pressed="true"] { border-color: #fa3f3f; color: #fff; background: #fa3f3f; }
/* 底部摘要同样是保留/排除状态的一部分，必须直接继承开关的标准色值。 */
.filter-dialog[data-selection-tone] .number-set-footer p, .filter-dialog[data-selection-tone] .batch-position-footer p, .filter-dialog[data-selection-tone] .free-position-footer p { color:#47af56; }.filter-dialog[data-selection-tone="exclude"] .number-set-footer p, .filter-dialog[data-selection-tone="exclude"] .batch-position-footer p, .filter-dialog[data-selection-tone="exclude"] .free-position-footer p { color:#fa3f3f; }.filter-dialog[data-selection-tone] .number-set-footer p::before, .filter-dialog[data-selection-tone] .batch-position-footer p::before, .filter-dialog[data-selection-tone] .free-position-footer p::before { display:inline-block; margin-right:6px; padding:0 5px; border-radius:3px; color:#fff; background:#47af56; content:"保留"; font-weight:800; }.filter-dialog[data-selection-tone="exclude"] .number-set-footer p::before, .filter-dialog[data-selection-tone="exclude"] .batch-position-footer p::before, .filter-dialog[data-selection-tone="exclude"] .free-position-footer p::before { background:#fa3f3f; content:"排除"; }
.binary-quick-row button:disabled, .binary-quick-dialog[data-selection-tone] .binary-quick-row button:disabled[aria-pressed="true"] { border-color: #e4dfdb; color: #b8b1ab; background: #f7f5f3; cursor: not-allowed; }
/* 开奖历史的期数、期号范围与底部摘要都是同一条件状态的反馈，必须使用顶部保留/排除开关的标准色。 */
.lottery-history-dialog[data-selection-tone="keep"] .lottery-history-periods button[aria-pressed="true"] { border-color:#47af56; color:#47af56; box-shadow:inset 0 -4px #47af56; }.lottery-history-dialog[data-selection-tone="exclude"] .lottery-history-periods button[aria-pressed="true"] { border-color:#fa3f3f; color:#fa3f3f; background:#fff0ee; box-shadow:inset 0 -4px #fa3f3f; }.lottery-history-dialog[data-selection-tone="keep"] .lottery-history-range { color:#47af56; }.lottery-history-dialog[data-selection-tone="keep"] .lottery-history-range::before, .lottery-history-dialog[data-selection-tone="keep"] .lottery-history-range::after { border-color:#9cdda5; background:#edf8ee; }.lottery-history-dialog[data-selection-tone="exclude"] .lottery-history-range { color:#fa3f3f; }.lottery-history-dialog[data-selection-tone="exclude"] .lottery-history-range::before, .lottery-history-dialog[data-selection-tone="exclude"] .lottery-history-range::after { border-color:#f6b2ac; background:#fff0ee; }.lottery-history-dialog[data-selection-tone="keep"] .number-set-footer p { color:#47af56; }.lottery-history-dialog[data-selection-tone="exclude"] .number-set-footer p { color:#fa3f3f; }
/* 近100期在四等分窄屏按钮中也必须完整可读，不能为迁就宽度而断成两行。 */
.lottery-history-periods button { white-space:nowrap; }
.filter-clear-confirm-dialog { width: min(360px, calc(100vw - 42px)); border: 0; border-radius: 16px; padding: 0; color: #2c2825; box-shadow: 0 14px 38px rgb(31 20 16 / 30%); }.filter-clear-confirm-dialog::backdrop { background: rgb(30 24 20 / 60%); }.filter-clear-confirm-dialog form { padding: 24px; }.filter-clear-confirm-dialog h2, .filter-clear-confirm-dialog p { margin: 0; }.filter-clear-confirm-dialog h2 { font-size: 20px; }.filter-clear-confirm-dialog p { margin-top: 11px; color: #817a74; font-size: 14px; line-height: 1.55; }.filter-clear-confirm-dialog footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 23px; }.filter-clear-confirm-dialog footer button { min-width: 102px; min-height: 42px; border-radius: 22px; font: inherit; font-weight: 800; cursor: pointer; }.filter-clear-confirm-dialog .filter-secondary { border: 1px solid #d9d1cb; color: #665f59; background: #fff; }
.filter-detail-header { margin-bottom: 25px; }
.filter-detail-header > a { display: inline-block; margin-bottom: 17px; color: #827a73; font-size: 14px; font-weight: 700; text-decoration: none; }
.filter-detail-header > a:hover { color: #bd2a2b; text-decoration: underline; }
.filter-detail-header .filter-eyebrow { margin-bottom: 8px; }
.filter-detail-header h1 { margin: 0; font-size: clamp(30px, 3.4vw, 44px); letter-spacing: -.045em; line-height: 1.15; }
.filter-detail-header > p:last-child { margin: 10px 0 0; color: #716c67; font-size: 16px; }
.filter-detail-page .filter-catalog-shell { min-height: 530px; overflow: visible; }
.filter-detail-page .filter-catalog-shell { align-items: start; }
.filter-detail-page .filter-category-nav { position: sticky; top: 12px; align-self: start; padding-top: 20px; }
.filter-detail-page .filter-condition-list { padding: 24px; }
.filter-detail-page .filter-condition-group { scroll-margin-top: 18px; }
.filter-detail-page .filter-condition-group h2 { margin: 0 0 12px; color: #bd2a2b; font-size: 18px; }
/* 操作并非卡片的唯一主任务：按数量使用紧凑网格；四列是可扩展上限，更多操作会自然换行。 */
.filter-condition-actions { display: grid; grid-template-columns: repeat(4, 84px); align-self: end; justify-content: end; gap: 8px; }
.filter-condition-card .filter-condition-actions button { min-width: 0; min-height: 44px; padding: 8px 12px; color: #fff; background: #fb3e3e; }
.filter-condition-card .filter-condition-actions button:hover { border-color: #d52f2f; background: #d52f2f; }
.filter-condition-actions[data-filter-action-count="1"] { grid-template-columns: 112px; }
.filter-condition-actions[data-filter-action-count="2"] { grid-template-columns: repeat(2, 112px); }
.filter-condition-actions[data-filter-action-count="3"] { grid-template-columns: repeat(3, 84px); }
.filter-condition-actions[data-filter-action-count="4"] { grid-template-columns: repeat(4, 84px); }
/* 中等宽度下先让说明占满一行，再把操作区放到底部；否则双按钮会被说明文字挤成竖排。 */
@media (max-width: 1050px) {
  .filter-detail-page .filter-condition-card { align-items: stretch; flex-direction: column; }
  .filter-detail-page .filter-condition-actions { align-self: flex-end; }
}
.parity-ratio-content [data-parity-break-fields] button > small { color: #aaa; font-size: 12px; font-weight: 400; }
/* 大底是当前玩法不随筛选变化的固定锚点，突出卡片以便用户始终区分它和筛选结果。 */
.filter-detail-page .filter-bottom-spacer { height: 126px; }
.filter-detail-page .filter-bottom-metrics { position: absolute; z-index: 1; bottom: 0; left: max(16px, calc((100vw - 1180px) / 2)); width: 190px; min-height: 120px; padding: 0; overflow: hidden; border-radius: 18px 18px 0 0; background: transparent; box-shadow: 0 -4px 16px rgb(72 49 25 / 16%); }
.filter-detail-page .filter-bottom-metrics strong { display: flex; align-items: center; min-height: 77px; padding: 0 17px; color: #fff; background: #ff9800; font-size: 30px; line-height: 1; }
.filter-detail-page .filter-bottom-metrics span { display: flex; align-items: center; min-height: 43px; margin: 0; padding: 0 17px; color: #fff; background: #fb3e3e; font-size: 15px; font-weight: 800; }
/* 固定大底在尚未添加条件时也保持主操作色，避免被误解为不可用条件。 */
.filter-detail-page .filter-bottom-bar > .filter-primary:disabled { border-color: #fb3e3e; color: #fff; background: #fb3e3e; cursor: default; }
.filter-detail-page .filter-bottom-selected { grid-column: 2; }
.filter-detail-page .filter-bottom-bar > .filter-primary { grid-column: 3; }
@media (max-width: 800px) {
  .filter-page > .site-navigation { padding: 0 20px; }
  .filter-content { padding: 29px 20px 0; }
  /* 解除桌面端裁切，确保 sticky 分类栏可在长条件列表中持续显示。 */
  /* 左栏保留六字分类名称的单行空间，同时为右侧条件说明和操作按钮多让出 12px。 */
  .filter-catalog-shell { grid-template-columns: 116px minmax(0, 1fr); display: grid; align-items: start; overflow: visible; border-radius: 0; background: #f2f2f2; }
  .filter-category-nav { position: sticky; top: 0; align-self: start; flex-direction: column; gap: 0; padding: 0; border-right: 1px solid #e2e2e2; border-bottom: 0; background: #fff; white-space: normal; }
  .filter-category-nav button { min-height: 77px; flex: 0 0 auto; padding: 12px 9px; border-bottom: 1px solid #e7e7e7; border-radius: 0; font-size: 15px; text-align: center; }
  .filter-category-nav button[aria-current="true"] { color: #fa3f3f; box-shadow: inset 4px 0 #fa3f3f; }
  .filter-condition-list { padding: 12px 9px; }
  .filter-condition-group + .filter-condition-group { margin-top: 13px; }
  .filter-condition-group h3 { color: #fa3f3f; font-size: 17px; }
  .filter-condition-card { align-items: stretch; flex-direction: column; min-height: 154px; margin-bottom: 12px; padding: 18px 15px; border: 0; border-radius: 0; background: #fff; }
  .filter-condition-card strong { font-size: 19px; }
  .filter-condition-card p { color: #999; font-size: 15px; }
  .filter-condition-card button { align-self: end; min-width: 78px; color: #fff; background: #fb3e3e; }
  .filter-condition-card button:disabled { color: #aaa; background: #eee; }
  .filter-detail-page .filter-condition-list { padding: 12px 9px; }
  .filter-detail-page .filter-condition-group h2 { margin: 0 0 12px; padding: 0 2px; color: #fa3f3f; }
  .filter-detail-page .filter-condition-actions { justify-content: flex-end; }
  .filter-detail-page .filter-bottom-metrics { left: 16px; width: 128px; min-height: 112px; border-radius: 15px 15px 0 0; }
  .filter-detail-page .filter-bottom-metrics strong { min-height: 71px; padding: 0 11px; font-size: 23px; }
  .filter-detail-page .filter-bottom-metrics span { min-height: 41px; padding: 0 11px; font-size: 13px; }
  .filter-position { grid-template-columns: 1fr; gap: 8px; }
  .filter-position-title { padding-top: 0; }
  .filter-position-actions { padding: 0; }
}
@media (max-width: 580px) {
  .filter-page > .site-navigation { padding: 0 16px; }
  .filter-content { padding: 24px 16px 0; }
  /* App 顶部只保留一个任务标题；网页端保留返回入口，但隐藏重复玩法眉标以优先展示条件。 */
  .filter-detail-page .filter-content { padding-top: 12px; }
  .filter-detail-header { margin-bottom: 12px; }
  .filter-detail-header > a { margin-bottom: 7px; font-size: 13px; }
  .filter-detail-header .filter-eyebrow { display: none; }
  .filter-detail-header h1 { font-size: 25px; line-height: 1.2; }
  .filter-detail-header > p:last-child { margin-top: 4px; font-size: 14px; }
  .filter-header { align-items: start; flex-direction: column; gap: 9px; margin-bottom: 28px; }
  .filter-header p:last-child { font-size: 14px; }
  .filter-section-heading { align-items: start; flex-direction: column; gap: 4px; }
  .filter-section-heading h2 { font-size: 20px; }
  .filter-section-heading p { padding-left: 41px; }
  .filter-page { background: #f2f2f2; }
  .filter-game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .filter-game-card { min-height: 118px; gap: 10px; padding: 10px; border: 0; border-radius: 2px; box-shadow: none; }
  .filter-game-mark { flex-basis: 54px; width: 54px; height: 54px; font-size: 14px; }
  .filter-game-copy { gap: 2px; }
  .filter-game-copy strong { font-size: 16px; }
  .filter-game-copy small { display: none; }
  /* App 在玩法卡直接展示红色筛选摘要；窄屏允许两行，不能被通用 small 的隐藏规则或单行省略截断。 */
  .filter-game-copy .filter-game-draft-summary:not([hidden]) { display: block; overflow: visible; color: #e23b3b; font-size: 11px; line-height: 1.35; text-overflow: clip; white-space: normal; }
  .filter-game-copy b { font-size: 12px; }
  .filter-game-card.is-hot::before { top: 6px; left: -30px; font-size: 10px; }
  .filter-entry-feedback { min-height: 500px; padding-bottom: 54px; }
  .filter-base-intro { padding: 15px; }
  .filter-positions { padding: 4px 15px 13px; }
  .filter-number-grid { gap: 6px; }
  .filter-number-option span { min-width: 44px; min-height: 44px; }
  .filter-condition-list { padding: 13px; }
  .filter-condition-card { align-items: start; flex-direction: column; gap: 12px; }
  .filter-condition-card button { width: 100%; }
  .filter-detail-header { margin-bottom: 20px; }
  .filter-detail-header h1 { font-size: 29px; }
  /* 窄屏右侧可用宽度有限：三项保持一行，四项改两列，避免出现最后一个按钮单独占满一行。 */
  .filter-detail-page .filter-condition-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; max-width: 100%; }
  .filter-detail-page .filter-condition-actions[data-filter-action-count="1"] { grid-template-columns: 96px; }
  .filter-detail-page .filter-condition-actions[data-filter-action-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-detail-page .filter-condition-actions[data-filter-action-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
  .filter-detail-page .filter-condition-actions[data-filter-action-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* iPhone 窄屏右栏不足 230px：三项动作保持 App 的单行节奏，不能让中文按钮拆成两行。 */
  .filter-detail-page .filter-condition-card .filter-condition-actions button { width: auto; padding: 8px 2px; font-size: 12px; white-space: nowrap; }
  .filter-bottom-bar { grid-template-columns: 92px minmax(0, 1fr) 110px; min-height: 72px; padding: 0; }
  .filter-selected-overlay { bottom: 72px; }
  .batch-position-header { padding: 11px 16px; }.batch-position-header h2 { font-size: 18px; }.batch-position-content { margin: 8px 10px; padding: 11px 12px; }.batch-position-intro small { max-width: 180px; font-size: 11px; }.batch-mode button { min-width: 35px; padding: 0 5px; font-size: 12px; }.batch-position-row { grid-template-columns: 54px minmax(0, 1fr); gap: 5px; padding: 7px 0; }.batch-position-row > strong { font-size: 16px; }.batch-position-controls { gap: 3px; }.batch-position-option-line { gap: 3px; }.batch-position-option-line > span { flex-basis: 35px; font-size: 11px; }.batch-position-option-line button { flex-basis: 38px; min-height: 27px; padding: 0 2px; font-size: 11px; }
  .free-position-content { margin: 8px 10px; padding: 11px 12px; }.free-omission-picker { gap: 11px; padding: 9px 0; }.free-omission-picker legend { font-size: 13px; }.free-omission-picker label { gap: 3px; font-size: 12px; }.free-omission-picker input { width: 14px; height: 14px; }.free-position-row { grid-template-columns: 54px minmax(0, 1fr); gap: 5px; padding: 7px 0; }.free-position-row > strong { font-size: 16px; }.free-position-digits { gap: 5px; }.free-position-digits button { font-size: 16px; }.free-position-digit small { min-height: 14px; font-size: 10px; line-height: 14px; }
  .number-set-content { margin: 8px 10px; padding: 11px 12px; }.number-set-digits { gap: 8px; margin-top: 13px; padding-top: 13px; }.number-set-digits button { font-size: 18px; }.number-set-footer { gap: 10px; padding: 10px 16px 16px; }.number-set-footer p { font-size: 13px; }.number-set-footer-actions { grid-template-columns: repeat(2, minmax(0, 132px)); gap: 26px; }.number-set-footer-actions button { min-height: 48px; font-size: 17px; }
  .lottery-history-periods { gap:6px; }.lottery-history-periods button { min-height:38px; padding:0 2px; font-size:14px; }
  .batch-position-footer, .free-position-footer { gap: 10px; padding: 10px 16px 16px; }.batch-position-footer p, .free-position-footer p { font-size: 13px; }.batch-position-footer-actions, .free-position-footer-actions { grid-template-columns: repeat(2, minmax(0, 132px)); gap: 26px; }.batch-position-footer-actions button, .free-position-footer-actions button { min-height: 48px; font-size: 17px; }
  .filter-bottom-metrics { min-height: 72px; padding: 6px 7px; }
  .filter-bottom-metrics strong { font-size: 20px; }
  .filter-bottom-metrics span { font-size: 12px; }
  .filter-detail-page .filter-bottom-spacer { height: 100px; }
  .filter-detail-page .filter-bottom-metrics { left: 0; width: 92px; min-height: 96px; border-radius: 14px 14px 0 0; }
  .filter-detail-page .filter-bottom-metrics strong { min-height: 61px; padding: 0 8px; font-size: 19px; }
  .filter-detail-page .filter-bottom-metrics span { min-height: 35px; padding: 0 8px; font-size: 12px; }
  .filter-bottom-selected { min-height: 72px; padding: 6px; }
  .filter-bottom-selected > span > strong { font-size: 16px; line-height: 1.2; }
  .filter-bottom-selected > span > em { font-size: 11px; }
  .filter-bottom-selected small { overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
  .filter-bottom-bar > .filter-primary { min-height: 72px; padding: 6px 5px; }
  .filter-bottom-bar > .filter-primary strong { font-size: 18px; }
  .filter-selected-dialog { width: 100vw; max-width: 100vw; max-height: 85vh; margin: auto 0 0; border-radius: 15px 15px 0 0; }
  .filter-results-toolbar { align-items: start; flex-direction: column; }
}
