:root{--bg:#050705;--panel:#0c110d;--panel2:#111812;--line:#223025;--text:#f4f8f4;--muted:#89958b;--green:#75ff45;--green2:#b9ff9f;--red:#ff626a;--amber:#ffd166}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 75% -10%,#16321a 0,transparent 28%),linear-gradient(180deg,#080b09,var(--bg) 42%)}header{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:13px max(14px,env(safe-area-inset-left));background:rgba(5,7,5,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px}.mark{width:38px;height:38px;border:1px solid #3e6d43;border-radius:10px;display:grid;place-items:center;color:var(--green);font-weight:950;letter-spacing:-.08em;background:#0b130d}.eyebrow{font-size:9px;letter-spacing:.19em;color:var(--green);font-weight:900}h1{font-size:20px;letter-spacing:.08em;margin:1px 0 0}.head-right{display:flex;gap:7px;align-items:center}.version,.pill{font-size:10px;border:1px solid var(--line);padding:7px 9px;border-radius:999px}.pill.good{color:var(--green);border-color:#35623b}.pill.bad{color:var(--red);border-color:#663437}main{padding:14px 14px 92px;max-width:1500px;margin:auto}.hero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;margin-bottom:12px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#0f1711,#09100b)}.hero h2{font-size:clamp(22px,4vw,36px);margin:3px 0 5px;letter-spacing:-.035em}.hero p{margin:0;color:var(--muted);max-width:720px;font-size:13px}.kicker{font-size:10px;color:var(--green);font-weight:900;letter-spacing:.16em}.hero-badge{min-width:145px;text-align:right}.hero-badge b{display:block;font-size:42px;color:var(--green);line-height:.9}.hero-badge span{font-size:9px;color:var(--muted);letter-spacing:.14em}.controlbar,.toolbar,.progress{background:rgba(12,17,13,.94);border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:12px}.controlbar{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}.date-nav,.scan-actions,.viewtoggle{display:flex;gap:7px;flex-wrap:wrap}button,input,select,textarea{background:#090d0a;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px;font:inherit}button{cursor:pointer;font-weight:800;font-size:12px}button.primary,.viewtoggle .active{background:var(--green);color:#071006;border-color:var(--green)}.source-strip{display:flex;gap:7px;overflow:auto;padding:1px 1px 10px}.source-card{appearance:none;white-space:nowrap;cursor:pointer;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:7px 10px;font-size:10px;color:var(--muted)}.source-card strong{color:var(--text)}.source-card.ok{border-color:#365f3b}.source-card.ok strong{color:var(--green)}.source-card.fail{border-color:#653236}.source-card.fail strong{color:var(--red)}.source-card.off{border-color:#594d2b}.source-card.off strong{color:var(--amber)}.stats{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;margin-bottom:12px}.stat{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:12px}.stat b{display:block;font-size:24px}.stat span{font-size:9px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.toolbar #search{min-width:240px;flex:1}.toolbar label{font-size:12px;color:var(--muted)}.check{display:flex;align-items:center;gap:6px}#content{display:flex;flex-direction:column;gap:8px}.match{display:grid;grid-template-columns:86px minmax(210px,1.7fr) minmax(190px,1.3fr) minmax(160px,1fr) 110px;gap:10px;align-items:center;background:linear-gradient(180deg,#0e140f,#0a0f0b);border:1px solid var(--line);border-radius:13px;padding:11px 12px}.kick{font-weight:950;color:var(--green);font-size:15px}.teams b{display:block;font-size:14px}.sub,.source{font-size:10px;color:var(--muted)}.broadcasters{display:flex;gap:5px;flex-wrap:wrap}.tag{font-size:10px;padding:5px 7px;border-radius:999px;border:1px solid #334437;background:#121a13}.tag.watchhit{color:var(--green2);border-color:#4b7049}.tag.source-tag{color:#a8b1aa}.status-select{padding:7px;font-size:11px}.channel-group{background:var(--panel);border:1px solid var(--line);border-radius:13px;overflow:hidden}.channel-group h3{margin:0;padding:12px;background:var(--panel2);color:var(--green)}.channel-row{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}.bottom{position:fixed;z-index:35;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:7px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(5,7,5,.96);border-top:1px solid var(--line);backdrop-filter:blur(14px)}dialog{width:min(760px,94vw);max-height:86vh;background:#090d0a;color:var(--text);border:1px solid var(--line);border-radius:16px;padding:0}dialog::backdrop{background:#000b}.modal-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#090d0a;border-bottom:1px solid var(--line)}.modal-head h2{font-size:15px}.modal-head button{font-size:24px;padding:3px 10px}dialog p,dialog textarea,dialog pre,.modal-actions,.provider-copy,.formgrid{margin:12px 14px}dialog textarea{width:calc(100% - 28px)}dialog pre{white-space:pre-wrap;font-size:11px;max-height:55vh;overflow:auto}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.formgrid label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--muted)}.formgrid label.wide{grid-column:1/-1}.formgrid input{width:100%}.progress-title{font-size:10px;color:var(--green);font-weight:900;letter-spacing:.15em}.progress-line{font-size:11px;padding:5px 0;border-bottom:1px dashed #202a23}.hidden{display:none!important}.update{position:fixed;z-index:60;right:14px;bottom:78px;width:min(380px,calc(100vw - 28px));background:#142116;border:1px solid #4c7d43;border-radius:14px;padding:13px;box-shadow:0 20px 50px #0009}.update span{display:block;color:var(--muted);font-size:12px;margin:5px 0 10px}.empty{padding:44px 12px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:13px}.empty b{color:var(--text)}@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.match{grid-template-columns:72px 1fr}.match>div:nth-child(n+3){grid-column:2}.status-select{grid-column:2}.toolbar{position:sticky;top:65px;z-index:20}.viewtoggle{width:100%}.viewtoggle button{flex:1}.hero-badge{display:none}}@media(max-width:520px){main{padding-left:8px;padding-right:8px}.hero{padding:14px}.hero h2{font-size:24px}.controlbar,.toolbar{border-radius:11px}.date-nav button{padding:9px 7px}.match{padding:9px}.bottom button{font-size:10px;padding:9px 7px}.formgrid{grid-template-columns:1fr}.formgrid label.wide{grid-column:auto}}

button.ghost{color:var(--muted);background:transparent}.coverage-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px}.coverage-metric{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel)}.coverage-metric b{display:block;font-size:22px;color:var(--green)}.coverage-metric span{font-size:9px;color:var(--muted);letter-spacing:.09em}.coverage-list{margin:14px;display:flex;flex-direction:column;gap:8px}.coverage-source{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--panel)}.coverage-source>div:first-child{display:flex;flex-direction:column;gap:3px}.coverage-source span{font-size:10px;color:var(--muted)}.coverage-bars{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.coverage-bars span{border:1px solid var(--line);border-radius:999px;padding:5px 7px}.coverage-bars .cov-ok{color:var(--green);border-color:#365f3b}.coverage-bars .cov-seed{color:var(--amber);border-color:#594d2b}.coverage-bars .cov-bad{color:var(--red);border-color:#653236}.unmatched-box{margin:14px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#080c09}.unmatched-box summary{cursor:pointer;font-weight:900;font-size:11px;color:var(--amber)}.unmatched-row{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-top:1px dashed var(--line)}.unmatched-row:first-child{margin-top:8px}.unmatched-row>div{display:flex;flex-direction:column;gap:2px}.unmatched-row span{font-size:10px;color:var(--muted)}.unmatched-row>div:last-child{text-align:right}.empty.mini{padding:18px}.match .source{margin-top:4px}.bottom{overflow-x:auto;justify-content:center}
@media(max-width:700px){.coverage-summary{grid-template-columns:repeat(2,1fr)}.coverage-source,.unmatched-row{align-items:flex-start;flex-direction:column}.coverage-bars{justify-content:flex-start}.unmatched-row>div:last-child{text-align:left}.bottom{justify-content:flex-start}}

/* ============================================================
   v2.3.0 — MOBILE APP LAYOUT (iOS + Android only)
   Desktop and scanner behavior intentionally unchanged.
   ============================================================ */
@media (max-width: 700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{padding-bottom:0}
  header{min-height:64px;padding:calc(9px + env(safe-area-inset-top)) 12px 9px;gap:8px}
  .brand{min-width:0;gap:9px}.mark{width:36px;height:36px;flex:0 0 36px;border-radius:10px}
  .brand>div:last-child{min-width:0}.eyebrow{font-size:7px;line-height:1.25;letter-spacing:.14em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:49vw}
  h1{font-size:17px;line-height:1.05;letter-spacing:.065em;white-space:nowrap}
  .head-right{gap:5px;flex:0 0 auto}.version,.pill{font-size:8px;padding:6px 7px}.pill{max-width:74px;text-align:center}
  main{padding:10px 10px calc(92px + env(safe-area-inset-bottom));width:100%;overflow:hidden}

  .hero{padding:14px 14px 13px;margin-bottom:10px;border-radius:16px}.hero .kicker{font-size:8px}.hero h2{font-size:21px;line-height:1.08;margin:4px 0 6px}.hero p{font-size:11px;line-height:1.45}.hero-badge{display:none}

  .controlbar{display:block;padding:9px;margin-bottom:9px;border-radius:14px}.date-nav{display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:6px;width:100%}.date-nav button,.date-nav input{width:100%;min-width:0;padding:10px 5px;font-size:10px;text-align:center}.date-nav button[data-shift="1"]{grid-column:3}.date-nav input{grid-column:2;grid-row:1}.date-nav button[data-today]{grid-column:1;grid-row:2}.date-nav button[data-shift="1"]{grid-row:2;grid-column:3}.date-nav button[data-shift="-1"]{grid-column:1;grid-row:1}.scan-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:6px;margin-top:7px;width:100%}.scan-actions button{width:100%;padding:12px 7px;font-size:10px}

  .source-strip{gap:6px;padding:0 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.source-strip::-webkit-scrollbar{display:none}.source-card{font-size:9px;padding:7px 9px;flex:0 0 auto}
  .progress{padding:11px;margin-bottom:9px;border-radius:14px;max-height:260px;overflow:auto;-webkit-overflow-scrolling:touch}.progress-title{font-size:9px;position:sticky;top:0;background:var(--panel);padding-bottom:5px}.progress-line{font-size:10px;line-height:1.35;padding:6px 0;overflow-wrap:anywhere}

  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:9px}.stat{padding:10px 11px;border-radius:13px;min-width:0}.stat b{font-size:22px}.stat span{font-size:7.5px;line-height:1.2;display:block;margin-top:3px}

  .toolbar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:9px;margin-bottom:9px;border-radius:14px}.toolbar #search{grid-column:1/-1;min-width:0;width:100%}.toolbar input,.toolbar select,.toolbar button{width:100%;min-width:0;font-size:11px;padding:10px 8px}.toolbar .check{min-height:39px;padding:7px 8px;border:1px solid var(--line);border-radius:9px;background:#090d0a;font-size:10px}.toolbar .check input{width:auto;padding:0}.toolbar #resetFilters{font-size:10px}.viewtoggle{grid-column:1/-1;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px}.viewtoggle button{width:100%}

  #content{gap:8px}.match{display:grid;grid-template-columns:66px minmax(0,1fr);gap:7px 10px;padding:11px;border-radius:14px;align-items:start}.kick{font-size:14px;line-height:1.2;padding-top:1px}.teams{min-width:0}.teams b{font-size:13px;line-height:1.3;overflow-wrap:anywhere}.sub,.source{font-size:9px;line-height:1.35}.match>div:nth-child(n+3){grid-column:2}.broadcasters{gap:4px}.tag{font-size:9px;padding:5px 7px;max-width:100%;overflow-wrap:anywhere}.status-select{grid-column:2;width:100%;font-size:10px;padding:7px}
  .channel-row{grid-template-columns:62px minmax(0,1fr);gap:8px;padding:9px 10px}.channel-group h3{font-size:13px;padding:10px}

  .bottom{height:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px 7px calc(7px + env(safe-area-inset-bottom));overflow:visible;justify-content:stretch}.bottom button{min-width:0;width:100%;padding:9px 3px;font-size:8px;line-height:1.15;border-radius:10px;white-space:normal}

  dialog{width:calc(100vw - 16px);max-width:none;max-height:calc(100dvh - 28px);border-radius:18px}.modal-head{padding:10px 12px}.modal-head h2{font-size:13px}.modal-head button{font-size:22px}.formgrid{grid-template-columns:1fr}.formgrid label.wide{grid-column:auto}.coverage-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px}.coverage-list,.unmatched-box{margin:10px}.coverage-source,.unmatched-row{align-items:flex-start;flex-direction:column}.coverage-bars{justify-content:flex-start}.unmatched-row>div:last-child{text-align:left}dialog pre{font-size:9px;line-height:1.4;max-height:58dvh;overflow:auto}.update{left:10px;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));width:auto}
}

