
    :root{--ink:#101413;--paper:#f4f0e7;--lime:#b7f05a;--red:#d86b47;--muted:#92988f;--line:#d9d5cb;--panel:#fffdf7;--mono:'DM Mono',monospace;--sans:'Noto Sans SC',sans-serif}
.prematch-evidence{border:1px solid var(--line);border-radius:10px;margin:16px 0;padding:14px 16px;color:var(--ink);font:13px/1.85 var(--sans);overflow-wrap:anywhere;min-width:0}
.prematch-evidence>summary{cursor:pointer;font-weight:600;padding:4px 0;line-height:1.7}
.prematch-evidence>summary:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}
.prematch-evidence-body{padding-top:8px}.prematch-evidence p{margin:8px 0;color:var(--ink)}
.prematch-evidence-record+.prematch-evidence-record{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.prematch-evidence h4{font:600 13px/1.8 var(--sans);color:var(--ink);margin:0}
.prematch-evidence dl{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:6px 12px;margin:10px 0}
.prematch-evidence dt{color:var(--muted)}.prematch-evidence dd{margin:0;color:var(--ink)}
.prematch-evidence-notice{border-left:3px solid currentColor;padding-left:12px}
@media(max-width:540px){.prematch-evidence dl{grid-template-columns:1fr;gap:2px}.prematch-evidence dd{margin-bottom:9px}}
    *{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.topbar{height:66px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 4.2vw}.brand{display:flex;gap:12px;align-items:center;font-weight:800;font-size:19px;letter-spacing:.06em}.brandmark{width:27px;height:27px;border:1px solid var(--lime);display:grid;place-items:center;color:var(--lime);font:500 13px var(--mono);transform:rotate(-8deg)}.nav{display:flex;gap:30px;color:#b5b8b0;font-size:13px}.nav a:first-child{color:var(--lime)}.top-right{display:flex;align-items:center;gap:20px;color:#d0d1cb;font-size:12px}.live-dot{display:inline-flex;align-items:center;gap:7px}.live-dot:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--red)}.container{max-width:1440px;margin:auto;padding:31px 4.2vw 60px}.eyebrow{font:11px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted,#777e75)}.heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:26px}.heading h1{font-size:34px;letter-spacing:-.04em;margin:8px 0 5px;line-height:1.1}.heading p{margin:0;color:var(--muted,#70766e);font-size:13px}.date-pill{background:var(--ink);color:var(--paper);padding:11px 15px;font:12px var(--mono);letter-spacing:.04em}.date-pill span{color:var(--lime);padding-left:8px}.layout{display:grid;grid-template-columns:210px minmax(460px,1fr) 322px;gap:17px;align-items:start}.sidebar,.detail,.match-panel{background:var(--panel);border:1px solid var(--line)}.sidebar{padding:20px 17px;min-height:660px}.section-label{font:10px var(--mono);letter-spacing:.12em;color:var(--muted,#82887f);margin:0 0 14px}.date-list{display:grid;gap:4px;margin-bottom:28px}.date-option{border:0;background:transparent;text-align:left;padding:10px 9px;display:flex;justify-content:space-between;color:var(--muted,#656b63);font-size:12px}.date-option.active{background:var(--ink);color:var(--paper)}.date-option b{font:11px var(--mono);font-weight:400;color:inherit;opacity:1}.league-list{display:grid;gap:4px}.league-option{width:100%;border:0;background:transparent;text-align:left;padding:10px 8px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink,#50574f)}.league-option.active{background:var(--green-soft,#eef2e6);color:var(--ink);font-weight:700}.check{width:15px;height:15px;border:1px solid #b9beb2;display:grid;place-items:center;font-size:10px;color:var(--ink)}.league-option.active .check{background:var(--lime);border-color:var(--lime)}.league-mark{margin-left:auto;font:10px var(--mono);color:var(--muted,#92988f)}.data-note{margin-top:30px;border-top:1px solid var(--line);padding-top:16px;color:var(--muted,#858b82);font-size:10px;line-height:1.7}.data-note strong{display:block;color:var(--ink,#4a5148);font-size:11px;margin-bottom:4px}.match-panel{min-height:660px}.panel-head{padding:17px 19px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panel-head strong{font-size:14px}.panel-head span{font:10px var(--mono);color:var(--muted,#858b82)}.day-tabs{display:flex;gap:18px;padding:13px 19px 0;border-bottom:1px solid var(--line)}.day-tab{background:none;border:0;padding:0 0 12px;color:var(--muted,#858b82);font-size:11px}.day-tab.active{color:var(--ink);font-weight:700;border-bottom:2px solid var(--lime)}.match-card{padding:17px 19px 15px;border-bottom:1px solid #e9e5db;cursor:pointer;transition:background .15s}.match-card:hover,.match-card.selected{background:var(--green-soft,#faf8f0)}.match-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted,#81877e);font:10px var(--mono);margin-bottom:12px}.league-tag{display:inline-flex;align-items:center;gap:7px;letter-spacing:.04em}.league-tag:before{content:'';width:6px;height:6px;background:var(--red);border-radius:50%}.league-tag.csl:before{background:#43816b}.league-tag.ucl:before{background:#596ec2}.status{color:var(--warning-ink,#aa5a3f)}.teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.team{display:flex;align-items:center;gap:10px;font-weight:700;font-size:13px}.team.away{justify-content:flex-end;text-align:right}.crest{height:29px;width:29px;border-radius:50%;display:grid;place-items:center;background:#e9e6dd;color:var(--ink,#475148);font:10px var(--mono);border:1px solid #d7d4ca}.team.away .crest{order:2}.versus{font:10px var(--mono);color:var(--muted,#999e96)}.prob-label{display:flex;justify-content:space-between;margin:16px 0 7px;color:var(--muted,#838980);font:9px var(--mono);letter-spacing:.06em}.probability{height:7px;display:flex;gap:3px}.probability i{display:block;height:100%;border-radius:2px;background:var(--lime)}.probability i:nth-child(2){background:#d1d2c8}.probability i:nth-child(3){background:var(--red)}.prob-numbers{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:5px;font:10px var(--mono);color:var(--muted,#626960)}.prob-numbers span:nth-child(2){text-align:center}.prob-numbers span:last-child{text-align:right}.empty{padding:52px;text-align:center;color:var(--muted,#82887f)}.detail{min-height:450px}.detail-head{padding:18px 18px 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.detail-head strong{font-size:13px}.detail-head span{font:9px var(--mono);color:var(--muted,#8b9188)}.detail-body{padding:19px}.detail-league{font:10px var(--mono);color:var(--muted,#82887f);letter-spacing:.08em}.fixture-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0 21px}.fixture-team{text-align:center;flex:1;font-size:12px;font-weight:700}.fixture-team .crest{margin:0 auto 8px;width:43px;height:43px;font-size:12px}.fixture-vs{font:11px var(--mono);color:var(--muted,#a0a59c)}.prediction{background:var(--ink);color:var(--paper);padding:14px 15px;margin-bottom:20px}.prediction-top{display:flex;justify-content:space-between;align-items:center;color:#b5b9b0;font-size:10px}.prediction-top b{font:10px var(--mono);color:var(--lime);font-weight:400}.pick{font-size:15px;font-weight:700;margin-top:9px}.pick small{font:11px var(--mono);color:var(--lime);margin-left:8px}.detail-section{margin-top:19px}.detail-section h3{display:flex;justify-content:space-between;font-size:11px;margin:0 0 12px}.detail-section h3 span{font:9px var(--mono);color:var(--muted,#91978e);font-weight:400}.metric{display:grid;grid-template-columns:70px 1fr 34px;gap:8px;align-items:center;margin:10px 0;color:var(--muted,#70766e);font-size:10px}.metric-bar{height:4px;background:#e6e3da}.metric-bar i{display:block;height:100%;background:#8fae63}.metric b{font:10px var(--mono);color:var(--ink,#3c433b);text-align:right}.form-row{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.form-row span{font-size:10px;color:var(--muted,#777e75)}.form-dots{display:flex;gap:4px}.form-dots i{width:18px;height:18px;border-radius:50%;background:#dce9cb;display:grid;place-items:center;font:9px var(--mono);font-style:normal;color:var(--muted,#4f6834)}.form-dots i.bad{background:#f1ddd4;color:var(--warning-ink,#a9563b)}.legal{margin-top:18px;color:var(--muted,#8a9087);font-size:9px;line-height:1.7}.footer{margin-top:22px;display:flex;justify-content:space-between;color:var(--muted,#90968c);font-size:10px}.footer span{font:10px var(--mono)}
    @media(max-width:1120px){.layout{grid-template-columns:180px minmax(0,1fr)}.detail{grid-column:2;position:static;min-height:0}.sidebar{grid-row:1 / span 2}.detail-body{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.detail-head{grid-column:1/-1}}
    @media(max-width:700px){.topbar{height:58px;padding:0 18px}.nav{display:none}.top-right{font-size:10px}.container{padding:25px 14px 38px}.heading{align-items:flex-start;gap:10px}.heading h1{font-size:28px}.heading p{font-size:11px;max-width:230px;line-height:1.6}.date-pill{font-size:10px;padding:9px}.layout{display:flex;flex-direction:column}.sidebar{min-height:0;width:100%;padding:14px 13px}.section-label{margin-bottom:8px}.date-list{display:flex;overflow:auto;margin-bottom:13px}.date-option{min-width:94px;padding:9px 8px}.league-list{display:flex;overflow:auto}.league-option{width:auto;white-space:nowrap;padding:8px}.league-mark{display:none}.data-note{display:none}.match-panel,.detail{width:100%;min-height:0}.panel-head{padding:14px}.day-tabs{gap:15px;padding:12px 14px 0;overflow:auto}.day-tab{white-space:nowrap}.match-card{padding:15px 13px}.team{font-size:11px;gap:6px}.crest{width:25px;height:25px;font-size:9px}.team.away .crest{order:2}.detail-body{display:block;padding:16px}.footer{display:block;line-height:1.9}.footer span{display:block}}
  

/* Local data edition */
.date-control{display:flex;align-items:center;gap:11px;background:var(--ink);color:var(--paper);padding:8px 12px;font-size:11px;white-space:nowrap}.date-control input{background:transparent;color:var(--lime);border:0;outline:0;font:12px var(--mono);color-scheme:dark;cursor:pointer;max-width:145px}.panel-head>div{display:flex;align-items:center;gap:12px}.panel-subtitle{font:10px var(--mono);color:var(--muted,#858b82)}.refresh-button{border:1px solid #d7d4ca;background:transparent;padding:7px 9px;color:var(--muted,#666d64);font-size:10px}.refresh-button:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}.refresh-button:disabled{opacity:.45;cursor:default}.notice{padding:10px 19px;background:var(--warning-surface,#f9eadf);color:var(--warning-ink,#9b583c);font-size:11px}.notice[hidden]{display:none}.top-right .connected:before{background:var(--lime)}.match-card:focus-visible,.league-option:focus-visible,.date-option:focus-visible,.day-tab:focus-visible,.refresh-button:focus-visible,.inline-retry:focus-visible{outline:2px solid #72a633;outline-offset:2px}.result-line,.unavailable-line{margin-top:15px;border-top:1px solid #ebe7df;padding-top:10px;font-size:11px;color:var(--muted,#858b82)}.result-line b{color:var(--ink);font:13px var(--mono);margin-left:8px}.unavailable-line{color:var(--warning-ink,#a06546)}.status.live{color:var(--muted,#43816b)}.detail-placeholder{color:var(--muted,#858b82);font-size:11px;margin:15px 0}.sample-line{display:flex;justify-content:space-between;color:var(--ink,#565e55);font:11px var(--mono);padding:8px 0}.form-dots i.draw{background:#e8e8e2;color:var(--muted,#646d62)}.inline-retry{background:var(--ink);border:0;color:var(--paper);padding:8px 14px;font-size:11px}.empty strong{display:block;color:var(--ink,#555c53);font-size:13px}.empty p{font-size:11px;line-height:1.7}.fixture-team{overflow-wrap:anywhere}.team{min-width:0}.team span:not(.crest){overflow-wrap:anywhere}
@media(max-width:700px){.date-control{font-size:0;padding:7px}.date-control input{font-size:11px;width:123px}.panel-head{gap:9px}.panel-head>div{display:block}.panel-subtitle{display:block;margin-top:4px}.refresh-button{white-space:nowrap}.notice{padding:10px 14px}.team span:not(.crest){font-size:10px}}
.model-note{margin-top:8px;font:10px var(--mono);color:var(--muted,#747c70)}.model-note.limited{color:var(--warning-ink,#a46c3b)}.model-note.baseline{color:var(--warning-ink,#b05843)}.evidence-note{margin-top:11px;padding:9px 10px;background:var(--warning-surface,#f6f2e7);color:var(--warning-ink,#8d6748);font-size:10px;line-height:1.6}.no-form{font-size:10px;color:var(--muted,#a0a59c)}.panel-subtitle{line-height:1.6}

/* Three separate pages share one navigation. */
.nav a:first-child{color:inherit}
.source-health{border-bottom:1px solid var(--line);padding:11px 19px;background:var(--surface-subtle,#f6f5ed);color:var(--muted,#6d7964);font-size:11px;line-height:1.7}
.source-health[hidden]{display:none}
.source-health summary{cursor:pointer;font-size:11px}
.source-health p{font-size:10px;margin:8px 0 0;overflow-wrap:anywhere}
.forecast-context{margin:12px 0 8px;color:var(--muted,#647456);font-size:10px;line-height:1.6}
.team-evidence{display:grid;gap:4px;margin:10px 0;padding:10px;border:1px solid var(--line);font-size:10px;line-height:1.6}
.team-evidence span,.team-evidence small,.evidence-description{color:var(--muted,#838b7c);font-size:10px;line-height:1.7}
.nav a[aria-current="page"]{color:var(--lime);font-weight:700}
.nav a:focus-visible{outline:2px solid var(--lime);outline-offset:5px}
.standalone-page .backtest-panel,.standalone-page .snapshot-panel{margin-top:0}
.standalone-page .backtest-heading h1{font-size:27px;letter-spacing:-.035em;margin:7px 0 6px}
@media(max-width:700px){
  .topbar{height:auto;min-height:58px;display:grid;grid-template-columns:1fr auto;gap:9px 10px;padding:11px 18px 9px}
  .nav{display:flex;grid-column:1/-1;gap:22px;min-width:0;max-width:100%;overflow-x:auto;white-space:nowrap;padding:3px 0 2px}
  .top-right{justify-self:end}
  .standalone-page .backtest-heading h1{font-size:24px}
}

/* Match library and source-backed analysis share the established paper palette. */
.match-tools{padding:15px 19px 12px;border-bottom:1px solid var(--line);background:var(--surface-subtle,#faf8f1)}
.match-tools label{display:grid;gap:6px;color:var(--muted,#697262);font-size:10px;min-width:0}
.team-search input,.tool-options select{width:100%;min-width:0;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:0;padding:9px 10px;font:11px var(--sans)}
.team-search input::placeholder{color:var(--muted,#969c91)}
.tool-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:11px}
.clear-filters{min-height:36px;padding:8px 10px;background:none;border:1px solid var(--line);font-size:10px;white-space:nowrap}
.clear-filters:hover{background:var(--lime);color:var(--ink)}
.clear-filters:disabled{opacity:.45;cursor:default;background:none}
.filter-summary{font-size:10px;line-height:1.7;color:var(--muted,#828a79);margin:10px 0 0}
.mobile-analysis-jump{display:none}
.detail{position:static;scroll-margin-top:16px;min-width:0}
.sidebar{position:static}
.detail-body{display:block;min-width:0}
.detail-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);gap:3px;margin:0 -2px 13px}
.detail-tabs button{padding:10px 2px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted,#858d7b);font:10px var(--sans);white-space:nowrap}
.detail-tabs button[aria-selected="true"]{border-bottom-color:var(--lime);color:var(--ink);font-weight:700}
.detail-fetch-status{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;margin:12px 0;color:var(--muted,#7c8572);font-size:9px;line-height:1.8}
.detail-fetch-status span{min-width:0;overflow-wrap:anywhere}
.detail-fetch-status button{flex-shrink:0;border:1px solid var(--line);background:none;padding:4px 7px;font:10px var(--sans);color:var(--muted,#5b6850)}
.detail-fetch-status button:disabled{opacity:.5;cursor:wait}
.detail-fetch-status button:hover:enabled{border-color:#8ea86f;background:var(--green-soft,#eef2e6)}
.detail-empty,.detail-caption{font-size:10px;color:var(--muted,#838b7b);line-height:1.8;margin:8px 0}
.detail-error{font-size:10px;color:var(--warning-ink,#a45d40);background:var(--warning-surface,#f9eadf);padding:9px 10px;line-height:1.8;overflow-wrap:anywhere}
.detail-section h3{line-height:1.6;gap:8px}
.detail-section h4,.history-team h4{font-size:11px;margin:14px 0 8px}
.metric-bar .outcome-1{background:#bfc3b8}
.metric-bar .outcome-2{background:var(--red)}
.saved-comparison{margin:18px 0;border:1px solid var(--line);padding:12px;background:var(--surface-subtle,#f8f7ee)}
.saved-comparison h3{font-size:12px;margin:0 0 9px}
.comparison-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e6e4d9;font-size:10px;line-height:1.6}
.comparison-row span{color:var(--muted,#79846e);flex-shrink:0}
.comparison-row strong{text-align:right}
.comparison-correct{color:var(--muted,#4e793b)}
.comparison-incorrect{color:var(--warning-ink,#b45b42)}
.match-statistics{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px;line-height:1.6;margin:10px 0}
.match-statistics th,.match-statistics td{padding:8px 4px;border-bottom:1px solid #e8e5da;overflow-wrap:anywhere;vertical-align:top}
.match-statistics thead th{color:var(--muted,#707b64);font-weight:500;text-align:right}
.match-statistics th:first-child{width:38%;text-align:left}
.match-statistics tbody th{font-weight:400;color:var(--muted,#79826f)}
.match-statistics td{text-align:right;font-family:var(--mono)}
.compact-details{padding:11px 0;border-bottom:1px solid var(--line);font-size:10px;line-height:1.8}
.compact-details summary{cursor:pointer;color:var(--ink,#526348);font-weight:500;overflow-wrap:anywhere}
.lineup-list{list-style:none;padding:0;margin:7px 0 13px}
.lineup-list li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:6px;align-items:start;padding:5px 0;border-bottom:1px solid #eeebe2;font-size:10px}
.lineup-list li span,.lineup-list li small{font-family:var(--mono);color:var(--muted,#8a927f);font-size:9px}
.lineup-list li strong{font-weight:500;overflow-wrap:anywhere}
.history-fixture{padding:10px 0;border-bottom:1px solid #e8e5da}
.history-fixture small,.history-fixture span{display:block;font-size:9px;line-height:1.8;color:var(--muted,#89917f);overflow-wrap:anywhere}
.history-fixture strong{display:block;font-size:10px;line-height:1.8;font-weight:500;overflow-wrap:anywhere}
.history-fixture b{font:10px var(--mono);white-space:nowrap;margin-left:8px;color:var(--ink,#44543a)}
.availability-player{padding:10px 0;border-bottom:1px solid #ece8de;overflow-wrap:anywhere}
.availability-player>strong{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:500}
.availability-player strong small{color:var(--warning-ink,#a36c44);font-size:9px;font-weight:400;text-align:right}
.availability-player p{font-size:10px;line-height:1.7;margin:6px 0}
.availability-player>span{font-size:9px;color:var(--muted,#858e7b);line-height:1.8}
.model-description{font-size:10px;color:var(--muted,#67745c);line-height:1.9;overflow-wrap:anywhere}
.source-fields{margin:10px 0;font-size:10px;line-height:1.8}
.source-fields dt{color:var(--muted,#8a927f);margin-top:10px;font-size:9px}
.source-fields dd{margin:2px 0 0;color:var(--ink,#536248);overflow-wrap:anywhere}
.detail-section>a{font-size:10px;color:var(--muted,#4b7534);text-decoration:underline;text-underline-offset:3px}
.source-warnings{padding-left:16px;color:var(--warning-ink,#94714c);font-size:10px;line-height:1.9;overflow-wrap:anywhere}
.team-search input:focus-visible,.tool-options select:focus-visible,.clear-filters:focus-visible,.detail-tabs button:focus-visible,.detail-fetch-status button:focus-visible,.compact-details summary:focus-visible,.mobile-analysis-jump a:focus-visible{outline:2px solid #72a633;outline-offset:2px}
@media(max-width:1120px){
  .mobile-analysis-jump{display:block;padding:0 19px 15px;background:var(--surface-subtle,#faf8f0);border-bottom:1px solid var(--line)}
  .mobile-analysis-jump a{display:block;padding:10px 12px;background:var(--surface-subtle,#eaf1dd);color:var(--ink,#405c2d);font-size:11px;text-align:center}
  .detail-body{display:block}
}
@media(max-width:700px){
  .match-tools{padding:14px}
  .team-search input,.tool-options select{font-size:12px;min-height:40px}
  .tool-options{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .clear-filters{grid-column:1/-1;min-height:36px}
  .detail-tabs button{font-size:12px;padding:12px 2px}
  .detail-fetch-status,.detail-caption,.detail-empty{font-size:11px}
  .mobile-analysis-jump{padding:0 13px 13px}
  .match-statistics{font-size:11px}
  .availability-player>span,.history-fixture small,.history-fixture span{font-size:10px}
}
