:root{--bb-linen:#f7f6f2;--bb-linen-deep:#eeece5;--bb-white:#fff;--bb-ink:#18171c;--bb-muted:#6c6870;--bb-line:#e3dfd6;--bb-crimson:#b3132b;--bb-gold:#a9843a;--display:"Prata", "Noto Serif Armenian", Georgia, serif;--body:"Manrope", "Noto Sans Armenian", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;--arm:"Noto Serif Armenian", Georgia, serif;--ease-deal:cubic-bezier(.18, .9, .22, 1.08);--shadow-card:0 1px 1px #1e140a14, 0 10px 24px -6px #1e140a38;--felt-1:#1b6a50;--felt-2:#0e4a37;--felt-3:#072d22;--ink:#f7f6f2;--ink-dim:#f7f6f2b8;--hud-solid:#f7f6f2;--hud-solid-fg:var(--bb-ink);--hud-line:#f7f6f299;--hud-paper-line:transparent;--hud-shadow:0 12px 28px -10px #0009;--hud-gold:#b8913f;--hud-ring:#d9b25f;--hud-glow:#f7f6f233;--kaput-ink:#1f5fa8;--kaput-soft:#e5effa;--card-shadow:0 6px 16px #00000073;--hand-shadow:-3px 4px 10px #00000073;--block:#031913a6;--avatar-1:#154a39;--avatar-2:#082a20;--avatar-line:#f7f6f2d9;--avatar-glyph:#f7f6f2eb;--name-shadow:0 2px 4px #00000080;--panel:#041c15db;--btn-1:#1d4d3d;--btn-2:#0f3529;--chip-contract:#0b3b2d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=midnight]{--felt-1:#1d3a66;--felt-2:#122748;--felt-3:#0a1730;--block:#0811249e;--avatar-1:#1f3a63;--avatar-2:#0a1730;--panel:#081124db;--btn-1:#1f3a63;--btn-2:#132746;--chip-contract:#132746}:root[data-theme=bordeaux]{--felt-1:#7a3540;--felt-2:#5e252d;--felt-3:#35141a;--block:#220c109e;--avatar-1:#6a2c36;--avatar-2:#35141a;--panel:#220c10db;--btn-1:#6a2c36;--btn-2:#451b22;--chip-contract:#451b22}:root[data-theme=graphite]{--felt-1:#4a5157;--felt-2:#373d42;--felt-3:#1c1f22;--block:#1012149e;--avatar-1:#40464c;--avatar-2:#1c1f22;--panel:#101214db;--btn-1:#40464c;--btn-2:#282c30;--chip-contract:#282c30}:root[data-theme=jade]{--felt-1:#0d5562;--felt-2:#063d48;--felt-3:#03252d;--block:#021a209e;--avatar-1:#0c4a56;--avatar-2:#03252d;--panel:#021a20db;--btn-1:#0c4a56;--btn-2:#06323b;--chip-contract:#06323b}:root[data-theme=linen]{--felt-1:#fff;--felt-2:var(--bb-linen);--felt-3:#ebe8e0;--ink:var(--bb-ink);--ink-dim:var(--bb-muted);--hud-solid:var(--bb-ink);--hud-solid-fg:var(--bb-linen);--hud-line:var(--bb-ink);--hud-paper-line:var(--bb-line);--hud-shadow:0 1px 1px #1e140a0f, 0 8px 20px -8px #1e140a47;--hud-gold:var(--bb-gold);--hud-ring:var(--bb-gold);--hud-glow:#18171c1a;--card-shadow:0 1px 1px #1e140a14, 0 8px 18px -6px #1e140a4d;--hand-shadow:-2px 4px 12px #1e140a40;--block:#18171c0d;--avatar-1:#fff;--avatar-2:#f1efe9;--avatar-line:#d6d1c6;--avatar-glyph:var(--bb-ink);--name-shadow:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{background:var(--felt-3);width:100%;height:100%;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;touch-action:manipulation;margin:0;overflow:hidden}#root{height:100dvh}button{font:inherit;color:inherit}.btn{border:1.5px solid var(--btn-line,var(--hud-line));background:var(--btn-bg,transparent);min-width:48px;min-height:max(44px,6.5cqh);color:var(--btn-fg,var(--ink));cursor:pointer;border-radius:999px;padding:0 max(18px,2.4cqh);font-size:clamp(15px,2.6cqh,30px);font-weight:700;transition:transform 80ms,opacity .12s}.btn:active:not(:disabled){transform:scale(.95)}.btn:disabled{opacity:.38;cursor:default}.btn.big{min-height:max(52px,8cqh);padding:0 max(26px,3cqh);font-size:clamp(16px,3cqh,34px)}.btn-primary{--btn-bg:var(--hud-solid);--btn-fg:var(--hud-solid-fg);--btn-line:var(--hud-solid)}.btn-gold{--btn-bg:var(--hud-gold);--btn-fg:#fff;--btn-line:var(--hud-gold);box-shadow:0 0 18px #d9b25f8c}.btn-contra{--btn-bg:var(--bb-crimson);--btn-fg:#fff;--btn-line:var(--bb-crimson)}.btn-kaput{--btn-bg:var(--kaput-soft);--btn-fg:var(--kaput-ink);--btn-line:#a9c6ea}.btn-kaput.on{--btn-bg:var(--kaput-ink);--btn-fg:#fff;--btn-line:var(--kaput-ink);box-shadow:0 0 0 3px #1f5fa840}.btn-round{touch-action:none;width:max(48px,6.5cqh);padding:0;font-size:max(26px,4cqh)}.btn-strain{--btn-bg:var(--bb-white);--btn-fg:var(--bb-ink);--btn-line:var(--bb-line);border-radius:max(10px,1.4cqh);justify-content:center;align-items:center;width:clamp(48px,9cqh,96px);padding:0;font-size:clamp(22px,5cqh,48px);display:inline-flex}.btn-strain.red{--btn-fg:var(--bb-crimson)}.btn-strain.nt{font-size:clamp(18px,4cqh,40px);font-weight:800}.btn-strain.on{--btn-line:var(--bb-ink);box-shadow:0 0 0 1.5px var(--bb-ink);transform:translateY(-2px)}.seg{border:1px solid var(--bb-line);background:var(--bb-white);border-radius:999px;padding:3px;display:flex}.seg-btn{min-width:56px;min-height:36px;color:var(--bb-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:14px;font-weight:600;transition:background .2s,color .2s}.seg-btn.on{background:var(--bb-ink);color:var(--bb-linen)}.btn-exit{border:1px solid var(--hud-line);cursor:pointer;background:0 0;border-radius:999px;min-height:max(36px,5cqh);padding:0 max(12px,1.6cqh);font-size:max(15px,2.2cqh);font-weight:700}.start-screen,.rotate-screen{text-align:center;height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);color:var(--bb-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:var(--bb-linen);background-image:radial-gradient(70% 60% at 50% 42%,#fffffff2,#fff0 70%),repeating-linear-gradient(45deg,#78644606 0 1px,#0000 1px 7px),repeating-linear-gradient(-45deg,#78644606 0 1px,#0000 1px 7px);flex-direction:column;justify-content:center;align-items:center;gap:2.2vh;display:flex}.logo{font-family:var(--display);letter-spacing:-.02em;color:var(--bb-ink);font-size:clamp(52px,min(15vh,17vw),132px);font-weight:400;line-height:.95;position:relative}.slogan{font-family:var(--arm);color:var(--bb-crimson);align-items:center;gap:.4em;font-size:clamp(22px,min(5.4vh,9vw),38px);font-weight:500;display:inline-flex}.coming-soon{font-family:var(--body);color:var(--bb-gold);letter-spacing:.16em;text-transform:uppercase;font-size:clamp(12px,2.4vh,15px);font-weight:600}.rotate-screen{z-index:100;position:fixed;inset:0}.rotate-icon{width:72px;height:72px;color:var(--bb-crimson);animation:2.4s ease-in-out infinite spin}.rotate-title{font-family:var(--display);max-width:80vw;font-size:clamp(24px,6.4vw,32px);font-weight:400;line-height:1.2}.rotate-hint{color:var(--bb-muted);max-width:86vw;font-size:17px;line-height:1.5}.rotate-close{top:calc(env(safe-area-inset-top) + 14px);right:calc(env(safe-area-inset-right) + 14px);justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;position:absolute}.btn-with-icon{align-items:center;gap:.5em;display:inline-flex}@keyframes spin{0%,20%{transform:rotate(0)}60%,to{transform:rotate(90deg)}}.table-stage{background:var(--bg-img,none) center / cover no-repeat, radial-gradient(ellipse at 50% 45%, var(--felt-1), var(--felt-2) 60%, var(--felt-3));width:100%;height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);justify-content:center;align-items:stretch;display:flex}:root[data-theme=linen] .table-stage{background:radial-gradient(ellipse 70% 60% at 50% 45%, #fffffff2, #fff0 70%), repeating-linear-gradient(45deg, #78644608 0 1px, transparent 1px 7px), repeating-linear-gradient(-45deg, #78644608 0 1px, transparent 1px 7px), var(--bb-linen)}.table{width:100%;height:100%;max-width:calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 2.35);position:relative;overflow:hidden;container-type:size}.prev-trick{background:var(--block);border:1px solid var(--hud-paper-line);z-index:5;border-radius:1.8cqh;gap:1.1cqh;padding:1.2cqh;display:flex;position:absolute;top:2.2cqh;left:1.4cqw}.prev-trick .mini{aspect-ratio:3/4;border-radius:.8cqh;height:min(15cqh,8cqw)}.mini.mine{outline:2.5px solid var(--bb-crimson);box-shadow:0 0 12px 2px #b3132b80}.top-right{z-index:6;flex-direction:column;align-items:flex-end;gap:1.2cqh;display:flex;position:absolute;top:2.2cqh;right:1.4cqw}.scoreboard{border:1px solid var(--hud-paper-line);background:var(--bb-white);color:var(--bb-ink);box-shadow:var(--hud-shadow);z-index:5;text-align:left;border-radius:1.8cqh;padding:1.4cqh 2.2cqh;font-size:clamp(15px,min(3.6cqh,2.4cqw),40px);font-weight:700;line-height:1.45}.sb-target{color:var(--bb-gold)}.sb-deal{color:var(--bb-muted);font-size:max(14px,.8em);font-weight:600}.toolbar{gap:6px;display:flex}.seat{z-index:4;flex-direction:column;align-items:center;gap:.6cqh;display:flex;position:absolute}.seat-top{top:2.4cqh;left:50%;transform:translate(-50%)}.seat-left{top:34cqh;left:2cqw}.seat-right{top:max(34cqh,114px + 6.2cqh);right:2cqw}.seat .shown-fan,.seat .reveal-hand{z-index:8;margin-top:.6cqh;position:absolute;top:100%}.seat-left .shown-fan,.seat-left .reveal-hand{left:0}.seat-right .shown-fan,.seat-right .reveal-hand{right:0}.seat-top .shown-fan,.seat-top .reveal-hand{margin-top:0;top:0;right:calc(100% + 2cqh)}.avatar-wrap{width:min(16cqh,11cqw);height:min(16cqh,11cqw);position:relative}.avatar{border:.4cqh solid var(--avatar-line);background:radial-gradient(circle at 50% 35%, var(--avatar-1), var(--avatar-2));width:100%;height:100%;font-family:var(--display);color:var(--avatar-glyph);border-radius:50%;justify-content:center;align-items:center;font-size:7cqh;display:flex}.seat.active .avatar{box-shadow:0 0 0 .6cqh var(--hud-glow)}.ring{pointer-events:none;width:calc(100% + 1.8cqh);height:calc(100% + 1.8cqh);position:absolute;inset:-.9cqh;transform:rotate(-90deg)}.ring circle{fill:none;stroke:var(--hud-ring);stroke-width:4px;stroke-linecap:round;stroke-dasharray:296;stroke-dashoffset:0;animation-name:ring;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes ring{to{stroke-dashoffset:296px}}.seat-role{color:var(--ink-dim);text-align:center;font-size:.62em;font-weight:600;display:block}.name-form{display:flex}.name-input{font:inherit;text-align:center;border:1px solid var(--bb-line);background:var(--bb-white);width:min(320px,70vw);min-height:48px;color:var(--bb-ink);-webkit-user-select:text;user-select:text;border-radius:999px;outline:none;padding:0 18px;font-size:clamp(16px,3.2vh,20px);font-weight:500;transition:border-color .2s,box-shadow .2s}.name-input::placeholder{color:var(--bb-muted);opacity:.8}.name-input:focus{border-color:var(--bb-ink);box-shadow:0 0 0 3px #18171c14}.seat-name{text-shadow:var(--name-shadow);font-size:clamp(16px,3.6cqh,36px);font-weight:700}.labels{flex-wrap:wrap;justify-content:center;gap:4px;min-height:1px;display:flex}.chip{background:var(--bb-white);color:var(--bb-ink);border:1px solid var(--hud-paper-line);border-radius:999px;padding:1px 8px;font-size:clamp(15px,2.8cqh,26px);font-weight:700}.chip-1st,.chip-blot{background:var(--hud-gold);border-color:var(--hud-gold);color:#fff}.chip-contract{padding:1px 6px;font-size:clamp(18px,3.2cqh,30px)}.chip-c{background:var(--bb-crimson);border-color:var(--bb-crimson);color:#fff}.chip-rc{color:#fff;background:#7d0f1f;border-color:#e0485e}.bubble{white-space:nowrap;background:var(--bb-white);color:var(--bb-ink);border:1px solid var(--hud-paper-line);box-shadow:var(--hud-shadow);z-index:8;border-radius:max(8px,1.6cqh);padding:max(3px,.6cqh) max(9px,1.6cqh);font-size:clamp(21px,3.8cqh,38px);font-weight:700;animation:.16s ease-out bubble-in;position:absolute}.bubble-contra,.bubble-recontra{background:var(--bb-crimson);border-color:var(--bb-crimson);color:#fff}.bubble-blot,.bubble-reblot,.bubble-declare{background:var(--hud-gold);border-color:var(--hud-gold);color:#fff}.bubble-kaput{background:var(--kaput-ink);border-color:var(--kaput-ink);color:#fff}@keyframes bubble-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.seat-top .bubble{top:25%;left:calc(100% + 1.4cqh)}.seat-left .bubble{top:20%;left:calc(100% + 1.4cqh)}.seat-right .bubble{top:20%;right:calc(100% + 1.4cqh)}.me{z-index:6;flex-direction:column;align-items:flex-start;gap:.6cqh;display:flex;position:absolute;left:2cqw}.me .labels{justify-content:flex-start}.me-anchor{width:1px;height:1px}.me .bubble{bottom:1.4cqh;left:0}.shown-fan{pointer-events:none;animation:.2s ease-out bubble-in}.seat .shown-fan{margin-top:3.2cqh}.seat-top .shown-fan{margin-top:0}.seat-top .shown-fan .shown-label{margin:.8cqh 0 0;top:100%;bottom:auto}.fan-card{transform-origin:50% 120%;box-shadow:var(--card-shadow);border-radius:1cqh;position:absolute;top:0}.fan-card.was-played{filter:brightness(.5)saturate(.6)}.shown-fan .shown-label{z-index:1;background:var(--bb-white);border:1px solid var(--hud-paper-line);box-shadow:var(--hud-shadow);border-radius:999px;margin:0;padding:0 1cqh;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.shown-label{white-space:nowrap;color:var(--bb-ink);margin-right:.6cqh;font-size:clamp(14px,2.8cqh,20px);font-weight:700}.reveal-hand .mini{aspect-ratio:3/4;border-radius:.5cqh;height:8.5cqh}.mini.was-played{opacity:.45;filter:grayscale(.6)}.reveal-hand{background:var(--block);border:1px solid var(--hud-paper-line);border-radius:1cqh;flex-wrap:wrap;justify-content:center;gap:.3cqh;max-width:34cqw;padding:.6cqh;animation:.2s ease-out bubble-in;display:flex}.trick-area{z-index:3;width:0;height:0;position:absolute;top:47cqh;left:50%}.trick-card{box-shadow:var(--card-shadow);border-radius:1.2cqh;transition:transform .38s cubic-bezier(.4,0,.6,1),opacity .38s;animation:.24s cubic-bezier(.2,.7,.3,1) throw;position:absolute;top:0;left:0}@keyframes throw{0%{opacity:.7;transform:translate(calc(-50% + var(--sx)), calc(-50% + var(--sy))) rotate(calc(var(--r) * 3)) scale(.85)}to{opacity:1;transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) rotate(var(--r)) scale(1)}}.trick-card.collecting{opacity:0}@keyframes card-in{0%{opacity:0}to{opacity:1}}.hand{z-index:7;width:0;position:absolute;bottom:-2.5cqh;left:50%}.hand-card{transform-origin:50% 120%;cursor:default;background:0 0;border:none;border-radius:1.6cqh;padding:0;transition:transform .26s,opacity .16s;position:absolute;bottom:0;left:0}.hand-card img{width:100%;height:100%;box-shadow:var(--hand-shadow);pointer-events:none;border-radius:1.6cqh;display:block}.hand-card.playable{cursor:pointer}.hand-card.playable:hover img{box-shadow:0 0 0 2px var(--hud-solid), var(--hand-shadow)}.hand-card.playable:active{opacity:.85}.hand-card.dim img{filter:brightness(.55)saturate(.7)}.hand-card.combo img{box-shadow:0 0 0 3px var(--hud-gold), 0 0 18px 4px #d9b25fa6}.hand-card.dealing{animation:.42s ease-out backwards hand-in}@keyframes hand-in{0%{opacity:0}to{opacity:1}}.hand-card:disabled{opacity:1}.deal-anim{width:0;height:0;position:absolute;bottom:50cqh;left:0}.deal-anim.from-bottom{--fx:-41cqw;--fy:30cqh}.deal-anim.from-left{--fx:-41cqw;--fy:-38cqh}.deal-anim.from-top{--fx:26cqw;--fy:-40cqh}.deal-anim.from-right{--fx:41cqw;--fy:30cqh}.deal-back,.deal-deck{border-radius:.8cqh;width:9cqh;height:12.6cqh;position:absolute;top:-6.3cqh;left:-4.5cqh}.deal-deck{transform:translate(var(--fx), var(--fy));animation:.3s ease-in 1.25s forwards deal-deck-out;box-shadow:.3cqh .3cqh #00000059,.6cqh .6cqh #00000040}@keyframes deal-deck-out{to{opacity:0}}.deal-back{opacity:0;animation:.48s ease-out forwards deal-fly}.deal-back.to-bottom{--tx:0cqw;--ty:42cqh}.deal-back.to-top{--tx:0cqw;--ty:-40cqh}.deal-back.to-left{--tx:-42cqw;--ty:-8cqh}.deal-back.to-right{--tx:42cqw;--ty:-8cqh}@keyframes deal-fly{0%{opacity:1;transform:translate(var(--fx), var(--fy))}80%{opacity:1}to{opacity:0;transform:translate(var(--tx), var(--ty))}}.center-actions{z-index:9;position:absolute;top:46cqh;left:50%;transform:translate(-50%,-50%)}.action-row{justify-content:center;gap:1.6cqh;display:flex}.action-col{flex-direction:column;align-items:center;gap:1.4cqh;display:flex}.hint{background:var(--bb-white);color:var(--bb-ink);border:1px solid var(--hud-paper-line);box-shadow:var(--hud-shadow);border-radius:999px;padding:.8cqh 1.8cqh;font-size:clamp(15px,3.4cqh,22px);font-weight:700}.bid-panel{--ink:var(--bb-ink);--hud-line:var(--bb-ink);--hud-solid:var(--bb-ink);--hud-solid-fg:var(--bb-linen);background:var(--bb-white);color:var(--bb-ink);border:1px solid var(--hud-paper-line);box-shadow:var(--hud-shadow);border-radius:2.4cqh;flex-direction:column;gap:clamp(6px,1.6cqh,14px);padding:clamp(8px,2cqh,18px);animation:.16s ease-out bubble-in;display:flex}.bid-row{justify-content:center;align-items:center;gap:clamp(6px,1.4cqh,12px);display:flex}.bid-row>.btn{flex:auto}.bid-row>.btn-round{flex:none}.bid-row>.btn-strain{flex:1 1 0;width:auto;min-width:clamp(40px,7.4cqh,78px)}.bid-row:has(.btn-strain){gap:clamp(3px,.7cqh,6px)}.bid-value{text-align:center;min-width:2.6em;font-family:var(--display);color:var(--bb-ink);flex:auto;font-size:clamp(24px,6cqh,60px);font-weight:400}.bid-value.kaput{color:var(--kaput-ink)}.play-actions{z-index:9;gap:1.4cqh;display:flex;position:absolute;bottom:36cqh;left:50%;transform:translate(-50%)}.turn-hint{background:var(--bb-white);color:var(--bb-ink);border:1px solid var(--hud-paper-line);box-shadow:var(--hud-shadow);z-index:6;border-radius:999px;align-items:center;gap:.45em;padding:.6cqh 1.6cqh;font-size:clamp(15px,3.2cqh,22px);font-weight:700;display:inline-flex;position:absolute;bottom:12cqh;right:2cqw}.turn-hint:before{content:"";background:var(--bb-crimson);border-radius:50%;width:.5em;height:.5em}.overlay-msg{background:var(--bb-white);color:var(--bb-ink);border:1px solid var(--hud-paper-line);box-shadow:var(--hud-shadow);text-align:center;z-index:10;border-radius:1.8cqh;max-width:60cqw;padding:1.4cqh 2.6cqh;font-size:clamp(16px,4cqh,26px);font-weight:700;animation:.2s ease-out bubble-in;position:absolute;top:44cqh;left:50%;transform:translate(-50%,-50%)}.modal-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:center;animation:.16s ease-out card-in;display:flex;position:absolute;inset:0}.results,.game-over,.confirm{background:var(--bb-white);color:var(--bb-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:1px solid var(--bb-line);border-radius:max(18px,2.6cqh);flex-direction:column;align-items:center;gap:1.2cqh;min-width:min(560px,70cqw);max-height:96cqh;padding:2.2cqh 3.2cqh;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 70px -20px #000000bf}.results{overflow-y:auto}.results.contra{border-color:var(--bb-crimson);box-shadow:0 0 0 1px var(--bb-crimson), 0 0 34px #b3132b80, 0 30px 70px -20px #000000bf}.results.recontra{border-color:var(--bb-crimson);box-shadow:0 0 0 2.5px var(--bb-crimson), 0 0 48px #b3132bb3, 0 30px 70px -20px #000000bf}.contra-banner{background:var(--bb-crimson);color:#fff;letter-spacing:.08em;border-radius:999px;padding:.4cqh 2cqh;font-size:clamp(15px,3.4cqh,22px);font-weight:800}.results-wrap:before{content:"";top:calc(var(--emb) - 2cqh);background:var(--bb-white);z-index:1;height:3px;position:absolute;left:20%;right:20%}.results-wrap{--emb:clamp(64px, 22cqh, 160px);flex-direction:column;align-items:center;max-height:100cqh;display:flex;position:relative}.results-wrap .results{max-height:calc(98cqh - var(--emb) + 2cqh)}.results-emblem{height:var(--emb);object-fit:contain;z-index:2;filter:drop-shadow(0 4px 10px #0000008c);-webkit-user-select:none;user-select:none;pointer-events:none;max-width:80%;margin:0 0 -2cqh;position:relative}.results-banner{text-align:center;font-size:clamp(16px,4.2cqh,28px);font-weight:800}.results-banner.good{color:#1d7a4c}.results-banner.bad{color:var(--bb-crimson)}.results-contract{color:var(--bb-muted);font-size:clamp(15px,3cqh,20px)}.results-table{border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:86%;font-size:clamp(16px,3.6cqh,24px)}.results-table th,.results-table td{text-align:center;border-bottom:1px solid var(--bb-line);min-width:5.5em;padding:.55cqh 2.6cqh}.results-table td:first-child{text-align:right;color:var(--bb-muted);border-right:1px solid var(--bb-line);font-weight:600}.results-table th{color:var(--bb-gold);letter-spacing:.14em;text-transform:uppercase;font-size:.8em;font-weight:700}.results-table th.bidder{box-shadow:inset 0 -2px 0 var(--bb-crimson)}.results-table tbody tr:nth-child(2n) td{background:var(--bb-linen)}.results-table tr.contract td{font-weight:800}.results-table .dash{color:var(--bb-muted);opacity:.6}.bid-cell{align-items:center;gap:.35em;display:inline-flex}.bid-cell .mult{color:var(--bb-crimson);font-weight:800}.results-table tr.hl td{background:#b3132b12}.results-table tr.total td{color:var(--bb-ink);background:var(--bb-linen-deep);border-bottom:none;font-size:1.15em;font-weight:700}.results-table tr.total td:not(:first-child){font-family:var(--display);font-size:1.35em;font-weight:400}.results-table .raw{color:var(--bb-muted);font-size:.8em;font-weight:600}.uncounted{color:var(--bb-crimson);opacity:.8;font-size:.85em}.results-totals{font-size:clamp(15px,3.2cqh,22px);font-weight:700}.progress{background:var(--bb-crimson);transform-origin:0;width:100%;height:3px;animation:linear forwards progress;position:absolute;bottom:0;left:0}@keyframes progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.game-over .go-title{font-family:var(--display);font-size:clamp(34px,9cqh,64px);font-weight:400;line-height:1.05}.game-over.good .go-title{color:var(--bb-crimson)}.game-over.bad .go-title{color:var(--bb-ink)}.go-label{color:var(--bb-gold);letter-spacing:.16em;text-transform:uppercase;font-size:clamp(11px,2.4cqh,15px);font-weight:600}.go-score{font-variant-numeric:tabular-nums;font-size:clamp(16px,4cqh,26px);font-weight:700}.confirm{text-align:center;font-size:clamp(15px,3.4cqh,22px);font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.bid-label{white-space:nowrap;align-items:center;gap:.25em;display:inline-flex}.suit-icon{background:var(--bb-linen);border:1px solid var(--bb-line);min-width:1.3em;height:1.3em;color:var(--bb-ink);border-radius:.3em;justify-content:center;align-items:center;padding:0 .1em;font-weight:800;line-height:1;display:inline-flex}.suit-icon.red{color:var(--bb-crimson)}.suit-icon.nt{font-size:.85em}.suit-svg{flex-shrink:0;width:.95em;height:.95em;display:block}.icon-inline{vertical-align:-.12em;width:.95em;height:.95em;display:inline-block}.btn-like .icon-inline{color:#ff5c70}.theme-switch{color:var(--bb-muted);align-items:center;gap:10px;font-size:14px;display:flex}.theme-dot{border:2px solid var(--bb-white);width:34px;height:34px;box-shadow:0 0 0 1px var(--bb-line);cursor:pointer;border-radius:50%;transition:box-shadow .2s}.theme-dot.on{box-shadow:0 0 0 2px var(--bb-ink)}.deck-switch{gap:12px;display:flex}.deck-option{border:1px solid var(--bb-line);background:var(--bb-white);color:var(--bb-muted);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:8px 10px 6px;font-size:13px;font-weight:600;transition:border-color .2s,box-shadow .2s,color .2s;display:flex}.deck-option img{border-radius:6px;height:clamp(36px,10vh,90px);box-shadow:0 1px 1px #1e140a14,0 4px 10px -4px #1e140a4d}.deck-option.on{border-color:var(--bb-ink);box-shadow:0 0 0 1px var(--bb-ink);color:var(--bb-ink)}@media (hover:hover){.deck-option:hover{border-color:var(--bb-ink)}}.options-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:2vh 28px;display:flex}.start-screen{gap:1.8vh}.aces-fan{flex-shrink:0;width:min(clamp(200px,50vh,400px),92vw);height:clamp(70px,21vh,180px);margin-bottom:-1.5vh;position:relative}.aces-fan.aces-2{height:clamp(70px,min(17vh,40vw),150px)}.aces-mask{position:absolute;inset:-60% -60% 0;-webkit-mask-image:linear-gradient(#000 84%,#0000);mask-image:linear-gradient(#000 84%,#0000)}.ace{transform-origin:50% 120%;perspective:900px;height:115.625%;transition:transform .85s var(--ease-deal);cursor:pointer;touch-action:none;animation:.3s ease-out card-in;position:absolute;top:43.75%;left:50%}.ace.dragging{cursor:grabbing;transition:none}.ace.dragging .ace-lift{transform:translateY(-9%)scale(1.04)}.ace-lift{transition:transform .35s var(--ease-deal);position:absolute;inset:0}@media (hover:hover){.ace:hover .ace-lift{transform:translateY(-9%)}}.ace-in{transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,.7,.2,1);position:absolute;inset:0}.ace.down .ace-in{transform:rotateY(180deg)}.ace img{backface-visibility:hidden;width:100%;height:100%;box-shadow:var(--shadow-card);-webkit-user-drag:none;border-radius:6%/4%;position:absolute;inset:0}.ace img.back{transform:rotateY(180deg)}.play-row{align-items:center;gap:14px;display:flex}.btn-gear{border-radius:50%;justify-content:center;align-items:center;width:clamp(52px,10vh,64px);min-width:0;height:clamp(52px,10vh,64px);margin-top:1vh;padding:0;display:inline-flex}.btn-gear.small{border:1px solid var(--hud-solid);background:var(--hud-solid);width:max(40px,6cqh);height:max(40px,6cqh);color:var(--hud-solid-fg);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin:0;display:inline-flex}.btn-gear.small.btn-music.off{color:var(--ink);border-color:var(--hud-line);background:0 0}.btn-icon{border:1px solid var(--hud-line);width:max(40px,6cqh);height:max(40px,6cqh);color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}:is(.start-screen,.rotate-screen,.settings,.results,.game-over,.confirm) .btn{border:1.5px solid var(--bb-ink);min-height:46px;color:var(--bb-ink);font-family:var(--body);transition:transform .25s var(--ease-deal), background .2s, color .2s, box-shadow .25s;background:0 0;border-radius:999px;padding:0 24px;font-size:16px;font-weight:600}:is(.results,.game-over,.confirm) .btn{min-height:max(46px,6.4cqh);padding:0 max(22px,3cqh);font-size:clamp(15px,2.4cqh,22px)}:is(.start-screen,.rotate-screen,.settings,.results,.game-over,.confirm) .btn-primary{background:var(--bb-ink);color:var(--bb-linen)}:is(.start-screen,.rotate-screen,.settings,.results,.game-over,.confirm) .btn.big{min-height:max(52px,8cqh);padding:0 max(30px,3.4cqh);font-size:clamp(16px,2.8cqh,26px)}@media (hover:hover){:is(.start-screen,.rotate-screen,.settings,.results,.game-over,.confirm) .btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 22px -10px #18171c99}:is(.start-screen,.rotate-screen,.settings,.results,.game-over,.confirm) .btn:not(.btn-primary):hover:not(:disabled){background:var(--bb-white)}}:is(.start-screen,.rotate-screen,.settings,.results,.game-over,.confirm) .btn:active:not(:disabled){transform:scale(.97)}:is(.start-screen,.rotate-screen,.settings,.results,.game-over,.confirm) :is(button,a):focus-visible{outline:2px solid var(--bb-crimson);outline-offset:3px}.start-screen .btn-play{min-width:clamp(180px,min(32vh,56vw),260px);min-height:clamp(52px,10vh,64px);margin-top:1vh;padding:0 36px;font-size:clamp(17px,min(3.4vh,6vw),21px)}.start-screen .btn-gear{min-height:0;color:var(--bb-ink);background:0 0;padding:0}@media (hover:hover){.start-screen .btn-gear:hover{background:var(--bb-white)}}.settings-backdrop{z-index:50;background:#18171c66;justify-content:center;align-items:center;animation:.16s ease-out card-in;display:flex;position:fixed;inset:0}.settings{background:var(--bb-white);color:var(--bb-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:1px solid var(--bb-line);border-radius:22px;flex-direction:column;gap:14px;min-width:min(480px,92vw);max-width:calc(100vw - 20px);max-height:94dvh;padding:16px 24px 22px;display:flex;overflow-y:auto;box-shadow:0 30px 70px -20px #0009}@media (height<=480px){.settings{gap:9px;padding:10px 20px 14px}}@media (width<=480px){.settings{padding:14px 16px 18px}.settings-row{gap:10px}.settings-label{min-width:0}.deck-switch{gap:8px}.deck-option{padding:6px 8px 5px}.deck-option img{height:clamp(36px,9vh,74px)}.music-select{padding:0 6px 0 10px}.theme-switch{gap:6px}.theme-dot{width:30px;height:30px}}.settings-head{font-family:var(--display);justify-content:space-between;align-items:center;font-size:24px;font-weight:400;display:flex}.settings-close{border:1px solid var(--bb-line);background:var(--bb-white);width:42px;height:42px;color:var(--bb-ink);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .2s;display:inline-flex}@media (hover:hover){.settings-close:hover{border-color:var(--bb-ink)}}.settings-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-label{color:var(--bb-muted);min-width:90px;font-size:15px;font-weight:600}.settings .name-input{width:min(260px,50vw)}.audio-controls{flex:1;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.music-select{border:1px solid var(--bb-line);background:var(--bb-white);min-width:0;max-width:200px;height:40px;color:var(--bb-ink);font:inherit;cursor:pointer;border-radius:999px;flex:1 1 0;padding:0 12px;font-size:14px;font-weight:600}.music-select option{background:var(--bb-white);color:var(--bb-ink)}.volume{flex:1 1 0;align-items:center;gap:8px;min-width:120px;max-width:230px;display:inline-flex}.volume input[type=range]{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:28px;margin:0}.volume input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--bb-ink) var(--fill), var(--bb-line) var(--fill));border-radius:999px;height:6px}.volume input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--bb-ink) var(--fill), var(--bb-line) var(--fill));border-radius:999px;height:6px}.volume input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--bb-white);border:1.5px solid var(--bb-ink);border-radius:50%;width:22px;height:22px;margin-top:-8px;box-shadow:0 2px 6px #18171c40}.volume input[type=range]::-moz-range-thumb{background:var(--bb-white);border:1.5px solid var(--bb-ink);border-radius:50%;width:20px;height:20px}.volume-value{text-align:right;font-variant-numeric:tabular-nums;width:3.2em;font-weight:600}.info-btn{width:1.5em;height:1.5em;color:var(--bb-muted);font-family:var(--display);cursor:pointer;background:0 0;border:1.5px solid;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.52em;font-weight:400;line-height:1;transition:color .2s;display:inline-flex}@media (hover:hover){.info-btn:hover{color:var(--bb-ink)}}.info-modal{max-width:min(560px,94vw)}.info-text{margin:0;font-size:17px;line-height:1.6}.info-hint{color:var(--bb-crimson);margin:0;font-size:15px;font-weight:600}.info-actions{flex-wrap:wrap;gap:12px;display:flex}.privacy-note{color:var(--bb-muted);font-size:12px;line-height:1.5}.form-error{color:var(--bb-crimson);font-weight:600}.feedback-form{flex-direction:column;gap:10px;display:flex}.feedback-form .field{font:inherit;border:1px solid var(--bb-line);background:var(--bb-white);color:var(--bb-ink);-webkit-user-select:text;user-select:text;resize:vertical;border-radius:12px;outline:none;padding:12px 14px;font-size:16px;transition:border-color .2s,box-shadow .2s}.feedback-form .field::placeholder{color:var(--bb-muted);opacity:.8}.feedback-form .field:focus{border-color:var(--bb-ink);box-shadow:0 0 0 3px #18171c14}.feedback-form .field.bad{border-color:var(--bb-crimson)}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.settings-feedback{align-self:flex-start}.paused-badge{color:var(--bb-muted);font-size:clamp(14px,3cqh,20px);font-weight:700}.results{cursor:pointer}:root[data-look=glass]{--glass:#060a0980;--glass-solid:#16191a;--glass-line:#f7f6f229;--glass-shadow:0 12px 30px -14px #0009;--glass-gold:#d9b25f;--hud-paper-line:var(--glass-line)}:root[data-look=glass] :is(.scoreboard,.hint,.turn-hint,.overlay-msg,.shown-fan .shown-label,.prev-trick,.reveal-hand){background:var(--glass);color:var(--ink);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow)}:root[data-look=glass] .sb-target{color:var(--glass-gold)}:root[data-look=glass] .sb-deal{color:var(--ink-dim)}:root[data-look=glass] .shown-label{color:var(--ink)}:root[data-look=glass] .bid-panel{--ink:#f7f6f2;--hud-line:#f7f6f299;--hud-solid:#f7f6f2;--hud-solid-fg:var(--bb-ink);color:var(--ink);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);background:#060a099e}:root[data-look=glass] .bid-value{color:#f7f6f2}:root[data-look=glass] .bid-value.kaput{color:#9cc4f2}:root[data-look=glass] .btn-kaput{--btn-bg:transparent;--btn-fg:#a9cdf5;--btn-line:#9cc4f2b3}:root[data-look=glass] .btn-kaput.on{--btn-bg:var(--kaput-ink);--btn-fg:#fff;--btn-line:var(--kaput-ink)}:root[data-look=glass] .chip-contract{color:var(--ink);border-color:var(--glass-line);background:#060a098c}:root[data-look=glass] .btn-gear.small{background:var(--glass);color:var(--ink);border:1px solid #f7f6f273}:root[data-look=glass] .btn-gear.small.btn-music.off{color:var(--ink-dim);background:0 0}:root[data-look=glass] :is(.btn-icon,.btn-exit){background:var(--glass)}:root[data-look=glass] :is(.results,.game-over,.confirm){background:var(--glass-solid);color:#f7f6f2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border:1px solid var(--glass-line);box-shadow:0 30px 70px -20px #000c}:root[data-look=glass] .results-wrap:before{background:var(--glass-solid)}:root[data-look=glass] .results-table th{color:var(--glass-gold)}:root[data-look=glass] :is(.results-table th,.results-table td){border-bottom-color:#f7f6f21a}:root[data-look=glass] .results-table td:first-child{color:#f7f6f29e;border-right-color:#f7f6f21a}:root[data-look=glass] .results-table tbody tr:nth-child(2n) td{background:#ffffff09}:root[data-look=glass] .results-table tr.total td{color:#f7f6f2;background:#ffffff12}:root[data-look=glass] .results-table :is(.raw,.dash){color:#f7f6f28c}:root[data-look=glass] .results-table tr.hl td{background:#b3132b38}:root[data-look=glass] .results-banner.good{color:#7be3a9}:root[data-look=glass] :is(.results-banner.bad,.uncounted,.bid-cell .mult){color:#ff8f9c}:root[data-look=glass] .paused-badge{color:#f7f6f2b3}:root[data-look=glass] :is(.results,.game-over,.confirm) .btn{color:#f7f6f2;background:0 0;border-color:#f7f6f299}:root[data-look=glass] :is(.results,.game-over,.confirm) .btn-primary{color:var(--bb-ink);background:#f7f6f2;border-color:#f7f6f2}:root[data-look=glass] .game-over.good .go-title{color:#e2c27a}:root[data-look=glass] .game-over.bad .go-title{color:#f7f6f2}:root[data-look=glass] .go-label{color:var(--glass-gold)}:root[data-look=gold]{--gold:#d6b25e;--gold-2:#f3dc94;--panel-line:#d6b25ebf;--soft:#0000004d;--soft-line:#ffffff59;--hud-ring:#63e09a;--hud-glow:#f3dc9459;--avatar-line:var(--gold);--avatar-glyph:#d6b25ebf}:root[data-look=gold] :is(.center-actions,.play-actions) .btn{--btn-bg:linear-gradient(180deg, var(--btn-1), var(--btn-2));--btn-fg:#f7f6f2;--btn-line:var(--panel-line);border-radius:12px}:root[data-look=gold] :is(.center-actions,.play-actions) :is(.btn-primary,.btn-gold){--btn-bg:linear-gradient(180deg, #f1d68a, #c99a3e);--btn-fg:#1f1606;--btn-line:#f6e3a6}:root[data-look=gold] :is(.center-actions,.play-actions) .btn-gold{box-shadow:0 0 16px #f3dc948c}:root[data-look=gold] :is(.center-actions,.play-actions) .btn-contra{--btn-bg:linear-gradient(180deg, #d2493d, #8f2219);--btn-line:#f0a097}:root[data-look=gold] :is(.center-actions,.play-actions) .btn-kaput{--btn-bg:linear-gradient(180deg, #bfe3ff, #7cc4ff);--btn-fg:#0b2740;--btn-line:#e3f3ff}:root[data-look=gold] :is(.center-actions,.play-actions) .btn-kaput.on{box-shadow:0 0 0 3px #fff,0 0 14px #9fd6ff}:root[data-look=gold] :is(.center-actions,.play-actions) .btn-strain{--btn-bg:#f4efe2;--btn-fg:#1a1a1a;--btn-line:#cdbf95}:root[data-look=gold] :is(.center-actions,.play-actions) .btn-strain.red{--btn-fg:#c0241b}:root[data-look=gold] :is(.center-actions,.play-actions) .btn-strain.on{--btn-line:#cdbf95;box-shadow:0 0 0 3px var(--gold-2), 0 0 14px var(--gold)}:root[data-look=gold] .bid-panel{--ink:#f7f6f2;background:var(--panel);color:var(--ink);border:1.5px solid var(--panel-line);border-radius:2cqh;box-shadow:0 10px 30px #00000073}:root[data-look=gold] .bid-value{font-family:var(--body);color:var(--gold-2);font-weight:800}:root[data-look=gold] .bid-value.kaput{color:#7cc4ff}:root[data-look=gold] :is(.scoreboard,.overlay-msg){background:var(--panel);color:var(--ink);border:1.5px solid var(--panel-line);box-shadow:none;border-radius:1.6cqh}:root[data-look=gold] .overlay-msg{font-weight:800}:root[data-look=gold] .sb-target{color:inherit}:root[data-look=gold] .sb-deal{color:var(--ink-dim)}:root[data-look=gold] :is(.hint,.shown-fan .shown-label,.reveal-hand){background:var(--panel);color:var(--ink);box-shadow:none;border-color:#0000}:root[data-look=gold] .hint{border-radius:1.2cqh}:root[data-look=gold] .shown-label{color:var(--gold-2);font-weight:800}:root[data-look=gold] .turn-hint{color:var(--ink);border:1px solid var(--gold);box-shadow:none;background:#f3dc942e;font-weight:800}:root[data-look=gold] .turn-hint:before{content:none}:root[data-look=gold] .prev-trick{border-color:#0000;border-radius:1.6cqh}:root[data-look=gold] .mini.mine{outline-color:var(--gold-2);box-shadow:0 0 14px 2px #f3dc94cc}:root[data-look=gold] .avatar{font-family:var(--body);border-width:.5cqh}:root[data-look=gold] .chip{background:var(--soft);color:var(--ink);border-color:var(--soft-line);font-weight:800}:root[data-look=gold] .chip-d{color:#1a1a1a;background:#f4efe2}:root[data-look=gold] .chip-1st{background:var(--gold);color:#1a1206}:root[data-look=gold] .chip-contract{background:var(--chip-contract);border-color:var(--gold);color:var(--gold-2)}:root[data-look=gold] .chip-blot{color:#1f1606;background:linear-gradient(#f6e1a0,#d6b25e);border-color:#f6e3a6}:root[data-look=gold] .chip-c{background:#c0392b}:root[data-look=gold] .chip-rc{background:#7d1a12;border-color:#ffb3a9}:root[data-look=gold] .bubble{color:#1a140a;background:#fbf6e8;border-color:#0000;font-weight:800;box-shadow:0 4px 12px #00000059}:root[data-look=gold] :is(.bubble-contra,.bubble-recontra){color:#fff;background:#c0392b}:root[data-look=gold] :is(.bubble-blot,.bubble-reblot,.bubble-declare){color:#1a140a;background:linear-gradient(#f6e1a0,#d6b25e)}:root[data-look=gold] .bubble-kaput{color:#1a140a;background:#7cc4ff}:root[data-look=gold] :is(.bubble,.chip) .suit-icon{color:#1a1a1a;background:#f4efe2;border-color:#cdbf95}:root[data-look=gold] :is(.bubble,.chip) .suit-icon.red{color:#c0241b}:root[data-look=gold] .hand-card.playable:hover img{box-shadow:0 0 0 2px var(--gold-2), var(--hand-shadow)}:root[data-look=gold] .hand-card.combo img{box-shadow:0 0 0 3px var(--gold-2), 0 0 18px 4px #f3dc94bf}:root[data-look=gold] .btn-gear.small{border:1.5px solid var(--panel-line);color:#1f1606;background:linear-gradient(#f1d68a,#c99a3e)}:root[data-look=gold] .btn-gear.small.btn-music.off{background:var(--soft);color:var(--ink-dim);border-color:var(--soft-line)}:root[data-look=gold] :is(.btn-icon,.btn-exit){border:1px solid var(--soft-line);background:var(--soft)}:root[data-look=gold] .btn-exit{border-radius:10px}