@media (max-width: 380px){
  .eyebrow{display:none}h1{font-size:15px}.mark{width:34px;height:34px;flex-basis:34px}.version,.pill{font-size:7px;padding:5px 6px}
  .hero h2{font-size:19px}.hero p{font-size:10px}.date-nav button,.date-nav input{font-size:9px}.bottom button{font-size:7.5px}
}

/* ============================================================
   v2.3.14 — SHARE CARDS + FASTER SCAN FEEDBACK
   ============================================================ */
.match{grid-template-columns:86px minmax(210px,1.7fr) minmax(190px,1.3fr) minmax(160px,1fr) 132px}
.match-actions{display:flex;flex-direction:column;gap:7px;min-width:0}
.match-actions .status-select,.match-actions .share-card{width:100%}
.share-card{padding:8px 7px;font-size:10px;color:var(--green2);border-color:#3d6541;background:#0d160f}
.share-card:hover{border-color:var(--green);background:#132017}
.share-dialog{width:min(900px,95vw)}
.share-preview-wrap{margin:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#050705}
.share-preview-wrap img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;background:#050705}
.share-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}

@media(max-width:900px){
  .match-actions{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .match-actions .status-select{grid-column:auto}
}
@media(max-width:520px){
  .match-actions{grid-template-columns:1fr 1fr}
  .share-actions{display:grid;grid-template-columns:1fr 1fr}
  .share-actions .primary{grid-column:1/-1}
}


/* ============================================================
   v2.3.15 — DAILY MATCHES SHARE IMAGE
   ============================================================ */
.daily-share-bar{margin:16px 0 8px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #315237;border-radius:16px;background:linear-gradient(135deg,#0a130c,#0d1a10);box-shadow:0 12px 30px #0005}
.daily-share-bar>div{display:flex;flex-direction:column;gap:4px}.daily-share-bar .kicker{color:var(--green);font-size:9px;font-weight:900;letter-spacing:.13em}.daily-share-bar b{font-size:16px}.daily-share-bar span{font-size:11px;color:var(--muted)}
.daily-share-bar button{min-width:280px;padding:13px 16px;font-weight:950}.daily-share-bar button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.daily-share-bar{flex-direction:column;align-items:stretch;padding:14px;margin-bottom:10px}.daily-share-bar button{width:100%;min-width:0}.daily-share-bar b{font-size:14px}.daily-share-bar span{font-size:10px}.share-preview-wrap{max-height:72dvh;overflow:auto}.share-preview-wrap img{max-height:none}}
