/* بلوت — الأنماط */
:root{--gold:#e3b64f;--cw:min(17vw,100px);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:#474747;color:#f1f1f1;font-family:Tajawal,Tahoma,"Segoe UI",sans-serif;overflow:hidden}
button{font:inherit;font-weight:800;border:0;cursor:pointer}
button:focus-visible{outline:3px solid #fff}
#wrap{height:100%;display:flex;gap:12px;padding:10px;max-width:1180px;margin:auto}
#side{width:300px;flex:none;background:#3a3a3a;border:2px solid #555;border-radius:22px;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:0}
.tb{display:flex;gap:8px}
.gb{flex:1;background:linear-gradient(#d9d9d9,#aaa);color:#3a3a3a;border-radius:12px;padding:8px 2px;font-size:15px;box-shadow:0 2px 0 #777;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.2}
.gb i{font-style:normal;font-size:22px}
.pan{background:#2c2c2c;border:1px solid #4a4a4a;border-radius:14px;overflow:hidden}
.row{padding:10px 14px;font-size:20px;font-weight:700}
.st .h,.st .v{display:grid;grid-template-columns:1fr 1fr 1.7fr;text-align:center;align-items:center}
.st .h{background:#3d3d3d;font-size:15px;padding:6px 0;border-bottom:1px solid #222}
.st .v{padding:6px 0}
.st b{font-size:32px;font-weight:700}
.st .v span{font-size:15px;opacity:.85}
#info{text-align:center;font-weight:800;font-size:15px;line-height:1.6;padding:6px}
#info .rd{color:#ff7b72}
.ch{flex:1;min-height:0;display:flex;flex-direction:column}
.chh{background:#3d3d3d;padding:8px 14px;font-weight:800;font-size:17px;border-bottom:1px solid #222}
#chat{flex:1;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:8px}
.lg b{display:block;font-size:13px}
.lg span{display:inline-block;background:#585858;border-radius:10px;padding:4px 12px;font-size:14px}
.n0{color:#4db8ff}.n1,.n3{color:#2ee6a6}.n2{color:#8fd46a}.n-1{color:#bbb}
#stage{flex:1;min-width:0;background:linear-gradient(#e3d1ae,#dac49a);border-radius:20px;padding:8px;display:grid;grid-template-columns:104px 1fr 104px;grid-template-rows:auto 1fr auto auto;grid-template-areas:". t ." "l m r" "h h h" "b b b";gap:4px;position:relative;overflow:hidden;color:#2b1d0a}
#rug{grid-area:m;position:relative;z-index:0;margin:2% 0 0;transform:perspective(900px) rotateX(38deg);transform-origin:50% 100%;background:radial-gradient(circle at 8px 8px,#cf3a24 4.5px,#ecd19a 5.5px) 0 0/16px 16px;box-shadow:0 18px 30px #0006}
#rug::after{content:"";position:absolute;inset:16px;background:repeating-linear-gradient(0deg,#b3302b 0 18px,#e0574c 18px 20px,#b3302b 20px 38px,#4b3a86 38px 40px,#b3302b 40px 58px,#2f7a5a 58px 62px);box-shadow:inset 0 0 0 4px #7d221f}
#mid{grid-area:m;position:relative;z-index:2;direction:ltr;min-height:150px}
.seat{direction:rtl;text-align:center;width:96px;align-self:center;justify-self:center;position:relative;z-index:3}
#p2{grid-area:t}#p3{grid-area:l}#p1{grid-area:r}
.bk{height:50px;display:flex;justify-content:center;margin-bottom:-18px}
.bk u{display:block;width:34px;height:50px;background:linear-gradient(135deg,#bcc3cc,#8d96a2);border:1px solid #fff;border-radius:5px;margin:0 -14px;transform:rotate(var(--r));transform-origin:50% 120%;box-shadow:0 1px 3px #0005}
.av{width:54px;height:54px;border-radius:50%;margin:0 auto;border:3px solid #fff;position:relative;background:radial-gradient(circle at 50% 36%,#b5b5b5 0 24%,transparent 25%),radial-gradient(ellipse at 50% 108%,#b5b5b5 0 44%,transparent 45%),#f2f2f2;transition:box-shadow .2s}
.on .av{border-color:#f2d21b;box-shadow:0 0 0 3px #f2d21b,0 0 16px #f2d21b}
.pl{background:linear-gradient(#ecd9ae,#c8a76a);border-radius:12px;padding:20px 6px 4px;margin-top:-18px;font-weight:800;box-shadow:0 3px 5px #0006}
.pl span{font-size:12px}
.pl hr{border:0;height:3px;width:60%;background:#fff;margin:1px auto 3px;border-radius:2px}
.pl .nm{display:block;background:#fff;color:#222;border-radius:8px;font-size:11px;padding:1px 4px}
.dl{display:inline-block;background:#f2d21b;color:#3b2a10;border-radius:8px;font-size:13px;font-weight:800;padding:2px 10px;margin-top:3px;border:2px solid #3b2a10}
.bb{position:absolute;top:6px;inset-inline-end:100%;margin-inline-end:8px;background:#111;color:#f2d21b;border-radius:12px;padding:10px 18px;font-size:18px;font-weight:800;white-space:nowrap;z-index:5}
#p1 .bb,#p3 .bb{top:100%;inset-inline-end:auto;left:50%;transform:translateX(-50%);margin:30px 0 0;font-size:14px;padding:4px 12px}
.cd{position:relative;width:var(--cw);aspect-ratio:5/7;background:#fff;color:#1b1b1f;border-radius:9px;box-shadow:0 3px 8px #0009;display:flex;align-items:center;justify-content:center;font-weight:800;line-height:1;user-select:none;flex:none}
.cd.rd{color:#c8342f}
.cr{position:absolute;top:4%;left:7%;display:flex;flex-direction:column;align-items:center;line-height:1}
.cr i{font-style:normal;font-size:calc(var(--cw)*.27)}
.cr b{font-size:calc(var(--cw)*.24);font-weight:400}
.cr.b{top:auto;left:auto;bottom:4%;right:7%;transform:rotate(180deg)}
.by{display:inline-flex;align-items:center;gap:6px;margin-top:4px;background:#111;border:2px solid #f2d21b;color:#fff;border-radius:12px;padding:1px 10px;font-size:19px;font-weight:800;white-space:nowrap}
.by b{font-size:28px;font-weight:400;line-height:1}
.by .rd{color:#ff6b62}
#trp{position:absolute;left:10px;top:10px;z-index:6;background:#111;border:3px solid #f2d21b;border-radius:16px;padding:4px 12px;text-align:center;color:#fff;font-weight:800;line-height:1.1;min-width:66px}
#trp b{display:block;font-size:46px;font-weight:400}
#trp .sn{font-size:28px;font-weight:800;padding:10px 0}
#trp .rd{color:#ff6b62}
#trp small{display:block;font-size:13px}
.bg{font-size:36px;line-height:1;vertical-align:middle}
@media(max-width:820px){#trp{padding:2px 8px;min-width:50px}#trp b{font-size:28px}#trp .sn{font-size:20px;padding:4px 0}.by{font-size:14px}.by b{font-size:20px}}
.pc{position:absolute;--cw:min(13vw,64px);z-index:2}
.pc0{bottom:6%;left:50%;transform:translateX(-50%) rotate(-4deg)}
.pc2{top:8%;left:50%;transform:translateX(-50%) rotate(3deg)}
.pc1{right:10%;top:50%;transform:translateY(-50%) rotate(8deg)}
.pc3{left:10%;top:50%;transform:translateY(-50%) rotate(-7deg)}
.fl{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);z-index:2}
.fl .cd{--cw:min(20vw,118px);transform:rotate(-8deg)}
#msg{position:absolute;top:34%;left:50%;transform:translateX(-50%);background:#000b;color:#fff;border:1px solid var(--gold);border-radius:20px;padding:4px 14px;font-size:14px;font-weight:700;opacity:0;transition:opacity .25s;white-space:nowrap;z-index:6;pointer-events:none}
#msg.show{opacity:1}
#hand{grid-area:h;position:relative;z-index:1;display:flex;justify-content:center;padding-top:30px;margin-bottom:calc(var(--cw)*-.55);direction:ltr}
#hand .cd{margin-inline-start:calc(var(--cw)*-.45);transform:translateY(calc(var(--y0,0px) + var(--lift,0px))) rotate(var(--r,0deg));transform-origin:50% 130%;transition:transform .15s;border:1px solid #0003}
#hand .cd:first-child{margin-inline-start:0}
#hand .cd.ok{--lift:-16px;cursor:pointer}
#hand .cd.ok:hover{--lift:-30px}
#hand .cd.no{filter:brightness(.62)}
#bar{grid-area:b;position:relative;z-index:4;background:#3d3d3d;border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:8px;margin:0 6%}
.me{display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;font-weight:800;font-size:14px}
.me .av{width:40px;height:40px}
.me .nm{background:#2a2a2a;border-radius:10px;padding:4px 12px}
.me.on .av{border-color:#f2d21b;box-shadow:0 0 0 3px #f2d21b}
#act{display:flex;gap:8px;min-height:54px}
#act button{flex:1;background:linear-gradient(#dcdcdc,#a9a9a9);color:#333;border-radius:14px;padding:14px 4px;font-size:clamp(15px,3.6vw,22px);box-shadow:0 3px 0 #777}
#act button.on{background:linear-gradient(#f5d77f,#d9a93c)}
#act button.r{color:#c8342f}
#act button:disabled{opacity:.45;cursor:default}
#ov{position:fixed;inset:0;background:#000b;display:none;align-items:center;justify-content:center;z-index:9;padding:20px}
#ovb{background:#323232;border:2px solid var(--gold);border-radius:20px;padding:22px;text-align:center;max-width:400px;width:100%;line-height:1.9;max-height:90%;overflow:auto;color:#f1f1f1}
#ovb h2{margin:0 0 6px;color:var(--gold)}
#ovb button{background:var(--gold);color:#2a1d05;border-radius:12px;padding:10px 24px;font-size:16px}
#ovb ul{text-align:right;margin:0 0 10px;padding-inline-start:20px;font-size:14px}
@media(max-width:820px){#wrap{flex-direction:column;padding:6px;gap:6px}#side{width:auto;flex-direction:row;flex-wrap:wrap;padding:6px;align-items:center}.ch,.row,.st .h,.st .v span{display:none}.st .v{display:flex;gap:16px;padding:4px 14px}.st b{font-size:20px}#s0::before{content:"لنا ";font-size:12px;font-weight:400}#s1::before{content:"لهم ";font-size:12px;font-weight:400}#info{flex:1;font-size:13px}#stage{grid-template-columns:74px 1fr 74px}.seat{width:72px}.bk u{width:24px;height:36px;margin:0 -10px}.bk{height:36px}.av{width:42px;height:42px}#bar{margin:0}}

#rug{background:none}
#rug::after{display:none}
#rug svg,#rug img{position:absolute;inset:0;width:100%;height:100%;display:block}
#stage{background:radial-gradient(ellipse at 50% 42%,#efe0bf 0,#dcc59a 68%,#bd9f69 100%) center/cover}
.cd{background:linear-gradient(#fff,#f5f1e6);border:1px solid #cfc9b8;font-family:Georgia,"Times New Roman",serif}
.cd.sk{background-color:#fff;background-size:100% 100%;background-repeat:no-repeat;border:0}
.cr i{font-weight:700}
.bk u{background:var(--back,none) center/cover,linear-gradient(135deg,#bcc3cc,#8d96a2)}
#act button,.gb{box-shadow:0 3px 0 #777,inset 0 2px 0 #fffa,inset 0 -4px 8px #0002;text-shadow:0 1px 0 #fff9}
#act button:active,.gb:active{transform:translateY(2px);box-shadow:0 1px 0 #777,inset 0 2px 6px #0003}
.pl{background:linear-gradient(#f2e2bb,#c9a869 55%,#b8955a);border:1px solid #9a7a45}
.av{box-shadow:0 3px 8px #0006}
.pc0{--fx:0px;--fy:140px}.pc1{--fx:160px;--fy:0px}.pc2{--fx:0px;--fy:-140px}.pc3{--fx:-160px;--fy:0px}
.pin{animation:pin .3s ease-out}
@keyframes pin{from{translate:var(--fx) var(--fy);scale:.75;opacity:.2}}
.sw0 .pc,.sw1 .pc,.sw2 .pc,.sw3 .pc{scale:.4;opacity:0;transition:translate .4s ease-in,scale .4s,opacity .4s}
.sw0 .pc{translate:0 260px}.sw1 .pc{translate:260px 0}.sw2 .pc{translate:0 -260px}.sw3 .pc{translate:-260px 0}
.dlv{animation:dlv .45s backwards ease-out}
@keyframes dlv{from{translate:0 120px;opacity:0;scale:.8}}
#ovb input{max-width:100%;color:#eee}
@media(max-width:820px){.tb{width:100%}.gb{padding:4px;font-size:12px;flex-direction:row;justify-content:center}.gb i{font-size:15px}}
.cd{font-family:Tajawal,Arial,Helvetica,sans-serif;background:#fff;border:1px solid #cfcfcf}
.cr i,.cm i{font-style:normal;font-weight:800}
.cr i{font-size:calc(var(--cw)*.26)}
.cr b{font-size:calc(var(--cw)*.24)}
.cm{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;gap:2%;margin-top:6%}
.cm i{font-size:calc(var(--cw)*.4)}
.cm b{font-size:calc(var(--cw)*.46);font-weight:400}

/* ===== visual refresh ===== */
body{background:radial-gradient(ellipse at 50% 30%,#5d5d5d,#2c2c2c 80%)}
#side{background:linear-gradient(#464646,#2f2f2f);box-shadow:0 8px 24px #0008}
.chh{border-bottom:2px solid #d4a63c}
.st .h span:nth-child(1),#s0{color:#7db4ff}
.st .h span:nth-child(2),#s1{color:#ff9f86}
#stage{padding:14px;box-shadow:inset 0 0 0 7px #7a5530,inset 0 0 0 9px #b98a4e,inset 0 0 70px #0005,0 12px 30px #000a}
.seat{transition:transform .25s,opacity .25s,filter .25s}
.seat.on{transform:scale(1.1)}
.seat.dim,.me.dim{opacity:.72;filter:saturate(.65)}
.tm0 .av{border-color:#5aa0ff;background-color:#e6f0ff}
.tm1 .av{border-color:#ff7a5a;background-color:#ffeae2}
.tm0 .pl{background:linear-gradient(#d6e7ff,#78a3d9 60%,#5f8cc4);border-color:#456b9c}
.tm1 .pl{background:linear-gradient(#ffdccd,#dc8f70 60%,#c4745a);border-color:#9c5440}
.on .av,.me.on .av{border-color:#f2d21b;animation:ring 1.1s ease-in-out infinite}
@keyframes ring{0%,100%{box-shadow:0 0 0 3px #f2d21b,0 0 10px #f2d21b}50%{box-shadow:0 0 0 6px #f2d21b99,0 0 26px #f2d21b}}
.bk u{background:var(--back,none) center/cover,repeating-linear-gradient(45deg,#1f3c88 0 3px,#2d56b3 3px 6px);border-color:#fff}
.fl .cd{box-shadow:0 0 0 3px #fff9,0 10px 22px #000a,0 0 30px #f2d21bbb}
.wn{box-shadow:0 0 0 4px #f2d21b,0 0 28px #f2d21b!important;z-index:5}
.dlr{position:absolute;left:-4px;top:34px;z-index:7;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6bf,#f2c230 55%,#b8860b);border:2px solid #7a5a10;box-shadow:0 3px 8px #000a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#3b2a10;font-size:10px;font-weight:800;line-height:1;animation:dpulse 2.2s ease-in-out infinite}
.dlr i{display:block;width:12px;height:16px;background:#fff;border:1.5px solid #3b2a10;border-radius:2px;box-shadow:3px -2px 0 -1px #fff,3px -2px 0 0 #3b2a10}
.me .dlr{position:relative;left:auto;top:auto;width:38px;height:38px}
@keyframes dpulse{50%{transform:scale(1.1)}}
.rdots{display:inline-flex;gap:6px;margin-top:4px}
.rdots i{width:12px;height:12px;border-radius:50%;background:#555;border:2px solid #888}
.rdots i.a{background:#f2d21b;border-color:#fff;box-shadow:0 0 8px #f2d21b}
#act button.bp{background:linear-gradient(#f4b3aa,#d97a6e);color:#4a1410}
#act button.ba{background:linear-gradient(#d7c1f2,#a37ed6);color:#2b1048}
#act button.bh{background:linear-gradient(#bfe8b8,#6fc263);color:#12380f}
#act button.bn{background:linear-gradient(#ffe2a0,#f0a932);color:#4a2c00}
#act button b.rd{color:#c8342f}
.myturn #bar{animation:bglow 1.3s ease-in-out infinite}
@keyframes bglow{0%,100%{box-shadow:0 0 0 2px #f2d21b66}50%{box-shadow:0 0 0 4px #f2d21b,0 0 22px #f2d21b}}
.myturn #hand::before{content:"▼";position:absolute;top:-6px;left:50%;transform:translateX(-50%);font-size:26px;color:#f2d21b;text-shadow:0 2px 4px #000;animation:bob .8s ease-in-out infinite;z-index:3}
@keyframes bob{50%{transform:translate(-50%,8px)}}

/* ===== dark theme (comfortable, one palette) ===== */
:root{--bg:#121418;--s1:#1b1e24;--s2:#242830;--s3:#2e333d;--line:#363c49;--ink:#e6e8ec;--mut:#9aa1ad;--gold:#d9ae4a}
body{background:radial-gradient(ellipse at 50% 20%,#1d2128,#0d0f12 85%);color:var(--ink)}
#side{background:var(--s1);border:1px solid var(--line);box-shadow:0 8px 24px #000a}
.pan{background:var(--s2);border-color:var(--line)}
.gb{background:linear-gradient(#3b414d,#2c313b);color:var(--ink);box-shadow:0 2px 0 #000a,inset 0 1px 0 #ffffff1a;text-shadow:none}
.chh{background:var(--s3);border-bottom:2px solid var(--gold);color:var(--ink)}
#stage{background:radial-gradient(ellipse at 50% 45%,#2a2f39 0,#1b1e24 70%,#111317 100%);box-shadow:inset 0 0 0 1px var(--line),inset 0 0 90px #000b,0 12px 30px #000a;color:var(--ink)}
#rug{filter:brightness(.6) saturate(.75)}
.tm0 .pl{background:linear-gradient(#35557f,#243b59);border-color:#4f78aa;color:#fff}
.tm1 .pl{background:linear-gradient(#7d4034,#552a22);border-color:#a76352;color:#fff}
.pl .nm{background:#0f1115;color:#fff}
.tm0 .av{background-color:#26364d}.tm1 .av{background-color:#4a2c26}
.bb{border:1px solid var(--gold)}
#bar{background:var(--s1);border:1px solid var(--line)}
.me .nm{background:#0f1115}
#act button,#act button.bp,#act button.ba,#act button.bh,#act button.bn{background:linear-gradient(#3b414d,#2c313b);color:var(--ink);box-shadow:0 3px 0 #000a,inset 0 1px 0 #ffffff1a;text-shadow:none;border-bottom:4px solid #6b7280}
#act button.bp{border-bottom-color:#d9695c}#act button.ba{border-bottom-color:#a37ed6}
#act button.bh{border-bottom-color:#6fc263}#act button.bn{border-bottom-color:#f0a932}
#act button.on{background:linear-gradient(#e6c25f,#c99a33);color:#2a1d05}
#act button b.rd{color:#ff7b72}
#act button:disabled{opacity:.4}
.fl .cd{box-shadow:0 0 0 3px #ffffff55,0 10px 22px #000a,0 0 26px #d9ae4a88}
.rdots i{background:#3a404c;border-color:#6b7280}
#ovb{background:var(--s1);border-color:var(--gold)}

/* ===== trick cards: a non-overlapping cross in the middle of the table ===== */
#mid{min-height:min(240px,50vw)}
.pc{left:50%;top:50%;right:auto;bottom:auto;--cw:min(13vw,62px)}
.pc0{transform:translate(-50%,-50%) translateY(calc(var(--cw)*.98)) rotate(-3deg)}
.pc2{transform:translate(-50%,-50%) translateY(calc(var(--cw)*-.98)) rotate(2deg)}
.pc1{transform:translate(-50%,-50%) translateX(calc(var(--cw)*1.08)) rotate(5deg)}
.pc3{transform:translate(-50%,-50%) translateX(calc(var(--cw)*-1.08)) rotate(-4deg)}
.sw0 .pc,.sw1 .pc,.sw2 .pc,.sw3 .pc{filter:brightness(.45)}

/* ===== won-tricks pile (at the partner of the winner), floating points ===== */
.pile{position:absolute;width:30px;height:42px;border-radius:5px;background:repeating-linear-gradient(45deg,#1f3c88 0 3px,#2d56b3 3px 6px);border:1px solid #fff;box-shadow:calc(var(--n)*1px) calc(var(--n)*-1px) 0 #c9d4ee,calc(var(--n)*2px) calc(var(--n)*-2px) 0 #1f3c88;display:flex;align-items:center;justify-content:center;z-index:4}
.pile b{background:#000b;color:#fff;border-radius:8px;font-size:12px;padding:0 5px}
#p1 .pile{left:-40px;top:66px}#p3 .pile{right:-40px;top:66px}#p2 .pile{right:-44px;top:24px}
.me .pile{position:relative;margin-inline-start:10px}
.pop{position:absolute;z-index:8;font-size:28px;font-weight:800;color:#f2d21b;text-shadow:0 2px 6px #000;animation:pop 1.3s ease-out forwards;pointer-events:none}
.pop.p0{bottom:150px;left:50%}.pop.p1{right:120px;top:50%}.pop.p2{top:120px;left:50%}.pop.p3{left:120px;top:50%}
@keyframes pop{from{opacity:1;transform:translateY(0) scale(.8)}30%{transform:translateY(-10px) scale(1.2)}to{opacity:0;transform:translateY(-46px) scale(1)}}

/* ===== side panel: bigger scores, round history, small chat ===== */
.st b{font-size:46px;line-height:1.05}
.live{text-align:center;font-size:14px;color:var(--mut);padding:2px 0 8px}
.live b{font-size:16px}
.hs{flex:1;min-height:0;display:flex;flex-direction:column}
.hsc{flex:1;overflow:auto}
.hsc table{width:100%;border-collapse:collapse;text-align:center;font-size:14px}
.hsc th{position:sticky;top:0;background:var(--s3);padding:4px;font-size:12px;color:var(--mut)}
.hsc td{padding:5px 4px;border-bottom:1px solid var(--line)}
.a{color:#7db4ff}.b{color:#ff9f86}
.ch.sm{flex:0 0 96px}
.ch.sm #chat{font-size:12px}
@media(max-width:820px){.hs{display:none}}

/* ===== round result card ===== */
.rt{width:100%;border-collapse:collapse;margin:8px 0;font-size:15px}
.rt th,.rt td{padding:5px 8px;border-bottom:1px solid var(--line)}
.rt td:first-child{text-align:right;color:var(--mut)}
.rt .tot td{font-size:22px;font-weight:800;color:var(--ink);border-bottom:0}
.rt .tot td:first-child{color:var(--gold)}
#ovb .nt{color:var(--gold);font-weight:700}
#ovb .big{font-size:34px;font-weight:800;margin:8px 0}
#ovb .sum{margin:6px 0 12px;font-size:15px}

/* ===== uniform buttons, bidding round banner, project reveal ===== */
#act{gap:8px;flex-wrap:nowrap;min-height:54px}
#act button{flex:1 1 0;min-width:0;height:52px;padding:0 6px;border-radius:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(13px,3.3vw,20px)}
.gb{border-radius:12px}
#rdn{position:absolute;top:30%;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:6}
#rdn span{padding:4px 14px;border-radius:14px;background:var(--s3);color:var(--mut);font-weight:800;font-size:13px;border:1px solid var(--line)}
#rdn span.on{background:var(--gold);color:#2a1d05;border-color:var(--gold)}
.pjr{position:absolute;z-index:9;background:#000d;border:1px solid var(--gold);border-radius:12px;padding:6px 10px;text-align:center;font-size:13px;font-weight:800;color:var(--gold);display:flex;flex-direction:column;align-items:center;gap:4px;animation:pop2 .3s ease-out}
.pjr .row{display:flex;direction:ltr}
.pjr .cd{--cw:36px;margin-inline-start:-12px}
.pjr .cd:first-child{margin-inline-start:0}
.pjr.p0{bottom:170px;left:50%;transform:translateX(-50%)}.pjr.p1{right:100px;top:38%}.pjr.p2{top:110px;left:50%;transform:translateX(-50%)}.pjr.p3{left:100px;top:38%}
@keyframes pop2{from{opacity:0;scale:.8}}

/* ===== fixed, symmetric table layout ===== */
#stage{display:flex;flex-direction:column;gap:0;padding:12px;--ps:118px;--pt:150px;--pb:34px}
#tbl{flex:1;min-height:300px;position:relative}
.seat{position:absolute;margin:0;width:96px}
#p2{left:50%;top:0;translate:-50% 0}
#p3{left:0;top:50%;translate:0 -50%}
#p1{right:0;top:50%;translate:0 -50%}
#rug,#mid{position:absolute;inset:var(--pt) var(--ps) var(--pb);margin:0;min-height:0}
#rug{transform:none;background:none;box-shadow:0 14px 30px #000a}
#rug::after{display:none}
#hand{min-height:calc(var(--cw)*1.4 + 46px)}
#piles{position:absolute;inset:0;pointer-events:none;z-index:4}
.pile.pl0{left:calc(50% + 100px);bottom:2px}
.pile.pl2{left:calc(50% + 100px);top:calc(var(--pt) - 14px)}
.pile.pl1{right:calc(var(--ps) - 16px);top:calc(50% + 60px)}
.pile.pl3{left:calc(var(--ps) - 16px);top:calc(50% + 60px)}
.st .h,.st .v{grid-template-columns:1fr 1fr}
/* ===== trick cards: big, slightly overlapping, centered ===== */
.pc{--cw:min(15vw,78px)}
.pc0{transform:translate(-50%,-50%) translateY(calc(var(--cw)*.66)) rotate(-3deg)}
.pc2{transform:translate(-50%,-50%) translateY(calc(var(--cw)*-.66)) rotate(2deg)}
.pc1{transform:translate(-50%,-50%) translateX(calc(var(--cw)*.78)) rotate(5deg)}
.pc3{transform:translate(-50%,-50%) translateX(calc(var(--cw)*-.78)) rotate(-4deg)}
/* ===== project picker and project reveal ===== */
#pmenu{display:none;position:absolute;left:50%;bottom:140px;transform:translateX(-50%);z-index:12;width:min(92%,430px);background:var(--s1);border:1px solid var(--gold);border-radius:14px;padding:12px;box-shadow:0 10px 30px #000c}
#pmenu .pt{text-align:center;font-weight:800;font-size:18px;color:var(--gold);margin-bottom:10px;min-height:26px}
#pmenu .pr{display:flex;gap:8px;margin-top:8px}
#pmenu button{flex:1;min-width:0;height:48px;border-radius:12px;font-size:clamp(14px,3.6vw,18px);color:var(--ink);background:linear-gradient(#3b414d,#2c313b);box-shadow:0 3px 0 #000a,inset 0 1px 0 #ffffff1a}
#pmenu button.on{background:linear-gradient(#e6c25f,#c99a33);color:#2a1d05}
#pmenu button.bp{border-bottom:4px solid #d9695c}
#pmenu button:disabled{opacity:.35}
.pjr{padding:10px 14px;font-size:18px;gap:8px;border-width:2px}
.pjr .cd{--cw:min(16vw,66px);margin-inline-start:calc(var(--cw)*-.3)}
.pjr.p0{bottom:240px}.pjr.p2{top:160px}.pjr.p1{right:130px;top:34%}.pjr.p3{left:130px;top:34%}
@media(max-width:820px){#stage{--ps:80px;--pt:122px;--pb:22px}.pc{--cw:min(14vw,60px)}.pile.pl0,.pile.pl2{left:calc(50% + 70px)}}

/* ===== 3D rug (trapezoid), side cards horizontal, bigger piles, doubling box, end wait ===== */
#rug{inset:auto var(--ps) var(--pb) var(--ps);height:calc((100% - var(--pt) - var(--pb))*1.45);transform:perspective(900px) rotateX(28deg);transform-origin:50% 100%}
.pc1{transform:translate(-50%,-50%) translateX(calc(var(--cw)*1.0)) rotate(86deg)}
.pc3{transform:translate(-50%,-50%) translateX(calc(var(--cw)*-1.0)) rotate(-88deg)}
.pile{width:46px;height:64px}
.pile b{font-size:15px;padding:1px 8px}
.pile.pl0{left:50%;bottom:calc(var(--pb) - 14px);translate:-50% 0}
.pile.pl2{left:50%;top:calc(var(--pt) - 10px);translate:-50% 0}
.pile.pl1{right:calc(var(--ps) - 28px);left:auto;top:50%;translate:0 -50%}
.pile.pl3{left:calc(var(--ps) - 28px);top:50%;translate:0 -50%}
#trp{min-width:84px}
#trp .dbl{margin-top:8px;padding:6px 8px;border-radius:10px;font-size:22px;font-weight:800;line-height:1.2;color:#fff;background:#8a5a12}
#trp .dbl.lv3{background:#b3541a}#trp .dbl.lv4{background:#a82a2a}
#wait{display:none;position:absolute;left:50%;bottom:calc(var(--pb) + 12px);translate:-50% 0;z-index:10;align-items:center;gap:12px;background:#000d;border:1px solid var(--gold);border-radius:22px;padding:6px 8px 6px 16px}
#wait span{font-weight:800;color:var(--gold);font-size:18px}
#wait button{height:36px;padding:0 14px;border-radius:14px;background:linear-gradient(#e6c25f,#c99a33);color:#2a1d05;font-size:14px}
.rv{position:absolute;display:flex;direction:ltr;z-index:3}
.rv .cd{--cw:min(11vw,48px);margin-inline-start:calc(var(--cw)*-.55)}
.rv .cd:first-child{margin-inline-start:0}
.rv0{left:50%;bottom:3%;translate:-50% 0}.rv2{left:50%;top:3%;translate:-50% 0}.rv1{right:2%;top:50%;translate:0 -50%}.rv3{left:2%;top:50%;translate:0 -50%}

/* ===== round 5: piles, history, doubling ribbon, splash, confetti ===== */
.pile{width:66px;height:46px}
.pile.pl0{left:50%;bottom:calc(var(--pb) + 6px);translate:-50% 0}
.pile.pl2{left:50%;top:calc(var(--pt) + 26px);translate:-50% 0}
.pile.pl1{right:calc(var(--ps) + 8px);left:auto;top:50%;translate:0 -50%}
.pile.pl3{left:calc(var(--ps) + 8px);top:50%;translate:0 -50%}
.st b{font-size:54px}
.hsc table{font-size:17px}.hsc th{font-size:14px;padding:8px}.hsc td{padding:10px 6px;font-size:18px}
#wait{padding:8px 18px}
#dblb{position:absolute;right:10px;top:10px;z-index:7}
#dblb .r{display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:16px;color:#fff;font-weight:800;border:2px solid #ffffff88;box-shadow:0 0 22px var(--g);animation:flame 1.2s ease-in-out infinite}
#dblb .r b{font-size:40px;line-height:1}
#dblb .r span{font-size:22px}
#dblb .lv2{--g:#e0a030;background:linear-gradient(#b67a16,#7a4c0a)}
#dblb .lv3{--g:#ff7a2a;background:linear-gradient(#e0621c,#8f340a)}
#dblb .lv4{--g:#ff3a3a;background:linear-gradient(#d32a2a,#701010)}
#dblb .lv5{--g:#9be15d;background:linear-gradient(#6b4423,#2a1608)}
@keyframes flame{50%{transform:scale(1.06);filter:brightness(1.25)}}
.splash{position:absolute;left:50%;top:44%;translate:-50% -50%;z-index:20;text-align:center;font-weight:900;color:#fff;pointer-events:none;animation:spl 1.6s ease-out forwards;text-shadow:0 0 22px var(--g),0 4px 0 #000a;font-size:clamp(46px,14vw,96px);line-height:1;white-space:nowrap}
.splash small{display:block;font-size:.34em;margin-top:8px}
.splash.lv1{--g:#d9ae4a;color:#f5d77f;font-size:clamp(40px,11vw,76px)}
.splash.lv2{--g:#e0a030}.splash.lv3{--g:#ff7a2a}.splash.lv4{--g:#ff3a3a}.splash.lv5{--g:#9be15d}
@keyframes spl{0%{opacity:0;scale:.3;rotate:-8deg}18%{opacity:1;scale:1.25;rotate:2deg}30%{scale:1}80%{opacity:1}100%{opacity:0;scale:1.15}}
.shake{animation:shake .5s}
@keyframes shake{20%{translate:-8px 3px}40%{translate:7px -4px}60%{translate:-5px 2px}80%{translate:3px -1px}}
.cf{position:fixed;top:-14px;width:10px;height:16px;z-index:30;pointer-events:none;animation:cf 2.8s linear forwards}
@keyframes cf{to{translate:var(--dx) 112vh;rotate:720deg}}
.bump{animation:bump .5s}
@keyframes bump{40%{scale:1.35;color:#fff}}
.seat.buyer .pl{box-shadow:0 0 0 2px var(--gold),0 0 16px #d9ae4a99}
.me.buyer .nm{box-shadow:0 0 0 2px var(--gold)}
.rt .tot td.win{color:#7be07b;text-shadow:0 0 14px #7be07b88}
.cdb{height:5px;background:#363c49;border-radius:3px;overflow:hidden;margin-top:12px}
.cdb i{display:block;height:100%;background:var(--gold);animation:cdb 5s linear forwards}
@keyframes cdb{from{width:100%}to{width:0}}
@media(max-width:820px){#dblb .r b{font-size:28px}#dblb .r span{font-size:16px}#dblb .r{padding:5px 10px}.pile.pl1{right:calc(var(--ps) + 2px)}.pile.pl3{left:calc(var(--ps) + 2px)}}

/* ===== round 6: liveliness ===== */
.tb{display:grid;grid-template-columns:repeat(3,1fr)}
.tb .gb{padding:8px 2px;font-size:13px}
.hsc tr:last-child td{background:#2d3340}
#streak{text-align:center;font-weight:800;color:#ffb347;min-height:0;font-size:14px}
.live{padding:2px 12px 10px}
.lb{display:flex;align-items:center;gap:8px}
.lb b{font-size:22px;min-width:34px;text-align:center}
.lb .bar{position:relative;flex:1;height:16px;border-radius:8px;background:#161a20;display:flex;overflow:hidden;box-shadow:inset 0 2px 4px #000a}
.lb .bar i{height:100%;transition:width .6s}
.lb .bar i.a{background:linear-gradient(#7db4ff,#3f78c9)}
.lb .bar i.b{background:linear-gradient(#ff9f86,#d4623f);margin-inline-start:auto}
.lb .bar u{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#fff8;text-decoration:none}
.live small{display:block;text-align:center;color:var(--mut);font-size:12px;margin-top:5px}
.fl.fly0{animation:fly0 1.1s ease-in .35s both}.fl.fly1{animation:fly1 1.1s ease-in .35s both}
.fl.fly2{animation:fly2 1.1s ease-in .35s both}.fl.fly3{animation:fly3 1.1s ease-in .35s both}
@keyframes fly0{to{translate:0 230px;scale:.35;opacity:.1}}
@keyframes fly1{to{translate:230px 0;scale:.35;opacity:.1}}
@keyframes fly2{to{translate:0 -230px;scale:.35;opacity:.1}}
@keyframes fly3{to{translate:-230px 0;scale:.35;opacity:.1}}
.av{animation:breathe 5s ease-in-out infinite}
@keyframes breathe{50%{scale:1.05}}
#emb{width:42px;height:38px;border-radius:12px;font-size:22px;background:linear-gradient(#3b414d,#2c313b);box-shadow:0 2px 0 #000a}
#emt{display:none;position:absolute;left:50%;bottom:130px;transform:translateX(-50%);z-index:12;gap:6px;flex-wrap:wrap;justify-content:center;max-width:92%;background:var(--s1);border:1px solid var(--gold);border-radius:14px;padding:8px}
#emt button{width:46px;height:46px;border-radius:12px;font-size:26px;background:#2c313b}
.emo{position:absolute;z-index:15;font-size:48px;animation:emo 2.4s ease-out forwards;pointer-events:none}
.emo.e0{bottom:210px;left:50%;margin-left:-24px}.emo.e1{right:80px;top:40%}.emo.e2{top:130px;left:50%;margin-left:-24px}.emo.e3{left:80px;top:40%}
@keyframes emo{0%{opacity:0;scale:.3}15%{opacity:1;scale:1.3}30%{scale:1}85%{opacity:1}100%{opacity:0;translate:0 -50px}}
.lastt{left:50%;top:50%;translate:-50% -50%}
.lc{display:flex;flex-direction:column;align-items:center;gap:4px}
.lc small{font-size:12px;color:#fff}
.lc.w .cd{box-shadow:0 0 0 3px #f2d21b,0 0 18px #f2d21b}
.trk{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.trr{display:flex;gap:4px;direction:ltr;align-items:center}
.trr b{width:28px;font-size:24px;font-weight:400}
.trr.rd b{color:#ff7b72}
.trr span{flex:1;text-align:center;padding:6px 0;border-radius:6px;background:#2e333d;font-weight:800}
.trr span.x{opacity:.25;text-decoration:line-through}
.trr span.m{background:var(--gold);color:#2a1d05}
.lg2{font-size:13px;display:flex;gap:10px;justify-content:center;margin:6px 0}
.lg2 .x{opacity:.4;text-decoration:line-through}.lg2 .m{background:var(--gold);color:#2a1d05;padding:0 6px;border-radius:4px}
#ovb.win{border-color:#6fd16f;box-shadow:0 0 44px #6fd16f66}
#ovb.lose{border-color:#d9695c;box-shadow:0 0 44px #d9695c55}
#ovb .ico{font-size:64px;line-height:1}
#ovb .ico.up{animation:trophy 1s ease-out}
#ovb .ico.dn{animation:wobble .9s}
#ovb .stk{color:#ffb347;font-weight:800;margin-bottom:4px}
@keyframes trophy{0%{scale:.2;rotate:-20deg}60%{scale:1.3;rotate:8deg}100%{scale:1}}
@keyframes wobble{20%{rotate:-12deg}40%{rotate:10deg}60%{rotate:-6deg}80%{rotate:3deg}}
#stage.gw{animation:glowg 1.4s}
#stage.gl{animation:glowr 1.4s}
@keyframes glowg{30%{box-shadow:inset 0 0 0 1px var(--line),inset 0 0 130px #4fd36aaa,0 12px 30px #000a}}
@keyframes glowr{30%{box-shadow:inset 0 0 0 1px var(--line),inset 0 0 130px #d9453aaa,0 12px 30px #000a}}
@media(max-width:820px){.tb{grid-template-columns:repeat(auto-fit,minmax(64px,1fr))}.emo{font-size:38px}}
