.poker-odds-app{--p-bg:#101816;--p-panel:#17231f;--p-line:#344a40;--p-accent:#d7b879;background:var(--p-bg);color:#f4f3eb;min-height:100svh;padding:0 clamp(14px,3vw,48px) 90px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;font-variant-numeric:tabular-nums}.poker-odds-app *{box-sizing:border-box}.poker-odds-app [hidden]{display:none!important}.poker-odds-app button,.poker-odds-app input,.poker-odds-app select{font:inherit;touch-action:manipulation}.poker-odds-app button:disabled{opacity:.38;cursor:default}.poker-odds-app :is(a,button,select):focus-visible{outline:2px solid var(--p-accent);outline-offset:4px}.poker-topbar{display:flex;align-items:center;gap:15px;height:82px;border-bottom:1px solid var(--p-line)}.poker-topbar a{display:grid;place-items:center;width:32px;height:44px;border-right:1px solid var(--p-line);padding-right:10px;color:#a5b8ae}.poker-topbar svg{width:22px;height:22px}.poker-topbar h1{font-size:24px;font-weight:650;letter-spacing:-.7px;margin:0}.poker-topbar>span{color:#90a89a;font-size:12px}.poker-topbar>button{margin-left:auto;background:transparent;border:1px solid #486252;border-radius:6px;padding:9px 15px;font-size:12px;color:#c6d4cb}.poker-workspace{display:grid;grid-template-columns:minmax(420px,1.2fr) minmax(330px,.8fr);gap:0 46px;padding-top:30px;max-width:1560px;margin:auto}.poker-table{padding:0 0 26px}.poker-section-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.poker-section-label h2{margin:0;font-size:13px;font-weight:600;color:#e1e9e2}.poker-section-label>span{font-size:11px;color:#9eb5a7}.hole-slots{display:flex;gap:16px}.board-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.card-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;aspect-ratio:5/7;min-width:0;border:1px dashed #617569;border-radius:8px;background:#20342a;color:#728d7b;max-height:154px;padding:10px}.hole-slots .card-slot{width:110px}.card-slot strong{font:500 34px Georgia,serif;white-space:nowrap}.card-slot span{position:absolute;bottom:10px;left:0;right:0;font-size:10px;color:#9eb9aa}.card-slot.is-filled{background:#f5f0e4;border:1px solid #d0c5b0;color:#17271d;box-shadow:0 5px 12px #0003}.card-slot.is-filled span{color:#766e61}.card-slot.is-active{outline:2px solid var(--p-accent);outline-offset:4px}.card-slot.is-red strong{color:#ba343d}.card-slot:hover{border-color:var(--p-accent)}.poker-hand{padding:0 0 28px}.poker-board{padding:0 0 26px}.poker-settings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.poker-settings label{display:grid;gap:7px;color:#98ada1;font-size:11px}.poker-settings select{min-width:0;width:100%;height:43px;border:1px solid #3d5748;border-radius:6px;padding:0 10px;background:#19291f;color:#e7eee8;font-size:12px}.poker-calculate{display:flex;gap:10px;margin-top:20px}.poker-calculate button{min-height:46px;border:0;border-radius:6px;background:var(--p-accent);color:#251e10;font-size:13px;font-weight:650;padding:0 22px}.poker-calculate #calcBtn{flex:1}.poker-calculate #cancelBtn{background:#273b2e;color:#d7e2d8;border:1px solid #496250}.poker-status{min-height:36px;margin:13px 0 0;font-size:11px;line-height:1.6;color:#a9bcaf}.poker-results{border-left:1px solid var(--p-line);padding:4px 0 0 36px}.equity-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.equity-heading h2{margin:0;font-size:14px;font-weight:550;color:#b0c2b6}.equity-heading>span{font-size:10px;color:#94a79c}.equity-value{display:block;font-size:clamp(64px,7vw,106px);line-height:1.08;letter-spacing:-5px;font-weight:500;color:#f0d9a7;margin-top:18px}.equity-range{font-size:12px;color:#a0b7a8;margin:9px 0 28px;min-height:20px}.equity-meter{height:8px;background:#2c3e33;border-radius:5px;overflow:hidden;display:flex}.equity-meter i{height:100%;width:0;transition:width .25s ease}.equity-meter i:nth-child(1){background:#8cbca3}.equity-meter i:nth-child(2){background:#e7c480}.equity-meter i:nth-child(3){background:#b87673}.equity-breakdown{display:grid;grid-template-columns:repeat(3,1fr);margin:17px 0 28px;gap:12px}.equity-breakdown dt{display:flex;align-items:center;gap:6px;font-size:11px;color:#9bb2a3}.equity-breakdown dt i{width:6px;height:6px;border-radius:50%;background:#8cbca3}.equity-breakdown div:nth-child(2) i{background:#e7c480}.equity-breakdown div:nth-child(3) i{background:#b87673}.equity-breakdown dd{margin:5px 0 0;font-size:20px;font-weight:600;letter-spacing:-.5px}.poker-improvement{padding-top:23px;border-top:1px solid var(--p-line)}.poker-improvement h3{margin:0 0 15px;font-size:13px;font-weight:600;color:#d0ddd2}.poker-improvement dl{margin:0}.poker-improvement dl>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2b3b30;padding:11px 0;gap:12px}.poker-improvement dt{font-size:12px;color:#a5b8a9}.poker-improvement dd{font-size:14px;font-weight:600;margin:0}.poker-improvement>p,.poker-assumption{font-size:10px;line-height:1.65;color:#8ea497}.poker-assumption{padding-top:14px}.poker-picker{grid-column:1/-1;padding:25px 0 0;border-top:1px solid var(--p-line)}.poker-section-label>button{background:transparent;border:0;color:#c6b387;font-size:11px;padding:7px}.suit-tabs{display:none}.deck-grid{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:9px}.deck-card{display:flex;align-items:center;justify-content:center;gap:8px;min-height:45px;background:#eee8db;border:1px solid #c4b9a4;border-radius:5px;color:#243627;font:600 17px Georgia,serif!important}.deck-card.red{color:#b9343c}.deck-card:disabled{background:#1f3026;color:#8ea594;opacity:.3}.deck-card:hover:not(:disabled){background:#fff9ec;border-color:#e7c480;transform:translateY(-1px)}.picker-hint{font-size:10px;color:#8da697;margin:13px 0 0}@media (min-width:1550px){.poker-workspace{grid-template-columns:minmax(500px,1.2fr) minmax(400px,.8fr);gap:0 70px}.card-slot{max-height:174px}.hole-slots .card-slot{width:125px}.poker-results{padding-left:55px}.deck-card{min-height:50px}}@media (max-width:950px){.poker-workspace{grid-template-columns:minmax(345px,1.1fr) minmax(270px,.9fr);gap:0 25px}.poker-results{padding-left:22px}.card-slot strong{font-size:27px}.board-slots{gap:9px}.equity-value{font-size:70px}.equity-breakdown dd{font-size:18px}.poker-topbar{height:72px}.deck-grid{gap:6px}}@media (max-width:720px){.poker-odds-app{padding-inline:16px}.poker-topbar{height:66px;gap:10px}.poker-topbar h1{font-size:21px}.poker-topbar>span{font-size:10px}.poker-topbar>button{padding:8px 11px;font-size:11px}.poker-workspace{display:flex;flex-direction:column;padding-top:22px}.poker-table{padding-bottom:5px}.poker-hand{padding-bottom:24px}.hole-slots{gap:12px}.hole-slots .card-slot{width:85px}.card-slot{max-height:119px}.card-slot strong{font-size:26px}.card-slot span{font-size:8px;bottom:7px}.board-slots{gap:8px}.poker-section-label{margin-bottom:13px}.poker-board{padding-bottom:24px}.poker-settings{gap:12px}.poker-calculate{margin-top:17px}.poker-status{min-height:32px}.poker-results{order:3;padding:24px 0 0;margin-top:23px;border-left:0;border-top:1px solid var(--p-line)}.poker-picker{order:2;padding-top:18px}.equity-value{font-size:72px;letter-spacing:-4px;margin-top:12px}.equity-range{margin-bottom:20px}.poker-improvement>p,.poker-assumption{font-size:11px}.suit-tabs{display:flex;gap:8px;margin-bottom:13px}.suit-tabs button{flex:1;min-height:42px;border:1px solid #3e5a49;background:#1b2d22;border-radius:5px;color:#dfe9df;font:600 22px Georgia,serif}.suit-tabs button.is-red{color:#ee9c99}.suit-tabs button[aria-pressed=true]{background:#d7b879;color:#261f13;border-color:#d7b879}.deck-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.deck-card{aspect-ratio:5/7;min-height:0;font-size:18px!important}.deck-card:not(.shown-suit){display:none}.picker-hint{display:none}}@media (max-width:365px){.poker-odds-app{padding-inline:12px}.poker-topbar>span{display:none}.poker-topbar h1{font-size:20px}.card-slot strong{font-size:23px}.board-slots,.deck-grid{gap:6px}.deck-card{font-size:16px!important}.poker-settings select{font-size:11px}}@media (prefers-reduced-motion:reduce){.poker-odds-app *{transition:none!important;scroll-behavior:auto}.deck-card:hover:not(:disabled){transform:none}}
