:root{
  /* тема в стиле Flashscore: графит + фирменный красный */
  --pitch:#1E1E1E;        /* графитовый фон, без синевы */
  --pitch-2:#242424;
  --panel:#2A2A2A;        /* карточки чуть светлее фона */
  --panel-2:#262626;
  --line:#3A3A3A;         /* тонкие серые разделители */
  --line-soft:#333333;
  --ink:#F4F4F4;          /* почти белый основной текст */
  --muted:#9A9A9A;        /* приглушённый серый */
  --muted-2:#6E6E6E;
  --flood:#E4002B;        /* фирменный красный Flashscore — акцент/гол */
  --flood-soft:#FF3355;
  --live:#E4002B;         /* live-минуты тоже красные */
  --win:#5FB336;          /* зелёный побед/галочек */
  --tg:#2AABEE;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:'Archivo',system-ui,sans-serif;
  background:var(--pitch); color:var(--ink);
  min-height:100vh; position:relative; overflow-x:hidden; line-height:1.5;
}
a{color:inherit;text-decoration:none}
code{font-family:'JetBrains Mono',monospace;font-size:.88em;background:rgba(228,0,43,.12);
  color:var(--flood-soft);padding:1px 6px;border-radius:5px}

/* атмосфера */
.floodlight{position:fixed;inset:-25% 0 auto 0;height:80vh;pointer-events:none;z-index:0;
  background:radial-gradient(55% 55% at 50% 0%, rgba(228,0,43,.11), rgba(228,0,43,0) 70%)}
.grain{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.035;
  background-image:radial-gradient(circle at 1px 1px, #fff 1px, transparent 0);background-size:3px 3px}

/* ШАПКА */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;
  padding:14px clamp(16px,4vw,48px);
  padding-top:calc(14px + env(safe-area-inset-top));
  background:linear-gradient(180deg, rgba(10,20,30,.92), rgba(10,20,30,.72));
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.brand{display:flex;align-items:center;gap:10px;letter-spacing:.02em;margin-right:auto;min-width:0;flex-shrink:1}
.brand-name{font-weight:700;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-alt{color:var(--flood)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--live);
  box-shadow:0 0 0 0 rgba(255,77,77,.6);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,77,77,.6)}70%{box-shadow:0 0 0 8px rgba(255,77,77,0)}100%{box-shadow:0 0 0 0 rgba(255,77,77,0)}}
.nav{display:flex;gap:22px;font-size:.9rem;color:var(--muted)}
.nav a:hover{color:var(--ink)}
.top-actions{display:flex;align-items:center;gap:12px}
.badge{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--muted);
  border:1px solid var(--line);border-radius:999px;padding:5px 10px;white-space:nowrap}

/* КНОПКИ */
.btn{font-family:'Archivo',sans-serif;font-weight:600;font-size:.88rem;
  border-radius:9px;padding:10px 18px;cursor:pointer;border:1px solid transparent;
  transition:transform .12s ease,filter .12s ease,background .15s ease,color .15s ease;
  display:inline-block}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:2px solid var(--flood-soft);outline-offset:2px}
.btn-solid{background:var(--flood);color:var(--pitch)}
.btn-solid:hover{filter:brightness(1.07)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--flood);color:var(--flood-soft)}
.btn.on{color:var(--win);border-color:var(--win)}

main,section{position:relative;z-index:1}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted)}

/* ГЕРОЙ */
.hero{max-width:1120px;margin:0 auto;padding:clamp(48px,8vw,110px) clamp(16px,4vw,48px) clamp(40px,6vw,80px);
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero-copy .eyebrow{margin-bottom:18px}
.headline{font-family:'Archivo Narrow',sans-serif;font-weight:700;
  font-size:clamp(2.6rem,7vw,5rem);line-height:.98;letter-spacing:-.01em}
.headline em{font-style:normal;color:var(--flood)}
.sub{margin-top:20px;color:var(--muted);max-width:46ch;font-size:1.08rem}
.hero-cta{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}

.hero-demo{position:relative}
.demo-label{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted-2);margin-bottom:10px;display:flex;align-items:center;gap:7px}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--flood);animation:pulse 1.6s infinite}

/* ТАБЛО / КАРТОЧКИ МАТЧЕЙ */
.match{background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);border-radius:16px;padding:18px 22px;
  transition:border-color .3s ease,box-shadow .3s ease}
.match-head{display:flex;justify-content:space-between;align-items:center;
  font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--muted);margin-bottom:12px}
.minute::after{content:"'"}
.minute{color:var(--live);font-weight:500}
.score-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.team{font-weight:600;font-size:1.06rem}
.team.home{text-align:right}.team.away{text-align:left}
.score{font-family:'Archivo Narrow',sans-serif;font-weight:700;
  font-size:clamp(2rem,5vw,2.9rem);letter-spacing:.02em;
  display:inline-flex;align-items:baseline;gap:7px;font-variant-numeric:tabular-nums}
.score i{font-style:normal;color:var(--muted);font-size:.7em}
.score b{min-width:1ch;text-align:center;display:inline-block}

.match.goal{border-color:var(--flood);
  box-shadow:0 0 0 1px var(--flood),0 0 44px rgba(228,0,43,.35);animation:flash 1.1s ease}
@keyframes flash{0%{box-shadow:0 0 0 1px var(--flood),0 0 74px rgba(228,0,43,.6)}
  100%{box-shadow:0 0 0 1px var(--flood),0 0 44px rgba(228,0,43,0)}}
.score b.bump{animation:bump .5s cubic-bezier(.2,1.4,.4,1)}
@keyframes bump{0%{transform:translateY(0) scale(1);color:var(--ink)}
  35%{transform:translateY(-7px) scale(1.4);color:var(--flood)}
  100%{transform:translateY(0) scale(1);color:var(--ink)}}

/* СЕКЦИИ */
.section{max-width:1120px;margin:0 auto;padding:clamp(40px,6vw,80px) clamp(16px,4vw,48px)}
.section-head{margin-bottom:30px}
.section-title{font-family:'Archivo Narrow',sans-serif;font-weight:700;
  font-size:clamp(1.7rem,4vw,2.6rem);letter-spacing:-.01em}
.section-note{margin-top:8px;color:var(--muted);max-width:52ch}
.board{display:grid;gap:14px}
.empty{color:var(--muted);text-align:center;padding:48px 0;
  border:1px dashed var(--line);border-radius:14px}

/* КАРТОЧКИ-КАНАЛЫ */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:10px}
.card-k{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted-2)}
.card h3{font-size:1.2rem;font-weight:700}
.card p{color:var(--muted);font-size:.95rem}
.card-btn{margin-top:auto;align-self:flex-start}
.card-accent{border-color:rgba(228,0,43,.4);
  box-shadow:0 0 40px rgba(228,0,43,.06) inset}

/* TELEGRAM */
.tg-inner{display:grid;grid-template-columns:1fr .9fr;gap:clamp(28px,5vw,56px);align-items:center;
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);border-radius:22px;padding:clamp(24px,4vw,44px)}
.tg-steps{list-style:none;margin:22px 0;display:flex;flex-direction:column;gap:12px}
.tg-steps li{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:1rem}
.tg-steps span{display:grid;place-items:center;width:26px;height:26px;flex:none;
  border-radius:50%;background:var(--flood);color:var(--pitch);font-weight:700;font-size:.85rem}
