
:root{--bg:#f5f5f5;--panel:#ffffff;--card:#ffffff;--line:#e0e0e0;--text:#1a1a2e;--muted:#666;--blue:#c41e3a;--blue2:#1a3a6b;--pill:#f0f0f0;--gold:#1a3a6b;--green:#27ae60;--red:#e74c3c}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Archivo',system-ui,-apple-system,sans-serif;background:#f5f5f5;color:var(--text);min-height:100vh;line-height:1.5;max-width:100%}
body::before{content:'';position:fixed;inset:0;background:url('https://images.unsplash.com/photo-1553778263-73a83bab9b0c?w=1800&q=80') center 25%/cover no-repeat;opacity:.05;z-index:0;pointer-events:none}
.wrap{max-width:1100px;margin:auto;padding:24px 16px 80px;position:relative;z-index:1}

/* ── Theme toggle ── */
.theme-toggle{position:fixed;top:14px;right:14px;z-index:9999;transform:translateZ(0);-webkit-transform:translateZ(0);height:36px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#ffffff;color:var(--text);font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:all .15s;display:flex;align-items:center;gap:4px}
.theme-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.18)}
[data-theme="dark"] .theme-toggle{background:#1a2236;color:#e8ecf5;border-color:#2a3650}


/* ── Controls ── */
.topbtns{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px;align-items:center}
@media(max-width:768px){
  .topbtns{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#1a1a2e;border-radius:14px;padding:6px;border:1px solid rgba(255,255,255,0.1);margin:0 0 12px}
  .topbtns #btn-today,.topbtns #btn-tomorrow{padding:6px 4px}
  .topbtns .tz-wrapper{grid-column:1/-1;display:block}
  .topbtns .btn{font-size:11px;padding:8px 6px;background:none;border:none;color:rgba(255,255,255,0.65);font-weight:600;text-align:center;border-radius:10px;width:100%;box-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbtns .btn.primary{background:linear-gradient(135deg,#c41e3a,#a01830);color:#fff;transform:none;box-shadow:0 2px 8px rgba(196,30,58,.55)}
  .topbtns .btn:hover{background:rgba(255,255,255,0.1);color:#fff;transform:none;box-shadow:none}
  .topbtns .tz-select{font-size:11px;padding:8px 6px;padding-right:20px;background:none;border:none;color:rgba(255,255,255,0.65);font-weight:600;width:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='rgba(255,255,255,0.5)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:10px 7px}
}
.btn{border:1px solid var(--line);background:#ffffff;color:var(--text);border-radius:12px;padding:10px 16px;font-family:'Archivo',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}
.btn:hover{background:#f8f8f8;border-color:#c41e3a}
.btn.primary{background:linear-gradient(135deg,var(--blue),#a01830);color:#fff;border:none;box-shadow:0 2px 8px rgba(196,30,58,.25)}
.btn.primary:hover{box-shadow:0 4px 14px rgba(196,30,58,.35);transform:translateY(-1px)}
.tz-select{border:1px solid var(--line);background:#ffffff;color:var(--text);border-radius:12px;padding:9px 14px;font-family:'Archivo',sans-serif;font-size:14px;font-weight:500;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231a3a6b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 12px) center;padding-right:34px;transition:border-color .15s}
.tz-select:hover{border-color:#c41e3a}
.tz-select option{background:#ffffff;color:var(--text)}
.search-wrap{display:flex;margin:0 0 12px}
.search{width:100%;padding:14px 18px;border-radius:14px 0 0 14px;border:1px solid var(--line);border-right:none;background:#ffffff;color:var(--text);font-family:'Archivo',sans-serif;font-size:16px;margin:0;outline:none;transition:border-color .2s;flex:1;min-width:0}
.search:focus{border-color:var(--blue)}
.search::placeholder{color:var(--muted)}
.search-btn{border:1px solid var(--line);border-left:none;background:#ffffff;color:var(--text);border-radius:0 14px 14px 0;padding:0 18px;font-size:16px;cursor:pointer;transition:border-color .2s,color .2s}
.search-btn:hover{border-color:var(--blue);color:var(--blue)}

/* ── Tabs ── */
.tabs{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin:0 0 18px;background:#ffffff;border-bottom:2px solid var(--line);padding:8px 8px 0}
@media(max-width:768px){
  .tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px;padding:6px 8px 0;border-bottom:2px solid var(--line)}
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:0 0 auto;white-space:nowrap;padding:9px 10px;font-size:12px}
}
.tab{border:1px solid var(--line);border-bottom:none;border-right:1px solid rgba(0,0,0,.08);background:#f8f8f8;color:#666;opacity:.75;border-radius:8px 8px 0 0;padding:11px 4px;font-family:'Archivo',sans-serif;font-size:13px;font-weight:700;cursor:pointer;text-align:center;transition:all .15s}
.tab:last-child{border-right:1px solid var(--line)}
.tab:hover:not(.active){border-color:var(--line);background:#f0f0f0;color:var(--text);opacity:1}
.tab.active{background:#ffffff;background-color:rgba(196,30,58,.05);color:#c41e3a;border:1px solid var(--line);border-bottom:3px solid #c41e3a;font-weight:700;font-size:14px;opacity:1}
.tab:nth-child(6).active{background:#ffffff;color:#c41e3a;font-weight:800;border-bottom:4px solid #c41e3a}

/* ── Layout ── */
.layout{display:grid;grid-template-columns:300px 1fr;gap:14px;border-top:1px solid var(--line);padding-top:14px}
.layout>section.panel{align-self:start}
.panel{background:#ffffff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 1px 4px rgba(0,0,0,.1),0 6px 18px rgba(0,0,0,.04)}
.panel h2{font-family:'Archivo Expanded',sans-serif;font-size:20px;font-weight:600;letter-spacing:.02em;margin-bottom:14px;color:var(--text)}
.list{max-height:66vh;overflow:auto;padding-right:4px}
.list::-webkit-scrollbar{width:4px}.list::-webkit-scrollbar-track{background:transparent}.list::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px}
.item{padding:10px 14px;border:1px solid var(--line);background:#fafafa;border-radius:12px;margin-bottom:7px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:all .15s;font-size:14px;font-weight:500}
.item:hover{border-color:var(--blue);background:#ffffff}
.item.active{background:#fdecee;border-color:var(--blue)}
.item-name{flex:1}
.heart{background:none;border:none;font-size:16px;cursor:pointer;padding:2px 4px;opacity:.4;transition:opacity .1s}
.heart.on{opacity:1}
.chevron{color:var(--muted);font-size:11px;margin-left:4px;transition:transform .15s;display:inline-block}

/* ── Match Cards ── */
.cards{display:grid;gap:10px}
.match{background:#ffffff;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:16px;padding:16px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.08);transition:border-color .2s,box-shadow .2s}
.match:hover{border-color:#c41e3a;box-shadow:0 4px 14px rgba(196,30,58,.1)}
.match.fav{border-color:var(--gold);box-shadow:0 4px 14px rgba(26,58,107,.12)}
.teams{font-family:'Archivo Expanded',sans-serif;font-size:20px;font-weight:600;margin-bottom:8px;letter-spacing:.02em}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.pill{background:#f0f0f0;border:1px solid #ddd;border-radius:999px;padding:5px 10px;color:#444;font-weight:600;font-size:13px}
.pill.sa{background:#e8f8ef;border-color:#27ae60;color:#1e7e44}
.stadium-line{font-size:12px;color:#888;margin-top:4px;font-weight:400}
.stad-loc{color:#999}
.datebar{display:flex;gap:7px;overflow:auto;padding:4px 0 12px}
.datebtn{min-width:78px;border-radius:10px;padding:9px 6px;font-size:13px}
.dateinput{width:100%;padding:12px;border-radius:12px;background:#ffffff;color:var(--text);border:1px solid var(--line);font-size:15px;font-family:'Archivo',sans-serif;outline:none}
.note{font-size:13px;color:#888;margin-top:14px}
/* ── Knockout bracket tree ── */
.bracket-wrap{overflow-x:auto;padding-bottom:14px}
.bracket-tree{display:flex;gap:0;min-width:1040px;padding:6px 30px 6px 6px;align-items:stretch}
.bracket-round{display:flex;flex-direction:column;flex:0 0 200px;margin-right:34px}
.bracket-round h3{font-family:'Archivo Expanded',sans-serif;color:var(--blue2);font-size:14px;font-weight:600;text-align:center;height:24px;margin-bottom:8px;flex:0 0 24px}
.bracket-matches{flex:1;display:flex;flex-direction:column}
.bm-wrap{flex:1;min-height:110px;display:flex;align-items:center;position:relative;padding:4px 22px}
/* V147: bracket connectors drawn as an SVG overlay from measured card positions */
.bracket-tree{position:relative}
.bracket-svg{position:absolute;top:0;left:0;pointer-events:none;overflow:visible;z-index:0}
.bracket-svg path{fill:none;stroke:rgba(212,175,55,0.65);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
[data-theme="light"] .bracket-svg path{stroke:rgba(26,58,107,0.6)}
.bracket-round .bm-wrap{z-index:1}
.bm{background:#ffffff;border:1px solid var(--line);border-radius:10px;padding:7px 9px;font-size:12px;width:100%;box-shadow:0 1px 4px rgba(0,0,0,.06);transition:border-color .15s}
.bm:hover{border-color:#c41e3a}
.bm-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 0;font-weight:600}
.bm-row.tbd{color:#999;font-weight:500}
.bm-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bm-score{font-family:'Archivo Expanded',sans-serif;color:var(--gold);font-weight:700;min-width:18px;text-align:right}
.bm-meta{font-size:10px;color:var(--muted);text-align:center;margin-top:4px;border-top:1px solid var(--line);padding-top:3px}

/* ── Top Scorers ── */
.table-scroll{overflow-x:auto}
.scorers-table td{color:var(--muted)}
.scorers-table th,.scorers-table td{text-align:left}
.scorers-table th:first-child,.scorers-table td:first-child,.scorers-table th:nth-child(2),.scorers-table td:nth-child(2){text-align:center}
.scorers-table .pos{font-family:'Archivo Expanded',sans-serif;color:var(--blue);font-weight:700;text-align:center}
.scorers-table img{border-radius:3px;background:#f0f0f0}
.scorers-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.scorers-title{font-family:'Archivo Expanded',sans-serif;font-size:26px;font-weight:700;letter-spacing:.02em;border-bottom:3px solid var(--blue);padding-bottom:6px;display:inline-block}
.scorers-sub{color:var(--muted);font-size:13px;margin:2px 0 0}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(196,30,58,.15);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.scorers-placeholder{background:#fafafa;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 16px;font-size:13px;color:var(--muted)}
.source{font-size:12px;color:#888;margin-top:14px}
.source a{color:#c41e3a}
.myteams-hint{color:var(--muted);font-size:13px;margin:8px 0}
.empty{color:var(--muted);padding:20px;text-align:center;font-size:14px}
.time-label{font-size:11px;opacity:.6;margin-left:3px}

/* ── Country blurbs ── */
.country-blurb{display:none;padding:8px 12px 10px;background:#fafafa;border-top:1px solid var(--line);font-size:13px;color:var(--muted);width:100%;animation:blurbIn .18s}
.country-blurb.open{display:block}
.blurb-region{color:var(--blue2);font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px;font-weight:700}
.blurb-best{color:var(--gold);font-size:12px;margin-top:5px;font-weight:500}
.country-photo{width:100%;height:100px;object-fit:cover;border-radius:8px;margin-bottom:8px;opacity:0.85;display:block}
.item.expandable{flex-wrap:wrap;cursor:default}
.item-row{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer}
@keyframes blurbIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}

/* ── Standings / Results tab ── */
.standings-table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0 18px}
.standings-table th{background:var(--blue2);padding:8px 6px;text-align:center;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);font-weight:600}
.standings-table th:first-child{text-align:left;padding-left:10px}
.standings-table td{padding:7px 6px;text-align:center;border-bottom:1px solid #eee;font-size:13px;font-weight:500}
.standings-table td:first-child{text-align:left;padding-left:10px}
.standings-table tr.qualify td{background:rgba(39,174,96,.08)}
.standings-table tr.possible td{background:rgba(224,160,32,.07)}
.standings-table tr.eliminated td{background:rgba(196,30,58,.06)}
/* V112+: qualification badges */
.q-tag{display:inline-block;font-size:8px;border-radius:3px;padding:1px 4px;font-weight:700;letter-spacing:.07em;margin-left:5px;vertical-align:middle;color:#fff}
.q-q{background:#27ae60}
.q-3{background:#e0a020}
.q-e{background:rgba(196,30,58,.8)}
.standings-table tr:hover td{background:#f5f5f5}
.standings-table .pts{font-family:'Archivo Expanded',sans-serif;font-size:15px;color:var(--gold);font-weight:700}
.standings-legend{display:flex;gap:14px;margin:4px 0 14px;font-size:12px;color:var(--muted)}
.standings-legend span{display:flex;align-items:center;gap:5px}
.standings-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}
.leg-q{background:rgba(39,174,96,.4)}
.leg-p{background:rgba(196,30,58,.3)}
.group-card{background:#ffffff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:0 2px 10px rgba(0,0,0,.08);margin-bottom:14px}
.section-divider{border:none;border-top:1px solid var(--line);margin:0 0 14px}
.group-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.group-tab{padding:6px 12px;border-radius:8px;border:1px solid #ddd;background:#ffffff;color:#555;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}
.group-tab.active{background:#c41e3a;color:#fff;border-color:#c41e3a}
.res-match{background:#fafafa;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:8px;font-size:14px}
.res-score{font-family:'Archivo Expanded',sans-serif;font-size:18px;color:var(--gold);margin:0 10px;cursor:pointer;background:#f0f0f0;border:1px solid #ddd;border-radius:8px;padding:3px 10px;transition:background .15s}
.res-score:hover,.res-score.enter{background:#fdecee;border-color:var(--blue);color:var(--blue)}
.res-teams{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;margin-bottom:6px;font-family:'Archivo Expanded',sans-serif;font-size:17px}
.res-meta{text-align:center;font-size:12px;color:var(--muted)}

/* ── Feedback ── */
.feedback-fab{position:fixed;bottom:22px;right:22px;z-index:1000;border:none;background:linear-gradient(135deg,#c41e3a,#a01830);color:#fff;border-radius:50px;padding:12px 20px;font-family:'Archivo',sans-serif;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px rgba(196,30,58,.35);transition:all .2s}
.feedback-fab:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(196,30,58,.45)}
.feedback-fab.fab-hidden{transform:translateY(140px);opacity:0;pointer-events:none}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:2000;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.modal-overlay.open{display:flex}
.modal{background:#ffffff;border:1px solid var(--line);border-radius:20px;padding:28px;max-width:500px;width:100%;box-shadow:0 10px 40px rgba(0,0,0,.2)}
.modal h3{font-family:'Archivo Expanded',sans-serif;font-size:22px;font-weight:600;margin-bottom:8px;color:var(--text)}
.modal p{color:var(--muted);font-size:14px;margin-bottom:16px}
.feedback-textarea{width:100%;padding:12px;border-radius:12px;border:1px solid #ddd;background:#ffffff;color:var(--text);font-family:'Archivo',sans-serif;font-size:14px;resize:vertical;min-height:100px;outline:none;margin-bottom:16px;transition:border-color .2s}
.feedback-textarea:focus{border-color:var(--blue)}
.modal-btns{display:flex;gap:10px;justify-content:flex-end}

/* ── Responsive ── */
@media(max-width:800px){
  .tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;grid-template-columns:none}
  .tabs::-webkit-scrollbar{height:4px}
  .tab{flex:0 0 auto;white-space:nowrap;font-size:12px;padding:10px 14px}
  .tab.active{font-size:13px;scroll-snap-align:start}
  .tabs{scroll-snap-type:x proximity}
  .layout{grid-template-columns:1fr}
  .list{max-height:280px}
  .wrap{padding:16px 12px 70px}
  .teams{font-size:17px}
  .feedback-fab{bottom:82px;right:16px;padding:10px 16px;font-size:13px}
  .cal-panel{padding:14px 14px}
  .group-tab{font-size:12px;padding:5px 9px}
  #apiBanner,#apiError{font-size:12px}
  #apiBanner span,#apiError span{font-size:12px}
}
.live-score{display:flex;align-items:center;gap:8px;margin:6px 0}
.live-badge{background:#c0392b;color:#fff;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700;animation:livepulse 1.2s ease-in-out infinite}
.fin-badge{background:#f0f0f0;color:#888;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:600}
.live-result{font-family:'Archivo Expanded',sans-serif;font-size:20px;font-weight:700;color:var(--gold)}
.match.live-now{border-color:#e74c3c!important;box-shadow:0 4px 16px rgba(231,76,60,.18)!important}
.live-auto{cursor:default!important;background:rgba(196,30,58,.06)!important;border-color:var(--blue)!important;color:var(--blue)!important}
@keyframes livepulse{0%,100%{opacity:1}50%{opacity:.55}}

/* ── Calendar export ── */
.match{position:relative}
.cal-wrap{position:absolute;top:12px;right:12px;z-index:5}
.cal-btn{border:1px solid #ddd;background:#ffffff;color:var(--text);border-radius:8px;width:30px;height:30px;font-size:14px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}
.cal-btn:hover{background:#f5f5f5;border-color:var(--blue)}
.cal-menu{display:none;position:absolute;top:36px;right:0;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px;min-width:170px;box-shadow:0 6px 20px rgba(0,0,0,.15);z-index:10}
.cal-menu.open{display:flex;flex-direction:column;gap:3px}
.cal-menu button{background:none;border:none;color:var(--text);text-align:left;padding:8px 10px;border-radius:7px;font-family:'Archivo',sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}
.cal-menu button:hover{background:rgba(196,30,58,.08);color:var(--blue)}
.team-export-select{border:1px solid var(--line);background:#ffffff;color:var(--text);border-radius:12px;padding:9px 14px;font-family:'Archivo',sans-serif;font-size:14px;font-weight:500;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231a3a6b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 12px) center;padding-right:34px;transition:border-color .15s}
.team-export-select:hover{border-color:#c41e3a}
.team-export-select option{background:#ffffff;color:var(--text)}

/* ── Calendar panel (V13) ── */
.cal-panel{background:#ffffff;border:2px dashed var(--blue);border-radius:20px;padding:18px 20px;margin:0 0 18px;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.cal-panel h2{font-family:'Archivo Expanded',sans-serif;font-size:21px;font-weight:600;color:var(--blue2);margin-bottom:12px;letter-spacing:.02em}
.cal-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 0;border-top:1px solid #eee}
.cal-row:first-of-type{border-top:none;padding-top:0}
.cal-row-label{font-weight:700;font-size:14px;color:var(--blue);min-width:180px;flex-shrink:0}
.cal-row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cal-action{font-size:13px;padding:8px 12px}
.cal-action:disabled{opacity:.4;cursor:not-allowed}
.cal-note{font-size:12px;color:var(--muted);flex-basis:100%}
.cal-row-explain .cal-note{flex-basis:auto;flex:1}
@media(max-width:700px){.cal-row{flex-direction:column;align-items:flex-start}.cal-row-label{min-width:auto}}

/* ── Hero card ── */
#hero-card{margin:0 0 14px}
.hero-card{border-radius:20px;padding:18px 22px;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.hero-live{background:linear-gradient(135deg,#5a1020 0%,#1c0b12 100%);border:1px solid rgba(196,30,58,.3);color:#fff;position:relative;overflow:hidden}
.hero-countdown{background:linear-gradient(135deg,#0f1b35 0%,#1a2a5e 60%,#0f2a4a 100%);border:1px solid rgba(255,215,0,0.3);border-left:5px solid #ffd700;color:#e8ecf5;box-shadow:0 6px 28px rgba(0,0,0,0.3),0 0 40px rgba(255,215,0,0.06)}
.hero-finished{background:linear-gradient(135deg,#0f1b35 0%,#1a2a5e 60%,#0f2a4a 100%);border:1px solid rgba(255,215,0,0.2);color:#e8ecf5;position:relative;overflow:hidden}
.hero-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;opacity:.75;text-align:center;font-weight:700;margin-bottom:10px}.hero-finished .hero-label{color:#ffd700;opacity:1;letter-spacing:.15em}
.hero-countdown .hero-label{color:#ffd700;opacity:1;letter-spacing:.15em}
.hero-countdown .hero-name{color:#e8ecf5;font-size:1.15em}
.hero-countdown .hero-vs{color:#ffd700;font-size:1.1rem;font-weight:700}
.hero-countdown .hero-meta{color:#8a95b4;font-size:12px}
.hero-teams{display:flex;align-items:center;justify-content:space-between;gap:16px}
.hero-team{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.hero-team-right{flex-direction:row-reverse;text-align:right}
img.twem{height:1.2em;width:1.2em;vertical-align:-0.15em;display:inline-block}
.hero-flag{font-size:1.8em;flex-shrink:0}
.hero-name{font-size:1.1em;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-score{font-family:'Archivo Expanded',sans-serif;font-size:2.2em;font-weight:700;flex-shrink:0}
.hero-center{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;padding:0 10px}
.hero-live-badge{background:#fff;color:#c0392b;border-radius:999px;padding:4px 14px;font-size:13px;font-weight:700;letter-spacing:.04em;animation:livepulse 1.5s ease-in-out infinite}
/* V112: finished match kept on hero — static FULL TIME badge, no pulse */
.hero-ft-badge{background:rgba(255,215,0,.16);color:#ffd700;border:1px solid rgba(255,215,0,.4);border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700;letter-spacing:.08em}
.hero-minute{font-family:'Archivo Expanded',sans-serif;font-size:1.3em;font-weight:700}
.hero-vs{font-size:1rem;opacity:1;font-weight:600;color:var(--blue);flex-shrink:0}
.hero-meta{margin-top:12px;font-size:13px;opacity:.85;text-align:center}
/* V109: pre-API "loading score" live hero state */
.hero-score-loading{opacity:.45;animation:livepulse 1.4s ease-in-out infinite}
.hero-loading-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#fff;flex-shrink:0;animation:livepulse 1.2s ease-in-out infinite}

/* ═══ V111: tappable match cards + match-detail drawer ═══ */
.md-tappable{cursor:pointer;transition:transform .12s,box-shadow .12s}
.md-tappable:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(0,0,0,.35)}
.mc-scorers{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);margin-top:4px}
.mc-cards{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-top:3px;line-height:1.2}
.mc-half{font-size:11px;color:var(--muted);margin-top:3px;text-align:center;letter-spacing:.02em}
.mc-etpen{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.08em;color:#ffb84d;background:rgba(255,165,0,.14);border:1px solid rgba(255,165,0,.35);border-radius:6px;padding:1px 7px;margin:4px auto 0}
/* Drawer overlay */
.md-overlay{position:fixed;inset:0;z-index:1000;background:rgba(4,8,22,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:none;align-items:flex-end;justify-content:center}
.md-overlay.open{display:flex;animation:mdFade .18s ease}
@keyframes mdFade{from{opacity:0}to{opacity:1}}
.md-sheet{position:relative;width:100%;max-width:640px;max-height:92vh;overflow-y:auto;background:var(--card,#0f1830);border:1px solid rgba(255,255,255,.1);border-radius:18px 18px 0 0;box-shadow:0 -8px 40px rgba(0,0,0,.5)}
@media(min-width:680px){.md-overlay{align-items:center}.md-sheet{border-radius:18px}}
.md-close{position:absolute;top:10px;left:12px;z-index:2;background:rgba(255,255,255,.08);border:none;color:#fff;width:30px;height:30px;border-radius:50%;font-size:15px;cursor:pointer}
.md-header{padding:18px 44px 12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(26,58,107,.4),rgba(196,30,58,.25));border-radius:18px 18px 0 0}
.md-team{display:flex;align-items:center;gap:8px;min-width:0}
.md-team-r{justify-content:flex-end}
.md-flag img,.md-flag{width:26px;height:20px;border-radius:3px;flex-shrink:0}
.md-tname{font-family:'Archivo Expanded',sans-serif;font-weight:600;color:#fff;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md-mid{text-align:center}
.md-score{font-family:'Archivo Expanded',sans-serif;font-weight:700;font-size:30px;color:#fff;line-height:1}
.md-kickoff{font-size:12px;color:#c9d2e8;font-weight:600}
.md-livebadge{display:inline-block;margin-top:3px;font-size:10px;font-weight:700;color:#ff6b6b;letter-spacing:.06em;animation:livepulse 1.3s ease-in-out infinite}
.md-ftbadge{display:inline-block;margin-top:3px;font-size:10px;font-weight:700;color:#9fb0d4;background:rgba(255,255,255,.08);padding:1px 7px;border-radius:5px}
.md-pen{font-size:11px;color:#ffd27a}
.md-meta{grid-column:1/-1;text-align:center;font-size:11px;color:#9fb0d4;margin-top:4px}
.md-subtabs{display:flex;gap:4px;padding:10px 12px;overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.08);scrollbar-width:none}
.md-subtabs::-webkit-scrollbar{display:none}
.md-subtab{flex-shrink:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#c9d2e8;font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer}
.md-subtab.active{background:#c41e3a;border-color:#c41e3a;color:#fff}
.md-body{padding:14px 16px 22px;min-height:120px}
.md-loading,.md-empty{text-align:center;color:var(--muted);padding:30px 14px;font-size:13px}
.md-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:6px}
/* Timeline */
.md-timeline{display:flex;flex-direction:column;gap:2px}
.md-ev{display:grid;grid-template-columns:42px 24px 1fr auto;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px}
.md-ev-min{font-family:'Archivo Expanded',sans-serif;color:#9fb0d4;font-size:12px}
.md-ev-icon{text-align:center}
.md-ev-txt{color:#e8eaf0}
.md-ev-team{font-size:10px;color:#7a85a4;text-transform:uppercase;letter-spacing:.04em}
.md-ev-a{background:rgba(255,255,255,.02)}
.md-assist{color:#8a95b4;font-size:11px}
.md-og{color:#ff8c5c;font-weight:700;font-size:10px}
.md-evdetail{color:#8a95b4;font-size:11px}
/* Stats */
.md-stats{display:flex;flex-direction:column;gap:12px}
.md-stat-vals{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:#c9d2e8;margin-bottom:4px}
.md-stat-vals b{color:#fff;font-family:'Archivo Expanded',sans-serif}
.md-stat-vals span{font-size:11px;color:#8a95b4}
.md-stat-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:rgba(255,255,255,.06)}
.md-stat-h{background:#3b82f6}.md-stat-a{background:#c41e3a}
/* Lineups + ratings */
.md-lineups,.md-ratings{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.md-lineups,.md-ratings{grid-template-columns:1fr}}
.md-lu-team{font-family:'Archivo Expanded',sans-serif;font-weight:600;color:#fff;font-size:13px;margin-bottom:6px}
.md-lu-form{color:#ffd27a;font-size:11px}
.md-lu-coach{font-size:11px;color:#9fb0d4;margin-bottom:6px}
.md-lu-p{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#e8eaf0;padding:3px 0}
.md-lu-num{display:inline-block;min-width:20px;text-align:center;font-family:'Archivo Expanded',sans-serif;color:#9fb0d4;font-size:11px}
.md-lu-pos{margin-left:auto;font-size:10px;color:#7a85a4}
.md-lu-bench-label{margin-top:8px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#7a85a4}
.md-lu-bench{font-size:11.5px;color:#9fb0d4;line-height:1.6}
.md-rate{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:12.5px;color:#e8eaf0}
.md-rate-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.md-rate-line{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md-rate-val{flex-shrink:0;color:#fff;font-family:'Archivo Expanded',sans-serif;font-weight:700;font-size:12px;padding:1px 7px;border-radius:5px}
.form-pill{display:inline-block;width:16px;height:16px;line-height:16px;border-radius:4px;font-size:10px;font-weight:700;color:#fff;margin:0 1px;text-align:center;font-family:'JetBrains Mono',monospace}
.form-pill.win{background:#27ae60}.form-pill.draw{background:#a8902a}.form-pill.loss{background:#c0392b}
.md-top{font-size:12px;color:#c9d2e8;margin:4px 0 8px;padding:6px 8px;background:rgba(255,215,0,.08);border-radius:8px}
.md-top-label{color:#ffd27a;font-weight:600}
/* H2H */
.md-h2h-sum{font-size:13px;color:#e8eaf0;margin-bottom:10px;text-align:center}
.md-h2h-row{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12.5px}
.md-h2h-date{color:#7a85a4;font-size:11px;flex-shrink:0}
.md-h2h-teams{color:#e8eaf0}.md-h2h-teams b{color:#fff}
.md-h2h-comp{color:#7a85a4;font-size:10px;text-align:right}

/* V112+: team & player profiles (reuse .md-overlay/.md-sheet shell) */
.tp-open-btn{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;padding:9px 16px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(135deg,var(--blue),#a01830);color:#fff;font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(196,30,58,.25)}
.tp-open-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(196,30,58,.35)}
.prof-title{font-family:'Archivo Expanded',sans-serif;font-weight:700;font-size:19px;color:#fff;grid-column:1/-1;text-align:center}
.prof-coach{font-size:13px;color:#c9d2e8;margin-bottom:12px;padding:8px 12px;background:rgba(255,255,255,.04);border-radius:8px}
.prof-coach b{color:#fff}
.prof-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.prof-stat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px 10px;text-align:center}
.prof-stat span{display:block;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#8a95b4;margin-bottom:3px}
.prof-stat b{font-family:'Archivo Expanded',sans-serif;font-size:16px;color:#fff}
.prof-pos-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ffd27a;margin:12px 0 6px;font-weight:700}
.prof-squad{display:grid;grid-template-columns:1fr 1fr;gap:6px}
@media(max-width:520px){.prof-squad{grid-template-columns:1fr}}
.prof-player{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#e8eaf0;font-size:13px;cursor:pointer;text-align:left;width:100%}
.prof-player:hover{border-color:var(--blue);background:rgba(196,30,58,.08)}
.prof-num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;font-family:'Archivo Expanded',sans-serif;color:#9fb0d4;font-size:12px}
.prof-pname{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prof-age{font-size:11px;color:#7a85a4}
.prof-bio{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.prof-photo{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:top center;border:2px solid rgba(255,255,255,.15);flex-shrink:0;background:#0c1424}
.prof-bio-facts{flex:1;min-width:0}
.prof-bio-facts div{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12.5px}
.prof-bio-facts span{color:#8a95b4}.prof-bio-facts b{color:#e8eaf0;text-align:right}
.hero-teams-countdown{justify-content:center;gap:14px}
.hero-countdown-timer{font-family:'Archivo Expanded',sans-serif;font-size:clamp(30px,5.5vw,50px);font-weight:700;text-align:center;margin:10px 0 4px;letter-spacing:.06em;color:#ffd700;text-shadow:0 0 18px rgba(255,215,0,0.45)}
@media(max-width:700px){
  .hero-teams{flex-direction:column;gap:10px}
  .hero-team-right{flex-direction:row;text-align:left}
  .hero-card{padding:16px}
}

/* ── Dark theme ── */
[data-theme="dark"]{--bg:#0f1b35;--panel:#162040;--card:#162040;--card-bg:#162040;--line:#2a3650;--text:#e8eaf0;--muted:#9aa5bf;--blue:#ff5470;--blue2:#7eb6ff;--pill:#232c42;--gold:#7eb6ff;--green:#2ecc71;--red:#ff6b6b}
body[data-theme="dark"]{background-color:var(--bg)}
body[data-theme="dark"]::before{opacity:.08}
[data-theme="dark"] .btn{background:var(--panel);color:var(--text);border-color:var(--line)}
[data-theme="dark"] .btn:hover{background:#232c42;border-color:var(--blue)}
[data-theme="dark"] .btn.primary{background:linear-gradient(135deg,#c41e3a,#a01830)!important;color:#fff!important;border:none!important;box-shadow:0 2px 8px rgba(196,30,58,.35)!important}
[data-theme="dark"] .btn.primary:hover{box-shadow:0 4px 14px rgba(196,30,58,.45)!important;transform:translateY(-1px)}
[data-theme="dark"] .tz-select,[data-theme="dark"] .team-export-select{background-color:var(--panel);color:var(--text);border-color:var(--line);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237eb6ff' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")}
[data-theme="dark"] .tz-select option,[data-theme="dark"] .team-export-select option{background:var(--panel);color:var(--text)}
[data-theme="dark"] .search{background:var(--panel);color:var(--text);border-color:var(--line)}
[data-theme="dark"] .search-btn{background:var(--panel);color:var(--text);border-color:var(--line)}
[data-theme="dark"] .tabs{background:var(--panel);border-bottom-color:var(--line)}
[data-theme="dark"] .tab{background:#161d2e;color:#9aa5bf;border-color:var(--line);border-right-color:rgba(255,255,255,.08)}
[data-theme="dark"] .tab:last-child{border-right-color:var(--line)}
[data-theme="dark"] .tab:hover:not(.active){background:#232c42;color:var(--text)}
[data-theme="dark"] .tab.active{background:var(--panel);background-color:rgba(255,84,112,.08);color:var(--blue);border-color:var(--line);border-bottom-color:var(--blue)}
[data-theme="dark"] .tab:nth-child(6).active{background:var(--panel);background-color:rgba(255,84,112,.08);color:var(--blue);border-bottom-color:var(--blue)}
[data-theme="dark"] .panel{background:var(--panel);border-color:var(--line);box-shadow:0 1px 4px rgba(0,0,0,.4),0 6px 18px rgba(0,0,0,.2)}
[data-theme="dark"] .item{background:#161d2e;border-color:var(--line)}
[data-theme="dark"] .item:hover{background:var(--panel);border-color:var(--blue)}
[data-theme="dark"] .item.active{background:rgba(255,84,112,.12);border-color:var(--blue)}
[data-theme="dark"] .match{background:var(--panel);border-color:var(--line)}
[data-theme="dark"] .match:hover{border-color:var(--blue);box-shadow:0 4px 14px rgba(255,84,112,.15)}
[data-theme="dark"] .match.fav{border-color:var(--gold);box-shadow:0 4px 14px rgba(126,182,255,.15)}
[data-theme="dark"] .pill{background:#232c42;border-color:#34405e;color:#c2cbe0}
[data-theme="dark"] .pill.sa{background:rgba(46,204,113,.12);border-color:#2ecc71;color:#7fe0a8}
[data-theme="dark"] .stadium-line{color:#8a95b4}
[data-theme="dark"] .stad-loc{color:#7d89aa}
[data-theme="dark"] .dateinput{background:var(--panel);color:var(--text);border-color:var(--line);color-scheme:dark}[data-theme="dark"] .dateinput::-webkit-calendar-picker-indicator{filter:invert(1)}
[data-theme="dark"] .note{color:#8a95b4}
[data-theme="dark"] .scorers-table img{background:#232c42}
[data-theme="dark"] .scorers-placeholder{background:#161d2e;border-color:var(--line)}
[data-theme="dark"] .source{color:#8a95b4}
[data-theme="dark"] .source a{color:var(--blue)}
[data-theme="dark"] .country-blurb{background:#161d2e;border-top-color:var(--line)}
[data-theme="dark"] .standings-table th{background:#26314d;color:#fff;border-bottom-color:var(--line)}
[data-theme="dark"] .standings-table td{border-bottom-color:#27314a}
[data-theme="dark"] .standings-table tr:hover td{background:#202a42}
[data-theme="dark"] .group-tab{background:var(--panel);color:#9aa5bf;border-color:var(--line)}
[data-theme="dark"] .group-tab.active{background:var(--blue);color:#fff;border-color:var(--blue)}
[data-theme="dark"] .group-card{background:var(--panel);border-color:var(--line)}
[data-theme="dark"] .res-match{background:#161d2e;border-color:var(--line)}
[data-theme="dark"] .res-score{background:#232c42;border-color:#34405e;color:var(--gold)}
[data-theme="dark"] .res-score:hover,[data-theme="dark"] .res-score.enter{background:rgba(255,84,112,.12);border-color:var(--blue);color:var(--blue)}
[data-theme="dark"] .res-score input{background:#162040!important;border-color:#34405e!important;color:#e8eaf0!important}
[data-theme="dark"] .modal{background:var(--panel);border-color:var(--line)}
[data-theme="dark"] .feedback-textarea{background:#161d2e;color:var(--text);border-color:var(--line)}
[data-theme="dark"] .fin-badge{background:#232c42;color:#9aa5bf}
[data-theme="dark"] .cal-btn{background:var(--panel);color:var(--text);border-color:#34405e}
[data-theme="dark"] .cal-btn:hover{background:#232c42;border-color:var(--blue)}
[data-theme="dark"] .cal-menu{background:var(--panel);border-color:var(--line)}
[data-theme="dark"] .cal-menu button:hover{background:rgba(255,84,112,.12);color:var(--blue)}
[data-theme="dark"] .cal-panel{background:var(--panel);border-color:var(--blue)}
[data-theme="dark"] .cal-row{border-top-color:var(--line)}
[data-theme="dark"] .bm{background:var(--panel);border-color:var(--line)}
[data-theme="dark"] .bm:hover{border-color:var(--blue)}
[data-theme="dark"] .bm-row.tbd{color:#7d89aa}
[data-theme="dark"] .hero-countdown,[data-theme="dark"] .hero-finished{background:var(--panel);border-color:var(--line);border-left-color:var(--blue);color:var(--gold)}

/* Bottom nav */
#bottom-nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--panel);
  border-top: 2px solid var(--line);
  z-index: 9999;
  padding: 4px 0 env(safe-area-inset-bottom, 6px);
  box-shadow: 0 -2px 8px rgba(0,0,0,0.08);
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  flex-wrap: nowrap;
}
#bottom-nav::-webkit-scrollbar { display: none; }
@media (max-width: 768px) {
  #bottom-nav { display: flex; }
  body { padding-bottom: 82px; }
  /* V156: the drawer/profile scroll content (match Timeline/Stats/Lineups + team/player
     profiles all render into .md-body) must clear the fixed bottom-nav (z-index 9999) and
     the iOS home-indicator safe area, so the last rows (e.g. the bench list) aren't hidden
     behind the nav / device edge. Additive — extends the scrollable area only. */
  .md-body { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
}
.bn-btn {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  background: none;
  border: none;
  border-top: 3px solid transparent;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  padding: 6px 14px;
  transition: color 0.2s, border-color 0.2s;
  white-space: nowrap;
}
.bn-btn .bn-icon { font-size: 18px; line-height: 1; }
.bn-btn.active { color: #c41e3a; border-top-color: #c41e3a; }
.bn-btn:hover { color: var(--text); }

/* match card dark-mode overrides handled by [data-theme="dark"] .match above */

/* ── V29 Premium Design System ── */
.panel.v29-premium{background:rgba(6,12,35,0.88)!important;border:1px solid rgba(212,175,55,0.3)!important;border-top:3px solid rgba(212,175,55,0.6)!important;box-shadow:0 4px 24px rgba(0,0,0,.5),0 0 0 1px rgba(212,175,55,0.1)!important}
[data-theme="light"] .panel.v29-premium{background:rgba(255,255,255,0.97)!important;border:1px solid rgba(212,175,55,0.4)!important;border-top:3px solid rgba(212,175,55,0.7)!important;box-shadow:0 4px 24px rgba(0,0,0,.12),0 0 0 1px rgba(212,175,55,0.2)!important}
.v29-premium h2{color:#e8ecf5;font-family:'Archivo Expanded',sans-serif}
[data-theme="light"] .v29-premium h2{color:#1a1a2e}
.v29-premium .note{color:#8a95b4}
.v29-gold-label{color:#ffd700;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px;display:block}
[data-theme="light"] .v29-gold-label{color:#9a7a0a}
.group-tab.v29{background:rgba(26,38,80,0.6);border-color:rgba(212,175,55,0.25);color:#9aa5bf;font-size:11px;padding:5px 8px}
.group-tab.v29:hover{background:rgba(30,58,107,0.65);border-color:rgba(126,182,255,0.5);color:#e8ecf5;box-shadow:0 0 8px rgba(126,182,255,0.2)}
.group-tab.v29.active{background:#c41e3a;color:#fff;border-color:#c41e3a;box-shadow:0 2px 8px rgba(196,30,58,.4)}
[data-theme="light"] .group-tab.v29{background:rgba(26,58,107,0.06);border-color:rgba(212,175,55,0.4);color:#1a3a6b}
[data-theme="light"] .group-tab.v29:hover{background:rgba(26,58,107,0.14);border-color:#1a3a6b;box-shadow:none}
[data-theme="light"] .group-tab.v29.active{background:#c41e3a;color:#fff;border-color:#c41e3a}
.standings-legend.v29{color:#9aa5bf}
[data-theme="light"] .standings-legend.v29{color:#666}
.v29-standings .standings-table th{background:linear-gradient(135deg,rgba(10,20,45,0.98),rgba(26,58,107,0.92))!important;color:#fff!important;border-bottom:2px solid rgba(212,175,55,0.5)!important;padding:10px 6px!important;letter-spacing:.06em!important}
.v29-standings .standings-table td{background:transparent!important;border-bottom:1px solid rgba(255,255,255,0.06)!important;color:#e8ecf5!important}
.v29-standings .standings-table tr:nth-child(even) td{background:rgba(255,255,255,0.04)!important}
.v29-standings .standings-table tr:hover td{background:rgba(255,255,255,0.10)!important}
.v29-standings .standings-table tr.qualify td{background:rgba(39,174,96,.12)!important}
.v29-standings .standings-table tr.qualify td:first-child{border-left:3px solid rgba(39,174,96,.75)!important}
.v29-standings .standings-table tr.possible td{background:rgba(224,160,32,.12)!important}
.v29-standings .standings-table tr.possible td:first-child{border-left:3px solid rgba(224,160,32,.6)!important}
.v29-standings .standings-table tr.eliminated td{background:rgba(196,30,58,.10)!important}
.v29-standings .standings-table tr.eliminated td:first-child{border-left:3px solid rgba(196,30,58,.55)!important}
.v29-standings .pts{color:#ffd700!important;font-size:16px!important}
[data-theme="light"] .v29-standings .standings-table th{background:linear-gradient(135deg,#1a3a6b,#0f2a52)!important;color:#fff!important;border-bottom:2px solid rgba(212,175,55,0.6)!important;padding:10px 6px!important;letter-spacing:.06em!important}
[data-theme="light"] .v29-standings .standings-table td{background:transparent!important;color:#1a1a2e!important;border-bottom:1px solid rgba(0,0,0,0.06)!important}
[data-theme="light"] .v29-standings .standings-table tr:nth-child(even) td{background:rgba(0,0,0,0.03)!important}
[data-theme="light"] .v29-standings .standings-table tr:hover td{background:rgba(26,58,107,0.06)!important}
[data-theme="light"] .v29-standings .standings-table tr.qualify td{background:rgba(39,174,96,.10)!important}
[data-theme="light"] .v29-standings .standings-table tr.qualify td:first-child{border-left:3px solid rgba(39,174,96,.65)!important}
[data-theme="light"] .v29-standings .standings-table tr.possible td{background:rgba(196,30,58,.06)!important}
[data-theme="light"] .v29-standings .standings-table tr.possible td:first-child{border-left:3px solid rgba(196,30,58,.50)!important}
[data-theme="light"] .v29-standings .pts{color:#1a3a6b!important;font-size:16px!important}
.v29-bracket .bm{background:rgba(6,12,35,0.85)!important;border:1px solid rgba(212,175,55,0.3)!important;border-radius:12px!important;box-shadow:0 2px 12px rgba(0,0,0,0.4)!important;padding:10px 14px!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
[data-theme="light"] .v29-bracket .bm{background:rgba(255,255,255,0.88)!important;border:1px solid rgba(212,175,55,0.35)!important;box-shadow:0 2px 12px rgba(0,0,0,0.1)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.v29-bracket .bm:hover{border-color:rgba(196,30,58,0.65)!important}
.v29-bracket .bm .bm-row{color:#e8ecf5;font-size:13px;padding:3px 0}
[data-theme="light"] .v29-bracket .bm .bm-row{color:#1a1a2e}
.v29-bracket .bm .bm-score{color:#ffd700}
[data-theme="light"] .v29-bracket .bm .bm-score{color:#1a3a6b}
.v29-bracket .bm .bm-meta{border-top:1px solid rgba(255,255,255,0.08)!important;color:#8a95b4!important;padding-top:4px!important;margin-top:5px!important}
[data-theme="light"] .v29-bracket .bm .bm-meta{border-top-color:rgba(0,0,0,0.08)!important;color:#666!important}
.v29-bracket .bm .bm-row.tbd{color:#8a95b4}
[data-theme="light"] .v29-bracket .bm .bm-row.tbd{color:#999}
.v29-bracket .bracket-round h3{color:#7eb6ff}
[data-theme="light"] .v29-bracket .bracket-round h3{color:#1a3a6b}
.v29-bracket .bracket-round:not(:first-child) .bm-wrap::before{border-color:rgba(212,175,55,0.5)!important}
.v29-bracket .bracket-round:not(:last-child) .bm-wrap::after{background:rgba(212,175,55,0.5)!important}
[data-theme="light"] .v29-bracket .bracket-round:not(:first-child) .bm-wrap::before{border-color:rgba(26,58,107,0.45)!important}
[data-theme="light"] .v29-bracket .bracket-round:not(:last-child) .bm-wrap::after{background:rgba(26,58,107,0.45)!important}
.v29-results-main .res-match{background:rgba(255,255,255,0.07)!important;border-color:rgba(212,175,55,0.18)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
[data-theme="light"] .v29-results-main .res-match{background:rgba(255,255,255,0.72)!important;border-color:rgba(212,175,55,0.28)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.v29-results-main .res-teams{color:#e8ecf5}
[data-theme="light"] .v29-results-main .res-teams{color:#1a1a2e}
#main{transition:opacity 0.2s ease}

/* ── V39 Standings enhancements ── */
.v39-standings tbody tr{transition:background .15s}
.v39-standings tbody tr:hover td{background:rgba(255,255,255,0.06)!important}
.v39-standings .flag-cell img{border-radius:2px;vertical-align:middle;margin-right:5px}
.v39-standings td{vertical-align:middle;padding:7px 5px;font-size:13px}
.v39-standings th{font-family:'Archivo Expanded',sans-serif;letter-spacing:.06em;font-size:12px;padding:9px 5px}
.v39-standings .pts-cell{font-family:'Archivo Expanded',sans-serif;font-size:20px!important;font-weight:700!important;color:#ffd700!important}
[data-theme="light"] .v39-standings .pts-cell{color:#1a3a6b!important}
@media(max-width:480px){
  .standings-table th:nth-child(7),.standings-table td:nth-child(7),
  .standings-table th:nth-child(8),.standings-table td:nth-child(8){display:none}
  .standings-table th:nth-child(2){min-width:90px!important}
  .standings-table td,.standings-table th{padding:5px 3px!important}
}

/* ── V39 Bracket card ── */
.v39-bmc{position:relative;background:rgba(20,32,72,0.80);border:1px solid rgba(212,175,55,0.18);border-radius:12px;overflow:visible;min-width:180px;width:100%;margin-bottom:0;transition:border-color .2s,box-shadow .2s;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.v39-bmc:hover{border-color:rgba(212,175,55,0.5);box-shadow:0 4px 16px rgba(0,0,0,.35)}
.v39-bmc.live-card{border-color:rgba(196,30,58,.55);box-shadow:0 0 14px rgba(196,30,58,.2)}
.v39-bmc.finished-card{border-color:rgba(39,174,96,.4)}
.v39-bmc-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:2px 9px;border-radius:999px;white-space:nowrap;z-index:2}
.v39-bmc-badge.live{background:#c41e3a;color:#fff;animation:pulse-badge 1.5s infinite}
.v39-bmc-badge.ft{background:#27ae60;color:#fff}
@keyframes pulse-badge{0%,100%{box-shadow:0 0 0 0 rgba(196,30,58,.5)}50%{box-shadow:0 0 0 5px rgba(196,30,58,0)}}
.v39-bmc-body{padding:8px 0 6px}
.v39-bmc-row{display:flex;align-items:center;gap:7px;padding:5px 12px;min-height:32px}
.v39-bmc-row.winner-row{background:rgba(212,175,55,.1);border-radius:6px;margin:0 4px}
.v39-bmc-name{font-size:12px;font-weight:600;color:var(--text);flex:1;line-height:1.25}
.v39-bmc-name.winner-name{font-weight:800;color:#ffd700}
.v39-bmc-name.tbd-name{color:var(--muted);font-style:italic;font-size:11px}
.v39-bmc-score{font-family:'Archivo Expanded',sans-serif;font-size:18px;font-weight:700;color:#e8ecf5;min-width:18px;text-align:right;flex-shrink:0}
.v39-bmc-score.winner-score{color:#ffd700}
.v39-bmc-divider{height:1px;background:rgba(255,255,255,0.07);margin:0 12px}
.v39-bmc-footer{padding:3px 12px 7px;font-size:9px;color:var(--muted);border-top:1px solid rgba(255,255,255,.05);margin-top:4px}
[data-theme="light"] .v39-bmc{background:rgba(240,246,255,0.88);border-color:rgba(26,58,107,0.18)}
[data-theme="light"] .v39-bmc-name{color:#1a1a2e}
[data-theme="light"] .v39-bmc-name.winner-name{color:#1a3a6b}
[data-theme="light"] .v39-bmc-score{color:#1a1a2e}
[data-theme="light"] .v39-bmc-score.winner-score{color:#1a3a6b}
[data-theme="light"] .v39-bmc-row.winner-row{background:rgba(26,58,107,.08)}
[data-theme="light"] .v39-bmc.live-card{border-color:rgba(196,30,58,.5)}
[data-theme="light"] .v39-bmc.finished-card{border-color:rgba(39,174,96,.45)}

/* ── V39 Golden Boot Podium ── */
.v39-podium{display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:10px;margin:0 0 22px;align-items:end}
.v39-podium-card{border-radius:16px;padding:16px 10px 14px;text-align:center;border:1px solid rgba(212,175,55,0.15);position:relative;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.v39-podium-card.p1{background:linear-gradient(160deg,rgba(212,175,55,0.22),rgba(26,58,107,0.5));border-color:rgba(212,175,55,0.5);box-shadow:0 6px 28px rgba(212,175,55,0.18)}
.v39-podium-card.p2{background:rgba(192,192,192,0.1);border-color:rgba(192,192,192,0.3)}
.v39-podium-card.p3{background:rgba(205,127,50,0.1);border-color:rgba(205,127,50,0.3)}
.v39-podium-pos{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;opacity:.75}
.v39-podium-goals{font-family:'Archivo Expanded',sans-serif;font-size:48px;font-weight:700;line-height:1;margin:6px 0 2px}
.v39-podium-card.p1 .v39-podium-goals{color:#ffd700;font-size:56px}
.v39-podium-card.p2 .v39-podium-goals{color:#c0c0c0}
.v39-podium-card.p3 .v39-podium-goals{color:#cd7f32}
.v39-podium-label{font-size:10px;color:var(--muted);margin-bottom:8px}
.v39-podium-flag{font-size:30px;line-height:1;margin-bottom:6px}
.v39-podium-card.p1 .v39-podium-flag{font-size:36px}
.v39-podium-name{font-size:13px;font-weight:700;color:var(--text);line-height:1.3}
.v39-podium-card.p1 .v39-podium-name{font-size:14px}
.v39-podium-team{font-size:11px;color:var(--muted);margin-top:3px}
.v39-scorer-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.v39-scorer-bar{flex:1;height:5px;background:rgba(255,255,255,0.08);border-radius:3px;overflow:hidden}
.v39-scorer-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#c41e3a,#ff6b6b)}
[data-theme="light"] .v39-podium-card.p1{background:linear-gradient(160deg,rgba(212,175,55,0.15),rgba(240,246,255,0.95));box-shadow:0 6px 28px rgba(212,175,55,0.15)}
[data-theme="light"] .v39-podium-card.p2{background:rgba(192,192,192,0.15)}
[data-theme="light"] .v39-podium-card.p3{background:rgba(205,127,50,0.1)}
[data-theme="light"] .v39-scorer-row{border-bottom-color:rgba(0,0,0,0.07)}
[data-theme="light"] .v39-scorer-bar{background:rgba(0,0,0,0.07)}
@media(max-width:480px){
  .v39-podium{gap:6px}
  .v39-podium-card{padding:12px 6px 10px}
  .v39-podium-goals{font-size:36px}
  .v39-podium-card.p1 .v39-podium-goals{font-size:42px}
  .v39-podium-name{font-size:11px}
}

/* ── V39 Round label & bmc body ── */
.v39-round-label{font-family:'Archivo Expanded',sans-serif;font-size:13px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#ffd700;margin-bottom:12px;padding:4px 0 4px 2px;border-bottom:1px solid rgba(212,175,55,0.25)}
[data-theme="light"] .v39-round-label{color:#9a7a0a;border-bottom-color:rgba(26,58,107,0.2)}
.v39-bmc-body{padding:6px 0 2px}

/* ── V40 Weather strip ── */
.wx-strip{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,0.07);margin:10px -16px -16px;padding:0;background:rgba(0,0,0,0.18);border-radius:0 0 16px 16px;overflow:hidden}
.wx-slots{display:grid;grid-template-columns:repeat(4,1fr);padding:8px 4px 6px}
.wx-footer{font-size:9px;color:var(--muted);text-align:center;padding:4px 8px 7px;border-top:1px solid rgba(255,255,255,0.06)}
.wx-footer a{color:var(--muted);text-decoration:none;border-bottom:1px dotted rgba(255,255,255,0.25)}
.wx-footer a:hover{color:var(--text)}
.wx-slot{text-align:center;padding:4px 2px;position:relative}
.wx-slot:not(:last-child)::after{content:'';position:absolute;right:0;top:15%;height:70%;width:1px;background:rgba(255,255,255,0.1)}
.wx-label{font-size:9px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;line-height:1.3}
.wx-icon{font-size:20px;line-height:1.1;display:block}
.wx-temp{font-family:'Archivo Expanded',sans-serif;font-size:14px;font-weight:700;color:var(--text);line-height:1.2}
.wx-temp-sub{font-size:9px;color:var(--muted);margin-top:1px}
.wx-loading{font-size:11px;color:var(--muted);text-align:center;padding:7px 0 6px;border-top:1px solid rgba(255,255,255,0.07);margin:10px -16px -16px;background:rgba(0,0,0,0.12);border-radius:0 0 16px 16px}
[data-theme="light"] .wx-strip{border-top-color:rgba(0,0,0,0.07);background:rgba(26,58,107,0.04)}
[data-theme="light"] .wx-slot::after{background:rgba(0,0,0,0.08)}
[data-theme="light"] .wx-loading{border-top-color:rgba(0,0,0,0.07);background:rgba(26,58,107,0.03)}


/* ── Timezone tooltip wrapper ── */
.tz-wrapper{position:relative;display:inline-block}
.tz-wrapper::after{content:'User Timezone is detected from your browser';position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:rgba(26,26,46,0.96);color:#fff;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s;z-index:9999;box-shadow:0 4px 12px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,0.12)}
.tz-wrapper:hover::after{opacity:1}
[data-theme="light"] .tz-wrapper::after{background:rgba(26,58,107,0.95);color:#fff;border-color:rgba(255,255,255,0.2)}

/* ── Site nav bar (below hero) ── */
#site-nav{width:100%;background:#1a1a2e;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid rgba(196,30,58,.45);box-sizing:border-box}
.sport-pill{display:flex;gap:3px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px}
.sport-btn{padding:5px 13px;font-size:22px;border-radius:999px;text-decoration:none;color:rgba(255,255,255,.9);line-height:1;display:inline-flex;align-items:center;gap:5px;transition:background .15s}
.sport-btn.active{background:rgba(196,30,58,.55);color:#fff}
.sport-btn:hover:not(.active){background:rgba(255,255,255,.1);color:#fff}
.sport-btn .f1-label{font-size:12px;font-weight:800;font-family:'Archivo',sans-serif;letter-spacing:.05em;line-height:1}
.lang-sel{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;padding:7px 16px;font-size:13px;font-weight:600;font-family:'Archivo',sans-serif;cursor:pointer;outline:none;min-width:120px;-webkit-appearance:none}
.lang-sel option{background:#1a1a2e;color:#fff}
[data-theme=light] #site-nav{background:#1a3a6b;border-bottom:2px solid rgba(196,30,58,.55)}




/* ═══════════════════════════════════════════════════════════════════
   MATCHATLAS DESIGN SYSTEM (final spec) — World Cup · gold chrome #E9B949
   Appended last so it is the authoritative foundation layer.
   ═══════════════════════════════════════════════════════════════════ */
:root,[data-theme="dark"]{
  --bg:#0B1220;--panel:#16203A;--card:#16203A;--card-bg:#16203A;--line:#26324F;
  --text:#F2F5FB;--muted:#93A0BD;--blue:#E9B949;--blue2:#93A0BD;--gold:#E9B949;
  --green:#2FBF71;--red:#E10600;--pill:#1B2742;--accent:#E9B949;--live:#2FBF71;
}
body{font-family:'Archivo',system-ui,-apple-system,sans-serif;background:#0B1220 linear-gradient(180deg,#0B1220 0%,#0E1730 100%) no-repeat fixed;color:var(--text)}
body::before{display:none!important}
h1,h2,h3,h4,.panel h2{font-family:'Archivo Expanded','Archivo',sans-serif;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.hero-score,.hero-minute,.hero-countdown-timer,.hero-next-timer,.live-result,.live-badge,.fin-badge,.md-score,.md-ev-min,.md-h2h-teams b,.standings-table td,.standings-table .pts,.pill,.mc-half,.mc-scorers,.q-tag,.prof-stat b,.prof-num,.prof-bio-facts b,.dateinput,.cd-val{font-family:'JetBrains Mono','Archivo',monospace}
/* cards / surfaces — one radius, one border, no dashed */
.match,.panel,.card,.item,.cal-panel,.search-wrap,.modal,.std-card,.country-blurb{border-radius:14px;border:1px solid var(--line)}
.match{border-left:3px solid var(--line)}
.match.live-now{border-left:3px solid var(--live)}
.match.fav{border-color:var(--accent)}
/* tabs — active = 2px accent underline, never a pill */
.tab{border-radius:0!important;border:none!important;border-bottom:2px solid transparent!important;background:transparent!important;color:var(--muted)!important;opacity:1!important}
.tab:hover:not(.active){color:var(--text)!important;background:transparent!important}
.tab.active{background:transparent!important;background-color:transparent!important;color:var(--text)!important;border-bottom:2px solid var(--accent)!important}
/* primary buttons → gold accent, 14px, no dashed */
.btn.primary,.tp-open-btn{background:var(--accent);color:#0B1220;border:none;border-radius:14px}
.btn{border-radius:12px;border:1px solid var(--line)}
/* LIVE = green dot only (no green chrome banners) */
.live-badge{background:transparent;color:var(--live);padding:0;font-weight:700}

/* WC specific removals (final design spec) */
#live-text,#refresh-notice{display:none!important}      /* colored 'live scores active' + 'live data site' banners */
.cal-panel{border:1px solid var(--accent)!important;background:var(--panel)!important}  /* gold-outline, no dashed */
.live-result,.live-score .live-result{color:var(--text)!important}  /* scores neutral white (winner-gold handled per card) */
.search-wrap:focus-within{border-color:var(--accent)!important;box-shadow:0 0 0 2px rgba(233,185,73,.15)!important}

/* ═══ V111 MOBILE ADDENDUM ═══ */
@media(max-width:767px){
  .layout{grid-template-columns:1fr!important}            /* standings list first, detail below */
  .search{min-height:44px}
  .tab{min-height:44px;display:flex;align-items:center;justify-content:center}
  .theme-toggle{height:32px;padding:0 12px;font-size:12px}
  .topbtns .btn,.topbtns .tz-select{min-height:44px}
  /* 8-item tab strip: horizontal scroll with edge-peek fade, never wraps */
  .tabs{flex-wrap:nowrap!important;-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent)}
  /* featured scoreboard: keep long names from colliding */
  .hero-name{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #bottom-nav{padding-bottom:env(safe-area-inset-bottom,6px)}
}
/* V111: Lucide icons (1.5px stroke, 18–20px, currentColor) */
svg.lucide{width:18px;height:18px;stroke-width:1.5;vertical-align:middle;display:inline-block}
.tab svg.lucide{margin-right:5px}
.bn-icon svg.lucide{width:20px;height:20px}
.bn-icon{display:inline-flex;align-items:center;justify-content:center}

/* ═══ V123: score-centred single-row match card ═══ */
.match.mc-row{position:relative;padding:14px 16px;display:flex;flex-direction:column;gap:9px;border:1px solid var(--line);border-left:3px solid transparent;background:var(--card)}
.match.mc-row.live-now{border-left:3px solid var(--live)}
.match.mc-row.fav{border-color:var(--accent)}
.match.mc-row:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(0,0,0,.35)}
.match.mc-row .cal-wrap{position:relative;top:auto;right:auto;z-index:3}
.match.mc-row .mc-cal-footer{display:flex;justify-content:flex-end;margin-top:6px}
.mc-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.mc-team{display:flex;align-items:center;gap:8px;min-width:0}
.mc-home{justify-content:flex-start}.mc-away{justify-content:flex-end}
.mc-flag img,.mc-flag{width:26px;height:20px;border-radius:3px;flex-shrink:0}
.mc-name{font-family:'Archivo Expanded','Archivo',sans-serif;font-weight:700;font-size:14px;color:var(--text);text-transform:uppercase;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-centre{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0;min-width:92px}
.mc-score{font-family:'JetBrains Mono',monospace;font-size:clamp(28px,7vw,40px);font-weight:700;color:var(--text);line-height:1;display:flex;align-items:baseline;gap:6px}
.mc-dash{color:var(--muted);font-size:.6em}
.mc-win{color:var(--accent)}
.mc-kickoff{font-family:'JetBrains Mono',monospace;font-size:18px;color:var(--text);font-weight:600;text-align:center}
.mc-kickoff .time-label{display:block;font-size:9px;color:var(--muted);letter-spacing:.04em}
.mc-chip{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 7px;border-radius:6px}
.mc-ft{background:rgba(255,255,255,.08);color:var(--muted)}
.mc-live{background:rgba(47,191,113,.14);color:var(--live);display:inline-flex;align-items:center;gap:5px}
.mc-susp{background:rgba(230,126,34,.16);color:#e67e22}
.mc-delay{background:rgba(230,168,23,.16);color:#e6a817}
.mc-dot{width:7px;height:7px;border-radius:50%;background:var(--live);animation:livepulse 1.2s ease-in-out infinite}
.mc-caption{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-caption svg.lucide{width:13px;height:13px;flex-shrink:0;stroke-width:1.5}
.mc-date-row{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-top:-4px}
.mc-date-row svg.lucide{width:12px;height:12px;flex-shrink:0;stroke-width:1.5}
@media(max-width:520px){
  .mc-name{white-space:normal;font-size:12px;line-height:1.15;max-height:2.4em}
  .mc-centre{min-width:78px}
}
/* V129: visible timezone banner */
.tz-banner{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:6px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);font-size:12px;cursor:pointer;font-family:'Archivo',sans-serif}
.tz-banner:hover{border-color:var(--accent,#E9B949)}
.tz-banner svg.lucide{width:14px;height:14px}
.tz-banner-change{color:var(--accent,#E9B949);font-weight:600}
/* V132: goal-scorers photos + sortable toggle */
.scorer-photo{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--line);background:#0e1730}
.scorer-photo-lg{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid var(--accent,#E9B949);background:#0e1730;margin:2px auto 6px;display:block}
.scorer-sortbar{display:flex;align-items:center;gap:8px;margin:0 0 12px;flex-wrap:wrap}
.scorer-sortlabel{font-size:11px;color:var(--muted);font-family:'Archivo',sans-serif;text-transform:uppercase;letter-spacing:.05em}
.scorer-sort{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;font-family:'Archivo',sans-serif}
.scorer-sort.active{background:var(--accent,#E9B949);border-color:var(--accent,#E9B949);color:#0B1220}
.scorer-sort svg.lucide{width:14px;height:14px}
/* V145: next-match countdown banner (home / dates view) */
.next-cd{background:linear-gradient(135deg,rgba(20,32,72,0.92),rgba(10,18,40,0.92));border:1px solid var(--accent,#E9B949);border-radius:14px;padding:14px 16px;margin:0 0 16px;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,.3)}
.next-cd-label{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent,#E9B949);margin-bottom:6px}
.next-cd-label svg.lucide{width:14px;height:14px}
.next-cd-teams{font-family:'Archivo Expanded','Archivo',sans-serif;font-weight:700;font-size:16px;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;line-height:1.2}
.next-cd-teams img{width:24px;height:18px;border-radius:3px;vertical-align:middle}
.next-cd-v{color:var(--muted);font-weight:600;font-size:12px}
.next-cd-timer{font-family:'JetBrains Mono',monospace;font-size:30px;font-weight:700;color:var(--accent,#E9B949);line-height:1;margin:8px 0 4px;letter-spacing:.02em}
.next-cd-meta{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted)}
[data-theme="light"] .next-cd{background:linear-gradient(135deg,rgba(245,248,255,0.96),rgba(232,238,250,0.96))}
[data-theme="light"] .next-cd-teams{color:var(--text)}

/* === Pre-match squad buttons + chooser === */
.match.mc-row .mc-cal-footer{gap:8px}
.mc-squads-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:1px solid var(--accent);background:transparent;color:var(--accent);border-radius:999px;font-size:12px;font-weight:600;font-family:'Archivo',sans-serif;cursor:pointer;line-height:1;white-space:nowrap}
.mc-squads-btn:hover{background:var(--accent);color:#0b1530}
.mc-squads-btn svg{width:14px;height:14px}
/* V188: per-match add-to-calendar button — proper footer pill matching .mc-squads-btn.
   Since V142 the button gained an "Add to calendar" text label but .cal-btn stayed a fixed
   30x30 icon-only square, so the label overflowed/wrapped. Override for the Dates-card footer
   (higher specificity than the base + [data-theme=dark] .cal-btn rules). */
.match.mc-row .cal-btn{width:auto;height:auto;display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:1px solid var(--accent);background:transparent;color:var(--accent);border-radius:999px;font-size:12px;font-weight:600;font-family:'Archivo',sans-serif;line-height:1;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.match.mc-row .cal-btn:hover{background:var(--accent);color:#0b1530;border-color:var(--accent)}
.match.mc-row .cal-btn .cal18-ic{width:15px;height:15px;flex-shrink:0}
.hero-squads-btn{display:inline-flex;align-items:center;gap:7px;margin:12px auto 0;padding:8px 18px;border:1px solid rgba(255,255,255,0.45);background:rgba(255,255,255,0.12);color:#fff;border-radius:999px;font-size:13px;font-weight:600;font-family:'Archivo',sans-serif;cursor:pointer;line-height:1}
.hero-squads-btn:hover{background:rgba(255,255,255,0.22)}
.hero-squads-btn svg{width:15px;height:15px}
.squad-chooser{display:flex;flex-direction:column;gap:10px;padding:4px 0}
.squad-choice{display:flex;align-items:center;gap:11px;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card-bg);color:var(--text);font-family:'Archivo Expanded','Archivo',sans-serif;font-weight:700;font-size:15px;cursor:pointer;text-align:left}
.squad-choice:hover{border-color:var(--accent)}
.squad-choice img{width:30px;height:22px;border-radius:3px;flex:0 0 auto}
.squad-choice-name{flex:1}
.squad-choice-go{font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap}

/* V182: eliminate mobile horizontal overflow (tz selector + bottom nav) */
html{overflow-x:clip}
@media(max-width:768px){
  .topbtns{max-width:100%;box-sizing:border-box}
  .tz-wrapper{min-width:0;max-width:100%}
  .tz-select{max-width:100%;min-width:0;box-sizing:border-box}
  #bottom-nav{box-sizing:border-box;max-width:100vw}
  .bn-btn{min-width:0}
}

/* T-10 (V199): tab/nav clicks must always land on the button — lucide swaps the inner <i> for an
   <svg> after paint, and a tap that landed on the element being replaced could be lost (esp. touch).
   Making children non-interactive routes every click to the button itself. */
.tab *,.bn-btn *{pointer-events:none}
