@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{color-scheme:dark;--felt: #1a1d24;--felt-2: #0e1117;--felt-3: #050608;--ink: #f0f2f5;--muted: #9ca5b5;--dim: #6f7888;--panel: #0e1018;--panel-2: #161922;--panel-3: #1a1d27;--line: rgba(255, 255, 255, .1);--gold: oklch(.68 .14 70);--gold-2: oklch(.79 .17 73);--pink: oklch(.85 .15 92);--blue: oklch(.68 .14 70);--green: oklch(.85 .15 92);--danger: #ff7468;--card-bg: #ffffff;--card-edge: #c7cad4;--card-red: #d8232a;--card-black: #18181c;--suit-clubs: #122d19;--suit-spades: #0e2036;--suit-hearts: #d8232a;--suit-diamonds: #ce3b17;--shadow: 0 18px 45px rgba(0, 0, 0, .42);--button-shadow: 0 5px 0 rgba(73, 55, 20, .95), 0 14px 28px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html{min-height:100%;background:var(--felt-3)}body{margin:0;min-height:100vh;font-family:Fredoka,Segoe UI,system-ui,sans-serif;background:radial-gradient(120% 90% at 50% 28%,color-mix(in oklab,var(--felt) 92%,white 4%) 0%,var(--felt) 34%,var(--felt-3) 100%);color:var(--ink)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(140% 120% at 50% 30%,transparent 36%,rgba(0,0,0,.72) 100%),repeating-linear-gradient(45deg,rgba(0,0,0,.055) 0 1px,transparent 1px 5px),repeating-linear-gradient(-45deg,rgba(0,0,0,.055) 0 1px,transparent 1px 5px);mix-blend-mode:multiply}#app{position:relative;width:min(100%,980px);margin:0 auto;padding:10px 10px 28px}.topbar{display:flex;align-items:end;gap:10px;padding:4px 2px 10px;margin-bottom:8px;border-bottom:1px solid var(--line)}.topbar h1{margin:0;color:#fff;font-size:1.6rem;line-height:1;letter-spacing:0;text-shadow:0 1px 0 rgba(89,64,20,.95),0 0 18px color-mix(in oklab,var(--gold-2) 55%,transparent)}.logo-link{color:inherit;text-decoration:none}.subtitle{color:var(--muted);font-size:.82rem}button{min-height:42px;border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:9px 14px;background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#1d1406;box-shadow:var(--button-shadow);cursor:pointer;font:700 .9rem/1 Fredoka,Segoe UI,system-ui,sans-serif;letter-spacing:0;text-transform:uppercase;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}button:hover{transform:translateY(-2px);filter:saturate(1.12)}button:active{transform:translateY(3px) scale(.98);box-shadow:0 2px #6b4516,0 8px 18px #00000059}button.secondary{background:linear-gradient(180deg,#1b1f29f5,#0d0f15fa);color:var(--ink);border-color:#ffffff24;box-shadow:0 4px #07080cf2,0 12px 26px #00000047}button.small{min-height:34px;padding:6px 9px;font-size:.7rem;border-radius:6px}button:disabled{cursor:not-allowed;opacity:.48;filter:grayscale(.6);transform:none}.small.warn{color:var(--pink);opacity:.95;margin-top:4px}.seattoggle.on{border-color:color-mix(in oklab,var(--pink) 65%,white 10%);box-shadow:0 4px #604f16e0,0 0 22px color-mix(in oklab,var(--pink) 28%,transparent)}.scorepanel,.setup,.online,.handoff,.handover,.lasttrick{position:relative;background:linear-gradient(180deg,#161922f7,#0e1018fc),var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.scorepanel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px;padding:10px;border-radius:8px;transform:rotate(-.35deg)}.scorecell{min-width:0;padding:8px 9px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff08;box-shadow:inset 0 0 0 1px #ffffff08}.scorecell .label{margin-bottom:4px;color:var(--dim);font-size:.66rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.scorecell .subnote{margin-bottom:4px;color:var(--dim);font-size:.58rem;line-height:1.15}.scorecell .value{overflow-wrap:anywhere;color:var(--ink);font-size:1rem;font-weight:900;line-height:1.05}.scorecell .value.big{color:var(--gold);font-size:1.65rem;text-shadow:0 2px 0 rgba(82,62,16,.95)}.crosses{min-height:1em;color:var(--pink);font-weight:900;letter-spacing:0}.table{display:grid;grid-template-areas:". north ." "west center east" ". south .";grid-template-columns:minmax(76px,.92fr) minmax(170px,1.18fr) minmax(76px,.92fr);gap:14px;align-items:center;min-height:492px;max-width:940px;margin-inline:auto;margin-bottom:10px;padding:22px 18px 18px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:radial-gradient(ellipse at center,rgba(255,255,255,.06),transparent 58%),linear-gradient(180deg,#0c0e14eb,#08090ee0);box-shadow:inset 0 0 45px #00000059,0 20px 55px #00000047}.table-surface{position:relative;max-width:940px;margin-inline:auto;margin-bottom:10px;padding:18px 18px 14px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:radial-gradient(ellipse at center,rgba(255,255,255,.045),transparent 62%),linear-gradient(180deg,#0c0e14eb,#08090ee6);box-shadow:inset 0 0 45px #00000059,0 20px 55px #00000047}.table-wrap{position:relative;margin-bottom:0}.siderail{display:flex;flex-direction:column;gap:12px;max-width:940px;margin-inline:auto}.siderail .chatbox{margin:0}.siderail .chatbox h3{margin:0 0 6px}.board-status{min-height:72px;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:8px;margin-top:10px}.board-status>.message{width:100%;margin-bottom:0}.table-surface:not(.tutorial-surface)>.board-status{position:absolute;top:10px;left:50%;transform:translate(-50%);width:min(94%,560px);min-height:0;margin:0;z-index:25;pointer-events:none;justify-content:center}.table-surface:not(.tutorial-surface)>.board-status:empty{display:none}.table-surface:not(.tutorial-surface)>.board-status>.message{width:auto;max-width:100%;margin:0;pointer-events:auto;box-shadow:0 12px 32px #0000008c}.table-wrap .table{margin-bottom:0}@media(min-width:980px){#app:has(.table-surface){width:min(100%,1320px);padding-top:6px;padding-bottom:10px}html:has(#root>.table-surface){scrollbar-gutter:stable}#app:has(.table-surface) .topbar{padding:2px 2px 6px;margin-bottom:6px}#app:has(.table-surface) .topbar h1{font-size:1.3rem}:is(#root,.tutorial-game):has(>.table-surface){display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,24vw,340px);column-gap:18px;align-items:start}:is(#root,.tutorial-game):has(>.table-surface)>.table-surface{grid-column:1;max-width:none;width:100%;min-height:calc(100dvh - 86px);display:flex;flex-direction:column}:is(#root,.tutorial-game):has(>.table-surface)>.table-surface>.table-wrap{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}:is(#root,.tutorial-game):has(>.table-surface) .table{max-width:none;width:100%;flex:1 1 auto;min-height:0;margin-inline:0;gap:8px;padding:12px 14px;grid-template-rows:auto minmax(0,1fr) auto}:is(#root,.tutorial-game):has(>.table-surface)>.siderail{grid-column:2;align-self:stretch;width:clamp(280px,24vw,340px);max-width:clamp(280px,24vw,340px);min-width:0;min-height:calc(100dvh - 86px);display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff0a,#ffffff04)}:is(#root,.tutorial-game):has(>.table-surface)>.siderail>.scorepanel,:is(#root,.tutorial-game):has(>.table-surface)>.siderail>.meldbox,:is(#root,.tutorial-game):has(>.table-surface)>.siderail>.board-status-panel,:is(#root,.tutorial-game):has(>.table-surface)>.siderail>.piles,:is(#root,.tutorial-game):has(>.table-surface)>.siderail>.chatbox,:is(#root,.tutorial-game):has(>.table-surface)>.siderail>.rules-row,:is(#root,.tutorial-game):has(>.table-surface)>.siderail>.actions{margin:0;width:100%;min-width:0}:is(#root,.tutorial-game):has(>.table-surface)>.siderail>.scorepanel{grid-template-columns:1fr;gap:6px;transform:none}:is(#root,.tutorial-game):has(>.table-surface)>.siderail>.chatbox{flex:1 1 auto;min-height:120px;display:flex;flex-direction:column}:is(#root,.tutorial-game):has(>.table-surface)>.siderail>.chatbox .chatlog{flex:1 1 auto;max-height:none}:is(#root,.tutorial-game):has(>.table-surface)>.siderail>.actions{margin-top:auto}:is(#root,.tutorial-game):has(>.table-surface) .seat.west,:is(#root,.tutorial-game):has(>.table-surface) .seat.east{min-height:258px}:is(#root,.tutorial-game):has(>.table-surface) .board-status:empty{min-height:0;margin-top:0}:is(#root,.tutorial-game):has(>.table-surface) .table.two{--board-center-slot: 192px}}.seat{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding-top:6px;padding-bottom:6px;text-align:center}.seat.north{grid-area:north}.seat.west{grid-area:west;justify-content:center;min-height:320px}.seat.east{grid-area:east;justify-content:center;min-height:320px}.center{grid-area:center;min-width:0;min-height:208px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.south-area{grid-area:south;min-width:0;display:flex;justify-content:center;align-items:flex-start}.seathead{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:52px;margin-bottom:18px;position:relative;z-index:2}.seat.west .seathead,.seat.east .seathead{position:absolute;top:0;left:0;right:0;margin-bottom:0}.seat .seatname{display:inline-flex;max-width:100%;align-items:center;flex-wrap:wrap;justify-content:center;gap:4px;position:relative;z-index:2;color:var(--muted);font-size:.78rem;font-weight:900;line-height:1.1}.seat .seatname.active{color:#16110a;background:var(--pink);text-shadow:none;box-shadow:0 0 0 1px #ffffff1f,0 0 16px color-mix(in oklab,var(--pink) 40%,transparent)}.seat .seatname.partner:after{content:"♥";color:var(--pink)}.seatmeta{margin-top:0;position:relative;z-index:2;color:var(--dim);font-size:.66rem}.seatstatus{margin-top:4px;position:relative;z-index:2;font-size:.68rem;font-weight:900}.seatstatus.auto{color:#ffd7d2}.seat.takenover .seatstatus.auto{color:#ffdfb8}.seat-ai{font-weight:900}.seat-ai.temp{color:#ffc98a}.seat-token{display:inline-flex;align-items:center;justify-content:center;min-height:18px;border-radius:4px;padding:2px 5px;font-size:.62rem;font-weight:1000;line-height:1;letter-spacing:0}.seat-token.declarer{margin-left:2px;background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#1a1208;box-shadow:0 0 0 1px #fff8df26,0 4px 10px #0003}.seat-token.dealer{margin-left:2px;background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 72%,white 8%),color-mix(in oklab,var(--gold) 68%,black 20%));color:#041016;opacity:.9;transform:scale(.93)}.declarer-banner{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:linear-gradient(180deg,#191309f2,#0e0c0af5);box-shadow:0 4px #4f3a10e6,0 12px 24px #00000047}.declarer-banner .declarer-name{color:var(--gold);font-size:.88rem;font-weight:1000;line-height:1}.declarer-inline{margin-left:0}.declarer-cell .value{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.tag{display:inline-flex;align-items:center;min-height:18px;border-radius:4px;padding:2px 5px;background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#1a1208;font-size:.62rem;font-weight:900;line-height:1}.tag.dealer{background:linear-gradient(180deg,var(--blue),#1d7aa3);color:#041016}.tag.auto{background:linear-gradient(180deg,#ff7468fa,#c33a2dfa);color:#fff5f2}.backrow,.backfan{position:relative;display:inline-block;width:clamp(150px,22vw,212px);min-height:76px;margin-top:12px;margin-inline:auto;overflow:visible;z-index:1}.backrow.west,.backfan.west,.backrow.east,.backfan.east{width:clamp(142px,18vw,168px);margin-top:0;margin-inline:0}.backrow.north,.backfan.north{transform:rotate(180deg)}.backrow.west,.backfan.west{transform:rotate(90deg)}.backrow.east,.backfan.east{transform:rotate(-90deg)}.backrow .cardback,.backfan .cardback{position:absolute;left:calc(50% - (var(--back-w, 38px) * .5));top:0;border:1px solid rgba(255,255,255,.5);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 45%),linear-gradient(180deg,#8e1825,#67111a);box-shadow:inset 0 0 0 2px #ffffff14,0 5px 12px #00000047;transform:translate(var(--fan-x, 0),var(--fan-y, 0)) rotate(var(--fan-rot, 0deg));animation:none}.cardback.dealing{animation:dealFromDeck .24s ease both;animation-delay:var(--deal-delay, 0ms)}.bidpanel{margin:8px auto 4px;width:max-content;max-width:100%;display:flex;flex-direction:column;gap:2px}.bidpanel-title{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;opacity:.6;text-align:center;margin-bottom:2px}.bidrow{display:flex;justify-content:space-between;gap:16px;font-size:13px;line-height:1.4;opacity:.85}.bidrow.active{opacity:1;font-weight:700;color:var(--gold)}.bidrow-val{font-variant-numeric:tabular-nums}.table.two .bidpanel{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:center;column-gap:20px;row-gap:2px}.table.two .bidpanel-title{margin-bottom:0}.table.two .bidrow{gap:8px}.pilecard{border:1px solid rgba(255,255,255,.5);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 45%),linear-gradient(180deg,#8e1825,#67111a);box-shadow:inset 0 0 0 2px #ffffff14,0 5px 12px #00000047}.cardback{width:var(--back-w, 38px);height:var(--back-h, 56px);border-radius:6px;transform-origin:50% 100%}.card{position:relative;display:inline-flex;flex-direction:column;justify-content:space-between;width:var(--card-w, clamp(56px, 15vw, 86px));height:var(--card-h, clamp(82px, 21vw, 122px));padding:6px 7px;border:2px solid var(--card-edge);border-radius:8px;background:radial-gradient(circle at 50% 12%,rgba(255,255,255,.86),transparent 24%),linear-gradient(180deg,#fff,#e6e7ed);box-shadow:0 4px #9096a2f2,0 15px 24px #00000061;color:var(--card-black);font-size:1.06rem;font-weight:1000;line-height:1;user-select:none;transform:translate(var(--fan-x, 0),var(--fan-y, 0)) rotate(var(--fan-rot, 0deg));transform-origin:50% 92%;transition:transform .13s ease,box-shadow .13s ease,filter .13s ease,opacity .13s ease}.card.red{color:var(--card-red)}.card[data-suit=C]{color:var(--suit-clubs)}.card[data-suit=S]{color:var(--suit-spades)}.card[data-suit=H]{color:var(--suit-hearts)}.card[data-suit=D]{color:var(--suit-diamonds)}.card .corner-top,.card .corner-bottom{position:relative;z-index:1}.card .corner-bottom{align-self:flex-end;transform:rotate(180deg)}.card .card-center{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:2px;font-size:1.85rem;line-height:1;opacity:.95}.card.playable{cursor:pointer;outline:3px solid color-mix(in oklab,var(--pink) 75%,white 10%);outline-offset:1px;box-shadow:0 4px #725f19f2,0 0 16px color-mix(in oklab,var(--pink) 26%,transparent),0 18px 28px #0000006b}.card.disabled{cursor:not-allowed;opacity:.55;filter:grayscale(.5)}.card.public{cursor:default;filter:saturate(.9) brightness(.95);box-shadow:0 2px #9096a299,0 6px 12px #00000052}.card.dealing{animation:dealFromDeck .22s ease both;animation-delay:var(--deal-delay, 0ms)}.card.declaration-chosen{outline:2px solid var(--gold-2);outline-offset:1px;box-shadow:0 0 12px color-mix(in oklab,var(--gold-2) 30%,transparent),0 2px #725f1999}.center .trick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,auto);align-items:center;justify-items:center;column-gap:8px;row-gap:0;min-height:118px;--card-w: 42px;--card-h: 60px}.center .trick .trickcard.top{grid-column:2;grid-row:1;z-index:1}.center .trick .trickcard.left{grid-column:1;grid-row:2;margin:-16px 0;z-index:2}.center .trick .trickcard.right{grid-column:3;grid-row:2;margin:-16px 0;z-index:2}.center .trick .trickcard.bottom{grid-column:2;grid-row:3;z-index:1}.center .trick.two{min-height:74px}.center .trick.two .trickcard.top{grid-column:1;grid-row:2;margin:0}.center .trick.two .trickcard.bottom{grid-column:3;grid-row:2;margin:0}.center .trick .trickcard{position:relative}.center .trick .trickcard .who{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:1px;white-space:nowrap}.center.play-center{position:relative;justify-content:center}.play-center .trickbanner{position:absolute;left:0;right:0;top:calc(50% + 84px);pointer-events:none}.center .trick .trickcard.empty{visibility:hidden}.center .trick .trickcard .trickcard-ph{width:var(--card-w, 42px);height:var(--card-h, 60px)}.dealstack{position:relative;width:74px;height:94px;margin:10px auto 0}.dealcardback{position:absolute;inset:0;border:1px solid rgba(255,255,255,.5);border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 45%),linear-gradient(180deg,#8e1825,#67111a);box-shadow:inset 0 0 0 2px #ffffff14,0 6px 14px #00000047;animation:dealFromDeck .24s ease both;animation-delay:var(--deal-delay, 0ms)}.dealcardback:nth-child(1){--fan-x: 0px;--fan-y: 0px;--fan-rot: -3deg;--deal-delay: 0ms}.dealcardback:nth-child(2){--fan-x: 7px;--fan-y: -5px;--fan-rot: 4deg;--deal-delay: 45ms}.dealcardback:nth-child(3){--fan-x: -6px;--fan-y: 5px;--fan-rot: -5deg;--deal-delay: 90ms}.dealcardback:nth-child(4){--fan-x: 5px;--fan-y: 7px;--fan-rot: 2deg;--deal-delay: 135ms}.trickcard{text-align:center}.trickdiamond{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,auto);align-items:center;justify-items:center;gap:6px;min-height:206px}.trickdiamond-slot.top{grid-column:2;grid-row:1}.trickdiamond-slot.right{grid-column:3;grid-row:2}.trickdiamond-slot.bottom{grid-column:2;grid-row:3}.trickdiamond-slot.left{grid-column:1;grid-row:2}.trickdiamond-slot .card{transform:translate(0) rotate(0)}.trickpoints{margin-top:4px;color:var(--muted);font-size:.68rem;font-weight:900;text-align:center}.trickcard .who{margin-bottom:4px;color:var(--muted);font-size:.7rem;font-weight:900}.center .trickinfo,.bidreason{color:var(--muted);font-size:.82rem;line-height:1.25}.biddingturn{margin-bottom:6px;color:var(--blue);font-size:.84rem;font-weight:900}.bigbid,.winner-banner{color:var(--gold);font-weight:1000;line-height:1.02;text-shadow:0 4px 0 #67330f,0 0 20px rgba(255,216,106,.35)}.bigbid{font-size:2.1rem;animation:pop .21s ease both}.bigbid.quiet{color:var(--ink);text-shadow:0 2px 0 rgba(0,0,0,.28)}.bigbid.pass{color:var(--muted);text-shadow:0 3px 0 rgba(0,0,0,.35)}.winner-banner{margin-bottom:8px;font-size:1.75rem;animation:pop .24s ease both}.trumpbadge{display:flex;align-items:center;gap:10px;padding:10px 14px;border:2px solid var(--gold);border-radius:8px;background:linear-gradient(90deg,rgba(255,79,184,.18),transparent 28%),linear-gradient(180deg,#241b17,#11100f);box-shadow:0 5px #5f3716,0 18px 34px #00000059;transform:rotate(.35deg)}.trumpbadge .tb-label{color:var(--gold);font-size:.7rem;font-weight:1000;letter-spacing:0;text-transform:uppercase}.trumpbadge .tb-num{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;padding:2px 8px;border-radius:6px;background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#1d1406;font-size:1.4rem;font-weight:1000;line-height:1}.trumpbadge .tb-suit{color:var(--ink);font-size:1.55rem;font-weight:1000;line-height:1}.trumpbadge.red .tb-suit{color:#ff6f7e}.trumpbadge.black .tb-suit{color:#fff7e5}.trumpbadge .tb-x2{border-radius:5px;padding:3px 7px;background:var(--pink);color:#fff;font-size:.9rem;font-weight:1000}.meldbox{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#161922f7,#0e1018fc),var(--panel);box-shadow:var(--shadow)}.meldbox-owner{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meldbox-name{font-weight:1000;color:var(--ink)}.meldbox-meld{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meldbox-label{color:var(--gold);font-size:.7rem;font-weight:1000;text-transform:uppercase}.meldbox-meld .tb-num{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;padding:2px 8px;border-radius:6px;background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#1d1406;font-size:1.3rem;font-weight:1000;line-height:1}.meldbox-meld .tb-suit{font-size:1.3rem;font-weight:1000;line-height:1}.meldbox-meld.red .tb-suit{color:#ff6f7e}.meldbox-meld.black .tb-suit{color:#fff7e5}.meldbox-meld .tb-x2{border-radius:5px;padding:2px 6px;background:var(--pink);color:#fff;font-size:.82rem;font-weight:1000}.sortselect{min-height:34px;border:1px solid rgba(255,255,255,.18);border-radius:7px;padding:4px 10px;background:linear-gradient(180deg,#1b1f29f5,#0d0f15fa);color:var(--ink);font:700 .82rem/1 Fredoka,Segoe UI,system-ui,sans-serif;cursor:pointer}.sortselect:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.piles{display:flex;justify-content:center;gap:22px;margin:8px 0 4px}.pile{min-width:110px;cursor:pointer;text-align:center}.pile-stack{position:relative;width:62px;height:62px;margin-inline:auto;min-height:62px;overflow:visible}.pile-stack.diamond{transform:rotate(45deg)}.pilecard{position:absolute;left:50%;top:50%;width:18px;height:27px;border-radius:3px;transform-origin:50% 100%;margin:0}.pile-label,.pilehint,.small{color:var(--muted);font-size:.76rem;line-height:1.25}.pile-label{margin-top:4px;font-weight:800}.pilehint{text-align:center;margin-bottom:8px}.lasttrick{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:60;width:max-content;max-width:min(440px,92vw);margin:0;padding:14px;border-radius:10px;box-shadow:0 24px 70px #0009}.lasttrick:before{content:"";position:fixed;inset:0;background:#0000008c;z-index:-1}.lasttrick-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:.85rem;font-weight:900}.hand-wrap{margin:12px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.table .hand-wrap{display:flex;flex-direction:column;align-items:center;width:min(100%,760px);margin:0;padding-top:0;border-top:0}.hand-controls{display:flex;justify-content:center;margin-top:10px}.hand-label,.bid-current{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;color:var(--ink);font-size:.9rem;font-weight:900}.bid-current{color:var(--gold);font-size:1rem}.sortrow{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:0}.sortrow.compact .sortselect.small{min-height:30px;font-size:.78rem}.hand{--card-w: clamp(56px, 15vw, 86px);--card-h: clamp(82px, 21vw, 122px);--fan-step: calc(var(--card-w) - clamp(18px, 1.4vw, 12px));display:flex;flex-wrap:nowrap;gap:0;align-items:flex-end;justify-content:center;overflow:visible;width:fit-content;max-width:100%;margin-inline:auto;padding:2px 8px 6px;scrollbar-width:none;min-height:var(--card-h-reserve, var(--card-h));box-sizing:content-box}.hand .card{flex:0 0 auto;margin-left:calc(var(--fan-step) - var(--card-w))}.hand .card:first-child{margin-left:0}.hand .card:last-child{margin-right:0}.hand::-webkit-scrollbar{display:none}.hand.hand-backs{min-height:var(--card-h-reserve, var(--card-h));overflow:visible}.hand.hand-backs .backfan{width:fit-content;margin-top:2px}.celebration-layer{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:clamp(24px,14%,110px);gap:10px;pointer-events:none}.celebration-badge{padding:10px 18px;border-radius:999px;font-size:clamp(2rem,6vw,3.5rem);font-weight:1000;line-height:1;text-transform:uppercase;animation:celebrationPop .52s ease both}.celebration-badge.vol{color:#150f07;background:linear-gradient(180deg,var(--gold),var(--gold-2));box-shadow:0 10px 28px #0006}.celebration-badge.cross{color:#fffffff2;text-shadow:0 0 18px rgba(255,255,255,.25)}.actions,.bidcontrols,.hostbox,.inviterow,.online-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.handover-center{gap:10px}.handover-center-actions{margin-top:6px;justify-content:center;width:100%}.handover-summary{display:flex;flex-direction:column;align-items:center;gap:6px}.handover-summary .bigbid.quiet{font-size:1.35rem;line-height:1.15}.handover-sides,.handover-moves{display:flex;flex-direction:column;gap:2px;width:100%;max-width:340px}.handover-moves{margin-top:2px;padding-top:4px;border-top:1px solid rgba(255,255,255,.1)}.handover-side,.handover-move{display:flex;align-items:baseline;gap:8px;font-size:.84rem;line-height:1.2}.handover-side-label,.handover-move-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);text-align:left}.handover-side.winner .handover-side-label,.handover-side.winner .handover-side-eygu{color:var(--ink);font-weight:900}.handover-side-eygu,.handover-move-score,.handover-move-delta{flex:0 0 auto;font-variant-numeric:tabular-nums;white-space:nowrap}.handover-side-eygu{color:var(--muted)}.handover-move-score{color:var(--ink);font-weight:900}.handover-move-delta{min-width:3ch;color:var(--gold);font-weight:900;text-align:right}@media(max-width:540px){.handover-summary .bigbid.quiet{font-size:1.15rem}.handover-sides,.handover-moves{max-width:100%}.handover-side,.handover-move{font-size:.8rem}}.nexthand{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.nexthand-count{font-weight:600}.nexthand-seats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.nexthand-seat{font-size:.8em;padding:1px 6px;border-radius:10px;background:#ffffff14}.nexthand-seat.ready,.nexthand-seat.ai{background:#50c87838}.nexthand-seat.disconnected{background:#e6787838}.nexthand-seat.waiting{background:#ffffff14}.nexthand-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.nexthand-waiting{font-size:.85em;opacity:.85}.review-overlay{position:absolute;inset:0;z-index:30;display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;padding:14px;border-radius:8px;background:linear-gradient(180deg,#0a0c12f2,#08090ef7)}.review-main{flex:3 1 360px;min-width:0;display:flex;flex-direction:column;gap:10px;min-height:0}.review-aside{flex:1 1 220px;min-width:0;display:flex;min-height:0}.review-main:not(:has(.review-details)){justify-content:center}.review-aside .chatbox{width:100%;margin:0;display:flex;flex-direction:column}.review-aside .chatlog{flex:1 1 auto;max-height:none}.review-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.review-result{flex:0 1 auto;min-width:0;max-width:640px}.review-meld{font-size:1.1rem;font-weight:700;color:var(--ink);text-align:center}.review-meld-suit{font-size:1.2em;vertical-align:-.05em}.review-meld-suit.red{color:var(--card-red)}.review-controls{flex:0 1 auto}.review-details{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;width:100%;max-width:760px;margin:0 auto}.review-section-title{font-weight:800;font-size:.78rem;color:var(--muted);margin-bottom:2px;text-align:center}.review-sides{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:stretch}.review-side,.review-bordkort{flex:1 1 0;min-width:220px;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:6px 8px;background:#0000002e}.review-side.winner{border-color:var(--gold);box-shadow:0 0 0 1px #d4af3759 inset}.review-bordkort{flex-basis:100%;margin-top:6px}.review-side-head{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;font-weight:700;margin-bottom:4px}.review-side-eygu{color:var(--gold);white-space:nowrap}.review-side-cards{display:flex;flex-wrap:wrap;gap:3px;align-items:center;justify-content:center}.review-side-none{font-size:.72rem;color:var(--dim)}.review-tricks{flex:1 1 auto;min-height:0;overflow-y:auto}.reviewbtn-row{display:flex;justify-content:center;margin:4px 0}.alltricks{border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px;background:#ffffff05}.alltricks-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.alltricks-title{font-weight:900;font-size:.85rem}.alltricks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}.alltrick{border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:5px;background:#0000001f}.alltrick-num{font-weight:800;font-size:.68rem;color:var(--muted);margin-bottom:3px}.alltrick-plays{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;justify-items:center}.alltrick-plays>.alltrick-play:last-child:nth-child(odd){grid-column:1 / -1}.review-overlay .alltrick-plays .card,.review-overlay .review-chip .card{--card-w: 30px;--card-h: 42px;padding:3px;font-size:.66rem;border-width:1.5px;box-shadow:0 2px #9096a2e6}.review-overlay .review-chip .card{--card-w: 26px;--card-h: 36px}.review-chip{display:inline-flex}.alltrick-play{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px}.alltrick-play .who{max-width:40px;overflow:hidden;font-size:.56rem;color:var(--dim);text-overflow:ellipsis;white-space:nowrap}.alltrick-play.lead .card{box-shadow:0 0 0 2px #78aaffe6}.alltrick-play.winner .card{box-shadow:0 0 0 2px var(--gold),0 0 8px #d4af3799}.alltrick-mark{font-size:.52rem;font-weight:800;line-height:1.3;border-radius:6px;padding:0 4px}.alltrick-mark.lead{color:#9ec0ff}.alltrick-mark.vann{color:var(--gold)}.alltrick-play.winner .who{color:var(--gold);font-weight:800}.alltrick-winner{margin-top:3px;font-size:.64rem;font-weight:700;color:var(--gold)}@media(max-width:640px){.table-surface:has(.review-overlay) .table-wrap{display:none}.review-overlay{position:static;inset:auto;min-height:0;flex-direction:column;background:var(--felt-3, #0a0c12)}.review-main,.review-details,.review-aside{flex:0 0 auto;min-height:auto}.review-tricks{flex:0 0 auto;min-height:auto;height:auto;overflow-y:visible}}.actions,.bidcontrols,.hostbox{margin-bottom:10px}.boardcontrols{justify-content:center}.bidcontrols{width:100%;justify-content:center}.bidaction-slot{min-height:44px}.trumpcontrols button{min-width:124px}.message{margin-bottom:10px;padding:10px 12px;border:1px solid rgba(255,116,104,.7);border-radius:7px;background:#68181880;color:#ffe4df;font-size:.86rem;font-weight:800}.message.ai-pending{border-color:#dab9668c;background:#1c2a26f0;color:#f4eddb}.scoredelta{margin-top:1px;color:var(--gold);font-size:.72rem;font-weight:1000;font-variant-numeric:tabular-nums;line-height:1.05}.turn-observer{display:flex;align-items:center;justify-content:center;gap:10px;border-color:#ffbe788c;background:#483414b8;color:#ffe9cf;font-size:.82rem}.turn-observer-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.turn-observer-sep{flex:0 0 auto;opacity:.55}.turn-observer-time{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:1000}.turn-warning{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 10px;text-align:center}.turn-warning-line{display:inline-flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:6px;min-width:0}.turn-warning-text{min-width:0}.turn-warning-sep{flex:0 0 auto;opacity:.55}.turn-warning-time{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:1000}.turn-warning button{flex:0 0 auto;min-height:40px}@media(max-width:540px){.turn-warning{flex-direction:column;align-items:stretch;gap:8px}.turn-warning button{width:100%}}.takeoverbox h3{margin:0 0 6px}.takeoverrow{display:flex;flex-wrap:wrap;gap:6px}.takeoverrow .takeoverbtn{flex:1 1 auto;min-width:0}.takeoverbox.rail .takeoverrow{gap:4px}.takeoverbox.rail .takeoverbtn{flex:1 1 28%;min-height:36px;padding-inline:4px;font-size:.68rem}.takeoverbox.rail h3{font-size:.8rem}@media(max-width:540px){.takeoverbox .takeoverbtn{flex:1 1 28%;min-height:40px;padding-inline:4px;font-size:.72rem}}.table-surface:not(.tutorial-surface)>.board-status:has(>.autoplay-notice){top:auto;bottom:26%}@media(max-width:540px){.table-surface:not(.tutorial-surface)>.board-status:has(>.autoplay-notice){bottom:21%}}.autoplay-notice{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 12px;text-align:center}.autoplay-notice-text{flex:1 1 auto;min-width:0}.autoplay-notice button{flex:0 0 auto;min-height:40px}@media(max-width:540px){.autoplay-notice{flex-direction:column;align-items:stretch;gap:8px}.autoplay-notice button{width:100%}}.handover,.handoff,.setup,.online{border-radius:8px;padding:16px}.handover{margin-bottom:10px;border-color:#ff4fb86b}.handover h3,.setup h2,.online h2,.online h3{margin:0 0 10px;color:var(--gold);font-weight:1000;line-height:1.05;text-shadow:0 3px 0 #5d3212}.setup p,.online p{max-width:68ch;color:var(--muted);line-height:1.38}.setup .presets{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0}.quicklabel{font-weight:900}.setuprow{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 10px;max-width:520px;padding:8px 0;border-bottom:1px solid rgba(255,248,223,.08)}.seatno{flex:1 1 auto;font-weight:900}.seatno em{display:inline-block;margin-left:.55rem;color:var(--muted);font-size:.8rem;font-style:normal;font-weight:700}.seattoggle{flex:0 0 auto;width:96px}.seatnameinput{flex:1 1 100%;min-width:0;min-height:42px;border:1px solid rgba(255,255,255,.14);border-radius:7px;padding:8px 10px;background:#090b10e6;color:var(--ink);font:700 .9rem/1.1 Fredoka,Segoe UI,system-ui,sans-serif;box-shadow:inset 0 0 0 1px #ffffff08}.seatnameinput::placeholder{color:var(--dim)}.seatdiff{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}.seatdiff-label{color:var(--muted);font-size:.8rem;font-weight:700}.seatdiff-value{font-size:.85rem;font-weight:800}.seatdiff .seg{flex:0 0 auto;flex-wrap:nowrap;gap:4px;padding:3px;border-radius:10px}.diffbtn{min-height:38px;min-width:78px;padding:4px 12px;border-radius:8px;font-size:.85rem}.diffbtn.secondary{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.diffbtn.secondary:hover{color:var(--ink);filter:none}.diffbtn.on{background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 92%,white 12%),var(--gold));border-color:var(--gold);color:#030406;box-shadow:0 2px color-mix(in oklab,var(--gold) 55%,black)}.lseat .seatdiff{margin:4px 0 6px}.lseat .seatdiff .seg{flex:1 1 100%;min-width:0}.lseat .diffbtn{flex:1 1 0;min-width:0;padding-inline:4px;font-size:.8rem}#startmatch,#dobid,#dopass{margin-top:8px;font-size:.95rem}.sep{border:none;border-top:1px solid var(--line);margin:18px 0}.online-head{justify-content:space-between;margin-bottom:12px}.online .code{display:inline-block;border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:3px 7px;background:#ffffff08;color:var(--gold);font-family:Cascadia Mono,Consolas,monospace;font-size:.95em;letter-spacing:0}.conn{border:1px solid currentColor;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:900}.conn.connected{color:var(--green)}.conn.connecting{color:var(--gold)}.conn.disconnected{color:var(--danger)}.online-status{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff08;box-shadow:none}.online-status.lobby-status{margin-bottom:10px;border-radius:10px}.board-status-panel{margin:0;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.online-status.active,.online-status.your-turn{border-color:color-mix(in oklab,var(--gold) 42%,transparent);background:color-mix(in oklab,var(--gold) 10%,rgba(255,255,255,.03))}.online-status.your-turn .online-status-text{color:var(--gold)}.online-status.pending{border-color:color-mix(in oklab,var(--gold) 28%,transparent)}.online-status.warning{border-color:color-mix(in oklab,var(--danger) 42%,transparent);background:color-mix(in oklab,var(--danger) 8%,rgba(255,255,255,.03))}.online-status-main{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;overflow:hidden}.online-status-text{color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:1000;line-height:1.1}.online-status-detail,.online-status-error{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;line-height:1.1}.online-status-detail{color:var(--muted)}.online-status-error{color:#ffd3cc}.online-status-meta{display:flex;flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end;gap:6px;min-width:0}.online-status-chip{display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:2px 8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff0a;color:var(--ink);font-size:.68rem;font-weight:900;white-space:nowrap}.online-status-chip.conn-connected{color:var(--green)}.online-status-chip.conn-pending,.online-status-chip.pending{color:var(--gold)}.online-status-chip.conn-warning{color:var(--danger)}.online-head .conn{display:none}.invite,.namebox{margin:12px 0}.invite label,.namebox label{display:block;color:var(--muted);font-size:.82rem;font-weight:900}.inviterow{margin-top:6px}.inviterow input{flex:1 1 220px;min-width:0;min-height:42px;border:1px solid rgba(255,255,255,.14);border-radius:7px;padding:8px 10px;background:#090b10e6;color:var(--ink);font:700 .9rem/1.1 Fredoka,Segoe UI,system-ui,sans-serif}.qr{display:block;width:152px;height:152px;margin-top:10px;border:5px solid var(--card-bg);border-radius:8px;background:#fff;box-shadow:0 14px 30px #00000059;image-rendering:pixelated}.lseats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:10px 0 14px}.lseat{min-height:118px;padding:12px;border:1px solid rgba(255,248,223,.14);border-radius:8px;background:linear-gradient(180deg,#183027d9,#081612e6);box-shadow:inset 0 0 0 1px #ffffff08}.lseat.mine{border-color:var(--gold);box-shadow:0 0 0 2px #ffd86a1f,0 0 24px #ffd86a2e}.lseat.empty{border-style:dashed;opacity:.86}.lseat.disconnected{border-color:#ff7468bf}.lseat-top,.lseat-state{color:var(--muted);font-size:.76rem;font-weight:800}.lseat-name{margin:8px 0;color:var(--ink);font-size:1.05rem;font-weight:1000}.handoff{margin-bottom:10px;text-align:center;border-color:#ffd86a80}.handoff-title{margin-bottom:6px;color:var(--gold);font-size:1.4rem;font-weight:1000}.handoff-sub{margin-bottom:12px;color:var(--muted);font-size:.9rem}.log{max-height:150px;overflow-y:auto;border-radius:7px;padding:10px;background:#00000038;color:var(--muted);font-size:.8rem}.log div{padding:2px 0;border-bottom:1px solid rgba(255,255,255,.06)}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.9) rotate(-1deg)}70%{opacity:1;transform:translateY(-1px) scale(1.04) rotate(.5deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes dealIn{0%{opacity:0;transform:translateY(10px) rotate(-3deg) scale(.92)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes dealFromDeck{0%{opacity:0;transform:translate(calc(var(--fan-x, 0px) * .08),calc(12px + var(--fan-y, 0px) * .08)) rotate(calc(var(--fan-rot, 0deg) * .4)) scale(.86)}to{opacity:1;transform:translate(var(--fan-x, 0px),var(--fan-y, 0px)) rotate(var(--fan-rot, 0deg)) scale(1)}}@keyframes celebrationPop{0%{opacity:0;transform:scale(.72) translateY(10px)}55%{opacity:1;transform:scale(1.06) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:760px){#app{padding-inline:8px}.scorepanel{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;transform:none}.scorecell{padding:7px}.table{grid-template-columns:minmax(58px,.78fr) minmax(126px,1.34fr) minmax(58px,.78fr);min-height:312px;padding:10px 8px}.card{font-size:.96rem}.card .card-center{font-size:1.55rem}.backrow,.backfan{width:clamp(136px,28vw,190px);min-height:62px;margin-top:10px}.seat .back-reserve{min-height:72px}.backrow.west,.backfan.west,.backrow.east,.backfan.east{width:clamp(186px,42vw,248px);margin-top:0}.seat.west,.seat.east{min-height:258px}.declarer-banner{max-width:100%}.board-status{min-height:48px}.bigbid{font-size:1.65rem}.winner-banner{font-size:1.3rem;white-space:nowrap}.center .trickinfo{white-space:nowrap}.hand{gap:0}.trumpcontrols button{min-width:0;flex:1 1 120px}.setup{overflow-x:hidden}.setup .presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.quicklabel{grid-column:1 / -1}.setup .presets button{min-width:0;padding-inline:8px}.setuprow{max-width:none}.seatnameinput{padding-inline:8px}}@media(max-width:540px){.online-status{gap:6px;padding:5px 7px}.online-status-meta{gap:4px}.board-status-panel .online-status-detail{display:none}.board-status-panel .online-status-text{font-size:.8rem}.board-status-panel .online-status-chip{max-width:42vw;overflow:hidden;text-overflow:ellipsis}.table{grid-template-areas:". north ." "west center east" "south south south"}.south-area{justify-self:center;width:100%}.table .hand-wrap{width:100%;align-items:center}.table .hand-label,.table .bid-current{width:100%;justify-content:center;text-align:center}.hand{--card-w: clamp(40px, calc(20.3vw - 18.5px) , 72px);--card-h: clamp(62px, calc(31.7vw - 28.9px) , 112px);--fan-step: calc(var(--card-w) - clamp(20px, 5.5vw, 26px));justify-content:center;padding-inline:0}.hand .card{padding:4px 5px;font-size:clamp(15px,calc(var(--card-w, 50px) * .3),21px)}.hand .card .corner-top,.hand .card .corner-bottom{display:flex;flex-direction:column;align-items:flex-start;line-height:.88}.hand .card .card-suit{font-size:1.16em}.card.playable,.card.declaration-chosen{outline-offset:0}.card.playable{outline-width:2px}.card.playable{box-shadow:0 3px #725f19f2,0 0 10px color-mix(in oklab,var(--pink) 22%,transparent),0 10px 18px #00000057}}@media(max-width:460px){.topbar{align-items:start;flex-direction:column;gap:4px}.scorepanel{grid-template-columns:repeat(2,minmax(0,1fr))}.table{grid-template-areas:". north ." "west center east" "south south south";grid-template-columns:minmax(44px,.68fr) minmax(128px,1.64fr) minmax(44px,.68fr);gap:8px;min-height:0;padding:10px 6px 12px}.seat.west,.seat.east{min-height:228px}.seathead{min-height:44px;margin-bottom:12px}.center{justify-self:center;width:100%}.center .trick{min-height:96px}.south-area{justify-self:center;width:100%}.table .hand-wrap{width:100%;align-items:center}.table .hand-label,.table .bid-current{width:100%;justify-content:center;text-align:center}.hand{--card-w: clamp(40px, calc(20.3vw - 18.5px) , 72px);--card-h: clamp(62px, calc(31.7vw - 28.9px) , 112px);--fan-step: calc(var(--card-w) - clamp(20px, 5.5vw, 26px));justify-content:center;padding-inline:0}.backrow,.backfan{width:clamp(122px,30vw,158px);min-height:60px}.seat .back-reserve{min-height:70px}.backrow.west,.backfan.west,.backrow.east,.backfan.east{width:clamp(124px,32vw,154px);margin-top:0}.piles{gap:10px}.pile{min-width:0;flex:1}.pile-stack{width:54px;height:54px;min-height:54px}.online-head{align-items:stretch}.setup,.online,.handoff,.handover{padding:14px 10px}.inviterow input{flex-basis:100%}}@media(hover:hover)and (pointer:fine){.card.playable:hover{transform:translate(var(--fan-x, 0),calc(var(--fan-y, 0) - 8px)) rotate(var(--fan-rot, 0deg)) scale(1.025)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.rules-row{display:flex;justify-content:center;margin:6px 0 2px}button.rulesbtn{background:#ffffff0f;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;box-shadow:none;opacity:.85}button.rulesbtn:hover{opacity:1;transform:none}.rules-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.rules-modal[hidden]{display:none}.reconnect-prompt-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:#0009}.reconnect-prompt{width:min(420px,100%);padding:18px 18px 16px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(180deg,#161922fc,#0e1018),var(--panel);box-shadow:var(--shadow);text-align:center}.reconnect-prompt h3{margin:0 0 8px;font-size:19px;color:var(--gold)}.reconnect-prompt p{margin:0 0 14px;color:var(--ink)}.reconnect-prompt-actions{display:flex;flex-direction:column;gap:8px}.reconnect-prompt-actions button{width:100%}.rules-backdrop{position:absolute;inset:0;background:#0009}.rules-dialog{position:relative;z-index:1;width:min(440px,100%);max-height:min(82vh,720px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:14px 16px 16px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(180deg,#161922fc,#0e1018),var(--panel);box-shadow:var(--shadow)}.rules-dialog h2{margin:0 36px 8px 0;font-size:19px;color:var(--gold)}.rules-section{margin-bottom:10px}.rules-section:last-of-type{margin-bottom:0}.rules-section h3{margin:0 0 3px;font-size:14px;color:var(--pink)}.rules-list{margin:0;padding-left:18px;font-size:12.5px;line-height:1.45}.rules-intro{margin:0 0 6px;font-size:12.5px;line-height:1.4;opacity:.82}.rules-rank-hint{margin:0 0 6px;text-align:center;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;opacity:.6}.rules-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:10px 6px;padding:8px 4px 0;justify-items:center;--card-w: 44px;--card-h: 62px}@media(max-width:480px){.rules-cards{grid-template-columns:repeat(3,1fr)}}.rules-card{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;min-width:0;margin:0}.rules-cardwrap{position:relative;display:inline-flex}.rules-card .card{font-size:.78rem;box-shadow:0 2px #9096a2f2,0 6px 12px #00000059}.rules-card figcaption{font-size:11px;line-height:1.2;text-align:center;overflow-wrap:normal;hyphens:manual;opacity:.9}.rules-rank{position:absolute;top:-7px;left:-7px;min-width:17px;height:17px;padding:0 3px;border-radius:999px;background:var(--gold);color:#1a1206;font-size:10px;font-weight:900;line-height:17px;text-align:center;box-shadow:0 1px 3px #00000073}.rules-badge{position:absolute;top:-8px;right:-8px;min-width:21px;height:21px;padding:0 4px;border-radius:999px;background:var(--pink);color:#1a1206;font-size:12px;font-weight:900;line-height:21px;text-align:center;box-shadow:0 1px 3px #00000080}.rules-symbols{margin:8px 0 0;text-align:center;font-size:18px;font-weight:800;letter-spacing:.5px;white-space:nowrap}.rules-symbols .sym-rank{color:var(--ink)}.rules-symbols .sym-suit{color:#0c0d11;text-shadow:0 0 1px rgba(255,255,255,.95),0 0 2px rgba(255,255,255,.55)}.rules-symbols .sym-suit.red{color:var(--card-red);text-shadow:0 0 1px rgba(255,255,255,.95),0 0 2px rgba(255,255,255,.55)}.rules-symbols .sym-sep{margin:0 3px;color:var(--ink);opacity:.4;font-weight:600}.rules-cards.eygu{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px 8px}.rules-cards.eygu .rules-card{width:auto}.rules-card-wide{grid-column:1 / -1;flex-basis:100%}.rules-cardwrap.group{display:inline-flex;gap:6px}button.rules-close{position:absolute;top:10px;right:10px;width:32px;height:32px;padding:0;border-radius:999px;background:#ffffff14;color:var(--ink);border:1px solid var(--line);box-shadow:none;font-size:15px;line-height:1}.seg{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#0000004d}.modeselect{margin-bottom:12px}.modeselect .modebtn{font-size:1.05rem;font-weight:800;letter-spacing:.02em}.modeselect .quicklabel{flex:0 0 auto;margin:0 4px;color:var(--muted);font-size:.8rem}.seg .modebtn{flex:1 1 auto;min-height:44px;border-color:transparent;border-radius:9px;box-shadow:none}.seg .modebtn.secondary{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.seg .modebtn.secondary:hover{color:var(--ink);filter:none}.modebtn.on{background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 92%,white 12%),var(--gold));border-color:var(--gold);color:#030406;box-shadow:0 3px color-mix(in oklab,var(--gold) 55%,black)}.modebox{margin:12px 0}.moderow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.chatbox{margin:12px 0}.chatlog{height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:8px;margin-bottom:8px;border:1px solid var(--line);border-radius:8px;background:#ffffff05}.chatmsg{font-size:.86rem;line-height:1.3;word-break:break-word}.chatname{font-weight:800;color:var(--gold)}.chat-empty{color:var(--muted)}.chat-status{min-height:1.1em;margin-top:4px;color:var(--gold)}@media(max-width:460px){.chatlog{height:118px}}.onlinegroup{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffff05}.onlinegroup>button{width:100%}.onlinegroup .small{margin:6px 0 2px}.onlinegroup.disabled{opacity:.5;filter:grayscale(.4)}.online-note{margin:8px 0 2px}.openrooms{margin-top:10px}.openrooms-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.openrooms-title{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.openrooms-head #findopenrooms{width:auto;flex:0 0 auto}.openroomslist{display:flex;flex-direction:column;gap:6px;max-height:242px;overflow-y:auto;scrollbar-gutter:stable}.openroom{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#ffffff05}.openroom-code{font-weight:800;letter-spacing:.04em}.openroom-meta{flex:1 1 auto;min-width:0;font-size:.78rem;color:var(--muted)}.openroom [data-join-room]{flex:0 0 auto;color:#1d1406}.openrooms-empty{margin:4px 0 2px;color:var(--muted)}.lane-sep{display:flex;align-items:center;gap:10px;margin:14px 2px;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.lane-sep:before,.lane-sep:after{content:"";flex:1 1 auto;border-top:1px solid rgba(255,255,255,.16)}.lane-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}.lane{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#00000038}@media(min-width:761px){.setup-shell{min-height:660px;display:flex;flex-direction:column}.setup-shell>footer.site-footer{margin-top:auto}.lane-grid{align-items:stretch;min-height:560px}}.lane.primary{border-color:color-mix(in oklab,var(--gold) 45%,transparent);background:radial-gradient(120% 90% at 50% 0%,color-mix(in oklab,var(--gold) 9%,transparent),transparent 60%),#00000038}.lane>h2,.lane>h3{margin-top:0}.lane .onlinegroup:first-of-type{margin-top:0}.start-tabs{display:none}.start-tab{flex:1 1 0;min-height:44px;border-color:transparent;background:#00000040;box-shadow:none;color:var(--muted)}.start-tab.on{background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 92%,white 12%),var(--gold));border-color:var(--gold);color:#030406;box-shadow:0 3px color-mix(in oklab,var(--gold) 55%,black)}.lobby-shell button:not(.secondary):not(:disabled){color:#000}.lobby-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.9fr);gap:18px;align-items:start}.lobby-main{min-width:0}.lobby-main .modebox:first-child,.lobby-main>h3:first-child{margin-top:0}.rail{display:flex;flex-direction:column;gap:12px;min-width:0}.railcard{padding:12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--panel-2),var(--panel))}.railcard.invite,.railcard .chatbox{margin:0}.railcard .chatbox h3{margin-top:0}.lobby-main .lseats{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.lane-grid,.lobby-grid{grid-template-columns:1fr}.start-tabs{display:flex;gap:6px;margin-bottom:12px}.setup-shell.tab-online .lane[data-lane=local],.setup-shell.tab-local .lane[data-lane=online]{display:none}}.table.two{--board-center-slot: calc(2*clamp(68px, 17vw, 92px) + 68px) }.table.three,.table.four{--board-center-slot: 208px}.table.four{--board-center-slot: 256px}@media(min-width:600px){.table.three{--board-center-slot: 272px}}.table.two .center,.table.three .center,.table.four .center{min-height:var(--board-center-slot)}.table.three{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"north-left north-right" "center center" "south south"}.seat.north-left{grid-area:north-left;justify-content:center;align-items:flex-end;min-height:210px}.seat.north-right{grid-area:north-right;justify-content:center;align-items:flex-start;min-height:210px}.table.three .seat.north-left .seathead,.table.three .seat.north-right .seathead{text-align:center}.table.three .seat.north-left .backfan,.table.three .seat.north-right .backfan{transform-origin:center center}.table.three .seat.north-left .backfan{transform:rotate(120deg) scale(.78)}.table.three .seat.north-right .backfan{transform:rotate(240deg) scale(.78)}.table.three .hand{--card-w: clamp(38px, 8.4vw, 60px);--card-h: clamp(56px, 12.4vw, 88px)}@media(min-width:600px){.table.three .hand{--card-w: clamp(46px, 10.6vw, 82px);--card-h: clamp(68px, 15.6vw, 120px)}.table.three .seat.north-left{align-items:flex-start}.table.three .seat.north-right{align-items:flex-end}.table.three .seat.north-left .backfan{transform:rotate(135deg) scale(.98);margin-left:26px}.table.three .seat.north-right .backfan{transform:rotate(225deg) scale(.98);margin-right:26px}}.bordkort-deal{display:flex;justify-content:center;gap:8px;margin:8px 0;min-height:60px}.bordkort-deal .cardback{position:relative;width:40px;height:58px;border:1px solid rgba(255,255,255,.5);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 45%),linear-gradient(180deg,#8e1825,#67111a);box-shadow:inset 0 0 0 2px #ffffff14,0 5px 12px #00000047}.bordkort{display:flex;justify-content:center;gap:8px;margin:8px 0 6px}.bordkort-card{min-height:0;padding:0;width:40px;height:58px;border-radius:6px;border:1px solid rgba(255,255,255,.5);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 45%),linear-gradient(180deg,#8e1825,#67111a);box-shadow:inset 0 0 0 2px #ffffff14,0 5px 12px #00000047}.bordkort-card:first-child{transform:rotate(-6deg)}.bordkort-card:last-child{transform:rotate(6deg)}button.bordkort-card.selected{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold),0 5px 12px #00000047;transform:translateY(-4px)}.bordkort-area{display:flex;flex-direction:column;align-items:center;gap:2px;margin:4px 0 6px}.bordkort-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.bordkort-cards{display:flex;justify-content:center;gap:8px}.bordkort-exchange{font-size:.72rem;color:var(--muted);margin-top:2px}.exchange-selected{display:flex;flex-direction:column;align-items:center;gap:4px;margin:6px 0}.exchange-selected-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.exchange-selected-cards{display:flex;gap:6px}.exchange-selected-cards .card{--card-w: 44px;--card-h: 64px;cursor:pointer}.hand .card.selectable.selected{transform:translateY(-22px);z-index:50;opacity:.55}.drawn-reveal{display:flex;justify-content:center;gap:8px;margin:8px 0}.drawn-reveal .card{--card-w: 52px;--card-h: 74px}.center .trick.three .trickcard.left{grid-column:1;grid-row:1;margin:0}.center .trick.three .trickcard.right{grid-column:3;grid-row:1;margin:0}.center .trick.three .trickcard.bottom{grid-column:2;grid-row:3}.trickdiamond.three{min-height:188px}.trickdiamond.three .trickdiamond-slot.left{grid-column:1;grid-row:1}.trickdiamond.three .trickdiamond-slot.right{grid-column:3;grid-row:1}.trickdiamond.three .trickdiamond-slot.bottom{grid-column:2;grid-row:3}.trickdiamond.three .who{font-size:.72rem;color:var(--muted);margin-bottom:2px;text-align:center}.trickdiamond.three .trickdiamond-slot.winner .card{outline:2px solid var(--gold);outline-offset:1px}.scorepanel.three{grid-template-columns:repeat(3,minmax(0,1fr))}.center .trick.two{row-gap:34px;min-height:0;--card-w: clamp(46px, 11.5vw, 62px);--card-h: clamp(68px, 17vw, 92px)}.table.two .trickbanner .winner-banner{font-size:1.2rem;margin:0}.table.two .trickbanner .trickinfo{font-size:.8rem}.table.two .play-center .trickbanner{position:static;order:2;top:auto;left:auto;right:auto;transform:none;margin-top:8px;min-height:1.4rem}.table.two .play-center .trick.two{order:1}.table.two{grid-template-columns:minmax(0,1fr);grid-template-areas:"north" "center" "south"}.table.two .seat.north{grid-area:north;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:150px}.table.two .seat.north .seathead{text-align:center}.table.two .seat.north .backfan{transform:rotate(180deg) scale(.96);transform-origin:center center}.table.two .south-area{flex-direction:column;align-items:center}.table.two .hand{--card-w: clamp(48px, 12vw, 64px);--card-h: clamp(70px, 17.5vw, 94px)}.scorepanel.two{grid-template-columns:repeat(2,minmax(0,1fr))}.back-reserve{min-height:88px;display:flex;justify-content:center}.tablepiles{--tablecard-w: clamp(48px, 12vw, 64px);--tablecard-h: calc(var(--tablecard-w) * 1.46);--hidden-peek: 16px;display:flex;justify-content:center;gap:16px;margin:6px 0 4px}.tablepile{position:relative;width:calc(var(--tablecard-w) + var(--hidden-peek));height:calc(var(--tablecard-h) + var(--hidden-peek))}.tablepile.empty{border:1px dashed rgba(255,255,255,.16);border-radius:6px;width:calc(var(--tablecard-w) + var(--hidden-peek));height:calc(var(--tablecard-h) + var(--hidden-peek))}.tablepile .cardback.tablehidden{position:absolute;top:var(--hidden-peek);left:var(--hidden-peek);width:var(--tablecard-w);height:var(--tablecard-h);border:1px solid rgba(255,255,255,.55);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 45%),linear-gradient(180deg,#8e1825,#67111a);box-shadow:inset 0 0 0 2px #ffffff14,0 6px 14px #00000057}.tablepile .card{--card-w: var(--tablecard-w);--card-h: var(--tablecard-h);position:absolute;top:0;left:0}.tablepile .card.playable{cursor:pointer}.tablepile .card.disabled{opacity:1;cursor:default;filter:grayscale(.55) brightness(.7)}.table.two .seat.north .tablepile .card{top:var(--hidden-peek);left:var(--hidden-peek)}.table.two .seat.north .tablepile .cardback.tablehidden{top:0;left:0}.card.selectable{cursor:pointer}.card.selectable.selected{outline:2px solid var(--accent, #5ad);outline-offset:1px;transform:translateY(-8px)}.exchange-hint{font-size:13px;opacity:.8;margin:4px 0}.exchangecontrols{margin-top:6px}@media(max-width:460px){.scorepanel.three{grid-template-columns:repeat(3,minmax(0,1fr))}}.tutorial-shell{max-width:940px;margin:0 auto}.tutorial-shell h2{margin:0 0 12px}.tutorial-entry{margin-top:10px}.tutorial-entry-note{margin-top:6px;color:var(--muted)}.tutorial-intro{margin:0 0 18px;font-size:15px;color:var(--muted)}.tutorial-modules{display:grid;gap:22px}.tutorial-section{display:grid;gap:10px}.tutorial-section-title{margin:0;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tutorial-module-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tutorial-module-card{position:relative;padding:14px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d}.tutorial-module-card.is-active{cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .05s ease}.tutorial-module-card.is-active:hover{border-color:#ffffff47;background:#ffffff17}.tutorial-module-card.is-active:active{transform:translateY(1px)}.tutorial-module-card.is-active:focus-visible{outline:2px solid var(--accent, #e0a93c);outline-offset:2px}.tutorial-module-card.is-inactive{opacity:.55;border-style:dashed;border-color:#ffffff17;background:#ffffff05;filter:grayscale(.35);cursor:default}.tutorial-module-title{font-size:15px;font-weight:700}.tutorial-module-sub{margin-top:5px;font-size:13px;color:var(--muted)}.tutorial-module-badge{display:inline-block;margin-top:10px;padding:3px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--gold-2, #d9a441);background:#d9a44124;border:1px solid rgba(217,164,65,.4);border-radius:999px}@media(max-width:640px){.tutorial-module-list{grid-template-columns:1fr}}.tutorial-table-shell{display:grid;gap:8px;max-width:none}.tutorial-surface{min-height:clamp(560px,84dvh,760px);margin-bottom:0;width:100%;display:flex;flex-direction:column;justify-content:space-between}.tutorial-surface .message{width:100%}.tutorial-board-wrap{position:relative;flex:1;min-height:0}.tutorial-surface .table{min-height:clamp(500px,66dvh,620px)}.kleyvi-coach{position:absolute;inset:0;height:var(--kleyvi-board-h, 100%);z-index:8;pointer-events:none}.kleyvi-coach-avatar{position:absolute;border-radius:50%;object-fit:cover;object-position:50% 12%;background:var(--felt-3);border:2px solid var(--pink);box-shadow:0 0 0 2px #ffffff1f,0 4px 10px #0006;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}.kleyvi-coach-avatar[data-coach-advance=true]{pointer-events:auto;cursor:pointer}.kleyvi-coach-bubble{position:absolute;padding:7px 12px 8px 16px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:linear-gradient(180deg,#10121af5,#090b11fa);box-shadow:0 6px 14px #0006;pointer-events:none}.kleyvi-coach-bubble[data-coach-advance=true]{pointer-events:auto;cursor:pointer}.kleyvi-coach-next,.kleyvi-coach-cta{pointer-events:auto}.kleyvi-coach-bubble--tail-left{border-radius:0 12px 12px}.kleyvi-coach-bubble--tail-right{border-radius:12px 0 12px 12px}.kleyvi-coach-preview-badge{display:block;margin-bottom:4px;font-size:.6em;font-weight:900;letter-spacing:.06em;color:var(--gold-2)}.kleyvi-coach-editable .kleyvi-coach-bubble{user-select:none;-webkit-user-select:none}.kleyvi-coach-l1{font-size:1em;font-weight:700;line-height:1.3}.kleyvi-coach-l2{margin-top:2px;font-size:.85em;line-height:1.3;color:var(--muted)}.kleyvi-coach-next{display:inline-block;margin-top:7px;padding:5px 9px;font-family:Fredoka,Segoe UI,system-ui,sans-serif;font-weight:700;font-size:.85em;line-height:1;border-radius:8px;background:linear-gradient(180deg,var(--gold),var(--gold-2))}.kleyvi-coach-next--hint{min-height:0;border:none;background:none;box-shadow:none;padding:0;border-radius:0;font-weight:600;font-size:.78em;text-transform:none;letter-spacing:normal;color:var(--muted)}.kleyvi-coach-next--hint:hover{transform:none;filter:none;color:var(--ink)}.kleyvi-coach-next--hint:active{transform:none;box-shadow:none}.kleyvi-coach-editable .kleyvi-coach-avatar,.kleyvi-coach-editable .kleyvi-coach-bubble{pointer-events:auto;cursor:grab;outline:1px dashed color-mix(in oklab,var(--pink) 70%,transparent);outline-offset:2px;touch-action:none;will-change:transform}.kleyvi-coach-editable[data-preview-viewport=mobile] .kleyvi-coach-avatar,.kleyvi-coach-editable[data-preview-viewport=mobile] .kleyvi-coach-bubble{outline-color:color-mix(in oklab,var(--gold-2) 85%,transparent)}.kleyvi-coach-editable .kleyvi-coach-avatar:active,.kleyvi-coach-editable .kleyvi-coach-bubble:active{cursor:grabbing}.kleyvi-coach-editable .kleyvi-coach-next{cursor:pointer}.kleyvi-coach-editor{position:fixed;right:12px;bottom:12px;z-index:50;width:clamp(320px,26vw,440px);max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow-y:auto;padding:14px 16px 16px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:linear-gradient(180deg,#10121af7,#090b11fc);box-shadow:0 18px 36px #00000080;font-size:.88rem;line-height:1.35}.kleyvi-coach-editor-head{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.kleyvi-coach-editor-scene{color:var(--muted);font-size:.8rem}.kleyvi-coach-editor-viewport{display:flex;gap:6px;margin-top:4px}.kleyvi-coach-editor-viewport button{flex:1;min-width:0;padding:8px 10px;font-size:.8rem}.kleyvi-coach-editor-viewport button.active{background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#1d1406}.kleyvi-coach-editor-source-row{margin-top:4px;color:var(--muted)}.kleyvi-coach-editor-source-row.active{color:var(--text)}.kleyvi-coach-editor-source-ok{color:color-mix(in oklab,var(--good, #5ad17a) 85%,white 5%)}.kleyvi-coach-editor-source-warn{color:var(--gold-2, #d9a441)}.kleyvi-coach-editor-run{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--muted)}.kleyvi-coach-editor-size-presets{flex-direction:row;flex-wrap:wrap;gap:6px}.kleyvi-coach-editor-size-presets button{flex:1;min-width:0;padding:8px 10px;font-size:.8rem}.kleyvi-coach-editor-size-presets button.active{background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#1d1406}.kleyvi-coach-editor-row{display:flex;flex-direction:column;gap:2px;margin-top:8px}.kleyvi-coach-editor-row select,.kleyvi-coach-editor-row input[type=range]{width:100%}.kleyvi-coach-editor-readout{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:var(--muted)}.kleyvi-coach-editor-draft-head{display:flex;align-items:center;gap:6px;margin-top:12px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.kleyvi-coach-editor-draft-badge{padding:1px 6px;border-radius:999px;background:color-mix(in oklab,var(--pink) 30%,transparent);color:var(--pink);font-size:.72rem;text-transform:none;letter-spacing:0}.kleyvi-coach-editor-row input[type=text],.kleyvi-coach-editor-row input[type=number],.kleyvi-coach-editor-row textarea{width:100%;padding:8px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:var(--text);font:inherit}.kleyvi-coach-editor-xy{align-items:center;flex-wrap:wrap;row-gap:8px}.kleyvi-coach-editor-xy-group{display:flex;flex:1;align-items:center;gap:4px}.kleyvi-coach-editor-xy-group input[type=number]{width:100%;min-width:64px;padding:7px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:var(--text);font:inherit}.kleyvi-coach-editor-row textarea{resize:vertical;min-height:60px}.kleyvi-coach-editor-row input[type=range]{height:22px}.kleyvi-coach-editor-row select{padding:7px 8px}.kleyvi-coach-editor-actions button{padding:8px 10px}.kleyvi-coach-editor-neutral .kleyvi-coach-editor-hint{color:var(--muted);margin:10px 0 0}.kleyvi-coach-editor-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.kleyvi-coach-editor-actions button{min-width:0;padding:5px 8px;font-size:.68rem}.kleyvi-coach-editor-hint{margin:8px 0 0;color:var(--muted);font-size:.68rem}.tutorial-mobile-authoring{display:block}.kleyvi-mobile-frame{width:390px;min-width:390px;margin:6px auto 28px;border:10px solid #0a0b0f;border-radius:34px;box-shadow:0 0 0 2px var(--gold-2, #d9a441),0 22px 54px #0009;background:var(--felt-1, #0b0d13);overflow:hidden}.kleyvi-mobile-frame-label{text-align:center;font-size:.66rem;font-weight:800;letter-spacing:.1em;padding:5px 0;color:#101010;background:var(--gold-2, #d9a441)}.kleyvi-mobile-viewport{width:100%;height:760px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.kleyvi-mobile-viewport::-webkit-scrollbar{width:0;height:0;display:none}.kleyvi-authoring-host{display:flex;align-items:flex-start;gap:20px;padding:8px 16px 24px;overflow-x:auto}.kleyvi-authoring-host>*{flex:none}.kleyvi-authoring-host .kleyvi-coach-editor{position:sticky;top:12px;right:auto;bottom:auto;max-height:calc(100vh - 24px);max-width:none}.kleyvi-mobile-frame--live{box-sizing:content-box;margin:6px 0 24px}html.coach-preview-child{scrollbar-width:none}html.coach-preview-child::-webkit-scrollbar{width:0;height:0;display:none}.kleyvi-coach-preview-frame{display:block;width:390px;min-width:390px;max-width:390px;height:844px;min-height:844px;max-height:844px;flex:none;border:0;background:var(--felt-1, #0b0d13)}.kleyvi-mobile-viewport .tutorial-mobile-game{display:flex;flex-direction:column;gap:8px;padding:6px}.tutorial-mobile-game .table{grid-template-areas:". north ." "west center east" "south south south";grid-template-columns:minmax(44px,.68fr) minmax(128px,1.64fr) minmax(44px,.68fr);max-width:none;gap:10px;padding:18px 10px 16px}.tutorial-mobile-game .card{font-size:.96rem}.tutorial-mobile-game .card .card-center{font-size:1.55rem}.tutorial-mobile-game .seat.west,.tutorial-mobile-game .seat.east{min-height:228px}.tutorial-mobile-game .seathead{min-height:44px;margin-bottom:12px}.tutorial-mobile-game .center{justify-self:center;width:100%}.tutorial-mobile-game .center .trick{min-height:96px}.tutorial-mobile-game .south-area{justify-self:center;width:100%}.tutorial-mobile-game .table .hand-wrap{width:100%;align-items:center}.tutorial-mobile-game .table .hand-label,.tutorial-mobile-game .table .bid-current{width:100%;justify-content:center;text-align:center}.tutorial-mobile-game .hand{gap:0;justify-content:center;padding-inline:0}.tutorial-mobile-game .seat .back-reserve{min-height:70px}.tutorial-mobile-game .backrow,.tutorial-mobile-game .backfan{width:122px;min-height:60px;margin-top:10px}.tutorial-mobile-game .backrow.west,.tutorial-mobile-game .backfan.west,.tutorial-mobile-game .backrow.east,.tutorial-mobile-game .backfan.east{width:124px;margin-top:0}.kleyvi-mobile-viewport .tutorial-surface{min-height:480px;padding:14px 12px 12px;max-width:none;margin-inline:auto}.kleyvi-mobile-viewport .tutorial-surface .table{min-height:430px}.tutorial-mobile-game .tutorial-board-overlay{width:min(320px,calc(100% - 16px));padding:10px 12px}.tutorial-mobile-game .tutorial-board-overlay--stikkarar{width:min(340px,calc(100% - 12px));padding:12px 12px 14px}.tutorial-mobile-game .tutorial-board-overlay--stikkarar .tutorial-stikkari-cards{gap:6px 5px;margin:10px 0 4px;--card-w: 42px;--card-h: 60px}.tutorial-mobile-game .tutorial-board-overlay--stikkarar .tutorial-stikkari-cards .card{font-size:.72rem}.tutorial-mobile-game .tutorial-board-overlay--trump-choice{width:fit-content;padding:8px 12px}.tutorial-mobile-game .tutorial-board-actions button{min-width:96px}.tutorial-mobile-game .tutorial-board-actions button[data-tutorial-meld]{min-width:48px}.tutorial-mobile-game .winner-banner{font-size:1.1rem;margin-bottom:5px}.tutorial-mobile-game .center .trickinfo{font-size:.72rem}.tutorial-banner{display:inline-block;margin-bottom:8px;padding:4px 10px;border-radius:6px;background:color-mix(in oklab,var(--warn, #c93) 30%,transparent);border:1px solid color-mix(in oklab,var(--warn, #c93) 55%,transparent);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tutorial-step{margin:8px 0 12px;padding:10px 12px;border-radius:8px;background:#ffffff0f}.tutorial-step-topic{font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.tutorial-step-text{margin-top:4px;font-size:15px}.tutorial-feedback{margin-top:6px;font-size:13px;color:var(--warn, #e0a93c)}.tutorial-help{margin-top:6px;font-size:12px;opacity:.8}.tutorial-board-overlay{position:absolute;left:50%;z-index:7;width:min(360px,calc(100% - 24px));padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:linear-gradient(180deg,#10121af5,#090b11fa);box-shadow:0 18px 36px #0000006b;backdrop-filter:blur(8px);transform:translate(-50%)}.tutorial-board-overlay.top{top:14px}.tutorial-board-overlay.center{top:50%;transform:translate(-50%,-50%);min-height:0;display:block}.tutorial-board-overlay.bottom{bottom:122px}.tutorial-board-overlay[data-overlay-kind=result]{z-index:9}.tutorial-board-overlay-label{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}.tutorial-board-overlay-text{margin-top:4px;font-size:1rem;font-weight:800;line-height:1.25}.tutorial-board-overlay-help,.tutorial-overlay-note{margin-top:6px;font-size:.78rem;line-height:1.3;color:var(--muted)}.tutorial-overlay-note.warn{color:var(--gold)}.tutorial-stikkari-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:6px 4px;margin:10px 0 4px;--card-w: 38px;--card-h: 56px}.tutorial-stikkari-cards .card{position:relative;cursor:default;font-size:.7rem;width:var(--card-w);height:var(--card-h)}.stikkari-slot{display:flex;justify-content:center}.tutorial-eyes-ref{display:flex;flex-direction:column;gap:3px;margin:8px auto 2px;max-width:360px}.tutorial-eyes-ref-title{font-weight:700;text-align:center;margin-bottom:4px;opacity:.9}.tutorial-eyes-ref .rules-cards.eygu{--card-w: 38px;--card-h: 54px;gap:8px 6px;padding-top:6px}.tutorial-eyes-ref .rules-card figcaption{font-size:10px}.tutorial-board-overlay--stikkarar{width:min(750px,calc(100% - 24px));padding:24px 28px 26px}.tutorial-board-overlay--stikkarar .tutorial-stikkari-cards{gap:12px 10px;margin:18px 0 6px;--card-w: 104px;--card-h: 148px}.tutorial-board-overlay--stikkarar .tutorial-stikkari-cards .card{font-size:1.3rem}.tutorial-board-overlay--trump-choice{width:fit-content;padding:10px 14px}.tutorial-board-overlay--trump-choice .tutorial-board-actions{margin-top:0}.tutorial-board-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}.tutorial-board-actions button{min-width:122px}.tutorial-board-actions button[data-tutorial-meld]{min-width:56px}.tutorial-start-screen{display:flex;flex-direction:column;justify-content:center}.tutorial-start-screen .tutorial-start-heading{text-align:center;margin:0 0 4px;font-size:clamp(1.6rem,2.4vw + 1.2rem,2.1rem)}.tutorial-start-screen .kleyvi-coach-bubble{padding-bottom:12px}.kleyvi-coach-cta{display:block;width:100%;margin-top:12px;padding:12px 16px;min-height:44px;font-family:Fredoka,Segoe UI,system-ui,sans-serif;font-weight:700;font-size:1em;border-radius:8px;background:linear-gradient(180deg,var(--gold),var(--gold-2))}.kleyvi-start-coach-wrap{position:relative;margin-bottom:12px}.tutorial-game{display:flex;flex-direction:column;gap:12px}.tutorial-siderail{max-width:940px;margin-inline:auto}.tutorial-siderail .scorecell .value{position:relative;display:inline-block}.tutorial-score-delta{position:absolute;left:100%;margin-left:4px;top:50%;transform:translateY(-50%);font-size:.72em;font-weight:900;color:var(--gold, #d9a441);white-space:nowrap;pointer-events:none}.tutorial-meta{font-size:12px;opacity:.75;margin-bottom:8px}.tutorial-trick{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.tutorial-trick.empty{font-size:12px;opacity:.6;margin-bottom:10px}.tutorial-trick-who{font-size:11px;opacity:.7;margin-bottom:2px}.tutorial-hand-label{font-size:12px;opacity:.75;margin:6px 0 4px}.tutorial-hand{display:flex;flex-wrap:wrap;gap:8px;--card-w: 48px;--card-h: 72px}.card.tutorial-recommended{outline:3px solid color-mix(in oklab,var(--accent, #5ad) 80%,white 10%);outline-offset:1px}.card.tutorial-recommended.tutorial-recommended--gold{outline-color:var(--gold)}.tutorial-controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.tutorial-result{margin:12px 0;font-size:14px}.tutorial-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tutorial-progress{margin:6px 0 10px}.tutorial-progress-line{font-size:12px;opacity:.8;text-transform:uppercase;letter-spacing:.03em}.tutorial-pips{display:flex;gap:6px;margin-top:6px}.tutorial-pip{width:22px;height:6px;border-radius:3px;background:#ffffff2e}.tutorial-pip.done{background:color-mix(in oklab,var(--accent, #5ad) 70%,white 5%)}.tutorial-pip.current{background:var(--accent, #5ad);box-shadow:0 0 8px color-mix(in oklab,var(--accent, #5ad) 60%,transparent)}.tutorial-complete{margin:10px 0;padding:14px;border-radius:8px;background:#ffffff0f}.tutorial-complete-title{font-size:16px;font-weight:700;margin-bottom:6px}.tutorial-complete-summary{font-size:14px;margin-bottom:12px}.tutorial-freeplay-rules-screen{display:flex;flex-direction:column;justify-content:center}.tutorial-freeplay-rules{width:100%;max-width:560px;margin:0 auto;padding:16px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d}.tutorial-freeplay-rule{margin:0 0 12px;font-size:1rem;line-height:1.45}.tutorial-freeplay-rule:last-child{margin-bottom:0}.tutorial-freeplay-rules-coach{position:relative;min-height:330px;margin-top:8px}@media(max-width:760px){.tutorial-freeplay-rules-screen{overflow-x:clip;overflow-y:visible}.tutorial-freeplay-rules-coach{min-height:560px}}.tutorial-freeplay-summary-coach{position:relative;width:100%;max-width:560px;min-height:300px;margin:0 auto 12px}.tutorial-freeplay-rules-actions{width:100%;max-width:560px;margin:16px auto 0}.tutorial-freeplay-rules-actions .kleyvi-coach-cta{max-width:320px;margin-inline:auto}.tutorial-freeplay-fact-list{margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:5px;font-size:.98rem;line-height:1.35}.tutorial-freeplay-moment{position:absolute;inset:0;z-index:9;pointer-events:none}.tutorial-freeplay-summary{flex:0 0 auto;width:100%;max-width:760px;margin:0 auto;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;text-align:left}.tutorial-freeplay-summary-avatar{flex:0 0 auto;width:72px;height:72px;object-fit:contain}.tutorial-freeplay-summary-body{flex:1 1 auto;min-width:0}.tutorial-freeplay-summary-l1{font-weight:800;font-size:1.05rem;margin-bottom:2px}.tutorial-freeplay-summary-l2{color:var(--muted);font-size:.95rem;margin-bottom:8px}.tutorial-freeplay-summary .tutorial-freeplay-fact-list{margin-bottom:8px}.tutorial-freeplay-summary-hint{font-size:.92rem;color:var(--muted)}.tutorial-freeplay-summary-actions{margin:10px 0 0}.reviewbtn-row button.tutorial-freeplay-highlight{box-shadow:0 0 0 2px var(--gold, #d9a53b),0 0 14px #d9a53b73}@media(max-width:640px){.tutorial-freeplay-summary{flex-direction:column;align-items:center;text-align:center}.tutorial-freeplay-summary .tutorial-freeplay-fact-list{text-align:left}}@media(max-width:640px){.tutorial-start-screen{min-height:calc(100dvh - 150px)}.tutorial-surface{min-height:clamp(540px,88dvh,700px);padding:14px 12px 12px;max-width:none;margin-inline:auto}.tutorial-surface .table{min-height:clamp(480px,68dvh,580px);padding:18px 10px 16px;gap:10px}.tutorial-board-overlay{width:min(320px,calc(100% - 16px));padding:10px 12px}.tutorial-board-overlay.bottom{bottom:112px}.tutorial-board-overlay-text{font-size:.94rem}.tutorial-board-actions button{min-width:104px}.tutorial-surface .tutorial-board-overlay--stikkarar{width:min(340px,calc(100% - 12px));padding:12px 12px 14px}.tutorial-surface .tutorial-board-overlay--stikkarar .tutorial-stikkari-cards{gap:6px 5px;margin:10px 0 4px;--card-w: 42px;--card-h: 60px}.tutorial-surface .tutorial-board-overlay--stikkarar .tutorial-stikkari-cards .card{font-size:.72rem}.tutorial-surface .tutorial-board-overlay--trump-choice{width:fit-content;padding:8px 12px}.tutorial-surface .tutorial-board-actions button[data-tutorial-meld]{min-width:48px}.tutorial-surface .winner-banner{font-size:1.1rem;margin-bottom:5px}.tutorial-surface .center .trickinfo{font-size:.72rem}.kleyvi-coach-bubble{padding:6px 10px 7px 13px}.kleyvi-coach-next{padding:4px 7px}}.site-footer{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);text-align:center}.site-footer a{color:var(--muted);font-size:.9rem;text-decoration:none}.site-footer-sep{margin:0 10px;color:var(--dim)}.site-footer a:hover{color:var(--ink);text-decoration:underline}.feedback-callout{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:var(--muted)}.feedback-callout p{margin:0;line-height:1.45;color:inherit}.feedback-callout button{flex:0 0 auto}.feedback-inline{justify-content:flex-start;padding:2px 0 0;font-size:.88rem}.setup-footer-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.setup-footer-row>.feedback-inline{margin-top:0;justify-self:start}.feedback-inline .feedback-open{min-height:0;min-width:0;padding:0;background:transparent;border:0;box-shadow:none;color:var(--muted);text-transform:none;font:inherit;text-decoration:underline}.feedback-inline .feedback-open:focus-visible,.feedback-inline .feedback-open:hover{transform:none;text-decoration:underline;color:var(--ink);filter:none}.setup-footer-row>.site-footer{justify-self:center;margin-top:0;padding-top:0;border-top:0}.setup-footer-row:after{content:"";justify-self:stretch}.feedback-rules{padding:14px 16px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:radial-gradient(120% 120% at 0% 0%,rgba(255,255,255,.06),transparent 60%),linear-gradient(180deg,#161922f7,#0e1018fc);box-shadow:var(--shadow);color:var(--ink)}.feedback-modal[hidden]{display:none}.feedback-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px}.feedback-backdrop{position:absolute;inset:0;background:#000000bd;backdrop-filter:blur(4px)}.feedback-dialog{position:relative;width:min(100%,720px);max-height:min(90dvh,820px);overflow:auto;padding:18px 18px 16px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:radial-gradient(140% 120% at 0% 0%,rgba(255,255,255,.05),transparent 58%),linear-gradient(180deg,#12151efa,#0a0c12fc);box-shadow:0 28px 70px #0000008f;z-index:1}.feedback-dialog h2{margin:0 0 8px}.feedback-intro{margin:0 0 14px;color:var(--muted);line-height:1.45}.feedback-close{position:absolute;top:12px;right:12px;min-width:36px;min-height:36px;padding:0;border-radius:999px;font-size:1.1rem}.feedback-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.feedback-tab{min-height:38px;padding:8px 12px;border-radius:999px;background:#ffffff0d;color:var(--muted);border-color:#ffffff1f;box-shadow:none;text-transform:none}.feedback-tab.is-active{color:#18110a;background:linear-gradient(180deg,var(--gold),var(--gold-2));border-color:#ffffff2e}.feedback-form{display:grid;gap:12px}.feedback-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-subtabs .feedback-tab{border-radius:10px;white-space:normal}.feedback-attachment{display:flex;gap:8px;align-items:center}.feedback-attachment svg{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}.feedback-hand-preview{min-width:0;display:grid;gap:7px;padding-top:10px}.feedback-deal-cards{display:flex;flex-wrap:wrap;gap:5px}.feedback-deal-cards .card{width:36px;height:52px;flex:0 0 36px;margin:0;transform:none;font-size:12px}.gameplay-caption-status{font-size:.75rem;font-weight:400;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px}.hand-label:has(.gameplay-caption-status){flex-wrap:wrap}.feedback-choices{display:grid;gap:10px;margin:18px 0}.feedback-back{margin:4px 0 14px;padding:6px 12px}.feedback-panel h3{margin:0;font-size:1.05rem}.feedback-example{color:var(--muted);opacity:.78;font-size:.87rem;line-height:1.5;border-left:2px solid var(--line);padding-left:12px;margin:0}.feedback-example p{margin:0 0 8px}.feedback-example p:last-child{margin-bottom:0}.feedback-hand-choice{border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}.feedback-hand-choice legend{padding:0 5px;font-size:.9rem}.feedback-panel .feedback-follow{display:flex;gap:10px;align-items:center}.feedback-follow input{width:18px;height:18px;flex:0 0 18px}.feedback-dialog{width:min(100%,600px);box-sizing:border-box}.feedback-panel textarea,.feedback-panel input,.feedback-panel select{min-width:0;box-sizing:border-box}.feedback-panel select{width:100%}.feedback-success{padding:20px 0;color:var(--ink)}.feedback-panel{display:grid;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff09}.feedback-panel label{display:grid;gap:6px;color:var(--ink);font-size:.92rem;font-weight:700}.feedback-panel-intro{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45}.feedback-panel input,.feedback-panel textarea,.feedback-panel select{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 11px;background:#080a0ff2;color:var(--ink);font:inherit;resize:vertical}.feedback-panel select{padding-right:38px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(237,240,255,.78) 50%),linear-gradient(135deg,rgba(237,240,255,.78) 50%,transparent 50%),linear-gradient(to right,transparent,transparent);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px),100% 0;background-size:6px 6px,6px 6px,2.5em 2.5em;background-repeat:no-repeat;color-scheme:dark}.feedback-panel input::placeholder,.feedback-panel textarea::placeholder{color:color-mix(in oklab,var(--muted) 78%,white 8%);font-weight:400}.feedback-note{margin:0;color:var(--muted);font-size:.88rem;line-height:1.45}.feedback-note.warn,.feedback-status.warn{color:var(--pink)}.feedback-actions{display:flex;flex-wrap:wrap;gap:10px}.feedback-status{min-height:1.2em;margin:0;color:var(--gold-2);font-size:.9rem}.rules-page{max-width:860px;margin:0 auto;padding:6px 4px 28px;line-height:1.55}.rules-page h2{margin:0 0 10px}.rules-lead{margin:0 0 10px;color:var(--muted)}.rules-accordion{display:grid;gap:12px;margin-top:16px}.rules-accordion-item{overflow:clip;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:radial-gradient(110% 120% at 0% 0%,rgba(255,255,255,.04),transparent 52%),linear-gradient(180deg,#161922f5,#0e1018fc);box-shadow:var(--shadow)}.rules-accordion-item summary{list-style:none;cursor:pointer;padding:14px 16px;color:var(--ink);font-size:1rem;font-weight:800}.rules-accordion-item summary::-webkit-details-marker{display:none}.rules-accordion-item summary:after{content:"＋";float:right;color:var(--gold-2)}.rules-accordion-item[open] summary:after{content:"−"}.rules-accordion-item[open] summary{border-bottom:1px solid rgba(255,255,255,.08)}.rules-accordion-body{padding:14px 16px 16px}.rules-accordion-body p:first-child{margin-top:0}.rules-accordion-body p:last-child{margin-bottom:0}.rules-list,.rules-variant-list{margin:8px 0 12px;padding-left:22px}.rules-list li,.rules-variant-list li{margin:4px 0}.rules-variant-list li strong{color:var(--ink)}.rules-table-wrap{overflow-x:auto;margin:12px 0 14px}.rules-table{width:100%;border-collapse:collapse;font-size:.86rem}.rules-table th,.rules-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.09);vertical-align:top}.rules-table th{color:var(--muted);font-weight:700;text-align:left}.rules-table td:first-child{color:var(--gold-2);font-weight:800;white-space:nowrap}.privacy{max-width:720px;margin:0 auto;padding:6px 4px 28px;line-height:1.55;color:var(--ink);overflow-wrap:anywhere}.privacy-back{display:inline-block;margin-bottom:14px;color:var(--muted);font-size:.92rem;text-decoration:none}.privacy-back:hover{color:var(--ink);text-decoration:underline}.privacy h2{margin:0 0 14px}.privacy h3{margin:22px 0 8px;color:var(--gold-2)}.privacy h4{margin:18px 0 6px;font-size:1rem}.privacy p{margin:10px 0}.privacy p:first-of-type{color:var(--muted);font-size:.92rem}.privacy a:not(.privacy-back){color:var(--gold-2);text-underline-offset:3px}.privacy ul{margin:8px 0;padding-left:22px}.privacy li{margin:4px 0}.hagtol{max-width:820px;margin:0 auto;padding:6px 4px 28px}.hagtol h2{margin:0 0 14px}.hagtol-lead,.hagtol-note{color:var(--muted);line-height:1.55}.hagtol-grid{display:grid;gap:12px;margin:18px 0}.hagtol-grid-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.hagtol-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.hagtol-grid-splits{grid-template-columns:repeat(2,minmax(0,1fr))}.hagtol-card,.hagtol-panel{position:relative;background:linear-gradient(180deg,#161922f7,#0e1018fc),var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.hagtol-card{padding:16px 14px}.hagtol-label{color:var(--dim);font-size:.78rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.hagtol-value{margin-top:8px;color:var(--gold-2);font-size:clamp(1.7rem,5vw,2.35rem);font-weight:900;line-height:1;text-shadow:0 2px 0 rgba(82,62,16,.95)}.hagtol-panel{padding:16px 14px 14px}.hagtol-section{display:grid;gap:12px;margin:18px 0}.hagtol-section>h3{margin:0;color:var(--ink);font-size:1rem}.hagtol-panel h3{margin:0 0 12px;color:var(--ink);font-size:1rem}.hagtol-rows{display:grid;gap:8px}.hagtol-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.hagtol-row:first-child{padding-top:0;border-top:0}.hagtol-row span{color:var(--muted)}.hagtol-row strong{color:var(--ink);font-size:1rem}@media(max-width:640px){.hagtol-grid-metrics,.hagtol-grid-4,.hagtol-grid-splits{grid-template-columns:1fr}.feedback-callout{flex-direction:column;align-items:stretch}.feedback-dialog{padding:16px 14px 14px}.rules-table th,.rules-table td{white-space:nowrap}}@media(max-width:640px){.setup-footer-row{grid-template-columns:1fr;justify-items:center;gap:10px}.setup-footer-row>.site-footer{justify-self:center;text-align:center;order:1}.setup-footer-row>.feedback-inline{justify-self:center;text-align:center;order:2;width:100%}.setup-footer-row:after{display:none}}@media(max-width:640px){.setup-footer-row{grid-template-columns:1fr;justify-items:center;gap:10px}.setup-footer-row>.site-footer{justify-self:center;text-align:center;order:1}.setup-footer-row>.feedback-inline{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap;width:100%;order:2;text-align:center}.setup-footer-row>.feedback-inline p{margin:0;white-space:nowrap}.setup-footer-row>.feedback-inline .feedback-open{white-space:nowrap}.setup-footer-row:after{display:none}}.admin-hagtol-windows{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-breakdown{display:flex;flex-direction:column;gap:2px;padding:2px 0 10px;font-size:.78rem;color:var(--muted)}.admin-lifetime-rows .hagtol-row{padding-bottom:2px}.admin-section-heading{margin:24px 0 10px;font-size:.95rem}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:24px}.admin-table{width:100%;border-collapse:collapse;font-size:.82rem;white-space:nowrap}.admin-table th{text-align:left;padding:6px 10px 6px 0;border-bottom:1px solid var(--border, #ccc);color:var(--muted);font-weight:600}.admin-table td{padding:5px 10px 5px 0;border-bottom:1px solid var(--border, #eee);color:var(--ink)}.admin-table tbody tr:last-child td{border-bottom:none}@media(max-width:640px){.admin-hagtol-windows{grid-template-columns:1fr}}.admin-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:12px 0 6px;padding:12px 14px;background:linear-gradient(180deg,#161922f7,#0e1018fc),var(--panel);border:1px solid var(--line);border-radius:10px}.admin-filter-field{display:flex;flex-direction:column;gap:4px;min-width:140px;flex:1 1 140px}.admin-filter-field>span{color:var(--dim);font-size:.76rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.admin-filter-field select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;font-size:.95rem}.admin-filter-note{flex:1 1 100%;margin:0;color:var(--muted)}.admin-filter-warning{flex:1 1 100%;margin:0;color:var(--gold-2);font-size:.85rem;font-weight:700}.admin-low{color:var(--gold-2);font-weight:900}.admin-derived-n{color:var(--muted);font-weight:400;font-size:.82rem;white-space:nowrap}.hagtol-row.admin-selected{background:#d4af3714;border-radius:6px}.admin-selected>td{background:#d4af3714}.admin-coverage-table td,.admin-coverage-table th{vertical-align:top}.admin-cov-note{white-space:normal;min-width:220px;color:var(--muted);font-size:.78rem}.admin-row-off td{opacity:.55}.admin-legend{margin:10px 0 18px;padding:10px 12px;border-left:3px solid var(--line)}.admin-unavailable{padding:14px;margin:18px 0}.admin-unavailable>summary{cursor:pointer;font-weight:700;color:var(--ink)}@media(max-width:640px){.admin-filter-field{flex:1 1 100%}.admin-derived-n{white-space:normal}}.topbar-glyph{width:34px;height:22px;flex:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.5))}.logo-link{display:inline-flex;align-items:center;gap:9px}#app:has(.setup-shell) .topbar{display:none}.start-brand{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:14px}.brand-crop{position:relative;top:20px}.brand-glyph{width:238px;height:155px;flex:none;filter:drop-shadow(0 10px 22px rgba(0,0,0,.5))}.brand-word{font-weight:700;font-size:2.4rem;line-height:1;color:#fff;letter-spacing:.02em;text-shadow:0 2px 0 #67330f,0 0 24px color-mix(in oklab,var(--gold-2) 40%,transparent)}.brand-tag{font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}@media(max-width:560px){.brand-glyph{width:168px;height:110px}.brand-crop{top:12px}.brand-word{font-size:1.95rem}}.deco{position:absolute;inset:0 0 auto;height:260px;z-index:0;overflow:hidden;pointer-events:none}.deco .ds{position:absolute;width:30px;height:30px}.deco .w{fill:#fff;opacity:.05}.deco .r{fill:#d8232a;opacity:.06}.setup-shell>*:not(.deco),.lobby-shell>*:not(.deco){position:relative;z-index:1}.lane-title{display:flex;align-items:center;gap:10px}.livepill{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border:1px solid color-mix(in oklab,var(--pink) 45%,transparent);border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:none;color:var(--pink);white-space:nowrap}.livepill .dot{width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 color-mix(in oklab,var(--pink) 70%,transparent);animation:livepill-pulse 2s infinite}@keyframes livepill-pulse{0%{box-shadow:0 0 color-mix(in oklab,var(--pink) 60%,transparent)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.livepill .dot{animation:none}}.activity{width:100%;min-width:0;padding:12px 14px;border:1px solid color-mix(in oklab,var(--gold) 26%,rgba(255,255,255,.1));border-radius:8px;background:#ffffff08}.activity-heading{margin:0 0 10px;font-size:.8rem;font-weight:700;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}.activity-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px 16px}.activity-item{display:flex;flex-direction:column;gap:2px;min-width:0}.activity-num{font-size:1.45rem;font-weight:700;line-height:1.1;color:var(--gold);font-variant-numeric:tabular-nums}.activity-label{font-size:.8rem;color:var(--muted);line-height:1.35}.lane-foot{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:14px}.lane-foot .learn{margin-top:0}.epoch-count{color:var(--muted);font-weight:400}.epoch-sub{margin:0 0 8px;font-size:.82rem;font-weight:700;color:var(--muted)}.news{max-width:640px;margin:20px auto 0}.news-heading{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;border-radius:8px;font-size:.95rem;font-weight:700;letter-spacing:.02em;color:var(--ink);cursor:pointer;list-style:none;user-select:none}.news-heading::-webkit-details-marker{display:none}.news-heading:after{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-2px) rotate(45deg);transition:transform .14s ease}.news[open] .news-heading:after{transform:translateY(1px) rotate(225deg)}.news-heading:hover{background:#ffffff0a}.news-heading:focus-visible{outline:2px solid var(--pink);outline-offset:2px}@media(prefers-reduced-motion:reduce){.news-heading:after{transition:none}}.news-new{padding:1px 7px;border-radius:999px;border:1px solid color-mix(in oklab,var(--pink) 55%,transparent);background:color-mix(in oklab,var(--pink) 16%,transparent);color:var(--pink);font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.5}.news-list{display:grid;gap:10px;margin:10px 0 0}.news-older{margin:2px 0 0}.news-older-toggle{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:.82rem;font-weight:700;color:var(--muted);cursor:pointer;list-style:none;user-select:none}.news-older-toggle::-webkit-details-marker{display:none}.news-older-toggle:after{content:"";width:6px;height:6px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-2px) rotate(45deg);transition:transform .14s ease}.news-older[open] .news-older-toggle:after{transform:translateY(1px) rotate(225deg)}.news-older-toggle:hover{color:var(--ink);background:#ffffff0a}.news-older-toggle:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.news-older-list{display:grid;gap:10px;margin:10px 0 0}@media(prefers-reduced-motion:reduce){.news-older-toggle:after{transition:none}}.news-item{padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff08}.news-date{display:block;font-size:.72rem;color:var(--muted)}.news-title{margin:2px 0 4px;font-size:.9rem;font-weight:700;color:var(--ink)}.news-body{margin:0;font-size:.84rem;color:color-mix(in oklab,var(--ink) 82%,transparent);line-height:1.4}.news-link{display:inline-block;margin-top:6px;font-size:.82rem;font-weight:700;color:var(--pink);text-decoration:none}.news-link:hover{text-decoration:underline}.news-empty{text-align:center;color:var(--muted)}.learn{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:16px}.learn-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 20px;border:1px solid color-mix(in oklab,var(--pink) 42%,rgba(255,255,255,.2));border-radius:8px;background:#ffffff0a;box-shadow:0 3px #00000059;color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap}.learn-btn:hover{border-color:color-mix(in oklab,var(--pink) 70%,transparent);color:var(--pink)}.learn-ico{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--pink);color:#030406;font-size:.8rem;font-weight:700}@media(max-width:560px){.learn{flex-direction:column;gap:8px;text-align:center}}.setup-shell button,.setup-shell .learn-btn,.lobby-shell button{white-space:nowrap}.lobby-main .lseat,.lseat{background:radial-gradient(130% 120% at 0% 0%,rgba(255,255,255,.03),transparent 58%),#00000042}.lseat.empty{border-style:solid;opacity:1;background:radial-gradient(130% 120% at 0% 0%,color-mix(in oklab,#1f7a44 22%,transparent),transparent 58%),#00000042}.lseat.mine{background:radial-gradient(130% 120% at 0% 0%,color-mix(in oklab,var(--gold) 22%,transparent),transparent 60%),#00000042}.tprehand-center{display:flex;align-items:center;justify-content:center;min-width:0}.center.tprehand-center--wide{grid-column:1 / -1;grid-row:2}.tprehand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;max-width:100%;padding:4px 2px;text-align:center}.tprehand-title{font-size:clamp(.95rem,3.4vw,1.25rem);font-weight:800;letter-spacing:.01em;text-wrap:balance}.tprehand-caption{font-size:clamp(.76rem,2.9vw,.92rem);line-height:1.4;opacity:.88;max-width:34ch;text-wrap:balance}.tprehand-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 2px;--card-w: clamp(30px, 8.6vw, 46px);--card-h: clamp(44px, 12.6vw, 66px)}.tprehand-row .card{width:var(--card-w);height:var(--card-h);position:relative;cursor:default;font-size:clamp(.6rem,2.1vw,.78rem)}.tprehand-cardcell{display:flex;flex-direction:column;align-items:center;gap:2px}.tprehand-chev{font-size:.8rem;opacity:.5;padding:0 1px}.tprehand-chev--wrap{transform:rotate(90deg);padding:2px 0}.tprehand-badge{font-size:.66rem;font-weight:800;opacity:.85}.tprehand-row--trump{--card-w: clamp(26px, 7vw, 38px);--card-h: clamp(38px, 10.2vw, 54px)}.tprehand-rankrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}.tprehand-rank{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:5px 7px;border-radius:5px;font-weight:800;font-size:clamp(.78rem,2.9vw,.95rem);background:#ffffff17;border:1px solid rgba(255,255,255,.16)}.tprehand-rank.is-out{opacity:.45;text-decoration:line-through;background:transparent}.tprehand-rankrow--out{gap:4px}.tprehand-deckmath{display:flex;align-items:baseline;justify-content:center;gap:8px;font-weight:800}.tprehand-deckmath-part,.tprehand-deckmath-eq{opacity:.7;font-size:clamp(.8rem,3vw,.98rem)}.tprehand-deckmath-total{font-size:clamp(1.15rem,4.6vw,1.6rem);color:var(--gold, #d9b45b)}.tprehand-trick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,auto);align-items:center;justify-items:center;column-gap:8px;--card-w: clamp(34px, 9.6vw, 50px);--card-h: clamp(50px, 14vw, 72px)}.tprehand-trick .card{width:var(--card-w);height:var(--card-h);cursor:default;font-size:clamp(.62rem,2.2vw,.8rem)}.tprehand-trickslot--north{grid-column:2;grid-row:1}.tprehand-trickslot--west{grid-column:1;grid-row:2}.tprehand-trickslot--east{grid-column:3;grid-row:2}.tprehand-trickslot--south{grid-column:2;grid-row:3}.tprehand-trickslot.is-empty{width:clamp(34px,9.6vw,50px);height:clamp(50px,14vw,72px);border-radius:7px;border:1px dashed rgba(255,255,255,.28)}.tprehand-trickslot.is-winner .card{outline:2px solid var(--gold, #d9b45b);outline-offset:1px}.tprehand-hand{display:flex;align-items:center;justify-content:center;padding:6px 0}.tprehand-handcard{--card-w: clamp(46px, 13vw, 66px);--card-h: clamp(68px, 19vw, 96px)}.tprehand-handcard .card{width:var(--card-w);height:var(--card-h);font-size:clamp(.74rem,2.7vw,.95rem)}.tprehand-handcard.is-playable .card{cursor:pointer;outline:2px solid var(--gold, #d9b45b);outline-offset:2px;animation:tprehand-pulse 1.8s ease-in-out infinite}.tprehand-handcard.is-playable:focus-visible .card{outline-width:3px}.tprehand-handcard.is-spent{opacity:.28}@keyframes tprehand-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.tprehand-handcard.is-playable .card{animation:none}}.tprehand-eyes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px;justify-items:center;--card-w: clamp(28px, 8vw, 42px);--card-h: clamp(41px, 11.6vw, 60px)}.tprehand-eye{margin:0;display:flex;flex-direction:column;align-items:center;gap:3px}.tprehand-eyes .card{width:calc(var(--card-w) * 1.22);height:calc(var(--card-h) * 1.22);cursor:default;font-size:clamp(.66rem,2.4vw,.86rem)}.tprehand-eyecap{display:flex;align-items:baseline;gap:4px;font-size:clamp(.64rem,2.3vw,.78rem)}.tprehand-eyelabel{opacity:.78}.tprehand-eyevalue{font-weight:800;color:var(--gold, #d9b45b)}.tprehand-seat .seathead{justify-content:center}.tprehand-seat.is-ours .seatname,.tprehand-seat.is-theirs .seatname{padding:3px 10px;border-radius:999px;font-weight:800}.tprehand-seat.is-ours .seatname{background:color-mix(in oklab,var(--gold, #d9b45b) 30%,transparent);border:1px solid color-mix(in oklab,var(--gold, #d9b45b) 60%,transparent)}.tprehand-seat.is-theirs .seatname{background:#ffffff17;border:1px solid rgba(255,255,255,.2);opacity:.8}.tprehand-southseat{padding:3px 10px;border-radius:999px;font-weight:800;font-size:.8rem;background:color-mix(in oklab,var(--gold, #d9b45b) 30%,transparent);border:1px solid color-mix(in oklab,var(--gold, #d9b45b) 60%,transparent)}.tprehand-seat.is-quiet .seatname{opacity:.45;font-weight:600}.tprehand-southreserve .hand{overflow:visible;justify-content:center;align-items:center}.tprehand-row--big{--card-w: clamp(38px, 11.4vw, 60px);--card-h: clamp(56px, 16.6vw, 86px);gap:6px 3px}.tprehand-row--big .card{font-size:clamp(.68rem,2.6vw,.9rem)}.tprehand-row--big .tprehand-chev{font-size:.95rem;opacity:.6}.tprehand-row.is-hidden{visibility:hidden}.tprehand-row.is-revealing .tprehand-cardcell{animation:tprehand-reveal .32s ease-out both}.tprehand-row.is-revealing .tprehand-cardcell:nth-of-type(1){animation-delay:0ms}.tprehand-row.is-revealing .tprehand-cardcell:nth-of-type(2){animation-delay:.13s}.tprehand-row.is-revealing .tprehand-cardcell:nth-of-type(3){animation-delay:.26s}.tprehand-row.is-revealing .tprehand-cardcell:nth-of-type(4){animation-delay:.39s}.tprehand-row.is-revealing .tprehand-cardcell:nth-of-type(5){animation-delay:.52s}.tprehand-row.is-revealing .tprehand-cardcell:nth-of-type(6){animation-delay:.65s}@keyframes tprehand-reveal{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}.tprehand-trickslot.is-landing{animation:tprehand-land .26s ease-out both}@keyframes tprehand-land{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tprehand-row.is-revealing .tprehand-cardcell,.tprehand-trickslot.is-landing{animation:none}}.cardback-highlight{outline:2px solid var(--gold, #d9b45b);outline-offset:-1px;box-shadow:0 0 10px -2px var(--gold, #d9b45b)}.tbanka{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:10px 14px}.tbanka-option{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff0d;opacity:.55}.tbanka-option.is-chosen{opacity:1;border-color:color-mix(in oklab,var(--gold, #d9b45b) 60%,transparent);background:color-mix(in oklab,var(--gold, #d9b45b) 14%,transparent)}.tbanka-label{font-weight:800;font-size:clamp(.82rem,3vw,1rem);letter-spacing:.01em}.tbanka-packets{display:flex;align-items:center;gap:10px}.tbanka-packet{display:grid;grid-template-columns:repeat(4,auto);gap:3px;padding:5px 6px;border-radius:5px;border:1px dashed rgba(255,255,255,.3)}.tbanka-packet i{display:block;width:clamp(9px,2.6vw,13px);height:clamp(13px,3.7vw,18px);border-radius:2px;background:linear-gradient(160deg,#ffffff80,#ffffff38)}.tbanka-option.is-chosen .tbanka-packet{border-color:color-mix(in oklab,var(--gold, #d9b45b) 70%,transparent)}.tprehand--score{gap:6px;padding:6px 4px;max-width:460px;margin-inline:auto}.tscore{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;min-width:0}.tscore-step{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;gap:10px}.tscore-eyes{gap:8px;flex-wrap:wrap}.tscore-eyerow{display:flex;align-items:baseline;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d}.tscore-eyerow.is-us{border-color:#ffffff57;background:#ffffff1a}.tscore-eyerow.is-us .tscore-side,.tscore-eyerow.is-us .tscore-val{opacity:1}.tscore-side{font-weight:800;font-size:clamp(.72rem,2.6vw,.86rem);opacity:.85}.tscore-val{font-weight:700;font-size:clamp(.82rem,3vw,1rem);font-variant-numeric:tabular-nums}.tscore-outcome{font-weight:800;font-size:clamp(.92rem,3.6vw,1.15rem);letter-spacing:.01em;line-height:1.25;text-wrap:balance}.tscore-outcome.is-largeWin{color:var(--gold, #d9b45b)}.tscore-outcome.is-otherTeam{color:#ffffffd1}.tscore-outcome.is-tie{font-size:clamp(.78rem,3vw,.95rem);font-weight:700}.tscore-trump{font-size:clamp(.78rem,2.9vw,.95rem);opacity:.9}.tscore-points{font-weight:800;font-size:clamp(1rem,4.2vw,1.3rem);font-variant-numeric:tabular-nums}.tscore-points-row{display:flex;align-items:baseline;justify-content:center;gap:8px}.tscore-points-suits{font-size:clamp(.92rem,3.6vw,1.15rem);letter-spacing:.06em}.tscore-points-arrow{opacity:.6;font-size:clamp(.8rem,3vw,.95rem)}.tscore-points-val{font-weight:800;font-size:clamp(1rem,4.2vw,1.3rem);font-variant-numeric:tabular-nums}.tscore-tricks{font-weight:700;font-size:clamp(.8rem,3vw,.98rem);color:var(--gold, #d9b45b)}.tscore-carry{font-weight:600;font-size:clamp(.72rem,2.7vw,.86rem);line-height:1.3;text-wrap:balance;opacity:.9}.tscore-outcome.is-vol{color:var(--gold, #d9b45b);letter-spacing:.06em}.tscore-points.is-carry{font-weight:600;font-size:clamp(.72rem,2.7vw,.86rem);line-height:1.3;text-wrap:balance;opacity:.9}.tscore-move{gap:8px;flex-wrap:wrap;margin-top:2px}.tscore-cell{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:84px;padding:5px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;opacity:.62}.tscore-cell.is-moving{opacity:1;border-color:color-mix(in oklab,var(--gold, #d9b45b) 65%,transparent);background:color-mix(in oklab,var(--gold, #d9b45b) 14%,transparent)}.tscore-cell-label{font-weight:800;font-size:clamp(.68rem,2.4vw,.8rem);opacity:.85}.tscore-nums{display:flex;align-items:baseline;gap:5px;font-variant-numeric:tabular-nums}.tscore-from{font-size:clamp(.86rem,3.2vw,1.05rem);font-weight:700;opacity:.5;text-decoration:line-through}.tscore-arrow{font-size:clamp(.82rem,3vw,1rem);opacity:.7}.tscore-to{font-size:clamp(1.15rem,4.8vw,1.5rem);font-weight:900;line-height:1}.tscore-cell.is-moving .tscore-to{color:var(--gold, #d9b45b);animation:tscore-land .62s ease-out both}.tscore-to.is-still{font-weight:700;font-size:clamp(.95rem,3.6vw,1.2rem)}@keyframes tscore-land{0%{transform:translateY(-8px) scale(.9);opacity:0}60%{transform:translateY(2px) scale(1.06);opacity:1}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.tscore-cell.is-moving .tscore-to{animation:none}}.tutorial-stikkari-box{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.tutorial-stikkari-title{font-weight:800;font-size:clamp(.78rem,3vw,.95rem);letter-spacing:.02em;color:var(--gold, #d9b45b)}.tutorial-rules-target{outline:2px solid var(--gold, #d9b45b);outline-offset:2px;box-shadow:0 0 14px -2px var(--gold, #d9b45b);animation:tutorial-rules-pulse 1.4s ease-in-out 3}@keyframes tutorial-rules-pulse{0%,to{box-shadow:0 0 14px -2px var(--gold, #d9b45b)}50%{box-shadow:0 0 22px 2px var(--gold, #d9b45b)}}@media(prefers-reduced-motion:reduce){.tutorial-rules-target{animation:none}}.tprehand--banka{justify-content:flex-end;padding-top:min(40%,200px)}.tbanka-choice{margin-top:2px;font-weight:700;font-size:clamp(.76rem,2.9vw,.92rem);color:var(--gold, #d9b45b)}@media(max-width:640px){.card.tutorial-recommended{outline-offset:0;outline-width:2px}}.tprehand-row{--card-w: clamp(38px, 9.4vw, 68px);--card-h: clamp(56px, 13.8vw, 98px);gap:6px 3px}.tprehand-row .card{font-size:clamp(.7rem,2.2vw,1rem)}@media(max-width:640px){.tprehand-row{--card-w: clamp(46px, 15vw, 62px);--card-h: clamp(66px, 22vw, 90px)}.tprehand--deck .tprehand-row--deck,.tprehand--order .tprehand-row{max-width:calc(var(--card-w) * 4 + 40px);margin-inline:auto}.tprehand--order .tprehand-chev{flex:0 0 auto}}@media(max-width:640px){.tprehand--deck,.tprehand--order,.tprehand--trumporder{position:absolute;left:10px;right:10px;top:calc(var(--kleyvi-bubble-bottom, 46%) + 8px);bottom:calc(100% - var(--kleyvi-board-bottom, 100%) + 12px);width:auto;justify-content:center;gap:8px;padding:0}.tprehand--trumporder .tprehand-row{--card-w: clamp(41px, 13vw, 52px);--card-h: clamp(60px, 19vw, 76px)}.tprehand--trumporder .tprehand-row--stikkarar,.tprehand--trumporder .tprehand-row--trump{max-width:calc(var(--card-w) * 4 + 56px);margin-inline:auto}}.tprehand-row--deckout{margin-top:8px;opacity:.72}@media(max-width:640px){.tprehand-row--deckout{--card-w: clamp(38px, 12vw, 50px);--card-h: clamp(54px, 17.6vw, 72px);margin-top:6px}}.tprehand-cardcell--out{position:relative}.tprehand-outcard{width:var(--card-w);height:var(--card-h);position:relative;cursor:default;font-size:clamp(.7rem,2.2vw,1rem);background:var(--card-bg);color:var(--card-red);border:1px solid var(--card-edge);border-radius:6px;filter:grayscale(.45)}.tprehand-outslash{position:absolute;left:50%;top:50%;width:calc(1.42 * var(--card-h));height:2px;background:var(--danger);border-radius:2px;transform:translate(-50%,-50%) rotate(-58deg);pointer-events:none}@media(max-width:640px){.tutorial-stikkari-cards{grid-template-columns:repeat(3,1fr);--card-w: 54px;--card-h: 78px}}@media(min-width:980px){.tprehand--trumporder .tprehand-row{--card-w: 56px;--card-h: 80px}}.tscore-suitcard{display:inline-flex;align-items:center;justify-content:center;width:26px;height:36px;background:var(--card-bg);border:1px solid var(--card-edge);border-radius:4px;box-shadow:0 1px 2px #00000059;vertical-align:middle;cursor:default}.tscore-suitcard-glyph{font-size:20px;line-height:1}.tscore-trump{display:flex;align-items:center;justify-content:center;gap:7px}.tscore-points-suits{display:inline-flex;align-items:center;gap:3px}.tscore-points-suits .tscore-suitcard{width:21px;height:29px}.tscore-points-suits .tscore-suitcard-glyph{font-size:16px}.tscore[data-tscore-outcome=vol]{border-radius:12px;outline:2px solid color-mix(in oklab,var(--gold-2) 70%,transparent);outline-offset:6px;animation:tscore-vol-glow 2.4s ease-in-out infinite}.tscore[data-tscore-outcome=vol] .tscore-outcome{color:var(--gold-2);letter-spacing:.06em}@keyframes tscore-vol-glow{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 26px color-mix(in oklab,var(--gold-2) 34%,transparent)}}@media(prefers-reduced-motion:reduce){.tscore[data-tscore-outcome=vol]{animation:none}}@media(max-width:640px){.tutorial-board-overlay.tutorial-board-overlay--end{top:calc(var(--kleyvi-bubble-bottom, 60%) + 16px);bottom:auto;transform:translate(-50%);background:none;border:0;box-shadow:none;backdrop-filter:none;padding:0;width:auto}}@media(max-width:640px){.tutorial-board-overlay.tutorial-board-overlay--stikkarar{top:calc(var(--kleyvi-bubble-bottom, 40%) + 12px);bottom:auto;transform:translate(-50%)}}.install-card{position:relative;display:flex;align-items:flex-start;gap:12px;max-width:640px;margin:18px auto 0;padding:12px 40px 12px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);text-align:left}.install-icon{flex:none;width:40px;height:40px;border-radius:9px}.install-text h3{margin:0 0 2px;font-size:.95rem;color:var(--ink)}.install-text p{margin:0}.install-card .install-go{margin-top:8px;padding:6px 14px;font-size:.9rem}.install-ios{margin-top:6px!important;color:var(--ink)}.install-share{width:1.05em;height:1.05em;vertical-align:-.15em;color:var(--gold-2)}.install-dismiss{position:absolute;top:6px;right:6px;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:var(--muted);font-size:1.2rem;line-height:1;text-transform:none}.install-dismiss:hover,.install-dismiss:focus-visible{background:var(--panel-3);color:var(--ink)}.offline-note{margin:6px 0 10px}.offline-ok{margin:0 0 8px;color:var(--muted)}.account-page{max-width:560px;margin:0 auto;padding:6px 4px 28px;line-height:1.5;color:var(--ink)}.account-page h3{margin:0 0 8px;font-size:1.05rem}.account-form{display:flex;flex-direction:column;gap:10px;margin:10px 0}.account-form label{display:flex;flex-direction:column;gap:4px}.account-form input[type=text],.account-form input[type=email],.account-form input[type=password],.account-form select{width:100%;box-sizing:border-box}.account-form .account-check,.account-choice label{flex-direction:row;align-items:center;gap:8px}.account-choice{display:flex;gap:16px;border:0;padding:0;margin:0}.account-section{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.account-section>button{margin:0 8px 8px 0}.account-status{min-height:1.2em;margin:0}.account-status.warn{color:#ffb4a8}.linklike{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.feedback-context-option{display:flex;gap:8px;align-items:flex-start;font-size:.92rem}:root{--vk-field-bg: #07080c;--vk-field-border: rgba(255, 255, 255, .14);--vk-placeholder: #596175;--vk-link: oklch(.85 .15 92);--vk-danger: oklch(.64 .19 27);--vk-focus-ring: 0 0 0 3px color-mix(in oklab, var(--gold) 25%, transparent)}.vk-field{display:flex;flex-direction:column;gap:.3rem;min-width:0;margin:0;padding:0;border:0}.vk-label{padding:0;font-size:.85rem;font-weight:600}.vk-hint{margin:0;color:var(--muted);font-size:.75rem;font-weight:400}.vk-input{width:100%;min-height:46px;box-sizing:border-box;padding:0 .85rem;border:1px solid var(--vk-field-border);border-radius:11px;background:var(--vk-field-bg);color:var(--ink);font:400 1rem/1.2 Fredoka,Segoe UI,system-ui,sans-serif;transition:border-color .12s ease,box-shadow .12s ease}.vk-input::placeholder{color:var(--vk-placeholder)}.vk-input:focus{outline:none}.vk-input:focus-visible{border-color:var(--gold);box-shadow:var(--vk-focus-ring)}.vk-input:disabled{cursor:not-allowed;opacity:.55}.vk-password{position:relative;display:flex;align-items:center}.vk-password .vk-input{padding-right:4.2rem}button.vk-reveal{position:absolute;top:1px;right:1px;bottom:1px;min-width:44px;min-height:0;padding:0 .85rem;border:0;border-radius:0 10px 10px 0;background:transparent;box-shadow:none;color:var(--muted);font:600 .75rem/1 Fredoka,Segoe UI,system-ui,sans-serif;letter-spacing:0;text-transform:none}button.vk-reveal:hover,button.vk-reveal:active{color:var(--ink);transform:none;filter:none;box-shadow:none}button.vk-reveal:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.vk-select{appearance:none;padding-right:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%239ca5b5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;cursor:pointer}.vk-select option{background:var(--panel);color:var(--ink)}.vk-seg{display:flex;gap:.3rem;padding:.28rem;border:1px solid var(--line);border-radius:12px;background:#00000052}.vk-seg label{position:relative;display:flex;flex:1 1 0;flex-direction:row;gap:0;min-width:0}.vk-seg input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.vk-seg span{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 .6rem;border-radius:9px;color:var(--muted);font-size:.9rem;font-weight:600;white-space:nowrap;transition:color .12s ease}.vk-seg label:hover span{color:var(--ink)}.vk-seg input:checked+span{background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 92%,white 12%),var(--gold));color:#030406;box-shadow:0 3px color-mix(in oklab,var(--gold) 55%,black)}.vk-seg input:focus-visible+span{outline:2px solid var(--gold-2);outline-offset:2px}.vk-link,button.vk-link{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;border-radius:4px;background:none;box-shadow:none;color:var(--vk-link);font:inherit;font-size:.95rem;font-weight:500;letter-spacing:0;text-transform:none;text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--vk-link) 40%,transparent);text-underline-offset:3px;cursor:pointer;transition:color .12s ease,text-decoration-color .12s ease}.vk-link:hover,button.vk-link:hover,button.vk-link:active{color:var(--ink);text-decoration-color:currentColor;transform:none;filter:none;box-shadow:none}.vk-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button.vk-btn{min-height:44px;padding:.65rem 1.1rem;border-radius:11px;font:600 .85rem/1 Fredoka,Segoe UI,system-ui,sans-serif;letter-spacing:.03em}button.vk-btn:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}button.vk-btn-ghost,button.vk-btn-danger{background:transparent;box-shadow:none}button.vk-btn-ghost{border-color:#ffffff38;color:var(--ink)}button.vk-btn-danger{border-color:color-mix(in oklab,var(--vk-danger) 70%,transparent);color:color-mix(in oklab,var(--vk-danger) 80%,white)}button.vk-btn-ghost:hover,button.vk-btn-danger:hover,button.vk-btn-ghost:active,button.vk-btn-danger:active{transform:none;filter:none;box-shadow:none}button.vk-btn-ghost:hover{border-color:#fff6;background:#ffffff0a}button.vk-btn-danger:hover{border-color:var(--vk-danger);background:color-mix(in oklab,var(--vk-danger) 10%,transparent)}button.vk-btn-ghost:disabled,button.vk-btn-danger:disabled{filter:none}.vk-check{min-height:44px}.vk-check input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--gold)}.account-page.vk .account-form{gap:.85rem}.account-page.vk .account-form>button.vk-btn{align-self:flex-start}.account-page.vk p:has(>.vk-link){margin:.4rem 0}.vk-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.topbar.vk-bar{align-items:center;gap:18px}#app:has(.setup-shell) .topbar.vk-bar{display:flex}.vk-nav{display:flex;gap:18px;margin-left:8px}.vk-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:.9rem;font-weight:500;text-decoration:none}.vk-nav a:hover,.vk-nav a[aria-current=page]{color:var(--ink)}.vk-account-wrap{position:relative;margin-left:auto}.vk-signin-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border:1px solid color-mix(in oklab,var(--gold) 55%,transparent);border-radius:999px;color:var(--vk-link);font-size:.9rem;font-weight:600;text-decoration:none}.vk-signin-chip:hover{border-color:var(--gold);background:color-mix(in oklab,var(--gold) 10%,transparent)}.vk-chip,button.vk-chip{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.25rem .85rem .25rem .3rem;border:1px solid var(--line);border-radius:999px;background:#0000004d;box-shadow:none;color:var(--ink);font:500 .9rem/1.2 Fredoka,Segoe UI,system-ui,sans-serif;letter-spacing:0;text-transform:none;text-decoration:none}button.vk-chip:hover,button.vk-chip:active,.vk-chip:hover{border-color:#ffffff47;transform:none;filter:none;box-shadow:none}.vk-chip:focus-visible,.vk-signin-chip:focus-visible,.vk-nav a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.vk-chip-setup{position:relative;padding-left:1rem;color:var(--vk-link);font-weight:600}.vk-dot{width:8px;height:8px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 0 2px var(--felt-3)}.vk-chip-name{max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vk-avatar{width:32px;height:32px}#app:has(.lobby-grid) .topbar.vk-bar .vk-nav{display:none}#app:has(.lobby-grid) .topbar.vk-bar :is(.vk-chip,.vk-signin-chip){font-size:.8rem}#app:has(.lobby-grid) .topbar.vk-bar .vk-avatar{width:24px;height:24px;border-width:1.5px}#app:has(.table-surface) .topbar.vk-bar :is(.vk-nav,.vk-account-wrap),#app:has(.tutorial-table-shell) .topbar.vk-bar :is(.vk-nav,.vk-account-wrap){display:none}@media(max-width:640px){.vk-nav{display:none}.topbar.vk-bar .vk-chip-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar.vk-bar .vk-chip:not(.vk-chip-setup){padding:2px}.topbar.vk-bar .vk-avatar{width:40px;height:40px}}@media(max-width:460px){.topbar.vk-bar{flex-direction:row;align-items:center}}.account-page.vk-auth{max-width:960px}.vk-auth-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:56px;align-items:center;margin-top:12px}.vk-auth-pitch h2{margin:0 0 .6rem;font-size:2.1rem;line-height:1.12}.vk-auth-pitch p{max-width:34ch;margin:0;color:#c9ced8;font-size:1.05rem}.vk-card{padding:1.1rem 1.25rem 1.3rem;border:1px solid var(--line);border-radius:16px;background:#00000042}.vk-tabs{display:flex;gap:1.3rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}button.vk-tab{min-height:44px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--muted);font:600 .95rem/1 Fredoka,Segoe UI,system-ui,sans-serif;letter-spacing:0;text-transform:none}button.vk-tab:hover,button.vk-tab:active{color:var(--ink);transform:none;filter:none;box-shadow:none}button.vk-tab[aria-selected=true]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--gold)}button.vk-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.vk-auth-panel .account-form{margin-top:0}.vk-auth-links{margin:.2rem 0 0}.vk-auth-panel .account-status:empty{min-height:0;margin-top:-.85rem}button.vk-btn-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:44px;padding:0 16px;border:1px solid #747775;border-radius:999px;background:#fff;box-shadow:none;color:#1f1f1f;font:500 .95rem/1.25 Roboto,Segoe UI,Arial,sans-serif;letter-spacing:.01em;text-transform:none}button.vk-btn-google:hover{background:#f8f8f8;transform:none;filter:none;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}button.vk-btn-google:active{background:#eee;transform:none;box-shadow:none}button.vk-btn-google:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}.vk-google-g{flex:none;width:20px;height:20px}.vk-notice.vk-notice-blocked{border-color:var(--line);background:#ffffff0a;color:var(--muted)}.vk-divider{display:flex;align-items:center;gap:.7rem;margin:.9rem 0;color:var(--muted);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.vk-divider:before,.vk-divider:after{content:"";flex:1;height:1px;background:var(--line)}.account-page.vk .account-form>button.vk-btn.vk-btn-block{align-self:stretch;width:100%}.vk-notice{margin:.6rem 0 0;padding:.7rem 1rem;border:1px solid color-mix(in oklab,var(--gold) 45%,transparent);border-radius:12px;background:color-mix(in oklab,var(--gold) 9%,transparent);color:var(--ink);font-weight:500}.vk-account-line{margin:0 0 .4rem;color:var(--muted)}.vk-account-line strong{color:var(--ink)}@media(max-width:760px){.vk-auth-grid{grid-template-columns:minmax(0,1fr);gap:0}.vk-auth-pitch{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}:root{--vk-wood: oklch(.72 .09 65)}.vk-av{position:relative;display:inline-block;flex:none;width:var(--vk-av-size, 32px);height:var(--vk-av-size, 32px);overflow:hidden;border-radius:50%;vertical-align:middle;--vk-ring: 2px}.vk-av-24{--vk-av-size: 24px}.vk-av-32{--vk-av-size: 32px}.vk-av-40{--vk-av-size: 40px}.vk-av-56{--vk-av-size: 56px;--vk-ring: 3px}.vk-av-112{--vk-av-size: 112px;--vk-ring: 4px}.vk-av img{position:absolute;top:-5.17%;left:-5.17%;display:block;width:110.35%;height:110.35%;max-width:none;user-select:none}.vk-av:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none}.vk-av.is-me:after{box-shadow:inset 0 0 0 var(--vk-ring) var(--gold)}.vk-av-vitliki:after{box-shadow:inset 0 0 0 var(--vk-ring) var(--vk-wood)}.vk-av.is-disconnected img{filter:grayscale(1) brightness(.6)}.vk-av-empty{background:radial-gradient(circle at 50% 38%,#3a4256 0 22%,transparent 23%),radial-gradient(ellipse 60% 42% at 50% 100%,#3a4256 0 98%,transparent 100%),#121622}.vk-av-empty:after{box-shadow:inset 0 0 0 2px #2a3142}.account-page.vk-setup-page{max-width:880px}.vk-setup-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:2rem;align-items:start}.vk-setup-main{display:flex;flex-direction:column;gap:1.05rem;min-width:0}.account-page.vk .vk-setup-main>button.vk-setup-save{align-self:flex-start;min-width:9rem}.vk-avatar-pick{min-width:0}.vk-agrid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.vk-agrid-cell{position:relative;display:block;border-radius:50%;cursor:pointer}.account-form .vk-agrid-cell{display:block}.vk-agrid-cell input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.vk-agrid-cell .vk-av{width:100%;height:auto;aspect-ratio:1;transition:transform .12s ease}.vk-agrid-cell:hover .vk-av{transform:scale(1.04)}.vk-agrid-cell:has(input:checked) .vk-av:after{box-shadow:inset 0 0 0 3px var(--gold)}.vk-agrid-cell:has(input:checked){box-shadow:0 0 0 3px color-mix(in oklab,var(--gold) 40%,transparent)}.vk-agrid-cell:has(input:checked):after{content:"✓";position:absolute;right:0;bottom:0;z-index:2;width:18px;height:18px;border-radius:50%;background:var(--gold);color:#030406;font:700 .65rem/18px Fredoka,Segoe UI,system-ui,sans-serif;text-align:center;pointer-events:none}.vk-agrid-cell:has(input:focus-visible){outline:2px solid var(--gold-2);outline-offset:3px}.vk-avatar-chosen{min-height:1.1em;margin-top:.45rem}.vk-name{position:relative}.vk-name .vk-input{padding-right:9.5rem}.vk-name-state{position:absolute;top:50%;right:.85rem;transform:translateY(-50%);color:var(--muted);font-size:.78rem;font-weight:600;pointer-events:none}.vk-name[data-state=available] .vk-name-state{color:#5fd18e}.vk-name[data-state=taken] .vk-name-state{color:color-mix(in oklab,var(--vk-danger) 80%,white)}.vk-name:is([data-state=taken],[data-state=invalid]) .vk-input{border-color:color-mix(in oklab,var(--vk-danger) 80%,transparent)}.vk-short{display:none}.vk-checking:before{content:"…";letter-spacing:.1em}.vk-hint.warn{color:color-mix(in oklab,var(--vk-danger) 70%,white)}.vk-setup-preview{position:sticky;top:1rem;padding-top:1.6rem}.vk-seat-preview{display:flex;align-items:center;gap:.75rem;padding:.8rem;border:1px solid color-mix(in oklab,var(--gold) 55%,transparent);border-radius:14px;background:radial-gradient(90% 90% at 0% 0%,color-mix(in oklab,var(--gold) 18%,transparent),transparent 60%),#00000040}.vk-seat-preview-who{display:flex;flex-direction:column;min-width:0}.vk-seat-preview-who small{color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.vk-seat-preview-who b{overflow:hidden;font-size:1.1rem;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.vk-setup-grid{grid-template-columns:minmax(0,1fr)}.vk-setup-preview{display:none}.vk-agrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.vk-name .vk-input{padding-right:6rem}.vk-long{display:none}.vk-short{display:inline}.account-page.vk .vk-setup-main>button.vk-setup-save{align-self:stretch;width:100%}}.account-page h2:focus{outline:none}.vk-page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.vk-icon-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--muted)}.vk-icon-link:hover{color:var(--ink);background:#ffffff0d}.vk-icon-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.vk-page-title{display:flex;align-items:center;gap:.25rem;min-width:0}.vk-back-chevron,button.vk-back-chevron{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-height:44px;margin-left:-.6rem;padding:0 0 .15rem;border:0;border-radius:50%;background:transparent;box-shadow:none;color:var(--vk-link);font:500 1.9rem/1 Fredoka,Segoe UI,system-ui,sans-serif;text-decoration:none;text-transform:none}.vk-back-chevron:hover,button.vk-back-chevron:hover,button.vk-back-chevron:active{background:#ffffff0d;color:var(--ink);transform:none;filter:none;box-shadow:none}.vk-back-chevron:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.account-page.vk-me-page{max-width:880px}.vk-me-grid{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:1.5rem;align-items:start}.vk-me-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.5rem 1.25rem 1.1rem;text-align:center}.vk-me-card .vk-av{margin-bottom:.4rem}.vk-me-handle{max-width:100%;margin:0;overflow:hidden;font-size:1.45rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.vk-me-board{margin:0;color:var(--muted)}.vk-me-main{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding-top:.4rem}a.vk-btn-anchor{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1.4rem;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:linear-gradient(180deg,var(--gold),var(--gold-2));box-shadow:var(--button-shadow);color:#1d1406;font:600 .85rem/1 Fredoka,Segoe UI,system-ui,sans-serif;letter-spacing:.03em;text-decoration:none;text-transform:uppercase}a.vk-btn-anchor:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}.vk-stats-slot{width:100%;padding:1rem 1.1rem;border:1px dashed var(--line);border-radius:14px}.vk-stats-slot p{margin:0}.vk-settings-group{margin-top:1.4rem}.vk-group-title{margin:0 0 .6rem;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.vk-list{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.vk-list>li{border-bottom:1px solid var(--line)}.vk-row,button.vk-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;min-height:52px;padding:0 .2rem;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink);font:500 .95rem/1.2 Fredoka,Segoe UI,system-ui,sans-serif;letter-spacing:0;text-align:left;text-transform:none}li.vk-row{border-bottom:1px solid var(--line)}button.vk-row-action:hover,button.vk-row-action:active{background:#ffffff08;transform:none;filter:none;box-shadow:none}button.vk-row-action:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.vk-row-value{min-width:0;overflow:hidden;color:var(--muted);font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}.vk-chev{color:var(--muted);font-size:1.2rem}.vk-settings-actions{display:flex;flex-direction:column;gap:.7rem;margin-top:1.6rem}.vk-settings-actions>button.vk-btn{width:100%}.account-form .vk-switch-row,.vk-switch-row{position:relative;display:flex;flex-direction:row;align-items:center;gap:.6rem;min-height:44px;font-size:.92rem;cursor:pointer}.vk-switch-row input{position:absolute;width:38px;height:22px;margin:0;opacity:0;cursor:pointer}.vk-switch{position:relative;flex:none;width:38px;height:22px;border-radius:11px;background:#2a3142;transition:background .12s ease}.vk-switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#8892a4;transition:left .12s ease,background .12s ease}.vk-switch-row input:checked+.vk-switch{background:var(--gold)}.vk-switch-row input:checked+.vk-switch:after{left:19px;background:#030406}.vk-switch-row input:focus-visible+.vk-switch{outline:2px solid var(--gold-2);outline-offset:2px}[data-board-field][hidden]{display:none}.vk-name .vk-input:disabled{opacity:.7}@media(max-width:760px){.vk-me-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.vk-me-main{align-items:stretch}a.vk-btn-anchor{width:100%}}.vk-me-main [data-personal-play]{width:100%;min-width:0;padding:0;border:0}.vh-overview{display:grid;gap:.9rem;width:100%}.vh-section-head,.vh-game-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.vh-section-head h3,.vh-stats h3,.vh-game h3{margin:0;font-size:1.15rem}.vh-section-head{margin-bottom:.65rem}.vh-section-head .vk-link,.vh-game-meta button,.vh-back{min-height:44px;display:inline-flex;align-items:center}.vh-hand-link:hover{border-color:var(--gold)}.vh-hand-link:focus-visible,.vh-details summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.vh-game-heading time{color:var(--muted);font-size:.85rem}.vh-state{font-size:.8rem;border:1px solid var(--line);color:var(--muted);padding:.22rem .6rem;border-radius:20px;white-space:nowrap}.vh-state.complete{color:var(--gold)}.vh-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;padding:1rem 0}.vh-metrics>div{display:flex;flex-direction:column;gap:.2rem}.vh-metrics strong{font-size:1.6rem;line-height:1.15}.vh-metrics span{color:var(--muted);font-size:.85rem}.vh-details,.vh-splits{border-top:1px solid var(--line)}.vh-details summary,.vh-splits summary{cursor:pointer;padding:.8rem 0;min-height:44px;box-sizing:border-box;color:var(--gold)}.vh-stat-body{display:grid;gap:1.25rem}.vh-stat-body h4,.vh-weekly h4{margin:0 0 .6rem;font-size:1rem}.vh-stat-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem .7rem;margin:.45rem 0;font-size:.9rem}.vh-stat-row>span:last-child{color:var(--muted)}.vh-week-bars{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.5rem}.vh-week-bars>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.3rem;font-size:.75rem}.vh-week-bars i{width:min(100%,24px);background:var(--gold);border-radius:3px 3px 0 0}.vh-week-bars time,.vh-footnote{color:var(--muted)}.vh-footnote{font-size:.85rem;margin:0;line-height:1.5}.vh-empty{padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:12px}.vh-empty p{margin:0 0 .75rem}.vh-game{display:grid;gap:1rem;padding-top:.7rem}.vh-game-meta,.vh-seat-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.9rem}.vh-game-meta [data-copy-status]{width:100%;color:var(--muted)}.vh-game-meta [data-copy-status]:empty{display:none}.vh-game-meta input{width:100%;box-sizing:border-box}.vh-seat-list span{padding:.35rem .65rem;border:1px solid var(--line);border-radius:8px}.vh-hands{display:grid;gap:.45rem}.vh-hand-link{display:grid;grid-template-columns:minmax(0,1fr) auto 10px;gap:.7rem;align-items:center;border:1px solid var(--line);border-radius:10px;padding:.75rem .85rem;color:var(--ink);text-decoration:none}.vh-hand-link.selected{border-color:var(--gold)}.vh-hand-link small{display:block;margin-top:.2rem;color:var(--muted);font-size:.8rem}.vh-hand-panel{padding-top:1rem;border-top:1px solid var(--line)}.vh-hand-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.vh-hand-facts dt{color:var(--muted);font-size:.8rem}.vh-hand-facts dd{margin:.25rem 0 0}.vh-replay-controls{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.vh-trick-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;padding:1rem 0}.vh-trick-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:64px}.vh-trick-card>span,.vh-trick-card>small{font-size:.8rem}.vh-trick-card.winner>span,.vh-trick-card>small{color:var(--gold)}.vh-trick-card .card{--card-w: 64px;--card-h: 92px;cursor:default;margin:0}.vh-more{margin-top:1rem}@media(max-width:600px){.vk-me-card{display:grid;grid-template-columns:80px minmax(0,1fr);column-gap:1rem;padding:.75rem 1rem;text-align:left}.vk-me-card .vk-av{grid-column:1;grid-row:1 / 4;margin:0}.vk-me-card :is(.vk-me-handle,.vk-me-board,button){grid-column:2;text-align:left}.vk-me-card button{min-height:44px}.vk-me-card .vk-av-112{width:80px;height:80px}.vk-me-handle{font-size:1.25rem}.vk-me-grid{gap:1rem}.vh-section-head{gap:.4rem}.vh-hand-link{font-size:.9rem;padding:.65rem;gap:.4rem}.vh-hand-link small{font-size:.75rem}.vh-week-bars{gap:.3rem}.vh-week-bars time{font-size:.65rem}}.vk-me-id{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0;max-width:100%}.vk-me-card a.vk-me-play{width:100%;margin-top:.75rem}.vk-me-main{padding-top:0}.vh-panel{padding:.9rem 1rem .8rem;border:1px solid var(--line);border-radius:14px;background:#00000042;min-width:0}.vh-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}.vh-panel-head h3,.vh-panel>h3{margin:0;font-size:1.1rem}.vh-panel-head .vk-link,.vh-panel-foot .vk-link{min-height:44px;display:inline-flex;align-items:center}.vh-panel-head:has(.vk-link){margin-bottom:.2rem}.vh-seg{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:11px;background:#00000047}.vh-seg button{min-width:42px;min-height:40px;margin:0;padding:0 .7rem;border:0;border-radius:8px;background:none;box-shadow:none;color:var(--muted);font:600 .88rem/1 Fredoka,Segoe UI,system-ui,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer}.vh-seg button:hover:not(:disabled){color:var(--ink)}.vh-seg button[aria-pressed=true]{background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#1d1406}.vh-seg button:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}.vh-seg button:disabled{cursor:default;opacity:.55}.vh-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.vh-tile{display:flex;flex-direction:column;gap:.2rem;min-width:0;padding:.65rem .8rem;border:1px solid var(--line);border-radius:11px;background:#ffffff08}.vh-tile-label{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.vh-tile b{color:var(--gold);font-size:1.6rem;line-height:1.1;font-variant-numeric:tabular-nums}.vh-tile small{color:var(--muted);font-size:.74rem;line-height:1.25}.vh-tile .vh-of{color:var(--muted);font-size:.62em;font-weight:600}.vh-tile.dim b{color:#6b7385}.vh-tin-note{margin:.75rem 0 0;color:#c9ced8;font-size:.92rem;line-height:1.45}.vh-panel-foot{display:flex;justify-content:flex-end;margin-top:.2rem;font-size:.85rem}.vh-rows{margin:0;padding:0;list-style:none}.vh-rows li+li{border-top:1px solid var(--line)}.vh-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto 12px;gap:.75rem;align-items:center;min-height:54px;padding:.4rem .3rem;border-radius:8px;color:var(--ink);text-decoration:none}.vh-row:hover{background:#ffffff09}.vh-row:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.vh-row-date{line-height:1.05;text-align:center}.vh-row-date b{display:block;font-size:1.05rem;font-variant-numeric:tabular-nums}.vh-row-date small{color:var(--muted);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}.vh-row-main{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .5rem;min-width:0}.vh-tag{padding:.1rem .5rem;border:1px solid var(--line);border-radius:999px;color:#c9ced8;font-size:.72rem}.vh-row-res{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;text-align:right}.vh-res{font-size:.92rem;font-weight:600}.vh-res.won{color:var(--gold)}.vh-res.lost{color:#c3c9d4}.vh-res.open,.vh-res.done{color:var(--muted);font-weight:500}.vh-row-res small{color:var(--muted);font-size:.74rem}.vh-chev{color:var(--muted);font-size:1.2rem;line-height:1}.vh-none{margin:0;color:var(--muted)}.vh-stats{display:grid;gap:.9rem}.vh-stats .vh-metrics{padding:.75rem 0 .1rem}.vh-since{margin:0;color:var(--muted);font-size:.85rem}.vh-game .vh-hands{gap:0;padding:.2rem .9rem;border:1px solid var(--line);border-radius:14px;background:#00000042}.vh-game .vh-hand-link{border:0;border-radius:8px;padding:.7rem .3rem}.vh-game .vh-hand-link+.vh-hand-link{border-top:1px solid var(--line);border-radius:0}.vh-game .vh-hand-link.selected{background:color-mix(in oklab,var(--gold) 12%,transparent)}.vh-game .vh-hand-link.selected strong{color:var(--gold-2)}.vh-game .vh-hand-link:hover{background:#ffffff09}.vh-game .vh-hand-panel{padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:#00000042}.vh-bidding{display:grid;gap:.9rem}.vh-bidding-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}.vh-bidding-head h4{margin:0;font-size:1rem}.vh-bid-sum{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.2rem 1rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:11px;background:#ffffff08}.vh-bid-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem}.vh-bid-main span{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.vh-bid-main b{font-size:1.05rem;font-variant-numeric:tabular-nums}.vh-bid-sig{color:var(--muted);font-size:.85rem}.vh-bid-sig b{color:#c9ced8;font-weight:600;font-variant-numeric:tabular-nums}.vh-cols-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem}.vh-cols h5{margin:0 0 .4rem;color:#c9ced8;font-size:.9rem}.vh-colchart{width:100%;table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums}.vh-colchart th:first-child{width:6.2em}.vh-colchart td,.vh-colchart thead th,.vh-colchart .vh-cc-cat th{padding:0 2px;text-align:center}.vh-cc-pct td{padding-bottom:4px;vertical-align:bottom;line-height:1.1}.vh-cc-pct b{display:block;color:var(--ink);font-size:.95rem}.vh-cc-pct small{display:block;color:var(--muted);font-size:.68rem}.vh-cc-pct td.zero b{color:#6b7385}.vh-cc-track{display:flex;align-items:flex-end;justify-content:center;height:84px;border-bottom:1px solid rgba(255,255,255,.18)}.vh-cc-track i{display:block;width:min(70%,34px);border-radius:4px 4px 0 0;background:var(--gold)}.vh-cc-cat th{padding-top:5px;color:#c9ced8;font-size:.82rem;font-weight:600;line-height:1.15}.vh-cc-cat th>span{display:block}.vh-cc-cat .vh-suit{font-size:1rem}.vh-suit-H,.vh-suit-D{color:#ff7b72}.vh-cc-cat th>span:not(.vh-suit){font-size:.7rem;font-weight:500;overflow:hidden;text-overflow:ellipsis}.vh-cc-sig th{padding-top:6px;color:var(--muted);font-size:.68rem;font-weight:500;text-align:left}.vh-cc-sig td{padding-top:6px;color:var(--muted);font-size:.78rem}@media(max-width:600px){.vh-cols-pair{grid-template-columns:minmax(0,1fr)}.vh-colchart th:first-child{width:5.4em}.vh-cc-track{height:68px}.vh-cc-pct b{font-size:.85rem}.vh-cc-sig td{font-size:.72rem}}.vh-tricks-details{margin-top:.9rem}.vh-tricks-details>summary{display:flex;align-items:center;gap:.45rem;list-style:none}.vh-tricks-details>summary::-webkit-details-marker{display:none}.vh-tricks-details>summary:before{content:"▸";font-size:.8em;transition:transform .12s ease}.vh-tricks-details[open]>summary:before{transform:rotate(90deg)}.vh-tricks-details .vh-tricks-section{margin-top:0;padding-top:.2rem;border-top:0}.vh-tricks-toggle{display:flex;justify-content:flex-start;margin-bottom:.7rem}.vh-game-page>.vh-back{margin-bottom:.4rem}.vh-game-title{margin:0;font-size:1.35rem}.vh-game-title:focus{outline:none}.vh-tricks-section{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}.vh-tricks-section .vh-section-head{flex-wrap:wrap}.vh-tricks-section h4{margin:0;font-size:1rem}.vh-tricks{display:grid;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:.5rem;margin:0;padding:0;list-style:none}.vh-trick{padding:.45rem .5rem .55rem;border:1px solid var(--line);border-radius:10px;background:#ffffff06}.vh-trick-head{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem;margin-bottom:.3rem;font-size:.75rem}.vh-trick-no{color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}.vh-trick-won{color:var(--gold-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vh-trick-row{display:flex;gap:3px}.vh-trick-play{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.vh-trick-play small{max-width:36px;overflow:hidden;color:var(--muted);font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.vh-trick-play.winner small{color:var(--gold-2)}.vh-trick-play .card{--card-w: 34px;--card-h: 48px;margin:0;padding:3px 4px;border-width:1px;border-radius:5px;box-shadow:0 2px #9096a2e6;font-size:.8rem;cursor:default}.vh-trick-play .card .corner-bottom{display:none}.vh-trick-play.winner .card{outline:2px solid var(--gold-2);outline-offset:1px}[data-personal-play]>.vh-rows{padding:.2rem 1rem;border:1px solid var(--line);border-radius:14px;background:#00000042}@media(max-width:600px){.vk-me-card{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;column-gap:.85rem}.vk-me-card .vk-av{grid-row:1}.vk-me-card .vk-av-112{width:64px;height:64px}.vk-me-id{grid-column:2;align-items:flex-start;gap:0}.vk-me-id .vk-link{min-height:36px}.vk-me-card a.vk-me-play{grid-column:3;width:auto;margin:0;padding:.6rem .85rem;font-size:.78rem}.vh-panel{padding:.8rem .85rem .7rem}.vh-tiles{gap:.45rem}.vh-tile{padding:.55rem .6rem}.vh-tile b{font-size:1.4rem}.vh-tile-label{font-size:.62rem;letter-spacing:.08em}.vh-tile small{font-size:.68rem}.vh-seg button{min-width:38px;padding:0 .55rem}.vh-row{gap:.6rem;padding:.4rem .1rem}.vh-tricks{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.4rem}.vh-game-title{font-size:1.2rem}}.hagtol{--hg-online: #3987e5;--hg-local: #c98500;--hg-surface: #13151d;--hg-grid: rgba(255, 255, 255, .08);--hg-axis: rgba(255, 255, 255, .24);--hg-y-gutter: 42px}.hg-chart{display:grid;align-content:start;gap:10px;min-width:0;margin:0;padding:16px 14px 12px;background:linear-gradient(180deg,#161922f7,#0e1018fc),var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.hagtol-section>.hg-section-meta{margin:-4px 0 0;color:var(--dim);font-size:.8rem}.hg-chart figcaption h4{margin:0;color:var(--ink);font-size:.98rem}.hg-meta{margin:3px 0 0;color:var(--dim);font-size:.8rem}.hagtol-panel .hg-meta{margin-top:10px}.hg-note,.hg-empty{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.hg-empty{padding:18px 0;font-size:.9rem}.hg-legend{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--muted);font-size:.8rem}.hg-legend-item{display:inline-flex;align-items:center;gap:6px}.hg-swatch{width:10px;height:10px;border-radius:3px;background:var(--hg-online)}.hg-swatch.hg-local{background:var(--hg-local)}.hg-swatch.hg-swatch-partial{background:repeating-linear-gradient(135deg,var(--muted) 0 2px,transparent 2px 4px);box-shadow:inset 0 0 0 1px var(--muted)}.hg-plot{position:relative;height:170px;margin:6px 0 0 var(--hg-y-gutter)}.hg-grid{position:absolute;inset:0;pointer-events:none}.hg-grid-line{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--hg-grid)}.hg-grid-line.hg-baseline{border-top-color:var(--hg-axis)}.hg-y{position:absolute;right:calc(100% + 6px);top:0;transform:translateY(-50%);color:var(--dim);font-size:.72rem;font-variant-numeric:tabular-nums;white-space:nowrap}.hg-cols{position:absolute;inset:0;display:flex;align-items:flex-end;gap:2px}.hg-col{display:flex;flex:1 1 0;align-items:flex-end;justify-content:center;min-width:0;height:100%;border-radius:4px 4px 0 0;outline:none;cursor:default}.hg-col:hover,.hg-col.is-active{background:#ffffff0d}.hg-col:focus-visible,.hg-dot:focus-visible,.hg-bar-row:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}.hg-stack{display:flex;flex-direction:column-reverse;gap:2px;width:100%;max-width:34px;overflow:hidden;border-radius:4px 4px 0 0}.hg-seg{display:block;flex-basis:0;min-height:1px;background:var(--hg-online)}.hg-seg.hg-local{background:var(--hg-local)}.hg-col.is-partial .hg-seg{background-image:repeating-linear-gradient(135deg,rgba(19,21,29,.55) 0 3px,transparent 3px 6px)}.hg-x{display:flex;gap:2px;margin-left:var(--hg-y-gutter);color:var(--dim);font-size:.7rem;font-variant-numeric:tabular-nums}.hg-x span{display:flex;flex:1 1 0;justify-content:center;min-width:0;white-space:nowrap}.hg-line-area{position:absolute;inset:0}.hg-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.hg-line polyline{stroke:var(--hg-online);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.hg-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--hg-online);box-shadow:0 0 0 2px var(--hg-surface);transform:translate(-50%,50%);cursor:default}.hg-dot:before{content:"";position:absolute;inset:-8px;border-radius:50%}.hg-dot.is-partial{background:var(--hg-surface);box-shadow:inset 0 0 0 2px var(--hg-online),0 0 0 2px var(--hg-surface)}.hg-dot:hover,.hg-dot.is-active{transform:translate(-50%,50%) scale(1.35)}.hg-bars{display:grid;gap:4px}.hg-bar-row{display:grid;grid-template-columns:7.2em minmax(0,1fr) 4.2em;align-items:center;gap:10px;padding:4px 0;border-radius:6px;font-size:.9rem;cursor:default}.hg-bar-row:hover,.hg-bar-row.is-active{background:#ffffff0a}.hg-bar-label{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.hg-bar-track{height:10px;overflow:hidden;border-radius:0 4px 4px 0;background:#ffffff0d}.hg-bar-fill{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--hg-online)}.hg-bar-fill.hg-local{background:var(--hg-local)}.hg-bar-value{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.hg-pairs{display:grid;gap:4px}.hg-pair-row{display:grid;grid-template-columns:6.6em repeat(2,minmax(0,1fr));align-items:center;gap:10px;padding:3px 0;font-size:.9rem}.hg-pair-head{color:var(--dim);font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.hg-pair-cell{display:grid;grid-template-columns:minmax(0,1fr) 3.6em;align-items:center;gap:6px;padding:2px 0;border-radius:6px;cursor:default}.hg-pair-cell:hover,.hg-pair-cell.is-active{background:#ffffff0a}.hg-pair-cell:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}.hg-stat>summary{list-style:none;cursor:pointer}.hg-stat>summary::-webkit-details-marker{display:none}.hg-stat>summary span:before{content:"▸";display:inline-block;width:1.1em;color:var(--dim);transition:transform .15s ease}.hg-stat[open]>summary span:before{transform:rotate(90deg)}.hg-stat>summary:hover span{color:var(--ink)}.hg-stat>summary:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px;border-radius:4px}.hg-stat:first-child>summary{padding-top:0;border-top:0}.hg-stat-body{display:grid;gap:10px;padding:10px 0 6px}.hg-stat-count{margin:0;color:var(--muted);font-size:.9rem}.hg-stat-count strong{color:var(--ink)}.hg-stat-body .hg-chart{padding:12px 10px 10px;box-shadow:none}.hg-stat-panel .hg-note{margin-top:12px}.hg-data{color:var(--muted);font-size:.8rem}.hg-data summary{width:max-content;color:var(--dim);cursor:pointer}.hg-data-wrap{max-height:260px;margin-top:8px;overflow:auto}.hg-data table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.hg-data th,.hg-data td{padding:4px 6px;border-top:1px solid var(--hg-grid);text-align:right;white-space:nowrap}.hg-data th[scope=row],.hg-data thead th:first-child{font-weight:600;text-align:left}.hg-tip{position:absolute;z-index:60;max-width:min(300px,calc(100vw - 16px));padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:#0b0d13;box-shadow:var(--shadow);color:var(--ink);font-size:.8rem;line-height:1.35;pointer-events:none}@media(max-width:640px){.hagtol .hagtol-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.hg-plot{height:150px}}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity{display:flex;align-items:center;gap:8px}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity .gameplay-identity-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:100%}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity .gameplay-identity-text .seatname{font-size:.86rem;color:#e6e9ef}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity .gameplay-identity-text .seatname.active{color:#16110a}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity .gameplay-identity-text .seatmeta{margin:0}:is(.local-avatar-board,.online-avatar-board) .gameplay-avatar{position:relative;display:inline-flex;flex:none;width:var(--vk-av-size);height:var(--vk-av-size)}:is(.local-avatar-board,.online-avatar-board) .is-mirrored img{transform:scaleX(-1)}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity.is-active .gameplay-avatar{box-shadow:0 0 14px 3px #ffcd508c}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity.is-active .gameplay-avatar{transform:scale(1.06)}:is(.local-avatar-board,.online-avatar-board) .seat.west .seathead.gameplay-seathead,:is(.local-avatar-board,.online-avatar-board) .seat.east .seathead.gameplay-seathead{top:-34px}:is(.local-avatar-board,.online-avatar-board) .table.four .seat.north .gameplay-identity,:is(.local-avatar-board,.online-avatar-board) .table.two .seat.north .gameplay-identity{transform:translateY(-6px)}:is(.local-avatar-board,.online-avatar-board) .table.three .seat.north-left .gameplay-identity,:is(.local-avatar-board,.online-avatar-board) .table.three .seat.north-right .gameplay-identity{transform:translateY(-8px)}:is(.local-avatar-board,.online-avatar-board) .table.two .seat.north{padding-bottom:0}:is(.local-avatar-board,.online-avatar-board) .table.two .seat.north .seathead.gameplay-seathead{margin-bottom:6px}:is(.local-avatar-board,.online-avatar-board) .table.two .south-area .hand-wrap{margin-top:14px}:is(.local-avatar-board,.online-avatar-board) .table.two .south-area .hand-label{margin-bottom:16px}:is(.local-avatar-board,.online-avatar-board) .table.two .south-area .hand-controls{margin-top:6px}:is(.local-avatar-board,.online-avatar-board) .table.three .seat.north-left .seathead.gameplay-seathead{align-self:stretch;align-items:flex-start}:is(.local-avatar-board,.online-avatar-board) .table.three .seat.north-right .seathead.gameplay-seathead{align-self:stretch;align-items:flex-end}:is(.local-avatar-board,.online-avatar-board) .table.three .seat.north-right .gameplay-identity{flex-direction:row-reverse}:is(.local-avatar-board,.online-avatar-board) .table.three .seat.north-right .gameplay-identity .gameplay-identity-text{align-items:flex-end}:is(.local-avatar-board,.online-avatar-board) .table.three .gameplay-identity{justify-content:flex-start}:is(.local-avatar-board,.online-avatar-board) .table.three .gameplay-identity .gameplay-identity-text{flex:0 1 auto}:is(.local-avatar-board,.online-avatar-board) .table.three .gameplay-identity .gameplay-identity-text .seatname{justify-content:flex-start;text-align:left}:is(.local-avatar-board,.online-avatar-board) .table.three .seat.north-right .gameplay-identity .gameplay-identity-text .seatname{justify-content:flex-end;text-align:right}:is(.local-avatar-board,.online-avatar-board) .hand-label .gameplay-caption-avatar{margin:-6px 6px -6px 0;vertical-align:middle}@media(min-width:461px){:is(.local-avatar-board,.online-avatar-board) .table:is(.three,.four) .hand-label{transform:translateY(-6px)}}@media(max-width:460px){:is(.local-avatar-board,.online-avatar-board) .gameplay-identity{gap:6px}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity .gameplay-identity-text .seatname{font-size:.76rem}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity.gameplay-side{flex-direction:column;gap:3px}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity.gameplay-side .gameplay-identity-text{align-items:center}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity.gameplay-side .gameplay-identity-text .seatname,:is(.local-avatar-board,.online-avatar-board) .gameplay-identity.gameplay-side .gameplay-identity-text .seatstatus{justify-content:center;text-align:center}:is(.local-avatar-board,.online-avatar-board) .seat.west .seathead.gameplay-seathead,:is(.local-avatar-board,.online-avatar-board) .seat.east .seathead.gameplay-seathead{top:-20px}:is(.local-avatar-board,.online-avatar-board) .table.four .seat.north .gameplay-identity,:is(.local-avatar-board,.online-avatar-board) .table.two .seat.north .gameplay-identity,:is(.local-avatar-board,.online-avatar-board) .table.three .seat.north-left .gameplay-identity,:is(.local-avatar-board,.online-avatar-board) .table.three .seat.north-right .gameplay-identity{transform:none}:is(.local-avatar-board,.online-avatar-board) .table.two .seat.north{padding-bottom:6px}:is(.local-avatar-board,.online-avatar-board) .table.two .seat.north .seathead.gameplay-seathead{min-height:32px;margin-bottom:4px}:is(.local-avatar-board,.online-avatar-board) .table.two .south-area .hand-wrap{margin-top:10px}:is(.local-avatar-board,.online-avatar-board) .table.two .south-area .hand-label{margin-bottom:18px}:is(.local-avatar-board,.online-avatar-board) .table.two .south-area .hand-controls{margin-top:10px}:is(.local-avatar-board,.online-avatar-board) .table.three .seat.north-left,:is(.local-avatar-board,.online-avatar-board) .table.three .seat.north-right{justify-content:flex-start;min-height:176px}:is(.local-avatar-board,.online-avatar-board) .table.three .south-area .hand-wrap{margin-top:18px}:is(.local-avatar-board,.online-avatar-board) .table.three .south-area .hand-label{margin-bottom:24px}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity.gameplay-side .seatname{flex-direction:column;gap:2px}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity.gameplay-side .seatname .seat-token,:is(.local-avatar-board,.online-avatar-board) .gameplay-identity.gameplay-side .seatname .tag{white-space:nowrap;font-size:.56rem;padding:1px 5px;line-height:1.3}:is(.local-avatar-board,.online-avatar-board) .table.three .gameplay-identity .gameplay-identity-text{gap:1px}:is(.local-avatar-board,.online-avatar-board) .table.three .gameplay-identity .gameplay-identity-text .seatname{line-height:1.05}}.vk-av-20{--vk-av-size: 20px}.vk-av-28{--vk-av-size: 28px}.vk-av-30{--vk-av-size: 30px}.vk-av-34{--vk-av-size: 34px}.vk-av-36{--vk-av-size: 36px}.vk-av-48{--vk-av-size: 48px;--vk-ring: 3px}.vk-av.is-mirrored img{transform:scaleX(-1)}:is(.local-avatar-board,.online-avatar-board) .gameplay-avatar{--vk-av-size: 48px;--vk-ring: 3px}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity{max-width:100%;min-width:0}:is(.local-avatar-board,.online-avatar-board) .gameplay-identity-text .seatname{flex-wrap:nowrap;min-width:0}:is(.local-avatar-board,.online-avatar-board) .table.three .gameplay-identity-text .seatname{flex-wrap:wrap}:is(.local-avatar-board,.online-avatar-board) .gameplay-seat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%}:is(.local-avatar-board,.online-avatar-board) .gameplay-caption-avatar{flex:none;pointer-events:none}:is(.local-avatar-board,.online-avatar-board) .hand-label{flex-wrap:nowrap}:is(.local-avatar-board,.online-avatar-board) .gameplay-caption-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}:is(.local-avatar-board,.online-avatar-board) .handoff-title .gameplay-caption-avatar{margin:-6px 6px -6px 0}.local-name-line{flex:1 1 100%;display:flex;align-items:center;gap:8px;min-width:0}.local-name-line .seatnameinput{flex:1 1 auto;width:0}.local-guest-picker{display:flex;gap:4px;flex:none}.local-guest-option{position:relative;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;min-height:0;box-shadow:none}.local-guest-option .vk-av{display:block;margin:2px}.local-guest-option[aria-checked=false] .vk-av{opacity:.38;filter:grayscale(.35)}.local-guest-option[aria-checked=true]:after{content:"✓";position:absolute;right:-1px;bottom:-1px;width:16px;height:16px;border-radius:50%;background:var(--gold);color:#1a1205;font:900 11px/16px system-ui;text-align:center;box-shadow:0 0 0 2px #0e1018}.local-guest-option:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}@media(max-width:460px){:is(.local-avatar-board,.online-avatar-board) .gameplay-avatar{--vk-ring: 2px}:is(.local-avatar-board,.online-avatar-board) .avatar-north{--vk-av-size: 32px}:is(.local-avatar-board,.online-avatar-board) .avatar-side{--vk-av-size: 34px}:is(.local-avatar-board,.online-avatar-board) .avatar-corner{--vk-av-size: 30px}:is(.local-avatar-board,.online-avatar-board) .gameplay-caption-avatar{--vk-av-size: 20px}:is(.local-avatar-board,.online-avatar-board) .seatname{flex-wrap:nowrap;max-width:100%}:is(.local-avatar-board,.online-avatar-board) .gameplay-side .gameplay-seat-name{max-width:80px}:is(.local-avatar-board,.online-avatar-board) .seat-token{flex:none}}.online-avatar-board .gameplay-avatar.has-takeover .gameplay-human-art>img{opacity:.55;filter:grayscale(.45)}.online-avatar-board .gameplay-takeover-mark{position:absolute;right:-4px;bottom:-3px;width:46%;height:46%;--vk-ring:0px;box-shadow:0 0 0 2px #17191b}.online-avatar-board .gameplay-avatar.has-takeover{border-radius:50%}.online-avatar-board .gameplay-human-art{width:100%;height:100%}.gameplay-takeover-short{display:none}.online-avatar-board .takenover .seatmeta{color:#ffdfb8}.gameplay-countdown-slot .message{padding:4px 10px;font-size:.72rem;gap:6px;box-shadow:none}.gameplay-countdown-slot .gameplay-caption-avatar{width:20px;height:20px;vertical-align:middle;margin:-3px 5px -3px 0}.gameplay-countdown-slot .turn-warning{flex-direction:row;flex-wrap:nowrap}.gameplay-countdown-slot .turn-warning button{width:auto;font-size:.66rem;min-height:40px;padding:4px 6px}.gameplay-seat-action{position:absolute;left:50%;transform:translate(-50%);z-index:25}.gameplay-seat-action button{min-height:40px;white-space:nowrap;font-size:.72rem}.gameplay-own-takeover .autoplay-notice{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:.72rem}.gameplay-own-takeover .autoplay-notice button{width:auto;min-height:40px;font-size:.72rem;padding:4px 8px}.gameplay-own-takeover .gameplay-caption-avatar{width:20px;height:20px;vertical-align:middle;margin:-3px 5px -3px 0}.online-name-line{min-height:40px;gap:6px}.online-name-line #name{min-width:0;width:0;flex:1}.online-name-line>.vk-av{flex:none}.lseat-name>.vk-av{vertical-align:middle;margin-right:6px}@media(max-width:460px){.online-avatar-board .gameplay-takeover-long{display:none}.online-avatar-board .gameplay-takeover-short{display:inline}.online-avatar-board .gameplay-side .seatmeta{white-space:nowrap;font-size:.58rem}}@media(max-width:460px){.online-avatar-board .table.three .gameplay-identity-text .seatname{flex-wrap:nowrap}.online-avatar-board .table.three .gameplay-identity-text .seatname .tag{flex:none;white-space:nowrap;font-size:.56rem;padding:1px 5px;line-height:1.3}.online-avatar-board .table.three .takenover .seatmeta{white-space:nowrap}.online-avatar-board .table.three .takenover .gameplay-identity-text{transform:translateY(-12px)}}.vh-row-players{flex-basis:100%;color:var(--muted);overflow-wrap:anywhere;line-height:1.4}.vh-game{grid-template-columns:minmax(0,1fr)}.vh-seat-list span{max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}.vh-hand-facts dd,.vh-trick-card>span{overflow-wrap:anywhere}.vh-trick-card{max-width:100%}
