.spx{
    --bg: #f4f7fb;
    --bg-card: #ffffff;
    --bg-card-hover: #f0f6ff;
    --accent: #2563eb;
    --accent-soft: #3b82f6;
    --text: #1e293b;
    --text-dim: #64748b;
    --border: #e2e8f0;
    --win: #16a34a;
    --lose: #dc2626;
}
.spx *{ box-sizing: border-box; }
.spx{
    max-width: 100%;
    overflow-x: hidden;
}
.spx{
    color: var(--text);
    line-height: 1.5;
}
.spx a{ color: inherit; text-decoration: none; }
.spx .sport-tabs{
    max-width: 1100px;
    margin: 14px auto 0;
    padding: 0 16px;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.spx .tab{
    flex: none;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    color: var(--text-dim);
    font-size: 0.9rem;
    white-space: nowrap;
}
.spx .tab.active{
    background: var(--accent-soft);
    color: #fff;
    border-color: var(--accent);
}
.spx .country-tabs{
    max-width: 1100px;
    margin: 8px auto 0;
    padding: 0 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.spx .ctab{
    flex: none;
    padding: 4px 11px;
    border-radius: 999px;
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text-dim);
    font-size: 0.82rem;
    white-space: nowrap;
}
.spx .ctab.active{
    background: var(--text);
    color: #fff;
    border-color: var(--text);
}
.spx .ad-row{
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 10px 0 14px;
    padding-bottom: 14px;
    border-bottom: 1px dashed var(--border);
}
.spx .ad-row > *{
    flex: 1 1 320px;
    min-width: 0;
    max-width: 480px;
}
.spx .ext-ad-wrap{
    position: relative;
    aspect-ratio: 728 / 90;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
    background: var(--bg-card);
}
.spx .ext-ad-wrap iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 728px;
    height: 90px;
    border: 0;
    transform-origin: top left;
}
.spx .ad-banner-wrap{
    min-width: 0;
    margin: 0;
    text-align: center;
}
.spx .ad-banner-link{
    position: relative;
    display: block;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.spx .ad-banner-link:hover{
    transform: scale(1.005);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.15);
}
.spx .ad-banner-img{
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    background: var(--bg-card);
}
.spx .ad-banner-btn{
    position: absolute;
    right: 14px;
    bottom: 14px;
    padding: 7px 20px;
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.35);
}
.spx .ad-banner-link:hover .ad-banner-btn{
    background: var(--accent-soft);
}
@media (max-width: 640px){.spx .ad-banner-btn{ right: 10px; bottom: 10px; padding: 6px 16px; font-size: 0.78rem; }}
.spx .sp-main{
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 16px 60px;
}
.spx .page-title{
    font-size: 1.4rem;
    margin: 4px 0 18px;
}
.spx .empty{
    color: var(--text-dim);
    text-align: center;
    padding: 40px 0;
}
.spx .sport-group{
    margin-bottom: 26px;
}
.spx .sport-heading{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.08rem;
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--accent);
    color: var(--text);
}
.spx .sport-heading-icon{ font-size: 1.25rem; }
.spx .count-badge{
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-dim);
    background: #f1f5f9;
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 2px 9px;
}
.spx .match-list{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 14px;
}
.spx .match-card{
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: background 0.15s, box-shadow 0.15s;
}
.spx .match-card:hover{
    background: var(--bg-card-hover);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}
