:root{--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--gutter:16px;--inset-l:env(safe-area-inset-left,0px);--inset-r:env(safe-area-inset-right,0px);--side-x:calc(max(var(--gutter), var(--inset-l)) + max(var(--gutter), var(--inset-r)));--tile-lg-w:min(calc((100vw - 2 * var(--gutter) - 12px - 12 * 3px) / 13), 46px);--tile-lg-h:calc(var(--tile-lg-w) * 1.42);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none}html,body,#root{height:100%;margin:0}body{background:var(--felt-edge);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true],.legal-card{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}img{-webkit-user-drag:none}button{font:inherit;color:inherit}button,[role=button],.tile,.rack,.sorter,.seg{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{border:1px solid var(--line);cursor:pointer;letter-spacing:.01em;white-space:nowrap;transition:transform .14s var(--ease-out), background-color .16s ease, opacity .16s ease;background:#ffffff12;border-radius:11px;padding:9px 14px;font-size:14px;font-weight:650}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.38;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:none;border-color:#0000}.btn-danger{background:var(--danger);color:var(--danger-ink);border-color:#0000}.btn-ghost{background:0 0}.btn-small{padding:6px 10px;font-size:13px}.btn-big{border-radius:14px;width:100%;padding:15px;font-size:17px}@media (hover:hover) and (pointer:fine){.btn:hover:not(:disabled){background-color:#ffffff21}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover)}.btn-danger:hover:not(:disabled){background-color:var(--danger-hover)}}.icon-btn{border:1px solid var(--line);cursor:pointer;width:44px;height:44px;transition:transform .14s var(--ease-out);background:#ffffff0d;border-radius:10px;place-items:center;display:grid}.icon-btn:active{transform:scale(.94)}.tile{background:var(--tile-face);box-shadow:0 2px 0 var(--tile-edge), 0 3px 0 var(--tile-edge-dark), 0 4px 5px #0003;font-variant-numeric:tabular-nums;transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out);border-radius:7px;flex-direction:column;flex:none;justify-content:center;align-items:center;margin-bottom:4px;font-weight:800;line-height:1;display:flex;position:relative}.tile[data-color=red]{color:var(--red)}.tile[data-color=yellow]{color:var(--yellow)}.tile[data-color=blue]{color:var(--blue)}.tile[data-color=black]{color:var(--black)}.tile-num{letter-spacing:-.03em}.tile-dot{aspect-ratio:1;opacity:.9;background:currentColor;border-radius:50%;width:24%;margin-top:13%}.tile-okey{background:radial-gradient(circle at 35% 35%, var(--okey-hi), var(--accent) 60%, var(--okey-lo));border-radius:50%;width:7px;height:7px;position:absolute;top:3px;right:3px;box-shadow:0 0 0 1px #0003}.tile-fake{font-size:1.25em}.tile-lg{width:var(--tile-lg-w);height:var(--tile-lg-h);font-size:calc(var(--tile-lg-w) * .56);border-radius:7px}.tile-md{width:30px;height:42px;font-size:17px}.tile-sm{width:24px;height:34px;box-shadow:0 0 0 .5px rgb(var(--tile-outline-sm-rgb) / .25), 0 2px 0 var(--tile-edge), 0 3px 0 var(--tile-edge-dark), 0 4px 6px #00000047;border-radius:5px;margin-bottom:3px;font-size:14px}.tile-sm .tile-dot{margin-top:9%}.tile-sm .tile-okey{width:5px;height:5px;top:2px;right:2px}.tile-xs{width:11px;height:15px;box-shadow:0 1px 0 var(--tile-edge-dark), 0 2px 3px #0000004d;border-radius:2px;margin-bottom:2px}.tile-back{background:var(--tile-face-low)}.tile-md.tile-back:after,.tile-lg.tile-back:after{content:"";border:1.5px solid rgb(var(--tile-back-line-rgb) / .22);border-radius:3px;position:absolute;inset:24% 22%}.tile-click{cursor:pointer}.tile-click:active{transform:scale(.96)}.tile-selected,.tile-selected:active{box-shadow:0 0 0 2px var(--accent), 0 3px 0 var(--tile-edge), 0 4px 0 var(--tile-edge-dark), 0 12px 16px #0006;transform:translateY(-9px)}.tile-sm.tile-selected{transform:none}.tile-warn{box-shadow:0 0 0 2px var(--danger), 0 3px 0 var(--tile-edge), 0 4px 6px #0000004d}.start{min-height:100%;padding:max(24px, env(safe-area-inset-top)) var(--gutter) max(24px, env(safe-area-inset-bottom));background:var(--felt-edge);place-items:center;display:grid}.start-card{text-align:left;grid-template-columns:1fr 1fr;align-items:center;gap:64px;width:min(880px,100%);display:grid}.fan{--tile-lg-w:44px;justify-content:flex-start;gap:7px;margin-top:36px;display:flex}.fan-tile{transform:rotate(-6deg)}.fan-tile:nth-child(2n){transform:translateY(-8px)rotate(4deg)}.start h1{letter-spacing:-.035em;margin:0;font-size:clamp(40px,5vw,60px);font-weight:700}.start-sub{color:var(--ink-dim);margin:6px 0 26px}.brand-mark{border:1px solid var(--accent);width:42px;height:48px;color:var(--accent);border-radius:10px;place-items:center;margin-bottom:24px;font-weight:700;display:inline-grid}.start-play{background:var(--panel-solid);border:1px solid var(--line);border-radius:24px;min-width:0;padding:28px}.field-label{width:100%;color:var(--ink-dim);margin-top:8px;font-size:13px}.field-help{color:var(--ink-faint);align-self:flex-start;margin:-6px 0 4px;font-size:12px}.field small{float:right;color:var(--ink-faint)}.start-panel h2{letter-spacing:-.025em;align-self:flex-start;margin:8px 0 0;font-size:22px;font-weight:650}.start-panel .seg{width:100%;margin:0 0 6px}.start-panel .seg button{flex:1}.start-panel .btn-big{justify-content:space-between;align-items:center;display:flex}@media (width<=640px){.start-card{grid-template-columns:1fr;gap:28px;width:min(400px,100%)}.start-brand{text-align:center}.brand-mark{display:none}.fan{--tile-lg-w:34px;justify-content:center;margin-top:20px}.start-play{padding:22px}.start-brand .start-sub{margin-bottom:0}}.seg{border:1px solid var(--line);background:#00000047;border-radius:13px;margin-bottom:18px;padding:4px;display:inline-flex}.seg button{cursor:pointer;background:0 0;border:0;border-radius:9px;padding:10px 20px;font-weight:600;transition:background-color .16s,color .16s}.seg button.on{background:var(--ink);color:var(--felt-deep)}.game{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.scorebar{padding:8px var(--gutter);padding-top:max(8px, env(safe-area-inset-top));background:var(--felt-edge);border-bottom:1px solid var(--line);align-items:center;gap:10px;font-size:14px;display:flex}.hand-pill{font-variant-numeric:tabular-nums;font-weight:700}.hand-pill small{color:var(--ink-faint);margin-left:1px;font-weight:500}.score-teams{cursor:pointer;background:0 0;border:0;gap:6px;margin-left:auto;padding:0;display:flex}.team-0{--team:var(--team0)}.team-1{--team:var(--team1)}.team-score{border:1px solid var(--line);background:#ffffff0d;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.team-score b{font-variant-numeric:tabular-nums;font-size:15px}.team-dot{background:var(--team);border-radius:50%;width:8px;height:8px}.team-name{color:var(--ink-dim);font-size:13px}.kafa-chip{background:color-mix(in srgb, var(--team) 22%, transparent);color:var(--team);border-radius:999px;padding:2px 6px;font-size:11px;font-weight:700}th.team-0,th.team-1,span.team-0,span.team-1,b.team-0,b.team-1{color:var(--team)}.felt{background:radial-gradient(90% 70% at 50% 45%, #ffffff12, transparent 70%), radial-gradient(150% 120% at 50% 50%, var(--felt) 35%, var(--felt-deep) 85%);grid-template:"top top top""left middle right"minmax(0,1fr)/50px minmax(0,1fr) 50px;min-height:0;padding:8px 6px 70px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000059,inset 0 18px 40px #00000059,inset 0 -18px 40px #0000004d}.felt:before{content:"";pointer-events:none;opacity:.35;background-image:radial-gradient(#ffffff0d 1px,#0000 1px),radial-gradient(#0000001f 1px,#0000 1px);background-position:0 0,2px 3px;background-size:5px 5px,7px 7px;position:absolute;inset:0}.felt>.opp,.felt>.middle{position:relative}.opp{flex-direction:column;align-items:center;gap:5px;min-width:0;font-size:12px;display:flex}.opp-top{grid-area:top}.opp-left{grid-area:left;justify-content:center}.opp-right{grid-area:right;justify-content:center}.avatar{background:color-mix(in srgb, var(--team) 12%, var(--panel-solid));width:40px;height:40px;box-shadow:0 0 0 1px color-mix(in srgb, var(--team) 45%, transparent);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:750;transition:box-shadow .22s;display:grid;position:relative}.avatar-count{background:var(--panel-solid);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;min-width:20px;padding:2px 5px;font-size:10px;font-weight:700;position:absolute;bottom:-4px;right:-18px}.opp-right .avatar-count{left:-18px;right:auto}.opp-hand{gap:1px;display:flex}.opp-hand-v{flex-direction:column;gap:0}.opp-hand-v .tile+.tile{margin-top:-11px}.badge{white-space:nowrap;background:#ffffff1f;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:650}.badge-pair{background:color-mix(in srgb, var(--pair) 35%, transparent);color:var(--pair-ink-light)}.opp-left .avatar,.opp-right .avatar{width:34px;height:34px;font-size:11px}.opp-left .badge,.opp-right .badge{white-space:normal;text-align:center;max-width:100%;padding:3px 5px}.middle{flex-direction:column;grid-area:middle;gap:8px;min-height:0;display:flex}.info-line{flex-wrap:wrap;justify-content:center;gap:6px;font-size:12px;display:flex}.chip{border:1px solid var(--line);color:var(--ink);font-variant-numeric:tabular-nums;background:#00000038;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;display:inline-flex}.chip-label{color:var(--ink-dim)}.chip-sep{color:var(--ink-faint)}.chip-pair{background:color-mix(in srgb, var(--pair) 28%, transparent);border-color:color-mix(in srgb, var(--pair) 45%, transparent);color:var(--pair-ink-light);font-weight:650}.mini-tile{background:var(--tile-face);width:16px;height:20px;box-shadow:0 1px 0 var(--tile-edge-dark);border-radius:3px;place-items:center;font-size:11px;font-weight:800;display:inline-grid}.mini-tile[data-color=red]{color:var(--red)}.mini-tile[data-color=yellow]{color:var(--yellow)}.mini-tile[data-color=blue]{color:var(--blue)}.mini-tile[data-color=black]{color:var(--black)}.groups{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding:4px 2px;display:flex;overflow-y:auto}.group-section{flex-direction:column;gap:5px;display:flex}.group-label{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--team) 80%, var(--ink));align-items:center;gap:6px;margin:0;font-size:10px;font-weight:700;display:flex}.group-label:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--team) 40%, transparent), transparent);flex:1;height:1px}.group-list{flex-wrap:wrap;gap:8px;display:flex}.table-empty{color:var(--ink-faint);flex:1;place-items:center;font-size:13px;display:grid}.group{background:#0003;border-radius:9px;gap:2px;padding:4px 4px 1px;display:flex;box-shadow:inset 0 1px 2px #00000059,0 1px #ffffff0d}.center-stack{justify-content:center;align-items:flex-end;gap:18px;padding-bottom:2px;display:flex}.deck{border-radius:10px;padding:4px;transition:box-shadow .2s;position:relative}.deck:before,.deck:after{content:"";background:var(--tile-edge);border-radius:7px;width:30px;height:42px;position:absolute;left:4px;box-shadow:0 3px 6px #0000004d}.deck:before{top:10px;transform:translate(4px)}.deck:after{top:7px;transform:translate(2px)}.deck .tile{z-index:1}.deck-active{cursor:pointer;box-shadow:0 0 0 2px var(--accent)}.deck-active:active .tile{transform:scale(.96)}.deck-count{z-index:2;background:var(--panel-solid);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700;position:absolute;bottom:-6px;right:-10px}.indicator{color:var(--ink-faint);letter-spacing:.04em;flex-direction:column;align-items:center;gap:4px;font-size:10px;display:flex}.pile{background:#00000029;border-radius:11px;place-items:center;width:48px;height:60px;transition:box-shadow .2s,background-color .2s;display:grid;position:absolute;box-shadow:inset 0 2px 6px #00000059,0 1px #ffffff0d}.pile>*{grid-area:1/1}.pile-under{opacity:.75;transform:rotate(-9deg)translate(-3px,1px)}.pile-bl{bottom:8px;left:8px}.pile-br{bottom:8px;right:8px}.pile-tl{top:8px;left:8px}.pile-tr{top:8px;right:8px}.pile-take{cursor:pointer;box-shadow:inset 0 2px 6px #00000059, 0 0 0 2px var(--accent)}.pile-take:active .tile{transform:scale(.96)}.pile-over{background:color-mix(in srgb, var(--danger) 30%, transparent);box-shadow:inset 0 2px 6px #00000059, 0 0 0 2px var(--danger)}.pile-empty{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:10px;font-weight:700}.me{padding:10px var(--gutter);padding-bottom:max(12px, env(safe-area-inset-bottom));background:linear-gradient(180deg, #ffffff0f, transparent 30%), linear-gradient(180deg, var(--tray-hi), var(--tray-lo));border-top:1px solid var(--line);flex-direction:column;gap:8px;display:flex;position:relative}.status{color:var(--ink-dim);min-height:18px;font-size:13px;line-height:1.35}.status-mine{color:var(--accent);font-weight:650}.status-mine:before{content:"";background:var(--accent);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.stage{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stage-group{cursor:pointer;transition:transform .14s var(--ease-out);background:#ffffff12;border-radius:9px;gap:2px;padding:4px 4px 1px;display:flex}.stage-group:active{transform:scale(.97)}.stage-bad{background:color-mix(in srgb, var(--danger) 22%, transparent)}.stage-sum{font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--danger) 25%, transparent);color:var(--bad-ink);border-radius:999px;padding:5px 10px;font-size:13px;font-weight:750}.stage-sum.ok{background:color-mix(in srgb, var(--team0) 25%, transparent);color:var(--good-ink)}.actions{flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;display:flex}.spacer{flex:1}.sorter{border:1px solid var(--line);border-radius:10px;align-items:center;font-size:12px;display:inline-flex;overflow:hidden}.sorter-label{color:var(--ink-faint);padding:0 8px;font-weight:600}.sorter button{border:0;border-left:1px solid var(--line);cursor:pointer;background:#ffffff0d;padding:7px 10px;font-weight:650;transition:background-color .14s}.sorter button:active{background:#ffffff29}@media (hover:hover) and (pointer:fine){.sorter button:hover{background:#ffffff1f}}.rack{background:linear-gradient(180deg, #ffffff1a, transparent 18%), repeating-linear-gradient(92deg, #0000000d 0 2px, transparent 2px 9px), linear-gradient(180deg, var(--wood-light), var(--wood) 40%, var(--wood-dark));border-radius:12px;gap:7px 3px;padding:9px 6px 5px;transition:box-shadow .24s;display:grid;box-shadow:inset 0 1px #ffffff2e,inset 0 -3px #00000059,0 6px 14px #00000059}.rack-turn{box-shadow:inset 0 1px 0 #ffffff2e, inset 0 -3px 0 #00000059, 0 0 0 1px color-mix(in srgb, var(--accent) 70%, transparent), 0 6px 14px #00000059}.rack-slot{height:calc(var(--tile-lg-h) + 4px);background:#00000029;border-radius:6px;place-items:start center;transition:background-color .12s;display:grid;box-shadow:inset 0 2px 3px #00000040}.rack-drag{touch-action:none;cursor:grab}.rack-drag .tile{transition:transform .14s ease-out,box-shadow .14s ease-out}.rack-held .tile:not(.tile-selected){box-shadow:0 3px 0 var(--tile-side,var(--tile-edge)), 0 4px 0 var(--tile-side-dark,var(--tile-edge-dark)), 0 12px 16px #0006;transform:translateY(-6px)scale(1.04)}.rack-held .tile-selected{transform:translateY(-12px)scale(1.04)}@media (prefers-reduced-motion:reduce){.rack-drag .tile{transition:none}}.rack-dragging{z-index:10;cursor:grabbing;position:relative}.rack-dragging .tile{box-shadow:0 3px 0 var(--tile-edge), 0 4px 0 var(--tile-edge-dark), 0 16px 24px #00000073}.modal-back{background:var(--backdrop);-webkit-backdrop-filter:blur(3px);width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);padding:var(--gutter);z-index:50;border:0;place-items:center;margin:0;position:fixed;inset:0}.modal-back[open]{display:grid}.modal-back::backdrop{background:0 0}.modal{width:min(400px,100%);max-height:calc(100dvh - 2 * var(--gutter));overscroll-behavior:contain;background:var(--panel-solid);border:1px solid var(--line);border-radius:20px;padding:22px;overflow-y:auto;box-shadow:inset 0 1px #ffffff14,0 24px 60px #0000008c}.modal h2{letter-spacing:-.015em;margin:0 0 8px;font-size:21px}.modal p{margin:6px 0;line-height:1.45}.muted{color:var(--ink-dim);font-size:14px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.toggle{cursor:pointer;border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;font-size:15px;display:flex}.toggle input{width:20px;height:20px;accent-color:var(--accent)}.winner{text-align:center;color:var(--accent);letter-spacing:-.02em;font-size:24px;font-weight:850}.result{border-collapse:collapse;width:100%;margin-top:10px;font-size:15px}.result td,.result th{text-align:left;padding:7px 4px}.result .num{text-align:right;font-variant-numeric:tabular-nums}.result th:not(:first-child){text-align:right}.result tr.sep td{border-top:1px solid var(--line)}.toasts{top:max(58px, calc(env(safe-area-inset-top) + 50px));z-index:60;width:min(360px, calc(100vw - 2 * var(--gutter)));pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 8px 20px #00000059}.toast:before{content:"";background:#ffffff73;border-radius:50%;flex:none;width:7px;height:7px}.toast-good:before{background:var(--team0)}.toast-bad:before{background:var(--danger)}.note{background:var(--panel);border:1px solid var(--line);z-index:40;max-width:calc(100vw - 2 * var(--gutter));border-radius:12px;padding:10px 16px;font-size:14px;position:fixed;bottom:38%;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #0006}@media (width>=760px){.felt{grid-template-columns:96px minmax(0,1fr) 96px;padding:14px 14px 84px}.avatar,.opp-left .avatar,.opp-right .avatar{width:48px;height:48px;font-size:13px}.tile-xs{width:14px;height:20px}.opp-hand-v .tile+.tile{margin-top:-14px}.tile-sm{width:30px;height:42px;font-size:17px}.pile{width:56px;height:68px}.me{align-items:center}.me>*{width:min(760px,100%)}}@media (prefers-reduced-motion:reduce){.deck-active,.pile-take,.opp-active .avatar{animation:none}.tile,.btn{transition-duration:0s}}@media (pointer:coarse){.btn,.sorter button,.seg button,.tabs button,.rotate-hint{min-height:44px}}.rack-row{grid-template-columns:minmax(0,1fr);display:grid}.side-sort{display:none}.rotate-hint{border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;background:#ffffff0f;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:5px 10px;font-size:12px;display:none}.rotate-hint u{color:var(--ink-faint)}@media (orientation:portrait) and (pointer:coarse){.rotate-hint{display:inline-flex}}.sort-icon{gap:1px;display:inline-flex}.sort-icon span{background:var(--tile-face);width:12px;height:16px;box-shadow:0 1px 0 var(--tile-edge-dark);border-radius:2px;place-items:center;font-size:9px;font-weight:800;display:grid}.sort-icon span[data-color=red]{color:var(--red)}.sort-icon span[data-color=blue]{color:var(--blue)}@media (orientation:landscape) and (height<=560px){:root{--gutter:10px;--tile-lg-w:min(calc((100vw - var(--side-x) - 2 * 72px - 12px - 12 * 3px) / 13), calc(100dvh * .095), 46px)}.game{grid-template-rows:minmax(0,1fr) auto;position:relative}.scorebar{z-index:5;padding:max(6px, env(safe-area-inset-top)) max(var(--gutter), var(--inset-r)) 0 max(var(--gutter), var(--inset-l));pointer-events:none;background:0 0;border:0;position:absolute;inset:0 0 auto}.scorebar>*{pointer-events:auto}.icon-btn{background:#0000004d;width:40px;height:40px}.hand-pill{background:#0000004d;border-radius:999px;padding:4px 8px;font-size:13px}.team-score{background:#0000004d;padding:3px 8px}.felt{padding:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) 6px max(6px, env(safe-area-inset-left));grid-template:".top."40px"left middle right"minmax(0,1fr)/70px minmax(0,1fr) 70px}.opp-top{flex-direction:row;justify-content:center;align-items:center;gap:8px}.opp-top .avatar,.opp-left .avatar,.opp-right .avatar{width:30px;height:30px;font-size:10px}.opp-left .avatar-count{bottom:-6px;right:-20px}.opp-right .avatar-count{bottom:-6px;left:-20px;right:auto}.pile{width:42px;height:50px}.pile-tl{top:46px;left:max(12px, env(safe-area-inset-left))}.pile-tr{top:46px;right:max(12px, env(safe-area-inset-right))}.pile-bl{bottom:6px;left:max(12px, env(safe-area-inset-left))}.pile-br{bottom:6px;right:max(12px, env(safe-area-inset-right))}.opp-left,.opp-right{justify-content:center;gap:3px;padding:52px 0}.opp-left .badge,.opp-right .badge{padding:2px 5px;font-size:9px}.opp-left .opp-hand,.opp-right .opp-hand{display:none}.middle{grid-template:"groups info""groups center"minmax(0,1fr)/minmax(0,1fr) auto;gap:8px 12px;padding-top:4px;display:grid}.info-line{flex-direction:column;grid-area:info;align-items:stretch;gap:4px}.chip{justify-content:center;padding:2px 8px;font-size:11px}.mini-tile{width:14px;height:18px;font-size:10px}.indicator>span{display:none}.groups{background:#0000001f;border-radius:12px;flex-direction:row;grid-area:groups;gap:0;padding:6px;box-shadow:inset 0 1px 4px #0000004d}.group-section{flex:1;min-width:0;padding:0 8px}.group-section+.group-section{border-left:1px solid var(--line)}.table-empty{background:#0000001f;border-radius:12px;grid-area:groups}.center-stack{grid-area:center;align-self:end;align-items:center;gap:14px}.me{padding:6px max(var(--gutter), var(--inset-r)) max(6px, env(safe-area-inset-bottom)) max(var(--gutter), var(--inset-l));grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"status actions""rack rack";align-items:center;gap:6px 10px;display:grid}.me>*{width:auto}.status{grid-area:status;min-width:0;font-size:12px}.actions{flex-wrap:nowrap;grid-area:actions;min-height:34px}.actions .spacer,.sorter{display:none}.btn{padding:7px 12px;font-size:13px}.rotate-hint{display:none}.stage{z-index:6;background:var(--panel);border:1px solid var(--line);max-width:calc(100vw - 2 * var(--gutter));border-radius:12px;flex-wrap:nowrap;padding:6px 8px;position:absolute;bottom:calc(100% + 8px);left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 10px 24px #0006}.rack-row{grid-area:rack;grid-template-columns:64px minmax(0,1fr) 64px;align-items:stretch;gap:8px}.side-sort{border:1px solid var(--line);background:var(--surface-raised);cursor:pointer;transition:transform .14s var(--ease-out);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:750;line-height:1.1;display:flex}.side-sort:active{transform:scale(.96)}.rack{gap:5px 3px;padding:6px 6px 3px}.toasts{top:max(48px, calc(env(safe-area-inset-top) + 42px))}.note{bottom:50%}.modal{width:min(480px,100%);padding:16px 18px}.result{font-size:14px}.result td,.result th{padding:4px}.start-card{grid-template-columns:1fr 1fr;gap:24px;width:min(760px,100%)}.start-brand{text-align:center}.start-brand .fan{justify-content:center}.start-play{padding:14px 18px}.start{padding-block:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-bottom))}.start-panel{gap:8px}.start-panel h2{margin:0;font-size:20px}.brand-mark{display:none}.start h1{font-size:38px}}.tabs{border:1px solid var(--line);background:#00000047;border-radius:13px;gap:4px;margin:0 0 20px;padding:4px;display:flex}.tabs button{cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:9px 18px;font-weight:650;transition:background-color .16s,color .16s}.tabs button.on{background:var(--ink);color:var(--felt-deep)}.start-panel{flex-direction:column;align-items:center;gap:12px;display:flex}.start-panel .start-sub{width:100%;margin:0 0 4px;font-size:14px;line-height:1.5}.field{text-align:left;width:100%;color:var(--ink-dim);flex-direction:column;gap:6px;font-size:13px;display:flex}.field input{font:inherit;color:var(--ink);border:1px solid var(--line);background:#00000047;border-radius:12px;outline:none;padding:12px 14px;font-size:16px;transition:border-color .16s}.field input:focus{border-color:var(--accent)}.field-error{color:var(--error-ink);margin:0;font-size:13px}.lobby{min-height:100%;padding:max(16px, env(safe-area-inset-top)) var(--gutter) max(16px, env(safe-area-inset-bottom));background:var(--felt-edge);place-items:center;display:grid}.lobby-card{flex-direction:column;gap:20px;width:min(520px,100%);display:flex}.lobby-head{align-items:center;gap:10px;display:flex}.lobby-code{flex:1;align-items:baseline;gap:8px;display:flex}.lobby-code b{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:24px}.lobby-conn,.lobby-wait{text-align:center;color:var(--ink-dim);margin:0;font-size:14px}.lobby-table{grid-template:".top.""left felt right"".bottom."/1fr 1.4fr 1fr;align-items:center;gap:10px;display:grid;position:relative}.lobby-felt{text-align:center;min-height:90px;color:var(--ink-dim);border:1px solid var(--line);background:#0000002e;border-radius:18px;grid-area:felt;place-items:center;padding:12px;font-size:12px;display:grid}.spot-top{grid-area:top}.spot-bottom{grid-area:bottom}.spot-left{grid-area:left}.spot-right{grid-area:right}.lobby-seat{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.lobby-mine .avatar{box-shadow:0 0 0 2px var(--accent), 0 4px 10px #00000059}.lobby-name{overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:2px;min-width:0;max-width:100%;font-size:13px;font-weight:650;display:flex}.lobby-team{letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--team) 80%, var(--ink));font-size:10px;font-weight:700}.lobby-host,.lobby-off{color:var(--ink-faint);font-size:10px;font-weight:600}.lobby-host{color:var(--accent)}.lobby-settings{border:1px solid var(--line);background:#0000002e;border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.lobby-row{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.lobby-row .seg{margin:0}.lobby-row .seg button{padding:7px 12px;font-size:13px}.lobby-row .seg button:disabled{cursor:default}.lobby-gate{background:var(--panel-solid);border:1px solid var(--line);border-radius:20px;padding:22px}.lobby-gate h2{letter-spacing:.08em;align-items:baseline;gap:8px;margin:0;display:flex}.conn-banner{background:color-mix(in srgb, var(--danger) 25%, transparent);color:var(--bad-ink);border-radius:10px;padding:6px 10px;font-size:13px;font-weight:600}.countdown{min-width:24px;height:20px;color:var(--ink);font-variant-numeric:tabular-nums;vertical-align:1px;background:#00000059;border-radius:999px;place-items:center;margin-right:8px;padding:0 6px;font-size:12px;font-weight:750;display:inline-grid}.countdown-low{background:var(--danger);color:var(--danger-ink)}.avatar-bot{background:var(--panel-solid);border:1px solid var(--line);color:var(--ink-dim);border-radius:999px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:-6px;left:-8px}.avatar-timer{position:absolute;top:-12px;left:50%;transform:translate(-50%)}.avatar-timer .countdown{margin:0}@media (orientation:landscape) and (height<=560px){.lobby-card:not(.lobby-gate){grid-template-columns:1.1fr 1fr;grid-template-areas:"head head""table settings""table action";align-items:start;gap:10px 24px;width:min(860px,100%);display:grid}.lobby-head{grid-area:head}.lobby-table{grid-area:table;gap:4px}.lobby-table .avatar{width:34px;height:34px}.lobby-felt{min-height:60px}.lobby-settings{grid-area:settings}.lobby-card>.btn-big,.lobby-wait{grid-area:action}.lobby-conn{grid-area:head;justify-self:center}}.lobby-warn{color:var(--danger)}.lobby-ok{color:var(--team0)}.lobby-bet{flex-direction:column;gap:6px;font-size:13px;line-height:1.4;display:flex}.lobby-bet p{margin:0}.lobby-bot-vote{color:var(--ink-dim);background:#ffffff0a;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.lobby-bot-vote .btn{flex:none}.lobby-row .seg{flex-wrap:wrap;justify-content:flex-end}.pot-chip{white-space:nowrap;align-items:center;gap:5px;font-weight:650;display:inline-flex}.bet-result{justify-content:center;align-items:center;gap:6px;margin:4px 0 8px;font-size:18px;font-weight:750;display:flex}.bet-win{color:var(--team0)}.bet-loss{color:var(--ink-dim)}.salon-list{flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.salon{border:1px solid var(--line);background:#0000002e;border-radius:14px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.salon-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.salon-head b{font-size:15px;display:block}.salon-head small,.salon-meta{color:var(--ink-dim);font-size:12px}.salon-head .btn{flex:none}.salon-meta{flex-wrap:wrap;justify-content:space-between;gap:6px;display:flex}.salon-tables{flex-wrap:wrap;gap:6px;display:flex}.salon-table{border:1px solid var(--line);min-height:36px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:#ffffff0d;font-size:12px}.lobby-salon{color:var(--ink-dim);margin:0;font-size:13px;line-height:1.4}.start-legal{text-align:center;color:var(--ink-faint);margin-top:14px;font-size:12px}.start-legal a,.legal a,.account-panel small a{color:var(--ink-dim);text-underline-offset:2px}.legal{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));background:var(--felt-edge);color:var(--ink);overflow-y:auto}.legal-card{max-width:680px;margin:0 auto;font-size:15px;line-height:1.6}.legal-card h1{margin:12px 0 8px;font-size:26px}.legal-card h2{margin:22px 0 6px;font-size:17px}.legal-card ul{padding-left:20px}.legal-card li+li{margin-top:6px}.legal-links{margin-top:20px;font-size:13px}.middle{grid-template:"info info""groups center"minmax(0,1fr)/minmax(0,1fr) 58px;gap:6px 8px;min-width:0;display:grid}.info-line{flex-direction:row;grid-area:info;align-items:center}.center-stack{flex-direction:column;grid-area:center;align-self:center;align-items:center;gap:18px}.groups,.table-empty{grid-area:groups;min-width:0;min-height:0}.table-area{grid-area:groups;min-width:0;min-height:0;display:flex;position:relative}.table-scroll-hint{pointer-events:none;color:var(--ink-dim);background:var(--felt-deep);border-radius:5px 5px 0 0;padding:2px 6px;font-size:10px;position:absolute;bottom:0;right:6px}.groups{overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y;background:#00000017;border-radius:10px;flex-direction:column;gap:12px;padding:6px;display:flex;overflow:hidden auto}.group-section{flex:none;min-width:0;padding:0}.table-scroll-surface{flex-direction:column;gap:12px;min-height:100%;display:flex}.group-section+.group-section{border:0;border-top:1px solid var(--line);padding-top:10px}.group-label{color:var(--ink-dim);letter-spacing:.03em;text-transform:none;margin-bottom:4px;font-size:10px}.group-label:after{display:none}.group-list{align-items:flex-start;gap:8px}.group-card{background:#00000029;border:1px solid #0000;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;width:max-content;min-width:0;max-width:100%;display:grid;position:relative}.group-owner{text-overflow:ellipsis;white-space:nowrap;max-width:140px;color:var(--ink-dim);grid-column:1/-1;padding:2px 5px;font-size:10px;line-height:12px;display:block;overflow:hidden}.group-owner:before{content:"";vertical-align:middle;background:var(--team);border-radius:50%;width:4px;height:4px;margin-right:4px;display:inline-block}.group-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;touch-action:pan-x pan-y;min-width:0;max-width:100%;overflow-x:auto}.group{width:max-content;min-width:100%;min-height:44px;box-shadow:none;color:inherit;touch-action:manipulation;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:2px;margin:0;padding:3px;display:flex}.group .tile-sm{flex:0 0 36px;width:36px;height:48px;font-size:25px}.group .tile-selected{transform:none}.group-ready{border-color:var(--gold-soft);background:rgb(var(--gold-soft-rgb) / 12%)}.group-over{outline:2px solid var(--target);outline-offset:-2px;background:rgb(var(--gold-soft-rgb) / 28%)}.group:focus-visible,.swap-target:focus-visible,.groups:focus-visible{outline:2px solid var(--target);outline-offset:-2px}.swap-targets{gap:2px;display:flex}.swap-target{border:0;border-left:1px solid var(--line);width:44px;min-width:44px;min-height:44px;color:var(--ink-dim);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border-radius:0 6px 6px 0;flex:1;padding:4px;font-size:11px}.swap-ready{color:var(--target);background:rgb(var(--gold-soft-rgb) / 12%)}.swap-preview{padding:6px;font-size:13px}.table-drag-preview{pointer-events:none;filter:drop-shadow(0 8px 6px #0000004d);transform:translateY(-54px)}@media (orientation:landscape) and (height<=560px){.felt{grid-template-rows:36px minmax(0,1fr);grid-template-columns:48px minmax(0,1fr) 48px}.middle{gap:4px 6px;padding-top:0}.info-line{flex-wrap:nowrap;justify-content:center;gap:4px}.groups{gap:8px;padding:4px}.group-list{gap:6px}.group .tile-sm{flex-basis:34px;width:34px;height:46px;font-size:24px}.center-stack{gap:14px}.opp-top{gap:4px}.opp-top .opp-hand{display:none}.opp-left,.opp-right{padding:46px 0}.pile-tl,.pile-tr{top:42px}.pile-tl,.pile-bl{left:max(6px, env(safe-area-inset-left))}.pile-tr,.pile-br{right:max(6px, env(safe-area-inset-right))}.me{gap:4px 8px}.actions{min-height:44px}.actions .btn{min-height:44px;padding:7px 10px}}@media (orientation:portrait) and (width<=600px){.felt{grid-template-columns:36px minmax(0,1fr) 36px;padding-bottom:58px}.middle{grid-template:"info""groups"minmax(0,1fr)"center"/minmax(0,1fr)}.center-stack{flex-direction:row;justify-content:center;gap:18px}.center-stack .tile-md{width:25px;height:35px;font-size:19px}.indicator>span{display:none}.deck{min-width:44px;min-height:44px}.group-list{gap:6px}.opp-left .opp-hand,.opp-right .opp-hand{display:none}.opp-left .avatar,.opp-right .avatar{width:30px;height:30px;font-size:10px}.actions .btn{min-height:44px}}.match-options{flex-wrap:wrap;gap:12px;width:100%;display:flex}.match-options label{min-width:110px;color:var(--ink-dim);flex-direction:column;flex:1;gap:6px;font-size:13px;display:flex}.match-options select{border:1px solid var(--line);background:var(--panel);min-height:44px;color:var(--ink);border-radius:9px;padding:8px;font-size:16px}.rack-recognized:after{content:"";background:var(--gold-soft);pointer-events:none;border-radius:3px;height:3px;position:absolute;bottom:0;left:2px;right:2px}.rack-slot{position:relative}.rack-counter{color:var(--gold-ink);font-variant-numeric:tabular-nums;gap:12px;font-size:12px;display:flex}.rack-row.rack-unassisted{grid-template-columns:minmax(0,1fr)}@media (orientation:landscape) and (height<=560px){.me{grid-template-areas:"status actions""counter actions""rack rack"}.rack-counter{grid-area:counter;font-size:11px}.actions{max-width:60vw;overflow-x:auto}.actions .btn{flex-shrink:0}.rack-unassisted .rack{width:100%}}.game{--tile-lg-h:calc(var(--tile-lg-w) * 1.42)}.me{gap:5px;padding-top:6px}.rack{row-gap:4px;padding-top:5px;padding-bottom:3px}.group-owner{padding-top:1px;padding-bottom:1px}@media (width>=900px) and (height>=561px){.game{--tile-lg-w:39px}.me>*{width:min(660px,100%)}}@media (orientation:landscape) and (height<=560px){.game{--tile-lg-w:min(calc((100vw - var(--side-x) - 192px - 48px) / 13), 8dvh, 38px)}.me{padding-top:3px;padding-bottom:max(4px, env(safe-area-inset-bottom));gap:2px 8px}.rack-slot{height:max(44px, calc(var(--tile-lg-h) + 2px))}.rack-row{grid-template-columns:54px minmax(0,1fr) 54px;gap:6px}.side-sort{gap:4px;font-size:11px}.groups{padding:3px}}.me{background:linear-gradient(#0000000a,#0000002e);border-top:0}.rack-slot{box-shadow:none;border-bottom:2px solid rgb(var(--rack-slot-rgb) / 24%);background:#0000000d;border-radius:3px}.rack-slot-over{background:color-mix(in srgb, var(--accent) 35%, transparent)}.groups{box-shadow:none;background:0 0}.group-card{background:#0000000f;border-radius:5px}.group-ready{background:rgb(var(--gold-soft-rgb) / 12%)}.group-over{background:rgb(var(--gold-soft-rgb) / 28%)}@media (orientation:landscape) and (height<=560px){.me{grid-template-columns:minmax(0,650px) 180px;grid-template-areas:"status actions""counter actions""rack actions";justify-content:center;gap:2px 12px;padding-top:4px}.rack-row,.rack-row.rack-unassisted{grid-template-columns:minmax(0,1fr)}.side-sort{display:none}.actions{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-self:center;align-items:stretch;gap:5px;max-width:none;max-height:none;display:grid;overflow:visible}.actions .btn{border-radius:9px;width:100%;min-height:44px;padding:6px}.actions .sorter{background:#0000001f;border:0;flex:0 0 44px;grid-column:1/-1;justify-content:center;min-height:44px;display:flex}.sorter-label{display:none}.sorter button{flex:1;min-width:44px;min-height:44px;padding:6px}.status{font-size:11px}.rack-counter{gap:14px}.rack{border-radius:7px;padding-left:5px;padding-right:5px}}.rack-move-target{border:1px dashed rgb(var(--target-rgb) / 65%);background:rgb(var(--target-rgb) / 9%);cursor:pointer;touch-action:manipulation;border-radius:4px;width:100%;height:100%;position:absolute;inset:0}.rack-move-target:focus-visible{outline:2px solid var(--target);outline-offset:-2px}.rack-move-target:active{background:rgb(var(--target-rgb) / 30%)}.rack-has-selection .tile-selected{outline:2px solid var(--target);outline-offset:1px}.rack-slot{margin-bottom:22px}.rack-group-handle{z-index:2;cursor:grab;touch-action:none;background:0 0;border:0;height:22px;padding:6px 12px;position:absolute;top:100%;left:0}.rack-group-handle span{background:var(--handle);height:5px;box-shadow:0 1px 2px var(--handle-shadow);border-radius:4px;display:block}.rack-group-handle:focus-visible{outline:2px solid var(--target)}.rack-group-preview{gap:3px;display:flex}.rack-heading{display:contents}@media (orientation:landscape) and (height<=560px){.me{grid-template-areas:"heading actions""rack actions"}.rack-heading{flex-wrap:wrap;grid-area:heading;justify-content:space-between;align-items:center;gap:2px 10px;display:flex}.rack-heading .status{flex:1;order:-1;font-size:11px}.rack-counter{flex-shrink:0;gap:8px;font-size:10px}.rack-slot{margin-bottom:10px}.rack-group-handle{padding:14px 12px 3px;top:calc(100% - 12px)}.felt{grid-template-rows:30px minmax(0,1fr)}.group-owner{line-height:10px}.table-scroll-surface{gap:6px}.group-section+.group-section{padding-top:4px}}.table-view-toggle{border:1px solid var(--line);background:var(--felt-deep);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:9px;padding:4px 10px;font-size:11px}.table-expanded .me{grid-template-columns:minmax(0,1fr);grid-template-areas:"rack""actions";gap:4px;padding-top:4px;display:grid}.table-expanded .rack-heading{display:none}.table-expanded .rack-row{grid-area:rack;width:100%;min-width:0}.table-expanded .rack{touch-action:pan-x;gap:3px;padding:6px;overflow:auto hidden;grid-template-columns:repeat(26,44px)!important}.table-expanded .rack-slot{height:48px;margin-bottom:0}.table-expanded .rack .tile-lg{width:32px;height:44px;font-size:22px}.table-expanded .rack-group-handle{display:none}.table-expanded .actions{flex-flow:row;justify-content:flex-start;width:100%;max-width:none;min-height:44px;display:flex;overflow-x:auto}.table-expanded .actions .btn{flex:none;width:auto;min-height:44px}.table-expanded .actions .sorter{display:none}.table-expanded .group .tile-sm{flex-basis:40px;width:40px;height:54px;font-size:28px}.action-discard:disabled{opacity:1;color:var(--disabled-ink);background:var(--disabled-bg);border-color:var(--disabled-border);box-shadow:none}@media (orientation:landscape) and (height<=560px){.game:not(.table-expanded) .actions{grid-template-rows:repeat(3,minmax(44px,auto));min-height:142px}.game:not(.table-expanded) .action-open{grid-area:1/1}.game:not(.table-expanded) .action-pairs{grid-area:1/2}.game:not(.table-expanded) .action-discard{grid-area:2/2}.game:not(.table-expanded) .action-confirm{grid-area:2/1}.game:not(.table-expanded) .action-cancel{grid-area:2/2}.game:not(.table-expanded) .actions:has(.action-cancel) .action-discard{visibility:hidden}.game:not(.table-expanded) .actions .sorter{grid-row:3}}.table-expanded .rack .tile-lg{font-size:22px}.middle>.table-view-toggle{z-index:1;grid-area:center;align-self:end;width:58px;padding:4px;line-height:1.2}.middle>.center-stack{align-self:start;padding-bottom:50px}.info-line{gap:6px}.info-line .chip{background:0 0;border-color:#0000;padding:2px 4px}.info-line .chip+.chip{border-left:1px solid #ffffff24;border-radius:0}@media (orientation:landscape) and (height<=560px){.middle{row-gap:3px}.info-line{justify-content:flex-start;min-height:22px}.middle>.center-stack{gap:8px}}@media (orientation:portrait) and (width<=600px){.middle>.center-stack{align-self:center;padding-bottom:0;padding-right:64px}.middle>.table-view-toggle{place-self:center end}.info-line{flex-wrap:wrap;justify-content:center}}.info-line{border-bottom:1px solid rgb(var(--info-line-rgb) / 12%);gap:10px;padding-bottom:3px}.info-line .mode-label{color:var(--info-dim);letter-spacing:.02em;font-size:10px}.info-line .opening-label{color:var(--info-ink);align-items:baseline;gap:5px;font-size:12px;display:inline-flex}.opening-label .chip-label,.opening-unit{color:var(--info-dim);font-size:10px}.opening-label b{color:var(--info-strong);font-variant-numeric:tabular-nums;font-size:13px}.info-line .chip-pair{color:var(--gold-ink);font-size:10px}.table-view-toggle{border-color:rgb(var(--toggle-line-rgb) / 20%);background:rgb(var(--toggle-bg-rgb) / 50%);color:var(--info-ink)}.table-view-toggle[aria-pressed=true]{border-color:var(--toggle-on-border);color:var(--toggle-on-ink)}.table-view-toggle:focus-visible{outline:2px solid var(--toggle-on-ink);outline-offset:2px}.modal:has(.score-sheet){background:var(--sheet-bg);width:min(520px,100%);padding:20px}.score-sheet{flex-direction:column;gap:14px;max-height:calc(100dvh - 80px);display:flex}.score-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.score-heading h2{margin:0;font-size:22px}.score-heading p{color:var(--ink-dim);margin:5px 0 0;font-size:12px}.score-heading .icon-btn{flex-shrink:0;width:44px;height:44px;font-size:26px}.score-summary{grid-template-columns:1fr 1fr;gap:10px;display:grid}.score-summary-team{border:1px solid var(--line);background:#ffffff08;border-top:2px solid;border-radius:10px;flex-direction:column;padding:12px 16px;display:flex}.score-summary-team>span{font-size:13px;font-weight:650}.score-summary-team strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:4px;font-size:30px;line-height:1.2}.score-summary-team small{color:var(--ink-dim);font-size:11px}.score-summary-team>div{margin-top:8px;font-size:11px}.score-history{overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px;min-height:65px;overflow-y:auto}.score-history table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.score-history th,.score-history td{text-align:right;border-bottom:1px solid var(--line);padding:10px 14px}.score-history th:first-child{text-align:left;color:var(--ink-dim);font-weight:500}.score-history thead{background:var(--panel);position:sticky;top:0}.score-history tbody tr:nth-child(2n){background:#ffffff08}.score-history .score-no-hands{text-align:center;color:var(--ink-dim)}.score-footnote{color:var(--ink-dim);margin:0;font-size:11px;line-height:1.5}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (orientation:landscape) and (height<=560px){.modal:has(.score-sheet){width:min(620px,100%);padding:14px 18px}.score-sheet{gap:8px;max-height:calc(100dvh - 56px)}.score-summary-team{grid-template-columns:1fr auto;padding:6px 12px;display:grid}.score-summary-team strong{grid-area:1/2/3;margin:0;font-size:26px}.score-summary-team small{display:none}.score-summary-team>div{margin-top:3px}}.indicator{border-radius:10px;padding:4px;transition:box-shadow .14s ease-out,background-color .14s ease-out}.indicator-finish{cursor:pointer;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent);outline:1px dashed color-mix(in srgb, var(--accent) 80%, transparent);outline-offset:3px}.indicator-finish>span{color:var(--accent);font-weight:700}.indicator-over{background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:0 0 0 3px var(--accent)}.indicator-finish:active .tile{transform:scale(.96)}.rack-recognized:after{display:none}.rack-group-handle span{height:3px;box-shadow:none;background:#f0d69680;border-radius:2px}.rack-group-handle[aria-pressed=true] span{background:var(--target)}@media (orientation:landscape) and (height<=560px){.game:not(.table-expanded){--rack-col:min(650px, calc(100vw - var(--side-x) - 192px));--tile-lg-w:min(calc(13.5dvh * .76), calc((var(--rack-col) - 24px) / 13 - 2px), 48px);--tile-lg-h:min(13.5dvh, calc(var(--tile-lg-w) * 1.4))}.game:not(.table-expanded) .rack{justify-self:center;column-gap:1px;width:max-content;max-width:100%;grid-template-columns:repeat(13, calc(var(--tile-lg-w) + 2px))!important}}@media (orientation:portrait) and (width<=600px){.me{padding-inline:8px}.game:not(.table-expanded){--tile-lg-w:calc((100vw - 16px - 12px - 12px) / 13);--tile-lg-h:calc(var(--tile-lg-w) * 1.38)}.game:not(.table-expanded) .rack{column-gap:1px;padding-inline:6px}}.group-owner{opacity:.75;font-size:9px;line-height:11px}.swap-target{color:rgb(var(--swap-ink-rgb) / 70%);font-size:10px;line-height:1.15}.table-view-toggle{place-items:center;width:44px;height:44px;padding:0;display:grid}.middle>.table-view-toggle{width:44px}.hand-pill,.team-score,.kafa-chip{white-space:nowrap}@media (width<=420px){.scorebar{gap:6px}.team-score{gap:5px;padding:4px 8px}.team-score b{font-size:14px}.team-name{font-size:12px}.kafa-chip{padding:1px 5px;font-size:10px}}@media (orientation:landscape) and (height<=560px){.opp-top .badge{margin-left:6px}}.opp-left .avatar,.opp-right .avatar{flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1;display:flex}.opp-left .avatar-count,.opp-right .avatar-count{min-width:0;color:var(--ink-dim);background:0 0;border:0;padding:0;font-size:9px;position:static}@media (orientation:landscape) and (height<=560px){.opp-left .avatar,.opp-right .avatar{width:34px;height:34px}}.chat-btn{position:relative}.chat-unread{background:var(--accent);min-width:18px;height:18px;color:var(--accent-ink);text-align:center;border-radius:9px;padding:0 4px;font-size:11px;font-weight:800;line-height:18px;position:absolute;top:-4px;right:-4px}.avatar-tap{cursor:pointer;-webkit-tap-highlight-color:transparent}.avatar-tap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-gift{filter:drop-shadow(0 1px 1px #00000080);pointer-events:none;font-size:16px;line-height:1;position:absolute;bottom:-6px;left:-6px}.speech{z-index:30;background:var(--tile-face);width:max-content;max-width:min(220px,46vw);color:var(--speech-ink);text-align:left;overflow-wrap:anywhere;pointer-events:none;border-radius:12px;padding:6px 10px;font-size:13px;font-weight:600;line-height:1.25;position:absolute;box-shadow:0 6px 18px #00000059}.speech-top{top:calc(100% + 8px);left:50%;translate:-50%}.speech-left{top:50%;left:calc(100% + 8px);translate:0 -50%}.speech-right{top:50%;right:calc(100% + 8px);translate:0 -50%}.speech-bottom{bottom:0;left:50%;translate:-50%}.my-social{z-index:30;pointer-events:none;width:24px;height:24px;position:absolute;bottom:8px;left:50%;translate:-50%}.my-social .avatar-gift{font-size:20px;bottom:0;left:0}.my-social .speech{bottom:28px}.gift-pop{z-index:40;background:color-mix(in srgb, var(--felt-edge) 88%, transparent);border:1px solid var(--line);color:var(--ink);white-space:nowrap;pointer-events:none;border-radius:16px;align-items:center;gap:10px;padding:10px 16px;font-size:14px;display:flex;position:absolute;top:38%;left:50%;translate:-50% -50%;box-shadow:0 12px 30px #00000073}.gift-pop-icon{font-size:34px;line-height:1}.sheet-back{z-index:200;background:#00000059;justify-content:flex-end;display:flex;position:fixed;inset:0}.chat-sheet{width:min(360px,100%);height:100%;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) 14px;background:var(--panel-solid);border-left:1px solid var(--line);flex-direction:column;gap:10px;display:flex;overflow:hidden;box-shadow:-18px 0 50px #00000073}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head h2{margin:0;font-size:18px}.sheet-head .icon-btn{font-size:22px;line-height:1}.sheet-sub{color:var(--ink-dim);justify-content:space-between;align-items:center;margin:6px 0 0;font-size:13px;font-weight:650;display:flex}.chat-log{overscroll-behavior:contain;background:#00000038;border-radius:12px;flex:auto;min-height:60px;margin:0;padding:8px 10px;font-size:14px;line-height:1.4;list-style:none;overflow-y:auto}.chat-log li+li{margin-top:4px}.chat-log b{color:var(--team1);font-weight:650}.chat-log .chat-mine b{color:var(--team0)}.chat-emoji{font-size:18px}.chat-emojis,.chat-quick{scrollbar-width:none;overscroll-behavior-x:contain;flex:none;gap:6px;display:flex;overflow-x:auto}.chat-emojis::-webkit-scrollbar{display:none}.chat-quick::-webkit-scrollbar{display:none}.chat-emojis button{cursor:pointer;background:#ffffff0f;border:0;border-radius:10px;flex:none;width:44px;height:44px;font-size:20px}.chat-emojis button:active,.chat-quick button:active,.gift-item:active:not(:disabled){transform:scale(.96)}.chat-quick .chip{white-space:nowrap;border:1px solid var(--line);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:#ffffff0d;flex:none;font-size:13px}.chat-input{flex:none;gap:8px;display:flex}.chat-input input{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--ink);font:inherit;background:#00000040;border-radius:10px;flex:1;padding:0 12px;font-size:16px}.player-sheet{overscroll-behavior:contain;border-bottom-left-radius:16px;align-self:flex-start;height:auto;max-height:100%;overflow-y:auto}.gift-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.gift-item{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;transition:transform .14s var(--ease-out);background:#ffffff0d;border-radius:12px;justify-items:center;gap:2px;padding:10px 6px;font-size:13px;display:grid}.gift-item small{color:var(--ink-dim)}.gift-item:disabled{opacity:.45;cursor:default}.gift-icon{font-size:28px;line-height:1.1}@media (prefers-reduced-motion:reduce){.gift-item,.chat-emojis button{transition:none}}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-arabic-wght-normal-CGnJ-sf6.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-cyrillic-ext-wght-normal-BjodpZir.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-cyrillic-wght-normal-DveCct9I.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-hebrew-wght-normal-BIkpbuMU.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-latin-ext-wght-normal-OacczzuJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/rubik-latin-wght-normal-CnQIisVs.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-cyrillic-700-normal-Dw3uKy19.woff2)format("woff2"),url(/assets/playfair-display-cyrillic-700-normal-Dk1mTcxf.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-vietnamese-700-normal-CaKJSIny.woff2)format("woff2"),url(/assets/playfair-display-vietnamese-700-normal-Cr1rw0mr.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-ext-700-normal-C58ejOkc.woff2)format("woff2"),url(/assets/playfair-display-latin-ext-700-normal-D5HUU8GT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2)format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{background:var(--page-bg)}.tile{font-family:Rubik Variable,system-ui,sans-serif;font-weight:700}.felt{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"), radial-gradient(120% 95% at 50% 42%, var(--felt-hi) 0%, var(--felt-mid) 55%, var(--felt-lo) 100%);box-shadow:inset 0 0 0 7px var(--rim-1), inset 0 0 0 8px var(--rim-2), inset 0 0 0 10px var(--rim-3), inset 0 14px 34px #00000073, inset 0 -10px 26px #00000059;border-radius:22px;margin:4px 6px 0}.felt:before{display:none}.tile:not(.tile-back){background:var(--tile-top);box-shadow:0 0 0 .5px rgb(var(--tile-outline-rgb) / 30%), 0 3px 0 var(--tile-side), 0 4px 0 var(--tile-side-dark), 0 5px 7px #0000004d}.tile-selected:not(.tile-back){box-shadow:0 0 0 2px var(--accent), 0 3px 0 var(--tile-side), 0 4px 0 var(--tile-side-dark), 0 10px 14px #0006}.tile-warn:not(.tile-back){box-shadow:0 0 0 2px var(--danger), 0 3px 0 var(--tile-side), 0 5px 7px #0000004d}.avatar{background:var(--avatar-bg);box-shadow:0 0 0 2px color-mix(in srgb, var(--team) 70%, transparent), 0 4px 10px #0006}.rack{background:linear-gradient(180deg, #ffffff1a, transparent 14%), repeating-linear-gradient(90deg, #0000 0 7px, #00000012 7px 8px, #ffffff08 8px 15px, #0000000d 15px 17px), linear-gradient(180deg, var(--rack-hi), var(--rack-mid) 45%, var(--rack-lo));border:1px solid var(--rack-border);box-shadow:inset 0 1px #ffffff29,0 8px 18px #00000073}.rack-slot{border-bottom:3px solid rgb(var(--rack-groove-rgb) / 45%);background:0 0}.btn-primary{background:linear-gradient(180deg, var(--primary-hi), var(--primary-lo));box-shadow:0 3px 0 var(--primary-edge), 0 5px 10px #0000004d;border:0}.btn:not(.btn-primary):not(.btn-danger){background:var(--btn-bg);border-color:var(--btn-border);box-shadow:0 3px 0 var(--btn-edge)}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--btn-edge);transform:translateY(2px)}.avatar,.opp-left .avatar,.opp-right .avatar{background:linear-gradient(180deg, var(--avatar-top), var(--avatar-bottom));box-shadow:0 0 0 1px color-mix(in srgb, var(--team) 65%, transparent), 0 4px 10px #0006;border-radius:9px}.opp-left .avatar,.opp-right .avatar{height:42px}.opp .badge{color:var(--ink-dim);background:0 0;padding:0;font-size:10px}.opp .badge-pair{color:var(--pair-ink)}.group-owner{height:7px;padding:3px 0 0 5px;font-size:0;line-height:0}.group-owner:before{opacity:.85;width:5px;height:5px;margin:0}.info-line .mode-label{display:none}.info-line .mode-label+.chip{border-left:0}.pile{box-shadow:none;background:0 0;border:1px dashed #ffffff1a}.pile:has(.tile){border-color:#0000}.pile-take{border:2px solid var(--accent)}.deck-count{width:100%;height:100%;color:var(--pile-ink);z-index:2;pointer-events:none;background:0 0;border:0;place-items:center;padding:0;font-family:Rubik Variable,system-ui,sans-serif;font-size:14px;font-weight:700;display:grid;inset:0 auto auto 0}.deck .tile-back:after{display:none}.group .tile-sm .tile-num,.center-stack .tile .tile-num,.pile .tile .tile-num{letter-spacing:-.06em}.group .tile-sm{font-size:22px}@media (orientation:landscape) and (height<=560px){.group .tile-sm{font-size:21px}.middle>.table-view-toggle{z-index:2;border-radius:8px;grid-area:info;place-self:center end;width:44px;height:30px;min-height:30px;position:relative}.middle>.table-view-toggle:after{content:"";position:absolute;inset:0 0 -3px}.middle>.center-stack{gap:6px;padding-bottom:0}.center-stack .indicator{padding:2px}}.table-expanded .group .tile-sm{font-size:25px}:is(.pile-take,.pile-take:has(.tile)){border:2px solid var(--accent)}.opp{position:relative}.opp>.opp-hand[data-place]{opacity:0;pointer-events:none;width:0;height:0;display:block;position:absolute;top:10px;left:50%;overflow:visible}.opp>.opp-hand[data-place] .tile{margin:0;position:absolute;top:0;left:-6px}.self-pair{background:color-mix(in srgb, var(--pair) 35%, transparent);color:var(--pair-ink-light);vertical-align:1px;white-space:nowrap;border-radius:999px;margin-right:8px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.action-discard:disabled{color:rgb(var(--cream-rgb) / 30%);background:rgb(var(--cream-rgb) / 3%);box-shadow:none;border-color:#0000}.actions .sorter{border:1px solid rgb(var(--cream-rgb) / 10%);background:0 0;border-radius:10px;overflow:hidden}.sorter button{color:rgb(var(--cream-rgb) / 70%);box-shadow:none;background:0 0;font-weight:600}.sorter button+button{border-left:1px solid rgb(var(--cream-rgb) / 10%)}@media (orientation:landscape) and (height<=560px){.game:not(.table-expanded) .action-discard{grid-column:1/-1}.game:not(.table-expanded) .actions:is(:has(.action-confirm),:has(.action-extra)) .action-discard{grid-column:2}.game:not(.table-expanded) .action-extra{grid-area:2/1}}.start{background:radial-gradient(120% 90% at 30% 45%, var(--start-glow) 0%, var(--start-mid) 45%, var(--start-edge) 100%)}.start h1{letter-spacing:0;font-family:Rubik Variable,system-ui,sans-serif;font-weight:700}.start-brand .fan{--tile-lg-w:48px;--tile-lg-h:66px;gap:9px;margin-top:22px}.start-brand .fan .tile-lg{width:var(--tile-lg-w);height:var(--tile-lg-h);font-size:calc(var(--tile-lg-w) * .62)}.start-brand .fan-tile .tile{box-shadow:0 3px 0 var(--tile-side-fan), 0 10px 18px #00000059}.start-play{background:rgb(var(--start-panel-rgb) / 72%);border-color:rgb(var(--cream-rgb) / 9%);box-shadow:0 18px 40px #0000004d}.start-panel select,.start-panel input{font:inherit;font-size:16px}.start-panel .btn-big{min-height:52px;padding:0 18px;font-size:17px;font-weight:700}@media (width<=640px){.start-brand .fan{--tile-lg-w:42px;--tile-lg-h:58px}}@media (orientation:landscape) and (height<=560px){.start-panel h2{display:none}.start-panel .field input,.start-panel select{height:42px;min-height:42px}}.team-score.team-leading{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 70%, transparent);border-radius:999px}.score-breakdown{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:6px 0 4px;font-size:13px}.score-breakdown th,.score-breakdown td{border-bottom:1px solid var(--line);text-align:right;padding:7px 8px}.score-breakdown thead th{border-bottom-width:2px;font-size:12px;font-weight:700}.score-breakdown tbody th{text-align:left;color:var(--ink-dim);font-weight:500}.score-breakdown tbody th small{color:var(--ink-faint);font-size:10px;display:block}.score-breakdown .score-total th,.score-breakdown .score-total td{color:var(--ink);border-bottom:0;font-size:15px}.score-lead{color:var(--accent);margin:6px 0 10px;font-weight:700}.score-lead small{color:var(--ink-dim);font-weight:400}.score-kafa{color:var(--accent);font-size:10px;display:block}.score-history .score-how{color:var(--ink-dim);text-align:left;font-size:11px}.score-history th:last-child{text-align:left}@media (orientation:landscape) and (height<=560px){.score-breakdown th,.score-breakdown td{padding:4px 8px}.score-lead{margin:4px 0 6px}}.rack-trial .tile{outline:2px dashed var(--accent);outline-offset:1px}.pile-trying>.tile,.pile-trying>.pile-drag{opacity:.35}.pile-drag{touch-action:none;cursor:grab}.pile-dragging{opacity:.35}.match-options label{min-width:84px}.support{gap:8px;margin:14px 0 4px;display:grid}.support h3{margin:6px 0 0;font-size:14px}.support small{color:var(--ink-dim);font-size:12px}.support-buy,.support-rewards,.support-use{gap:6px;display:grid}.support-rewards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.support-use{grid-template-columns:1fr 1fr;align-items:center}.support-thanks,.support-msg{color:var(--accent);margin:0;font-weight:600}.supporter-badge{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent);border-radius:999px;margin-top:6px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}.start{position:relative}.start-account{top:max(10px, env(safe-area-inset-top));right:max(12px, var(--inset-r));z-index:2;position:absolute}.account-chip{border:1px solid rgb(var(--cream-rgb) / 14%);background:rgb(var(--start-panel-rgb) / 70%);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-weight:650;display:inline-flex}.account-chip.account-daily{border-color:var(--accent)}.account-chips{color:var(--accent);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.chip-dot{background:radial-gradient(circle at 35% 35%, var(--chip-hi), var(--chip-lo));border-radius:50%;width:12px;height:12px;display:inline-block;box-shadow:inset 0 0 0 2px #00000026}.account-gift{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:1px 8px;font-size:11px}.account-panel{gap:10px;display:grid}.account-panel h2{margin:0}.account-balance{align-items:center;gap:6px;margin:0;font-size:18px;display:flex}.account-dev,.account-rename{align-items:end;gap:8px;display:flex}.account-dev input{border:1px solid var(--line);background:var(--panel);min-height:44px;color:var(--ink);font:inherit;border-radius:9px;flex:1;padding:8px;font-size:16px}.account-rename .field{flex:1}.btn-apple{color:#fff;background:#000;border-color:#000}.btn-google{color:#1f1f1f;background:#fff;border-color:#dadce0}.account-delete p{color:var(--ink-dim);margin:0}.start-games{flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;font-size:13px;font-weight:700;list-style:none;display:flex}.start-games li{border:1px solid rgb(var(--cream-rgb) / 14%);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;display:inline-flex}.start-game{color:var(--accent-ink);background:var(--accent);letter-spacing:.02em;border-color:var(--accent)!important}.start-soon{color:var(--ink-dim)}.start-soon small{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:10px;font-weight:650}@media (width<=760px),(orientation:landscape) and (height<=560px){.start-games{justify-content:center}}.action-finish{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent), 0 3px 0 var(--primary-edge)}@media (orientation:landscape) and (height<=560px){.game:not(.table-expanded) .action-finish{grid-area:1/1/auto/-1}}.theme-picker h3{color:var(--ink-dim);margin:6px 0 8px;font-size:14px;font-weight:650}.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.theme-card{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;transition:transform .14s var(--ease-out), border-color .14s ease;background:#ffffff0a;border-radius:12px;justify-items:center;gap:3px;padding:8px 6px 7px;font-size:13px;display:grid}.theme-card:active{transform:scale(.97)}.theme-card small{color:var(--ink-faint);text-align:center;font-size:10px;line-height:1.25}.theme-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-locked b:after{content:" 🔒";font-size:10px}.theme-swatch{border-radius:8px;width:100%;max-width:74px;height:40px;display:block;position:relative;overflow:hidden}.theme-swatch span{border-radius:2px;height:7px;position:absolute;bottom:6px;left:10%;right:10%}.theme-note{color:var(--accent);margin:8px 0 0;font-size:12px}@media (prefers-reduced-motion:reduce){.theme-card{transition:none}}body{font-family:Nunito Variable,Nunito,system-ui,sans-serif}.wood-frame{box-sizing:border-box;min-height:100dvh;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));background:linear-gradient(135deg, var(--frame-1), var(--frame-2) 50%, var(--frame-3));color:var(--ink);display:flex}.felt-panel{background:radial-gradient(110% 80% at 50% 36%, var(--felt-top) 0%, var(--felt-mid) 50%, var(--felt-bottom) 100%);min-width:0;box-shadow:inset 0 0 0 3px #3a210d, inset 0 0 0 4px var(--rim-line), inset 0 18px 40px #00000073, inset 0 -16px 30px #0006;border-radius:24px;flex-direction:column;flex:1;gap:14px;padding:16px 14px 14px;display:flex;position:relative}.screen-narrow{flex-direction:column;flex:1;gap:14px;width:100%;max-width:460px;margin:0 auto;display:flex}.tile-btn{background:var(--tile-top);box-shadow:0 3px 0 var(--tile-side), 0 4px 0 var(--tile-side-dark);color:var(--paper-ink);font:inherit;cursor:pointer;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out);-webkit-tap-highlight-color:transparent;border:0;border-radius:9px;font-weight:800;text-decoration:none}.tile-btn:active:not(:disabled){box-shadow:0 1px 0 var(--tile-side), 0 2px 0 var(--tile-side-dark);transform:translateY(2px)}.tile-btn:focus-visible,.paper-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tile-btn:disabled{opacity:.55;cursor:default}.tile-btn.is-on{box-shadow:0 0 0 2px var(--accent), 0 3px 0 var(--tile-side), 0 4px 0 var(--tile-side-dark)}.tile-btn.primary{background:linear-gradient(180deg, var(--primary-hi), var(--primary-lo));box-shadow:0 3px 0 var(--primary-edge), 0 6px 12px #00000040;color:var(--accent-ink)}.tile-btn.primary:active:not(:disabled){box-shadow:0 1px 0 var(--primary-edge)}.tile-btn.danger{color:#fbe9c0;background:#8a2c1c;box-shadow:0 3px #561a10}.tile-btn.soon{box-shadow:0 3px 0 var(--tile-side-dark), 0 8px 14px #0000004d;color:#7a6740;cursor:default;background:linear-gradient(#e3d8bc,#d2c49e)}.icon-tile{flex:none;place-items:center;width:44px;height:44px;padding:0;display:grid}.paper{background:radial-gradient(120% 90% at 30% 20%, #fff8e159, transparent 60%), repeating-linear-gradient(90deg, #785a2809 0 1px, transparent 1px 4px), repeating-linear-gradient(0deg, #785a2808 0 1px, transparent 1px 6px), var(--paper);box-shadow:inset 0 0 0 1px #785a282e, inset 0 0 22px #8c693229, 0 3px 0 var(--paper-edge), 0 4px 0 var(--paper-edge-dark), 0 10px 16px #0000004d;color:var(--paper-ink);border-radius:12px}.paper-dim{color:var(--paper-dim)}.paper-btn{background:var(--paper-light);color:var(--paper-ink);font:inherit;cursor:pointer;border:1px solid #785a2842;border-radius:8px;font-weight:700}.paper-row+.paper-row{border-top:1px solid #785a2824}.screen-head{align-items:center;gap:10px;display:flex}.screen-head h1{color:var(--ink);flex:1;margin:0;font-size:26px;font-weight:800}.section-title{letter-spacing:.1em;color:#f1f4f2bf;margin:0;font-size:13px;font-weight:800}.felt-note{color:#f1f4f2cc;margin:0;font-size:14px;font-weight:600;line-height:1.4}.chip-pill{min-height:40px;color:var(--accent);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:#0000004d;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.coin{background:radial-gradient(circle at 35% 35%, var(--chip-hi), var(--chip-lo));border-radius:50%;flex:none;width:14px;height:14px;display:inline-block;box-shadow:inset 0 0 0 2px #00000024}.red-dot{background:var(--red);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;right:7px}.home .brand{flex-direction:column;align-items:center;gap:4px;padding-top:8px;display:flex}.home .brand h1{letter-spacing:.01em;color:var(--brand-ink);text-shadow:0 2px #00000059;margin:0;font-family:Playfair Display,Georgia,serif;font-size:50px;font-weight:700;line-height:1}.brand-rule{align-items:center;gap:10px;margin-top:4px;display:flex}.brand-rule span{background:linear-gradient(90deg, transparent, var(--brand-gold));width:54px;height:1px}.brand-rule span:last-child{background:linear-gradient(90deg, var(--brand-gold), transparent)}.brand-sub{letter-spacing:.34em;color:#fbe9c0bf;font-size:12px;font-weight:800}.home-tiles{width:100%;max-width:360px;height:196px;margin:18px auto 0;position:relative}.home-tile{width:104px;height:148px;box-shadow:0 5px 0 var(--tile-side), 0 7px 0 var(--tile-side-dark), 0 14px 22px #00000059;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute}.home-tile:active{box-shadow:0 2px 0 var(--tile-side), 0 4px 0 var(--tile-side-dark), 0 8px 14px #00000059}.home-tile .num{font-family:Rubik Variable,Rubik,sans-serif;font-size:60px;font-weight:700;line-height:1}.home-tile .dot{background:currentColor;border-radius:50%;width:10px;height:10px}.home-tile b{color:var(--paper-ink);margin-top:6px;font-size:16px;font-weight:800}.home-tile.left{top:30px;left:0;transform:rotate(-8deg)}.home-tile.middle{width:112px;height:160px;box-shadow:0 0 0 3px var(--accent), 0 5px 0 var(--tile-side), 0 7px 0 var(--tile-side-dark), 0 16px 26px #0006;margin-left:-56px;top:0;left:50%}.home-tile.right{top:30px;right:0;transform:rotate(8deg)}.home-tile.right b{letter-spacing:-.01em;font-size:14px}.home-tile.left:active{transform:rotate(-8deg)translateY(2px)}.home-tile.right:active{transform:rotate(8deg)translateY(2px)}.home-tile.middle:active{transform:translateY(2px)}.home-hint{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.home-hint span:first-child{color:#f1f4f2e0;font-size:16px;font-weight:700}.home-hint span+span{color:#9edac6;font-size:13px;font-weight:700}.home-small{justify-content:center;gap:10px;display:flex}.home-small .tile-btn{flex-direction:column;justify-content:center;align-items:center;gap:3px;width:70px;height:92px;display:flex}.home-small b{font-size:21px}.home-small small{letter-spacing:.08em;font-size:10px;font-weight:800}.home-small .mode.later:not(.is-on){color:#7a6740;background:linear-gradient(#e3d8bc,#d2c49e)}.home-small .mode small{color:var(--paper-dim)}.home-small .mode.is-on small{color:var(--team-us)}.home-tile.wide-num .num{letter-spacing:-.04em;font-size:48px}.home-small .help b{color:var(--yellow);font-size:30px;line-height:1}.home-small .help small{letter-spacing:0;text-align:center;font-size:11px;line-height:1.1}.rack-bar{background:linear-gradient(180deg, #ffffff1f, transparent 20%), linear-gradient(180deg, var(--rack-hi), var(--rack-mid) 45%, var(--rack-lo));border:1px solid var(--rack-border);border-radius:10px;padding:9px 9px 0;box-shadow:inset 0 1px #ffffff29,0 8px 18px #00000073}.rack-bar-row{border-bottom:4px solid rgb(var(--rack-groove-rgb) / 50%);gap:6px;padding-bottom:8px;display:grid}.rack-nav{grid-template-columns:1.6fr repeat(3,minmax(0,1fr))}.rack-nav .tile-btn{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:64px;font-size:12px;font-weight:700;display:flex;position:relative}.rack-nav .balance{color:#8a5a00;font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:18px;font-weight:800;display:flex}.avatar-mini{background:var(--avatar-top);width:22px;height:22px;color:var(--ink);border-radius:6px;place-items:center;font-size:10px;font-weight:800;display:grid}.stack{flex-direction:column;gap:8px;display:flex}.paper-field{color:var(--paper-dim);flex-direction:column;gap:4px;font-size:13px;font-weight:700;display:flex}.paper-field input{min-height:46px;color:var(--paper-ink);font:inherit;background:#fffcf2cc;border:1px solid #785a284d;border-radius:9px;padding:0 12px;font-size:16px;font-weight:700}.switch{cursor:pointer;background:#5a461e40;border:0;border-radius:999px;flex:none;width:52px;height:32px;transition:background .16s;position:relative;box-shadow:inset 0 1px 2px #00000040}.switch:after{content:"";width:26px;height:26px;transition:transform .16s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch[aria-checked=true]{background:var(--team-us)}.switch[aria-checked=true]:after{transform:translate(20px)}.switch:disabled{opacity:.5}.seg-tiles{gap:6px;display:grid}.seg-tiles .tile-btn{min-height:44px;font-size:14px}.stepper{align-items:center;gap:6px;display:flex}.stepper .tile-btn{width:44px;height:40px;font-size:22px;line-height:1}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:58px;font-size:17px;font-weight:800}@media (prefers-reduced-motion:reduce){.tile-btn,.switch,.switch:after{transition:none}}@media (orientation:landscape) and (height<=560px){.home .felt-panel{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 18px;display:grid}.home .brand{grid-area:1/1;padding-top:0}.home .brand h1{font-size:38px}.home-tiles{transform-origin:top;grid-area:1/2/span 2;height:176px;margin-top:0;transform:scale(.88)}.home-hint{grid-area:2/1;align-self:start}.home-small{grid-area:3/1}.home-small .tile-btn{width:60px;height:74px}.home .rack-bar{grid-area:3/2;align-self:end}}.paper-card-btn{min-height:78px;font:inherit;text-align:left;cursor:pointer;border:0;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.paper-card-btn:disabled{cursor:default;filter:grayscale(.5)brightness(.86)}.paper-card-btn b{font-size:16px}.gold{color:#8a5a00;font-size:16px;font-weight:800}.paper small,.paper-dim{font-size:12px;font-weight:700}.pack-tile{cursor:default;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;display:flex}.pack-tag{letter-spacing:.04em;min-height:14px;color:var(--team-us);font-size:10px;font-weight:800}.coin-stack{width:50px;height:36px;position:relative}.coin-stack .coin{position:absolute}.pack-chips{color:#8a5a00;font-variant-numeric:tabular-nums;font-family:Rubik Variable,Rubik,sans-serif;font-size:16px;font-weight:800}.badge-soft{color:#8a5a00;white-space:nowrap;background:#8a5a0024;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800}.felt-small{color:#f1f4f2a6;font-size:12px;font-weight:700;line-height:1.4}.link-btn{color:#f1f4f2d9;min-height:40px;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:13px;font-weight:700;text-decoration:underline}.login-apple,.login-google{min-height:50px;font-size:16px}.login-apple{color:#fff;background:#000;box-shadow:0 3px #333}.login-google{color:#1f1f1f;background:#fff;box-shadow:0 3px #c9c9c9}.avatar-tile{background:var(--avatar-top);width:58px;height:74px;box-shadow:inset 0 0 0 2px var(--accent);color:var(--ink);border-radius:9px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;display:flex}.avatar-tile span{font-family:Rubik Variable,Rubik,sans-serif;font-size:22px;font-weight:800}.avatar-tile i{background:var(--accent);border-radius:50%;width:6px;height:6px}.big-chips{color:#8a5a00;font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-family:Rubik Variable,Rubik,sans-serif;font-size:22px;font-weight:800;display:flex}.day-tile{flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:62px;display:flex}.day-tile small{font-size:10px;font-weight:800}.day-tile b{font-family:Rubik Variable,Rubik,sans-serif;font-size:15px}.theme-tile{flex-direction:column;align-items:center;gap:6px;padding:8px 6px;display:flex}.theme-tile small{font-size:11px;font-weight:800}.theme-swatch2{border-radius:7px;width:100%;height:40px;position:relative}.theme-swatch2 span{border-radius:2px;height:6px;position:absolute;bottom:7px;left:14%;right:14%}.info-row{width:100%;min-height:50px;color:var(--paper-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 12px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.info-row span{flex:1}.paper a{color:var(--paper-ink)}.salon-tile{background:var(--tile-top);width:52px;height:64px;box-shadow:0 2px 0 var(--tile-side), 0 3px 0 var(--tile-side-dark);border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;display:flex}.salon-tile span{font-family:Rubik Variable,Rubik,sans-serif;font-weight:800;line-height:1}.salon-tile i{background:currentColor;border-radius:50%;width:6px;height:6px}.btn:not(.btn-primary):not(.btn-danger):not(.btn-ghost){background:var(--tile-top);box-shadow:0 3px 0 var(--tile-side), 0 4px 0 var(--tile-side-dark);color:var(--paper-ink);border:0;font-weight:800}.btn:not(.btn-primary):not(.btn-danger):not(.btn-ghost):active:not(:disabled){box-shadow:0 1px 0 var(--tile-side)}.btn-ghost{color:var(--brand-ink);background:#00000038;border:1.5px dashed #fbf6e859;font-weight:800}.btn-primary{font-weight:800}.btn-danger{color:#fbe9c0;background:#8a2c1c;border:0;font-weight:800;box-shadow:0 3px #561a10}.game{background:linear-gradient(135deg, var(--frame-1), var(--frame-2) 50%, var(--frame-3))}.me{background:0 0}.felt{box-shadow:inset 0 0 0 3px #3a210d, inset 0 0 0 4px var(--rim-line), inset 0 14px 34px #00000073, inset 0 -10px 26px #00000059}.scorebar{background:0 0;border-bottom:0}.scorebar .icon-btn{background:var(--tile-top);box-shadow:0 2px 0 var(--tile-side), 0 3px 0 var(--tile-side-dark);color:var(--paper-ink);border:0}.hand-pill{background:#0000004d;border:0;font-weight:800}.team-score{background:var(--tile-top);box-shadow:0 2px 0 var(--tile-side), 0 3px 0 var(--tile-side-dark);color:var(--paper-ink);border:0;font-weight:800}.team-score .team-dot{background:var(--team-us)}.team-score.team-1 .team-dot{background:var(--team-them)}.team-score .team-name{color:var(--paper-ink)}.team-score b{font-family:Rubik Variable,Rubik,sans-serif}.team-score.team-leading{box-shadow:0 0 0 2px var(--accent), 0 2px 0 var(--tile-side), 0 3px 0 var(--tile-side-dark)}.kafa-chip{color:#8a2c1c;font-weight:800}.avatar,.opp-left .avatar,.opp-right .avatar{background:var(--tile-top);color:var(--paper-ink);box-shadow:0 2px 0 var(--tile-side), 0 3px 0 var(--tile-side-dark), 0 6px 10px #0000004d;font-family:Rubik Variable,Rubik,sans-serif;font-weight:800}.opp-active .avatar{box-shadow:0 0 0 2px var(--accent), 0 2px 0 var(--tile-side), 0 3px 0 var(--tile-side-dark), 0 6px 12px #00000059}.avatar:after{content:"";background:var(--team-us);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:5px;left:50%}.team-1 .avatar:after{background:var(--team-them)}.opp .badge{color:var(--brand-ink);font-weight:700}.talking{width:20px;height:16px;color:var(--paper-ink);pointer-events:none;background:#fff;border-radius:8px 8px 8px 2px;place-items:center;font-size:11px;font-weight:800;line-height:1;display:grid;position:absolute;top:-7px;right:-9px;box-shadow:0 2px 6px #0000004d}.chat-strip{z-index:30;background:var(--tile-top);max-width:min(420px,70%);box-shadow:0 2px 0 var(--tile-side), 0 3px 0 var(--tile-side-dark), 0 6px 14px #0000004d;color:var(--paper-ink);white-space:nowrap;pointer-events:none;border-radius:10px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:700;display:flex;position:absolute;bottom:10px;left:50%;translate:-50%}.chat-strip b{color:var(--team-us);font-weight:800}.chat-strip.them b{color:var(--team-them)}.chat-strip span{text-overflow:ellipsis;overflow:hidden}.action-discard:disabled{color:#fbf6e880;box-shadow:none;background:#0000002e;border:1.5px dashed #fbf6e84d}.actions .sorter{border:0;gap:6px;overflow:visible}.sorter button,.sorter button+button{background:var(--tile-top);box-shadow:0 2px 0 var(--tile-side), 0 3px 0 var(--tile-side-dark);color:var(--paper-ink);border:0;border-radius:8px;font-weight:800}.status-line,.rack-counter{font-weight:800}.modal{--ink:var(--paper-ink);--ink-dim:var(--paper-dim);--ink-faint:#8a7a55;--line:#785a2838;--team0:var(--team-us);--team1:var(--team-them);--panel:#f6edd4bf;--surface-raised:#f6edd4cc;background:radial-gradient(120% 90% at 30% 20%, #fff8e159, transparent 60%), repeating-linear-gradient(90deg, #785a2809 0 1px, transparent 1px 4px), repeating-linear-gradient(0deg, #785a2808 0 1px, transparent 1px 6px), var(--paper);box-shadow:inset 0 0 0 1px #785a282e, inset 0 0 24px #8c69322e, 0 4px 0 var(--paper-edge), 0 6px 0 var(--paper-edge-dark), 0 24px 50px #00000080;color:var(--paper-ink);border:0}.modal:has(.score-sheet){background:radial-gradient(120% 90% at 30% 20%, #fff8e159, transparent 60%), repeating-linear-gradient(90deg, #785a2809 0 1px, transparent 1px 4px), var(--paper)}.modal h2{color:var(--paper-ink)}.modal .winner{color:#2f6b47;font-family:Playfair Display,Georgia,serif;font-size:34px}.modal .muted,.modal small{color:var(--paper-dim)}.modal .btn-ghost{background:var(--paper-light);color:var(--paper-ink);border:1px solid #785a2842}.modal .bet-win{color:#1f6b44}.modal .bet-loss{color:#8a2c1c}.modal .toggle,.modal label{color:var(--paper-ink)}.modal .score-lead{color:#8a5a00}.lobby{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));background:linear-gradient(135deg, var(--frame-1), var(--frame-2) 50%, var(--frame-3));align-items:stretch}.lobby-card{box-sizing:border-box;background:radial-gradient(110% 80% at 50% 36%, var(--felt-top) 0%, var(--felt-mid) 50%, var(--felt-bottom) 100%);width:100%;max-width:none;min-height:calc(100dvh - 20px);box-shadow:inset 0 0 0 3px #3a210d, inset 0 0 0 4px var(--rim-line), inset 0 18px 40px #00000073, inset 0 -16px 30px #0006;border-radius:24px;padding:16px 14px 14px}.lobby-card>*{width:100%;max-width:520px;margin-inline:auto}.lobby-head .icon-btn{background:var(--tile-top);box-shadow:0 3px 0 var(--tile-side), 0 4px 0 var(--tile-side-dark);color:var(--paper-ink);border:0}.lobby-code b{font-weight:800}.lobby-felt{color:#f1f4f2cc;background:#00000029;border:1px dashed #fbf6e82e;font-weight:700}.lobby-settings{--ink:var(--paper-ink);--ink-dim:var(--paper-dim);--ink-faint:#8a7a55;--line:#785a2838;background:radial-gradient(120% 90% at 30% 20%, #fff8e159, transparent 60%), repeating-linear-gradient(90deg, #785a2809 0 1px, transparent 1px 4px), var(--paper);box-shadow:inset 0 0 0 1px #785a282e, 0 3px 0 var(--paper-edge), 0 4px 0 var(--paper-edge-dark), 0 10px 16px #0000004d;color:var(--paper-ink);border:0}.lobby-settings .seg{background:#785a281f}.lobby-settings .seg button{color:var(--paper-ink);font-weight:800}.lobby-settings .seg button.on{background:var(--tile-top);box-shadow:0 2px 0 var(--tile-side);color:var(--paper-ink)}.lobby-settings select{background:var(--paper-light);color:var(--paper-ink);border:1px solid #785a2847;font-weight:700}.lobby-settings .chip-label,.lobby-settings .muted{color:var(--paper-dim)}.lobby-wait{color:#f1f4f2cc;font-weight:700}.lobby-settings .lobby-row .seg{flex-wrap:nowrap}.lobby-settings .lobby-row .seg button{padding:7px 9px;font-size:13px}.lobby-settings .lobby-row>.chip-label{flex:none}.howto-card{padding:10px;overflow:hidden}.howto-step{touch-action:pan-y;flex-direction:column;gap:10px;display:flex}.howto-demo{background:radial-gradient(110% 90% at 50% 35%, var(--felt-top), var(--felt-mid) 55%, var(--felt-bottom));min-height:214px;box-shadow:inset 0 0 0 2px #3a210d, inset 0 0 0 3px var(--rim-line), inset 0 8px 18px #00000059;color:var(--ink);--tile-lg-w:40px;--tile-lg-h:56px;border-radius:10px;place-items:center;padding:14px 8px;display:grid}.howto-text{min-height:168px;padding:0 4px 4px}.howto-text h2{color:var(--paper-ink);margin:2px 0 6px;font-family:Playfair Display,Georgia,serif;font-size:22px}.howto-text p{margin:0;font-size:15.5px;font-weight:600;line-height:1.5}.howto-text b{font-weight:900}.stack.center{align-items:center}.howto-row{justify-content:center;align-items:center;display:flex}.howto-row.wrap{flex-wrap:wrap;row-gap:8px}.howto-label{color:#f1f4f2d1;text-align:center;font-size:12px;font-weight:800}.howto-plus{color:var(--brand-gold);align-items:center;gap:6px;font-size:15px;font-weight:900;display:inline-flex}.howto-badge{text-align:center;background:var(--paper);max-width:300px;color:var(--paper-ink);box-shadow:0 2px 0 var(--paper-edge-dark);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:800;line-height:1.3;display:inline-block}.howto-badge.ok{color:var(--team-us)}.howto-badge.bad{color:#b23a2a}.howto-slot{box-sizing:border-box;border:2px dashed #f1f4f259;border-radius:7px;flex:none;margin-bottom:4px;display:inline-block}.howto-slot.md{width:30px;height:42px}.howto-slot.sm{width:24px;height:34px}.howto-rack{background:linear-gradient(180deg, var(--frame-1), var(--frame-2));min-height:52px;box-shadow:0 3px 0 var(--frame-3), 0 6px 10px #0000004d;border-radius:6px;justify-content:center;align-items:flex-end;gap:3px;padding:6px 10px 2px;display:flex}.howto-meld{background:#00000029;border-radius:6px;gap:2px;padding:4px 6px 0;display:flex}.howto-deck{min-width:30px;min-height:46px}.howto-total{font-variant-numeric:tabular-nums;font-size:22px;font-weight:900}.howto-score{background:var(--paper);min-width:96px;color:var(--paper-ink);box-shadow:0 3px 0 var(--paper-edge-dark);border-radius:8px;flex-direction:column;align-items:center;padding:6px 12px;display:flex}.howto-score small{font-size:12px;font-weight:800}.howto-score b{font-variant-numeric:tabular-nums;font-size:26px}.howto-score.team0 small,.howto-avatar.team0{color:var(--team-us)}.howto-score.team1 small,.howto-avatar.team1{color:var(--team-them)}.howto-avatar{background:var(--paper);box-shadow:0 2px 0 var(--paper-edge-dark);border-radius:10px;padding:6px 12px;font-size:14px;font-weight:900}.howto-button{background:var(--paper);color:var(--paper-ink);box-shadow:0 3px 0 var(--paper-edge-dark);border-radius:9px;padding:9px 14px;font-size:14px;font-weight:900;transition:transform .16s,background .16s}.howto-button[data-on]{background:var(--brand-gold);transform:translateY(2px)scale(.96)}.howto-seats{width:230px;height:170px;position:relative}.howto-seats-table{background:#00000029;border-radius:14px;position:absolute;inset:34px 58px;box-shadow:inset 0 0 0 2px #f1f4f224}.howto-seats-arrow{color:#f1f4f273;width:70px;height:70px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.howto-seat{background:var(--paper);min-width:60px;color:var(--paper-ink);box-shadow:0 2px 0 var(--paper-edge-dark);border-radius:10px;flex-direction:column;align-items:center;padding:5px 8px;font-size:13px;display:flex;position:absolute}.howto-seat small{font-size:11px;font-weight:800}.howto-seat.team0 small{color:var(--team-us)}.howto-seat.team1 small{color:var(--team-them)}.howto-seat.is-turn{box-shadow:0 0 0 3px var(--brand-gold), 0 2px 0 var(--paper-edge-dark)}.howto-seat.bottom{bottom:0;left:calc(50% - 38px)}.howto-seat.top{top:0;left:calc(50% - 38px)}.howto-seat.left{top:calc(50% - 22px);left:0}.howto-seat.right{top:calc(50% - 22px);right:0}.howto-nav{align-items:center;gap:10px;display:flex}.howto-nav .tile-btn{white-space:nowrap;flex:1;min-height:48px;padding:0 16px;font-size:16px}.howto-count{text-align:center;color:#f1f4f2cc;font-variant-numeric:tabular-nums;min-width:56px;font-weight:800}.howto-dots{justify-content:center;gap:4px;margin:-6px 0 -4px;display:flex}.howto-dots button{cursor:pointer;background:0 0;border:0;width:22px;height:22px;padding:0;position:relative}.howto-dots button:after{content:"";background:#f1f4f259;border-radius:50%;transition:background .16s,transform .16s;position:absolute;inset:7px 5px}.howto-dots button.is-on:after{background:var(--brand-gold);transform:scale(1.35)}.howto-rules details{padding:0}.howto-rules summary{cursor:pointer;justify-content:space-between;padding:13px 14px;font-size:16px;font-weight:800;list-style:none;display:flex}.howto-rules summary::-webkit-details-marker{display:none}.howto-rules summary:after{content:"+";color:var(--paper-dim);font-weight:900}.howto-rules details[open] summary:after{content:"−"}.howto-rules ul,.howto-rules p{margin:0;padding:0 14px 14px 30px;font-size:14.5px;font-weight:600;line-height:1.5}.howto-rules p{padding-left:14px}.howto-rules li+li{margin-top:6px}.howto-table{border-collapse:collapse;margin:0 14px 10px;font-size:13.5px;font-weight:700}.howto-table th,.howto-table td{text-align:left;border-bottom:1px solid #785a2829;padding:5px 6px}.howto-table th{font-weight:900}@media (orientation:landscape) and (height<=560px){.howto.screen-narrow{max-width:760px}.howto-step{flex-direction:row;align-items:stretch}.howto-demo{flex:1.1;min-height:200px}.howto-text{flex:1;align-self:center}}.howto-rules-link{white-space:nowrap;min-height:44px;padding:0 12px;font-size:14px}.howto-rules{scroll-margin-top:12px}.howto-elden .tile-sm,.howto-elden .howto-slot.sm{width:21px;height:30px;font-size:12.5px}.howto-elden .howto-rack{padding:5px 7px 2px}:root{--page-bg:#0a1611;--page-bg-2:#0d1d16;--start-glow:#14583a;--start-mid:#0d3a27;--start-edge:#08241a;--start-panel-rgb:8 30 21;--felt:#0e5138;--felt-deep:#083423;--felt-edge:#052419;--felt-hi:#14683f;--felt-mid:#0f5534;--felt-lo:#093a23;--rim-1:#6b4220;--rim-2:#8a5a2f;--rim-3:#3a210d;--wood:#6a4424;--wood-dark:#3f2612;--wood-light:#8a5c33;--rack-hi:#8a5a30;--rack-mid:#6a4021;--rack-lo:#4a2b14;--rack-border:#2e1a0a;--rack-groove-rgb:30 16 6;--rack-slot-rgb:45 24 9;--tray-hi:#3a2414;--tray-lo:#24160b;--handle:#d7b16a;--handle-shadow:#39220d;--tile-face:#fbf6e9;--tile-face-low:#efe5cc;--tile-edge:#d6c9a8;--tile-edge-dark:#b9a97f;--tile-top:#fbf6e8;--tile-side:#d8cdae;--tile-side-dark:#b6a67c;--tile-side-fan:#cfc3a4;--tile-outline-rgb:90 70 30;--tile-outline-sm-rgb:80 60 20;--tile-back-line-rgb:110 85 35;--pile-ink:#6b5a33;--okey-hi:#ffe9a0;--okey-lo:#b98a00;--red:#d7262b;--yellow:#df9800;--blue:#1f5fcf;--black:#1b1b1b;--ink:#f1f4f2;--ink-dim:#b0bdc1;--ink-faint:#8e9fa5;--cream-rgb:244 239 226;--info-ink:#dce8dc;--info-dim:#b1c8b9;--info-strong:#f3e3b8;--info-line-rgb:216 231 216;--swap-ink-rgb:220 232 220;--gold-ink:#efdcaa;--gold-soft:#e5c86c;--gold-soft-rgb:229 200 108;--team0:#9edac6;--team1:#e6b995;--accent:#f6c945;--accent-ink:#2b2100;--accent-hover:#ffd767;--danger:#e25a52;--danger-hover:#ec6a62;--danger-ink:#fff;--error-ink:#ffb4ae;--bad-ink:#ffd2cf;--good-ink:#d4ffe9;--pair:#a98bff;--pair-ink:#d6c8ff;--pair-ink-light:#e6dcff;--target:#ffe49a;--target-rgb:255 224 143;--chip-hi:#ffe28a;--chip-lo:#d39a1c;--speech-ink:#1d1d1d;--frame-1:#8a5a30;--frame-2:#5c3518;--frame-3:#7a4a22;--rim-line:#a8784a;--felt-top:#187146;--felt-bottom:#083522;--paper:#e9dbb4;--paper-light:#f6edd4bf;--paper-edge:#cdb98a;--paper-edge-dark:#a8915e;--paper-ink:#3a2e20;--paper-dim:#6b5a33;--brand-ink:#fbe9c0;--brand-gold:#c89b3c;--team-us:#2f8a5e;--team-them:#c0602e;--panel:#06140ef5;--panel-solid:#0f2a20;--surface-raised:#263c30;--line:#ddeaec21;--backdrop:#020a0799;--sheet-bg:#102b22;--avatar-bg:#12241c;--avatar-top:#22322b;--avatar-bottom:#131e19;--btn-bg:#1b3429;--btn-border:#2c4a3c;--btn-edge:#0b1712;--primary-hi:#f4c94b;--primary-lo:#e2a92b;--primary-edge:#a5760f;--disabled-ink:#aab6ad;--disabled-bg:#244438;--disabled-border:#416052;--toggle-line-rgb:222 231 213;--toggle-bg-rgb:5 32 24;--toggle-on-border:#bcaa77;--toggle-on-ink:#f4dfab}:root[data-theme=gece]{--frame-1:#5e3d24;--frame-2:#2f1c0e;--frame-3:#482d19;--rim-line:#6b4527;--felt-top:#1d4a86;--felt-bottom:#0b244a;--page-bg:#070d18;--page-bg-2:#0b1424;--start-glow:#17305a;--start-mid:#0f2142;--start-edge:#08142a;--start-panel-rgb:8 18 36;--felt:#143766;--felt-deep:#0b2246;--felt-edge:#061431;--felt-hi:#1d4a86;--felt-mid:#153a6c;--felt-lo:#0b244a;--rim-1:#4a2e1a;--rim-2:#6b4527;--rim-3:#24150a;--rack-hi:#5e3d24;--rack-mid:#482d19;--rack-lo:#2f1c0e;--rack-border:#1c1006;--tray-hi:#2a1a0e;--tray-lo:#1a1008;--info-ink:#d9e3f2;--info-dim:#a9b9d1;--info-line-rgb:210 222 240;--swap-ink-rgb:214 224 240;--toggle-line-rgb:214 224 240;--toggle-bg-rgb:6 18 40;--panel:#070e1cf5;--panel-solid:#0e1a30;--surface-raised:#22324f;--sheet-bg:#0f1d36;--line:#d6e2f524;--backdrop:#02060e9e;--avatar-bg:#121d33;--avatar-top:#1f2b44;--avatar-bottom:#111a2c;--btn-bg:#1a2a46;--btn-border:#2b3e60;--btn-edge:#0a1222;--disabled-bg:#1e3050;--disabled-border:#3a5078;--disabled-ink:#a7b4c8;--team0:#9fc8f0;--team1:#f0c08f}:root[data-theme=bordo]{--frame-1:#c49a62;--frame-2:#7d5a31;--frame-3:#a67c49;--rim-line:#c79b62;--felt-top:#8a2635;--felt-bottom:#45101a;--page-bg:#160a0c;--page-bg-2:#1e0e11;--start-glow:#5c1a24;--start-mid:#3e1219;--start-edge:#260a0f;--start-panel-rgb:32 10 14;--felt:#6b1d2a;--felt-deep:#4a1019;--felt-edge:#2c080e;--felt-hi:#8a2635;--felt-mid:#6e1d2a;--felt-lo:#45101a;--rim-1:#a37a4a;--rim-2:#c79b62;--rim-3:#5e4022;--rack-hi:#c49a62;--rack-mid:#a67c49;--rack-lo:#7d5a31;--rack-border:#4d3519;--rack-groove-rgb:60 38 16;--tray-hi:#4a2f18;--tray-lo:#2e1d0e;--info-ink:#f2dcdc;--info-dim:#d1b1b4;--info-line-rgb:240 214 216;--swap-ink-rgb:240 220 222;--toggle-line-rgb:240 214 216;--toggle-bg-rgb:40 8 14;--panel:#1c090cf5;--panel-solid:#2a0f15;--surface-raised:#4a2229;--sheet-bg:#2e1118;--line:#f5dee024;--backdrop:#0c02049e;--avatar-bg:#2a1217;--avatar-top:#3a1c22;--avatar-bottom:#221014;--btn-bg:#3d1a21;--btn-border:#5a2a33;--btn-edge:#1a080b;--disabled-bg:#4a2229;--disabled-border:#6e3a43;--disabled-ink:#d1b4b8;--team0:#a8e0c8;--team1:#f2c79a}
