.tool-status{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef2f7;color:#607087;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.tool-status.live{background:#e5f8ed;color:#197345}
.odds-main{min-height:calc(100vh - 160px);padding:56px clamp(18px,4vw,70px) 84px;background:linear-gradient(180deg,#f7faff 0%,#edf3fa 100%)}
.odds-wrap{max-width:1180px;margin:0 auto}.odds-breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:24px;color:#66758d;font-size:14px}.odds-breadcrumb a{color:#1769d2;text-decoration:none;font-weight:800}
.odds-intro{text-align:center;max-width:820px;margin:0 auto 34px}.odds-intro .tool-status{display:inline-flex}.odds-intro h1{margin:14px 0 12px;color:#111d32;font-size:clamp(36px,5vw,58px);line-height:1.03;letter-spacing:-.04em}.odds-intro p{margin:0;color:#62718a;font-size:18px;line-height:1.65}
.odds-app{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:24px;align-items:start}.odds-panel,.odds-picker-panel,.odds-result-panel,.odds-info{border:1px solid #d7e1ee;border-radius:22px;background:#fff;box-shadow:0 15px 38px rgba(30,55,90,.07)}.odds-panel{padding:28px}.odds-side{display:grid;gap:18px;position:sticky;top:88px;min-width:0}.odds-picker-panel,.odds-result-panel{padding:22px;min-width:0}.odds-result-panel{position:static}
.odds-section{padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid #e5ebf3}.odds-section:last-of-type{border-bottom:0;margin-bottom:18px;padding-bottom:0}.odds-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.odds-section h2{margin:0;color:#14213a;font-size:20px}.odds-section p{margin:5px 0 0;color:#75839a;font-size:14px}.odds-card-row{display:flex;flex-wrap:wrap;gap:10px}
.card-slot{width:68px;height:92px;border:2px dashed #b7c5d8;border-radius:11px;background:#f8fbff;color:#75839a;font:800 14px/1 system-ui;cursor:pointer;display:grid;place-items:center;transition:.15s}.card-slot:hover,.card-slot.active{border-color:#1769d2;background:#eef6ff;box-shadow:0 0 0 3px rgba(23,105,210,.11)}.card-slot.filled{border-style:solid;background:#fff;color:#13213a}.playing-card{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:8px;box-sizing:border-box;font-weight:950;font-size:24px;line-height:1}.playing-card .suit{align-self:flex-end;font-size:28px}.playing-card.red{color:#d6334c}.playing-card.black{color:#17243a}
.board-labels{display:flex;gap:10px;margin-bottom:6px}.board-labels span{width:68px;text-align:center;color:#7b879a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.picker-title{margin:0 0 10px;color:#1d2a40;font-size:15px}.card-picker{padding:18px;border-radius:16px;background:#0e2037}.rank-row{display:grid;grid-template-columns:repeat(13,minmax(24px,1fr));gap:5px;margin-bottom:6px}.rank-row:last-child{margin-bottom:0}.pick-card{height:36px;padding:0 2px;border:0;border-radius:8px;background:#fff;color:#17243a;font-weight:900;cursor:pointer}.pick-card.red{color:#cf2d46}.pick-card:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.2)}.pick-card:disabled{opacity:.2;cursor:not-allowed}.picker-hint{margin:10px 0 0;color:#6d7b91;font-size:13px}.odds-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.odds-actions .button{flex:1;min-width:0}.odds-actions button{min-width:150px}.odds-error{display:none;margin:14px 0 0;padding:12px 14px;border-radius:10px;background:#fff0f1;color:#a82334;font-weight:700}.odds-error.show{display:block}
.result-empty{text-align:center;padding:30px 5px;color:#718096}.result-empty strong{display:block;color:#1b2940;font-size:20px;margin-bottom:8px}.result-grid{display:none}.result-grid.show{display:block}.result-player{padding:18px;border:1px solid #dce5ef;border-radius:15px;margin-bottom:12px}.result-player.result-hero{border-color:#8abcf4;background:#f1f7ff}.result-player-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.result-player h3{margin:0;color:#16243b;font-size:17px}.equity-number{font-size:31px;font-weight:950;color:#1769d2}.equity-bar{height:10px;margin:12px 0 0;border-radius:999px;background:#e8edf4;overflow:hidden}.equity-fill{height:100%;width:0;background:#1769d2;border-radius:inherit;transition:width .35s ease}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.result-stat{padding:10px 7px;border-radius:10px;background:#f4f7fb;text-align:center}.result-stat strong{display:block;color:#17243a;font-size:17px}.result-stat span{color:#78869a;font-size:11px;text-transform:uppercase;font-weight:800}.result-note{margin:14px 0 0;color:#718096;font-size:12px;line-height:1.5}.calculation-status{display:none;align-items:center;gap:10px;margin:12px 0;color:#52647b;font-weight:800}.calculation-status.show{display:flex}.spinner{width:18px;height:18px;border:3px solid #d9e3ef;border-top-color:#1769d2;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.odds-info{max-width:1180px;margin:26px auto 0;padding:30px}.odds-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.odds-info h2{margin:0 0 12px;color:#16243b}.odds-info h3{margin:0 0 8px;color:#1c2b43}.odds-info p{margin:0;color:#66758d;line-height:1.65}.odds-related{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding-top:24px;border-top:1px solid #e1e7ef}.odds-related a{text-decoration:none;font-weight:850;color:#1769d2}
@media(max-width:900px){.odds-app{grid-template-columns:1fr}.odds-side{position:static}.odds-result-panel{position:static}.odds-info-grid{grid-template-columns:1fr}}
@media(max-width:650px){.site-header{flex-wrap:wrap}.odds-main{padding-top:34px}.odds-panel,.odds-picker-panel,.odds-result-panel{padding:20px}.card-slot{width:55px;height:76px}.board-labels span{width:55px}.rank-row{grid-template-columns:repeat(7,1fr)}.odds-actions button{width:100%}.odds-related{align-items:flex-start;flex-direction:column}}

/* v26.24.1 — keep the picker available at normal desktop zoom and prevent landing-page .hero collisions */
.odds-side .result-player{width:auto;max-width:none;min-height:0;display:block;text-align:initial}
.odds-picker-panel{border:1px solid #d7e1ee;border-radius:22px;background:#fff;box-shadow:0 15px 38px rgba(30,55,90,.07)}
.odds-picker-panel .picker-title{font-size:16px}
.odds-result-panel{overflow:hidden}
.result-player-head>*{min-width:0}.equity-number{white-space:nowrap}
@media(min-width:901px){.odds-panel{min-height:620px}}


/* v26.29.7 — multiway opponent controls */
.opponent-controls{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:-8px 0 25px;
  padding:14px 0 2px;
}
.add-opponent,.remove-opponent{
  border:1px solid #b9cbe0;
  border-radius:9px;
  background:#f8fbff;
  color:#1769d2;
  font-weight:850;
  cursor:pointer;
}
.add-opponent{padding:9px 13px}
.remove-opponent{padding:7px 10px;white-space:nowrap}
.add-opponent:hover,.remove-opponent:hover{background:#edf5ff;border-color:#8fb0d7}
.optional-label{
  display:inline-block;
  margin-left:6px;
  padding:3px 7px;
  border-radius:999px;
  background:#eef3f8;
  color:#718096;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  vertical-align:middle;
}
#playerCountLabel{
  margin-left:auto;
  color:#66758d;
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.optional-opponent[hidden]{display:none!important}
@media(max-width:650px){
  #playerCountLabel{width:100%;margin-left:0}
}
