/* Overwatch Counter - Fix text invisible 2026-09-17 v3 */
:root{
  --bg:#070a10;
  --card:#121821;
  --card2:#1b2533;
  --card3:#233140;
  --border:#2a3a4e;
  --border-strong:#3d5672;
  --text:#f1f5f9;
  --text-soft:#d6deea;
  --muted:#a6b3c6;
  --muted2:#7f8ca0;
  --accent:#ff9f0a;
  --accent-2:#ff6a00;
  --cyan:#22ddff;
  --cyan-bg:rgba(34,221,255,.13);
  --tank:#4aa3ff; --dmg:#ff5a5a; --sup:#3cff8a;
  --radius:18px; --radius-sm:13px;
  --shadow:0 10px 34px rgba(0,0,0,.45);
  --shadow-soft:0 4px 18px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1200px 600px at 20% -10%, #152233 0%, transparent 60%), var(--bg);color:var(--text);font-family:Pretendard,'Noto Sans KR',system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;letter-spacing:-.015em}

header{top:0;z-index:30;background:rgba(7,10,16,.86);backdrop-filter:blur(14px) saturate(1.25);border-bottom:1px solid var(--border);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.logo{font-weight:900;font-size:21px;letter-spacing:-.02em;line-height:1.1;color:var(--text)}.logo span{color:var(--accent)}
.logo small{font-weight:700;color:var(--muted);font-size:11px;margin-left:6px;padding:3px 8px;background:var(--card2);border:1px solid var(--border);border-radius:999px;vertical-align:middle}
#patchInfo{font-size:12px;color:var(--text-soft);background:var(--card2);border:1px solid var(--border);padding:6px 10px;border-radius:999px}

main{max-width:1440px;margin:0 auto;padding:18px;display:grid;grid-template-columns:400px 1fr;gap:16px}
@media(max-width:980px){main{grid-template-columns:1fr;padding:12px}}

.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-soft);color:var(--text)}
.card h3{margin:0 0 12px;font-size:13.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:7px}
.card h3::before{content:'';width:3.5px;height:14px;background:linear-gradient(180deg,var(--accent),var(--accent-2));border-radius:2px;display:inline-block}

.card-accent{border-color:rgba(255,159,10,.38) !important;background:linear-gradient(180deg,#2a1e0d 0%, #151b25 85%) !important;color:var(--text) !important}
.card-accent *{color:var(--text)}
.card-accent h3{color:var(--accent) !important}

/* --- Pills --- */
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{padding:7.5px 14px;border-radius:999px;border:1px solid var(--border);background:var(--card2);color:var(--text-soft);font-size:12.8px;font-weight:700;cursor:pointer;transition:.16s}
.pill:hover{border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}
.pill.active{background:var(--accent);border-color:var(--accent);color:#111 !important;font-weight:900}
.pill-ghost{background:transparent;color:var(--text) !important;border-color:var(--border-strong)}

/* --- Map --- */
.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:10px;max-height:460px;overflow:auto;padding:3px}
.map-card{position:relative;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card2);cursor:pointer;overflow:hidden;transition:.2s}
.map-card:hover{transform:translateY(-2px);border-color:var(--border-strong)}
.map-card.active{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-bg)}
.map-card img{width:100%;height:76px;object-fit:cover;display:block;background:#0f1824}
.map-card .map-info{padding:8px 10px 9px;background:var(--card2)}
.map-card .map-name{font-size:12.2px;font-weight:850;color:var(--text) !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-card .map-type{font-size:10px;font-weight:700;color:var(--muted) !important;margin-top:2px;text-transform:uppercase}
.map-card.active .map-name{color:var(--cyan) !important}

input{width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--border);background:var(--card2);color:var(--text);margin-bottom:12px;font-size:13.5px}
input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 4px var(--cyan-bg)}
input::placeholder{color:var(--muted2)}

/* --- Hero Grid FIX --- */
.hero-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:10px}
.hero-grid.small{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));max-height:320px;overflow:auto;padding:3px}
.hero-tile{position:relative;aspect-ratio:.86;border-radius:14px;border:1.5px solid var(--border);background:var(--card2);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px 4px 6px;font-size:11.2px;font-weight:800;text-align:center;overflow:hidden;transition:.18s;color:var(--text) !important}
.hero-tile div{color:var(--text) !important}
.hero-tile.tank{border-color:rgba(74,163,255,.35)}
.hero-tile.damage{border-color:rgba(255,90,90,.32)}
.hero-tile.support{border-color:rgba(60,255,138,.32)}
.hero-tile:hover{transform:translateY(-2px)}
.hero-tile.active{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,159,10,.28)}
.hero-tile img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#1e2b3e;border:1px solid rgba(255,255,255,.08);object-position:center 15%}
.hero-tile .icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#26354a,#3a4f6a);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:var(--text)}
.tag-new{position:absolute;top:5px;right:5px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#000 !important;font-size:8px;padding:2px 5px;border-radius:6px;font-weight:900}

/* --- Slots --- */
.slots{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;min-height:62px}
.slot{width:64px;height:64px;border-radius:14px;border:1.5px dashed var(--border);background:var(--card2);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);font-weight:900;font-size:18px}
.slot:hover{border-style:solid;border-color:var(--border-strong);color:var(--text)}

.cta{width:100%;padding:16px 18px;border-radius:14px;border:0;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0a0e13 !important;font-weight:900;font-size:15.5px;cursor:pointer;box-shadow:0 8px 24px rgba(255,106,0,.35)}
.cta:hover{transform:translateY(-2px)}

/* --- Results - 텍스트 안보이던 부분 강제 고정 --- */
#bestPick, #alternatives, #matchupDetail, #teamAnalysis, #enemyAnalysis, #counterResult, #mapTier{
  color:var(--text) !important;
}
#bestPick h3, #alternatives h3, #matchupDetail h3, #teamAnalysis h3, #enemyAnalysis h3{
  color:var(--accent) !important;
}
#bestPick div, #bestPick li, #bestPick span,
#alternatives div, #alternatives span, #alternatives small, #alternatives b,
#matchupDetail div, #matchupDetail span,
#teamAnalysis div, #enemyAnalysis div{
  color:var(--text) !important;
}
#alternatives small, #teamAnalysis br, #enemyAnalysis br{color:var(--muted) !important}

.score-circle{width:94px;height:94px;border-radius:50%;border:4.5px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900;color:var(--text) !important;background:radial-gradient(120% 120% at 30% 30%, #22334a 0%, #121821 60%)}
.bar{height:9px;background:var(--card3);border-radius:999px;overflow:hidden;border:1px solid rgba(255,255,255,.06);margin-top:4px}
.bar>div{height:100%;background:linear-gradient(90deg,var(--cyan),#7affff);border-radius:999px}
.pos{color:#3cff8a !important;font-weight:800}.neg{color:#ff8a8a !important;font-weight:800}

select#counterSelect{width:100%;padding:11px 12px;border-radius:11px;background:var(--card2);color:var(--text);border:1px solid var(--border);font-size:13.5px}

/* Modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.84);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;z-index:9999;padding:22px 12px;overflow-y:auto}
.modal.hidden{display:none}
.modal-content{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:20px;max-width:96vw;max-height:92vh;overflow:auto;width:980px;margin-top:3vh;color:var(--text) !important}
.modal-content *{color:var(--text) !important}
.modal-content small{color:var(--muted) !important}

/* Scrollbar */
.map-grid::-webkit-scrollbar,.hero-grid.small::-webkit-scrollbar{width:7px;height:7px}
.map-grid::-webkit-scrollbar-thumb,.hero-grid.small::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}
