:root{--bg:#fff5f9;--bg-dot:#ffe1ed;--surface:#fff;--surface-2:#fff6fa;--text:#4a1d3a;--muted:#85536f;--border:#f8cfe0;--border-strong:#f3a9c7;--accent:#e84a8a;--accent-strong:#c92f6b;--accent-soft:#ffe4ef;--accent-text:#fff;--gold:#ffcb52;--gold-soft:#fff4cf;--pos:#10875f;--neg:#d92a57;--felt-1:#ffe3ee;--felt-2:#ffc6dc;--felt-text:#4a1d3a;--seat-bg:#ffffffe6;--seat-border:#ffc9dc;--card-bg:#fff;--card-border:#f1c2d4;--red:#e0245e;--black:#2b1830;--shadow-sm:0 2px 5px #c92f6b1f;--shadow:0 10px 26px #c92f6b29;--radius:18px;--font:"Nunito", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-cute:"Baloo 2", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--bow-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M31 31C24 18 8 14 7 25s15 15 24 9Z' fill='%23ff6fa3'/%3E%3Cpath d='M33 31c7-13 23-17 24-6s-15 15-24 9Z' fill='%23ff6fa3'/%3E%3Cpath d='M30 31c-5-7-14-9-15-4s9 7 15 6Z' fill='%23e8336d' opacity='.35'/%3E%3Cpath d='M34 31c5-7 14-9 15-4s-9 7-15 6Z' fill='%23e8336d' opacity='.35'/%3E%3Cpath d='M29 35 21 55l6.5-3L31 57l1-20Z' fill='%23e8336d'/%3E%3Cpath d='m35 35 8 20-6.5-3L33 57l-1-20Z' fill='%23e8336d'/%3E%3Crect x='26' y='26' width='12' height='12' rx='4' fill='%23e8336d'/%3E%3Ccircle cx='15' cy='23' r='2.2' fill='%23fff' opacity='.9'/%3E%3Ccircle cx='49' cy='23' r='2.2' fill='%23fff' opacity='.9'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background-color:var(--bg);background-image:radial-gradient(var(--bg-dot) 2.5px, transparent 3px), radial-gradient(var(--bg-dot) 2.5px, transparent 3px);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;background-position:0 0,20px 20px;background-size:40px 40px;font-size:16px;line-height:1.5}h1,h2,h3,legend{font-family:var(--font-cute);line-height:1.2}button,select,input{font:inherit;color:inherit}button{border:2px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:999px;padding:7px 16px;font-weight:700;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}button:not(.card):not(.deck):hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}button:not(.card):not(.deck):active:not(:disabled){transform:translateY(1px)scale(.98)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:linear-gradient(180deg, #ef5b97, var(--accent-strong));border-color:var(--accent-strong);color:var(--accent-text);font-weight:800;box-shadow:0 3px #a8255a,0 6px 14px #c92f6b47}button.primary:not(.card):hover:not(:disabled){background:linear-gradient(#f46aa2,#d13675);border-color:#d13675}button.primary:not(.card):active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #a8255a,0 3px 8px #c92f6b47}button.primary:disabled{box-shadow:none}button.big{white-space:nowrap;min-width:128px;padding:11px 26px;font-size:18px}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.ghost:not(.card):hover:not(:disabled){border-color:#0000}button.link{color:var(--muted);background:0 0;border:none;border-radius:0;padding:4px 0;font-weight:600;text-decoration:underline}button.link:not(.card):hover:not(:disabled){color:var(--accent-strong);background:0 0}button.chip{padding:5px 14px;font-size:14px}button.chip.on,button.chip.on:not(.card):hover:not(:disabled){background:var(--gold);color:#4a3200;border-color:#f0b429;font-weight:800}select,input[type=text]{border:2px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);border-radius:14px;padding:7px 12px}input[type=text]:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:13px}.ok{color:var(--pos);font-weight:700}.num{font-variant-numeric:tabular-nums;font-weight:700}.pos{color:var(--pos)}.neg{color:var(--neg)}[hidden]{display:none!important}.bow,.logo,.hero-bow{flex:none;display:inline-block}.bow svg,.logo svg,.hero-bow svg{width:100%;height:100%;display:block}header.top{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:3px solid var(--border);background:#ffffffe6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #c92f6b14}.brand{font-family:var(--font-cute);align-items:center;gap:8px;font-size:24px;font-weight:800;line-height:1;display:flex}.brand b{color:var(--accent)}.logo{filter:drop-shadow(0 2px 2px #c92f6b40);width:42px;height:42px}a.brand:hover .logo{animation:.6s ease-in-out wiggle}.tabs{flex-wrap:wrap;gap:6px;display:flex}.pane{max-width:1320px;margin:0 auto;padding:18px 20px 40px}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.field select,.field input{color:var(--text);font-size:15px;font-weight:600}.field.wide{width:100%;max-width:360px}.checks{flex-wrap:wrap;gap:8px 16px;padding-bottom:8px;display:flex}.check{cursor:pointer;align-items:center;gap:7px;font-size:15px;font-weight:600;display:inline-flex}.check input{width:19px;height:19px;accent-color:var(--accent)}.card{--w:46px;width:var(--w);height:calc(var(--w) * 1.4);border-radius:calc(var(--w) * .16);background:var(--card-bg);border:1.5px solid var(--card-border);-webkit-user-select:none;user-select:none;font-family:var(--font-cute);flex:none;padding:0;font-weight:700;transition:transform .14s,box-shadow .14s,border-color .14s;position:relative;overflow:hidden;box-shadow:0 2px #f6cddc,0 3px 8px #c92f6b1f}.card .corner{top:calc(var(--w) * .05);left:calc(var(--w) * .08);font-weight:700;line-height:.92;font-size:calc(var(--w) * .36);letter-spacing:-.04em;flex-direction:column;align-items:center;display:flex;position:absolute}.card .corner .s{font-size:calc(var(--w) * .3)}.card .pip{right:calc(var(--w) * .08);bottom:calc(var(--w) * .02);font-size:calc(var(--w) * .58);line-height:1;position:absolute}.card.xs{--w:26px}.card.xs .pip,.card.sm .pip{display:none}.card.xs .corner,.card.sm .corner{height:100%;font-size:calc(var(--w) * .44);justify-content:center;position:static}.card.xs .corner .s,.card.sm .corner .s{font-size:calc(var(--w) * .4)}.card.sm{--w:32px}.card.md{--w:54px}.card.lg{--w:66px}.card.xl{--w:88px}.card.red{color:var(--red)}.card.black{color:var(--black)}.card.selectable{cursor:pointer}.card.selectable:hover{border-color:var(--accent);transform:translateY(-6px)}.card.selected,.card.selected:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent), 0 8px 18px #c92f6b59;transform:translateY(-18px)}.card.disabled{opacity:.3;filter:grayscale(.3)}.cards-row{vertical-align:middle;flex-wrap:wrap;gap:3px;display:inline-flex}.pass-chip{opacity:.85;white-space:nowrap;border:1.5px dashed;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.backs{padding-left:9px;display:inline-flex}.back{background:radial-gradient(circle,#ffffffe6 1.3px,#0000 1.8px) 0 0/7px 7px,linear-gradient(160deg,#ff8db8,#f2578f);border:2px solid #fff;border-radius:5px;width:20px;height:28px;margin-left:-9px;box-shadow:0 1px 3px #c92f6b59}.card-grid{gap:5px;max-width:620px;margin:6px 0;display:grid}.grid-row{grid-template-columns:repeat(13,minmax(0,1fr));gap:4px;display:grid}.grid-row .card.sm{aspect-ratio:5/7;--w:40px;width:100%;height:auto}.grid-row .card.sm .corner{font-size:clamp(10px,2.8vw,15px)}.grid-row .card.sm .corner .s{font-size:clamp(10px,2.6vw,14px)}.avatar{width:40px;height:40px;font-family:var(--font-cute);background:var(--accent-soft);color:var(--accent-strong);box-shadow:0 0 0 2px var(--border-strong);border:2px solid #fff;border-radius:50%;flex:none;place-items:center;font-size:18px;font-weight:800;display:grid}.avatar.bot{background:#fff;font-size:22px}.count{min-width:36px;height:36px;font-family:var(--font-cute);background:var(--accent-soft);color:var(--accent-strong);font-variant-numeric:tabular-nums;border-radius:12px;flex:none;place-items:center;padding:0 8px;font-size:19px;font-weight:800;display:grid}.count.warn{background:var(--neg);color:#fff;animation:1.2s ease-in-out infinite pulse}.dots{gap:3px;display:inline-flex}.dots i{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1s infinite blink}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,to{opacity:.25}50%{opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glow{0%,to{box-shadow:0 0 0 3px var(--gold), 0 6px 16px #c92f6b59}50%{box-shadow:0 0 0 6px #ffcb528c,0 8px 20px #c92f6b73}}.top-combo{border-radius:var(--radius);border:2px solid var(--seat-border);box-shadow:var(--shadow-sm);background:#fffffff0;flex-direction:column;align-items:center;gap:8px;padding:12px 18px;display:flex;position:relative}.top-combo.chopped{box-shadow:0 0 0 4px #ff7a4538, var(--shadow-sm);border-color:#ff7a45}.top-owner,.top-meta{color:var(--muted);font-size:13px;font-weight:700}.chop{color:#fff;letter-spacing:.04em;background:linear-gradient(#ff8a52,#ec5d17);border-radius:999px;padding:1px 10px;font-size:12px;font-weight:800}.chop.small{padding:0 7px;font-size:11px}.turn{font-family:var(--font-cute);border:2px solid var(--seat-border);box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;padding:6px 18px;font-size:20px;font-weight:800;line-height:1.25}.note{background:var(--gold-soft);color:#5c3d00;border:2px solid #ffd76a;border-radius:14px;padding:5px 12px;font-size:14px;font-weight:700}.hand{justify-content:center;min-height:118px;padding:20px 0 4px 18px;display:flex}.hand .card{margin-left:-18px}.actions,.action-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.results{background:var(--surface);color:var(--text);border:3px solid var(--border);width:min(100%,480px);box-shadow:var(--shadow);border-radius:24px;padding:26px 18px 16px;position:relative}.results:before{content:"";background:var(--bow-img) center / contain no-repeat;width:52px;height:52px;position:absolute;top:-26px;left:50%;transform:translate(-50%)}.results h3{text-align:center;color:var(--accent-strong);margin:0 0 8px;font-size:21px}table.points{border-collapse:collapse;width:100%;font-size:15px}table.points th,table.points td{text-align:left;border-bottom:1.5px dashed var(--border);vertical-align:top;padding:7px 8px}table.points th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:800}table.points td.num{text-align:right;white-space:nowrap}table.points tr.mine td{background:var(--accent-soft)}.rank{width:48px;font-weight:800}.who-name{font-weight:700}.stage{border:2px solid var(--border);background:#ffffff80;border-radius:30px;grid-template:"bar bar bar""top top top""left center right"minmax(190px,1fr)"actions actions actions""mine mine mine"/minmax(160px,1fr) minmax(0,2.4fr) minmax(160px,1fr);gap:8px 16px;min-height:max(640px,100vh - 170px);padding:12px 18px 16px;display:grid;position:relative}.st-bar{grid-area:bar;align-items:center;gap:14px;display:flex}.st-title{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.st-title strong{font-family:var(--font-cute);color:var(--accent-strong);font-size:24px}.st-title span{color:var(--muted);font-size:15px;font-weight:700}.st-tools{align-items:center;gap:10px;display:flex}button.icon-btn{color:#fff;background:linear-gradient(#d59cff,#a45ee8);border:3px solid #fff;border-radius:50%;flex:none;place-items:center;width:54px;height:54px;padding:0;font-size:24px;font-weight:800;line-height:1;display:grid;box-shadow:0 4px #7d3fc4,0 6px 14px #7d3fc459}button.icon-btn:not(.card):hover:not(:disabled){background:linear-gradient(#e0b0ff,#b06ef0);border-color:#fff}button.icon-btn.on{background:linear-gradient(180deg, #ff8fb8, var(--accent-strong));box-shadow:0 4px #a8255a,0 6px 14px #c92f6b4d}button.icon-btn.sort{align-self:center;width:64px;height:64px;font-size:28px}.conn-dot{background:var(--gold);border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 3px #fff}.conn-dot.open{background:#2cc293}.conn-dot.closed{background:var(--neg);animation:1s infinite blink}.pl{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex;position:relative}.pl-top{grid-area:top}.pl-left{grid-area:left;align-self:center}.pl-right{grid-area:right;align-self:center}.pl.offline{opacity:.55}.pl-name{text-overflow:ellipsis;white-space:nowrap;background:#ffffffeb;border-radius:999px;max-width:100%;padding:1px 12px;font-size:15px;font-weight:800;overflow:hidden}.pl-row{align-items:center;gap:10px;display:flex}.pl-avatar{position:relative}.pl-avatar .avatar{width:86px;height:86px;box-shadow:0 0 0 3px var(--border-strong), var(--shadow);border:4px solid #fff;border-radius:24px;font-size:38px}.pl-avatar .avatar.bot{font-size:48px}.pl.active .pl-avatar .avatar{box-shadow:0 0 0 4px var(--accent), 0 0 26px #e84a8a99}.pl.active .pl-avatar:after{content:"";background:var(--bow-img) center / contain no-repeat;width:34px;height:34px;animation:1.4s ease-in-out infinite wiggle;position:absolute;top:-18px;right:-14px}.pl-avatar .dots{box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;padding:3px 7px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.pl-back{place-items:center;display:grid;position:relative}.pl-back .back.big{background:radial-gradient(circle,#ffffffd9 2px,#0000 2.5px) 0 0/10px 10px,linear-gradient(160deg,#ff8db8,#f2578f);width:54px;height:76px}.pl-back b{text-align:center;min-width:34px;font-family:var(--font-cute);color:#fff;background:#a8255ae0;border:2px solid #fff;border-radius:10px;padding:0 6px;font-size:22px;line-height:1.35;position:absolute}.pl-back.warn .back.big{background:linear-gradient(160deg, #ff7a7a, var(--neg));animation:1.2s ease-in-out infinite pulse}.pl-money{font-family:var(--font-cute);color:#8a5a00;background:#ffffffeb;border-radius:999px;padding:0 12px;font-size:19px;font-weight:800;line-height:1.3}.pl-money.pos{color:var(--pos)}.pl-money.neg{color:var(--neg)}.pl-status{background:var(--gold-soft);color:#6b4a00;border:1.5px solid #ffd76a;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:800}.pl-last{max-width:100%}.pl-reveal{--fan:24px;max-width:100%;padding:6px 10px 6px calc(10px + var(--fan));box-shadow:var(--shadow-sm);background:#ffffffe6;border-radius:12px}.cards-row.reveal{gap:6px 0}.cards-row.reveal .card{margin-left:calc(-1 * var(--fan))}.cards-row.reveal .card.group{margin-left:6px}.pl-extra{background:#fffc;border-radius:12px;flex-direction:column;gap:3px;max-width:100%;padding:4px 8px;display:flex}.st-center{text-align:center;flex-direction:column;grid-area:center;justify-content:center;align-items:center;gap:12px;min-height:190px;display:flex}.pile{--spread-x:150px;--spread-y:54px;--gap:30px;width:min(100%,460px);height:210px;position:relative}.pile.single{--spread-x:5px;--spread-y:4px;width:128px;height:140px}.pile-play{position:absolute;inset:0}.pile .pile-card{transform:translate(-50%, -50%) translate(calc(var(--x) * var(--spread-x) + var(--j) * var(--gap) * cos(var(--rot)) + var(--jx)), calc(var(--y) * var(--spread-y) + var(--j) * var(--gap) * sin(var(--rot)) + var(--jy))) rotate(calc(var(--rot) + var(--jr)));margin:0;transition:none;position:absolute;top:50%;left:50%;box-shadow:0 2px #f6cddc,0 4px 10px #4a1d3a38}.pile.chopped .pile-play.latest .pile-card{box-shadow:0 0 0 2px #ff7a45,0 0 14px #ff7a45bf}.fx-layer{z-index:15;pointer-events:none;position:fixed;inset:0;overflow:hidden}.fx-fly{transform-style:preserve-3d;will-change:transform;position:absolute}.fx-fly>*{backface-visibility:hidden;width:100%;height:100%;margin:0;transition:none;position:absolute;inset:0}.fx-fly>.card{box-shadow:0 10px 22px #4a1d3a4d}.fx-back{background:var(--bow-img) center / 50% auto no-repeat, radial-gradient(circle, #ffffffd9 2px, transparent 2.5px) 0 0 / 10px 10px, linear-gradient(160deg, #ff8db8, #f2578f);border:3px solid #fff;border-radius:16%/11.4%;transform:rotateY(180deg);box-shadow:0 10px 22px #c92f6b59}.fx-wait{visibility:hidden!important}.hand .card.fresh{animation:fresh 2s ease-in var(--age,0s) both}@keyframes fresh{0%,55%{outline:3px solid var(--gold);outline-offset:1px;translate:0 -16px}to{outline-offset:1px;outline:3px solid #0000;translate:0}}.pile-caption{z-index:60;white-space:nowrap;color:var(--muted);box-shadow:var(--shadow-sm);background:#ffffffeb;border-radius:999px;align-items:center;gap:6px;padding:2px 12px;font-size:13px;font-weight:700;display:flex;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.played-by{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.st-actions{grid-area:actions;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px;min-height:58px;display:grid}.st-actions .action-bar{grid-column:2}.st-mine-extra{background:#fffc;border-radius:12px;flex-direction:column;grid-area:1/1;justify-self:start;gap:3px;padding:4px 8px;display:flex}.st-actions button.big{min-width:160px;padding:12px 32px;font-size:21px}.st-mine{grid-area:mine;align-items:flex-end;gap:14px;display:flex}.pl-me{flex:none}.st-hand{flex:1;justify-content:center;min-width:0;display:flex}.st-hand .hand{min-height:150px;padding:28px 0 4px 28px}.st-hand .hand .card{margin-left:-28px}.stage.my-turn .st-hand .hand .card.selectable:not(.selected){box-shadow:0 2px #f6cddc,0 4px 12px #c92f6b33}.st-overlay{z-index:4;border-radius:inherit;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fff0f699;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.st-result,.st-menu{background:var(--surface);border:3px solid var(--border);width:min(100%,540px);max-height:100%;box-shadow:var(--shadow);border-radius:24px;flex-direction:column;gap:12px;padding:26px 18px 16px;display:flex;position:relative;overflow-y:auto}.st-result>.actions{justify-content:center}.st-result h3{text-align:center;color:var(--accent-strong);margin:0}.st-result .results{width:100%;box-shadow:none;border:none;padding:0}.st-result .results:before{display:none}.st-menu{width:min(100%,380px);padding-top:16px}.menu-list{flex-direction:column;gap:10px;display:flex}.menu-list .link{align-self:flex-start}.st-result-box{background:var(--surface);border:3px solid var(--border);width:min(100%,540px);box-shadow:var(--shadow);border-radius:22px}.st-result-box>summary{cursor:pointer;font-family:var(--font-cute);color:var(--accent-strong);justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:17px;font-weight:800;list-style:none;display:flex}.st-result-box>summary::-webkit-details-marker{display:none}.st-result-box>summary:after{content:"▾ thu gọn";font-family:var(--font);color:var(--muted);font-size:12px;font-weight:700}.st-result-box:not([open]){width:auto}.st-result-box:not([open])>summary:after{content:"▴ mở"}.st-result-box .results{box-shadow:none;border:none;width:100%;padding:0 14px 12px}.st-result-box .results:before,.st-result-box .results h3{display:none}.st-center:has(.st-result-box[open]) :is(.pile,.deck-row){display:none}.stage.dealing .st-result-box{animation:result-in .3s ease-out calc(2.3s + var(--t,0s)) both}@keyframes result-in{0%{opacity:0;transform:scale(.95)}}.room-wait{text-align:center;padding:48px 16px}.discard{border:2px dashed var(--seat-border);background:#ffffff8c;border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:2px 10px 8px;display:flex}button.discard.can-eat{cursor:pointer;border-color:var(--gold);animation:1.4s ease-in-out infinite glow}button.discard.can-eat:not(.card):hover:not(:disabled){border-color:var(--gold);background:#fff}.discard.empty .slot{border:2px dashed var(--seat-border);background:#ffffff80;border-radius:14px;width:88px;height:123px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.discard .played-by .card{flex:none}button.eat-btn .card{box-shadow:none;margin-left:4px}.st-deal{z-index:3;pointer-events:none;border-radius:inherit;animation:deal-out .3s ease-in calc(2.2s + var(--t,0s)) both;position:absolute;inset:0;overflow:hidden}@keyframes deal-out{to{opacity:0;visibility:hidden}}.st-deal .shuffle{width:72px;height:102px;margin:-51px 0 0 -36px;position:absolute;top:46%;left:50%}.st-deal .sc,.st-deal .fly{background:radial-gradient(circle,#ffffffd9 2px,#0000 2.5px) 0 0/10px 10px,linear-gradient(160deg,#ff8db8,#f2578f);border:3px solid #fff;border-radius:9px;position:absolute;box-shadow:0 3px 8px #c92f6b59}.st-deal .sc{inset:0}.st-deal .sc.l{animation:shuf-l .25s ease-in-out calc(var(--k) * 14ms + var(--t,0s)) 4 alternate both}.st-deal .sc.r{animation:shuf-r .25s ease-in-out calc(var(--k) * 14ms + var(--t,0s)) 4 alternate both}@keyframes shuf-l{to{transform:translate(-70px,-10px)rotate(-18deg)}}@keyframes shuf-r{to{transform:translate(70px,-10px)rotate(18deg)}}.st-deal .fly{opacity:0;width:46px;height:64px;animation:fly .4s ease-out calc(1s + var(--n) * 55ms + var(--t,0s)) both;margin:-32px 0 0 -23px;top:46%;left:50%}.st-deal .fly.s0{--x:50%;--y:90%;--r:-6deg}.st-deal .fly.s1{--x:88%;--y:50%;--r:80deg}.st-deal .fly.s2{--x:50%;--y:24%;--r:186deg}.st-deal .fly.s3{--x:12%;--y:50%;--r:-80deg}@keyframes fly{0%{opacity:1;top:46%;left:50%;transform:rotate(0)scale(1)}80%{opacity:1}to{opacity:0;left:var(--x);top:var(--y);transform:rotate(var(--r)) scale(.75)}}.stage.dealing .st-hand .card{animation:card-in .3s ease-out calc(1.45s + var(--i,0) * 40ms + var(--t,0s)) both}@keyframes card-in{0%{opacity:0;transform:translateY(-90px)rotate(-10deg)scale(.6)}}.panel,.card-panel{background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow-sm);border-radius:20px;padding:12px 16px}.card-panel{margin:14px 0}.card-panel h3{color:var(--accent-strong);margin:0 0 8px}.panel-title{font-family:var(--font-cute);color:var(--accent-strong);margin-bottom:8px;font-size:17px;font-weight:800}.thoughts{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.thought{text-align:left;border:1.5px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-weight:600;display:flex}.thought.chosen{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 4px 0 0 var(--accent)}.t-move{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.t-kind{color:var(--muted);font-size:12px}.t-val{flex:none;align-items:center;gap:8px;display:flex}.bar{background:var(--accent-soft);border-radius:4px;width:64px;height:8px;position:relative;overflow:hidden}.bar:after{content:"";background:var(--muted);opacity:.6;width:1px;position:absolute;top:0;bottom:0;left:50%}.fill{position:absolute;top:0;bottom:0}.fill.pos{background:var(--pos)}.fill.neg{background:var(--neg)}.t-val .num{text-align:right;min-width:58px}.log{flex-direction:column;gap:2px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.log li{border-bottom:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:3px 2px;display:flex}.log li:last-child{border-bottom:none}.log-row{text-align:left;background:0 0;border:none;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:3px 4px;font-weight:600;display:flex}.who{min-width:104px;font-size:14px;font-weight:800}.lobby{background:var(--surface);border:3px solid var(--border);max-width:560px;box-shadow:var(--shadow);border-radius:28px;flex-direction:column;gap:16px;margin:40px auto 24px;padding:30px 24px 24px;display:flex;position:relative}.lobby:before{content:"";background:var(--bow-img) center / contain no-repeat;width:60px;height:60px;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.lobby h2{text-align:center;color:var(--accent-strong);margin:0}.join{gap:8px;display:flex}.join input{text-transform:uppercase;letter-spacing:.12em;flex:1;min-width:0;font-weight:800}.join input::placeholder{text-transform:none;letter-spacing:normal;font-weight:600}.advisor-setup,.advisor-play{flex-direction:column;gap:14px;max-width:860px;display:flex}.advisor-setup h2{color:var(--accent-strong);margin:0}.quick{flex-wrap:wrap;gap:8px;display:flex}.quick input{flex:240px;min-width:0}fieldset{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:10px;padding:12px 14px;display:flex}legend{color:var(--accent-strong);padding:0 6px;font-weight:800}.radios{flex-wrap:wrap;gap:8px 18px;display:flex}.adv-seats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.adv-seat{background:var(--surface);border:2px solid var(--border);border-radius:14px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.adv-seat .count{width:-moz-fit-content;width:fit-content;height:26px;font-size:14px}.adv-seat.active{border-color:var(--accent);box-shadow:0 0 0 3px #e84a8a33}.adv-seat .badge{background:var(--accent-soft);border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:12px;font-weight:700}.board.adv{text-align:center;background:radial-gradient(circle, #fff9 2.5px, transparent 3px) 0 0 / 30px 30px, linear-gradient(165deg, var(--felt-1), var(--felt-2));color:var(--felt-text);box-shadow:0 0 0 2px var(--border-strong);border:3px solid #fff;border-radius:22px;place-items:center;gap:8px;min-height:130px;padding:16px;display:grid}.bot-call{border:2px solid var(--accent);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;font-weight:700;display:flex}.my-input,.opp-input{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.my-input .hand{justify-content:flex-start}.quick-move{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.chop-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toast{opacity:0;background:var(--text);color:#fff;pointer-events:none;z-index:20;max-width:calc(100vw - 32px);box-shadow:var(--shadow);border:3px solid #fff;border-radius:999px;padding:11px 20px;font-weight:700;transition:all .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.toast.error{background:var(--accent-strong)}a.brand{color:inherit;text-decoration:none}.tabs a,.subtabs a{color:var(--muted);white-space:nowrap;border:2px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-weight:700;text-decoration:none;display:inline-flex}.tabs a:hover,.subtabs a:hover{background:var(--accent-soft)}.tabs a.on,.subtabs a.on{background:var(--accent-soft);border-color:var(--border-strong);color:var(--accent-strong);font-weight:800}.tab-icon{font-size:17px;line-height:1}.game-pane{padding-top:8px}.game-pane>.pane{padding:0}.game-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:4px 0 14px;display:flex}.game-head h1{display:none}.game-head{justify-content:flex-end}.subtabs{flex-wrap:wrap;gap:6px;display:flex}.home{max-width:1080px;margin:0 auto}.hero{text-align:center;padding:22px 12px 20px}.hero-bow{filter:drop-shadow(0 4px 4px #c92f6b40);width:92px;height:92px;animation:3s ease-in-out infinite bob}.hero h1{color:var(--accent-strong);margin:2px 0 10px;font-size:clamp(30px,5vw,46px)}.hero p{max-width:680px;margin:0 auto;font-weight:600}.game-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.game-card{background:var(--surface);border:3px solid var(--border);color:var(--text);box-shadow:var(--shadow);border-radius:28px;flex-direction:column;gap:6px;padding:26px 22px 20px;text-decoration:none;transition:transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.game-card:before{content:"";background:linear-gradient(90deg,#ff8db8,#ffc2d9);height:10px;position:absolute;inset:0 0 auto}.game-card.c1:before{background:linear-gradient(90deg,#b39cff,#ddd1ff)}.game-card.c2:before{background:linear-gradient(90deg,#6fd3b4,#c1efe0)}.game-card:hover{border-color:var(--border-strong);transform:translateY(-4px)rotate(-.4deg)}.game-card.soon{opacity:.6}.game-card strong{font-family:var(--font-cute);margin-top:6px;font-size:23px;line-height:1.2}.game-icon{background:var(--accent-soft);width:62px;height:62px;color:var(--accent-strong);box-shadow:0 0 0 2px var(--border-strong);border:3px solid #fff;border-radius:50%;place-items:center;font-size:34px;line-height:1;display:grid}.game-card.c1 .game-icon{color:#6a4fd6;background:#efe9ff;box-shadow:0 0 0 2px #cdbfff}.game-card.c2 .game-icon{color:#13865f;background:#e3f8f1;box-shadow:0 0 0 2px #a7e6d2}.go{color:#fff;background:var(--accent-strong);border-radius:999px;align-self:flex-start;margin-top:10px;padding:4px 16px;font-weight:800}.game-card.c1 .go{background:#6a4fd6}.game-card.c2 .go{background:#13865f}.badge-soon{background:var(--accent-soft);border-radius:999px;align-self:flex-start;margin-top:8px;padding:2px 10px;font-size:12px}.card .caption{font-family:var(--font);text-align:center;color:#fff;background:#4a1d3ad9;font-size:10px;font-weight:800;line-height:1.5;position:absolute;bottom:0;left:0;right:0}.card.mark-eaten{box-shadow:0 0 0 2.5px var(--gold), var(--shadow-sm)}.card.mark-meld{box-shadow:inset 0 -5px 0 #2cc293, var(--shadow-sm)}.card.selected.mark-eaten,.card.selected.mark-meld{box-shadow:0 0 0 3px var(--accent), 0 8px 18px #c92f6b59}.phom-row{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.row-label{color:var(--muted);min-width:56px;font-size:11px;font-weight:700}.cards-row.discards .card{margin-right:-10px}.deck-row{align-items:center;gap:22px;display:flex}.deck{--deck-w:84px;place-items:center;display:inline-grid;position:relative}.deck:before{content:"";width:var(--deck-w);height:calc(var(--deck-w) * 1.4);background:#f7a8c6;border:3px solid #fff;border-radius:12px;position:absolute;transform:translate(5px,4px)rotate(5deg);box-shadow:0 2px 6px #c92f6b4d}button.deck{cursor:pointer;background:0 0;border:none;border-radius:10px;padding:0}.back.big{background:var(--bow-img) center / 30px 30px no-repeat, radial-gradient(circle, #ffffffd9 2px, transparent 2.5px) 0 0 / 10px 10px, linear-gradient(160deg, #ff8db8, #f2578f);border-width:3px;border-radius:8px;width:50px;height:70px;margin:0;transition:transform .15s;position:relative}.deck .back.big{width:var(--deck-w);height:calc(var(--deck-w) * 1.4);background-size:50%,10px 10px,auto;border-radius:12px}.deck.can-draw .back.big{animation:1.4s ease-in-out infinite glow}.deck.can-draw:hover .back.big{transform:translateY(-5px)rotate(-3deg)}.deck b{text-align:center;background:var(--accent-strong);color:#fff;border:2px solid #fff;border-radius:999px;min-width:32px;padding:0 8px;font-size:16px;line-height:1.5;position:absolute;bottom:-10px;right:-14px}.center-text{text-align:center}.acct{align-items:center;gap:8px;min-height:36px;margin-left:auto;display:flex}.acct-avatar{object-fit:cover;width:30px;height:30px;box-shadow:0 0 0 2px var(--border-strong);border:2px solid #fff;border-radius:50%;flex:none;place-items:center;display:inline-grid}.acct-avatar.letter{background:var(--accent);color:var(--accent-text);font-size:14px;font-weight:800}.acct-menu{position:relative}.acct-menu summary{cursor:pointer;border-radius:50%;list-style:none;display:flex}.acct-menu summary::-webkit-details-marker{display:none}.acct-pop{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow);z-index:10;flex-direction:column;gap:8px;padding:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.acct-card{background:var(--surface);border:3px solid var(--border);box-shadow:var(--shadow-sm);border-radius:24px;flex-wrap:wrap;align-items:center;gap:16px;padding:18px 20px;display:flex}.acct-card h2{color:var(--accent-strong);margin:0 0 4px;font-size:19px}.acct-card p{margin:0}.acct-card .acct-avatar{width:50px;height:50px;font-size:20px}.acct-card .grow{flex:260px;min-width:0}.acct-card-balance{flex-direction:column;align-items:flex-end;display:flex}.acct-card-balance strong{font-family:var(--font-cute);font-variant-numeric:tabular-nums;color:var(--accent-strong);font-size:26px}.wallet-chip{background:linear-gradient(180deg, #fffbe8, var(--gold-soft));height:38px;box-shadow:0 2px 0 #f0c040, var(--shadow-sm);color:#6b4500;white-space:nowrap;border:2px solid #ffd76a;border-radius:999px;align-items:center;gap:6px;padding:0 14px 0 5px;display:inline-flex}.wallet-chip .coin{background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:16px;line-height:1;display:grid;box-shadow:inset 0 0 0 2px #ffe08a}.wallet-chip b{font-family:var(--font-cute);font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.wallet-chip.admin b{font-size:26px;line-height:1}button.spin-btn{border-color:var(--border-strong);white-space:nowrap;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 16px 0 10px;font-weight:800;display:inline-flex;position:relative}button.spin-btn.has,button.spin-btn.has:not(.card):hover:not(:disabled){background:var(--gold);color:#3a2a00;border-color:#f0b429}.spin-ico{flex:none;width:22px;height:22px;display:inline-block}.spin-ico svg,.fab-icon svg{width:100%;height:100%;display:block}button.spin-cta{justify-content:center;align-items:center;gap:8px;display:inline-flex}.wheel-fab{z-index:30;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:20px;right:16px}.wheel-fab>*{pointer-events:auto}button.fab-btn,button.fab-btn:not(.card):hover:not(:disabled){background:var(--surface);border:2px solid var(--border-strong);border-radius:50%;place-items:center;width:56px;height:56px;padding:0;display:grid;position:relative;box-shadow:0 10px 24px #c92f6b47}button.fab-btn:not(.card):hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.fab-icon{width:36px;height:36px;display:block}.fab-dot{background:var(--neg);border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:2px;right:2px}button.fab-btn.has .wi-rotor{transform-origin:16px 17px;animation:5s cubic-bezier(.3,.1,.25,1) infinite wi-spin}@keyframes wi-spin{0%{transform:rotate(0)}28%,to{transform:rotate(360deg)}}.fab-teaser{background:var(--surface);border:2px solid var(--border);border-radius:18px 18px 4px;max-width:250px;padding:10px 34px 10px 14px;font-size:14px;animation:.3s ease-out pop-in;position:relative;box-shadow:0 10px 24px #c92f6b2e}button.fab-teaser-text,button.fab-teaser-text:not(.card):hover:not(:disabled){height:auto;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;padding:0;font-weight:600;line-height:1.4;display:block}button.fab-teaser-x,button.fab-teaser-x:not(.card):hover:not(:disabled){width:24px;height:24px;color:var(--muted);background:0 0;border:0;padding:0;font-size:12px;position:absolute;top:5px;right:5px}body:has(main:not([hidden]) .pane:not([hidden]) .stage) .wheel-fab{display:none}body:has(main.game-pane:not([hidden])) .fab-teaser{display:none}.home,.lobby-wrap{padding-bottom:72px}@media (min-width:768px){.wheel-fab{bottom:32px;right:24px}}.admin-tag{background:var(--accent);color:#fff;vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px}.acct-card-wrap{margin:0 0 22px}.login-gate{text-align:center;background:var(--surface);border:3px solid var(--border);max-width:520px;box-shadow:var(--shadow);border-radius:28px;flex-direction:column;align-items:center;gap:10px;margin:40px auto 24px;padding:36px 24px 22px;display:flex;position:relative}.gate-bow{filter:drop-shadow(0 3px 3px #c92f6b40);width:64px;height:64px;position:absolute;top:-32px}.gate-bow svg{width:100%;height:100%}.login-gate h2{color:var(--accent-strong);margin:0;font-size:26px}.login-gate p{margin:0}.perks{text-align:left;gap:8px;margin:6px 0 8px;padding:0;list-style:none;display:grid}.perks li{background:var(--surface-2);border:2px dashed var(--border);border-radius:14px;padding:8px 14px}.login-gate .g-btn{justify-content:center;min-height:44px;display:flex}.acct-card-wrap .login-gate{margin:30px auto 0}.modal.modal-login .login-gate{box-shadow:none;border:0;margin:26px 0 0;padding:30px 4px 4px}body.modal-open{overflow:hidden}.modal-back{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#4a1d3a61;place-items:center;padding:16px;animation:.18s ease-out fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:3px solid var(--border);border-radius:28px;width:min(100%,520px);max-height:calc(100dvh - 32px);padding:22px 20px 20px;animation:.22s cubic-bezier(.2,.9,.3,1.2) pop-in;position:relative;overflow-y:auto;box-shadow:0 20px 50px #4a1d3a4d}button.modal-x{z-index:3;width:36px;height:36px;padding:0;position:absolute;top:10px;right:10px}.modal h2{text-align:center;color:var(--accent-strong);margin:0 0 4px}@keyframes pop-in{0%{opacity:0;transform:scale(.92)}}@keyframes fade-in{0%{opacity:0}}.modal.modal-wheel{width:min(100%,430px);overflow-x:hidden}.wheel-box{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.wheel-box>p{margin:0}.wheel{aspect-ratio:1;width:min(76vw,330px);margin:22px auto 6px;position:relative}.wheel-ring{filter:drop-shadow(0 8px 14px #c92f6b4d);width:100%;height:100%;position:absolute;inset:0}.wheel-rotor{will-change:transform;border-radius:50%;position:absolute;inset:7.5%}.wheel-face{width:100%;height:100%;display:block}.slot-amount{font-family:var(--font-cute);font-weight:800}.slot-unit{opacity:.85;font-size:10px;font-weight:700}.slot-star{font-size:15px}.slot.win path{animation:.5s ease-in-out 6 alternate slot-win}@keyframes slot-win{to{filter:brightness(1.3)saturate(1.4)}}.bulb{fill:#fff6c8}.bulb.b{fill:#ffcb52}.wheel.ready .bulb{animation:1.2s step-end infinite bulb}.wheel.spinning .bulb{animation:.24s step-end infinite bulb}.wheel.ready .bulb.b{animation-delay:-.6s}.wheel.spinning .bulb.b{animation-delay:-.12s}@keyframes bulb{0%{fill:#fff6c8}50%{fill:#ffcb52}}.wheel-pointer{z-index:2;transform-origin:50% 32%;filter:drop-shadow(0 3px 3px #4a1d3a59);width:13%;margin-left:-6.5%;position:absolute;top:-5%;left:50%}.wheel-pointer svg{width:100%;display:block}button.wheel-go,button.wheel-go:not(.card):hover:not(:disabled){z-index:2;background:radial-gradient(circle at 50% 30%, #ff8db8, var(--accent-strong));color:#fff;width:26%;height:26%;font-family:var(--font-cute);border:4px solid #fff;border-radius:50%;margin:-13% 0 0 -13%;padding:0;font-size:clamp(16px,4.8vw,22px);font-weight:800;line-height:1.05;position:absolute;top:50%;left:50%;box-shadow:0 4px #a8255a,0 8px 18px #c92f6b66}button.wheel-go:disabled{opacity:1;background:radial-gradient(circle at 50% 30%,#f6cfdf,#d996b3);font-size:clamp(11px,3.3vw,14px);box-shadow:0 3px #b87a95}.wheel.ready .wheel-go{animation:1.4s ease-in-out infinite go-pulse}@keyframes go-pulse{50%{box-shadow:0 4px #a8255a,0 0 0 10px #e84a8a33,0 8px 18px #c92f6b66}}.wheel-status{flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:54px;display:flex}.wheel-win{font-family:var(--font-cute);color:var(--accent-strong);font-size:24px;font-weight:800;animation:.4s cubic-bezier(.2,.9,.3,1.5) pop-in}.wheel-win.jackpot{color:#c2410c;font-size:28px}.wheel-odds{width:100%;max-width:330px}.wheel-odds summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:700}.wheel-odds ul{background:var(--surface-2);text-align:left;border-radius:14px;grid-template-columns:1fr 1fr;gap:4px 18px;margin:6px 0 0;padding:8px 14px;font-size:13px;list-style:none;display:grid}.wheel-odds li{justify-content:space-between;gap:8px;display:flex}.wheel-odds li.top b{color:#c2410c}.wheel-fx{z-index:3;pointer-events:none;width:0;height:0;position:absolute;top:44%;left:50%}.confetti{border-radius:2px;width:8px;height:14px;position:absolute;top:-7px;left:-4px}.confetti.round{border-radius:50%;width:10px;height:10px;top:-5px;left:-5px}.setup{flex-direction:column;gap:12px;display:flex}.setup-row{flex-direction:column;gap:6px;display:flex}.setup-row>.row-label{text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:800}.opts{flex-wrap:wrap;gap:8px;display:flex}button.opt{border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:44px;padding:6px 16px;font-weight:800;line-height:1.15;display:inline-flex}button.opt small{color:var(--muted);font-size:11px;font-weight:700}button.opt.on,button.opt.on:not(.card):hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent)}button.opt.on small{color:var(--accent-strong)}.setup-hint,.setup-explain{margin:-4px 0 0}.setup-need{text-align:center;margin:0;font-size:14px}.setup-broke{text-align:center;background:#fff1f4;border:2px solid #ffc2cf;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:12px 14px;display:flex}.setup-broke p{margin:0}.setup-go{justify-content:center;display:flex}.setup-go button{min-width:210px}.setup-box>p,.lobby>p.center{text-align:center;margin:-8px 0 8px}.room-config h3{text-align:center;color:var(--accent-strong);margin:0 0 8px}.lobby-wrap{max-width:560px;margin:0 auto}a.back-home{background:var(--surface);border:2px solid var(--border);color:var(--accent-strong);border-radius:999px;align-items:center;margin-top:4px;padding:6px 16px;font-weight:800;text-decoration:none;display:inline-flex}a.back-home:hover{border-color:var(--accent);background:var(--accent-soft)}.lobby-wrap .lobby{margin-top:48px}.lobby-wrap .lobby:before{content:none}.lobby-icon{background:var(--accent-soft);width:66px;height:66px;color:var(--accent-strong);box-shadow:0 0 0 2px var(--border-strong), var(--shadow-sm);border:3px solid #fff;border-radius:50%;place-items:center;margin-left:-33px;font-size:34px;line-height:1;display:grid;position:absolute;top:-34px;left:50%}.lobby.phom .lobby-icon{color:#6a4fd6;box-shadow:0 0 0 2px #cdbfff, var(--shadow-sm);background:#efe9ff}.lobby.samloc .lobby-icon{color:#13865f;box-shadow:0 0 0 2px #a7e6d2, var(--shadow-sm);background:#e3f8f1}.lobby-wrap .login-gate{margin-top:48px}.invite{flex-direction:column;gap:10px;display:flex}.invite h3{text-align:center;color:var(--accent-strong);margin:0}.invite>p{text-align:center;margin:0}.invite-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.invite-row .qr{width:132px}.invite-link{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.invite-link p{margin:0}.invite-link code{letter-spacing:.08em;color:var(--accent-strong);font-size:18px;font-weight:800}.invite-seats{grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;list-style:none;display:grid}.invite-seats li{background:var(--surface-2);border:2px solid var(--border);border-radius:12px;flex-direction:column;padding:6px 10px;font-size:13px;display:flex}.invite-seats li span{color:var(--muted);font-size:11px;font-weight:700}.invite-seats li.in{background:#effbf6;border-color:#9be0c4}.invite-seats li.wait b{color:var(--muted);font-style:italic}.qr{aspect-ratio:1;border:2px solid var(--border);background:#fff;border-radius:16px;padding:6px}.qr svg{width:100%;height:100%;display:block}.qr svg path{fill:var(--text)}.qr-empty{color:var(--muted);text-align:center;border-style:dashed;place-items:center;padding:12px;font-size:12px;display:grid}.donate-card{background:var(--surface);border:3px solid var(--border);box-shadow:var(--shadow-sm);border-radius:24px;align-items:center;gap:20px;margin:26px 0 8px;padding:20px 22px;display:flex}.donate-text{flex-direction:column;flex:260px;gap:6px;min-width:0;display:flex}.donate-text h2{color:var(--accent-strong);text-align:left;margin:0;font-size:20px}.donate-text p{margin:0}.donate-card .qr{flex:none;width:168px}.copy-rows{flex-direction:column;gap:4px;margin-top:4px;display:flex}.copy-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.copy-row b{font-variant-numeric:tabular-nums;letter-spacing:.04em}.modal.modal-donate .donate-card{box-shadow:none;border:0;flex-wrap:wrap;justify-content:center;margin:0;padding:8px 0 0}.oop{text-align:center;flex-direction:column;gap:10px;display:flex}.oop p{margin:0}.oop .actions{justify-content:center}@media (max-width:720px){header.top{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:6px 12px;display:grid}.tabs,.subtabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.subtabs::-webkit-scrollbar{display:none}.tabs{order:3;grid-column:1/-1;margin:0 -4px}.game-head{flex-flow:column;align-items:stretch}.brand{font-size:21px}.logo{width:36px;height:36px}.tab-label{font-size:13px}.tabs a{padding:5px 10px}.pane{padding:12px 12px 32px}.avatar{width:32px;height:32px;font-size:15px}.avatar.bot{font-size:18px}.count{min-width:30px;height:30px;font-size:16px}.turn{padding:5px 14px;font-size:17px}.card.lg{--w:48px}.card.md{--w:44px}.pl-reveal{--fan:20px}.stage{border-radius:22px;grid-template:"bar bar""top top""left right""center center"minmax(130px,auto)"actions actions""mine mine"/minmax(0,1fr) minmax(0,1fr);gap:6px 8px;min-height:0;padding:8px 8px 10px}.st-title strong{font-size:18px}.st-title span{font-size:12px}button.icon-btn{width:42px;height:42px;font-size:19px}button.icon-btn.sort{width:44px;height:44px;font-size:20px}.pl-avatar .avatar{border-width:3px;border-radius:16px;width:52px;height:52px;font-size:24px}.pl-avatar .avatar.bot{font-size:30px}.pl-back .back.big{width:34px;height:48px}.pl-back b{min-width:26px;font-size:15px}.pl-name{font-size:13px}.pl-money{font-size:15px}.st-center{min-height:130px}.st-actions{grid-template-columns:minmax(0,1fr)}.st-actions .action-bar{grid-column:1}.st-mine-extra{grid-row:auto}.st-actions button.big{min-width:0;padding:10px 16px;font-size:18px}.st-mine{flex-wrap:wrap;align-items:center;gap:6px}.pl-me{flex-direction:row;gap:8px}.pl-me .pl-avatar .avatar{border-radius:12px;width:40px;height:40px;font-size:18px}button.icon-btn.sort{margin-left:auto}.st-hand{flex-basis:100%;order:3}.st-hand .hand{--w-hand:50px;--step:clamp(17px, calc((100vw - 52px - var(--w-hand)) / 12), 40px);padding:22px 0 2px calc(var(--w-hand) - var(--step));min-height:96px}.st-hand .hand .card.xl{--w:var(--w-hand);margin-left:calc(var(--step) - var(--w-hand))}.pile{--spread-x:80px;--spread-y:30px;--gap:24px;height:150px}.deck{--deck-w:66px}.pile.single{width:108px;height:118px}.discard .card.xl{--w:72px}.discard.empty .slot{width:72px;height:101px}.st-deal .fly.s1{--x:75%;--y:34%}.st-deal .fly.s2{--x:50%;--y:18%}.st-deal .fly.s3{--x:25%;--y:34%}.stage.phom .st-hand .hand{--step:clamp(17px, calc((100vw - 52px - var(--w-hand)) / 9), 46px)}button.big{flex:1;min-width:0;padding:10px 16px;font-size:17px}.adv-seats,.seat-config{grid-template-columns:repeat(2,minmax(0,1fr))}.who{min-width:0}.acct-card{padding:14px 16px}.wallet-chip{height:34px;padding-right:11px}.wallet-chip .coin{width:24px;height:24px;font-size:14px}.wallet-chip b{font-size:15px}button.spin-btn{min-width:34px;height:34px}.acct{gap:6px}.donate-card{text-align:center;flex-direction:column}.donate-text h2{text-align:center}.copy-row{justify-content:center}.acct-card-balance{align-items:flex-start}.hero-bow{width:72px;height:72px}}@media (max-width:420px){.brand-text{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}.pl.active .pl-avatar:after,.pl-back.warn .back.big,.deck.can-draw .back.big,button.discard.can-eat,.count.warn,.dots i,.conn-dot.closed,.hero-bow,a.brand:hover .logo,button.fab-btn.has .wi-rotor,.wheel.ready .bulb,.wheel.ready .wheel-go{animation:none!important}}
