
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Apple SD Gothic Neo','Noto Sans KR',sans-serif;font-size:13px;background:#f0f2f5;color:#333}
a{color:inherit;text-decoration:none}
img{vertical-align:middle}
.wrap{max-width:800px;margin:0 auto;background:#fff;min-height:100vh}

/* ── HEADER ── */
.match-header{background:#1a237e;color:#fff;padding:10px 0 0}
.match-league{text-align:center;font-size:11px;color:#90caf9;padding:4px 0;letter-spacing:.5px}
.match-time{text-align:center;font-size:11px;color:#b0bec5;padding:2px 0 6px}
.score-row{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 14px}
.team-block{display:flex;flex-direction:column;align-items:center;width:38%;gap:6px}
.team-logo{width:54px;height:54px;object-fit:contain}
.logo-empty{width:54px;height:54px}
.team-name{font-size:13px;font-weight:700;text-align:center;line-height:1.3;word-break:keep-all}
.team-name a{color:#fff;}
.team-name a:hover{opacity:.8;text-decoration:underline}
.score-center{display:flex;flex-direction:column;align-items:center;gap:4px}
.score-main{font-size:38px;font-weight:900;letter-spacing:6px}
.score-half{font-size:11px;color:#90caf9}
.score-resume{font-size:11px;color:#ffd54f;text-align:center;margin-top:2px} /* ★ 승부차기 요약 */
.status-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:700;margin-top:3px}
.status-badge.live{background:#e53935;color:#fff;animation:blink 1.2s infinite}
.status-badge.ended{background:#546e7a;color:#fff}
.status-badge.scheduled{background:#1565c0;color:#fff}
.status-badge.cancelled{background:#757575;color:#fff}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.5}}

/* ── 카운트다운 ── */
.countdown-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0}
.countdown-label{font-size:11px;color:#90caf9;letter-spacing:.5px}
.countdown-units{display:flex;align-items:center;gap:3px}
.countdown-unit{display:flex;flex-direction:column;align-items:center}
.countdown-num{font-size:30px;font-weight:900;color:#fff;line-height:1;min-width:34px;text-align:center}
.countdown-unit-label{font-size:10px;color:#90caf9;margin-top:2px}
.countdown-sep{font-size:26px;font-weight:900;color:#f0c040;margin-bottom:12px;line-height:1}

/* ── TABS ── */
.tab-bar{display:flex;background:#263238}
.tab-btn{flex:1;padding:10px 0;text-align:center;color:#90a4ae;font-size:13px;font-weight:600;
         cursor:pointer;border-bottom:3px solid transparent;transition:all .2s}
.tab-btn.active{color:#fff;border-bottom-color:#42a5f5;background:#1a237e}

/* ── SECTION TITLE ── */
.sec-title{background:#e8eaf6;padding:6px 12px;font-size:12px;font-weight:700;
           color:#3949ab;border-left:3px solid #3f51b5;margin-top:1px}

/* ── LINEUP GRID ── */
.lineup-grid{display:grid;grid-template-columns:1fr 1fr}
.lineup-side{padding:4px 0}
.lineup-side.away{border-left:1px solid #eee}
.lineup-header{display:flex;justify-content:space-between;align-items:center;padding:5px 10px}
.formation-badge{font-size:11px;font-weight:700;color:#fff;background:#3949ab;
                 padding:2px 8px;border-radius:8px}
.avg-age{font-size:10px;color:#999}
.sub-divider{text-align:center;font-size:10px;color:#bbb;padding:3px 0;
             border-top:1px dashed #e0e0e0;margin:2px 6px}
.player-row{display:flex;align-items:center;padding:4px 8px;font-size:12px;
            gap:4px;border-bottom:1px solid #f5f5f5}
.player-row:hover{background:#f0f4ff}
.p-no{min-width:22px;font-weight:700;color:#666;font-size:11px;flex-shrink:0}
.p-name{flex:1;line-height:1.4;word-break:keep-all}
.p-name a:hover{text-decoration:underline;color:#1565c0}
.p-pos{font-size:10px;color:#fff;padding:1px 4px;border-radius:3px;flex-shrink:0}
.pos-GK{background:#e65100}
.pos-DF{background:#1565c0}
.pos-MF{background:#2e7d32}
.pos-FW{background:#b71c1c}
.lineup-side.away .player-row{flex-direction:row-reverse;text-align:right}
.lineup-side.away .p-name{text-align:right}

/* ── EVENT ICONS ── */
.ev-icon{width:14px;height:14px;margin:0 1px;vertical-align:middle}
.ev-sub-out{color:#e53935;font-size:10px;margin:0 1px}
.ev-sub-in{color:#43a047;font-size:10px;margin:0 1px}

/* ── TIMELINE ── */
.timeline-wrap{padding:4px 0}
.tl-row{display:flex;align-items:center;min-height:30px;border-bottom:1px solid #f5f5f5;
        transition:background .15s}
.tl-row:hover{background:#fafafa}
.tl-row.tl-yellow{border-left:3px solid #FFC107}
.tl-row.tl-red{border-left:3px solid #F44336}
.tl-row.tl-yr{border-left:3px solid #FF5722}
.tl-row.tl-sub{border-left:3px solid #2196F3}
.tl-row.tl-goal{border-left:3px solid #4CAF50}
.tl-row.tl-pk-scored{border-left:3px solid #4CAF50}  /* ★ 승부차기 성공 */
.tl-row.tl-pk-missed{border-left:3px solid #F44336}  /* ★ 승부차기 실패 */
.tl-home{flex:1;text-align:right;padding:4px 8px 4px 12px;
         display:flex;align-items:center;justify-content:flex-end;gap:3px;flex-wrap:wrap}
.tl-away{flex:1;text-align:left;padding:4px 12px 4px 8px;
         display:flex;align-items:center;gap:3px;flex-wrap:wrap}
.tl-center{width:46px;text-align:center;font-size:11px;font-weight:700;color:#888;flex-shrink:0}

.tl-name{font-size:12px}
.tl-name a:hover{text-decoration:underline;color:#1565c0}
.tl-assist{font-size:11px;color:#bbb}
.tl-assist a:hover{text-decoration:underline;color:#888}
.tl-score{font-size:11px;font-weight:700;color:#fff;background:#1a237e;
          padding:1px 6px;border-radius:5px;flex-shrink:0}
.sub-detail{font-size:11px;color:#555;display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.sub-detail a:hover{text-decoration:underline;color:#1565c0}

/* ── LEGEND ── */
.legend-row{display:flex;flex-wrap:wrap;gap:10px;padding:8px 12px;
            font-size:11px;color:#666;border-top:1px solid #eee;background:#fafafa}
.legend-row span{display:flex;align-items:center;gap:3px}

/* ── STATS ── */
.stats-tab-bar{display:flex;border-bottom:1px solid #e0e0e0;background:#fafafa}
.stats-tab{flex:1;padding:8px 0;text-align:center;font-size:12px;font-weight:600;
           color:#888;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}
.stats-tab.active{color:#1a237e;border-bottom-color:#3f51b5}
.stats-panel{display:none;padding:4px 0}
.stats-panel.active{display:block}
.stat-row{display:flex;align-items:center;padding:6px 12px;border-bottom:1px solid #f5f5f5}
.stat-val{width:44px;font-size:12px;font-weight:700;text-align:center;flex-shrink:0}
.stat-val.h{color:#1565c0}
.stat-val.a{color:#b71c1c}
.stat-bar-wrap{flex:1;position:relative;height:8px;background:#eee;border-radius:4px;
               margin:0 8px;overflow:hidden}
.stat-bar-h{position:absolute;right:50%;top:0;height:100%;
            background:#42a5f5;border-radius:4px 0 0 4px}
.stat-bar-a{position:absolute;left:50%;top:0;height:100%;
            background:#ef5350;border-radius:0 4px 4px 0}
.stat-label{width:80px;text-align:center;font-size:11px;color:#666;flex-shrink:0}

/* ── 섹션 카드(골시간분포/경기정보) ── */
.mv-card{margin:12px;border:1px solid #eceef2;border-radius:12px;overflow:hidden;background:#fff;
         box-shadow:0 1px 4px rgba(0,0,0,.04)}
.mv-card-hd{padding:10px 14px;font-size:13px;font-weight:700;color:#fff;
            background:linear-gradient(135deg,#3f51b5,#5c6bc0)}
.mv-card-bd{padding:12px 14px}
/* 골시간 분포 표 */
.gt-table{width:100%;border-collapse:collapse;font-size:12px}
.gt-table th,.gt-table td{padding:7px 4px;text-align:center}
.gt-table thead th{color:#8a90a0;font-weight:600;font-size:11px;border-bottom:1px solid #eee}
.gt-team{text-align:left!important;font-weight:700;white-space:nowrap}
.gt-team.h{color:#1565c0}.gt-team.a{color:#b71c1c}
.gt-sub{font-size:10px;color:#aaa;font-weight:400}
.gt-cell{font-weight:700;color:#333}
.gt-cell.zero{color:#ccc;font-weight:400}
.gt-max{background:#eef1fb;border-radius:6px}
.gt-note{margin-top:8px;font-size:11px;color:#888;line-height:1.6}
.gt-note b{color:#555}
/* 경기 정보(날씨/폼) */
.mi-grid{display:flex;flex-wrap:wrap;gap:8px}
.mi-item{flex:1;min-width:120px;background:#f7f8fb;border-radius:8px;padding:8px 10px}
.mi-lbl{font-size:10px;color:#9aa0ae;margin-bottom:3px}
.mi-val{font-size:13px;font-weight:700;color:#333}
.mi-form{display:inline-flex;gap:3px}
.mi-form span{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;
              border-radius:4px;font-size:10px;font-weight:700;color:#fff;padding:0 3px}
.mi-w{background:#43a047}.mi-d{background:#bdbdbd}.mi-l{background:#e53935}

/* ── MOBILE ── */
@media(max-width:520px){
    .score-main{font-size:28px;letter-spacing:3px}
    .countdown-num{font-size:22px;min-width:26px}
    .countdown-sep{font-size:20px}
    .team-name{font-size:11px}
    .team-logo{width:42px;height:42px}
    .p-pos{display:none}
    .player-row{padding:3px 4px;font-size:11px}
    .stat-label{width:60px;font-size:10px}
    .stat-val{width:36px;font-size:11px}
}
/* ── 승부차기 O/X 아이콘 ── */
.pk-scored-icon{
    display:inline-flex;align-items:center;justify-content:center;
    width:20px;height:20px;border-radius:50%;
    font-size:13px;font-weight:900;line-height:1;flex-shrink:0;
    background:#4CAF50;color:#fff;
}
.pk-missed-icon{
    display:inline-flex;align-items:center;justify-content:center;
    width:20px;height:20px;border-radius:50%;
    font-size:13px;font-weight:900;line-height:1;flex-shrink:0;
    background:#F44336;color:#fff;
}


/* ===== 상단바(분석·배당흐름 페이지와 동일) 2026-09-17 ===== */
#an-hdr{position:sticky;top:0;z-index:9999;background:linear-gradient(135deg,#FF6F5E,#f5533f);color:#fff;padding:10px 14px;font-family:'Noto Sans KR','Malgun Gothic',sans-serif;box-shadow:0 2px 6px rgba(0,0,0,.2);text-align:left}
#an-hdr .in{max-width:800px;margin:0 auto;display:flex;align-items:center;gap:12px}
#an-hdr .lhs{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-width:0}
#an-hdr .badge{background:#fff;color:#f5533f;font-weight:800;font-size:17px;padding:7px 13px;border-radius:8px;flex:none}
#an-hdr .t{font-weight:700;font-size:15px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#an-hdr .sub{font-size:11px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#an-hdr .tabs{display:flex;gap:6px;margin-left:6px;flex:none}
#an-hdr .tab{cursor:pointer;font-size:12px;font-weight:700;color:#fff;background:rgba(255,255,255,.18);padding:6px 14px;border-radius:16px;user-select:none;white-space:nowrap;transition:all .15s}
#an-hdr .tab:hover{background:rgba(255,255,255,.32)}
#an-hdr .tab.on{background:#fff;color:#f5533f}
#an-hdr .home{margin-left:auto;font-size:11px;background:rgba(0,0,0,.2);padding:5px 10px;border-radius:12px;color:#fff;text-decoration:none;white-space:nowrap;flex:none}
@media (max-width:600px){
  #an-hdr{padding:8px 8px}#an-hdr .in{gap:8px;flex-wrap:wrap}
  #an-hdr .lhs{flex:1 1 100%}#an-hdr .badge{font-size:13px;padding:5px 9px}#an-hdr .t{font-size:13px}#an-hdr .sub{font-size:10px}
  #an-hdr .tabs{flex:1 1 100%;margin-left:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}#an-hdr .tabs::-webkit-scrollbar{display:none}
  #an-hdr .tab{font-size:11px;padding:5px 11px}#an-hdr .home{display:none}
}

/* (2026-09-17) 상단바 배지 → 라이브맨 로고 */
#an-hdr .badge{padding:9px 10px}#an-hdr .badge img{height:15px;display:block}
@media (max-width:600px){#an-hdr .badge{padding:7px 8px}#an-hdr .badge img{height:12px}}

/* (2026-09-17) 가로 스크롤 시에도 상단바가 화면 왼쪽에 고정되도록(sticky x축) */
#an-hdr{left:0;width:100%;box-sizing:border-box}
