@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--ground-void:#0a0908;--ground-panel:#121010;--ground-raise:#1a1715;--line-soft:#272220;--line-strong:#3a332e;--copper-100:#f0c58a;--copper-300:#d99a4e;--copper-500:#b9762f;--copper-700:#8a5520;--copper-900:#5c3814;--ink-high:#f5f0e8;--ink-mid:#b8afa3;--ink-low:#6e665d;--ink-faint:#5e564e;--win:#4fc08d;--win-ink:#8fe0b6;--win-ground:#16221b;--win-line:#2f5742;--loss:#e05a6b;--loss-ground:#1c1113;--loss-line:#5a2730;--warn:#e8a33d;--card-face:#f7f3ea;--suit-spade:#17171c;--suit-heart:#c2253a;--suit-diamond:#0b4f85;--suit-club:#14603a;--r-sm:6px;--r-md:9px;--r-lg:12px;--r-xl:16px;--copper-ink:#1a1207;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--ink-high);background:var(--ground-void);font:16px/1.5 Inter,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:root[data-cb-club=true]{--suit-club:#0f6b6b}*{box-sizing:border-box}body{margin:0}h1,h2,h3{letter-spacing:-.02em;color:var(--ink-high);margin:0 0 8px;font-family:Space Grotesk,Inter,system-ui,sans-serif;font-weight:700}.num,.card__rank,button,input,select,table{font-variant-numeric:tabular-nums}button{font:inherit;cursor:pointer}input,select{font:inherit}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-low);font-size:10px;font-weight:800}#root{flex-direction:column;min-height:100svh;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}html.reduce-motion *,html.reduce-motion :before,html.reduce-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.card{width:var(--card-w);height:var(--card-h);border-radius:var(--card-r);background:var(--card-face);flex:none;position:relative;overflow:hidden}.card[data-size=hero]{--card-w:66px;--card-h:92px;--card-r:8px;--card-band:6px;--card-rank:35px;--card-pip:23px;box-shadow:0 10px 26px #000000b3}.card[data-size=board]{--card-w:60px;--card-h:84px;--card-r:7px;--card-band:5px;--card-rank:31px;--card-pip:21px;box-shadow:0 7px 18px #0009}.card[data-size=seat]{--card-w:46px;--card-h:64px;--card-r:6px;--card-band:4px;--card-rank:24px;--card-pip:15px;box-shadow:0 4px 11px #00000073}.card[data-size=micro]{--card-w:30px;--card-h:42px;--card-r:5px;--card-band:3px;--card-rank:17px;box-shadow:none}.card__band{height:var(--card-band);background:var(--suit);position:absolute;inset:0 0 auto}.card__tint{inset:var(--card-band) 0 0 0;background:color-mix(in srgb, var(--suit) 5.5%, transparent);position:absolute}.card__rank{width:100%;height:100%;font-family:Inter,system-ui,sans-serif;font-weight:800;font-size:var(--card-rank);color:var(--suit);justify-content:center;align-items:center;line-height:1;display:flex;position:relative}.card__pip{width:var(--card-pip);height:var(--card-pip);fill:var(--suit);position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.card--winning{box-shadow:0 0 0 2px var(--copper-100), 0 0 26px #f0c58a8c, 0 10px 26px #000000b3}.card--lost{opacity:.32;filter:grayscale()}.card--face-down{border:1.5px solid var(--copper-700);background:linear-gradient(150deg,#3a2817,#16120f);justify-content:center;align-items:center;display:flex;box-shadow:inset 0 0 0 1px #f0c58a40}.card__shield{width:42%;height:42%;fill:var(--copper-300)}.card--not-dealt{background:#0000002e;border:1.5px dashed #f0c58a38}.centered-screen{color:var(--ink-mid);flex:1;justify-content:center;align-items:center;display:flex}.app-header{background:var(--ground-panel);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.app-title{margin:0;font-size:20px}.app-header-right{align-items:center;gap:12px;display:flex}.app-user-email{color:var(--ink-mid);font-size:14px}.logout-button{border:1px solid var(--line-soft);border-radius:var(--r-md);color:var(--ink-high);background:0 0;padding:6px 14px}.logout-button:hover{border-color:var(--loss);color:var(--loss)}.app-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px}.login-screen{flex:1;justify-content:center;align-items:center;display:flex}.login-card{background:var(--ground-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);flex-direction:column;gap:10px;width:320px;padding:32px;display:flex}.login-hint{color:var(--ink-mid);margin:0 0 8px;font-size:13px}.login-card label{color:var(--ink-mid);font-size:13px}.login-card input{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ground-raise);color:var(--ink-high);padding:8px 10px}.login-card button{border-radius:var(--r-md);background:linear-gradient(145deg, #e8b063, var(--copper-700));color:var(--copper-ink);border:none;margin-top:8px;padding:10px;font-weight:700}.login-card button:disabled{opacity:.6;cursor:default}.login-error{color:var(--loss);margin:0;font-size:13px}.panel{background:var(--ground-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:16px}.panel h2{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mid);font-size:15px}.hint-text{color:var(--ink-mid);margin:4px 0 10px;font-size:13px}.range-builder{flex-direction:column;gap:20px;display:flex}.inline-form{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.inline-form input,.inline-form select,.range-set-panel select,.node-panel select{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ground-raise);color:var(--ink-high);padding:8px 10px}.inline-form button{border:1px solid var(--copper-300);border-radius:var(--r-md);background:var(--copper-300);color:var(--copper-ink);padding:8px 14px;font-weight:600}.inline-form button:disabled{opacity:.5;cursor:default;background:var(--line-soft);border-color:var(--line-soft);color:var(--ink-mid)}.preset-buttons{flex-wrap:wrap;gap:8px;display:flex}.preset-buttons button{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ground-raise);color:var(--ink-high);padding:6px 12px}.preset-buttons button.preset-button--match{border-color:var(--copper-300);color:var(--copper-100)}.grid-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;display:flex}.weight-control{gap:4px;display:flex}.weight-option{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ground-raise);color:var(--ink-high);padding:6px 10px}.weight-option--active{background:var(--copper-300);border-color:var(--copper-300);color:var(--copper-ink)}.range-readout{color:var(--ink-mid);font-size:14px}.save-indicator{color:var(--ink-mid);margin-left:auto;font-size:13px}.save-indicator[data-status=saved]{color:var(--win)}.save-indicator[data-status=error]{color:var(--loss)}.range-grid{border:1px solid var(--line-soft);border-radius:var(--r-md);-webkit-user-select:none;user-select:none;flex-direction:column;display:inline-flex;overflow:hidden}.range-grid-row{display:flex}.range-cell{border:1px solid var(--line-soft);width:40px;min-width:44px;height:32px;min-height:44px;color:var(--ink-high);border-width:0 1px 1px 0;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:600;display:flex;position:relative;overflow:hidden}.range-grid-row:first-child .range-cell{border-top-width:1px}.range-cell:first-child{border-left-width:1px}.range-cell--pair{background:color-mix(in srgb, var(--copper-300) 10%, var(--ground-panel))}.range-cell--suited{background:var(--ground-panel)}.range-cell--offsuit{background:var(--ground-raise)}.range-cell:focus-visible{outline:2px solid var(--copper-300);outline-offset:-2px;z-index:1}.range-cell--highlight{box-shadow:inset 0 0 0 2px var(--copper-100)}.range-cell-fill{background:color-mix(in srgb, var(--copper-300) 75%, transparent);transition:width 80ms ease-out;position:absolute;inset:0 auto 0 0}.range-cell-label{z-index:1;pointer-events:none;position:relative}@media (width<=640px){.range-cell{width:24px;min-width:0;height:24px;min-height:0;font-size:8px}}.defense-cell--call{background:color-mix(in srgb, var(--win) 75%, var(--ground-void));color:var(--ink-high)}.defense-cell--raise{background:color-mix(in srgb, var(--loss) 75%, var(--ground-void));color:var(--ink-high)}.defense-category-toggle{gap:6px;display:flex}.defense-category-toggle button{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ground-raise);color:var(--ink-high);padding:8px 14px}.defense-category-toggle button.category--active[data-category=call]{background:var(--win);border-color:var(--win);color:var(--win-ground)}.defense-category-toggle button.category--active[data-category=raise]{background:var(--loss);border-color:var(--loss);color:var(--loss-ground)}.defense-category-toggle button.category--active[data-category=fold]{background:var(--ink-low);border-color:var(--ink-low);color:var(--ground-void)}.warning-banner{border:2px solid var(--loss);background:color-mix(in srgb, var(--loss) 12%, var(--ground-panel))}.warning-banner h3{color:var(--loss)}.app-nav{background:var(--ground-panel);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:8px;padding:10px 24px;display:flex}.nav-button{border-radius:var(--r-md);color:var(--ink-mid);background:0 0;border:1px solid #0000;min-height:44px;padding:8px 16px;font-weight:500}.nav-button--active{background:var(--copper-300);color:var(--copper-ink)}.table-page{flex-direction:column;gap:16px;display:flex}.table-settings{flex-wrap:wrap;align-items:flex-end;gap:16px;min-height:58px;display:flex}.table-settings label{color:var(--ink-mid);flex-direction:column;gap:4px;font-size:13px;display:flex}.table-settings select{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ground-raise);color:var(--ink-high);padding:8px 10px}.mode-toggle{gap:4px;display:flex}.mode-button{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ground-raise);color:var(--ink-high);min-height:44px;padding:8px 16px}.mode-button--active{background:var(--copper-300);border-color:var(--copper-300);color:var(--copper-ink)}.switch-suggestion{border:1px solid var(--warn);border-radius:var(--r-md);color:var(--warn);background:var(--ground-panel);margin:0;padding:10px 14px;font-size:14px}.table-session{flex-direction:column;gap:16px;display:flex}.table-layout{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.table-rail{border-radius:var(--r-lg);background:linear-gradient(145deg,#3a2817 0%,#a4762f 18%,#f0c58a 32%,#8a5520 52%,#2e2014 70%,#c9924d 88%,#4a3524 100%);flex:0 0 76px;align-self:stretch;width:76px;min-height:120px;box-shadow:0 10px 30px #00000080}.table-center{flex-direction:column;flex:999 720px;gap:16px;min-width:0;display:flex}.table-right-panel{flex-direction:column;flex:260px;gap:16px;max-width:320px;display:flex}.right-panel-block h3{margin:0 0 10px}.opponent-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.opponent-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.opponent-row-position{min-width:32px;font-weight:700}.opponent-row-stats{color:var(--ink-mid);flex-basis:100%}.read-chip{letter-spacing:.04em;border-radius:var(--r-sm);padding:2px 8px;font-size:10px;font-weight:800}.read-chip[data-read=DÍNH]{background:color-mix(in srgb, var(--warn) 25%, transparent);color:var(--warn)}.read-chip[data-read=CHẶT]{background:color-mix(in srgb, var(--suit-diamond) 35%, transparent);color:color-mix(in srgb, var(--suit-diamond) 55%, var(--ink-high))}.read-chip[data-read=HUNG]{background:color-mix(in srgb, var(--loss) 25%, transparent);color:var(--loss)}.read-chip[data-read=SỢ]{background:color-mix(in srgb, var(--ink-low) 35%, transparent);color:var(--ink-mid)}.board-readout{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px;display:grid}.board-readout dt{color:var(--ink-mid)}.board-readout dd{text-align:right;margin:0;font-weight:600}.poker-table{aspect-ratio:16/9;justify-content:center;align-items:center;width:100%;max-width:940px;margin:0 auto;display:flex;position:relative}.felt{background:radial-gradient(at 50% 42%,#22352c 0%,#16251f 46%,#0c1714 100%) padding-box padding-box;border:11px solid #0000;border-radius:50%;width:92%;height:86%;position:relative;box-shadow:inset 0 3px 22px #000000c7,inset 0 0 0 1px #f0c58a24,0 26px 60px #000000b8}.felt:before{content:"";z-index:-1;background:linear-gradient(145deg,#3a2817 0%,#a4762f 18%,#f0c58a 32%,#8a5520 52%,#2e2014 70%,#c9924d 88%,#4a3524 100%);border-radius:50%;position:absolute;inset:-11px;box-shadow:0 26px 60px #000000b8,0 0 0 1px #1a1412}.skip-pill{z-index:2;border:1px solid var(--line-strong);color:var(--ink-high);border-radius:var(--r-xl);background:#100d0ce6;padding:6px 12px;font-size:12px;position:absolute;top:3%;left:3%}.pot-readout{color:var(--ink-high);border-radius:var(--r-xl);white-space:nowrap;background:#00000059;padding:4px 12px;font-size:14px;font-weight:600;position:absolute;top:27%;left:50%;transform:translate(-50%,-50%)}.board-cards{gap:6px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.seat{border-radius:var(--r-md);min-width:84px;color:var(--ink-high);background:#100d0ce6;border:1px solid #2a2420;flex-direction:column;align-items:center;gap:2px;padding:8px;transition:transform .15s ease-out;display:flex;position:absolute;transform:translate(-50%,-50%)}.seat--acting{box-shadow:0 0 0 2px var(--copper-300);transform:translate(-50%,-50%)translateY(-2px)}.seat--acted{opacity:.62}.seat--folded{opacity:.33}.seat--hero{border:1px solid var(--copper-700);box-shadow:0 0 22px #d99a4e33}.seat-timebank{position:absolute;top:-40px;left:50%;transform:translate(-50%)}.timebank-ring{width:62px;height:62px;position:relative}.timebank-ring__seconds{font-variant-numeric:tabular-nums;color:var(--ink-high);justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;position:absolute;inset:0}.timebank-ring--pulse .timebank-ring__seconds{animation:.6s ease-in-out infinite timebank-pulse}@keyframes timebank-pulse{0%,to{opacity:1}50%{opacity:.4}}.dealer-button{background:var(--card-face);width:20px;height:20px;color:var(--ground-void);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;top:-8px;right:-8px}.seat-label{text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.seat-bot-name{text-transform:none;opacity:.8;font-weight:400}.seat-cards{gap:2px;display:flex}.seat-stack{opacity:.9;font-size:12px}.seat-action-chip{letter-spacing:.03em;color:var(--copper-100);border-radius:var(--r-sm);background:#0006;padding:2px 8px;font-size:10px;font-weight:700}.bet-controls{background:var(--ground-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);flex-direction:column;gap:10px;padding:14px;display:flex}.action-row,.training-actions{flex-wrap:wrap;gap:10px;max-width:700px;display:flex}.action-button{border-radius:var(--r-md);border:1px solid var(--line-strong);height:56px;color:var(--ink-mid);background:#16120f;flex:1;padding:0 18px;font-size:15px;font-weight:600;transition:filter .2s ease-out;position:relative}.action-button:hover{filter:brightness(1.12)}.key-hint{opacity:.7;font-size:9px;font-weight:600;position:absolute;bottom:4px;right:8px}.action-fold{border-color:var(--line-strong);color:var(--ink-mid);background:#16120f}.action-call{color:var(--win-ink);background:linear-gradient(#253a30,#16241d);border-color:#3c6b52}.action-raise{background:linear-gradient(180deg, #e8b063, var(--copper-700));border-color:var(--copper-100);color:var(--copper-ink);flex:1.5;box-shadow:0 0 28px #d99a4e66}.bet-size-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bet-preset{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ground-raise);min-height:44px;color:var(--ink-high);flex-direction:column;align-items:center;gap:2px;padding:6px 12px;display:flex;position:relative}.bet-preset__pct{font-weight:600}.bet-preset__bb{color:var(--ink-mid);font-size:11px}.bet-preset--active{border-color:var(--copper-700);background:#2b2118;box-shadow:0 0 10px #d99a4e4d}.bet-preset--active .bet-preset__bb{color:var(--copper-100)}.bet-slider{flex:1;min-width:160px}.training-prompt{background:var(--ground-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);flex-direction:column;gap:10px;padding:16px;display:flex}.training-prompt--reveal{border-color:var(--loss)}.training-spot{color:var(--ink-mid);margin:0;font-size:14px}.training-hand{margin:0;font-size:16px}.training-continue{border:1px solid var(--copper-300);border-radius:var(--r-md);background:var(--copper-300);min-height:44px;color:var(--copper-ink);align-self:flex-start;padding:8px 16px}.hand-over-panel{background:var(--ground-panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);align-items:center;gap:12px;padding:14px;display:flex}.hand-over-panel button{border:1px solid var(--copper-300);border-radius:var(--r-md);background:var(--copper-300);min-height:44px;color:var(--copper-ink);padding:8px 16px}.settings-page{flex-direction:column;gap:16px;display:flex}.settings-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.settings-row:last-child{border-bottom:none}.settings-row-label{margin:0;font-weight:600}.settings-choice-group{gap:6px;display:flex}.settings-choice{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ground-raise);min-height:44px;color:var(--ink-high);padding:8px 14px}.settings-choice--active{background:var(--copper-300);border-color:var(--copper-300);color:var(--copper-ink)}.settings-switch{flex:none;width:44px;height:26px;display:inline-flex;position:relative}.settings-switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.settings-switch-track{background:var(--line-soft);border-radius:999px;transition:background .15s ease-out;position:absolute;inset:0}.settings-switch-track:before{content:"";background:var(--ink-high);border-radius:50%;width:20px;height:20px;transition:transform .15s ease-out;position:absolute;top:3px;left:3px}.settings-switch input:checked+.settings-switch-track{background:var(--copper-300)}.settings-switch input:checked+.settings-switch-track:before{background:var(--copper-ink);transform:translate(18px)}.range-filter-page{flex-direction:column;gap:16px;display:flex}.filter-settings label{color:var(--ink-mid);flex-direction:column;gap:4px;font-size:13px;display:flex}.filter-settings select{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ground-raise);color:var(--ink-high);padding:8px 10px}.checkbox-label{align-items:center;flex-direction:row!important;gap:6px!important}.caveat-text{border-left:3px solid var(--warn);padding-left:10px}.filter-settings>button{border:1px solid var(--copper-300);border-radius:var(--r-md);background:var(--copper-300);min-height:44px;color:var(--copper-ink);align-self:flex-start;margin-top:12px;padding:10px 18px;font-weight:600}.filter-settings>button:disabled{opacity:.5;cursor:default;background:var(--line-soft);border-color:var(--line-soft);color:var(--ink-mid)}.filter-session{flex-direction:column;gap:16px;display:flex}.shrink-sequence{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.shrink-sequence-label{color:var(--ink-mid);font-size:13px;font-weight:400}.board-cards-standalone{gap:6px;display:flex}.grade-buckets{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0;display:grid}.grade-buckets h4{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-mid);margin:0 0 4px;font-size:13px}.grade-buckets p{margin:0}.named-survivors{border-radius:var(--r-md);background:color-mix(in srgb, var(--copper-300) 8%, transparent);padding:10px;font-size:15px}.river-buckets{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.river-bucket h4{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-mid);margin:0 0 8px;font-size:13px}.hand-chip-row{flex-wrap:wrap;gap:6px;display:flex}.hand-chip{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--ground-raise);min-height:44px;color:var(--ink-high);padding:6px 10px;font-weight:600}.hand-chip--selected{background:var(--copper-300);border-color:var(--copper-300);color:var(--copper-ink)}.hand-chip:disabled{opacity:.8;cursor:default}.bluff-ratio-sentence{border-radius:var(--r-md);background:var(--ground-panel);border:1px solid var(--line-soft);margin:10px 0;padding:10px;font-size:15px}.stats-dashboard{flex-direction:column;gap:20px;display:flex}.overall-accuracy-panel{text-align:center}.overall-accuracy-number{font-variant-numeric:tabular-nums;color:var(--copper-100);margin:8px 0;font-family:Space Grotesk,sans-serif;font-size:56px;font-weight:700;line-height:1}.worst-flag{color:var(--loss);font-weight:600}.stats-table{border-collapse:collapse;width:100%;margin-top:8px}.stats-table th,.stats-table td{text-align:left;border-bottom:1px solid var(--line-soft);padding:6px 10px}.stats-row--worst{background:color-mix(in srgb, var(--loss) 12%, var(--ground-panel))}.no-money-note{border:1px dashed var(--line-soft);color:var(--ink-mid)}.progress-chart{max-width:100%;margin-top:8px}.chart-axis{stroke:var(--line-soft);stroke-width:1px}.chart-line{stroke:var(--copper-300);stroke-width:2px}.chart-point{fill:var(--copper-300)}@media (width<=640px){.table-layout{flex-direction:column}.table-rail{flex:none;width:100%;min-height:12px}.table-right-panel{max-width:none}.app-main{padding:12px}}
