@font-face{font-family:Archivo;src:url(/assets/Archivo-latin-DXrUVZxZ.woff2) format("woff2");font-weight:400 800;font-stretch:62% 125%;font-display:swap}:root{--felt-base: #1c2430;--felt-lit: #2a3440;--felt-shadow: #111720;--felt-grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");--felt-weave-a: repeating-linear-gradient(45deg, rgba(255,255,255,.028) 0 1px, transparent 1px 3px);--felt-weave-b: repeating-linear-gradient(-45deg, rgba(0,0,0,.05) 0 1px, transparent 1px 3px);--felt-lamp: radial-gradient(ellipse 80% 58% at 50% 42%, var(--felt-lit) 0%, var(--felt-base) 55%, var(--felt-shadow) 100%);--bone: #e9e2d2;--bone-2: rgba(233, 226, 210, .68);--bone-3: rgba(233, 226, 210, .46);--bone-line: rgba(233, 226, 210, .2);--bone-faint: rgba(233, 226, 210, .09);--brass: #d0a24b;--brass-text: #e2b962;--brass-ink: #2a1c05;--brass-glow: rgba(208, 162, 75, .28);--paper: #f2ede2;--paper-rule: #d8d1c2;--paper-edge: #e3dccb;--ink: #1e1c19;--ink-2: #5c574f;--ink-3: #8a847a;--pencil-red: #c4433b}:root{color-scheme:dark;--surface: var(--felt-base);--surface-image: var(--felt-grain), var(--felt-weave-a), var(--felt-weave-b), var(--felt-lamp);--surface-blend: soft-light, normal, normal, normal;--surface-size: 160px 160px, auto, auto, auto;--text-1: var(--bone);--text-2: var(--bone-2);--text-3: var(--bone-3);--line: var(--bone-line);--line-faint: var(--bone-faint);--accent: var(--brass);--accent-text: var(--brass-text);--accent-ink: var(--brass-ink);--accent-glow: var(--brass-glow);--record: var(--paper);--record-rule: var(--paper-rule);--record-text: var(--ink);--record-text-2: var(--ink-2);--record-text-3: var(--ink-3);--record-minus: var(--pencil-red);--shadow-card: 0 3px 8px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .5);--shadow-lifted: 0 10px 22px rgba(0, 0, 0, .5), 0 2px 5px rgba(0, 0, 0, .45);--shadow-paper: 0 10px 30px rgba(0, 0, 0, .55), 0 1px 2px rgba(0, 0, 0, .4);--ring-accent: 0 0 0 1.5px var(--accent), 0 6px 22px var(--accent-glow);--ring-focus: 0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}:root[data-theme=light]{color-scheme:light;--surface: #cfc6b4;--surface-image: var(--felt-grain), var(--felt-weave-a), var(--felt-weave-b), radial-gradient(ellipse 80% 58% at 50% 42%, #ddd5c3 0%, #cfc6b4 55%, #b9af9c 100%);--text-1: #221f1a;--text-2: rgba(34, 31, 26, .7);--text-3: rgba(34, 31, 26, .5);--line: rgba(34, 31, 26, .22);--line-faint: rgba(34, 31, 26, .1);--accent-text: #8a5f10}:root{--card-stock: #fdfeee;--suit-spade: var(--bone);--suit-club: var(--bone);--suit-heart: #ff6484;--suit-diamond: var(--suit-heart);--card-mute: saturate(.45) brightness(.72);--trump-wash: #fff6cc;--seat-card-shade: saturate(.42) brightness(.5);--seat-card-shade-lit: saturate(.9) brightness(.92)}:root[data-deck=fourcolor]{--suit-club: #5cc07c;--suit-diamond: #7aa6ff}:root,:root[data-cards=m]{--card-w: 60px;--trick-card-w: 58px;--card-lift: 16px}:root[data-cards=s]{--card-w: 52px;--trick-card-w: 54px;--card-lift: 14px}:root[data-cards=l]{--card-w: 68px;--trick-card-w: 62px;--card-lift: 18px}:root{--card-h: calc(var(--card-w) * 1.5);--trick-card-h: calc(var(--trick-card-w) * 1.5);--seat-card-w: calc(var(--card-w) * .34);--seat-card-h: calc(var(--seat-card-w) * 1.5);--seat-span: 84px;--seat-inset: 0px;--ring-bleed: 6px;--fan-arc: calc(var(--card-h) * .11);--hand-band: calc(24px + var(--card-h) + var(--card-lift) + var(--fan-arc) + 2px);--status-band: 44px}:root{--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--r-paper: 2px;--r-button: 4px;--r-label: 3px;--font: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-suit: "Segoe UI Symbol", "Apple Symbols", "Noto Sans Symbols 2", "DejaVu Sans", sans-serif;--stretch-index: 78%;--stretch-text: 100%;--fs-caption: 12px;--fs-text: 13px;--fs-ui: 15px;--fs-lead: 17px;--fs-num: 20px;--fs-title: 26px;--fs-result: 34px;--fs-final: 44px;--lh-tight: 1.05;--lh-snug: 1.25;--lh-text: 1.4}:root{--dur-fade-fast: .12s;--dur-fade: .2s;--dur-fade-slow: .36s;--dur-move-fast: .18s;--dur-move: .32s;--dur-move-slow: .52s;--dur-deal-step: 55ms;--dur-deal-card: .26s;--dur-deal-flip: 30ms;--dur-hold-trick: .9s;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-throw: cubic-bezier(.18, .9, .28, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--ease-sweep: cubic-bezier(.55, 0, .2, 1)}@media(prefers-reduced-motion:reduce){:root{--dur-move-fast: 0ms;--dur-move: 0ms;--dur-move-slow: 0ms;--dur-deal-step: 0ms;--dur-deal-card: 0ms;--dur-deal-flip: 0ms;--ease-spring: var(--ease-out)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overscroll-behavior:none}body{font-family:var(--font);font-stretch:var(--stretch-text);font-weight:400;font-size:var(--fs-text);line-height:var(--lh-text);color:var(--text-1);background-color:var(--surface);background-image:var(--surface-image);background-blend-mode:var(--surface-blend);background-size:var(--surface-size);overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}button{font:inherit;font-stretch:inherit;color:inherit;border:0;background:none;cursor:pointer}img{display:block}b,strong{font-weight:600}.index{font-stretch:var(--stretch-index);font-weight:700;line-height:var(--lh-tight);letter-spacing:0}.index-md{font-stretch:var(--stretch-index);font-weight:600;line-height:var(--lh-tight)}.suit{font-family:var(--font-suit);font-weight:400;font-stretch:100%;margin-inline:-.06em}.s-s{color:var(--suit-spade)}.s-c{color:var(--suit-club)}.s-d{color:var(--suit-diamond)}.s-h{color:var(--suit-heart)}.btn-primary .s-s,.on-brass .s-s,.btn-primary .s-c,.on-brass .s-c{color:#14181f}.btn-primary .s-h,.on-brass .s-h,.btn-primary .s-d,.on-brass .s-d{color:#9c0f2e}:root[data-deck=fourcolor] .btn-primary .s-c,:root[data-deck=fourcolor] .on-brass .s-c{color:#145c2e}:root[data-deck=fourcolor] .btn-primary .s-d,:root[data-deck=fourcolor] .on-brass .s-d{color:#123a8f}.btn-primary:disabled .suit{color:inherit}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.minus{color:var(--record-minus)}.app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:calc(8px + env(safe-area-inset-top,0px)) 14px calc(4px + env(safe-area-inset-bottom,0px))}.status{height:36px;flex:none;display:flex;justify-content:space-between;align-items:flex-start}.reading{display:flex;flex-direction:column;gap:3px;min-width:0}.reading .num{font-size:var(--fs-num)}.reading .num .suit{font-size:17px}.reading .num .who{font-stretch:var(--stretch-text);font-weight:500;font-size:14px;margin-left:5px;color:var(--text-2)}.reading .cap{font-size:var(--fs-caption);color:var(--text-2);line-height:1;white-space:nowrap}.score{text-align:right;display:grid;grid-template-columns:auto auto;column-gap:6px;row-gap:2px;align-items:baseline}.score span{font-size:var(--fs-caption);color:var(--text-2);line-height:1.1}.score b{font-stretch:var(--stretch-index);font-weight:700;font-size:16px;line-height:1.1}.menu{position:absolute;right:8px;top:calc(4px + env(safe-area-inset-top,0px));width:32px;height:32px;display:grid;place-items:center;color:var(--text-2)}.menu svg{width:18px;height:18px}.track{display:flex;gap:4px;align-items:center;height:10px;margin-top:5px}.track i{width:8px;height:8px;border-radius:50%;border:1px solid var(--bone-3)}.track i.us{background:var(--accent);border-color:var(--accent)}.track i.them{background:var(--bone-3);border-color:var(--bone-3)}.track i.goal{border-color:var(--accent-text)}.track.compact{gap:3px}.track.compact i{width:6px;height:6px}.felt{flex:1 1 auto;position:relative;min-height:0}.ring{position:absolute;left:calc(var(--ring-bleed) * -1);right:calc(var(--ring-bleed) * -1);top:50%;transform:translateY(-50%);height:min(100% - 10px,440px);border-radius:50%}.seat{position:absolute;display:flex;flex-direction:column;align-items:center;gap:1px;width:92px;z-index:2;text-align:center}.seat-n{top:var(--seat-inset);left:50%;transform:translate(-50%)}.seat-w{left:var(--seat-inset);top:50%;transform:translateY(-50%);align-items:flex-start;text-align:left}.seat-e{right:var(--seat-inset);top:50%;transform:translateY(-50%);align-items:flex-end;text-align:right}.seat-name{font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-ui);line-height:1.1;color:var(--text-1);white-space:nowrap}.seat-sub{font-size:var(--fs-caption);color:var(--text-2);line-height:1.2;white-space:nowrap}.seat.turn .seat-name{color:var(--accent-text)}.seat-sub.waiting{font-style:italic;opacity:.8}.seat.out{opacity:.55}.trick{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:calc(var(--trick-card-w) * 2.9);height:calc(var(--trick-card-h) * 2.25);z-index:3;--sweep-x: 0px;--sweep-y: 0px}.tcard{position:absolute;width:var(--trick-card-w);height:var(--trick-card-h);border-radius:calc(var(--trick-card-w) * .071);box-shadow:var(--shadow-card);--tx: 0px;--ty: 0px;--tilt: 0deg;--in-x: 0px;--in-y: 0px;--gx: 0px;--gy: 0px;--gs: 1;transform:translate(var(--tx),var(--ty)) translate(var(--gx),var(--gy)) rotate(var(--tilt)) scale(var(--gs));transition:box-shadow var(--dur-fade) var(--ease-out);animation:throw-in var(--dur-move-slow) var(--ease-throw)}.tcard img{width:100%;height:100%;border-radius:inherit}.tcard.n{top:0;left:50%;--tx: -50%;--in-y: calc(var(--trick-card-h) * -1.11)}.tcard.w{left:0;top:50%;--ty: -50%;--in-x: -123px}.tcard.e{right:0;top:50%;--ty: -50%;--in-x: 123px}.tcard.s{bottom:0;left:50%;--tx: -50%;--in-y: calc(var(--hand-band) + 60px)}.tcard.winning{box-shadow:var(--ring-accent),var(--shadow-card)}@keyframes throw-in{0%{transform:translate(var(--tx),var(--ty)) translate(var(--in-x),var(--in-y)) rotate(0) scale(1.06);opacity:0}14%{opacity:1}}.callout{position:absolute;left:0;right:0;text-align:center;font-size:var(--fs-text);color:var(--text-2);z-index:2;padding:0 10px}.callout b{color:var(--text-1)}.delta{position:absolute;top:-18px;right:-6px;z-index:3;color:var(--accent-text);font-stretch:var(--stretch-index);font-weight:700;font-size:15px;white-space:nowrap}.hand-band{height:var(--hand-band);flex:none;display:flex;flex-direction:column}.hint{height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 2px}.hint-text{font-size:14px;color:var(--text-2);white-space:nowrap}.hint-text b{color:var(--text-1)}.hint-btn{font-size:var(--fs-text);color:var(--text-2);padding:4px 2px}.hand{position:relative;flex:1 1 auto}.card{position:absolute;left:0;bottom:0;display:block;padding:0;width:var(--card-w);height:calc(var(--card-w) * 1.5);perspective:600px;transition:transform var(--dur-move) var(--ease-out)}.card-lift{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:calc(var(--card-w) * .071);box-shadow:var(--shadow-card);transition:transform var(--dur-move-fast) var(--ease-spring),filter var(--dur-fade) var(--ease-out),box-shadow var(--dur-fade) var(--ease-out)}.card-flip{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit}.card-flip img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:inherit;backface-visibility:hidden}.card.flips .card-flip{transform-style:preserve-3d;transform:rotateY(180deg)}.card.flips .card-front{transform:rotateY(180deg)}.card.legal .card-lift{transform:translateY(calc(-1 * var(--card-lift)));box-shadow:var(--shadow-lifted)}.card.illegal .card-front{filter:var(--card-mute)}.card.illegal .card-lift{box-shadow:0 1px 2px #0006}.card.selected .card-lift{transform:translateY(calc(-1 * var(--card-lift) - 6px));box-shadow:var(--ring-accent),var(--shadow-lifted)}.card.legal:focus-visible .card-lift{transform:translateY(calc(-1 * var(--card-lift) - 8px));box-shadow:var(--shadow-lifted)}.card.selected:focus-visible .card-lift{transform:translateY(calc(-1 * var(--card-lift) - 14px))}@media(hover:hover){.card.legal:hover .card-lift{transform:translateY(calc(-1 * var(--card-lift) - 8px));box-shadow:var(--shadow-lifted)}.card.selected:hover .card-lift{transform:translateY(calc(-1 * var(--card-lift) - 14px))}}.card.legal:active .card-lift{transform:translateY(calc(-1 * var(--card-lift) + 3px));transition-duration:var(--dur-fade-fast)}.card:focus{outline:none}.card:focus-visible .card-lift{box-shadow:var(--ring-focus),var(--shadow-lifted)}.card.trump .card-flip:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;border-radius:inherit;background:var(--trump-wash);mix-blend-mode:multiply}.card.trump:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;z-index:2;border-radius:calc(var(--card-w) * .071) 0 0 calc(var(--card-w) * .071);background:linear-gradient(180deg,#e8c476,var(--accent))}.bower,.kitty-tag{position:absolute;left:6px;bottom:6px;z-index:3;padding:2px 4px 1px;border-radius:var(--r-label);font-size:8px;font-weight:600;letter-spacing:.02em;line-height:1.1;background:var(--ink);color:var(--paper)}.kitty-tag{background:var(--accent);color:var(--accent-ink)}.bower~.kitty-tag{bottom:24px}.hand.dealing .card{--deal-flip-at: calc(var(--deal-n) * var(--dur-deal-step) + var(--dur-deal-card) + var(--deal-i) * var(--dur-deal-flip));animation:deal-in var(--dur-deal-card) var(--ease-throw) backwards;animation-delay:calc(var(--deal-i) * var(--dur-deal-step))}.hand.dealing .card-flip{animation:deal-flip var(--dur-deal-card) var(--ease-in-out) backwards;animation-delay:var(--deal-flip-at)}.hand.dealing .card:before,.hand.dealing .card-flip:after,.hand.dealing .bower,.hand.dealing .kitty-tag{animation:deal-mark var(--dur-fade-fast) linear backwards;animation-delay:calc(var(--deal-flip-at) + var(--dur-deal-card) / 2)}@keyframes deal-in{0%{transform:translate(var(--deal-x),calc(-2.4 * var(--card-h))) rotate(0) scale(.9)}}@keyframes deal-flip{0%{transform:rotateY(0)}}@keyframes deal-mark{0%{opacity:0}}.btn{height:46px;padding:0 18px;border-radius:var(--r-button);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:var(--fs-ui);font-weight:600;white-space:nowrap;transition:transform var(--dur-fade-fast) var(--ease-out),background var(--dur-fade-fast) var(--ease-out),color var(--dur-fade-fast) var(--ease-out),box-shadow var(--dur-fade-fast) var(--ease-out)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary{color:var(--text-1);box-shadow:inset 0 0 0 1px var(--line)}.btn-quiet{color:var(--text-2);height:40px}.btn-block{width:100%}.btn:disabled{background:none;color:var(--text-3);box-shadow:inset 0 0 0 1px var(--line-faint);cursor:default}.btn-quiet:disabled{box-shadow:none}.pad{background:var(--record);color:var(--record-text);border-radius:var(--r-paper);box-shadow:var(--shadow-paper);padding:14px 16px 12px;position:relative;background-image:repeating-linear-gradient(to bottom,transparent 0 27px,var(--record-rule) 27px 28px);background-origin:content-box;background-clip:border-box}.pad:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #1e1c190f;pointer-events:none}.pad-row{height:28px;display:flex;align-items:center;justify-content:space-between;gap:10px}.pad-row .k{color:var(--record-text-2);display:flex;align-items:baseline;gap:6px;min-width:0;white-space:nowrap}.pad-row .k b{color:var(--record-text)}.pad-row .v{font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-ui);white-space:nowrap}.pad-row.total{border-top:1.5px solid var(--record-text)}.pad-row.total .v{font-size:17px}.pad h2{font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-title);line-height:28px}.pad.cols{display:grid;grid-template-columns:1fr auto auto;column-gap:14px}.pad.cols>*{height:28px;display:flex;align-items:center}.pad.cols .r{justify-content:flex-end;min-width:56px;font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-ui)}.pad.cols .h{font-size:var(--fs-caption);color:var(--record-text-3);font-stretch:var(--stretch-text);font-weight:500}.pad.cols .k{color:var(--record-text-2);display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden}.pad.cols .k b{color:var(--record-text)}.made{color:var(--record-text-2);font-size:var(--fs-caption)}.set{color:var(--record-minus);font-size:var(--fs-caption)}.auction-felt{flex:1 1 auto;min-height:118px}.bid-seat .seat-call{font-stretch:var(--stretch-index);font-weight:700;font-size:21px;line-height:1.15;color:var(--text-1)}.bid-seat .seat-call .suit{font-size:18px}.bid-seat .seat-call.pass{font-stretch:var(--stretch-text);font-weight:400;font-size:14px;color:var(--text-3)}.bid-seat.quiet .seat-call{color:var(--text-3);font-weight:600}.bid-seat.high .seat-call,.bid-seat.turn .seat-name,.bid-seat.turn .seat-call{color:var(--accent-text)}.bid-seat .seat-name,.bid-seat .seat-call{transition:color var(--dur-fade) var(--ease-out)}.bid-seat.spoke .seat-call{animation:call-made var(--dur-move) var(--ease-spring) both}@keyframes call-made{0%{transform:translateY(55%);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.bid-seat.spoke .seat-call{animation:none}}:root[data-motion=reduce] .bid-seat.spoke .seat-call{animation:none}.explain h3{font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-lead);line-height:1.2;margin-bottom:3px}.explain h3.faint-head{color:var(--text-2)}.explain h3 .suit{font-size:15px}.explain p{font-size:var(--fs-text);color:var(--text-2);line-height:var(--lh-text)}.explain p b{color:var(--text-1)}.ladder{display:grid;grid-template-columns:22px repeat(5,1fr);row-gap:0}.ladder .hd{height:24px;display:grid;place-items:center;font-size:15px;border-bottom:1px solid var(--line)}.ladder .hd.nt{font-stretch:var(--stretch-index);font-weight:700;font-size:13px;color:var(--text-2)}.ladder .lv{display:grid;place-items:center;font-stretch:var(--stretch-index);font-weight:600;font-size:13px;color:var(--text-2);border-bottom:1px solid var(--line-faint)}.cell{height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--line-faint);font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-ui);line-height:1}.cell small{font-stretch:var(--stretch-text);font-weight:500;font-size:10px;color:var(--text-2);margin-top:3px;line-height:1}.cell.dead{color:var(--text-3);font-weight:500}.cell.dead small{color:var(--text-3)}.cell.sel{color:var(--accent-text)}.cell.sel:before{content:"";position:absolute;top:5px;right:8px;bottom:5px;left:8px;border:1.5px solid var(--accent);border-radius:50%;transform:rotate(-3deg)}.ladder-misere{display:grid;grid-template-columns:1fr 1fr;padding-left:22px}.ladder-misere .cell{flex-direction:row;gap:8px;height:38px;border-bottom:0}.ladder-misere .cell small{margin:0;font-size:12px}.actions{display:grid;grid-template-columns:1fr 1.7fr;gap:10px}.page{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:18px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px calc(12px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.page>.section-head:first-child{position:sticky;top:0;z-index:1;margin:calc(-12px - env(safe-area-inset-top,0px)) -16px 0;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 10px;background-color:var(--surface)}.wordmark{font-stretch:var(--stretch-index);font-weight:800;font-size:30px;line-height:1;display:flex;align-items:baseline;gap:8px}.wordmark .suit{font-size:20px;letter-spacing:-.12em}.games{display:flex;gap:18px;border-bottom:1px solid var(--line)}.games button{padding:6px 0 9px;font-stretch:var(--stretch-index);font-weight:700;font-size:16px;color:var(--text-3);position:relative}.games button.on{color:var(--text-1)}.games button.on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}.games button small{font-stretch:var(--stretch-text);font-weight:400;font-size:11px;margin-left:4px;color:var(--text-3)}.section-head{font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-lead);line-height:1.2;display:flex;justify-content:space-between;align-items:baseline}.section-head a{font-stretch:var(--stretch-text);font-weight:400;font-size:var(--fs-text);color:var(--text-2);text-decoration:none}.mini{width:38px;height:57px;border-radius:3px;box-shadow:var(--shadow-card);flex:none}.mini img{width:100%;height:100%;border-radius:inherit}.stack{position:relative;width:26px;height:32px;margin-top:3px}.stack img{position:absolute;width:22px;height:33px;border-radius:2px;opacity:.8;left:2px;top:0;outline:1px solid rgba(255,255,255,.18);outline-offset:-1px}.stack img+img{transform:rotate(9deg) translate(3px)}.seat-fan{--step: min(calc(var(--seat-card-w) * .46), calc((var(--seat-span) - var(--seat-card-w)) / max(var(--n) - 1, 1)));--span: calc(var(--seat-card-w) + var(--step) * (var(--n) - 1));position:relative;flex:none;margin-top:4px;width:var(--span);height:var(--seat-card-h);filter:var(--seat-card-shade);transition:filter var(--dur-fade) var(--ease-out)}.seat-fan.lit{filter:var(--seat-card-shade-lit)}.seat-fan-cards{position:absolute;top:0;right:0;bottom:0;left:0}.seat-fan img{position:absolute;top:0;left:calc(var(--i) * var(--step));width:var(--seat-card-w);height:var(--seat-card-h);border-radius:2px;outline:1px solid rgba(255,255,255,.18);outline-offset:-1px;--t: calc(var(--i) - (var(--n) - 1) / 2);transform:translateY(calc(var(--t) * var(--t) * -.16px)) rotate(calc(var(--t) * 2.6deg))}.seat-fan-w,.seat-fan-e{width:var(--seat-card-h);height:var(--span)}.seat-fan-w .seat-fan-cards,.seat-fan-e .seat-fan-cards{inset:auto;top:50%;left:50%;width:var(--span);height:var(--seat-card-h)}.seat-fan-w .seat-fan-cards{transform:translate(-50%,-50%) rotate(90deg)}.seat-fan-e .seat-fan-cards{transform:translate(-50%,-50%) rotate(-90deg)}.count{display:inline-flex;align-items:center;gap:4px}.count i{width:10px;height:10px;border-radius:50%;border:1px solid var(--bone-3)}.count i.on{background:var(--accent);border-color:var(--accent)}#root{height:100%}:root[data-motion=reduce]{--dur-move-fast: 0ms;--dur-move: 0ms;--dur-move-slow: 0ms;--dur-deal-step: 0ms;--dur-deal-card: 0ms;--dur-deal-flip: 0ms;--ease-spring: var(--ease-out)}a{color:inherit}a.btn{text-decoration:none}input{font:inherit;font-stretch:inherit;color:inherit;background:none;border:0;outline:none;min-width:0}input::placeholder{color:var(--text-3)}.callout.trick-callout{top:calc(52% + var(--trick-card-h) * 1.125 + 14px)}.delta-inline{position:static;margin-left:4px}.trick.gather .tcard{--gx: var(--sweep-x);--gy: var(--sweep-y);--gs: .94;transition:transform var(--dur-move-slow) var(--ease-sweep),box-shadow var(--dur-fade) var(--ease-out);box-shadow:0 1px 2px #0006}.trick.gather .tcard.winning{--gs: 1.02;z-index:5;box-shadow:var(--ring-accent),var(--shadow-card)}.track i.us.fresh{animation:dot-pop var(--dur-fade-slow) var(--ease-spring) both}@keyframes dot-pop{0%{transform:scale(.4)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.track i.us.fresh{animation:none}}.bidding{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px;padding:6px 0}.bidding>*{flex:none}.bidding .auction-felt{flex:1 1 auto}.bidding .actions{margin-top:auto}.auction-screen .hand-band{height:calc(24px + var(--card-h) + var(--fan-arc) + 2px)}.auction-screen .cell{height:34px}.auction-screen .ladder-misere .cell{height:32px}:root[data-cards=l] .auction-screen .cell{height:32px}:root[data-cards=l] .auction-screen .ladder-misere .cell{height:30px}.call-list{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.exchange{--card-w: 70px;--card-lift: 18px;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:8px 0 4px}.exchange .group{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:20px;min-height:0}.exchange-head h2{font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-title);line-height:1.1}.exchange-head p{font-size:var(--fs-text);color:var(--text-2);margin-top:4px;max-width:34em}.spread{display:flex;flex-direction:column;gap:10px}.spread-row{position:relative;height:calc(var(--card-w) * 1.665 + var(--card-lift) + 4px)}.spread-row .hand{position:absolute;top:0;right:0;bottom:0;left:0}.kitty-actions{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.result{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:0 6px}.headline{text-align:center}.headline h1{font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-result);line-height:1}.headline p{color:var(--text-2);margin-top:6px}.result-actions{display:flex;flex-direction:column;gap:4px;align-items:center}.cta-note{font-size:var(--fs-caption);color:var(--text-2);text-align:center;margin:2px 0 4px}.result-actions .btn-block{width:100%}.hand.last{display:flex;gap:10px;justify-content:center;align-items:flex-end;height:100%;padding-bottom:2px}.hand.last .card{position:relative;bottom:auto;left:auto}.end{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:16px;padding:calc(22px + env(safe-area-inset-top,0px)) 16px calc(12px + env(safe-area-inset-bottom,0px))}.end-head{text-align:center}.end-head h1{font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-final);line-height:1}.end-head p{color:var(--text-2);margin-top:8px}.end-head p b{font-stretch:var(--stretch-index);font-weight:700;font-size:17px;color:var(--text-1)}.pad .hand-no{color:var(--record-text-3);width:14px;font-stretch:var(--stretch-text);font-weight:500;font-size:var(--fs-caption)}.pad.cols .k{gap:8px}.fair{display:block;width:100%;text-align:center;color:var(--text-3);font-size:var(--fs-caption)}.exposed{flex:none;padding:10px 0 8px}.exposed-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.exposed-head b{font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-ui)}.exposed-cards{display:flex;gap:6px;justify-content:center}.has-exposed .ring{height:min(100% - 10px,320px)}.has-exposed .trick{top:54%}.has-exposed .callout.trick-callout{top:calc(54% + var(--trick-card-h) * 1.125 + 12px)}.live h2{font-stretch:var(--stretch-index);font-weight:700;font-size:22px;line-height:1.1}.live p{color:var(--text-2);margin-top:4px}.live p b{color:var(--text-1)}.live .btn{margin-top:12px}.pad .k .who{color:var(--record-text-2)}.pad .k .w{color:var(--record-text);font-weight:600}.pad .k .l{color:var(--record-minus);font-weight:600}.pad .k .u{color:var(--record-text-3);font-weight:600}.pad.cols .r{min-width:0}.join{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.code{min-width:0;height:46px;display:flex;align-items:center;border-bottom:1px solid var(--line);color:var(--text-1);font-stretch:var(--stretch-index);font-weight:700;font-size:20px;letter-spacing:.28em}.code input{flex:1 1 auto;min-width:0;letter-spacing:.28em}.code span{flex:none;white-space:nowrap;font-stretch:var(--stretch-text);font-weight:400;font-size:var(--fs-text);letter-spacing:0;margin-left:auto;color:var(--text-3)}.seat-s{bottom:var(--seat-inset);left:50%;transform:translate(-50%)}.pad .s-s{color:#14181f}.pad .s-h{color:#9c0f2e}.pad .s-c{color:#14181f}.pad .s-d{color:#9c0f2e}:root[data-deck=fourcolor] .pad .s-c{color:#145c2e}:root[data-deck=fourcolor] .pad .s-d{color:#123a8f}.seat-action{display:flex;flex-direction:column;align-items:center}.seat-action .btn{height:28px;padding:0 4px;font-size:var(--fs-caption)}.table-code{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}.table-code .index{font-size:30px;letter-spacing:.22em;margin-left:.22em}.table-code .hint-btn{margin-top:4px}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;justify-content:flex-end;background:#090c118c;animation:fade-in var(--dur-fade) var(--ease-out)}.sheet{background-color:var(--surface);background-image:var(--surface-image);background-blend-mode:var(--surface-blend);background-size:var(--surface-size);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.sheet-body{padding:18px 16px 16px;display:flex;flex-direction:column;gap:10px}.sheet-body h2{font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-title);line-height:1.1}.sheet-body p{color:var(--text-2)}.option-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;margin-top:4px}.option-row .btn{padding:0 6px;min-width:0}.option-row .btn .suit{font-size:20px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.sheet-scrim{animation:none}}.field{display:flex;align-items:center;height:46px;border-bottom:1px solid var(--line);margin-top:12px}.field input{width:100%;font-size:var(--fs-lead)}.error{color:var(--record-minus);font-size:var(--fs-text);margin-top:8px}.setting{display:flex;flex-direction:column;gap:6px}.setting-label{font-size:var(--fs-caption);color:var(--text-2)}.setting-note{font-size:var(--fs-caption);color:var(--text-3)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r-button);overflow:hidden}.segmented button{height:40px;font-size:var(--fs-ui);color:var(--text-2)}.segmented button.on{background:#e9e2d21a;color:var(--text-1);font-weight:600}.kv{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:4px;font-size:var(--fs-caption)}.kv dt{color:var(--text-3)}.kv dd{color:var(--text-2);overflow-wrap:anywhere}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.toast{position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:30;padding:12px 14px;border-radius:var(--r-button);background:var(--ink);color:var(--paper);font-size:var(--fs-text);box-shadow:var(--shadow-paper)}.conn{position:fixed;left:16px;right:16px;top:calc(48px + env(safe-area-inset-top,0px));z-index:30;padding:8px 14px;border-radius:var(--r-button);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-paper);display:flex;align-items:baseline;gap:10px}.conn b{flex:none;font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-ui)}.conn span{font-size:var(--fs-caption);color:var(--paper-rule);min-width:0}.pad-hand{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:center;min-height:34px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:4px}@supports not (grid-template-columns: subgrid){.pad-hand{grid-template-columns:1fr auto auto;column-gap:14px}}.pad-hand:active{background:#1e1c190d}.pad-hand .r{justify-content:flex-end;min-width:56px;font-stretch:var(--stretch-index);font-weight:700;font-size:var(--fs-ui);display:flex}.pad-hand .k{color:var(--record-text-2);display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;overflow:hidden}.deal-seat{margin-top:12px}.deal-name{color:var(--text-3);font-size:var(--fs-caption);font-stretch:var(--stretch-text);font-weight:500;margin-bottom:4px}.deal-cards{display:flex;flex-wrap:wrap;gap:4px}.replay-play{display:flex;flex-direction:column;align-items:center;gap:2px}.replay-play .deal-name{margin-bottom:0}.stepper{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 4px}.stepper .btn{height:44px}.demo-picker{position:fixed;z-index:40;right:8px;bottom:8px;display:flex;flex-wrap:wrap;gap:4px;max-width:70vw;justify-content:flex-end}.demo-picker a{font-size:10px;padding:3px 6px;border-radius:3px;background:#00000080;color:var(--text-2);text-decoration:none}.demo-picker a.on{background:var(--accent);color:var(--accent-ink)}
