/* =========================================================
   SMB3.fi – SM-kisat (Aikataulu, Pisteet, Pelaajat, Ohjelma)
   Scope: VAIN .smk-scope -alueelle
   ========================================================= */

.smk-scope {
  --smk-bg: #2052af;
  --smk-bg-2: #2c61c5;
  --smk-panel: rgba(18, 42, 100, .55);
  --smk-panel-solid: #1a3a84;
  --smk-border: rgba(255,255,255,.28);
  --smk-border-strong: rgba(255,255,255,.45);
  --smk-text: #eaf3ff;
  --smk-muted: #cfe1ff;
  --smk-accent: #69d4e2;
  --smk-accent-2: #4f8cff;
  --smk-good: #5ce0a3;
  --smk-next: #9cf66a;
  --smk-played: #9ab5ff;
  --smk-shadow: 0 10px 30px rgba(0,0,0,.25), inset 0 0 0 1px var(--smk-border);
  --smk-radius: 16px;
  --smk-radius-sm: 12px;
  --smk-blur: blur(12px);
}

/* Perusrakenne */
.smk-scope .smk-section {
  background: linear-gradient(135deg, color-mix(in oklab, var(--smk-bg) 70%, transparent), color-mix(in oklab, var(--smk-bg-2) 80%, transparent));
  border: 2px solid var(--smk-border);
  color: var(--smk-text);
  border-radius: var(--smk-radius);
  box-shadow: var(--smk-shadow);
  backdrop-filter: var(--smk-blur);
  -webkit-backdrop-filter: var(--smk-blur);
  padding: 18px;
  margin: 24px auto;
  max-width: 1100px;
}

.smk-scope .smk-header { margin-bottom: 12px; }
.smk-scope .smk-header--row {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
}
.smk-scope .smk-title {
  margin: 0 0 4px 0;
  font-size: clamp(1.35rem, 1.1rem + 1vw, 1.8rem);
}
.smk-scope .smk-sub {
  margin: 0; opacity: .85; color: var(--smk-muted); font-size: .95rem;
}

