:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#172018;background:#f5f7f1}body{margin:0}button{font:inherit}.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0}.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:24px;align-items:stretch;margin-bottom:24px}.eyebrow{margin:0 0 8px;color:#4f6b53;font-size:13px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{max-width:720px;margin-bottom:10px;font-size:42px;line-height:1.12}.hero-copy{margin-bottom:4px;color:#526158;font-weight:700}.current-date{margin-bottom:16px;color:#172018;font-size:18px;font-weight:800}.date-tabs{display:flex;gap:8px;max-width:min(720px,100%);overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}.date-tab{position:relative;flex:0 0 auto;min-width:94px;border:1px solid #d9e1d5;border-radius:8px;padding:12px;color:#526158;background:#fff;cursor:pointer;text-align:center}.date-tab span{display:block;font-weight:800}.date-tab.active{border-color:#236c3a;color:#fff;background:#236c3a}.today-dot{position:absolute;top:5px;left:50%;width:6px;height:6px;border-radius:999px;background:#d93025;transform:translate(-50%)}.summary-card,.panel{border:1px solid #d9e1d5;border-radius:8px;background:#fff;box-shadow:0 12px 30px #2c402f14}.summary-card{display:grid;gap:8px;padding:20px}.summary-card span,.parlay-card span,.recommendation-card span{color:#637061;font-size:13px}.summary-card strong{font-size:22px}.panel{padding:20px}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.section-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.primary-button,.secondary-button{border:0;border-radius:8px;cursor:pointer;font-weight:700}.primary-button{padding:12px 18px;color:#fff;background:#236c3a}.secondary-button{padding:12px 18px;color:#236c3a;background:#e8f3e8}button:disabled{cursor:not-allowed;opacity:.68}.match-list{display:grid;gap:10px}.match-card{display:grid;gap:12px;border:1px solid #dde5d9;border-radius:8px;background:#fbfcfa;padding:14px}.match-time{color:#172018;font-size:22px;font-weight:800;text-align:center}.match-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center}.team-side{display:grid;gap:6px;justify-items:center;min-width:0}.team-flag{font-size:32px;line-height:1}.team-name{overflow-wrap:anywhere;text-align:center}.versus{color:#738074;font-size:13px;font-weight:800}.match-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 12px;color:#607063;font-size:13px}.match-meta em{color:#236c3a;font-weight:800;font-style:normal}.match-result{margin:0;color:#172018;font-size:15px;font-weight:800;text-align:center}.odds-pills{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #e3eadf;padding-top:10px}.odds-pills span{border:1px solid #d9e5d5;border-radius:8px;padding:7px 10px;color:#236c3a;background:#f3f8f1;font-size:13px;font-weight:700}.odds-fetch-status{margin:8px 0 14px;border:1px solid #d9e1d5;border-radius:8px;padding:10px 12px;color:#526158;background:#fbfcfa;font-weight:700}.odds-fetch-status.success{border-color:#b9d6bc;color:#236c3a;background:#f0f8ef}.odds-fetch-status.error{border-color:#e2c782;color:#7a5a1f;background:#fff8e5}.alert-panel{display:grid;gap:4px;margin-bottom:16px;border:1px solid #e2c782;border-radius:8px;padding:14px;color:#5c4416;background:#fff8e5}.recommendation-grid,.parlay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.compact-panel{display:grid;gap:12px}.recommendation-card,.parlay-card{border:1px solid #e1e8dd;border-radius:8px;padding:14px;background:#fbfcfa}.disclaimer{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:20px;padding:14px 0;color:#526158}@media(max-width:760px){.app-shell{width:min(100% - 24px,560px);padding:20px 0}.hero,.recommendation-grid,.parlay-grid{grid-template-columns:1fr}h1{font-size:30px}.section-heading{align-items:stretch;flex-direction:column}.section-actions{justify-content:stretch}.section-actions button{flex:1}.match-teams{grid-template-columns:1fr}.versus{text-align:center}}.empty-state{margin:8px 0 0;color:#7a5a1f;font-weight:700}.parlay-card small{display:block;color:#5c6b60;line-height:1.5}@media(max-width:520px){.panel,.summary-card{padding:16px}.recommendation-card,.parlay-card{padding:12px}}
