:root{--tile-face-1:#fffcf4;--tile-face-2:#f8eedb;--tile-edge:#dcc8a2;--tile-side:#c2a878;--hand-c0:#1c1b22;--hand-c1:#ce103a;--hand-c2:#1366d6;--hand-c3:#0b7a2a;--hand-joker:#6b2fd6;--wood-hi:#a9764a;--wood-1:#8d5c35;--wood-2:#6e4425;--wood-lip:#563319;--hand-ok:#3dffa880;--hand-bad:#ff4d6a}.hand-tile{box-sizing:border-box;background:linear-gradient(180deg, var(--tile-face-1) 0%, var(--tile-face-2) 70%, #f1e3c7 100%);box-shadow:inset 0 1px 0 #fff, inset 0 -3px 0 var(--tile-edge), 0 1px 0 var(--tile-side), 0 2px 4px #00000061;font-family:var(--font-display);color:var(--hand-c0);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out), opacity .16s;border-radius:6px;flex:none;grid-template-rows:auto auto;align-content:center;place-items:center;gap:1px;font-weight:800;line-height:1;display:inline-grid;position:relative}.hand-tile .num{letter-spacing:-.04em;font-size:1em}.hand-tile .mark{font-family:system-ui,sans-serif;font-size:.5em;line-height:1}.hand-tile.c1{color:var(--hand-c1)}.hand-tile.c2{color:var(--hand-c2)}.hand-tile.c3{color:var(--hand-c3)}.hand-tile.joker{color:var(--hand-joker)}.hand-tile .joker-face{width:78%;height:auto}.hand-tile.s-rack{width:30px;height:42px;padding-bottom:3px;font-size:18px}.hand-tile.s-table{border-radius:5px;width:24px;height:34px;padding-bottom:2px;font-size:15px}.hand-tile.s-mini{width:16px;height:22px;box-shadow:inset 0 -2px 0 var(--tile-edge), 0 1px 2px #00000059;border-radius:3px;gap:0;padding-bottom:1px;font-size:10px}.hand-tile.s-mini .mark{font-size:.55em}button.hand-tile{cursor:grab;font:inherit;font-family:var(--font-display);border:0;margin:0;padding-inline:0;font-weight:800}button.hand-tile.s-rack{font-size:18px}button.hand-tile.s-table{font-size:15px}button.hand-tile:active{cursor:grabbing}button.hand-tile:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.hand-tile.sel{box-shadow:inset 0 1px 0 #fff, inset 0 -3px 0 var(--tile-edge), 0 0 0 2px var(--color-gold), 0 6px 10px #00000073;transform:translateY(-4px)}.hand-tile.fresh{box-shadow:inset 0 1px 0 #fff, inset 0 -3px 0 var(--color-gold), 0 1px 0 var(--tile-side), 0 2px 4px #00000061}.hand-tile.fresh.sel{box-shadow:inset 0 1px 0 #fff, inset 0 -3px 0 var(--color-gold), 0 0 0 2px var(--color-gold), 0 6px 10px #00000073}.hand-tile.grey{filter:grayscale(.85)brightness(.88)}.hand-tile.joker.spare:not(:focus-visible){outline-offset:2px;outline:1.5px dashed #ffffffb3}.hand-why.spare{color:var(--color-text-2);font-weight:500}.hand-tile.lifted{opacity:.28;transform:none}.hand-table{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:8px 6px;padding:8px;display:flex}.hand-empty{text-align:center;width:100%;color:var(--color-text-3);margin:0;padding:18px 0;font-size:14px}.hand-set{background:#00000038;border:1.5px solid #0000;border-radius:9px;flex-wrap:wrap;align-items:center;gap:2px;max-width:100%;padding:4px;transition:border-color .2s,background .2s;display:flex;position:relative}.hand-set.ok.changed{border-color:var(--hand-ok)}.hand-set.bad{border-color:var(--hand-bad);background:#ff4d6a1a}.hand-set.locked{border-style:dashed;border-color:#ffffff29}.hand-why{white-space:nowrap;text-align:center;color:#ff98a8;flex-basis:100%;padding:2px 2px 0;font-size:11px;font-weight:600;line-height:1.3}.hand-put{border:1.5px dashed var(--color-gold);width:28px;height:34px;color:var(--color-gold);font:inherit;cursor:pointer;background:#ffd84a14;border-radius:6px;place-items:center;margin-inline-start:2px;font-size:20px;font-weight:700;display:grid}.hand-set.new{min-width:76px;min-height:44px;color:var(--color-text-2);font:inherit;cursor:pointer;background:0 0;border:1.5px dashed #ffffff52;justify-content:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:600}.hand-set.new.closed{color:var(--color-text-3);opacity:.75;cursor:default;border-style:dotted;font-size:12px}.hand-set.new .plus{font-size:16px;line-height:1}.hand-set.new.ready{border-color:var(--color-gold);color:var(--color-gold);background:#ffd84a14}.hand-set.drop-over,.hand-set.new.drop-over{border-color:var(--color-gold);background:#ffd84a24;transition:none;box-shadow:0 0 0 2px #ffd84a59}.hand-table.s-mini{gap:5px 4px;padding:4px}.hand-table.s-mini .hand-set{border-radius:5px;gap:1px;padding:2px}.hand-rack{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:repeating-linear-gradient(93deg, #ffffff09 0 2px, transparent 2px 11px, #0000000d 11px 13px, transparent 13px 23px), linear-gradient(180deg, var(--wood-hi), var(--wood-1) 22%, var(--wood-2));border-radius:16px 16px 0 0;grid-template-columns:minmax(0,1fr);gap:6px;display:grid;box-shadow:inset 0 2px #ffffff2e,0 -8px 24px #00000059}.hand-shelf{background:linear-gradient(180deg, transparent calc(100% - 6px), var(--wood-lip) calc(100% - 6px));border-radius:0 0 6px 6px;padding-bottom:6px;position:relative;box-shadow:0 1px #ffffff1f}.hand-row{overscroll-behavior-x:contain;scrollbar-width:none;border-radius:6px 6px 0 0;align-items:flex-end;gap:3px;min-height:48px;padding-top:6px;transition:background .2s;display:flex;overflow:auto hidden}.hand-row .hand-tile{touch-action:pan-x}.hand-row::-webkit-scrollbar{display:none}.hand-row.drop-over{background:#ffd84a29;transition:none;box-shadow:inset 0 0 0 1.5px #ffd84a8c}.hand-rack-tools{flex-wrap:wrap;justify-content:center;gap:6px;padding-top:2px;display:flex}.hand-rack-tools .chip{-webkit-backdrop-filter:none;backdrop-filter:none;background:#00000038;border-color:#ffffff2e;border-radius:12px;min-height:36px;padding:0 12px;font-size:13px;font-weight:600}.hand-ghost{z-index:60;pointer-events:none;will-change:transform;transform-origin:50%;filter:drop-shadow(0 12px 14px #0000008c);opacity:.88;gap:2px;display:flex;position:fixed;top:0;left:0}.hand-caret{z-index:61;background:var(--color-gold);pointer-events:none;opacity:0;will-change:transform;border-radius:2px;width:4px;height:0;margin-top:-10px;padding-bottom:20px;position:fixed;top:0;left:0;box-shadow:0 0 0 1.5px #0000008c,0 0 12px #ffd84af2}.hand-table-wrap.dragging .hand-set.new{z-index:2;background:#1a0c28eb;position:sticky;bottom:6px}.hand-table-wrap.dragging .hand-set.new.drop-over{background:#504014f2}@media (prefers-reduced-motion:reduce){.hand-tile,.hand-set,.hand-row{transition:none}.hand-tile.sel{transform:none}}.hand-seats{grid-template-columns:repeat(var(--n,4), minmax(0, 1fr));gap:6px;margin:0;padding:4px 16px;list-style:none;display:grid}.hand-seat{background:var(--glass);border:1px solid var(--edge);border-radius:16px;align-content:start;justify-items:center;gap:3px;min-width:0;padding:8px 4px 6px;font-size:12px;transition:border-color .2s,background .2s;display:grid;position:relative}.hand-seat.turn{border-color:var(--color-gold);background:#ffd84a1a;box-shadow:0 0 18px #ffd84a2e}.hand-seat.urgent{border-color:var(--hand-bad);background:#ff4d6a1f;box-shadow:0 0 18px #ff4d6a40}.hand-seat.away{opacity:.6}.hand-seat-pic{--p:100;--ring:var(--color-gold);border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:relative}.hand-seat-pic .av{width:34px;height:34px;margin:0;font-size:14px}.hand-seat-pic.timed{background:conic-gradient(var(--ring) calc(var(--p) * 1%), #ffffff1f 0)}.hand-seat.urgent .hand-seat-pic{--ring:var(--hand-bad)}.hand-seat-secs{border:1px solid var(--ring);min-width:20px;color:var(--ring);text-align:center;background:#120b30;border-radius:999px;padding:1px 4px;font-size:11px;line-height:1.2;position:absolute;inset-block-end:-4px;inset-inline-end:-8px}.hand-unopened{background:var(--color-amber);border:2px solid #120b30;border-radius:50%;width:10px;height:10px;position:absolute;inset-block-start:0;inset-inline-start:0}.hand-seat-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:700;overflow:hidden}.hand-seat .bot-tag{margin:0;padding:0 5px;font-size:10px}.hand-away{color:var(--color-amber);font-size:10px}.hand-seat-nums{align-items:center;gap:4px;display:flex}.hand-count{background:var(--wood-2);color:#fff;border-radius:7px;align-items:center;gap:3px;padding:1px 6px;font-weight:700;display:inline-flex}.hand-count-tile{background:var(--tile-face-2);border-radius:2px;width:7px;height:10px}.hand-total{color:var(--color-text-2);font-weight:700}.hand-turnbar{grid-template-columns:minmax(0,1fr);gap:6px;padding:6px 16px;display:grid}.hand-actions{grid-template-columns:1.15fr .85fr 1.15fr;gap:8px;display:grid}.hand-actions.two{grid-template-columns:1fr 1fr}.hand-actions.three{grid-template-columns:minmax(0,1.35fr) 56px minmax(0,1fr);gap:8px}.hand-actions .cta.hand-undo{place-items:center;padding:0;display:grid}.hand-undo-choice{gap:10px;display:grid}.hand-undo-choice .cta{border-radius:18px;height:52px}.hand-actions .cta{border-radius:18px;height:52px;padding:0 6px;font-size:16px}.hand-meter{gap:4px;display:grid}.hand-meter-text{justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.hand-meter-text small{color:var(--color-text-2);font-size:13px;font-weight:600}.hand-meter-text b{font-family:var(--font-display);color:var(--color-amber);font-size:15px}.hand-meter.full .hand-meter-text b{color:var(--color-ok)}.hand-meter-bar{background:#ffffff1a;border-radius:999px;height:8px;position:relative;overflow:hidden}.hand-meter-fill{border-radius:inherit;background:linear-gradient(270deg, var(--color-amber), #ffbe4a);transition:width .3s var(--ease-out);position:absolute;inset-block:0;inset-inline-start:0}.hand-meter.full .hand-meter-fill{background:linear-gradient(270deg, #22c98a, var(--color-ok))}.hand-meter-hint{color:var(--color-text-2);margin:0;font-size:12px;font-weight:600}.hand-reason{text-align:center;color:#ff98a8;margin:0;font-size:13px;font-weight:600}.hand-urgent{text-align:center;color:var(--hand-bad);margin:0;font-size:14px;font-weight:800}.hand-confirm{border-radius:18px;gap:8px;padding:10px;display:grid}.hand-confirm p{text-align:center;margin:0;font-weight:700}@media (prefers-reduced-motion:reduce){.hand-seat,.hand-meter-fill{transition:none}}.hand-lobby-top{justify-content:space-between;align-items:center;gap:10px;min-height:52px;display:flex}.hand-host-btn{border-radius:14px;width:44px;height:44px}.hand-lobby-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.hand-lobby-head h2{font-family:var(--font-display);margin:0;font-size:18px;font-weight:700}.hand-lobby-count{color:var(--color-text-2);font-size:14px}.hand-lobby-seats{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hand-lobby-seats li{border-radius:18px;align-items:center;gap:10px;min-height:56px;padding:8px 12px;display:flex}.hand-lobby-seats li .av{width:36px;height:36px;margin:0;font-size:15px}.hand-lobby-seats .who{flex-wrap:wrap;flex:1;align-items:center;gap:4px 6px;min-width:0;display:flex}.hand-lobby-seats .who b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hand-lobby-seats .who .bot-tag{margin:0}.hand-host-tag{color:var(--color-gold);background:#ffd84a29;border-radius:999px;align-items:center;gap:3px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-flex}.hand-seat-x{border-radius:12px;flex:none;width:40px;height:40px}.hand-lobby-seats li.free{color:var(--color-text-3);border:1.5px dashed #ffffff29;justify-content:center;font-size:14px}.hand-free-dot{border:1.5px solid;border-radius:50%;width:8px;height:8px}.hand-addbot{border-radius:22px;gap:10px;padding:12px;display:grid}.hand-addbot .cta{justify-content:center;align-items:center;gap:8px;height:52px;font-size:16px;display:flex}.seg.hand-seg-4{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));grid-auto-flow:row}.seg.hand-seg-4 button{white-space:nowrap;padding:0 4px;font-size:15px}.hand-results{flex-direction:column;gap:14px;padding:8px 16px 0;display:flex}.hand-results .hero h2{font-family:var(--font-display);margin:0;font-size:26px;font-weight:700;line-height:1.25}.hand-results .hero .medal{--team:var(--color-gold)}.hand-results .dock{padding-inline:0}.hero .hand-champion{font-family:var(--font-display);color:var(--color-gold);font-size:24px;font-weight:800}.hand-reveal{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hand-reveal li{border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 10px;padding:10px 12px;display:grid}.hand-reveal li.won{background:#ffd84a14;border-color:#ffd84a80}.hand-reveal .av{width:34px;height:34px;margin:0}.hand-reveal .who{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.hand-reveal .who .bot-tag{margin:0}.hand-reveal .pts,.hand-scores .pts{color:var(--color-text-2);font-weight:800}.hand-reveal .pts{font-size:20px}.hand-reveal .pts.up,.hand-scores .pts.up{color:var(--color-ok)}.hand-reveal .pts.down,.hand-scores .pts.down{color:#ff98a8}.hand-mystats{text-align:center;color:var(--color-text);border-radius:14px;margin:0 0 10px;padding:8px 12px;font-size:14px;font-weight:700}.hand-reveal-stats{color:var(--color-text-2);grid-column:1/-1;font-size:12px;font-weight:600}.hand-tv-results .hand-reveal-stats{font-size:18px}.hand-reveal-rack{flex-wrap:wrap;grid-column:1/-1;gap:2px;display:flex}.hand-scores-wrap{overflow-x:auto}.hand-scores{font-size:14px}.hand-scores td,.hand-scores thead th:not(:first-child){padding-inline-start:8px}.hand-scores tbody th .av{width:30px;height:30px}.hand-scores tbody th .who{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hand-scores tr.won th .who{color:var(--color-gold)}.hand-phone.playing{height:100dvh;min-height:0;overflow:hidden}.hand-top{justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:4px 16px;display:flex}.hand-top-line{color:var(--color-text-2);align-items:center;gap:6px;font-size:13px;display:flex}.hand-top-line b{color:var(--color-text);font-weight:700}.hand-paused{text-align:center;color:var(--color-gold);border-radius:14px;margin:4px 16px;padding:8px 12px;font-weight:700}.hand-table-wrap{overscroll-behavior:contain;background:#0000002e;border:1px solid #ffffff0f;border-radius:18px;flex:auto;min-height:96px;margin:6px 12px 0;overflow-y:auto}.hand-phone:not(.playing) .hand-table-wrap{max-height:40dvh}.hand-phone.playing .hand-table-wrap:not(.big){flex:0 auto;max-height:34dvh}.hand-last,.hand-turnline,.hand-yours{text-align:center;min-height:18px;color:var(--color-text-2);margin:4px 16px 0;font-size:13px}.hand-turnline{color:var(--color-text);font-size:15px;font-weight:700}.hand-yours{font-family:var(--font-display);color:var(--color-gold);font-size:18px;font-weight:800}.hand-watch{margin:auto 16px calc(16px + env(safe-area-inset-bottom));text-align:center;border-radius:18px;padding:14px;font-size:15px;line-height:1.6}.hand-bottom{grid-template-columns:minmax(0,1fr);gap:2px;margin-top:auto;display:grid}.hand-phone .reactions{margin:10px 16px 0}.hand-phone .reactions.compact{gap:8px;margin:2px 16px 4px}.hand-phone .reactions.compact button{width:40px;height:40px;font-size:21px}.hand-home{gap:14px;display:grid}.hand-admin-note{color:var(--color-amber);text-align:center;background:#ff9f0a1f;border:1px solid #ff9f0a59;border-radius:14px;margin:0;padding:8px 12px;font-size:14px;font-weight:600}.hand-bots-count{font-family:var(--font-display);font-size:24px;font-weight:800}.hand-off p{color:var(--color-text-2);margin:0}.hand-tv{--felt-1:#1d6a57;--felt-2:#114539;--felt-3:#0a2a23}.tv-chip.strong{color:var(--color-gold);background:#ffd84a24;border-color:#ffd84a80}.hand-tv-pool{align-items:center;gap:7px;display:inline-flex}.pool-tile{background:linear-gradient(180deg, var(--tile-face-1), var(--tile-face-2));width:10px;height:14px;box-shadow:3px -3px 0 -1px #ffffff8c, inset 0 -2px 0 var(--tile-edge);border-radius:2px}.hand-tv-board{top:96px;bottom:22px;z-index:4;grid-template:".top.""right felt left"minmax(0,1fr)".bottom."/178px minmax(0,1fr) 178px;gap:16px 24px;display:grid;position:absolute;inset-inline:26px}.hand-tv-seats{list-style:none;display:contents}.hand-tv-seat{min-width:0;transition:border-color .3s, box-shadow .3s, transform .3s var(--ease-out);background:linear-gradient(160deg,#ffffff1a,#ffffff05),#160e3aa8;border:1px solid #ffffff29;border-radius:22px;align-content:center;justify-items:center;gap:8px;padding:18px 12px 16px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff38,0 20px 40px #0006}.hand-tv-seat.at-right{grid-area:right;align-self:center}.hand-tv-seat.at-left{grid-area:left;align-self:center}.hand-tv-seat.at-top,.hand-tv-seat.at-bottom{border-radius:999px;grid-auto-flow:column;justify-self:center;align-items:center;gap:14px;min-width:380px;padding:8px 18px 8px 14px}.hand-tv-seat.at-top{grid-area:top}.hand-tv-seat.at-bottom{grid-area:bottom}.hand-tv-seat.turn{background:linear-gradient(160deg,#ffd84a33,#ffd84a0a),#1e143ccc;border-color:#ffd84ad9;animation:2.4s ease-in-out infinite hand-tv-glow;box-shadow:inset 0 1px #ffffff4d,0 0 0 1px #ffd84a66,0 0 46px #ffd84a52,0 20px 40px #0006}.hand-tv-seat.at-left.turn,.hand-tv-seat.at-right.turn{transform:scale(1.04)}.hand-tv-seat.urgent{background:linear-gradient(160deg,#ff4d6a3d,#ff4d6a0d),#280e28cc;border-color:#ff4d6ae6;box-shadow:inset 0 1px #ffffff4d,0 0 0 1px #ff4d6a80,0 0 50px #ff4d6a66,0 20px 40px #0006}@keyframes hand-tv-glow{50%{box-shadow:inset 0 1px #ffffff4d,0 0 0 1px #ffd84a8c,0 0 70px #ffd84a73,0 20px 40px #0006}}.hand-tv-seat.away{opacity:.62}.hand-tv-seat .pic{place-items:center;width:92px;height:92px;display:grid;position:relative}.hand-tv-seat .pic .av{border:3px solid #120b30e6;width:76px;height:76px;margin:0;font-size:30px}.hand-tv-seat.at-top .pic,.hand-tv-seat.at-bottom .pic{width:62px;height:62px}.hand-tv-seat.at-top .pic .av,.hand-tv-seat.at-bottom .pic .av{border-width:2px;width:50px;height:50px;font-size:20px}.hand-tv-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.hand-tv-ring circle{fill:none;stroke-width:5px}.hand-tv-ring .track{stroke:#ffffff24}.hand-tv-ring .fill{stroke:var(--color-gold);stroke-linecap:round;filter:drop-shadow(0 0 4px #ffd84ab3);transition:stroke-dashoffset .3s linear,stroke .3s}.hand-tv-seat.urgent .hand-tv-ring .fill{stroke:var(--hand-bad);filter:drop-shadow(0 0 5px #ff4d6acc)}.hand-tv-closed{top:6px;background:var(--color-amber);border:3px solid #120b30;border-radius:50%;width:16px;height:16px;position:absolute;inset-inline-start:6px}.hand-tv-seat.at-top .hand-tv-closed,.hand-tv-seat.at-bottom .hand-tv-closed{top:2px;width:13px;height:13px;inset-inline-start:2px}.hand-tv-seat .who{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;min-width:0;max-width:100%;display:flex}.hand-tv-seat .name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-family:var(--font-display);font-size:22px;font-weight:800;overflow:hidden}.hand-tv-seat .bot-tag{margin:0;font-size:12px}.hand-tv-seat .host{color:var(--color-gold);display:inline-grid}.hand-tv-seat .nums{align-items:center;gap:10px;display:flex}.hand-tv-backs{background:linear-gradient(180deg, var(--wood-1), var(--wood-2));border-radius:12px;align-items:center;gap:8px;padding:4px 10px 4px 8px;display:inline-flex;box-shadow:inset 0 1px #fff3,0 3px 8px #00000059}.hand-tv-backs .stack{padding-inline-start:7px;display:inline-flex}.hand-tv-backs .stack i{width:12px;height:19px;box-shadow:inset 0 -2px 0 var(--tile-side), inset -1px 0 0 #fff9, 1px 0 0 #8a6a3c, 2px 0 3px #00000059;background:linear-gradient(#f6ecd6,#dcc9a2);border-radius:3px;margin-inline-start:-5px}.hand-tv-backs b{font-family:var(--font-display);color:#fff;font-size:22px;font-weight:800;line-height:1}.hand-tv-seat .total{font-family:var(--font-display);color:var(--color-text-2);font-size:20px;font-weight:800}.hand-tv-seat .total.up{color:var(--color-ok)}.hand-tv-seat .total.down{color:#ff98a8}.hand-tv-turn{background:var(--color-gold);color:#120b30;font-family:var(--font-display);white-space:nowrap;border-radius:999px;padding:2px 14px;font-size:18px;font-weight:800;position:absolute;bottom:-14px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #ffd84a66}.hand-tv-turn.urgent{background:var(--hand-bad);color:#fff;box-shadow:0 6px 18px #ff4d6a80}.hand-tv-seat.at-top .hand-tv-turn,.hand-tv-seat.at-bottom .hand-tv-turn{position:static;transform:none}.hand-tv-away{color:var(--color-amber);font-size:14px;font-weight:700}.hand-tv-felt{background:radial-gradient(ellipse 70% 60% at 50% 42%, var(--felt-1) 0%, var(--felt-2) 58%, var(--felt-3) 100%);min-height:0;box-shadow:0 0 0 4px #3d2412, 0 0 0 10px var(--wood-1), 0 0 0 12px var(--wood-lip), 0 -1px 0 13px #ffffff1f, inset 0 0 70px #0000008c, inset 0 2px 0 #ffffff0f, 0 34px 70px #0009;border-radius:30px;grid-area:felt;grid-template-rows:minmax(0,1fr) auto;margin:10px;display:grid;position:relative}.hand-tv-felt:before{content:"";border-radius:inherit;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.hand-tv-felt-in{place-items:center;min-height:0;padding:18px 20px 6px;display:grid;position:relative;overflow:hidden}.hand-table.s-tv{place-content:center;gap:calc(var(--tile-w) * .34) calc(var(--tile-w) * .3);max-width:100%;padding:0}.hand-table.s-tv .hand-set{gap:calc(var(--tile-w) * .07);padding:calc(var(--tile-w) * .13);border-radius:calc(var(--tile-w) * .3);background:#0003;border:2px solid #ffffff12;box-shadow:inset 0 1px #ffffff0d}.hand-table.s-tv .hand-set.changed{background:#ffd84a12;border-style:dotted;border-color:#ffd84abf}.hand-table.s-tv .hand-set.bad{border-style:solid;border-color:var(--hand-bad);background:#ff4d6a29;box-shadow:0 0 22px #ff4d6a59}.hand-tile.s-tv{width:var(--tile-w);height:calc(var(--tile-w) * 1.4);font-size:calc(var(--tile-w) * .62);border-radius:calc(var(--tile-w) * .17);padding-bottom:calc(var(--tile-w) * .08);box-shadow:inset 0 1px 0 #fff, inset 0 calc(var(--tile-w) * -.09) 0 var(--tile-edge), 0 1px 0 var(--tile-side), 0 3px 6px #0000006b}.hand-tile.s-tv.fresh{box-shadow:inset 0 1px 0 #fff, inset 0 calc(var(--tile-w) * -.09) 0 var(--color-gold), 0 0 0 2px var(--color-gold), 0 0 16px #ffd84a99, 0 3px 6px #0000006b}.hand-tv-empty{font-family:var(--font-display);color:#fff6;justify-items:center;gap:10px;margin:0;font-size:24px;font-weight:700;display:grid}.hand-tv-empty .joker-face{color:#ffffff2e;width:74px}.hand-tv-line{text-align:center;min-height:46px;font-family:var(--font-display);color:#fff;text-shadow:0 2px 10px #00000080;margin:0;padding:6px 20px 14px;font-size:22px;font-weight:800}.hand-tv-line.live{color:var(--color-gold)}.hand-tv-line.live:before{content:"";background:var(--color-gold);width:9px;height:9px;box-shadow:0 0 10px var(--color-gold);vertical-align:middle;border-radius:50%;margin-inline-end:10px;animation:1.1s infinite tv-twinkle;display:inline-block}.hand-tv-notice{z-index:12;color:#ffd9a0;white-space:nowrap;background:#281806eb;border:1px solid #ff9f0a99;border-radius:999px;margin:0;padding:8px 22px;font-size:18px;font-weight:700;position:absolute;top:92px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000073}.hand-tv .tv-caption{bottom:180px}.hand-tv-lobby{top:100px;bottom:40px;z-index:4;grid-template-columns:330px 1fr 330px;align-items:center;gap:30px;display:grid;position:absolute;inset-inline:34px}.hand-tv-roster{gap:14px;padding:22px;display:grid}.hand-tv-roster h2{font-family:var(--font-display);justify-content:space-between;align-items:baseline;margin:0;font-size:24px;font-weight:800;display:flex}.hand-tv-roster h2 .seats-of{color:var(--color-text-2);font-size:16px}.hand-tv-roster ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.hand-tv-roster li{min-height:64px;animation:tv-pop .45s var(--ease-spring) both;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:18px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 14px;font-size:20px;display:flex}.hand-tv-roster li .av{width:46px;height:46px;font-size:19px}.hand-tv-roster li b{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.hand-tv-roster li .bot-tag{margin:0}.hand-tv-roster li.free{color:var(--color-text-3);background:0 0;border:1.5px dashed #fff3;justify-content:center;font-size:18px;animation:none}.hand-tv-watchers{color:var(--color-text-2);align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.hand-tv-join{text-align:center;justify-items:center;gap:16px;display:grid}.hand-tv-game{text-align:center;justify-items:center;gap:8px;padding:30px 22px;display:grid}.hand-tv-game .hand-card-icon.big{border-radius:14px;width:78px;height:104px;margin-bottom:8px}.hand-tv-game .hand-card-icon.big .joker-face{width:58px}.hand-tv-game h2{font-family:var(--font-display);margin:0;font-size:44px;font-weight:800}.hand-tv-game p{color:var(--color-text-2);margin:0;font-size:18px}.hand-tv-game .hand-tv-settings{background:#ffffff12;border-radius:999px;margin-top:10px;padding:6px 14px;font-size:16px}.hand-tv-game .hand-tv-wait{font-family:var(--font-display);color:var(--color-gold);margin-top:14px;font-size:22px;font-weight:800;animation:2.4s infinite tv-twinkle}.hand-tv-results{z-index:4;width:1000px;animation:tv-rise .6s var(--ease-out) both;align-content:center;padding:22px 36px;display:grid;position:absolute;top:100px;bottom:28px;left:50%;overflow:hidden;transform:translate(-50%)}.hand-tv-results .hand-results{gap:18px;padding:0}.hand-tv-results .hero .medal{border-radius:24px;width:76px;height:76px}.hand-tv-results .hero h2{font-size:44px}.hand-tv-results .hero p{color:var(--color-text-2);margin:0;font-size:20px}.hand-tv-results .hand-reveal{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hand-tv-results .hand-reveal li{border-radius:22px;gap:10px 14px;padding:14px 18px;font-size:22px}.hand-tv-results .hand-reveal li.won{background:linear-gradient(160deg,#ffd84a29,#ffd84a0a);border-color:#ffd84ab3;box-shadow:0 0 40px #ffd84a38}.hand-tv-results .hero .medal svg{width:38px;height:38px}.hand-tv-results .hand-reveal .av{width:52px;height:52px;font-size:21px}.hand-tv-results .hand-reveal .pts{font-size:34px}.hand-tv-results .hand-reveal-rack{gap:3px}.hand-tv-results .hint{text-align:center;color:var(--color-text-2);margin:0;font-size:18px}.hand-tv-results .hero .hand-champion{color:var(--color-gold);text-shadow:0 0 30px #ffd84a73;font-size:44px}.hand-tv-results .hand-scores{font-size:22px}.hand-tv-results .hand-scores th,.hand-tv-results .hand-scores td{padding-block:8px}.hand-tv-results .hand-scores thead th{font-size:16px}.hand-tv-results .hand-scores tbody th .av{width:42px;height:42px}.hand-tv-results .hand-scores-wrap{width:100%;max-width:760px;margin:0 auto}@media (prefers-reduced-motion:reduce){.hand-tv-seat,.hand-tv-ring .fill{transition:none}.hand-tv-seat.turn,.hand-tv-line.live:before,.hand-tv-game .hand-tv-wait,.hand-tv-roster li,.hand-tv-results{animation:none}}.hand-top-tools{align-items:center;gap:8px;display:flex}.hand-sound{border-radius:14px;width:44px;height:44px}.hand-sound.blocked{color:var(--color-gold);border-color:color-mix(in srgb, var(--color-gold) 50%, transparent);animation:1.6s ease-in-out infinite voice-ask}.hand-sound.muted{opacity:.6}.hand-sound-ask{color:var(--color-gold);border:1px solid color-mix(in srgb, var(--color-gold) 50%, transparent);border-radius:999px;justify-content:center;align-self:center;align-items:center;gap:6px;margin:0 auto 6px;padding:6px 14px;font-size:13px;font-weight:700;display:flex}.hand-sound-ask svg{width:16px;height:16px}@media (prefers-reduced-motion:reduce){.hand-sound.blocked{animation:none}}.hand-last.hand-caption{font-family:var(--font-display);color:var(--color-gold);font-size:14px;font-weight:800}.hand-rules-chip{white-space:nowrap;gap:6px;min-height:40px;padding:0 14px;font-size:14px;font-weight:700}.hand-rules-btn{border-radius:14px;width:44px;height:44px}.hand-rules{gap:8px;padding-bottom:8px;line-height:1.75;display:grid}.hand-rules h3{font-family:var(--font-display);color:var(--color-gold);margin:10px 0 0;font-size:17px;font-weight:800}.hand-rules h3:first-child{margin-top:0}.hand-rules p{color:var(--color-text);margin:0;font-size:15px}.hand-rules-tiles{background:#00000038;border-radius:9px;justify-self:start;gap:2px;padding:4px;display:flex}.hand-rules-fair{background:#ffffff0d;border:1px solid #ffffff29;border-radius:14px;padding:8px 12px;font-weight:600}.hand-rules-example{background:#ffd84a14;border:1px solid #ffd84a40;border-radius:14px;padding:10px 12px}.hand-tutorial{touch-action:pan-y;-webkit-user-select:none;user-select:none;gap:14px;margin-bottom:14px;padding:18px 16px 16px;display:grid}.hand-tutorial-card{text-align:center;animation:hand-card-in .32s var(--ease-out) both;justify-items:center;gap:10px;display:grid}@keyframes hand-card-in{0%{opacity:0;transform:translate(-24px)}}.hand-tutorial-card h2{font-family:var(--font-display);margin:0;font-size:22px;font-weight:800}.hand-tutorial-card p{color:var(--color-text-2);margin:0;font-size:15px;line-height:1.7}.hand-tutorial-tiles{box-shadow:0 0 0 3px var(--wood-1), inset 0 0 20px #00000073;background:radial-gradient(at 50% 40%,#1d6a57,#114539 70%),#114539;border-radius:16px;justify-items:center;gap:8px;padding:10px 14px;display:grid}.hand-tutorial-tiles .row{gap:3px;display:flex}.hand-tutorial-note{color:var(--color-ok);font-size:15px}.hand-tutorial-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.hand-tutorial-foot .dots{gap:6px;display:flex}.hand-tutorial-foot .dots i{background:#ffffff38;border-radius:50%;width:8px;height:8px;transition:background .2s,width .2s}.hand-tutorial-foot .dots i.on{background:var(--color-gold);border-radius:999px;width:20px}.hand-tutorial-foot .cta{width:auto;min-width:128px;height:48px;padding:0 22px}.hand-tour-layer{inset-inline:0;z-index:40;padding:0 12px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#04030abf 30%);position:fixed;bottom:0}.hand-tour-layer .hand-tutorial{background:#1a1040f5;margin:0}.hand-tour-layer .hand-tutorial:focus{outline:none}.hand-tour-wait{top:calc(56px + env(safe-area-inset-top));z-index:40;color:var(--color-text-2);white-space:nowrap;pointer-events:none;border-radius:999px;margin:0;padding:6px 14px;font-size:13px;position:fixed;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.hand-tutorial-card{animation:none}}.hand-tutorial-skip{color:var(--color-text-2);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:center;margin-top:-4px;padding:6px 12px;font-size:14px;font-weight:600;text-decoration:underline}.hand-tile.hint{box-shadow:0 0 0 2px var(--color-ok), 0 0 14px #3dffa8a6}.hand-set.hint{border-color:var(--color-ok);box-shadow:0 0 0 2px #3dffa873}.hand-yours-row{justify-content:center;align-items:center;gap:10px;display:flex}.hand-hint-btn{min-height:36px}.hand-hint{text-align:center;color:var(--color-ok);margin:0;padding:0 16px;font-size:14px;font-weight:700}@media (prefers-reduced-motion:no-preference){.hand-tile.hint{animation:1.4s ease-in-out infinite alternate hand-hint-glow}}@keyframes hand-hint-glow{0%{box-shadow:0 0 0 2px var(--color-ok), 0 0 6px #3dffa866}to{box-shadow:0 0 0 2px var(--color-ok), 0 0 16px #3dffa8cc}}.hand-seat-tap{width:100%;min-width:0;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-content:start;justify-items:center;gap:3px;padding:0;display:grid}.hand-seat:has(>.hand-seat-tap):active{transform:scale(.97)}.hand-seat{transition:border-color .2s,background .2s,transform .15s}.hand-seat.mine{border-color:color-mix(in srgb, var(--color-blue) 55%, transparent)}.hand-seat.mine.turn{border-color:var(--color-gold);box-shadow:0 0 18px #ffd84a2e, inset 0 0 0 1px color-mix(in srgb, var(--color-blue) 45%, transparent)}.hand-seat.offline{background:0 0;border-style:dashed}.hand-seat.offline .hand-seat-pic{filter:grayscale();opacity:.55}.hand-offline{color:var(--color-text-2);font-variant-numeric:tabular-nums}.hand-seat.out .hand-seat-pic{filter:grayscale(.8);opacity:.45}.hand-seat.out .hand-seat-name{color:var(--color-text-2)}.hand-in-place{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--color-text-2);font-size:10px;overflow:hidden}.hand-seat-tap .hand-seat-nums{flex-wrap:wrap;justify-content:center;row-gap:3px}.hand-seat-nums .tier-badge img{border-radius:5px;width:16px;height:16px}.online-hand-menu{gap:8px;display:grid}.online-hand-leave b{color:var(--hand-bad)}.hand-leave{gap:10px;display:grid}.hand-leave-q{text-wrap:balance;margin:0 0 6px;font-size:17px;font-weight:600;line-height:1.7}.cta.ghost.hand-leave-yes{color:var(--hand-bad);border-color:color-mix(in srgb, var(--hand-bad) 45%, transparent)}.hand-seats-wrap{position:relative}.hand-bubbles{grid-template-columns:repeat(var(--n,4), minmax(0, 1fr));pointer-events:none;gap:6px;display:grid;position:absolute;inset:0 16px}.hand-bubble-slot{justify-items:center;display:grid;position:relative}.hand-bubble{border:1px solid var(--edge);width:38px;height:38px;animation:hand-bubble 2s var(--ease-out) forwards;background:#120b30d9;border-radius:50%;place-items:center;font-size:22px;display:grid;position:absolute;top:-8px;box-shadow:0 6px 18px #0006}@keyframes hand-bubble{0%{opacity:0;transform:translateY(8px)scale(.6)}15%{opacity:1;transform:translateY(-4px)scale(1.08)}25%{transform:translateY(-2px)scale(1)}80%{opacity:1;transform:translateY(-10px)scale(1)}to{opacity:0;transform:translateY(-16px)scale(.95)}}@media (prefers-reduced-motion:reduce){.hand-bubble{animation:2s linear forwards hand-bubble-fade}@keyframes hand-bubble-fade{0%,85%{opacity:1}to{opacity:0}}}.hand-turn-row{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px;margin:4px 16px 0;display:grid}.hand-turn-row .hand-turnline{grid-area:1/2;margin:0}.hand-turn-row .hand-emoji{grid-area:1/1}.hand-emoji-line{margin:0 16px;display:flex}.hand-emoji{grid-area:1/1;position:relative}.hand-emoji-btn{border-radius:14px;width:44px;height:44px;font-size:22px}.hand-emoji.open .hand-emoji-btn{border-color:color-mix(in srgb, var(--color-gold) 55%, transparent)}.hand-emoji-row{bottom:calc(100% + 8px);z-index:20;animation:hand-emoji-in .22s var(--ease-spring);transform-origin:100% 100%;background:#120b30eb;border-radius:18px;gap:2px;padding:4px;display:flex;position:absolute;inset-inline-start:0;box-shadow:0 10px 28px #00000073}.hand-emoji-row button{cursor:pointer;background:0 0;border:0;border-radius:14px;width:44px;height:44px;font-size:24px}.hand-emoji-row button:active{background:var(--glass-2);transform:scale(.92)}@keyframes hand-emoji-in{0%{opacity:0;transform:translateY(6px)scale(.9)}}@media (prefers-reduced-motion:reduce){.hand-emoji-row{animation:none}}.hand-idle-warning{border:1px solid color-mix(in srgb, var(--color-amber) 50%, transparent);color:var(--color-amber);text-align:center;text-wrap:balance;background:#ff9f0a24;border-radius:14px;margin:2px 16px;padding:5px 10px;font-size:12px;font-weight:700;line-height:1.5}.hand-out{margin:auto 16px calc(16px + env(safe-area-inset-bottom));text-wrap:balance;border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:16px 14px;font-size:15px;font-weight:700;line-height:1.6;display:flex}.hand-out svg{color:var(--color-text-2);flex:none}.hand-player{text-align:center;justify-items:center;gap:8px;padding:4px 0 12px;display:grid}.hand-player-pic .av{width:88px;height:88px;font-size:34px}.hand-player-line{color:var(--color-text-2);margin:0;font-size:15px;line-height:1.6}.hand-player-actions{gap:10px;display:grid}.hand-player-actions .hint,.hand-player-said,.hand-player-done{text-align:center;margin:0}.hand-player-said.ok{color:var(--color-ok)}.hand-player-link{justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.hand-online-row{border-color:color-mix(in srgb, var(--color-gold) 40%, transparent)}.hand-online-row>svg:first-child{color:var(--color-gold)}.hand-champions{gap:10px;margin-top:8px;display:grid}.hand-champions h2{font-family:var(--font-display);text-align:center;margin:0;font-size:22px}.hand-champions>.hint{text-align:center;margin:-6px 0 4px}.hand-player-back{justify-self:center}.hand-phone .room-notices{margin-inline:16px}.hand-phone~.toast{top:calc(64px + env(safe-area-inset-top))}
