.mjs{--st-gold:#d97706;--st-gold-strong:#b45309;--st-gold-soft:#fdf0dd;--st-tw:56px;--st-th:78.4px;user-select:none}.mjs .cjk{font-family:"Noto Serif SC",Songti SC,serif}.mjs .mods{display:flex;flex-direction:column;align-items:center;gap:14px}.mjs .mod{width:100%}.mjs .toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.mjs .vtgl{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.mjs .vtgl:hover{border-color:var(--line-strong);color:var(--fg)}.mjs .vtgl.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.mjs .vtgl:disabled{opacity:.35;cursor:default}.mjs .vtgl.danger:hover{background:#f3e2e2;border-color:var(--danger);color:var(--danger)}.mjs details.export{position:relative}.mjs details.export summary{list-style:none;display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 14px;border-radius:8px;background:var(--accent);color:#fff;font-size:13.5px;font-weight:600;cursor:pointer}.mjs details.export summary::-webkit-details-marker{display:none}.mjs details.export .menu{position:absolute;right:0;top:38px;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 30px -12px #20201d40;padding:5px;min-width:200px;z-index:60}.mjs details.export .menu button{display:flex;width:100%;align-items:center;gap:9px;border:none;background:none;font:inherit;font-size:13px;color:var(--fg);padding:9px 11px;border-radius:6px;cursor:pointer;text-align:left}.mjs details.export .menu button:hover{background:var(--surface-muted)}.mjs .table{border-radius:14px;padding:26px 30px 22px;display:flex;flex-direction:column;gap:18px;align-items:center;background:radial-gradient(circle at 50% 20%,#2e7d54,#1e5c3d 85%);box-shadow:inset 0 0 0 1px #ffffff14,0 14px 34px -18px #1e5c3d8c}.mjs .rowwrap{display:flex;flex-direction:column;align-items:center;gap:7px;align-self:stretch}.mjs .rowlab{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#ffffff8c}.mjs .trow{display:flex;align-items:flex-end;gap:4px;min-height:calc(var(--st-th) + 18px);flex-wrap:wrap;justify-content:center;position:relative;padding-top:14px}.mjs .tile{width:var(--st-tw);position:relative;flex:none;cursor:grab;z-index:0}.mjs .tile svg{display:block;width:var(--st-tw);height:var(--st-th);filter:drop-shadow(0 3px 5px rgba(0,0,0,.35));pointer-events:none}.mjs .tile.rot{width:var(--st-th);height:var(--st-tw)}.mjs .tile.rot svg{position:absolute;left:calc((var(--st-th) - var(--st-tw))/2);top:calc((var(--st-tw) - var(--st-th))/2);transform:rotate(90deg)}.mjs .tile.sel{z-index:5}.mjs .tile.sel:after{content:"";position:absolute;inset:-3px;border:2.5px solid #fff;border-radius:8px;box-shadow:0 0 0 1.5px #0000004d;pointer-events:none}.mjs .tile.win:before{content:"";position:absolute;inset:-3px;border:2.5px solid var(--st-gold);border-radius:8px;pointer-events:none}.mjs .tile.dragging{opacity:.3}.mjs.t3d .trow .tile:not(.rot) svg{filter:drop-shadow(-2px -2px 0 #efece2) drop-shadow(-2px -2px 0 #d8d2c0) drop-shadow(0 4px 5px rgba(0,0,0,.4))}.mjs .meldgrp{display:flex;gap:3px;align-items:flex-end}.mjs .gapw{width:16px;flex:none}.mjs .sp{width:20px;height:var(--st-th);flex:none;cursor:grab;border-radius:6px;position:relative}.mjs .sp.sel:after{content:"";position:absolute;inset:0;border:2px solid #fff;border-radius:6px}.mjs .sp:hover{background:#ffffff1f}.mjs .hintzone{min-width:min(380px,80vw);height:var(--st-th);border:1.5px dashed rgba(255,255,255,.35);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff9;font-size:12.5px;font-weight:500;padding:0 20px;text-align:center}.mjs .dropbar{position:absolute;width:3px;top:8px;bottom:4px;background:#fff;border-radius:2px;box-shadow:0 0 8px #ffffffe6;opacity:0;pointer-events:none;z-index:9}.mjs .tctl{position:absolute;top:-15px;right:-8px;display:flex;gap:4px;z-index:8}.mjs .tctl button{width:24px;height:24px;border-radius:7px;border:1px solid var(--line);cursor:pointer;background:var(--surface);color:var(--fg);display:grid;place-items:center;font-size:12px;box-shadow:0 3px 8px -2px #0006;padding:0}.mjs .tctl button:hover{background:var(--surface-muted)}.mjs .tctl button.x:hover{background:#f3e2e2;border-color:var(--danger);color:var(--danger)}.mjs .tctl button.w.on{background:var(--st-gold-soft);border-color:var(--st-gold);color:var(--st-gold-strong)}.mjs .wallwrap{display:flex;flex-direction:column;align-items:center;gap:8px;align-self:stretch;border-top:1px solid rgba(255,255,255,.14);padding-top:16px}.mjs .pal-line{display:flex;align-items:center;gap:0;flex-wrap:wrap;justify-content:center}.mjs .pal-group{display:flex;padding:0 9px;flex:none}.mjs .pal-row{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.mjs .pal-tile{width:40px;border-radius:5px;cursor:grab;transition:transform .1s}.mjs .pal-tile svg{display:block;width:40px;height:56px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));pointer-events:none}.mjs .pal-tile:hover{transform:translateY(-3px)}.mjs .pal-tile.dis{opacity:.22;pointer-events:none}.mjs .pal-sp{width:26px;height:56px;border-radius:6px;border:1.5px dashed rgba(255,255,255,.45);cursor:grab;display:grid;place-items:center;color:#ffffffb3;font-size:14px}.mjs .pal-sp:hover{border-color:#fff;color:#fff}.mjs .ctxmod{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 26px;box-shadow:0 1px 3px #20201d0d;display:flex;align-items:center;gap:46px;flex-wrap:wrap;justify-content:center}.mjs .ctxlab{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);display:block;text-align:center;margin-bottom:10px}.mjs .seat{position:relative;width:172px;height:152px}.mjs .seat .felt-sq{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:9px;background:radial-gradient(circle at 50% 35%,#2e7d54,#1e5c3d);display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff24}.mjs .seat .felt-sq .r{color:#fff;font-family:"Noto Serif SC",serif;font-weight:700;font-size:17px;line-height:1.1;text-align:center}.mjs .seat .felt-sq .rl{display:block;font-family:var(--font);font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff9}.mjs .seatbtn{position:absolute;width:37px;height:37px;border-radius:9px;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--muted);font-family:"Noto Serif SC",serif;font-size:16px;font-weight:700;cursor:pointer;display:grid;place-items:center}.mjs .seatbtn:hover{border-color:var(--fg);color:var(--fg)}.mjs .seatbtn.you{background:var(--st-gold);border-color:var(--st-gold-strong);color:#fff;box-shadow:0 0 0 3px var(--st-gold-soft)}.mjs .seatbtn.you:after{content:"you";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);font-family:var(--font);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--st-gold-strong)}.mjs .seatbtn[data-pos=n]{top:0;left:50%;transform:translate(-50%)}.mjs .seatbtn[data-pos=s]{bottom:0;left:50%;transform:translate(-50%)}.mjs .seatbtn[data-pos=w]{left:8px;top:50%;transform:translateY(-50%)}.mjs .seatbtn[data-pos=e]{right:8px;top:50%;transform:translateY(-50%)}.mjs .seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface)}.mjs .seg button{border:none;background:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--muted);padding:10px 16px;cursor:pointer}.mjs .seg button.on{background:var(--accent);color:#fff}.mjs .seg button+button{border-left:1px solid var(--line)}.mjs .bonus{display:flex;gap:8px;flex-wrap:wrap;max-width:340px;justify-content:center}.mjs .bchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);font-size:13px;font-weight:600;padding:9px 14px;cursor:pointer}.mjs .bchip:hover{border-color:var(--line-strong)}.mjs .bchip.on{background:var(--st-gold-soft);border-color:var(--st-gold);color:var(--st-gold-strong)}.mjs .romod{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 26px 22px;display:flex;flex-direction:column;gap:16px;box-shadow:0 1px 3px #20201d0d}.mjs .romod-h{display:flex;align-items:center;gap:10px}.mjs .romod-h .rt{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle)}.mjs .romod-h .rules{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:var(--surface-muted);border:1px solid var(--line);border-radius:9px;padding:7px 13px;font-size:13px;font-weight:600}.mjs #stReadout{display:flex;flex-direction:column;gap:14px}.mjs .scard{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.mjs .scard.bad{background:#f3e2e2;border:1px solid #dcbcbc;border-radius:10px;padding:14px 16px}.mjs .vbadge{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;flex:none}.mjs .vbadge svg{width:19px;height:19px}.mjs .vbadge.ok{background:var(--accent-soft);color:var(--accent-strong)}.mjs .vbadge.wait{background:#f0e5bf;color:#755c18}.mjs .vbadge.bad{background:#e8cccc;color:var(--danger)}.mjs .vbadge.dim{background:var(--surface-muted);color:var(--subtle)}.mjs .vtext .vt{font-weight:800;font-size:17px}.mjs .vtext .vs{font-size:13px;color:var(--muted);margin-top:3px}.mjs .total{display:flex;flex-direction:column;align-items:flex-end;flex:none;margin-left:auto;padding-left:8px}.mjs .total .n{font-size:34px;font-weight:800;color:var(--accent-strong);line-height:1}.mjs .total .l{font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--subtle);margin-top:4px}.mjs .prow{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:2px 0}.mjs .prow .pl{font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--subtle);min-width:64px}.mjs .patt{display:inline-flex;align-items:baseline;gap:9px;background:var(--surface-muted);border:1px solid var(--line);border-radius:9px;padding:9px 15px}.mjs .patt .en{font-size:13.5px;font-weight:700}.mjs .patt .zh{font-size:13px;color:var(--muted)}.mjs .patt .f{font-family:var(--font-mono);font-weight:700;font-size:13.5px;color:var(--accent-strong)}.mjs .patt.zero{opacity:.62}.mjs .patt.zero .f{color:var(--subtle)}.mjs .subline{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--subtle);flex-wrap:wrap;padding-top:2px}.mjs .subline details{display:inline}.mjs .subline summary{list-style:none;cursor:pointer;color:var(--accent);font-weight:600;display:inline}.mjs .subline summary::-webkit-details-marker{display:none}.mjs .cmp{margin-top:10px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:6px 16px;min-width:min(380px,86vw)}.mjs .cmp .r{display:flex;gap:10px;padding:9px 0;font-size:13px;align-items:baseline}.mjs .cmp .r+.r{border-top:1px solid var(--surface-muted)}.mjs .cmp .n{font-weight:700;min-width:88px}.mjs .cmp .d{color:var(--muted);font-size:12px}.mjs .cmp .v{margin-left:auto;font-family:var(--font-mono);font-weight:700}.mjs .waits{display:flex;gap:9px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end;max-width:58%}.mjs .wait{display:flex;align-items:center;gap:9px;background:var(--surface-muted);border:1px solid var(--line);border-radius:9px;padding:8px 13px 8px 9px}.mjs .wait .wf{font-family:var(--font-mono);font-weight:700;font-size:13.5px;color:var(--accent-strong)}.mjs .callline{font-size:13.5px;color:var(--muted);line-height:1.7;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.mjs .callline b{color:var(--fg)}.mjs .exs{display:flex;gap:9px;flex-wrap:wrap}.mjs .exs button{border:1px solid var(--line);background:var(--surface-muted);border-radius:9px;font:inherit;font-size:13px;font-weight:600;padding:9px 15px;cursor:pointer}.mjs .exs button:hover{border-color:var(--accent);color:var(--accent-strong)}.mjs .stfoot{font-size:11px;color:var(--subtle);max-width:880px;text-align:center;line-height:1.65;margin:0 auto}.mjs-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,14px);background:#20201d;color:#fff;padding:10px 18px;border-radius:9px;font-size:13.5px;font-weight:500;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:80}.mjs-toast.show{opacity:1;transform:translate(-50%)}.mjs-ghost{position:fixed;pointer-events:none;z-index:100;opacity:.92;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45));transform:translate(-50%,-55%) rotate(-4deg)}.mjs-ghost.del{opacity:.5;filter:grayscale(.6) drop-shadow(0 8px 16px rgba(0,0,0,.45))}.mjs-ghost svg{width:56px;height:78.4px;display:block}.mjs.t3d .trow .tile.rot:not(.rot3) svg{filter:drop-shadow(-2px 2px 0 #efece2) drop-shadow(-2px 2px 0 #d8d2c0) drop-shadow(4px 0 5px rgba(0,0,0,.4))}.mjs.t3d .trow .tile.rot3 svg{filter:drop-shadow(2px -2px 0 #efece2) drop-shadow(2px -2px 0 #d8d2c0) drop-shadow(-4px 0 5px rgba(0,0,0,.4))}.mjs.t3d .trow .tile.rot2 svg{filter:drop-shadow(2px 2px 0 #efece2) drop-shadow(2px 2px 0 #d8d2c0) drop-shadow(0 -4px 5px rgba(0,0,0,.35))}.mjs.t3d .pal-tile svg{filter:drop-shadow(-2px -2px 0 #efece2) drop-shadow(-2px -2px 0 #d8d2c0) drop-shadow(0 3px 4px rgba(0,0,0,.35))}.mjs.t3d .trow .tile.win:before{inset:-7px -2px -1px -7px}.mjs .tile.rot2 svg{transform:rotate(180deg)}.mjs-menu{position:fixed;z-index:120;background:var(--surface,#fffefa);border:1px solid #d8d6cc;border-radius:10px;box-shadow:0 14px 40px -12px #20201d59;padding:5px;min-width:200px;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.mjs-menu button{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;font:inherit;font-size:13px;font-weight:500;color:#20201d;padding:9px 12px;border-radius:7px;cursor:pointer;text-align:left}.mjs-menu button:hover{background:#efeee8}.mjs-menu .mi{width:18px;text-align:center;flex:none}.mjs-menu .chk{margin-left:auto;color:#2e6664;font-weight:700}.mjs .tctl button.m{font-size:14px;letter-spacing:1px}.mjs .whands{display:flex;flex-direction:column;gap:7px}.mjs .whand{display:flex;align-items:center;gap:2px;flex-wrap:wrap;background:var(--surface-muted);border:1px solid var(--line);border-radius:9px;padding:8px 12px}.mjs .wtile{width:24px;flex:none;position:relative}.mjs .wtile svg{display:block;width:24px;height:33.6px;filter:drop-shadow(0 1px 1.5px rgba(32,32,29,.25))}.mjs .wtile.hl:after{content:"";position:absolute;inset:-2px;border:2px solid var(--st-gold);border-radius:5px}.mjs .wtile.hl{margin:0 3px}.mjs .wgap{width:9px;flex:none}.mjs .whand .wf{margin-left:auto;font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--accent-strong);padding-left:10px}.mjs .whand .wtag{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--st-gold-strong);background:var(--st-gold-soft);border-radius:5px;padding:2px 7px;margin-left:8px}.mjs .whands details summary{list-style:none;cursor:pointer;color:var(--accent);font-weight:600;font-size:12.5px;padding:2px 4px}.mjs .whands details summary::-webkit-details-marker{display:none}.mjs .whands details{display:flex;flex-direction:column;gap:7px}.mjs .wallcols{display:flex;gap:26px;align-items:center;justify-content:center;flex-wrap:wrap}.mjs .wallcol{display:flex;flex-direction:column;gap:6px;align-items:center}
