:root {
  --bg: #100708;
  --panel: rgba(27, 13, 17, .74);
  --line: rgba(255, 237, 197, .10);
  --text: #fffaf1;
  --muted: #c7b8ab;
  --gold: #f6d37a;
  --gold-2: #d39b2e;
  --red: #ff5e69;
  --green: #4df0a8;
  --purple: #bc8cff;
  --blue: #7ec6ff;
  --shadow: 0 22px 55px rgba(0,0,0,.35);
}
* { box-sizing:border-box; }
html, body { margin:0; min-height:100%; }
body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 20% 10%, rgba(255,80,96,.18), transparent 28%),
    radial-gradient(circle at 80% 5%, rgba(255,203,80,.16), transparent 24%),
    radial-gradient(circle at 50% 100%, rgba(20,160,103,.22), transparent 28%),
    linear-gradient(180deg,#16080b,#0b1110 48%,#071c17 100%);
  overflow-x:hidden;
}
.bg-layer { position:fixed; inset:-10%; pointer-events:none; }
.bg-1 { background:radial-gradient(circle at 50% 0%,rgba(255,87,87,.08),transparent 36%); filter:blur(30px); }
.bg-2 { background:radial-gradient(circle at 50% 100%,rgba(29,220,127,.08),transparent 30%); filter:blur(40px); }
.vegas-lights {
  position:fixed; left:0; right:0; top:0; height:10px; z-index:0;
  background:repeating-linear-gradient(90deg,#f8dd84 0 22px,transparent 22px 38px,#ff5b65 38px 60px,transparent 60px 76px,#4ef4aa 76px 96px,transparent 96px 112px);
  box-shadow:0 0 18px rgba(255,219,115,.75),0 0 22px rgba(255,91,101,.45);
  animation:marqueeGlow 2.4s linear infinite alternate;
}
@keyframes marqueeGlow { to { opacity:.68; filter:hue-rotate(18deg); } }
img { max-width:100%; display:block; }
button { font:inherit; }
button:focus-visible { outline:2px solid #ffe28d; outline-offset:2px; }
.glass,.glass-strong {
  background:linear-gradient(180deg,rgba(46,21,28,.80),rgba(16,20,19,.76));
  border:1px solid var(--line); box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.05); backdrop-filter:blur(14px);
}
.glass-strong { background:linear-gradient(180deg,rgba(48,20,28,.96),rgba(15,23,22,.97)); }
.topbar {
  position:sticky; top:0; z-index:40; width:min(100% - 26px,1560px); margin:14px auto 0; padding:12px 16px; min-height:84px; border-radius:24px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.brand { display:flex; align-items:center; gap:14px; min-width:0; }
.brand-logo { width:74px; height:74px; object-fit:contain; filter:drop-shadow(0 10px 26px rgba(0,0,0,.35)); }
.brand-copy { display:grid; gap:4px; min-width:0; }
.brand-copy strong { font-size:30px; line-height:1; letter-spacing:-.03em; }
.brand-copy span { color:var(--muted); font-size:14px; }
.top-stats { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.mini-stat,.icon-btn { min-height:46px; border-radius:16px; padding:10px 14px; background:rgba(255,255,255,.03); border:1px solid var(--line); }
.mini-stat { display:grid; gap:2px; min-width:98px; }
.mini-stat span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:1px; }
.mini-stat strong { color:var(--gold); font-size:22px; line-height:1; }
.icon-btn { width:46px; padding:0; display:grid; place-items:center; color:var(--text); cursor:pointer; transition:.18s; }
.icon-btn:hover { transform:translateY(-2px); filter:brightness(1.08); }
.app-shell { width:min(100% - 26px,1560px); margin:16px auto 30px; position:relative; z-index:1; }
.hero { border-radius:28px; padding:26px 28px; min-height:220px; display:flex; align-items:center; justify-content:space-between; gap:22px; overflow:hidden; position:relative; }
.hero::before { content:""; position:absolute; inset:auto -12% -24% auto; width:460px; height:460px; background:radial-gradient(circle,rgba(255,215,102,.14),transparent 58%); filter:blur(10px); }
.eyebrow { display:block; margin-bottom:10px; color:var(--gold); font-size:12px; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; }
.eyebrow.red { color:#ff9680; }.eyebrow.gold { color:#ffe18b; }
.hero-copy { max-width:900px; position:relative; z-index:1; }
.hero h1 { margin:0 0 12px; font-size:clamp(34px,4.1vw,64px); line-height:.98; letter-spacing:-.04em; }
.hero h1 em { font-style:normal; color:var(--gold); text-shadow:0 0 22px rgba(255,216,110,.18); }
.hero p { margin:0; max-width:780px; color:#e7d9cb; font-size:16px; line-height:1.58; }
.hero-chip-stack { position:relative; width:300px; height:180px; flex:0 0 auto; }
.chip { position:absolute; width:110px; height:110px; border-radius:50%; right:0; bottom:0; box-shadow:inset 0 0 0 10px rgba(255,255,255,.12),inset 0 0 0 18px rgba(0,0,0,.18),0 22px 35px rgba(0,0,0,.3); }
.chip::after { content:"♠"; position:absolute; inset:0; display:grid; place-items:center; font-size:38px; font-weight:900; }
.chip-red { background:radial-gradient(circle at 30% 28%,#ffb0b2,#ff5768 58%,#7b0a18 100%); right:145px; bottom:24px; transform:rotate(-10deg); }
.chip-gold { background:radial-gradient(circle at 30% 28%,#fff3c4,#f1c14f 56%,#8e5d07 100%); right:74px; bottom:14px; transform:rotate(8deg); }
.chip-black { background:radial-gradient(circle at 30% 28%,#6a6b74,#17191d 62%,#020305 100%); right:0; bottom:0; transform:rotate(16deg); }
.jackpot-ring { position:absolute; left:10px; top:0; width:122px; height:122px; border-radius:50%; display:grid; place-items:center; text-align:center; border:4px solid rgba(255,225,134,.8); color:#17090b; background:radial-gradient(circle at 30% 25%,#fff9dc,#ffe18a 30%,#ffb22d 75%,#9b5608 100%); box-shadow:0 0 28px rgba(255,194,57,.28),inset 0 3px 0 rgba(255,255,255,.5); }
.jackpot-ring span { display:block; font-size:40px; font-weight:950; line-height:1; }.jackpot-ring small { display:block; font-size:11px; font-weight:900; letter-spacing:1px; }
.game-layout { margin-top:18px; display:grid; grid-template-columns:minmax(0,1.35fr) 420px; gap:18px; align-items:start; }
.table-panel,.panel { border-radius:28px; }
.table-panel { padding:22px; overflow:hidden; position:relative; }
.table-marquee { margin:-2px -2px 20px; border-radius:18px; padding:10px 14px; display:flex; gap:26px; overflow:hidden; white-space:nowrap; border:1px solid rgba(255,226,141,.18); background:linear-gradient(90deg,rgba(255,215,115,.08),rgba(255,255,255,.01),rgba(255,90,101,.08)); color:#ffd97d; font-size:12px; font-weight:900; letter-spacing:2px; }
.table-marquee span { animation:slideLoop 10s linear infinite; }
@keyframes slideLoop { from{transform:translateX(0)} to{transform:translateX(-160px)} }
.table-header,.panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.table-header h2,.panel-head h3 { margin:0; font-size:28px; }.compact-head h3{font-size:20px}
.round-badge { padding:10px 14px; border-radius:999px; font-size:12px; font-weight:900; letter-spacing:.8px; color:#17090b; background:linear-gradient(145deg,#ffe9a8,#e09f2f); box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 22px rgba(0,0,0,.22); }
.table-surface { margin-top:16px; position:relative; overflow:hidden; min-height:865px; border-radius:32px; padding:20px; background:radial-gradient(circle at 50% 48%,rgba(86,255,178,.12),transparent 35%),linear-gradient(180deg,#0e533b,#073d2e 54%,#06261d 100%); border:8px solid rgba(103,50,24,.65); box-shadow:inset 0 0 0 2px rgba(255,237,190,.25),inset 0 0 36px rgba(0,0,0,.35),0 24px 55px rgba(0,0,0,.28); }
.table-surface::before { content:""; position:absolute; inset:12px; border-radius:26px; border:1px solid rgba(255,230,172,.2); pointer-events:none; }
.table-surface.dealing { animation:tablePulse 1.4s ease both; }
@keyframes tablePulse { 0%,100%{filter:none} 35%{filter:brightness(1.12) saturate(1.08)} }
.spotlight { position:absolute; left:50%; top:-18%; width:680px; height:560px; transform:translateX(-50%); background:conic-gradient(from 215deg at 50% 0%,transparent 0 37%,rgba(255,235,177,.12) 42%,rgba(255,94,105,.06) 50%,rgba(255,235,177,.12) 58%,transparent 63% 100%); opacity:0; pointer-events:none; filter:blur(7px); }
.table-surface.dealing .spotlight { animation:spotlightDeal 1.5s ease; }
@keyframes spotlightDeal { 0%{opacity:0;transform:translateX(-50%) scale(.7)} 35%{opacity:1} 100%{opacity:0;transform:translateX(-50%) scale(1.08)} }
.table-watermark { position:absolute; left:50%; top:50%; width:min(46vw,540px); transform:translate(-50%,-52%); opacity:.09; filter:drop-shadow(0 8px 18px rgba(0,0,0,.25)); pointer-events:none; }
.seat { position:relative; z-index:2; min-height:250px; }.dealer-seat{padding:6px 0 10px}.player-seat{margin-top:44px;padding-bottom:8px}
.seat-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:18px; }.seat-head>div:nth-child(2){flex:1;min-width:230px}.seat-head h3{margin:0 0 4px;font-size:24px}.seat-head p{margin:0;color:#d8e5df;font-size:14px}
.avatar { width:64px; height:64px; border-radius:20px; display:grid; place-items:center; font-weight:950; letter-spacing:.8px; border:1px solid rgba(255,255,255,.25); }
.dealer-avatar{color:#21090f;background:linear-gradient(145deg,#ffb1a5,#ff6175);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 22px rgba(255,91,101,.18)}
.player-avatar{color:#17090b;background:linear-gradient(145deg,#fff1b5,#f6be41);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 22px rgba(246,190,65,.18)}
.score-pill { align-self:flex-start; min-width:128px; text-align:center; padding:10px 14px; border-radius:999px; border:1px solid rgba(255,255,255,.16); background:rgba(0,0,0,.18); font-size:14px; font-weight:900; }.dealer-score{color:#ffd3d7}.player-score{color:#fff0b1}
.table-centerline { position:relative; z-index:2; margin:4px 0 10px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.shoe-box { display:flex; align-items:center; gap:12px; min-width:175px; padding:12px 14px; border-radius:18px; background:rgba(0,0,0,.18); border:1px solid rgba(255,255,255,.12); }
.shoe-box>div:last-child{display:grid;gap:1px}.shoe-box span,.shoe-box small{color:#cee2d9;font-size:12px}.shoe-box strong{font-size:26px;color:#fff1ba;line-height:1}
.shoe-cards{position:relative;width:52px;height:42px}.shoe-cards i{position:absolute;width:34px;height:44px;border-radius:6px;background:repeating-linear-gradient(45deg,#6f1021 0 5px,#3c0a13 5px 10px);border:1px solid rgba(255,224,144,.28);box-shadow:0 5px 8px rgba(0,0,0,.25)}.shoe-cards i:nth-child(1){left:0;top:5px;transform:rotate(-8deg)}.shoe-cards i:nth-child(2){left:9px;top:2px;transform:rotate(-2deg)}.shoe-cards i:nth-child(3){left:18px;top:0;transform:rotate(6deg)}
.table-surface.dealing .shoe-cards{animation:shoeKick .38s ease 3 alternate}@keyframes shoeKick{to{transform:translateY(-4px) rotate(1deg)}}
.neon-sign { flex:1; min-width:250px; text-align:center; padding:14px 18px; border-radius:18px; font-size:18px; font-weight:900; letter-spacing:.5px; color:#fff8e8; background:rgba(19,8,12,.3); border:1px solid rgba(255,227,168,.2); box-shadow:inset 0 0 24px rgba(255,93,104,.08),0 0 22px rgba(255,206,95,.08); }
.card-fan { min-height:168px; display:flex; align-items:flex-end; gap:0; flex-wrap:wrap; }
.card { width:108px; height:154px; margin-right:-34px; border-radius:18px; position:relative; transform-origin:bottom center; transform:rotate(var(--rot,0deg)); box-shadow:0 16px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.6); }
.card.new-card { opacity:0; transform:translate(250px,-180px) scale(.48) rotate(35deg); animation:dealCinema .48s cubic-bezier(.14,.78,.18,1.12) forwards; }
.card.flip-reveal { animation:flipReveal .55s ease both; }
@keyframes dealCinema { 62%{opacity:1;transform:translate(-7px,7px) scale(1.04) rotate(var(--rot,0deg))} 100%{opacity:1;transform:rotate(var(--rot,0deg))} }
@keyframes flipReveal { 0%{transform:rotateY(90deg) rotate(var(--rot,0deg))} 100%{transform:rotateY(0) rotate(var(--rot,0deg))} }
.card:last-child{margin-right:0}.card-face,.card-back{position:absolute;inset:0;border-radius:inherit;backface-visibility:hidden;overflow:hidden}.card-face{background:linear-gradient(180deg,#fffef9,#ebe1d5);border:1px solid rgba(87,61,46,.18);color:#23120c}.card-face.red{color:#9a1825}.card-face::before{content:"";position:absolute;inset:8px;border-radius:14px;border:1px solid rgba(130,102,72,.12)}
.card-back{background:radial-gradient(circle at 50% 50%,rgba(255,220,135,.08),transparent 55%),repeating-linear-gradient(45deg,#6b1020 0 10px,#4b0b18 10px 20px),linear-gradient(180deg,#7b1428,#2a0912);border:1px solid rgba(255,214,122,.34)}.card-back::before,.card-back::after{content:"";position:absolute;inset:12px;border-radius:12px;border:1px solid rgba(255,229,155,.26)}.card-back::after{inset:25px;border-style:dashed}.card-back span{position:absolute;inset:0;display:grid;place-items:center;font-size:48px;color:#f9dc82;text-shadow:0 0 18px rgba(249,220,130,.22)}
.hidden-card .card-face{display:none}.hidden-card .card-back{display:block}.revealed .card-back{display:none}.rank-top,.rank-bottom{position:absolute;left:12px;display:grid;gap:2px;font-weight:900;line-height:1}.rank-top{top:10px}.rank-bottom{right:12px;left:auto;bottom:10px;transform:rotate(180deg)}.rank-top b,.rank-bottom b{font-size:26px}.rank-top span,.rank-bottom span{font-size:20px}.pip-big{position:absolute;inset:0;display:grid;place-items:center;font-size:44px;opacity:.92;font-weight:700}.face-art{position:absolute;inset:34px 18px;border-radius:16px;display:grid;place-items:center;text-align:center;font-weight:900;background:radial-gradient(circle at 50% 25%,rgba(248,213,120,.18),transparent 35%),linear-gradient(180deg,rgba(67,48,34,.08),rgba(67,48,34,.12));border:1px solid rgba(130,102,72,.12)}.face-art span{font-size:44px}.face-art small{display:block;margin-top:5px;font-size:14px;letter-spacing:.7px}
.table-betting-area { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 12px; flex-wrap:wrap; }
.quick-chips { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }.quick-chips>span{font-size:11px;color:#d1e6dc;text-transform:uppercase;letter-spacing:1px;font-weight:900;margin-right:4px}
.table-chip { width:48px;height:48px;border-radius:50%;border:3px dashed rgba(255,255,255,.55);box-shadow:inset 0 0 0 4px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.24);cursor:pointer;font-weight:950;color:#fff;transition:.18s;position:relative }.table-chip:hover{transform:translateY(-5px) rotate(6deg)}.table-chip:disabled{opacity:.35;cursor:not-allowed;transform:none}.chip25{background:radial-gradient(circle at 35% 25%,#9cffc2,#1ecf76 60%,#0a6a3d)}.chip50{background:radial-gradient(circle at 35% 25%,#ff9eaa,#ef435a 60%,#7a0a18)}.chip100{background:radial-gradient(circle at 35% 25%,#8fc7ff,#3a8ee6 60%,#164c8d)}.chip250{background:radial-gradient(circle at 35% 25%,#e0b9ff,#9a5bf0 60%,#4e1b9b)}.chip500{background:radial-gradient(circle at 35% 25%,#fff2ad,#e4ad2c 60%,#79520b);color:#1e1305}
.bet-spot { width:126px;height:96px;border-radius:50%;border:2px dashed rgba(255,233,171,.38);display:grid;place-items:center;align-content:center;position:relative;background:radial-gradient(circle,rgba(255,214,98,.10),transparent 66%);box-shadow:inset 0 0 24px rgba(0,0,0,.16)}.bet-spot span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#f5e8c7;font-weight:900}.bet-spot strong{font-size:23px;color:#fff0ad}.bet-chip-stack{position:absolute;left:13px;bottom:6px;width:40px;height:40px}.bet-chip-mini{position:absolute;width:35px;height:35px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff4be,#ebb83d 62%,#84520d);border:2px dashed rgba(255,255,255,.55);box-shadow:0 5px 9px rgba(0,0,0,.3);animation:chipLand .38s cubic-bezier(.18,.9,.25,1.15) both}.bet-chip-mini:nth-child(2){transform:translateY(-5px)}.bet-chip-mini:nth-child(3){transform:translateY(-10px)}@keyframes chipLand{from{opacity:0;transform:translate(190px,-100px) rotate(320deg) scale(.45)}to{opacity:1}}
.player-hands-wrap { display:grid; grid-template-columns:1fr; gap:14px; min-height:190px; }.player-hands-wrap.split{grid-template-columns:1fr 1fr}.player-hand-box{position:relative;min-height:188px;padding:12px;border-radius:22px;border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.10);transition:.22s}.player-hand-box.active{border-color:rgba(255,225,132,.52);box-shadow:inset 0 0 24px rgba(255,213,94,.08),0 0 18px rgba(255,213,94,.07)}.player-hand-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.player-hand-head strong{font-size:12px;letter-spacing:.8px;color:#fff0b1}.hand-meta{display:flex;gap:8px;flex-wrap:wrap}.hand-meta span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.05);font-size:10px;color:#dfece6;border:1px solid rgba(255,255,255,.06)}.hand-result-tag{position:absolute;right:12px;bottom:10px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.7px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08);color:#fff}.hand-result-tag.win{color:#70ffc1}.hand-result-tag.loss{color:#ff8793}.hand-result-tag.push{color:#ffe68f}
.insurance-offer { position:absolute; left:50%; top:48%; transform:translate(-50%,-50%) scale(.92); z-index:20; width:min(90%,760px); border-radius:24px; padding:18px; display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; opacity:0; pointer-events:none; background:linear-gradient(145deg,rgba(31,10,15,.96),rgba(10,27,22,.96));border:1px solid rgba(255,227,153,.35);box-shadow:0 28px 70px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,255,255,.06);transition:.24s}.insurance-offer.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.insurance-icon{width:74px;height:92px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(#fff,#eee1d5);color:#1a0c0a;font-weight:950;font-size:24px;box-shadow:0 12px 24px rgba(0,0,0,.28)}.insurance-offer strong{font-size:20px}.insurance-offer p{margin:5px 0 0;color:#d8c9bd;font-size:13px;line-height:1.45}.insurance-actions{display:grid;gap:8px;min-width:190px}
.result-flash{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.85);opacity:0;z-index:30;padding:18px 24px;border-radius:20px;font-size:24px;font-weight:950;letter-spacing:.8px;color:#17090b;background:linear-gradient(145deg,#fff0ba,#f7b33a);border:1px solid rgba(255,255,255,.55);box-shadow:0 18px 35px rgba(0,0,0,.38);pointer-events:none}.result-flash.show{animation:flashShow 1.65s ease both}@keyframes flashShow{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}12%,75%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.04)}}
/* Colonne de contrôle : chaque panneau reste dans le flux pour éviter tout chevauchement. */
.control-rail{display:flex;flex-direction:column;gap:18px;align-items:stretch;min-width:0;position:relative}
.panel{padding:20px;position:relative;z-index:1;isolation:isolate;flex:0 0 auto}
.sticky-card{position:relative;top:auto;z-index:2}.live-dot{display:flex;align-items:center;gap:8px;color:#d9d2cb;font-size:12px}.live-dot span{width:10px;height:10px;border-radius:50%;background:#44ee9b;box-shadow:0 0 16px rgba(68,238,155,.58);animation:pulse 1.4s infinite}@keyframes pulse{50%{transform:scale(.7);opacity:.5}}
.bank-grid{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.bank-box{padding:14px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.03);display:grid;gap:4px}.bank-box.primary{background:linear-gradient(145deg,rgba(255,214,110,.13),rgba(255,255,255,.03))}.bank-box span{color:var(--muted);font-size:12px}.bank-box strong{font-size:28px;line-height:1;color:#fff1be}.panel-section{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.section-row{display:grid;gap:10px}.section-label{color:#ffe39d;font-size:12px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.difficulty-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.difficulty-tabs button,.chip-btn,.bet-stepper button{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;transition:.18s}.difficulty-tabs button{min-height:44px;border-radius:14px;font-weight:900}.difficulty-tabs button.active{color:#190a0b;background:linear-gradient(145deg,#fff0b2,#efb43e);border-color:rgba(255,239,176,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 10px 20px rgba(239,180,62,.12)}.difficulty-copy,.table-limits{margin-top:10px;color:#dcccbf;font-size:13px;line-height:1.5}.bet-stepper{display:grid;grid-template-columns:52px 1fr 52px;gap:10px;align-items:center}.bet-stepper button{height:52px;border-radius:16px;font-size:28px;font-weight:900}.bet-stepper button:hover,.chip-btn:hover,.difficulty-tabs button:hover{transform:translateY(-2px);filter:brightness(1.05)}.bet-display{min-height:52px;display:grid;place-items:center;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);text-align:center}.bet-display strong{display:block;font-size:24px;color:#fff1b9}.bet-display span{display:block;font-size:11px;color:var(--muted);letter-spacing:.7px;text-transform:uppercase}.chip-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.chip-btn{min-height:48px;border-radius:18px;font-weight:950;background:radial-gradient(circle at 30% 28%,#fff0bc,#f0bd49 58%,#86570d 100%);color:#190a0b;border-color:rgba(255,245,213,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 10px 18px rgba(0,0,0,.22)}
.action-grid{display:grid;gap:10px;margin-top:16px}.main-actions{grid-template-columns:1.1fr .9fr}.play-actions{grid-template-columns:1fr 1fr}.btn{min-height:52px;border-radius:18px;border:1px solid transparent;cursor:pointer;font-weight:900;transition:.18s}.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.btn-gold{color:#18090b;background:linear-gradient(145deg,#ffefb0,#e9a62f);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 14px 24px rgba(233,166,47,.16)}.btn-ghost{color:var(--text);background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}.btn-green{color:#082419;background:linear-gradient(145deg,#83ffc6,#24cf7c)}.btn-red{color:#24050b;background:linear-gradient(145deg,#ffb3bc,#ff5d6e)}.btn-purple{color:#17061d;background:linear-gradient(145deg,#e1c4ff,#b77cff)}.btn-blue{color:#061527;background:linear-gradient(145deg,#b7deff,#6aaff5)}
.stats-grid{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.stats-grid div{min-height:86px;padding:14px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.03);display:grid;align-content:center;gap:4px}.stats-grid span{color:var(--muted);font-size:12px}.stats-grid strong{color:var(--gold);font-size:28px;line-height:1}.mini-link{border:0;background:transparent;color:#f7d67f;cursor:pointer;font-size:12px;font-weight:850}.mini-link:hover{text-decoration:underline}
.hand-history,.game-log{margin-top:14px;display:grid;gap:9px;max-height:290px;overflow:auto;padding-right:4px}.hand-history::-webkit-scrollbar,.game-log::-webkit-scrollbar{width:8px}.hand-history::-webkit-scrollbar-thumb,.game-log::-webkit-scrollbar-thumb{background:rgba(255,255,255,.10);border-radius:999px}.history-item,.log-item{padding:12px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03)}.history-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.history-item-head strong{font-size:13px;color:#fff0b7}.history-item-head b{font-size:13px}.history-item-head b.win{color:#69f6b4}.history-item-head b.loss{color:#ff8591}.history-item-head b.push{color:#ffe48a}.history-item p{margin:5px 0 0;color:#d7c7ba;font-size:11px;line-height:1.45}.history-empty{padding:15px;border-radius:16px;border:1px dashed rgba(255,255,255,.08);color:#9e8f86;font-size:12px;text-align:center}.log-item strong{display:block;font-size:13px;margin-bottom:4px;color:#fff0b7}.log-item span{display:block;font-size:12px;color:#dacabc;line-height:1.5}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);opacity:0;pointer-events:none;z-index:180;max-width:min(92vw,560px);padding:14px 18px;border-radius:16px;background:linear-gradient(145deg,#fff0b4,#f0ba43);color:#16090a;font-weight:900;border:1px solid rgba(255,255,255,.6);box-shadow:0 16px 38px rgba(0,0,0,.4);transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal{position:fixed;inset:0;z-index:160;padding:20px;display:grid;place-items:center;background:rgba(5,3,4,.78);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:.22s}.modal.open{opacity:1;pointer-events:auto}.modal-card{width:min(600px,100%);border-radius:30px;padding:32px;position:relative;overflow:hidden}.modal-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#fff;font-size:26px;cursor:pointer;z-index:4}.rules-modal-card h2{margin:0 0 10px;font-size:36px}.rules-list{display:grid;gap:10px}.rules-list p{margin:0;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#e4d7cb;line-height:1.56;font-size:14px}.rules-list b,.rules-list strong{color:#ffe49d}
.casino-result{text-align:center}.result-light{position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(20px);opacity:.22;pointer-events:none}.result-light-a{left:-260px;top:-240px;background:radial-gradient(circle,#ff5a69,transparent 62%)}.result-light-b{right:-260px;bottom:-260px;background:radial-gradient(circle,#ffe072,transparent 62%)}.result-logo{width:150px;margin:0 auto 6px;filter:drop-shadow(0 12px 28px rgba(0,0,0,.35))}.casino-result h2{margin:0;font-size:clamp(42px,8vw,76px);line-height:.95;letter-spacing:-.04em;color:#ffe699;text-shadow:0 0 28px rgba(255,214,100,.16)}.casino-result>p{margin:12px auto 0;color:#e3d4c7;max-width:480px;line-height:1.5}.result-net{display:inline-block;margin:18px auto 8px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);font-size:22px;font-weight:950}.result-net.win{color:#73ffc0}.result-net.loss{color:#ff8b96}.result-net.push{color:#ffe795}.round-hands-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.summary-hand{padding:12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);text-align:left}.summary-hand strong{display:block;font-size:13px;color:#fff0ba}.summary-hand span{display:block;margin-top:4px;font-size:12px;color:#d6c7bb;line-height:1.45}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.confetti{position:fixed;width:10px;height:16px;top:-30px;z-index:200;pointer-events:none;border-radius:4px;animation:fall var(--dur) linear forwards}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(780deg);opacity:.95}}
@media(max-width:1240px){.game-layout{grid-template-columns:1fr}}
@media(max-width:920px){.topbar{flex-direction:column;align-items:flex-start}.top-stats{width:100%;justify-content:flex-start}.hero{flex-direction:column;align-items:flex-start}.hero-chip-stack{align-self:center}.table-surface{min-height:840px}.player-hands-wrap.split{grid-template-columns:1fr}.insurance-offer{grid-template-columns:auto 1fr}.insurance-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.main-actions{grid-template-columns:1fr}.play-actions{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.app-shell,.topbar{width:min(100% - 14px,1560px)}.topbar{margin-top:8px;border-radius:20px;padding:10px 12px}.brand-logo{width:58px;height:58px}.brand-copy strong{font-size:24px}.brand-copy span{font-size:12px}.mini-stat{min-width:82px;padding:8px 10px}.mini-stat strong{font-size:18px}.hero{padding:22px 18px}.hero h1{font-size:34px}.table-panel,.panel{border-radius:22px}.table-panel{padding:14px}.table-header h2{font-size:23px}.table-surface{min-height:800px;padding:14px;border-width:6px}.seat-head h3{font-size:20px}.neon-sign{min-width:unset;width:100%;font-size:15px}.shoe-box{width:100%}.card-fan{min-height:152px}.card{width:78px;height:116px;margin-right:-18px;border-radius:14px}.rank-top b,.rank-bottom b{font-size:22px}.pip-big{font-size:32px}.face-art{inset:28px 12px}.face-art span{font-size:34px}.panel{padding:16px}.difficulty-tabs{grid-template-columns:1fr}.insurance-offer{top:52%;width:94%;grid-template-columns:1fr;text-align:center}.insurance-icon{margin:0 auto}.insurance-actions{grid-template-columns:1fr}.round-hands-summary{grid-template-columns:1fr}.result-actions{grid-template-columns:1fr}}
@media(max-width:480px){.top-stats{gap:6px}.mini-stat span{font-size:10px}.hero-copy p{font-size:14px}.hero-chip-stack{width:240px;height:150px}.jackpot-ring{width:100px;height:100px}.jackpot-ring span{font-size:32px}.avatar{width:54px;height:54px;border-radius:16px;font-size:11px}.seat-head>div:nth-child(2){min-width:unset}.score-pill{min-width:100%}.bank-grid,.stats-grid{grid-template-columns:1fr}.chip-row{grid-template-columns:1fr 1fr}.card{width:66px;height:98px;margin-right:-10px}.rank-top,.rank-bottom{left:8px}.rank-bottom{right:8px;left:auto}.rank-top b,.rank-bottom b{font-size:18px}.rank-top span,.rank-bottom span{font-size:15px}.pip-big{font-size:28px}.face-art{inset:22px 8px}.face-art span{font-size:28px}.quick-chips{justify-content:center}.table-betting-area{justify-content:center}.play-actions{grid-template-columns:1fr}.casino-result{padding:26px 18px}.result-logo{width:120px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}}

/* Séparation permanente des cartes de la colonne droite */
.control-rail > .panel + .panel{margin-top:0}
.control-rail > .panel{overflow:visible}
.stats-card,.history-card,.log-card{clear:both}
