/* Scoped mobile-first probability disclosure. Native dialog keeps focus inside. */
#exactPackOdds { width:min(760px,calc(100% - 24px)); max-height:88vh; max-height:88dvh; padding:0; border:1px solid #eab1d1; border-radius:22px; background:#fff6fb; color:#62234e; box-shadow:0 24px 80px #0006; font-family:var(--font-body, sans-serif); overflow:auto; }
#exactPackOdds::backdrop { background:rgba(15,4,17,.78); }
#exactPackOdds [hidden] { display:none!important; }
#exactPackOdds .exact-odds-header { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px; background:#fff6fb; border-bottom:1px solid #ebc8dc; }
#exactPackOdds .exact-odds-header span { font-size:10px; font-weight:800; letter-spacing:.12em; color:#a34c7f; }
#exactPackOdds h2 { margin:4px 0 0; font-size:22px; line-height:1.2; }
#exactPackOdds .exact-odds-content { padding:0 20px 20px; }
#exactPackOdds p { font-size:13px; line-height:1.6; }
#exactPackOdds .exact-odds-note { padding:12px; border-radius:12px; background:#f8e4f1; }
#exactPackOdds .exact-odds-controls { display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; }
#exactPackOdds label { display:grid; gap:6px; font-size:12px; font-weight:800; }
#exactPackOdds input,#exactPackOdds select { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid #d9aec8; border-radius:10px; background:white; color:#62234e; font:inherit; font-size:16px; }
#exactPackOdds .exact-odds-explanation { margin-top:14px; padding:12px; border:1px solid #e5c3d8; border-radius:12px; }
#exactPackOdds summary { cursor:pointer; min-height:30px; font-size:13px; font-weight:800; }
#exactPackOdds .exact-odds-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(110px,auto); gap:12px; padding:14px 0; border-top:1px solid #e5c3d8; font-size:14px; }
#exactPackOdds .exact-odds-row small,#exactPackOdds .exact-odds-row span,#exactPackOdds code { display:block; margin-top:4px; overflow-wrap:anywhere; }
#exactPackOdds .exact-odds-row small { color:#925578; font-size:11px; line-height:1.5; }
#exactPackOdds code { font-size:10px; }
#exactPackOdds .exact-odds-probability { text-align:right; font-variant-numeric:tabular-nums; }
#exactPackOdds .exact-odds-probability > strong { color:#a72370; font-size:15px; }
#exactPackOdds .exact-odds-pagination { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-top:12px; font-size:12px; }
#exactPackOdds .btn { min-height:44px; }
#exactPackOdds :focus-visible { outline:3px solid #ad3f94; outline-offset:2px; }
.exact-odds-link { min-height:44px; margin:8px 0; }
.pack-odds > .exact-odds-link { display:flex; width:100%; justify-content:center; }
.owned-pack-actions > .exact-odds-link { grid-column:1/-1; margin:0; }
html[data-theme="dark"] #exactPackOdds,html[data-theme="dark"] #exactPackOdds .exact-odds-header { background:#251020; color:#ffe5f3; border-color:#64304f; }
html[data-theme="dark"] #exactPackOdds input,html[data-theme="dark"] #exactPackOdds select { background:#34182b; color:#ffe5f3; border-color:#784261; }
html[data-theme="dark"] #exactPackOdds .exact-odds-note { background:#381b30; }
html[data-theme="dark"] #exactPackOdds .exact-odds-row,html[data-theme="dark"] #exactPackOdds .exact-odds-explanation { border-color:#64304f; }
html[data-theme="dark"] #exactPackOdds .exact-odds-row small,html[data-theme="dark"] #exactPackOdds .exact-odds-header span { color:#d4a3bf; }
html[data-theme="dark"] #exactPackOdds .exact-odds-probability > strong { color:#ffb1db; }
@media(max-width:560px) {
  #exactPackOdds .exact-odds-header { padding:14px; }
  #exactPackOdds .exact-odds-content { padding:0 14px 14px; }
  #exactPackOdds h2 { font-size:19px; }
  #exactPackOdds .exact-odds-controls { grid-template-columns:1fr 1fr; }
  #exactPackOdds .exact-odds-controls > label:first-child { grid-column:1/-1; }
  #exactPackOdds .exact-odds-row { grid-template-columns:minmax(0,1fr) 115px; gap:8px; }
  #exactPackOdds .exact-odds-probability > strong { font-size:13px; overflow-wrap:anywhere; }
}
