:root{--felt: #0b3d2e;--felt-dark: #073525;--felt-light: #135e47;--gold: #d4af37;--gold-dim: #a98726;--card-bg: #fefefe;--text: #f1ecd7;--text-dim: #b0a98c;--win: #5cd87a;--tie: #f0c244;--loss: #e36262;--danger: #b04848;--shadow: 0 2px 8px rgba(0, 0, 0, .4)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:radial-gradient(ellipse at top,var(--felt-light) 0%,var(--felt) 50%,var(--felt-dark) 100%);background-attachment:fixed;min-height:100vh;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:1.4}button{font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:inherit;font-size:inherit}input[type=number]{font-family:inherit;font-size:inherit;background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:var(--text);padding:8px 10px;border-radius:6px;width:100%;outline:none}input[type=number]:focus{border-color:var(--gold)}.app{max-width:430px;margin:0 auto;padding:16px 14px 80px;min-height:100vh}.header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.header h1{margin:0;font-size:20px;letter-spacing:.5px;color:var(--gold);font-weight:600}.header .subtitle{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.section{background:#0000002e;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px 12px;margin-bottom:10px}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}.section-title .right{font-size:11px;color:var(--gold)}.card-slot{width:44px;height:60px;background:var(--card-bg);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow);position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid rgba(0,0,0,.1);font-weight:600}.card-slot.empty{background:#ffffff0a;border:1.5px dashed rgba(255,255,255,.25);color:var(--text-dim);font-size:22px;font-weight:300}.card-slot .rank{font-size:18px;line-height:1}.card-slot .suit{font-size:22px;line-height:1;margin-top:2px}.card-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card-row .placeholder-label{font-size:10px;color:var(--text-dim);text-align:center;margin-top:4px}.card-cell{display:flex;flex-direction:column;align-items:center}.board-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.board-row .card-slot{width:100%;height:60px}.board-row .card-slot .suit{font-size:20px}.board-row .card-slot .rank{font-size:16px}.player-row{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.player-btn{padding:8px 0;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text);font-weight:600;font-size:14px;transition:background .1s}.player-btn.active{background:var(--gold);color:#1a1a1a;border-color:var(--gold)}.player-btn:disabled{opacity:.4;cursor:not-allowed}.street-row{display:flex;gap:4px;justify-content:space-between;margin-bottom:10px}.street-pill{flex:1;text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:6px 0;border-radius:14px;background:#ffffff0d;color:var(--text-dim);border:1px solid rgba(255,255,255,.06)}.street-pill.active{background:var(--gold);color:#1a1a1a;border-color:var(--gold);font-weight:600}.equity-bar-row{display:grid;grid-template-columns:60px 1fr 70px;align-items:center;gap:8px;font-size:13px;margin-bottom:6px}.equity-bar-row .label{text-transform:uppercase;font-size:10px;letter-spacing:1px;color:var(--text-dim)}.equity-bar-row .pct{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.bar-track{background:#0000004d;height:10px;border-radius:5px;overflow:hidden;position:relative}.bar-fill{height:100%;border-radius:5px;transition:width .25s ease}.bar-fill.win{background:var(--win)}.bar-fill.tie{background:var(--tie)}.bar-fill.loss{background:var(--loss)}.equity-loading .bar-fill,.equity-loading .pct,.equity-loading .label{opacity:.4}.equity-loading .bar-track:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#fff0,#ffffff2e,#fff0);animation:shimmer 1.2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;margin-left:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.hand-strength{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;color:var(--text)}.hand-strength .outs{background:#d4af3726;border:1px solid rgba(212,175,55,.4);color:var(--gold);padding:3px 8px;border-radius:12px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.pot-odds-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.input-group label{font-size:10px;text-transform:uppercase;color:var(--text-dim);letter-spacing:1px;display:block;margin-bottom:4px}.pot-odds-result{display:flex;align-items:center;justify-content:space-between;background:#ffffff0d;padding:8px 10px;border-radius:6px;margin-top:4px;font-size:13px}.pot-odds-result .meta{font-size:11px;color:var(--text-dim)}.pot-odds-pill{font-weight:700;padding:4px 10px;border-radius:12px;font-size:12px}.pot-odds-pill.call{background:var(--win);color:#053b15}.pot-odds-pill.fold{background:var(--loss);color:#4a0d0d}.actions{display:flex;gap:8px;margin:12px 0 6px}.btn{flex:1;padding:10px;border-radius:8px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:1px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text);transition:background .1s}.btn.primary{background:var(--gold);color:#1a1a1a;border-color:var(--gold)}.btn.primary:active{background:var(--gold-dim)}.btn.danger{background:#b0484859;border-color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:flex-end;justify-content:center;z-index:100;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:430px;background:var(--felt);border-top-left-radius:16px;border-top-right-radius:16px;padding:16px 14px 24px;border-top:1px solid rgba(255,255,255,.08);max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-header h2{margin:0;font-size:15px;color:var(--gold);font-weight:600}.modal-close{font-size:22px;color:var(--text-dim);padding:4px 10px}.picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.picker-suit-row{display:contents}.picker-card{background:var(--card-bg);border-radius:6px;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:14px;-webkit-user-select:none;user-select:none;border:1px solid rgba(0,0,0,.1);transition:transform .05s}.picker-card:active{transform:scale(.95)}.picker-card.disabled{opacity:.25;cursor:not-allowed;pointer-events:none;background:#6a6a6a}.picker-card .rank{font-size:14px}.picker-card .suit{font-size:18px;line-height:1}.picker-suit-label{text-align:center;font-size:11px;color:var(--text-dim);text-transform:uppercase;margin:8px 0 4px;letter-spacing:1px}.history details{cursor:pointer}.history summary{list-style:none;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);padding:4px 0}.history summary::-webkit-details-marker{display:none}.history summary:after{content:" ▾";color:var(--gold)}.history[open] summary:after{content:" ▴"}.history-item{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:6px 0;border-top:1px solid rgba(255,255,255,.05)}.history-cards{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.history-win{font-weight:600;color:var(--win);font-variant-numeric:tabular-nums}.empty-state{text-align:center;font-size:13px;color:var(--text-dim);padding:16px 8px;font-style:italic}.footer{margin-top:16px;text-align:center;font-size:10px;color:var(--text-dim);letter-spacing:1px}.footer .iters{color:var(--gold-dim)}
