:root{--ink: #c0392b;--ink-soft: rgba(192, 57, 43, .72);--paper: #f7f1df;--gold-1: #f8dc7a;--gold-2: #e7b43c;--tenpai: #fff45c;--won: #f39f92;--wild-ink: #7d3c98;--back-1: #2f9a74;--back-2: #1b6f52;--ui-bg: rgba(24, 12, 8, .72);--ui-line: rgba(255, 214, 160, .22);--text: #fbeede;--muted: #d7bfa3;--accent: #ffb547;font-family:system-ui,-apple-system,Segoe UI,Noto Sans TC,Microsoft JhengHei,PingFang TC,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{color:var(--text);background:radial-gradient(ellipse 70% 45% at 50% -8%,rgba(255,176,72,.42),transparent 70%),radial-gradient(ellipse 50% 35% at 8% 0%,rgba(255,90,60,.22),transparent 70%),radial-gradient(ellipse 50% 35% at 92% 0%,rgba(255,90,60,.22),transparent 70%),radial-gradient(ellipse at 50% 60%,transparent 40%,rgba(0,0,0,.5) 100%),repeating-linear-gradient(92deg,rgba(0,0,0,.08) 0 2px,transparent 2px 11px),linear-gradient(180deg,#5b2e1b,#3c1c10 70%,#2c140b);background-attachment:fixed;-webkit-tap-highlight-color:transparent}button{font:inherit}[hidden]{display:none!important}.mjb{--cell: 56px;--pool-cols: 8;--pool-w: 40px;--prizes-w: 360px;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.hud{position:sticky;top:0;z-index:20;padding:calc(6px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left));background:linear-gradient(180deg,#260e08f5,#260e08db);border-bottom:1px solid var(--ui-line);box-shadow:0 4px 18px #00000059}.hud-row{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}.back-lobby{color:var(--text);text-decoration:none;font-size:13px;padding:6px 10px;border-radius:999px;background:#ffffff14;border:1px solid var(--ui-line);white-space:nowrap}.back-lobby:hover{background:#ffffff29}.title{margin:0;font-size:20px;letter-spacing:.12em;color:#ffd9a0;text-shadow:0 0 12px rgba(255,150,60,.55);white-space:nowrap}.title small{font-size:11px;margin-left:6px;letter-spacing:.05em;color:var(--muted);text-shadow:none}.stats{display:flex;gap:6px 14px;margin-left:auto;flex-wrap:wrap}.stat{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.stat .label{font-size:11px;color:var(--muted)}.stat strong{font-size:17px;font-variant-numeric:tabular-nums;color:#fff4dc}#stat-wallet{color:#ffd45e}.btn-mini{font-size:12px;padding:6px 10px;border-radius:8px;border:1px solid var(--ui-line);background:#ffffff14;color:var(--text);cursor:pointer;white-space:nowrap}.btn-mini:disabled{opacity:.38;cursor:not-allowed}.statusbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:5px;min-height:22px;font-size:14px}.status{font-weight:700;color:#fff}.auto-progress{padding:2px 9px;border-radius:999px;background:#ffb547;color:#3a1a07;font-weight:800;font-size:13px}.save-warn{color:#ffb4a8;font-size:12px}.risk{display:inline-flex;align-items:center;gap:3px;padding:2px;border-radius:999px;background:#ffffff14;border:1px solid var(--ui-line)}.risk-name{font-size:12px;font-weight:800;letter-spacing:.04em;color:#ffd9a0;padding:0 6px}.risk-opt{min-width:46px;min-height:28px;padding:0 8px;border-radius:999px;border:0;cursor:pointer;font-weight:800;font-size:13px;color:var(--text);background:transparent}.risk-opt.on{background:#ffb547;color:#3a1a07}.risk-opt:disabled{cursor:not-allowed;opacity:.72}.risk-opt:disabled:not(.on){opacity:.38}.table{display:grid;gap:10px;padding:8px;justify-content:center;align-items:start}.sheet-area{grid-area:sheet}.pool-area{grid-area:pool}.controls{grid-area:ctrl}.prizes{grid-area:prizes}.portrait .table{grid-template-columns:var(--prizes-w);grid-template-areas:"sheet" "pool" "ctrl" "prizes";justify-items:center}.side .table{grid-template-columns:calc(var(--cell) * 6.6) minmax(260px,1fr);grid-template-areas:"sheet pool" "sheet ctrl" "prizes prizes";grid-template-rows:auto 1fr auto}.side .prizes{justify-self:center;width:var(--prizes-w)}.wide .table{grid-template-columns:calc(var(--cell) * 6.6) auto var(--prizes-w);grid-template-areas:"sheet pool prizes" "ctrl ctrl prizes"}.wide .prizes{align-self:stretch}.stack{position:relative;width:calc(var(--cell) * 6.6);height:calc(var(--cell) * 7.25)}.sheet{position:absolute;inset:0;padding:0 calc(var(--cell) * .3) calc(var(--cell) * .3);background-color:var(--paper);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .42  0 0 0 0 .34  0 0 0 0 .2  0 0 0 .13 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.55),transparent 60%),linear-gradient(180deg,#785a280a,#785a281a);border-radius:3px;box-shadow:0 1px #fff9 inset,0 10px 24px #00000073,0 2px 4px #0000004d}.sheet-under{transform:translate(5px,6px);filter:brightness(.93);box-shadow:0 12px 26px #00000080}.sheet-under .sheet-title{opacity:.5}.sheet.outgoing{z-index:5;pointer-events:none}.sheet-title{height:calc(var(--cell) * .95);display:flex;align-items:center;justify-content:center;font-family:"Noto Serif TC",PMingLiU,MingLiU,Songti TC,serif;font-weight:900;font-size:calc(var(--cell) * .56);letter-spacing:.3em;color:var(--ink);text-shadow:.5px .5px 0 rgba(192,57,43,.35),-.4px 0 0 rgba(192,57,43,.25);opacity:.92}.grid{display:grid;grid-template-columns:repeat(6,var(--cell));grid-template-rows:repeat(6,var(--cell));outline:2px solid var(--ink-soft);outline-offset:0}.cell{position:relative;border:1px solid var(--ink-soft);background:transparent;transition:background-color .25s}.cell .print{position:absolute;top:12%;left:50%;width:57%;height:76%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;pointer-events:none}.cell .print img.face{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center;pointer-events:none}.cell:not(.wild) .print{opacity:.74;filter:saturate(.85)}.cell.wild{background:linear-gradient(180deg,#ffe58a,#f0c34a);box-shadow:none}.cell.wild .print{opacity:1;filter:none}.cell.tp:not(.wild){background:var(--tenpai)}.cell.wild.tp{box-shadow:inset 0 0 0 3px #fff45c;z-index:1}.cell.wait{box-shadow:inset 0 0 0 2.5px #d4141c;z-index:2}.cell.wait:after{content:"";position:absolute;inset:3px;border:2px dashed #d4141c;border-radius:2px;animation:blink 1.2s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.15}}.cell.won,.cell.won.tp:not(.wild){background:var(--won);box-shadow:inset 0 0 0 2px #d11a228c}.cell.wild.won{background:linear-gradient(160deg,#f7c9b6,#eaa27a)}.stamp{position:absolute;left:50%;top:52%;z-index:6;transform:translate(-50%,-50%) rotate(-12deg);padding:calc(var(--cell) * .12);border:calc(var(--cell) * .07) solid currentColor;border-radius:10px;pointer-events:none;mix-blend-mode:multiply}.stamp-in{border:2px solid currentColor;border-radius:6px;padding:calc(var(--cell) * .1) calc(var(--cell) * .35);display:flex;flex-direction:column;align-items:center;gap:2px;background:#ffffff59}.stamp b{font-size:calc(var(--cell) * 1.05);line-height:1;letter-spacing:.08em;font-family:Impact,Arial Black,system-ui,sans-serif}.stamp span{font-size:calc(var(--cell) * .24);font-weight:800;white-space:nowrap}.stamp.win{color:#d11a22}.stamp.lose{color:#5d5d5d}.tile{width:calc(var(--cell) * .64);height:calc(var(--cell) * .84);border-radius:calc(var(--cell) * .08);background:linear-gradient(160deg,#fffef8,#f6efdc 55%,#e8dcc0);box-shadow:inset 0 0 0 1px #a08c648c,inset 0 -3px #b4965a73,calc(var(--cell) * .02) calc(var(--cell) * .034) 0 0 #e2d2aa,calc(var(--cell) * .034) calc(var(--cell) * .06) 0 0 #1e7a57,calc(var(--cell) * .045) calc(var(--cell) * .085) calc(var(--cell) * .09) #0006;overflow:hidden;padding:2%}.tile img.face{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center;pointer-events:none}.tile.placed{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%) translate(var(--dx, 0px),var(--dy, 0px)) rotate(var(--rot, 0deg))}.cell.wait .tile.placed{z-index:0}.pool-area{display:flex;justify-content:center}.pool{position:relative;width:var(--pool-box-w);height:var(--pool-box-h);border-radius:18px;background:radial-gradient(ellipse 70% 60% at 45% 45%,rgba(40,96,70,.28),transparent 75%),linear-gradient(180deg,#143c2c80,#0a241a94);box-shadow:inset 0 2px 14px #00000080,0 1px #ffffff0f}.back{position:absolute;width:var(--back-w);height:calc(var(--back-w) * 1.3);transform:rotate(var(--rot, 0deg));border-radius:5px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.18) 0 18%,transparent 19%),repeating-linear-gradient(45deg,rgba(255,255,255,.07) 0 3px,transparent 3px 7px),linear-gradient(160deg,var(--back-1),var(--back-2));box-shadow:inset 0 0 0 1px #ffffff40,calc(var(--tx, .5) * var(--t1)) calc(var(--ty, 1) * var(--t1)) 0 #17674a,calc(var(--tx, .5) * var(--t2)) calc(var(--ty, 1) * var(--t2)) 0 #ece1c4,calc(var(--tx, .5) * var(--t3)) calc(var(--ty, 1) * var(--t3)) var(--t3) #00000073;--t1: max(1.5px, calc(var(--back-w) * .022));--t2: max(4px, calc(var(--back-w) * .06));--t3: max(6px, calc(var(--back-w) * .085))}.back.empty{visibility:hidden}.fly-layer{position:fixed;inset:0;pointer-events:none;z-index:50}.flyer{position:fixed;will-change:transform}.tile3d{position:absolute;left:0;top:0;width:var(--w);height:var(--h);transform-style:preserve-3d}.t3{position:absolute;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.t3-shade{position:absolute;inset:0;background:#1c0f06;pointer-events:none}.t3-front,.t3-back{left:0;top:0;width:var(--w);height:var(--h);border-radius:calc(var(--w) * .07)}.t3-front{transform:translateZ(calc(var(--d) / 2));padding:2%;background:linear-gradient(160deg,#fffef8,#f6efdc 55%,#e8dcc0);box-shadow:inset 0 0 0 1px #a08c648c,inset 0 -2px #b4965a59}.t3-front img.face{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.t3-back{transform:rotateY(180deg) translateZ(calc(var(--d) / 2));background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.18) 0 18%,transparent 19%),repeating-linear-gradient(45deg,rgba(255,255,255,.07) 0 3px,transparent 3px 7px),linear-gradient(160deg,var(--back-1),var(--back-2));box-shadow:inset 0 0 0 1px #ffffff40}.t3-left,.t3-right{top:calc(var(--w) * .03);left:calc((var(--w) - var(--d)) / 2);width:var(--d);height:calc(var(--h) - var(--w) * .06)}.t3-top,.t3-bottom{left:calc(var(--w) * .03);top:calc((var(--h) - var(--d)) / 2);width:calc(var(--w) * .94);height:var(--d)}.t3-right{transform:rotateY(90deg) translateZ(calc(var(--w) / 2));background:linear-gradient(90deg,#f1e7cc 0 60%,#b9a67a 60% 62%,var(--back-1) 62% 100%)}.t3-left{transform:rotateY(-90deg) translateZ(calc(var(--w) / 2));background:linear-gradient(90deg,var(--back-1) 0 38%,#b9a67a 38% 40%,#f1e7cc 40% 100%)}.t3-top{transform:rotateX(90deg) translateZ(calc(var(--h) / 2));background:linear-gradient(180deg,var(--back-1) 0 38%,#b9a67a 38% 40%,#f5ecd4 40% 100%)}.t3-bottom{transform:rotateX(-90deg) translateZ(calc(var(--h) / 2));background:linear-gradient(180deg,#e9dcba 0 60%,#b9a67a 60% 62%,var(--back-2) 62% 100%)}.t3-ground{position:absolute;inset:6% 8%;border-radius:14%;background:#180a04f2;filter:blur(5px);opacity:0}.tsumo-flyer{z-index:3}.tsumo-streak{position:fixed;z-index:2;transform-origin:0 50%;opacity:0;border-radius:999px;background:linear-gradient(90deg,#fff5c800,#ffeca08c 55%,#fffffff2);filter:blur(1.5px)}.tsumo-fx{position:fixed;left:0;top:0;width:0;height:0;z-index:4}.tsumo-fx>*{position:absolute;left:0;top:0;transform:translate(-50%,-50%)}.tsumo-flash{border-radius:50%;opacity:0;background:radial-gradient(circle,rgba(255,255,255,.95) 0 16%,rgba(255,232,140,.7) 32%,rgba(120,200,255,.25) 55%,transparent 70%)}.tsumo-ring{border-radius:50%;opacity:0;border:4px solid #ffd54a;box-shadow:0 0 14px #ffd54ae6,inset 0 0 10px #ffd54a99}.tsumo-ring.r2{border:2px solid #eaf8ff;box-shadow:0 0 12px #8cd2fff2}.tsumo-bolts{opacity:0;overflow:visible;filter:drop-shadow(0 0 4px #8ad8ff) drop-shadow(0 0 12px rgba(150,110,255,.85))}.tsumo-bolts path{fill:none;stroke-linejoin:round;stroke-linecap:round}.tsumo-bolts .glow{stroke:#6ebeffb3;stroke-width:9}.tsumo-bolts .arc{stroke:#bfe9ff;stroke-width:3.6}.tsumo-bolts .core{stroke:#fff;stroke-width:1.4}.tsumo-fx>.tsumo-text{transform:translate(-50%,-50%)}.tsumo-word{display:block;white-space:nowrap;line-height:1;opacity:0;font-family:"Noto Serif TC",PMingLiU,MingLiU,Songti TC,serif;font-weight:900;letter-spacing:.04em;color:#e3121c;-webkit-text-stroke:.045em #ffe27a;paint-order:stroke fill;text-shadow:0 .04em 0 #7a0a0a,0 0 .22em rgba(255,210,90,.95),0 0 .5em rgba(120,200,255,.7)}.tsumo-word em{font-style:normal;font-size:.8em}.tsumo-static{position:fixed;left:0;top:0;width:0;height:0;z-index:4}.tsumo-static .tsumo-word{position:absolute;left:0;top:0;opacity:1}.cell.tsumo-hit{box-shadow:inset 0 0 0 3px #ffd54a,0 0 0 2px #e3121c;z-index:3}.controls{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%}.portrait .controls{width:min(100%,520px)}.notice{margin:0;padding:7px 12px;border-radius:10px;font-size:13px;line-height:1.4;text-align:center;background:#ffb54729;border:1px solid rgba(255,181,71,.55);color:#ffe2b0}.buy-panel{width:100%;max-width:520px;padding:8px 12px;border-radius:12px;background:var(--ui-bg);border:1px solid var(--ui-line)}.buy-line{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px}.buy-line b{color:#ffd45e;font-size:16px}.buy-bar{list-style:none;display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin:6px 0 0;padding:0}.buy-bar li{height:8px;border-radius:3px;background:#ffb547;box-shadow:0 0 6px #ffb54780}.buy-bar li.used{background:#ffffff24;box-shadow:none}.buy-warn{margin:6px 0 0;font-size:12px;color:#ffb4a8}.btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.btn{min-height:44px;padding:0 16px;border-radius:12px;cursor:pointer;font-weight:800;font-size:15px;color:#3a1a07;background:linear-gradient(180deg,#fff1d6,#f0cf9c);border:0;box-shadow:0 3px #9c6b35,0 5px 12px #00000059;transition:transform .08s,filter .15s}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #9c6b35,0 2px 6px #00000059}.btn-primary{color:#fff;background:linear-gradient(180deg,#ef4b3c,#b8201a);box-shadow:0 3px #6e0f0b,0 5px 12px #0006}.btn-auto{background:linear-gradient(180deg,#ffd36e,#f0a52c)}.btn-auto.running{color:#fff;background:linear-gradient(180deg,#5e6bd6,#3441a8);box-shadow:0 3px #1e2767,0 5px 12px #0006}.btn-topup{color:#e6fff5;background:linear-gradient(180deg,#2f9a74,#1b6f52);box-shadow:0 3px #0e3f2e,0 5px 12px #00000059}.btn:disabled{filter:grayscale(.85) brightness(.7);cursor:not-allowed}.prizes{width:100%;padding:12px 14px;border-radius:12px;color:#3b2112;background:linear-gradient(180deg,#fbf4e2,#f1e3c4);box-shadow:0 8px 22px #0006,inset 0 0 0 1px #c0392b40}.prizes h2{margin:0 0 8px;font-size:17px;color:var(--ink);letter-spacing:.08em}.prizes h2 small,.prizes h3 small{font-size:11px;color:#8a6a4d;letter-spacing:0;font-weight:600;margin-left:6px}.prizes h3{margin:10px 0 6px;font-size:14px;color:var(--ink)}.pt{width:100%;border-collapse:collapse;font-size:14px}.pt tbody+tbody{border-top:2px solid rgba(192,57,43,.45)}.pt th,.pt td{padding:5px 6px;border-bottom:1px dashed rgba(192,57,43,.25)}.pt th{text-align:left;font-weight:800}.pt th small{display:block;font-size:11px;font-weight:500;color:#7b5e45}.pt td{text-align:right;font-weight:800;font-variant-numeric:tabular-nums;color:#9b1c14;white-space:nowrap}.pt tr.hit{background:linear-gradient(90deg,#ffd650d9,#ff966eb3);box-shadow:inset 3px 0 #d11a22}.pt tr.hit td{color:#7a0000}.pt tbody.off th,.pt tbody.off td{color:#7d7468;filter:grayscale(1);opacity:.5}.pt tbody.off th small{color:#7d7468}.pt-lock{display:inline-block;margin-left:6px;padding:0 5px;border-radius:4px;vertical-align:1px;font-size:10px;font-weight:700;line-height:15px;color:#fff;background:#7d7468}.pt-lock[hidden]{display:none}.pt .row-pattern+.row-pattern .pt-lock{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.rates{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.rates li{display:flex;flex-direction:column;align-items:center;padding:3px 0;border-radius:6px;background:#c0392b14;border:1px solid rgba(192,57,43,.2);font-size:11px}.rates li b{font-size:15px;color:#9b1c14}.rates li.used{opacity:.45}.rates li.current{background:#ffe07a;border:2px solid #d11a22;box-shadow:0 0 8px #d11a2273}.notes{margin:10px 0 0;padding-left:18px;font-size:12px;line-height:1.5;color:#5b3c26}.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#0a040299;padding:12px}.dialog{width:min(420px,100%);max-height:calc(100dvh - 24px);overflow:auto;padding:16px 18px;border-radius:16px;color:#3b2112;background:linear-gradient(180deg,#fff8e8,#f3e2bd);box-shadow:0 18px 50px #0009}.dialog h2{margin:0 0 10px;color:var(--ink);font-size:19px}.dialog fieldset{border:0;margin:0 0 10px;padding:0}.dialog legend{font-weight:800;margin-bottom:6px;font-size:14px}.choices{display:flex;flex-wrap:wrap;gap:6px}.choice{min-height:38px;padding:0 12px;border-radius:10px;cursor:pointer;font-weight:700;border:1.5px solid rgba(192,57,43,.35);background:#fff;color:#3b2112}.choice[aria-checked=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.dialog-note{font-size:12px;color:#6b4a30;margin:4px 0 12px;line-height:1.5}.dialog-btns{display:flex;justify-content:flex-end;gap:8px}.sum-reason{margin:0 0 8px;font-weight:700;color:#6b4a30}.sum-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 14px;font-size:15px}.sum-grid dt{color:#6b4a30}.sum-grid dd{margin:0;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.sum-grid .pos{color:#0f7a3c}.sum-grid .neg{color:#b8201a}@media(max-width:560px){.hud-row{gap:6px 10px}.title{display:none}.stats{gap:10px}.stat strong{font-size:15px}.btn{min-height:42px;padding:0 12px;font-size:14px}}@media(max-width:370px){.stats{width:100%;justify-content:space-between;order:3;margin-left:0}.stat{align-items:flex-start}.btn-mini{margin-left:auto}}.short .hud{padding-top:calc(3px + env(safe-area-inset-top));padding-bottom:3px}.short .hud-row{flex-wrap:nowrap}.short .title small{display:none}.short .title{font-size:15px}.short .stat{flex-direction:row;gap:4px;align-items:baseline}.short .stat strong{font-size:14px}.short .statusbar{margin-top:2px;font-size:13px;min-height:18px}.short .btn{min-height:38px;font-size:13px;padding:0 10px}.short .buy-panel{padding:5px 10px}.short .controls{gap:5px}@media(prefers-reduced-motion:reduce){.cell.wait:after{animation:none}.btn{transition:none}}
