/* 야구럽 공개 사이트 — 정적 (2026-06-16) */
:root {
  --bg: #f4f6fa;
  --card: #ffffff;
  --card2: #eef1f6;
  --border: #e1e5ec;
  --tx: #1a2230;
  --mut: #5e6675;
  --hint: #6b7280;
  --accent: #1f5fa8;
  --good: #1f8a3b;
  --bad: #e5484d;
  --star: #c8881a;
  --win: #c8881a;
}
body.dark {
  --bg: #0e1117;
  --card: #1b2230;
  --card2: #232c3c;
  --border: #3b4554;
  --tx: #f5f8fc;
  --mut: #b2bcc8;
  --hint: #909bab;
  --accent: #3b82f6;
  --good: #2ca44f;
  --bad: #e5484d;
  --star: #e0a020;
  --win: #e0a020;
}
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--tx);
  font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  font-size:16px;line-height:1.55;padding:0 0 40px;}
.wrap{max-width:640px;margin:0 auto;padding:18px 16px;}

/* 헤더 */
.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.brand{display:flex;align-items:center;gap:12px;}
.logo{width:50px;height:50px;border-radius:12px;overflow:hidden;background:var(--card);flex-shrink:0;}
.logo img{width:100%;height:100%;object-fit:cover;}
.bt{font-size:22px;font-weight:800;}
.bs{font-size:12px;color:var(--mut);}
.upd{font-size:11px;color:var(--hint);text-align:right;}

/* 운영 상태 카드 (시스템 자동 갱신) */
.ops-card{background:var(--card);border:1px solid var(--border);border-radius:16px;
  padding:16px;margin-bottom:18px;box-shadow:0 2px 10px rgba(0,0,0,.05);}
.ops-top{display:flex;align-items:center;gap:9px;margin-bottom:14px;}
.ops-dot{width:11px;height:11px;border-radius:50%;background:var(--good);flex-shrink:0;}
.ops-phase{font-size:17px;font-weight:800;}
.ops-svc{font-size:11px;font-weight:700;color:var(--mut);margin-left:auto;
  padding:3px 10px;border-radius:999px;background:var(--card2);}
.ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
.ops-item{display:flex;flex-direction:column;gap:3px;
  font-size:11px;color:var(--mut);padding:9px 11px;background:var(--card2);border-radius:10px;}
.ops-item b{font-size:14.5px;font-weight:800;color:var(--tx);}
.ops-timeline{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.tl-step{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;
  padding:6px 10px;border-radius:999px;background:var(--card2);color:var(--mut);}
.tl-step .tl-ic{font-size:12px;line-height:1;}
.tl-step.done{color:var(--good);}
.tl-step.active{background:var(--accent);color:#fff;font-weight:800;}
.tl-step.wait{opacity:.55;}
.ops-note{font-size:11.5px;color:var(--hint);line-height:1.5;
  padding:9px 12px;background:var(--card2);border-radius:10px;}

/* 두 통계 비교 카드 */
.dual{display:flex;gap:10px;margin-bottom:8px;}
.dual-card{flex:1;background:var(--card);border:1px solid var(--border);
  border-radius:16px;padding:18px 16px;text-align:center;}
.dual-card.base{border-top:3px solid var(--accent);}
.dual-card.lineup{border-top:3px solid var(--star);}
.dual-lbl{font-size:13px;color:var(--mut);font-weight:600;}
.dual-pct{font-size:38px;font-weight:800;line-height:1.1;margin:4px 0;}
.dual-card.base .dual-pct{color:var(--accent);}
.dual-card.lineup .dual-pct{color:var(--star);}
.dual-sub{font-size:11.5px;color:var(--hint);}

/* 섹션 헤더 */
.sh{font-size:18px;font-weight:700;margin:26px 0 12px;display:flex;align-items:center;gap:7px;}
.sh .ic{font-size:18px;}
.sh small{font-size:13px;color:var(--hint);font-weight:400;}

/* 오늘 경기 */
.games{display:flex;flex-direction:column;gap:10px;}
.game{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 16px;}
.teams{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.tm{display:flex;align-items:center;gap:7px;font-size:17px;font-weight:700;white-space:nowrap;}
.dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex-shrink:0;}
.sc{font-size:22px;font-weight:800;}
.sc .win{color:var(--win);}
.vs{font-size:14px;color:var(--hint);}
.meta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--mut);}
.st{font-weight:700;font-size:12px;}
.st.pre{color:var(--accent);}
.st.live{color:var(--bad);}
.st.done{color:var(--hint);}
.stad{color:var(--hint);}
.pick{margin-top:8px;font-size:13px;color:var(--mut);}
.pick b{color:var(--star);}
.starter{margin-top:4px;font-size:12px;color:var(--hint);}