.tg-hint{margin-top:12px;color:var(--muted-2);font-size:.82rem}
.tg-mock{display:flex;flex-direction:column;gap:12px}
.tg-bubble{background:#17242f;border:1px solid var(--line);border-radius:14px 14px 14px 4px;
  padding:14px 16px;max-width:300px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.tg-goal{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:1.15rem;color:var(--flood);margin-bottom:2px}
.tg-meta{color:var(--muted);font-size:.8rem;margin-top:4px;font-family:'JetBrains Mono',monospace}

/* ФУТЕР */
.foot{border-top:1px solid var(--line-soft);margin-top:40px;
  padding:32px clamp(16px,4vw,48px);max-width:1120px;margin-left:auto;margin-right:auto;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.foot-brand{font-weight:700}
.foot p{color:var(--muted-2);font-size:.85rem;max-width:60ch}

/* ТОСТЫ */
.toasts{position:fixed;right:clamp(12px,3vw,24px);bottom:clamp(12px,3vw,24px);
  z-index:50;display:flex;flex-direction:column;gap:10px;max-width:340px}
.toast{background:var(--panel);border:1px solid var(--flood);border-left:4px solid var(--flood);
  border-radius:12px;padding:12px 14px;box-shadow:0 12px 40px rgba(0,0,0,.5);
  transform:translateX(120%);animation:slidein .35s ease forwards}
.toast .t-title{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:1.1rem;color:var(--flood)}
.toast .t-body{color:var(--ink);font-size:.9rem;margin-top:2px}
.toast .t-sub{color:var(--muted);font-size:.78rem;margin-top:4px;font-family:'JetBrains Mono',monospace}
@keyframes slidein{to{transform:translateX(0)}}
.toast.out{animation:slideout .3s ease forwards}
@keyframes slideout{to{transform:translateX(120%);opacity:0}}

/* АДАПТИВ */
@media (max-width:860px){
  .hero{grid-template-columns:1fr;padding-top:clamp(32px,10vw,60px)}
  .hero-demo{max-width:440px}
  .nav{display:none}
  .cards{grid-template-columns:1fr}
  .tg-inner{grid-template-columns:1fr}
  .tg-mock{order:-1;align-items:center}
  .tg-bubble{max-width:100%}
}
@media (max-width:560px){
  .top{gap:10px;padding:12px 14px}
  .nav{display:none}
  .badge{display:none}                 /* экономим место в шапке */
  .btn{padding:9px 14px;font-size:.82rem}
  .headline{font-size:clamp(2.3rem,11vw,3.2rem)}
  .sub{font-size:1rem}
  .hero-cta{gap:10px}
  .hero-cta .btn{flex:1 1 auto;text-align:center}   /* кнопки на всю ширину */
  .section{padding:36px 16px}
  .match{padding:15px 16px;border-radius:14px}
  .score-row{grid-template-columns:1fr;gap:8px;text-align:center}
  .team.home,.team.away{text-align:center;font-size:1rem}
  .score{font-size:2.4rem}
  .foot{flex-direction:column;align-items:flex-start;gap:10px}
  .toasts{left:12px;right:12px;bottom:12px;max-width:none}

  /* компактная шапка: всё помещается, ⚙ не уезжает */
  .top-actions{gap:8px;flex:none}
  .brand-name{font-size:1rem}
  #install-btn{padding:8px 12px;font-size:.78rem}
  #login-btn{padding:8px 12px;font-size:.8rem}
  .account-btn{width:34px;height:34px}
  .iconbtn{width:38px;height:38px;flex:none;padding:0;display:grid;place-items:center}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}

/* ===== ГРУППЫ ЛИГ ===== */
.league-group{margin-bottom:18px}
.league-title{display:flex;align-items:center;gap:8px;
  font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin:0 0 10px 2px}
.league-title .country{color:var(--flood-soft)}
.league-group .board{gap:8px}
.match{cursor:pointer}
.match:hover{border-color:var(--flood-soft)}

/* ===== ДЕТАЛИ МАТЧА (оверлей) ===== */
.detail{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}
.detail[hidden]{display:none}
.detail-backdrop{position:absolute;inset:0;background:rgba(4,10,16,.72);backdrop-filter:blur(3px)}
.detail-panel{position:relative;z-index:1;width:min(560px,100%);max-height:90vh;overflow-y:auto;
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);border-radius:18px;padding:26px 24px;
  box-shadow:0 30px 80px rgba(0,0,0,.6)}
.detail-close{position:absolute;top:14px;right:16px;background:none;border:none;
  color:var(--muted);font-size:1.1rem;cursor:pointer;line-height:1}
.detail-close:hover{color:var(--ink)}
.detail-league{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:14px}
.detail-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}
.d-team{font-weight:700;font-size:1.15rem}
.detail-score .d-team:first-child{text-align:right}
.detail-score .d-team:last-child{text-align:left}
.d-num{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:2.6rem;
  display:inline-flex;gap:8px;font-variant-numeric:tabular-nums}
.d-num i{color:var(--muted);font-style:normal}
.detail-min{text-align:center;color:var(--live);font-family:'JetBrains Mono',monospace;
  font-size:.8rem;margin-top:6px}
.detail-min::after{content:"'"}

.detail-tabs{display:flex;gap:8px;margin:20px 0 16px;border-bottom:1px solid var(--line)}
.d-tab{background:none;border:none;color:var(--muted);font-family:'Archivo',sans-serif;
  font-weight:600;font-size:.9rem;padding:8px 4px;cursor:pointer;border-bottom:2px solid transparent}
.d-tab.active{color:var(--ink);border-bottom-color:var(--flood)}

/* строки статистики с двойным баром */
.stat-row{margin:14px 0}
.stat-head{display:flex;justify-content:space-between;align-items:baseline;
  font-size:.9rem;margin-bottom:6px}
.stat-head b{font-variant-numeric:tabular-nums}
.stat-head span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.stat-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--line-soft)}
.stat-bar .sh{background:var(--flood)}
.stat-bar .sa{background:var(--tg)}
.stat-empty{color:var(--muted);text-align:center;padding:24px 0;font-size:.9rem}

/* лента событий */
.ev{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-soft)}
.ev:last-child{border-bottom:none}
.ev-min{font-family:'JetBrains Mono',monospace;color:var(--muted);width:38px;flex:none}
.ev-min::after{content:"'"}
.ev-ic{width:22px;text-align:center;flex:none}
.ev-goal .ev-ic{filter:none}
.ev-txt{font-size:.92rem}
.ev-txt .team{color:var(--muted)}

@media (max-width:560px){
  .detail-panel{padding:20px 16px}
  .d-num{font-size:2.1rem}
  .d-team{font-size:1rem}
}

.league-title .flag{font-size:1rem;line-height:1}

/* ============ РАСКЛАДКА ТАБЛО: САЙДБАР + ЛЕНТА ============ */
.board-layout{display:grid;grid-template-columns:250px 1fr;gap:22px;align-items:start}
.board-col{min-width:0}
.board-viewbar{display:flex;align-items:center;gap:8px;margin:0 0 14px 2px;
  font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:1.15rem}

