:root{--cw:clamp(46px, min(15vmin, 9.5vw), 130px);--ch:calc(var(--cw) * 1.45);--bw:calc(var(--cw) * .46);--bh:calc(var(--bw) * 1.45);--felt:#1f7350;--felt-dark:#0c3323;--navy:#1b2845;--navy-dark:#111a2e;--line:#ffffff24;--gold:#f2c14e;--gold-soft:#f2c14e73;--text:#f4f1e6;--muted:#aab6c9;--team0:#6cb6ff;--team1:#ffa86c;--red:#d7263d;--ink:#15171c;--ease:cubic-bezier(.2, .8, .2, 1);font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--felt-dark);color:var(--text);-webkit-user-select:none;user-select:none;overflow:hidden}.app{background:var(--felt-dark) url(/assets/playing-bg-ui-9pCDc.webp) center / cover no-repeat;height:100%;position:relative}.app.home{background:var(--felt-dark) url(/assets/home-bg-yKPw92Gm.webp) center top / cover no-repeat}button{font:inherit;color:var(--text);cursor:pointer;background:linear-gradient(#34477a 0%,#22325a 48%,#182543 52%,#1c2a4c 100%);border:1px solid #f2c14e59;border-radius:12px;padding:.5em 1em;font-weight:600;transition:filter .12s,transform 80ms,box-shadow 80ms;position:relative;box-shadow:inset 0 1px #ffffff2e,0 3px #0b1222,0 6px 12px #0000004d}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #ffffff2e,0 1px #0b1222,0 3px 6px #0000004d}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:disabled{opacity:.45;cursor:default}button.primary{color:#2a1a00;text-shadow:0 1px #ffffff73;background:linear-gradient(#fff1b8 0%,#ffd45c 22%,#f5b521 55%,#e09a12 100%);border:1px solid #fff0b0;font-weight:800;box-shadow:inset 0 2px #ffffffa6,inset 0 -3px #965a0059,0 4px #9c6406,0 8px 18px #00000059}button.primary:active:not(:disabled){box-shadow:inset 0 2px #ffffffa6,inset 0 -3px #965a0059,0 1px #9c6406,0 4px 10px #00000059}button.primary:disabled{filter:saturate(.4)}button.primary .suit:not(.red){color:var(--ink)}button.primary .red{color:#b3122a}button.ghost{box-shadow:none;color:var(--muted);background:0 0;border:1px dashed #ffffff59}button.big{border-radius:999px;padding:.6em 2em;font-size:1.25rem}button.tiny{border-radius:8px;padding:.2em .55em;font-size:.7rem}.corner-tools{z-index:30;gap:6px;display:flex;position:absolute;bottom:10px;right:10px}.app-version{z-index:30;letter-spacing:.04em;color:#ffffff8c;pointer-events:auto;-webkit-user-select:none;user-select:none;font-size:.72rem;font-weight:600;position:absolute;bottom:12px;left:12px}.corner-tools button{background:#0d1426d9;border-color:#ffffff38;border-radius:999px;align-items:center;gap:.35em;padding:.35em .75em;font-size:.78rem;font-weight:700;display:flex}.corner-tools svg{flex:none;width:1.15em;height:1.15em}.panel{background:linear-gradient(180deg, var(--navy), var(--navy-dark));border:1px solid var(--gold-soft);border-radius:14px;box-shadow:0 8px 22px #0006,inset 0 1px #ffffff14}.center-msg{height:100%;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:1rem;font-size:1.2rem;display:flex}.banner,.toast{background:var(--navy-dark);border:1px solid var(--line);z-index:40;border-radius:999px;padding:.35em 1em;font-size:.85rem;position:absolute;left:50%;transform:translate(-50%)}.banner{top:8px}.toast{bottom:calc(var(--ch) + 40px);border-color:var(--red)}.suit{font-style:normal}.red{color:var(--red)}.team0{color:var(--team0)}.team1{color:var(--team1)}.avatar{object-fit:cover;background:#34466e;border:2px solid #ffffffd9;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.3em;height:2.3em;font-weight:700;display:flex}.lobby{text-align:center;flex-direction:column;justify-content:safe center;align-items:center;gap:clamp(.5rem,2.2vh,1.1rem);height:100%;padding:calc(max(100vh,56.3vw)/5.88235) 1rem 1rem;display:flex;overflow-y:auto}.lobby>*{flex-shrink:0}.lobby h1{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.tagline{color:#fff;text-shadow:0 2px 6px #0000008c;margin:0;font-size:clamp(.95rem,2.6vmin,1.35rem);font-style:italic}.hint{color:#e3efe8;text-shadow:0 1px 4px #00000080;margin:0;font-size:.9rem}.hint.small{opacity:.85;font-size:.8rem}.divider-note{flex-direction:column;align-items:center;gap:.2rem;margin-top:.3rem;display:flex}.divider{width:min(70vw,420px);color:var(--gold);text-shadow:0 2px 4px #0006;align-items:center;gap:.6rem;font-size:1.3rem;display:flex}.divider:before,.divider:after{content:"";background:linear-gradient(90deg, transparent, var(--gold));flex:1;height:2px}.divider:after{background:linear-gradient(90deg, var(--gold), transparent)}.divider-note .hint{font-style:italic}.invite-row{color:#e3efe8;background:#0d1426b3;border:1px solid #f2c14e59;border-radius:999px;align-items:center;gap:.6rem;padding:.3rem .4rem .3rem .9rem;font-size:.85rem;display:flex}.invite-row b{color:var(--gold);letter-spacing:.12em}.guest-start{gap:clamp(.7rem,2.4vh,1.2rem)}.guest-field{color:#fff;text-shadow:0 1px 4px #00000080;flex-direction:column;align-items:center;gap:.4rem;font-weight:700;display:flex}.guest-start input{font:inherit;color:#fff;text-align:center;background:#0d1426d9;border:1px solid #f2c14e73;border-radius:999px;width:min(80vw,280px);padding:.6em 1em}.guest-start input:focus{outline:2px solid var(--gold);outline-offset:1px}.guest-join{gap:.5rem;display:flex}.guest-join input{text-transform:uppercase;letter-spacing:.1em;width:min(50vw,180px)}.guest-join input::placeholder{text-transform:none;letter-spacing:normal}.guest-join button{border-radius:999px;padding:.5em 1.2em}.lobby-table{flex-shrink:1;width:min(92vw,640px);height:clamp(190px,36vh,300px);min-height:150px;margin:.2rem 0;position:relative}.felt-mini{background:#00000038;border:2px dashed #ffffff38;border-radius:999px;position:absolute;inset:26% 30%}.lobby-seat{white-space:nowrap;max-width:48%;animation:pop .25s var(--ease) backwards;background:linear-gradient(#24335d,#101a33);border:2px solid #ffffff40;border-radius:999px;align-items:center;gap:.55em;padding:.3em 1em .3em .3em;font-size:clamp(.85rem,2.4vmin,1.15rem);font-weight:700;display:flex;position:absolute;box-shadow:0 6px 16px #0006}.lobby-seat .avatar{width:2.4em;height:2.4em}.lobby-seat.team0{border-color:var(--team0);color:var(--text)}.lobby-seat.team1{border-color:var(--team1);color:var(--text)}.lobby-seat.me{border-color:var(--gold);box-shadow:0 0 0 3px #f2c14e40,0 0 26px #f2c14e8c,0 6px 16px #0006}.lobby-seat .crown{color:var(--gold);text-shadow:0 2px 3px #00000080;font-size:1.3em;line-height:1;position:absolute;top:-.95em;left:50%;translate:-50%}.lobby-seat .name{text-overflow:ellipsis;overflow:hidden}.lobby-seat:has(>.seat-empty){box-shadow:none;background:0 0;border:none;padding:0}.seat-empty{min-width:9.5em;box-shadow:none;color:#dfeee6;background:#0000001f;border:2px dashed #ffffff59;border-radius:999px;flex-direction:column;align-items:center;gap:.2em;padding:.6em 1.4em;font-weight:600;display:flex}.seat-empty svg{opacity:.85;width:1.7em;height:1.7em}.seat-empty:hover:not(:disabled){border-color:var(--gold);filter:none;background:#f2c14e1f}.lobby-seat.bottom{bottom:0;left:50%;translate:-50%}.lobby-seat.top{top:0;left:50%;translate:-50%}.lobby-seat.left{top:50%;left:0;translate:0 -50%}.lobby-seat.right{top:50%;right:0;translate:0 -50%}.tag{background:linear-gradient(180deg, #ffe07a, var(--gold));color:#2a1a00;border-radius:6px;padding:.05em .45em;font-size:.7em;font-weight:800}.options{text-shadow:0 1px 4px #00000080;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.6rem;font-size:clamp(.9rem,2.4vmin,1.1rem);font-weight:600;display:flex}.options label{align-items:center;gap:.6em;display:flex}select{font:inherit;color:var(--text);appearance:none;cursor:pointer;background:#0f1830 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23f4f1e6' stroke-width='2'/%3E%3C/svg%3E") right .9em center/.75em no-repeat;border:1px solid #ffffff40;border-radius:999px;padding:.45em 2.3em .45em 1.1em;box-shadow:inset 0 2px 6px #0006}select:disabled{opacity:.7;cursor:default}input[type=checkbox]{width:1.25em;height:1.25em;accent-color:var(--gold);cursor:pointer}.start{align-items:center;gap:.6em;display:inline-flex}.start svg{width:.9em;height:.9em}.card{width:var(--cw);height:var(--ch);border-radius:calc(var(--cw) * .1);color:var(--ink);background:linear-gradient(165deg,#fffefa,#f1ede0);border:1px solid #00000047;flex:none;position:relative;box-shadow:0 3px 8px #00000073}.card.red{color:var(--red)}.card .corner{width:calc(var(--cw) * .3);font-family:Georgia,Times New Roman,serif;font-size:calc(var(--cw) * .3);letter-spacing:-.06em;flex-direction:column;align-items:center;font-weight:700;line-height:.95;display:flex;position:absolute;top:4%;left:7%}.card .corner i{font-size:.85em;font-style:normal}.card .corner.flip{inset:auto 7% 4% auto;rotate:180deg}.card .center{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.card .center i{font-style:normal;font-size:calc(var(--cw) * .6)}.card.face .center{border-radius:calc(var(--cw) * .06);background:#00000009;border:1px solid;inset:13% 22%}.card.face .center b{font-family:Segoe UI Symbol,"Noto Sans Symbols 2",Apple Symbols,sans-serif;font-weight:400;font-size:calc(var(--cw) * .52)}.card.face .center i{font-size:calc(var(--cw) * .28);margin-top:.1em}.card.mini{--cw:clamp(22px, 4.6vmin, 38px);--ch:calc(var(--cw) * 1.3);box-shadow:0 1px 3px #0006}.card.mini .center,.card.mini .flip{display:none}.card.mini .corner{width:auto;font-size:calc(var(--cw) * .46);justify-content:center;inset:0}.back{width:var(--bw);height:var(--bh);border-radius:calc(var(--bw) * .12);background:repeating-linear-gradient(45deg,#f2c14e66 0 2px,#0000 2px 7px),repeating-linear-gradient(-45deg,#f2c14e66 0 2px,#0000 2px 7px),#22335c;border:2px solid #f4efe0;display:block;box-shadow:0 2px 5px #0006}.table{height:100%;position:relative;overflow:hidden}.table:before{content:"";opacity:0;pointer-events:none;background:#030a0880;transition:opacity .35s;position:absolute;inset:0}.table.bidding:before{opacity:1}.last-trick{z-index:10;justify-content:center;align-items:center;min-width:clamp(92px,19vmin,150px);min-height:clamp(64px,14vmin,112px);padding:8px;display:flex;position:absolute;top:10px;left:10px}.panel-title{color:#dfe6f5;font-family:Georgia,Times New Roman,serif;font-size:clamp(.75rem,2.4vmin,1rem);font-weight:700}.cross{--mh:calc(clamp(22px, 4.6vmin, 38px) * .65);grid-template-columns:repeat(3,auto);grid-template-rows:repeat(4, var(--mh));gap:3px 5px;display:grid}.cross .top{grid-area:1/2/span 2}.cross .left{grid-area:2/1/span 2}.cross .right{grid-area:2/3/span 2}.cross .bottom{grid-area:3/2/span 2}.cross .winner{box-shadow:0 0 0 2px var(--gold), 0 0 8px var(--gold);z-index:1}.board{z-index:10;text-align:center;min-width:clamp(110px,22vmin,170px);font-size:clamp(.72rem,2.3vmin,1rem);position:absolute;top:10px;right:10px;overflow:hidden}.board-head{color:var(--gold);background:#0000004d;padding:.25em .6em;font-size:.85em;font-weight:700}.board-grid{grid-template-columns:1fr 1fr;row-gap:.1em;padding:.3em .5em .45em;display:grid}.board-grid span{font-weight:700}.board-grid small{color:var(--muted);font-variant-numeric:tabular-nums}.board-grid b{font-variant-numeric:tabular-nums;animation:bump .5s var(--ease);font-family:Georgia,Times New Roman,serif;font-size:1.45em}.seat{z-index:5;flex-direction:column;align-items:center;gap:5px;font-size:clamp(.72rem,2.3vmin,1rem);display:flex;position:absolute}.seat.bottom{z-index:9;align-items:flex-start;bottom:12px;left:12px}.seat.right{top:46%;right:12px;translate:0 -50%}.seat.top{top:calc(var(--bh) * .5);left:50%;translate:-50%}.seat.left{top:46%;left:12px;translate:0 -50%}.fan{z-index:-1;width:0;height:0;position:absolute;top:1.2em;left:50%}.fan .back{left:calc(var(--bw) / -2);transform-origin:50% 100%;transform:rotate(var(--r));animation:deal-back .4s var(--ease) backwards;animation-delay:calc(var(--i) * 50ms);transition:transform .25s var(--ease);position:absolute;bottom:0}.plate{background:linear-gradient(180deg, #2a3a61, var(--navy-dark));border:2px solid var(--line);border-radius:999px;align-items:center;gap:.5em;max-width:32vw;padding:.15em .85em .15em .15em;transition:box-shadow .25s,border-color .25s;display:flex;box-shadow:0 4px 10px #0006}.seat.team0 .plate{border-color:var(--team0)}.seat.team1 .plate{border-color:var(--team1)}.seat.active .plate{border-color:var(--gold);animation:1.4s ease-in-out infinite glow}.plate .name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.chip-d{background:var(--gold);color:#2a2000;border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.5em;height:1.5em;font-size:.75em;font-style:normal;font-weight:800;display:flex}.badge{color:var(--ink);animation:pop .3s var(--ease);background:#fffefa;border-radius:999px;margin-top:-2px;padding:.1em .8em;font-size:1.2em;font-weight:800;box-shadow:0 2px 5px #00000059}.badge.away{color:#fff;background:#666;font-size:.8em;font-weight:600}.bubble{color:var(--ink);white-space:nowrap;animation:pop .25s var(--ease);background:#fffefa;border-radius:14px;padding:.3em .95em;font-size:1.3em;font-weight:700;position:relative;box-shadow:0 3px 8px #0006}.bubble:after{content:"";border:7px solid #0000;border-bottom-color:#fffefa;position:absolute;bottom:100%;left:50%;translate:-50%}.seat.bottom .bubble{order:-1;margin-left:1.5em}.seat.bottom .bubble:after{border-top-color:#fffefa;border-bottom-color:#0000;top:100%;bottom:auto;left:1.4em}.bubble.pass{color:#555b66;font-weight:500}.middle{padding-bottom:calc(var(--ch) * .45);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.middle>*{pointer-events:auto}.mat{width:calc(var(--cw) * 4.4);height:calc(var(--ch) * 2.3);background:#0000001a;border:2px dashed #ffffff29;border-radius:22px;position:relative}.mat .card{margin-left:calc(var(--cw) / -2);margin-top:calc(var(--ch) / -2);transform:translate(var(--x), var(--y)) rotate(var(--a));animation:fly-in .32s var(--ease) backwards;position:absolute;top:50%;left:50%}.mat .card.bottom{--x:0%;--y:36%;--a:-3deg;--fx:0vw;--fy:45vh}.mat .card.right{--x:78%;--y:0%;--a:5deg;--fx:45vw;--fy:0vh}.mat .card.top{--x:0%;--y:-36%;--a:2deg;--fx:0vw;--fy:-45vh}.mat .card.left{--x:-78%;--y:0%;--a:-5deg;--fx:-45vw;--fy:0vh}.mat .winner{box-shadow:0 0 0 3px var(--gold), 0 0 22px #f2c14ed9;z-index:2}.mat.collect .card{animation:fly-in .32s var(--ease) backwards, collect .45s ease-in 1.2s forwards}.mat.to-bottom{--tx:0vw;--ty:42vh}.mat.to-right{--tx:42vw;--ty:0vh}.mat.to-top{--tx:0vw;--ty:-42vh}.mat.to-left{--tx:-42vw;--ty:0vh}.bid-zone{flex-direction:column;align-items:center;gap:8px;max-width:94vw;display:flex}.notice{background:var(--navy-dark);border:1px solid var(--line);color:#dfe6f5;animation:pop .25s var(--ease);border-radius:999px;padding:.4em 1.1em;font-size:.9rem}.bid-panel{animation:pop .28s var(--ease);flex-direction:column;align-items:center;gap:clamp(7px,1.8vmin,13px);padding:clamp(10px,2.4vmin,18px) clamp(14px,3.5vmin,28px);font-size:clamp(.6rem,2.6vmin,1.1rem);display:flex}.bid-title{color:var(--gold);letter-spacing:.04em;text-transform:uppercase;font-size:.85em;font-weight:700}.stepper{align-items:stretch;display:flex}.stepper button{border-color:var(--gold-soft);border-radius:10px 0 0 10px;width:2.2em;padding:0;font-size:1.5em;font-weight:800}.stepper .plus{border-radius:0 10px 10px 0}.stepper output{min-width:4.2em;color:var(--ink);background:#fffefa;justify-content:center;align-items:center;padding:.1em .4em;font-family:Georgia,Times New Roman,serif;font-size:1.7em;font-weight:700;display:flex;box-shadow:inset 0 2px 5px #00000040}.suits{gap:.55em;display:flex}.tile{width:2em;height:2.2em;color:var(--ink);background:linear-gradient(165deg,#fffefa,#ece7d8);border:2px solid #0000;border-radius:9px;padding:0;font-size:1.5em}.tile .suit:not(.red){color:var(--ink)}.tile b:not(.suit){font-size:.6em}.tile.on{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold), 0 6px 12px #0006;transform:translateY(-4px)}.take{border-radius:999px;min-width:11em;padding:.45em 1.2em;font-size:1.15em}.pass{border-radius:999px;min-width:7em}.bid-actions{border-top:1px solid var(--line);justify-content:space-between;gap:.8em;width:100%;margin-top:.1em;padding-top:.8em;display:flex}.bid-actions button{border-radius:999px;flex:1;min-width:0;padding:.5em 1em;font-weight:800}.bid-actions .pass,.bid-actions .contre{background:linear-gradient(180deg, #f0465c, var(--red) 55%, #a8162b);border-color:#ff9aa8}.bid-actions .contre:disabled{opacity:.75;background:linear-gradient(#59607a,#3f4660);border-color:#ffffff26}.bid-actions .contre small{background:#00000047;border-radius:6px;padding:0 .3em}.stepper .capot-chip{border:2px solid var(--gold);width:auto;color:var(--gold);border-radius:10px;margin-left:.5em;padding:0 .8em;font-size:.85em;font-weight:800}.stepper .capot-chip.on{background:var(--gold);color:#2a2000;opacity:1}.x2{background:var(--red);color:#fff;border-radius:6px;margin-left:.35em;padding:0 .3em;font-size:.85em}.bubble.contre{background:var(--red);color:#fff}.seat:not(.bottom) .bubble.contre:after{border-bottom-color:var(--red)}.seat.bottom .bubble.contre:after{border-top-color:var(--red)}.dock{z-index:12;animation:pop .25s var(--ease);flex-direction:column;align-items:flex-end;gap:8px;font-size:clamp(.75rem,2.4vmin,1rem);display:flex;position:absolute;bottom:52px;right:10px}.dock-btn{border-radius:999px;min-width:6.5em;padding:.5em 1.1em;font-weight:800}.dock-btn.contre{background:linear-gradient(180deg, #f0465c, var(--red) 55%, #a8162b);border-color:#ff9aa8}.dock-btn.contre small{background:#00000047;border-radius:6px;margin-left:.2em;padding:0 .3em}.dock-btn.capot{border:2px solid var(--gold);color:var(--gold);background:linear-gradient(#2c3c62,#1f2c4b)}.dock-btn.capot.on{color:var(--text);border-color:var(--line)}.dock-pick{animation:pop .2s var(--ease);align-items:center;gap:.4em;padding:.45em .6em;display:flex}.dock-pick span{color:var(--gold);white-space:nowrap;margin-right:.2em;font-weight:700}.dock-pick .tile{font-size:1.25em}.leave{z-index:30;color:var(--muted);padding:.35em .75em;font-size:.75rem;font-weight:700;position:absolute;bottom:10px;right:118px}.leave.armed{background:var(--red);color:#fff;border-color:#ff9aa8}.hand{bottom:calc(var(--ch) * -.14);z-index:8;pointer-events:none;justify-content:center;display:flex;position:absolute;left:0;right:0}.hand .card{--ty:calc(var(--lift) * var(--ch) * .011);pointer-events:auto;margin:0 calc(var(--cw) * -.19);transform-origin:50% 100%;transform:translateY(var(--ty)) rotate(var(--r));transition:transform .16s var(--ease), filter .15s}.hand.dealing .card{animation:land .22s var(--ease) backwards}.deal-fly{z-index:14;pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.deal-fly .back{left:calc(var(--bw) * -.6);top:calc(var(--bh) * -.5);position:absolute}.deal-fly .back:nth-child(2){translate:18% 4%}.deal-fly .back:nth-child(3){translate:36% 8%}.deal-fly .back:nth-child(4){translate:54% 12%}@keyframes land{0%{transform:translateY(calc(var(--ty) - var(--ch) * .35)) rotate(var(--r)) scale(.85);opacity:0}}.hand .card.playable{cursor:pointer}.hand.my-turn .card.playable{transform:translateY(calc(var(--ty) - var(--ch) * .1)) rotate(var(--r))}.hand .card.playable:hover{transform:translateY(calc(var(--ty) - var(--ch) * .2)) rotate(var(--r))}.hand .card.dim{filter:brightness(.55)}.spectating{color:var(--muted);background:var(--navy-dark);border-radius:999px;padding:.35em 1em;font-size:.85rem;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.turn-flag{bottom:calc(var(--ch) * .98 + 14px);background:var(--gold);color:#2a2000;z-index:9;pointer-events:none;border-radius:999px;padding:.2em .9em;font-size:.85rem;font-weight:700;animation:1.4s ease-in-out infinite pulse;position:absolute;left:50%;translate:-50%}.overlay{z-index:20;background:#030a0899;justify-content:center;align-items:center;padding:12px;animation:.25s fade;display:flex;position:absolute;inset:0}.summary{text-align:center;width:min(94vw,520px);animation:pop .35s var(--ease);margin:auto;padding:2.1rem 1.4rem 1.3rem;position:relative}.summary.ok{border-color:#8fe9ab99;box-shadow:0 0 40px #8fe9ab2e,0 12px 30px #00000080}.summary.ko{border-color:#ff8a9999;box-shadow:0 0 40px #ff8a992e,0 12px 30px #00000080}.summary .ribbon{background:linear-gradient(180deg, #ffe07a, var(--gold) 60%, #d39a22);color:#2a1a00;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.3em 1.4em;font-size:.8rem;font-weight:800;position:absolute;top:0;left:50%;translate:-50% -50%;box-shadow:0 4px 10px #0006}.summary h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,5vmin,2.2rem)}.summary.ok h2{color:#8fe9ab}.summary.ko h2{color:#ff96a4}.contract-chip{color:var(--ink);background:#fffefa;border-radius:999px;align-items:baseline;gap:.5em;margin:.5rem 0 1rem;padding:.25em .9em;font-weight:800;display:inline-flex}.contract-chip small{color:#555b66;font-weight:600}.teams{grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1.1rem;display:grid}.team-card{border:1px solid var(--line);text-align:left;background:#00000040;border-radius:14px;padding:.8rem .9rem .7rem}.team-card.team0{border-top:3px solid var(--team0)}.team-card.team1{border-top:3px solid var(--team1)}.team-name{justify-content:space-between;align-items:center;font-weight:800;display:flex}.team-name em{color:#2a1a00;background:var(--gold);border-radius:6px;padding:.05em .45em;font-size:.7em;font-style:normal;font-weight:800}.gain{color:var(--muted);font-variant-numeric:tabular-nums;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,7vmin,2.8rem);font-weight:700;line-height:1.1}.team-card.scored .gain{color:var(--gold);text-shadow:0 0 18px #f2c14e73}.team-card ul{margin:.3rem 0 .6rem;padding:0;font-size:.85rem;list-style:none}.team-card li{color:var(--muted);justify-content:space-between;padding:.12em 0;display:flex}.team-card li b{color:var(--text);font-variant-numeric:tabular-nums}.progress,.board .bar{background:#ffffff1f;border-radius:999px;height:6px;display:block;overflow:hidden}.progress i,.board .bar i{background:var(--gold);height:100%;transition:width .8s var(--ease);border-radius:999px;display:block}.team-card.team0 .progress i,.board .bar.team0 i{background:var(--team0)}.team-card.team1 .progress i,.board .bar.team1 i{background:var(--team1)}.team-card .total{color:var(--muted);margin-top:.35rem;font-size:.85rem}.team-card .total b{color:var(--text);font-size:1.15rem}.summary .primary.big{font-size:1.1rem}@keyframes deal{0%{opacity:0;transform:translateY(-55vh)rotate(-25deg)scale(.45)}}@keyframes deal-back{0%{opacity:0;transform:rotate(0)scale(.3)}}@keyframes fly-in{0%{transform:translate(var(--fx), var(--fy)) rotate(calc(var(--a) * 6)) scale(.75);opacity:0}}@keyframes collect{to{transform:translate(var(--tx), var(--ty)) rotate(20deg) scale(.25);opacity:0}}@keyframes pop{0%{opacity:0;scale:.7}}@keyframes fade{0%{opacity:0}}@keyframes bump{40%{color:var(--gold);scale:1.35}}@keyframes pulse{50%{opacity:.6}}@keyframes glow{0%,to{box-shadow:0 0 0 3px #f2c14e59,0 0 14px #f2c14e80}50%{box-shadow:0 0 0 5px #f2c14e80,0 0 26px #f2c14ed9}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}@media (aspect-ratio<=3/4){:root{--cw:clamp(46px, 17.5vw, 120px)}.hand{bottom:calc(var(--ch) * -.05)}.hand .card{margin:0 calc(var(--cw) * -.22)}.seat.bottom{bottom:calc(var(--ch) * 1.02 + 10px)}.leave{bottom:calc(var(--ch) * 1.02 + 12px)}.app:has(.table) .corner-tools{bottom:calc(var(--ch) * 1.02 + 12px)}.dock{bottom:calc(var(--ch) * 1.02 + 54px)}.turn-flag{bottom:calc(var(--ch) * 1.02 + 58px)}.toast{bottom:calc(var(--ch) * 1.02 + 96px)}.seat.left,.seat.right{top:21%;translate:0}.seat.left{left:8px}.seat.right{right:8px}.plate{max-width:42vw}.middle{padding-top:16vh;padding-bottom:calc(var(--ch) * .9)}.mat{width:min(92vw, calc(var(--cw) * 4.2));height:calc(var(--ch) * 2.2)}.bid-panel{font-size:clamp(.85rem,4.4vw,1.2rem)}.seat,.board,.dock{font-size:clamp(.72rem,3.6vw,1rem)}.last-trick{min-width:24vw;min-height:17vw}.card.mini{--cw:clamp(22px, 7vw, 38px)}.cross{--mh:calc(clamp(22px, 7vw, 38px) * .65)}}@media (height<=430px){.turn-flag{display:none}}.seat.bottom .badge{order:-1;margin:0 0 -2px 1.2em}.card.trump{background:linear-gradient(165deg,#fff3c2,#f1d77e);border-color:#b98a1c}.hand .card.trump{box-shadow:0 0 0 2px #f2c14ee6,0 3px 10px #00000073}.clock{background:var(--navy-dark);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:.4em;width:100%;min-width:6.5em;padding:.12em .5em .12em .35em;font-size:.85em;display:flex}.clock .track{background:#ffffff1f;border-radius:999px;flex:1;height:.45em;overflow:hidden}.clock i{background:var(--gold);border-radius:999px;height:100%;animation:linear forwards drain;display:block}.clock b{text-align:right;min-width:1.3em}.clock.low i{background:var(--red)}.clock.low b{color:#ff8a99;animation:.5s ease-in-out infinite pulse}.seat.bottom .clock{order:-2}@keyframes drain{to{width:0}}.belote-banner{z-index:15;background:linear-gradient(180deg, #ffe489, var(--gold) 55%, #d39a22);color:#2a2000;pointer-events:none;white-space:nowrap;animation:belote 2.4s var(--ease) forwards;border:2px solid #fff1bf;border-radius:18px;flex-direction:column;align-items:center;padding:.35em 1.6em .5em;display:flex;position:absolute;top:38%;left:50%;translate:-50% -50%;box-shadow:0 0 0 6px #f2c14e40,0 0 60px #f2c14ebf,0 12px 30px #00000080}.belote-banner .crowns{letter-spacing:.15em;color:#7a1420;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",Apple Symbols,sans-serif;font-size:clamp(1rem,4vmin,1.8rem)}.belote-banner b{text-shadow:0 2px #ffffff80;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,9vmin,4rem);line-height:1}.belote-banner small{opacity:.8;margin-top:.2em;font-size:clamp(.75rem,2.6vmin,1.05rem);font-weight:700}@keyframes belote{0%{opacity:0;rotate:-8deg;scale:.3}12%{opacity:1;rotate:2deg;scale:1.15}20%,80%{opacity:1;rotate:0deg;scale:1}to{opacity:0;translate:-50% -90%;scale:.9}}.home-score{justify-content:center;align-items:center;gap:.4em;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:700;display:flex}.lobby-seat .tiny{margin-left:.2em}.lobby-seat:has(.tiny){max-width:60%}.lab{background:var(--felt-dark) url(/assets/playing-bg-ui-9pCDc.webp) center / cover no-repeat;grid-template-columns:minmax(300px,380px) 1fr;height:100%;display:grid}.lab-panel{border-right:1px solid var(--gold-soft);-webkit-user-select:text;user-select:text;background:#0a1020eb;padding:1rem 1.1rem 2rem;font-size:.9rem;overflow-y:auto}.lab-panel h1{color:var(--gold);margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.lab-sub{color:var(--muted);margin:.2rem 0 .9rem}.lab-actions{gap:.5rem;display:flex}.lab-actions.wrap{flex-wrap:wrap}.lab-actions .primary{flex:1}.lab-section{border-top:1px solid var(--line);margin-top:1rem;padding-top:.7rem}.lab-section h2{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 .5rem;font-size:.8rem}.lab-row,.lab-slider{align-items:center;gap:.5rem;margin:.35rem 0;display:grid}.lab-row{grid-template-columns:1fr auto}.lab-row select{padding:.3em 2.2em .3em .9em}.lab-slider{grid-template-columns:7.5em 1fr 4.6em 1.4em}.lab-slider input[type=range]{width:100%;accent-color:var(--gold)}.lab-slider input[type=number]{width:100%;font:inherit;color:var(--text);border:1px solid var(--line);background:#0f1830;border-radius:6px;padding:.2em .35em}.lab-slider em{color:var(--muted);font-style:normal}.lab-hint{color:var(--muted);margin:.4rem 0 0;font-size:.8rem}.lab-warn{color:#ffc2ca;background:#d7263d33;border:1px solid #ff8a9980;border-radius:8px;margin:.5rem 0 0;padding:.4em .6em;font-size:.82rem}.lab-note{color:#8fe9ab;margin:.5rem 0 0;font-weight:600}.lab-code{border:1px solid var(--line);background:#070c18;border-radius:8px;max-height:14em;margin:.6rem 0 0;padding:.6em .8em;font-size:.75rem;overflow:auto}.lab-back{color:var(--gold);margin-top:1.2rem;display:inline-block}.lab-timeline{border:1px solid var(--line);background:#070c18;border-radius:8px;height:46px;margin-bottom:1.6rem;position:relative}.lab-timeline .clip{background:#f2c14e59;border:1px solid #f2c14eb3;border-radius:4px;height:14px;position:absolute;top:8px}.lab-timeline .tick{border-radius:2px;width:4px;height:14px;margin-left:-2px;position:absolute;top:26px}.lab-timeline .legend{color:var(--muted);gap:.8em;font-size:.75rem;display:flex;position:absolute;top:calc(100% + 4px);left:0}.lab-timeline .legend i{border-radius:2px;width:.7em;height:.7em;margin-right:.3em;display:inline-block}.lab-table{height:100%}.lab-start{border:1px solid var(--gold-soft);color:var(--gold);background:#0a1020d9;border-radius:999px;padding:.5em 1.2em;font-weight:700;position:absolute;top:45%;left:50%;translate:-50% -50%}@media (width<=760px){.lab{grid-template-rows:55% 45%;grid-template-columns:1fr}.lab-panel{border-right:none;border-top:1px solid var(--gold-soft);order:2}}.lab-file{margin:.4rem 0}.lab-file button{border-style:dashed;width:100%}.emote-wrap{margin-right:-.5em;display:flex;position:relative}.emote-btn{width:2em;height:2em;box-shadow:none;border-radius:50%;padding:0;font-size:1em;line-height:1;position:relative;overflow:hidden}.emote-btn.cooling{opacity:.6;filter:grayscale()}.emote-btn i{background:var(--gold);width:100%;height:4px;animation:linear forwards drain;position:absolute;bottom:0;left:0}.emote-picker{z-index:16;animation:pop .18s var(--ease);grid-template-columns:repeat(4,auto);gap:4px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 10px);left:0}.emote-picker button{width:2em;height:2em;box-shadow:none;background:0 0;border-color:#0000;padding:0;font-size:1.35em;line-height:1}.emote-picker button:hover{background:#ffffff1f;transform:scale(1.15)}.emote-pop{z-index:13;pointer-events:none;filter:drop-shadow(0 4px 6px #00000080);animation:emote 2.6s var(--ease) forwards;font-size:clamp(2rem,8vmin,3.4rem);line-height:1;position:absolute;top:100%;left:50%}.seat.bottom .emote-pop{top:auto;bottom:100%;left:3em}.seat.top .emote-pop{top:0;left:115%}@keyframes emote{0%{opacity:0;transform:translate(-50%)scale(.2)rotate(-20deg)}12%{opacity:1;transform:translate(-50%)scale(1.25)rotate(6deg)}22%,80%{opacity:1;transform:translate(-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%)translateY(-30%)scale(.9)}}.bid-calls{gap:.6em;width:100%;display:flex}.bid-calls .call,.dock-btn.call{background:linear-gradient(#8a5cf6,#6a3fd6 55%,#4f2bb0);border-color:#c4b0ff;border-radius:999px;flex:1;font-weight:800}.bid-locked{color:#ffd6a0;text-align:center;max-width:18em;margin:0;font-size:.85em}.notice.call{background:#4f2bb0d9;border-color:#c4b0ff}.bid-calls .call{white-space:nowrap;padding:.5em .9em}.mat{background:radial-gradient(#ffffff12,#0000001f 70%);border:2px solid #f2c14e38;border-radius:50%/42%;box-shadow:inset 0 0 40px #00000040}.mat .watermark{font-size:calc(var(--ch) * 1.4);color:#00000038;pointer-events:none;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.mat .watermark.red{color:#78001447}.mat .watermark.text{font-family:Georgia,Times New Roman,serif;font-weight:700;font-size:calc(var(--ch) * .7)}.mat-chip{color:var(--ink);white-space:nowrap;z-index:1;background:#fffefa;border-radius:999px;align-items:baseline;gap:.45em;padding:.15em .8em;font-size:clamp(.75rem,2.2vmin,.95rem);font-weight:800;display:flex;position:absolute;top:0;left:50%;translate:-50% -55%;box-shadow:0 3px 8px #00000059}.mat-chip small{color:#555b66;font-weight:600}.mat-chip .suit:not(.red){color:var(--ink)}.last-trick{flex-direction:column;gap:4px}.panel-caption{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.65rem;font-weight:700}.cross.empty .slot{border:1.5px dashed #ffffff38;border-radius:4px;width:clamp(22px,4.6vmin,38px);height:calc(1.3*clamp(22px,4.6vmin,38px));display:block}.board-grid{gap:.15em .8em}.board .bar{height:4px;margin-top:.15em}.overlay{padding-top:24px;overflow-y:auto}.result-overlay{background:#030a0859;padding-top:12px}.result{text-align:center;width:min(86vw,420px);animation:pop .35s var(--ease);margin:auto;padding:clamp(.9rem,4vh,1.6rem) 1.6rem clamp(1rem,4vh,1.5rem);position:relative;overflow:hidden}.result.ok{border-color:#8fe9ab8c}.result.ko{border-color:#ff8a998c}.result .corner{color:#ffffff1f;font-size:1.4rem;line-height:1;position:absolute}.result .corner.tl{top:.5rem;left:.6rem}.result .corner.tr{top:.5rem;right:.6rem}.result .corner.bl{bottom:.6rem;left:.6rem}.result .corner.br{bottom:.6rem;right:.6rem}.result h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.4rem,6vmin,2.1rem)}.result.ok h2{color:#8fe9ab}.result.ko h2{color:#ff96a4}.result .contract-chip{margin:.4rem 0 .2rem;font-size:.85rem}.scored-label{color:var(--muted);margin:.5rem 0 0;font-weight:700}.result-score{color:var(--muted);font-variant-numeric:tabular-nums;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,11vmin,3.4rem);font-weight:700;line-height:1.05}.result-score.gold{color:var(--gold);text-shadow:0 0 20px #f2c14e73}.result-score small{color:var(--text);font-size:.45em}.scored-other{color:var(--muted);margin:.15rem 0 0;font-size:.95rem}.scored-other b{color:var(--text);font-variant-numeric:tabular-nums}.next-bar{background:var(--gold);transform-origin:0;width:100%;height:3px;animation:linear forwards next-bar;position:absolute;bottom:0;left:0}@keyframes next-bar{0%{transform:scaleX(0)}}@media (height<=520px) and (aspect-ratio>=4/3){.lobby{gap:.45rem;padding:calc(max(100vh,56.3vw)/4.44444) 1rem .6rem}.lobby-table{width:min(80vw,560px);height:clamp(120px,36vh,190px);min-height:110px}.lobby-seat{font-size:.8rem}.seat-empty{min-width:8em;padding:.35em 1em}.seat-empty svg{width:1.3em;height:1.3em}.options{gap:.5rem 1.2rem;font-size:.85rem}.lobby .start{padding:.45em 1.6em;font-size:1rem}.middle{padding:calc(var(--bh) * .5 + 2.6em) 0 calc(var(--ch) * .5)}.mat{height:calc(var(--ch) * 2)}.bid-panel{gap:5px;padding:8px 14px}.seat.left,.seat.right{top:55%}}.coin{vertical-align:-.12em;background:radial-gradient(circle at 35% 30%,#fff6c4 0 12%,#ffd75a 30%,#e9a91f 70%,#b77a0e 100%);border-radius:50%;flex:none;width:1em;height:1em;display:inline-block;box-shadow:inset 0 0 0 .09em #a86d08,inset 0 0 0 .17em #ffd968,0 1px 2px #00000073}.wallet{z-index:30;align-items:center;gap:6px;display:flex;position:absolute;top:10px;right:10px}.wallet .balance{background:var(--navy-dark);border:1px solid #f2c14e80;border-radius:999px;align-items:center;gap:.4em;padding:.3em .9em .3em .45em;font-size:.95rem;display:inline-flex;box-shadow:0 4px 12px #00000059}.wallet .balance .coin{font-size:1.3em}.wallet .balance b{color:var(--gold);font-variant-numeric:tabular-nums;animation:bump .5s var(--ease)}.wallet .daily{color:#2a1a00;background:linear-gradient(180deg, #ffe07a, var(--gold) 60%, #d39a22);border-color:#a86d08;border-radius:999px;padding:.35em .9em;font-size:.85rem;font-weight:800;animation:1.6s ease-in-out infinite pulse;box-shadow:0 3px #8a5a06,0 0 16px #f2c14e99}.wallet .daily small{margin-left:.25em;font-weight:700}.lobby-seat .name{flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.seat-coins{color:var(--gold);font-variant-numeric:tabular-nums;align-items:center;gap:.3em;font-size:.75em;font-weight:700;display:inline-flex}.seat-coins.short{color:#ff8a99}.stake-note{align-items:center;gap:.35em;margin-top:-.2rem;font-size:.9rem;font-weight:600;display:flex}.stake-note .coin{font-size:1.1em}.board-pot{border-top:1px solid var(--line);color:var(--gold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:.35em;padding:.2em .5em .35em;font-weight:800;display:flex}.coin-result{border:1px solid var(--line);color:var(--muted);background:#00000040;border-radius:14px;justify-content:center;align-items:center;gap:.5em;margin:-.3rem 0 1rem;padding:.5em 1em;font-weight:700;display:flex;position:relative}.coin-result .coin{font-size:1.5em}.coin-result b{font-variant-numeric:tabular-nums;font-family:Georgia,Times New Roman,serif;font-size:1.6em}.coin-result.up{color:var(--text);border-color:#f2c14e99}.coin-result.up b{color:var(--gold);text-shadow:0 0 16px #f2c14e80}.coin-result.down b{color:#ff8a99}.coin-rain{pointer-events:none;position:absolute;inset:0;overflow:visible}.coin-rain .coin{left:calc(8% + var(--i) * 6%);opacity:0;animation:1.1s cubic-bezier(.2,.7,.3,1) forwards coin-pop;animation-delay:calc(var(--i) * 45ms);font-size:1.1em;position:absolute;top:50%}.coin-rain .coin:nth-child(odd){--h:-70px}.coin-rain .coin:nth-child(2n){--h:-110px}@keyframes coin-pop{0%{opacity:0;transform:translateY(0)scale(.4)}15%{opacity:1}45%{transform:translateY(var(--h)) scale(1) rotateY(180deg)}to{opacity:0;transform:translateY(20px)scale(.8)rotateY(540deg)}}@media (height<=520px) and (aspect-ratio>=4/3){.wallet .balance{font-size:.8rem}.wallet .daily{font-size:.72rem}}.hand .card{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hand .card.playable.holding{transform:translateY(calc(var(--ty) - var(--ch) * .28)) rotate(var(--r)) scale(1.05);transition-duration:.4s}.hand .card.playable.charged{transform:translateY(calc(var(--ty) - var(--ch) * .34)) rotate(var(--r)) scale(1.1);box-shadow:0 0 0 3px var(--gold), 0 0 24px #f2c14ee6, 0 10px 20px #00000080;z-index:3;animation:90ms linear infinite tremble}@keyframes tremble{0%,to{translate:0}25%{translate:-1.5px 1px}75%{translate:1.5px -1px}}.mat .card.slam{z-index:3;animation:.36s cubic-bezier(.55,0,.85,.35) backwards slam}.mat.collect .card.slam{animation:.36s cubic-bezier(.55,0,.85,.35) backwards slam,.45s ease-in 1.2s forwards collect}@keyframes slam{0%{transform:translate(var(--x), calc(var(--y) - 60%)) rotate(calc(var(--a) - 14deg)) scale(1.9);opacity:0;filter:drop-shadow(0 40px 20px #00000080)}55%{transform:translate(var(--x), var(--y)) rotate(var(--a)) scale(.92);opacity:1;filter:none}75%{transform:translate(var(--x), var(--y)) rotate(var(--a)) scale(1.05)}to{transform:translate(var(--x), var(--y)) rotate(var(--a)) scale(1)}}.mat .card.slam:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;border:3px solid #ffecaae6;animation:.5s ease-out .2s impact;position:absolute;inset:-6%}@keyframes impact{0%{opacity:1;transform:scale(.9)}to{opacity:0;border-width:1px;transform:scale(1.7)}}.table.shake{animation:.45s cubic-bezier(.36,.07,.19,.97) table-shake}@keyframes table-shake{10%,90%{translate:-1px 1px}20%,80%{translate:3px -2px}30%,50%,70%{translate:-5px 3px}40%,60%{translate:5px -1px}}@media (prefers-reduced-motion:reduce){.table.shake,.hand .card.playable.charged{animation:none}}.hand .card.playable.sliding{transform:translateY(calc(var(--ty) + var(--ch) * .12)) rotate(var(--r)) scale(.97);filter:brightness(.85);transition-duration:.2s}.mat .card{z-index:1}.mat .card.slide{z-index:0;filter:brightness(.82)saturate(.85);animation:.95s cubic-bezier(.15,.6,.3,1) backwards slide-in;box-shadow:0 1px 3px #00000059}.mat .card.slide.bottom{translate:0 -14%}.mat .card.slide.top{translate:0 14%}.mat .card.slide.left{translate:18%}.mat .card.slide.right{translate:-18%}.mat.collect .card.slide{animation:.95s cubic-bezier(.15,.6,.3,1) backwards slide-in,.45s ease-in 1.2s forwards collect}@keyframes slide-in{0%{transform:translate(calc(var(--x) + var(--fx) * .45), calc(var(--y) + var(--fy) * .45)) rotate(var(--a)) scale(.96);opacity:0}25%{opacity:1}}.loading{z-index:25;background:var(--felt-dark) url(/assets/home-bg-yKPw92Gm.webp) center top / cover no-repeat;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;padding:calc(max(100vh,56.3vw)/5.88235) 1rem 2.5rem;transition:opacity .4s,visibility .4s;display:flex;position:absolute;inset:0}.loading.done{opacity:0;visibility:hidden;pointer-events:none}.loading-cards{gap:clamp(8px,2vmin,14px);display:flex}.loading-cards span{aspect-ratio:1/1.4;width:clamp(44px,11vmin,68px);color:var(--ink);animation:loading-hop 1.25s var(--ease) infinite;background:linear-gradient(165deg,#fffefa,#f1ede0);border:1px solid #00000047;border-radius:9px;place-items:center;font-size:clamp(1.5rem,6vmin,2.4rem);line-height:1;display:grid;box-shadow:0 6px 14px #00000073}.loading-cards span.red{color:var(--red)}@keyframes loading-hop{0%,55%,to{transform:translateY(0)rotate(0)}25%{box-shadow:0 0 0 2px var(--gold), 0 16px 22px #0006;transform:translateY(-38%)rotate(-5deg)}}.loading-bar{border:1px solid var(--gold-soft);background:#080e1cb3;border-radius:999px;width:min(64vw,300px);height:8px;overflow:hidden}.loading-bar i{border-radius:inherit;height:100%;transition:width .5s var(--ease);background:linear-gradient(90deg,#d39a22,#ffe07a);display:block}.loading p{color:#fff;text-shadow:0 2px 6px #0000008c;margin:0;font-size:clamp(.95rem,2.6vmin,1.2rem);font-style:italic}@media (prefers-reduced-motion:reduce){.loading-cards span{animation:none}}.ping{--on:#6fdc8c;flex:none;align-items:flex-end;gap:2px;height:.85em;display:inline-flex}.ping.l2{--on:#f2c14e}.ping.l1{--on:#ff7b8a}.ping i{background:#ffffff40;border-radius:1px;width:3px}.ping i:first-child{background:var(--on);height:40%}.ping i:nth-child(2){height:70%}.ping i:nth-child(3){height:100%}.ping.l2 i:nth-child(2),.ping.l3 i:nth-child(2),.ping.l3 i:nth-child(3){background:var(--on)}.ping small{color:var(--on);font-variant-numeric:tabular-nums;margin-left:3px;font-size:.62em;font-weight:700;line-height:1}@media (width<=600px){.plate .ping small{display:none}}.modal-overlay{z-index:40}.modal{text-align:center;width:min(94vw,460px);max-height:calc(100% - 24px);animation:pop .3s var(--ease);margin:auto;padding:1.3rem 1.3rem 1.2rem;position:relative;overflow-y:auto}.modal h2{color:var(--gold);margin:0 0 .9rem;font-family:Georgia,Times New Roman,serif}.modal h3{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:1rem 0 .5rem;font-size:.72rem;font-weight:700}.modal-x{border-radius:50%;width:2rem;height:2rem;padding:0;font-size:1.2rem;line-height:1;position:absolute;top:8px;right:8px}.credits{width:min(90vw,340px)}.credits dl{margin:0}.credits dt{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.credits dd{margin:.15rem 0 .9rem;font-size:1.15rem;font-weight:700}.credits dd small{color:var(--gold);font-weight:600}.popover-catch{z-index:34;position:absolute;inset:0}.sound-panel{z-index:35;animation:pop .2s var(--ease);gap:.6rem;padding:.8rem 1rem;display:grid;position:absolute;bottom:52px;right:10px}.sound-panel label{grid-template-columns:4.5em 150px 2em;align-items:center;gap:.6em;font-size:.85rem;font-weight:600;display:grid}.sound-panel b{color:var(--gold);font-variant-numeric:tabular-nums;text-align:right}.sound-panel input{accent-color:var(--gold)}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px;display:grid}.stat-tiles div{border:1px solid var(--line);background:#00000040;border-radius:12px;flex-direction:column;gap:.15em;padding:.6em .4em;display:flex}.stat-tiles b{color:var(--gold);font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.stat-tiles b small{color:var(--muted);font-size:.6em}.stat-tiles span{color:var(--muted);font-size:.7rem}.ranking{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.92rem}.ranking th{color:var(--muted);padding:0 .4em .3em;font-size:.68rem;font-weight:700}.ranking td{border-top:1px solid var(--line);padding:.35em .4em}.ranking td:first-child{width:2em;color:var(--muted);font-weight:700}.ranking td:nth-child(2){text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:9em;font-weight:700;overflow:hidden}.ranking .top1 td:first-child{color:var(--gold)}.ranking .top2 td:first-child{color:#cfd6e4}.ranking .top3 td:first-child{color:#d99a6c}.wallet .shop-btn{border-radius:999px;align-items:center;gap:.35em;padding:.35em .9em;font-size:.85rem;display:inline-flex}.wallet .shop-btn svg{width:1.15em;height:1.15em}.shop{width:min(94vw,520px)}.shop-balance{color:var(--gold);margin:-.4rem 0 0;font-size:1.1rem}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.shop-item{border:1px solid var(--line);background:#00000040;border-radius:12px;flex-direction:column;align-items:center;gap:.35em;padding:.6em .3em;font-size:.8rem;display:flex}.shop-item.on{border-color:var(--gold);box-shadow:0 0 14px #f2c14e4d}.shop-preview{place-items:center;height:62px;display:grid}.shop-preview .back{--bw:40px}.shop-name{font-weight:700}.shop-item em{color:var(--gold);padding:.2em 0;font-style:normal;font-weight:700}.shop-item .buy{color:var(--gold);border-radius:999px;align-items:center;gap:.3em;padding:.2em .7em;font-size:.8rem;display:inline-flex}.felt-swatch{background:radial-gradient(circle at 50% 40%, var(--f1), var(--f2));border:2px solid #ffffff59;border-radius:10px;width:62px;height:46px;display:block;box-shadow:inset 0 0 12px #00000073}.felt-classic{--f1:#25895f;--f2:#0c3323}.felt-ocean{--f1:#2a78c4;--f2:#0b2748}.felt-bordeaux{--f1:#a3323f;--f2:#3a0d14}.felt-violet{--f1:#7a4cc0;--f2:#24123f}.felt-night{--f1:#3a4152;--f2:#0d0f15}.app.felt-ocean,.app.felt-bordeaux,.app.felt-violet,.app.felt-night{background:linear-gradient(var(--f1), var(--f1)), var(--felt-dark) url(/assets/playing-bg-ui-9pCDc.webp) center / cover no-repeat;background-blend-mode:hue}.app.felt-night{background-blend-mode:saturation}.back.back-ruby{background:repeating-linear-gradient(45deg,#ffdca073 0 2px,#0000 2px 7px),repeating-linear-gradient(-45deg,#ffdca073 0 2px,#0000 2px 7px),#8f1d2c}.back.back-emerald{background:radial-gradient(circle,#ffffff59 0 14%,#0000 15%),repeating-linear-gradient(0deg,#ffffff29 0 2px,#0000 2px 6px),repeating-linear-gradient(90deg,#ffffff29 0 2px,#0000 2px 6px),#14724c}.back.back-midnight{background:radial-gradient(circle,#c9d2e6bf 0 1px,#0000 1.5px) 0 0/7px 7px,radial-gradient(circle,#26304d,#0b0f1c);border-color:#c9d2e6}.back.back-royal{border-color:var(--gold);background:radial-gradient(circle at 50% 50%, var(--gold) 0 12%, transparent 13%), radial-gradient(circle at 50% 50%, transparent 0 24%, #f2c14eb3 25% 29%, transparent 30%), repeating-linear-gradient(45deg, #f2c14e80 0 1px, transparent 1px 6px), repeating-linear-gradient(-45deg, #f2c14e80 0 1px, transparent 1px 6px), #3b1466}.last-trick.clickable{cursor:pointer}.last-trick.clickable:hover{border-color:var(--gold)}.panel-caption em{background:var(--gold);color:#2a2000;border-radius:999px;margin-left:.5em;padding:0 .5em;font-style:normal}.history ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.history li{border-left:4px solid var(--team0);background:#00000040;border-radius:12px;grid-template-columns:1.6em repeat(4,1fr) 2.2em;align-items:center;gap:4px;padding:6px 8px;display:grid}.history li.team1{border-left-color:var(--team1)}.trick-no{color:var(--muted);font-weight:800}.trick-play{opacity:.8;flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.trick-play small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--muted);font-size:.62rem;overflow:hidden}.trick-play.won{opacity:1}.trick-play.won .card{box-shadow:0 0 0 2px var(--gold), 0 0 8px var(--gold)}.trick-play.won small{color:var(--gold);font-weight:700}.trick-pts{color:var(--gold);font-family:Georgia,Times New Roman,serif}.again{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.again .primary{flex-basis:100%}.again button:not(.primary){border-radius:999px;padding:.4em 1em;font-size:.85rem}
