:root{--felt-1:#2e7f53;--felt-2:#256b45;--felt-3:#17492f;--cream:#f6efdd;--gold:#e8b64c;--ink:#14291c;--clay:#b3543e;--clay-light:#d9705d;--clay-text:#e8a08e;--slate:#3d6b8f;--sand:#e0c184;--wood:#4a3226;--cream-60:#f6efdd99;--cream-45:#f6efdd73;--panel:#0000003d;--panel-border:#f6efdd24}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{height:100%}html{background:var(--felt-3)}body{color:var(--cream);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;overscroll-behavior:none;background:#0f2f1f;font-family:Libre Franklin,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input{font:inherit;color:inherit;background:0 0;border:none;outline:none}.num{font-variant-numeric:tabular-nums}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes win-pop{0%{opacity:0;transform:scale(.25)}70%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes chip-fly{0%{transform:translate(var(--fx,60px), var(--fy,-40px)) scale(.5);opacity:0}40%{opacity:1}to{opacity:1;transform:translate(0)scale(1)}}.app{justify-content:center;align-items:center;height:100%;display:flex}.screen{background:radial-gradient(120% 90% at 50% 18%, var(--felt-1) 0%, var(--felt-2) 45%, var(--felt-3) 100%);width:100%;max-width:402px;height:100%;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width<=500px){html,body{background-color:var(--felt-3);background-image:linear-gradient(to bottom, #17492f00 calc(100% - 120px), var(--felt-3) calc(100% - 24px)), radial-gradient(120% 90% at 50% 18%, var(--felt-1) 0%, var(--felt-2) 45%, var(--felt-3) 100%);background-repeat:no-repeat;background-size:100% 100lvh}.app{position:fixed;inset:0}.screen{background:linear-gradient(to bottom, #17492f00 calc(100% - 120px), var(--felt-3) calc(100% - 24px)), radial-gradient(120% 90% at 50% 18%, var(--felt-1) 0%, var(--felt-2) 45%, var(--felt-3) 100%);height:100%;min-height:0}}@media (width>=500px) and (height>=900px){.screen{border-radius:48px;height:100dvh;min-height:0;max-height:874px;padding-top:40px;padding-bottom:36px;box-shadow:0 40px 80px #0006,0 0 0 1px #0003}}.screen.scroll{overflow-y:auto}.btn-gold{background:var(--gold);height:58px;color:var(--ink);border-radius:16px;flex:none;justify-content:center;align-items:center;width:100%;font-size:18px;font-weight:800;display:flex;box-shadow:0 6px 18px #0000004d}.btn-gold:disabled{opacity:.4;box-shadow:none}.btn-ghost{border:2px solid var(--cream-45);width:100%;height:58px;color:var(--cream);border-radius:16px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.btn-danger-ghost{height:38px;color:var(--clay-text);border:1.5px solid #d9705d80;border-radius:12px;justify-content:center;align-self:center;align-items:center;padding:0 22px;font-size:13px;font-weight:700;display:flex}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px}.label-caps{letter-spacing:.14em;color:#f6efdd80;font-size:11px;font-weight:800;line-height:1}.back-btn{color:#f6efddcc;background:#00000040;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.avatar{border:3px dashed #f6efddb3;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:flex;position:relative}.pulse-dot{background:var(--gold);border-radius:50%;flex:none;width:10px;height:10px;animation:1.4s infinite pulse}.caret{background:var(--gold);width:3px;height:22px;animation:1.1s infinite pulse}.sheet-backdrop{z-index:20;background:#0a1a118c;position:absolute;inset:0}.sheet{background:var(--cream);color:var(--ink);padding:14px 22px calc(22px + env(safe-area-inset-bottom));z-index:21;border-radius:24px 24px 0 0;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -14px 40px #00000073}.sheet-handle{background:#14291c33;border-radius:99px;width:40px;height:5px;margin:0 auto 12px}.sheet .btn-gold{border-radius:15px;height:54px;font-size:17px;box-shadow:0 4px 14px #00000026}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-out{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes menu-in{0%{transform:translateY(calc(-100% - 120px))}to{transform:translateY(0)}}@keyframes menu-out{0%{transform:translateY(0)}to{transform:translateY(calc(-100% - 120px))}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(-50%)scale(.94)}to{opacity:1;transform:translateY(-50%)scale(1)}}@keyframes modal-out{0%{opacity:1;transform:translateY(-50%)scale(1)}to{opacity:0;transform:translateY(-50%)scale(.96)}}.overlay-enter{animation:.35s cubic-bezier(.25,.9,.3,1) both sheet-in}.overlay-exit{animation:.28s cubic-bezier(.55,.06,.68,.19) both sheet-out}.menu-enter{animation:.35s cubic-bezier(.25,.9,.3,1) both menu-in}.menu-exit{animation:.28s cubic-bezier(.55,.06,.68,.19) both menu-out}.modal-enter{animation:.3s cubic-bezier(.25,.9,.3,1) both modal-in}.modal-exit{animation:.24s ease-in both modal-out}.backdrop-enter{animation:.35s ease-out both backdrop-in}.backdrop-exit{animation:.28s ease-in both backdrop-out}.step-btn{border:2px solid var(--cream-45);width:40px;height:40px;color:var(--cream);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:20px;font-weight:800;display:flex}.step-btn.fill{background:var(--gold);color:var(--ink);border:none}.step-btn.small{width:32px;height:32px;font-size:16px}.step-btn.small.fill{color:var(--cream);background:#f6efdd26}.step-btn:disabled{opacity:.3}.table-zone{flex:1;min-height:400px;position:relative}.felt{border:11px solid var(--wood);background:radial-gradient(80% 70% at 50% 35%,#2f8354 0%,#256b45 55%,#1b5236 100%);border-radius:170px;position:absolute;inset:50px 26px 56px;box-shadow:0 16px 34px #00000073,inset 0 0 46px #00000059}.felt:after{content:"";border:1.5px solid #e8b64c66;border-radius:150px;position:absolute;inset:14px}.table-center{z-index:2;flex-direction:column;align-items:center;gap:5px;display:flex;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.street-pill{letter-spacing:.08em;color:var(--cream-45);border:1px solid #f6efdd40;border-radius:99px;padding:5px 8px;font-size:8px;font-weight:800;line-height:1}.street-pill.on{background:var(--gold);color:var(--ink);border-color:var(--gold)}.card-slot{border:1.5px dashed var(--cream-45);border-radius:4px;width:23px;height:32px}.card-slot.next{border:2px dashed var(--gold);animation:1.4s infinite pulse}.card-back{border:2px solid var(--cream);background:repeating-linear-gradient(45deg, var(--clay) 0 3px, var(--cream) 0 6px);border-radius:4px;width:23px;height:32px;box-shadow:0 3px 6px #00000059}.hole-cards{display:flex;position:absolute}.hole-card{border:2px solid var(--cream);background:repeating-linear-gradient(45deg, var(--clay) 0 2.5px, var(--cream) 0 5px);border-radius:3px;width:16px;height:22px;box-shadow:0 2px 4px #00000059}.chip-dot{border:2.5px dashed var(--cream);border-radius:50%;flex:none}.seat{z-index:3;text-align:center;flex-direction:column;align-items:center;gap:3px;width:84px;margin-left:-42px;display:flex;position:absolute}.seat-name{white-space:nowrap;font-size:12px;font-weight:700}.seat-sub{color:var(--cream-60);font-size:10px}.badge-dealer{background:var(--cream);width:18px;height:18px;color:var(--ink);text-align:center;border-radius:50%;font-size:9px;font-weight:800;line-height:18px;position:absolute;bottom:-4px;right:-7px}.badge-blind{background:#f6efdd4d;border-radius:6px;padding:2px 4px;font-size:8px;font-weight:800;line-height:1;position:absolute;bottom:-4px;left:-7px}.badge-allin{letter-spacing:.06em;background:var(--gold);color:var(--ink);border-radius:99px;padding:4px 7px;font-size:8px;font-weight:800;line-height:1}.seat-glow{box-shadow:0 0 0 4px #e8b64c8c,0 0 22px #e8b64c73}.bet-tag{z-index:2;align-items:center;gap:4px;display:flex;position:absolute;transform:translate(-50%,-50%)}.turn-banner{border:2px solid var(--gold);background:#00000052;border-radius:16px;align-items:center;padding:10px 16px;display:flex;box-shadow:0 0 0 6px #e8b64c1f}.turn-banner .who{letter-spacing:.16em;color:var(--gold);flex:1;font-size:10px;font-weight:800;line-height:1}.wait-banner{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;align-items:center;gap:12px;padding:16px 18px;display:flex}.action-row{gap:10px;display:flex}.action-row>button{border-radius:16px;justify-content:center;align-items:center;height:58px;font-size:16px;font-weight:800;display:flex}.act-fold{color:var(--clay-text);border:2px solid #d9705d99;flex:1}.act-call{background:var(--cream);color:var(--ink);flex:1.2}.act-raise{background:var(--gold);color:var(--ink);flex:1.2;box-shadow:0 6px 18px #0000004d}.hint{text-align:center;color:#f6efdd80;font-size:12px}.row-card{background:var(--panel);border:1px solid var(--panel-border);text-align:left;width:100%;color:var(--cream);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.row-card.selected{border:2px solid var(--gold);background:#e8b64c24;padding:11px 13px;box-shadow:0 0 0 5px #e8b64c1a}.check-circle{border:2px solid #f6efdd59;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.check-circle.on{background:var(--gold);color:var(--ink);border:none;font-size:15px;font-weight:900}.input-card{background:var(--cream);color:var(--ink);border-radius:16px;flex-direction:column;gap:2px;padding:12px 18px;display:flex}.input-card .cap{letter-spacing:.12em;color:#14291c80;font-size:10px;font-weight:800;line-height:1}.input-card input{color:var(--ink);width:100%;font-size:19px;font-weight:800}.input-card input::placeholder{color:#14291c4d}.setting-row{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;align-items:center;gap:12px;padding:14px 18px;display:flex}.setting-row .title{white-space:nowrap;font-size:14px;font-weight:700}.setting-row .sub{color:#f6efdd8c;font-size:12px}.error-box{color:#f6d9d0;text-align:center;background:#b3543e47;border:1.5px solid #d9705da6;border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600}.notice-box{color:#f6efddd9;background:#e8b64c1f;border:1px solid #e8b64c73;border-radius:12px;padding:10px 14px;font-size:12px}