/* боковая панель категорий */
.sidebar{position:sticky;top:76px;background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);border-radius:16px;padding:10px;max-height:calc(100vh - 100px);overflow-y:auto}
.cat-fixed{display:flex;flex-direction:column;gap:2px}
.cat-divider{font-family:'JetBrains Mono',monospace;font-size:.64rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted-2);margin:12px 8px 6px}
.cat-list{display:flex;flex-direction:column;gap:1px}
.cat-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;
  background:none;border:none;color:var(--muted);font-family:'Archivo',sans-serif;
  font-size:.9rem;padding:9px 10px;border-radius:9px;cursor:pointer;transition:background .15s,color .15s}
.cat-item:hover{background:rgba(255,255,255,.03);color:var(--ink)}
.cat-item.active{background:rgba(228,0,43,.12);color:var(--flood-soft)}
.cat-ic{width:18px;text-align:center;flex:none;color:var(--flood)}
.cat-item .cat-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-count{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--muted-2);
  background:var(--line-soft);border-radius:999px;padding:1px 7px;flex:none}
.cat-item.active .cat-count{color:var(--flood-soft)}
.cat-flag{width:18px;text-align:center;flex:none;font-size:1rem;line-height:1}
.live-ic{width:9px;height:9px;border-radius:50%;background:var(--live);
  box-shadow:0 0 0 0 rgba(255,77,77,.6);animation:pulse 1.6s infinite}

/* звезда избранного на карточке */
.match-head{gap:8px}
.fav{background:none;border:none;color:var(--muted-2);font-size:1.05rem;line-height:1;
  cursor:pointer;padding:0;margin-right:2px;flex:none;transition:color .15s,transform .12s}
.fav:hover{color:var(--flood-soft);transform:scale(1.15)}
.fav.on{color:var(--flood)}
.match-head .league{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ============ НИЖНЯЯ ПАНЕЛЬ (моб.) ============ */
.botnav{display:none}
.bn-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;
  flex:1;background:none;border:none;color:var(--muted);font-family:'Archivo',sans-serif;
  font-size:.7rem;padding:8px 0;cursor:pointer}
.bn-item.active{color:var(--flood-soft)}
.bn-ic{font-size:1.15rem;line-height:1}
.bn-item.active .bn-ic{color:var(--flood)}
.bn-badge{position:absolute;top:2px;right:calc(50% - 26px);background:var(--flood);color:var(--pitch);
  font-size:.6rem;font-weight:700;border-radius:999px;padding:0 5px;min-width:15px;text-align:center}

/* ============ ЛИСТ ЛИГ (моб.) ============ */
.sheet{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end}
.sheet[hidden]{display:none}
.sheet-backdrop{position:absolute;inset:0;background:rgba(4,10,16,.6);backdrop-filter:blur(2px)}
.sheet-panel{position:relative;z-index:1;width:100%;max-height:70vh;overflow-y:auto;
  background:var(--panel);border-top:1px solid var(--line);border-radius:18px 18px 0 0;
  padding:10px 14px calc(14px + env(safe-area-inset-bottom));animation:sheetUp .28s ease}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.sheet-grip{width:38px;height:4px;border-radius:2px;background:var(--line);margin:6px auto 10px}
.sheet-title{display:flex;align-items:center;justify-content:space-between;
  font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:1.1rem;margin-bottom:8px}
.sheet-close{background:none;border:none;color:var(--muted);font-size:1rem;cursor:pointer}

/* на мобильном: прячем сайдбар, показываем нижнюю панель */
@media (max-width:860px){
  .board-layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .board-viewbar{font-size:1.3rem;margin-top:4px}
  .botnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;
    background:linear-gradient(180deg,rgba(12,24,36,.96),rgba(10,20,30,.99));
    backdrop-filter:blur(10px);border-top:1px solid var(--line);
    padding-bottom:env(safe-area-inset-bottom)}
  body{padding-bottom:62px}          /* чтобы контент не прятался под панель */
  .toasts{bottom:74px}               /* тосты над нижней панелью */
}

/* ==================================================================
   ЭКРАН-СПИСОК В СТИЛЕ FLASHSCORE
   ================================================================== */
.app{max-width:760px;margin:0 auto;padding:0 0 20px;position:relative;z-index:1}

/* переключатель спорта */
.app-sport{display:flex;align-items:center;gap:8px;padding:16px clamp(14px,3vw,20px) 12px}
.sport-cur{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:1.5rem;
  display:flex;align-items:center;gap:8px}
.sport-ic{font-size:1.1rem}
.sport-caret{color:var(--muted);font-size:.9rem}
.app-conn{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:.62rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}

/* лента дат */
.datestrip{display:flex;overflow-x:auto;gap:0;border-bottom:1px solid var(--line);
  scrollbar-width:none}
.datestrip::-webkit-scrollbar{display:none}
.dscol{flex:1 0 auto;min-width:64px;text-align:center;padding:8px 10px 10px;cursor:pointer;
  border-bottom:2px solid transparent;transition:color .15s}
.dscol .dow{display:block;font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.dscol .dnum{display:block;font-size:.72rem;color:var(--muted-2);margin-top:2px}
.dscol.today .dow{color:var(--flood)}
.dscol.active{border-bottom-color:var(--flood)}
.dscol.today .dnum{visibility:hidden}
.dscol.active .dow{color:var(--flood)}
.dscol.active .dnum{color:var(--ink)}

/* строка "Все игры" */
.allgames{display:flex;align-items:center;gap:12px;width:100%;background:none;border:none;
  color:var(--ink);font-family:'Archivo',sans-serif;font-weight:700;font-size:1.05rem;
  padding:14px clamp(14px,3vw,20px);border-bottom:1px solid var(--line);cursor:pointer;text-align:left}
.ag-ic{color:var(--muted)}
.ag-name{flex:1}
.ag-live{background:var(--flood);color:#fff;font-family:'JetBrains Mono',monospace;font-size:.72rem;
  font-weight:700;border-radius:5px;padding:2px 8px;min-width:26px;text-align:center}
.ag-total{color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:.9rem;min-width:34px;text-align:right}

/* секции лиг */
.lsec{margin-top:2px}
.lsec[hidden]{display:none}
.lsec-title{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--win);background:var(--pitch-2);padding:9px clamp(14px,3vw,20px);border-bottom:1px solid var(--line)}
#sec-all .lsec-title{color:var(--muted)}

/* строка лиги */
.lrow{border-bottom:1px solid var(--line-soft)}
.lrow-head{display:flex;align-items:center}
.lrow .lrow-star{background:none;border:none;color:var(--muted-2);font-size:1rem;line-height:1;
  padding:0 4px 0 clamp(10px,3vw,16px);cursor:pointer;flex:none;align-self:center}
.lrow .lrow-star:hover{color:var(--flood-soft)}
.lrow .lrow-star.on{color:var(--flood)}
.lrow-flag{font-size:1.1rem;line-height:1;flex:none;width:26px;text-align:center}
.lrow-main{flex:1;display:flex;align-items:center;gap:10px;background:none;border:none;
  color:var(--ink);font-family:'Archivo',sans-serif;text-align:left;
  padding:11px clamp(14px,3vw,20px) 11px 4px;cursor:pointer}
