:root{--bg:#0d0f14;--panel:#171a22;--text:#f6f7fb;--muted:#9298a6;--accent:#ff355f;--accent2:#24d18f;--felt:#105c43;--felt2:#0b4735;--line:rgba(255,255,255,.12)}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;height:100dvh;overflow:hidden;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);touch-action:manipulation}button,input{font:inherit}.hidden{display:none!important}.screen{height:100dvh;width:100vw;overflow:hidden}.lobby{display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 25%,#2a1730 0,#11131a 35%,#090b0f 72%)}.brand{text-align:center;margin-bottom:16px}.logo{width:68px;height:68px;display:grid;place-items:center;margin:auto;border-radius:22px;background:linear-gradient(145deg,#ff3c65,#b71538);font-size:40px;box-shadow:0 14px 40px #ff355f33}.brand h1{margin:12px 0 0;letter-spacing:.14em;font-size:clamp(22px,5vw,34px)}.brand p{color:var(--muted);margin:6px}.panel{width:min(380px,92vw);background:#171a22e8;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 24px 80px #0008;backdrop-filter:blur(14px)}label{display:grid;gap:7px;color:#c9cbd3;font-size:13px;margin-bottom:12px}input[type=text],label input{border:1px solid #343846;background:#0e1016;color:#fff;padding:13px 14px;border-radius:12px;outline:none;text-transform:none}.panel button{width:100%}.sep{display:flex;align-items:center;gap:10px;color:#656b78;margin:14px 0}.sep span{height:1px;flex:1;background:#343846}button{border:1px solid #343846;background:#242833;color:#fff;border-radius:12px;padding:11px 14px;font-weight:750;cursor:pointer}.primary{background:linear-gradient(180deg,#ff466d,#e82250);border-color:#ff5175}.danger{background:#3c2029;border-color:#63303f}#error{color:#ff7892;min-height:18px;text-align:center;margin:10px 0 0;font-size:13px}.game{position:relative;background:radial-gradient(circle at 50% 40%,#171a21 0,#0b0d12 72%)}header{position:absolute;z-index:20;top:0;left:0;right:0;height:56px;padding:max(8px,env(safe-area-inset-top)) 12px 0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}header>*{pointer-events:auto}.icon{width:38px;height:38px;padding:0;border-radius:50%;font-size:22px;background:#11151ddd}.table-info{text-align:center;display:grid;gap:2px;font-size:11px;color:var(--muted)}.table-info b{font-size:15px;color:#fff}.table-info span{letter-spacing:.14em}#feltWrap{position:absolute;inset:54px 8px 112px;display:grid;place-items:center}#felt{position:relative;width:min(94vw,940px);height:min(64vh,620px);border-radius:48%;background:radial-gradient(ellipse at center,var(--felt) 0,var(--felt2) 72%);border:7px solid #20242b;box-shadow:inset 0 0 0 2px #ffffff14,0 16px 60px #0009}.center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;gap:8px}.cards{display:flex;gap:5px}.card{width:clamp(38px,6.5vw,60px);aspect-ratio:.72;border-radius:8px;background:#fafafa;color:#111;display:grid;place-items:center;font-weight:900;font-size:clamp(16px,3vw,24px);box-shadow:0 4px 12px #0005;border:1px solid #ddd}.card.red{color:#d32f46}.card.back{background:repeating-linear-gradient(45deg,#9d2140,#9d2140 5px,#c22e55 5px,#c22e55 10px);border:2px solid #f5ced8;color:transparent}.phase{font-size:10px;letter-spacing:.14em;color:#d8efe8;background:#073a2caa;border-radius:99px;padding:5px 10px}.pot{font-weight:900;font-size:20px}.seat{position:absolute;width:clamp(92px,16vw,142px);transform:translate(-50%,-50%);text-align:center}.avatar{width:clamp(38px,6vw,52px);height:clamp(38px,6vw,52px);border-radius:50%;margin:auto;display:grid;place-items:center;background:#2a303b;border:2px solid #596170;font-weight:900;box-shadow:0 4px 15px #0007}.seat.turn .avatar{border-color:#ffdd66;box-shadow:0 0 0 4px #ffdd6635,0 4px 15px #0007}.seat.me .avatar{border-color:#ff4b73}.seat.folded{opacity:.42}.seat-name{margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(10px,1.7vw,13px);font-weight:800}.seat-stack{font-size:clamp(10px,1.6vw,12px);color:#f5d66b}.seat-action{height:15px;font-size:10px;color:#d0d3da}.hole{display:flex;justify-content:center;gap:2px;position:absolute;left:50%;transform:translateX(-50%);top:-24px}.hole .card{width:clamp(24px,4vw,34px);border-radius:5px;font-size:12px}.dealer{position:absolute;right:6px;top:23px;width:20px;height:20px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-weight:900;font-size:10px}.hostbar{position:absolute;z-index:21;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.actions{position:absolute;z-index:22;bottom:max(6px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(720px,98vw);padding:8px;border-radius:18px;background:#11151deb;border:1px solid var(--line);backdrop-filter:blur(12px)}.quick{display:flex;gap:5px;margin-bottom:6px}.quick button{flex:1;padding:6px;font-size:10px}.raise{display:flex;align-items:center;gap:8px;margin:0 5px 6px}.raise input{flex:1;accent-color:#ff355f}.raise output{min-width:50px;text-align:right;font-weight:900}.main-actions{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:6px}.main-actions button{padding:10px 4px;font-size:12px}.log{position:absolute;left:12px;top:62px;max-width:min(38vw,300px);font-size:10px;color:#a7adb8;pointer-events:none;display:grid;gap:2px}.log div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.offline .avatar{filter:grayscale(1)}
@media(max-width:600px){#feltWrap{inset:52px 2px 118px}#felt{width:96vw;height:min(58vh,440px);border-width:5px}.log{display:none}.seat{width:84px}.hole{top:-18px}.avatar{width:38px;height:38px}.dealer{top:18px;right:1px}.cards{gap:3px}.actions{border-radius:14px}.quick button{font-size:9px}}
@media(max-height:650px){header{height:44px}#feltWrap{inset:40px 8px 94px}#felt{height:64vh;width:min(86vw,780px)}.actions{padding:5px}.quick{margin-bottom:3px}.raise{margin-bottom:3px}.main-actions button{padding:7px}.hostbar{bottom:8px}.seat-action{display:none}}

/* Outils de table */
.header-tools{display:flex;gap:6px}.header-tools .icon{font-size:17px}.modal{position:absolute;z-index:60;inset:0;background:#05070bb8;backdrop-filter:blur(10px);display:grid;place-items:center;padding:12px}.modal-card{width:min(760px,96vw);max-height:min(84dvh,780px);overflow:hidden;background:#151922;border:1px solid #343a48;border-radius:22px;box-shadow:0 24px 90px #000b;display:flex;flex-direction:column}.modal-head{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head>div{display:grid;gap:2px}.modal-head b{font-size:17px}.modal-head span{color:var(--muted);font-size:11px}.history-list,.theme-grid{overflow:auto;-webkit-overflow-scrolling:touch;padding:10px}.empty-history{padding:40px 14px;text-align:center;color:var(--muted)}.history-item{border:1px solid #303643;background:#10141b;border-radius:14px;margin-bottom:8px;overflow:hidden}.history-item summary{list-style:none;cursor:pointer;padding:11px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.history-item summary::-webkit-details-marker{display:none}.history-item summary>div{display:grid;gap:2px}.history-item summary span{font-size:10px;color:var(--muted)}.history-item summary strong{font-size:11px;color:#f5d66b;text-align:right}.history-body{border-top:1px solid var(--line);padding:10px;display:grid;gap:10px}.history-board{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px}.history-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.history-player{border:1px solid #2b303c;background:#181d26;border-radius:10px;padding:8px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px}.history-player>div:first-child{display:grid}.history-player span,.history-player em{font-size:9px;color:var(--muted);font-style:normal}.history-player em{grid-column:1/-1}.history-actions{max-height:150px;overflow:auto;background:#0c0f15;border-radius:10px;padding:8px;font-size:10px;color:#aeb4c0;display:grid;gap:3px}.compact .card{width:30px;font-size:12px;border-radius:5px;box-shadow:none}
.theme-grid{display:grid;gap:9px}.theme-option{width:100%;display:grid;grid-template-columns:150px 1fr 24px;align-items:center;text-align:left;gap:12px;padding:10px;background:#10141b;border-color:#303643}.theme-option.selected{border-color:#ff4b73;box-shadow:inset 0 0 0 1px #ff4b73}.theme-option>div:nth-child(2){display:grid;gap:2px}.theme-option b{font-size:13px}.theme-option span{font-size:10px;color:var(--muted)}.theme-option i{font-style:normal;color:#ff5b7d}.theme-preview{display:flex;gap:3px}.theme-preview .card{width:32px;font-size:12px}

/* Nouveau dessin des cartes */
.card{position:relative;display:flex;align-items:center;justify-content:center;gap:.06em;overflow:hidden;background:linear-gradient(145deg,#fff,#f0f1f3);border:1px solid #d7d9de;color:#111;text-shadow:none}.card .rank{font-size:1em;line-height:1}.card .suit{font-size:.9em;line-height:1}.card.suit-h,.card.suit-d{color:#d92946}.card.suit-s,.card.suit-c{color:#111}.card.back{display:grid;background:linear-gradient(145deg,#a6183d,#d52f5a);color:#fff;border:2px solid #f3c6d2}.card.back:before{content:"";position:absolute;inset:3px;border:1px solid #ffffff80;border-radius:4px;background:repeating-linear-gradient(45deg,#ffffff12 0 3px,#00000010 3px 6px)}.card.back span{position:relative;color:#fff;opacity:.75}.card.mini{font-size:12px}
[data-card-theme="four"] .card.suit-s{color:#16191f}[data-card-theme="four"] .card.suit-h{color:#e1334f}[data-card-theme="four"] .card.suit-d{color:#2688dc}[data-card-theme="four"] .card.suit-c{color:#20a86b}
[data-card-theme="modern"] .card{background:#fff;border:2px solid #fff;box-shadow:0 5px 16px #0008}.game[data-card-theme="modern"] .card .rank,[data-card-theme="modern"] .card .rank{font-size:1.05em}.game[data-card-theme="modern"] .card .suit,[data-card-theme="modern"] .card .suit{font-size:1.05em}
[data-card-theme="dark"] .card{background:linear-gradient(145deg,#252a33,#13171d);border-color:#4a5260;color:#f4f6fa}.game[data-card-theme="dark"] .card.suit-s,[data-card-theme="dark"] .card.suit-s{color:#f4f6fa}[data-card-theme="dark"] .card.suit-c{color:#d5dce7}[data-card-theme="dark"] .card.suit-h{color:#ff5c76}[data-card-theme="dark"] .card.suit-d{color:#ff7189}
[data-card-theme="jumbo"] .card{display:grid;grid-template-rows:auto auto;align-content:center;gap:0}.game[data-card-theme="jumbo"] .card .rank,[data-card-theme="jumbo"] .card .rank{font-size:1.18em;font-weight:950}.game[data-card-theme="jumbo"] .card .suit,[data-card-theme="jumbo"] .card .suit{font-size:.82em}
.theme-preview[data-preview-theme="four"] .suit-s{color:#16191f}.theme-preview[data-preview-theme="four"] .suit-h{color:#e1334f}.theme-preview[data-preview-theme="four"] .suit-d{color:#2688dc}.theme-preview[data-preview-theme="four"] .suit-c{color:#20a86b}.theme-preview[data-preview-theme="dark"] .card{background:#1b2028;border-color:#4a5260}.theme-preview[data-preview-theme="dark"] .suit-s,.theme-preview[data-preview-theme="dark"] .suit-c{color:#fff}.theme-preview[data-preview-theme="dark"] .suit-h,.theme-preview[data-preview-theme="dark"] .suit-d{color:#ff5c76}.theme-preview[data-preview-theme="jumbo"] .card{display:grid;gap:0}

@media(max-width:600px){.header-tools{gap:3px}.header-tools .icon{width:34px;height:34px}.modal{padding:6px}.modal-card{max-height:90dvh;border-radius:16px}.history-players{grid-template-columns:1fr}.theme-option{grid-template-columns:120px 1fr 18px;padding:8px}.theme-preview .card{width:27px}.history-item summary strong{max-width:42vw}}
.theme-preview[data-preview-theme="modern"] .card{background:#fff;border:2px solid #fff;box-shadow:0 3px 8px #0008}.theme-preview[data-preview-theme="modern"] .rank,.theme-preview[data-preview-theme="modern"] .suit{font-size:1.05em}.theme-preview[data-preview-theme="jumbo"] .rank{font-size:1.2em}.theme-preview[data-preview-theme="jumbo"] .suit{font-size:.8em}

/* Menu de table en haut à droite */
.menu-wrap{position:relative}.table-menu{position:absolute;right:0;top:44px;width:min(260px,82vw);padding:7px;background:#11151df2;border:1px solid #343a48;border-radius:14px;box-shadow:0 18px 55px #000a;backdrop-filter:blur(14px)}.table-menu button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 11px;border:0;background:transparent}.table-menu button:hover,.table-menu button:focus-visible{background:#ffffff0d}.table-menu button span{font-size:12px;font-weight:700}.table-menu button.done:after{content:"✓";margin-left:auto;color:#24d18f}
/* Chronomètre de décision */
.turn-clock{position:absolute;left:50%;top:52px;transform:translateX(-50%);width:min(90px,14vw);min-width:58px;display:grid;gap:2px;z-index:4}.turn-seconds{justify-self:center;padding:2px 6px;border-radius:999px;background:#151922e8;border:1px solid #ffda66;color:#fff;font-size:10px;font-weight:900;line-height:1.2}.turn-clock-track{height:4px;border-radius:99px;background:#ffffff20;overflow:hidden}.turn-clock-fill{display:block;height:100%;width:100%;background:#ffda66;transition:width .2s linear}.turn-clock.bank .turn-seconds{border-color:#ff4b73;color:#ffd7df}.turn-clock.bank .turn-clock-fill{background:#ff4b73}.seat.turn .seat-name{margin-top:20px}.seat.turn .avatar{animation:turnPulse 1.15s ease-in-out infinite}@keyframes turnPulse{0%,100%{box-shadow:0 0 0 2px #ffdd6628,0 4px 15px #0007}50%{box-shadow:0 0 0 6px #ffdd6630,0 4px 15px #0007}}
@media(max-width:600px){.table-menu{top:40px;right:-2px}.turn-clock{top:39px;width:62px}.turn-seconds{font-size:9px;padding:1px 5px}.seat.turn .seat-name{margin-top:17px}}
@media(max-height:650px){.table-menu{top:40px}.turn-clock{top:38px}.seat.turn .seat-name{margin-top:15px}}


/* Ergonomie accueil et lisibilité renforcée */
.join-button{transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease}
.join-button.ready{background:linear-gradient(180deg,#ff355f,#d9143f);border-color:#ff5d7c;box-shadow:0 0 0 2px #ff355f22,0 8px 24px #ff355f2d}
.join-button.ready:active{transform:scale(.985)}
.join-button.invited{box-shadow:0 0 0 2px #ff355f33,0 0 26px #ff355f3b}
#room{text-transform:uppercase;letter-spacing:.12em;font-weight:850}

/* Table légèrement agrandie, tout en restant contenue dans 100dvh */
.card{width:clamp(42px,7vw,66px);font-size:clamp(18px,3.2vw,27px);border-radius:9px}
.seat{width:clamp(100px,17vw,150px)}
.avatar{width:clamp(42px,6.5vw,57px);height:clamp(42px,6.5vw,57px);font-size:clamp(14px,2vw,18px)}
.seat-name{font-size:clamp(11px,1.85vw,14px)}
.seat-stack{font-size:clamp(11px,1.72vw,13px);font-weight:800;display:flex;align-items:center;justify-content:center;gap:4px}
.seat-action{font-size:11px}
.hole{top:-28px;gap:3px}
.hole .card{width:clamp(28px,4.5vw,39px);font-size:clamp(13px,2vw,15px)}
.pot{font-size:23px;display:flex;align-items:center;justify-content:center;gap:6px}
.phase{font-size:11px}
.table-info{font-size:12px}.table-info b{font-size:16px}
.quick button{font-size:11px}.main-actions button{font-size:13px;font-weight:850}
.raise output{font-size:14px;min-width:58px}.raise-step{font-size:10px;color:#f5d66b;font-weight:900;white-space:nowrap}
.chip-icon,.chip-mini{display:inline-block;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff4b0 0 12%,#f1c83f 13% 44%,#a7730f 45% 55%,#f1c83f 56% 100%);border:1px solid #ffe582;box-shadow:0 1px 4px #0007;flex:none}
.chip-icon{width:18px;height:18px}.chip-mini{width:11px;height:11px}
.raise input[type="range"]{height:22px;cursor:pointer}

@media(max-width:600px){
  .card{width:clamp(37px,10.4vw,50px);font-size:clamp(16px,5vw,21px)}
  .seat{width:90px}.avatar{width:41px;height:41px;font-size:14px}
  .seat-name{font-size:11px}.seat-stack{font-size:10.5px}.seat-action{font-size:10px}
  .hole{top:-21px}.hole .card{width:29px;font-size:12.5px}
  .pot{font-size:20px}.chip-icon{width:16px;height:16px}
  .quick button{font-size:9.5px}.main-actions button{font-size:11.5px}
}
@media(max-height:650px){
  .card{width:clamp(34px,5.6vw,50px);font-size:clamp(15px,2.6vw,21px)}
  .avatar{width:38px;height:38px}.hole{top:-20px}.hole .card{width:27px;font-size:12px}
  .seat-name{font-size:10.5px}.seat-stack{font-size:10px}.pot{font-size:18px}
}


/* Sélecteur d’avatar poker */
.avatar-choice{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;margin:-2px 0 13px;padding:9px 10px;border:1px solid #303643;background:#11151d;border-radius:14px}
.avatar-preview{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#242a34;border:2px solid #ff4b73;font-size:24px;box-shadow:0 4px 14px #0006}
.avatar-choice>div:nth-child(2){display:grid;gap:2px;min-width:0}.avatar-choice b{font-size:13px}.avatar-choice span{font-size:10px;color:var(--muted)}.avatar-choice button{padding:8px 10px;font-size:11px}
.avatar-card{width:min(560px,94vw)}.avatar-grid{padding:16px;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;overflow:auto}
.avatar-option{aspect-ratio:1;padding:0;display:grid;place-items:center;border-radius:16px;font-size:clamp(24px,5vw,34px);background:#202631;border:1px solid #39414f;transition:transform .12s ease,border-color .12s ease,background .12s ease}
.avatar-option:hover,.avatar-option:focus-visible{transform:translateY(-1px);border-color:#667083}.avatar-option.selected{background:#3b1f2a;border-color:#ff4b73;box-shadow:0 0 0 2px #ff4b7330}

/* Lisibilité renforcée v3 : cartes et typographies plus grandes */
.card{width:clamp(48px,7.6vw,74px);font-size:clamp(20px,3.6vw,31px);border-radius:10px}
.seat{width:clamp(108px,18vw,160px)}
.avatar{width:clamp(46px,7vw,62px);height:clamp(46px,7vw,62px);font-size:clamp(20px,3vw,28px)}
.seat-name{font-size:clamp(12px,2vw,15px);font-weight:900}.seat-stack{font-size:clamp(12px,1.9vw,14px)}.seat-action{font-size:12px}
.hole{top:-31px}.hole .card{width:clamp(32px,4.9vw,44px);font-size:clamp(15px,2.25vw,18px)}
.pot{font-size:26px}.phase{font-size:12px}.table-info{font-size:13px}.table-info b{font-size:18px}
.quick button{font-size:12px}.main-actions button{font-size:14px}.raise output{font-size:15px}.raise-step{font-size:11px}
.turn-seconds{font-size:11px}.table-menu button span{font-size:13px}

@media(max-width:600px){
  .lobby{padding:10px}.brand{margin-bottom:8px}.logo{width:58px;height:58px;font-size:34px}.brand h1{font-size:24px;margin-top:7px}.brand p{font-size:12px;margin:3px}.panel{padding:14px;border-radius:20px}
  .avatar-choice{grid-template-columns:44px 1fr auto;padding:7px 8px;margin-bottom:10px}.avatar-preview{width:40px;height:40px;font-size:22px}.avatar-grid{grid-template-columns:repeat(4,1fr);gap:8px;padding:12px}
  .card{width:clamp(40px,11.4vw,55px);font-size:clamp(18px,5.6vw,24px)}
  .seat{width:96px}.avatar{width:45px;height:45px;font-size:21px}.seat-name{font-size:12px}.seat-stack{font-size:11px}.seat-action{font-size:10.5px}
  .hole{top:-23px}.hole .card{width:32px;font-size:14px}.pot{font-size:22px}.phase{font-size:10.5px}.table-info b{font-size:17px}
  .quick button{font-size:10.5px}.main-actions button{font-size:12.5px}
}
@media(max-height:650px){
  .card{width:clamp(36px,6vw,53px);font-size:clamp(16px,2.8vw,23px)}
  .avatar{width:40px;height:40px;font-size:18px}.hole{top:-21px}.hole .card{width:29px;font-size:13px}
  .seat-name{font-size:11px}.seat-stack{font-size:10.5px}.pot{font-size:20px}
}

/* v5 — lisibilité XL, structures, mises colorées et slider 10 par 10 */
.table-info small{font-size:11px;font-weight:850;color:#f1cf68;letter-spacing:.02em;white-space:nowrap}
.card{width:clamp(56px,8.8vw,86px);font-size:clamp(24px,4.2vw,36px);border-radius:12px;box-shadow:0 6px 18px #0007}
.card .rank{font-weight:950}.card .suit{font-weight:900}
.seat{width:clamp(118px,19vw,174px)}
.avatar{width:clamp(50px,7.5vw,66px);height:clamp(50px,7.5vw,66px);font-size:clamp(22px,3.2vw,30px)}
.seat-name{font-size:clamp(13px,2.15vw,16px)}
.seat-stack{font-size:clamp(12.5px,2vw,15px)}
.seat-action{font-size:12.5px;font-weight:800}
.hole{top:-35px;gap:4px}.hole .card{width:clamp(36px,5.4vw,48px);font-size:clamp(16px,2.5vw,20px)}
.pot{font-size:29px}.phase{font-size:12.5px}.table-info{font-size:13px}.table-info b{font-size:19px}
.quick button{font-size:12.5px;font-weight:900;border-width:1px}.main-actions button{font-size:15px;font-weight:900}
.raise output{font-size:16px;min-width:76px}.raise-step{font-size:12px}

/* couleurs de mise : lecture immédiate des sizings */
.quick .bet-min{background:linear-gradient(180deg,#1d9f68,#14724d);border-color:#39ca8d}
.quick .bet-half{background:linear-gradient(180deg,#267fc5,#1c5c91);border-color:#4aa1df}
.quick .bet-pot{background:linear-gradient(180deg,#d7852a,#9c5d17);border-color:#f1a84f}
.quick .bet-all{background:linear-gradient(180deg,#d83e59,#9d2438);border-color:#f25e79}
.chip-green{background:radial-gradient(circle at 40% 35%,#eafff4 0 12%,#37c98b 13% 44%,#126b48 45% 56%,#37c98b 57% 100%)!important;border-color:#79e8ba!important}
.chip-blue{background:radial-gradient(circle at 40% 35%,#edf7ff 0 12%,#3b8ed0 13% 44%,#1c4f79 45% 56%,#3b8ed0 57% 100%)!important;border-color:#8cc7f3!important}
.chip-orange{background:radial-gradient(circle at 40% 35%,#fff7e9 0 12%,#e99a35 13% 44%,#8e5412 45% 56%,#e99a35 57% 100%)!important;border-color:#ffc56f!important}
.chip-red{background:radial-gradient(circle at 40% 35%,#fff0f3 0 12%,#e34b67 13% 44%,#89253a 45% 56%,#e34b67 57% 100%)!important;border-color:#ff8da2!important}

/* piste de relance : clic/toucher et glissement, toujours par pas de 10 */
.raise input[type="range"]{appearance:none;-webkit-appearance:none;height:30px;background:transparent;touch-action:none;cursor:ew-resize;--raise-pct:0%}
.raise input[type="range"]::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:linear-gradient(90deg,#28b97b 0 25%,#338fd1 25% 50%,#dc922d 50% 75%,#dc405d 75% 100%);box-shadow:inset 0 0 0 1px #ffffff25}
.raise input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;margin-top:-9px;background:#fff;border:4px solid #ff355f;box-shadow:0 3px 10px #0008}
.raise input[type="range"]::-moz-range-track{height:10px;border-radius:999px;background:linear-gradient(90deg,#28b97b 0 25%,#338fd1 25% 50%,#dc922d 50% 75%,#dc405d 75% 100%)}
.raise input[type="range"]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid #ff355f;box-shadow:0 3px 10px #0008}

/* choix de structure à la création */
.create-card{width:min(650px,94vw)}.structure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px}.structure-option{min-height:132px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:15px;background:#10141b;border:1px solid #303846}.structure-option strong{font-size:18px}.structure-option span{font-size:13px;font-weight:850;color:#f4d36c}.structure-option small{font-size:11px;color:var(--muted);line-height:1.35}.structure-option.selected{border-color:#ff4b73;background:#351923;box-shadow:inset 0 0 0 1px #ff4b73}.create-footer{padding:0 16px 16px}.create-footer button{width:100%;font-size:14px}

@media(max-width:600px){
  .card{width:clamp(46px,13.5vw,59px);font-size:clamp(21px,6.6vw,27px);border-radius:10px}
  .cards{gap:4px}.seat{width:101px}.avatar{width:47px;height:47px;font-size:22px}
  .seat-name{font-size:12.5px}.seat-stack{font-size:11.5px}.seat-action{font-size:10.5px}
  .hole{top:-25px;gap:3px}.hole .card{width:34px;font-size:15px}
  .pot{font-size:24px}.phase{font-size:11px}.table-info b{font-size:18px}.table-info small{font-size:9.5px}
  .quick button{font-size:11px}.main-actions button{font-size:13px}.raise output{font-size:14px;min-width:66px}
  .structure-grid{grid-template-columns:1fr;gap:7px;padding:10px}.structure-option{min-height:72px;padding:10px 12px;display:grid;grid-template-columns:1fr auto;align-items:center}.structure-option strong{font-size:16px}.structure-option span{font-size:12px}.structure-option small{grid-column:1/-1;font-size:10px}.create-footer{padding:0 10px 10px}
}
@media(max-width:380px){.card{width:48px;font-size:22px}.hole .card{width:32px;font-size:14px}.seat{width:94px}.seat-name{font-size:12px}.seat-stack{font-size:10.8px}}
@media(max-height:650px){
  .card{width:clamp(39px,6.4vw,57px);font-size:clamp(18px,3vw,25px)}
  .avatar{width:41px;height:41px;font-size:19px}.hole{top:-22px}.hole .card{width:30px;font-size:13.5px}
  .seat-name{font-size:11.5px}.seat-stack{font-size:10.8px}.pot{font-size:21px}.table-info small{font-size:9px}
}


/* v6 — pseudo visible comme le code, cartes XXL et timers stables */
.panel input::placeholder{color:#f0e4a3;opacity:.92;font-weight:900;letter-spacing:.09em}
#name::selection,#room::selection{background:#ff355f;color:#fff}
#blindInfo{display:inline-flex;align-items:center;justify-content:center;min-width:250px;font-variant-numeric:tabular-nums;white-space:nowrap}
#blindStatic,#blindClock{display:inline-block}
#blindClock{min-width:56px;text-align:left}
.turn-seconds{display:inline-block;min-width:28px;text-align:center;font-variant-numeric:tabular-nums}

/* Le board devient l'élément visuel principal */
#community{gap:8px}
#community .card{width:clamp(78px,10.8vw,108px);font-size:clamp(34px,5.2vw,48px);border-radius:14px;min-width:0}
#community .card .rank{font-size:1em;line-height:.95}
#community .card .suit{font-size:.9em;line-height:.9}

/* Les cartes privatives sont nettement plus présentes sans masquer les sièges */
.hole{top:-46px;gap:5px}
.hole .card{width:clamp(48px,6.4vw,64px);font-size:clamp(22px,3vw,28px);border-radius:9px;box-shadow:0 5px 14px #0008}
.seat{width:clamp(132px,20vw,188px)}
.seat-name{font-size:clamp(14px,2.35vw,18px)}
.seat-stack{font-size:clamp(13px,2.15vw,16px)}
.seat-action{font-size:13px}
.avatar{width:clamp(54px,8vw,70px);height:clamp(54px,8vw,70px);font-size:clamp(24px,3.5vw,32px)}
.pot{font-size:32px}.phase{font-size:13px}.table-info b{font-size:21px}
.quick button{font-size:13px}.main-actions button{font-size:16px}

@media(max-width:700px){
  #blindInfo{min-width:210px}
  #community{gap:4px}
  #community .card{width:clamp(52px,15.2vw,66px);font-size:clamp(24px,7vw,31px);border-radius:11px}
  .hole{top:-30px;gap:3px}.hole .card{width:clamp(37px,10.4vw,44px);font-size:clamp(17px,4.8vw,21px)}
  .seat{width:106px}.avatar{width:48px;height:48px;font-size:22px}.seat-name{font-size:13px}.seat-stack{font-size:11.5px}.seat-action{font-size:10.5px}
  .pot{font-size:25px}.table-info b{font-size:18px}.quick button{font-size:11px}.main-actions button{font-size:13px}
}
@media(max-width:390px){
  #blindInfo{min-width:188px;font-size:8.8px}
  #community .card{width:52px;font-size:24px}
  .hole .card{width:36px;font-size:17px}.seat{width:96px}
}
@media(max-height:680px) and (min-width:701px){
  #community .card{width:clamp(66px,8.6vw,86px);font-size:clamp(29px,4.1vw,39px)}
  .hole{top:-37px}.hole .card{width:clamp(42px,5.4vw,52px);font-size:clamp(19px,2.5vw,23px)}
}

/* v7 — piles de jetons réelles : tapis restant + mise engagée */
.chip-pile{display:inline-flex;align-items:flex-end;justify-content:center;gap:2px;min-width:18px;height:25px;vertical-align:middle;flex:none}
.chip-pile.empty{opacity:.3;height:12px}
.chip-column{position:relative;display:inline-block;width:18px;height:24px;flex:none}
.poker-chip{position:absolute;left:0;bottom:calc(var(--chip-i) * 3px);width:18px;height:7px;border-radius:50%;border:1px solid rgba(255,255,255,.72);box-shadow:0 1px 1px #0009,inset 0 -2px 0 rgba(0,0,0,.28),inset 0 2px 0 rgba(255,255,255,.24);display:grid;place-items:center;font-style:normal}
.poker-chip:before,.poker-chip:after{content:"";position:absolute;inset:1px;border-radius:50%;border:1px dashed rgba(255,255,255,.68)}
.poker-chip b{position:relative;z-index:2;font-size:6px;line-height:1;color:#fff;text-shadow:0 1px 2px #000;font-weight:1000;letter-spacing:-.35px}
.denom-10 .poker-chip{background:#d8dce4;border-color:#fff}.denom-10 .poker-chip b{color:#111;text-shadow:none}
.denom-50 .poker-chip{background:#2679d8}.denom-100 .poker-chip{background:#15171b}.denom-500 .poker-chip{background:#7a3bb8}.denom-1000 .poker-chip{background:#e0b323}.denom-5000 .poker-chip{background:#cf344e}.denom-extra .poker-chip{background:#258c62}
.seat-stack{min-height:29px;gap:5px!important;color:#fff!important}
.seat-stack .stack-amount{font-weight:1000;color:#f7df86;text-shadow:0 1px 2px #000}
.seat-bet{position:absolute;z-index:8;display:flex;align-items:flex-end;gap:4px;padding:2px 5px;border-radius:10px;background:#0b1117c9;border:1px solid rgba(255,255,255,.16);box-shadow:0 3px 10px #0007;pointer-events:none;white-space:nowrap}
.seat-bet .bet-amount{font-size:12px;line-height:1.1;font-weight:1000;color:#fff;text-shadow:0 1px 2px #000}
.seat-bet.bet-above{left:50%;bottom:calc(100% + 30px);transform:translateX(-50%)}
.seat-bet.bet-below{left:50%;top:calc(100% + 10px);transform:translateX(-50%)}
.seat-bet.bet-right{left:calc(100% + 10px);top:50%;transform:translateY(-50%)}
.seat-bet.bet-left{right:calc(100% + 10px);top:50%;transform:translateY(-50%)}
.chip-pile-pot{height:30px}.chip-pile-pot .chip-column{transform:scale(1.12);transform-origin:bottom center}.pot-amount{font-weight:1000}
@media(max-width:600px){
  .chip-pile{gap:1px;height:21px}.chip-column{width:15px;height:21px}.poker-chip{width:15px;height:6px;bottom:calc(var(--chip-i) * 2.5px)}.poker-chip b{font-size:5px}
  .seat-stack{gap:3px!important;min-height:24px}.seat-bet{gap:2px;padding:2px 4px}.seat-bet .bet-amount{font-size:10px}
  .seat-bet.bet-above{bottom:calc(100% + 25px)}.seat-bet.bet-below{top:calc(100% + 7px)}.seat-bet.bet-right{left:calc(100% + 5px)}.seat-bet.bet-left{right:calc(100% + 5px)}
}
@media(max-height:650px){.seat-bet{transform:scale(.9)}.seat-bet.bet-above{transform:translateX(-50%) scale(.9)}.seat-bet.bet-below{transform:translateX(-50%) scale(.9)}.seat-bet.bet-right{transform:translateY(-50%) scale(.9)}.seat-bet.bet-left{transform:translateY(-50%) scale(.9)}}

/* v8 — règles d'accès du lobby */
#lobby .panel button:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.45);box-shadow:none;transform:none}
#lobby .panel #create.available{opacity:1}
#lobby .panel #join.ready:not(:disabled){opacity:1}

/* v9 — Pseudo fonctionne exactement comme Code de table : texte d'exemple, jamais une valeur réelle */
#name::placeholder,#room::placeholder{color:#f0e4a3;opacity:.92;font-weight:900;letter-spacing:.09em}

/* v10: lisibilité du valet + contrôle montrer/cacher après fold */
.card .rank{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-variant-numeric:lining-nums}
.card .rank-j{font-family:"Arial Black",Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.04em;transform:scaleX(1.08);transform-origin:center}
.fold-pref{display:flex;justify-content:center;margin:0 4px 6px}
.fold-pref button{width:100%;padding:6px 10px;border-radius:10px;background:#1c222d;border-color:#3a4250;color:#aeb6c5;font-size:11px;font-weight:800}
.fold-pref button.active{background:#173528;border-color:#30cb8b;color:#dbfff0}
.fold-pref .eye{margin-right:6px}
.fold-choice{position:absolute;z-index:24;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:14px;background:#11151eef;border:1px solid #343b49;box-shadow:0 10px 30px #0009;backdrop-filter:blur(10px);white-space:nowrap}
.fold-choice span{font-size:11px;color:#b8bfca;font-weight:800}.fold-choice button{padding:7px 11px;font-size:10px}.fold-choice button.active{background:#ff355f;border-color:#ff6685;color:#fff}
@media(max-width:600px){.card .rank-j{font-size:1.08em;letter-spacing:-.06em}.fold-pref button{font-size:10px;padding:5px 7px}.fold-choice{bottom:max(7px,env(safe-area-inset-bottom));max-width:96vw}.fold-choice span{display:none}}

/* v11 — bots à niveaux, reconnexion et densité 7/8 joueurs */
.bot-level{display:inline-grid;place-items:center;min-width:22px;height:16px;padding:0 5px;margin-left:3px;border-radius:999px;background:#232936;border:1px solid #485267;color:#f6d86d;font-size:.72em;font-weight:1000;vertical-align:1px}
.seat.offline .avatar{filter:grayscale(1);opacity:.6}.seat.offline .seat-name:after{content:' · hors ligne';color:#8b93a2;font-size:.72em;font-weight:700}
@media(max-width:700px){
  .game.dense-table .seat{width:88px}
  .game.dense-table .avatar{width:42px;height:42px;font-size:19px}
  .game.dense-table .hole{top:-27px}
  .game.dense-table .hole .card{width:32px;font-size:15px}
  .game.dense-table .seat-name{font-size:11.5px}
  .game.dense-table .seat-stack{font-size:10.5px;transform:scale(.9);transform-origin:top center}
  .game.dense-table .seat-action{font-size:9px}
  .game.dense-table .seat-bet{transform:scale(.86)}
  .game.dense-table .seat-bet.bet-above,.game.dense-table .seat-bet.bet-below{transform:translateX(-50%) scale(.86)}
  .game.dense-table .seat-bet.bet-right,.game.dense-table .seat-bet.bet-left{transform:translateY(-50%) scale(.86)}
  .game.dense-table .bot-level{display:none}
}
@media(max-width:390px){
  .game.dense-table .seat{width:80px}
  .game.dense-table .avatar{width:38px;height:38px;font-size:18px}
  .game.dense-table .hole .card{width:29px;font-size:14px}
  .game.dense-table .seat-name{font-size:10.5px}
}