/* 순위 */
.ranks{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.rank-row{display:flex;align-items:center;gap:11px;padding:9px 15px;border-bottom:1px solid var(--border);}
.rank-row:last-child{border-bottom:none;}
.rk-no{width:20px;font-size:14px;font-weight:800;color:var(--mut);text-align:center;}
.rk-mark{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;font-size:14px;font-weight:800;color:#fff;flex-shrink:0;}
.rk-name{flex:1;font-size:15px;font-weight:600;}
.rk-rec{font-size:13px;color:var(--mut);}

/* 최근 성적 스트립 */
.record-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;}
.rec-cell{flex-shrink:0;width:54px;border-radius:10px;padding:8px 4px;text-align:center;
  border:1px solid var(--border);}
.rec-cell.good{background:rgba(44,164,79,.18);}
.rec-cell.mid{background:rgba(224,160,32,.15);}
.rec-cell.bad{background:rgba(229,72,77,.18);}
.rec-date{font-size:11px;color:var(--mut);}
.rec-score{font-size:15px;font-weight:800;margin-top:2px;}

.honest{margin:22px 0 0;font-size:12.5px;color:var(--hint);text-align:center;line-height:1.6;}
.foot{margin-top:14px;font-size:11px;color:var(--hint);text-align:center;}
.loading,.no-game,.error{color:var(--hint);font-size:14px;padding:14px 0;text-align:center;}
.error{color:var(--bad);}

@media(max-width:420px){
  .tm{font-size:15px;}
  .hero-big{font-size:36px;}
}

/* 테마 토글 버튼 (2026-06-17) */
#themeToggle{position:fixed;top:10px;right:12px;z-index:200;background:var(--card);border:1px solid var(--border);color:var(--tx);border-radius:20px;padding:6px 13px;font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15);}
#themeToggle:hover{border-color:var(--accent);}

/* ═══════════════════════════════════════════════════
   경기풀이 (대시보드 home_v2.css 복제 · 2026-06-27)
   요약 4칸 + 경기카드(배지·팀로고·펼침). 클래스 g prefix = 기존과 충돌 0.
   ═══════════════════════════════════════════════════ */
/* PICK/CAUTION/PASS 색 — 대시보드와 동일 */
:root{
  --pick-t:#1f8a3b; --pick-b:#e9f7ee; --pick-bd:#b6e2c4;
  --caut-t:#b87410; --caut-b:#fbf2e0; --caut-bd:#ecd6a6;
  --pass-t:#6b7280; --pass-b:#eef1f6; --pass-bd:#d7dce4;
}
body.dark{
  --pick-t:#3fb950; --pick-b:#13261a; --pick-bd:#2a4a30;
  --caut-t:#e3a23a; --caut-b:#2a2210; --caut-bd:#4a3c18;
  --pass-t:#9aa3ad; --pass-b:#1c2128; --pass-bd:#2a2f37;
}
/* 상단 요약 4칸 */
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 16px;}
.scard{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;}
.scard .lab{font-size:12px;color:var(--mut);margin:0 0 6px;}
.scard .num{font-size:24px;font-weight:700;margin:0;line-height:1.2;}
.scard .pick-num{color:var(--pick-t);}
.scard .caut-num{color:var(--caut-t);}
.scard .pass-num{color:var(--pass-t);}
/* 경기풀이 카드 */
.gcard{background:var(--card);border:1px solid var(--border);border-radius:12px;margin:0 0 10px;overflow:hidden;cursor:pointer;}
.gcard.pick{border-color:var(--pick-bd);}
.gcard.caution{border-color:var(--caut-bd);}
.gcard.pass{border-color:var(--pass-bd);}
.gchead{display:flex;align-items:center;gap:12px;padding:14px;}
.gmatchup{display:flex;align-items:center;gap:8px;flex:1;min-width:0;font-size:15px;font-weight:700;}
.glogo{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:-.5px;border:2px solid transparent;}
.gvs{color:var(--hint);font-weight:400;font-size:13px;margin:0 2px;}
.gbadge{font-size:13px;font-weight:700;padding:5px 12px;border-radius:7px;white-space:nowrap;}
.gbadge.pick{color:var(--pick-t);background:var(--pick-b);}
.gbadge.caution{color:var(--caut-t);background:var(--caut-b);}
.gbadge.pass{color:var(--pass-t);background:var(--pass-b);}
.gbadge.none{color:var(--mut);background:var(--card2);}
.gprob{font-size:14px;white-space:nowrap;min-width:60px;text-align:right;color:var(--tx);}
.gcrz{display:flex;align-items:center;gap:8px;padding:0 14px 13px;font-size:13px;color:var(--mut);flex-wrap:wrap;}
.gcrz .gmeta{color:var(--hint);}
.gchev{color:var(--hint);font-size:12px;margin-left:auto;}
.gexpand{padding:0 14px 16px;border-top:1px solid var(--border);margin-top:2px;}
.gexpand .gttl{font-size:12px;color:var(--hint);margin:12px 0 8px;}
.gexpand p{margin:0 0 8px;font-size:13.5px;color:var(--tx);line-height:1.75;}
.geasy{background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-size:13.5px;color:var(--accent);margin:10px 0 2px;}
.geasy b{color:var(--accent);font-weight:700;}
.gmore{display:inline-flex;align-items:center;gap:5px;margin-top:10px;background:none;border:1px solid var(--accent);color:var(--accent);font-size:13px;font-weight:600;padding:8px 14px;border-radius:8px;text-decoration:none;}
.gmore:hover{background:rgba(31,95,168,.08);}
@media(max-width:420px){.summary{grid-template-columns:repeat(2,1fr);}.gmatchup{font-size:14px;}}

/* ═══ 탭 네비 (경기풀이·성적표·…) ═══ */
.anal-nav{display:flex;align-items:center;gap:6px;padding:9px 12px;background:var(--card);border:1px solid var(--border);border-radius:12px;margin:0 0 16px;flex-wrap:wrap;}
.anal-nav-tabs{display:flex;gap:4px;flex-wrap:wrap;}
.anal-nav-tab{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--mut);text-decoration:none;padding:6px 12px;border-radius:8px;border:1px solid transparent;white-space:nowrap;}
.anal-nav-tab:hover{color:var(--tx);background:rgba(127,127,127,.1);}
.anal-nav-tab.active{color:var(--accent);background:rgba(31,95,168,.12);border-color:var(--accent);}
@media(max-width:480px){.anal-nav-tab{font-size:12px;padding:5px 9px;}}