.lrow-text{flex:1;display:flex;flex-direction:column;line-height:1.15;min-width:0}
.lrow-league{font-weight:700;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow-country{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-top:1px}
.lrow-count{color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:.85rem;flex:none}
.lrow-caret{color:var(--muted-2);font-size:.8rem;flex:none;transition:transform .2s}
.lrow.open .lrow-caret{transform:rotate(180deg)}
.lrow-matches{display:none}
.lrow.open .lrow-matches{display:block;background:var(--panel-2)}

/* wrap head elements (flag+main) on one line */
.lrow{display:grid;grid-template-columns:auto 1fr;align-items:center}
.lrow-matches{grid-column:1/-1}

/* строка матча (внутри раскрытой лиги) */
.mrow{display:flex;align-items:center;gap:12px;padding:8px clamp(14px,3vw,20px) 8px 40px;
  border-top:1px solid var(--line-soft);cursor:pointer}
.mrow:hover{background:rgba(255,255,255,.02)}
.mrow-min{color:var(--live);font-family:'JetBrains Mono',monospace;font-size:.72rem;
  width:30px;flex:none;text-align:center}
.mrow-min:not(.sched):not(.ft):not(.ht)::after{content:"'"}
.mrow-teams{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.mrow-line{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mrow-team{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow-sc{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:1.05rem;
  font-variant-numeric:tabular-nums;flex:none;min-width:16px;text-align:right}
.mrow.goal{animation:rowflash 1.1s ease}
@keyframes rowflash{0%{background:rgba(228,0,43,.35)}100%{background:transparent}}
.mrow-sc.bump{animation:bump .5s cubic-bezier(.2,1.4,.4,1);display:inline-block}

/* нижняя панель: 4 вкладки, видна всегда (и на ПК как во Flashscore) */
.botnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;
  background:var(--pitch-2);border-top:1px solid var(--line);
  padding-bottom:env(safe-area-inset-bottom)}
body{padding-bottom:64px}
.toasts{bottom:76px}

@media (max-width:560px){
  .sport-cur{font-size:1.3rem}
}

/* блок спорта+дат теперь внизу списка — отделим сверху */
.app-top{border-bottom:1px solid var(--line)}
.app-top .app-sport{padding-top:14px}

/* флаги-картинки (flagcdn) */
.flagimg{width:22px;height:15px;object-fit:cover;border-radius:2px;display:block;
  box-shadow:0 0 0 1px rgba(0,0,0,.35)}
.lrow-flag{display:flex;align-items:center;justify-content:center}

/* SEO-заголовок сверху списка */
.app-seo{padding:16px clamp(14px,3vw,20px) 12px}
.seo-title{font-family:'Archivo Narrow',sans-serif;font-weight:700;
  font-size:clamp(1.5rem,4vw,2rem);letter-spacing:-.01em}
.seo-sub{margin-top:6px;color:var(--muted);font-size:.9rem;max-width:60ch}

/* SVG-иконки нижней панели */
.botnav .bn-ic{width:22px;height:22px}
.bn-item{color:var(--muted)}
.bn-item.active{color:var(--flood-soft)}
.bn-item.active .bn-ic{color:var(--flood)}

/* звёзды у команд в строке матча */
.mrow-line{position:relative}
.tstar{background:none;border:none;color:var(--muted-2);font-size:.95rem;line-height:1;
  cursor:pointer;padding:0 8px 0 0;flex:none;transition:color .15s,transform .12s}
.tstar:hover{color:var(--flood-soft);transform:scale(1.15)}
.tstar.on{color:var(--flood)}
.mrow-line{display:flex;align-items:center;gap:0}
.mrow-line .mrow-team{flex:1;margin-left:2px}

/* блок «Избранные команды»: матчи с мини-подписью лиги */
.favg{border-bottom:1px solid var(--line-soft)}
.favg-league{display:flex;align-items:center;gap:8px;padding:8px clamp(14px,3vw,20px);
  font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;
  background:var(--panel-2)}
.favg-league .flagimg{width:18px;height:12px}
.favg .mrow{background:transparent}

/* кнопка уведомлений: включено/выключено */
.btn.on{color:var(--win);border-color:var(--win)}
.btn.voiceoff{opacity:.9}

/* кнопка-шестерёнка */
.iconbtn{background:transparent;border:1px solid var(--line);border-radius:9px;
  width:40px;height:40px;display:grid;place-items:center;color:var(--ink);cursor:pointer;
  transition:border-color .15s,color .15s}
.iconbtn:hover{border-color:var(--flood);color:var(--flood-soft)}
.iconbtn svg{width:20px;height:20px}

/* панель настроек */
.settings{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-start;justify-content:flex-end}
.settings[hidden]{display:none}
.settings-backdrop{position:absolute;inset:0;background:rgba(4,10,16,.55);backdrop-filter:blur(2px)}
.settings-panel{position:relative;z-index:1;width:min(360px,92vw);margin:70px 16px 0;
  background:var(--panel);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);padding:16px;animation:setIn .2s ease}
@keyframes setIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.settings-head{display:flex;align-items:center;justify-content:space-between;
  font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:1.3rem;margin-bottom:14px}
.settings-close{background:none;border:none;color:var(--muted);font-size:1.05rem;cursor:pointer}
.setrow{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 0;border-top:1px solid var(--line-soft);cursor:pointer}
.setrow:first-of-type{border-top:none}
.setrow-text{display:flex;flex-direction:column;gap:2px}
.setrow-text b{font-size:.98rem}
.setrow-text small{color:var(--muted);font-size:.8rem}
.settings-note{color:var(--muted-2);font-size:.8rem;margin-top:12px;line-height:1.4}

/* переключатель */
.switch{position:relative;flex:none;width:46px;height:26px}
.switch input{opacity:0;width:0;height:0;position:absolute}
.slider{position:absolute;inset:0;background:var(--line);border-radius:999px;transition:background .2s;cursor:pointer}
.slider::before{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;
  background:#fff;transition:transform .2s}
.switch input:checked + .slider{background:var(--flood)}
.switch input:checked + .slider::before{transform:translateX(20px)}
.switch input:focus-visible + .slider{outline:2px solid var(--flood-soft);outline-offset:2px}

/* PWA: запрет масштабирования двойным тапом + аккуратные тапы */
html{touch-action:manipulation}
button,a,.mrow,.lrow-main,.dscol,.tstar,.bn-item{touch-action:manipulation}

/* баннер установки для iOS */
.ios-install{position:fixed;left:12px;right:12px;bottom:74px;z-index:60;
  display:flex;align-items:center;gap:10px;
  background:var(--panel);border:1px solid var(--flood);border-radius:12px;
  padding:12px 14px;box-shadow:0 12px 40px rgba(0,0,0,.5);font-size:.86rem}
.ios-install[hidden]{display:none}
.ios-install b{color:var(--flood-soft)}
.ios-install button{margin-left:auto;background:none;border:none;color:var(--muted);
  font-size:1rem;cursor:pointer;flex:none}

/* логотипы команд в строках матчей */
.mrow-logo{width:20px;height:20px;object-fit:contain;flex:none;margin-right:6px;border-radius:3px}
.mrow-line{display:flex;align-items:center;gap:0}
.mrow-line .tstar{order:-1}
.mrow-line .mrow-team{flex:1;margin-left:0}
/* запланированные матчи: время начала вместо минуты */
.mrow-min.sched{color:var(--muted);font-weight:600}
.mrow.is-sched .mrow-sc{color:var(--muted-2)}
/* мягкий ховер строки (как у ruscore) */
.mrow{transition:background .12s}
.mrow:hover{background:rgba(255,255,255,.03)}

/* ================= КАРТОЧКИ-«ОБВОДКИ» В СТИЛЕ RUSCORE ================= */
:root{ --line:#3d3d3d; --line-soft:#343434; --card:#232323; }

.app{padding-left:clamp(10px,3vw,16px);padding-right:clamp(10px,3vw,16px)}

/* блок спорта + даты — карточка */
.app-top{background:var(--card);border:1px solid var(--line);border-radius:14px;
  margin:14px 0 12px;overflow:hidden}
.app-top .app-sport{padding:12px 16px}
.app-top .datestrip{border-top:1px solid var(--line-soft);border-bottom:none}

/* строка «Все игры» — карточка */
.allgames{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0 0 12px}

/* секции лиг — карточка с рамкой */
.lsec{background:var(--card);border:1px solid var(--line);border-radius:12px;
  overflow:hidden;margin:0 0 12px}
.lsec-title{background:rgba(255,255,255,.03)}

/* строки внутри карточки: последняя без нижней границы */
.lsec-list .lrow:last-child{border-bottom:none}
.favg:last-child{border-bottom:none}

/* SEO-заголовок чуть компактнее */
.app-seo{padding:6px 4px 12px}
.seo-title{font-size:clamp(1.25rem,3.4vw,1.7rem)}

/* ================= ПОИСК ================= */
.searchbar{position:relative;display:flex;align-items:center;margin:0 0 12px}
.searchbar .search-ic{position:absolute;left:14px;width:18px;height:18px;color:var(--muted);pointer-events:none}
.searchbar input{width:100%;background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:12px 40px 12px 42px;color:var(--ink);font-family:'Archivo',sans-serif;font-size:.95rem;outline:none;
  transition:border-color .15s}
.searchbar input:focus{border-color:var(--flood)}
.searchbar input::placeholder{color:var(--muted-2)}
.search-clear{position:absolute;right:10px;background:none;border:none;color:var(--muted);
  font-size:1rem;cursor:pointer;padding:6px}

/* ================= КРАСИВЫЙ АНИМИРОВАННЫЙ ФОН ================= */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(40% 35% at 15% 12%, rgba(228,0,43,.14), transparent 60%),
    radial-gradient(45% 40% at 85% 20%, rgba(90,20,60,.16), transparent 60%),
    radial-gradient(50% 45% at 50% 95%, rgba(228,0,43,.10), transparent 60%);
  background-color:var(--pitch);
  animation:aurora 18s ease-in-out infinite alternate;
}
@keyframes aurora{
  0%{background-position:0% 0%, 100% 0%, 50% 100%}
  50%{background-position:10% 8%, 88% 12%, 55% 92%}
  100%{background-position:0% 0%, 100% 0%, 50% 100%}
}
/* тонкая «дышащая» подсветка сверху */
body::after{
  content:"";position:fixed;left:50%;top:-25%;width:120vw;height:60vh;z-index:-1;
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(closest-side, rgba(228,0,43,.10), transparent 70%);
  animation:breathe 8s ease-in-out infinite alternate;
}
@keyframes breathe{0%{opacity:.5;transform:translateX(-50%) scale(1)}100%{opacity:.9;transform:translateX(-50%) scale(1.15)}}

/* карточки чуть «стеклянные» поверх живого фона */
.app-top,.allgames,.lsec,.searchbar input{backdrop-filter:blur(6px)}

@media (prefers-reduced-motion:reduce){
  body::before,body::after{animation:none}
}

/* ================= ЛЕНТА ДАТ — ТЁМНАЯ, ЧИТАЕМАЯ ================= */
.datestrip{gap:6px;padding:10px 12px;border-bottom:none}
.dscol{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;
  min-width:60px;padding:8px 10px;transition:background .15s,border-color .15s,transform .1s}
.dscol:hover{background:rgba(255,255,255,.07)}
.dscol:active{transform:scale(.97)}
.dscol .dow{color:var(--muted);font-weight:700}
.dscol .dnum{color:var(--muted-2)}
/* сегодня — красная рамка + красный день недели */
.dscol.today{border-color:var(--flood)}
.dscol.today .dow{color:var(--flood-soft)}
.dscol.today .dnum{visibility:visible;color:var(--muted)}
/* выбранный день — красная заливка, белый текст */
.dscol.active{background:var(--flood);border-color:var(--flood);
  box-shadow:0 4px 14px rgba(228,0,43,.35)}
.dscol.active .dow{color:#fff}
.dscol.active .dnum{color:rgba(255,255,255,.85);visibility:visible}

/* общая звезда на строке лиги */
.lrow{grid-template-columns:auto auto 1fr}
.lrow-star{background:none;border:none;color:var(--muted-2);font-size:1rem;line-height:1;
  cursor:pointer;padding:0 2px 0 clamp(10px,3vw,16px);flex:none;align-self:center;
  transition:color .15s,transform .12s}
.lrow-star:hover{color:var(--flood-soft);transform:scale(1.15)}
.lrow-star.on{color:var(--flood)}
.lrow-matches{grid-column:1/-1}

/* ================= КРУПНЕЕ ШРИФТЫ + ЗАМЕТНОЕ ВРЕМЯ ================= */
.mrow{padding-top:10px;padding-bottom:10px;gap:14px}
.mrow-team{font-size:1.02rem}
.mrow-sc{font-size:1.2rem}
.lrow-league{font-size:1.05rem}
.lrow-country{font-size:.76rem}
/* время/минута матча — крупнее и заметнее */
.mrow-min{font-size:.9rem;font-weight:700;width:44px}
.mrow-min.sched{color:var(--ink);background:rgba(255,255,255,.06);border-radius:6px;
  padding:3px 0;font-size:.82rem}
.mrow-min.ft{color:var(--muted)}

/* ================= КАРТОЧКА КОМАНДЫ ================= */
.mrow-team{cursor:pointer}
.mrow-team:hover{color:var(--flood-soft);text-decoration:underline;text-underline-offset:2px}

.tc-head{display:flex;align-items:center;gap:12px;margin-bottom:2px}
.tc-logo{width:34px;height:34px;object-fit:contain}
.tc-name{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:1.4rem}
.tc-sub{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 0 8px}
.tc-list{display:flex;flex-direction:column;gap:1px;max-height:56vh;overflow-y:auto}
.tc-loading{color:var(--muted);text-align:center;padding:24px 0;font-size:.9rem}
.tc-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;
  padding:9px 4px;border-top:1px solid var(--line-soft)}
.tc-row:first-child{border-top:none}
.tc-date{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--muted)}
.tc-teams{display:flex;flex-direction:column;gap:3px;min-width:0}
.tc-teams span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.92rem}
.tc-score{display:flex;flex-direction:column;gap:3px;text-align:right;font-family:'Archivo Narrow',sans-serif;font-weight:700}
.tc-res{width:22px;height:22px;border-radius:5px;display:grid;place-items:center;
  font-size:.72rem;font-weight:700;color:#fff}
.tc-res.win{background:var(--win)}
.tc-res.draw{background:#8a8a8a}
.tc-res.loss{background:var(--flood)}

/* ================= ЧАТ ================= */
.chat{position:fixed;inset:0;z-index:75;display:flex;flex-direction:column;
  background:var(--pitch);padding-top:env(safe-area-inset-top)}
.chat[hidden]{display:none}
.chat-head{display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;border-bottom:1px solid var(--line);background:var(--pitch-2)}
.chat-title{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:1.2rem}
.chat-online{font-size:.72rem;color:var(--win);margin-left:8px;font-family:'Archivo',sans-serif;font-weight:600}
.chat-close{background:none;border:none;color:var(--muted);font-size:1.1rem;cursor:pointer}
.chat-msgs{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.cmsg{max-width:82%;align-self:flex-start;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:8px 12px}
.cmsg.mine{align-self:flex-end;background:rgba(228,0,43,.16);border-color:rgba(228,0,43,.4)}
.cmsg-name{font-size:.72rem;font-weight:700;color:var(--flood-soft);margin-bottom:2px}
.cmsg.mine .cmsg-name{color:var(--flood-soft)}
.cmsg-text{font-size:.98rem;word-wrap:break-word;line-height:1.35}
.cmsg-text.sticker{font-size:2.4rem;line-height:1}
.cmsg-time{font-size:.62rem;color:var(--muted-2);margin-top:2px;text-align:right}
.chat-stickers{display:none;flex-wrap:wrap;gap:6px;padding:10px 14px;border-top:1px solid var(--line);
  background:var(--pitch-2);max-height:170px;overflow-y:auto}
.chat-stickers.open{display:flex}
.chat-stickers button{font-size:1.8rem;background:none;border:none;cursor:pointer;
  border-radius:8px;padding:4px;transition:background .12s}
.chat-stickers button:hover{background:rgba(255,255,255,.06)}
.chat-inputbar{display:flex;align-items:center;gap:8px;padding:10px 12px;
  padding-bottom:calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--pitch-2)}
.chat-sticker-btn{background:none;border:none;font-size:1.4rem;cursor:pointer;flex:none}
.chat-inputbar input{flex:1;background:var(--card);border:1px solid var(--line);border-radius:20px;
  padding:10px 16px;color:var(--ink);font-family:'Archivo',sans-serif;font-size:.95rem;outline:none}
.chat-inputbar input:focus{border-color:var(--flood)}
.chat-send{background:var(--flood);border:none;color:#fff;width:40px;height:40px;border-radius:50%;
  font-size:1.1rem;cursor:pointer;flex:none;display:grid;place-items:center}

/* окно ввода имени */
.chat-namebox{position:fixed;inset:0;z-index:80;display:grid;place-items:center;
  background:rgba(4,10,16,.7);backdrop-filter:blur(3px)}
.chat-namebox[hidden]{display:none}
.chat-namepanel{background:var(--panel);border:1px solid var(--line);border-radius:16px;
  padding:20px;width:min(340px,90vw);display:flex;flex-direction:column;gap:12px}
.chat-nametitle{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:1.2rem}
.chat-namepanel input{background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;color:var(--ink);font-size:1rem;outline:none}
.chat-namepanel input:focus{border-color:var(--flood)}

/* ================= АДМИН В ЧАТЕ ================= */
.cmsg.admin{border-color:rgba(255,182,39,.5);background:rgba(255,182,39,.06)}
.cmsg.admin .cmsg-name{
  background:linear-gradient(90deg,#ffd24a,#e4002b,#ff6a00,#ffd24a);
  background-size:300% 100%;-webkit-background-clip:text;background-clip:text;
  color:transparent;font-weight:800;animation:adminglow 4s linear infinite}
@keyframes adminglow{0%{background-position:0% 50%}100%{background-position:300% 50%}}
.crown{margin-right:4px;-webkit-text-fill-color:initial;filter:drop-shadow(0 0 4px rgba(255,182,39,.6));
  animation:crownpulse 2s ease-in-out infinite}
@keyframes crownpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
/* кнопки модерации */
.cmsg-mod{margin-left:8px;display:inline-flex;gap:4px;vertical-align:middle}
.cmsg-mod button{background:none;border:none;cursor:pointer;font-size:.82rem;opacity:.6;padding:0 2px}
.cmsg-mod button:hover{opacity:1}

/* кнопки в шапке чата */
.chat-headbtns{display:flex;align-items:center;gap:6px}
.chat-sound{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:2px 4px}

/* ================= ФОТО В ЧАТЕ ================= */
.chat-photo-btn{background:none;border:none;font-size:1.3rem;cursor:pointer;flex:none}
.cmsg-img{margin-top:6px;max-width:220px;max-height:260px;border-radius:10px;cursor:pointer;
  display:block;object-fit:cover;border:1px solid var(--line)}
.cmsg-img:hover{filter:brightness(1.05)}

/* лайтбокс на весь экран */
.lightbox{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.92);
  display:flex;align-items:center;justify-content:center;overflow:auto}
.lightbox[hidden]{display:none}
.lightbox img{max-width:96vw;max-height:92vh;border-radius:6px;transition:transform .2s;cursor:zoom-in}
.lb-close{position:fixed;top:calc(14px + env(safe-area-inset-top));right:16px;z-index:1;
  background:rgba(255,255,255,.12);border:none;color:#fff;width:42px;height:42px;border-radius:50%;
  font-size:1.2rem;cursor:pointer}
.lb-close:hover{background:rgba(255,255,255,.22)}

/* новая раскладка панели ввода чата: поле + иконки справа у отправки */
.chat-inputbar{gap:8px}
.chat-inputbar input#chat-input{flex:1;min-width:0}
.chat-actions{display:flex;align-items:center;gap:4px;flex:none}
.chat-iconbtn{background:none;border:none;color:var(--muted);cursor:pointer;
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;transition:background .12s,color .12s}
.chat-iconbtn:hover{background:rgba(255,255,255,.06);color:var(--flood-soft)}
.chat-iconbtn svg{width:22px;height:22px}
.chat-send svg{width:20px;height:20px}

/* названия команд больше не «ссылка» (клик по строке = статистика) */
.mrow-team{cursor:pointer;text-decoration:none!important}
.mrow-team:hover{color:inherit;text-decoration:none}
.mrow-logo{cursor:pointer}

/* составы */
.lu-team{margin-bottom:16px}
.lu-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:1rem}
.lu-head img{width:22px;height:22px;object-fit:contain}
.lu-form{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--muted);
  background:var(--line-soft);border-radius:6px;padding:2px 8px}
.lu-list{display:flex;flex-direction:column;gap:1px}
.lu-p{padding:7px 10px;border-top:1px solid var(--line-soft);font-size:.92rem}
.lu-p:first-child{border-top:none}
.lu-sub-title{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  margin:10px 0 4px}
.lu-list.subs .lu-p{color:var(--muted)}

/* привязка Telegram */
.settings-link{margin-top:14px;border-top:1px solid var(--line-soft);padding-top:14px}
.tg-code{margin-top:10px;font-size:.9rem;line-height:1.5;color:var(--muted);
  background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px}
.tg-code[hidden]{display:none}
.tg-codeval{font-family:'JetBrains Mono',monospace;font-size:1.4rem;color:var(--flood-soft);letter-spacing:.1em}
.tg-code code{background:rgba(255,255,255,.06);padding:2px 6px;border-radius:5px;color:var(--ink)}
.tg-hint{display:block;margin-top:8px;font-size:.78rem;color:var(--muted-2)}

/* красная карточка (удаление игрока) в строке матча */
.redcard{display:inline-grid;place-items:center;width:11px;height:15px;border-radius:2px;
  background:var(--flood);margin-left:6px;flex:none;vertical-align:middle;
  color:#fff;font-size:.6rem;font-weight:700;line-height:1}
.mrow-line{flex-wrap:nowrap}

/* красная карточка — вплотную к названию команды (как на Flashscore) */
.mrow-line .mrow-team{flex:0 1 auto}
.mrow-line .mrow-sc{margin-left:auto}
.redcard{margin-left:6px;margin-right:0}

/* ================= КАРТОЧКА КОМАНДЫ (Flashscore-style) ================= */
.tc-panel{max-width:460px}
.tc-hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 0 14px;
  border-bottom:1px solid var(--line)}
.tc-hero .tc-logo{width:64px;height:64px;object-fit:contain;display:block}
.tc-name{font-family:'Archivo Narrow',sans-serif;font-weight:800;font-size:1.6rem;text-align:center}
.tc-country{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.tc-tabs{display:flex;gap:6px;margin:12px 0}
.tc-tab{flex:1;background:var(--card);border:1px solid var(--line);border-radius:10px;
  color:var(--muted);font-family:'Archivo',sans-serif;font-weight:600;font-size:.9rem;
  padding:9px 0;cursor:pointer;transition:all .15s}
.tc-tab.active{background:var(--flood);border-color:var(--flood);color:#fff}
.tc-body{max-height:54vh;overflow-y:auto}
.tcg-league{display:flex;align-items:center;gap:8px;padding:8px 4px;margin-top:6px;
  font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;
  border-bottom:1px solid var(--line-soft)}
.tcg-league .flagimg{width:18px;height:12px}
.tcg-row{display:flex;align-items:center;gap:12px;padding:9px 4px;border-bottom:1px solid var(--line-soft)}
.tcg-teams{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.tcg-teams span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.92rem;color:var(--muted)}
.tcg-teams span.me{color:var(--ink);font-weight:600}
.tcg-score{display:flex;flex-direction:column;gap:3px;text-align:right;
  font-family:'Archivo Narrow',sans-serif;font-weight:700;min-width:16px}
.tcg-time{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--muted);text-align:right;line-height:1.3}

/* ================= СОБЫТИЯ МАТЧА — АККУРАТНЫЕ ИКОНКИ ================= */
.ev{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line-soft)}
.ev-min{font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--muted);
  min-width:38px;flex:none}