/* ----- NEXT CARD ----- */
.smk-scope .smk-next-card{
  border-radius: var(--smk-radius);
  border: 2px solid var(--smk-border-strong);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: var(--smk-shadow);
  padding: 16px;
  margin-bottom: 18px;
}
.smk-scope .smk-next-top{
  display: flex; gap: 8px; align-items: center; justify-content: space-between; flex-wrap: wrap;
}
.smk-scope .smk-vs{
  display: flex; align-items: center; justify-content: center; gap: 10px;
  font-size: clamp(1.4rem, 1rem + 2vw, 2.2rem);
  font-weight: 800; margin: 8px 0 6px;
}
.smk-scope .smk-player{ color: #fff; text-shadow: 0 1px 0 rgba(0,0,0,.25); }
.smk-scope .smk-vs-sep{ opacity: .9; color: var(--smk-accent); }
.smk-scope .smk-meta{
  display: flex; flex-wrap: wrap; gap: 10px; justify-content: center;
  color: var(--smk-muted); font-size: .98rem; margin-bottom: 8px;
}
.smk-scope .smk-countdown{
  display: flex; gap: 10px; justify-content: center; align-items: center;
  padding: 10px; border-radius: var(--smk-radius-sm);
  background: linear-gradient(180deg, rgba(105,212,226,.16), rgba(79,140,255,.10));
  border: 1px solid var(--smk-border);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.smk-scope .smk-count { display:flex; align-items:center; gap:4px; }
.smk-scope .smk-count .num{
  font-variant-numeric: tabular-nums; font-weight: 800;
  background: rgba(0,0,0,.28); padding: 4px 8px; border-radius: 8px; min-width: 2.2ch; text-align: center;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.smk-scope .smk-count .lbl{ opacity: .85; }
.smk-scope .smk-actions{ display:flex; gap:10px; justify-content:center; margin-top:10px; }
.smk-scope .smk-btn{
  background: linear-gradient(90deg, var(--smk-accent-2), var(--smk-accent));
  color:#0b1f4d; border:none; font-weight:800; text-decoration:none;
  padding:10px 16px; border-radius: 12px; cursor:pointer;
  box-shadow: 0 8px 18px rgba(0,0,0,.2);
}
.smk-scope .smk-btn:hover{ filter: brightness(1.05); }
.smk-scope .smk-btn--ghost{
  background: transparent; color: var(--smk-text);
  border:1px solid var(--smk-border-strong);
}

/* ----- CHIPS / TOOLBAR ----- */
.smk-scope .smk-chip,
.smk-scope .smk-chip-btn{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px;
  background: rgba(255,255,255,.14);
  border: 1px solid var(--smk-border-strong);
  color:#fff; font-weight:700; font-size:.9rem;
}
.smk-scope .smk-chip--next{ background: linear-gradient(90deg, var(--smk-next), #b8fca0); color:#062d16; }
.smk-scope .smk-chip--played{ background: linear-gradient(90deg, var(--smk-played), #caddff); color:#0e2a58; }
.smk-scope .smk-chip--joker{ background: linear-gradient(90deg, #ffd36e, #ffc14a); color:#402300; border-color: rgba(255,177,43,.8); }

.smk-scope .smk-toolbar{ display:flex; gap:8px; flex-wrap:wrap; }
.smk-scope .smk-chip-btn{ cursor:pointer; user-select:none; }
.smk-scope .smk-chip-btn:hover{ filter:brightness(1.08); }

/* ----- LISTA & KORTIT ----- */
.smk-scope .smk-block{ margin-top: 16px; }
.smk-scope .smk-block-title{ margin:.2rem 0 .6rem; font-size:1.1rem; opacity:.95; }

.smk-scope .smk-list{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr; gap:12px; }
@media (min-width: 820px){ .smk-scope .smk-list{ grid-template-columns:1fr 1fr; } }
@media (min-width: 1100px){ .smk-scope .smk-list{ grid-template-columns:1fr 1fr 1fr; } }

.smk-scope .smk-list--upcoming{ grid-template-columns:1fr; }
@media (min-width: 900px){ .smk-scope .smk-list--upcoming{ grid-template-columns:1fr 1fr; } }

.smk-scope .smk-match-card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 2px solid var(--smk-border);
  border-radius: var(--smk-radius);
  padding: 14px;
  box-shadow: var(--smk-shadow);
}
.smk-scope .smk-match-card.is-next{ outline: 2px solid rgba(156,246,106,.6); }
.smk-scope .smk-match-card.is-hidden{ display:none !important; }

.smk-scope .smk-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.smk-scope .smk-teams{ display:flex; align-items:center; gap:10px; font-weight:800; }
.smk-scope .smk-right{ display:flex; align-items:center; gap:6px; }

.smk-scope .smk-scores{
  margin-top: 6px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  color: var(--smk-muted);
}
.smk-scope .smk-divider{ opacity:.5; }
.smk-scope .smk-link{ color: var(--smk-accent); text-decoration:none; font-weight:700; }
.smk-scope .smk-link:hover{ text-decoration:underline; }

.smk-scope .smk-player.is-winner{
  color:#fff;
  text-shadow: 0 0 0 rgba(0,0,0,0), 0 1px 0 rgba(0,0,0,.25);
  filter: drop-shadow(0 0 6px rgba(92,224,163,.4));
}

/* ----- TAULUKOT (Pisteet) ----- */
.smk-scope .smk-table-wrap{
  overflow:auto; border-radius: 12px; border:1px solid var(--smk-border);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.smk-scope .smk-table{
  width:100%; border-collapse:separate; border-spacing:0; color:var(--smk-text);
  background: rgba(0,0,0,.15);
}
.smk-scope .smk-table thead th{
  position: sticky; top: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  backdrop-filter: blur(8px);
  text-align:left; padding:10px 12px; border-bottom:1px solid var(--smk-border-strong);
}
.smk-scope .smk-table td{
  padding:10px 12px; border-bottom:1px solid var(--smk-border);
}
.smk-scope .smk-table tbody tr:hover{
  background: linear-gradient(90deg, rgba(79,140,255,.15), rgba(105,212,226,.10));
}
.smk-scope .smk-table tbody tr.is-top{
  background: linear-gradient(90deg, rgba(92,224,163,.16), rgba(156,246,106,.10));
  border-left: 3px solid var(--smk-good);
}

/* ----- Pelaajatilastot ----- */
.smk-scope .smk-list--players{ grid-template-columns:1fr; }
@media (min-width: 1100px){ .smk-scope .smk-list--players{ grid-template-columns:1fr 1fr; } }

.smk-scope .smk-player-card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 2px solid var(--smk-border);
  border-radius: var(--smk-radius);
  padding: 8px;
  box-shadow: var(--smk-shadow);
}

.smk-scope .smk-player-details{ display:block; }
.smk-scope .smk-player-summary{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  cursor:pointer; list-style:none; margin:0; padding:6px 4px;
}
.smk-scope .smk-player-summary::-webkit-details-marker{ display:none; }
.smk-scope .smk-player-summary .nm{
  font-weight:800; font-size:1.1rem; color:#fff;
}
.smk-scope .smk-player-summary .sum-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 8px; border-radius:999px;
  background: rgba(255,255,255,.14);
  border: 1px solid var(--smk-border-strong);
  color:#fff; font-weight:700; font-size:.9rem;
}

.smk-scope .smk-player-grid{
  display:grid; gap:12px; margin-top:8px;
  grid-template-columns:1fr;
}
@media (min-width: 820px){
  .smk-scope .smk-player-grid{ grid-template-columns:1fr 1fr 1fr; }
}
.smk-scope .smk-statbox{
  border:1px solid var(--smk-border);
  border-radius:12px; padding:10px;
  background: rgba(0,0,0,.15);
}
.smk-scope .smk-stat{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:6px 0; }
.smk-scope .smk-stat span{ color: var(--smk-muted); }

.smk-scope .smk-formbox{
  border:1px solid var(--smk-border);
  border-radius:12px; padding:10px;
  background: linear-gradient(180deg, rgba(79,140,255,.10), rgba(105,212,226,.10));
}
.smk-scope .smk-form-title{ font-weight:800; margin-bottom:6px; }
.smk-scope .smk-form{ display:flex; gap:6px; align-items:center; }
.smk-scope .smk-form-dot{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:999px; font-weight:800;
  background: rgba(255,255,255,.12); border:1px solid var(--smk-border-strong);
}
.smk-scope .smk-form-dot.is-win{ background: linear-gradient(90deg, var(--smk-good), #b1f4d2); color:#06381f; }
.smk-scope .smk-form-dot.is-loss{ background: linear-gradient(90deg, #ff9aa9, #ffd0d6); color:#4a0b16; }
.smk-scope .smk-form-dot.is-draw{ background: linear-gradient(90deg, #ffe08a, #fff0b9); color:#5a3d00; }
.smk-scope .smk-form-empty{ opacity:.7; }
.smk-scope .smk-phase-mini{ margin-top:8px; display:flex; gap:10px; color:var(--smk-muted); }
.smk-scope .smk-phase-mini .mini{ font-size:.9rem; }

.smk-scope .smk-history{ margin-top:10px; }
.smk-scope .smk-history summary{ cursor:pointer; font-weight:800; }
.smk-scope .smk-history-list{ list-style:none; padding:0; margin:10px 0 0 0; display:grid; gap:8px; }
.smk-scope .smk-history-item{
  border:1px solid var(--smk-border);
  border-radius:10px; padding:8px; background: rgba(0,0,0,.15);
}
.smk-scope .smk-history-item .line{ display:flex; gap:10px; font-weight:800; }
.smk-scope .smk-history-item .res{
  min-width:28px; text-align:center; border-radius:6px; padding:2px 6px;
  background: rgba(255,255,255,.12); border:1px solid var(--smk-border);
}
.smk-scope .smk-history-item.is-win .res{ background: linear-gradient(90deg, var(--smk-good), #b1f4d2); color:#06381f; }
.smk-scope .smk-history-item.is-loss .res{ background: linear-gradient(90deg, #ff9aa9, #ffd0d6); color:#4a0b16; }
.smk-scope .smk-history-item.is-draw .res{ background: linear-gradient(90deg, #ffe08a, #fff0b9); color:#5a3d00; }
.smk-scope .smk-history-item .meta{ display:flex; gap:10px; flex-wrap:wrap; color:var(--smk-muted); margin-top:4px; }

/* ----- Tyhjä-tila ----- */
.smk-scope .smk-empty{
  padding: 16px; border-radius: var(--smk-radius-sm);
  border: 2px dashed var(--smk-border);
  background: rgba(255,255,255,.05);
  color: var(--smk-muted);
  text-align: center;
}

/* ----- Responsiivisuutta ----- */
@media (max-width: 640px){
  .smk-scope .smk-meta { justify-content: flex-start; }
  .smk-scope .smk-vs { font-size: 1.5rem; }
  .smk-scope .smk-section { padding: 14px; }
}

/* Pieni fokus- ja hover-viilaus */
.smk-scope .smk-btn:focus,
.smk-scope .smk-chip-btn:focus,
.smk-scope .smk-link:focus{
  outline: 2px solid #fff;
  outline-offset: 2px;
}
/* --- Next-match time highlight --- */
.smk-scope .smk-when{
  display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
  font-size: clamp(1rem, 0.95rem + 0.4vw, 1.15rem);
  padding:12px 16px;
  border-radius:14px;
  background: rgba(255,255,255,.09);
  border:1px solid var(--smk-border-strong);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 10px 24px rgba(0,0,0,.18);
  margin-bottom:10px;
}
.smk-scope .smk-when .dt{
  font-weight:800; letter-spacing:.2px; color:#fff;
  text-shadow: 0 1px 0 rgba(0,0,0,.25);
}
.smk-scope .smk-when .dt strong{
  font-weight:900;
}
.smk-scope .smk-when .tag{
  color: var(--smk-muted);
}

/* korosta kun ottelu on pian */
.smk-scope .smk-when.is-soon{
  background: linear-gradient(90deg, rgba(156,246,106,.18), rgba(79,140,255,.12));
  border-color: rgba(156,246,106,.6);
  box-shadow: 0 0 0 3px rgba(156,246,106,.14), var(--smk-shadow);
}

/* pieni hengitys countdownin ylä/ala */
.smk-scope .smk-countdown{
  margin-top:8px;
}
/* Korostus tulostaulussa voittajalle */
.smk-scope .smk-match-card.is-played .smk-player.is-winner{
  filter: drop-shadow(0 0 6px rgb(21, 255, 0));
}
/* Korostus tulostaulussa voittajalle */
.smk-scope .smk-match-card.is-played .smk-player.is-loser{
  filter: drop-shadow(0 0 6px rgb(255, 0, 0, 0.8));
}