:root{--bg0: #0a0304;--bg1: #1c0609;--bg2: #4a0c15;--felt-hi: #e01b2b;--felt: #b30f1e;--felt-lo: #6e0811;--gold: #e8b64c;--gold-hi: #fbe3a0;--gold-lo: #9c6a1c;--ivory: #fbf4e4;--ivory-2: #efe2c6;--ink: #f7ead3;--ink-dim: rgba(247, 234, 211, .66);--ink-faint: rgba(247, 234, 211, .4);--bg-mid: #1a0509;--bg-glow: rgba(110, 12, 24, .35);--panel-a: rgba(102, 14, 26, .86);--panel-b: rgba(46, 8, 13, .94);--bar: rgba(22, 7, 10, .96);--overlay: #0a020499;--badge-a: #2c0a10;--badge-b: #160508;--tint: rgba(40, 4, 8, .6);--plate: rgba(22, 7, 10, .93);--plate-2: rgba(40, 10, 16, .92);--line: rgba(232, 182, 76, .28);--line-strong: rgba(232, 182, 76, .6);--red: #c8102e;--black: #15171c;--diamond: #1d63c9;--club: #1b7a3c;--felt-center: #e3202f;--felt-edge: #8a0b16;--felt-shade: rgba(70, 0, 8, .55);--rail: #8e1019;--rail-edge: #5e0810;--watermark: rgba(70, 0, 8, .3);--back-a: #c4142a;--back-b: #7d0a17;--us: #f0c55b;--them: #f08a7a;--serif: "Playfair Display", Georgia, "Times New Roman", serif;--caps: "Cinzel", "Playfair Display", Georgia, serif;--zh: "Noto Serif SC", "Songti SC", "STSong", serif;--brush: "Ma Shan Zheng", "Kaiti SC", "STKaiti", serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg0);color:var(--ink);font-family:Outfit,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}input{font:inherit}.stage{position:fixed;left:0;top:0;transform-origin:0 0;container-type:size;container-name:stage;overflow:hidden;z-index:1}.screen{position:absolute;top:0;right:0;bottom:0;left:0;--cw: clamp(54px, 6cqw, 96px);--ch: calc(var(--cw) * 1.42)}.felt{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(ellipse 70% 60% at 50% 45%,var(--bg-glow),transparent 70%),radial-gradient(ellipse 120% 90% at 50% 50%,var(--bg1) 0%,var(--bg-mid) 55%,var(--bg0) 100%)}.felt:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.07;background-image:radial-gradient(circle at 50% 50%,transparent 13px,rgba(232,182,76,.9) 14px,transparent 15px);background-size:44px 44px;pointer-events:none}.felt:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 220px 60px #000000bf;pointer-events:none}.btn{border:1px solid var(--line);background:linear-gradient(180deg,#ffffff0f,#ffffff03);padding:11px 20px;border-radius:999px;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s,border-color .2s,transform .15s,opacity .2s,box-shadow .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--line-strong);background:#e8b64c1a}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg,#fbe08f,#e8b64c 48%,#c98d2a);color:#3a1d04;border-color:#fff0c2;box-shadow:0 1px #fff9 inset,0 8px 26px -8px #e8b64cb3;font-weight:700}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#fde9ab,#f0c35d 48%,#d49933);box-shadow:0 1px #fff9 inset,0 10px 32px -6px #e8b64cd9}.btn.small{padding:7px 15px;font-size:13px}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover:not(:disabled){background:#e8b64c14}.icon-btn{width:36px;height:36px;padding:0;border-radius:50%;font-size:15px}.input{width:100%;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:#00000059;color:var(--ink);font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-user-select:text;user-select:text}.input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e8b64c2e}.input.code{text-transform:uppercase;letter-spacing:.4em;text-align:center;font-weight:700;font-family:var(--caps);font-size:18px}.panel{background:linear-gradient(180deg,var(--panel-a),var(--panel-b));border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 0 0 1px #00000080,0 30px 80px -30px #000000d9,inset 0 1px #ffdc961f}.plate{background:var(--plate);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px -12px #000c,inset 0 1px #ffdc9614}.serif{font-family:var(--serif)}.label{font-family:var(--caps);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);font-weight:600}.seg{display:inline-flex;padding:3px;border-radius:999px;background:#00000059;border:1px solid var(--line);gap:2px;isolation:isolate}.seg button{border:none;background:none;padding:6px 14px;border-radius:999px;cursor:pointer;font-size:13px;color:var(--ink-dim);transition:color .2s;position:relative}.seg button.on{color:#3a1d04;font-weight:700}.seg .pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:linear-gradient(180deg,#fbe08f,#d9a03a);z-index:0}.seg button span{position:relative;z-index:1}.card{position:relative;width:var(--cw);height:calc(var(--cw) * 1.42);border-radius:calc(var(--cw) * .085);background:linear-gradient(165deg,#fffaf0 0%,var(--ivory) 45%,var(--ivory-2) 100%);box-shadow:inset 0 0 0 1px #a0783c40,inset 0 0 0 calc(var(--cw) * .035) #fffdf7,inset 0 0 0 calc(var(--cw) * .045) #be96502e,0 8px 18px -8px #000000b3,0 1px 3px #00000073;color:var(--black);flex-shrink:0;overflow:hidden;font-family:var(--serif);isolation:isolate}.card.red{color:var(--red)}.card .corner{position:absolute;top:4%;left:6%;width:22%;display:flex;flex-direction:column;align-items:center;line-height:.88;font-weight:700;z-index:2}.card .corner .r{font-size:calc(var(--cw) * .24);letter-spacing:-.05em}.card .corner .s{font-size:calc(var(--cw) * .17);margin-top:2px}.card .corner.br{top:auto;left:auto;bottom:4%;right:6%;transform:rotate(180deg)}.card .pips{position:absolute;top:10%;right:20%;bottom:10%;left:20%}.card .pips span{position:absolute;font-size:calc(var(--cw) * .2);line-height:1;transform:translate(-50%,-50%)}.card .pips span.flip{transform:translate(-50%,-50%) rotate(180deg)}.card .ace{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.card .ace .ring{width:58%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-size:calc(var(--cw) * .42);background:radial-gradient(circle,#ffffffe6,#f0dcb480);box-shadow:inset 0 0 0 1px #aa783266,inset 0 0 0 4px #fffc,inset 0 0 0 5px #aa783240}.card .court{position:absolute;top:13%;right:19%;bottom:13%;left:19%;border-radius:4px;background:linear-gradient(160deg,#fff6dc,#f4deaa);box-shadow:inset 0 0 0 1.5px var(--gold),inset 0 0 0 3px #fff8e6,inset 0 0 0 4px #9c6a1c8c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2%}.card .court .big{font-size:calc(var(--cw) * .44);font-weight:800;line-height:.9}.card .court .zh{font-family:var(--zh);font-weight:900;font-size:calc(var(--cw) * .14);opacity:.85}.card .court .st{font-size:calc(var(--cw) * .13)}.card .coin{position:absolute;left:5%;bottom:4%;min-width:calc(var(--cw) * .2);height:calc(var(--cw) * .2);padding:0 3px;border-radius:999px;display:grid;place-items:center;font-family:Outfit,sans-serif;font-weight:800;font-size:calc(var(--cw) * .1);color:#5a3606;background:radial-gradient(circle at 35% 30%,#fff1b8,#e8b64c 60%,#b07a22);box-shadow:0 0 0 1px #78501480,0 1px 2px #0000004d;z-index:3}.card .zhu{position:absolute;top:31%;left:7.5%;width:calc(var(--cw) * .19);height:calc(var(--cw) * .19);border-radius:4px;display:grid;place-items:center;font-family:var(--zh);font-weight:900;font-size:calc(var(--cw) * .13);color:#6a0a12;background:linear-gradient(160deg,#ffe7a3,#e2a93e);box-shadow:0 0 0 1px #78501473;z-index:3}.card.joker .joker-text{position:absolute;top:5%;left:7%;display:flex;flex-direction:column;align-items:center;font-weight:800;font-size:calc(var(--cw) * .13);line-height:1.02;z-index:2}.card.joker .jart{position:absolute;top:12%;right:14%;bottom:12%;left:26%;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1.5px #fff9,0 2px 6px #00000040}.card.joker.big .jart{background:linear-gradient(160deg,#ffd36b,#f07a2a 45%,#c8102e);color:#fff6dc}.card.joker.small .jart{background:linear-gradient(160deg,#e8e4dc,#8f96a3,#2c3140);color:#f8f6f1}.card.joker .jart .star{font-size:calc(var(--cw) * .34);line-height:1;text-shadow:0 2px 6px rgba(0,0,0,.25)}.card.joker .jart .zh{font-family:var(--zh);font-weight:900;font-size:calc(var(--cw) * .2)}.card.joker.big{color:var(--red)}.card.selected{box-shadow:inset 0 0 0 1px #a0783c40,0 0 0 2px var(--gold),0 0 26px 3px #e8b64ca6,0 16px 28px -10px #000000b3}.card.back{background:radial-gradient(circle at 50% 50%,#f6d27a 0 9%,#a5741f 9.5% 11%,transparent 11.5%),radial-gradient(circle at 50% 50%,transparent 0 17%,rgba(246,210,122,.55) 17.5% 18.5%,transparent 19%),repeating-linear-gradient(45deg,rgba(246,210,122,.35) 0 1.5px,transparent 1.5px 7px),repeating-linear-gradient(-45deg,rgba(246,210,122,.35) 0 1.5px,transparent 1.5px 7px),linear-gradient(160deg,var(--back-a),var(--back-b));box-shadow:inset 0 0 0 calc(var(--cw) * .05) #fbf1dc,inset 0 0 0 calc(var(--cw) * .065) var(--gold),0 4px 10px -4px #000000b3}.card.tiny{--cw: 36px}.home{position:relative;z-index:1;height:100%;overflow-y:auto;display:grid;place-items:center;padding:max(28px,env(safe-area-inset-top)) 16px max(28px,env(safe-area-inset-bottom))}.home-inner{width:min(860px,100%);display:flex;flex-direction:column;align-items:center;gap:14px}.logo-fan{position:relative;height:158px;width:100%;display:flex;justify-content:center;margin-bottom:-6px}.wordmark{text-align:center}.wordmark .zh{font-family:var(--brush);font-size:clamp(76px,13cqh,140px);line-height:.95;background:linear-gradient(180deg,#fff2c2,#f3c65a 40%,#c98a22,#fbe39c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #6d1209) drop-shadow(0 12px 30px rgba(0,0,0,.6))}.wordmark .en{font-family:var(--caps);font-weight:700;letter-spacing:.5em;font-size:clamp(13px,2.2cqw,19px);color:var(--gold-hi);margin-top:6px;padding-left:.5em}.tagline{color:var(--ink);opacity:.85;text-align:center;max-width:420px;line-height:1.45;font-size:15px}@media (min-width: 721px) and (max-height: 960px){.home{padding-top:18px;padding-bottom:14px}.home-inner{gap:9px}.logo-fan{scale:.72;transform-origin:50% 100%;margin-top:-44px}.wordmark .zh{font-size:clamp(56px,8.5cqh,96px)}.wordmark .en{margin-top:2px}.tagline{font-size:14px;line-height:1.35}.mode-cards{margin-top:2px}}.name-row{display:flex;align-items:center;gap:12px}.name-row .input{width:190px}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%;margin-top:6px}.mode-card{padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px}.mode-card h3{margin:0;font-family:var(--serif);font-size:24px;font-weight:700;color:#fff4dc}.mode-card p{margin:-4px 0 4px;font-size:14px;color:var(--ink-dim)}.opt-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.opt-row .label{width:58px}.opt-note{font-size:12px;color:var(--gold-hi);opacity:.85;margin-top:-4px;padding-left:70px}.row{display:flex;gap:10px;align-items:center}.row>.grow{flex:1;min-width:0}.divider{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-size:11px;font-family:var(--caps);letter-spacing:.16em;text-transform:uppercase}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.err{color:#ffb0a8;font-size:14px;text-align:center}.foot{color:var(--ink-faint);font-size:12px;text-align:center;line-height:1.5}.link{background:none;border:none;color:var(--gold-hi);text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:14px}.oval{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(ellipse 50% 50% at 50% 50%,var(--rail) 85%,var(--rail-edge) 100%);box-shadow:0 0 0 2px #3a0a06,0 0 0 5px var(--gold),0 0 0 6px #fbe3a0,0 0 0 8px var(--gold-lo),0 0 0 10px #200504,0 40px 90px -20px #000000e6}.oval:before{content:"";position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:50%;background:radial-gradient(ellipse 62% 58% at 50% 45%,var(--felt-center) 0%,var(--felt) 48%,var(--felt-edge) 100%);box-shadow:0 0 0 2px #f49646d9,0 0 0 3px #50000899,0 0 18px 2px #00000073,inset 0 0 60px 6px var(--felt-shade)}.oval .watermark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--brush);font-size:min(16cqw,22cqh,190px);color:var(--watermark);letter-spacing:.08em;pointer-events:none;z-index:1}.lobby{position:relative;z-index:1;height:100%;overflow-y:auto;display:grid;place-items:center;padding:24px 16px}.lobby-inner{width:min(760px,100%);display:flex;flex-direction:column;gap:18px;align-items:center}.room-code{display:flex;gap:10px}.room-code .ch{width:58px;height:70px;border-radius:12px;display:grid;place-items:center;font-size:36px;font-weight:700;font-family:var(--caps);background:linear-gradient(180deg,#fffaf0,var(--ivory-2));color:var(--red);box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #be965066,0 8px 18px -6px #000000b3}.lobby-table{position:relative;width:100%;aspect-ratio:1.75;max-height:380px;margin:50px 0}.lobby-seat{position:absolute;width:max-content;min-width:160px;max-width:260px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;transform:translate(-50%,-50%);text-align:center;z-index:2}.lobby-seat.seat-top{transform:translate(-50%,-46px)}.lobby-seat.seat-bottom{transform:translate(-50%,calc(-100% + 46px))}.lobby-seat.empty{border:1.5px dashed rgba(251,227,160,.45);background:var(--tint);border-radius:14px}.lobby-seat .nm{font-weight:700;font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-seat .actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.team-tag{font-family:var(--caps);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.settings-row{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:18px 22px 20px;width:min(520px,100%)}.avatar{--size: 40px;width:var(--size);height:var(--size);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:calc(var(--size) * .45);position:relative;flex-shrink:0;background:radial-gradient(circle at 35% 30%,#fffaf0,#e9dcc0);box-shadow:0 0 0 2px var(--gold),0 0 0 3px #3a0a06,0 4px 10px #00000080}.avatar.us{color:#1f6f5e;box-shadow:0 0 0 2px #7ddcc4,0 0 0 3px #0e2a24,0 4px 10px #00000080}.avatar.them{color:#9a3d12;box-shadow:0 0 0 2px #f4a064,0 0 0 3px #3a1406,0 4px 10px #00000080}.avatar.offline{filter:grayscale(1) brightness(.6)}.avatar .zhuang{position:absolute;top:-6px;left:-6px;width:18px;height:18px;border-radius:50%;font-family:var(--zh);font-weight:900;font-size:10px;display:grid;place-items:center;color:#6a0a12;background:radial-gradient(circle at 35% 30%,#fff1b8,#e8b64c 65%,#a8741e);box-shadow:0 0 0 1px #3a0a06}.tag{font-size:10px;font-weight:600;letter-spacing:.04em;padding:1px 7px;border-radius:999px;background:#ffffff14;color:var(--ink-dim);border:1px solid rgba(255,255,255,.1)}.tag.gold{background:#e8b64c29;color:var(--gold-hi);border-color:#e8b64c66}.tag.green{background:#78c88c24;color:#b5ecc2;border-color:#78c88c59}.game{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;--hud-h: 96px;--bottom-h: calc(var(--cw) * 2.06 + 72px)}.table-wrap{position:absolute;left:50%;top:calc(var(--hud-h) + (100cqh - var(--hud-h) - var(--bottom-h)) / 2);width:min(76cqw,1340px,calc((100cqh - var(--hud-h) - var(--bottom-h) - 20px) * 2.24));height:calc(100cqh - var(--hud-h) - var(--bottom-h) - 20px);transform:translate(-50%,-50%)}.hud{position:absolute;top:max(12px,env(safe-area-inset-top));left:16px;right:16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;z-index:20}.game:before{content:"";position:absolute;left:0;right:0;top:calc(max(12px,env(safe-area-inset-top)) + 72px);height:1px;background:linear-gradient(90deg,transparent,rgba(232,182,76,.22) 15%,rgba(232,182,76,.22) 85%,transparent)}.team-panel.us{border-color:#7ddcc48c;box-shadow:0 10px 30px -12px #000c,inset 3px 0 #7ddcc4b3}.team-panel.them{border-color:#f4a0648c;box-shadow:0 10px 30px -12px #000c,inset 3px 0 #f4a064b3}.team-panel.us .lvl-badge .v{background-image:linear-gradient(180deg,#e2fff6,#7ddcc4 60%,#3fae95)}.team-panel.them .lvl-badge .v{background-image:linear-gradient(180deg,#fff0dc,#f4a064 60%,#d06a2a)}.hud .right{display:flex;justify-content:flex-end;align-items:flex-start;gap:10px}.hud .icons{display:flex;gap:6px;position:relative}.team-panel{height:62px;width:380px;max-width:100%;padding:0 14px 0 9px;display:flex;align-items:center;gap:11px}.team-panel.attacking{border-color:var(--line-strong)}.lvl-badge{width:42px;height:46px;border-radius:9px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:linear-gradient(180deg,var(--badge-a),var(--badge-b));box-shadow:inset 0 0 0 1px #fbe3a08c,inset 0 0 0 3px var(--badge-b),inset 0 0 0 4px #e8b64c40,0 6px 14px -6px #000c}.lvl-badge .k{font-family:var(--caps);font-size:6.5px;letter-spacing:.2em;color:var(--ink-dim);padding-left:.2em}.lvl-badge .v{font-family:var(--serif);font-weight:700;font-size:22px;line-height:1;background:linear-gradient(180deg,#fff3c9,#e8b64c 60%,#c4882a);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.04em .06em .24em;margin:-.04em -.06em -.24em}.team-panel .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.team-panel .top{display:flex;align-items:flex-start;gap:8px}.team-panel .ttl{font-family:var(--serif);font-weight:700;font-size:15px;white-space:nowrap;display:flex;gap:8px;align-items:center}.team-panel .members{font-size:11px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-panel .members .counts{margin-left:10px;opacity:.85}.team-panel .pts{margin-left:auto;text-align:right;display:flex;flex-direction:column;align-items:flex-end}.team-panel .pts .n{font-family:var(--serif);font-weight:800;font-size:21px;line-height:1}.team-panel .pts .k{font-family:var(--caps);font-size:7.5px;letter-spacing:.16em;color:var(--ink-dim);white-space:nowrap;margin-top:2px}.team-panel .foot-line{height:12px;display:flex;align-items:center}.track{position:relative;flex:1;height:5px;border-radius:99px;background:#00000080;box-shadow:inset 0 0 0 1px #e8b64c33}.track .fill{position:absolute;left:0;top:0;bottom:0;border-radius:inherit;background:linear-gradient(90deg,#c98a22,#fbe39c);box-shadow:0 0 10px #e8b64c99}.track .tick{position:absolute;top:-3px;width:1.5px;height:11px;background:#fbe3a066}.track .tick.flip{background:var(--gold-hi)}.team-panel .caption{font-size:11px;color:var(--ink);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trump-pill{height:62px;display:flex;align-items:center;gap:11px;padding:0 20px 0 10px;border-radius:14px;border-color:var(--line-strong)}.medallion{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:21px;background:radial-gradient(circle at 35% 30%,#fffaf0,#eadbb8);box-shadow:0 0 0 2px var(--gold),0 0 0 4px #4a0c0c,0 0 0 5px #e8b64c99,0 0 18px #e8b64c59;color:var(--black);flex-shrink:0}.medallion.red{color:var(--red)}.trump-pill .t1{font-weight:700;font-size:15px;display:flex;align-items:center;gap:6px;white-space:nowrap}.trump-pill .t1 .zh{font-family:var(--zh);font-weight:900;color:var(--gold-hi)}.trump-pill .t2{font-size:12px;color:var(--ink-dim);white-space:nowrap;margin-top:1px}.trump-pill .t2 b{color:var(--gold-hi);font-weight:600}.seat{position:absolute;z-index:6}.seat-inner{display:flex;flex-direction:column;align-items:center;gap:4px}.seat.top{left:50%;top:-24px;transform:translate(-50%)}.seat.left{left:calc((100% - 100cqw)/2 + 28px);top:50%;transform:translateY(-50%)}.seat.right{right:calc((100% - 100cqw)/2 + 28px);top:50%;transform:translateY(-50%)}.seat-plate{display:flex;align-items:center;gap:10px;padding:7px 14px 7px 8px;min-width:150px;position:relative}.seat-plate.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 26px 2px #e8b64c80;animation:glow 1.6s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 0 0 1px var(--gold),0 0 10px #e8b64c40}}.seat-plate .nm{font-weight:700;font-size:14px;display:flex;align-items:center;gap:6px;white-space:nowrap}.seat-plate .sub{font-size:12px;color:var(--ink-dim);display:flex;gap:8px;align-items:center;white-space:nowrap}.cc:before{content:"";display:inline-block;width:7px;height:10px;border-radius:1.5px;background:linear-gradient(160deg,var(--back-a),var(--back-b));box-shadow:0 0 0 1px #fbf1dc;margin-right:5px;vertical-align:-1px}.backs{position:relative;width:150px;height:56px}.backs .back-slot{position:absolute;left:50%;top:4px;margin-left:-17px;transform-origin:50% 160%}.backs .card{--cw: 34px}.decl-cards{display:flex;flex-wrap:nowrap;gap:4px;width:max-content}.voids{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-dim)}.void{width:18px;height:24px;border-radius:4px;display:grid;place-items:center;font-family:var(--serif);font-size:15px;line-height:1;color:var(--black);background:linear-gradient(165deg,#fffaf0,var(--ivory-2));box-shadow:0 0 0 1px #a0783c66,0 2px 4px #0006}.void.red{color:var(--red)}.void.zh{font-family:var(--zh);font-weight:900;font-size:12px;color:#8a0f1c}.trick-area{position:absolute;left:50%;top:50%;width:0;height:0;z-index:8}.trick-anchor{position:absolute;left:0;top:0;width:0;height:0}.trick-play{position:absolute;left:0;top:0;display:flex;transform:translate(-50%,-50%)}.trick-play{--tw: clamp(50px, 5.4cqw, 84px)}.trick-play .card{--cw: var(--tw)}.trick-play>*+*{margin-left:calc(var(--tw) * -.56)}.trick-play.many{--tw: clamp(44px, 4.6cqw, 72px)}.trick-play.many>*+*{margin-left:calc(var(--tw) * -.6)}.trick-play.huge{--tw: clamp(40px, 4cqw, 62px)}.trick-play.huge>*+*{margin-left:calc(var(--tw) * -.62)}.trick-play.winner .card{box-shadow:inset 0 0 0 1px #a0783c40,0 0 0 2px var(--gold),0 0 26px #fbe3a0b3}.deck-stack{position:absolute;left:50%;top:50%;z-index:3}.deck-stack .card{position:absolute;left:0;top:0;transform:translate(-50%,-50%);--cw: 64px}.splash{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;pointer-events:none;text-align:center}.splash .big{font-size:130px;line-height:1;color:#fff4dc;filter:drop-shadow(0 6px 0 #5a0a10) drop-shadow(0 14px 30px rgba(0,0,0,.6))}.splash .cap{font-family:var(--serif);font-weight:700;font-size:24px;color:#fff4dc;text-shadow:0 3px 16px rgba(0,0,0,.7);white-space:nowrap}.splash .sub2{font-family:var(--caps);letter-spacing:.3em;text-transform:uppercase;font-size:13px;color:var(--gold-hi);margin-top:6px;text-shadow:0 2px 10px rgba(0,0,0,.7)}.bottom{position:absolute;left:0;right:0;bottom:max(2px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;z-index:10}.bar-row{display:flex;gap:12px;align-items:stretch;width:min(1000px,calc(100cqw - 24px));margin-bottom:2px}.me-plate{display:flex;align-items:center;gap:10px;padding:8px 16px 8px 10px;flex-shrink:0}.action-bar{flex:1;min-width:0;display:flex;gap:8px;align-items:center;padding:7px 7px 7px 18px;border-radius:14px;border-color:var(--line-strong);min-height:52px}.action-bar .status{flex:1;min-width:0;font-size:14px;display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden}.action-bar .status b{color:var(--gold-hi)}.action-bar .status .err-inline{color:#ffb0a8;font-size:13px;overflow:hidden;text-overflow:ellipsis}.action-bar .buttons{display:flex;gap:6px;align-items:center;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.hand{position:relative;width:min(1640px,calc(100cqw - 40px));touch-action:none;margin-bottom:4px}.hand .slot{position:absolute;left:0;top:0;cursor:pointer}.countdown{width:26px;height:26px;flex-shrink:0}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top-color:var(--gold);animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.toasts{position:absolute;bottom:calc(var(--bottom-h) + 6px);left:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse;gap:8px;align-items:center;z-index:40;pointer-events:none}.toast{padding:8px 18px;border-radius:999px;background:#1c060aeb;border:1px solid var(--line-strong);font-size:14px;white-space:nowrap;box-shadow:0 10px 30px -10px #000c}.toast.throwFail{border-color:#ff8c78b3;color:#ffd2c8}.toast.trick{color:var(--gold-hi)}.emote-bubble{position:absolute;font-size:36px;z-index:50;pointer-events:none}.emote-bar{display:flex;gap:2px;padding:4px 6px;border-radius:999px;position:absolute;right:0;top:44px;z-index:70}.emote-bar button{background:none;border:none;font-size:20px;cursor:pointer;padding:3px 5px;border-radius:10px;transition:transform .15s}.emote-bar button:hover{transform:scale(1.25)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:var(--overlay);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:16px}.modal{width:min(540px,100%);padding:28px;display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;max-height:100%;overflow-y:auto}.modal h2{margin:0;font-family:var(--serif);font-size:32px;font-weight:800;color:#fff4dc}.modal .sub{color:var(--ink-dim);margin-top:-8px}.modal.rules{text-align:left;align-items:stretch;width:min(620px,100%)}.modal.rules h3{font-family:var(--serif);margin:6px 0 0;color:var(--gold-hi)}.modal.rules li{color:var(--ink);opacity:.9;line-height:1.5;font-size:14px}.modal.rules ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.big-num{font-family:var(--serif);font-size:66px;font-weight:800;line-height:1}.kitty-row{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.kitty-row .card{--cw: 46px}.level-row{display:flex;gap:14px;width:100%}.level-box{flex:1;padding:14px;border-radius:14px;background:#0000004d;border:1px solid var(--line);display:flex;flex-direction:column;gap:6px;align-items:center}.level-box .lvl{font-family:var(--serif);font-size:30px;font-weight:800;display:flex;align-items:center;gap:8px}.level-box .gain{font-size:12px;font-weight:700;color:var(--gold-hi)}.last-trick{display:grid;grid-template-columns:repeat(2,auto);gap:14px 26px;justify-content:center}.last-trick .who{font-size:13px;color:var(--ink-dim);margin-bottom:6px;text-align:left}.last-trick .cards{display:flex}.last-trick .cards .card{--cw: 50px}.last-trick .cards .card+.card{margin-left:-22px}.status-pill{padding:9px 16px;border-radius:999px;background:var(--plate);border:1px solid var(--line);font-size:14px;color:var(--ink-dim);display:inline-flex;align-items:center;gap:8px}.status-pill b{color:var(--ink)}.conn-banner{position:absolute;top:calc(var(--hud-h) + 10px);left:50%;transform:translate(-50%);z-index:45}.menu{position:absolute;top:44px;right:0;min-width:230px;padding:8px;display:flex;flex-direction:column;gap:2px;z-index:70;border-radius:14px}.menu button{justify-content:flex-start;width:100%;border-radius:10px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}@container stage (max-width: 1100px){.team-panel .members .counts{display:none}}@container stage (max-width: 900px){.mode-cards{grid-template-columns:1fr}}@container stage (max-width: 720px){.screen{--cw: 52px}.game{--hud-h: 124px;--bottom-h: calc(var(--ch) * 1.52 + 92px)}.hud{grid-template-columns:1fr 1fr;left:8px;right:8px;gap:6px}.hud .center{grid-column:1 / -1;grid-row:2;justify-self:start}.trump-pill .t1{font-size:14px}.hud .right .icons{position:fixed;right:8px;top:calc(max(12px,env(safe-area-inset-top)) + 66px)}.hud .right .icons .ib-react,.hud .right .icons .ib-help{display:none}.hud>*{min-width:0}.hud .right{display:block}.team-panel{width:100%;height:auto;padding:7px 8px;gap:8px}.team-panel .pts .k{display:none}.team-panel .foot-line{height:10px}.team-panel .members,.team-panel .caption{display:none}.lvl-badge{width:34px;height:40px}.lvl-badge .k{display:none}.lvl-badge .v{font-size:20px}.trump-pill{height:auto}.team-panel .ttl{font-size:13px}.team-panel .pts .n{font-size:20px}.team-panel .top .tag{display:none}.team-panel .pts .k{font-size:8px;letter-spacing:.08em}.trump-pill{padding:4px 14px 4px 4px;gap:8px}.trump-pill .t2{display:block;font-size:11px;max-width:52cqw;overflow:hidden;text-overflow:ellipsis}.medallion{width:30px;height:30px;font-size:16px}.table-wrap{width:calc(100cqw - 70px)}.seat.left{left:calc((100% - 100cqw)/2 + 4px)}.seat.right{right:calc((100% - 100cqw)/2 + 4px)}.seat-plate{min-width:0;flex-direction:column;padding:6px 8px;gap:3px}.seat-plate .nm{font-size:12px}.seat-plate .nm .tag,.seat-plate .sub .decl,.seat .backs{display:none}.seat .avatar{--size: 30px}.oval .watermark{font-size:20cqw}.bar-row{gap:6px}.me-plate{display:none}.action-bar{padding:6px 6px 6px 14px}.action-bar .status{font-size:13px}.splash .big{font-size:84px}.splash .cap{font-size:18px}.lobby-seat{min-width:112px;max-width:150px;padding:8px}.lobby-table{aspect-ratio:1.2}.room-code .ch{width:50px;height:60px;font-size:30px}.name-row{flex-direction:column;gap:6px}.opt-note{padding-left:0}.modal{padding:20px}}.throw-splash{padding:14px 20px 16px;display:flex;flex-direction:column;align-items:center;gap:6px;border-color:#ff8c78b3}.throw-splash .t{font-family:var(--serif);font-weight:800;font-size:22px;color:#ffd2c8}.throw-splash .s{font-size:13px;color:var(--ink-dim)}.throw-splash .cards{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px;width:max-content;max-width:min(320px,80cqw)}.throw-splash .cards .card{--cw: 58px}.splash .card .big{color:inherit;filter:none}.modal.history{width:min(820px,100%);max-height:calc(100cqh - 48px)}.history-list{width:100%;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}.history-row{border:1px solid var(--line);border-radius:14px;background:#00000047;padding:10px 14px 12px;text-align:left}.history-head{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-dim);margin-bottom:8px}.history-head b{color:var(--ink)}.history-head .num{font-family:var(--serif);font-weight:700;color:var(--gold-hi);min-width:28px}.history-head .pts{margin-left:auto;font-weight:700;padding:1px 9px;border-radius:999px;font-size:12px}.history-head .pts.us{color:#bff3e6;background:#7ddcc424;border:1px solid rgba(125,220,196,.4)}.history-head .pts.them{color:#ffd9c2;background:#f4a06424;border:1px solid rgba(244,160,100,.4)}.history-plays{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.history-play{padding:6px 8px 8px;border-radius:10px;border:1px solid transparent;min-width:0;overflow:hidden}.history-play.won{border-color:#e8b64c8c;background:#e8b64c12}.history-play .who{font-size:12px;color:var(--ink-dim);margin-bottom:5px;display:flex;gap:6px;align-items:center;white-space:nowrap}.history-play .cards{display:flex;width:100%;min-width:0}.history-play .cards .fan-slot{flex:0 1 26px;min-width:9px}.history-play .cards .fan-slot:last-child{flex:0 0 auto}.history-play .cards .card{--cw: 56px}@container stage (max-width: 720px){.history-plays{grid-template-columns:repeat(2,minmax(0,1fr))}}.trick-play>.suit-break{margin-left:calc(var(--tw) * -.2)!important}.history-play .cards .fan-slot.suit-break{margin-left:8px}.name-edit{background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:8px;color:var(--ink);font-weight:700;font-size:15px;display:inline-flex;gap:4px;align-items:center;max-width:100%}.name-edit:hover{background:#e8b64c1f}.name-edit .you{color:var(--ink-dim);font-weight:500}.name-edit .pen{color:var(--gold-hi);font-size:13px}.name-form .input{padding:6px 10px;font-size:14px;text-align:center;width:130px}.version{font-size:11px;color:var(--ink-faint);letter-spacing:.04em;margin-top:-4px}.voids.inline{gap:3px}.voids.inline .void{width:15px;height:20px;font-size:12px}.action-bar{background:var(--bar)}@container stage (max-width: 720px){.game:before{display:none}}@container stage (max-width: 720px){.action-bar .status{white-space:normal;font-size:12.5px;line-height:1.3}.action-bar .status>span{min-width:0}.wide-only{display:none}}@container stage (max-width: 720px){.game{--hud-h: 140px}.hud .center{max-width:calc(100cqw - 152px);min-width:0}.trump-pill{max-width:100%;min-width:0}.trump-pill>div:last-child{min-width:0}.trump-pill .t1{min-width:0;overflow:hidden;text-overflow:ellipsis}.trump-pill .t2{max-width:none}.seat.top{top:-22px}}.action-bar{position:relative}.bar-error-anchor{position:absolute;left:8px;right:8px;bottom:calc(100% + 6px);display:flex;justify-content:center;pointer-events:none;z-index:5}.bar-error{max-width:100%;padding:5px 12px;border-radius:14px;background:#3c080ef5;border:1px solid rgba(255,140,120,.55);color:#ffd2c8;font-size:12.5px;line-height:1.3;text-align:center}.seat-inner{position:relative}.decl-anchor{position:absolute;left:50%;top:100%;transform:translate(-50%);margin-top:6px;z-index:7}.voids.inline .out-label{font-size:10px;color:var(--ink-faint)}.my-voids{display:none}@container stage (max-width: 720px){.my-voids{display:flex;align-items:center;gap:5px;position:absolute;left:10px;bottom:calc(100% + 6px);padding:3px 9px;border-radius:999px;background:var(--plate);border:1px solid var(--line);font-size:11px;color:var(--ink-dim)}}.seat-plate .sub{min-height:20px}.seat-list{display:none}@container stage (max-width: 720px){.lobby-table{display:none}.seat-list{display:flex;flex-direction:column;gap:14px;width:100%}.seat-group{display:flex;flex-direction:column;gap:8px}.seat-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;min-height:56px}.seat-row.empty{border:1.5px dashed rgba(251,227,160,.4);background:var(--tint)}.seat-row .who{flex:1;min-width:0;text-align:left}.seat-row .nm{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-row .name-edit{padding:0}.seat-row .meta{font-size:12px;color:var(--ink-dim)}.seat-row .actions{display:flex;gap:6px;flex-shrink:0}.room-code .ch{width:48px;height:58px;font-size:28px}.settings-row{width:100%}.lobby-inner{gap:14px}}.voids-anchor{position:absolute;left:50%;top:100%;transform:translate(-50%);margin-top:6px;z-index:6;white-space:nowrap}.seat.top .voids-anchor{left:100%;top:50%;transform:translateY(-50%);margin:0 0 0 8px}.voids.plate .out-label{font-size:11px;color:var(--ink-dim)}.hand .lift{transition:transform .15s ease}@media (hover: hover) and (pointer: fine){.hand .slot:hover .lift:not(.sel){transform:translateY(-12px)}}.seat.left .voids-anchor{left:0;transform:none}.seat.right .voids-anchor{left:auto;right:0;transform:none}.seat.left .decl-anchor{left:0;transform:none}.seat.right .decl-anchor{left:auto;right:0;transform:none}.links{display:flex;gap:18px;justify-content:center}.opt-note.start-at{display:flex;align-items:center;gap:6px;line-height:1}.opt-note.start-at .step{width:20px;height:20px;margin:-3px 0;padding:0;border-radius:50%;cursor:pointer;border:1px solid var(--line-strong);background:#00000059;color:var(--gold-hi);font-size:14px;line-height:1}.opt-note.start-at .step:disabled{opacity:.35;cursor:default}.opt-note.start-at b{min-width:18px;text-align:center;font-family:var(--serif);font-size:15px;font-variant-numeric:lining-nums}:root[data-felt=green]{--felt-center: #23a05a;--felt: #157540;--felt-edge: #0a4424;--felt-shade: rgba(0, 30, 12, .55);--rail: #11562f;--rail-edge: #073a1e;--watermark: rgba(0, 40, 15, .3)}:root[data-felt=blue]{--felt-center: #2f74d8;--felt: #1c50a5;--felt-edge: #0d2e66;--felt-shade: rgba(0, 12, 45, .55);--rail: #163f82;--rail-edge: #0a2550;--watermark: rgba(0, 15, 50, .3)}:root[data-felt=charcoal]{--felt-center: #545a64;--felt: #3a3e46;--felt-edge: #1e2126;--felt-shade: rgba(0, 0, 0, .55);--rail: #2c2f35;--rail-edge: #16181c;--watermark: rgba(0, 0, 0, .3)}:root[data-felt=rainbow]{--felt-center: #8a5bd0;--felt: #4f7fd0;--felt-edge: #2a2440;--felt-shade: rgba(0, 0, 0, .5);--rail: #2c2438;--rail-edge: #17121f;--watermark: rgba(0, 0, 0, .28);--rainbow-felt: radial-gradient(ellipse 62% 58% at 50% 45%, rgba(255, 255, 255, .08) 0%, rgba(0, 0, 0, .1) 55%, rgba(0, 0, 0, .45) 100%), linear-gradient(150deg, #c9404a 0%, #d8862e 17%, #d3b83a 33%, #3f9f5f 50%, #2d7cbc 67%, #5f53bf 83%, #a24aa4 100%)}:root[data-felt=rainbow] .oval:before,:root[data-felt=rainbow] .display-preview{background:var(--rainbow-felt)}:root[data-back=blue]{--back-a: #2560c4;--back-b: #0f2d66}:root[data-back=green]{--back-a: #23874f;--back-b: #0d4527}:root[data-back=black]{--back-a: #3d4049;--back-b: #121317}:root[data-back=rainbow]{--back-a: #6a5bd0;--back-b: #2f86c9;--rainbow-back: linear-gradient(160deg, #d9434b 0%, #e8912f 18%, #e3c53a 34%, #3eae64 50%, #2f86c9 66%, #6a5bd0 82%, #b54fb5 100%)}:root[data-back=rainbow] .card.back{background:radial-gradient(circle at 50% 50%,#f6d27a 0 9%,#a5741f 9.5% 11%,transparent 11.5%),radial-gradient(circle at 50% 50%,transparent 0 17%,rgba(246,210,122,.55) 17.5% 18.5%,transparent 19%),repeating-linear-gradient(45deg,rgba(255,245,220,.3) 0 1.5px,transparent 1.5px 7px),repeating-linear-gradient(-45deg,rgba(255,245,220,.3) 0 1.5px,transparent 1.5px 7px),var(--rainbow-back)}:root[data-back=rainbow] .cc:before{background:var(--rainbow-back)}:root[data-bg=midnight]{--bg0: #03060d;--bg1: #0a1426;--bg-mid: #08101f;--bg-glow: rgba(30, 60, 130, .3);--panel-a: rgba(24, 44, 92, .86);--panel-b: rgba(10, 18, 40, .94);--plate: rgba(8, 12, 24, .93);--plate-2: rgba(14, 22, 42, .92);--bar: rgba(8, 12, 24, .96);--overlay: #02040a99;--badge-a: #13203d;--badge-b: #080e1c;--tint: rgba(8, 16, 40, .6)}:root[data-bg=forest]{--bg0: #020805;--bg1: #08180f;--bg-mid: #06130c;--bg-glow: rgba(20, 90, 50, .3);--panel-a: rgba(20, 72, 44, .86);--panel-b: rgba(8, 30, 18, .94);--plate: rgba(6, 18, 11, .93);--plate-2: rgba(10, 28, 18, .92);--bar: rgba(6, 18, 11, .96);--overlay: #02060499;--badge-a: #0f2a1b;--badge-b: #06150d;--tint: rgba(6, 30, 16, .6)}:root[data-bg=graphite]{--bg0: #050506;--bg1: #141518;--bg-mid: #101114;--bg-glow: rgba(90, 90, 100, .18);--panel-a: rgba(52, 54, 60, .86);--panel-b: rgba(22, 23, 27, .94);--plate: rgba(16, 17, 20, .93);--plate-2: rgba(28, 29, 33, .92);--bar: rgba(16, 17, 20, .96);--overlay: #05050699;--badge-a: #24262b;--badge-b: #121316;--tint: rgba(20, 20, 24, .6)}:root[data-bg=plum]{--bg0: #07030a;--bg1: #1a0a22;--bg-mid: #14081b;--bg-glow: rgba(100, 30, 120, .3);--panel-a: rgba(78, 26, 96, .86);--panel-b: rgba(34, 10, 44, .94);--plate: rgba(20, 8, 26, .93);--plate-2: rgba(32, 12, 40, .92);--bar: rgba(20, 8, 26, .96);--overlay: #06020899;--badge-a: #2a1234;--badge-b: #15081b;--tint: rgba(30, 8, 40, .6)}:root[data-suits="4"] .card.suit-D,:root[data-suits="4"] .suit-D.medallion,:root[data-suits="4"] .suit-D.void,:root[data-suits="4"] .splash .big.suit-D{color:var(--diamond)}:root[data-suits="4"] .card.suit-C,:root[data-suits="4"] .suit-C.medallion,:root[data-suits="4"] .suit-C.void,:root[data-suits="4"] .splash .big.suit-C{color:var(--club)}.card .jumbo{display:none}:root[data-corners=large] .card .pips,:root[data-corners=large] .card .court{display:none}:root[data-corners=large] .card .jumbo{display:grid;place-items:center;position:absolute;top:0;right:0;bottom:0;left:0;font-size:calc(var(--cw) * .42);line-height:1;padding-bottom:6%;opacity:.9}:root[data-corners=large] .card .zhu{top:46%}:root[data-corners=large] .card .corner{width:32%;top:3%;left:4%;line-height:.85}:root[data-corners=large] .card .corner.br{top:auto;left:auto;bottom:3%;right:4%}:root[data-corners=large] .card .corner .r{font-size:calc(var(--cw) * .36);letter-spacing:-.09em}:root[data-corners=large] .card .corner .s{font-size:calc(var(--cw) * .27);margin-top:1px}.modal.display-opts{text-align:left;align-items:stretch;width:min(560px,100%)}.modal.display-opts h2{text-align:center}.modal.display-opts .opt-note{padding-left:0;margin-top:-8px}.modal.display-opts .btn.primary{align-self:center}.modal.display-opts .opt-row{flex-direction:column;align-items:flex-start;gap:6px}.modal.display-opts .opt-row .label{width:auto}.modal.display-opts .seg button{padding:6px 10px}.display-preview{display:flex;justify-content:center;gap:8px;padding:16px 12px;border-radius:16px;background:radial-gradient(ellipse 70% 80% at 50% 45%,var(--felt-center) 0%,var(--felt) 55%,var(--felt-edge) 100%);box-shadow:0 0 0 2px var(--rail),0 0 0 4px var(--gold-lo)}.display-preview .card{--cw: 52px}.review{width:100%;display:flex;flex-direction:column;gap:6px;align-items:stretch}.review .label{text-align:center}.review-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:12px;background:#00000047;border:1px solid var(--line)}.review-trick{font-size:12px;color:var(--ink-dim);white-space:nowrap;min-width:52px}.review-cards{display:flex;gap:3px;flex-wrap:wrap}.review-cards .card{--cw: 30px}.review-arrow{color:var(--gold-hi)}.review-cost{margin-left:auto;font-weight:700;color:var(--gold-hi);white-space:nowrap;font-size:13px}.review-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--ink)}.review-note.dim{color:var(--ink-dim);font-size:11px;text-align:center}.declare-tray-anchor{position:absolute;left:8px;right:8px;bottom:calc(100% + 8px);display:flex;justify-content:center;z-index:6}.declare-tray{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:100%;padding:7px 10px;border-radius:16px;background:var(--bar);border:1px solid var(--line-strong);box-shadow:0 10px 24px -10px #000c}.declare-tray .label{margin-right:2px}.decl-chip{min-width:40px;padding:6px 9px;border-radius:10px;cursor:pointer;border:none;background:linear-gradient(180deg,#fffaf0,var(--ivory-2));color:var(--black);font-size:17px;line-height:1;font-weight:700;letter-spacing:-.04em;box-shadow:inset 0 0 0 1px #be965066,0 4px 10px -4px #000000b3}.decl-chip.suit-H,.decl-chip.suit-D,.decl-chip.suit-BJ{color:var(--red)}:root[data-suits="4"] .decl-chip.suit-D{color:var(--diamond)}:root[data-suits="4"] .decl-chip.suit-C{color:var(--club)}.decl-chip.suit-SJ,.decl-chip.suit-BJ{font-size:14px}.decl-chip.lock{box-shadow:inset 0 0 0 2px var(--gold),0 0 12px -2px #e8b64cb3}