.evi{width:20px;height:20px;flex:none;display:grid;place-items:center}
.evi svg{width:20px;height:20px}
/* карточки — прямоугольники */
.evi-card{width:13px;height:17px;border-radius:2px}
.evi-card.yellow{background:#ffcb05}
.evi-card.red{background:var(--flood)}
.ev-txt{font-size:.95rem;line-height:1.3}
.ev-txt b{font-weight:600}
.ev-assist{color:var(--muted);font-size:.85rem}
.ev-team{color:var(--muted);font-size:.82rem;margin-left:4px}

/* кликабельные названия команд в шапке матча */
.d-team.clickable{cursor:pointer;transition:color .15s}
.d-team.clickable:hover{color:var(--flood-soft);text-decoration:underline;text-underline-offset:3px}
/* карточка команды поверх окна матча */
#team-card{z-index:90}

/* ================= ТЕМА FLASHSCORE (точные цвета) ================= */
:root{
  --pitch:#010a0f;        /* фон страницы (точный код) */
  --pitch-2:#00141e;
  --panel:#00141e;        /* блок с матчами (точный код) */
  --panel-2:#00141e;
  --card:#00141e;
  --line:#0b2734;         /* разделители с синевой */
  --line-soft:#08202b;
  --ink:#eef3f6;          /* белый текст */
  --muted:#7e8f9b;        /* приглушённый сине-серый */
  --muted-2:#51616c;
  --flood:#e4002b;        /* красный акцент (как у Flashscore) */
  --flood-soft:#ff3a58;
  --live:#e4002b;
  --win:#3db35b;          /* зелёный побед */
}

/* плоский фон как у Flashscore — точные цвета, без свечения */
body{background:var(--pitch)}
body::before{display:none}
body::after{display:none}

/* шапка — самый тёмный тон */
.top{background:#010a0f;border-bottom:1px solid var(--line)}

/* блоки с матчами — точный #00141e */
.app-top,.allgames,.lsec,.searchbar input,.dscol{background:#00141e}
.lsec-title{background:rgba(255,255,255,.02)}
.dscol{border-color:var(--line)}
.dscol.active{background:var(--flood);border-color:var(--flood);box-shadow:0 2px 10px rgba(228,0,43,.3)}

/* строки матчей — ближе к началу (меньше левый отступ и зазор) */
.mrow{padding-left:clamp(12px,3vw,16px);gap:10px}
.mrow-min{width:38px;text-align:center}

/* строки матчей — ещё чуть ближе к началу */
.mrow{gap:6px}
.mrow-min{width:32px}
.tstar{padding-right:4px}
.mrow-logo{margin-right:4px}

/* ================= НИЖНЯЯ ПАНЕЛЬ — КРУПНЕЕ И ЖИРНЕЕ (как Flashscore) ================= */
.botnav{padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
body{padding-bottom:80px}
.toasts{bottom:92px}
.botnav .bn-ic{width:27px;height:27px}
.bn-item{gap:5px}
.bn-item span:not(.bn-badge){font-size:.82rem;font-weight:700;letter-spacing:.01em}
.bn-item svg{stroke-width:2}
.bn-badge{top:-2px}

/* ================= МИНУТА В СТРОКЕ — НЕ ОБРЕЗАЕТСЯ, РОВНО ================= */
.mrow{padding-left:16px;gap:8px}
.mrow-min{width:42px;text-align:center;flex:none}

/* ================= ФИЛЬТР ПО СТРАНАМ В НАСТРОЙКАХ ================= */
.settings-countries{margin-top:14px;border-top:1px solid var(--line-soft);padding-top:14px}
.setc-head{display:flex;align-items:center;justify-content:space-between}
.setc-head b{font-size:1rem}
.setc-reset{background:none;border:none;color:var(--flood-soft);font-size:.82rem;cursor:pointer}
.setc-note{display:block;color:var(--muted);font-size:.78rem;margin:4px 0 10px}
.setc-list{max-height:44vh;overflow-y:auto;display:flex;flex-direction:column}
.setc-row{display:flex;align-items:center;gap:10px;padding:9px 2px;
  border-top:1px solid var(--line-soft);cursor:pointer}
.setc-row:first-child{border-top:none}
.setc-flag{width:24px;display:flex;justify-content:center;flex:none}
.setc-flag .flagimg{width:22px;height:15px}
.setc-name{flex:1;font-size:.95rem}
.setc-count{color:var(--muted);font-size:.8rem;font-family:'JetBrains Mono',monospace}
/* маленький переключатель */
.switch.small{width:40px;height:23px}
.switch.small .slider::before{width:17px;height:17px}
.switch.small input:checked + .slider::before{transform:translateX(17px)}

/* подсказка в пустом списке стран */
.setc-empty{color:var(--muted);font-size:.85rem;padding:14px 2px;text-align:center}

/* крестик в окне ввода имени */
.chat-namepanel{position:relative}
.chat-nameclose{position:absolute;top:10px;right:12px;background:none;border:none;
  color:var(--muted);font-size:1.1rem;cursor:pointer;padding:4px;line-height:1}
.chat-nameclose:hover{color:var(--ink)}
.chat-nametitle{padding-right:28px}

/* развести кнопки в шапке чата (звук и закрыть — не впритык) */
.chat-headbtns{gap:14px}
.chat-sound,.chat-close{padding:6px}
.chat-close{font-size:1.25rem}

/* контур-кнопка */
.btn-outline{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn-outline:hover{border-color:var(--flood);color:var(--flood-soft)}

/* раздел управления опросом API */
.settings-poll{margin-top:14px;border-top:1px solid var(--line-soft);padding-top:14px}
.poll-state{font-size:.82rem;font-weight:700}
.poll-state.live{color:var(--win)}
.poll-state.paused{color:var(--flood-soft)}
.settings-poll .btn{margin-top:10px}

/* панель настроек — прокрутка и запас снизу, чтобы низ не обрезался */
.settings-panel{
  max-height:calc(100vh - 60px - 96px - env(safe-area-inset-bottom));
  overflow-y:auto;
  padding-bottom:20px;
  margin-top:calc(56px + env(safe-area-inset-top));
  margin-bottom:calc(88px + env(safe-area-inset-bottom));
}

/* ================= ВХОД / АККАУНТ ================= */
.account-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  overflow:hidden;background:var(--card);cursor:pointer;padding:0;flex:none}
.account-btn img{width:100%;height:100%;object-fit:cover;display:block}
#login-btn{padding:8px 14px;font-size:.88rem}

.acc-panel{max-width:380px}
.acc-hero{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.acc-pic{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.acc-name{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:1.3rem}
.acc-email{color:var(--muted);font-size:.85rem}
.acc-note{color:var(--muted);font-size:.85rem;line-height:1.4;margin-bottom:16px;
  border-top:1px solid var(--line-soft);padding-top:12px}

/* атрибут hidden должен реально прятать кнопки входа/аккаунта и др. */
[hidden]{display:none !important}

/* аватар-заглушка с буквой (когда нет фото Google) */
.account-btn.letter{display:grid;place-items:center;background:var(--flood);color:#fff;
  font-weight:700;font-size:1.05rem}
.account-btn.letter::before{content:attr(data-letter)}
.account-btn.letter img{display:none}

/* SEO-заголовок скрыт визуально, но доступен поисковикам */
.seo-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* «Перерыв» — как на Flashscore, красной плашкой */
.mrow-min.ht{background:var(--flood);color:#fff;border-radius:5px;padding:3px 4px;
  font-size:.68rem;font-weight:700;line-height:1.1;width:auto;min-width:44px}

/* одна звезда на матч (слева, по центру строки) — как на Flashscore */
.mrow{position:relative}
.mstar{background:none;border:none;color:var(--muted-2);font-size:1.15rem;line-height:1;
  cursor:pointer;flex:none;align-self:center;padding:0 6px 0 clamp(10px,3vw,14px);
  transition:color .15s,transform .12s}
.mstar:hover{color:var(--flood-soft);transform:scale(1.15)}
.mstar.on{color:var(--flood)}
/* минута теперь идёт после звезды — уменьшим её левый отступ */
.mrow{padding-left:6px}

/* примечание на воротах чата (вход через Google) */
.chat-gate-note{color:var(--muted);font-size:.9rem;line-height:1.45;margin:6px 0 4px}

/* остаток лимита API в настройках */
.quota-box{margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;
  background:var(--card);font-size:.9rem;color:var(--ink);line-height:1.4}
.quota-box.low{border-color:var(--flood)}
.quota-warn{color:var(--flood-soft);font-size:.82rem;font-weight:600}

/* выбор режима уведомлений: избранное / все */
.notif-mode{padding:12px 0;border-top:1px solid var(--line-soft)}
.nm-title{font-size:.85rem;color:var(--muted);margin-bottom:8px}
.nm-options{display:flex;gap:8px}
.nm-opt{flex:1;background:var(--card);border:1px solid var(--line);border-radius:10px;
  color:var(--muted);font-family:'Archivo',sans-serif;font-weight:600;font-size:.9rem;
  padding:11px 6px;cursor:pointer;transition:all .15s}
.nm-opt.active{background:var(--flood);border-color:var(--flood);color:#fff}

/* онлайн на сайте */
.site-online{font-size:.7rem;color:var(--win);font-weight:600;margin-left:8px;letter-spacing:0}
/* онлайн в чате */
.chat-online{font-size:.72rem;color:var(--win);font-weight:600}

/* кнопка админа в чате */
.chat-admin-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:2px 4px;
  filter:drop-shadow(0 0 3px rgba(255,182,39,.5))}
/* админ-панель чата */
.chat-adminbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:10px 14px;background:var(--pitch-2);border-bottom:1px solid var(--line)}
.cab-btn{background:var(--card);border:1px solid var(--line);border-radius:8px;color:var(--ink);
  font-size:.85rem;font-weight:600;padding:8px 12px;cursor:pointer;font-family:'Archivo',sans-serif}
.cab-btn:hover{border-color:var(--flood);color:var(--flood-soft)}
.cab-hint{font-size:.72rem;color:var(--muted-2)}

/* список пользователей чата (админ) */
.cab-users{flex-basis:100%;margin-top:8px;max-height:220px;overflow-y:auto;
  border-top:1px solid var(--line);padding-top:8px;display:flex;flex-direction:column;gap:4px}
.cu-loading{color:var(--muted);font-size:.85rem;padding:8px 4px;text-align:center}
.cu-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--card);
  border:1px solid var(--line);border-radius:8px}
.cu-row.banned{border-color:rgba(228,0,43,.4)}
.cu-name{flex:1;font-size:.92rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cu-tag{font-size:.68rem;color:var(--flood-soft);font-weight:700}
.cu-count{font-size:.72rem;color:var(--muted-2);flex:none}
.cu-act{flex:none;border:none;border-radius:7px;padding:6px 10px;font-size:.8rem;font-weight:600;
  cursor:pointer;font-family:'Archivo',sans-serif}
.cu-act.ban{background:var(--flood);color:#fff}
.cu-act.unban{background:var(--card);color:var(--win);border:1px solid var(--win)}
