:root{--bg: #0b1512;--surface: #12241c;--surface-2: #1a3529;--felt: #1F6B41;--felt-dark: #175232;--felt-idle: #6E6E70;--felt-idle-dark: #59595B;--call: #2F7CF6;--raise: #2FA84F;--fold: #F23A6B;--alert: #F59E0B;--gold: #d4af37;--action-ink: #0b1512;--text: #ecf3ee;--text-dim: #93a89b;--line: #1f4a3c;--radius: 12px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}#root{min-height:100dvh}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;position:relative}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--call);outline-offset:2px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-height:44px;width:100%}input[type=number]{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.topbar{display:flex;align-items:center;gap:4px;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));position:sticky;top:0;background:var(--bg);z-index:20}.topbar .title{flex:1;text-align:center;font-weight:700;font-size:17px}.iconbtn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:20px;color:var(--text)}.iconbtn:active{background:var(--surface)}.iconbtn.accent{color:var(--gold)}.iconbtn.danger{color:var(--fold)}.iconbtn.warn{color:var(--alert)}.iconbtn.filter-active{color:var(--fold)}.screen{flex:1;display:flex;flex-direction:column;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.screen-pad{padding-left:12px;padding-right:12px}.btn{display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:var(--radius);font-size:18px;font-weight:700;width:100%;padding:0 16px}.btn:disabled{opacity:.4}.btn:active{filter:brightness(1.15)}button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.btn-call{background:var(--call);color:var(--action-ink)}.btn-raise{background:var(--raise);color:var(--action-ink)}.btn-fold{background:var(--fold);color:var(--action-ink)}.btn-alert{background:var(--alert);color:var(--action-ink)}.btn-ghost{background:var(--surface);color:var(--text)}.btn-outline{background:transparent;border:1px solid var(--line);color:var(--text)}.btn-sm{min-height:44px;font-size:15px;border-radius:10px}.btn-row{display:flex;gap:8px}.btn-row>.btn{flex:1}.fab{position:fixed;right:max(16px,calc(50vw - 224px));bottom:calc(20px + env(safe-area-inset-bottom));width:64px;height:64px;border-radius:50%;background:var(--raise);color:var(--action-ink);font-size:34px;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000080;z-index:30}.table-wrap{position:relative;width:100%;aspect-ratio:10 / 8.2;margin:4px 0 8px;overflow:clip}.table-wrap.crowded .seat{min-width:46px;padding:2px}.table-wrap.crowded .seat .nm{max-width:54px;font-size:10px}@media (max-width: 400px){.table-wrap.crowded .seat .cards-slot .pcard{width:20px;height:28px;font-size:11px}.table-wrap.crowded .seat .cards-slot .pcard .s{font-size:8px}}@media (max-height: 700px){.table-wrap{aspect-ratio:10 / 6.6}.action-area{gap:6px;padding:6px 12px}.action-area .btn{min-height:48px}}.felt{position:absolute;left:12%;top:16%;width:76%;height:62%;border-radius:50%;background:radial-gradient(ellipse at center,var(--felt) 0%,var(--felt-dark) 100%);border:6px solid #101012;box-shadow:inset 0 0 24px #00000073}.felt.idle{background:radial-gradient(ellipse at center,var(--felt-idle) 0%,var(--felt-idle-dark) 100%)}.table-center{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;z-index:2}.pot-label{font-size:13px;font-weight:700;color:#eaf5ec;text-shadow:0 1px 2px rgba(0,0,0,.6)}.board{display:flex;gap:3px;min-height:44px;align-items:center}.board.dual{min-height:28px}.seat{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;z-index:3;min-width:56px;border-radius:10px;padding:2px 4px}.seat.tappable:active{background:#ffffff14}.seat .nm{font-size:11px;color:var(--text);max-width:74px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat .stk{font-size:12px;font-weight:700}.seat .pos{font-size:10px;color:var(--text-dim);font-weight:700}.seat.folded{opacity:.35}.seat.out .nm,.seat.out .stk{color:var(--text-dim)}.seat.to-act .cards-slot{outline:2px solid #46e05f;outline-offset:1px;border-radius:5px}.seat .cards-slot{display:flex;gap:2px}.committed{position:absolute;transform:translate(-50%,-50%);font-size:12px;font-weight:700;color:#ffe9a8;text-shadow:0 1px 2px rgba(0,0,0,.7);z-index:2;pointer-events:none}.btn-marker{position:absolute;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;background:#f2f2f2;color:#111;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;z-index:4;box-shadow:0 1px 3px #0009}.pcard{width:26px;height:36px;border-radius:4px;background:#fff;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:13px;line-height:1;box-shadow:0 1px 2px #00000080}.pcard .s{font-size:11px}.pcard.suit-h,.pcard.suit-h .s{color:#e0353f}.pcard.suit-d,.pcard.suit-d .s{color:#e23b8f}.pcard.suit-s,.pcard.suit-s .s{color:#16161a}.pcard.suit-c,.pcard.suit-c .s{color:#1f3d2a}.pcard.back{background:linear-gradient(135deg,#3a3a40,#232327);border:1px solid #4a4a52}.pcard.empty{background:#ffffff1a;border:1px dashed rgba(255,255,255,.35)}.pcard.lg{width:40px;height:56px;font-size:19px;border-radius:6px}.pcard.lg .s{font-size:15px}.pcard.sm{width:18px;height:26px;font-size:10px;border-radius:3px}.pcard.sm .s{font-size:8px}.date-header{display:flex;align-items:baseline;gap:10px;padding:14px 12px 6px;font-size:13px;color:var(--text-dim);font-weight:600;border-bottom:1px solid var(--line)}.date-header .pl{margin-left:auto;font-weight:800;font-size:14px}.hand-row{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}.hand-row:active{background:var(--surface)}.hand-row .idx{font-size:12px;color:var(--text-dim);width:30px}.hand-row .hero-cards{display:flex;gap:2px}.hand-row .mid{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.hand-row .pot-type{font-size:11px;color:var(--text-dim);font-weight:700}.hand-row .amt{font-weight:800;font-size:15px;text-align:right;min-width:64px}.hand-row .chev{color:var(--text-dim);font-size:18px}.pos-chip{font-size:11px;font-weight:700;color:var(--text-dim);width:34px;text-align:center}.gain{color:#46d06a}.loss{color:#ff5c86}.draft-badge{font-size:10px;font-weight:800;color:#14100a;background:var(--alert);border-radius:4px;padding:2px 5px}.empty-state{text-align:center;color:var(--text-dim);padding:64px 24px;font-size:15px;line-height:1.6}.group{background:var(--surface);border-radius:var(--radius);padding:14px;margin:8px 12px}.group h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:10px}.field{display:flex;align-items:center;gap:10px;margin-bottom:10px}.field:last-child{margin-bottom:0}.field label{flex:1;font-size:14px}.field input,.field select{width:120px;text-align:right}.field input.wide{width:160px}.field-col{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.field-col label{font-size:13px;color:var(--text-dim)}.seg{display:flex;background:var(--surface-2);border-radius:10px;padding:3px;gap:2px}.seg button{flex:1;min-height:38px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-dim);padding:0 10px}.seg button.on{background:#3d3d44;color:var(--text)}.switch{position:relative;width:56px;height:34px;border-radius:17px;background:var(--surface-2);border:1px solid var(--line);flex-shrink:0}.switch.on{background:var(--raise);border-color:var(--raise)}.switch .knob{position:absolute;top:2px;left:2px;width:28px;height:28px;border-radius:50%;background:#fff;transition:left .15s}.switch.on .knob{left:26px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;padding:0 14px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.chip.on{background:var(--call);border-color:var(--call);color:var(--action-ink)}.sheet-backdrop,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:40;display:flex;justify-content:center}.sheet-backdrop{align-items:flex-end}.modal-backdrop{align-items:center;padding:24px}.sheet{width:100%;max-width:480px;background:var(--surface);border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));max-height:85dvh;overflow-y:auto}.modal{width:100%;max-width:400px;background:var(--surface);border-radius:16px;padding:20px 16px}.sheet h2,.modal h2{font-size:17px;margin-bottom:12px;text-align:center}.modal p{color:var(--text-dim);font-size:14px;text-align:center;margin-bottom:16px;line-height:1.5}.action-area{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:8px 12px}.to-act-label{text-align:center;font-size:14px;color:var(--text-dim);font-weight:600}.level-tag{text-align:center;font-size:12px;font-weight:700;color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:2px}.minraise-label{text-align:center;font-size:13px;color:var(--text-dim)}.err-label{text-align:center;font-size:13px;color:var(--fold);font-weight:600;min-height:18px}.kb-slots{display:flex;gap:6px;justify-content:center;margin-bottom:14px}.kb-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:10px}.kb-grid button,.kb-suits button{min-height:48px;background:var(--surface-2);border-radius:8px;font-size:17px;font-weight:700}.kb-grid button.on{background:var(--call);color:var(--action-ink)}.kb-grid button:disabled{opacity:.25}.kb-suits{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.kb-suits button:disabled{opacity:.25}.kb-suits .suit-h,.kb-suits .suit-d{color:#ff5c86}.kb-deck{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.kb-deck .row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.kb-deck button{min-height:48px;background:var(--surface-2);border-radius:6px;font-size:13px;font-weight:700;padding:0}.kb-deck button:disabled{opacity:.35}.kb-deck .suit-h,.kb-deck .suit-d{color:#ff5c86}.sd-table{width:100%;border-collapse:collapse;font-size:14px}.sd-table th{text-align:left;font-size:11px;color:var(--text-dim);text-transform:uppercase;padding:6px 8px;border-bottom:1px solid var(--line)}.sd-table td{padding:8px;border-bottom:1px solid var(--line)}.sd-table td.num{text-align:right;font-weight:700}.hh-text{background:var(--surface);border-radius:var(--radius);padding:14px;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Cascadia Mono,Segoe UI Mono,Menlo,monospace}.welcome{max-width:420px}.welcome h2{font-size:22px;letter-spacing:.01em}.wordmark{color:var(--gold);letter-spacing:.02em}.welcome-motto{color:var(--text);font-weight:700;font-size:15px;text-align:center;margin-top:2px}.welcome-tagline{color:var(--text-dim);font-size:14px;text-align:center;line-height:1.55;margin-bottom:16px}.welcome-steps{list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.welcome-steps li{counter-increment:step;position:relative;padding-left:40px;font-size:14px;line-height:1.55;color:#d5d5d4}.welcome-steps li strong{color:var(--text)}.welcome-steps li:before{content:counter(step);position:absolute;left:0;top:1px;width:28px;height:28px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);color:var(--text);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}.welcome-plus{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--raise);color:var(--action-ink);font-weight:800;font-size:15px;vertical-align:-4px}.welcome-note{font-size:12.5px;color:var(--text-dim);text-align:center;line-height:1.5;margin-bottom:14px}.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translate(-50%);background:#2e2e33;color:var(--text);border-radius:24px;padding:10px 20px;font-size:14px;font-weight:600;z-index:60;box-shadow:0 4px 16px #00000080;white-space:nowrap}.banner{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:8px 12px;padding:10px 12px;font-size:13px}.banner .grow{flex:1;line-height:1.4}.banner button.cta{color:var(--call);font-weight:700;min-height:44px;padding:0 10px;flex-shrink:0}.seat-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line)}.seat-row input.stk-in{width:76px;text-align:right}.seat-row input.nm-in{flex:1;min-width:60px}.seat-row .pos{width:40px;text-align:center;font-size:12px;color:var(--text-dim);font-weight:700}.seat-row .order-btns{display:flex;flex-direction:column;gap:4px}.seat-row .order-btns button{width:44px;height:32px;background:var(--surface-2);border-radius:6px;font-size:13px;color:var(--text-dim)}.seat-row .order-btns button:disabled{opacity:.25}.help-section{margin:8px 12px 20px}.help-section h2{font-size:16px;margin:16px 0 8px}.help-section p,.help-section li{font-size:14px;color:#d5d5d4;line-height:1.6;margin-bottom:8px}.help-section ul{padding-left:20px}.help-section dt{font-weight:700;font-size:14px;margin-top:8px}.help-section dd{font-size:13px;color:var(--text-dim);margin-left:0;line-height:1.5}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 10px;margin-bottom:6px}.footer-links a{color:var(--gold);text-decoration:none}.footer-links a:active{text-decoration:underline}.footer{text-align:center;color:var(--text-dim);font-size:12px;padding:24px 12px 8px}.eq-empty{margin:4px 16px 12px;font-size:13.5px;color:var(--text-dim);line-height:1.5;text-align:center}.eq-config{display:flex;gap:8px;padding:4px 12px 10px;flex-wrap:wrap}.chip.bomb{border-color:var(--alert)}@keyframes pulse-once{0%{transform:scale(1)}50%{transform:scale(1.08);box-shadow:0 0 0 6px #f59e0b40}to{transform:scale(1)}}.pulse-once{animation:pulse-once .9s ease-out .4s 1}.eq-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;text-align:left}.eq-label{width:52px;flex-shrink:0;font-size:13px;font-weight:700;color:var(--text-dim)}.eq-cards{display:flex;align-items:center;gap:3px;padding:2px 0;min-width:0;flex-wrap:wrap}.eq-street{font-size:12px;color:var(--text-dim)}.eq-method{margin:6px 12px 10px;display:inline-flex;align-self:flex-start;align-items:center;padding:5px 12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--text-dim);font-variant-numeric:tabular-nums}.eq-method.exact{color:var(--raise);border-color:var(--raise)}.eq-player{padding:8px 12px 10px;border-bottom:1px solid var(--line)}.eq-player-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}.eq-player-top.wide{flex-wrap:wrap;row-gap:4px}.eq-player-top.wide .eq-cards{order:5;width:100%}.eq-num{margin-left:auto;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}.eq-remove{min-width:44px;min-height:44px;font-size:14px}.badge-random{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--alert);border:1px solid var(--alert);border-radius:9px;padding:2px 7px;margin-left:6px}.eqbar{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.eqbar-fill{height:100%;background:var(--call);border-radius:3px;transition:width .15s linear}.eq-split{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px;font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.eq-note{color:var(--alert);font-style:italic}.eq-add{margin:12px;width:calc(100% - 24px)}.eq-hint{font-size:12.5px;color:var(--text-dim);line-height:1.5;margin:4px 0 12px;text-align:center}.eq-hint-left{text-align:left;margin:0 14px 10px}.eq-count-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}.eq-count-grid .chip{min-width:52px;justify-content:center}.street-eq{padding:2px 0 4px}.street-eq-row{display:flex;flex-wrap:wrap;gap:6px}.street-eq-item{min-height:44px;padding:0 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);font-size:13.5px;font-weight:700;font-variant-numeric:tabular-nums}.street-eq-item sup{color:var(--alert);font-size:9px}.street-eq-street{color:var(--text-dim);font-weight:600}.street-eq-legend{font-size:12px;color:var(--text-dim);line-height:1.5;margin-top:6px}.rit-row{display:flex;align-items:center;gap:8px;padding:4px 0}.rit-winners{margin-left:auto;font-size:12.5px;color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right}.tour-bar{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:8px 12px;padding:8px 12px}.tour-bar-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;min-height:44px;justify-content:center}.tour-name{font-size:14px;font-weight:700;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tour-meta{font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.tour-bar .cta{color:var(--call);font-weight:700;min-height:44px;padding:0 10px;flex-shrink:0}.tour-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.tour-row:last-child{border-bottom:none}.tour-row-name{flex:1;min-width:0;display:flex;flex-direction:column;font-size:14px;font-weight:600}.tour-row-date{font-size:11.5px;color:var(--text-dim);font-weight:400}.money-in-line{text-align:center;font-size:14px;font-weight:700;color:var(--call)!important;margin-bottom:12px}
