/* ── 풀 선택 ── */
.sim-pool-btns { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.sim-pool-btn {
    padding:6px 14px; border:1px solid var(--border); border-radius:999px;
    cursor:pointer; font-size:.88em; font-weight:600;
    background:var(--bg-card); color:var(--text-sub);
    font-family:inherit; transition:all .13s; white-space:nowrap;
}
.sim-pool-btn:hover  { border-color:var(--primary); color:var(--primary); }
.sim-pool-btn.active { background:var(--primary); color:#fff; border-color:var(--primary); }
.sim-pool-btn.pickup        { border-color:var(--pickup-border); color:var(--pickup-text); }
.sim-pool-btn.pickup:hover  { border-color:var(--pickup); color:var(--pickup-text); }
.sim-pool-btn.pickup.active { background:var(--pickup); color:#fff; border-color:var(--pickup); }

/* ── 픽업 배너 ── */
.sim-pickup {
    display:flex; align-items:center; gap:16px; padding:14px 18px;
    background:var(--bg-card); border:1px solid var(--grade-SS-border);
    border-radius:10px; margin-bottom:16px;
}
.sim-pickup-label { font-size:.85em; color:var(--grade-SS-fg); font-weight:700; margin-bottom:6px; }
.sim-pickup-chars { display:flex; gap:14px; }
.sim-pickup-char  { display:flex; flex-direction:column; align-items:center; gap:5px; }
.sim-pickup-char img  { width:58px; height:58px; object-fit:cover; border-radius:8px; }
.sim-pickup-char span { font-weight:700; font-size:.95em; }

/* ── 소환 Lv. 정보 ── */
.sim-stage {
    background:var(--bg-card); border:1px solid var(--border); border-radius:8px;
    padding:12px 16px; margin-bottom:14px; font-size:.95em;
    display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.sim-stage-sel {
    font-size:.95em; padding:5px 12px; border:1px solid var(--border);
    border-radius:6px; background:var(--bg); color:var(--text);
    cursor:pointer; font-weight:600;
}
.sim-stage-sel:focus { outline:none; border-color:var(--primary); }
.sim-stage-lock {
    display:inline-flex; align-items:center; gap:5px;
    font-size:.85em; color:var(--text-sub); cursor:pointer;
    padding:3px 8px; border:1px solid var(--border); border-radius:6px;
    background:var(--bg); user-select:none;
    transition:all .12s;
}
.sim-stage-lock:hover { border-color:var(--primary); color:var(--primary); }
.sim-stage-lock input { cursor:pointer; margin:0; }
.sim-stage-lock:has(input:checked) {
    background:var(--warning-bg); border-color:var(--warning-border); color:var(--warning-dark);
}
.sim-stage-rates { display:flex; gap:6px; flex-wrap:wrap; margin-left:4px; }
.sim-rate-badge {
    padding:3px 9px; border-radius:4px; font-size:.88em; font-weight:600;
}
.sim-stage-next { font-size:.88em; color:var(--text-muted); margin-left:auto; }

/* ── 롤 버튼 ── */
.sim-roll-area { display:flex; gap:8px; align-items:center; margin-bottom:20px; flex-wrap:wrap; }
/* .sim-btn base style → style.css .action-btn 그룹 셀렉터로 통합 (2026-04-12) */
.sim-btn.large     { padding:10px 24px; font-size:1.05em; }
.sim-reset { padding:7px 14px; font-size:.9em; background:var(--bg); border:1px solid var(--border); border-radius:6px; cursor:pointer; color:var(--text-sub); margin-left:4px; }
.sim-reset:hover { border-color:var(--primary); color:var(--primary); }
.sim-count-badge {
    font-size:.92em; color:var(--text-muted);
    padding:5px 12px; background:var(--bg-card); border-radius:6px; border:1px solid var(--border);
}
/* 영혼석 소모 누적 배지 */
.sim-soul-badge {
    font-size:.92em; font-weight:600;
    color:var(--primary);
    padding:5px 12px; background:var(--bg-card); border-radius:6px;
    border:1px solid var(--primary-light, var(--primary));
}
/* 세트 버튼 — 툴팁 제목에 상세 표기 */
.sim-btn-set { white-space:nowrap; }
.sim-btn-set[title]:hover::after {
    content: attr(title);
    position:absolute; left:0; top:100%; margin-top:4px;
    background:var(--bg-card); border:1px solid var(--border);
    border-radius:6px; padding:5px 10px;
    font-size:.82em; white-space:nowrap; color:var(--text-sub);
    z-index:100; box-shadow:0 2px 8px rgba(0,0,0,.12);
    pointer-events:none;
}
/* 버튼 래퍼에 relative 필요 */
.sim-roll-area { position:relative; }

/* ── 총 누적 통계 ── */
.sim-total-wrap {
    background:var(--bg-card); border:1px solid var(--border); border-radius:10px;
    padding:14px 18px; margin-bottom:20px;
}
.sim-total-title {
    font-size:.98em; font-weight:700; color:var(--text);
    margin-bottom:10px; display:flex; align-items:center; gap:8px;
    padding-bottom:8px; border-bottom:1px solid var(--border);
}
.sim-total-sub { font-size:.82em; font-weight:400; color:var(--text-muted); }
.sim-stats { display:flex; flex-wrap:wrap; gap:8px; }
.sim-stat {
    padding:10px 16px; background:var(--bg); border:1px solid var(--border);
    border-radius:8px; text-align:center; min-width:90px;
}
.sim-stat-val { font-size:1.35em; font-weight:700; }
.sim-stat-lbl { font-size:.85em; color:var(--text-muted); margin-top:3px; }

/* ── 총 누적 — 획득 아이템 그리드 ── */
.sim-total-items:empty { display:none; }
.sim-total-items {
    margin-top:14px; padding-top:14px; border-top:1px dashed var(--border);
}
.sim-total-items-title {
    font-size:.9em; font-weight:700; color:var(--text-sub);
    margin-bottom:10px; display:flex; align-items:center; gap:8px;
}
.sim-total-items-title .sim-total-sub { font-size:.82em; font-weight:400; }
.sim-total-items-grid {
    display:flex; flex-wrap:wrap; gap:10px;
}

/* ── 회차 타이틀 ── */
.sim-rounds-title {
    font-size:.98em; font-weight:700; color:var(--text);
    margin-bottom:10px; display:flex; align-items:center; gap:8px;
}

/* ── 회차 아코디언 ── */
.sim-rounds { margin-bottom:20px; }
.sim-round {
    border:1px solid var(--border); border-radius:10px; margin-bottom:8px;
    overflow:hidden;
}
.sim-round[open] { border-color:var(--primary); }
.sim-round > summary {
    list-style:none;
    display:flex; align-items:center; gap:12px;
    padding:10px 16px; background:var(--bg-card); font-size:.95em;
    cursor:pointer; user-select:none;
}
.sim-round > summary::-webkit-details-marker { display:none; }
.sim-round > summary::before {
    content:'▶'; font-size:.7em; color:var(--text-muted);
    transition:transform .15s; flex-shrink:0;
}
.sim-round[open] > summary::before { transform:rotate(90deg); }
.sim-round[open] > summary { border-bottom:1px solid var(--border); }
.sim-round-no  { font-weight:700; color:var(--primary); min-width:70px; }
.sim-round-n   { color:var(--text-muted); font-size:.92em; min-width:46px; }
.sim-round-sum { display:flex; gap:5px; flex-wrap:wrap; flex:1; }
.sim-round-cards {
    display:flex; flex-wrap:wrap; gap:10px; padding:14px 16px;
}
.sim-card {
    width:78px; text-align:center; position:relative;
}
.sim-card.sim-card-pickup img {
    box-shadow: 0 0 0 3px #f59e0b, 0 0 12px rgba(251, 191, 36, .6);
}
.sim-card.sim-card-pickup .sim-card-grade {
    background: linear-gradient(90deg, #fbbf24, #f59e0b) !important;
    color: #fff !important;
}
.sim-card img {
    width:70px; height:70px; object-fit:cover; border-radius:8px;
    display:block; margin:0 auto;
}
.sim-card-img-empty {
    width:70px; height:70px; border-radius:8px;
    background:var(--bg-card); border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center;
    font-size:1.5em; margin:0 auto;
}
.sim-card-grade {
    font-size:.78em; font-weight:700; padding:2px 7px;
    border-radius:3px; margin-top:4px; display:inline-block;
}
.sim-card-name {
    font-size:.78em; color:var(--text-sub);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    max-width:78px; margin-top:2px;
}
.sim-card-count {
    position:absolute; top:3px; right:3px;
    background:var(--primary-dark, var(--primary)); color:#fff; font-size:.78em; font-weight:700;
    padding:2px 6px; border-radius:10px; line-height:1.2;
    box-shadow:0 0 0 1.5px var(--bg-card), 0 1px 3px rgba(0,0,0,.35);
}
.sim-card-count.rare { background:var(--grade-SS-fg); }

/* ── 실제 vs 기대 확률 비교 표 ── */
.sim-stats-compare:empty { display:none; }
.sim-stats-compare {
    margin-top:14px; padding-top:14px; border-top:1px dashed var(--border);
}
.sim-cmp-title {
    font-size:.9em; font-weight:700; color:var(--text-sub);
    margin-bottom:10px; display:flex; align-items:center; gap:8px;
}
.sim-cmp-title .sim-total-sub { font-size:.82em; font-weight:400; }
.sim-cmp-table {
    width:100%; border-collapse:collapse; font-size:.9em;
}
.sim-cmp-table thead th {
    padding:8px 10px; background:var(--bg); border-bottom:2px solid var(--border);
    font-weight:600; color:var(--text-sub); font-size:.88em;
}
.sim-cmp-table tbody td {
    padding:8px 10px; border-bottom:1px solid var(--border);
}
.sim-cmp-table tbody tr:last-child td { border-bottom:none; }
.sim-cmp-table tbody tr:hover { background:rgba(0,0,0,.02); }

/* ── 이력 ── */
.sim-history-notice {
    font-size:.88em; color:var(--text-muted); padding:8px 12px;
    background:var(--bg-card); border-radius:6px; margin-bottom:8px;
    border-left:3px solid var(--border);
}
.sim-history { max-height:340px; overflow-y:auto; }
.sim-history-row { display:flex; align-items:center; gap:10px; padding:6px 10px; border-bottom:1px solid var(--border); font-size:.92em; }
.sim-history-row:last-child { border-bottom:none; }
.sim-history-idx  { width:42px; color:var(--text-muted); text-align:right; font-size:.92em; }
.sim-history-name { flex:1; }

.sim-empty { color:var(--text-muted); font-size:.95em; padding:24px 0; text-align:center; }