.spx .match-meta{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
    color: var(--text-dim);
    margin-bottom: 10px;
    gap: 8px;
    flex-wrap: wrap;
}
.spx .league{
    font-weight: 700;
    color: var(--accent);
}
.spx .status-badge{
    background: var(--border);
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.75rem;
}
.spx .match-teams{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.spx .team{
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}
.spx .team-right{
    justify-content: flex-end;
    text-align: right;
}
.spx .team-name{
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: keep-all;
}
.spx .team-right .team-name{ align-items: flex-end; text-align: right; }
.spx .tn-kr{ font-weight: 600; font-size: 0.95rem; }
.spx .tn-en{ font-size: 0.78rem; color: var(--text-dim); font-weight: 400; }
.spx .team-logo{
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex: none;
}
.spx .team-flag{ font-size: 1.15rem; flex: none; line-height: 1; }
.spx .flag{
    font-size: 1.2rem;
}
.spx .vs{
    color: var(--text-dim);
    font-size: 0.8rem;
    font-weight: 700;
    flex: none;
}
.spx .score{
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--text);
    flex: none;
    padding: 0 8px;
}
.spx .odds-row{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
    gap: 8px;
    border-top: 1px dashed var(--border);
    padding-top: 12px;
}
.spx .odds-box{
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px 6px;
    text-align: center;
}
.spx .odds-label{
    display: block;
    font-size: 0.75rem;
    color: var(--text-dim);
}
.spx .odds-value{
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--accent);
    margin: 2px 0;
}
.spx .odds-prob{
    display: block;
    font-size: 0.7rem;
    color: var(--text-dim);
}
.spx .team-rank{
    font-size: 0.72rem;
    color: var(--text-dim);
    background: #f1f5f9;
    border-radius: 999px;
    padding: 1px 7px;
    white-space: nowrap;
}
.spx .std-tabs{
    margin-bottom: 16px;
}
.spx .std-tabs .tab-row{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}
.spx .std-tabs .tab-row > *{ flex: none; }
.spx .std-tabs .tab-row-sport{
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    border-bottom: 1px solid var(--border);
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.spx .std-tabs .tab-row-sport::-webkit-scrollbar{ height: 4px; }
.spx .std-tabs .tab-row-sport::-webkit-scrollbar-thumb{
    background: var(--border);
    border-radius: 999px;
}
.spx .ctab-league{
    background: var(--bg-card);
}
.spx .league-tabs{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}
.spx .standings-wrap{
    overflow-x: auto;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.spx .standings-table{
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
    white-space: nowrap;
}
.spx .standings-table th,.spx .standings-table td{
    padding: 10px 14px;
    text-align: center;
    border-bottom: 1px solid var(--border);
}
.spx .standings-table th{
    color: var(--text-dim);
    font-weight: 700;
    background: #f8fafc;
}
.spx .standings-table .team-col{
    text-align: left;
    font-weight: 600;
}
.spx .standings-table .team-col{
    display: flex;
    align-items: center;
    gap: 8px;
}
.spx .standings-table .team-col .team-name{ flex-direction: column; }
.spx .standings-table tbody tr:hover{
    background: var(--bg-card-hover);
}
.spx .standings-table tbody tr:last-child td{
    border-bottom: none;
}
@media (max-width: 640px){.spx .match-list{
        grid-template-columns: minmax(0, 1fr);
    }
.spx .team-name{ font-size: 0.92rem; }}
.spx .odds-details{ border-top: 1px dashed var(--border); }
.spx .odds-toggle{
    list-style: none;
    cursor: pointer;
    padding: 9px 2px 2px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--accent);
    display: flex;
    align-items: center;
    gap: 5px;
}
.spx .odds-toggle::-webkit-details-marker{ display: none; }
.spx .odds-toggle::after{ content: "▾"; font-size: 0.75rem; color: var(--text-dim); }
.spx .odds-details[open] .odds-toggle::after{ transform: rotate(180deg); }
.spx .odds-details .odds-row{ border-top: none; padding-top: 8px; }
.spx{
  --bg: #07060a; --bg-card: #111016; --bg-card-hover: #19161f;
  --accent: #ff2d95; --accent-soft: #ff5cb0;
  --text: #ece8f1; --text-dim: #968ea3; --border: #2b2433;
  --win: #22c55e; --lose: #f43f5e;
  --neon-glow: rgba(255, 45, 149, .45);
}
.spx{ }
.spx{
  color: var(--text);
}
.spx a{ color: inherit; }
.spx ::selection{ background: rgba(255, 45, 149, .45); color: #fff; }
.spx .av-subtabs{ display: flex; gap: 8px; flex-wrap: wrap; }
.spx .av-subtabs a{ padding: 8px 16px; border-radius: 999px; border: 1px solid var(--border); background: var(--bg-card);
  font-weight: 800; font-size: .9rem; text-decoration: none; color: var(--text); }
.spx .av-subtabs a:hover{ border-color: var(--accent); }
.spx .av-subtabs a.active{ background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 0 14px var(--neon-glow); }
.spx .count-badge{ background: #19161f !important; color: var(--text) !important; }
.spx .odds-box{ background: #19161f !important; border-color: var(--border) !important; }
.spx .team-rank{ background: #19161f !important; color: var(--text) !important; }
.spx .standings-table th{ background: #19161f !important; color: var(--text-dim) !important; }
.spx .tab,.spx .ctab,.spx .ctab-league{ background: var(--bg-card) !important; border-color: var(--border) !important; color: var(--text) !important; }
.spx .tab.active,.spx .ctab.active,.spx .ctab-league.active{ background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important;
  box-shadow: 0 0 12px var(--neon-glow); }
.spx .card,.spx .match-card,.spx .game-card{ box-shadow: 0 1px 6px rgba(0, 0, 0, .45); }
.spx .card:hover,.spx .match-card:hover,.spx .game-card:hover{ border-color: var(--accent) !important; }
.spx table{ color: var(--text); }
.spx input,.spx select,.spx textarea{ background: #19161f; color: var(--text); border: 1px solid var(--border); }
.spx .sport-tabs,.spx .country-tabs,.spx .std-tabs .tab-row,.spx .std-tabs .tab-row-sport{ scrollbar-color: #2b2433 transparent; scrollbar-width: thin; }
.spx .sport-tabs::-webkit-scrollbar,.spx .country-tabs::-webkit-scrollbar,.spx .std-tabs .tab-row::-webkit-scrollbar,.spx .std-tabs .tab-row-sport::-webkit-scrollbar{ height: 4px; background: transparent; }
.spx .sport-tabs::-webkit-scrollbar-thumb,.spx .country-tabs::-webkit-scrollbar-thumb,.spx .std-tabs .tab-row::-webkit-scrollbar-thumb,.spx .std-tabs .tab-row-sport::-webkit-scrollbar-thumb{ background: #2b2433; border-radius: 4px; }
/* avbom 틀 안에서: 부트스트랩 .card 기본값 되돌리기, 여백 */
.spx .card{display:block;flex-direction:initial;min-width:0;word-wrap:normal}
.spx{margin:4px 0 24px}
.spx .av-subtabs{margin:0 0 12px}
.spx .sport-tabs,.spx .country-tabs{margin-left:0;margin-right:0;padding-left:0;padding-right:0;max-width:none}
.spx .sp-main{max-width:none;margin:0;padding:0}
.spx .sp-adrow{margin:10px 0 14px;overflow:hidden}
.spx .ext-ad-wrap{width:100%;max-width:728px;height:90px;overflow:hidden}
.spx .ext-ad-wrap iframe{border:0;transform-origin:0 0;display:block}
.spx .sp-note{margin:22px 0 0;color:var(--text-dim);font-size:.8rem;line-height:1.6}

/* 2026-09-25 스포츠 광고 카드·문구 */
.spx .sp-adcard{position:relative;display:flex !important;flex-direction:column;justify-content:space-between;gap:10px;text-decoration:none !important;
  background:linear-gradient(135deg,rgba(255,45,149,.16),rgba(157,77,255,.12)) !important;border:1px solid rgba(255,45,149,.45) !important;min-height:120px;cursor:pointer}
.spx .sp-adcard:hover{border-color:#ff2d95 !important;box-shadow:0 0 18px rgba(255,45,149,.35)}
.spx .sp-adbadge{position:absolute;top:10px;right:12px;background:rgba(0,0,0,.72);color:#fff;font-size:.68rem;font-weight:800;padding:3px 8px;border-radius:6px}
.spx .sp-adbadge.sp-inline{position:static;margin-right:6px}
.spx .sp-adtop{font-size:.78rem;color:#ff6fb8;font-weight:800}
.spx .sp-admain{display:flex;align-items:center;gap:10px;color:var(--text);font-size:.98rem;line-height:1.35}
.spx .sp-adico{font-size:1.6rem}
.spx .sp-adcta{align-self:flex-start;background:linear-gradient(100deg,#ff2d95,#ff3bd4);color:#fff;font-weight:800;font-size:.84rem;padding:7px 14px;border-radius:999px;box-shadow:0 0 14px rgba(255,45,149,.4)}
.spx .sp-adline{display:block;margin:0 0 14px;padding:11px 14px;border-radius:12px;border:1px dashed rgba(255,45,149,.55);background:rgba(255,45,149,.08);
  color:var(--text) !important;text-decoration:none !important;font-weight:700;font-size:.9rem}
.spx .sp-adline:hover{background:rgba(255,45,149,.15)}
.spx .sp-adline b{color:#ff6fb8}

/* 2026-09-25 검색창·페이지 번호 */
.spx .sp-search{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0 14px}
.spx .sp-search input[type=search]{flex:1 1 260px;min-width:0;height:42px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:#19161f;color:var(--text);font-size:.95rem}
.spx .sp-search input[type=search]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,45,149,.2)}
.spx .sp-search button{height:42px;padding:0 20px;border:0;border-radius:12px;background:linear-gradient(100deg,#ff2d95,#ff3bd4);color:#fff;font-weight:800;cursor:pointer}
.spx .sp-search-reset{color:var(--text-dim);font-size:.85rem;text-decoration:none}
.spx .sp-search-note{margin:-6px 0 12px;color:var(--text-dim);font-size:.88rem}
.spx .sp-pager{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:22px 0 6px}
.spx .sp-pager a,.spx .sp-pager span{min-width:38px;height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;
  border:1px solid var(--border);background:var(--bg-card);color:var(--text);text-decoration:none;font-weight:700;font-size:.9rem}
.spx .sp-pager a:hover{border-color:var(--accent)}
.spx .sp-pager .on{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 12px var(--neon-glow)}
.spx .sp-pager .gap{border:0;background:none;min-width:20px;padding:0}

/* 2026-09-25 화이트(라이트) 모드: 위 어두운 색을 테마 구분 없이 고정해 글자가 안 보였다 */
html[data-theme="light"] .spx{
  --bg: #f6f4f8; --bg-card: #ffffff; --bg-card-hover: #fdf2f8;
  --accent: #e11d74; --accent-soft: #ff4d8d;
  --text: #1f2328; --text-dim: #5b6572; --border: #e3dde8;
  --win: #16a34a; --lose: #dc2626;
  --neon-glow: rgba(225, 29, 116, .22);
}
html[data-theme="light"] .spx ::selection{ background: rgba(225, 29, 116, .25); color: #111; }
html[data-theme="light"] .spx .count-badge,html[data-theme="light"] .spx .odds-box,html[data-theme="light"] .spx .team-rank,
html[data-theme="light"] .spx .standings-table th{ background: #f3eff6 !important; }
html[data-theme="light"] .spx input,html[data-theme="light"] .spx select,html[data-theme="light"] .spx textarea,
html[data-theme="light"] .spx .sp-search input[type=search]{ background: #fff; color: var(--text); border-color: #d9d2e0; }
html[data-theme="light"] .spx .card,html[data-theme="light"] .spx .match-card,html[data-theme="light"] .spx .game-card{ box-shadow: 0 1px 6px rgba(15, 23, 42, .08); }
html[data-theme="light"] .spx .sport-tabs,html[data-theme="light"] .spx .country-tabs{ scrollbar-color: #d9d2e0 transparent; }
html[data-theme="light"] .spx .sp-adcard{ background: linear-gradient(135deg, #fff0f7, #f5efff) !important; border-color: rgba(225, 29, 116, .35) !important; }
html[data-theme="light"] .spx .sp-adtop,html[data-theme="light"] .spx .sp-adline b{ color: #c2185b; }
html[data-theme="light"] .spx .sp-adline{ background: #fff5fa; border-color: rgba(225, 29, 116, .45); }
html[data-theme="light"] .spx .sp-adcta,html[data-theme="light"] .spx .sp-search button{ background: linear-gradient(100deg, #e11d74, #d6249f); box-shadow: none; }
/* sp-space-0925: 탭 줄·광고 줄이 붙어 보이던 것 */
.spx .av-subtabs{margin:0 0 16px !important}
.spx .sport-tabs{margin:0 0 12px !important;row-gap:8px !important;column-gap:8px !important}
.spx .country-tabs{margin:0 0 22px !important;row-gap:8px !important;column-gap:6px !important}
.spx .sp-adline{margin:0 0 22px !important}
.spx .page-title{margin:0 0 16px !important}
.spx .sp-search{margin:0 0 18px !important}
.spx .match-list,.spx .results-list{row-gap:14px}
