:root{--felt: #1f5d3a;--felt-dark: #174a2e;--paper: #fffdf6;--ink: #2b2118;--muted: #cfe3d4;--on-dark: #fff;--warn: #f2c14e;--bad: #c9363b;--bad-on-dark: #e5484d;--error-wash: #f6c9ca;--declarer: var(--gold-deep);--defender: #4be37a;--present: #6ad38a;--chat-bubble: #fff;--tone-go: #9bd8a7;--tone-raise: #ece35e;--tone-challenge: #f4a259;--tone-give-up: #f08c8c;--tone-show: #9cc4f2;--armed: #b3261e;--burgundy: #800020;--felt-light: #2d7a4f;--felt-deep: #0d2a1a;--felt-ground: radial-gradient(120% 90% at 50% 30%, var(--felt-light) 0%, var(--felt) 40%, var(--felt-dark) 75%, var(--felt-deep) 100%);--rail-light: #7a5233;--rail-dark: #3a2314;--glass-line: rgb(255 255 255 / 14%);--divider: rgb(255 255 255 / 45%);--lift: inset 0 1px 0 rgb(255 255 255 / 60%);--press: 0 3px 0 rgb(0 0 0 / 28%), 0 5px 10px var(--shadow-soft);--radius-button: .7rem;--glass: rgb(10 30 20 / 55%);--gold-deep: #c8932a;--gold-fill: linear-gradient(var(--warn), var(--gold-deep));--card-w: 5.8rem;--card-h: 9.67rem;--card-w-small: 4.6rem;--card-h-small: 7.67rem;--card-w-mini: 3.6rem;--card-h-mini: 6rem;--card-radius: 7.5% / 4.5%;--radius-pill: 999px;--radius-panel: 1rem;--text-s: .8rem;--text-ms: .85rem;--text-m: .9rem;--button-text: clamp(.85rem, .738rem + .558vw, 1rem);--button-pad-y: clamp(.25rem, .213rem + .186vw, .3rem);--button-pad-x: clamp(.45rem, .338rem + .558vw, .6rem);--toggle-pad-x: clamp(.55rem, .364rem + .93vw, .8rem);--pill-text: clamp(.72rem, .66rem + .298vw, .8rem);--pill-pad-x: clamp(.45rem, .264rem + .93vw, .7rem);--submit-text: clamp(.95rem, .876rem + .372vw, 1.05rem);--submit-pad-y: clamp(.4rem, .326rem + .372vw, .5rem);--chat-pad-x: clamp(.8rem, .577rem + 1.116vw, 1.1rem);--tap-min: 2.5rem;--tap-min-quiet: 2.1rem;--shadow-faint: rgb(0 0 0 / 25%);--shadow-soft: rgba(0, 0, 0, .35);--shadow-mid: rgba(0, 0, 0, .45);--shadow-deep: rgba(0, 0, 0, .55);font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--paper);background:var(--felt)}body{margin:0;min-height:100vh;background:var(--felt);background-image:var(--felt-ground);background-attachment:fixed}.app{max-width:64rem;margin:0 auto;padding:.75rem 1rem 4.5rem}.bar{display:flex;align-items:center;gap:1rem}.bar h1{margin:0;font-size:1.5rem}.brand{display:inline-flex;align-items:baseline;white-space:nowrap;line-height:1;letter-spacing:-.01em}.brand-ulti{margin-right:.04em;color:var(--warn);font-size:.62em;font-weight:700;letter-spacing:.02em}.brand-vitamin{color:var(--tone-go);font-weight:800}.connection{margin-left:auto;padding:.2rem .6rem;border-radius:var(--radius-panel);font-size:var(--text-m);background:var(--felt-dark)}.connection.online,.by-name.connection{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.connection.offline{background:var(--bad)}.connection.connecting{color:var(--ink);background:var(--warn)}.error{color:var(--ink);background:var(--error-wash);padding:.4rem .6rem;border-radius:.3rem}.notice,.hint{color:var(--muted)}button{font:inherit;cursor:pointer}:where(button:not([class])){padding:.3rem .8rem;border:1px solid var(--ink);border-radius:var(--radius-button);background:var(--paper);color:var(--ink);box-shadow:var(--lift),var(--press)}:where(button:not([class])):active:not(:disabled){transform:translateY(2px);box-shadow:var(--lift),0 1px #00000047}:where(button:not([class])):disabled{opacity:.55;cursor:default}:where(input:not([class]):not([type=checkbox]):not([type=radio])),:where(select:not([class])){padding:.3rem .6rem;border:1px solid var(--ink);border-radius:var(--radius-button);background:var(--paper);color:var(--ink);font:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.name{unicode-bidi:isolate;display:inline-block;vertical-align:bottom;width:9rem;height:1.4rem;line-height:1.4rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.name.robot{font-size:var(--text-m)}.registered{flex:none;font-size:.75em;font-weight:700;color:var(--warn);vertical-align:super;line-height:1}.seat-name{display:inline-flex;align-items:baseline;justify-content:center;gap:.15rem;max-width:100%;min-width:0}.bar .me{display:inline-flex;align-items:baseline;gap:.2rem}.seat-anchor{--seat-width: 8.5rem}.seat{--avatar: 4.75rem;--ground: var(--felt-dark);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:.3rem;width:var(--seat-width);height:9rem;overflow:hidden;padding:.4rem;border-radius:.6rem;background:var(--ground);box-shadow:inset 0 0 0 1px var(--glass-line),0 4px 10px var(--shadow-soft)}.seat.you{--ground: color-mix(in srgb, var(--felt-dark) 80%, white)}.seat.declarer{--ground: var(--declarer);color:var(--ink)}.seat.declarer .score{color:color-mix(in srgb,var(--ink) 80%,var(--ground))}.seat.declarer .score.gain{color:var(--felt)}.seat.declarer .score.loss,.seat.declarer .score.negative,.seat.declarer .countdown.urgent{color:var(--bad)}.seat.declarer .countdown{color:var(--ink)}.seat-avatar{position:relative;flex:none;display:grid;place-items:center;width:var(--avatar);height:var(--avatar)}.avatar{unicode-bidi:isolate;box-sizing:border-box;display:grid;place-items:center;width:100%;height:100%;overflow:hidden;border:0;border-radius:50%;background:linear-gradient(var(--paper),#d8cfb8);box-shadow:0 4px 10px var(--shadow-mid);color:var(--ink);font-size:calc(var(--avatar) * .42);font-weight:600;line-height:1}.avatar.bot{background:linear-gradient(#cfe0ee,#8fa9c0)}.avatar.empty{border-style:dashed;background:none}.avatar .robot,.avatar .person{width:58%;height:58%}.avatar.empty{color:var(--muted)}.seat.add-robot{padding:0}.seat-robot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;width:100%;height:100%;padding:.4rem;border:1px dashed var(--glass-line);border-radius:inherit;background:none;box-shadow:none;color:var(--paper);font-weight:700;animation:seat-robot 1.5s ease-in-out infinite}@keyframes seat-robot{50%{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);box-shadow:inset 0 0 0 1px var(--warn),0 0 1.3rem color-mix(in srgb,var(--warn) 70%,transparent)}}@media(prefers-reduced-motion:reduce){.seat-robot{animation:none}}.seat-robot .avatar{flex:none;width:calc(var(--avatar) * .8);height:calc(var(--avatar) * .8);opacity:.75}.seat-robot:hover,.seat-robot:focus-visible{border-style:solid;border-color:var(--warn);background:#ffffff14;animation:none}.seat-robot:hover .avatar,.seat-robot:focus-visible .avatar{opacity:1}.seat .name{width:100%;text-align:center}.seat .score{height:1.3rem;line-height:1.3rem;font-size:var(--text-m);font-variant-numeric:tabular-nums;white-space:nowrap;color:color-mix(in srgb,var(--muted) 75%,var(--ground))}.seat .score.gain{color:var(--tone-go)}.seat .score.loss{color:var(--tone-give-up)}.seat .score.negative{color:var(--bad-on-dark);font-weight:700}.seat .score.reserved-for{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-s);color:var(--warn)}.seat-button{box-shadow:none;box-sizing:border-box;width:100%;height:1.4rem;padding:0 .3rem;border-width:1px;font-size:var(--text-s);line-height:1}.seat-avatar .badge{position:absolute;top:0;display:grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;box-shadow:0 0 0 2px var(--ground);color:var(--ink);font-size:var(--text-ms);font-weight:800;line-height:1}.seat-avatar .badge.vote{left:0;background:var(--warn)}.seat-avatar .badge.ready,.seat-avatar .badge.waiting{right:0}.seat-avatar .badge.ready{background:var(--tone-go)}.seat-avatar .badge.waiting{background:var(--muted);animation:waiting 1.6s ease-in-out infinite}.seat.ready{outline:3px solid var(--tone-go);outline-offset:-3px}.seat.waiting{outline:2px dashed var(--muted);outline-offset:-2px}.seat.waiting .avatar{opacity:.6}@keyframes waiting{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.seat-avatar .badge.waiting{animation:none}}.presence{flex:none;width:.6rem;height:.6rem;border-radius:50%;background:var(--muted)}.presence.present{background:var(--present)}.presence.absent{background:var(--bad)}.seat-avatar .presence{position:absolute;right:.1rem;bottom:.1rem;width:.8rem;height:.8rem;box-shadow:0 0 0 2px var(--ground)}.seat-anchor{position:relative;width:fit-content;max-width:100%}.seat-anchor.bottom{margin-inline:auto}@media(max-width:480px){.seat-anchor{--seat-width: 6.5rem}}.seat-anchor.bottom .seat{display:flex;flex-direction:row;align-items:center;gap:.5rem;width:14rem;height:2rem;padding:0 .8rem;border-radius:1rem;text-align:left}.seat-anchor.bottom .seat.invite{height:auto;padding:0;border:0;background:none;box-shadow:none;overflow:visible}.seat-invite{width:100%;height:2rem;padding:0 1.5rem;border-radius:var(--radius-pill);background:var(--tone-go);font-size:1.3rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;animation:next-pulse 1.6s ease-out infinite}@media(prefers-reduced-motion:reduce){.seat-invite{animation:none}}.seat-anchor.bottom .seat-avatar{position:static;display:flex;align-items:center;gap:.3rem;width:auto;height:auto}.seat-anchor.bottom .seat-avatar .avatar{display:none}.seat-anchor.bottom .seat-avatar .presence,.seat-anchor.bottom .seat-avatar .badge{position:static;box-shadow:none}.seat-anchor.bottom .seat-avatar .badge{width:1.2rem;height:1.2rem}.seat-anchor.bottom .seat-avatar .countdown{width:1.5rem;height:1.5rem;font-size:.7rem}.seat-anchor.bottom .seat .name{flex:1;min-width:0;width:auto;text-align:left}.seat-anchor.bottom .seat .score,.seat-anchor.bottom .seat-button{flex:none;width:auto}.seat-anchor.bottom .seat-name{flex:1;min-width:0;justify-content:flex-start}@media(max-width:480px){.seat{--avatar: 3.75rem;height:8rem}}.seats-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.table-head{flex:1;min-width:0;padding-top:.3rem;text-align:center;color:var(--muted);font-size:var(--text-m)}.head-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.2rem .6rem}.deal-line{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.5rem;height:3rem;margin:0;color:var(--paper)}.dl-table-phase{display:inline-flex;align-items:center;max-width:100%;padding:.35rem 1.1rem;border:1px solid color-mix(in srgb,var(--warn) 55%,transparent);border-radius:999px;background:#00000038;box-shadow:0 0 .8rem color-mix(in srgb,var(--warn) 18%,transparent);color:var(--paper);font-size:1.2rem;font-weight:700;letter-spacing:.02em;line-height:1.2}.dl-table-phase.waiting{color:var(--warn)}.dl-dots{display:inline-flex;flex:none;gap:.2rem;margin-left:.45rem}.dl-dots span{width:.3rem;height:.3rem;border-radius:50%;background:currentcolor;animation:dl-dot 1.4s ease-in-out infinite;opacity:.25}.dl-dots span:nth-child(2){animation-delay:.2s}.dl-dots span:nth-child(3){animation-delay:.4s}@keyframes dl-dot{40%{opacity:1}}@media(prefers-reduced-motion:reduce){.dl-dots span{animation:none;opacity:1}}.deal-line .dl-phase,.deal-line .dl-colon,.deal-line .dl-trump-name,.deal-line .suit-dot{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dl-contract{display:flex;flex-direction:column;align-items:center;min-width:0;line-height:1.15}.dl-who{max-width:100%;overflow:hidden;color:var(--muted);font-size:var(--text-s);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.dl-what{color:var(--warn);font-size:1.15rem;font-weight:700;text-align:center;text-wrap:balance}.dl-contract.declared .dl-what{padding:.05rem .6rem;border-radius:var(--radius-pill);background:var(--declarer);color:var(--ink)}.dl-trump{flex:none;display:flex;align-items:center}.dl-pip{display:block;width:2.2rem;height:auto}@media(min-width:481px){.dl-who{font-size:var(--text-m)}.dl-what{font-size:1.4rem}.dl-pip{width:2.8rem}}.dl-sep{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.suit-dot{width:1.1em;height:1.1em;border-radius:50%}.suit-dot.piros{background:radial-gradient(circle at 35% 30%,#ff8a8a,#c22)}.suit-dot.makk{background:radial-gradient(circle at 35% 30%,#c98a4f,#6a3e18)}.suit-dot.tok{background:radial-gradient(circle at 35% 30%,#ffd86b,#c08a12)}.suit-dot.zold{background:radial-gradient(circle at 35% 30%,#8fe07b,#2f8d2c)}.head-tools{display:flex;align-items:stretch;align-self:center;gap:.4rem}.head-menu{position:relative;display:flex}.head-menu-toggle{padding:.1rem .6rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);color:var(--paper);background:#ffffff14;box-shadow:none;font-size:var(--text-m);line-height:1.4}.head-menu-toggle[aria-expanded=true]{background:#ffffff2e}.head-menu-panel{position:absolute;z-index:15;top:calc(100% + .3rem);right:0;display:flex;flex-direction:column;align-items:stretch;gap:.4rem;box-sizing:border-box;width:max-content;max-width:min(18rem,calc(100vw - 2rem));padding:.6rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:linear-gradient(#214d35,var(--felt-dark));box-shadow:var(--lift);text-align:left}.leave-ask .leave,.leave-ask .stay,.head-menu-panel .sound,.head-menu-panel .voice{padding:.25rem var(--pill-pad-x);border:1px solid var(--glass-line);border-radius:var(--radius-pill);color:var(--paper);background:#ffffff14;box-shadow:none;font-size:var(--pill-text);white-space:nowrap}.leave-door{position:relative;display:flex}.leave-door>.leave{display:grid;place-items:center;padding:.1rem .5rem;border:1px solid color-mix(in srgb,var(--bad) 70%,white);border-radius:var(--radius-pill);color:var(--paper);background:var(--bad);box-shadow:none;font-size:var(--text-m);line-height:1.4}.leave-door>.leave .door{width:1.2em;height:1.2em}.leave-door>.leave[aria-expanded=true]{background:color-mix(in srgb,var(--bad) 80%,black)}.leave-ask{position:absolute;z-index:15;top:calc(100% + .3rem);right:0;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;box-sizing:border-box;width:max-content;max-width:min(18rem,calc(100vw - 2rem));padding:.6rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:linear-gradient(#214d35,var(--felt-dark));box-shadow:var(--lift);color:var(--paper);font-size:var(--pill-text);text-align:left;white-space:normal}.leave-ask>span{flex:1 1 100%}.leave-ask .leave{background:var(--bad)}.head-menu-panel .sound[aria-pressed=false],.head-menu-panel .voice[aria-pressed=false]{opacity:.7}.head-menu-panel .deck-chooser{justify-content:flex-start;color:var(--paper)}.head-menu-panel .aid-switch[aria-pressed=false]{opacity:.7}.head-menu-panel .aid-switch.not-allowed{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.25rem var(--pill-pad-x);border:1px dashed var(--glass-line);border-radius:.8rem;color:var(--muted);background:transparent;box-shadow:none;font-size:var(--pill-text);cursor:not-allowed}.head-menu-panel .aid-switch.not-allowed .aid-why{font-size:.8em;font-style:italic;white-space:normal}.aids{position:relative;z-index:25;display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;padding:.2rem 0 .3rem}.aids.reserved{visibility:hidden}.aid-anchor{display:inline-flex}.aid{padding:.25rem .6rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:#00000054;color:var(--paper);font-size:var(--pill-text);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.aid[aria-expanded=true]{border-color:var(--gold-deep);background:var(--warn);color:var(--ink)}.aid-pop{position:absolute;top:100%;left:50%;transform:translate(-50%);box-sizing:border-box;width:min(24rem,calc(100vw - 2rem));max-height:min(24rem,60vh);overflow-y:auto;padding:.6rem .7rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:linear-gradient(#214d35,var(--felt-dark));box-shadow:0 .8rem 1.8rem #0009;color:var(--paper);font-size:var(--text-s);text-align:left}.aid-pop-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.4rem}.aid-pop h3{margin:0;font-size:var(--text-m);color:var(--warn)}.aid-pop-close{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;padding:0;font-size:1.2rem;line-height:1;border-radius:50%;border:1px solid var(--glass-line);background:#ffffff14;color:var(--paper)}.aid-none{margin:0;color:var(--muted)}.aid-sides{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.2rem .8rem;margin:0 0 .4rem}.aid-side{font-weight:600}.points-targets{display:grid;gap:.25rem;margin:0 0 .4rem;padding:0;list-style:none}.points-targets li{padding:.3rem .5rem;border-radius:.5rem;background:#00000040;font-weight:600}.points-targets li[data-state=made]{color:var(--tone-go)}.points-targets li[data-state=lost]{color:var(--muted);text-decoration:line-through}.aid-last{margin:0 0 .3rem;color:var(--muted)}.aid-trick-list{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.aid-trick-list li{display:grid;grid-template-columns:1.6rem repeat(3,minmax(0,1fr));align-items:start;gap:.3rem;padding:.3rem .4rem;border-radius:.6rem;background:#00000040}.aid-trick-no{align-self:center;font-weight:800;color:var(--warn);text-align:center}.aid-trick-list figure{display:grid;justify-items:center;gap:.15rem;min-width:0;margin:0}.aid-trick-list .card{width:clamp(2.2rem,1.8rem + 1.6vw,3rem);height:auto;aspect-ratio:3 / 5}.aid-trick-list figcaption{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.2rem;max-width:100%;font-size:var(--pill-text);color:var(--muted)}.aid-trick-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aid-trick-list .history-marks{margin-top:0}.trumps-out{margin:0 0 .4rem;font-weight:600;color:var(--warn)}.out-grid{width:100%;border-collapse:separate;border-spacing:2px;table-layout:fixed;font-size:var(--pill-text);text-align:center;font-variant-numeric:tabular-nums}.out-grid th{width:1.6rem}.out-pip{display:block;width:1.1rem;height:1.1rem;margin-inline:auto}.out-grid td,.out-legend span{padding:.2rem 0;border-radius:.3rem;border:1px solid transparent;background:#ffffff1a;color:var(--paper)}.out-grid [data-place=played],.out-legend [data-place=played]{background:#00000059;color:#ffffff4d;text-decoration:line-through}.out-grid [data-place=mine],.out-legend [data-place=mine]{background:var(--paper);color:var(--ink);font-weight:700}.out-grid [data-place=talon],.out-legend [data-place=talon]{border:1px dashed var(--muted);background:transparent;color:var(--muted)}.out-grid tr.trump-row [data-place=out]{border-color:var(--warn);color:var(--warn);font-weight:700}.out-legend{display:flex;flex-wrap:wrap;gap:.3rem;margin:.5rem 0 0;font-size:var(--pill-text)}.out-legend span{padding:.1rem .5rem}.history-mark.declared{border-color:var(--gold-deep);color:var(--warn)}.middle{--pile-card: var(--card-w);display:flex;align-items:center;justify-content:center;padding:.8rem;border:.6rem solid transparent;border-radius:50%/46%;background:linear-gradient(var(--felt),var(--felt-dark)) padding-box,linear-gradient(160deg,var(--rail-light),var(--rail-dark)) border-box;box-shadow:inset 0 0 3rem #0000008c,0 .8rem 1.6rem var(--shadow-mid);min-height:calc(var(--pile-card) * 2.4);max-width:46rem;margin:1rem auto;text-align:center}.middle{position:relative}.trick-lights{position:absolute;left:50%;bottom:.15rem;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.05rem;pointer-events:none}.trick-lights ol{display:flex;gap:.55rem;margin:0;padding:0;list-style:none}.trick-light{--led: var(--defender);width:.7rem;height:.7rem;border:2px solid var(--led);border-radius:50%;background:#00000059;opacity:.6;transition:background .15s,box-shadow .15s,opacity .15s}.trick-light.declarer{--led: var(--declarer)}.trick-light.lit{background:var(--led);opacity:1;box-shadow:0 0 .45rem var(--led)}.trick-lights-arrow{color:var(--muted);font-size:var(--text-s);line-height:1}@media(prefers-reduced-motion:reduce){.trick-light{transition:none}}.trick,.hand{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.played{margin:0}.trick.pile{display:block;position:relative;width:min(100%,calc(var(--pile-card) * 3.8));height:calc(var(--pile-card) * 2.4);margin-inline:auto}.pile .played{position:absolute;left:50%;top:50%;width:var(--pile-card);transform:translate(-50%,-50%) translate(calc(var(--x) * var(--pile-card)),calc(var(--y) * var(--pile-card))) rotate(var(--turn))}.pile .played .card{width:100%;height:auto;aspect-ratio:3 / 5}.pile .played .card{animation:card-drop .14s ease-out}@keyframes card-drop{0%{opacity:0;transform:translateY(-.7rem) scale(1.1)}}.pile .played.flipping{transform-style:preserve-3d}.pile .played.flipping>.card,.pile .played.flipping>figcaption{backface-visibility:hidden}.pile .played>.flip-back{position:absolute;left:0;top:0;transform:rotateY(180deg);backface-visibility:hidden;animation:none}@media(prefers-reduced-motion:reduce){.pile .played .card{animation:none}}.pile .played figcaption.who{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.played figcaption{font-size:var(--text-s)}.card{width:var(--card-w);height:var(--card-h);display:block}.hand{margin:.75rem 0}.seat-wrap{display:flex;flex-direction:column;align-items:center;gap:.4rem;max-width:100%;min-width:0}.spread{font-size:var(--text-ms);text-align:center}.spread .card{width:var(--card-w-mini);height:var(--card-h-mini)}.spread-show{display:none}.spread-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top,0px)) 1rem max(1rem,env(safe-area-inset-bottom,0px));background:#0009}.spread-sheet{box-sizing:border-box;width:min(100%,30rem);max-height:100%;overflow-y:auto;padding:.6rem .7rem .8rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:linear-gradient(#214d35,var(--felt-dark));box-shadow:0 .8rem 1.8rem #0009;color:var(--paper)}.spread-sheet h3{margin:0;font-size:var(--text-m);color:var(--warn)}.spread-sheet .hand{gap:.4rem;margin:0}.spread-sheet .card{width:min(5.5rem,(100vw - 5.2rem) / 4);height:calc(min(5.5rem,(100vw - 5.2rem) / 4) * 5 / 3)}.table>.spread.foot{grid-column:1 / -1;justify-self:center;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.2rem .6rem}.table>.spread.foot .hand{display:flex;flex-wrap:wrap;justify-content:center;gap:.15rem;margin:0}.table>.spread.foot .card{width:2.6rem;height:4.33rem}.table:has(>.spread.foot,>.hidden-hand.foot){--rest: 28rem}.backs{display:flex;justify-content:center}.backs{--back-h: 3.67rem}.backs .card{width:2.2rem;height:var(--back-h)}.backs.reserved{height:var(--back-h)}.hidden-hand .card+.card{margin-left:-1.6rem}.seat-wrap>.backs.hidden-hand{width:0}.seat-wrap>.backs.hidden-hand .card{flex-shrink:0}.table>.hidden-hand.foot{grid-column:1 / -1;justify-self:center}.talon{gap:.4rem}.talon .card{width:var(--pile-card);height:auto;aspect-ratio:3 / 5}.deck-chooser{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.1rem .5rem;font-size:var(--pill-text)}.deck-chooser select{font:inherit}@media(max-width:480px){.card{width:var(--card-w-small);height:var(--card-h-small)}}@media(max-width:480px){.spread .card{width:var(--card-w-mini);height:var(--card-h-mini)}}.waiting-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem .4rem;margin:.3rem 0 0;font-size:var(--pill-text)}.waiting-strip h3{margin:0;font-size:inherit;font-weight:600;color:var(--muted)}.waiting-strip ol{display:contents;list-style:none}.waiting-one{display:inline-flex;align-items:center;gap:.35rem;min-width:0;max-width:100%;padding:.1rem var(--pill-pad-x);border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:var(--glass)}.waiting-one .name{width:auto;max-width:8rem}.waiting-one.next{border-color:var(--warn)}.waiting-one.you{font-weight:700}.waiting-one .score{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.waiting-one .score.negative{color:var(--bad-on-dark)}.waiting-one .tag.next{padding:0 .4rem;border-radius:var(--radius-pill);background:var(--warn);color:var(--ink);font-weight:700;white-space:nowrap}.waiting-strip .waiting-nobody,.waiting-strip .waiting-you{flex-basis:100%;margin:0;text-align:center;color:var(--muted)}.waiting-strip .join-circle{padding:.1rem var(--pill-pad-x);border:1px solid var(--ink);border-radius:var(--radius-pill);background:var(--tone-go);color:var(--ink);font-weight:700}.hand.fan+.seat-anchor.bottom,.hand.fan{--fan-fit: calc((100vw - 5.5rem) / 4.62);--card: min(7.5rem, var(--fan-fit));--card-height: calc(var(--card) * 5 / 3);--fan-reach: calc(var(--card) * 1.981);--fan-below: calc(var(--card) / 2 + .3rem)}.hand.fan{position:relative;display:block;height:calc(var(--fan-reach) + 1rem + var(--fan-below))}.hand.fan .hand-card{position:absolute;left:calc(50% - var(--card) / 2);bottom:calc(var(--fan-below) + .15 * var(--card-height));width:var(--card);height:var(--card-height);transform:translate(calc(var(--fan-shift) * var(--card))) rotate(var(--fan-angle));transform-origin:50% 115%}.hand.fan .card{width:var(--card);height:var(--card-height)}.hand-card{padding:0;border:none;border-radius:var(--card-radius);background:none;transition:transform .1s}.hand-card:disabled{cursor:default;filter:brightness(.55)}.hand.idle .hand-card:disabled{filter:none}.hand.fan .hand-card:focus-visible{transform:translate(calc(var(--fan-shift) * var(--card))) rotate(var(--fan-angle)) translateY(-1rem);outline:3px solid var(--tone-show);outline-offset:2px}.hand.fan .hand-card[data-raised],.hand.fan .hand-card[data-discard]{transform:translate(calc(var(--fan-shift) * var(--card))) rotate(var(--fan-angle)) translateY(-1rem);border-radius:var(--card-radius);box-shadow:0 .6rem .8rem var(--shadow-deep),0 0 0 3px var(--warn)}.hand-card.picked-up{position:relative}.hand-card .mark{position:absolute;top:calc(.22 * var(--card-height));left:.15rem;padding:.2rem .05rem;writing-mode:vertical-rl;font-size:.7rem;line-height:1;font-weight:700;background:var(--warn);color:var(--ink);border:1px solid var(--ink);border-radius:.2rem}.hand.fan+.seat-anchor.bottom{--foot-drop: .13;--foot-radius: .35;--foot: calc(var(--card) * 2 * var(--foot-radius))}.hand.fan+.seat-anchor.bottom .seat-avatar .countdown{position:absolute;left:50%;bottom:calc(100% + var(--fan-below) - var(--card) * (var(--foot-drop) + var(--foot-radius)));width:var(--foot);height:var(--foot);transform:translate(-50%);font-size:calc(var(--foot) * .4)}.hand.fan+.seat-anchor.bottom .seat.declarer .countdown{color:var(--warn)}.hand.fan+.seat-anchor.bottom .seat.declarer .countdown.urgent{color:var(--bad-on-dark)}@media(max-width:480px){.hand.fan+.seat-anchor.bottom,.hand.fan{--card: min(var(--card-w-small), var(--fan-fit))}}@media(prefers-reduced-motion:reduce){.hand-card{transition:none}}.actions{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.actions li{display:flex;align-items:center;gap:.3rem}.action{display:inline-flex;align-items:center;gap:.4rem;padding:var(--button-pad-y) var(--button-pad-x);font-size:var(--button-text);border-radius:var(--radius-button);border:1px solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:var(--lift),var(--press);transition:transform .08s,box-shadow .08s}.action:active:not(:disabled){transform:translateY(2px);box-shadow:var(--lift),0 1px #00000047}@media(prefers-reduced-motion:reduce){.action{transition:none}}.action[data-tone=go],.bid-submit[data-tone=go]{background:var(--tone-go)}.action[data-tone=raise],.bid-submit[data-tone=raise]{background:var(--tone-raise)}.action[data-tone=challenge]{background:var(--tone-challenge)}.action[data-tone=give-up]{background:var(--tone-give-up)}.action[data-tone=show]{background:var(--tone-show)}.action[data-armed]{background:var(--armed);color:var(--on-dark);font-weight:700;outline:3px solid var(--paper);outline-offset:1px;animation:armed-pulse .5s ease-out 2}@keyframes armed-pulse{50%{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.action[data-armed]{animation:none}}.bela-toggles{display:flex;justify-content:center;gap:.4rem}.bela{padding:var(--button-pad-y) var(--toggle-pad-x);font-size:var(--button-text);border-radius:var(--radius-panel);border:1px solid var(--ink);background:var(--felt-dark);color:var(--paper)}.bela[aria-pressed=true]{background:var(--warn);color:var(--ink)}.trump-chooser,.kontra-toggles{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.rekontra-question{align-self:center;margin:0;padding:.2rem .7rem;border-radius:var(--radius-panel);background:var(--felt-dark);text-align:center;font-weight:700;font-size:var(--button-text);color:var(--warn)}.kontra-toggle{padding:var(--button-pad-y) var(--toggle-pad-x);font-size:var(--button-text);border-radius:var(--radius-panel);border:1px solid var(--ink);background:var(--felt-dark);color:var(--paper)}.kontra-toggle[aria-pressed=true]{background:var(--warn);color:var(--ink)}.trump-chooser{gap:clamp(.5rem,3vw,1.2rem);padding:.5rem .8rem;border-radius:var(--radius-panel);background:var(--paper);width:fit-content;max-width:100%;margin-inline:auto}.trump{display:grid;place-items:center;width:clamp(4.2rem,24vw,6.5rem);aspect-ratio:1;padding:.25rem;border-radius:var(--radius-panel);border:2px solid transparent;background:transparent;color:var(--ink);font-size:var(--button-text)}.trump img{width:100%;height:100%;object-fit:contain;pointer-events:none}.trump.trumpless{width:auto;aspect-ratio:auto;padding:var(--button-pad-y) var(--toggle-pad-x);background:var(--felt-dark);color:var(--paper);border-color:var(--ink)}.trump[aria-pressed=true]{border-color:var(--ink);background:var(--warn);box-shadow:0 0 0 2px var(--warn),0 .25rem .5rem #00000059;transform:translateY(-.15rem) scale(1.06)}.move-slot{position:relative;z-index:5;display:flex;flex-direction:column;justify-content:flex-end;gap:.4rem;height:calc(var(--submit-text) * 1.5 + 2 * var(--submit-pad-y) + 2px);margin:.5rem 0}.move-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem .9rem}.move-row .actions{margin:0;justify-content:center}.move-row .actions[data-stacked]{flex-direction:column;align-items:center}.action[data-lead]{padding:var(--submit-pad-y) 1.1rem;font-size:var(--submit-text);font-weight:700}.bid-preview-anchor{position:relative;display:inline-flex}.bid-preview-toggle{display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0;font-size:var(--text-m);font-weight:700;border-radius:50%;border:1px dashed var(--paper);background:transparent;color:var(--paper)}.bid-preview-toggle[aria-expanded=true]{background:var(--felt-dark)}.autos{display:inline-flex}.auto-toggle{padding:.2rem .6rem;font-size:var(--text-s);white-space:nowrap;border-radius:var(--radius-pill);border:1px solid var(--glass-line);background:#ffffff14;color:var(--muted)}.auto-toggle[aria-pressed=true]{border-color:var(--ink);background:var(--warn);color:var(--ink)}.ulti-seven{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .6rem;max-width:28rem;margin:0 auto .5rem;padding:.5rem .7rem;border-radius:.6rem;font-size:var(--text-ms);color:var(--ink);background:color-mix(in srgb,var(--paper) 80%,var(--warn));box-shadow:0 2px 8px var(--shadow-faint)}.ulti-seven p{flex:1 1 100%;margin:0;text-align:center}.bids{display:grid;grid-template-columns:minmax(9rem,15rem) 1fr;gap:.75rem;align-items:stretch;margin-bottom:.75rem;padding:.6rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:var(--glass)}.bid-list{position:relative;box-sizing:border-box;height:0;min-height:100%;overflow-y:auto;margin:0;padding:.3rem;list-style:none;display:grid;gap:.25rem;border-radius:.4rem;background:var(--felt-dark)}.bid-picker{align-self:start}.bid-preview-list,.bid-list{--fade: 1.6rem;--bar: 6px;scrollbar-gutter:stable}.bid-list::-webkit-scrollbar,.bid-preview-list::-webkit-scrollbar{width:var(--bar)}.bid-list::-webkit-scrollbar-thumb,.bid-preview-list::-webkit-scrollbar-thumb{border-radius:var(--bar);background:#ffffff59}@supports not selector(::-webkit-scrollbar){.bid-preview-list,.bid-list{scrollbar-width:thin;scrollbar-color:rgb(255 255 255 / 35%) transparent}}.bid-list[data-more-below],.bid-preview-list[data-more-below]{mask:linear-gradient(#000 calc(100% - var(--fade)),transparent),linear-gradient(#000,#000) right / var(--bar) 100% no-repeat}.bid-list[data-more-above],.bid-preview-list[data-more-above]{mask:linear-gradient(transparent,#000 var(--fade)),linear-gradient(#000,#000) right / var(--bar) 100% no-repeat}.bid-list[data-more-above][data-more-below],.bid-preview-list[data-more-above][data-more-below]{mask:linear-gradient(transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent),linear-gradient(#000,#000) right / var(--bar) 100% no-repeat}.bid-list .action{width:100%;justify-content:flex-start;font-size:var(--text-ms);border-color:transparent;background:#ffffff1a;color:var(--paper);box-shadow:none}.bid-list .action[aria-pressed=true]{border-color:var(--warn);background:#f2c14e33;color:var(--warn);font-weight:700}.bid-submit{display:block;width:100%;padding:.8rem 1rem;font-size:1.2rem;font-weight:700;border-radius:var(--radius-button);border:2px solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:var(--lift),var(--press)}.bid-submit:active:not(:disabled){transform:translateY(2px);box-shadow:var(--lift),0 1px #00000047}.bid-submit:disabled{opacity:.45}.bid-toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.4rem;margin-top:.75rem}.bid-toggle{min-height:3rem;padding:.6rem .8rem;font-size:1.05rem;font-weight:600;border-radius:var(--radius-pill);border:1px solid var(--glass-line);background:#ffffff1a;color:var(--paper);box-shadow:none;cursor:pointer}.bid-toggle[aria-pressed=true]{background:var(--warn);border-color:#c8932a;color:var(--ink);box-shadow:0 2px 6px var(--shadow-soft)}.bid-toggle[data-toggle=piros][aria-pressed=true]{background:var(--bad);color:var(--on-dark)}.bid-toggle:disabled{cursor:default;opacity:.35}.bid-preview{position:absolute;left:0;bottom:0;z-index:20;box-sizing:border-box;width:min(15rem,calc(100vw - 2rem));padding:.3rem .4rem .4rem;border-radius:.4rem;background:var(--felt-dark);color:var(--paper);box-shadow:0 .3rem 1rem #00000073}.bid-preview-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.25rem}.bid-preview h3{margin:0;font-size:var(--text-s);font-weight:600}.bid-preview-close{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;padding:0;font-size:1.2rem;line-height:1;border-radius:50%;border:1px solid var(--glass-line);background:#ffffff14;color:var(--paper)}.bid-preview-list{max-height:min(12rem,40vh);overflow-y:auto;margin:0;padding:0;list-style:none;display:grid;gap:.15rem;font-size:var(--text-s)}.bid-preview-list li{padding:.1rem .4rem;border-radius:.3rem;background:#ffffff1a}.lobby{display:grid;gap:1rem;margin-top:1rem}.lobby>section,.name-form{padding:1rem 1.1rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:var(--glass);box-shadow:0 .6rem 1.6rem var(--shadow-soft)}.lobby h2{margin:0;font-size:1.2rem;color:var(--warn)}.lobby-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem}.lobby-bar h2{flex:1 1 auto}.lobby-bar button{font-size:var(--text-m)}.lobby-bar .lobby-refresh,.lobby-bar .new-table-toggle{display:inline-flex;align-items:center;gap:.4rem;min-height:2.2rem;padding:.3rem 1rem .3rem .8rem;border-radius:var(--radius-pill);white-space:nowrap}.lobby-bar .lobby-refresh svg,.lobby-bar .new-table-toggle svg{flex:none;width:1.05em;height:1.05em}.lobby-bar .lobby-refresh{border:1px solid var(--glass-line);background:var(--glass);color:var(--paper)}.lobby-bar .lobby-refresh:hover:not(:disabled),.lobby-bar .lobby-refresh:focus-visible{background:#ffffff24}.lobby-bar .lobby-refresh:active:not(:disabled) svg{transform:rotate(-120deg);transition:transform .2s ease-out}.lobby-bar .new-table-toggle{border:0;background:var(--tone-go);color:var(--ink);font-weight:700;box-shadow:var(--lift),var(--press)}@media(max-width:359px){.lobby-bar .lobby-refresh{padding-inline:.6rem}.lobby-bar .lobby-refresh .label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.lobby-bar .lobby-refresh:disabled,.lobby-bar .new-table-toggle:disabled{opacity:.55}.lobby-bar .new-table-toggle[aria-expanded=true]{background:var(--tone-raise)}.lobby-divider{height:0;margin:.8rem 0;border:0;border-top:2px solid var(--divider)}.lobby>.notice{margin:0;padding:.5rem .8rem;border:1px solid var(--glass-line);border-radius:var(--radius-button);background:var(--glass)}.lobby section>p{margin:.2rem 0;color:var(--muted)}.tables{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.tables th,.tables td{padding:.45rem clamp(.2rem,1.2vw,.5rem);overflow:hidden;text-align:left;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle}.tables thead th{position:sticky;top:0;z-index:1;background:var(--felt-dark);border-bottom:1px solid var(--glass-line);color:var(--muted);font-size:var(--text-m);font-weight:600}.tables .col-lock,.tables .col-eye{width:clamp(1.25rem,6vw,2.2rem);padding-inline:0;text-align:center}.tables .col-eye .eye-icon{display:block;width:1.2rem;height:1.2rem;margin-inline:auto}.tables .col-type{width:clamp(3.2rem,14vw,4.8rem)}.tables .col-name{width:10.5rem}.tables .col-players{width:clamp(2rem,8vw,3.5rem)}.tables .col-spectators{width:3.8rem;text-align:center}.tables .col-join{width:clamp(5rem,22vw,7.5rem);text-align:right}.table-row td{border-bottom:1px solid var(--glass-line)}.table-row:hover td{background:#ffffff0f}.table-row .name,.table-row .table-id{font-weight:700;color:var(--paper)}.table-id{font-family:ui-monospace,monospace}.table-row .table-type{padding:.05rem .5rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:#ffffff14;font-size:var(--text-ms);color:var(--muted)}.tables .col-name,.tables .col-names{overflow:visible}.table-row .names{position:relative;display:inline-flex;max-width:100%;gap:.4rem;color:var(--muted)}.table-row .names .name{box-sizing:border-box;width:auto;max-width:7rem;padding:0 .5rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:#ffffff14;font-weight:600;color:var(--paper)}.table-row .names .more{flex:none;padding:0 .5rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:#ffffff24;font-weight:700}.table-row .names-full{position:absolute;z-index:3;top:100%;left:0;display:none;flex-direction:column;gap:.15rem;min-width:100%;padding:.4rem .6rem;border:1px solid var(--glass-line);border-radius:var(--radius-button);background:var(--felt-deep);box-shadow:0 .4rem 1rem var(--shadow-mid);color:var(--paper);white-space:normal;overflow-wrap:anywhere}.table-row .names:hover .names-full,.table-row .names:focus .names-full,.table-row .names:focus-within .names-full{display:flex}.table-row .col-name .name{width:auto;max-width:100%}.table-row .col-name .name:hover,.table-row .col-name .name:focus{position:relative;z-index:3;width:max-content;max-width:min(32ch,70vw);overflow:visible;padding-right:.5rem;background:var(--felt-deep);text-overflow:clip}.table-row .lock{font-size:var(--text-m)}.table-row .table-title{display:inline-flex;align-items:center;gap:.3rem;max-width:100%;min-width:0}.table-row .aids-mark{flex:none;font-size:var(--text-ms)}.table-row .table-title .name,.table-row .table-title .table-id{min-width:0}.table-row .table-title .table-id{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eye-icon{vertical-align:middle;color:var(--warn)}.eye-icon.full{color:var(--present)}.eye-icon.struck{color:var(--bad-on-dark)}.table-row .col-join button,.table-password button{background:var(--tone-go);font-weight:700}.table-row .col-join button{padding-inline:clamp(.4rem,2vw,.8rem)}.table-password{display:inline-flex;align-items:center;gap:.4rem}.table-password input{width:6rem}@media(max-width:640px){.tables .col-spectators,.tables .col-names{display:none}.tables .col-name{width:auto}}@media(max-width:27.5rem){.tables .col-type{display:none}}.new-table{display:grid;gap:.6rem;max-width:36rem;margin-top:.8rem}.quick-row{position:relative;display:flex;align-items:center}.quick-row .table-name{flex:1;min-width:0}.quick-row .table-name input{width:100%;box-sizing:border-box;padding:.55rem 3rem .55rem .9rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill)}.quick-row .settings-toggle{position:absolute;top:50%;right:.3rem;transform:translateY(-50%);display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:50%;background:var(--warn);color:var(--ink);font-size:1rem;line-height:1;box-shadow:none}.quick-row .settings-toggle[aria-expanded=true]{background:var(--tone-raise)}.new-table .create,.new-table .create-bottom{display:flex;justify-content:center;width:100%;padding:.7rem 1rem;border:0;border-radius:var(--radius-pill);background:var(--tone-go);color:var(--ink);font-size:1rem;font-weight:700;box-shadow:var(--lift),var(--press)}.new-table .create:disabled,.new-table .create-bottom:disabled{opacity:.55}.further-settings .create-bottom{margin-top:.7rem}.further-settings{display:grid;padding:.2rem .9rem .8rem;border:1px solid var(--glass-line);border-radius:.9rem;background:#00000038}.further-settings[hidden]{display:none}.further-settings .setting{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3rem;padding:.5rem 0;border-bottom:1px solid var(--glass-line);font-size:var(--text-m);color:var(--paper)}.further-settings .password-setting{border-bottom:0}.further-settings .hint{margin:.4rem 0 0;font-size:var(--text-s);color:var(--muted)}.further-settings .cycle,.further-settings .aid,.further-settings .add-password,.new-table .eye{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.1rem;padding:.3rem .85rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:#ffffff1a;color:var(--paper);font-size:var(--text-ms);font-weight:600;white-space:nowrap}.further-settings .cycle-dots{display:inline-flex;gap:3px;margin-left:.15rem}.further-settings .cycle-dots i{width:5px;height:5px;border-radius:50%;background:#ffffff4d}.further-settings .cycle-dots i.on{background:var(--warn)}.further-settings .stepper{display:inline-flex;align-items:center;overflow:hidden;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:#ffffff1a}.further-settings .step{width:2.3rem;height:2.2rem;padding:0;border:0;background:transparent;color:var(--paper);font-size:1.15rem;font-weight:700}.further-settings .step:disabled{color:#ffffff38;cursor:default}.further-settings .stepper-value{min-width:2.4rem;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;color:var(--paper)}.further-settings .aids{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;min-width:0}.further-settings .aid[aria-pressed=true]{border-color:var(--tone-go);background:var(--tone-go);color:var(--ink)}.new-table label.password{display:flex;flex:0 1 15rem;align-items:center;gap:.35rem;min-width:0}.new-table label.password input{flex:1;min-width:0;padding:.4rem .8rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill)}.new-table .eye{flex:none;font-size:var(--text-s)}.new-table .eye[aria-pressed=true]{background:var(--paper);color:var(--ink)}.name-form{display:grid;gap:.8rem;max-width:24rem;margin:2.5rem auto 0}.name-form label{display:grid;gap:.4rem;font-size:1.1rem;font-weight:600}.name-form input{padding:.55rem .8rem;font-size:1.1rem}.name-form button{padding:.6rem 1.2rem;background:var(--tone-go);font-size:1.1rem;font-weight:700}.name-form .error{margin:0}.bar .me{min-width:0;padding:.15rem .7rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:var(--glass)}.bar .account{position:relative;display:inline-flex;min-width:0}.bar button.me{display:inline-flex;align-items:center;gap:.3rem;color:var(--paper);font:inherit}.bar button.me:hover,.bar button.me:focus-visible,.bar button.me[aria-expanded=true]{background:#ffffff24}.led{flex:none;width:.55rem;height:.55rem;border-radius:50%;background:var(--present);box-shadow:0 0 .35rem var(--present)}.led.dropped{background:var(--bad);box-shadow:0 0 .45rem var(--bad);animation:led-blink .9s steps(2,jump-none) infinite}.led.connecting{background:var(--warn);box-shadow:0 0 .35rem var(--warn);animation:led-blink 1.4s ease-in-out infinite}@keyframes led-blink{50%{opacity:.2;box-shadow:none}}@media(prefers-reduced-motion:reduce){.led.dropped,.led.connecting{animation:none}}.bar button.me .caret{font-size:.75em;opacity:.8}.account-menu{position:absolute;z-index:30;top:calc(100% + .35rem);left:0;display:grid;min-width:12rem;padding:.35rem;border:1px solid var(--glass-line);border-radius:.9rem;background:linear-gradient(#214d35,var(--felt-dark));box-shadow:0 .6rem 1.4rem var(--shadow-soft)}.account-link{display:flex;align-items:center;gap:.5rem;padding:.45rem .7rem;color:var(--muted);font-size:var(--text-ms);font-weight:600}.account-link.dropped{color:var(--bad-on-dark)}.account-link:not(:last-child){margin-bottom:.2rem;border-bottom:1px solid var(--glass-line)}.account-menu button{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border:0;border-radius:.6rem;background:none;color:var(--paper);font-size:var(--text-m);font-weight:600;text-align:left;white-space:nowrap}.account-menu button:hover:not(:disabled),.account-menu button:focus-visible{background:#ffffff1f}.account-menu svg{width:1.1em;height:1.1em}.account-menu button:disabled{opacity:.55}.account-menu .logout{margin-top:.2rem;border-top:1px solid var(--glass-line);border-radius:0 0 .6rem .6rem}.bar{gap:clamp(.5rem,3vw,1rem)}.bar .me .name{width:auto;max-width:clamp(5rem,30vw,9rem)}.bar .connection{flex:0 100 auto;min-width:min-content;text-align:center}.start{display:grid;gap:.8rem;max-width:24rem;margin:clamp(1rem,6vw,2.5rem) auto 0}.start .name-form{max-width:none;margin:0}.start-login{display:grid;gap:.5rem;padding:1rem 1.1rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:var(--glass);box-shadow:0 .6rem 1.6rem var(--shadow-soft)}.start-login .login{padding:.6rem 1.2rem;background:var(--gold-fill);font-size:1.1rem;font-weight:700}.start-login .register{padding:.5rem 1.2rem}.start-login .hint{margin:0;font-size:var(--text-ms);color:var(--muted)}.start-or{margin:0;text-align:center;color:var(--muted)}.lobby-bar .login,.lobby-bar .logout{margin-inline-start:auto}.take-over{display:grid;gap:.8rem;justify-items:center;max-width:24rem;margin:clamp(1rem,6vw,2.5rem) auto 0;padding:1rem 1.1rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:var(--glass);text-align:center}.take-over p{margin:0;font-size:1.1rem;font-weight:600}.take-over button{padding:.6rem 1.2rem;background:var(--tone-go);font-weight:700}.names .chip{display:inline-flex;align-items:baseline;gap:.15rem}.language-switch{display:inline-flex;gap:.25rem}.language-switch button{padding:.3rem .6rem;font-size:var(--text-m)}.language-switch button[aria-pressed=true]{background:var(--tone-go);font-weight:700}.start>.language-switch{justify-self:end}.privacy-foot{text-align:center;font-size:.9rem}.privacy-foot a{color:var(--muted)}.game-picker,.game-filter{display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 .5rem}.game-choice{padding:.2rem .8rem;min-height:var(--tap-min-quiet);border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:transparent;color:var(--paper)}.game-choice[aria-checked=true]{border-color:var(--paper);background:var(--paper);color:var(--ink);font-weight:600}.game-tag{margin-inline-end:.35rem;padding:0 .4rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);font-size:var(--text-s);color:var(--muted)}.ulti-settings:not([hidden]){display:contents}.further-settings [hidden]{display:none}.lobby-tournaments{margin:.4rem 0 .6rem}.lobby-tournaments h3{margin:0 0 .4rem;font-size:1rem;color:var(--warn)}.lobby-tournaments ul{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.lobby-tournament{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .7rem;padding:.45rem .7rem;border:1px solid var(--warn);border-radius:var(--radius-button)}.tournament-name{font-weight:700}.lobby-tournament time,.tournament-entrants,.tournament-points,.tournament-started{font-size:var(--text-s);color:var(--muted)}.tournament-countdown{font-variant-numeric:tabular-nums;font-weight:600}.tournament-entered{font-size:var(--text-s);color:var(--present);font-weight:600}.lobby-tournament button{margin-inline-start:auto}.tournament-soon{position:fixed;z-index:40;top:.5rem;left:.5rem;right:.5rem;width:fit-content;max-width:32rem;margin:0 auto;box-sizing:border-box;display:flex;align-items:center;gap:.6rem;padding:.5rem .8rem;border-radius:var(--radius-button);background:var(--warn);color:var(--ink);font-weight:600;box-shadow:0 .4rem 1rem var(--shadow-soft)}.tournament-soon button{min-width:var(--tap-min-quiet);min-height:var(--tap-min-quiet);border:0;background:transparent;color:inherit;font-size:1.2rem}.bar-end{display:inline-flex;flex:none;align-items:center;gap:.35rem;margin-left:auto}.connection:not(.online,.by-name)+.bar-end{margin-left:0}.language-menu{position:relative;display:inline-flex}.language-toggle{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.25rem .65rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:var(--glass);color:var(--paper);font-size:var(--text-s);font-weight:700;letter-spacing:.04em}.language-toggle:hover,.language-toggle:focus-visible,.language-toggle[aria-expanded=true]{background:#ffffff24}.language-toggle .globe{width:1rem;height:1rem;color:var(--warn)}.language-toggle .caret{font-size:.75em;opacity:.8}.language-list{position:absolute;z-index:30;top:calc(100% + .35rem);right:0;display:grid;min-width:10rem;padding:.35rem;border:1px solid var(--glass-line);border-radius:.9rem;background:linear-gradient(#214d35,var(--felt-dark));box-shadow:0 .6rem 1.4rem var(--shadow-soft)}.language-list button{display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:.4rem;padding:.5rem .7rem;border:0;border-radius:.6rem;background:none;box-shadow:none;color:var(--paper);font-size:var(--text-m);font-weight:600;text-align:left;white-space:nowrap}.language-list button:hover,.language-list button:focus-visible{background:#ffffff1f}.language-list .code{color:var(--warn);font-size:var(--text-s);font-weight:700;letter-spacing:.04em}.language-list .tick{color:var(--tone-go);font-weight:700}.language-list button[aria-checked=true]{background:#ffffff14}.bar-end .login,.bar-end .register{padding:.3rem .8rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:transparent;color:var(--paper);font-size:var(--text-ms);font-weight:600;white-space:nowrap}.app:has(>.lobby) .bar .me .name{max-width:min(14rem,50vw)}.lobby-bar{flex-wrap:nowrap}.game-tag[data-game=ulti]{border-color:var(--warn);color:var(--warn)}.game-tag[data-game=snapszer]{border-color:var(--tone-show);color:var(--tone-show)}.table-cards{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.table-card{padding:.7rem .8rem .7rem .9rem;border:1px solid var(--glass-line);border-left:4px solid var(--warn);border-radius:.85rem;background:#ffffff0f}.table-card[data-game=snapszer]{border-left-color:var(--tone-show)}.table-card-top{display:flex;align-items:flex-start;gap:.5rem}.table-card-name{flex:1;min-width:0;font-size:.98rem;line-height:1.25;overflow-wrap:anywhere;unicode-bidi:isolate}.table-card-top .game-tag{flex:none;margin:0}.table-card-meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}.table-card-meta>span{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .5rem;border-radius:var(--radius-pill);background:#00000047;color:var(--muted);font-size:.75rem}.table-card-meta .eye-icon{width:1em;height:1em}.table-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem}.table-card-names{flex:1 1 8rem;min-width:0;color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.table-card-foot>button,.table-card-foot .table-password{margin-left:auto}@media(max-width:480px){.app:has(>.lobby) .bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.4rem}.app:has(>.lobby) .bar h1{font-size:1rem}.app:has(>.lobby) .bar button.me{gap:.25rem}.app:has(>.lobby) .bar button.me .caret{display:none}.app:has(>.lobby) .bar .me{justify-self:start;max-width:100%;padding:.15rem .45rem}.app:has(>.lobby) .language-toggle{gap:.15rem;padding-inline:.4rem}.app:has(>.lobby) .language-toggle .globe{display:none}.app:has(>.lobby) .bar .me .name{max-width:100%}.app:has(>.lobby) .bar .connection:not(.online){grid-column:1 / -1;grid-row:2;margin-left:0}.app:has(>.lobby) .bar-end{grid-column:3;grid-row:1;gap:.3rem;margin-left:0}}.table-row.gone,.table-card.gone{opacity:.45;filter:grayscale(1);pointer-events:none}.table-gone{font-style:italic;white-space:nowrap}.seat.to-act{box-shadow:0 0 0 3px var(--warn)}.seat.declarer.to-act{box-shadow:0 0 0 3px var(--felt-dark),0 0 0 6px var(--warn)}.countdown{position:relative;display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;font-variant-numeric:tabular-nums;font-weight:700;font-size:.7rem;color:var(--warn)}.seat-avatar .countdown{width:100%;height:100%;font-size:calc(var(--avatar) * .4)}.countdown .ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.countdown .ring circle{fill:none;stroke-width:3}.countdown .ring-track{stroke:color-mix(in srgb,currentColor 25%,transparent)}.countdown .ring-left{stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.countdown.urgent{color:var(--bad-on-dark)}@media(prefers-reduced-motion:reduce){.countdown .ring-left{transition:none}}.bubbles{position:absolute;z-index:5;top:calc(100% + .7rem);left:50%;display:flex;flex-direction:column;align-items:center;gap:.3rem;width:max-content;max-width:min(22rem,calc(100vw - 2rem));transform:translate(-50%);pointer-events:none}.bubble{position:relative;max-width:100%;margin:0;padding:.35rem 1rem;border:2px solid var(--ink);border-radius:var(--radius-panel);background:var(--warn);color:var(--ink);font-size:2rem;font-weight:800;line-height:1.15;text-align:center;box-shadow:0 .4rem .9rem var(--shadow-mid);transform-origin:top center;animation:bubble-in .16s ease-out;pointer-events:none}.bubble.chat{background:var(--chat-bubble)}.bubbles:not(.up)>.bubble:first-child:before{content:"";position:absolute;left:50%;bottom:100%;border:.6rem solid transparent;border-bottom-color:var(--ink);transform:translate(-50%)}.bubbles.left,.bubbles.right{transform:none}.bubbles.left{left:0;align-items:flex-start}.bubbles.left>.bubble{transform-origin:top left}.bubbles.right{left:auto;right:0;align-items:flex-end}.bubbles.right>.bubble{transform-origin:top right}.bubbles.left>.bubble:first-child:before{left:min(calc(var(--seat-width) / 2),50%)}.bubbles.right>.bubble:first-child:before{left:auto;right:min(calc(var(--seat-width) / 2),50%);transform:translate(50%)}.bubble.again{animation:none}.bubbles.up{top:auto;bottom:calc(100% + .7rem)}.bubbles.up>.bubble{transform-origin:bottom center}.bubbles.up>.bubble:last-child:before{content:"";position:absolute;left:50%;top:100%;border:.6rem solid transparent;border-top-color:var(--ink);transform:translate(-50%)}.bubbles:has(>.bubble+.bubble)>.bubble{padding:.2rem .8rem;font-size:1.5rem}@keyframes bubble-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media(max-width:480px){.bubbles{gap:.2rem}.bubble{padding:.15rem .7rem;font-size:1.4rem}.bubbles:has(>.bubble+.bubble)>.bubble{padding:.1rem .55rem;font-size:1.1rem}.middle{--pile-card: var(--card-w-small)}}@media(prefers-reduced-motion:reduce){.bubble{animation:none}}.summary{margin:1rem 0;padding:1rem 1.1rem;border:1px solid var(--glass-line);border-radius:1.4rem;background:linear-gradient(#214d35,var(--felt-dark));box-shadow:0 1.2rem 3rem var(--shadow-deep)}.summary h2{margin:0 0 .6rem;font-size:1.2rem;text-align:center;color:var(--warn)}.summary ul{list-style:none;padding:0;margin:.4rem 0}.summary .item{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(4ch,auto);column-gap:.75rem;align-items:baseline;padding:.45rem .6rem;border-left:4px solid currentColor;border-radius:.6rem;background:#0003}.summary ul{display:grid;gap:.35rem}.summary .money{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.summary .item .doubling{display:block;padding-left:.8rem;font-size:var(--text-m)}.summary .item .points{grid-column:1 / -1;font-size:var(--text-m);color:var(--paper)}.summary .item .points .side,.summary .item .points .side-label{display:block}.summary .item .points .formula{display:flex;flex-wrap:wrap;column-gap:.3em;padding-left:.8rem}.summary .item .points .term{white-space:nowrap}.summary .item .points .term.last{display:flex;flex-grow:1;gap:.3em}.summary .item .points .sum{margin-left:auto}.summary .gain{color:var(--tone-go)}.summary .loss{color:var(--tone-give-up)}.summary .total{display:flex;justify-content:space-between;margin:.4rem 0 .6rem;padding-top:.4rem;border-top:1px solid var(--muted);font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.summary .total.gain .money,.summary .total.loss .money{padding:0 .7rem;border-radius:var(--radius-pill);background:#00000040}.summary .stake-line{margin:-.3rem 0 .6rem;text-align:right;color:var(--muted);font-size:var(--text-ms);font-variant-numeric:tabular-nums}.summary .conceded{margin:0 0 .6rem;text-align:center;color:var(--muted)}.summary .history-toggle{display:flex;justify-content:center;margin:.6rem 0 0}.summary .next{display:flex;justify-content:center;margin:1rem 0 .25rem}.summary .next button{min-width:12rem;background:var(--tone-go);padding:.7rem 2.5rem;font-size:1.5rem;font-weight:700;border-radius:var(--radius-pill)}.summary .next button:not(:disabled){animation:next-pulse 1.6s ease-out infinite}@keyframes next-pulse{0%{box-shadow:0 0 0 0 var(--tone-go)}to{box-shadow:0 0 0 .9rem transparent}}.summary .next .waiting-others{margin:0;min-width:12rem;padding:.7rem 2.5rem;border-radius:var(--radius-pill);background:var(--burgundy);color:var(--on-dark);font-size:1.5rem;font-weight:700;text-align:center;animation:waiting-pulse 1.6s ease-in-out infinite}@keyframes waiting-pulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--burgundy)}50%{opacity:.6;box-shadow:0 0 0 .5rem transparent}}@media(prefers-reduced-motion:reduce){.summary .next button:not(:disabled),.summary .next .waiting-others{animation:none}}.fold{min-width:0;margin:.4rem 0;padding:.15rem .7rem .45rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:#0003;text-align:left}.fold-head{display:flex;align-items:center;gap:.5rem;width:100%;min-height:1.6rem;margin:0;padding:.15rem 0;border:0;background:none;color:var(--warn);font-size:var(--text-s);font-weight:700;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}.fold-head:before,.fold-head:after{content:"";flex:1;min-width:1rem;border-top:1px solid var(--warn);opacity:.5}.fold-label:before{content:"▾";display:inline-block;width:1em;letter-spacing:0}.fold-head[aria-expanded=false] .fold-label:before{content:"▸"}.fold-head:hover .fold-label,.fold-head:focus-visible .fold-label{color:var(--paper)}.fold-body{padding-top:.2rem}.summary-talon{width:fit-content;margin:.4rem auto}.summary-talon .cards{display:flex;justify-content:center;gap:.4rem}.points{font-weight:600}.history-toggle{display:flex;justify-content:center;margin:.5rem 0}.history-toggle button{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem 1.1rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:var(--glass);color:var(--paper);font-size:1rem;font-weight:600;box-shadow:var(--lift),0 2px #00000047}.history-toggle button:after{content:"▾";font-size:.9em}.history-toggle button[aria-expanded=true]:after{content:"▴"}.history-toggle button:hover,.history-toggle button:focus-visible{background:#ffffff24}.history{min-width:0;margin:.5rem 0;font-size:1rem;text-align:left;animation:history-in .18s ease-out}@keyframes history-in{0%{opacity:0;transform:translateY(-.4rem)}}@media(prefers-reduced-motion:reduce){.history{animation:none}}.history-auction{display:grid;gap:.3rem;margin:0;padding-left:1.8rem}.history-auction li{margin:0;padding:.2rem .5rem;border-radius:.5rem;background:#ffffff0f}.history-auction li>span:first-child{margin-right:.6rem;vertical-align:middle}.history-discard{display:inline-flex;align-items:center;gap:.3rem;vertical-align:middle;color:var(--muted)}.history-hand{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;margin:.3rem 0;padding:.3rem .5rem;border-radius:.5rem;background:#ffffff0f}.history-name{flex:0 0 7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.history-hand .cards{display:flex;flex-wrap:wrap;gap:.2rem}.history .card{width:3rem;height:5rem}.history-play{padding-right:.3rem;padding-left:.3rem}.history-tricks{max-width:100%;overflow-x:auto}.history-tricks table{--history-col: 6rem;table-layout:fixed;width:100%;min-width:calc(2.5rem + 3 * var(--history-col));border-collapse:separate;border-spacing:0 .2rem}.history-tricks thead th:first-child{width:2.5rem}.history-tricks th,.history-tricks td{padding:.2rem .5rem;text-align:center;vertical-align:top;font-weight:400}.history-tricks tbody th{vertical-align:middle}.history-tricks tbody tr:nth-child(odd)>*{background:#ffffff0f}.history-tricks tbody tr>:first-child{border-radius:.5rem 0 0 .5rem}.history-tricks tbody tr>:last-child{border-radius:0 .5rem .5rem 0}.history-tricks thead th{overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:var(--text-m);white-space:nowrap}.history-tricks td .card{display:block;margin:0 auto}.history-tricks td.winner .card{outline:2px solid var(--warn);border-radius:var(--card-radius)}.history-marks{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem;margin-top:.3rem}.history-mark{padding:0 .45rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);font-size:var(--text-s);font-weight:600;line-height:1.4}.history-mark.lead{background:#ffffff14;color:var(--paper)}.history-mark.take{border-color:var(--warn);background:var(--warn);color:var(--ink)}.history-mark.by{background:#ffffff14;color:var(--muted)}.history-mark.by:not([data-by=auto]){border-color:var(--tone-challenge);color:var(--tone-challenge)}.history-time{display:block;margin-top:.2rem;font-size:var(--text-s);font-variant-numeric:tabular-nums;color:var(--muted)}.history-calls,.history-note{margin:.4rem 0;color:var(--muted)}.history-failed{color:var(--bad-on-dark)}@media(max-width:480px){.history-tricks table{--history-col: 5rem}}.chat-toggle{position:fixed;z-index:30;right:max(1rem,env(safe-area-inset-right,0px));bottom:max(1rem,env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:.4rem;padding:.5rem var(--chat-pad-x);border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:linear-gradient(#214d35,var(--felt-dark));color:var(--paper);font-weight:600;box-shadow:var(--lift),var(--press)}.chat.open .chat-toggle{display:none}.chat-unread{min-width:1.3rem;padding:0 .35rem;border-radius:var(--radius-pill);background:var(--bad);color:var(--paper);font-size:var(--text-s);line-height:1.3rem;text-align:center;font-variant-numeric:tabular-nums}.chat-panel{position:fixed;z-index:30;top:0;right:0;bottom:0;box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;width:22rem;max-width:100vw;padding:.75rem max(.75rem,env(safe-area-inset-right,0px)) max(.75rem,env(safe-area-inset-bottom,0px)) .75rem;border-left:1px solid var(--glass-line);background:linear-gradient(#214d35,var(--felt-dark) 40%,var(--felt-deep));color:var(--paper);box-shadow:-.3rem 0 1rem var(--shadow-soft)}.chat-head{display:flex;align-items:center;justify-content:space-between}.chat-head h2{min-width:0;margin:0;font-size:1.1rem;color:var(--warn)}.chat-count{color:var(--muted);font-size:var(--text-ms);font-weight:600;font-variant-numeric:tabular-nums}.chat-tabs{display:flex;gap:.3rem;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:thin}.chat-tab-wrap{display:inline-flex;flex:none;align-items:center}.chat-tab{display:inline-flex;flex:none;align-items:center;gap:.3rem;max-width:11rem;min-height:2rem;padding:.2rem .65rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:#0003;color:var(--muted);font-size:var(--text-ms);white-space:nowrap}.chat-tab-wrap .chat-tab{padding-right:.35rem;border-right:0;border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.chat-tab[aria-selected=true]{border-color:var(--warn);background:#ffffff1f;color:var(--paper)}.chat-tab .name{width:auto;max-width:7rem}.chat-tab-close{min-height:2rem;padding:0 .5rem;border:1px solid var(--glass-line);border-left:0;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:#0003;color:var(--muted)}.chat-tab-wrap:has(.chat-tab[aria-selected=true]) .chat-tab-close{border-color:var(--warn);background:#ffffff1f}.chat-line-actions{display:inline-flex;gap:.1rem;margin-left:auto}.chat-line-actions .chat-mute{margin-left:0}.chat-whisper{padding:0 .3rem;border:0;border-radius:var(--radius-pill);background:none;color:var(--paper);font-size:.9rem;line-height:1.4;opacity:.7}.chat-whisper:hover:not(:disabled),.chat-whisper:focus-visible{background:#ffffff1f;opacity:1}.chat-whisper:disabled{cursor:not-allowed;opacity:.3}.online-actions{display:flex;flex-basis:100%;flex-wrap:wrap;gap:.4rem}.online-actions .chat-whisper{font-size:var(--text-s)}.chat-barred{margin:0;padding:.5rem .7rem;border-radius:.6rem;background:#0003;color:var(--muted);font-size:var(--text-ms)}.online-toggle{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline dotted;text-underline-offset:.2em}.online-toggle[aria-expanded=true]{color:var(--paper);text-decoration-style:solid}.online-icon{flex:none;margin-left:auto;padding:0 .35rem;border-radius:var(--radius-pill);font-size:1.1rem;text-decoration:none}.online-icon[aria-expanded=true]{background:#ffffff24}.chat-online{flex:1;min-height:0;overflow-y:auto}.online-list h3{display:flex;align-items:baseline;gap:.4rem;margin:.4rem 0 .3rem;font-size:var(--text-s);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--warn)}.online-n{color:var(--muted);font-variant-numeric:tabular-nums}.online-group{display:grid;gap:.25rem;margin:0 0 .6rem;padding:0;list-style:none}.online-group>li{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .5rem;padding:.3rem .55rem;border-radius:.6rem;background:#ffffff0f}.online-group>li.online-none{background:none;color:var(--muted)}.online-who{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.online-name{min-width:0;padding:0;border:0;background:none;color:var(--paper);font-weight:600}.online-name .name{width:auto;max-width:11rem}.online-where{display:inline-flex;align-items:baseline;gap:.25rem;min-width:0;margin-left:auto;color:var(--muted);font-size:var(--text-s)}.online-where .name{width:auto;max-width:8rem}.online-actions button{font-size:var(--text-s)}.rank-admin{font-size:.9rem}.rank-guest{padding:0 .4rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);color:var(--muted);font-size:var(--text-s)}.online-waiting{color:var(--muted)}.online-back{align-self:center;padding:.25rem .9rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:var(--glass);color:var(--paper)}.chat-close{display:grid;flex:none;place-items:center;width:1.9rem;height:1.9rem;padding:0;border:0;border-radius:50%;background:var(--bad);color:var(--paper);font-size:1.3rem;font-weight:700;line-height:1}.chat-close:hover,.chat-close:focus-visible{background:var(--bad-on-dark)}.chat-head h2 .name{width:auto;max-width:100%}.chat-lines{flex:1;min-height:0;margin:0;padding:0;overflow-y:auto;list-style:none;display:flex;flex-direction:column;gap:.45rem}.chat-lines li{display:flex;flex-direction:column;gap:.1rem;align-self:flex-start;max-width:88%;padding:.35rem .6rem;border-radius:.9rem .9rem .9rem .25rem;background:#ffffff17}.chat-lines li.mine{align-self:flex-end;border-radius:.9rem .9rem .25rem;background:#9bd8a72e}.chat-lines li.chat-empty{align-self:center;background:none}.chat-lines li.chat-system{align-self:center;background:none;color:var(--warn);font-size:var(--text-s);text-align:center}.chat-meta{display:flex;align-items:baseline;gap:.4rem;font-size:var(--text-s);color:var(--muted)}.chat-meta .name{width:auto;max-width:11rem;font-weight:600;color:var(--paper)}.chat-lines li.mine .chat-meta .name{color:var(--tone-go)}.chat-mute,.chat-unmute{padding:0 .3rem;border:0;border-radius:var(--radius-pill);background:none;font-size:.9rem;line-height:1.4;opacity:.7}.chat-mute{margin-left:auto}.chat-mute:hover,.chat-mute:focus-visible,.chat-unmute:hover,.chat-unmute:focus-visible{background:#ffffff1f;opacity:1}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere}.chat-empty{color:var(--muted)}.chat-quick{display:flex;flex-wrap:wrap;gap:.3rem}.chat-quick button{padding:.15rem .55rem;border-radius:var(--radius-pill);font-size:var(--text-ms)}.chat-form{display:flex;align-items:center;gap:.4rem}.chat-form input{flex:1;min-width:0;padding:.45rem .8rem;border-radius:var(--radius-pill)}.chat-form button{background:var(--tone-go);font-weight:700}.chat-left{font-size:var(--text-s);color:var(--muted);font-variant-numeric:tabular-nums}.chat-left.over{color:var(--bad-on-dark)}.chat-muted{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;margin:0;font-size:var(--text-s);color:var(--muted)}.chat-muted-one{display:inline-flex;align-items:center;gap:.3rem}.chat-muted-one .name{width:auto;max-width:8rem}@media(max-width:900px){.chat-panel{top:auto;left:0;width:100%;height:min(65vh,32rem);border-radius:1.2rem 1.2rem 0 0;padding-left:max(.75rem,env(safe-area-inset-left,0px));box-shadow:0 -.3rem 1rem var(--shadow-soft)}}.learn-band{display:flex;align-items:center;gap:.6rem;margin:0 0 .8rem;padding:.4rem .45rem .4rem .9rem;border:1px solid rgb(156 196 242 / 35%);border-radius:var(--radius-pill);background:#9cc4f229;font-size:var(--text-ms)}.learn-band .tutorial-link{display:inline-block;margin-left:auto;padding:.35rem .9rem;border-radius:var(--radius-pill);font-size:var(--text-m);font-weight:700;color:var(--ink);text-decoration:none;background:var(--tone-show);box-shadow:var(--lift),var(--press)}.learn-band .score-keeper-link{display:inline-block;padding:.35rem .9rem;border-radius:var(--radius-pill);font-size:var(--text-m);font-weight:700;color:var(--paper);text-decoration:none;border:1px solid var(--glass-line);background:#ffffff1a}.coach{position:fixed;right:1rem;bottom:1rem;z-index:40;display:flex;flex-direction:column;gap:.5rem;width:min(22rem,30vw);max-height:calc(100vh - 2rem);overflow-y:auto;padding:.8rem .9rem;border-radius:var(--radius-panel);color:var(--ink);background:var(--paper);box-shadow:0 6px 20px var(--shadow-mid)}.coach p{margin:0}.coach-title{font-size:var(--text-s);font-weight:700;letter-spacing:.02em;opacity:.7}.coach-text{line-height:1.4}.coach-text.waiting{opacity:.6}.coach-note{padding:.4rem .6rem;border-radius:.5rem;font-size:var(--text-ms);line-height:1.35}.coach-note.wrong{background:var(--error-wash)}.coach-note.right{background:var(--tone-go)}.coach-answers{display:flex;flex-direction:column;gap:.35rem}.coach-answers button{text-align:left}.coach-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.coach-next{font-weight:700;background:var(--tone-go)}.coach-restart{font-size:var(--text-s)}.spotlight{position:fixed;z-index:35;border-radius:.8rem;outline:3px solid var(--warn);box-shadow:0 0 0 100vmax #00000059;pointer-events:none;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}@media(prefers-reduced-motion:reduce){.spotlight{transition:none}}@media(min-width:481px)and (max-width:1023px){.coach{width:16rem}}@media(max-width:480px){.coach{top:auto;right:0;bottom:0;left:0;width:auto;max-height:38vh;padding:.6rem .8rem;padding-bottom:max(.6rem,env(safe-area-inset-bottom,0px));border-radius:var(--radius-panel) var(--radius-panel) 0 0}.coach[data-place=top]{top:0;bottom:auto;padding-bottom:.6rem;border-radius:0 0 var(--radius-panel) var(--radius-panel)}}.flow{max-width:56rem;margin:0 auto;padding:.75rem 1rem 2rem}.flow-bar{display:flex;align-items:center;gap:1rem}.flow-bar h1{margin:0;font-size:1.5rem}@media(max-width:480px){.flow-bar h1{font-size:1rem}}.flow-module{color:var(--muted)}.flow-bar .leave{margin-left:auto}.flow-card{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem;padding:1.2rem 1.4rem;border-radius:var(--radius-panel);color:var(--ink);background:var(--paper);box-shadow:0 6px 20px var(--shadow-mid)}.flow-card p,.flow-card h2,.flow-card ul{margin:0}.flow-title{font-size:1.15rem}.flow-question{font-size:1.3rem}.flow-text{line-height:1.5}.flow-bullets{padding-left:1.2rem;line-height:1.5}.flow-bullets li+li{margin-top:.3rem}.flow-part{display:flex;flex-direction:column;gap:.5rem}.flow-part-heading{margin:.4rem 0 0;font-size:clamp(1rem,.95rem + .3vw,1.1rem)}.flow-table{margin:0}.flow-table table{width:100%;max-width:22rem;border-collapse:collapse;line-height:1.4}.flow-table th,.flow-table td{padding:.25rem .6rem;border-bottom:1px solid color-mix(in srgb,currentColor 20%,transparent);text-align:left}.flow-table:not(.row-heads) th:first-child,.flow-table:not(.row-heads) td:first-child{width:4.5em;white-space:nowrap}.flow-table.row-heads tbody th{font-weight:inherit}.flow-table.row-heads td{white-space:nowrap}.flow-table-note{margin-top:.4rem;font-size:.9em;font-style:italic;line-height:1.4}.flow-link a{color:inherit}.flow-progress{font-size:var(--text-s);font-weight:700;opacity:.7}.flow-answers,.flow-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.flow-answers{flex-direction:column;align-items:flex-start}.flow-buttons{justify-content:flex-end}.flow-back,.coach-back{margin-right:auto}.flow-card button{padding:.45rem .9rem}.flow-next{font-weight:700;background:var(--tone-go)}.flow-note{padding:.5rem .7rem;border-radius:.5rem;font-size:var(--text-m);line-height:1.4}.flow-note.wrong{background:var(--error-wash)}.flow-note.right{background:var(--tone-go)}.flow-cards{display:flex;flex-wrap:wrap;gap:.4rem}.flow-figure{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin:0;font-size:var(--text-s)}.flow-figure .card{width:var(--card-w-mini);height:var(--card-h-mini)}.flow-figure.mark .card{border-radius:var(--card-radius);box-shadow:0 0 0 3px var(--warn)}.flow-deck{display:flex;flex-direction:column;gap:.6rem}.flow-suit{display:flex;flex-direction:column;gap:.2rem}.flow-suit-name{font-weight:700;text-transform:capitalize}.flow-deck .flow-cards{flex-wrap:nowrap;gap:.2rem;overflow-x:auto}.flow-deck .flow-figure .card{width:3rem;height:5rem}.flow-weak{font-size:var(--text-m);font-weight:700}.flow-group{display:flex;flex-direction:column;gap:.25rem}.flow-group-title{font-weight:700}.flow-animation{display:flex;flex-direction:column;gap:.5rem}.flow-caption{min-height:3em;line-height:1.5;font-weight:600}.flow-pager{display:flex;align-items:center;justify-content:center;gap:.6rem}.flow-slot .card{animation:flow-card-in .35s ease-out}@keyframes flow-card-in{0%{opacity:0;transform:translateY(-.8rem)}}@media(prefers-reduced-motion:reduce){.flow-slot .card{animation:none}}.flow-felt{position:relative;padding:1rem .8rem;border:6px solid var(--rail-light);border-radius:1.6rem;color:var(--paper);background:var(--felt-ground);box-shadow:inset 0 0 0 2px var(--rail-dark)}.flow-trump{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.5rem;padding:.15rem .6rem;border-radius:var(--radius-pill);font-size:var(--text-s);font-weight:700;color:var(--ink);background:var(--warn)}.flow-slots{display:flex;justify-content:center;gap:1.2rem}.flow-slot{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin:0}.flow-slot .card,.flow-empty{width:var(--card-w-small);height:var(--card-h-small)}.flow-empty{border:2px dashed var(--glass-line);border-radius:var(--card-radius)}.flow-who{font-size:var(--text-s)}.flow-slot.winner .card{border-radius:var(--card-radius);box-shadow:0 0 0 4px var(--warn)}.flow-slot.winner .flow-who{font-weight:700;color:var(--warn)}.flow-offer{display:flex;flex-direction:column;gap:.5rem;padding:.6rem .8rem;border-radius:.6rem;background:color-mix(in srgb,var(--paper) 85%,var(--tone-show))}.flow-card .hand.fan{margin-bottom:0}.hand.fan .hand-card[data-lit]{transform:translate(calc(var(--fan-shift) * var(--card))) rotate(var(--fan-angle)) translateY(-1rem);border-radius:var(--card-radius);box-shadow:0 .6rem .8rem var(--shadow-deep),0 0 0 3px var(--warn)}.flow-slot.renonsz .card{border-radius:var(--card-radius);box-shadow:0 0 0 4px var(--error-wash)}.test-last{margin-top:.8rem;text-align:center;font-size:var(--text-s);opacity:.8}@media(max-width:480px){.flow{padding-inline:.5rem}.flow-card{padding:.9rem .8rem}.flow-slots{gap:.5rem}.flow-deck .flow-figure .card{width:2.4rem;height:4rem}}.course-part{margin:1rem 0 .4rem;font-size:var(--text-m);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.course-list{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.course-lesson{display:flex;gap:.4rem}.course-entry .course-fold{flex:none;justify-content:center;width:auto;min-width:var(--tap-min);min-height:var(--tap-min)}.course-entry .course-start{flex:1;width:auto}.course-parts{display:grid;gap:.3rem;margin:.3rem 0 .2rem;padding:0 0 0 1.6rem;list-style:none}.course-entry button{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .8rem;min-height:var(--tap-min);text-align:left}.course-tick{display:inline-grid;place-items:center;flex:none;width:1.5rem;height:1.5rem;border:2px solid currentColor;border-radius:50%;font-weight:700}.course-entry.done>.course-lesson .course-tick,.course-subpart.done .course-tick{background:var(--tone-go)}.onward{display:flex;flex-wrap:wrap;gap:.4rem}.onward .onward-next{font-weight:700;background:var(--tone-go)}.practice-level{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:.8rem 0;border:0;padding:0}.practice-level legend{margin-bottom:.3rem;font-weight:700}.practice-panel .tip{display:grid;gap:.4rem;padding:.5rem .6rem;border-left:4px solid var(--warn);border-radius:.4rem;background:#f2c14e29}.practice-panel .tip-title{margin:0;font-weight:700}.practice-panel .tips-switch{display:inline-flex;align-items:center;gap:.4rem}.practice-panel .play-live{font-weight:700;background:var(--tone-go)}.score-keeper .flow-card{max-width:40rem;margin-inline:auto}.sk-section,.sk-result{display:flex;flex-direction:column;gap:.45rem}.sk-heading{margin:.3rem 0 0;font-size:clamp(1rem,.95rem + .3vw,1.1rem)}.sk-names{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.4rem}.sk-names input,.sk-stake{min-width:0;min-height:var(--tap-min);padding:.3rem .6rem;border:1px solid rgb(43 33 24 / 35%);border-radius:var(--radius-button);font:inherit;color:var(--ink);background:#fff}.sk-stake{width:9rem}.sk-stake[aria-invalid=true]{border-color:var(--bad)}.sk-hint{margin:0;font-size:var(--text-ms);color:var(--bad)}.sk-row{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem}.sk-row-name{min-width:7rem;font-weight:600}.sk-choices,.sk-toggles{display:flex;flex-wrap:wrap;gap:.3rem}.sk-choice{min-height:var(--tap-min);padding:.3rem .8rem;border:1px solid rgb(43 33 24 / 30%);border-radius:var(--radius-pill);font:inherit;font-size:var(--text-m);color:var(--ink);background:#2b21180f;box-shadow:none;cursor:pointer}.sk-choice[aria-pressed=true]{border-color:var(--gold-deep);background:var(--warn);font-weight:700}.sk-choice[data-toggle=piros][aria-pressed=true]{border-color:var(--bad);background:var(--bad);color:var(--on-dark)}.sk-choice:disabled{cursor:default;opacity:.35}.sk-result{padding-top:.6rem;border-top:1px solid rgb(43 33 24 / 20%)}.sk-items,.sk-balances{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}.sk-item{display:flex;flex-direction:column;gap:.15rem}.sk-item-name{font-weight:700}.sk-formula{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.sk-direction{font-size:var(--text-ms);font-style:italic}.sk-balances li{font-weight:700;font-variant-numeric:tabular-nums}.sk-balances .gain{color:#1d6b38}.sk-balances .loss{color:var(--bad)}.sk-sheet,.sk-editor{display:flex;flex-direction:column;gap:.6rem;padding-top:.6rem;border-top:1px solid rgb(43 33 24 / 20%)}.sk-editor-title{margin:0;font-size:clamp(1.1rem,1rem + .4vw,1.25rem)}.sk-table-wrap{overflow-x:auto}.sk-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--text-ms);font-variant-numeric:tabular-nums;line-height:1.3}.sk-col-number{width:1.6rem}.sk-col-player{width:3.9rem}.sk-table th,.sk-table td{padding:.3rem .35rem;border-bottom:1px solid rgb(43 33 24 / 15%);text-align:left}.sk-table .sk-units{text-align:right;white-space:nowrap}.sk-table .sk-player{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.sk-table tfoot th,.sk-table tfoot td{font-weight:700;border-bottom:0}.sk-table tfoot tr:first-child th,.sk-table tfoot tr:first-child td{border-top:2px solid rgb(43 33 24 / 35%)}.sk-table .gain{color:#1d6b38}.sk-table .loss{color:var(--bad)}.sk-table tr.editing{background:#f2c14e40}.sk-row-open{padding:.2rem 0;border:0;font:inherit;text-align:left;color:inherit;background:none;box-shadow:none;cursor:pointer}.sk-contract{display:block;text-decoration:underline dotted}.sk-row-declarer{display:block;font-size:var(--text-s);opacity:.75}@media(max-width:480px){.flow.score-keeper{padding-inline:.5rem}.score-keeper .flow-card{padding:1rem .8rem}.sk-table th,.sk-table td{padding:.3rem .2rem}}.sk-actions{display:flex;flex-wrap:wrap;gap:.4rem}.sk-add,.sk-save,.sk-cancel,.sk-remove,.sk-new-sheet{min-height:var(--tap-min);padding:.4rem 1rem;border:1px solid rgb(43 33 24 / 30%);border-radius:var(--radius-pill);font:inherit;font-weight:700;color:var(--ink);background:#2b21180f;cursor:pointer}.sk-add,.sk-save{border-color:#3f8f53;background:var(--tone-go)}.sk-new-sheet{align-self:flex-start}.sk-remove[data-asking=true],.sk-new-sheet[data-asking=true]{border-color:var(--bad);color:var(--on-dark);background:var(--bad)}.sk-table.players-4 .sk-col-player{width:3.5rem}.sk-table .sk-out{opacity:.5}.sk-note{margin:0;font-size:var(--text-ms);opacity:.8}.profile{display:grid;gap:1rem;max-width:44rem;margin:1rem auto 0;padding:1rem 1.1rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:var(--glass);box-shadow:0 .6rem 1.6rem var(--shadow-soft)}.profile-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem}.profile h2{margin:0;font-size:1.2rem;color:var(--warn)}.profile h3{margin:0 0 .5rem;font-size:1rem}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:.6rem;margin:0}.profile-stat{display:grid;gap:.2rem;padding:.6rem .8rem;border:1px solid var(--glass-line);border-radius:var(--radius-button)}.profile-stat dt{font-size:var(--text-s);color:var(--muted)}.profile-stat dd{margin:0;font-size:clamp(1.3rem,4vw,1.7rem);font-weight:700}.profile .gain{color:var(--tone-go)}.profile .loss{color:var(--tone-give-up)}.profile-recent ol{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.profile-deal{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .6rem;padding:.45rem .6rem;border-radius:var(--radius-button);background:#ffffff0f}.profile-deal time{font-size:var(--text-s);color:var(--muted)}.profile-deal .contract{font-weight:600}.profile-deal .trump,.profile-deal .why{display:inline;width:auto;aspect-ratio:auto;padding:0;border:0;font-size:inherit;font-weight:400;color:var(--muted)}.profile-deal .points{margin-inline-start:auto;font-weight:700}.profile-deal .tag{padding:.05rem .5rem;border-radius:var(--radius-pill);font-size:var(--text-s)}.profile-deal .tag.declarer{border:1px solid var(--glass-line)}.profile-deal.not-self{border-inline-start:.25rem solid var(--tone-challenge)}.profile-deal .tag.not-self{background:var(--tone-challenge);color:var(--ink)}.profile-empty,.profile-error p{margin:0}.profile-error{display:grid;gap:.6rem;justify-items:start}.lobby-bar .profile-open{margin-inline-start:auto}.lobby-bar .profile-open~.logout,.lobby-bar .profile-open~.login{margin-inline-start:0}.profile-match+.profile-match{margin-top:.7rem}.profile-match h4{margin:0 0 .35rem;font-size:var(--text-ms);font-weight:600;color:var(--muted)}.profile-deal .replay-open{padding:.1rem .6rem;font-size:var(--text-s)}.replay-seats{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.replay-seat{display:grid;grid-template-columns:1fr auto;gap:.3rem .6rem;align-items:baseline;padding:.5rem .6rem;border-radius:var(--radius-button);background:#ffffff0f}.replay-name{display:inline-flex;flex-wrap:wrap;gap:.4rem;font-weight:600}.replay-name .tag{padding:.05rem .5rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);font-size:var(--text-s);font-weight:400}.replay-tricks{font-size:var(--text-s);color:var(--muted)}.replay-seat .cards{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.2rem}.replay .card{width:clamp(1.9rem,7vw,2.6rem);height:auto;aspect-ratio:3 / 5}.replay-table{display:grid;gap:.5rem;justify-items:center;min-height:clamp(6rem,22vw,8rem)}.replay-move{margin:0;text-align:center}.replay-trick{display:flex;gap:.6rem}.replay-trick figure{display:grid;justify-items:center;gap:.2rem;margin:0;font-size:var(--text-s)}.replay-trick figure.winner figcaption{color:var(--warn);font-weight:700}.replay-refused{margin:0;color:var(--tone-challenge)}.replay-steps{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;padding:.4rem .5rem;padding-right:max(.5rem,calc(6rem - ((100vw - 100%)/2)));border-radius:var(--radius-button);background:var(--felt-dark)}.replay-steps button{min-width:var(--tap-min-quiet, 2.4rem);min-height:var(--tap-min-quiet, 2.4rem)}.replay-position{order:-1;flex-basis:100%;text-align:center;font-variant-numeric:tabular-nums}.replay-result ul{display:grid;gap:.25rem;margin:0;padding:0;list-style:none}.replay-result li{display:flex;justify-content:space-between}.replay-result .points{font-weight:700}.profile-game{display:grid;gap:.7rem}.profile-game+.profile-game{padding-top:.8rem;border-top:1px solid var(--glass-line)}.admin{display:grid;gap:1rem;max-width:60rem;margin:1rem auto 0;padding:1rem 1.1rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:var(--glass);box-shadow:0 .6rem 1.6rem var(--shadow-soft)}.admin [hidden]{display:none}.admin-panel{display:grid;gap:1rem}.admin-tabs{display:flex;gap:.3rem;overflow-x:auto;border-bottom:1px solid var(--divider)}.admin-tab{display:inline-flex;flex:none;align-items:center;gap:.4rem;padding:.4rem .9rem;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font:inherit;white-space:nowrap}.admin-tab[aria-selected=true]{border-bottom-color:var(--warn);color:var(--warn);font-weight:600}.admin-tabs.inner .admin-tab{padding:.25rem .7rem;font-size:var(--text-s)}.admin-dot{display:inline-block;box-sizing:border-box;width:.6rem;height:.6rem;border:2px solid var(--paper);border-radius:50%;background:var(--paper)}.admin h2{margin:0;font-size:1.2rem;color:var(--warn)}.admin h3{margin:0 0 .5rem;font-size:1rem}.admin-settings{display:grid;gap:1.2rem}.admin-note{margin:0;color:var(--muted)}.admin-grid{width:100%;border-collapse:collapse}.admin-grid th,.admin-grid td{padding:.4rem .35rem;text-align:left;vertical-align:top}.admin-grid thead th{color:var(--muted);font-size:var(--text-s);text-transform:uppercase}.admin-fold{margin-bottom:.6rem;border:1px solid var(--glass-line);border-radius:var(--radius-button)}.admin-fold>summary{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;color:var(--warn);font-weight:600;cursor:pointer;list-style:none}.admin-fold>summary::-webkit-details-marker{display:none}.admin-fold>summary:before{content:"B8"}.admin-fold[open]>summary:before{content:"BE"}.admin-fold-count{color:var(--muted);font-size:var(--text-s);font-weight:400}.admin-fold>table,.admin-fold>ul{margin:0 .7rem .7rem;width:calc(100% - 1.4rem)}.admin-fold>ul{padding:0}.admin-row-head{display:grid;gap:.15rem;font-weight:400;min-width:12rem}.admin-name{font-weight:600}.admin-unit,.admin-note-line,.admin-var{color:var(--muted);font-size:var(--text-s)}.admin-cell{min-width:7rem}.admin-field{position:relative;display:inline-flex;align-items:center;gap:.35rem;max-width:100%}.admin-gold{flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--warn)}.admin-cell input{width:100%;max-width:9rem;box-sizing:border-box;font:inherit}.admin-cell.edited input{outline:2px solid var(--warn)}.admin-cell.refused input{outline:2px solid var(--bad-on-dark)}.admin-source,.admin-edited{display:block;font-size:var(--text-s);color:var(--muted)}.admin-source[data-source=admin]{color:var(--warn)}.admin-tip{position:absolute;z-index:2;top:100%;inset-inline-start:0;padding:.2rem .5rem;border:1px solid var(--glass-line);border-radius:var(--radius-button);background:var(--ink);white-space:nowrap;visibility:hidden;pointer-events:none}.admin-field:hover .admin-tip,.admin-field:focus-within .admin-tip{visibility:visible}.admin-edited{font-style:italic}.admin-reset,.admin-save{padding:.3rem .8rem;border:1px solid var(--ink);border-radius:var(--radius-button);background:var(--paper);color:var(--ink);box-shadow:var(--lift),var(--press)}.admin-reset:disabled,.admin-save:disabled{opacity:.55;cursor:default}.admin-reset{margin-top:.3rem;padding:.15rem .6rem;font-size:var(--text-s)}.admin-refused{display:block;margin-top:.2rem;color:var(--bad-on-dark);font-size:var(--text-s)}.admin-actions{display:flex;justify-content:flex-end}.admin-settings>.admin-actions{position:sticky;bottom:0;z-index:3;padding:.6rem 0;border-top:1px solid var(--glass-line);background:var(--ink)}.admin-restart{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.admin-mark{padding:.05rem .4rem;border:1px solid var(--warn);border-radius:var(--radius-button);color:var(--warn);font-size:var(--text-s)}.admin-restart .admin-source{display:inline}@media(max-width:40rem){.admin{padding:.8rem}.admin-grid thead{display:none}.admin-grid,.admin-grid tbody{display:block}.admin-grid tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;padding-bottom:.4rem}.admin-grid.single tr{grid-template-columns:minmax(0,1fr)}.admin-grid tr>th{grid-column:1 / -1;min-width:0}.admin-cell{min-width:0}.admin-grid:not(.single) .admin-cell:before{display:block;color:var(--muted);font-size:var(--text-s);content:attr(data-type)}}.admin-presets{display:grid;gap:.8rem}.admin-presets-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.admin-presets-list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.admin-presets-list>li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;padding:.5rem .6rem;border:1px solid var(--glass-line);border-radius:var(--radius-button)}.admin-presets-tags,.admin-presets-changed,.admin-presets-wide,.admin-presets-empty{color:var(--muted);font-size:var(--text-s)}.admin-presets-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-inline-start:auto}.admin-presets-actions button,.admin-presets-bar button{padding:.2rem .7rem;border:1px solid var(--ink);border-radius:var(--radius-button);background:var(--paper);color:var(--ink);font-size:var(--text-s);box-shadow:var(--lift),var(--press)}.admin-presets-rename-form{display:flex;flex-wrap:wrap;gap:.4rem .8rem;flex-basis:100%}.admin-presets-said{margin:0;padding-inline-start:1.2rem}.admin-presets-wide{margin:0}.preset-editor.embedded{margin:0;padding:0}.preset-editor.embedded .preset-bar h3{margin:0 auto 0 0;font-size:1rem}.admin-tournaments,.admin-ladders,.admin-tournament-list{display:grid;gap:.8rem}.admin h4{margin:0;font-size:var(--text-ms)}.admin-ladder-form,.admin-tournament-form{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem 1rem;padding:.6rem .8rem;border:1px solid var(--glass-line);border-radius:var(--radius-button)}.admin-ladder-form>label,.admin-tournament-form>label{display:grid;gap:.2rem;min-width:min(100%,12rem)}.admin-ladder-form input:not([type=checkbox]),.admin-tournament-form input:not([type=checkbox]),.admin-tournament-form select{font:inherit;padding:.25rem .4rem;border:1px solid var(--glass-line);border-radius:var(--radius-button)}.admin-tournament-form input[aria-invalid=true]{outline:2px solid var(--bad-on-dark)}.admin-tournament-form>label.admin-check{display:flex;align-items:center;gap:.4rem}.admin-form-title,.admin-said{flex-basis:100%;margin:0}.admin-form-title{font-weight:600}.admin-ladder-steps{display:flex;flex-wrap:wrap;gap:.3rem .8rem;margin:0;padding:.3rem .6rem;border:1px solid var(--glass-line);border-radius:var(--radius-button)}.admin-ladder-steps label{display:flex;align-items:center;gap:.25rem;font-variant-numeric:tabular-nums}.admin-tournament-state{padding:.05rem .5rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);font-size:var(--text-s)}.admin-presets-list>li[data-state=called-off],.admin-presets-list>li[data-state=finished]{opacity:.7}.preset-editor{display:grid;gap:.8rem;max-width:60rem;margin:1rem auto;padding:0 1rem}.preset-bar,.preset-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.preset-bar h1{margin:0 auto 0 0;font-size:1.2rem;color:var(--warn)}.preset-row,.preset-fields,.preset-confirm{padding:.6rem .8rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:var(--glass)}.preset-row h2{margin:0 0 .4rem;font-size:1rem}.preset-count{color:var(--bad-on-dark)}.preset-row h2[data-full] .preset-count{color:var(--present)}.preset-cards{display:flex;flex-wrap:wrap;gap:.3rem;min-height:6rem}.preset-card{width:4rem;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.preset-card[data-held]{opacity:.35}.preset-ghost{position:fixed;z-index:10;pointer-events:none;transform:translate(-50%,-50%) rotate(-4deg);filter:drop-shadow(0 .4rem .6rem var(--shadow-soft))}.preset-row[data-over]{border-color:var(--warn)}.preset-card .card{display:block;width:100%;height:auto}.preset-fields{display:grid;gap:.6rem}.preset-fields label{display:flex;gap:.5rem;align-items:center}.preset-fields fieldset{display:flex;flex-wrap:wrap;gap:.8rem;margin:0;border:1px solid var(--glass-line);border-radius:var(--radius-button)}.preset-fields input:not([type=checkbox]),.preset-fields textarea{flex:1}.preset-fields textarea{padding:.3rem .6rem;border:1px solid var(--ink);border-radius:var(--radius-button);background:var(--paper);color:var(--ink);font:inherit}.preset-dirty{color:var(--warn)}.preset-message{margin:0;color:var(--present)}.preset-message[data-bad]{color:var(--bad-on-dark)}.preset-confirm{position:fixed;inset:auto 1rem 1rem;max-width:30rem;margin:0 auto;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;background:var(--felt-dark);box-shadow:0 .6rem 1.6rem var(--shadow-soft)}.preset-confirm p{flex-basis:100%;margin:0}.preset-warning{color:var(--warn)}.snapszer-table{--pile-card: clamp(3.2rem, 15vw, 5.2rem);box-sizing:border-box;flex:1;min-height:0;width:100%;max-width:44rem;margin:0 auto;padding:.4rem .75rem 0;display:flex;flex-direction:column;align-items:center;gap:.45rem}.snapszer-head{align-self:stretch;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem .6rem;color:var(--muted);font-size:var(--text-m)}.snapszer-line{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .4rem;color:var(--paper)}.snapszer-title{font-weight:700}.snapszer-sep{opacity:.6}.snapszer-trump{display:inline-flex;align-items:center;gap:.25rem}.snapszer-pip{height:1.2em;width:auto}.snapszer-score{font-weight:700;font-variant-numeric:tabular-nums;color:var(--paper)}.snapszer-seat{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.2rem .5rem;padding:.25rem .8rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:var(--glass)}.snapszer-seat[data-to-act]{outline:2px solid var(--warn);outline-offset:1px}.snapszer-seat .countdown{align-self:center;width:1.7rem;height:1.7rem;margin-block:-.25rem;font-size:.75rem}.snapszer-name{font-weight:600}.snapszer-robot,.snapszer-away,.snapszer-tricks{font-size:var(--text-s);color:var(--muted)}.snapszer-backs .card+.card{margin-left:-1.6rem}.snapszer-middle{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem clamp(1rem,7vw,3rem);min-height:calc(var(--pile-card) * 5 / 3 + 1.6rem)}.snapszer-middle .card{width:var(--pile-card);height:calc(var(--pile-card) * 5 / 3)}.snapszer-talon{display:grid;justify-items:center;gap:.25rem}.talon-stack{position:relative;width:calc(var(--pile-card) * 1.75);height:calc(var(--pile-card) * 5 / 3)}.talon-adu{position:absolute;left:calc(var(--pile-card) * .33);top:50%;transform:translate(-50%,-50%) rotate(90deg);line-height:0}.talon-backs{position:absolute;right:0;top:0;line-height:0}.snapszer-talon.closed .talon-backs{filter:brightness(.8)}.talon-count{font-size:var(--text-s);color:var(--muted)}.snapszer-trick{display:flex;gap:.5rem;min-width:var(--pile-card)}.snapszer-trick figure{margin:0;display:grid;justify-items:center;gap:.2rem;font-size:var(--text-s)}.snapszer-trick.last{opacity:.8}.snapszer-trick figure[data-winner] figcaption{color:var(--warn);font-weight:700}.snapszer-turn{margin:0;color:var(--muted)}.snapszer-moves{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.snapszer-move,.snapszer-waiting button,.snapszer-summary button{min-height:var(--tap-min);padding:.3rem .9rem;border:1px solid var(--ink);border-radius:var(--radius-button);background:var(--paper);color:var(--ink);font-weight:600;box-shadow:var(--lift),var(--press)}.snapszer-move.claim{background:var(--warn)}.snapszer-declare{min-height:var(--tap-min);padding:.3rem .9rem;border:1px solid var(--ink);border-radius:var(--radius-panel);background:var(--felt-dark);color:var(--paper);font-weight:600}.snapszer-declare[aria-pressed=true]{background:var(--warn);color:var(--ink)}.snapszer-table .hand.fan{--card: max(3.2rem, min(7.5rem, var(--fan-fit), calc((100dvh - 38rem)*.4) ));align-self:stretch}.snapszer-waiting,.snapszer-summary{display:grid;justify-items:center;gap:.4rem;padding:.7rem 1rem;border:1px solid var(--glass-line);border-radius:var(--radius-panel);background:var(--glass);text-align:center}.snapszer-waiting p,.snapszer-summary p,.snapszer-summary h3{margin:0}.snapszer-summary h3{font-size:1.05rem;color:var(--warn)}.snapszer-match{font-weight:700}.snapszer-seats{align-self:stretch;display:flex;justify-content:space-between;align-items:flex-start;gap:.4rem}.snapszer-multi .snapszer-seats>.snapszer-seat{flex:0 1 auto;min-width:0;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem .6rem .2rem;border-radius:var(--radius-panel)}.snapszer-multi[data-players="4"] .snapszer-seats>.snapszer-seat:nth-child(2){margin-top:.6rem}.snapszer-mark,.snapszer-said{font-size:var(--text-s);padding:0 .4rem;border:1px solid var(--glass-line);border-radius:var(--radius-pill);background:var(--felt-dark);color:var(--paper)}.snapszer-said{background:var(--warn);color:var(--ink);font-weight:700}.snapszer-counts{display:inline-flex;gap:.4rem;white-space:nowrap}.snapszer-points{font-size:var(--text-s);font-weight:700;font-variant-numeric:tabular-nums}.snapszer-fan{display:flex;justify-content:center;height:1.9rem;margin-top:.15rem}.snapszer-fan .card{width:1.2rem;height:auto;flex-shrink:0;transform:rotate(calc(var(--fan-i, 0) * -6deg));transform-origin:50% -120%}.snapszer-fan .card+.card{margin-left:-.95rem}.snapszer-multi .snapszer-trick{flex-wrap:nowrap;gap:.3rem}.snapszer-secret,.snapszer-pick-hint{margin:0;max-width:30rem;text-align:center;font-size:var(--text-s);color:var(--warn)}.snapszer-call{display:grid;justify-items:center;gap:.15rem}.snapszer-call-row{display:flex;gap:.2rem}.snapszer-call-card{padding:0;border:2px solid transparent;border-radius:.3rem;background:none;line-height:0}.snapszer-call-card .card{width:clamp(1.9rem,8.5vw,2.3rem);height:calc(clamp(1.9rem,8.5vw,2.3rem) * 5 / 3)}.snapszer-call-card[aria-pressed=true]{border-color:var(--warn);transform:translateY(-.2rem)}.snapszer-multi .hand.fan{--card: max(3.2rem, min(7.5rem, var(--fan-fit), calc((100dvh - 41rem)*.4) ))}.snapszer-multi[data-phase=call] .hand.fan{--card: max(2.8rem, min(5rem, var(--fan-fit), calc((100dvh - 46rem)/2) ))}.snapszer-move.trump{display:inline-flex;align-items:center;gap:.3rem}.snapszer-scores{border-collapse:collapse;font-variant-numeric:tabular-nums}.snapszer-scores th,.snapszer-scores td{padding:.1rem .5rem;text-align:right}.snapszer-scores th:first-child{text-align:left}.snapszer-scores tr[data-winner] th{color:var(--warn)}.snapszer-scores tr[data-bunko] th:after{content:" ●"}.snapszer-bunko{font-weight:700}.app:has(>.table){box-sizing:border-box;max-width:none;height:100dvh;padding-bottom:0;overflow:hidden;display:flex;flex-direction:column}@media(min-width:901px){.app:has(.chat.open){padding-right:23rem}}.app:has(>.table) .chat-toggle{top:max(.6rem,env(safe-area-inset-top,0px));bottom:auto}.app:has(>.table) .bar{position:fixed;z-index:25;top:max(.6rem,env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);padding:0;pointer-events:none}.app:has(>.table) .bar h1,.app:has(>.table) .bar .me{display:none}@media(min-width:481px){.app:has(>.table){--chat-toggle-w: 5.2rem;--corner-h: 2.5rem}.app:has(>.table) .chat-toggle{box-sizing:border-box;justify-content:center;width:var(--chat-toggle-w);height:var(--corner-h);padding-block:0}.app:has(>.table) .chat-unread{position:absolute;top:-.45rem;right:-.45rem}.table .head-tools{position:fixed;z-index:20;top:max(.6rem,env(safe-area-inset-top,0px));right:calc(max(1rem,env(safe-area-inset-right,0px)) + var(--chat-toggle-w) + .5rem);height:var(--corner-h)}.table .head-menu-toggle{padding:0 .9rem}.table .leave-door>.leave{padding:0 .7rem}}@media(min-width:901px){.app:has(.chat.open) .table .head-tools{right:23rem}}.table{--rest: 20rem;--tall: 4.9;--fit-h: max(3.4rem, calc((100dvh - var(--rest)) / var(--tall)));--fan-max: 7.5rem;--pile-max: 5.8rem;--oval: 46rem;--seat-col: 8.5rem;flex:1;min-height:0;display:grid;grid-template-columns:minmax(var(--seat-col),1fr) minmax(0,min(var(--oval),100% - 2 * var(--seat-col) - 2rem)) minmax(var(--seat-col),1fr);grid-template-rows:auto minmax(min-content,1fr);grid-auto-rows:auto;column-gap:1rem;row-gap:.5rem;align-content:start;padding-bottom:.75rem;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;position:relative}.table .seats-top{display:contents}.table .table-head{grid-column:1 / -1;grid-row:1;padding-top:0}.table .seats-top>.seat-wrap:first-child{grid-column:1;grid-row:2;align-self:center;justify-self:end}.table .seats-top>.seat-wrap:last-child{grid-column:3;grid-row:2;align-self:center;justify-self:start}.table .middle{--pile-card: min(var(--pile-max), var(--fit-h));grid-column:2;grid-row:2;align-self:stretch;box-sizing:border-box;width:100%;max-width:none;min-height:calc(var(--pile-card) * 2.4 + 2.8rem);margin:0}.table>.moves,.table>.seat-anchor{grid-column:1 / -1}.table .hand.fan+.seat-anchor.bottom,.table .hand.fan{--card: min(var(--fan-max), var(--fan-fit), var(--fit-h))}.table>.bid-overlay{position:absolute;grid-column:2 / 3;grid-row:2 / 3;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;pointer-events:none}.table .bids{gap:.5rem;margin-bottom:0}.table>.bid-overlay>.bids{box-sizing:border-box;width:100%;max-height:100%;overflow-y:auto;pointer-events:auto;background:linear-gradient(#214d35,var(--felt-dark));box-shadow:0 1.2rem 3rem var(--shadow-deep)}.table .bid-toggles{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.3rem;margin-top:.5rem}.table .bid-toggle{min-height:2.2rem;padding:.25rem .5rem;font-size:var(--text-ms);white-space:nowrap}.table .bid-submit{padding:var(--submit-pad-y) .8rem;font-size:var(--submit-text)}@media(pointer:coarse){.table .action,.table .bid-toggle,.table .trump,.table .kontra-toggle,.table .bela{min-height:var(--tap-min)}.table .head-menu-toggle,.table .leave-door>.leave,.table .leave-ask .leave,.table .leave-ask .stay,.table .head-menu-panel .sound,.table .head-menu-panel .voice,.table .auto-toggle{min-height:var(--tap-min-quiet)}.table .bid-preview-toggle{width:var(--tap-min-quiet);height:var(--tap-min-quiet)}}@media(max-width:480px){.table{--rest: 20.5rem;--fit-h: max(2.8rem, calc((100dvh - var(--rest)) / var(--tall)));--pile-max: 4.6rem;--move-band: max(var(--tap-min), calc(var(--submit-text) * 1.5 + 2 * var(--submit-pad-y) + 2px));grid-template-columns:1fr 1fr;grid-template-rows:auto auto minmax(min-content,1fr);column-gap:.5rem}.app>.table{margin-inline:-1rem;padding-inline:1rem}.table .middle{box-shadow:inset 0 0 3rem #0000008c,0 .5rem 1rem var(--shadow-mid)}.table .move-slot{top:-.9rem;height:0;margin:0;flex-flow:row wrap;align-content:flex-end;justify-content:center}.table .move-slot>*{max-width:100%}.table .move-row{position:relative;column-gap:.4rem}.table .bid-preview-anchor{position:static}.table .bid-preview{left:auto;right:0}.table .bid-preview[data-phone-room]{position:fixed;top:var(--sheet-top);bottom:var(--sheet-bottom);left:1rem;right:1rem;width:auto;display:flex;flex-direction:column}.table .bid-preview[data-phone-room] .bid-preview-list{flex:1;min-height:0;max-height:none;align-content:start}.table .trump:not(.trumpless){width:4rem}.table .head-line{gap:.2rem .3rem}.table .deal-line{height:3.7rem}.table .dl-table-phase{padding:.3rem .7rem;border-radius:1rem;font-size:1rem;text-align:center}.table .head-tools{position:fixed;z-index:20;top:max(.6rem,env(safe-area-inset-top,0px));left:max(1rem,env(safe-area-inset-left,0px))}.table .head-menu-panel,.table .leave-ask{right:auto;left:0}.table .table-head{padding:0 6rem}.table:has(.table-head>.aids){--rest: 22.7rem}.table .hand.fan+.seat-anchor.bottom,.table .hand.fan{--fan-fit: calc((100vw - 1rem) / 4.62)}.table .table-head{position:relative;z-index:25}.table .aids{position:static;flex-wrap:nowrap;justify-content:safe center;margin-inline:-6rem;overflow-x:auto;scrollbar-width:none}.table .aid-anchor{flex:none}.table .head-menu-toggle{min-height:2.4rem;padding:0 .8rem}.table .leave-door>.leave{min-height:2.4rem;padding:0 .6rem}.table .seats-top>.seat-wrap:first-child,.table .seats-top>.seat-wrap:last-child{grid-row:2;align-self:start;justify-self:stretch}.table .seats-top>.seat-wrap:first-child{grid-column:1}.table .seats-top>.seat-wrap:last-child{grid-column:2}.table .seats-top .seat-anchor{--seat-width: 100%}.table .seats-top>.seat-wrap{position:relative;padding-bottom:1.3rem}.table .seats-top>.seat-wrap>.seat-anchor{z-index:1}.table .seats-top>.seat-wrap>.backs.reserved{display:none}.table .seats-top>.seat-wrap>.backs.hidden-hand{--back-h: 2.5rem;position:absolute;bottom:0;width:auto}.table .seats-top>.seat-wrap:first-child>.backs.hidden-hand{left:2.8rem}.table .seats-top>.seat-wrap:last-child>.backs.hidden-hand{right:2.8rem}.table .seats-top>.seat-wrap>.backs.hidden-hand .card{width:1.4rem;transform:rotate(calc(var(--fan-i, 0) * -5deg));transform-origin:50% -120%}.table .seats-top>.seat-wrap:has(>.backs.hidden-hand:not(.reserved)) .bubbles{top:calc(100% + 1.6rem)}.table .seats-top .bubbles{max-width:100%}.table .seats-top .bubbles.left{left:auto;right:0;align-items:flex-end}.table .seats-top .bubbles.left>.bubble{transform-origin:top right}.table .seats-top .bubbles.left>.bubble:first-child:before{left:auto;right:min(calc(var(--seat-width) / 2),50%);transform:translate(50%)}.table .seats-top .bubbles.right{left:0;right:auto;align-items:flex-start}.table .seats-top .bubbles.right>.bubble{transform-origin:top left}.table .seats-top .bubbles.right>.bubble:first-child:before{left:min(calc(var(--seat-width) / 2),50%);right:auto;transform:translate(-50%)}.table .seats-top>.seat-wrap>.backs.hidden-hand .card+.card{margin-left:-1.22rem}.table .seats-top>.seat-wrap:has(>.spread){padding-bottom:0}.table .seats-top>.seat-wrap>.spread{--spread-card: 2.4rem;position:relative;align-self:stretch;margin-top:-1rem}.table .seats-top>.seat-wrap>.spread>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.table .seats-top>.seat-wrap>.spread .hand{flex-wrap:nowrap;gap:0;margin:0}.table .seats-top>.seat-wrap>.spread .card{flex:none;width:var(--spread-card);height:calc(var(--spread-card) * 5 / 3)}.table .seats-top>.seat-wrap>.spread .card+.card{margin-left:min(-1 * var(--spread-card) / 2,(100% - var(--spread-card)) / (var(--n, 2) - 1) - var(--spread-card))}.table .seats-top>.seat-wrap>.spread .spread-show{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;min-height:0;padding:0;border:0;border-radius:.4rem;background:transparent;box-shadow:none}.table:has(.seats-top>.seat-wrap>.spread){--rest: 22.7rem}.table:has(.seats-top>.seat-wrap>.spread):has(.table-head>.aids){--rest: 24.9rem}.table .seat.free{animation:seat-free 1.8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.table .seat.free{animation:none;box-shadow:inset 0 0 0 2px var(--warn),0 4px 10px var(--shadow-soft)}}.table .seats-top .seat{--avatar: 2.8rem;display:grid;grid-template-columns:var(--avatar) minmax(0,1fr);grid-template-rows:1fr 1fr;column-gap:.5rem;row-gap:0;align-items:center;width:100%;height:calc(var(--avatar) + .8rem);text-align:left}.table .seats-top .seat-avatar{grid-row:1 / span 2}.table .seats-top .seat.vacant{display:flex;justify-content:center;min-width:6.5rem}.table .seats-top .seat.add-robot{display:block}.table .seats-top .seat-robot{flex-direction:row;justify-content:flex-start;gap:.5rem}.table .seats-top .seat .name{align-self:end;text-align:left}.table .seats-top .seat .score,.table .seats-top .seat-button{align-self:start}.table .middle{grid-column:1 / -1;grid-row:3;padding:.4rem .4rem calc(.4rem + var(--move-band));border-width:.4rem;min-height:calc(var(--pile-card) * 2.4 + 1.6rem + var(--move-band))}.table .trick-lights{top:.3rem;bottom:auto}.table>.bid-overlay{grid-column:1 / -1;grid-row:2 / 4;align-items:stretch}.table>.bid-overlay[data-phone-room]{bottom:calc(-1 * var(--reach))}.table .bids{grid-template-columns:minmax(6rem,7.5rem) 1fr;grid-template-rows:minmax(0,1fr);gap:.4rem;padding:.4rem}.table>.bid-overlay>.bids{height:100%}.table .bid-toggles{grid-template-columns:repeat(2,minmax(0,1fr))}.table .bid-toggle{min-height:1.9rem;padding-inline:.2rem;font-size:clamp(.7rem,.5rem + 1vw,var(--text-s));overflow:hidden;text-overflow:ellipsis}}@keyframes seat-free{0%,to{box-shadow:inset 0 0 0 1px var(--glass-line),0 4px 10px var(--shadow-soft)}50%{box-shadow:inset 0 0 0 2px var(--warn),0 0 .9rem color-mix(in srgb,var(--warn) 55%,transparent)}}@media(min-width:481px)and (max-width:1023px){.table{--rest: 16rem;--fan-max: 6.4rem;--pile-max: 5.4rem;--oval: 36rem}}@media(min-width:1024px)and (max-width:1439px){.table{--fan-max: 6.8rem;--pile-max: 5.6rem}}@media(min-width:1024px){.table{--hand-max: 10.2rem;--pile-card: min(var(--pile-max), calc(var(--fit-h) * .8));--oval-min: calc(var(--pile-card) * 2.4 + 2.8rem);--hand-fit: max(var(--fit-h), calc((100dvh - 16.2rem - var(--oval-min) + 1.4rem) / 2.481))}.table .middle{--pile-card: min(var(--pile-max), calc(var(--fit-h) * .8));min-height:var(--oval-min)}.table .hand.fan+.seat-anchor.bottom,.table .hand.fan{--card: min(var(--hand-max), var(--fan-fit), var(--hand-fit))}.table>.moves{margin-top:-1.4rem}.table .trick-lights{top:.3rem;bottom:auto}}@media(min-width:1024px){.table>.bid-overlay{bottom:-2.2rem;align-items:stretch}.table>.bid-overlay>.bids{height:100%;grid-template-columns:minmax(11rem,17rem) 1fr;gap:.8rem;padding:.8rem}.table .bid-toggles{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.45rem;margin-top:.7rem}.table .bid-toggle{min-height:2.9rem;padding:.4rem .7rem;font-size:1.1rem;font-weight:700}.table .bid-submit{padding:.75rem 1rem;font-size:1.3rem}.table .bid-list{gap:.3rem}.table .bid-list .action{min-height:2.3rem;font-size:var(--text-m)}}@media(min-width:1024px)and (max-height:820px){.table .bid-toggles{grid-template-columns:repeat(auto-fill,minmax(5.8rem,1fr));gap:.35rem;margin-top:.5rem}.table .bid-toggle{min-height:2.3rem;padding:.25rem .5rem;font-size:1rem}.table .bid-submit{padding:.5rem 1rem;font-size:1.15rem}.table .bid-list .action{min-height:2rem}}@media(min-width:1440px){html{font-size:106.25%}.table{--oval: 52rem;--fan-max: 8rem;--hand-max: 12rem;--pile-max: 6.4rem}}@media(min-width:1800px){html{font-size:112.5%}.table{--oval: 60rem;--fan-max: 9rem;--hand-max: 13.5rem;--pile-max: 7.4rem}}@media(min-width:481px)and (max-height:760px){.table .trump:not(.trumpless){width:4.5rem}}.table>.summary-overlay{position:absolute;grid-column:1 / -1;grid-row:2 / span 2;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:1rem;background:#0006;box-shadow:0 0 0 100vmax #0006}@media(max-width:480px){.table>.summary-overlay{grid-row:2 / span 3}}.table>.summary-overlay{bottom:auto;height:min(100%,calc(100dvh - var(--overlay-top, 7.5rem)))}.table:has(.table-head>.aids)>.summary-overlay{--overlay-top: 10.5rem}.table:has(>.summary-overlay){overflow-y:hidden}.table .summary{box-sizing:border-box;width:min(100%,38rem);max-height:100%;overflow-y:auto;margin:0;padding:.7rem 1rem}.table .summary-talon .card{width:3.2rem;height:5.33rem}.table .summary .next{margin:.4rem 0 0}.table .summary .total{margin:.3rem 0 .4rem}@media(max-height:760px)and (min-width:481px){.table .summary-talon{display:none}}.app.stale>.table,.app.stale>.snapszer-table{opacity:.55;filter:grayscale(.5);pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .2s,filter .2s}
