:root{
  --bg:#05090d; --bg2:#08131d; --panel:#0d1720; --panel2:#111c25;
  --text:#f7f3ea; --muted:#98a7b3; --gold:#d8aa55; --gold2:#f2d08a;
  --line:rgba(216,170,85,.22); --ok:#39c785; --danger:#e45d5d;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:#020407;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,textarea,select{font:inherit} button{cursor:pointer}
#app{min-height:100vh}
.app-shell{min-height:100vh;max-width:520px;margin:0 auto;position:relative;overflow:hidden;background:linear-gradient(180deg,#07111a 0%,#05090d 48%,#030507 100%);box-shadow:0 0 60px rgba(0,0,0,.65)}
.app-shell:before,.app-shell:after{content:"";position:absolute;left:-18%;width:136%;height:160px;border-radius:50%;border:1px solid rgba(216,170,85,.11);pointer-events:none}
.app-shell:before{bottom:54px;transform:rotate(-4deg)} .app-shell:after{bottom:26px;transform:rotate(4deg);border-color:rgba(80,132,164,.14)}
.content{position:relative;z-index:2;padding:calc(18px + env(safe-area-inset-top)) 18px calc(94px + env(safe-area-inset-bottom))}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.brand-mini{font-family:Georgia,serif;letter-spacing:2px;color:var(--gold2);font-size:20px}.icon-btn{width:42px;height:42px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);display:grid;place-items:center;font-size:20px}
.hero-profile{display:flex;align-items:center;gap:12px;margin-bottom:20px}.avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;border:1px solid var(--gold)}.profile-copy{flex:1}.profile-copy h2{margin:0;font-size:18px}.profile-copy p{margin:4px 0 0;color:var(--muted);font-size:13px}.id-pill{display:inline-flex;gap:6px;align-items:center;margin-top:5px;color:#c7d0d6;font-size:12px}
.section-title{margin:20px 0 10px;font-size:14px;color:#d9dde0;font-weight:700}.search-box{display:flex;align-items:center;gap:11px;padding:15px 16px;border-radius:18px;border:1px solid rgba(216,170,85,.25);background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.search-box input{flex:1;border:0;outline:0;background:transparent;color:white;font-size:16px}.search-box input::placeholder{color:#7d8c97}
.club-carousel{display:flex;gap:14px;overflow:auto;padding:4px 2px 10px;scroll-snap-type:x mandatory}.club-carousel::-webkit-scrollbar{display:none}.club-card{min-width:82%;scroll-snap-align:start;border:1px solid rgba(216,170,85,.22);background:linear-gradient(180deg,rgba(16,28,38,.98),rgba(8,14,20,.98));border-radius:24px;padding:14px;box-shadow:0 18px 38px rgba(0,0,0,.3)}.club-cover{height:165px;border-radius:18px;background:radial-gradient(circle at 50% 0%,rgba(216,170,85,.2),transparent 55%),linear-gradient(145deg,#0e1a24,#05090d);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(216,170,85,.12)}.club-cover img{width:108px;height:108px;border-radius:22px;object-fit:cover;box-shadow:0 8px 28px rgba(0,0,0,.5)}.club-card h3{margin:13px 0 4px;font-size:20px}.club-card .meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.club-stats{display:flex;gap:8px;margin-top:12px}.stat{flex:1;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.035);text-align:center;font-size:12px}.stat b{display:block;color:var(--gold2);font-size:16px}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.quick{padding:14px 8px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055);text-align:center;color:#ddd}.quick strong{display:block;color:var(--gold2);font-size:21px;margin-bottom:5px}.quick small{color:var(--muted)}
.btn{width:100%;border:0;border-radius:15px;padding:14px 16px;font-weight:800}.btn-gold{background:linear-gradient(135deg,#c9953f,#f0cc83);color:#1a1207}.btn-dark{background:#101922;color:white;border:1px solid var(--line)}.btn-outline{background:transparent;color:var(--gold2);border:1px solid rgba(216,170,85,.45)}.btn + .btn{margin-top:10px}
.bottom-nav{position:fixed;z-index:20;left:50%;transform:translateX(-50%);bottom:0;width:min(520px,100%);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(5,9,13,.93);backdrop-filter:blur(18px);border-top:1px solid rgba(216,170,85,.14);padding:10px 8px calc(10px + env(safe-area-inset-bottom))}.nav-item{border:0;background:transparent;color:#72808b;font-size:11px}.nav-item span{display:block;font-size:21px;margin-bottom:3px}.nav-item.active{color:var(--gold2)}
.splash{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 22%,#122635 0,#07111a 30%,#030507 72%)}.splash:before,.splash:after{content:"";position:absolute;width:130%;height:180px;left:-15%;border-radius:50%;border:2px solid rgba(216,170,85,.18);bottom:10%;transform:rotate(-3deg)}.splash:after{bottom:6%;border-color:rgba(98,155,188,.14);transform:rotate(3deg)}.splash-inner{position:relative;z-index:2;text-align:center;padding:24px}.splash-logo{width:180px;height:180px;border-radius:36px;object-fit:cover;box-shadow:0 0 0 1px rgba(216,170,85,.3),0 20px 80px rgba(0,0,0,.65)}.splash h1{font-family:Georgia,serif;letter-spacing:5px;margin:22px 0 4px;color:#f3e0b7}.splash p{margin:0;color:#b9a476;letter-spacing:4px;font-size:12px}.loader{width:84px;height:3px;margin:34px auto 0;background:#17222b;border-radius:9px;overflow:hidden}.loader i{display:block;height:100%;width:42%;background:linear-gradient(90deg,var(--gold),var(--gold2));animation:load 1.2s infinite ease-in-out;border-radius:9px}@keyframes load{0%{transform:translateX(-110%)}100%{transform:translateX(240%)}}
.auth{min-height:100vh;padding:calc(36px + env(safe-area-inset-top)) 22px 30px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 50% 8%,rgba(216,170,85,.14),transparent 34%),linear-gradient(180deg,#07111a,#030507)}.auth-logo{width:96px;height:96px;border-radius:24px;align-self:center;object-fit:cover}.auth h1{text-align:center;font-family:Georgia,serif;letter-spacing:3px;color:#f2dfb7;margin:18px 0 4px}.auth .sub{text-align:center;color:var(--muted);margin:0 0 25px}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#0b141c;border-radius:14px;padding:4px;margin-bottom:14px}.tabs button{border:0;border-radius:11px;background:transparent;color:#7f8d96;padding:10px}.tabs button.active{background:#1a252e;color:var(--gold2)}.field{margin-bottom:11px}.field label{display:block;color:#c3ccd2;font-size:12px;margin-bottom:6px}.field input{width:100%;background:#0b141c;border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:14px;color:white;outline:none}.auth-note{text-align:center;color:#687680;font-size:12px;margin-top:16px}
.page-title{display:flex;align-items:center;gap:10px;margin:5px 0 18px}.page-title h1{font-size:22px;margin:0}.back{border:0;background:transparent;color:white;font-size:25px;padding:4px}.panel{background:rgba(14,24,33,.96);border:1px solid rgba(216,170,85,.14);border-radius:18px;padding:14px;margin-bottom:12px}.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.list-row:last-child{border-bottom:0}.list-row .grow{flex:1}.list-row h4{margin:0;font-size:15px}.list-row p{margin:3px 0 0;color:var(--muted);font-size:12px}.mini-avatar{width:42px;height:42px;border-radius:12px;object-fit:cover}.status-dot{width:8px;height:8px;background:var(--ok);border-radius:50%}
.club-head{display:flex;gap:13px;align-items:center}.club-head img{width:78px;height:78px;border-radius:19px;border:1px solid var(--gold);object-fit:cover}.club-head h2{margin:0 0 4px}.club-head p{margin:2px 0;color:var(--muted);font-size:12px}.club-tabs{display:flex;gap:14px;overflow:auto;margin:16px 0 10px}.club-tabs button{border:0;background:transparent;color:#7f8b95;padding:9px 2px;border-bottom:2px solid transparent}.club-tabs button.active{color:var(--gold2);border-color:var(--gold)}.notice{font-size:12px;color:#c2b38e;background:rgba(216,170,85,.08);padding:10px 12px;border-radius:12px;margin-top:12px}.empty{padding:55px 16px;text-align:center;color:#64717a}.create-table{border:1px solid rgba(216,170,85,.5);background:rgba(216,170,85,.04);color:var(--gold2);border-radius:16px;padding:15px;width:100%;font-size:16px;font-weight:800}
.modal{position:fixed;z-index:50;inset:0;background:rgba(0,0,0,.7);display:grid;place-items:end center;padding:0}.sheet{width:min(520px,100%);background:#0b141c;border-radius:24px 24px 0 0;border:1px solid rgba(216,170,85,.2);padding:22px 18px calc(24px + env(safe-area-inset-bottom))}.sheet h3{margin:0 0 16px}.sheet .field textarea{width:100%;min-height:84px;background:#081018;border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:13px;color:white;resize:none}
.toast{position:fixed;z-index:80;left:50%;transform:translateX(-50%);bottom:105px;background:#16212b;border:1px solid var(--line);padding:10px 14px;border-radius:14px;color:#f4e4bf;font-size:13px}
@media(min-width:700px){body{padding:18px 0;background:#010204}.app-shell{border-radius:28px;min-height:calc(100vh - 36px)}.bottom-nav{bottom:18px;border-radius:0 0 28px 28px}.splash,.auth{min-height:calc(100vh - 36px);border-radius:28px;max-width:520px;margin:18px auto}}

/* v0.3: home sin desplazamiento vertical; clubes solo en carrusel horizontal */
.home-screen{height:calc(100dvh - 112px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden}
.home-screen .topbar{margin-bottom:10px;flex:0 0 auto}
.home-screen .hero-profile{margin-bottom:12px;flex:0 0 auto}
.home-screen .search-box{flex:0 0 auto;padding:13px 15px}
.home-clubs-title{margin:14px 0 8px;flex:0 0 auto}
.home-carousel{flex:1 1 auto;min-height:0;padding-bottom:2px;align-items:stretch}
.home-carousel .club-card{height:100%;max-height:390px;min-height:310px;display:flex;flex-direction:column}
.home-carousel .club-cover{flex:1 1 auto;min-height:135px;height:auto}
.home-carousel .club-card h3{flex:0 0 auto}
.home-carousel .club-stats{margin-top:auto;flex:0 0 auto}
.create-club-card{display:grid!important;place-items:center;background:linear-gradient(180deg,rgba(15,25,34,.96),rgba(7,12,18,.98));border:1px dashed rgba(216,170,85,.42)}
.create-club-inner{text-align:center;padding:24px 12px;width:100%}
.create-plus{width:76px;height:76px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;font-size:52px;font-weight:200;line-height:1;color:var(--gold2);border:1px solid rgba(216,170,85,.48);background:rgba(216,170,85,.06)}
.create-club-card h3{margin:0 0 8px!important;color:var(--gold2)}
.create-club-card p{margin:0;color:var(--muted);font-size:13px}
@media(max-height:760px){
  .home-screen .avatar{width:50px;height:50px}
  .home-screen .profile-copy p{display:none}
  .home-screen .club-card{min-height:270px}
  .home-screen .club-cover{min-height:115px}
  .home-screen .club-cover img{width:92px;height:92px}
  .home-screen .club-card h3{font-size:18px;margin-top:9px}
  .home-screen .club-stats{margin-top:8px}
  .home-clubs-title{margin-top:10px}
}

/* v0.4: interior de club compacto + creador de mesas */
.club-screen{margin:-18px;min-height:calc(100dvh - 74px);background:#040608}
.club-top-dark{padding:18px 18px 14px;background:#000;box-shadow:0 8px 28px rgba(0,0,0,.4)}
.club-topbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:12px}.club-topbar h1{font-size:19px;text-align:center;margin:0}.club-bell,.share-mini{border:0;background:transparent;color:#c7d0d6;font-size:20px}.share-mini{font-size:17px;padding:2px 6px}
.club-compact-head{display:flex;align-items:center;gap:11px}.club-compact-head>img{width:58px;height:58px;border-radius:14px;object-fit:cover;border:1px solid rgba(216,170,85,.45)}.club-compact-copy{flex:1;min-width:0}.club-title-row{display:flex;align-items:center;gap:5px}.club-title-row h2{font-size:17px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.club-compact-copy p{font-size:11px;color:#7e8b94;margin:3px 0}.club-mini-stats{display:flex;gap:15px;color:#b9c1c7;font-size:11px;margin-top:5px}.club-admin-row{display:flex;gap:8px;margin-top:11px}.club-admin-row button{flex:1;border:1px solid rgba(255,255,255,.07);background:#0c0f12;color:#aeb9c1;border-radius:10px;padding:7px;font-size:11px}.compact-notice{margin-top:9px;padding:7px 9px;background:#0b0d10;color:#8c98a0;border:1px solid rgba(255,255,255,.05);font-size:10px}.club-table-zone{min-height:560px;padding:12px 18px 100px;background:linear-gradient(180deg,#07131d,#081724 45%,#06111a)}.compact-tabs{margin:0 0 9px;gap:18px}.compact-tabs button{font-size:12px;padding:7px 0}.table-filter-row{display:flex;align-items:center;gap:11px;margin:2px 0 10px;color:#7e8c96;font-size:10px}.table-filter-row label{display:flex;align-items:center;gap:5px}.table-filter-row input{accent-color:#d8aa55}.table-filter-row button{margin-left:auto;border:1px solid rgba(255,255,255,.08);background:#101a23;color:#94a5af;border-radius:9px;padding:6px 9px;font-size:10px}.create-table.ocean{padding:12px;border-radius:12px;border-color:rgba(216,170,85,.5);background:linear-gradient(180deg,rgba(12,31,45,.92),rgba(7,21,32,.94));font-size:14px}.table-empty{padding:58px 10px;color:#4f6270}.table-list{display:grid;gap:9px;margin-top:12px}.table-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:13px;background:#0e1d29;border:1px solid rgba(255,255,255,.05)}.game-badge{height:44px;border-radius:10px;display:grid;place-items:center;background:#122d3d;color:#e2bf78;font-size:11px;font-weight:800}.table-main{display:flex;flex-direction:column;gap:3px}.table-main b{font-size:13px}.table-main span,.table-seats span{font-size:10px;color:#71838e}.table-seats{text-align:right}.table-seats b{display:block;font-size:13px;color:#d9e2e7}
.create-table-page,.table-setup-page{min-height:calc(100dvh - 90px);background:linear-gradient(180deg,#030609,#071522);margin:-18px;padding:18px 18px 100px}.compact-page-title{margin-bottom:14px}.compact-page-title h1{font-size:20px}.game-choice-grid{display:grid;gap:12px}.game-choice{min-height:118px;border-radius:20px;border:1px solid rgba(255,255,255,.07);padding:18px 20px;display:flex;justify-content:space-between;align-items:center;color:white;text-align:left;overflow:hidden;position:relative}.game-choice:after{content:"";position:absolute;right:-25px;bottom:-45px;width:145px;height:145px;border-radius:50%;border:24px solid rgba(255,255,255,.035)}.game-choice div{display:flex;flex-direction:column;gap:5px;position:relative;z-index:1}.game-choice strong{font-size:34px;letter-spacing:1px}.game-choice span{font-size:12px;color:rgba(255,255,255,.65)}.game-choice>b{font-size:28px;position:relative;z-index:1}.game-choice.nlh{background:linear-gradient(135deg,#102f35,#0b1d26 65%)}.game-choice.plo{background:linear-gradient(135deg,#102744,#0c1728 65%)}.game-choice.trio{background:linear-gradient(135deg,#3a2512,#1d1710 65%);border-color:rgba(216,170,85,.28)}.game-choice.trio strong{color:#f0cc83}.recurring-placeholder{margin-top:calc(100dvh - 560px);border:1px solid rgba(216,170,85,.35);border-radius:14px;padding:16px;text-align:center;color:#c8b27e;font-weight:700;background:#0d1820}
.table-setup-page{padding-bottom:94px}.table-setup-page .compact-page-title h1 span{color:#e9bf6d}.setup-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin:0 -18px 8px;border-bottom:1px solid rgba(255,255,255,.07)}.setup-tabs button{border:0;background:#020405;color:#6f7c85;padding:11px 4px;font-size:12px;border-bottom:2px solid transparent}.setup-tabs button.active{color:#e3c179;border-color:#d8aa55}.setup-scroll{padding:0 0 12px}.setting-group{padding:16px 0 9px;border-bottom:1px solid rgba(255,255,255,.06)}.setup-label{font-size:12px;color:#9daab3;display:block;margin-bottom:7px}.setup-input{width:100%;border:1px solid rgba(255,255,255,.07);background:#101922;border-radius:12px;color:white;padding:13px;outline:none}.setting-row{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px;color:#a9b4bb}.switch{width:42px;height:23px;border-radius:20px;border:1px solid #394651;background:#151c22;padding:2px}.switch i{display:block;width:17px;height:17px;border-radius:50%;background:#78858e;transition:.2s}.switch.on{background:#173927;border-color:#416f54}.switch.on i{transform:translateX(17px);background:#e0bd73}.info-dot{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#17304a;color:#84add1;font-size:10px}.stepper{display:flex;align-items:center;gap:7px}.stepper button{width:25px;height:25px;border-radius:50%;border:1px solid #34414b;background:transparent;color:#aab5bc}.stepper b,.select-like{min-width:110px;background:#121d26;border-radius:10px;padding:9px 12px;text-align:center;color:#e0e5e8;font-size:11px}.setting-block{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.06);color:#a9b4bb;font-size:12px}.setting-block>span{display:block;margin-bottom:10px}.segmented{display:flex;gap:6px}.segmented button{flex:1;border:1px solid transparent;background:#111a22;color:#697780;border-radius:10px;padding:10px 6px;font-size:10px}.segmented button.active{border-color:#c79c50;color:#f0cc83;background:#15202a}.range-demo,.single-range{height:4px;background:#1f2a32;border-radius:4px;position:relative;margin:16px 8px 11px}.range-demo:before,.single-range:before{content:"";position:absolute;left:10%;right:34%;height:100%;background:#8b6c36}.range-demo i,.single-range i{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:#d4dbe0;transform:translate(-50%,-50%)}.range-demo i:first-child{left:10%}.range-demo i:last-child{left:66%}.range-demo.wide:before{left:4%;right:20%}.range-demo.wide i:first-child{left:4%}.range-demo.wide i:last-child{left:80%}.single-range:before{left:0;right:50%}.single-range i{left:50%}.single-range.low:before{right:88%}.single-range.low i{left:12%}.setting-block small{color:#687984}.setup-actions{position:fixed;left:50%;transform:translateX(-50%);bottom:70px;width:min(520px,100%);display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 18px;background:linear-gradient(180deg,rgba(5,11,16,0),rgba(5,11,16,.98) 28%)}.setup-actions button{padding:13px 8px;border-radius:12px;font-weight:800}.save-template{border:1px solid rgba(216,170,85,.5);background:#0f1921;color:#d8c189}.create-final{border:0;background:linear-gradient(135deg,#b98335,#e3bd70);color:#1a1309}

/* v0.6 roles & chips */
.balance-strip{display:flex;gap:10px;padding:10px 0 4px}.balance-pill{flex:1;background:#0d1a24;border:1px solid #263746;border-radius:14px;padding:9px 12px;display:flex;align-items:center;gap:8px;font-size:13px}.balance-pill b{margin-left:auto;color:#eef6fb}.chip-blue{width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;background:#1677d2;border:3px dashed #bfe1ff;box-shadow:0 0 0 1px #0c4d8d;color:white;font-size:9px}.infinity-chip{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;background:#173a66;border:2px solid #d6ecff;color:#fff;font-size:12px}.member-tabs{display:flex;gap:4px;overflow-x:auto;padding:4px;background:#0a1118;border:1px solid #26333e;border-radius:16px;margin:12px 0}.member-tabs button{flex:1;min-width:66px;border:0;background:transparent;color:#8998a4;padding:10px 8px;border-radius:12px}.member-tabs button.active{background:#136fb9;color:white;font-weight:700}.member-card{background:#0e1a24;border:1px solid #22313d;border-radius:16px;padding:14px;margin:10px 0;display:flex;align-items:center;gap:12px}.member-card .grow p{margin:3px 0;color:#82919d;font-size:12px}.role-badge{font-size:11px;padding:4px 8px;border-radius:999px;background:#132d45;color:#8fcaff;border:1px solid #24547c}.member-balance{margin-left:auto;text-align:right}.member-balance b{display:block;color:#d9efff}.member-balance small{color:#6f8290}.member-actions{display:flex;gap:8px;margin-top:8px}.mini-btn{border:1px solid #2b4c63;background:#0d1a24;color:#a9d8ff;border-radius:9px;padding:7px 9px}.hierarchy-note{font-size:12px;color:#758795;text-align:center;padding:12px}.transfer-summary{background:#09131b;border:1px solid #243847;border-radius:14px;padding:12px;margin:12px 0;color:#9eb0bd}.transfer-summary strong{color:#fff}.sheet .role-select{width:100%;background:#101d27;color:#fff;border:1px solid #2a3b48;border-radius:12px;padding:13px;margin:8px 0}.owner-mark{color:#f0cc83;font-size:12px}

/* v0.7: Fichas por jerarquía */
.chips-access{display:flex;align-items:center;justify-content:center;gap:5px}.chips-access span{font-size:13px;color:#7fbbe8}.chips-page{padding-bottom:92px}.chip-overview{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.chip-overview>div{background:linear-gradient(180deg,#0c1b27,#09141d);border:1px solid #213646;border-radius:15px;padding:13px}.chip-overview small{display:block;color:#748794;font-size:10px;margin-bottom:8px}.chip-overview strong{display:flex;align-items:center;gap:8px;color:#eaf5fb;font-size:15px}.chip-scope-note{border-left:2px solid #287fc0;padding:8px 10px;margin:5px 0 10px;color:#7f929e;font-size:11px;line-height:1.45;background:#08131c}.chip-tabs{margin-top:7px}.chip-search{margin:10px 0 8px}.chip-member-list{display:grid;gap:8px}.chip-member-row{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:12px;background:#0d1a24;border:1px solid #20313d;border-radius:15px;color:#fff}.chip-member-row h4{margin:0 0 3px;font-size:13px}.chip-member-row p,.chip-member-row small{display:block;margin:0;color:#748591;font-size:10px}.chip-member-row small{margin-top:4px;color:#546a79}.chip-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#102b3e;border:1px solid #2b5876;color:#8ac7ee}.chip-member-row .member-balance{min-width:64px}.chip-member-row .member-balance b{font-size:13px}.row-arrow{font-size:20px;color:#607581}.you-badge{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:999px;background:#183b55;color:#8ed0ff;font-size:9px;vertical-align:middle}.transfer-recipient{display:flex;align-items:center;gap:10px;background:#0c1821;border:1px solid #233744;border-radius:14px;padding:12px;margin:10px 0}.transfer-recipient>div:nth-child(2){flex:1}.transfer-recipient strong,.transfer-recipient small{display:block}.transfer-recipient small{color:#718590;font-size:10px;margin-top:3px}

/* v0.8 · mesas interactivas, buy-in y sala */
.table-card.interactive{width:100%;border:0;text-align:left;cursor:pointer;grid-template-columns:58px 1fr auto;background:#0b1b27;padding:10px 11px}.table-wrap{border:1px solid rgba(255,255,255,.055);border-radius:15px;overflow:hidden;background:#091722}.table-wrap.expanded{border-color:rgba(216,170,85,.24);box-shadow:0 14px 34px rgba(0,0,0,.2)}.occupancy-ring{--fill:0deg;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#2a9b72 0deg var(--fill),#27313a var(--fill) 360deg);position:relative}.occupancy-ring:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#0b1b27}.occupancy-ring>div{position:relative;z-index:1;text-align:center;line-height:1}.occupancy-ring b{font-size:13px;color:#e6edf1}.occupancy-ring small{display:block;color:#63747e;font-size:7px;margin-top:4px}.table-type-line{display:flex;align-items:center;gap:7px}.type-tag{display:inline-flex;padding:3px 6px;border-radius:6px;background:#143d34;color:#9fe1c9;font-size:9px;letter-spacing:.4px}.type-tag.plo{background:#15334b;color:#8bc5eb}.type-tag.trío,.type-tag.trio{background:#443018;color:#e9c478}.table-buy{text-align:right;display:grid;grid-template-columns:auto 16px;gap:2px 6px;align-items:center;color:#85939d}.table-buy small{grid-column:1;font-size:9px}.table-buy b{grid-column:1;font-size:13px;color:#e5ebee}.table-buy>span{grid-row:1/3;grid-column:2;align-self:center;color:#b7c0c5}.table-expanded{padding:12px;background:linear-gradient(180deg,#091722,#07131c);border-top:1px solid rgba(255,255,255,.05)}.active-title{display:flex;justify-content:space-between;align-items:center;color:#81919a;font-size:10px;margin-bottom:10px}.active-title b{color:#d6e0e5}.active-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.active-player{display:flex;align-items:center;gap:8px;padding:8px;border-radius:10px;background:#0d202d;border:1px solid rgba(255,255,255,.04)}.player-mini-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#203d4d,#0b2230);border:1px solid rgba(216,170,85,.32);color:#e9c67f;font-weight:800;font-size:10px}.active-player b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:92px}.active-player small{display:flex;align-items:center;gap:4px;color:#7f919c;font-size:9px;margin-top:3px}.no-players{grid-column:1/-1;padding:20px;text-align:center;color:#526570;font-size:10px}.open-table-btn{margin-top:11px;width:100%;padding:11px;border-radius:11px;border:1px solid rgba(216,170,85,.5);background:linear-gradient(135deg,#0a3240,#0a2532);color:#efce89;font-weight:800}.blue-chip-dot{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:5px;vertical-align:-2px;background:radial-gradient(circle at 35% 35%,#84d0ff 0 10%,#2578c7 11% 48%,#0a3a70 49% 100%);border:2px dashed #d9f1ff;box-shadow:0 0 0 1px #145188}.blue-chip-dot.big{width:24px;height:24px;margin-right:9px;vertical-align:-3px}
.buyin-screen{min-height:100dvh;background:#020609;position:relative;overflow:hidden;padding:24px 18px}.buyin-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%,rgba(8,59,77,.75),transparent 50%),linear-gradient(180deg,#010304,#061019 60%,#03080c)}.buyin-backdrop:after{content:"";position:absolute;left:6%;right:6%;top:28%;height:58%;border-radius:48% / 33%;border:18px solid #05080b;background:radial-gradient(ellipse,#0b3543,#061b25 68%,#082631);box-shadow:0 25px 70px #000}.buyin-sheet{position:relative;z-index:2;margin:12vh auto 0;width:min(560px,100%);border-radius:24px;background:#0d1821;border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 80px rgba(0,0,0,.7);padding-bottom:16px;overflow:hidden}.buyin-title{height:62px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border-bottom:1px solid rgba(255,255,255,.06)}.buyin-title button{border:0;background:transparent;color:#cbd5db;font-size:29px}.buyin-title h1{text-align:center;font-size:20px;margin:0}.buyin-info{margin:18px;border:1px solid rgba(255,255,255,.08);border-radius:15px;overflow:hidden}.buyin-info>div{display:flex;justify-content:space-between;align-items:center;padding:15px}.buyin-info>div+div{border-top:1px solid rgba(255,255,255,.07)}.buyin-info span{color:#93a0aa;font-size:12px}.buyin-info strong{color:#6eb9e8;font-size:17px}.buyin-info b{font-size:16px}.buyin-amount-label{text-align:center;color:#aeb9c0;font-size:12px;margin-top:28px}.buyin-amount{text-align:center;font-size:39px;font-weight:900;color:#efd07f;margin:7px 0 15px}.buyin-slider-row{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:center;padding:0 18px}.buyin-slider-row span{background:#0d3240;color:#80caf0;border:1px solid #1e6d91;border-radius:10px;padding:7px 2px;text-align:center;font-size:10px;font-weight:800}.buyin-slider-row input{width:100%;accent-color:#2f9fc8}.buyin-limits{display:flex;justify-content:space-between;padding:6px 71px 20px;color:#778892}.buyin-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px}.buyin-actions button{border-radius:12px;padding:13px;border:0;font-weight:800}.buyin-actions .cancel{background:#16212b;color:#c8d0d5}.buyin-actions .confirm{background:linear-gradient(135deg,#1d6c8d,#32a2ca);color:white}
.poker-room{min-height:100dvh;background:radial-gradient(circle at 50% 42%,#0c2430 0,#020507 66%);position:relative;overflow:hidden;color:white}.room-top{height:70px;display:flex;align-items:center;justify-content:space-between;padding:15px 20px;position:relative;z-index:4}.room-top button{border:0;background:rgba(10,22,28,.8);color:#d7e1e6;border-radius:12px;padding:9px 12px}.room-top>div{display:flex;align-items:center;font-weight:800;color:#8dcceb}.poker-felt{position:absolute;left:4%;right:4%;top:12%;bottom:9%;border-radius:48% / 34%;background:radial-gradient(ellipse at 50% 45%,#0d5366 0,#093a4a 52%,#06252f 76%,#071820 77%);border:18px solid #05090d;box-shadow:inset 0 0 0 2px rgba(255,255,255,.025),0 25px 80px rgba(0,0,0,.8)}.poker-felt:before{content:"";position:absolute;inset:10%;border-radius:48% / 34%;border:1px solid rgba(255,255,255,.07)}.felt-brand{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;color:rgba(218,234,240,.17);font-family:Georgia,serif;font-size:26px;letter-spacing:3px;font-weight:800}.felt-brand small{display:block;font-family:Arial,sans-serif;font-size:18px;letter-spacing:1px;margin-top:4px}.felt-brand em{display:block;font-family:Arial,sans-serif;font-style:normal;font-size:10px;line-height:1.5;letter-spacing:0;color:rgba(218,234,240,.28);margin-top:30px}.poker-seat{position:absolute;width:91px;padding:6px 5px 7px;border-radius:13px;background:linear-gradient(180deg,#101b22,#071015);border:1px solid rgba(255,255,255,.08);text-align:center;z-index:3;box-shadow:0 5px 14px rgba(0,0,0,.5)}.seat-avatar{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;margin:-27px auto 3px;background:linear-gradient(135deg,#1c5669,#102934);border:2px solid #d2ad66;color:white;font-weight:900}.poker-seat b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poker-seat span{display:block;font-size:10px;color:#72c0e5;margin-top:3px}.seat-me{left:18%;bottom:-15px;transform:translateX(-50%);border-color:rgba(216,170,85,.55)}.seat-top{left:50%;top:-10px;transform:translateX(-50%)}.seat-right-top{right:-16px;top:22%}.seat-right{right:-16px;bottom:27%}.seat-left{left:-16px;bottom:27%}.seat-left-top{left:-16px;top:22%}.empty-seat{position:absolute;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#0a171e;border:1px dashed rgba(255,255,255,.15);color:#475b65;font-size:18px}.empty-0{left:50%;top:-8px;transform:translateX(-50%)}.empty-1{right:-5px;top:24%}.empty-2{right:-5px;bottom:28%}.empty-3{left:-5px;bottom:28%}.empty-4{left:-5px;top:24%}.empty-5{left:50%;bottom:-4px;transform:translateX(-50%)}.room-note{position:absolute;bottom:2%;left:0;right:0;text-align:center;color:#48616c;font-size:10px;padding:0 20px}
@media(max-width:420px){.active-players{grid-template-columns:1fr}.buyin-sheet{margin-top:8vh}.poker-felt{left:2%;right:2%;top:13%;bottom:10%}.poker-seat{width:78px}.seat-avatar{width:40px;height:40px}.felt-brand{font-size:21px}}

/* v0.9: vista previa visual de la mesa */
.visual-preview{padding:12px 10px 14px}.mini-poker-table{padding:8px 0 4px}.mini-felt{height:245px;max-width:420px;margin:0 auto;position:relative;border-radius:48% / 35%;background:radial-gradient(ellipse at 50% 44%,#0b6176 0%,#08495d 52%,#052d3d 76%,#031822 100%);border:9px solid #060a0d;box-shadow:inset 0 0 0 2px rgba(216,170,85,.18),0 10px 28px rgba(0,0,0,.42)}
.mini-felt:after{content:"";position:absolute;inset:22px;border-radius:48% / 35%;border:1px solid rgba(255,255,255,.08)}.mini-felt-brand{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);text-align:center;color:rgba(213,238,246,.18);font-family:Georgia,serif;font-size:19px;letter-spacing:2px;font-weight:700}.mini-felt-brand small{display:block;font-family:Arial,sans-serif;font-size:11px;letter-spacing:1px;margin-top:3px}.mini-felt-brand em{display:block;font-family:Arial,sans-serif;font-style:normal;font-size:9px;letter-spacing:0;margin-top:12px;color:rgba(213,238,246,.22)}
.mini-seat{position:absolute;width:86px;text-align:center;z-index:3;transform:translate(-50%,-50%)}.mini-seat img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #d5b266;background:#0c1720;box-shadow:0 4px 10px rgba(0,0,0,.5)}.mini-seat-info{margin-top:-5px;background:#07131c;border:1px solid rgba(216,170,85,.24);border-radius:9px;padding:6px 5px 5px;box-shadow:0 5px 12px rgba(0,0,0,.4)}.mini-seat-info b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#eef4f7}.mini-seat-info span{display:flex;justify-content:center;align-items:center;gap:3px;font-size:8px;color:#8fa8b8;margin-top:2px}.mini-seat-info .blue-chip-dot{width:10px;height:10px;border-width:1px;margin:0}
.mini-seat-empty{position:absolute;width:34px;height:34px;border-radius:50%;border:1px dashed rgba(216,170,85,.35);display:grid;place-items:center;color:#647985;background:rgba(4,13,18,.7);z-index:2;transform:translate(-50%,-50%)}.mini-seat-empty span{font-size:18px}
.mini-top{left:50%;top:4%}.mini-left-top{left:8%;top:29%}.mini-right-top{left:92%;top:29%}.mini-left-bottom{left:11%;top:72%}.mini-right-bottom{left:89%;top:72%}.mini-bottom{left:50%;top:96%}
.seat-avatar.photo{overflow:hidden;padding:0}.seat-avatar.photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
@media(max-width:420px){.mini-felt{height:230px}.mini-seat{width:78px}.mini-seat img{width:40px;height:40px}.mini-seat-info b{font-size:7.5px}}

/* v0.10 — asiento local a la izquierda + reserva de espacio para controles */
.action-space-preview{position:absolute;right:1.5%;bottom:-3%;width:58%;height:112px;z-index:2;pointer-events:none;display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;opacity:.34}
.action-space-preview button{border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#14212a,#0a1117);color:#dbe5ea;border-radius:11px;font-weight:800;font-size:10px;padding:11px 12px;box-shadow:0 4px 12px rgba(0,0,0,.45)}
.action-space-preview .main-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:145px}
.action-space-preview .quick-bets{display:grid;gap:6px;width:74px}
.action-space-preview .quick-bets button{padding:7px 6px;color:#d8b66e}
@media(max-width:420px){.seat-me{left:17%;bottom:-12px}.action-space-preview{right:0;bottom:-2%;width:64%;height:105px}.action-space-preview .main-actions{min-width:132px}.action-space-preview button{font-size:9px;padding:10px 8px}.action-space-preview .quick-bets{width:68px}}

/* v0.11 — motor NLH jugable local */
.poker-room.playable .poker-felt{bottom:8%}
.hand-status{position:absolute;left:50%;transform:translateX(-50%);font-size:10px;color:#78909c;font-weight:700}
.felt-pot{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);z-index:5;background:rgba(3,11,15,.62);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:7px 15px;color:#8da3ad;font-size:10px;text-align:center}.felt-pot b{display:block;color:#e8c56f;font-size:18px;margin-top:1px}
.community-cards{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;gap:4px;z-index:5}.playing-card{width:39px;height:56px;border-radius:6px;background:#f5f6f7;color:#101418;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:4px 5px;box-shadow:0 3px 7px rgba(0,0,0,.45);font-family:Arial,sans-serif}.playing-card b{font-size:17px;line-height:1}.playing-card span{font-size:18px;line-height:1;margin-top:2px}.playing-card.red{color:#c4252c}.playing-card.back{background:repeating-linear-gradient(45deg,#173a4c 0 5px,#0d2633 5px 10px);color:#d1ad61;align-items:center;justify-content:center;font-size:20px;border:1px solid #d1ad61}
.seat-cards{position:absolute;left:50%;top:-44px;transform:translateX(-50%);display:flex;gap:2px;z-index:-1}.seat-cards .playing-card{width:31px;height:44px;padding:3px}.seat-cards .playing-card b{font-size:14px}.seat-cards .playing-card span{font-size:14px}.poker-seat.folded{opacity:.42;filter:grayscale(.8)}.poker-seat.turn{box-shadow:0 0 0 2px #d8b55e,0 0 24px rgba(216,181,94,.45)}.seat-bet{position:absolute;top:-10px;right:-13px;background:#0d3341;color:#e7c56d;border:1px solid #286176;border-radius:10px;padding:2px 6px;font-size:8px}.hand-name{display:block;color:#d8b55e;font-size:7px;margin-top:3px;white-space:nowrap}.turn-message{position:absolute;left:50%;bottom:19%;transform:translateX(-50%);z-index:7;color:#9fb3bc;background:rgba(2,8,11,.6);border-radius:12px;padding:5px 10px;font-size:9px;max-width:58%;text-align:center}
.real-actions{position:absolute;right:-2%;bottom:-5%;width:72%;z-index:8;display:grid;grid-template-columns:84px 1fr;gap:8px;align-items:end}.real-actions .quick-bets{display:grid;gap:5px}.real-actions button{border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#17232b,#0b1218);color:#eef2f4;border-radius:9px;font-weight:800;font-size:9px;padding:9px 6px;box-shadow:0 4px 12px rgba(0,0,0,.45)}.real-actions .quick-bets button{color:#e5c368}.real-actions .main-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.real-actions .main-actions button{font-size:10px;padding:14px 5px}.real-actions .fold{background:linear-gradient(#402128,#231115)}.real-actions .raise{background:linear-gradient(#184353,#0e2b36);color:#e7c56d}.waiting-turn,.game-complete{position:absolute;right:5%;bottom:0;z-index:8}.waiting-turn{background:rgba(3,11,15,.8);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px;color:#78909c;font-size:9px}.game-complete button{border:1px solid #8a6d31;background:linear-gradient(#173946,#0b2530);color:#f0cf82;border-radius:11px;padding:12px 18px;font-weight:900}
@media(max-width:420px){.community-cards{gap:3px}.playing-card{width:34px;height:50px}.playing-card b{font-size:15px}.playing-card span{font-size:16px}.real-actions{width:76%;right:-1%;bottom:-4%;grid-template-columns:72px 1fr}.real-actions .main-actions button{font-size:9px;padding:12px 3px}.turn-message{bottom:18%}}

/* v0.12: mesa más viva — reparto, giro de cartas, reloj y bote */
.dealer-deck{position:absolute;left:50%;top:29%;width:38px;height:52px;transform:translate(-50%,-50%);z-index:4;opacity:.45;transition:opacity .25s}.dealer-deck i{position:absolute;inset:0;border-radius:5px;background:repeating-linear-gradient(45deg,#183f52 0 4px,#0b2532 4px 8px);border:1px solid #c5a45e;box-shadow:0 3px 8px rgba(0,0,0,.45)}.dealer-deck i:nth-child(1){transform:translate(-4px,3px) rotate(-4deg)}.dealer-deck i:nth-child(2){transform:translate(2px,1px) rotate(3deg)}.dealer-deck.shuffle{opacity:1;animation:deckPulse .7s ease-in-out}.dealer-deck.shuffle i:nth-child(1){animation:shuffleLeft .55s ease-in-out infinite alternate}.dealer-deck.shuffle i:nth-child(3){animation:shuffleRight .55s ease-in-out infinite alternate}@keyframes shuffleLeft{to{transform:translate(-15px,2px) rotate(-12deg)}}@keyframes shuffleRight{to{transform:translate(15px,2px) rotate(12deg)}}@keyframes deckPulse{50%{filter:drop-shadow(0 0 10px rgba(216,181,94,.7))}}
.community-cards{perspective:900px}.deal-card{width:39px;height:56px;perspective:700px;transform-origin:center}.deal-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d}.deal-card-front,.deal-card-back{position:absolute;inset:0;backface-visibility:hidden}.deal-card-back{border-radius:6px;background:repeating-linear-gradient(45deg,#173a4c 0 5px,#0d2633 5px 10px);border:1px solid #d1ad61;color:#d1ad61;display:grid;place-items:center;font-size:20px;transform:rotateY(0deg);box-shadow:0 3px 8px rgba(0,0,0,.45)}.deal-card-front{transform:rotateY(180deg);box-sizing:border-box}.deal-card.animate{opacity:0;animation:cardFlyIn .42s cubic-bezier(.2,.75,.25,1) var(--deal-delay) forwards}.deal-card.animate .deal-card-inner{animation:cardFlip .44s cubic-bezier(.2,.75,.25,1) calc(var(--deal-delay) + 360ms) forwards}.deal-card:not(.animate) .deal-card-inner{transform:rotateY(180deg)}@keyframes cardFlyIn{0%{opacity:0;transform:translate(0,-120px) scale(.62) rotate(-9deg)}70%{opacity:1;transform:translate(0,5px) scale(1.04) rotate(1deg)}100%{opacity:1;transform:none}}@keyframes cardFlip{0%{transform:rotateY(0deg)}100%{transform:rotateY(180deg)}}
.hole-card{display:block}.deal-hole{animation:holeSlide .35s cubic-bezier(.2,.8,.25,1) var(--hole-delay) both}@keyframes holeSlide{0%{opacity:0;transform:translate(120px,-140px) rotate(12deg) scale(.72)}100%{opacity:1;transform:none}}
.felt-pot{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);z-index:6;min-width:84px;text-align:center;background:rgba(3,22,25,.5);border-radius:18px;padding:5px 10px 7px;box-shadow:0 4px 15px rgba(0,0,0,.22)}.felt-pot span{display:block;color:#b7c9ce;font-size:9px}.felt-pot b{display:block;color:#e9c45f;font-size:18px;line-height:1.05}.pot-chip-stack{height:25px;display:flex;justify-content:center;align-items:flex-end;gap:-3px;margin-bottom:2px}.pot-chip{display:inline-block;width:18px;height:18px;border-radius:50%;margin-left:-4px;background:radial-gradient(circle at 34% 32%,#8fd7ff 0 9%,#1e78c9 10% 44%,#0d3668 45% 100%);border:2px dashed #dceeff;box-shadow:0 2px 4px rgba(0,0,0,.5)}.pot-chip.chip-2{background:radial-gradient(circle at 34% 32%,#fff 0 9%,#d44855 10% 44%,#711b27 45% 100%);transform:translateY(-5px)}.pot-chip.chip-3{background:radial-gradient(circle at 34% 32%,#fff 0 9%,#222 10% 44%,#050505 45% 100%);transform:translateY(-1px)}.pot-chip-stack.has-chips{animation:potPop .28s ease-out}@keyframes potPop{0%{transform:scale(.78);opacity:.4}100%{transform:scale(1);opacity:1}}
.poker-seat.turn{box-shadow:0 0 0 2px #d8b55e,0 0 28px rgba(216,181,94,.55);animation:turnGlow 1.1s ease-in-out infinite alternate}@keyframes turnGlow{to{box-shadow:0 0 0 2px #f2d77f,0 0 36px rgba(242,215,127,.68)}}.turn-clock{position:absolute;left:8px;right:8px;bottom:-9px;height:5px;border-radius:8px;background:#26333a;overflow:visible}.turn-clock i{display:block;height:100%;width:100%;border-radius:8px;background:linear-gradient(90deg,#3ac98a,#e9c35f,#e9684a);transform-origin:left;animation:turnCountdown 15s linear forwards}.turn-clock small{position:absolute;right:-1px;bottom:6px;font-size:7px;color:#e9c35f;background:#0b1419;padding:1px 4px;border-radius:6px}@keyframes turnCountdown{to{transform:scaleX(0)}}
@media(max-width:420px){.deal-card{width:34px;height:50px}.dealer-deck{top:28%;width:32px;height:45px}.felt-pot{top:39%}.felt-pot b{font-size:16px}}
/* v0.13: reparto por calles y botones de porcentaje del bote */
.real-actions.clubgg-actions{right:-1%;bottom:-5%;width:78%;display:grid;grid-template-columns:1fr 92px;gap:7px;align-items:end}
.real-actions.clubgg-actions .main-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;align-self:end}
.real-actions.clubgg-actions .main-actions button{min-height:54px;font-size:11px;padding:10px 5px;border-radius:8px}
.real-actions.clubgg-actions .quick-bets{display:grid;gap:5px;width:92px}
.real-actions.clubgg-actions .quick-bets button{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:3px;align-items:center;padding:6px 5px;min-height:48px;color:#fff;background:linear-gradient(180deg,#20272d,#11161a);border-radius:7px}
.real-actions.clubgg-actions .quick-bets button small{grid-row:1/3;grid-column:1;font-size:8px;color:#e7eef1;background:#0b0f12;border-radius:4px;padding:3px 2px}
.real-actions.clubgg-actions .quick-bets button span{grid-column:2;font-size:9px;font-weight:800;color:#e8ecee}
.real-actions.clubgg-actions .quick-bets button b{grid-column:2;font-size:15px;line-height:1;color:#e7c35e}
.hole-card:not(.deal-hole){animation:none!important}
@media(max-width:420px){.real-actions.clubgg-actions{width:80%;grid-template-columns:1fr 84px}.real-actions.clubgg-actions .quick-bets{width:84px}.real-actions.clubgg-actions .main-actions button{font-size:10px;min-height:50px}.real-actions.clubgg-actions .quick-bets button b{font-size:14px}}

/* v0.14 — fichas físicas frente a cada asiento + cobro del bote */
.seat-wager{position:absolute;z-index:8;display:flex;align-items:center;gap:4px;pointer-events:none;filter:drop-shadow(0 4px 5px rgba(0,0,0,.55))}
.seat-wager strong{font-size:9px;line-height:1;background:#08141a;color:#f4f6f7;border-radius:9px;padding:2px 6px;white-space:nowrap}
.wager-stack{display:flex;align-items:center;min-width:22px;height:22px}.wager-stack i{width:17px;height:17px;border-radius:50%;margin-left:-7px;background:radial-gradient(circle at 34% 30%,#fff 0 8%,#2d8dd5 9% 39%,#113c70 40% 100%);border:2px dashed #dff3ff;box-sizing:border-box}.wager-stack i:nth-child(2){background:radial-gradient(circle at 34% 30%,#fff 0 8%,#24282c 9% 39%,#050607 40% 100%);transform:translateY(-4px)}
/* "frente" siempre apunta hacia el centro de la mesa */
.seat-me .seat-wager{left:92%;top:-18px}.seat-top .seat-wager{left:50%;top:110%;transform:translateX(-50%)}.seat-right-top .seat-wager,.seat-right .seat-wager{right:105%;top:45%}.seat-left-top .seat-wager,.seat-left .seat-wager{left:105%;top:45%}
.seat-wager.collecting{opacity:.28;transition:opacity .25s ease}
.flying-wager-chip,.payout-chip-flight,.collect-clone{position:absolute;z-index:40;pointer-events:none}.flying-wager-chip{display:flex;align-items:center;gap:4px}.flying-wager-chip i{display:block;width:19px;height:19px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff 0 8%,#2d8dd5 9% 39%,#113c70 40% 100%);border:2px dashed #dff3ff;box-shadow:0 3px 7px #000}.flying-wager-chip b{font-size:9px;background:#071116;color:#f2ca67;border-radius:8px;padding:2px 5px}
.collect-clone{margin:0!important;transform:none;z-index:30}.collect-clone .wager-stack{display:flex}.collect-clone strong{font-size:8px}
.payout-chip-flight{display:flex;align-items:center;filter:drop-shadow(0 0 12px rgba(240,194,78,.8))}.payout-chip-flight i{width:22px;height:22px;border-radius:50%;margin-left:-8px;background:radial-gradient(circle at 35% 30%,#fff 0 8%,#d94a55 9% 40%,#731923 41% 100%);border:2px dashed white}.payout-chip-flight i:nth-child(2){background:radial-gradient(circle at 35% 30%,#fff 0 8%,#2585cf 9% 40%,#123c69 41% 100%);transform:translateY(-7px)}.payout-chip-flight i:nth-child(3){background:radial-gradient(circle at 35% 30%,#fff 0 8%,#242424 9% 40%,#050505 41% 100%);transform:translate(-5px,2px)}.payout-chip-flight b{margin-left:5px;color:#f1cb64;background:#071116;border-radius:10px;padding:3px 7px;font-size:10px}
.win-badge{position:absolute;left:50%;top:-13px;transform:translateX(-50%) rotate(-4deg);z-index:20;font-family:Georgia,serif;font-weight:900;font-size:23px;color:#fff0a5;text-shadow:0 1px 0 #7c4b00,0 0 6px #ffb21e,0 0 18px #ff9a00;animation:winPop .7s cubic-bezier(.15,.85,.2,1) both}.winner-seat{box-shadow:0 0 0 2px #f0c75f,0 0 32px rgba(245,186,54,.75)!important}.winner-seat .seat-avatar{box-shadow:0 0 0 2px #ffe08b,0 0 20px rgba(255,199,71,.8)}
@keyframes winPop{0%{opacity:0;transform:translateX(-50%) scale(.2) rotate(-9deg)}65%{opacity:1;transform:translateX(-50%) scale(1.25) rotate(2deg)}100%{transform:translateX(-50%) scale(1) rotate(-4deg)}}
.payout-wait{color:#e6c264!important}
@media(max-width:420px){.seat-me .seat-wager{left:88%;top:-15px}.seat-wager strong{font-size:8px;padding:2px 4px}.wager-stack i{width:15px;height:15px}.win-badge{font-size:20px}}


/* v0.15 — fichas casino + apuesta local más adelantada + siguiente mano automática */
.seat-me .seat-wager{left:116%;top:-34px}
@media(max-width:420px){.seat-me .seat-wager{left:111%;top:-31px}}

/* Ficha Malecón con aspecto de casino: aro exterior, inserts y centro esmaltado */
.wager-stack i,.flying-wager-chip i,.pot-chip,.payout-chip-flight i{
  border-radius:50%;
  border:2px solid rgba(236,246,255,.95)!important;
  background:
    radial-gradient(circle at 50% 50%,#0a3153 0 26%,#d9edf8 27% 31%,transparent 32%),
    conic-gradient(from 0deg,#eaf7ff 0 8deg,#176cae 8deg 37deg,#eaf7ff 37deg 45deg,#176cae 45deg 82deg,#eaf7ff 82deg 90deg,#176cae 90deg 127deg,#eaf7ff 127deg 135deg,#176cae 135deg 172deg,#eaf7ff 172deg 180deg,#176cae 180deg 217deg,#eaf7ff 217deg 225deg,#176cae 225deg 262deg,#eaf7ff 262deg 270deg,#176cae 270deg 307deg,#eaf7ff 307deg 315deg,#176cae 315deg 352deg,#eaf7ff 352deg 360deg)!important;
  box-shadow:inset 0 0 0 2px #073459,inset 0 0 7px rgba(255,255,255,.28),0 3px 7px rgba(0,0,0,.65)!important;
}
.wager-stack i:after,.flying-wager-chip i:after,.pot-chip:after,.payout-chip-flight i:after{content:'M';display:grid;place-items:center;position:absolute;inset:31%;border-radius:50%;font:900 5px/1 Arial;color:#dff3ff;text-shadow:0 1px 1px #001d32}
.wager-stack i,.flying-wager-chip i,.pot-chip,.payout-chip-flight i{position:relative}
.wager-stack i:nth-child(2),.pot-chip.chip-3,.payout-chip-flight i:nth-child(3){filter:hue-rotate(145deg) saturate(.8) brightness(.65)}
.pot-chip.chip-2,.payout-chip-flight i:nth-child(1){filter:hue-rotate(285deg) saturate(1.35) brightness(.9)}
.payout-chip-flight i:nth-child(2){filter:none}

.flying-wager-chip{filter:drop-shadow(0 5px 6px rgba(0,0,0,.5))}
.seat-wager{transition:left .2s ease,top .2s ease}
.auto-next-hand{color:#e8c56c!important;border-color:rgba(232,197,108,.2)!important}


/* v0.16 — movimientos de fichas más suaves; nueva mano automática silenciosa */
.flying-wager-chip,.collect-clone,.payout-chip-flight{will-change:transform,opacity}

/* v0.17 — baraja más realista */
.playing-card,.deal-card-back{
  border-radius:5px;
  border:1px solid rgba(20,20,20,.28);
  box-shadow:0 2px 3px rgba(0,0,0,.25),0 5px 10px rgba(0,0,0,.32),inset 0 0 0 1px rgba(255,255,255,.72);
}
.playing-card{
  position:relative;overflow:hidden;padding:0!important;
  background:linear-gradient(135deg,#fff 0%,#f8f7f2 48%,#e9e7df 100%);
  color:#15171a;
}
.playing-card:after{content:"";position:absolute;inset:2px;border:1px solid rgba(0,0,0,.05);border-radius:3px;pointer-events:none}
.playing-card.red{color:#c51f2c}
.card-corner{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;line-height:.8;font-family:Georgia,'Times New Roman',serif;font-weight:700}
.card-corner b{font-size:12px!important;line-height:.9!important}.card-corner span{font-size:10px!important;line-height:1!important;margin:0!important}
.card-corner.top{left:3px;top:3px}.card-corner.bottom{right:3px;bottom:3px;transform:rotate(180deg)}
.card-center-suit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:25px;line-height:1;font-family:Georgia,'Times New Roman',serif;text-shadow:0 1px 0 rgba(255,255,255,.65)}
.seat-cards .card-corner b{font-size:10px!important}.seat-cards .card-corner span{font-size:8px!important}.seat-cards .card-center-suit{font-size:20px}
.playing-card.back,.deal-card-back,.dealer-deck i{
  background-color:#0e3247!important;
  background-image:
    radial-gradient(circle at 50% 50%,rgba(219,177,91,.18) 0 8%,transparent 9%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.055) 0 2px,transparent 2px 6px),
    repeating-linear-gradient(-45deg,rgba(216,170,85,.08) 0 2px,transparent 2px 6px),
    linear-gradient(145deg,#154a62,#081d2b 70%)!important;
  border:2px solid #d0aa5b!important;
  box-shadow:inset 0 0 0 2px #102c3a,inset 0 0 0 4px rgba(211,171,89,.45),0 3px 8px rgba(0,0,0,.45)!important;
}
.back-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42%;aspect-ratio:1;border:1px solid rgba(232,199,129,.75);border-radius:50%;display:grid;place-items:center;color:#e4bf75;font:700 12px Georgia,serif;text-shadow:0 1px 4px #000;background:rgba(5,22,31,.35)}
.deal-card-back .back-mark{font-size:13px}

/* v0.22: tarjetas de club más compactas + imagen del club a sangre dentro del marco */
.home-carousel .club-card{
  min-width:76%;
  height:100%;
  max-height:350px;
  min-height:285px;
  padding:12px;
  border-radius:22px;
}
.home-carousel .club-cover{
  flex:1 1 auto;
  min-height:128px;
  height:auto;
  border-radius:17px;
  overflow:hidden;
  background:linear-gradient(145deg,#0e1a24,#05090d);
}
.home-carousel .club-cover img{
  width:100%;
  height:100%;
  min-height:128px;
  border-radius:16px;
  object-fit:cover;
  display:block;
  box-shadow:none;
}
.home-carousel .club-card h3{
  margin:10px 0 4px;
  font-size:19px;
}
.home-carousel .club-stats{margin-top:9px}
.home-carousel .stat{padding:8px 8px}

@media(max-width:420px){
  .home-carousel .club-card{
    min-width:74%;
    min-height:270px;
    max-height:330px;
    padding:11px;
  }
  .home-carousel .club-cover{min-height:118px}
  .home-carousel .club-cover img{min-height:118px}
}
/* v24 · Bad Beat Malecón visual refresh */
.badbeat-banner{position:relative;overflow:hidden;width:calc(100% - 36px);margin:10px 18px 7px;min-height:82px;border-radius:14px;border:1px solid rgba(214,177,102,.58);background:#07121a url("badbeat_malecon.svg") center/cover no-repeat;box-shadow:inset 0 0 0 2px rgba(255,255,255,.035),inset 0 -18px 28px rgba(0,0,0,.22),0 8px 24px rgba(0,0,0,.36);display:grid;grid-template-columns:118px 1fr auto;align-items:center;gap:8px;padding:9px 18px;color:#f7dfaa;text-align:left}.badbeat-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,6,10,.44),rgba(1,8,12,.12) 45%,rgba(2,8,11,.34));pointer-events:none}.badbeat-banner>*{position:relative;z-index:1}.badbeat-banner span{display:inline-block;font-size:22px;font-weight:1000;line-height:.78;letter-spacing:-1px;transform:skew(-7deg) rotate(-2deg);color:#ffd66e;text-shadow:0 2px 0 #71490d,0 0 12px rgba(255,213,103,.35)}.badbeat-banner small{justify-self:start;margin-left:-20px;font-size:11px;font-weight:800;letter-spacing:3px;color:#ead3a2;text-shadow:0 1px 4px #000}.badbeat-banner b{justify-self:end;font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:900;font-style:italic;letter-spacing:-1px;color:#ffe19a;text-shadow:0 2px 0 #6b4a1b,0 0 14px rgba(255,216,130,.24);white-space:nowrap}
.setup-select{min-width:122px;background:#121d26;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:10px 11px;color:#e0e5e8;outline:none}.setting-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}.setting-pair label{display:grid;gap:7px;color:#9daab3;font-size:11px}.setting-pair input,.setting-pair select{width:100%;background:#111a22;border:1px solid rgba(255,255,255,.07);border-radius:10px;color:#fff;padding:10px;outline:none}.restriction-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.restriction-grid button{border:1px solid transparent;background:#111a22;color:#6f7c85;border-radius:10px;padding:10px 5px;font-size:10px}.restriction-grid button.active{border-color:#c79c50;color:#f0cc83;background:#17222a}.setup-help{margin:14px 0 22px;padding:13px;border-radius:13px;background:#091723;border:1px solid #203747;display:grid;gap:5px}.setup-help b{color:#e6c682;font-size:12px}.setup-help span{color:#6f8593;font-size:10px;line-height:1.45}
.badbeat-page{padding-bottom:100px}.bb-hero{position:relative;overflow:hidden;height:96px;border-radius:15px;border:1px solid rgba(214,177,102,.56);background:#07121a url("badbeat_malecon.svg") center/cover no-repeat;display:flex;align-items:center;justify-content:space-between;padding:16px 22px;margin:10px 0 18px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.035),0 9px 26px rgba(0,0,0,.34)}.bb-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,4,8,.48),rgba(0,4,8,.04) 48%,rgba(0,4,8,.28));pointer-events:none}.bb-hero>*{position:relative;z-index:1}.bb-hero span{font-size:26px;font-weight:1000;line-height:.78;letter-spacing:-1px;color:#ffd66e;text-shadow:0 2px 0 #71490d,0 0 12px rgba(255,213,103,.35);transform:skew(-7deg) rotate(-2deg)}.bb-hero b{font-family:Georgia,"Times New Roman",serif;font-size:32px;font-weight:900;color:#ffe19a;font-style:italic;text-shadow:0 2px 0 #6b4a1b,0 0 14px rgba(255,216,130,.24)}.badbeat-page h3{font-size:14px;color:#ddbd7a;margin:22px 0 10px}.bb-rule-card{border:1px solid #2a3b45;border-radius:14px;padding:14px;background:#0c1821;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0}.bb-rule-card b{color:#54c3ff}.bb-rule-card strong{color:#f1d178;text-align:right}.bb-rule-card span{grid-column:1/-1;color:#7f919c;font-size:11px}.bb-rule-card.disabled{opacity:.68}.bb-rules{background:#09131b;border:1px solid #1d2d37;border-radius:14px;padding:12px}.bb-rules p{margin:6px 0;color:#8798a3;font-size:11px;line-height:1.42}.bb-pay-table{display:grid;gap:7px}.bb-pay-table>div{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:6px;background:#0c1821;border:1px solid #22333e;border-radius:11px;padding:10px}.bb-pay-table b{font-size:10px;color:#d9bd7b}.bb-pay-table span{font-size:9px;color:#8999a3;text-align:center}
.badbeat-overlay{position:absolute;z-index:80;left:50%;top:38%;transform:translate(-50%,-50%);width:78%;padding:20px 14px;border-radius:18px;background:radial-gradient(circle at 50% 20%,rgba(255,161,53,.34),transparent 36%),linear-gradient(180deg,rgba(74,22,10,.97),rgba(17,8,7,.97));border:2px solid #f0b54d;box-shadow:0 0 36px rgba(255,133,31,.55),inset 0 0 22px rgba(255,194,80,.12);text-align:center;animation:bbPop .55s cubic-bezier(.17,.9,.25,1.2) both}.badbeat-overlay small{display:block;letter-spacing:4px;color:#ffbd66;font-weight:900}.badbeat-overlay b{display:block;font-size:38px;line-height:1.05;color:#ffe096;text-shadow:0 2px 0 #8d3100,0 0 18px #ff8b21}.badbeat-overlay span{display:block;margin-top:7px;color:#ffd4ac;font-size:11px}@keyframes bbPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.55) rotate(-3deg)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.05) rotate(1deg)}100%{transform:translate(-50%,-50%) scale(1)}}
@media(max-width:390px){.badbeat-banner{grid-template-columns:98px 1fr auto;padding-left:13px;padding-right:13px}.badbeat-banner span{font-size:19px}.badbeat-banner small{margin-left:-12px;font-size:9px;letter-spacing:2px}.badbeat-banner b{font-size:23px}.setting-pair{grid-template-columns:1fr}.bb-pay-table>div{grid-template-columns:1fr 1fr}.bb-pay-table b{grid-column:1/-1}.badbeat-overlay b{font-size:31px}}

/* v25 · PLO4/PLO5/PLO6 jugable */
.plo-variant{grid-template-columns:repeat(3,1fr)!important}
.plo-room .felt-brand small{color:rgba(101,175,255,.28)}
.seat-cards.many-cards{gap:0;min-width:96px;justify-content:center;top:-43px}
.seat-cards.many-cards .hole-card{margin-left:-11px}
.seat-cards.many-cards .hole-card:first-child{margin-left:0}
.seat-cards.many-cards .playing-card{width:27px;height:42px}
.seat-cards.many-cards .card-corner.bottom{display:none}
.seat-cards.many-cards .card-center-suit{font-size:15px}
.seat-cards.many-cards .card-corner.top b{font-size:9px!important}
.seat-cards.many-cards .card-corner.top span{font-size:7px!important}
@media(max-width:390px){.seat-cards.many-cards .hole-card{margin-left:-13px}.seat-cards.many-cards .playing-card{width:25px;height:39px}}

/* Malecón v26 · TRÍO */
.trio-room .poker-felt{background:radial-gradient(circle at 50% 43%,rgba(19,67,92,.34),transparent 34%),linear-gradient(180deg,#07131d 0%,#0a2230 48%,#07131d 100%)}
.trio-room .felt-brand small{color:#8fd7ff}
.trio-draw-controls{position:absolute;right:10px;bottom:20px;width:min(46%,190px);z-index:40;background:rgba(4,12,18,.94);border:1px solid rgba(97,183,227,.35);border-radius:14px;padding:9px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.trio-draw-controls .draw-title{font-size:11px;color:#b9dceb;margin-bottom:7px;text-align:center;font-weight:700}
.trio-draw-controls .draw-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.trio-draw-controls button{min-height:38px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#102836;color:#eaf8ff;font-weight:700;font-size:10px;padding:5px}
.trio-draw-controls button:active{transform:scale(.97)}
.trio-draw-controls .change-two{grid-column:1/-1;background:linear-gradient(180deg,#164d68,#0c3449);border-color:rgba(111,210,255,.48)}
.type-tag.trío{background:linear-gradient(180deg,#163d51,#0b2635);color:#9ee4ff;border-color:rgba(111,210,255,.32)}
.trio-room .community-cards{gap:6px}
.trio-room .seat-cards .hole-card{transition:transform .25s ease,opacity .25s ease}
@media(max-width:430px){.trio-draw-controls{width:44%;right:7px;bottom:16px}.trio-draw-controls button{font-size:9px;min-height:36px}}

/* v27 · TRÍO: cambio de cartas visible y pausado */
.trio-room .hole-card.discard-hole{animation:trioDiscard .52s cubic-bezier(.22,.7,.25,1) forwards!important;transform-origin:center bottom}
@keyframes trioDiscard{0%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}65%{opacity:.85;transform:translate(22px,-30px) rotate(12deg) scale(.96)}100%{opacity:0;transform:translate(56px,-72px) rotate(24deg) scale(.78)}}
.exchange-badge{position:absolute;left:50%;top:-69px;transform:translateX(-50%);z-index:18;white-space:nowrap;padding:4px 8px;border-radius:10px;background:rgba(5,20,29,.94);border:1px solid rgba(110,205,242,.5);box-shadow:0 5px 16px rgba(0,0,0,.35);font-size:8px;font-weight:900;letter-spacing:.55px;color:#cfefff;animation:exchangePop .2s ease both}
.exchange-badge.waiting{color:#ffd977;border-color:rgba(255,217,119,.5)}
.exchange-badge.deal{color:#9ee6ff}
.exchange-badge.stand{color:#a9bac2;border-color:rgba(169,186,194,.3)}
@keyframes exchangePop{from{opacity:0;transform:translateX(-50%) translateY(5px) scale(.92)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
/* v28 · selector de cambio TRÍO compacto dentro de la mesa */
.trio-draw-controls .no-change{grid-column:1/-1;min-height:40px;background:linear-gradient(180deg,#17384b,#102b3a);border-color:rgba(111,210,255,.38)}
.trio-draw-controls .single-change{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:4px 7px}
.draw-mini-card{width:25px;height:35px;border-radius:4px;background:#f7f5ef;color:#101419;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 5px rgba(0,0,0,.35);font-size:11px;flex:0 0 auto}
.draw-mini-card.red{color:#c63232}.draw-mini-card b{font-size:11px}.draw-mini-card i{font-style:normal;font-size:12px;margin-top:2px}
.trio-draw-controls .change-two{min-height:40px}
@media(max-width:430px){.trio-draw-controls .single-change{min-height:45px;gap:5px}.draw-mini-card{width:23px;height:32px;font-size:10px}}

/* ===== Malecón v0.29 · Datos / comisiones ===== */
.accounting-page{padding:8px 0 28px}.date-title{margin:4px 4px 12px;text-align:center;color:#a9bac5;font-size:13px}.data-range-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:5px;border:1px solid rgba(231,198,126,.24);border-radius:18px;margin:0 0 10px;background:#08131a}.data-range-tabs button{border:0;background:transparent;color:#8999a4;padding:11px 4px;border-radius:13px;font-weight:700}.data-range-tabs button.active{background:linear-gradient(180deg,#e7c67e,#b98a3e);color:#071118}.custom-date-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}.custom-date-row label{font-size:11px;color:#7f919d;display:grid;gap:5px}.custom-date-row input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.09);background:#101b22;color:#e5edf2;border-radius:12px;padding:10px 8px}.accounting-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border:1px solid rgba(54,184,148,.28);background:linear-gradient(180deg,#0b1b22,#081319);border-radius:18px;padding:14px 10px;margin:12px 0}.accounting-summary div{text-align:center;min-width:0}.accounting-summary small{display:block;color:#81939f;font-size:10px;min-height:26px}.accounting-summary b{display:block;color:#f0cf86;font-size:17px;margin-top:5px;white-space:nowrap}.bb-accounting-note{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px;border-radius:18px;background:radial-gradient(circle at 85% 30%,rgba(17,86,120,.52),transparent 38%),linear-gradient(135deg,#071a24,#0b2634);border:1px solid rgba(218,184,107,.35);margin-bottom:18px}.bb-accounting-note>span{font-weight:900;color:#efce83;line-height:.9;font-size:18px}.bb-accounting-note small{display:block;color:#79909d}.bb-accounting-note b{font-size:23px;color:#e6f2f7}.bb-accounting-note em{grid-column:1/-1;font-style:normal;color:#6f8490;font-size:11px}.data-section-title{font-size:15px;color:#d7e2e7;margin:18px 4px 9px}.data-table-list,.data-member-list{display:grid;gap:8px}.data-table-card,.data-member-list>button{width:100%;border:1px solid rgba(255,255,255,.07);background:#0b1820;color:#dbe5ea;border-radius:16px;padding:12px;display:flex;align-items:center;gap:10px;text-align:left}.data-table-card .grow,.data-member-list .grow{display:grid;gap:3px}.data-table-card .grow span,.data-member-list .grow span{color:#7f919d;font-size:11px}.data-table-card .grow small{color:#617581;font-size:10px}.data-table-type{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:11px;background:#14362f;color:#61d4a9}.data-table-type.plo{background:#142d43;color:#65b9ef}.data-table-type.trío{background:#352745;color:#c69df1}.data-table-money{margin-left:auto;text-align:right;display:grid}.data-table-money b{color:#f0cf86}.data-table-money small{color:#4fc99d;font-size:10px}.data-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#183a4a,#0b202b);border:1px solid rgba(231,198,126,.45);color:#f0cf86;font-weight:800}.data-avatar.big{width:58px;height:58px;font-size:22px}.data-member-list>button>div:nth-last-child(2){margin-left:auto;text-align:right;display:grid}.data-member-list small{color:#71848f;font-size:10px}.data-member-list b{color:#e5edf2}.history-list{display:grid;gap:8px}.history-list>div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:12px;border-radius:14px;background:#0b1820;border:1px solid rgba(255,255,255,.06)}.history-list span{color:#c6d2d8}.history-list b{color:#f0cf86}.history-list small{grid-column:1/-1;color:#748690}.member-data-head{display:flex;align-items:center;gap:12px;background:#0b1820;border:1px solid rgba(255,255,255,.06);padding:13px;border-radius:17px;margin-bottom:12px}.member-data-head h2{font-size:18px;margin:0}.member-data-head p{margin:4px 0 0;color:#80929d;font-size:11px}.member-total-card{padding:18px;border-radius:18px;background:linear-gradient(145deg,#0c202a,#0b171e);border:1px solid rgba(231,198,126,.28);text-align:center}.member-total-card small,.member-total-card span{display:block;color:#7c8f9a}.member-total-card b{display:block;font-size:30px;color:#efcd82;margin:8px 0}.clickable-member{cursor:pointer}.data-link{display:block!important;color:#d7b86f!important;margin-top:6px}@media(max-width:380px){.accounting-summary{grid-template-columns:1fr}.data-range-tabs{grid-template-columns:repeat(2,1fr)}}

/* ===== Malecón v0.31 · filtros de mesas ===== */
.game-filter-tabs{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  overflow:visible;
  padding-bottom:3px;
}
.game-filter-tabs button{
  position:relative;
  z-index:2;
  width:100%;
  border-bottom:0!important;
  text-align:center;
  transition:color .22s ease,opacity .22s ease;
}
.game-filter-tabs button.active{color:#e9c77f!important}
.game-filter-tabs .moving-tab-line{
  position:absolute;
  z-index:1;
  left:0;
  bottom:0;
  width:20%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent 12%,#e2bd6f 28%,#f2d48e 50%,#e2bd6f 72%,transparent 88%);
  transform:translateX(calc(var(--tab-index) * 100%));
  transition:transform .28s cubic-bezier(.22,.8,.3,1);
  pointer-events:none;
}
.filtered-empty{margin-top:10px;padding:46px 12px!important;border:1px dashed rgba(255,255,255,.06);border-radius:16px;background:rgba(8,20,29,.45)}

/* ===== Malecón v0.32 · filtros reales + mano privada ===== */
.table-filter-row label{cursor:pointer;user-select:none}
.table-filter-row input{accent-color:#e5c579}
.table-filter-row button{min-width:64px}
.poker-seat.seat-me{bottom:4px}
.private-hand-label{position:absolute;left:50%;bottom:-29px;transform:translateX(-50%);min-width:68px;max-width:108px;padding:4px 9px;border-radius:10px;background:linear-gradient(180deg,rgba(11,29,37,.98),rgba(5,15,20,.98));border:1px solid rgba(227,192,112,.48);box-shadow:0 5px 14px rgba(0,0,0,.45);color:#efd184;font-size:8px!important;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:12;letter-spacing:.1px}
.poker-seat.seat-me.turn .private-hand-label{bottom:-33px}
@media(max-width:420px){.poker-seat.seat-me{bottom:5px}.private-hand-label{bottom:-28px;min-width:62px;font-size:7.5px!important}.poker-seat.seat-me.turn .private-hand-label{bottom:-32px}}
.beta-import{display:flex;gap:10px;align-items:center;color:#91a1ad;font-size:13px;margin:2px 0 16px}.beta-import input{width:18px;height:18px;accent-color:#d8b66d}
/* v34 · mesa multijugador real */
.online-v34-btn{width:100%;margin:14px 0 10px;padding:14px 18px;border:1px solid #1cc7a1;border-radius:18px;background:linear-gradient(135deg,#092b32,#0c1d2b);color:#d9fff6;text-align:left;display:flex;justify-content:space-between;align-items:center}.online-v34-btn b{font-size:15px}.online-v34-btn span{font-size:11px;color:#7fd9c6}.mp-page{min-height:100vh;background:#061018;padding:18px 16px 110px;color:#eef6fa}.mp-page .page-title{display:flex;align-items:center;gap:10px}.mp-live{margin-left:auto;color:#31d69c;font-size:12px}.mp-beta{font-size:12px;color:#7e9aa7;text-align:center;margin:4px 0 16px}.mp-felt{position:relative;min-height:560px;border-radius:46%/18%;border:2px solid #183d4c;background:radial-gradient(ellipse at center,#0d3543 0,#082531 55%,#061a23 100%);padding:170px 12px 22px;box-shadow:inset 0 0 80px #02080c}.mp-board{text-align:center}.mp-board small{display:block;color:#7f9ba6}.mp-board>b{font-size:28px;color:#e7c979}.mp-board em{display:block;margin-top:12px;color:#8db1bd;font-style:normal;font-size:12px}.mp-community{height:68px;display:flex;justify-content:center;align-items:center;gap:5px;margin-top:8px}.mp-community>span{font-size:11px;color:#54717c}.mp-card{width:38px;height:54px;border-radius:6px;background:#f4f2eb;color:#111;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #c9c4b8;font-size:16px}.mp-card.red{color:#d03c43}.mp-card.back{background:#0b2d3b;color:#d6b96f;border:2px solid #b79b59;font-weight:800}.mp-player{display:flex;align-items:center;gap:8px;background:#07151d;border:1px solid #173744;border-radius:14px;padding:8px 10px;margin:9px 0;position:relative}.mp-player.me{border-color:#d6b76b}.mp-player.turn{box-shadow:0 0 0 2px #2dd3a0}.mp-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#173e4b;color:#e8d18b;font-weight:800}.mp-player>div:nth-child(2){flex:1}.mp-player b,.mp-player span{display:block}.mp-player span{font-size:11px;color:#76a5b6}.mp-hole{display:flex;gap:3px}.mp-hole .mp-card{width:28px;height:40px;font-size:12px}.mp-player>i{position:absolute;right:8px;bottom:4px;color:#e57979;font-size:9px}.mp-status{display:flex;justify-content:space-between;padding:12px 4px;color:#73909c;font-size:11px}.mp-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.mp-actions button{padding:14px 5px;border-radius:12px;border:1px solid #2a4651;background:#10232c;color:#e7eff2}.mp-actions .raise{background:#b98f45;color:#fff;border-color:#d8b76f}.mp-wait,.mp-loading{text-align:center;padding:18px;border-radius:14px;background:#0a1b24;color:#86a1ad}.mp-note{font-size:11px;line-height:1.45;color:#607b86;margin-top:16px}.mp-page .btn:disabled{opacity:.45}

/* v35: cuenta nueva realmente vacía */
.empty-account-home{margin-top:10px;padding:30px 18px;border:1px solid rgba(216,170,85,.22);border-radius:22px;background:linear-gradient(180deg,rgba(13,25,35,.95),rgba(6,12,18,.98));text-align:center}
.empty-account-home .empty-wave{font-size:42px;color:var(--gold2);line-height:1;margin-bottom:4px}.empty-account-home h3{margin:6px 0 8px}.empty-account-home p{color:var(--muted);font-size:13px;line-height:1.4;margin:0 auto 18px;max-width:300px}.empty-account-home>div:last-child{display:flex;gap:9px}.empty-account-home .btn{margin:0;flex:1}.join-found{text-align:center}.join-found .auth-logo{width:82px;height:82px;margin-bottom:8px}.join-found p{color:var(--muted);font-size:13px}
/* v36: membership approval + live member search */
.club-admin-row{overflow-x:auto;scrollbar-width:none}.club-admin-row::-webkit-scrollbar{display:none}.club-admin-row button{min-width:58px;white-space:nowrap}

/* ===== Malecón v0.39 · mesa NLH online con interfaz real ===== */
.mp-real-room .room-top{z-index:110}.mp-real-room .mp-live{color:#35dca2;font-size:11px;font-weight:800;white-space:nowrap}.mp-real-room .poker-felt{min-height:calc(100vh - 126px)}
.mp-real-room .poker-seat{transition:filter .22s ease,opacity .22s ease,box-shadow .22s ease}.mp-real-room .poker-seat.folded{opacity:.52;filter:grayscale(.65)}
.mp-real-room .poker-seat.seat-top{top:27px;left:50%;transform:translateX(-50%)}.mp-real-room .poker-seat.seat-me{left:13px;bottom:18px;transform:none}.mp-real-room .poker-seat.seat-right-top{right:-2px;top:190px}.mp-real-room .poker-seat.seat-right{right:5px;top:49%}.mp-real-room .poker-seat.seat-left{left:5px;top:49%}.mp-real-room .poker-seat.seat-left-top{left:-2px;top:190px}
.mp-real-room .seat-avatar.photo img{width:100%;height:100%;object-fit:cover;border-radius:50%}.mp-real-room .turn-message{bottom:165px}.mp-real-room .waiting-turn{bottom:32px}
.mp-real-room .mp-real-actions{z-index:90}.mp-real-room .mp-real-actions .quick-bets button{min-width:106px}
.mp-deal-hole{opacity:0;animation:mpDealHole .62s cubic-bezier(.18,.78,.25,1) forwards;animation-delay:var(--mp-delay)}
@keyframes mpDealHole{0%{opacity:0;transform:translate(110px,-180px) rotate(13deg) scale(.72)}70%{opacity:1;transform:translate(-3px,3px) rotate(-1deg) scale(1.03)}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}
.mp-wager-pop{animation:mpWagerPop .68s cubic-bezier(.2,.72,.22,1)}@keyframes mpWagerPop{0%{opacity:.15;transform:translateY(42px) scale(.72)}100%{opacity:1;transform:translateY(0) scale(1)}}
.mp-real-room .mp-turn-clock i{transform-origin:left center;transform:scaleX(var(--remain));transition:transform .48s linear}.mp-real-room .mp-turn-clock{overflow:hidden}
.mp-real-room .mp-pot-win .pot-chip-stack{animation:mpPotPulse .7s ease both}@keyframes mpPotPulse{50%{transform:scale(1.22);filter:drop-shadow(0 0 8px rgba(246,203,103,.7))}}
.mp-real-room .winner-seat{filter:drop-shadow(0 0 12px rgba(241,198,91,.5))}.mp-real-room .winner-seat .win-badge{animation:mpWinPop .55s cubic-bezier(.18,.9,.2,1.2) both}@keyframes mpWinPop{from{opacity:0;transform:translate(-50%,-20%) scale(.4)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(max-width:390px){.mp-real-room .poker-seat.seat-me{left:8px;bottom:17px}.mp-real-room .poker-seat.seat-right-top{right:-8px}.mp-real-room .poker-seat.seat-left-top{left:-8px}.mp-real-room .mp-real-actions .quick-bets button{min-width:96px}}

/* Malecón v40 — ritmo multijugador: apuestas visibles y flop secuencial */
.mp-real-room .deal-card.animate{animation-duration:.58s}
.mp-real-room .deal-card.animate .deal-card-inner{animation-duration:.52s;animation-delay:calc(var(--deal-delay) + 430ms)}
.mp-wager-pop{animation:mpWagerPopV40 .72s cubic-bezier(.16,.78,.22,1) both}
@keyframes mpWagerPopV40{0%{opacity:.05;scale:.65}55%{opacity:1;scale:1.08}100%{opacity:1;scale:1}}
.mp-wager-collect{animation-duration:1.05s!important;animation-timing-function:cubic-bezier(.3,.05,.55,1)!important;animation-fill-mode:forwards!important}
.seat-me .mp-wager-collect{animation-name:mpCollectMe!important}
.seat-top .mp-wager-collect{animation-name:mpCollectTop!important}
.seat-right-top .mp-wager-collect,.seat-right .mp-wager-collect{animation-name:mpCollectRight!important}
.seat-left-top .mp-wager-collect,.seat-left .mp-wager-collect{animation-name:mpCollectLeft!important}
@keyframes mpCollectMe{0%{opacity:1;transform:translate(0,0) scale(1)}75%{opacity:1;transform:translate(100px,-265px) scale(.88)}100%{opacity:0;transform:translate(115px,-285px) scale(.72)}}
@keyframes mpCollectTop{0%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}75%{opacity:1;transform:translateX(-50%) translateY(210px) scale(.88)}100%{opacity:0;transform:translateX(-50%) translateY(230px) scale(.72)}}
@keyframes mpCollectRight{0%{opacity:1;transform:translate(0,0) scale(1)}75%{opacity:1;transform:translate(-185px,60px) scale(.88)}100%{opacity:0;transform:translate(-205px,65px) scale(.72)}}
@keyframes mpCollectLeft{0%{opacity:1;transform:translate(0,0) scale(1)}75%{opacity:1;transform:translate(185px,60px) scale(.88)}100%{opacity:0;transform:translate(205px,65px) scale(.72)}}


/* Malecón v41 — animaciones online estables entre sondeos */
.mp-real-room .pot-chip-stack.has-chips{animation:none!important;opacity:1!important}
.mp-real-room .deal-card.animate{animation-duration:.76s!important;animation-timing-function:cubic-bezier(.16,.72,.2,1)!important}
.mp-real-room .deal-card.animate .deal-card-inner{animation-duration:.66s!important;animation-delay:calc(var(--deal-delay) + 560ms)!important;animation-timing-function:cubic-bezier(.18,.68,.2,1)!important}
.mp-real-room .mp-wager-collect{animation-iteration-count:1!important}


/* v43 — mesa premium, historial, asientos y bote doble */
.mp-real-room{background:
  radial-gradient(circle at 50% 38%,rgba(16,63,78,.42),transparent 36%),
  linear-gradient(180deg,#010609 0%,#02080b 48%,#010305 100%)}
.mp-real-room .room-top{height:72px;padding:13px 18px;background:linear-gradient(180deg,rgba(1,7,10,.98),rgba(1,7,10,.68),transparent);backdrop-filter:blur(6px)}
.room-right-tools{display:flex!important;align-items:center;gap:10px!important;margin-left:auto;color:inherit!important}
.mp-live-dot{width:9px;height:9px;border-radius:50%;background:#35dfa5;box-shadow:0 0 0 3px rgba(53,223,165,.08),0 0 10px rgba(53,223,165,.7);display:inline-block;flex:0 0 auto}
.hand-history-btn{width:36px;height:36px;padding:0!important;border-radius:11px!important;border:1px solid rgba(224,191,111,.32)!important;background:linear-gradient(180deg,rgba(18,31,38,.98),rgba(4,12,16,.98))!important;color:#ead18c!important;font-size:20px;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 5px 14px rgba(0,0,0,.35)}

.mp-real-room .poker-felt.premium-felt{top:11.5%;bottom:8.5%;left:4.5%;right:4.5%;border:14px solid transparent;border-radius:47% / 32%;background:
  radial-gradient(ellipse at 50% 18%,rgba(80,193,207,.11),transparent 31%),
  repeating-radial-gradient(circle at 38% 42%,rgba(255,255,255,.012) 0 1px,rgba(0,0,0,.012) 1px 3px),
  radial-gradient(ellipse at 50% 45%,#126477 0%,#0b5265 34%,#083f50 62%,#052a36 82%,#03171f 100%) padding-box,
  linear-gradient(140deg,#071117,#26333a 18%,#020507 43%,#324149 66%,#05090c 84%) border-box;
  box-shadow:0 22px 60px rgba(0,0,0,.8),0 0 0 2px rgba(229,190,100,.16),inset 0 0 0 2px rgba(255,255,255,.025),inset 0 0 65px rgba(0,0,0,.38)}
.mp-real-room .poker-felt.premium-felt:before{inset:7.5%;border:1px solid rgba(171,227,233,.10);box-shadow:inset 0 0 30px rgba(0,0,0,.15)}
.mp-real-room .poker-felt.premium-felt:after{content:"";position:absolute;inset:-11px;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.11),inset 0 -4px 9px rgba(0,0,0,.7)}
.felt-rail-glow{position:absolute;inset:-4px;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 0 22%,rgba(218,181,92,.08) 31%,transparent 39% 66%,rgba(91,201,216,.06) 73%,transparent 82%)}
.mp-real-room .felt-brand{top:58%;font-size:28px;color:rgba(220,240,244,.105);text-shadow:0 1px 0 rgba(255,255,255,.03)}
.mp-real-room .felt-brand small{font-size:15px;letter-spacing:3px;color:rgba(220,240,244,.10)}
.mp-real-room .felt-brand em{margin-top:44px;color:rgba(220,240,244,.24)}

/* El bote se lee arriba y se representa otra vez con fichas debajo del board. */
.mp-real-room .pot-total-top{position:absolute;left:50%;top:37.2%;transform:translate(-50%,-50%);z-index:8;text-align:center;min-width:110px;background:rgba(2,15,20,.60);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:5px 12px 6px;box-shadow:0 5px 14px rgba(0,0,0,.25)}
.mp-real-room .pot-total-top small{display:block;color:#a9c0c7;font-size:9px}.mp-real-room .pot-total-top b{display:block;color:#f0ca69;font-size:20px;line-height:1.05}
.mp-real-room .community-cards{top:46.4%;z-index:9}
.mp-real-room .pot-chip-bottom{position:absolute;left:50%;top:54.8%;transform:translate(-50%,-50%);z-index:8;text-align:center;min-height:42px;pointer-events:none}
.mp-real-room .pot-chip-bottom .pot-chip-stack{margin:0 auto 2px;height:24px}.mp-real-room .pot-chip-bottom>b{display:inline-block;min-width:30px;padding:1px 7px;border-radius:9px;background:rgba(1,12,16,.84);color:#e8f0f2;font-size:10px;box-shadow:0 2px 5px rgba(0,0,0,.35)}
.mp-real-room .pot-chip-bottom .pot-chip{width:18px;height:18px}

/* Asientos de espectador estilo mesa física. */
.take-seat{position:absolute;z-index:18;width:62px;height:62px;border-radius:50%;border:1.5px solid rgba(236,241,243,.9);background:radial-gradient(circle at 45% 35%,#10171b,#020405 72%);color:#d7dcdf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0;box-shadow:0 6px 18px rgba(0,0,0,.55),inset 0 0 0 2px rgba(255,255,255,.025)}
.take-seat i{font-style:normal;font-size:14px;color:#88979d;line-height:10px}.take-seat span{font-size:9px;font-weight:800;line-height:.95;margin-top:4px}.take-seat:active{transform:scale(.95)}
.take-top{left:50%;top:-17px;transform:translateX(-50%)}.take-right-top{right:-26px;top:21%}.take-right-bottom{right:-26px;bottom:24%}.take-bottom{left:50%;bottom:-23px;transform:translateX(-50%)}.take-left-bottom{left:-26px;bottom:24%}.take-left-top{left:-26px;top:21%}
.spectator-hint{position:absolute;left:50%;bottom:8%;transform:translateX(-50%);z-index:17;background:rgba(2,14,18,.78);border:1px solid rgba(221,187,105,.2);border-radius:12px;padding:6px 12px;color:#8fa6ae;font-size:9px;white-space:nowrap}

/* Historial de manos */
.hand-history-backdrop{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.58);backdrop-filter:blur(2px)}
.hand-history-sheet{position:fixed;z-index:301;right:0;top:0;bottom:0;width:min(92vw,430px);background:linear-gradient(180deg,#08141b,#04090d);border-left:1px solid rgba(228,191,102,.24);box-shadow:-22px 0 60px rgba(0,0,0,.65);display:flex;flex-direction:column;animation:historyIn .24s ease-out both}@keyframes historyIn{from{transform:translateX(100%)}to{transform:none}}
.hand-history-title{padding:20px 18px 13px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.07)}.hand-history-title small{color:#6f8792;font-size:10px}.hand-history-title h3{margin:2px 0 0;font-size:20px}.hand-history-title button{border:0;background:#111f27;color:#dbe6e9;border-radius:10px;width:36px;height:36px;font-size:22px}.hand-history-scroll{overflow:auto;padding:12px 13px 40px}.history-hand{border:1px solid rgba(255,255,255,.07);background:#0a1820;border-radius:14px;padding:11px;margin-bottom:10px}.history-hand-head{display:flex;justify-content:space-between;align-items:center}.history-hand-head b{font-size:13px;color:#e7eef0}.history-hand-head span{font-size:11px;color:#e6c66f}.history-board{display:flex;gap:4px;margin:9px 0;min-height:31px;align-items:center}.history-board small{color:#657c86}.history-card{width:24px;height:31px;border-radius:4px;background:#f0f1ee;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 4px rgba(0,0,0,.35)}.history-card.red{color:#bf2e35}.history-card b{font-size:10px}.history-card i{font-style:normal;font-size:10px}.history-winner{color:#88d6bd;font-size:10px;margin-bottom:7px}.history-actions{display:grid;gap:3px}.history-actions span{font-size:9px;color:#9fb0b6;background:#071117;border-radius:7px;padding:5px 7px}.history-actions em{font-style:normal;color:#627c87;margin-right:5px}.history-actions b{color:#dbe5e8;margin-right:4px}.history-empty{padding:80px 15px;text-align:center;color:#6c818a}

/* Vista previa del lobby: más definida y con profundidad. */
.table-expanded.visual-preview{background:linear-gradient(180deg,rgba(7,23,33,.98),rgba(4,14,21,.98));border-top:1px solid rgba(255,255,255,.045)}
.mini-felt{background:radial-gradient(ellipse at 50% 22%,rgba(67,190,208,.12),transparent 27%),repeating-radial-gradient(circle at 30% 40%,rgba(255,255,255,.013) 0 1px,transparent 1px 3px),radial-gradient(ellipse at 50% 44%,#12687a 0%,#0a4e61 52%,#053444 77%,#031820 100%)!important;border:8px solid #05090c!important;box-shadow:0 13px 30px rgba(0,0,0,.55),0 0 0 1px rgba(220,185,100,.22),inset 0 0 45px rgba(0,0,0,.22)!important}
.mini-seat-empty{width:40px;height:40px;border:1px solid rgba(224,230,232,.55);background:radial-gradient(circle,#0e171b,#030607 72%);color:#87989f}.mini-seat-empty span{font-size:21px;font-weight:300}

@media(max-width:420px){
  .mp-real-room .poker-felt.premium-felt{left:3%;right:3%;top:12.3%;bottom:9.2%;border-width:12px}
  .mp-real-room .pot-total-top{top:38.2%}.mp-real-room .community-cards{top:47%}.mp-real-room .pot-chip-bottom{top:55.2%}
  .take-seat{width:56px;height:56px}.take-seat span{font-size:8px}.take-right-top,.take-right-bottom{right:-23px}.take-left-top,.take-left-bottom{left:-23px}
  .hand-history-btn{width:33px;height:33px}.room-right-tools{gap:8px!important}
}


/* v44 — controles de cambio TRÍO online */
.mp-draw-controls{position:absolute;right:22px;bottom:18px;z-index:35;width:min(290px,44vw);padding:10px;border:1px solid rgba(224,190,112,.28);border-radius:20px;background:rgba(4,19,28,.96);box-shadow:0 18px 50px rgba(0,0,0,.38);display:grid;gap:8px}
.mp-draw-controls>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mp-draw-wide,.mp-draw-card{min-height:52px;border-radius:14px;border:1px solid rgba(176,205,220,.2);background:#102a38;color:#e9f2f6;font-weight:700}.mp-draw-wide.primary{background:linear-gradient(180deg,#155579,#0c3d58);border-color:#4389b3}.mp-draw-card{display:flex;align-items:center;justify-content:center;gap:8px}.mp-draw-card b{font-size:20px;background:#f6f4ed;color:#121820;padding:5px 8px;border-radius:7px;box-shadow:0 2px 5px #0005}.mp-draw-card b.red{color:#c73338}
@media(max-width:520px){.mp-draw-controls{width:55vw;right:12px;bottom:12px}.mp-draw-card span{font-size:12px}.mp-draw-card b{font-size:16px}}

/* v45 — cambio de cartas TRÍO visible y suave */
.hole-card.mp-draw-away{
  animation:mpDrawAway .9s cubic-bezier(.2,.7,.25,1) forwards!important;
  transform-origin:center center;
}
.hole-card.mp-draw-arrive{
  animation:mpDrawArrive .78s cubic-bezier(.16,.8,.25,1) both!important;
}
.poker-seat .hole-card:nth-child(2).mp-draw-away{animation-delay:.22s!important}
.poker-seat .hole-card:nth-child(2).mp-draw-arrive{animation-delay:.42s!important}
@keyframes mpDrawAway{
  0%{transform:translate(0,0) rotate(0);opacity:1}
  58%{transform:translate(12px,-16px) rotate(7deg);opacity:.45}
  100%{transform:translate(32px,-42px) rotate(16deg) scale(.82);opacity:0}
}
@keyframes mpDrawArrive{
  0%{transform:translate(-28px,-42px) rotate(-14deg) scale(.8);opacity:0}
  55%{opacity:1}
  100%{transform:translate(0,0) rotate(0) scale(1);opacity:1}
}

/* Malecón v46 — buy-in online, recarga y reparto TRÍO más humano */
.mp-buyin-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:180;backdrop-filter:blur(3px)}
.mp-buyin-sheet{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:181;width:min(92vw,420px);padding:18px;border-radius:24px;border:1px solid rgba(229,194,111,.38);background:linear-gradient(180deg,#0b202b,#06131b);box-shadow:0 26px 70px rgba(0,0,0,.58);color:#eef4f6}
.mp-buyin-head{display:flex;align-items:center;justify-content:space-between}.mp-buyin-head small{color:#d8b967;letter-spacing:.12em;font-weight:800}.mp-buyin-head h3{margin:3px 0 0;font-size:20px}.mp-buyin-head button{width:38px;height:38px;border:0;border-radius:50%;background:#132d39;color:#fff;font-size:24px}
.mp-buyin-bal,.mp-buyin-current{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding:12px 14px;border-radius:14px;background:#0b1c25;color:#91a9b3}.mp-buyin-bal b,.mp-buyin-current b{color:#eef5f7;font-size:17px}
.mp-buyin-value{text-align:center;padding:18px 0 10px}.mp-buyin-value small{display:block;color:#8ca5af}.mp-buyin-value strong{display:block;color:#efd081;font-size:34px;margin-top:3px}
.mp-buyin-range{width:100%;accent-color:#d6b15c}.mp-buyin-limits{display:flex;justify-content:space-between;color:#718c97;font-size:11px;margin:6px 2px 15px}.mp-buyin-confirm{width:100%;min-height:52px;border:0;border-radius:16px;background:linear-gradient(135deg,#d0a84e,#f1d07d);color:#111;font-size:16px;font-weight:850}
.mp-reload-warning{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:100;width:min(88%,340px);padding:12px;border-radius:17px;background:rgba(4,20,28,.96);border:1px solid rgba(230,191,101,.4);text-align:center}.mp-reload-warning b,.mp-reload-warning span{display:block}.mp-reload-warning span{margin:5px 0 9px;color:#89a2ad;font-size:11px}.mp-reload-warning>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mp-reload-warning button{padding:10px;border-radius:11px;border:1px solid #527485;background:#123344;color:#fff}.mp-reload-warning button.stand{background:#3b171b;border-color:#713239}
.mp-real-room .mp-deal-hole{animation-duration:.86s!important;animation-timing-function:cubic-bezier(.16,.72,.2,1)!important}
.mp-real-room .mp-deal-hole>.playing-card{animation:mpHoleFlip .58s ease both;animation-delay:calc(var(--mp-delay) + 420ms);transform-style:preserve-3d}
@keyframes mpHoleFlip{0%,45%{filter:brightness(.45);transform:rotateY(90deg)}100%{filter:brightness(1);transform:rotateY(0)}}
.mp-flip-hole{perspective:500px}.mp-flip-hole .mp-hole-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:mpHoleTurn .72s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--mp-delay) + 480ms)}
.mp-flip-hole .mp-hole-back,.mp-flip-hole .mp-hole-front{position:absolute;inset:0;backface-visibility:hidden}.mp-flip-hole .mp-hole-back{transform:rotateY(0)}.mp-flip-hole .mp-hole-front{transform:rotateY(180deg)}
@keyframes mpHoleTurn{0%,28%{transform:rotateY(0)}100%{transform:rotateY(180deg)}}

/* v47 */
.hold-hint{display:block!important;color:#5f7684!important;font-size:8px!important;margin-top:2px}.manage-table-name{padding:12px;border-radius:14px;background:#0b1922;border:1px solid rgba(255,255,255,.07);color:#dce7ec}.manage-table-name small{color:#7e929e}.btn-danger{width:100%;margin-top:10px;padding:12px;border-radius:12px;border:1px solid rgba(255,92,92,.4);background:linear-gradient(180deg,#411d24,#251117);color:#ffb4b4;font-weight:800}.mp-real-room .mp-real-actions{grid-template-columns:1fr 96px;grid-template-rows:auto auto;gap:6px 8px}.mp-real-room .mp-real-actions .main-actions{grid-column:1;grid-row:2}.mp-real-room .mp-real-actions .quick-bets{grid-column:2;grid-row:1/3}.custom-bet-strip{grid-column:1;grid-row:1;padding:7px 8px;border:1px solid rgba(231,198,126,.24);border-radius:10px;background:rgba(5,16,22,.92)}.custom-bet-top{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;font-size:8px;color:#7f919b}.custom-bet-top b{color:#f1ce7d;font-size:12px}.custom-bet-top em{font-style:normal;color:#c7d1d6}.custom-bet-strip input[type=range]{width:100%;height:20px;accent-color:#e4bc62}.custom-bet-strip>button{width:100%;padding:7px!important;min-height:0!important;margin-top:2px;color:#f3d487!important;background:linear-gradient(180deg,#173d49,#0b2731)!important}.dealing-now{animation:dealingPulse 1s ease-in-out infinite alternate}@keyframes dealingPulse{from{opacity:.62}to{opacity:1}}@media(max-width:390px){.mp-real-room .mp-real-actions{width:82%;grid-template-columns:1fr 88px}.custom-bet-strip{padding:6px}}

/* Malecón v48 — reparto sincronizado desde el mazo + privacidad de club */
.mp-card-pending{opacity:0!important;visibility:hidden!important}
.mp-card-flight{position:absolute;left:50%;top:29%;width:31px;height:44px;z-index:95;perspective:650px;pointer-events:none;transform:translate(-50%,-50%);animation:mpFlyFromDeck .78s cubic-bezier(.18,.7,.22,1) both}
.mp-card-flight .mp-flight-inner{position:absolute;inset:0;transform-style:preserve-3d}
.mp-card-flight.reveal .mp-flight-inner{animation:mpPrivateReveal .78s cubic-bezier(.2,.72,.2,1) both}
.mp-card-flight .mp-flight-back,.mp-card-flight .mp-flight-front{position:absolute;inset:0;backface-visibility:hidden}
.mp-card-flight .mp-flight-front{transform:rotateY(180deg)}
.mp-card-flight .playing-card{width:31px!important;height:44px!important;padding:3px!important}
.mp-card-flight .card-corner b{font-size:10px!important}.mp-card-flight .card-corner span{font-size:8px!important}.mp-card-flight .card-center-suit{font-size:20px!important}
.mp-card-flight.to-seat-me{--deal-x:-33vw;--deal-y:54vh}
.mp-card-flight.to-seat-top{--deal-x:0vw;--deal-y:-20vh}
.mp-card-flight.to-seat-right-top{--deal-x:39vw;--deal-y:-5vh}
.mp-card-flight.to-seat-right{--deal-x:40vw;--deal-y:22vh}
.mp-card-flight.to-seat-left{--deal-x:-40vw;--deal-y:22vh}
.mp-card-flight.to-seat-left-top{--deal-x:-39vw;--deal-y:-5vh}
@keyframes mpFlyFromDeck{0%{transform:translate(-50%,-50%) scale(.94) rotate(-2deg);opacity:.96}12%{opacity:1}72%,100%{transform:translate(calc(-50% + var(--deal-x)),calc(-50% + var(--deal-y))) scale(1) rotate(1deg);opacity:1}}
@keyframes mpPrivateReveal{0%,66%{transform:rotateY(0)}100%{transform:rotateY(180deg)}}
@media(max-width:420px){.mp-card-flight.to-seat-me{--deal-x:-31vw;--deal-y:52vh}.mp-card-flight.to-seat-right-top{--deal-x:38vw}.mp-card-flight.to-seat-left-top{--deal-x:-38vw}.mp-card-flight.to-seat-right{--deal-x:39vw}.mp-card-flight.to-seat-left{--deal-x:-39vw}}


/* Malecón v49 — reparto ligeramente más ágil + apuesta manual reordenada */
.mp-card-flight{animation-duration:.64s}
.mp-card-flight.reveal .mp-flight-inner{animation-duration:.64s}
.mp-real-room .mp-real-actions{bottom:-8%;right:-1%;width:78%}
.custom-bet-strip{padding:6px 8px 7px;overflow:hidden}
.custom-bet-strip .mp-custom-bet-range{display:block;width:100%;height:18px;margin:0 0 3px;accent-color:#e4bc62}
.custom-bet-top{margin:0 1px 3px}
.custom-bet-strip>button{margin-top:0!important}
@media(max-width:390px){.mp-real-room .mp-real-actions{bottom:-8.5%;width:84%;right:-1%}.custom-bet-strip{padding:5px 7px 6px}.custom-bet-strip .mp-custom-bet-range{height:17px}}

/* Malecón v50 — espera real de 2 jugadores + controles de apuesta ajustados */
.mp-real-room .mp-real-actions{
  bottom:-4.7%;
  right:-1%;
  width:78%;
}
.mp-real-room .custom-bet-strip{
  margin-left:30px;
  width:calc(100% - 30px);
  padding:6px 8px 7px;
}
.mp-real-room .custom-bet-strip>.mp-custom-bet-btn{
  display:block;
  width:100%;
  margin:0 0 4px!important;
  padding:8px 7px!important;
  min-height:0!important;
}
.mp-real-room .custom-bet-strip .custom-bet-top{
  margin:0 1px 2px;
}
.mp-real-room .custom-bet-strip .mp-custom-bet-range{
  display:block;
  width:100%;
  height:18px;
  margin:0;
}
@media(max-width:390px){
  .mp-real-room .mp-real-actions{bottom:-5.1%;width:82%;right:-1%}
  .mp-real-room .custom-bet-strip{margin-left:27px;width:calc(100% - 27px);padding:5px 7px 6px}
  .mp-real-room .custom-bet-strip>.mp-custom-bet-btn{padding:7px 6px!important;margin-bottom:3px!important}
}


/* Malecón v51 — solo baja ligeramente el bloque de apuesta manual.
   Los botones 33/50/75/100 y No ir/Igualar conservan exactamente su posición v50. */
.mp-real-room .custom-bet-strip{
  position:relative;
  top:10px;
}
@media(max-width:390px){
  .mp-real-room .custom-bet-strip{top:9px}
}

/* Malecón v52 — navegación interna limpia + reparto más rápido y fluido */
.app-shell.no-bottom-nav .content{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.stand-seat-btn{border:1px solid rgba(226,104,104,.32)!important;background:rgba(65,22,27,.9)!important;color:#ffc0c0!important;border-radius:10px!important;padding:7px 9px!important;font-size:9px!important;font-weight:800!important;white-space:nowrap}
.mp-card-flight{animation-duration:.42s!important;animation-timing-function:cubic-bezier(.17,.78,.25,1)!important;will-change:transform,opacity}
.mp-card-flight.reveal .mp-flight-inner{animation-duration:.42s!important;animation-timing-function:cubic-bezier(.22,.72,.22,1)!important;will-change:transform}
@keyframes mpFlyFromDeck{0%{transform:translate(-50%,-50%) scale(.94) rotate(-2deg);opacity:.94}18%{opacity:1}100%{transform:translate(calc(-50% + var(--deal-x)),calc(-50% + var(--deal-y))) scale(1) rotate(.6deg);opacity:1}}
@keyframes mpPrivateReveal{0%,58%{transform:rotateY(0)}100%{transform:rotateY(180deg)}}
@media(max-width:420px){.stand-seat-btn{padding:6px 7px!important;font-size:8px!important}.room-right-tools{gap:5px!important}}

/* Malecón V53 — navegación directa, historial visual, asientos compactos y apuesta manual por gesto */

/* Asientos: cartas delante, avatar parcialmente oculto y caja compacta nombre/saldo */
.mp-real-room .poker-seat.v53-seat{
  width:94px;
  min-height:43px;
  padding:0;
  border-radius:10px;
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.mp-real-room .poker-seat.v53-seat .seat-info-box{
  position:relative;
  z-index:2;
  min-height:40px;
  padding:7px 6px 5px 33px;
  border-radius:8px;
  background:linear-gradient(180deg,rgba(17,24,29,.98),rgba(5,10,14,.98));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 6px 13px rgba(0,0,0,.55);
  text-align:left;
}
.mp-real-room .poker-seat.v53-seat.me .seat-info-box{border-color:rgba(229,189,92,.65);box-shadow:0 0 0 1px rgba(229,189,92,.16),0 6px 13px rgba(0,0,0,.55)}
.mp-real-room .poker-seat.v53-seat .seat-info-box>b{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:0 1px 4px;
  border-bottom:1px solid rgba(255,255,255,.12);
  color:#f0f2f2;
  font-size:9px;
  line-height:1.05;
}
.mp-real-room .poker-seat.v53-seat .seat-info-box>span{
  display:flex;
  align-items:center;
  gap:4px;
  padding:4px 1px 0;
  margin:0;
  color:#70cdf3;
  font-size:11px;
  font-weight:900;
  line-height:1;
}
.mp-real-room .poker-seat.v53-seat .seat-avatar{
  position:absolute;
  z-index:3;
  left:3px;
  top:-11px;
  width:39px;
  height:39px;
  margin:0;
  border:2px solid #c5c8ca;
  background:#111;
  box-shadow:0 3px 8px rgba(0,0,0,.65);
}
.mp-real-room .poker-seat.v53-seat.me .seat-avatar{border-color:#e3bf66}
.mp-real-room .poker-seat.v53-seat .seat-cards{
  z-index:5;
  top:-38px;
  left:61%;
  gap:0;
}
.mp-real-room .poker-seat.v53-seat .seat-cards .hole-card{margin-left:-6px}
.mp-real-room .poker-seat.v53-seat .seat-cards .hole-card:first-child{margin-left:0}
.mp-real-room .poker-seat.v53-seat .seat-cards .playing-card{box-shadow:0 2px 5px rgba(0,0,0,.65);border:1px solid rgba(30,30,30,.25)}
.mp-real-room .poker-seat.v53-seat.turn .seat-info-box{box-shadow:0 0 0 2px #e4bd60,0 0 19px rgba(228,189,96,.48),0 6px 13px rgba(0,0,0,.55)}
.mp-real-room .poker-seat.v53-seat.turn{animation:none;box-shadow:none}
.mp-real-room .poker-seat.v53-seat .turn-clock{left:3px;right:3px;bottom:-8px}
.mp-real-room .poker-seat.v53-seat .private-hand-label{bottom:-28px}
.mp-real-room .poker-seat.v53-seat .win-badge{top:-20px;left:56%;z-index:8;font-size:20px}
.mp-real-room .poker-seat.v53-seat .winner-gain{
  position:absolute;
  z-index:9;
  left:50%;
  top:-69px;
  transform:translateX(-50%);
  padding:2px 7px;
  border-radius:10px;
  color:#f2cf71;
  background:rgba(6,12,15,.83);
  border:1px solid rgba(239,202,103,.36);
  font-size:13px;
  font-weight:1000;
  white-space:nowrap;
  text-shadow:0 0 8px rgba(241,188,62,.55);
  animation:v53GainPop .5s cubic-bezier(.18,.9,.2,1.2) both;
}
@keyframes v53GainPop{from{opacity:0;transform:translate(-50%,10px) scale(.75)}to{opacity:1;transform:translate(-50%,0) scale(1)}}

/* Fichas del bote hacia el ganador en multijugador */
.mp-payout-flight{
  position:absolute;
  left:50%;
  top:50%;
  z-index:96;
  display:flex;
  align-items:center;
  gap:5px;
  pointer-events:none;
  transform:translate(-50%,-50%);
  animation:v53PayoutFly .9s cubic-bezier(.18,.76,.22,1) forwards;
  filter:drop-shadow(0 0 10px rgba(239,198,92,.65));
}
.mp-payout-flight .mp-payout-chips{display:flex;align-items:center}
.mp-payout-flight i{display:block;width:18px;height:18px;margin-left:-7px;border-radius:50%;border:2px dashed #fff;background:radial-gradient(circle at 35% 30%,#fff 0 8%,#d94a55 9% 40%,#731923 41% 100%)}
.mp-payout-flight i:nth-child(2){background:radial-gradient(circle at 35% 30%,#fff 0 8%,#2585cf 9% 40%,#123c69 41% 100%);transform:translateY(-5px)}
.mp-payout-flight i:nth-child(3){background:radial-gradient(circle at 35% 30%,#fff 0 8%,#222 9% 40%,#050505 41% 100%)}
.mp-payout-flight>b{color:#f2ce6f;background:rgba(4,9,12,.9);border-radius:9px;padding:2px 5px;font-size:10px;white-space:nowrap}
.mp-payout-flight.to-seat-me{--pay-x:-34vw;--pay-y:42vh}
.mp-payout-flight.to-seat-top{--pay-x:0vw;--pay-y:-40vh}
.mp-payout-flight.to-seat-right-top{--pay-x:41vw;--pay-y:-18vh}
.mp-payout-flight.to-seat-right{--pay-x:41vw;--pay-y:3vh}
.mp-payout-flight.to-seat-left{--pay-x:-41vw;--pay-y:3vh}
.mp-payout-flight.to-seat-left-top{--pay-x:-41vw;--pay-y:-18vh}
@keyframes v53PayoutFly{0%{opacity:0;transform:translate(-50%,-50%) scale(.75)}12%{opacity:1}82%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--pay-x)),calc(-50% + var(--pay-y))) scale(.92)}}

/* Historial visual: una mano por pantalla, cartas/jugadores y calles compactas */
.hand-history-sheet.history-v53{width:min(100vw,520px);background:linear-gradient(180deg,#071219,#02070a)}
.history-v53 .hand-history-scroll{padding:12px 12px 82px;overflow:auto}
.history-focus{border:1px solid rgba(231,198,126,.16);background:linear-gradient(180deg,#0b1820,#071116);border-radius:17px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.history-focus-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.history-focus-head>b{font-size:14px}.history-focus-head>span{font-size:12px;color:#e7c66e}
.history-focus-board{display:flex;justify-content:center;gap:4px;min-height:50px;align-items:center;margin:5px 0 8px}.history-focus-board .history-card{width:36px;height:48px;border-radius:6px}.history-focus-board .history-card b{font-size:14px}.history-focus-board .history-card i{font-size:15px}.history-focus-board>small{color:#677b84}
.history-focus-winner{text-align:center;color:#e7ca79;font-size:11px;font-weight:800;margin:7px 0 11px;padding:6px;border-radius:9px;background:rgba(231,198,126,.07)}
.history-players{display:grid;gap:6px;margin-bottom:11px}.history-player{display:grid;grid-template-columns:31px 1fr auto;gap:7px;align-items:center;padding:6px 7px;border-radius:10px;background:#071116;border:1px solid rgba(255,255,255,.05)}.history-player.winner{border-color:rgba(105,207,156,.35);background:rgba(29,95,70,.15)}.history-player.folded{opacity:.55}.history-player-avatar{width:31px;height:31px;border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.15)}.history-player-avatar img{width:100%;height:100%;object-fit:cover}.history-player-copy b{display:block;font-size:10px}.history-player-copy small{display:block;color:#69808a;font-size:8px;margin-top:2px}.history-hole{display:flex;gap:2px}.history-card.small{width:23px;height:31px}.history-card.small b,.history-card.small i{font-size:9px}
.history-streets{display:grid;grid-template-columns:repeat(5,minmax(92px,1fr));gap:4px;overflow-x:auto;padding:2px 0 8px;scroll-snap-type:x proximity}.history-street{min-height:175px;border-radius:10px;background:#10181d;border:1px solid rgba(255,255,255,.07);overflow:hidden;scroll-snap-align:start}.history-street>header{padding:7px 5px;text-align:center;background:#070b0e;border-bottom:1px solid rgba(255,255,255,.08)}.history-street>header b{font-size:9px;color:#dbe3e6}.history-street>div{display:grid;gap:5px;padding:6px 4px}.history-street>div>span{display:grid;gap:2px;padding:5px;border-radius:7px;background:#1a2024}.history-street strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#aebdc3}.history-street em{font-style:normal;font-size:8px;color:#f0d06e;background:#f1f1ec;border-radius:5px;padding:3px 4px;color:#202325;font-weight:800}.history-street>div>small{text-align:center;color:#596b73;padding:12px 0}
.history-pager{position:absolute;left:0;right:0;bottom:0;height:69px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;padding:7px 16px calc(7px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(3,9,12,.15),#03080b 32%);border-top:1px solid rgba(255,255,255,.06)}.history-pager>button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#0b1419;color:#e6edf0;font-size:22px}.history-pager>button:disabled{opacity:.25}.history-pager>div{text-align:center}.history-pager b{display:block;color:#9ad4bd;font-size:11px}.history-pager span{display:block;height:5px;margin:7px auto 0;max-width:240px;border-radius:5px;background:linear-gradient(90deg,#33b979,#d6dfe2)}

/* Apuesta manual por gesto: la caja v51 desaparece y queda una flecha compacta */
.mp-real-room .mp-real-actions.v53-actions{grid-template-columns:1fr 96px;grid-template-rows:auto auto;gap:6px 8px;overflow:visible}
.mp-real-room .v53-actions .main-actions{grid-column:1;grid-row:2;transition:opacity .16s ease,filter .16s ease}
.mp-real-room .v53-actions .quick-bets{grid-column:2;grid-row:1/3;transition:opacity .16s ease,filter .16s ease}
.manual-bet-launch{grid-column:1;grid-row:1;position:relative;display:flex;justify-content:flex-end;align-items:flex-end;min-height:43px;padding-right:4px;z-index:120}
.mp-bet-arrow{width:48px!important;height:40px!important;min-height:0!important;padding:0!important;border-radius:10px!important;border:1px solid rgba(231,198,126,.42)!important;background:linear-gradient(180deg,#17242a,#0b1216)!important;color:#edc95e!important;font-size:29px!important;line-height:35px!important;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 4px 14px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.06)!important}
.mp-bet-arrow:active{transform:translateY(1px);filter:brightness(1.15)}
.mp-bet-dragger{position:absolute;right:1px;bottom:0;width:78px;height:255px;display:none;z-index:140;pointer-events:none}.mp-bet-dragger.open{display:block}
.mp-bet-drag-track{position:absolute;right:18px;top:34px;bottom:44px;width:22px;border-radius:12px;background:rgba(49,70,60,.55);border:1px solid rgba(255,255,255,.15);overflow:hidden;box-shadow:0 0 0 4px rgba(0,0,0,.22)}.mp-bet-drag-fill{position:absolute;left:2px;right:2px;bottom:2px;height:0;border-radius:10px;background:linear-gradient(180deg,#f0d047,#ef9d19);box-shadow:0 0 12px rgba(244,183,52,.45)}.mp-bet-drag-knob{position:absolute;left:50%;bottom:4px;width:29px;height:29px;transform:translate(-50%,50%);border-radius:50%;background:radial-gradient(circle,#f6f6f4 0 36%,#292d2f 38% 52%,#e5e8e8 54% 58%,#171a1b 60%);box-shadow:0 2px 8px rgba(0,0,0,.7)}
.mp-bet-drag-label{position:absolute;right:45px;top:7px;width:89px;padding:6px 7px;border-radius:13px;background:rgba(5,12,15,.94);border:1px solid rgba(230,195,99,.3);text-align:center;box-shadow:0 5px 16px rgba(0,0,0,.5)}.mp-bet-drag-label small,.mp-bet-drag-label b,.mp-bet-drag-label em{display:block}.mp-bet-drag-label small{font-size:8px;color:#cdd6d9}.mp-bet-drag-label b{font-size:16px;color:#f0cc67;line-height:1.05}.mp-bet-drag-label em{font-style:normal;font-size:8px;color:#9eabb0}.mp-bet-drag-hint{position:absolute;right:0;bottom:9px;color:#8a9aa0;font-size:7px;white-space:nowrap}
.v53-actions.bet-drag-active .main-actions,.v53-actions.bet-drag-active .quick-bets{opacity:.08;filter:blur(1px);pointer-events:none}.v53-actions.bet-drag-active .mp-bet-arrow{opacity:.22}
@media(max-width:390px){.mp-real-room .mp-real-actions.v53-actions{grid-template-columns:1fr 88px}.manual-bet-launch{padding-right:1px}.mp-bet-arrow{width:45px!important;height:38px!important}.mp-bet-dragger{height:235px}.history-streets{grid-template-columns:repeat(5,88px)}.mp-real-room .poker-seat.v53-seat{width:88px}.mp-real-room .poker-seat.v53-seat .seat-info-box{padding-left:31px}.mp-real-room .poker-seat.v53-seat .seat-avatar{width:36px;height:36px}}


/* Malecón V54 — ajustes finos de mesa + panel privado de administración */
/* Flecha de apuesta: misma posición horizontal de V53, una fila visual más abajo (alineada con 50%). */
.mp-real-room .manual-bet-launch{transform:translateY(48px)}
@media(max-width:390px){.mp-real-room .manual-bet-launch{transform:translateY(44px)}}

/* Asiento tipo compacto: las cartas cubren el avatar, nunca el nombre ni el saldo. */
.mp-real-room .poker-seat.v53-seat .seat-info-box{
  z-index:8;
  padding:6px 6px 5px;
  min-height:40px;
  text-align:center;
}
.mp-real-room .poker-seat.v53-seat .seat-info-box>b{font-size:9px;padding-bottom:4px}
.mp-real-room .poker-seat.v53-seat .seat-info-box>span{justify-content:center;font-size:11px}
.mp-real-room .poker-seat.v53-seat .seat-avatar{
  z-index:4;
  left:50%;
  top:-31px;
  width:43px;
  height:43px;
  transform:translateX(-50%);
}
.mp-real-room .poker-seat.v53-seat .seat-cards{
  z-index:6;
  left:50%;
  top:-48px;
  transform:translateX(-50%);
  justify-content:center;
}
.mp-real-room .poker-seat.v53-seat.has-cards .seat-avatar{opacity:.96}
.mp-real-room .poker-seat.v53-seat.no-cards .seat-avatar{top:-34px;z-index:7}
.mp-real-room .poker-seat.v53-seat.no-cards .seat-info-box{padding-top:10px}
.mp-real-room .poker-seat.v53-seat .seat-cards.many-cards{left:50%;top:-47px;transform:translateX(-50%)}
@media(max-width:390px){
  .mp-real-room .poker-seat.v53-seat .seat-info-box{padding:6px 5px 5px}
  .mp-real-room .poker-seat.v53-seat .seat-avatar{width:40px;height:40px;top:-29px}
  .mp-real-room .poker-seat.v53-seat .seat-cards{top:-45px}
}

/* Administración de la plataforma: visible únicamente para la cuenta de administrador validada por servidor. */
.app-admin-entry{border-color:rgba(229,189,92,.24);background:linear-gradient(180deg,rgba(31,28,19,.55),rgba(9,15,19,.96))}
.app-admin-entry .btn{margin-top:10px}
.app-admin-screen{padding:18px 18px 32px}
.admin-page-title{display:flex;align-items:center;gap:12px;margin-bottom:14px}.admin-page-title h1{margin:0}
.admin-back{border:1px solid rgba(255,255,255,.1);background:#0c171d;color:#dce5e8;border-radius:11px;padding:9px 12px}
.admin-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 20px}.admin-summary-grid>div{padding:12px 8px;border:1px solid rgba(231,198,126,.18);border-radius:13px;background:linear-gradient(180deg,#0d1a20,#081116);text-align:center}.admin-summary-grid small{display:block;color:#8598a1;font-size:9px}.admin-summary-grid b{display:block;color:#efcf78;font-size:22px;margin-top:4px}
.admin-search{margin-bottom:10px}.admin-user-list{padding:0;overflow:hidden}.admin-user-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border-bottom:1px solid rgba(255,255,255,.07)}.admin-user-row:last-child{border-bottom:0}.admin-user-main{min-width:0}.admin-user-main>b,.admin-user-main>span,.admin-user-main>small{display:block}.admin-user-main>b{font-size:12px;color:#eef3f5}.admin-user-main>b em{font-style:normal;font-size:7px;color:#151819;background:#e8c765;border-radius:5px;padding:2px 4px;margin-left:4px}.admin-user-main>span{font-size:10px;color:#8fd1ef;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-main>small{font-size:8px;color:#657a83;margin-top:3px}.admin-user-dates{text-align:right}.admin-user-dates small,.admin-user-dates b{display:block}.admin-user-dates small{font-size:7px;color:#657a83;margin-top:2px}.admin-user-dates b{font-size:8px;color:#aebbc0;margin:1px 0 4px}.admin-security-note{font-size:8px;color:#667b84;text-align:center;line-height:1.45;margin-top:10px}
@media(max-width:390px){.app-admin-screen{padding:14px 12px 28px}.admin-user-row{grid-template-columns:1fr}.admin-user-dates{text-align:left;display:grid;grid-template-columns:auto 1fr;gap:1px 6px}.admin-user-dates b{margin:0}}

/* Malecón V55 — avatar ligeramente mayor + reparto un poco más rápido */
/* Mantiene la estructura V54: cartas delante, nombre y saldo siempre visibles. */
.mp-real-room .poker-seat.v53-seat .seat-avatar{
  width:50px;
  height:50px;
  top:-36px;
}
.mp-real-room .poker-seat.v53-seat .seat-avatar.photo img{
  transform:scale(1.12);
  transform-origin:center;
}
.mp-real-room .poker-seat.v53-seat.no-cards .seat-avatar{top:-39px}
@media(max-width:390px){
  .mp-real-room .poker-seat.v53-seat .seat-avatar{width:47px;height:47px;top:-34px}
  .mp-real-room .poker-seat.v53-seat.no-cards .seat-avatar{top:-37px}
}
/* Vuelo de carta más breve, sin desacoplar sonido y aparición. */
.mp-real-room .mp-card-flight{animation-duration:.34s!important}
.mp-real-room .mp-card-flight.reveal .mp-flight-inner{animation-duration:.34s!important}


/* Malecón V55 FINAL — avatar protagonista con conjunto compacto + reparto ágil */
.mp-real-room .poker-seat.v53-seat .seat-avatar{
  width:60px;
  height:60px;
  top:-46px;
}
.mp-real-room .poker-seat.v53-seat .seat-avatar.photo img{
  width:100%;height:100%;object-fit:cover;border-radius:50%;
  transform:scale(1.08);transform-origin:center;
}
.mp-real-room .poker-seat.v53-seat.no-cards .seat-avatar{top:-49px}
@media(max-width:390px){
  .mp-real-room .poker-seat.v53-seat .seat-avatar{width:56px;height:56px;top:-43px}
  .mp-real-room .poker-seat.v53-seat.no-cards .seat-avatar{top:-46px}
}
.mp-real-room .mp-card-flight{animation-duration:.30s!important}
.mp-real-room .mp-card-flight.reveal .mp-flight-inner{animation-duration:.30s!important}


/* Malecón V56 — reparto/fichas desligados + cartas privadas por delante del perfil */
/* Mientras haya cartas privadas, la foto queda completamente detrás/oculta; nombre y saldo siguen visibles. */
.mp-real-room .poker-seat.v53-seat.has-cards .seat-avatar{
  opacity:0!important;
  visibility:hidden!important;
}
.mp-real-room .poker-seat.v53-seat.has-cards .seat-cards{
  z-index:10!important;
}
.mp-real-room .poker-seat.v53-seat .seat-info-box{
  z-index:12!important;
}

/* V58 final: profile/club identity + player stats */
.profile-create-photo,.club-cover-picker{display:flex;gap:14px;align-items:center;padding:14px;margin:10px 0 16px;border:1px solid rgba(230,190,80,.25);border-radius:16px;background:rgba(255,255,255,.025)}
.profile-create-preview{width:76px;height:76px;border-radius:50%;overflow:hidden;flex:0 0 auto;border:2px solid #d9b34c;background:#0c151b}.profile-create-preview img{width:100%;height:100%;object-fit:cover}
.profile-create-photo>div:last-child,.club-cover-picker>div:last-child{display:flex;flex-direction:column;gap:5px;min-width:0}.profile-create-photo small,.club-cover-picker small,.club-cover-once small{color:#91a0aa;line-height:1.35}
.photo-picker-btn{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;margin-top:7px;padding:8px 12px;border:1px solid #c9a645;border-radius:10px;color:#f2d77d;font-weight:800;cursor:pointer;background:rgba(203,166,69,.08)}.photo-picker-btn input,.profile-upload-btn input{display:none}
.club-cover-picker>img{width:104px;height:70px;border-radius:12px;object-fit:cover;border:1px solid rgba(230,190,80,.35);background:#091217}
.profile-lock-panel{margin-bottom:16px}.profile-upload-btn{display:flex!important;position:relative;overflow:hidden}.profile-fixed-note{padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.035);color:#99a7b0;font-size:12px;line-height:1.4}.club-cover-once{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;padding:13px;border:1px solid rgba(230,190,80,.22);border-radius:14px}
.player-stats-page{padding-bottom:28px}.player-stats-club{display:flex;align-items:center;gap:13px;padding:14px;margin-bottom:14px;border:1px solid rgba(230,190,80,.22);border-radius:18px;background:linear-gradient(145deg,rgba(17,30,38,.98),rgba(8,16,21,.98))}.player-stats-club img{width:72px;height:72px;border-radius:14px;object-fit:cover;border:1px solid rgba(230,190,80,.3)}.player-stats-club small{color:#d7b95e;font-weight:800;letter-spacing:.08em}.player-stats-club h2{margin:3px 0;font-size:18px}.player-stats-club span{color:#8797a2;font-size:12px}
.player-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.player-stat-grid>div{display:flex;flex-direction:column;gap:3px;padding:13px;border-radius:15px;background:#101b22;border:1px solid rgba(255,255,255,.055)}.player-stat-grid small{color:#8fa0aa}.player-stat-grid b{font-size:20px}.player-stat-grid span{font-size:11px;color:#83939d}.positive b,.positive{color:#58d8a1}.negative b,.negative{color:#ff7b7b}
.player-data-card{padding:6px 14px;margin-bottom:16px;border-radius:15px;background:#0e181e;border:1px solid rgba(255,255,255,.055)}.player-data-card>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.055)}.player-data-card>div:last-child{border-bottom:0}.player-data-card span{color:#8d9da7}.player-data-card b{text-align:right}
.player-hand-list{display:flex;flex-direction:column;gap:8px}.player-hand-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;border-radius:14px;background:#101b22;border:1px solid rgba(255,255,255,.055)}.player-hand-row>div{display:flex;flex-direction:column;gap:3px}.player-hand-row>div:last-child{text-align:right;flex:0 0 auto}.player-hand-row small{color:#8c9ba5;font-size:11px}


/* Malecón V59 — navegación global, torneos, Club Malecón y economía interna */
.v59-nav{grid-template-columns:repeat(5,1fr)!important;gap:0!important}.v59-nav .nav-item{font-size:9px!important;padding-left:2px!important;padding-right:2px!important}.v59-nav .nav-item span{font-size:21px!important}.v59-nav .nav-item:nth-child(3){white-space:nowrap;font-size:8px!important}
.v59-clean-top{min-height:58px}.v59-clean-profile{padding-right:0!important}.v59-clean-profile .profile-copy p{display:none}
.v59-page{min-height:100vh;padding:14px 14px 30px;background:radial-gradient(circle at 50% 0,rgba(16,57,68,.22),transparent 31%),#03090d;color:#eef3f5}.v59-page-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:14px}.v59-page-head h1{font-family:Georgia,serif;letter-spacing:.06em;color:#edc76b;text-align:center;font-size:20px;margin:0}.v59-page-head button{height:42px;border:0;background:transparent;color:#fff;font-size:30px}.v59-page-head i{display:block}
.v59-section-row{display:flex;justify-content:space-between;align-items:center;margin:8px 4px 10px}.v59-section-row h3{font-size:14px;margin:0}.v59-section-row span{font-size:9px;color:#4fe69d;background:#093622;padding:5px 8px;border-radius:7px}.v59-section-row.paid{margin-top:22px}.v59-section-row.paid span{color:#efc86a;background:transparent}
.v59-free-scroll{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x mandatory}.v59-t-card{scroll-snap-align:start;flex:0 0 142px;min-height:196px;padding:11px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#10191f,#081015);text-align:center;position:relative}.v59-t-card .v59-cup{font-size:42px}.v59-t-card>b,.v59-t-card>small{display:block}.v59-t-card>b{font-size:11px;margin:5px 0}.v59-t-card>small{font-size:8px;color:#57e692}.v59-prize{font-size:9px;color:#94a3ab;margin:9px 0 4px}.v59-prize strong{display:block;color:#efc86a;font-size:18px}.v59-count{color:#53ea8c;font-weight:800;margin:5px 0 8px}.v59-t-card .mini-btn{width:100%}.v59-edit{margin-top:6px;border:0;background:transparent;color:#d9b75d;font-size:9px}
.v59-paid-list{display:flex;flex-direction:column;gap:8px}.v59-paid-row{display:grid;grid-template-columns:44px minmax(0,1fr) 70px 34px auto;align-items:center;gap:8px;padding:10px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#0b141a}.v59-paid-icon{font-size:28px;color:#e4c267}.v59-paid-row .grow b,.v59-paid-row .grow small{display:block}.v59-paid-row .grow b{font-size:11px}.v59-paid-row .grow small{font-size:8px;color:#8999a2;margin-top:3px}.v59-paid-time{text-align:right}.v59-paid-time small,.v59-paid-time strong{display:block}.v59-paid-time small{font-size:7px;color:#59dd8c}.v59-paid-time strong{font-size:11px;color:#50e78a}.v59-paid-row>button{border:0;background:transparent;color:#d7e0e4;font-size:20px}
.v59-wallet-hero{padding:22px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:linear-gradient(135deg,#111a20,#090f13);margin-bottom:12px}.v59-wallet-hero small{color:#a0abb0}.v59-wallet-hero>div{display:flex;align-items:center;gap:10px;margin:8px 0}.v59-wallet-hero>div span{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:2px solid #e3b84f;color:#e9c360;font-size:28px}.v59-wallet-hero strong{font-size:34px;color:#efc460}.v59-wallet-hero p{margin:0;color:#a6b0b5}
.v59-wallet-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.v59-wallet-actions button{min-height:112px;border-radius:15px;border:1px solid rgba(255,255,255,.08);background:#0b141a;color:#e9eef0;padding:9px}.v59-wallet-actions span,.v59-wallet-actions b,.v59-wallet-actions small{display:block}.v59-wallet-actions span{font-size:31px;margin-bottom:7px;color:#59df91}.v59-wallet-actions b{font-size:9px}.v59-wallet-actions small{font-size:7px;color:#8c9aa2;margin-top:3px}
.v59-wallet-tabs{margin:15px 0 0;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-bottom:0;border-radius:15px 15px 0 0;background:#0b141a}.v59-wallet-tabs b{color:#e9c768;border-bottom:2px solid #d9ac42;padding-bottom:10px}.v59-history{border:1px solid rgba(255,255,255,.07);border-top:0;border-radius:0 0 15px 15px;background:#0b141a;padding:0 14px;margin-bottom:15px}.v59-history>div{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.v59-history>div:last-child{border-bottom:0}.v59-history span b,.v59-history span small{display:block}.v59-history span b{font-size:10px}.v59-history span small{font-size:8px;color:#809099;margin-top:3px}.v59-history>div>strong{font-size:12px}.v59-id-card{text-align:center;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#0b141a}.v59-id-card small{color:#7f9098}.v59-id-card strong{display:block;font-size:24px;color:#efc565;margin:7px}.v59-id-card p{font-size:9px;color:#87979f;margin:0}
@media(max-width:390px){.v59-nav .nav-item{font-size:7.5px!important}.v59-nav .nav-item:nth-child(3){font-size:6.8px!important}.v59-paid-row{grid-template-columns:38px minmax(0,1fr) 58px 26px auto;gap:5px}.v59-t-card{flex-basis:132px}.v59-wallet-actions button{padding:6px}.v59-wallet-actions b{font-size:8px}}

/* Malecón V60 — iconografía premium y editor avanzado de premios */
.v60-nav .nav-item{position:relative;overflow:visible}.v60-nav .nav-art{width:31px!important;height:31px!important;display:grid!important;place-items:center;margin:0 auto 3px!important;border-radius:10px;background:linear-gradient(145deg,rgba(235,196,105,.12),rgba(255,255,255,.015));border:1px solid rgba(235,196,105,.14);box-shadow:inset 0 1px rgba(255,255,255,.04)}.v60-nav .nav-art svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.v60-nav .nav-art svg path.ribbon{stroke-width:1.25}.v60-nav .nav-item.active .nav-art{background:linear-gradient(145deg,rgba(239,199,104,.24),rgba(239,199,104,.06));border-color:rgba(239,199,104,.45);box-shadow:0 0 16px rgba(222,176,69,.13),inset 0 1px rgba(255,255,255,.08)}.v60-nav .nav-item.active .nav-art svg{filter:drop-shadow(0 0 3px rgba(239,199,104,.25))}
.v59-wallet-actions .wallet-shop-icon{width:43px;height:43px;display:grid;margin:0 auto 5px!important;place-items:center;color:#e6bf5d!important}.v59-wallet-actions .wallet-shop-icon .nav-art{display:grid!important;width:40px!important;height:40px!important;place-items:center;margin:0!important}.v59-wallet-actions .wallet-shop-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v60-prizes{margin:15px 0;padding:13px;border:1px solid rgba(232,193,99,.22);border-radius:15px;background:linear-gradient(180deg,rgba(232,193,99,.055),rgba(255,255,255,.015))}.v60-prizes-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}.v60-prizes-head b{color:#edc76b;font-size:13px}.v60-prizes-head small{color:#829099;font-size:8px}.v60-prizes label{display:grid;grid-template-columns:1fr 90px 38px;align-items:center;gap:7px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.045)}.v60-prizes label span{font-size:10px;color:#dce3e6}.v60-prizes label input{height:34px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:#071015;color:#efc76a;text-align:right;padding:0 8px}.v60-prizes label em{font-style:normal;font-size:7px;color:#77868e}.v60-prize-summary{margin-top:10px;text-align:right;font-size:9px;color:#8e9ca3}.v60-prize-summary strong{color:#efc76a;font-size:13px}
/* V60: delegated application-manager permissions */
.admin-user-row.manager-row{grid-template-columns:minmax(0,1fr) minmax(150px,190px);align-items:start}
.manager-permissions{display:grid;gap:7px;padding:8px;border:1px solid rgba(230,194,105,.16);border-radius:10px;background:#081116}
.manager-permissions label{display:flex;gap:7px;align-items:center;color:#c9d3d7;font-size:9px;line-height:1.25}
.manager-permissions input{accent-color:#d9b55d}
.manager-permissions .mini-btn{margin-top:2px}
.manager-permissions.locked{color:#d9b55d;place-items:center;min-height:54px}
.manager-permissions.locked small{font-size:8px;text-align:center}
@media(max-width:520px){.admin-user-row.manager-row{grid-template-columns:1fr}.manager-permissions{margin-top:3px}}

/* V60 FINAL FIX - editor de torneos desplazable en móviles */
.modal{overflow:hidden}
.modal .sheet{
  max-height:calc(100dvh - max(12px, env(safe-area-inset-top)));
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
  scrollbar-width:thin;
}
.modal .sheet:after{content:"";display:block;height:8px}
@media(max-height:700px){
  .modal .sheet{max-height:96dvh;padding-top:16px}
}

/* Malecón V62 — acabado del reparto inicial estilo app profesional.
   La trayectoria principal la calcula JS contra la posición real del asiento.
   Estas reglas solo pulen la carta durante el vuelo y su aterrizaje. */
.mp-real-room .mp-card-flight{
  filter:drop-shadow(0 7px 7px rgba(0,0,0,.34));
  transform-origin:center center;
  backface-visibility:hidden;
  contain:layout style;
}
.mp-real-room .mp-card-flight .mp-flight-inner{
  transform-origin:center center;
  will-change:transform;
}
.mp-real-room .mp-card-flight.v62-landed{
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.28));
}
@media (prefers-reduced-motion:reduce){
  .mp-real-room .mp-card-flight{animation-duration:.01ms!important;filter:none}
}

/* V64 · Clubes inspirados en flujo móvil compacto */
.club-admin-menu-wrap{position:relative;margin-top:11px}.club-admin-main{width:100%;border:1px solid rgba(38,216,127,.35);background:#0c1716;color:#d8e6df;border-radius:12px;padding:10px 13px;font-weight:800;display:flex;align-items:center;gap:9px}.club-admin-main b{margin-left:auto;color:#42d88a}.club-admin-dropdown{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px;padding:8px;background:#0b1013;border:1px solid rgba(255,255,255,.07);border-radius:14px}.club-admin-dropdown button{border:0;background:#171c20;color:#d5dade;border-radius:10px;padding:11px 7px;font-size:11px}.club-admin-dropdown button:active{background:#203129}
.members-page{min-height:calc(100dvh - 90px)}.members-main-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #2a2f34;margin:0 -18px 18px}.members-main-tabs button{position:relative;border:0;background:transparent;color:#8e949b;padding:13px 5px;font-size:14px}.members-main-tabs button.active{color:#fff;font-weight:800;border-bottom:3px solid #20d67a}.members-main-tabs i{font-style:normal;font-size:10px;display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:#e64a3f;color:#fff;margin-left:4px}.requests-head{display:flex;justify-content:flex-end;align-items:center;gap:10px;color:#a4a8ad;font-size:13px;margin:8px 0 16px}.requests-list{min-height:55dvh}.request-card{display:flex;align-items:center;gap:10px;border-bottom:1px solid #252b30;padding:13px 0}.request-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#133125;color:#2ee788;font-size:24px}.request-card h4{margin:0 0 3px}.request-card p{margin:0;color:#777f86;font-size:11px}.request-card button{border:0;border-radius:9px;padding:8px 9px;font-size:11px}.request-approve{background:#0f6e43;color:#bff5d9}.request-reject{background:#5d1d24;color:#ffbec5}.requests-empty{min-height:58dvh;display:grid;place-items:center;color:#43484d}.request-bottom-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:sticky;bottom:76px}.request-bottom-actions button{border:0;border-radius:12px;padding:14px;font-weight:800}.reject-all{background:#641a25;color:#e9a2ab}.approve-all{background:#125c3c;color:#9dddbd}
.create-club-sheet{padding-bottom:4px}.create-club-sheet>h3{text-align:center;font-size:22px}.create-name input{font-size:16px;padding:16px}.create-logo-label{display:block;margin:16px 0 10px;font-weight:700}.club-logo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.club-logo-choice,.club-logo-upload{aspect-ratio:1;border-radius:15px;border:2px solid transparent;display:grid;place-items:center;overflow:hidden;position:relative}.club-logo-choice span{font-size:52px;line-height:1;text-shadow:0 10px 18px #000}.club-logo-choice.selected,.club-logo-upload.selected{border-color:#20df7b;box-shadow:0 0 0 2px rgba(32,223,123,.2)}.logo-club{background:linear-gradient(#0c5d22,#03180a);color:#75ed36}.logo-diamond{background:linear-gradient(#173c92,#071436);color:#4f7fff}.logo-heart{background:linear-gradient(#6d170c,#210502);color:#ff3a3a}.logo-spade{background:linear-gradient(#23292c,#07090a);color:#e3e7ed}.logo-j{background:linear-gradient(#6b125f,#25061f);color:#f2a2b8}.logo-q{background:linear-gradient(#14495b,#07161d);color:#d7ecf1}.logo-k{background:linear-gradient(#6a3718,#241006);color:#ffd18a}.club-logo-upload{border:1px solid #3a4147;background:#171b1e;color:#d6dadd;text-align:center;padding:8px;background-size:cover;background-position:center;cursor:pointer}.club-logo-upload span{font-size:32px;color:#aab3b9}.club-logo-upload b{font-size:12px}.club-logo-upload small{font-size:10px}.club-logo-upload input{display:none}.club-logo-upload.has-image>*:not(input){opacity:0}.create-club-confirm{margin-top:18px}
.club-created-page{min-height:calc(100dvh - 72px);position:relative;text-align:center;padding-bottom:86px}.club-created-page>h1{font-size:22px;margin:0}.created-back{position:absolute;left:0;top:-6px}.club-created-center{padding-top:72px}.club-created-center h2{font-size:38px;margin:0 0 24px}.club-created-center>p{font-size:18px;color:#b7bdc1;line-height:1.35}.club-created-card{width:min(330px,88%);margin:34px auto 0;border:1px solid #3a4147;border-radius:18px;padding:22px;background:#101417;display:flex;flex-direction:column;align-items:center}.club-created-card>b{font-size:20px}.club-created-card>span{color:#a6adb2;margin-top:3px}.club-created-card>img{width:180px;height:180px;object-fit:cover;border-radius:16px;margin:20px 0}.club-created-card hr{width:80%;border:0;border-top:1px solid #343a3f}.club-created-card>small{font-size:15px;margin:8px 0 12px}.created-leader{width:100%;display:flex;align-items:center;gap:10px;background:#1b2024;border-radius:999px;padding:7px 12px}.created-leader img{width:38px;height:38px;border-radius:50%;object-fit:cover}.created-leader b{margin:auto}.created-enter{position:fixed;left:18px;right:18px;bottom:78px;width:auto}
/* V65 · reservas, ajustes del club, uniones y fichas Malecón */
.compact-balances{gap:8px}.compact-balances .balance-pill{padding:7px 10px;min-height:42px;border-radius:12px;font-size:11px}.compact-balances .balance-pill span:nth-child(2){line-height:1.05}.compact-balances .mychips-pill b{font-size:12px}.infinity-chip.green{background:#0e7b43;border-color:#70f0a6;color:#fff;box-shadow:0 0 0 1px #07542e}.chip-yellow{width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;background:#d6a51f;border:3px dashed #fff0a7;box-shadow:0 0 0 1px #8d6a0d;color:#241b00;font-size:9px;font-weight:900}.wallet-yellow{width:44px!important;height:44px!important;border:3px dashed #fff0a7!important;color:#241b00!important;font-size:17px!important;background:#d6a51f!important}.club-settings-page{padding-bottom:90px}.settings-summary{display:flex;justify-content:space-between;align-items:center;padding:8px 3px 18px;color:#949da4}.settings-summary b{color:#edf0f1}.club-settings-list{overflow:hidden;border:1px solid #2a3035;border-radius:22px;background:#111416}.club-settings-list>button{width:100%;display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:10px;text-align:left;border:0;border-bottom:1px solid #282d31;background:transparent;color:#edf0f1;padding:15px 16px}.club-settings-list>button:last-child{border-bottom:0}.club-settings-list>button>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#1b2125;color:#b7c0c6;font-size:12px;font-weight:800}.club-settings-list>button div b,.club-settings-list>button div small{display:block}.club-settings-list>button div b{font-size:14px}.club-settings-list>button div small{margin-top:3px;color:#818b92;font-size:10px}.club-settings-list>button em{font-style:normal;color:#8f989e;font-size:22px}.club-settings-list .danger-row b{color:#f08a8a}.membership-history{max-height:55dvh;overflow:auto}.membership-history>div{padding:12px 2px;border-bottom:1px solid #2a3035}.membership-history b,.membership-history span,.membership-history small{display:block}.membership-history span,.membership-history small{color:#89949b;font-size:11px;margin-top:3px}.union-card,.level-card{padding:18px;border:1px solid #294036;border-radius:16px;background:#0d1814;margin:12px 0}.union-card b,.union-card span,.union-card small{display:block}.union-card b{font-size:20px;color:#47df92}.union-card span,.union-card small{margin-top:5px;color:#94a49c}.level-card strong{font-size:28px;color:#47df92}.level-card p{color:#8d9991;line-height:1.5}.chip-overview .infinity-chip.green{flex:0 0 auto}

/* ===== Malecón V66 ===== */
:root{--chip-blue:#1677d2;--chip-yellow:#d6a51f;--chip-green:#0e7b43}
.home-avatar-sub{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 auto}.home-avatar-sub .avatar{margin:0}.subscription-mini-link{border:1px solid rgba(231,197,117,.35);background:linear-gradient(180deg,#1b1810,#0f1113);color:#efcf80;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:800;white-space:nowrap;max-width:92px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 12px rgba(0,0,0,.22)}

/* Fichas más realistas y coherentes en toda la app */
.chip-blue,.chip-yellow,.infinity-chip.green,.blue-chip-dot{position:relative;overflow:hidden;isolation:isolate;box-sizing:border-box;border-radius:50%!important;box-shadow:0 1px 0 rgba(255,255,255,.34) inset,0 -2px 3px rgba(0,0,0,.34) inset,0 0 0 1px rgba(0,0,0,.55),0 2px 5px rgba(0,0,0,.3)!important}
.chip-blue,.chip-yellow,.infinity-chip.green{border-style:solid!important;border-width:2px!important}
.chip-blue:before,.chip-yellow:before,.infinity-chip.green:before,.blue-chip-dot:before{content:"";position:absolute;inset:1px;border-radius:50%;z-index:-1;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.9) 0 8deg,transparent 8deg 36deg);-webkit-mask:radial-gradient(circle,transparent 0 57%,#000 58% 100%);mask:radial-gradient(circle,transparent 0 57%,#000 58% 100%);opacity:.72}
.chip-blue{background:radial-gradient(circle at 34% 28%,#5fbfff 0 11%,#1d7ed8 12% 50%,#0a4c91 51% 77%,#07345f 78%)!important;border-color:#b9e2ff!important;color:#fff!important;text-shadow:0 1px 1px #00366a;font-family:Georgia,serif;font-weight:900;font-style:italic;transform:rotate(-2deg)}
.chip-yellow{background:radial-gradient(circle at 34% 28%,#ffe57a 0 11%,#e8b727 12% 50%,#b47c0d 51% 77%,#765008 78%)!important;border-color:#fff0a7!important;color:#2e2100!important;text-shadow:0 1px 0 rgba(255,255,255,.35);font-family:Georgia,serif;font-weight:900;font-style:italic;transform:rotate(2deg)}
.infinity-chip.green{background:radial-gradient(circle at 34% 28%,#53e894 0 11%,#139957 12% 50%,#08743f 51% 77%,#064a2b 78%)!important;border-color:#9dffc3!important;color:#fff!important;text-shadow:0 1px 1px #033d22;font-family:Georgia,serif;font-weight:900}
.blue-chip-dot{background:radial-gradient(circle at 34% 28%,#5fbfff 0 11%,#1d7ed8 12% 50%,#0a4c91 51% 77%,#07345f 78%)!important;border:1.5px solid #b9e2ff!important}
.blue-chip-dot:after{content:"M";position:absolute;inset:0;display:grid;place-items:center;color:white;font-family:Georgia,serif;font-size:6px;font-style:italic;font-weight:900;text-shadow:0 1px 1px #00366a}.blue-chip-dot.big:after{font-size:10px}.wallet-yellow{font-family:Georgia,serif!important;font-style:italic!important}

/* Tienda */
.v66-store{min-height:100dvh;padding:0 18px 90px;background:radial-gradient(circle at 50% -10%,rgba(179,133,38,.13),transparent 34%),linear-gradient(180deg,#070b0e,#0a1117 42%,#071017);color:#eef3f5}.store-balance{margin:8px 0 16px;border:1px solid rgba(231,197,117,.18);border-radius:20px;padding:16px;background:linear-gradient(135deg,#11171b,#0a1014);text-align:center}.store-balance small,.store-balance p{color:#82919b}.store-balance>div{display:flex;justify-content:center;align-items:center;gap:10px;margin:7px 0}.store-balance strong{font-size:30px}.store-featured{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:16px;border-radius:20px;border:1px solid rgba(232,194,105,.24);background:linear-gradient(145deg,#191812,#101418 60%,#0b1115);margin:12px 0;box-shadow:0 14px 34px rgba(0,0,0,.25)}.store-featured.design-pass{border-color:rgba(112,191,255,.24);background:linear-gradient(145deg,#101923,#101418 60%,#0b1115)}.store-crown{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#272117;color:#efcf80;font-size:23px}.design-pass .store-crown{background:#132334;color:#8dc9ff}.store-featured small{color:#bc9f5c;font-size:9px;letter-spacing:1.4px}.design-pass small{color:#7eafd7}.store-featured h2{font-size:17px;margin:3px 0}.store-featured p{font-size:11px;color:#8e9aa2;line-height:1.45;margin:5px 0 8px}.store-tags{display:flex;flex-wrap:wrap;gap:5px}.store-tags span{font-size:8px;padding:4px 7px;border-radius:999px;background:#171e22;color:#9aa7ae;border:1px solid #252d32}.store-buy{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06);padding-top:12px}.store-buy>div{display:flex;align-items:center;gap:7px}.store-buy button{border:1px solid rgba(232,194,105,.4);background:#211c10;color:#efcf80;border-radius:11px;padding:9px 12px;font-weight:800}.store-buy button.active{background:#113525;border-color:#2b9a68;color:#7aefba}.store-chip{width:22px!important;height:22px!important;font-size:10px!important}.store-section-title{display:flex;justify-content:space-between;align-items:end;margin:24px 2px 9px}.store-section-title b{font-size:12px}.store-section-title small{font-size:9px;color:#74838c}.store-actions{overflow:hidden;border:1px solid #283239;border-radius:18px;background:#10171c}.store-actions>button{width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;text-align:left;padding:13px 14px;border:0;border-bottom:1px solid #273038;background:transparent;color:#eef3f5}.store-actions>button:last-child{border-bottom:0}.store-actions>button>span{width:34px;height:34px;border-radius:11px;background:#18232a;display:grid;place-items:center;color:#e8c579}.store-actions b,.store-actions small{display:block}.store-actions small{margin-top:3px;color:#7f8e97;font-size:9px}.store-actions em{display:flex;align-items:center;gap:4px;font-style:normal}.store-note{margin-top:14px;padding:12px;border-radius:14px;background:#0b141a;color:#778892;font-size:10px;line-height:1.5;border:1px solid #1e2a31}.store-avatar-preview{text-align:center;margin:12px 0}.store-avatar-preview img{width:92px;height:92px;object-fit:cover;border-radius:50%;border:3px solid #d4b66c}.store-photo-picker{display:flex!important;justify-content:center;margin:10px 0}.free-prize-line{display:block!important;margin-top:4px;color:#e3c675!important;font-size:7px!important;letter-spacing:.25px}

/* Tema visual de club */
.club-screen{--club-top:#000;--club-body:#07131d;--club-accent:#d8aa55;--club-table:#14564f;--club-bg-image:none}.club-screen .club-top-dark{background:linear-gradient(180deg,color-mix(in srgb,var(--club-top) 94%,#000),color-mix(in srgb,var(--club-top) 80%,#050709))}.club-screen .club-table-zone{background-image:linear-gradient(180deg,color-mix(in srgb,var(--club-body) 90%,rgba(0,0,0,.45)),color-mix(in srgb,var(--club-body) 92%,rgba(0,0,0,.65))),var(--club-bg-image);background-color:var(--club-body);background-size:cover;background-position:center}.club-screen .club-admin-main,.club-screen .create-table.ocean,.club-screen .open-table-btn{border-color:color-mix(in srgb,var(--club-accent) 50%,transparent)}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.theme-grid label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid #2a3339;border-radius:12px;background:#10171b}.theme-grid label span{font-size:10px;color:#9ba7ae}.theme-grid input[type=color]{width:36px;height:28px;border:0;background:transparent;padding:0}.theme-gallery-box{padding:12px;border:1px solid #2a3339;border-radius:14px;background:#0d1418;margin:12px 0}.theme-gallery-box b,.theme-gallery-box small{display:block}.theme-gallery-box small{color:#7f8d95;font-size:9px;margin:4px 0 10px}.theme-gallery-box .mini-btn{margin-top:8px;width:100%}
.mp-real-room .poker-felt.premium-felt[style*="--club-table"]{background:radial-gradient(ellipse at 50% 18%,rgba(255,255,255,.08),transparent 31%),repeating-radial-gradient(circle at 38% 42%,rgba(255,255,255,.012) 0 1px,rgba(0,0,0,.012) 1px 3px),radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--club-table) 110%,#fff) 0%,var(--club-table) 40%,color-mix(in srgb,var(--club-table) 72%,#000) 78%,color-mix(in srgb,var(--club-table) 48%,#000) 100%) padding-box,linear-gradient(140deg,#071117,#26333a 18%,#020507 43%,#324149 66%,#05090c 84%) border-box}


/* V67 · tienda funcional y herramientas sociales */
.social-room-btn{border:1px solid rgba(238,207,128,.35);background:#17130b;color:#efcf80;border-radius:10px;min-width:34px;height:34px;font-size:18px;font-weight:900}.mp-social-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.46);z-index:160}.mp-social-panel{position:fixed;left:12px;right:12px;bottom:12px;z-index:161;background:#0d1317;border:1px solid #2b343a;border-radius:20px;padding:14px;box-shadow:0 18px 50px rgba(0,0,0,.5)}.mp-social-head{display:flex;align-items:center;justify-content:space-between}.mp-social-head small{color:#c7a95e;font-size:8px;letter-spacing:1px}.mp-social-head h3{margin:2px 0 0;font-size:16px}.mp-social-head>button{width:34px;height:34px;border-radius:50%;border:0;background:#1b2328;color:#fff;font-size:20px}.mp-social-feed{max-height:180px;overflow:auto;margin:12px 0;background:#091014;border:1px solid #1f292f;border-radius:14px;padding:8px}.mp-social-line{display:flex;gap:8px;align-items:flex-start;padding:6px 4px;border-bottom:1px solid rgba(255,255,255,.04);font-size:11px}.mp-social-line:last-child{border-bottom:0}.mp-social-line b{color:#d5e0e5;min-width:72px;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-social-line span{color:#aab8c0;word-break:break-word}.mp-social-line.emoji span,.mp-social-line.effect span{font-size:16px;color:#f2cf72}.mp-social-empty{padding:18px;text-align:center;color:#68767e;font-size:10px}.mp-social-quick{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.mp-social-quick button{border:1px solid #2c353b;background:#151d22;color:#fff;border-radius:10px;height:38px;font-size:18px}.mp-social-compose{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:9px}.mp-social-compose input{min-width:0;border:1px solid #2a343a;background:#0a1014;color:#fff;border-radius:11px;padding:11px}.mp-social-compose button{border:1px solid #a77d22;background:#211a0b;color:#f0cf78;border-radius:11px;padding:0 14px;font-weight:800}


/* V68 · mesa limpia, reacciones dirigidas y animaciones */
.mp-real-room .room-top.clean-room-top{justify-content:space-between;gap:12px;padding:12px 18px}.mp-real-room .room-top.clean-room-top .room-right-tools{margin-left:auto;display:flex;align-items:center;gap:12px}.mp-real-room .room-top.clean-room-top .mp-live-dot{width:10px;height:10px;border-radius:50%;background:#26db8a;box-shadow:0 0 0 3px rgba(38,219,138,.09),0 0 14px rgba(38,219,138,.75);flex:0 0 auto}.mp-real-room .room-top.clean-room-top .stand-seat-btn{position:static!important;min-width:94px;height:40px;border:1px solid #74333c!important;background:linear-gradient(180deg,#54252d,#2f141a)!important;color:#f3dfe2!important;border-radius:13px!important;padding:0 14px!important}.mp-real-room .room-top.clean-room-top .hand-history-btn{position:static!important;width:42px;height:42px;border-radius:13px!important;border:1px solid rgba(231,199,113,.42)!important;background:linear-gradient(180deg,#162026,#0c1419)!important;color:#efcf7a!important;font-size:20px}.mp-real-room .room-top.clean-room-top>.hand-status{display:none!important}
.social-room-btn.social-bet-side{position:absolute;z-index:35;left:58%;bottom:2.1%;transform:translateX(-50%);width:54px;height:54px;border-radius:16px;font-size:27px;background:linear-gradient(180deg,#19252c,#0c1419);border:1px solid rgba(239,207,128,.58);box-shadow:0 10px 25px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.025) inset;color:#efd078}.social-room-btn.social-bet-side:active{transform:translateX(-50%) scale(.94)}
.mp-social-panel{padding:16px;border-radius:24px}.mp-social-quick{grid-template-columns:repeat(4,1fr);gap:8px}.mp-social-quick button{height:48px;border-radius:13px;font-size:22px}.mp-social-quick button.object{height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.mp-social-quick button.object small{font-size:7px;color:#8fa0a8}.mp-social-quick button.slipper{color:#f2c574}.mp-social-target-back{border:0;background:transparent;color:#93a7b1;padding:4px 0 8px;font-size:12px}.mp-social-target-title{text-align:center;padding:4px 0 10px}.mp-social-target-title small{font-size:8px;letter-spacing:1.3px;color:#c8a75a}.mp-social-target-title h3{font-size:24px;margin:3px 0}.mp-social-target-title p{font-size:9px;color:#71828b;margin:0}.mp-social-targets{display:grid;gap:7px;max-height:48vh;overflow:auto}.mp-social-targets>button{display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:10px;border:1px solid #26333a;background:linear-gradient(180deg,#121c21,#0b1216);border-radius:14px;padding:8px 10px;color:#ecf2f4;text-align:left}.mp-social-targets img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #c9a95e}.mp-social-targets b,.mp-social-targets small{display:block}.mp-social-targets small{font-size:8px;color:#72848d;margin-top:2px}.mp-social-targets i{font-style:normal;color:#d2b668;font-size:24px}.mp-social-line.effect span,.mp-social-line.emoji span{font-size:13px!important}
.poker-seat{overflow:visible!important}.seat-social-fx{position:absolute;z-index:80;left:50%;top:0;width:100px;height:100px;transform:translate(-50%,-46%);pointer-events:none}.seat-social-fx span,.seat-social-fx i,.seat-social-fx small{position:absolute}.egg-projectile{left:37px;top:-78px;font-size:34px;filter:drop-shadow(0 8px 4px rgba(0,0,0,.38));animation:v68EggDrop 4.2s cubic-bezier(.2,.68,.2,1) both}.egg-crack{left:38px;top:28px;font-size:32px;color:#fff3ad;opacity:0;animation:v68EggCrack 4.2s ease both}.egg-goo{left:15px;top:24px;width:70px;height:55px;border-radius:52% 48% 55% 45%;background:radial-gradient(circle at 48% 48%,#ffd636 0 15%,#fff6cb 16% 31%,rgba(255,245,193,.94) 32% 52%,rgba(255,255,255,.12) 53%);filter:drop-shadow(0 3px 3px rgba(0,0,0,.25));opacity:0;transform:scale(.2);animation:v68EggGoo 4.2s ease both}.egg-fx small{left:29px;top:82px;color:#ffe675;font-size:9px;font-weight:900;letter-spacing:1px;opacity:0;animation:v68PopText 4.2s ease both}
@keyframes v68EggDrop{0%{transform:translateY(0) rotate(-35deg) scale(.8);opacity:0}8%{opacity:1}38%{transform:translateY(106px) rotate(315deg) scale(1.06);opacity:1}41%,100%{transform:translateY(106px) rotate(330deg) scale(.25);opacity:0}}@keyframes v68EggCrack{0%,35%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.45)}50%,100%{opacity:0;transform:scale(1.9)}}@keyframes v68EggGoo{0%,37%{opacity:0;transform:scale(.2)}43%{opacity:1;transform:scale(1.12)}58%{opacity:.96;transform:scale(1)}88%{opacity:.82}100%{opacity:0;transform:scale(1.04)}}@keyframes v68PopText{0%,42%{opacity:0;transform:scale(.5)}48%,75%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-5px)}}
.smoke-cig{left:-58px;top:34px;font-size:30px;transform:rotate(-12deg);animation:v68Cig 4.6s ease both}.smoke-cloud{font-size:38px;opacity:0;filter:blur(.2px);animation:v68Smoke 4.6s ease both}.smoke-cloud.c1{left:22px;top:22px;animation-delay:.25s}.smoke-cloud.c2{left:38px;top:3px;font-size:45px;animation-delay:.48s}.smoke-cloud.c3{left:4px;top:2px;font-size:43px;animation-delay:.7s}@keyframes v68Cig{0%{opacity:0;transform:translateX(-10px) rotate(-12deg)}12%{opacity:1}34%{transform:translateX(72px) rotate(-6deg);opacity:1}52%,100%{transform:translateX(78px) rotate(-6deg);opacity:0}}@keyframes v68Smoke{0%,10%{opacity:0;transform:scale(.25) translate(0,15px)}24%{opacity:.92;transform:scale(.9) translate(0,0)}54%{opacity:.82;transform:scale(1.18) translate(4px,-8px)}78%{opacity:.48;transform:scale(1.45) translate(-4px,-17px)}100%{opacity:0;transform:scale(1.7) translate(8px,-28px)}}
.slipper-fx .slipper{font-size:38px;left:83px;top:15px;filter:drop-shadow(0 5px 3px rgba(0,0,0,.4));opacity:0;transform-origin:10% 80%}.slipper-fx .s1{animation:v68Slap1 3.9s ease both}.slipper-fx .s2{animation:v68Slap2 3.9s ease both}.slipper-fx .s3{animation:v68Slap3 3.9s ease both}.slipper-fx i{left:31px;top:38px;width:38px;height:38px;border:3px solid #ffd46c;border-radius:50%;opacity:0;animation:v68Impact 3.9s ease both}@keyframes v68Slap1{0%,7%{opacity:0;transform:translate(35px,-30px) rotate(38deg) scale(.7)}10%{opacity:1}24%{opacity:1;transform:translate(-49px,14px) rotate(-42deg) scale(1.08)}29%,100%{opacity:0;transform:translate(-53px,17px) rotate(-52deg) scale(.8)}}@keyframes v68Slap2{0%,31%{opacity:0;transform:translate(38px,-22px) rotate(42deg) scale(.7)}35%{opacity:1}48%{opacity:1;transform:translate(-47px,12px) rotate(-38deg) scale(1.08)}54%,100%{opacity:0;transform:translate(-54px,15px) rotate(-48deg) scale(.8)}}@keyframes v68Slap3{0%,57%{opacity:0;transform:translate(40px,-18px) rotate(45deg) scale(.7)}61%{opacity:1}74%{opacity:1;transform:translate(-48px,13px) rotate(-39deg) scale(1.08)}81%,100%{opacity:0;transform:translate(-55px,16px) rotate(-49deg) scale(.8)}}@keyframes v68Impact{0%,22%{opacity:0;transform:scale(.2)}24%{opacity:1;transform:scale(1.2)}31%{opacity:0;transform:scale(1.6)}46%{opacity:0;transform:scale(.2)}48%{opacity:1;transform:scale(1.2)}55%{opacity:0;transform:scale(1.6)}72%{opacity:0;transform:scale(.2)}74%{opacity:1;transform:scale(1.2)}82%,100%{opacity:0;transform:scale(1.7)}}
.emoji-fx{display:grid;place-items:center}.emoji-fx span{position:static;font-size:48px;animation:v68Emoji 3s ease both;filter:drop-shadow(0 8px 5px rgba(0,0,0,.38))}@keyframes v68Emoji{0%{opacity:0;transform:scale(.2) translateY(20px)}18%{opacity:1;transform:scale(1.18) translateY(0)}68%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.7) translateY(-18px)}}
.wallet-send-action .wallet-send-icon{width:48px!important;height:48px!important;margin:0 auto 7px!important;border-radius:15px;background:linear-gradient(145deg,#0d3026,#10211d)!important;border:1px solid rgba(91,226,151,.38);box-shadow:0 8px 18px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.04);display:grid!important;place-items:center!important}.wallet-send-action .wallet-send-icon svg{width:31px;height:31px;fill:none;stroke:#64e39b;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.wallet-send-action:active .wallet-send-icon{transform:scale(.94)}
@media(max-width:390px){.social-room-btn.social-bet-side{width:50px;height:50px;left:58%;bottom:2.3%}.mp-real-room .room-top.clean-room-top{padding-left:12px;padding-right:12px}.mp-real-room .room-top.clean-room-top .room-right-tools{gap:8px}.mp-real-room .room-top.clean-room-top .stand-seat-btn{min-width:82px;padding:0 10px;font-size:9px}}

/* Malecón V68.1 — chat libre si el club lo permite + reacciones premium con trayectoria */
.manual-bet-launch{gap:10px;justify-content:flex-end;align-items:center;overflow:visible}
.manual-bet-launch .social-room-btn.social-bet-side{position:static!important;left:auto!important;bottom:auto!important;transform:none!important;width:48px;height:48px;border-radius:15px;flex:0 0 48px;box-shadow:0 9px 22px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.03) inset}
.manual-bet-launch .social-room-btn.social-bet-side:active{transform:scale(.94)!important}
.manual-bet-launch .mp-bet-arrow{flex:0 0 auto}
.mp-real-room>.poker-felt>.social-room-btn.social-bet-side{left:auto!important;right:29%!important;bottom:2.2%!important;transform:none!important}
.mp-real-room>.poker-felt>.social-room-btn.social-bet-side:active{transform:scale(.94)!important}
.mp-social-locked{margin-top:9px;padding:10px 12px;border:1px solid rgba(239,207,128,.18);border-radius:11px;background:rgba(239,207,128,.05);color:#8f9aa0;font-size:9px;text-align:center}

.seat-chat-bubble{position:absolute;z-index:95;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);max-width:150px;min-width:58px;padding:8px 10px;border-radius:12px;background:rgba(7,13,17,.94);border:1px solid rgba(232,205,130,.34);box-shadow:0 8px 22px rgba(0,0,0,.42);color:#f3f5f6;font-size:9px;line-height:1.25;text-align:center;word-break:break-word;pointer-events:none;animation:v681ChatBubble 4.6s ease both}
.seat-chat-bubble:after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;background:rgba(7,13,17,.94);border-right:1px solid rgba(232,205,130,.34);border-bottom:1px solid rgba(232,205,130,.34);transform:translateX(-50%) rotate(45deg)}
@keyframes v681ChatBubble{0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.94)}10%,78%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}100%{opacity:0;transform:translateX(-50%) translateY(-8px) scale(.96)}}

.mp-social-projectile{position:absolute;z-index:94;width:54px;height:54px;pointer-events:none;display:grid;place-items:center;will-change:transform,opacity;filter:drop-shadow(0 10px 7px rgba(0,0,0,.45))}
.mp-social-projectile span{font-size:38px;line-height:1}.mp-social-projectile.slipper span{font-size:44px}.mp-social-projectile.smoke span{font-size:34px}.mp-social-projectile.emoji span{font-size:42px}

.seat-social-impact{position:absolute;z-index:93;left:50%;top:4px;width:96px;height:96px;transform:translate(-50%,-48%);pointer-events:none}
.egg-impact span{position:absolute;left:32px;top:28px;font-size:34px;color:#fff1a7;animation:v681EggFlash 4.3s ease both}.egg-impact i{position:absolute;left:12px;top:28px;width:72px;height:54px;border-radius:48% 52% 56% 44%;background:radial-gradient(circle at 50% 45%,#f6c52d 0 14%,#fff2b5 15% 30%,rgba(255,245,194,.94) 31% 50%,rgba(255,255,255,.08) 51%);opacity:0;animation:v681EggMess 4.3s ease both}.egg-impact small{position:absolute;left:23px;top:83px;color:#ffe17a;font-size:8px;font-weight:900;letter-spacing:.8px;animation:v681ImpactText 4.3s ease both}
@keyframes v681EggFlash{0%,19%{opacity:0;transform:scale(.2)}23%{opacity:1;transform:scale(1.35)}31%,100%{opacity:0;transform:scale(.7)}}
@keyframes v681EggMess{0%,20%{opacity:0;transform:scale(.2) rotate(-8deg)}28%,74%{opacity:.96;transform:scale(1) rotate(3deg)}100%{opacity:0;transform:scale(1.08)}}
@keyframes v681ImpactText{0%,25%{opacity:0;transform:translateY(5px)}31%,64%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-5px)}}

.smoke-impact span{position:absolute;font-size:38px;opacity:0;filter:blur(.3px);animation:v681Smoke 4.7s ease both}.smoke-impact span:nth-child(1){left:9px;top:18px}.smoke-impact span:nth-child(2){left:34px;top:3px;animation-delay:.12s}.smoke-impact span:nth-child(3){left:49px;top:33px;animation-delay:.24s}
@keyframes v681Smoke{0%,18%{opacity:0;transform:scale(.35) translateY(12px)}30%,70%{opacity:.82;transform:scale(1.2) translateY(-5px)}100%{opacity:0;transform:scale(1.55) translateY(-24px)}}

.slipper-impact i{position:absolute;left:44px;top:38px;width:8px;height:8px;border-radius:50%;background:#ffe17a;box-shadow:0 0 0 8px rgba(255,225,122,.16);opacity:0}.slipper-impact i:nth-child(1){animation:v681Slap 4.1s ease .66s both}.slipper-impact i:nth-child(2){animation:v681Slap 4.1s ease 1.05s both}.slipper-impact i:nth-child(3){animation:v681Slap 4.1s ease 1.42s both}
@keyframes v681Slap{0%,8%{opacity:0;transform:scale(.2)}10%{opacity:1;transform:scale(1.8)}18%,100%{opacity:0;transform:scale(2.6)}}
.emoji-impact{display:grid;place-items:center}.emoji-impact span{font-size:46px;animation:v681EmojiImpact 3.2s ease both;filter:drop-shadow(0 8px 5px rgba(0,0,0,.38))}@keyframes v681EmojiImpact{0%,20%{opacity:0;transform:scale(.2)}30%,72%{opacity:1;transform:scale(1.22)}100%{opacity:0;transform:scale(.7) translateY(-18px)}}

@media(max-width:390px){.manual-bet-launch{gap:7px}.manual-bet-launch .social-room-btn.social-bet-side{width:44px;height:44px;flex-basis:44px;font-size:23px}.mp-real-room>.poker-felt>.social-room-btn.social-bet-side{right:30%!important}.seat-chat-bubble{max-width:125px;font-size:8px}}
/* V69 · perfiles y tipos de jugadores */
.player-types-entry{width:100%;margin:14px 0 6px;padding:15px 16px;border:1px solid rgba(216,170,85,.28);border-radius:16px;background:linear-gradient(135deg,#101b25,#0b131b);color:#eef4f7;display:flex;align-items:center;gap:13px;text-align:left}.player-types-entry>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#1b2a36;color:#e0b85f;font-size:22px}.player-types-entry div{flex:1;display:grid;gap:3px}.player-types-entry small{color:#8fa0ac}.player-types-entry em{font-style:normal;font-size:24px;color:#d8aa55}.player-types-lock{text-align:center;padding:8px}.lock-gem{font-size:42px;color:#e2b85c}.unlock-price{display:flex;align-items:center;justify-content:center;gap:8px;font-size:28px;margin:18px}.player-types-panel{max-height:75vh;overflow:auto}.player-types-panel>.subtle{color:#91a0aa;line-height:1.45}.bot-style-card{padding:14px;margin:12px 0;border-radius:16px;background:#0c1720;border:1px solid #22333e}.bot-style-head{display:flex;align-items:center;gap:12px}.bot-style-head>span{font-size:28px}.bot-style-head>div{flex:1}.bot-style-head h3{margin:0}.bot-style-head p{margin:3px 0;color:#8fa0ac;font-size:12px}.bot-style-head>b{font-size:24px;color:#d8aa55}.bot-row{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;border-top:1px solid #1d2c36;margin-top:8px}.bot-row div{display:grid}.bot-row small{color:#82939f}.bot-row button{border:0;border-radius:9px;background:#202d36;color:#d9e1e5;padding:7px 10px}.profile-tap{border:0;padding:0;cursor:pointer}.player-detail-head{display:flex;align-items:center;gap:14px}.player-detail-head img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid #d8aa55}.player-detail-head h2{margin:0 0 3px}.player-detail-head span{display:block;color:#8fa0ac}.player-type{display:inline-block;margin-top:7px;padding:4px 9px;border-radius:999px;background:#173123;color:#91e0aa;font-size:11px;font-style:normal}.player-type.non{background:#302a16;color:#e5c66e}.player-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.player-stat-grid>div,.profile-net{padding:11px;border-radius:12px;background:#0d1820;border:1px solid #1e2d37;display:grid}.player-stat-grid small,.profile-net small{color:#8798a4}.player-stat-grid b,.profile-net b{font-size:19px;margin-top:3px}.profile-club-row{display:grid;padding:10px 0;border-bottom:1px solid #1d2b34}.profile-club-row small,.profile-real-note{color:#84949f}.t-min-note{display:block;color:#8fa0ac;font-size:11px;margin:3px 0 7px}
.member-player-type{display:block;margin-top:6px;color:#d8bd6b;font-size:11px}.bot-row-actions{display:flex!important;grid-auto-flow:column;gap:6px;align-items:center}.bot-row-actions .mini-btn{background:#15392c;color:#91e0aa}.bot-duty-note{display:grid;gap:4px;margin:12px 0;padding:12px 14px;border-radius:14px;background:#111b23;border:1px solid rgba(216,170,85,.24)}.bot-duty-note b{color:#e0bd68}.bot-duty-note span{font-size:12px;color:#92a0a9;line-height:1.4}

/* V69.2 · ficha amarilla de juego en Club Malecón */
.yellow-chip-dot{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:5px;vertical-align:-2px;position:relative;overflow:hidden;isolation:isolate;box-sizing:border-box;background:radial-gradient(circle at 34% 28%,#fff1a1 0 11%,#d8a728 12% 50%,#8c650b 51% 77%,#5b4105 78%);border:1.5px solid #ffe8a2;box-shadow:0 1px 0 rgba(255,255,255,.34) inset,0 -2px 3px rgba(0,0,0,.34) inset,0 0 0 1px rgba(0,0,0,.55),0 2px 5px rgba(0,0,0,.3)}
.yellow-chip-dot:before{content:"";position:absolute;inset:1px;border-radius:50%;z-index:-1;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.92) 0 8deg,transparent 8deg 36deg);-webkit-mask:radial-gradient(circle,transparent 0 57%,#000 58% 100%);mask:radial-gradient(circle,transparent 0 57%,#000 58% 100%);opacity:.75}
.yellow-chip-dot:after{content:"M";position:absolute;inset:0;display:grid;place-items:center;color:#fff7d0;font-family:Georgia,serif;font-size:6px;font-style:italic;font-weight:900;text-shadow:0 1px 1px #5b3c00}.yellow-chip-dot.big{width:24px;height:24px;margin-right:9px;vertical-align:-3px}.yellow-chip-dot.big:after{font-size:10px}
.mini-seat-info .yellow-chip-dot{width:10px;height:10px;border-width:1px;margin:0}


/* Malecón V70 — ancla única del bote y cola visual estable */
.mp-real-room .mp-pot-anchor{position:absolute;left:50%;top:54.8%;width:2px;height:2px;transform:translate(-50%,-50%);pointer-events:none;opacity:0;z-index:6}
@media(max-width:420px){.mp-real-room .mp-pot-anchor{top:55.2%}}
.mp-real-room .poker-seat .seat-wager{right:auto!important;bottom:auto!important;transform:translate(-50%,-50%);will-change:left,top,transform,opacity}
.mp-real-room .poker-seat .mp-wager-collect{animation:none!important}

/* V70.1 · fichas: un único trayecto jugador → bote central */
.mp-wager-flight{position:absolute;z-index:58;display:flex;align-items:center;gap:5px;pointer-events:none;will-change:transform,opacity;filter:drop-shadow(0 6px 8px rgba(0,0,0,.55))}
.mp-wager-flight-stack{min-width:22px;width:22px;height:22px;flex:0 0 22px}
.mp-wager-flight .wager-stack i{position:relative;box-shadow:0 2px 5px rgba(0,0,0,.5)}
.mp-wager-flight>b{font-size:9px;line-height:1;background:rgba(5,13,18,.95);color:#f2ca67;border-radius:8px;padding:4px 6px;box-shadow:0 2px 8px rgba(0,0,0,.38);white-space:nowrap}
.mp-wager-flight.landed{visibility:hidden}
/* En V70.1 no quedan apuestas estáticas flotando alrededor de los asientos. */
.mp-real-room .poker-seat>.seat-wager{display:none!important}


/* Malecón V70.2 · turnos visuales separados: jugador → apuesta / mesa → bote */
.mp-real-room .poker-seat>.seat-wager.mp-round-wager{display:flex!important;opacity:1;transition:opacity .14s ease;z-index:24}
.mp-real-room .poker-seat>.seat-wager.mp-round-wager.is-collecting{will-change:transform,opacity}
/* La apuesta queda claramente delante del asiento durante toda la ronda. */
.mp-real-room .seat-me .mp-round-wager{left:108%!important;top:-28px!important}
.mp-real-room .seat-top .mp-round-wager{left:50%!important;top:112%!important}
.mp-real-room .seat-right-top .mp-round-wager,.mp-real-room .seat-right .mp-round-wager{left:-24%!important;top:48%!important}
.mp-real-room .seat-left-top .mp-round-wager,.mp-real-room .seat-left .mp-round-wager{left:124%!important;top:48%!important}
@media(max-width:420px){
  .mp-real-room .seat-me .mp-round-wager{left:104%!important;top:-25px!important}
  .mp-real-room .seat-right-top .mp-round-wager,.mp-real-room .seat-right .mp-round-wager{left:-20%!important}
  .mp-real-room .seat-left-top .mp-round-wager,.mp-real-room .seat-left .mp-round-wager{left:120%!important}
}
/* Comunitarias V70.2: movimiento y giro deliberadamente más pausados. */
.mp-real-room .deal-card.animate{animation-duration:.62s!important}
.mp-real-room .deal-card.animate .deal-card-inner{animation-duration:.58s!important;animation-delay:calc(var(--deal-delay) + 410ms)!important}


/* V70.3 — distribución visual de 2 a 9 jugadores */
.mp-real-room .poker-seat.seat-upper-right{right:4px;top:105px}
.mp-real-room .poker-seat.seat-upper-left{left:4px;top:105px}
.mp-real-room .poker-seat.seat-lower-right{right:8px;bottom:118px}
.mp-real-room .poker-seat.seat-lower-left{left:112px;bottom:42px}
.mp-real-room .poker-seat.seat-bottom-center{left:50%;bottom:10px;transform:translateX(-50%)}
.mp-real-room .seat-upper-right .mp-round-wager,.mp-real-room .seat-right-top .mp-round-wager,.mp-real-room .seat-right .mp-round-wager,.mp-real-room .seat-lower-right .mp-round-wager{left:-24%!important;top:48%!important}
.mp-real-room .seat-upper-left .mp-round-wager,.mp-real-room .seat-left-top .mp-round-wager,.mp-real-room .seat-left .mp-round-wager,.mp-real-room .seat-lower-left .mp-round-wager{left:124%!important;top:48%!important}
.mp-real-room .seat-bottom-center .mp-round-wager{left:50%!important;top:-34px!important;transform:translateX(-50%)}
.mp-card-flight.to-seat-upper-right{--deal-x:30vw;--deal-y:-13vh}
.mp-card-flight.to-seat-upper-left{--deal-x:-30vw;--deal-y:-13vh}
.mp-card-flight.to-seat-lower-right{--deal-x:38vw;--deal-y:40vh}
.mp-card-flight.to-seat-lower-left{--deal-x:-22vw;--deal-y:49vh}
.mp-card-flight.to-seat-bottom-center{--deal-x:0vw;--deal-y:54vh}
.mp-payout-flight.to-seat-upper-right{--pay-x:31vw;--pay-y:-29vh}
.mp-payout-flight.to-seat-upper-left{--pay-x:-31vw;--pay-y:-29vh}
.mp-payout-flight.to-seat-lower-right{--pay-x:39vw;--pay-y:24vh}
.mp-payout-flight.to-seat-lower-left{--pay-x:-23vw;--pay-y:39vh}
.mp-payout-flight.to-seat-bottom-center{--pay-x:0vw;--pay-y:43vh}
.winner-gain-once{animation:winnerGainOnce 2.35s cubic-bezier(.18,.7,.2,1) both!important}
@keyframes winnerGainOnce{0%{opacity:0;transform:translate(-50%,8px) scale(.82)}12%{opacity:1;transform:translate(-50%,0) scale(1.06)}72%{opacity:1;transform:translate(-50%,-4px) scale(1)}100%{opacity:0;transform:translate(-50%,-18px) scale(.94)}}
@media(max-width:420px){
 .mp-real-room .poker-seat.seat-upper-right{right:-7px;top:96px}.mp-real-room .poker-seat.seat-upper-left{left:-7px;top:96px}
 .mp-real-room .poker-seat.seat-lower-right{right:-4px;bottom:112px}.mp-real-room .poker-seat.seat-lower-left{left:94px;bottom:39px}
}


/* Malecón V70.4 — reloj de turno anclado físicamente a la caja del jugador */
.mp-real-room .poker-seat.v53-seat .seat-info-box{overflow:visible!important}
.mp-real-room .poker-seat.v53-seat .seat-info-box>.mp-turn-clock{
  position:absolute!important;
  left:0!important;
  right:0!important;
  width:auto!important;
  top:auto!important;
  bottom:-8px!important;
  height:5px!important;
  margin:0!important;
  transform:none!important;
  z-index:30!important;
  border-radius:999px!important;
  background:#26333a!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.mp-real-room .poker-seat.v53-seat .seat-info-box>.mp-turn-clock>i{
  display:block!important;width:100%!important;height:100%!important;margin:0!important;
  border-radius:999px!important;transform-origin:left center!important;
}
.mp-real-room .poker-seat.v53-seat .seat-info-box>.mp-turn-clock>small{display:none!important}


/* Malecón V70.6 — geometría de turno/ganador limitada al perfil, nunca al asiento completo */
.mp-real-room .poker-seat.v53-seat.turn,
.mp-real-room .poker-seat.v53-seat.winner-seat{
  box-shadow:none!important;
  animation:none!important;
}
.mp-real-room .poker-seat.v53-seat.winner-seat{filter:none!important}
.mp-real-room .poker-seat.v53-seat.turn .seat-info-box{
  box-shadow:0 0 0 2px #e4bd60,0 0 16px rgba(228,189,96,.38),0 6px 13px rgba(0,0,0,.55)!important;
}
.mp-real-room .poker-seat.v53-seat.winner-seat .seat-info-box{
  box-shadow:0 0 0 2px #f0c75f,0 0 18px rgba(245,186,54,.45),0 6px 13px rgba(0,0,0,.55)!important;
}
.mp-real-room .poker-seat.v53-seat .seat-info-box{
  height:auto!important;
  min-height:40px!important;
  max-height:58px!important;
  box-sizing:border-box!important;
}
.mp-real-room .poker-seat.v53-seat .seat-info-box>.mp-turn-clock{
  left:2px!important;
  right:2px!important;
  bottom:-7px!important;
  height:5px!important;
  max-height:5px!important;
  box-shadow:none!important;
}

/* Malecón V70.8 — mesa amplia + anillo horario real de hasta 9 jugadores */
.mp-real-room .premium-felt{width:min(96vw,470px)!important;max-width:470px!important;min-height:calc(100dvh - 104px)!important;margin-left:auto!important;margin-right:auto!important}
.mp-real-room .poker-seat.v53-seat{width:88px!important}
.mp-real-room .poker-seat.seat-top{top:20px!important;left:50%!important;transform:translateX(-50%)!important}
.mp-real-room .poker-seat.seat-left-top{left:-17px!important;top:23%!important}
.mp-real-room .poker-seat.seat-left{left:-19px!important;top:47%!important}
.mp-real-room .poker-seat.seat-lower-left{left:-10px!important;bottom:16%!important}
.mp-real-room .poker-seat.seat-right-top{right:-17px!important;top:23%!important}
.mp-real-room .poker-seat.seat-right{right:-19px!important;top:47%!important}
.mp-real-room .poker-seat.seat-lower-right{right:-10px!important;bottom:16%!important}
.mp-real-room .poker-seat.seat-bottom-right{right:55px!important;bottom:30px!important}
.mp-real-room .poker-seat.seat-me{left:55px!important;bottom:30px!important;transform:none!important}
/* apuestas siempre hacia el interior del tapete */
.mp-real-room .seat-lower-left .mp-round-wager,.mp-real-room .seat-left .mp-round-wager,.mp-real-room .seat-left-top .mp-round-wager{left:122%!important;top:48%!important}
.mp-real-room .seat-lower-right .mp-round-wager,.mp-real-room .seat-right .mp-round-wager,.mp-real-room .seat-right-top .mp-round-wager{left:-22%!important;top:48%!important}
.mp-real-room .seat-bottom-right .mp-round-wager{left:20%!important;top:-30px!important}
/* asiento local inferior separado de los controles */
.mp-real-room .seat-me .mp-round-wager{left:112%!important;top:-26px!important}
@media(max-width:390px){
 .mp-real-room .poker-seat.v53-seat{width:82px!important}
 .mp-real-room .poker-seat.seat-left-top,.mp-real-room .poker-seat.seat-left{left:-22px!important}
 .mp-real-room .poker-seat.seat-right-top,.mp-real-room .poker-seat.seat-right{right:-22px!important}
 .mp-real-room .poker-seat.seat-lower-left{left:-15px!important}.mp-real-room .poker-seat.seat-lower-right{right:-15px!important}
 .mp-real-room .poker-seat.seat-me{left:38px!important}.mp-real-room .poker-seat.seat-bottom-right{right:38px!important}
}

/* Malecón V70.9 — asientos físicos bloqueados + rotación relativa al jugador local */
.mp-real-room .poker-seat.seat-bottom{left:50%!important;bottom:24px!important;transform:translateX(-50%)!important}
/* Los botones de asiento libre usan exactamente los mismos puntos del anillo.
   Solo se dibujan si ese seatIndex está realmente vacío. */
.mp-real-room .take-left-bottom{left:-26px!important;bottom:16%!important}
.mp-real-room .take-left-mid{left:-30px!important;top:47%!important}
.mp-real-room .take-left-top{left:-26px!important;top:23%!important}
.mp-real-room .take-top{left:50%!important;top:-17px!important;transform:translateX(-50%)!important}
.mp-real-room .take-right-top{right:-26px!important;top:23%!important}
.mp-real-room .take-right-mid{right:-30px!important;top:47%!important}
.mp-real-room .take-right-bottom{right:-26px!important;bottom:16%!important}
.mp-real-room .take-bottom-right{right:44px!important;bottom:-18px!important}
.mp-real-room .take-bottom{left:50%!important;bottom:-22px!important;transform:translateX(-50%)!important}
/* vuelos para las dos posiciones inferiores que también pueden existir al observar */
.mp-card-flight.to-seat-bottom{--deal-x:0vw;--deal-y:52vh}
.mp-card-flight.to-seat-bottom-right{--deal-x:31vw;--deal-y:49vh}
.mp-payout-flight.to-seat-bottom{--pay-x:0vw;--pay-y:40vh}
.mp-payout-flight.to-seat-bottom-right{--pay-x:31vw;--pay-y:39vh}
.mp-real-room .seat-bottom .mp-round-wager{left:50%!important;top:-30px!important;transform:translateX(-50%)!important}

/* Mostrar / ocultar cartas al terminar la mano: ninguna se revela automáticamente. */
.mp-show-cards{position:absolute;left:50%;bottom:82px;transform:translateX(-50%);z-index:35;width:min(92%,380px);padding:8px 10px;border-radius:14px;background:rgba(5,13,18,.94);border:1px solid rgba(216,174,91,.45);box-shadow:0 8px 26px rgba(0,0,0,.48);text-align:center}
.mp-show-cards small{display:block;color:#aebbc1;font-size:10px;margin-bottom:6px}.mp-show-cards>div{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}.mp-show-cards button{border:1px solid rgba(255,255,255,.13);background:#10212a;color:#edf4f6;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:800}.mp-show-cards button.active{border-color:#d8ae5b;color:#f5d584;box-shadow:inset 0 0 0 1px rgba(216,174,91,.25)}
@media(max-width:390px){.mp-real-room .take-left-mid{left:-25px!important}.mp-real-room .take-right-mid{right:-25px!important}.mp-real-room .take-bottom-right{right:30px!important}.mp-show-cards{bottom:76px;width:94%;padding:7px}.mp-show-cards button{padding:6px 7px;font-size:8px}}

/* ==========================================================
   MALECÓN V80 — mesa fija, controles seguros y fichas actuales
   ========================================================== */
/* Mantiene la mesa ovalada Malecón, con una ligera perspectiva hacia el fondo
   sin convertirla en circular ni alterar la lógica física de los asientos. */
.mp-real-room .poker-felt.premium-felt{
  border-radius:47% / 32%!important;
  top:10.8%!important;
  bottom:9.8%!important;
  transform:perspective(1200px) rotateX(1.8deg)!important;
  transform-origin:50% 78%!important;
}
/* Los asientos/controles se compensan para que su contenido siga recto. */
.mp-real-room .poker-felt.premium-felt>.poker-seat,
.mp-real-room .poker-felt.premium-felt>.take-seat,
.mp-real-room .poker-felt.premium-felt>.community-cards,
.mp-real-room .poker-felt.premium-felt>.pot-total-top,
.mp-real-room .poker-felt.premium-felt>.pot-chip-bottom,
.mp-real-room .poker-felt.premium-felt>.felt-brand,
.mp-real-room .poker-felt.premium-felt>.turn-message,
.mp-real-room .poker-felt.premium-felt>.waiting-turn,
.mp-real-room .poker-felt.premium-felt>.spectator-hint,
.mp-real-room .poker-felt.premium-felt>.mp-show-cards,
.mp-real-room .poker-felt.premium-felt>.mp-real-actions{
  transform-style:preserve-3d;
}
/* Subimos los controles para que ningún botón quede cortado por el borde inferior. */
.mp-real-room .mp-real-actions,
.mp-real-room .mp-real-actions.v53-actions{bottom:-2.2%!important}
.mp-real-room .mp-show-cards{bottom:94px!important}

/* V80: el pago usa EXACTAMENTE el lenguaje visual de las fichas actuales M,
   eliminando las antiguas "bolitas" de colores. */
.mp-payout-flight .mp-payout-chips{gap:0;filter:drop-shadow(0 4px 4px rgba(0,0,0,.45))}
.mp-payout-flight i{
  position:relative!important;display:grid!important;place-items:center!important;
  width:22px!important;height:22px!important;margin-left:-7px!important;
  border-radius:50%!important;border:2px solid #e8d69a!important;
  background:radial-gradient(circle at 34% 28%,#d9f6ff 0 8%,#176d91 9% 52%,#0b334b 53% 76%,#061a27 77%)!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.42),inset 0 -3px 4px rgba(0,0,0,.38),0 0 0 1px rgba(0,0,0,.65)!important;
  transform:none!important;
}
.mp-payout-flight i:before{content:"";position:absolute;inset:1px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.9) 0 8deg,transparent 8deg 36deg);-webkit-mask:radial-gradient(circle,transparent 0 58%,#000 59% 100%);mask:radial-gradient(circle,transparent 0 58%,#000 59% 100%);opacity:.72}
.mp-payout-flight i:after{content:"M";position:absolute;inset:0;display:grid;place-items:center;color:#e9f8ff;font:900 italic 9px Georgia,serif;text-shadow:0 1px 1px #00131e}
.mp-payout-flight i:nth-child(2){background:radial-gradient(circle at 34% 28%,#fff4ae 0 8%,#d8a728 9% 52%,#8c650b 53% 76%,#4c3504 77%)!important;transform:translateY(-4px)!important}
.mp-payout-flight i:nth-child(3){background:radial-gradient(circle at 34% 28%,#f2f2f2 0 8%,#3c4145 9% 52%,#171a1c 53% 76%,#050607 77%)!important}

@media(max-width:390px){
 .mp-real-room .poker-felt.premium-felt{top:11.4%!important;bottom:10.2%!important;transform:perspective(1050px) rotateX(1.5deg)!important}
 .mp-real-room .mp-real-actions,.mp-real-room .mp-real-actions.v53-actions{bottom:-1.4%!important}
 .mp-real-room .mp-show-cards{bottom:88px!important}
}

/* V80.1 — los mensajes de acción y la nota inferior ya no forman parte de la mesa. */
.mp-real-room .turn-message,.mp-real-room .room-note{display:none!important}

/* ==========================================================
   MALECÓN V81 — asientos fijos simétricos + devolución all-in
   ========================================================== */
/* El jugador local ocupa SIEMPRE el asiento inferior central. */
.mp-real-room .poker-seat.seat-me{left:50%!important;right:auto!important;bottom:20px!important;top:auto!important;transform:translateX(-50%)!important}
/* Anillo físico para 9 puestos. Las capacidades menores reutilizan puntos de este anillo. */
.mp-real-room .poker-seat.seat-lower-left{left:-8px!important;right:auto!important;bottom:15%!important;top:auto!important}
.mp-real-room .poker-seat.seat-left{left:-20px!important;right:auto!important;top:51%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-left-top{left:-14px!important;right:auto!important;top:29%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-upper-left{left:17%!important;right:auto!important;top:28px!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-top{left:50%!important;right:auto!important;top:18px!important;bottom:auto!important;transform:translateX(-50%)!important}
.mp-real-room .poker-seat.seat-upper-right{right:17%!important;left:auto!important;top:28px!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-right-top{right:-14px!important;left:auto!important;top:29%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-right{right:-20px!important;left:auto!important;top:51%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-lower-right{right:-8px!important;left:auto!important;bottom:15%!important;top:auto!important}
/* Mantener completamente libre la franja de controles inferior. */
.mp-real-room .seat-me .mp-round-wager{left:50%!important;top:-34px!important;transform:translateX(-50%)!important}
.mp-real-room .seat-lower-left .mp-round-wager,.mp-real-room .seat-left .mp-round-wager,.mp-real-room .seat-left-top .mp-round-wager,.mp-real-room .seat-upper-left .mp-round-wager{left:122%!important;top:48%!important}
.mp-real-room .seat-lower-right .mp-round-wager,.mp-real-room .seat-right .mp-round-wager,.mp-real-room .seat-right-top .mp-round-wager,.mp-real-room .seat-upper-right .mp-round-wager{left:-22%!important;top:48%!important}
/* Asientos libres: mismos puntos físicos del anillo. */
.mp-real-room .take-upper-left{left:17%!important;top:-12px!important}
.mp-real-room .take-upper-right{right:17%!important;top:-12px!important}
/* Vuelo visual de la diferencia no igualada de vuelta al jugador. */
.mp-refund-flight{position:absolute;z-index:72;pointer-events:none;opacity:0;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;color:#f4d374;font-size:10px;font-weight:900;filter:drop-shadow(0 5px 6px rgba(0,0,0,.55))}
.mp-refund-flight .wager-stack{position:relative;width:24px;height:20px}
.mp-refund-flight .wager-stack i{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid #d8ae58;background:#17394a;box-shadow:inset 0 0 0 2px rgba(255,255,255,.16)}
.mp-refund-flight .wager-stack i:nth-child(1){left:0;top:3px}.mp-refund-flight .wager-stack i:nth-child(2){left:7px;top:0}
@media(max-width:390px){
  .mp-real-room .poker-seat.seat-lower-left{left:-14px!important}.mp-real-room .poker-seat.seat-lower-right{right:-14px!important}
  .mp-real-room .poker-seat.seat-left,.mp-real-room .poker-seat.seat-left-top{left:-24px!important}
  .mp-real-room .poker-seat.seat-right,.mp-real-room .poker-seat.seat-right-top{right:-24px!important}
  .mp-real-room .poker-seat.seat-upper-left{left:14%!important}.mp-real-room .poker-seat.seat-upper-right{right:14%!important}
}
\n\n/* ==========================================================
   MALECÓN V81.1 — zona inferior reservada para controles
   ========================================================== */
/* El héroe queda abajo a la izquierda del centro. Esto deja libres
   las cartas, emoji y, sobre todo, toda la columna de acciones derecha. */
.mp-real-room .poker-seat.seat-me{
  left:24%!important; right:auto!important; bottom:18px!important; top:auto!important;
  transform:translateX(-50%)!important;
}
/* Los dos vecinos inferiores suben por los laterales. Ningún rival puede
   ocupar la franja inferior usada por No ir / Igualar / Subir / apuestas rápidas. */
.mp-real-room .poker-seat.seat-lower-right{
  right:-8px!important; left:auto!important; top:58%!important; bottom:auto!important;
}
.mp-real-room .poker-seat.seat-lower-left{
  left:-8px!important; right:auto!important; top:58%!important; bottom:auto!important;
}
/* El resto conserva puntos físicos fijos y espaciados. */
.mp-real-room .poker-seat.seat-right{right:-19px!important;left:auto!important;top:43%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-right-top{right:-14px!important;left:auto!important;top:27%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-upper-right{right:17%!important;left:auto!important;top:28px!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-upper-left{left:17%!important;right:auto!important;top:28px!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-left-top{left:-14px!important;right:auto!important;top:27%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-left{left:-19px!important;right:auto!important;top:43%!important;bottom:auto!important}
/* Las apuestas de los vecinos inferiores se proyectan hacia el centro,
   nunca hacia la columna de botones. */
.mp-real-room .seat-lower-right .mp-round-wager{left:-24%!important;top:42%!important}
.mp-real-room .seat-lower-left .mp-round-wager{left:124%!important;top:42%!important}
@media(max-width:390px){
  .mp-real-room .poker-seat.seat-me{left:23%!important;bottom:16px!important}
  .mp-real-room .poker-seat.seat-lower-right{right:-14px!important;top:57%!important}
  .mp-real-room .poker-seat.seat-lower-left{left:-14px!important;top:57%!important}
}

/* ==========================================================
   MALECÓN V81.2 — distribución final basada en referencia móvil
   ========================================================== */
/* El perfil local sube claramente respecto a V81.1. Queda abajo-izquierda,
   pero fuera de la franja de No ir / Igualar y de la columna de subidas. */
.mp-real-room .poker-seat.seat-me{
  left:22%!important;
  right:auto!important;
  bottom:104px!important;
  top:auto!important;
  transform:translateX(-50%)!important;
}
/* Primer vecino: lateral derecho medio-bajo, como en la referencia.
   Nunca invade la columna de acciones rápida. */
.mp-real-room .poker-seat.seat-lower-right{
  right:-7px!important;
  left:auto!important;
  top:59%!important;
  bottom:auto!important;
}
/* Vecino del otro lado y resto del anillo: puntos físicos fijos. */
.mp-real-room .poker-seat.seat-lower-left{left:-7px!important;right:auto!important;top:59%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-right{right:-18px!important;left:auto!important;top:43%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-right-top{right:-13px!important;left:auto!important;top:27%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-upper-right{right:17%!important;left:auto!important;top:28px!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-top{left:50%!important;right:auto!important;top:18px!important;bottom:auto!important;transform:translateX(-50%)!important}
.mp-real-room .poker-seat.seat-upper-left{left:17%!important;right:auto!important;top:28px!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-left-top{left:-13px!important;right:auto!important;top:27%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-left{left:-18px!important;right:auto!important;top:43%!important;bottom:auto!important}
/* Las fichas del jugador local quedan encima del perfil, hacia el centro. */
.mp-real-room .seat-me .mp-round-wager{left:112%!important;top:-28px!important;transform:none!important}
/* Asientos libres = exactamente los mismos puntos físicos que los perfiles.
   Esto evita que un botón de asiento libre aparezca encima de un ocupado. */
.mp-real-room .take-left-bottom{left:-20px!important;right:auto!important;top:59%!important;bottom:auto!important}
.mp-real-room .take-left-mid{left:-28px!important;right:auto!important;top:43%!important;bottom:auto!important}
.mp-real-room .take-left-top{left:-24px!important;right:auto!important;top:27%!important;bottom:auto!important}
.mp-real-room .take-upper-left{left:17%!important;right:auto!important;top:-12px!important;bottom:auto!important}
.mp-real-room .take-top{left:50%!important;right:auto!important;top:-17px!important;bottom:auto!important;transform:translateX(-50%)!important}
.mp-real-room .take-upper-right{right:17%!important;left:auto!important;top:-12px!important;bottom:auto!important}
.mp-real-room .take-right-top{right:-24px!important;left:auto!important;top:27%!important;bottom:auto!important}
.mp-real-room .take-right-mid{right:-28px!important;left:auto!important;top:43%!important;bottom:auto!important}
.mp-real-room .take-right-bottom{right:-20px!important;left:auto!important;top:59%!important;bottom:auto!important}
/* El asiento físico 0 al observar sigue abajo, pero más arriba para no quedar
   pegado al borde ni a la ayuda del espectador. */
.mp-real-room .poker-seat.seat-bottom{left:22%!important;right:auto!important;bottom:104px!important;top:auto!important;transform:translateX(-50%)!important}
.mp-real-room .take-bottom{left:22%!important;right:auto!important;bottom:86px!important;top:auto!important;transform:translateX(-50%)!important}
@media(max-width:390px){
  .mp-real-room .poker-seat.seat-me,.mp-real-room .poker-seat.seat-bottom{left:21%!important;bottom:98px!important}
  .mp-real-room .poker-seat.seat-lower-right{right:-12px!important;top:58.5%!important}
  .mp-real-room .poker-seat.seat-lower-left{left:-12px!important;top:58.5%!important}
  .mp-real-room .take-right-bottom{right:-22px!important;top:58.5%!important}
  .mp-real-room .take-left-bottom{left:-22px!important;top:58.5%!important}
  .mp-real-room .take-bottom{left:21%!important;bottom:82px!important}
}

/* ===== Malecón V81.3 =====
   Controles de mostrar cartas estilo barra inferior + cartas limpias. */
.playing-card{overflow:hidden}
.card-corner.bottom{display:none!important}
.card-corner.top{left:4px!important;top:4px!important;align-items:center!important}
.card-corner.top b{font-family:Arial,sans-serif!important;font-weight:900!important;font-size:13px!important;letter-spacing:-.4px}
.card-corner.top span{font-family:Georgia,'Times New Roman',serif!important;font-size:9px!important;margin-top:1px!important;color:inherit!important}
.card-center-suit{font-size:27px!important;color:inherit!important;text-shadow:none!important}
.seat-cards .card-corner.top b{font-size:11px!important}.seat-cards .card-corner.top span{font-size:8px!important}.seat-cards .card-center-suit{font-size:21px!important}
.seat-cards.many-cards .card-corner.top b{font-size:9px!important}.seat-cards.many-cards .card-corner.top span{font-size:7px!important}.seat-cards.many-cards .card-center-suit{font-size:16px!important}

.mp-real-room .mp-show-cards.clubgg-show-controls{position:absolute!important;left:2%!important;right:2%!important;bottom:-1%!important;transform:none!important;width:auto!important;z-index:45!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.mp-show-cards.clubgg-show-controls .mp-show-card-btn{height:58px!important;border-radius:8px!important;border:1px solid rgba(255,255,255,.18)!important;background:linear-gradient(180deg,#26313a,#11191f)!important;color:#f4f5f6!important;box-shadow:0 4px 10px rgba(0,0,0,.55)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:5px 7px!important;font-size:11px!important;font-weight:900!important}
.mp-show-cards.clubgg-show-controls .mp-show-card-btn:active{transform:translateY(1px);filter:brightness(1.12)}
.mp-show-cards.clubgg-show-controls .mp-show-card-btn>span{white-space:nowrap}
.mp-show-mini-card{width:34px;height:43px;border-radius:4px;background:#f7f7f5;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;font-style:normal;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.mp-show-mini-card.red,.mp-show-mini-pair b.red{color:#c51f2c}
.mp-show-mini-card b{font-size:17px;line-height:1}.mp-show-mini-card em{font-style:normal;font-family:Georgia,serif;font-size:16px;line-height:1;margin-top:2px}
.mp-show-mini-pair{display:flex;align-items:center;font-style:normal}
.mp-show-mini-pair b{width:29px;height:39px;margin-left:-5px;border-radius:4px;background:#f7f7f5;color:#111;display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.mp-show-mini-pair b:first-child{margin-left:0}.mp-show-mini-pair em{font-style:normal;font-size:11px;margin-left:1px}
.mp-show-cards.clubgg-show-controls.many{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:390px){.mp-real-room .mp-show-cards.clubgg-show-controls{left:1.5%!important;right:1.5%!important;gap:5px!important}.mp-show-cards.clubgg-show-controls .mp-show-card-btn{height:54px!important;font-size:10px!important;padding:4px!important}.mp-show-mini-card{width:30px;height:39px}.mp-show-mini-card b{font-size:15px}.mp-show-mini-card em{font-size:14px}}

/* V81.4: cartas más limpias; el palo grande baja y gana separación respecto a la esquina. */
.card-center-suit{top:61%!important;font-size:30px!important}
.seat-cards .card-center-suit{top:61%!important;font-size:23px!important}
.seat-cards.many-cards .card-center-suit{top:61%!important;font-size:18px!important}
.mp-card-flight .card-center-suit{top:61%!important;font-size:22px!important}


/* ==========================================================
   MALECÓN V81.5 — centro libre + palos de carta más bajos
   ========================================================== */
/* Los cuatro palos (♠ ♥ ♦ ♣) usan la misma separación vertical.
   El símbolo grande se baja como bloque, sin tocar valor/palo pequeño. */
.card-center-suit{top:69%!important;font-size:30px!important;line-height:1!important}
.seat-cards .card-center-suit{top:69%!important;font-size:23px!important}
.seat-cards.many-cards .card-center-suit{top:69%!important;font-size:18px!important}
.mp-card-flight .card-center-suit{top:69%!important;font-size:22px!important}

/* Anillo exterior tipo ClubGG: perfiles en el perímetro y carril central limpio. */
.mp-real-room .poker-seat.seat-me{left:21%!important;bottom:104px!important}
.mp-real-room .poker-seat.seat-lower-left{left:-13px!important;top:61%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-left{left:-20px!important;top:47%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-left-top{left:-14px!important;top:30%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-upper-left{left:18%!important;top:27px!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-top{left:50%!important;top:18px!important;bottom:auto!important;transform:translateX(-50%)!important}
.mp-real-room .poker-seat.seat-upper-right{right:18%!important;top:27px!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-right-top{right:-14px!important;top:30%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-right{right:-20px!important;top:47%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-lower-right{right:-13px!important;top:61%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-bottom{left:21%!important;bottom:104px!important;transform:translateX(-50%)!important}

/* Las fichas apostadas se quedan pegadas a su jugador, en el anillo exterior.
   No se proyectan hacia la hilera central de cartas comunitarias. */
.mp-real-room .seat-me .mp-round-wager{left:108%!important;top:-24px!important;transform:none!important}
.mp-real-room .seat-lower-left .mp-round-wager,
.mp-real-room .seat-left .mp-round-wager,
.mp-real-room .seat-left-top .mp-round-wager,
.mp-real-room .seat-upper-left .mp-round-wager{left:104%!important;top:26%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-lower-right .mp-round-wager,
.mp-real-room .seat-right .mp-round-wager,
.mp-real-room .seat-right-top .mp-round-wager,
.mp-real-room .seat-upper-right .mp-round-wager{left:-4%!important;top:26%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-top .mp-round-wager{left:50%!important;top:100%!important;transform:translate(-50%,-50%)!important}

/* Asientos libres: exactamente el mismo anillo físico de V81.5. */
.mp-real-room .take-bottom{left:21%!important;bottom:82px!important;transform:translateX(-50%)!important}
.mp-real-room .take-left-bottom{left:-22px!important;top:61%!important}
.mp-real-room .take-left-mid{left:-29px!important;top:47%!important}
.mp-real-room .take-left-top{left:-23px!important;top:30%!important}
.mp-real-room .take-upper-left{left:18%!important;top:-12px!important}
.mp-real-room .take-top{left:50%!important;top:-17px!important;transform:translateX(-50%)!important}
.mp-real-room .take-upper-right{right:18%!important;top:-12px!important}
.mp-real-room .take-right-top{right:-23px!important;top:30%!important}
.mp-real-room .take-right-mid{right:-29px!important;top:47%!important}
.mp-real-room .take-right-bottom{right:-22px!important;top:61%!important}

@media(max-width:390px){
  .mp-real-room .poker-seat.seat-me,.mp-real-room .poker-seat.seat-bottom{left:20%!important;bottom:98px!important}
  .mp-real-room .poker-seat.seat-left{left:-24px!important}.mp-real-room .poker-seat.seat-right{right:-24px!important}
  .mp-real-room .poker-seat.seat-left-top{left:-18px!important}.mp-real-room .poker-seat.seat-right-top{right:-18px!important}
  .mp-real-room .poker-seat.seat-lower-left{left:-17px!important}.mp-real-room .poker-seat.seat-lower-right{right:-17px!important}
  .mp-real-room .poker-seat.seat-upper-left{left:15%!important}.mp-real-room .poker-seat.seat-upper-right{right:15%!important}
  .mp-real-room .take-bottom{left:20%!important;bottom:78px!important}
}

/* ==========================================================
   MALECÓN V81.6 — perímetro despejado + turnos visuales horarios
   ========================================================== */
/* Bajar un poco más el símbolo CENTRAL de los cuatro palos.
   Se mantiene intacto el valor y el palo pequeño de la esquina. */
.card-center-suit{top:74%!important}
.seat-cards .card-center-suit{top:74%!important}
.seat-cards.many-cards .card-center-suit{top:74%!important}
.mp-card-flight .card-center-suit{top:74%!important}

/* Zona segura: ningún perfil invade el rectángulo central del board/bote. */
.mp-real-room .poker-seat.seat-me{left:20%!important;right:auto!important;bottom:108px!important;top:auto!important;transform:translateX(-50%)!important}
.mp-real-room .poker-seat.seat-top{left:50%!important;right:auto!important;top:16px!important;bottom:auto!important;transform:translateX(-50%)!important}
.mp-real-room .poker-seat.seat-upper-left{left:19%!important;right:auto!important;top:24px!important;bottom:auto!important;transform:none!important}
.mp-real-room .poker-seat.seat-upper-right{right:19%!important;left:auto!important;top:24px!important;bottom:auto!important;transform:none!important}
.mp-real-room .poker-seat.seat-left-top{left:-24px!important;right:auto!important;top:27%!important;bottom:auto!important;transform:none!important}
.mp-real-room .poker-seat.seat-right-top{right:-24px!important;left:auto!important;top:27%!important;bottom:auto!important;transform:none!important}
.mp-real-room .poker-seat.seat-left{left:-31px!important;right:auto!important;top:47%!important;bottom:auto!important;transform:none!important}
.mp-real-room .poker-seat.seat-right{right:-31px!important;left:auto!important;top:47%!important;bottom:auto!important;transform:none!important}
.mp-real-room .poker-seat.seat-lower-left{left:-20px!important;right:auto!important;top:64%!important;bottom:auto!important;transform:none!important}
.mp-real-room .poker-seat.seat-lower-right{right:-20px!important;left:auto!important;top:64%!important;bottom:auto!important;transform:none!important}
.mp-real-room .poker-seat.seat-bottom{left:20%!important;right:auto!important;bottom:108px!important;top:auto!important;transform:translateX(-50%)!important}

/* Las apuestas se mantienen en un carril exterior pegado a cada perfil.
   Así no entran en la hilera de cartas comunitarias. */
.mp-real-room .seat-me .mp-round-wager{left:108%!important;top:-20px!important;transform:none!important}
.mp-real-room .seat-lower-left .mp-round-wager,
.mp-real-room .seat-left .mp-round-wager,
.mp-real-room .seat-left-top .mp-round-wager{left:108%!important;top:32%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-upper-left .mp-round-wager{left:88%!important;top:108%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-top .mp-round-wager{left:50%!important;top:108%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-upper-right .mp-round-wager{left:12%!important;top:108%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-lower-right .mp-round-wager,
.mp-real-room .seat-right .mp-round-wager,
.mp-real-room .seat-right-top .mp-round-wager{left:-8%!important;top:32%!important;transform:translate(-50%,-50%)!important}

/* Botones de asiento libre = exactamente las mismas posiciones físicas. */
.mp-real-room .take-bottom{left:20%!important;bottom:86px!important;transform:translateX(-50%)!important}
.mp-real-room .take-top{left:50%!important;top:-18px!important;transform:translateX(-50%)!important}
.mp-real-room .take-upper-left{left:19%!important;top:-14px!important}
.mp-real-room .take-upper-right{right:19%!important;top:-14px!important}
.mp-real-room .take-left-top{left:-33px!important;top:27%!important}
.mp-real-room .take-right-top{right:-33px!important;top:27%!important}
.mp-real-room .take-left-mid{left:-40px!important;top:47%!important}
.mp-real-room .take-right-mid{right:-40px!important;top:47%!important}
.mp-real-room .take-left-bottom{left:-29px!important;top:64%!important}
.mp-real-room .take-right-bottom{right:-29px!important;top:64%!important}

@media(max-width:390px){
  .mp-real-room .poker-seat.seat-me,.mp-real-room .poker-seat.seat-bottom{left:19%!important;bottom:102px!important}
  .mp-real-room .poker-seat.seat-left,.mp-real-room .poker-seat.seat-right{top:46%!important}
  .mp-real-room .poker-seat.seat-lower-left,.mp-real-room .poker-seat.seat-lower-right{top:63%!important}
  .mp-real-room .poker-seat.seat-upper-left{left:16%!important}.mp-real-room .poker-seat.seat-upper-right{right:16%!important}
  .mp-real-room .take-bottom{left:19%!important;bottom:80px!important}
}


/* V81.7.2 — rollback visual estable a geometría V81.2; motor de turnos V81.7 intacto */
/* ==========================================================
   MALECÓN V81.2 — distribución final basada en referencia móvil
   ========================================================== */
/* El perfil local sube claramente respecto a V81.1. Queda abajo-izquierda,
   pero fuera de la franja de No ir / Igualar y de la columna de subidas. */
.mp-real-room .poker-seat.seat-me{
  left:22%!important;
  right:auto!important;
  bottom:104px!important;
  top:auto!important;
  transform:translateX(-50%)!important;
}
/* Primer vecino: lateral derecho medio-bajo, como en la referencia.
   Nunca invade la columna de acciones rápida. */
.mp-real-room .poker-seat.seat-lower-right{
  right:-7px!important;
  left:auto!important;
  top:59%!important;
  bottom:auto!important;
}
/* Vecino del otro lado y resto del anillo: puntos físicos fijos. */
.mp-real-room .poker-seat.seat-lower-left{left:-7px!important;right:auto!important;top:59%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-right{right:-18px!important;left:auto!important;top:43%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-right-top{right:-13px!important;left:auto!important;top:27%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-upper-right{right:17%!important;left:auto!important;top:28px!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-top{left:50%!important;right:auto!important;top:18px!important;bottom:auto!important;transform:translateX(-50%)!important}
.mp-real-room .poker-seat.seat-upper-left{left:17%!important;right:auto!important;top:28px!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-left-top{left:-13px!important;right:auto!important;top:27%!important;bottom:auto!important}
.mp-real-room .poker-seat.seat-left{left:-18px!important;right:auto!important;top:43%!important;bottom:auto!important}
/* Las fichas del jugador local quedan encima del perfil, hacia el centro. */
.mp-real-room .seat-me .mp-round-wager{left:112%!important;top:-28px!important;transform:none!important}
/* Asientos libres = exactamente los mismos puntos físicos que los perfiles.
   Esto evita que un botón de asiento libre aparezca encima de un ocupado. */
.mp-real-room .take-left-bottom{left:-20px!important;right:auto!important;top:59%!important;bottom:auto!important}
.mp-real-room .take-left-mid{left:-28px!important;right:auto!important;top:43%!important;bottom:auto!important}
.mp-real-room .take-left-top{left:-24px!important;right:auto!important;top:27%!important;bottom:auto!important}
.mp-real-room .take-upper-left{left:17%!important;right:auto!important;top:-12px!important;bottom:auto!important}
.mp-real-room .take-top{left:50%!important;right:auto!important;top:-17px!important;bottom:auto!important;transform:translateX(-50%)!important}
.mp-real-room .take-upper-right{right:17%!important;left:auto!important;top:-12px!important;bottom:auto!important}
.mp-real-room .take-right-top{right:-24px!important;left:auto!important;top:27%!important;bottom:auto!important}
.mp-real-room .take-right-mid{right:-28px!important;left:auto!important;top:43%!important;bottom:auto!important}
.mp-real-room .take-right-bottom{right:-20px!important;left:auto!important;top:59%!important;bottom:auto!important}
/* El asiento físico 0 al observar sigue abajo, pero más arriba para no quedar
   pegado al borde ni a la ayuda del espectador. */
.mp-real-room .poker-seat.seat-bottom{left:22%!important;right:auto!important;bottom:104px!important;top:auto!important;transform:translateX(-50%)!important}
.mp-real-room .take-bottom{left:22%!important;right:auto!important;bottom:86px!important;top:auto!important;transform:translateX(-50%)!important}
@media(max-width:390px){
  .mp-real-room .poker-seat.seat-me,.mp-real-room .poker-seat.seat-bottom{left:21%!important;bottom:98px!important}
  .mp-real-room .poker-seat.seat-lower-right{right:-12px!important;top:58.5%!important}
  .mp-real-room .poker-seat.seat-lower-left{left:-12px!important;top:58.5%!important}
  .mp-real-room .take-right-bottom{right:-22px!important;top:58.5%!important}
  .mp-real-room .take-left-bottom{left:-22px!important;top:58.5%!important}
  .mp-real-room .take-bottom{left:21%!important;bottom:82px!important}
}


/* ==========================================================
   MALECÓN V81.8 — ajuste mínimo de asientos laterales derechos
   Base: V81.7.2. NO toca motor de turnos, cartas ni lógica.
   Objetivo: subir el bloque superior/derecho para dejar una
   franja libre frente a las cartas comunitarias.
   ========================================================== */
.mp-real-room .poker-seat.seat-upper-right{top:16px!important}
.mp-real-room .poker-seat.seat-right-top{top:22%!important}
.mp-real-room .poker-seat.seat-right{top:37%!important}
/* El asiento inferior derecho permanece en 59% para abrir el hueco central. */
.mp-real-room .poker-seat.seat-lower-right{top:59%!important}

/* Los botones de asientos libres siguen exactamente la nueva geometría. */
.mp-real-room .take-upper-right{top:-20px!important}
.mp-real-room .take-right-top{top:22%!important}
.mp-real-room .take-right-mid{top:37%!important}
.mp-real-room .take-right-bottom{top:59%!important}

@media(max-width:390px){
  .mp-real-room .poker-seat.seat-upper-right{top:14px!important}
  .mp-real-room .poker-seat.seat-right-top{top:21.5%!important}
  .mp-real-room .poker-seat.seat-right{top:36.5%!important}
  .mp-real-room .poker-seat.seat-lower-right{top:58.5%!important}
  .mp-real-room .take-upper-right{top:-21px!important}
  .mp-real-room .take-right-top{top:21.5%!important}
  .mp-real-room .take-right-mid{top:36.5%!important}
  .mp-real-room .take-right-bottom{top:58.5%!important}
}

/* ==========================================================
   MALECÓN V81.9 — corredor central simétrico
   Solo ajusta los DOS asientos izquierdos indicados en V81.8.
   Espejo exacto del bloque derecho ya aprobado: 22% / 37%.
   ========================================================== */
.mp-real-room .poker-seat.seat-left-top{top:22%!important}
.mp-real-room .poker-seat.seat-left{top:37%!important}
.mp-real-room .take-left-top{top:22%!important}
.mp-real-room .take-left-mid{top:37%!important}

@media(max-width:390px){
  .mp-real-room .poker-seat.seat-left-top{top:21.5%!important}
  .mp-real-room .poker-seat.seat-left{top:36.5%!important}
  .mp-real-room .take-left-top{top:21.5%!important}
  .mp-real-room .take-left-mid{top:36.5%!important}
}

/* ==========================================================
   MALECÓN V82 — botón de dealer visible
   El marcador D no define la lógica por CSS: refleja dealerPlayerId del servidor.
   Sirve para que el recorrido de cada calle sea verificable visualmente.
   ========================================================== */
.mp-real-room .dealer-button-chip{
  position:absolute; z-index:9; width:26px; height:26px; border-radius:50%;
  display:grid; place-items:center; font-weight:900; font-size:13px;
  color:#171717; background:linear-gradient(145deg,#f5f7f8,#9ea6ab);
  border:1px solid #fff; box-shadow:0 2px 7px #0008, inset 0 0 0 1px #646b70;
  right:-9px; bottom:-8px;
}
.mp-real-room .poker-seat.me .dealer-button-chip{right:-7px;bottom:-10px}

/* ==========================================================
   MALECÓN V85.3 — ajuste exclusivo de mesa de 6 jugadores
   Base: V85.2.1. ÚNICO cambio visual: bajar los dos asientos
   superiores de las esquinas (izquierda/derecha) para separar
   el bloque superior sin alterar el centro ni otras capacidades.
   ========================================================== */
.mp-real-room .poker-felt.premium-felt.seats-6 .poker-seat.seat-upper-left,
.mp-real-room .poker-felt.premium-felt.seats-6 .poker-seat.seat-upper-right{
  top:82px!important;
}
/* Si ese mismo asiento físico está libre, su botón acompaña la nueva posición. */
.mp-real-room .poker-felt.premium-felt.seats-6 .take-upper-left,
.mp-real-room .poker-felt.premium-felt.seats-6 .take-upper-right{
  top:42px!important;
}
@media(max-width:390px){
  .mp-real-room .poker-felt.premium-felt.seats-6 .poker-seat.seat-upper-left,
  .mp-real-room .poker-felt.premium-felt.seats-6 .poker-seat.seat-upper-right{
    top:78px!important;
  }
  .mp-real-room .poker-felt.premium-felt.seats-6 .take-upper-left,
  .mp-real-room .poker-felt.premium-felt.seats-6 .take-upper-right{
    top:38px!important;
  }
}


/* ==========================================================
   MALECÓN V85.4 — Cambio 1: mesa de 6, esquinas superiores
   Mantener la altura de V85.3 pero llevar ambos asientos hacia
   el borde exterior. Solo afecta a mesas de exactamente 6 plazas.
   ========================================================== */
.mp-real-room .poker-felt.premium-felt.seats-6 .poker-seat.seat-upper-left{left:9%!important;right:auto!important;top:82px!important}
.mp-real-room .poker-felt.premium-felt.seats-6 .poker-seat.seat-upper-right{right:9%!important;left:auto!important;top:82px!important}
.mp-real-room .poker-felt.premium-felt.seats-6 .take-upper-left{left:9%!important;right:auto!important;top:42px!important}
.mp-real-room .poker-felt.premium-felt.seats-6 .take-upper-right{right:9%!important;left:auto!important;top:42px!important}
@media(max-width:390px){
 .mp-real-room .poker-felt.premium-felt.seats-6 .poker-seat.seat-upper-left{left:6%!important;top:78px!important}
 .mp-real-room .poker-felt.premium-felt.seats-6 .poker-seat.seat-upper-right{right:6%!important;top:78px!important}
 .mp-real-room .poker-felt.premium-felt.seats-6 .take-upper-left{left:6%!important;top:38px!important}
 .mp-real-room .poker-felt.premium-felt.seats-6 .take-upper-right{right:6%!important;top:38px!important}
}

/* V85.4 — Cambio 2: ritmo visual más legible. Cada movimiento termina
   antes de que el siguiente destaque; sin hacer la mano artificialmente lenta. */
.mp-real-room .mp-wager-flight{animation-duration:.78s!important}
.mp-real-room .mp-wager-collect{animation-duration:1.05s!important}
.mp-real-room .mp-card-flight{animation-duration:.76s!important}
.mp-real-room .mp-card-flight.reveal .mp-flight-inner{animation-duration:.76s!important}

/* ==========================================================
   Malecón V85.6 — ajuste fino de ritmo visual
   - reparto privado rápido, continuo y suave
   - ancla invisible para que la ficha viaje a su posición real
     sin dibujar dos apuestas a la vez
   - recogida al bote protegida de refrescos intermedios
   ========================================================== */
.mp-real-room .mp-wager-anchor{position:absolute;width:2px;height:2px;pointer-events:none;opacity:0;z-index:1}
.mp-real-room .seat-me .mp-wager-anchor{left:108%!important;top:-20px!important}
.mp-real-room .seat-lower-left .mp-wager-anchor,
.mp-real-room .seat-left .mp-wager-anchor,
.mp-real-room .seat-left-top .mp-wager-anchor{left:108%!important;top:32%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-upper-left .mp-wager-anchor{left:88%!important;top:108%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-top .mp-wager-anchor{left:50%!important;top:108%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-upper-right .mp-wager-anchor{left:12%!important;top:108%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-lower-right .mp-wager-anchor,
.mp-real-room .seat-right .mp-wager-anchor,
.mp-real-room .seat-right-top .mp-wager-anchor{left:-8%!important;top:32%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-bottom .mp-wager-anchor,
.mp-real-room .seat-bottom-center .mp-wager-anchor{left:50%!important;top:-30px!important;transform:translateX(-50%)!important}
.mp-real-room .seat-bottom-right .mp-wager-anchor{left:20%!important;top:-30px!important}
.mp-real-room .mp-card-flight{animation-duration:.22s!important;animation-timing-function:cubic-bezier(.18,.74,.22,1)!important}
.mp-real-room .mp-card-flight.reveal .mp-flight-inner{animation-duration:.22s!important;animation-timing-function:cubic-bezier(.22,.72,.22,1)!important}


/* ==========================================================
   MALECÓN V85.8 — animación de fichas precisa y continua
   1) La ficha avatar→mesa aterriza exactamente donde quedará la apuesta.
   2) La recogida mesa→bote usa clones en coordenadas reales para evitar
      saltos causados por transforms distintos entre posiciones de asiento.
   ========================================================== */
.mp-real-room .mp-wager-flight{z-index:62!important;will-change:transform,opacity}
.mp-real-room .mp-wager-flight.landed{opacity:1}
.mp-real-room .mp-collect-flight{
  position:absolute!important;z-index:61!important;display:flex!important;
  align-items:center!important;gap:4px!important;margin:0!important;
  pointer-events:none!important;will-change:transform,opacity;
}
.mp-real-room .mp-collect-flight .wager-stack{display:flex!important}
.mp-real-room .mp-collect-flight strong{font-size:8px}
/* Anclas de aterrizaje = geometría FINAL de .mp-round-wager. */
.mp-real-room .seat-me .mp-wager-anchor{left:112%!important;top:-28px!important;transform:none!important}
.mp-real-room .seat-lower-left .mp-wager-anchor,
.mp-real-room .seat-left .mp-wager-anchor,
.mp-real-room .seat-left-top .mp-wager-anchor{left:108%!important;top:32%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-upper-left .mp-wager-anchor{left:88%!important;top:108%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-top .mp-wager-anchor{left:50%!important;top:108%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-upper-right .mp-wager-anchor{left:12%!important;top:108%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-lower-right .mp-wager-anchor,
.mp-real-room .seat-right .mp-wager-anchor,
.mp-real-room .seat-right-top .mp-wager-anchor{left:-8%!important;top:32%!important;transform:translate(-50%,-50%)!important}
.mp-real-room .seat-bottom .mp-wager-anchor,
.mp-real-room .seat-bottom-center .mp-wager-anchor{left:50%!important;top:-30px!important;transform:translateX(-50%)!important}
.mp-real-room .seat-bottom-right .mp-wager-anchor{left:20%!important;top:-30px!important;transform:none!important}

/* V85.9 — TRÍO: reserva el hueco tras retirar una carta sin revelar la nueva antes de tiempo. */
.hole-card.mp-draw-slot{width:31px;height:44px;visibility:hidden;pointer-events:none;flex:0 0 31px}
.mp-real-room .poker-seat.v53-seat .seat-cards.many-cards .hole-card.mp-draw-slot{width:27px;height:42px;flex-basis:27px}

/* ==========================================================
   MALECÓN V86.4 — aterrizaje de fichas sin salto lateral
   El punto CSS de la apuesta representa siempre el centro del stack de fichas,
   no el centro del bloque completo (stack + importe). Así, al cambiar 40→120,
   el ancho del texto no desplaza la ficha que acaba de aterrizar.
   ========================================================== */
.mp-real-room .poker-seat>.seat-wager.mp-round-wager{
  transform:translate(-11px,-50%)!important;
}
/* El ancla de la primera apuesta usa exactamente las mismas coordenadas. */
.mp-real-room .seat-me .mp-wager-anchor{left:108%!important;top:-20px!important;transform:none!important}
.mp-real-room .seat-lower-left .mp-wager-anchor,
.mp-real-room .seat-left .mp-wager-anchor,
.mp-real-room .seat-left-top .mp-wager-anchor{left:108%!important;top:32%!important;transform:none!important}
.mp-real-room .seat-upper-left .mp-wager-anchor{left:88%!important;top:108%!important;transform:none!important}
.mp-real-room .seat-top .mp-wager-anchor{left:50%!important;top:108%!important;transform:none!important}
.mp-real-room .seat-upper-right .mp-wager-anchor{left:12%!important;top:108%!important;transform:none!important}
.mp-real-room .seat-lower-right .mp-wager-anchor,
.mp-real-room .seat-right .mp-wager-anchor,
.mp-real-room .seat-right-top .mp-wager-anchor{left:-8%!important;top:32%!important;transform:none!important}
.mp-real-room .seat-bottom .mp-wager-anchor,
.mp-real-room .seat-bottom-center .mp-wager-anchor{left:50%!important;top:-30px!important;transform:none!important}
.mp-real-room .seat-bottom-right .mp-wager-anchor{left:20%!important;top:-30px!important;transform:none!important}
