:root{color-scheme:light;--ink:#162e27;--muted:#52665d;--line:#dce4dc;--paper:#f7f7f1;--green:#1d523e;--light:#edf3eb;--lime:#d9fa88;font:15px/1.5 "Segoe UI",system-ui,sans-serif;scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink)}
button,input,select{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
:focus-visible{outline:3px solid #49845d;outline-offset:3px}
[hidden]{display:none!important}
.wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}
.skip{position:fixed;left:12px;top:12px;z-index:2;transform:translateY(-160%);background:#fff;padding:8px}.skip:focus{transform:none}
.top{border-bottom:1px solid var(--line)}
.top-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;gap:12px;color:#14372c;text-decoration:none}
.brand-icon{display:block;width:48px;height:48px;flex:0 0 48px;filter:drop-shadow(0 6px 9px rgba(14,52,40,.2))}
.brand-copy{display:grid;gap:3px;line-height:1}
.brand-name{font-size:25px;font-weight:850;letter-spacing:-1.1px}
.brand-name strong{color:#3d735a;font-weight:850}
.brand-copy small{color:#49685b;font-size:10px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;line-height:1.15}
nav{display:flex;gap:26px;font-weight:650;color:var(--muted);font-size:14px}
nav a:hover,.link-button:hover{text-decoration:underline;text-underline-offset:3px}
.demo{background:#e8eee4;border:1px solid #d7e2d7;border-radius:99px;padding:5px 11px;font-size:12px;font-weight:700;white-space:nowrap}
.demo i,.eyebrow span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#568467;margin-right:5px;vertical-align:2px}
.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;padding:36px 42px;margin:26px 0;border-radius:22px;background:radial-gradient(ellipse at 93% 50%,#2b5f4b,#183c31 72%);color:#f8faf0;overflow:hidden}
.hero-text{position:relative;z-index:1}
.eyebrow,.kicker{font:700 11px/1.35 ui-monospace,Consolas,monospace;letter-spacing:.11em;margin:0 0 8px}
.eyebrow{color:#c1dfce}.eyebrow span{background:var(--lime)}
h1,h2,h3,p{margin:0}
h1{font:600 clamp(36px,5.6vw,70px)/1.01 Georgia,serif;letter-spacing:-.055em;margin-top:13px}
h1 em{font-weight:500;color:var(--lime)}
.intro{max-width:36ch;color:#e0eee5;margin-top:16px}
.hero-link{display:inline-flex;gap:16px;align-items:center;color:#f2f8df;border-bottom:1px solid #8cb297;padding:0 0 3px;margin-top:19px;font-size:13px;font-weight:650}
.pitch{width:100%;max-height:256px}
.workspace{display:grid;grid-template-columns:minmax(290px,.9fr) minmax(0,1.85fr);gap:20px;align-items:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:23px;min-width:0}
.kicker{color:#4d6b59}
.section-head{margin-bottom:17px}
.section-head h2{font-size:26px;line-height:1.15;letter-spacing:-.045em;margin-bottom:5px}
.section-head p:last-child,.note,.table-title span,.fixture-foot{color:var(--muted);font-size:13px}
label:not(.markets label){font-size:12px;font-weight:650;display:grid;gap:5px;min-width:0}
select,input:not([type=radio]){min-width:0;width:100%;height:40px;background:#fafcf9;border:1px solid #d6e0d6;border-radius:8px;color:var(--ink);padding:0 9px}
.fixture-filters,.odds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fixture-list{margin-top:13px;display:grid;gap:7px}
.fixture{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;text-align:left;border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 10px;border-radius:10px}
.fixture:hover{background:#f5f8f2}.fixture[aria-pressed=true]{border-color:#4d815f;background:#edf5e9}
.fixture .meta,.fixture .time{font-size:11px;color:var(--muted)}
.fixture .team{font-weight:700;font-size:13px}
.fixture .arrow{grid-column:2;grid-row:2;color:#4d735b}
.fixture-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:11px}
.link-button{border:0;background:none;color:#24573c;padding:5px 0;font-size:13px;font-weight:750;text-align:left}
.markets{display:flex;flex-wrap:wrap;gap:6px;border:0;margin:0 0 12px;padding:0}
.markets legend{font-size:12px;font-weight:650;margin-bottom:5px}
.markets label{position:relative;cursor:pointer}
.markets input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.markets span{display:block;background:#f3f6f0;border:1px solid var(--line);padding:7px 10px;border-radius:8px;font-weight:650;font-size:12px}
.markets input:checked+span{color:#fff;background:var(--green);border-color:var(--green)}
.markets input:focus-visible+span{outline:3px solid #49845d;outline-offset:2px}
.form-row{display:grid;grid-template-columns:minmax(0,1.8fr) repeat(2,minmax(105px,1fr));gap:10px}
.odds[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.odds[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.run{margin-top:12px;display:flex;align-items:center;gap:14px;border:0;background:var(--lime);color:#193322;padding:9px 13px;border-radius:8px;font-weight:750}
.run:hover{background:#c8ed70}
#error{color:#a12428;margin-top:8px;font-size:13px}
.result{margin-top:20px;scroll-margin-top:14px}
.result-head,.table-title{display:flex;justify-content:space-between;align-items:center;gap:8px}
.result h2{font-size:26px;line-height:1.15;letter-spacing:-.045em}
.result h3{font-size:17px;letter-spacing:-.02em}
.count{font-size:12px;color:#2f6649;background:var(--light);padding:4px 8px;border-radius:20px;font-weight:750;white-space:nowrap}
.distribution{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:15px}
.distribution:empty{display:none}
.stat-card{background:#1e342e;color:#f4faf5;border:1px solid #2a483c;border-top:3px solid #a3c879;border-radius:12px;padding:11px 12px 12px;min-width:0}
.stat-card:nth-child(2){border-top-color:#8ac5ab}
.stat-card:nth-child(3){border-top-color:#d9fa88}
.stat-card:nth-child(4){border-top-color:#e6ca8a}
.stat-card:nth-child(5){border-top-color:#dba77e}
.stat-card header{display:flex;justify-content:space-between;align-items:center;gap:6px;border-bottom:1px solid #486258;padding-bottom:8px}
.stat-card header span{border:1px solid #62786d;border-radius:20px;padding:1px 7px;color:#e0eae4;font-size:10px;font-weight:750}
.stat-group{margin-top:8px}
.stat-group p{color:#c7d9cf;font-size:11px;margin-bottom:4px}
.pills{display:flex;flex-wrap:wrap;gap:4px}
.stat-pill{white-space:nowrap;border:1px solid #536b60;background:#2b443b;border-radius:20px;padding:2px 6px;font-size:11px;font-variant-numeric:tabular-nums}
.stat-pill strong{margin-left:2px}
.outcome .stat-pill{color:#e5f8cc;border-color:#6c8958}
.goals .stat-pill{color:#d1f3e8;border-color:#567b72}
.score .stat-pill{color:#f6e4bb;border-color:#817456}
.result-foot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:3px}
.result-foot a{white-space:nowrap}
.note{margin-top:7px}
.table-title{margin-top:16px}
.table-wrap{overflow:auto;margin-top:6px}
table{width:100%;min-width:520px;border-collapse:collapse;text-align:left;font-size:13px}
th,td{border-bottom:1px solid #e6ebe2;padding:7px 5px;white-space:nowrap}
th{font-size:11px;color:var(--muted);background:#f3f6f0}
td small{display:block;color:var(--muted)}
td:not(:first-child){font-variant-numeric:tabular-nums}
.final-score{font-weight:750;color:#215239}
.more{margin-top:6px}
.empty{font-size:13px;color:var(--muted);padding:9px 0}
footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;padding:20px 0;margin-top:10px!important}
@media(max-width:900px){.wrap{width:calc(100% - 36px)}.hero{padding:28px;gap:12px}.panel{padding:17px}.workspace{gap:13px;grid-template-columns:minmax(235px,.9fr) minmax(0,1.55fr)}.form-row{grid-template-columns:1fr 1fr}.odds{grid-column:1/-1}.distribution{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.wrap{width:calc(100% - 28px)}.top-inner{height:68px}.brand{gap:9px}.brand-icon{width:42px;height:42px;flex-basis:42px}.brand-name{font-size:20px}.brand-copy{gap:2px}.brand-copy small{font-size:8.2px;letter-spacing:.035em}nav{display:none}.hero{position:relative;display:block;margin:14px 0;padding:25px 19px}.pitch{position:absolute;right:-60px;bottom:-16px;width:69%;opacity:.27}.workspace{display:block}.analysis,.result{margin-top:12px}.panel{padding:15px}.intro{font-size:14px}.table-title span{font-size:11px}footer{display:block}footer strong{display:block;margin-bottom:4px}}
@media(max-width:480px){.distribution{grid-template-columns:1fr}.result-head{align-items:flex-start;flex-direction:column}.result-foot{align-items:flex-start;flex-direction:column;gap:0}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

.wide{grid-column:1/-1}
.fixture{align-items:center}
.fixture-meta{grid-column:1/-1;display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:11px}
.fixture strong{font-size:13px}
.fixture-odds{color:#345f47;font:650 11px ui-monospace,Consolas,monospace;white-space:nowrap}
.fixture-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:6px}
.stage-select{display:grid;grid-template-columns:minmax(125px,.6fr) 1.4fr;align-items:end;gap:10px;margin-bottom:12px}
.stage-select .note{margin:0;padding-bottom:3px}
.markets input:disabled,.sub-button:disabled,.link-button:disabled{cursor:default}
.markets input:disabled+span{color:#64746a;background:#f8faf6;border-style:dashed}
.odds{grid-template-columns:repeat(3,minmax(0,1fr))}
.odds:has(>label:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.presets{margin-top:16px;border-top:1px solid var(--line);padding-top:13px}
.presets summary{cursor:pointer;font-size:14px;font-weight:700}
.preset-form{display:flex;align-items:end;gap:8px;margin-top:10px}
.preset-form label{flex:1}
.sub-button{padding:7px 10px;color:var(--green);background:#f7faf4;border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:750}
.sub-button:hover:not(:disabled),.sub-button[aria-pressed=true]{background:var(--light);border-color:#81a98a}
.sub-button:disabled,.link-button:disabled{color:#64746a;opacity:.72}
.preset-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--line)}
.result-pin{position:sticky;top:0;z-index:2;padding:9px 0;background:#fff;border-bottom:1px solid var(--line)}
.result-pin .note{margin-top:3px}
.result-heading,#bulk-heading{scroll-margin-top:8px}
.sample-note{font-size:13px;background:#fff6dc;color:#6c4906;border:1px solid #f1d798;border-radius:8px;margin-top:10px;padding:8px 10px}
.stat-card p{color:#d4e2d8;font-size:11px;margin:2px 0 8px}
.chips{display:flex;flex-wrap:wrap;gap:4px;font-size:12px}
.chip{white-space:nowrap;border:1px solid #536b60;background:#2b443b;border-radius:20px;padding:2px 6px;font-size:11px;font-variant-numeric:tabular-nums}
.chip.highlight{border-color:#97b96f;color:#e9ffbd}
.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.insight{min-width:0;padding:13px;border:1px solid var(--line);border-radius:11px}
.chart{display:block;width:100%;max-height:145px;margin-top:6px}
.chart-grid{stroke:#dbe5db;fill:none}
.chart-series path{stroke:currentColor;stroke-width:2.5;fill:none}
.chart-series circle,.chart-key i{fill:currentColor;background:currentColor}
.series-0{color:#286045}.series-1{color:#4a5ca5}.series-2{color:#9e5b15}
.chart-controls,.chart-key{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:7px}
.chart-key{font-size:12px}
.chart-key i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}
.compare{min-width:0;margin-top:8px;font-size:12px}
.compare small{display:inline;color:var(--muted)}
.nearest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:7px}
.near-card{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#f6f9f3;text-align:left;display:grid;gap:3px;color:var(--ink)}
.near-card:hover{border-color:#81a98a;background:#edf5e9}
.near-card small,.near-card span,tbody th small{color:var(--muted);font-size:11px}
.near-card strong{font-size:13px}
tbody th small{display:block;font-weight:400}
tbody th{background:#fff;color:var(--ink);font-size:13px}
.rate-cell{white-space:nowrap}
dialog{width:min(650px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:15px;padding:17px;color:var(--ink)}
dialog::backdrop{background:#132b24b0}
.detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.detail-head h2{font-size:19px}
dialog table{min-width:410px}
dialog th{white-space:normal}
footer a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:650px){
  .fixture{padding:7px 8px}
  .fixture-meta{font-size:10px}
  .fixture-odds{font-size:10px}
  .insight-grid,.nearest{grid-template-columns:1fr}
  .result-pin{align-items:center;flex-direction:row;padding:7px 0}
  .result-pin h2{font-size:19px}
  .result-pin .kicker{display:none}
  .result-pin .note{font-size:11px;line-height:1.3}
  .compare td,.compare th{padding:6px 3px}
  .stage-select{grid-template-columns:1fr}
}

.independent{margin-top:12px}
.independent summary{cursor:pointer;font-weight:750}
.independent label{margin-top:10px;max-width:420px}
.independent th{white-space:normal}

.fixture-prices{grid-column:1/-1;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.fixture-filters .check-label{display:flex;align-items:center;gap:6px;align-self:end;min-height:40px}
.fixture-filters .check-label input{width:16px;height:16px;margin:0;accent-color:var(--green)}
.import-label{margin:8px 0 4px}
.import-label input[type=file]{height:auto;padding:6px}
.import-label input::file-selector-button{font:inherit;margin-right:6px;padding:4px 7px;border:1px solid var(--line);border-radius:5px;background:var(--light);color:var(--green);cursor:pointer}
.section-head #source-info,.section-head #selected-label{font-size:13px;color:var(--muted)}
.page-intro{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:23px 0 14px}
.page-intro #title{margin:0;font-size:clamp(29px,4vw,48px);line-height:1.04}
.page-intro p:last-child{margin-top:7px;color:var(--muted)}
.page-intro a{white-space:nowrap}
.entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.entry-head h2{font-size:23px}
.entry-head #manual{flex:none;padding-inline:7px}
.analysis .form-row{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px}
.analysis .odds{grid-column:auto}
.search-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.search-actions{display:flex;align-items:center;gap:13px;margin-top:11px}
.search-actions .run,.search-actions .note{margin:0}
.search-actions .run{min-height:43px}
#odds input{height:46px;font-size:18px;font-weight:650;font-variant-numeric:tabular-nums}
#odds input::placeholder{color:#607367;font-weight:500}
#odds input[aria-invalid=true]{border-color:#a12428}
.analysis .search-settings select{height:46px}
#fixtures{margin-top:20px}
#upcoming{margin-top:14px}
#upcoming + #result{margin-top:12px}
#upcoming-heading{margin:0;font-size:clamp(23px,3vw,29px);line-height:1.15}
.upcoming-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:8px}
#upcoming-list{margin-top:8px}
.upcoming-shortcuts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.upcoming-shortcuts .sub-button{min-height:34px}
.upcoming-shortcuts .sub-button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.upcoming-mobile-odds{display:none}
.upcoming-entry{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin:6px 0}
.upcoming-entry .note{flex:1 1 200px;margin:0}
.upcoming-entry .run{margin:0;padding:7px 10px;font-size:12px}
#upcoming-entry-error{flex-basis:100%;margin:0;color:#a12428;font-size:12px}
.upcoming-filter-bar{height:36px;margin:4px 0}
#upcoming-active-filters{display:flex;align-items:center;gap:5px;height:100%;margin:0;padding:0 3px;list-style:none;overflow-x:auto;scrollbar-width:thin}
#upcoming-active-filters li{flex:none}
#upcoming-active-filters button{padding:4px 8px;background:#edf5e8}
.upcoming-stats{margin:4px 0 14px}
.upcoming-stats-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:6px 10px}
.upcoming-stats-head h2{font-size:18px;line-height:1.2;letter-spacing:-.025em}
.upcoming-stats-head p{margin:3px 0 0}
.upcoming-stats .distribution{margin:9px 0 7px}
.upcoming-stats .stat-card{background:#242a38;border-inline-color:#3d4556;border-bottom-color:#3d4556}
@media(min-width:901px){.upcoming-stats .stat-card{min-height:170px}}
.upcoming-stats .stat-card header{border-bottom-color:#455062}
.upcoming-stats .stat-card header span{border-color:#596477;text-align:right}
.upcoming-stats .stat-card h3{font-size:14px;line-height:1.2;white-space:nowrap}
.upcoming-stats .stat-card header span{white-space:nowrap;padding-inline:5px;font-size:9px}
.upcoming-stats .stat-unavailable{margin:8px 0 0}
.upcoming-stats .chip{background:#31394a;border-color:#4c576a}
.upcoming-stats .chip.highlight{background:#354633;border-color:#8db86d}
.upcoming-stats .chip small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.upcoming-grid-wrap{height:min(68vh,680px);scrollbar-gutter:stable;overflow-anchor:none;border:1px solid #8192a7;border-radius:6px;background:#f8fbfc}
.upcoming-table{min-width:1100px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:11px;font-variant-numeric:tabular-nums}
.upcoming-table .grid-rank{width:27px}
.upcoming-table .grid-analysis{width:77px}
.upcoming-table .grid-date{width:78px}
.upcoming-table .grid-time{width:49px}
.upcoming-table .grid-place{width:77px}
.upcoming-table .grid-league{width:110px}
.upcoming-table .grid-team{width:95px}
.upcoming-table .grid-result{width:28px}
.upcoming-table .grid-price{width:57px}
.upcoming-table th,.upcoming-table td{border:0;border-bottom:1px solid #b1c3d4;border-right:1px solid #b1c3d4;padding:3px 5px}
.upcoming-table thead{position:sticky;top:0;z-index:1}
.upcoming-table thead th,.upcoming-table thead td,.upcoming-rank{background:#2c3142;color:#fff}
.upcoming-table thead th{text-align:center;font-size:11px;padding-inline:3px}
.upcoming-table thead tr:first-child th{background:#242939;padding-block:6px}
.upcoming-table thead th.odds-group-title{color:#c6f0a2}
.upcoming-table thead button{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:2px 0}
.upcoming-table thead button:hover,.upcoming-table th[aria-sort]{color:#d4f4b9}
.upcoming-table thead button span{font-size:10px}
.upcoming-table thead input{display:block;width:100%;min-width:0;height:20px;padding:1px 4px;border:1px solid #a3b6c8;border-radius:3px;background:#f9fcff;color:#162e27;font-size:11px}
.upcoming-table thead input[aria-invalid=true]{border-color:#b2262b}
.upcoming-table .upcoming-price-cell{padding-inline:3px}
.upcoming-filter-field{position:relative}
.upcoming-table .upcoming-filter-field input{padding-inline:3px 15px}
.upcoming-table thead .upcoming-filter-clear{position:absolute;inset-block:1px;inset-inline-end:1px;width:14px;padding:0;border-radius:2px;color:#37515e;font-size:14px;line-height:1}
.upcoming-table thead .upcoming-filter-clear:hover,.upcoming-table thead .upcoming-filter-clear:focus-visible{background:#e5eee8;color:#1e4c35;outline:1px solid #477c57}
.upcoming-table tbody tr:nth-child(even)>:not(.upcoming-rank){background:#eff5f8}
.upcoming-table tbody tr:hover>:not(.upcoming-rank){background:#e6f0e7}
.upcoming-table .upcoming-rank{text-align:center}
.upcoming-table .team-cell{min-width:88px;white-space:normal}
.upcoming-table .result-rate{color:#21623a;white-space:nowrap;font-weight:700;text-align:center}
.upcoming-value{border:0;border-radius:3px;padding:2px 3px;background:transparent;color:inherit;font:inherit;text-align:inherit;cursor:pointer}
.upcoming-table .upcoming-value{display:block;width:100%;overflow:hidden;text-overflow:ellipsis}
.upcoming-table .team-cell .upcoming-value{white-space:normal;overflow-wrap:anywhere}
.upcoming-value:hover{text-decoration:underline;text-underline-offset:2px}
.upcoming-value[aria-pressed=true]{background:#dcefd6;color:#17482b}
.upcoming-card .mobile-rates .upcoming-value{min-height:32px;min-width:44px}
.upcoming-table .match-detail-button{min-height:23px;padding:2px 6px;font-size:11px}
.upcoming-table .note{font-size:10px}
.upcoming-table .upcoming-no-rows{padding:10px;color:var(--muted)}
.upcoming-table tbody .upcoming-history-band th{padding-block:5px;background:#dcebd9;color:#213d31;text-align:left}
.upcoming-table tbody .upcoming-source-band th{background:#fff1c7;color:#5d4300}
.upcoming-table tbody .upcoming-source-match td,.upcoming-table tbody .upcoming-source-match th{background:#fff9e8}
.history-filter-value{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 5px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.history-filter-value:hover,.history-filter-value:focus-visible{border-color:#79a87d;background:#e7f3e5;outline:none}
.history-filter-value[aria-pressed="true"]{border-color:#79a87d;background:#dff0d9;font-weight:750}
.upcoming-history-filter-band th{padding:6px 8px!important;background:#eef6e9!important;color:#21412f;text-align:left}
.upcoming-history-filter-band th,.upcoming-history-filter-band th>*{vertical-align:middle}
.upcoming-history-filter-band span{margin-right:8px;font-weight:750}
.upcoming-history-filter-band .history-filter-value,.history-filter-clear{margin:2px 5px 2px 0;padding:4px 8px;border:1px solid #b8cfb7;border-radius:8px;background:#fff;color:#21412f;font:inherit;cursor:pointer}
.upcoming-history-filter-band .history-filter-clear{font-weight:750}
.upcoming-history-filter-band button:hover,.upcoming-history-filter-band button:focus-visible{border-color:#477c57;background:#e5f2e2;outline:2px solid #477c57;outline-offset:1px}
.upcoming-history-band h3{margin:0;font:inherit;font-weight:750}
.upcoming-table .upcoming-history-match .final-score{background:#e6efe3;color:#203f2d;text-align:center;font-weight:750}
@media(min-width:600px){#upcoming-empty,.result-in-upcoming #archive-results{display:none}}
.upcoming-mobile-controls,.upcoming-scroll-hint{display:none}
#upcoming-more{display:inline-flex}
.mobile-view-actions,.mobile-analysis-bar,.mobile-stats-toggle{display:none}
.upcoming-competition{display:grid;gap:4px;width:min(100%,280px);margin-bottom:10px}
.upcoming-card .mobile-rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.upcoming-card .mobile-rates dd{white-space:nowrap}
@media(max-width:979px){
  .upcoming-mobile-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;margin-bottom:8px}
  .upcoming-mobile-controls label{flex:1;min-width:105px}
  #upcoming-more{display:inline-block}
}
@media(min-width:600px) and (max-width:979px){
  #upcoming .upcoming-grid-wrap,.upcoming-scroll-hint{display:block}
  #upcoming-cards,#upcoming-more{display:none}
}
@media(max-width:599px){
  body{padding-bottom:82px}
  #upcoming{padding:14px 12px}
  .upcoming-head h1{font-size:28px}
  .mobile-view-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 10px}
  .mobile-view-actions .sub-button{min-height:44px;justify-content:center}
  .mobile-filter-panel{display:none;padding:10px;border:1px solid var(--line);border-radius:11px;background:#f8faf6}
  .mobile-filter-panel.is-open{display:block}
  .upcoming-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .upcoming-shortcuts .sub-button{padding-inline:5px;justify-content:center}
  .upcoming-competition{width:100%;margin-top:10px}
  .upcoming-shortcuts .sub-button{min-height:40px}
  .upcoming-mobile-odds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0}
  .upcoming-mobile-odds label{margin-bottom:4px}
  .upcoming-mobile-odds input{width:100%;min-height:42px;padding:6px 31px 6px 7px;font-size:16px;font-variant-numeric:tabular-nums}
  .upcoming-mobile-odds input[aria-invalid=true]{border-color:#b2262b}
  .upcoming-mobile-odds .upcoming-filter-clear{position:absolute;inset-block:1px;inset-inline-end:1px;width:29px;padding:0;border:0;border-radius:6px;background:transparent;color:#37515e;font-size:20px;line-height:1}
  .upcoming-mobile-odds .upcoming-filter-clear:hover,.upcoming-mobile-odds .upcoming-filter-clear:focus-visible{background:#e5eee8;color:#1e4c35;outline:2px solid #477c57}
  #upcoming-entry-hint,#upcoming-apply{display:none}
  #upcoming-analyze{width:100%;min-height:46px;justify-content:center}
  .upcoming-stats{margin-top:10px}
  .upcoming-stats .distribution{display:grid;grid-template-columns:1fr}
  .upcoming-stats .stat-card{display:none;min-height:0}
  .upcoming-stats .stat-card:first-child{display:block}
  .upcoming-stats.stats-expanded .stat-card{display:block}
  .mobile-stats-toggle{display:inline-flex;min-height:40px;align-items:center;margin:0 0 6px}
  #upcoming-list:not(.mobile-table-open) .upcoming-grid-wrap{display:none}
  #upcoming-list.mobile-table-open #upcoming-cards{display:none}
  #upcoming-list.mobile-table-open .upcoming-grid-wrap{display:block;overflow:auto;max-height:65vh}
  .upcoming-card{padding:12px;border-radius:14px;box-shadow:0 3px 12px rgba(27,57,43,.06)}
  .upcoming-card .mobile-meta{align-items:flex-start}
  .upcoming-card .upcoming-value{min-height:42px;padding:7px 8px;font-size:14px}
  .upcoming-card .mobile-teams strong{display:grid;gap:2px;width:100%;font-size:16px;line-height:1.3}
  .upcoming-card .mobile-rates{gap:6px}
  .upcoming-card .mobile-rates div{padding:6px 3px}
  .upcoming-card .mobile-match-foot .match-detail-button{width:100%;min-height:46px}
  .mobile-analysis-bar{position:fixed;z-index:50;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:9px;border:1px solid #5e806d;border-radius:14px;background:rgba(27,58,45,.97);color:#fff;box-shadow:0 8px 28px rgba(12,35,25,.28)}
  .mobile-analysis-bar[hidden]{display:none}
  .mobile-analysis-bar div{min-width:0;display:grid}
  .mobile-analysis-bar strong{font-size:12px}
  .mobile-analysis-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dce9e0;font-size:10px}
  .mobile-analysis-bar .link-button{color:#fff;min-height:42px;padding:5px 7px}
  .mobile-analysis-bar .run{min-height:42px;padding:7px 10px}
}
@media(min-width:980px){
  .fixtures .fixture-filters{grid-template-columns:1fr 1fr 1fr 1fr auto 1.4fr}
  .fixtures .wide{grid-column:auto}
  .fixture-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:10px 0}
.summary-strip div{padding:6px 5px;background:#f0f5ed;border:1px solid var(--line);border-radius:8px;text-align:center}
.summary-strip dt,.mobile-rates dt{color:var(--muted);font-size:11px;font-weight:650}
.summary-strip dd,.mobile-rates dd{margin:0;color:#214d36;font-size:16px;font-weight:750;font-variant-numeric:tabular-nums}
.results-table{min-width:0;border-collapse:separate;border-spacing:0;font-size:12px}
.results-table th,.results-table td{padding:6px 7px;border-right:1px solid #e5ebe4}
.results-table thead th{background:#244236;color:#fff;text-align:center}
.results-table thead tr:first-child th{background:#1c342c;border-color:#557265;letter-spacing:.02em}
.results-table thead tr:nth-child(2) th{border-color:#557265;font-size:11px}
.results-table tbody tr:nth-child(even)>*{background:#f6f9f4}
.results-table tbody tr:hover>*{background:#eaf4e7}
.results-table .rank{color:var(--muted);text-align:center}
.results-table .team-cell{white-space:normal;min-width:86px}
.results-table .result-rate{color:#226444;font-weight:750;text-align:center}
.results-table thead .result-rate{color:#dcf8be}
.results-table .final-score{text-align:center;background:#edf4ea;font-weight:750;font-variant-numeric:tabular-nums}
.match-league{color:#244236;font-weight:650}
.match-detail-button{padding:5px 8px}
.mobile-matches{display:none}
#result-heading,#analysis-heading{scroll-margin-top:10px}
#result-insights .insight:only-child{grid-column:1/-1}
#result-insights .insight[hidden]+.insight{grid-column:1/-1}
#result .compare td,#result .compare th{white-space:normal}
dialog table,.independent table{min-width:0;table-layout:fixed}
dialog th,.independent th{overflow-wrap:anywhere}
@media(max-width:979px){
  .results-desktop{display:none}
  .mobile-matches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
  .mobile-match{padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fff}
  .mobile-meta,.mobile-teams,.mobile-match-foot{display:flex;justify-content:space-between;align-items:center;gap:6px}
  .mobile-meta{font-size:11px;color:var(--muted)}
  .mobile-teams{margin-top:4px;line-height:1.25}
  .mobile-teams strong{font-size:14px;overflow-wrap:anywhere}
  .mobile-score{display:grid;justify-items:center;white-space:nowrap;padding:4px 8px;border-radius:7px;background:#214d36;color:#fff;font-weight:750;font-variant-numeric:tabular-nums}
  .mobile-score small{font-size:10px;font-weight:550}
  .mobile-periods{margin-top:3px;color:var(--muted);font-size:12px}
  .mobile-periods span{margin-inline:4px}
  .mobile-rates{display:flex;gap:5px;margin:6px 0 0}
  .mobile-rates div{flex:1;background:#f3f7f0;border-radius:6px;padding:3px 5px;text-align:center}
  .mobile-rates dd{font-size:14px}
  .mobile-match-foot{margin-top:4px;color:var(--muted)}
  .mobile-match-foot button{min-height:44px;min-width:60px}
}
@media(max-width:650px){
  .page-intro{align-items:flex-start;flex-direction:column;gap:7px;margin:13px 0 10px}
  .page-intro .kicker{margin-bottom:5px}
  .page-intro p:last-child{font-size:13px;margin-top:5px}
  .page-intro .sub-button{padding:5px 8px}
  .analysis .form-row{grid-template-columns:1fr;gap:9px}
  .analysis .section-head{margin-bottom:10px}
  .analysis .search-settings select{height:42px}
  .analysis .search-actions{flex-direction:column;align-items:stretch;gap:5px}
  .analysis .run{justify-content:center;min-height:47px}
  .analysis .search-actions p{font-size:11px}
  .analysis #manual{min-height:42px;padding-top:0}
  .mobile-matches{grid-template-columns:1fr}
  .summary-strip dt{font-size:10px;line-height:1.25}
  .summary-strip dd{font-size:15px}
  .summary-strip div{padding:6px 2px}
  .table-wrap:not(.results-desktop) td,.table-wrap:not(.results-desktop) th{padding-inline:4px}
  select,input:not([type=radio]):not([type=checkbox]){font-size:16px}
}
.league-quick{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
@media(min-width:980px){
  .fixtures .fixture-filters{grid-template-columns:1fr 1.1fr 1.35fr .75fr .9fr auto 1.25fr}
}
@media(max-width:650px){
  .league-quick button{min-height:44px}
}
.result-pin{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 10px}
.applied-rates{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}
.applied-rates li{display:flex;align-items:baseline;gap:5px;padding:3px 8px;border:1px solid #dbe9db;border-radius:6px;background:#edf5eb;color:#264f3b;font-size:12px;white-space:nowrap}
.applied-rates .free-rate{border-style:dashed;background:#f7f8f5;color:var(--muted)}
#analysis-pool{font-size:12px;margin:8px 0}
#analysis-pool a{text-decoration:underline;text-underline-offset:2px}
.analysis-options{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fafbf8}
.analysis-options h3{font-size:13px}
.search-choices{display:flex;flex-wrap:wrap;gap:5px}
.search-choices .sub-button{display:flex;gap:6px;align-items:center;justify-content:center;white-space:nowrap}
.search-choices .sub-button strong{font-variant-numeric:tabular-nums}
.search-choices .sub-button[aria-pressed=true]{color:#fff;background:var(--green);border-color:var(--green)}
.relax-filters{font-size:12px;color:var(--green)}
.relax-filters summary{cursor:pointer;font-weight:700}
.relax-filters .search-choices{margin-top:5px}
.summary-strip dd small,.rate-difference{display:block;color:var(--muted);font-size:11px;font-weight:600;line-height:1.3}
.chip small{color:#e1ede3;margin-left:4px;font-size:10px}
@media(max-width:650px){
  .result-pin{gap:5px 7px}
  .applied-rates{gap:3px}
  .applied-rates li{gap:3px;padding:3px 4px;font-size:10px}
  .analysis-options{display:block;padding:8px}
  .analysis-options h3{margin-bottom:5px}
  #tolerance-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  #tolerance-choices .sub-button{min-height:44px;flex-direction:column;gap:0;padding:4px 2px;font-size:11px}
  .relax-filters{margin-top:5px}
  .relax-filters summary{padding:5px 0}
  .relax-filters button{min-height:40px}
  .summary-strip dd small,.rate-difference{font-size:10px}
}
