.anime-action-cue[data-v-4faa8ab5]{z-index:45;pointer-events:none;filter:drop-shadow(3px 5px #2d241c42);isolation:isolate;width:clamp(110px,9.8vw,152px);height:clamp(83px,8vw,117px);animation:.26s cubic-bezier(.16,.88,.25,1.08) backwards anime-action-enter-4faa8ab5;position:absolute;overflow:visible}.anime-action-cue[data-v-4faa8ab5]:before{content:"";z-index:-2;width:74%;height:58%;box-shadow:none;background:radial-gradient(at 58% 58%,#0a1b16b8 0 34%,#224b3f61 54%,#0000 78%);border:0;position:absolute;bottom:-4%;right:-8%}.anime-action-burst[data-v-4faa8ab5]{z-index:-1;opacity:.66;background:radial-gradient(circle at 42% 54%, color-mix(in srgb, var(--anime-accent,#9e5148) 46%, transparent) 0 3%, transparent 32%), conic-gradient(from 12deg at 42% 54%, transparent 0 9%, #85e0f16b 10% 11%, transparent 12% 29%, #eb8ea761 30% 31%, transparent 32% 100%);border:0;position:absolute;inset:-18% -24%;-webkit-mask-image:radial-gradient(circle at 42% 54%,#000 0 18%,#000000b8 35%,#0000 70%);mask-image:radial-gradient(circle at 42% 54%,#000 0 18%,#000000b8 35%,#0000 70%)}.anime-action-cue img.base-q-avatar[data-v-4faa8ab5]{object-fit:contain;object-position:center bottom;filter:drop-shadow(3px 4px #2d241c47);width:66%;height:112%;position:absolute;bottom:-27%;left:0}.anime-action-cue img.dedicated-action-art[data-v-4faa8ab5]{top:calc((1 - var(--action-art-scale)) * 50%);left:calc((1 - var(--action-art-scale)) * 50%);width:calc(100% * var(--action-art-scale));height:calc(100% * var(--action-art-scale));object-fit:contain;object-position:center;filter:saturate(1.08)contrast(1.02)drop-shadow(3px 4px #2d241c42);border:0;border-radius:0;position:absolute;-webkit-mask-image:radial-gradient(at 44%,#000 0 32%,#000000eb 46%,#0000007a 61%,#0000 79%);mask-image:radial-gradient(at 44%,#000 0 32%,#000000eb 46%,#0000007a 61%,#0000 79%)}.anime-action-copy[data-v-4faa8ab5]{right:calc((1 - var(--action-art-scale)) * 50%);bottom:calc((1 - var(--action-art-scale)) * 50%);justify-items:end;display:grid;position:absolute;transform:rotate(-4deg)}.anime-action-copy strong[data-v-4faa8ab5]{color:#fff8e7;letter-spacing:-.08em;paint-order:stroke fill;-webkit-text-stroke:clamp(4px, .44vw, 6px) #2d241c;text-shadow:3px 3px #2d241c38;font-family:Microsoft YaHei,PingFang SC,Noto Sans CJK SC,sans-serif;font-size:clamp(10px,5.9vh,76px);font-weight:1000;line-height:.92;position:relative}.anime-action-copy strong[data-v-4faa8ab5]:after{content:attr(data-text);z-index:-1;color:#0000;-webkit-text-stroke:clamp(8px, .76vw, 12px) var(--anime-accent,#bd5b48);position:absolute;inset:0}.anime-action-zimo .anime-action-copy strong[data-v-4faa8ab5],.anime-action-qiangganghu .anime-action-copy strong[data-v-4faa8ab5]{letter-spacing:-.12em;font-size:clamp(44px,4.7vw,72px)}.anime-action-cue.anime-action-hu[data-v-4faa8ab5],.anime-action-cue.anime-action-zimo[data-v-4faa8ab5],.anime-action-cue.anime-action-qiangganghu[data-v-4faa8ab5]{animation:2s ease-out both anime-win-cue-serial-4faa8ab5}.action-from-left img.base-q-avatar[data-v-4faa8ab5]{left:auto;right:0;transform:scaleX(-1)}.action-from-left .anime-action-copy[data-v-4faa8ab5]{right:auto;left:calc((1 - var(--action-art-scale)) * 50%);align-items:start;transform:rotate(-4deg)}@keyframes anime-action-enter-4faa8ab5{0%{opacity:0;filter:blur(2px)drop-shadow(3px 5px #2d241c42);scale:.88}to{opacity:1;filter:blur()drop-shadow(3px 5px #2d241c42);scale:1}}@keyframes anime-win-cue-serial-4faa8ab5{0%{opacity:0;filter:blur(2px)drop-shadow(3px 5px #2d241c42);scale:.82}16%,74%{opacity:1;filter:blur()drop-shadow(3px 5px #2d241c42);scale:1}to{opacity:0;filter:blur(1px)drop-shadow(3px 5px #2d241c2e);scale:.96}}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.anime-action-cue[data-v-4faa8ab5]{width:clamp(84px,13cqw,112px);max-width:var(--action-art-max-width);height:clamp(64px,10cqw,86px);max-height:var(--action-art-max-height)}}@media (prefers-reduced-motion:reduce){.anime-action-cue[data-v-4faa8ab5]{animation:.16s ease-out backwards anime-action-fade-4faa8ab5}.anime-action-burst[data-v-4faa8ab5]{display:none}}@keyframes anime-action-fade-4faa8ab5{0%{opacity:0}to{opacity:1}}.blood-flow-win-card[data-v-63affd9d]{border:1px solid color-mix(in srgb, currentColor 30%, transparent);color:inherit;background:#ffffff0d;border-radius:10px;gap:6px;padding:10px 12px;display:grid}.win-card-main[data-v-63affd9d],.win-card-modifiers[data-v-63affd9d]{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.win-card-main strong[data-v-63affd9d]{flex:1;font-size:14px}.win-card-main b[data-v-63affd9d]{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:22px}.win-card-main small[data-v-63affd9d]{margin-left:2px;font-size:11px}.win-card-modifiers span[data-v-63affd9d]{background:#ffffff1a;border-radius:5px;padding:2px 5px;font-size:11px}.win-card-modifiers em[data-v-63affd9d]{margin-left:auto;font-style:normal;font-weight:700}.blood-flow-ledger-backdrop[data-v-96eae54a]{z-index:180;background:#000000a6;place-items:center;padding:12px;display:grid;position:fixed;inset:0;container-type:size}.blood-flow-ledger[data-v-96eae54a]{border:1px solid var(--theme-border,#8a947c);background:var(--theme-panel,#142424);width:min(700px,96vw);max-height:92dvh;color:var(--theme-text,#fff2d9);border-radius:16px;flex-direction:column;display:flex;box-shadow:0 20px 80px #0008}.embedded[data-v-96eae54a]{background:0 0;padding:0;display:block;position:static;container-type:normal}.embedded .blood-flow-ledger[data-v-96eae54a]{width:100%;max-height:none;box-shadow:none;background:0 0;border:0}.embedded .ledger-scroll[data-v-96eae54a]{padding:0;overflow:visible}header[data-v-96eae54a],footer[data-v-96eae54a]{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}footer[data-v-96eae54a]{flex-wrap:wrap}header[data-v-96eae54a]{border-bottom:1px solid #ffffff20}header small[data-v-96eae54a]{opacity:.65;font-size:11px}h2[data-v-96eae54a]{margin:3px 0 0;font-size:22px}button[data-v-96eae54a]{color:inherit;cursor:pointer;background:#ffffff0c;border:1px solid #ffffff40;border-radius:8px;min-height:36px;padding:7px 13px}.ledger-primary[data-v-96eae54a]{color:#1c2624;background:#e6c482}.ledger-scroll[data-v-96eae54a]{overscroll-behavior:contain;min-height:0;padding:12px 18px;overflow:auto}table[data-v-96eae54a]{border-collapse:collapse;width:100%;margin-bottom:15px;font-size:12px}th[data-v-96eae54a],td[data-v-96eae54a]{text-align:right;border-bottom:1px solid #ffffff20;padding:9px 5px}th[data-v-96eae54a]:first-child{text-align:left;max-width:120px}.ledger-win[data-v-96eae54a]{margin-bottom:16px}.record-heading[data-v-96eae54a]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin:0 0 6px;font-size:13px;display:flex}.record-heading span[data-v-96eae54a],.record-payments[data-v-96eae54a]{opacity:.72;font-size:11px}.record-payments[data-v-96eae54a]{margin:5px 1px}.empty[data-v-96eae54a]{text-align:center;opacity:.6;padding:25px 0}summary[data-v-96eae54a]{cursor:pointer}@container (height<=450px){header[data-v-96eae54a],footer[data-v-96eae54a]{padding:7px 12px}h2[data-v-96eae54a]{font-size:16px}.ledger-scroll[data-v-96eae54a]{padding:8px 12px}}.bf-result-players[data-v-fbdd4163]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.bf-result-player[data-v-fbdd4163]{border:1px solid var(--theme-border,#758e71);background:color-mix(in srgb,var(--theme-panel,#152a25) 90%,white);border-radius:14px;flex-direction:column;align-items:center;gap:9px;min-width:0;padding:20px 10px 16px;display:flex;position:relative}.bf-result-player.self[data-v-fbdd4163]{outline:2px solid var(--theme-accent,#e6c482);outline-offset:-2px}.bf-result-player.champion[data-v-fbdd4163]{background:linear-gradient(160deg,color-mix(in srgb,var(--theme-accent,#e6c482) 25%,transparent),transparent 70%)}img[data-v-fbdd4163]{object-fit:cover;border:2px solid var(--theme-accent,#e6c482);border-radius:12px;width:74px;height:74px}.bf-player-name[data-v-fbdd4163]{text-align:center;overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.bf-player-name small[data-v-fbdd4163]{opacity:.8;border:1px solid;border-radius:4px;padding:1px 4px;font-size:10px}.bf-result-amount[data-v-fbdd4163]{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(22px,3vw,38px)}.bf-result-amount small[data-v-fbdd4163]{margin-left:3px;font-size:11px}[data-score-direction=positive][data-v-fbdd4163]{color:var(--theme-positive,#7addae)}[data-score-direction=negative][data-v-fbdd4163]{color:var(--theme-negative,#ffad9b)}.bf-player-facts[data-v-fbdd4163]{opacity:.72;text-align:center;margin:0;font-size:11px;line-height:1.5}.bf-rank[data-v-fbdd4163]{color:var(--theme-accent,#e6c482);font:800 28px Georgia,serif}.bf-rank small[data-v-fbdd4163]{margin-left:3px;font:12px sans-serif}.bf-result-reaction[data-v-fbdd4163]{border-top:1px solid var(--theme-border,#758e71);text-align:center;margin:2px 0 0;padding-top:10px;font-size:13px;line-height:1.5}@container (width<=650px){.bf-result-players[data-v-fbdd4163]{gap:6px}.bf-result-player[data-v-fbdd4163]{gap:5px;padding:10px 5px}img[data-v-fbdd4163]{width:44px;height:44px}.bf-player-name[data-v-fbdd4163]{font-size:12px}.bf-player-facts[data-v-fbdd4163]{font-size:10px}.bf-result-amount[data-v-fbdd4163]{font-size:22px}.bf-rank[data-v-fbdd4163]{font-size:20px}}@container (height<=450px){.bf-result-players[data-v-fbdd4163]{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.bf-result-player[data-v-fbdd4163]{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:3px 6px;padding:7px 8px;display:grid}.final .bf-result-player[data-v-fbdd4163]{grid-template-columns:22px 34px minmax(0,1fr) auto}img[data-v-fbdd4163]{border-radius:6px;grid-area:1/1;width:32px;height:32px}.final img[data-v-fbdd4163]{grid-column:2}.bf-player-name[data-v-fbdd4163]{text-align:left;grid-area:1/2;justify-content:flex-start;font-size:12px}.final .bf-player-name[data-v-fbdd4163]{grid-column:3}.bf-result-amount[data-v-fbdd4163]{text-align:right;grid-area:1/3;font-size:20px}.final .bf-result-amount[data-v-fbdd4163]{grid-column:4}.bf-rank[data-v-fbdd4163]{white-space:nowrap;grid-area:1/1;font-size:18px}.bf-rank small[data-v-fbdd4163]{margin-left:1px;font-size:9px}.bf-player-facts[data-v-fbdd4163]{text-align:left;grid-column:1/-1;font-size:9px;line-height:1.2}.final .bf-player-facts[data-v-fbdd4163],.bf-result-player .bf-player-facts[data-v-fbdd4163]:nth-of-type(2){display:none}.bf-result-reaction[data-v-fbdd4163]{text-align:left;grid-column:1/-1;margin:0;padding-top:3px;font-size:11px;line-height:1.25}}.bf-result-hero[data-v-f223f4dd]{text-align:center;margin:6px 0 22px}small[data-v-f223f4dd],p[data-v-f223f4dd]{opacity:.68;font-size:12px}h2[data-v-f223f4dd]{color:var(--theme-accent,#e6c482);letter-spacing:.1em;margin:8px 0;font-size:clamp(25px,4vw,42px)}p[data-v-f223f4dd]{margin:0}@container (height<=450px){.bf-result-hero[data-v-f223f4dd]{justify-content:center;align-items:center;gap:8px;margin:0 0 8px;display:flex}h2[data-v-f223f4dd]{margin:0;font-size:22px}small[data-v-f223f4dd]{font-size:10px}p[data-v-f223f4dd]{display:none}}.bf-final-hero[data-v-f04e21aa]{text-align:center;margin:6px 0 22px}h2[data-v-f04e21aa]{color:var(--theme-accent,#e6c482);letter-spacing:.15em;margin:8px 0;font-size:clamp(28px,4vw,46px)}small[data-v-f04e21aa],p[data-v-f04e21aa]{opacity:.7;font-size:12px}p[data-v-f04e21aa]{margin:0}@container (height<=450px){.bf-final-hero[data-v-f04e21aa]{justify-content:center;align-items:center;gap:8px;margin:0 0 8px;display:flex}h2[data-v-f04e21aa]{margin:0;font-size:24px}small[data-v-f04e21aa]{display:none}p[data-v-f04e21aa]{font-size:10px}}.blood-flow-result-reopen[data-v-545fd092]{right:max(16px,env(safe-area-inset-right));z-index:80;border:1px solid var(--theme-border,#8a947c);background:var(--theme-panel,#142424);min-height:40px;color:var(--theme-text,#fff2d9);font:inherit;cursor:pointer;border-radius:10px;padding:9px 22px;font-weight:700;position:fixed;bottom:max(84px,22dvh);box-shadow:0 4px 18px #0006}.bf-settlement-backdrop[data-v-545fd092]{z-index:180;color:var(--theme-text,#fff2d9);background:#000a;place-items:center;padding:12px;display:grid;position:fixed;inset:0;container-type:size}.bf-settlement[data-v-545fd092]{border:1px solid var(--theme-border,#8a947c);background:linear-gradient(var(--theme-panel,#142424),var(--theme-panel,#142424)),#10221d;border-radius:18px;flex-direction:column;width:min(860px,96vw);max-height:94dvh;display:flex;overflow:hidden;box-shadow:0 24px 90px #0009}.bf-settlement[data-v-545fd092]:not(.restored){animation:.28s ease-out both bf-settlement-enter-545fd092}@keyframes bf-settlement-enter-545fd092{0%{opacity:0;translate:0 20px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.bf-settlement[data-v-545fd092]:not(.restored){animation:none}}header[data-v-545fd092],footer[data-v-545fd092]{flex-shrink:0;align-items:center;gap:8px;padding:12px 18px;display:flex}header[data-v-545fd092]{border-bottom:1px solid #ffffff18;justify-content:space-between}header small[data-v-545fd092]{opacity:.7}footer[data-v-545fd092]{border-top:1px solid #ffffff18;flex-wrap:wrap;justify-content:center}.bf-settlement-body[data-v-545fd092]{overscroll-behavior:contain;min-height:0;padding:16px 20px;overflow:auto}button[data-v-545fd092]{cursor:pointer;border:1px solid var(--theme-border,#8a947c);color:inherit;background:0 0;border-radius:8px;min-height:36px;padding:7px 12px}button[data-v-545fd092]:disabled{cursor:default;opacity:.5}.bf-primary[data-v-545fd092]{background:var(--theme-accent,#e6c482);color:var(--theme-panel,#142424);font-weight:700}.bf-ready-status[data-v-545fd092]{text-align:center;color:var(--theme-accent,#e6c482);margin:0;padding:6px 18px;font-size:12px}[data-theme=rosewood] .bf-settlement[data-v-545fd092]{border-width:3px;border-radius:6px}[data-theme=happyMahjong] .bf-settlement[data-v-545fd092]{border-width:3px;border-radius:26px}[data-theme=llm] .bf-settlement[data-v-545fd092]{font-family:var(--theme-font,monospace);border-radius:8px}[data-theme=llmAnime] .bf-settlement[data-v-545fd092]{border-width:3px;box-shadow:8px 8px #141222}@container (height<=450px){header[data-v-545fd092],footer[data-v-545fd092]{gap:5px;padding:6px 10px}.bf-settlement-body[data-v-545fd092]{padding:8px 10px}button[data-v-545fd092]{min-height:30px;padding:5px 9px;font-size:12px}}.impact-lettering[data-v-374dc9fe]{filter:drop-shadow(0 5px 5px #0007);width:100%;display:block;overflow:visible}text[data-v-374dc9fe]{paint-order:stroke fill;stroke-linejoin:round;font-family:Microsoft YaHei,Noto Sans CJK SC,PingFang SC,sans-serif;font-size:98px;font-weight:900}.lettering-jade text[data-v-374dc9fe]{letter-spacing:2px;font-size:96px}.lettering-rosewood text[data-v-374dc9fe]{font-size:96px}.lettering-happyMahjong text[data-v-374dc9fe]{font-size:98px;font-weight:1000}.lettering-llm text[data-v-374dc9fe]{stroke-linejoin:bevel;font-size:94px}.lettering-llmAnime[data-v-374dc9fe]{filter:drop-shadow(0 3px 1px #160e2380)}.lettering-llmAnime text[data-v-374dc9fe]{stroke-linejoin:miter;stroke-miterlimit:2;font-size:98px}.effect-number[data-v-767c8263]{vertical-align:middle;flex-shrink:0;max-width:100%;height:auto;display:inline-block}.blood-flow-presentation[data-v-ae5a3d12]{z-index:42;pointer-events:none;color:var(--theme-text,#fff2d9);position:absolute;inset:0}.blood-flow-cue[data-v-ae5a3d12]{--win-color:var(--theme-accent,#e4c17a);position:absolute;inset:0}.blood-flow-dimmer[data-v-ae5a3d12]{background:radial-gradient(at 50% 35%,#0004,#000 85%);position:absolute;inset:0}.blood-flow-multi-intro[data-v-ae5a3d12]{isolation:isolate;width:clamp(200px,26vw,340px);animation:1.5s cubic-bezier(.2,1.4,.35,1) both multi-intro-pop-ae5a3d12;position:absolute;transform:translate(-50%)}.blood-flow-multi-intro.reduced[data-v-ae5a3d12]{animation:none}@keyframes multi-intro-pop-ae5a3d12{0%{opacity:0;transform:translate(-50%)scale(.55)rotate(-4deg)}18%{opacity:1;transform:translate(-50%)scale(1.12)rotate(1.5deg)}30%{transform:translate(-50%)scale(.98)rotate(0)}78%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(1.04)}}.blood-flow-central[data-v-ae5a3d12]{isolation:isolate;transform-origin:50% 65%;width:clamp(170px,23vw,330px);position:absolute}.stage-main .blood-flow-central[data-v-ae5a3d12]{width:clamp(230px,30vw,405px)}.blood-flow-central[data-v-ae5a3d12]:before{content:"";z-index:-1;background:radial-gradient(ellipse,color-mix(in srgb,var(--win-color) 22%,transparent),transparent 70%);position:absolute;inset:-12% -25%}[data-theme=rosewood] .blood-flow-central[data-v-ae5a3d12]:before{background:linear-gradient(90deg,#0000,#452016b8 25% 75%,#0000);border-block:1px solid #d3976599;inset:18% -10%;transform:skew(-8deg)}[data-theme=happyMahjong] .blood-flow-central[data-v-ae5a3d12]:before{background:conic-gradient(from 15deg,transparent 0 10%,#fbd34477 12% 15%,transparent 17% 30%,#78ceff66 32% 35%,transparent 37% 55%,#ff859677 57% 60%,transparent 62%);clip-path:polygon(8% 12%,80% 0,100% 65%,80% 95%,0 80%)}[data-theme=llm] .blood-flow-central[data-v-ae5a3d12]:before{background:repeating-linear-gradient(0deg,#67dce814 0 1px,#0000 1px 5px),linear-gradient(90deg,#0000,#123241cc,#0000);border-block:1px solid #6eeaff99;inset:20% -8%}[data-theme=llmAnime] .blood-flow-central[data-v-ae5a3d12]:before{background:linear-gradient(135deg,#0000 12%,#fd8db344 15% 17%,#0000 20% 60%,#dab5ef66 63% 66%,#0000 70%);transform:skew(-15deg)}.blood-flow-winner-payment[data-v-ae5a3d12]{color:var(--theme-positive,#7bddad);white-space:nowrap;align-items:baseline;gap:6px;display:flex;position:absolute;transform:translate(-50%)}.blood-flow-winner-payment[data-v-ae5a3d12],.blood-flow-seat-feedback[data-v-ae5a3d12]{animation:.4s cubic-bezier(.2,1.3,.4,1) backwards payment-in-ae5a3d12}.blood-flow-winner-payment b[data-v-ae5a3d12]{font-variant-numeric:tabular-nums;font-size:clamp(40px,5.5vw,76px);line-height:1.1}.blood-flow-winner-payment span[data-v-ae5a3d12]{font-size:15px}.blood-flow-winner-payment b.negative[data-v-ae5a3d12]{color:var(--theme-negative,#ffae9f)}.blood-flow-winner-payment[data-v-ae5a3d12],.blood-flow-seat-feedback.win-payment[data-v-ae5a3d12]{text-shadow:0 2px 3px #000b;paint-order:stroke fill;-webkit-text-stroke:1px #14231da8}.blood-flow-seat-feedback.win-payment[data-v-ae5a3d12]{background:0 0;border:0}.winner-0[data-v-ae5a3d12]{bottom:19%;left:50%}.winner-1[data-v-ae5a3d12]{top:39%;left:89%}.winner-2[data-v-ae5a3d12]{top:12%;left:50%}.winner-3[data-v-ae5a3d12]{top:39%;left:12.5%}@keyframes payment-in-ae5a3d12{0%{opacity:0;transform:translate(-50%)scale(.55)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes payment-in-right-ae5a3d12{0%{opacity:0;transform:translate(-100%)scale(.55)}to{opacity:1;transform:translate(-100%)scale(1)}}@keyframes payment-in-left-ae5a3d12{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.blood-flow-seat-feedback[data-v-ae5a3d12]{background:var(--theme-panel,#122c25);color:var(--theme-positive,#7bddad);border:1px solid color-mix(in srgb,var(--win-color) 50%,transparent);border-radius:8px;justify-items:center;padding:6px 12px;display:grid;position:absolute;transform:translate(-50%)}.winner-1[data-v-ae5a3d12],.feedback-1[data-v-ae5a3d12]{animation-name:payment-in-right-ae5a3d12;transform:translate(-100%)}.winner-3[data-v-ae5a3d12],.feedback-3[data-v-ae5a3d12]{animation-name:payment-in-left-ae5a3d12;transform:none}.blood-flow-seat-feedback.negative[data-v-ae5a3d12]{color:var(--theme-negative,#ffae9f)}.blood-flow-seat-feedback b[data-v-ae5a3d12]{font-variant-numeric:tabular-nums;font-size:clamp(34px,4.6vw,64px)}.blood-flow-seat-feedback span[data-v-ae5a3d12]{font-size:13px}.feedback-0[data-v-ae5a3d12]{bottom:20%;left:50%}.feedback-1[data-v-ae5a3d12]{top:39%;left:89%}.feedback-2[data-v-ae5a3d12]{top:12%;left:50%}.feedback-3[data-v-ae5a3d12]{top:39%;left:12.5%}.compact .blood-flow-central[data-v-ae5a3d12]{width:clamp(140px,25vw,210px)}.compact .blood-flow-multi-intro[data-v-ae5a3d12]{width:clamp(150px,24vw,230px)}.compact[data-v-ae5a3d12] .anime-action-cue{--action-art-scale:1.55;width:76px;height:60px}.compact[data-v-ae5a3d12] .anime-action-copy strong{-webkit-text-stroke:3px #2d241c;font-size:28px}.compact .stage-main .blood-flow-central[data-v-ae5a3d12]{width:clamp(170px,30vw,265px)}.compact .blood-flow-seat-feedback[data-v-ae5a3d12]{padding:3px 7px}.compact .winner-0[data-v-ae5a3d12],.compact .feedback-0[data-v-ae5a3d12]{bottom:calc(var(--safe-bottom) + var(--hand-zone-height) + var(--hud-gap));animation-name:payment-in-compact-center-ae5a3d12;left:50%;transform:translate(-50%)}.compact .winner-1[data-v-ae5a3d12],.compact .feedback-1[data-v-ae5a3d12]{top:var(--side-seat-anchor);left:auto;right:calc(var(--safe-right) + var(--seat-card-width) + var(--hud-gap));animation-name:payment-in-compact-side-ae5a3d12;transform:translateY(-50%)}.compact .winner-3[data-v-ae5a3d12],.compact .feedback-3[data-v-ae5a3d12]{top:var(--side-seat-anchor);left:calc(var(--safe-left) + var(--seat-card-width) + var(--hud-gap));animation-name:payment-in-compact-side-ae5a3d12;transform:translateY(-50%)}.compact .winner-2[data-v-ae5a3d12],.compact .feedback-2[data-v-ae5a3d12]{animation-name:payment-in-compact-center-ae5a3d12;top:10%;left:50%;transform:translate(-50%)}@keyframes payment-in-compact-side-ae5a3d12{0%{opacity:0;transform:translateY(-50%)scale(.55)}to{opacity:1;transform:translateY(-50%)scale(1)}}@keyframes payment-in-compact-center-ae5a3d12{0%{opacity:0;transform:translate(-50%)scale(.55)}to{opacity:1;transform:translate(-50%)scale(1)}}.game-table-hud[data-v-dd574cf3]{display:contents}.blood-flow-reform-tip[data-v-dd574cf3]{background:color-mix(in srgb, var(--theme-panel) 88%, transparent);color:var(--theme-text);border:1px solid #4cc9f08c;border-radius:8px;align-items:center;gap:6px;max-width:min(52vw,460px);padding:4px 10px;font-size:12px;line-height:1.3;display:flex}.blood-flow-reform-tip b[data-v-dd574cf3]{color:#7adcff}.blood-flow-reform-tip .reform-tile[data-v-dd574cf3]{color:var(--theme-positive,#9be6c6)}.hand-tile-slot.reform-discard .ting-arrow.reform-arrow[data-v-dd574cf3]{filter:drop-shadow(0 2px 1px #002d4abf)drop-shadow(0 0 5px #4cc9f099);background:linear-gradient(135deg,#bdf3ff 0 13%,#4cc9f0 42%,#2a9dcc 100%)}.reform-badge[data-v-dd574cf3]{z-index:5;color:#eafcff;text-align:center;pointer-events:none;background:#2a9dcc;border-radius:8px;min-width:17px;padding:0 3px;font-size:11px;font-weight:800;line-height:15px;position:absolute;top:-16px;right:-4px;box-shadow:0 2px 4px #0008}@container (width<=900px) or (height<=500px){.blood-flow-reform-tip[data-v-dd574cf3]{max-width:62vw;padding:3px 7px;font-size:10px}.reform-badge[data-v-dd574cf3]{min-width:14px;font-size:9px;line-height:13px;top:-13px}}.blood-flow-waiting-tip[data-v-dd574cf3]{box-sizing:border-box;align-items:flex-start;width:fit-content;max-height:min(320px,55vh);margin-inline:auto;left:0;right:0;overflow:hidden auto;transform:none}.blood-flow-wait-grid[data-v-dd574cf3]{--bf-wait-panel:min(620px, 82cqw);--bf-wait-pad:26px;--bf-wait-gap:14px;--bf-wait-tile-cap:44px;grid-template-columns:repeat(var(--bf-wait-cols,1), minmax(0, 1fr));gap:12px 14px;display:grid}.blood-flow-wait-tile[data-v-dd574cf3]{font-variant-numeric:tabular-nums;align-content:start;justify-items:center;font-size:13px;line-height:1.3;display:grid}.blood-flow-wait-tile .mahjong-tile.small[data-v-dd574cf3]{--tile-width:min(var(--bf-wait-tile-cap), calc((var(--bf-wait-panel) - var(--bf-wait-pad) - (var(--bf-wait-cols,1) - 1) * var(--bf-wait-gap)) / var(--bf-wait-cols,1)));margin-bottom:4px}.wait-multiplier[data-v-dd574cf3]{color:var(--theme-accent);font-weight:800}.wait-remaining[data-v-dd574cf3]{color:var(--theme-text)}.blood-flow-wait-tile.exhausted[data-v-dd574cf3]{opacity:.5}@container (width<=900px) or (height<=500px){.blood-flow-wait-grid[data-v-dd574cf3]{--bf-wait-pad:14px;--bf-wait-gap:10px;--bf-wait-tile-cap:30px;gap:8px 10px}.blood-flow-wait-tile[data-v-dd574cf3]{font-size:11px}.blood-flow-wait-tile .mahjong-tile.small[data-v-dd574cf3]{margin-bottom:2px}}.blood-flow-pile-badge[data-v-dd574cf3]{border:1px solid color-mix(in srgb, var(--theme-accent) 40%, transparent);background:color-mix(in srgb, var(--theme-accent) 10%, transparent);max-width:100%;min-height:24px;color:var(--theme-text);white-space:nowrap;cursor:pointer;pointer-events:auto;background:var(--theme-panel);border-radius:5px;flex-shrink:0;margin-top:2px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1.2;display:block;position:relative}.blood-flow-pile-badge[data-v-dd574cf3]:hover{border-color:var(--theme-accent)}.blood-flow-pile-badge[data-v-dd574cf3]:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}@container (width<=900px) or (height<=500px){.blood-flow-pile-badge[data-v-dd574cf3]{max-width:none;min-height:22px;margin:0;padding:3px 4px;font-size:10px;position:absolute;top:4px;right:calc(100% + 4px)}.win-count-left[data-v-dd574cf3],.win-count-bottom[data-v-dd574cf3]{left:calc(100% + 4px);right:auto}.win-count-right[data-v-dd574cf3]{top:auto;bottom:4px}.blood-flow-table .hand-rack[data-v-dd574cf3] .mahjong-tile{--tile-width:clamp(24px, 5.2vw, 40px)}.blood-flow-table .hand-tile-slot[data-v-dd574cf3]{min-width:0}.blood-flow-table .hand-rack[data-v-dd574cf3]:not(.has-melds){justify-content:center;padding-left:0;padding-right:0}}.flip-indicator[data-v-dd574cf3]{z-index:30;cursor:pointer;background:#1c1408b8;border:1px solid #d4af3799;border-radius:10px;gap:5px;padding:6px 10px;display:grid;position:absolute;top:50px;right:18px;box-shadow:0 2px 10px #0006}.flip-indicator-head[data-v-dd574cf3]{align-items:center;gap:6px;display:flex}.flip-indicator-head>span[data-v-dd574cf3]{color:#ffd966;letter-spacing:2px;font-size:14px;font-weight:700}.flip-indicator-head>em[data-v-dd574cf3]{color:#f3e5c3;font-size:13px;font-style:normal;font-weight:600}.flip-indicator-body[data-v-dd574cf3]{gap:5px;display:grid}.flip-chevron[data-v-dd574cf3]{color:#ffd966;font-size:10px;font-style:normal;transition:transform .2s;display:none}.flip-open .flip-chevron[data-v-dd574cf3]{transform:rotate(180deg)}.joker-guide[data-v-dd574cf3]{color:#f3e5c3;white-space:nowrap;gap:2px;font-size:11px;line-height:1.35;display:grid}.joker-guide strong[data-v-dd574cf3]{color:#7ce6ff;font-weight:800}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.flip-indicator[data-v-dd574cf3]{top:calc(var(--safe-top) + var(--topbar-height) + var(--hud-gap));right:auto;left:calc(var(--safe-left) + 8px);box-sizing:border-box;min-width:44px;min-height:44px;max-width:calc(100cqw - var(--safe-left) - var(--safe-right) - 16px);border-radius:8px;gap:2px;padding:3px 6px}.flip-indicator-head[data-v-dd574cf3]{flex-wrap:nowrap;gap:3px;min-width:0}.flip-indicator-head>span[data-v-dd574cf3]{letter-spacing:1px;font-size:12px}.flip-indicator-head>.mahjong-tile.small[data-v-dd574cf3]{--tile-width:clamp(18px, 4.8vw, 22px);top:0}.flip-indicator-head>em[data-v-dd574cf3]{white-space:nowrap;flex:none;font-size:11px}.flip-chevron[data-v-dd574cf3]{display:block}.flip-indicator-body[data-v-dd574cf3]{display:none}.flip-open .flip-indicator-body[data-v-dd574cf3]{gap:3px;display:grid}.joker-guide[data-v-dd574cf3]{font-size:10px}.joker-guide div[data-v-dd574cf3]{white-space:normal;max-width:150px}}@container (width>=1024px) and (height>=768px){.flip-indicator[data-v-dd574cf3]{border-radius:10px;gap:5px;min-width:0;max-width:none;min-height:0;padding:6px 10px;top:50px;left:auto;right:18px}.flip-indicator-head>span[data-v-dd574cf3]{letter-spacing:2px;font-size:14px}.flip-indicator-head>.mahjong-tile.small[data-v-dd574cf3]{--tile-width:clamp(20px, 2.15vw, 33px)}.flip-indicator-head>em[data-v-dd574cf3]{font-size:13px}.flip-chevron[data-v-dd574cf3]{display:none}.flip-indicator-body[data-v-dd574cf3]{display:grid}.joker-guide[data-v-dd574cf3]{font-size:11px}.joker-guide div[data-v-dd574cf3]{white-space:nowrap;max-width:none}}.chi-option-tiles[data-v-dd574cf3]{vertical-align:middle;gap:2px;margin-left:4px;display:inline-flex}.blood-flow-table .flip-indicator-body[data-v-dd574cf3]{display:none}.blood-flow-table .flip-open .flip-indicator-body[data-v-dd574cf3]{display:grid}.blood-flow-table .flip-chevron[data-v-dd574cf3]{border-bottom:1px solid;border-right:1px solid;width:5px;height:5px;margin:0 3px 3px;display:block;transform:rotate(45deg)}.blood-flow-table .flip-open .flip-chevron[data-v-dd574cf3]{transform:rotate(225deg)}.blood-flow-table .flip-indicator-head>.mahjong-tile.small[data-v-dd574cf3]{--tile-width:24px}.chi-action[data-v-dd574cf3]{gap:2px}.chi-picker-options[data-v-dd574cf3]{align-items:stretch}.chi-picker-option[data-v-dd574cf3]{cursor:pointer;background:#04271ceb;border:1px solid #d4af3780;border-radius:10px;align-items:center;gap:5px;padding:10px 12px;display:flex}.chi-picker-option[data-v-dd574cf3]:hover,.chi-picker-option[data-v-dd574cf3]:focus-visible{background:#0d422df5;border-color:#f4cb63;transform:translateY(-2px)}.room-away-note[data-v-5151ec39]{border:1px solid color-mix(in srgb, var(--theme-accent,#e6c482) 45%, transparent);background:color-mix(in srgb, var(--theme-accent,#e6c482) 10%, transparent);color:var(--theme-text,#fff2d9);text-align:center;border-radius:8px;margin:0 0 8px;padding:7px 10px;font-size:12px}.room-llm-note[data-v-5151ec39]{justify-content:center;align-items:center;gap:5px;margin:0 0 8px;font-size:13px;line-height:1.5;display:flex}.room-llm-note img[data-v-5151ec39]{width:18px;height:18px}.room-llm-note.on[data-v-5151ec39]{color:#4caf50}.room-llm-note.off[data-v-5151ec39]{color:#e6a23c}.room-llm-note.reserved[data-v-5151ec39]{border:1px solid color-mix(in srgb, var(--theme-accent,#e6c482) 40%, transparent);background:color-mix(in srgb, var(--theme-accent,#e6c482) 9%, transparent);color:var(--theme-accent,#e6c482);text-align:left;border-radius:8px;justify-content:flex-start;padding:6px 9px;font-size:12px}.room-character-entry[data-v-5151ec39]{border:1px solid color-mix(in srgb, var(--theme-border) 38%, transparent);background:color-mix(in srgb, var(--theme-panel-elevated) 72%, transparent);width:100%;color:var(--theme-text);text-align:left;cursor:pointer;border-radius:7px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 8px;display:grid}.room-character-entry img[data-v-5151ec39]{object-fit:cover;background:var(--theme-surface);border-radius:8px 8px 3px 3px;width:32px;height:32px}.room-character-entry span[data-v-5151ec39]{min-width:0;display:grid}.room-character-entry small[data-v-5151ec39]{color:var(--theme-text-muted);font-size:9px}.room-character-entry b[data-v-5151ec39]{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.room-character-entry em[data-v-5151ec39]{color:var(--theme-accent);font-size:10px;font-style:normal}.room-seat.llm-planned[data-v-5151ec39]{border-color:color-mix(in srgb, var(--theme-positive) 42%, transparent);background:color-mix(in srgb, var(--theme-positive) 10%, var(--theme-panel));color:var(--theme-positive)}.room-seat.llm-planned .room-seat-no[data-v-5151ec39]{background:color-mix(in srgb, var(--theme-positive) 20%, transparent);color:var(--theme-text)}.room-seat.llm-reserved[data-v-5151ec39]{border-color:color-mix(in srgb, var(--theme-accent,#e6c482) 55%, transparent);background:color-mix(in srgb, var(--theme-accent,#e6c482) 12%, var(--theme-panel));color:var(--theme-accent,#e6c482)}.room-seat.llm-reserved .room-seat-no[data-v-5151ec39]{background:color-mix(in srgb, var(--theme-accent,#e6c482) 26%, transparent);color:var(--theme-text)}.room-seat-reserved[data-v-5151ec39]{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.room-seat-provider.reserved[data-v-5151ec39]{color:var(--theme-accent,#e6c482)}.room-seat-provider[data-v-5151ec39]{width:100%;min-width:0;color:var(--theme-text);text-overflow:ellipsis;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;background:0 0;border:0;outline:0;flex:1;padding:5px 4px;font-size:12px;font-weight:600;overflow:hidden}.room-seat-provider-wrap[data-v-5151ec39]{flex:1;align-items:center;gap:5px;min-width:0;display:flex}.room-seat-provider-wrap>img[data-v-5151ec39]{flex:0 0 20px;width:20px;height:20px}.room-seat-provider[data-v-5151ec39]:focus-visible{box-shadow:0 0 0 2px var(--theme-accent);border-radius:4px}.room-seat-provider option[data-v-5151ec39]{background:var(--theme-panel);color:var(--theme-text)}.anime-character-picker[data-v-476546f2]{box-shadow:none;background:0 0;border:0;gap:12px;margin:0;padding:0;display:grid}.anime-character-picker header[data-v-476546f2]{border-bottom:2px solid #2d2923;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:7px;display:flex}.anime-character-picker header b[data-v-476546f2]{color:#2d2923;letter-spacing:.08em;font-size:14px}.anime-character-picker header span[data-v-476546f2]{color:#776a58;font-size:10px}.anime-character-picker-layout[data-v-476546f2]{grid-template-columns:minmax(180px,.85fr) minmax(210px,1.15fr);gap:12px;min-height:0;display:grid;overflow:hidden}.anime-character-preview[data-v-476546f2]{color:#302a24;background:#fffaf0;border:2px solid #2d2923;border-radius:4px;align-content:start;gap:8px;min-width:0;margin:0;padding:9px;display:grid;overflow:hidden;box-shadow:4px 4px #bd5b4852}.anime-character-preview-art[data-v-476546f2]{aspect-ratio:1;background:#e8dcc7;border:2px solid #2d2923;border-radius:18px 18px 6px 6px;place-items:center;width:100%;display:grid;overflow:hidden}.anime-character-preview-art img[data-v-476546f2]{object-fit:contain;width:100%;height:100%;display:block}.anime-character-preview small[data-v-476546f2]{color:#9b4034;letter-spacing:.16em;font-size:9px;font-weight:900}.anime-character-preview h3[data-v-476546f2]{color:#2d2923;word-break:keep-all;margin:2px 0 4px;font-size:19px;line-height:1.2}.anime-character-preview p[data-v-476546f2]{color:#6b5c4e;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.55;display:-webkit-box;overflow:hidden}.anime-character-grid[data-v-476546f2]{overscroll-behavior:contain;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));align-content:start;gap:7px;min-height:0;max-height:310px;padding:1px 3px 5px 1px;display:grid;overflow:hidden auto}.anime-character-grid button[data-v-476546f2]{color:#302a24;cursor:pointer;background:#fffaf0;border:1px solid #6c62567a;border-radius:3px;justify-items:center;gap:4px;min-width:0;padding:6px 3px 5px;transition:transform .14s,background-color .14s,border-color .14s;display:grid;position:relative}.anime-character-grid button[data-v-476546f2]:hover{border-color:#bd5b48;transform:translateY(-2px)rotate(-1deg)}.anime-character-grid[data-v-476546f2]{scrollbar-width:thin;scrollbar-color:#bd5b48 #f3e5cf}.anime-character-grid button[data-v-476546f2]:focus-visible{outline-offset:-3px;outline:2px solid #9f4035}.anime-character-grid button[data-v-476546f2]:active{transform:translateY(1px)}.anime-character-grid button.active[data-v-476546f2]{background:#f6d9c4;border-width:2px;border-color:#bd5b48;transform:translateY(-1px)rotate(-1deg);box-shadow:inset 0 -4px #bd5b48}.anime-character-thumb[data-v-476546f2]{background:#e8dcc7;border:1px solid #2d29238a;border-radius:12px 12px 5px 5px;place-items:center;width:52px;height:52px;display:grid;overflow:hidden}.anime-character-grid img[data-v-476546f2]{object-fit:cover;width:100%;height:100%}.anime-character-grid button>span[data-v-476546f2]:not(.anime-character-thumb){white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;min-height:2.6em;font-size:10px;font-weight:800;line-height:1.3;display:-webkit-box;overflow:hidden}.anime-character-grid i[data-v-476546f2]{color:#fffaf0;background:#bd5b48;border:2px solid #2d2923;border-radius:50%;place-items:center;width:17px;height:17px;font-size:10px;font-style:normal;font-weight:900;display:grid;position:absolute;top:4px;right:4px}.anime-avatar-fallback[data-v-476546f2]{color:#8d4b3f;place-items:center;width:100%;height:100%;font:900 28px Yu Gothic,Microsoft YaHei,sans-serif;display:grid}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.anime-character-preview[data-v-476546f2]{grid-template-columns:62px minmax(0,1fr);align-items:center;gap:6px;padding:7px}.anime-character-preview-art[data-v-476546f2]{width:62px}.anime-character-preview h3[data-v-476546f2]{font-size:16px}.anime-character-preview p[data-v-476546f2]{-webkit-line-clamp:4;font-size:9px;line-height:1.35}.anime-character-grid[data-v-476546f2]{grid-template-columns:repeat(auto-fit,minmax(58px,1fr));max-height:154px}.anime-character-thumb[data-v-476546f2]{width:36px;height:36px}}.lobby-visual[data-v-25bebf11]{text-align:center;gap:clamp(10px,2cqh,20px);min-width:0;min-height:0;display:grid}.theme-showcase[data-v-25bebf11]{width:min(540px,88cqw);box-shadow:none;isolation:isolate;background:0 0;border:0;gap:9px;margin:0 auto;padding:clamp(4px,.8cqw,8px);display:grid;position:relative;overflow:visible}.theme-showcase[data-v-25bebf11]:before{content:"";z-index:-1;background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--theme-accent) 18%, transparent), transparent 52%);pointer-events:none;position:absolute;inset:-18%}.theme-showcase-frame[data-v-25bebf11]{aspect-ratio:16/9;border:1px solid color-mix(in srgb, var(--theme-border) 46%, transparent);background:var(--theme-surface);border-radius:13px;min-height:0;position:relative;overflow:hidden;box-shadow:0 22px 60px #0000005c}.theme-showcase-frame img[data-v-25bebf11]{object-fit:cover;opacity:0;width:100%;height:100%;display:block}.theme-showcase.image-ready .theme-showcase-frame img[data-v-25bebf11]{opacity:1}.theme-showcase-loading[data-v-25bebf11]{background:linear-gradient(110deg, var(--theme-panel) 22%, var(--theme-panel-elevated) 42%, var(--theme-panel) 62%);background-size:260% 100%;place-items:center;animation:1.35s ease-in-out infinite lobby-preview-loading-25bebf11;display:grid;position:absolute;inset:0}.theme-showcase-loading span[data-v-25bebf11]{border:2px solid color-mix(in srgb, var(--theme-border) 45%, transparent);border-top-color:var(--theme-accent);border-radius:50%;width:42px;height:42px;animation:.9s linear infinite lobby-preview-spin-25bebf11}.theme-showcase.is-anime .theme-showcase-frame[data-v-25bebf11]{aspect-ratio:1;width:min(310px,64cqw);box-shadow:12px 14px 0 color-mix(in srgb, var(--theme-accent-secondary) 30%, transparent), 0 24px 54px #00000047;background:0 0;border:0;border-radius:28px 28px 10px 10px;justify-self:center}.theme-showcase.is-anime .theme-showcase-frame img[data-v-25bebf11]{object-fit:contain}.theme-showcase-fallback[data-v-25bebf11]{height:100%;color:var(--theme-text-muted);place-content:center;gap:7px;display:grid}.theme-showcase-fallback span[data-v-25bebf11]{color:var(--theme-accent);font:900 clamp(42px,8cqw,72px) Noto Serif SC,serif}.theme-showcase-copy[data-v-25bebf11]{gap:3px;display:grid}.theme-showcase-kicker[data-v-25bebf11]{color:var(--theme-text-muted);letter-spacing:.2em;font-size:10px}.theme-showcase-copy strong[data-v-25bebf11]{color:var(--theme-text);letter-spacing:.08em;font-size:clamp(19px,2.1cqw,26px)}.theme-showcase-copy p[data-v-25bebf11]{color:var(--theme-text-muted);margin:0;font-size:12px;line-height:1.5}.anime-table-theme[data-v-25bebf11]{color:var(--theme-text-muted);letter-spacing:.09em;justify-self:center;font-size:10px}.character-shortcut[data-v-25bebf11]{border:1px solid color-mix(in srgb, var(--theme-border) 55%, transparent);background:color-mix(in srgb, var(--theme-panel-elevated) 80%, transparent);width:min(230px,100%);color:var(--theme-text);cursor:pointer;text-align:center;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:0 auto;padding:8px 11px;display:grid}.character-shortcut[data-v-25bebf11]:hover{filter:brightness(1.08);transform:translateY(-1px)}.character-shortcut b[data-v-25bebf11]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.character-shortcut-chevron[data-v-25bebf11]{color:var(--theme-accent-secondary);font-size:16px;font-weight:800}.game-app[data-table-theme=llmAnime]{color:#fff1d8}.game-app[data-table-theme=llmAnime],.game-app[data-table-theme=llmAnime],.game-app[data-table-theme=llmAnime]{color:#b9b0a3}.game-app[data-table-theme=llmAnime]{color:#9b4034;background:#fff1dc;border:2px solid #2d2923;box-shadow:4px 4px #bd5b486b}@keyframes lobby-preview-loading-25bebf11{0%,to{background-position:100% 0}50%{background-position:0 0}}@keyframes lobby-preview-spin-25bebf11{to{transform:rotate(360deg)}}@container (width>=860px) and (height>=520px){.lobby-visual[data-v-25bebf11]{text-align:left;align-content:center}.theme-showcase[data-v-25bebf11]{width:min(540px,44cqw);margin:0}.theme-showcase.is-anime .theme-showcase-frame[data-v-25bebf11]{width:min(310px,30cqw,39cqh)}}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.lobby-visual[data-v-25bebf11]{text-align:left;align-content:center;gap:4px}.theme-showcase[data-v-25bebf11]{box-sizing:border-box;gap:3px;width:100%;padding:3px}.theme-showcase-frame[data-v-25bebf11]{width:100%}.theme-showcase.is-anime .theme-showcase-frame[data-v-25bebf11]{width:min(150px,100%,27cqh)}.theme-showcase-copy strong[data-v-25bebf11]{font-size:14px}.theme-showcase-copy p[data-v-25bebf11]{font-size:9px;line-height:1.25}.theme-showcase-kicker[data-v-25bebf11],.anime-table-theme[data-v-25bebf11]{font-size:8px}.character-shortcut[data-v-25bebf11]{width:100%;padding:4px 7px}}@media (prefers-reduced-motion:reduce){.theme-showcase-loading[data-v-25bebf11],.theme-showcase-loading span[data-v-25bebf11]{animation:none!important}}.lobby-actions[data-v-b4419473]{min-width:0}.llm-panel[data-v-d9a2e9d5]{z-index:100;color:#d0c39e;background:linear-gradient(160deg,#102b23,#071510 65%);border-left:1px solid #997439;width:min(410px,94vw);padding:26px 24px;font-size:13px;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-22px 0 60px #000000a6}.llm-panel header[data-v-d9a2e9d5]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.llm-panel h2[data-v-d9a2e9d5]{color:#e5d5ad;letter-spacing:.08em;margin:0;font-size:18px}.llm-close[data-v-d9a2e9d5]{color:#8ca296;cursor:pointer;background:0 0;border:0;font-size:16px}.llm-hint[data-v-d9a2e9d5]{color:#9db0a6;line-height:1.6}.llm-hint strong[data-v-d9a2e9d5]{color:#f3d27c}.llm-hint b[data-v-d9a2e9d5]{color:#e5d5ad}.llm-row[data-v-d9a2e9d5]{grid-template-columns:84px 1fr;align-items:center;gap:10px;margin:9px 0;display:grid}.llm-row>span[data-v-d9a2e9d5]{color:#a6b5ad}.llm-provider-warning[data-v-d9a2e9d5]{color:#f0b66f;margin:-2px 0 9px 94px;font-size:11px;line-height:1.5}.llm-timeout-toggle[data-v-d9a2e9d5]{align-items:center;gap:8px;display:flex;color:#d0c39e!important}.llm-timeout-toggle input[data-v-d9a2e9d5]{min-width:auto}.llm-row input[data-v-d9a2e9d5],.llm-row select[data-v-d9a2e9d5],.llm-seat-row select[data-v-d9a2e9d5]{color:#e8dcc0;background:#05120dcc;border:1px solid #d5ab544d;border-radius:6px;min-width:0;padding:7px 9px}.llm-provider-list[data-v-d9a2e9d5]{flex-direction:column;gap:6px;margin:10px 0;display:flex}.llm-provider-item[data-v-d9a2e9d5]{color:#d0c39e;cursor:pointer;text-align:left;background:0 0;border:1px solid #d5ab542e;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.llm-provider-item b[data-v-d9a2e9d5]{color:#e8dcc0}.llm-provider-item span[data-v-d9a2e9d5]{color:#8ca296;text-overflow:ellipsis;white-space:nowrap;max-width:55%;font-size:11px;overflow:hidden}.llm-provider-item.active[data-v-d9a2e9d5]{background:#d3ae5714;border-color:#e1bd5599}.llm-provider-item.default[data-v-d9a2e9d5]:after{content:"默认";color:#f3d27c;margin-left:6px;font-size:10px}.llm-provider-add[data-v-d9a2e9d5]{gap:8px;display:flex}.llm-provider-add select[data-v-d9a2e9d5]{color:#e8dcc0;background:#05120dcc;border:1px solid #d5ab544d;border-radius:6px;flex:1;min-width:0;padding:7px 9px}.llm-provider-add button[data-v-d9a2e9d5],.llm-actions button[data-v-d9a2e9d5]{color:#f3d27c;cursor:pointer;background:0 0;border:1px solid #d0a64d;border-radius:18px;padding:8px 14px;font-size:12px}.llm-seat-assign[data-v-d9a2e9d5]{border:1px solid #d5ab542e;border-radius:8px;margin:10px 0;padding:10px}.llm-sub-title[data-v-d9a2e9d5]{color:#8ca296;letter-spacing:.14em;margin:0 0 6px;font-size:11px}.llm-seat-row[data-v-d9a2e9d5]{justify-content:space-between;align-items:center;gap:8px;margin:6px 0;display:flex}.llm-seat-row.chosen[data-v-d9a2e9d5]{color:#f3d27c}button.llm-seat-row[data-v-d9a2e9d5]{color:#d0c39e;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:6px 8px}.llm-seat-picks[data-v-d9a2e9d5]{flex:1;justify-content:flex-end;gap:6px;min-width:0;display:flex}.llm-seat-picks select[data-v-d9a2e9d5]{max-width:55%}.llm-actions[data-v-d9a2e9d5]{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.llm-actions button[data-v-d9a2e9d5]:disabled{opacity:.5;cursor:default}.llm-import-input[data-v-d9a2e9d5]{display:none}.llm-transfer-hint[data-v-d9a2e9d5]{color:#84978d;margin:7px 0 0;font-size:11px;line-height:1.5}.llm-status[data-v-d9a2e9d5]{margin:8px 0}.llm-stats[data-v-d9a2e9d5]{border-top:1px solid #d3ae5724;margin-top:16px;padding-top:12px}.llm-stats h3[data-v-d9a2e9d5]{color:#8ca296;letter-spacing:.18em;margin:0 0 4px;font-size:12px}.llm-messages[data-v-d9a2e9d5]{margin:8px 0 0;padding:0;list-style:none}.llm-messages li[data-v-d9a2e9d5]{color:#e8dcc0;background:#d3ae5714;border-radius:8px;margin:5px 0;padding:7px 10px}.llm-panel[data-v-d9a2e9d5]{overscroll-behavior:contain;border-left-color:var(--theme-border);background:linear-gradient(160deg, var(--theme-panel-elevated), var(--theme-panel) 65%);color:var(--theme-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.llm-panel h2[data-v-d9a2e9d5],.llm-provider-item b[data-v-d9a2e9d5]{color:var(--theme-text)}.llm-close[data-v-d9a2e9d5],.llm-hint[data-v-d9a2e9d5],.llm-row>span[data-v-d9a2e9d5],.llm-sub-title[data-v-d9a2e9d5],.llm-transfer-hint[data-v-d9a2e9d5],.llm-stats h3[data-v-d9a2e9d5]{color:var(--theme-text-muted)}.llm-hint strong[data-v-d9a2e9d5],.llm-hint b[data-v-d9a2e9d5],.llm-provider-item.default[data-v-d9a2e9d5]:after,.llm-seat-row.chosen[data-v-d9a2e9d5]{color:var(--theme-accent)}.llm-provider-warning[data-v-d9a2e9d5]{color:var(--theme-accent-secondary)}.llm-timeout-toggle[data-v-d9a2e9d5]{color:var(--theme-text)!important}.llm-row input[data-v-d9a2e9d5],.llm-row select[data-v-d9a2e9d5],.llm-seat-row select[data-v-d9a2e9d5],.llm-provider-add select[data-v-d9a2e9d5]{border-color:color-mix(in srgb, var(--theme-border) 42%, transparent);background:color-mix(in srgb, var(--theme-surface) 42%, var(--theme-panel));color:var(--theme-text)}.llm-row input[data-v-d9a2e9d5]::placeholder{color:color-mix(in srgb, var(--theme-text-muted) 68%, transparent)}.llm-panel input[type=checkbox][data-v-d9a2e9d5]{accent-color:var(--theme-accent)}.llm-provider-item[data-v-d9a2e9d5]{border-color:color-mix(in srgb, var(--theme-border) 24%, transparent);color:var(--theme-text)}.llm-provider-item span[data-v-d9a2e9d5]{color:var(--theme-text-muted)}.llm-provider-item.active[data-v-d9a2e9d5]{border-color:var(--theme-accent);background:color-mix(in srgb, var(--theme-accent) 10%, transparent)}.llm-provider-add button[data-v-d9a2e9d5],.llm-actions button[data-v-d9a2e9d5]{border-color:var(--theme-border);color:var(--theme-accent)}.llm-seat-assign[data-v-d9a2e9d5]{border-color:color-mix(in srgb, var(--theme-border) 24%, transparent)}button.llm-seat-row[data-v-d9a2e9d5]{color:var(--theme-text)}button.llm-seat-row[data-v-d9a2e9d5]:hover{background:color-mix(in srgb, var(--theme-accent) 10%, transparent)}.llm-actions button[data-action-role=primary][data-v-d9a2e9d5]{background:var(--theme-button);color:var(--theme-text);box-shadow:0 7px 20px #00000047}.llm-actions button[data-action-role=danger][data-v-d9a2e9d5]{border-color:var(--theme-negative);background:color-mix(in srgb, var(--theme-negative) 12%, transparent);color:var(--theme-negative)}.llm-actions button[data-v-d9a2e9d5]:disabled{filter:grayscale(.45);opacity:.5;box-shadow:none}.llm-panel button[data-v-d9a2e9d5]:focus-visible,.llm-panel input[data-v-d9a2e9d5]:focus-visible,.llm-panel select[data-v-d9a2e9d5]:focus-visible{outline:3px solid var(--theme-accent);outline-offset:2px}.llm-status.ok[data-v-d9a2e9d5]{color:var(--theme-positive)}.llm-status.err[data-v-d9a2e9d5]{color:var(--theme-negative)}.llm-stats[data-v-d9a2e9d5]{border-top-color:color-mix(in srgb, var(--theme-border) 20%, transparent)}.llm-messages li[data-v-d9a2e9d5]{background:color-mix(in srgb, var(--theme-accent) 8%, transparent);color:var(--theme-text)}.llm-panel[data-table-theme=happyMahjong][data-v-d9a2e9d5]{border-radius:26px 0 0 26px}.llm-panel[data-table-theme=rosewood][data-v-d9a2e9d5]{border-left-width:3px;border-radius:5px 0 0 5px}.llm-panel[data-table-theme=llm][data-v-d9a2e9d5]{clip-path:polygon(12px 0,100% 0,100% 100%,0 100%,0 12px)}.llm-panel[data-table-theme=llmAnime][data-v-d9a2e9d5]{border-left:2px solid #2d2923;box-shadow:-5px 0 #bd5b4852,-18px 0 48px #0006}.llm-panel[data-table-theme=llmAnime][data-v-d9a2e9d5] :is(input,select,.llm-provider-item,.llm-seat-assign,.llm-actions button,.llm-provider-add button){border-radius:7px}.llm-panel[data-table-theme=llmAnime] .llm-provider-item[data-v-d9a2e9d5]{background:var(--theme-panel)}.llm-panel[data-table-theme=llmAnime] .llm-provider-item.active[data-v-d9a2e9d5]{border-color:var(--theme-accent);background:color-mix(in srgb, var(--theme-accent) 15%, var(--theme-panel));box-shadow:inset 4px 0 var(--theme-accent), 3px 3px 0 #0003}.llm-panel[data-table-theme=llmAnime] .llm-actions button[data-action-role=primary][data-v-d9a2e9d5]{border:2px solid #2d2923;box-shadow:3px 3px #bd5b4852}.llm-panel[data-table-theme=llmAnime] button[data-v-d9a2e9d5]:enabled:hover{border-color:var(--theme-accent)}.llm-panel[data-table-theme=llmAnime] button[data-v-d9a2e9d5]:enabled:active,.llm-panel[data-table-theme=llmAnime] .llm-actions button[data-v-d9a2e9d5]:disabled{box-shadow:none}.llm-panel[data-table-theme=llmAnime][data-v-d9a2e9d5] :is(.llm-hint strong,.llm-hint b,.llm-seat-row.chosen,.llm-provider-add button,.llm-actions button:not([data-action-role=primary]):not([data-action-role=danger])){color:#f2aa96}.replay-list-backdrop[data-v-97328a04]{z-index:210}.replay-list-card[data-v-97328a04]{width:min(820px,95%)}.replay-list-note[data-v-97328a04]{color:var(--theme-text-muted);text-align:center;margin:0 0 10px;font-size:12px}.replay-list-empty[data-v-97328a04]{color:var(--theme-text-muted);text-align:center;padding:22px 0;font-size:13px}.replay-list[data-v-97328a04]{gap:6px;max-height:min(50vh,460px);margin:0;padding:2px;list-style:none;display:grid;overflow:hidden auto}.replay-row[data-v-97328a04]{border:1px solid color-mix(in srgb, var(--theme-border) 30%, transparent);background:color-mix(in srgb, var(--theme-panel-elevated) 62%, transparent);border-radius:8px;grid-template-columns:6px minmax(0,1.4fr) minmax(0,1fr) 46px auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.replay-row-theme[data-v-97328a04]{background:var(--replay-theme-accent);border-radius:3px;width:6px;height:34px}.replay-row-main[data-v-97328a04]{gap:2px;min-width:0;display:grid}.replay-row-main strong[data-v-97328a04]{color:var(--theme-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.replay-row-mode[data-v-97328a04]{border:1px solid color-mix(in srgb, var(--theme-border) 50%, transparent);color:var(--theme-text-muted);vertical-align:1px;border-radius:4px;margin-right:5px;padding:0 5px;font-size:10px;font-style:normal}.replay-row-mode[data-mode=remote][data-v-97328a04]{border-color:color-mix(in srgb, var(--theme-accent) 60%, transparent);color:var(--theme-accent)}.replay-row-sub[data-v-97328a04]{color:var(--theme-text-muted);font-size:12px}.replay-row-meta[data-v-97328a04]{justify-items:start;gap:2px;min-width:0;display:grid}.replay-row-date[data-v-97328a04]{color:var(--theme-text);font-size:12px}.replay-row-theme-name[data-v-97328a04]{color:var(--theme-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.replay-row-version[data-v-97328a04]{color:#e0a94a;font-size:11px}.replay-row-analysis[data-v-97328a04]{color:var(--theme-text-muted);font-size:11px}.replay-row-analysis[data-analysis-status=complete][data-v-97328a04]{color:var(--theme-accent)}.replay-row-analysis[data-analysis-status=partial][data-v-97328a04]{color:#e0a94a}.replay-row-analysis[data-analysis-status=deleted][data-v-97328a04],.replay-row-analysis[data-analysis-status=missing][data-v-97328a04],.replay-row-analysis[data-analysis-status=none][data-v-97328a04]{color:var(--theme-text-muted)}.replay-row-rank[data-v-97328a04]{color:var(--theme-text-muted);text-align:center;font-size:15px}.replay-row-rank.rank-1[data-v-97328a04]{color:var(--theme-accent)}.replay-row-actions[data-v-97328a04]{gap:6px;display:flex}.replay-row-actions button[data-v-97328a04]{border-radius:7px;padding:5px 10px;font-size:12px}.replay-list-settings[data-v-97328a04]{color:var(--theme-text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin:10px 4px 0;font-size:12px;display:flex}.replay-list-settings select[data-v-97328a04]{border:1px solid color-mix(in srgb, var(--theme-border) 45%, transparent);background:var(--theme-button);color:var(--theme-text);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:6px;margin-left:4px;padding:3px 6px}.replay-list-settings select option[data-v-97328a04]{background-color:var(--theme-panel,#0a231a);color:var(--theme-text,#f8f3df)}.replay-analysis-switch[data-v-97328a04]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.replay-analysis-switch input[data-v-97328a04]{width:15px;height:15px;accent-color:var(--theme-accent,#e6c482);cursor:pointer}.replay-analysis-switch input[data-v-97328a04]:disabled{cursor:default}.replay-list-hint[data-v-97328a04]{color:var(--theme-accent)}.replay-import-input[data-v-97328a04]{opacity:0;pointer-events:none;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.replay-list-settings button[data-v-97328a04]{border-radius:7px;padding:4px 10px;font-size:12px}.replay-list-actions[data-v-97328a04]{justify-content:center;gap:14px;margin:16px 8px 0}@media (width<=720px){.replay-row[data-v-97328a04]{grid-template-columns:6px minmax(0,1fr) auto;grid-template-areas:"theme main actions"".meta actions"".rank actions"}.replay-row-theme[data-v-97328a04]{grid-area:theme}.replay-row-main[data-v-97328a04]{grid-area:main}.replay-row-meta[data-v-97328a04]{grid-area:meta}.replay-row-rank[data-v-97328a04]{text-align:left;grid-area:rank}.replay-row-actions[data-v-97328a04]{grid-area:actions}}:root{color:#f8f3df;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;font-synthesis:none;background:#08110e;font-family:Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;min-height:100dvh;margin:0;overflow:hidden}body{background:#030706}button{font:inherit}.game-app,.orientation-gate{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game-app img,.orientation-gate img{-webkit-user-drag:none;user-drag:none}.game-app button,.orientation-gate button{touch-action:manipulation}.game-app button:focus-visible,.game-app [role=button]:focus-visible,.orientation-gate button:focus-visible{outline:2px solid var(--theme-accent,#dfbd68);outline-offset:3px}.orientation-gate{z-index:10000;color:var(--theme-text,#f8f3df);background:var(--theme-page-background,radial-gradient(circle at 50% 38%, #26755257, transparent 38%) #030706);text-align:center;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.orientation-card{border:1px solid color-mix(in srgb, var(--theme-border,#debe75) 52%, transparent);background:color-mix(in srgb, var(--theme-panel,#0a231b) 94%, transparent);border-radius:16px;width:min(360px,100%);padding:30px 24px 26px;box-shadow:0 22px 60px #0000007a,inset 0 0 35px #ffd6790a}.orientation-card .eyebrow{color:var(--theme-accent);letter-spacing:.28em;margin:18px 0 5px;font-size:10px}.orientation-card h2{color:var(--theme-text);margin:0;font:700 28px Georgia,Microsoft YaHei,serif}.orientation-card>p:not(.eyebrow){color:var(--theme-text-muted);margin:12px auto 20px;font-size:14px;line-height:1.7}.orientation-card button{border:1px solid var(--theme-border);width:100%;min-height:44px;color:var(--theme-text);background:var(--theme-button);cursor:pointer;border-radius:10px;padding:12px 16px;font-weight:800}.orientation-card button:hover{box-shadow:0 0 0 1px var(--theme-accent)}.orientation-card button:active{box-shadow:inset 0 2px 5px #0000004d}.orientation-card small{color:var(--theme-accent);margin-top:13px;line-height:1.5;display:block}.orientation-gate[data-table-theme=happyMahjong] .orientation-card{border-width:2px;border-radius:24px}.orientation-gate[data-table-theme=happyMahjong] .orientation-card button{color:var(--theme-panel);border-radius:16px}.orientation-gate[data-table-theme=rosewood] .orientation-card{border-width:2px;border-radius:7px}.orientation-gate[data-table-theme=llm] .orientation-card{border-radius:5px}.orientation-gate:is([data-table-theme=happyMahjong],[data-table-theme=llm],[data-table-theme=llmAnime]) h2{font-family:Microsoft YaHei,PingFang SC,sans-serif}.orientation-gate[data-table-theme=llmAnime] .orientation-card{background:linear-gradient(150deg, var(--theme-panel-elevated), var(--theme-panel));border:2px solid #2d2923;border-radius:10px;box-shadow:5px 5px #bd5b4866,0 22px 60px #0000007a}.orientation-gate[data-table-theme=llmAnime] .orientation-card button{background:linear-gradient(#ad4e3e,#9f4035);border:2px solid #2d2923;border-radius:7px;box-shadow:3px 3px #bd5b4852}.orientation-gate[data-table-theme=llmAnime] .orientation-card button:active{box-shadow:none}.orientation-gate[data-table-theme=llmAnime] :is(.eyebrow,.orientation-card small){color:#f2aa96}.phone-rotate-icon{border:3px solid var(--theme-accent);border-radius:10px;width:78px;height:52px;margin:2px auto 0;animation:1.8s ease-in-out infinite phone-rotate;position:relative}.phone-rotate-icon:before{content:"";background:var(--theme-accent);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.phone-rotate-icon span{border-top:2px solid var(--theme-border);border-right:2px solid var(--theme-border);border-radius:50%;width:25px;height:25px;position:absolute;top:-14px;right:-17px}.phone-rotate-icon span:after{content:"";border:4px solid #0000;border-top-color:var(--theme-border);position:absolute;bottom:1px;right:-3px;transform:rotate(-35deg)}@keyframes phone-rotate{0%,28%{transform:rotate(90deg)}58%,to{transform:rotate(0)}}.game-app{--theme-page-background:radial-gradient(circle at 50% 42%, #23654847, transparent 42%), #07110d;--theme-ambient-overlay:none;--theme-surface:#163a2c;--theme-panel:#0a231a;--theme-panel-elevated:#123327;--theme-text:#f8f3df;--theme-text-muted:#aebdb1;--theme-border:#b99249;--theme-accent:#dfbd68;--theme-accent-secondary:#79a487;--theme-positive:#78c996;--theme-negative:#e98378;--theme-top-bar:linear-gradient(180deg, #040e0ae6, #04130e7a, transparent);--theme-button:linear-gradient(180deg, #1f4736f0, #091f17f5);--theme-tooltip:linear-gradient(155deg, #123024fa, #05130efc 70%);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--game-cqw:1cqw;--game-cqh:1cqh;--game-unit:min(var(--game-cqw), calc(var(--game-cqh) * 16 / 9));--topbar-height:45px;--seat-card-width:clamp(76px, calc(7 * var(--game-cqw)), 104px);--seat-card-height:auto;--hand-visual-width:clamp(32px, calc(4.25 * var(--game-cqw)), 58px);--hand-hit-target:44px;--control-hit-target:44px;--action-art-scale:2;--action-art-max-width:min(42cqw, 620px);--action-art-max-height:min(58cqh, 620px);--hud-gap:clamp(6px, calc(1.1 * var(--game-unit)), 16px);width:100%;height:100dvh;color:var(--theme-text);background:var(--theme-page-background);position:fixed;inset:0;overflow:hidden;container:game/size}.game-app[data-table-theme=happyMahjong]{--theme-page-background:radial-gradient(circle at 28% 18%, #ffcb5333, transparent 30%), radial-gradient(circle at 76% 74%, #ef765729, transparent 34%), linear-gradient(145deg, #0b3540, #071d26 68%, #06151b);--theme-surface:#175566;--theme-panel:#0e3b48;--theme-panel-elevated:#185c6c;--theme-text:#fff9e8;--theme-text-muted:#b9d8d6;--theme-border:#efc85b;--theme-accent:#f7ca4e;--theme-accent-secondary:#f07a5d;--theme-positive:#7bd6a3;--theme-negative:#ff8478;--theme-top-bar:linear-gradient(180deg, #062831f0, #072f399e, transparent);--theme-button:linear-gradient(180deg, #f8d35e, #e9a83f);--theme-tooltip:linear-gradient(155deg, #14525ffa, #07242dfc 72%)}.game-app[data-table-theme=rosewood]{--theme-page-background:radial-gradient(circle at 50% 34%, #ad56353d, transparent 42%), repeating-linear-gradient(92deg, #ffdaa405 0 1px, transparent 1px 9px), #1a0906;--theme-surface:#542417;--theme-panel:#2b120c;--theme-panel-elevated:#4a2015;--theme-text:#fff3dc;--theme-text-muted:#d0bba3;--theme-border:#c99a4c;--theme-accent:#e0b45c;--theme-accent-secondary:#b7523f;--theme-positive:#82bf8d;--theme-negative:#e67465;--theme-top-bar:linear-gradient(180deg, #1e0a06f0, #39160d99, transparent);--theme-button:linear-gradient(180deg, #74402b, #3d1c12);--theme-tooltip:linear-gradient(155deg, #4b1f14fa, #200c08fc 72%)}.game-app[data-table-theme=llm]{--theme-page-background:radial-gradient(circle at 50% 32%, #486fde42, transparent 38%), radial-gradient(circle at 82% 72%, #7452cb24, transparent 28%), #03081b;--theme-surface:#101d43;--theme-panel:#081431;--theme-panel-elevated:#102451;--theme-text:#eef4ff;--theme-text-muted:#aebce2;--theme-border:#76d9ff;--theme-accent:#76d9ff;--theme-accent-secondary:#9a8af0;--theme-positive:#65d5b1;--theme-negative:#ff7f93;--theme-top-bar:linear-gradient(180deg, #03081bf5, #081436a3, transparent);--theme-button:linear-gradient(180deg, #1c3d82f5, #08183efa);--theme-tooltip:linear-gradient(155deg, #112658fa, #050e2afc 72%)}.game-app[data-table-theme=llmAnime]{--theme-page-background:radial-gradient(circle at 28% 20%, #78d8e81f, transparent 28%), radial-gradient(circle at 75% 70%, #bd5b4829, transparent 34%), #0a120f;--theme-surface:#29372f;--theme-panel:#18231e;--theme-panel-elevated:#29372f;--theme-text:#fff8ec;--theme-text-muted:#c8c4b9;--theme-border:#9d9282;--theme-accent:#bd5b48;--theme-accent-secondary:#78d8e8;--theme-positive:#70bf89;--theme-negative:#ed786a;--theme-top-bar:linear-gradient(180deg, #080e0bf5, #141f1aa8, transparent);--theme-button:linear-gradient(180deg, #bd5b48, #9f4035);--theme-tooltip:linear-gradient(155deg, #243029fa, #0c1410fc 72%)}.top-bar{z-index:20;top:var(--safe-top);left:var(--safe-left);right:var(--safe-right);height:var(--topbar-height);padding:0 max(16px, var(--safe-right)) 0 max(13px, var(--safe-left));background:var(--theme-top-bar);color:#b9c4b5;justify-content:space-between;align-items:center;font-size:clamp(14px,1.15cqw,19px);display:flex;position:absolute}.brand-mini{color:#d9c491;letter-spacing:.12em;align-items:center;gap:8px;display:flex}.brand-mini i{border:1px solid #a9823c;border-radius:50%;place-items:center;width:25px;height:25px;font:700 14px Noto Serif SC,serif;display:grid}.base-score-badge{color:#f1cc70;letter-spacing:.08em;pointer-events:none;align-items:center;gap:9px;margin-right:auto;padding:5px;font-size:clamp(12px,1cqw,15px);font-weight:800;display:flex}.base-score-badge .badge-room{color:#d0c39e;font-weight:600}.base-score-badge .signal-icon{object-fit:contain;filter:drop-shadow(0 1px 2px #0006);width:18px;height:18px}.base-score-badge .signal-warn{color:#e0a06a;font-size:11px}.round-info{border:1px solid color-mix(in srgb, var(--theme-border) 34%, transparent);background:color-mix(in srgb, var(--theme-panel) 42%, transparent);letter-spacing:.12em;border-radius:99px;padding:5px 19px;position:absolute;left:50%;transform:translate(-50%)}.top-bar nav{gap:8px;margin-left:auto;display:flex}.top-bar button{border:1px solid color-mix(in srgb, var(--theme-border) 42%, transparent);background:color-mix(in srgb, var(--theme-panel) 72%, transparent);width:clamp(34px,2.8cqw,44px);height:clamp(34px,2.8cqw,44px);color:var(--theme-text);cursor:pointer;border-radius:50%;font-size:clamp(15px,1.25cqw,20px)}.top-bar button:hover{background:color-mix(in srgb, var(--theme-accent) 18%, var(--theme-panel));border-color:var(--theme-border)}.theme-picker,.audio-picker{position:relative}.theme-toggle{place-items:center;padding:0;display:grid}.topbar-control:disabled{opacity:.45;cursor:not-allowed}.theme-toggle-mark{grid-template-columns:repeat(2,7px);gap:2px;width:17px;height:17px;display:grid;transform:rotate(45deg)}.theme-toggle-mark i{background:#2a7287;border:1px solid #ffefb3c7;border-radius:2px;display:block;box-shadow:0 0 3px #ffd56638}.theme-toggle-mark i:nth-child(2){background:#b87343}.theme-toggle-mark i:nth-child(3){background:#2e9a62}.theme-toggle-mark i:nth-child(4){background:#d7bd68}.theme-menu{z-index:80;border:1px solid color-mix(in srgb, var(--theme-border) 62%, transparent);background:var(--theme-tooltip);scrollbar-width:thin;scrollbar-color:var(--theme-accent) color-mix(in srgb, var(--theme-panel) 82%, transparent);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(390px,100vw - 12px);max-width:calc(100vw - 12px);max-height:min(320px,100dvh - 14px);padding:8px;display:grid;position:absolute;top:calc(100% + 9px);right:0;overflow-y:auto;box-shadow:0 18px 42px #0000009e,inset 0 1px #ffffff0d}.theme-menu::-webkit-scrollbar{width:7px}.theme-menu::-webkit-scrollbar-track{background:color-mix(in srgb, var(--theme-panel) 82%, transparent);border-radius:8px}.theme-menu::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--theme-accent) 72%, var(--theme-panel));border-radius:8px}.theme-menu:before{content:"";border-top:1px solid color-mix(in srgb, var(--theme-border) 62%, transparent);border-left:1px solid color-mix(in srgb, var(--theme-border) 62%, transparent);background:var(--theme-panel-elevated);width:9px;height:9px;position:absolute;top:-5px;right:14px;transform:rotate(45deg)}.theme-menu>p{color:var(--theme-accent);letter-spacing:.2em;white-space:nowrap;grid-column:1/-1;margin:2px 7px 3px;font-size:14px}.top-bar .theme-menu>button{text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:58px minmax(0,1fr) 10px;align-items:center;gap:8px;width:100%;height:auto;min-height:68px;padding:6px;display:grid}.theme-menu>button:hover,.theme-menu>button.active{border-color:color-mix(in srgb, var(--theme-border) 48%, transparent);background:color-mix(in srgb, var(--theme-accent) 12%, transparent)}.theme-menu>button>span{min-width:0}.theme-card-preview{aspect-ratio:16/9;border:1px solid color-mix(in srgb, var(--theme-border) 45%, transparent);border-radius:6px;width:58px;display:block;position:relative;overflow:hidden;box-shadow:0 3px 8px #00000047}.theme-card-preview img{object-fit:cover;width:100%;height:100%;display:block}.theme-card-copy{min-width:0}.theme-menu strong,.theme-menu small{display:block}.theme-menu strong{color:var(--theme-text);font:700 14px Noto Serif SC,serif}.theme-menu small{color:var(--theme-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:10px;line-height:1.25;display:-webkit-box;overflow:hidden}.theme-menu>button>i{border:1px solid #84785e;border-radius:50%;flex:none;width:10px;height:10px;margin-left:8px;box-shadow:inset 0 0 0 2px #092018}.theme-menu>button.active>i{border-color:var(--theme-accent);background:var(--theme-accent)}.audio-menu{z-index:80;border:1px solid color-mix(in srgb, var(--theme-border) 62%, transparent);background:var(--theme-tooltip);border-radius:9px;width:min(224px,100vw - 12px);padding:8px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 18px 42px #0000009e,inset 0 1px #ffffff0d}.audio-menu:before{content:"";border-top:1px solid color-mix(in srgb, var(--theme-border) 62%, transparent);border-left:1px solid color-mix(in srgb, var(--theme-border) 62%, transparent);background:var(--theme-panel-elevated);width:9px;height:9px;position:absolute;top:-5px;right:14px;transform:rotate(45deg)}.audio-menu>p{color:var(--theme-accent);letter-spacing:.2em;white-space:nowrap;margin:2px 7px 7px;font-size:14px}.top-bar .audio-menu>button{text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;width:100%;height:auto;min-height:45px;padding:7px 8px;display:flex}.audio-menu>button:hover{border-color:color-mix(in srgb, var(--theme-border) 48%, transparent);background:color-mix(in srgb, var(--theme-accent) 12%, transparent)}.audio-menu>button:disabled{opacity:.46;cursor:not-allowed}.audio-menu>button:disabled:hover{background:0 0;border-color:#0000}.audio-menu strong,.audio-menu small{display:block}.audio-menu strong{color:var(--theme-text);font:700 14px Noto Serif SC,serif}.audio-menu small{color:var(--theme-text-muted);white-space:nowrap;margin-top:2px;font-size:10px}.audio-menu>button>i{background:#24322d;border:1px solid #766f5e;border-radius:99px;flex:none;width:31px;height:17px;margin-left:10px;transition:background .18s,border-color .18s;position:relative}.audio-menu>button>i:after{content:"";background:#9c9a8e;border-radius:50%;width:11px;height:11px;transition:transform .18s,background .18s;position:absolute;top:2px;left:2px}.audio-menu>button>i.active{border-color:var(--theme-accent);background:color-mix(in srgb, var(--theme-accent) 30%, transparent)}.audio-menu>button>i.active:after{background:var(--theme-accent);transform:translate(14px)}.top-bar .icon-button{background:0 0;border:0;place-items:center;padding:0;display:grid}.top-bar .icon-button:hover{background:0 0;border:0}.icon-button img{object-fit:contain;filter:drop-shadow(0 2px 3px #0000006b);width:86%;height:86%;transition:transform .18s,filter .18s;display:block}.icon-button:hover img{filter:brightness(1.08)drop-shadow(0 3px 5px #0000007a);transform:translateY(-1px)scale(1.07)}.icon-button:active img{transform:scale(.94)}.game-app[data-theme-player-frame=playful] .avatar-wrap,.game-app[data-theme-player-frame=playful] .user-identity,.game-app[data-table-theme=happyMahjong] .avatar-wrap,.game-app[data-table-theme=happyMahjong] .user-identity{background:linear-gradient(135deg, color-mix(in srgb, var(--theme-panel-elevated) 94%, transparent), color-mix(in srgb, var(--theme-panel) 88%, transparent));box-shadow:0 5px 0 color-mix(in srgb, var(--theme-accent-secondary) 32%, transparent), 0 10px 20px #0003;border-width:2px;border-radius:22px}.game-app[data-theme-player-frame=playful] .player-seat.active .avatar-wrap,.game-app[data-theme-player-frame=playful] .user-identity.active,.game-app[data-table-theme=happyMahjong] .player-seat.active .avatar-wrap,.game-app[data-table-theme=happyMahjong] .user-identity.active{box-shadow:0 0 0 3px color-mix(in srgb, var(--theme-accent) 26%, transparent), 0 6px 0 color-mix(in srgb, var(--theme-accent-secondary) 34%, transparent)}.game-app[data-theme-player-frame=wood] .avatar-wrap,.game-app[data-theme-player-frame=wood] .user-identity,.game-app[data-table-theme=rosewood] .avatar-wrap,.game-app[data-table-theme=rosewood] .user-identity{border-color:color-mix(in srgb, var(--theme-border) 72%, #5a2818);background:linear-gradient(105deg, color-mix(in srgb, var(--theme-surface) 88%, #24100a), color-mix(in srgb, var(--theme-panel) 92%, transparent));border-radius:26px 5px 5px 26px;box-shadow:inset 0 1px #ffe8be1a,0 6px 16px #14040261}.game-app[data-theme-player-frame=cosmic] .avatar-wrap,.game-app[data-theme-player-frame=cosmic] .user-identity,.game-app[data-table-theme=llm] .avatar-wrap,.game-app[data-table-theme=llm] .user-identity{border-color:color-mix(in srgb, var(--theme-accent) 54%, transparent);background:linear-gradient(100deg, color-mix(in srgb, var(--theme-panel-elevated) 88%, transparent), color-mix(in srgb, var(--theme-panel) 78%, transparent));box-shadow:inset 0 0 18px #577de61f,0 0 16px #4a9bff1f}.mahjong-tile{--tile-width:clamp(36px, 3.7vw, 57px);box-sizing:border-box;width:var(--tile-width);aspect-ratio:3/4;appearance:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;forced-color-adjust:none;filter:brightness(.9);cursor:pointer;transform-style:preserve-3d;transform-origin:50% 100%;background-position:50% 44%;background-repeat:no-repeat;background-size:89% 89%;border:1px solid #b5bbaee6;border-radius:8%;flex:none;padding:0;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,filter .18s;position:relative;overflow:hidden;box-shadow:0 4px #d8ddd2,0 7px #4e9b43,0 11px 8px #00000085,inset 0 1px #ffffffe6;background-color:#deddd4!important}.mahjong-tile.tile-back{background:linear-gradient(145deg,#f8f6ed,#dde3d8 68%,#b8c7ae);border:1px solid #b8c8b1;box-shadow:0 4px #d2d8cd,0 7px #4b9340,0 10px 7px #00000075,inset 0 1px 1px #ffffffe6}.mahjong-tile.tile-back:before{content:"";background:linear-gradient(155deg,#ffffff47,#0000 22%),repeating-linear-gradient(45deg,#0237111a 0 1px,#0000 1px 4px),repeating-linear-gradient(-45deg,#e1ffd514 0 1px,#0000 1px 5px),radial-gradient(circle at 35% 25%,#69c94e,#259431 58%,#116926);border:1px solid #c1eda6b8;border-radius:4%;position:absolute;inset:3px 3px 6px;box-shadow:inset 0 1px 2px #ffffff4d}.mahjong-tile.tile-back:after{content:"";background:#2f492a38;border-radius:50%;height:3px;position:absolute;bottom:2px;left:4px;right:4px}.mahjong-tile:not(.disabled):hover{filter:brightness(.95);transform:translateY(-11px)rotateX(-4deg)scale(1.02);box-shadow:0 4px #aeb6a5,0 12px 9px #0000007a}.mahjong-tile.selected{filter:brightness(.97);transform:translateY(-18px)rotateX(-5deg)scale(1.035);box-shadow:0 4px #c0bd92,0 0 0 2px #f4cb63,0 12px 11px #0000009e}.mahjong-tile.small{--tile-width:clamp(20px, 2.15vw, 33px);border-radius:6%;box-shadow:0 3px #d5dbd0,0 5px #4c9341,0 7px 4px #00000080}.mahjong-tile.disabled{cursor:default}.mahjong-tile.joker{box-shadow:0 0 0 2px #29b8e7,0 0 11px #29b8e77a}.mahjong-tile.wildcard{box-shadow:0 0 0 2px #d9ae4f,0 0 9px #d9ae4f6b}.mahjong-tile.laizi{box-shadow:0 0 0 2px #e04f45,0 0 11px #e04f4580}.joker-mark{box-sizing:border-box;color:#fff;clip-path:polygon(24% 0,100% 0,100% 100%);width:50%;height:40%;font-size:clamp(8px, calc(var(--tile-width) * .22), 13px);text-shadow:0 1px 1px #002846d9;background:#08a9dc;place-items:start end;padding:1px 1px 0 0;font-weight:900;line-height:1;display:grid;position:absolute;top:1px;right:1px}.mahjong-tile.small .joker-mark{clip-path:polygon(18% 0,100% 0,100% 100%);width:60%;height:46%;font-size:clamp(7px, calc(var(--tile-width) * .3), 9px);padding:1px 1px 0 0}.mahjong-tile.wildcard .joker-mark{background:#b88220}.mahjong-tile.laizi .joker-mark{background:#c0342e}.player-seat{z-index:7;color:var(--theme-text);transform-style:preserve-3d;position:absolute}.avatar-wrap{border:1px solid color-mix(in srgb, var(--theme-border) 36%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--theme-panel) 92%, transparent), color-mix(in srgb, var(--theme-panel) 58%, transparent));border-radius:28px 9px 9px 28px;align-items:center;gap:7px;min-width:112px;padding:5px 9px 5px 5px;display:flex;position:relative;box-shadow:0 5px 18px #0000003d}.avatar{border:2px solid var(--theme-border);background:radial-gradient(circle at 35% 28%, var(--theme-surface), var(--theme-panel) 70%);width:34px;height:34px;color:var(--theme-accent);border-radius:50%;flex:none;place-items:center;font:700 17px Noto Serif SC,serif;display:grid;box-shadow:inset 0 0 0 2px #00000059,0 2px 7px #000}.player-info{flex-direction:column;gap:2px;display:flex}.player-info strong{max-width:118px;color:var(--theme-text);text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px #000;font-size:clamp(13px,1.1vw,18px);font-weight:700;overflow:hidden}.player-info span{color:var(--theme-accent);text-shadow:0 1px 3px #000;font-size:clamp(13px,1vw,17px);font-weight:700}.dealer-badge{z-index:4;color:#fff;background:#b8272f;border-radius:50%;place-items:center;width:19px;height:19px;font:700 11px serif;display:grid;position:absolute;top:-7px;left:-5px;box-shadow:0 1px 5px #000}.turn-dot{background:var(--theme-accent);width:9px;height:9px;box-shadow:0 0 9px var(--theme-accent);border-radius:50%;animation:1s infinite pulse;position:absolute;right:-5px}.player-seat.active .avatar-wrap{border-color:var(--theme-accent);box-shadow:0 0 16px color-mix(in srgb, var(--theme-accent) 32%, transparent)}.seat-top{top:49px;left:50%;transform:translate(-50%)perspective(700px)rotateX(-2deg)}.seat-top .avatar-wrap{margin:0 auto 7px;transform:translate(-60%,-30%)}.seat-right{transform-origin:100%;top:42%;right:17px;transform:translateY(-50%)perspective(700px)rotateY(-4deg)}.seat-right .avatar-wrap{margin:0 0 8px auto}.seat-left{transform-origin:0;top:42%;left:17px;transform:translateY(-50%)perspective(700px)rotateY(4deg)}.seat-left .avatar-wrap{margin-bottom:8px}.announcement{z-index:40;pointer-events:none;background:linear-gradient(90deg,#0000,#0a0b08db 20% 80%,#0000);padding:4px 37px;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)}.announcement span{color:#f3d47c;letter-spacing:.12em;text-align:center;text-shadow:0 2px 4px #000,0 0 14px #f0bc4373;min-width:140px;font:900 clamp(20px,2.7vw,40px) Noto Serif SC,serif;display:block}.announcement.red span{color:#ffdb91;text-shadow:0 2px 4px #000,0 0 14px #b82429}.table-action-cue{z-index:44;aspect-ratio:1;pointer-events:none;filter:drop-shadow(0 8px 12px #0000008c);background:radial-gradient(circle,#231508f0 0 35%,#ae77207a 48%,#0000 72%);border-radius:50%;place-items:center;width:clamp(78px,8vw,126px);display:grid;position:absolute}.table-action-cue:before,.table-action-cue:after{content:"";border:2px solid #ffd876b8;border-radius:50%;position:absolute;inset:12%}.table-action-cue:after{border-width:1px;border-color:#ffca4d52;inset:1%}.table-action-cue span{white-space:nowrap;color:#ffe5a1;text-shadow:0 3px 3px #000,0 0 17px #ffbe31e6;font:900 clamp(34px,4.3vw,66px)/1 Noto Serif SC,serif}.table-action-cue.gang{background:radial-gradient(circle,#300e08f5 0 35%,#bf471d85 48%,#0000 72%)}.table-action-cue.win{aspect-ratio:auto;background:radial-gradient(#300e08f7 0 32%,#c04c1d8f 49%,#0000 73%);border-radius:50%;width:clamp(132px,14vw,220px);height:clamp(76px,8vw,126px);animation:.7s ease-out both win-cue-serial}.table-action-cue.win span{white-space:nowrap;font-size:clamp(31px,3.8vw,58px)}.action-from-top{top:20%;left:50%;transform:translate(-50%,-50%)}.action-from-right{top:43%;right:17%;transform:translate(50%,-50%)}.action-from-bottom{bottom:20%;left:50%;transform:translate(-50%,50%)}.action-from-left{top:43%;left:17%;transform:translate(-50%,-50%)}.anime-action-cue.action-from-top{top:calc(var(--topbar-height) + 4.8cqh);left:50%;transform:translate(-50%)}.anime-action-cue.action-from-right{top:43%;right:18%;transform:translateY(-50%)}.anime-action-cue.action-from-bottom{bottom:31%;left:50%;transform:translate(-50%)}.anime-action-cue.action-from-left{top:43%;left:18%;transform:translateY(-50%)}.player-seat.action-active .avatar-wrap,.user-identity.action-active{border-color:#ffe09a;box-shadow:0 0 0 2px #ffd05b73,0 0 30px #ffb230b8,inset 0 0 18px #ffcd5b29}.player-seat.action-active .avatar,.user-identity.action-active .avatar{animation:.72s cubic-bezier(.2,.85,.25,1) action-avatar-impact}.player-seat.action-active .player-info strong,.user-identity.action-active .player-info strong{color:#fff1b8;text-shadow:0 0 11px #ffc844e6,0 1px 3px #000}.score-delta{z-index:48;letter-spacing:.01em;text-align:center;white-space:nowrap;pointer-events:none;background:#050d0bc2;border-radius:14px;min-width:78px;padding:5px 11px;font:900 clamp(26px,2.7vw,42px)/1 Georgia,Noto Sans SC,sans-serif;position:absolute}.score-delta.positive{color:var(--theme-positive);text-shadow:0 2px 2px #402000,0 0 14px #ffae2bdb;box-shadow:inset 0 0 0 1px #ffcc5947}.score-delta.negative{color:var(--theme-negative);text-shadow:0 2px 2px #00263b,0 0 13px #35b0e6c2;box-shadow:inset 0 0 0 1px #58c6f242}.seat-left .score-delta{top:42%;left:calc(100% + 9px)}.seat-right .score-delta{top:42%;right:calc(100% + 9px)}.seat-top .score-delta{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.user-score-delta{bottom:clamp(72px,10vh,100px);left:clamp(76px,6.8vw,112px)}.win-burst-leave-active{transition:opacity .22s,filter .22s}.win-burst-leave-to{opacity:0;filter:brightness(2)blur(5px)}.opening-overlay{z-index:42;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.start-cue{min-width:var(--start-cue-min-width,330px);padding:var(--start-cue-padding,22px 55px 25px);background:radial-gradient(ellipse, color-mix(in srgb, var(--theme-panel) 94%, transparent), color-mix(in srgb, var(--theme-panel) 72%, transparent) 58%, transparent 72%);text-align:center;place-items:center;display:grid}.start-cue span{color:var(--theme-text-muted);letter-spacing:.48em;text-indent:.48em;font:700 15px Noto Serif SC,serif}.start-cue strong{color:var(--theme-text);letter-spacing:.14em;text-indent:.14em;text-shadow:0 3px 4px #000, 0 0 22px color-mix(in srgb, var(--theme-accent) 72%, transparent);white-space:nowrap;font:900 clamp(38px,5vw,72px) Noto Serif SC,serif}.start-cue i{width:var(--start-cue-rule-width,220px);height:var(--start-cue-rule-height,2px);background:linear-gradient(90deg, transparent, var(--theme-accent), transparent);box-shadow:0 0 10px var(--theme-accent);margin-top:9px}.opening-cue-enter-active{animation:.3s ease-out opening-cue-in}.opening-cue-leave-active{transition:opacity .2s,filter .2s}.opening-cue-leave-to{opacity:0;filter:blur(4px)}.user-area{z-index:15;min-height:clamp(107px,17vh,160px);position:absolute;bottom:8px;left:9%;right:9%}.user-identity{z-index:3;border:1px solid color-mix(in srgb, var(--theme-border) 45%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--theme-panel) 96%, transparent), color-mix(in srgb, var(--theme-panel) 78%, transparent));opacity:.95;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:30px 10px 10px 30px;align-items:center;gap:9px;min-width:142px;padding:7px 12px 7px 7px;display:flex;position:absolute;bottom:25px;left:-7.5%;box-shadow:0 6px 18px #0006}.user-identity .avatar{width:48px;height:48px;font-size:21px}.user-identity>div:last-child{flex-direction:column;gap:2px;font-size:clamp(13px,1.05vw,17px);display:flex}.user-identity strong{color:var(--theme-text);text-shadow:0 1px 3px #000;font-size:clamp(14px,1.15vw,19px)}.user-identity span{color:var(--theme-accent);text-shadow:0 1px 3px #000;font-size:clamp(14px,1.1vw,18px);font-weight:800}.user-identity.active{opacity:1}.user-melds{gap:8px;display:flex;position:absolute;bottom:clamp(88px,11.3vh,112px);left:1%}.user-meld{background:#0003;border-radius:3px;gap:1px;padding:2px;display:flex}.hand-rack{transform-origin:50% 100%;border:0;border-radius:5px 5px 20px 20px;justify-content:center;align-items:flex-end;gap:clamp(1px,.2vw,4px);min-height:88px;padding:10px 14px 5px;display:flex;position:absolute;bottom:9px;left:0;right:0}.hand-rack.has-melds{justify-content:flex-start;padding-left:11%;padding-right:42%}.hand-tile-slot{touch-action:none;flex:none;align-items:flex-end;display:flex;position:relative}.hand-hit-area{pointer-events:none;position:absolute;inset:0}.ting-arrow{z-index:4;aspect-ratio:4/5;clip-path:polygon(27% 0,73% 0,73% 43%,100% 43%,50% 100%,0 43%,27% 43%);filter:drop-shadow(0 2px 1px #4a2300bf)drop-shadow(0 0 5px #ffb10d99);pointer-events:none;background:linear-gradient(135deg,#fff078 0 13%,#ffb20f 42%,#e87500 100%);width:clamp(14px,1.35vw,22px);animation:.85s ease-in-out infinite alternate ting-arrow-bob;position:absolute;bottom:calc(100% + 11px);left:50%;transform:translate(-50%)}.hand-rack.dealing .mahjong-tile{animation:.23s cubic-bezier(.2,.85,.3,1) both deal-to-user}.hand-rack:after{content:"";filter:blur(3px);background:#00000061;border-radius:50%;height:5px;position:absolute;bottom:-13px;left:4%;right:4%}.hand-rack.playable{content:""}@keyframes deal-to-user{0%{opacity:.2;transform:translate(38vw,-34vh)scale(.7)rotate(8deg)}to{opacity:1;transform:translate(0)scale(1)rotate(0)}}@keyframes ting-arrow-bob{0%{translate:0 -2px}to{translate:0 3px}}.turn-action-row{z-index:45;align-items:center;gap:10px;display:flex;position:absolute;bottom:clamp(150px,22vh,210px);right:10%}.turn-timer{border:2px solid color-mix(in srgb, var(--theme-border) 78%, transparent);background:color-mix(in srgb, var(--theme-panel) 90%, transparent);min-width:86px;color:var(--theme-accent);box-shadow:0 5px 18px #00000080, 0 0 16px color-mix(in srgb, var(--theme-accent) 20%, transparent);text-shadow:0 2px 5px #000;border-radius:18px;justify-content:center;align-items:baseline;gap:4px;padding:8px 13px 7px;display:flex}.turn-timer span{font:800 clamp(34px,3.2vw,50px)/.9 Georgia,serif}.turn-timer small{font-size:clamp(13px,1vw,17px);font-weight:700}.turn-timer.prompt-timer{border-color:#eeb55ab8;box-shadow:0 0 18px #d594343d}.turn-timer.prompt-timer small{white-space:nowrap}.action-bar{align-items:center;gap:9px;display:flex}.autoplay-action.active{color:#ffe6a5;background:radial-gradient(circle at 42% 33%,#b98737,#6e4f1e 69%,#241a08);border-color:#d2aa58;box-shadow:0 4px 10px #0000007a,0 0 12px #efbe4b59,inset 0 0 0 2px #ffffff0d}.action{border:1px solid var(--theme-border);background:radial-gradient(circle at 42% 33%, color-mix(in srgb, var(--theme-accent) 32%, var(--theme-surface)), var(--theme-panel) 72%);min-width:61px;height:52px;color:var(--theme-text);cursor:pointer;border-radius:50%;padding:5px 12px;box-shadow:0 4px 10px #0000007a,inset 0 0 0 2px #ffffff0d}.action b{white-space:nowrap;font:900 clamp(19px,1.65vw,26px) Noto Serif SC,serif;display:block}.action span{color:#d4bd7c;font-size:clamp(10px,.8vw,13px);display:block}.action:hover{filter:brightness(1.2);transform:translateY(-2px)}.action:disabled{opacity:.35;cursor:not-allowed;transform:none}.action.hu{color:#ffdda0;background:radial-gradient(circle at 40% 30%,#a13c36,#511c1b 65%,#180908);border-color:#c94e45}.action.pass,.discard-action{color:#c6d0c9;background:#07130ed9;border-color:#52675c;border-radius:25px}.waiting-action{width:54px;min-width:54px;height:60px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:2px}.waiting-action:hover{filter:brightness(1.12);background:0 0;transform:translateY(-3px)}.waiting-action.active{box-shadow:none}.waiting-action b{font-family:sans-serif}.waiting-action .action-icon{object-fit:contain;filter:drop-shadow(0 4px 5px #0000007a);width:clamp(42px,4vw,54px);height:clamp(42px,4vw,54px);display:block}.waiting-action span{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.waiting-action.active .action-icon{filter:brightness(1.18)drop-shadow(0 0 9px #efbe4be0)}.waiting-tip{z-index:46;border:1px solid color-mix(in srgb, var(--theme-border) 68%, transparent);background:color-mix(in srgb, var(--theme-panel) 96%, transparent);min-width:190px;max-width:min(620px,82vw);color:var(--theme-text);border-radius:9px;padding:11px 13px;display:flex;position:absolute;bottom:clamp(120px,17vh,165px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000008c}.compact-waiting-tip{justify-content:center;align-items:center;min-width:0;padding:8px 10px}.compact-waiting-tip>em{color:#f4ffff;white-space:nowrap;background:#28b8c7;border-radius:4px;margin-left:9px;padding:4px 8px;font-size:13px;font-style:normal;font-weight:800}.waiting-tip>strong{font:900 23px Noto Serif SC,serif}.waiting-tip>span{color:var(--theme-text-muted);white-space:nowrap;align-self:center;margin-left:10px}.waiting-title{margin:0 10px 0 0!important}.waiting-tiles{gap:7px;padding:2px 2px 5px;display:flex;overflow-x:auto}.waiting-tiles>div{flex:none;justify-items:center;gap:3px;display:grid}.waiting-tiles .mahjong-tile.small{--tile-width:clamp(42px, 3.25vw, 60px)}.waiting-tiles small{color:#f4ffff;text-align:center;white-space:nowrap;background:#28b8c7;border-radius:3px;min-width:30px;padding:3px 5px;font-size:11px;font-weight:800}.waiting-total{margin-left:11px!important}.waiting-heading{white-space:nowrap;flex:none;align-self:flex-start;margin:5px 12px 0 0;font-size:16px!important}.waiting-options{gap:5px;max-height:150px;display:grid;overflow-y:auto}.waiting-options>div{color:#e7dab0;white-space:nowrap;align-items:center;gap:7px;display:flex}.waiting-options b{color:#d8a93d}.waiting-options small{color:#9fb2a8}.lobby{z-index:50;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;text-align:center;background:radial-gradient(at 50% 46%,#19573a1f,#0000 36%),linear-gradient(#04120de3,#041610ed);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.game-app.is-lobby .top-bar{z-index:60}@supports (justify-content:safe center){.lobby{justify-content:safe center}}.eyebrow{color:#789b89;letter-spacing:.5em;margin:0 0 7px;font-size:11px}.lobby h1{color:#f1e7cd;letter-spacing:.14em;text-shadow:0 4px 15px #000;margin:0;font:900 clamp(43px,6vw,80px) ZCOOL XiaoWei,Noto Serif SC,serif}.lobby h1 span{color:#d6ad52}.subtitle{color:#9eada4;letter-spacing:.28em;margin:8px 0 20px;font:600 15px Noto Serif SC,serif}.lobby-rules{color:#d0c39e;letter-spacing:.1em;align-items:center;gap:12px;margin-bottom:25px;font-size:13px;display:flex}.lobby-rules i{background:#a9823c;border-radius:50%;width:3px;height:3px}.start-button{color:#182218;cursor:pointer;background:linear-gradient(135deg,#b98737,#d9b65d 48%,#956622);border:1px solid #d2aa58;border-radius:3px;min-width:228px;padding:12px 33px 10px;box-shadow:0 7px 24px #0006,inset 0 1px #ffffff80}.start-button b{letter-spacing:.22em;font:900 20px Noto Serif SC,serif;display:block}.start-button span{opacity:.78;letter-spacing:.12em;margin-top:3px;font-size:11px;display:block}.start-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.lobby-links{align-items:center;gap:18px;margin-top:14px;display:flex}.waku-account{background:#03120d94;border:1px solid #d3ae5733;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;width:min(420px,88vw);margin:12px auto 2px;padding:10px 13px;display:flex}.waku-account.authenticated{border-color:#5cb98466}.waku-account div{text-align:left;flex-direction:column;min-width:0;display:flex}.waku-account b{color:#e9d9ae;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.waku-account small{color:#82998d;margin-top:2px;font-size:11px}.waku-account button{color:#d8c796;cursor:pointer;background:#0f3125e6;border:1px solid #d3ae5759;border-radius:6px;flex:none;padding:6px 13px}.waku-account button:disabled{cursor:wait;opacity:.55}.waku-auth-error{color:#e0a06a;text-align:left;width:min(420px,88vw);margin:4px auto 0;font-size:12px}.text-button{color:#9aafa3;cursor:pointer;background:0 0;border:0;font-size:13px}.text-button:hover{color:#d3bf8d}.repository-link{color:#9aafa3;align-items:center;gap:5px;font-size:13px;text-decoration:none;display:inline-flex}.repository-link svg{width:15px;height:15px}.repository-link:hover{color:#d3bf8d}.repository-link:focus-visible{outline-offset:4px;border-radius:2px;outline:2px solid #d6ad52}.match-selector{grid-template-columns:repeat(2,minmax(145px,1fr));gap:10px;width:min(390px,86vw);margin:0 auto 15px;display:grid}.match-selector button{color:#9fb0a6;cursor:pointer;background:#03120db8;border:1px solid #d3ae5745;border-radius:7px;padding:13px 12px 11px;transition:all .2s}.match-selector button b,.match-selector button span{display:block}.match-selector button b{color:#e5d5ad;margin-bottom:4px;font:800 18px Noto Serif SC,serif}.match-selector button span{letter-spacing:.05em;font-size:11px}.match-selector button.active{background:linear-gradient(#a8743057,#123627e0);border-color:#d5ab54;transform:translateY(-2px);box-shadow:0 0 0 1px #f4cc6a29,0 8px 24px #00000040}.match-selector button.active b{color:#ffe6a5}.game-settings{background:#03120dad;border:1px solid #d3ae574d;border-radius:9px;flex-shrink:0;width:min(390px,86vw);margin:0 auto 14px;overflow:hidden;box-shadow:0 8px 24px #0000002e}.game-settings-title{color:#8ca296;letter-spacing:.22em;text-align:left;border-bottom:1px solid #d3ae5724;margin:0;padding:6px 14px 5px;font-size:10px}.game-settings>button{color:#d0c39e;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #d3ae571f;grid-template-columns:48px minmax(80px,auto) minmax(0,1fr) 14px;align-items:center;gap:8px;width:100%;min-height:46px;padding:7px 13px;display:grid}.game-settings>button:last-child{border-bottom:0}.game-settings>button:hover{background:#d3ae5714}.game-settings>button>span{color:#8fa197;letter-spacing:.12em;font-size:12px}.game-settings>button>strong{color:#f3deb0;font:800 15px Noto Serif SC,serif}.game-settings>button>small{color:#83988d;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.game-settings>button>i{align-self:center;width:14px;height:14px;display:block;position:relative}.game-settings>button>i:before{content:"";border-top:1.5px solid #caa557;border-right:1.5px solid #caa557;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-65%,-50%)rotate(45deg)}.lobby-dialog-backdrop{z-index:130;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#010705cc;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.lobby-dialog{color:#e8ddc1;background:linear-gradient(155deg,#123024fc,#05130efc 70%);border:1px solid #d5ab549e;border-radius:12px;width:min(430px,92vw);max-height:min(620px,92vh);padding:22px;overflow:hidden auto;box-shadow:0 24px 80px #000000b8,inset 0 1px #ffffff0d}.lobby-dialog.wide{width:min(520px,92vw)}.lobby-dialog>header{border-bottom:1px solid #d5ab5438;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:13px;display:flex}.lobby-dialog h2{color:#f1dfb4;letter-spacing:.12em;margin:0;font:900 23px Noto Serif SC,serif}.lobby-dialog-close{color:#d9cba8;cursor:pointer;background:0 0;border:1px solid #dfc78847;border-radius:50%;width:31px;height:31px;padding:0;font-size:20px;line-height:1}.lobby-dialog .game-settings{width:100%;margin-bottom:18px}.picker-options{gap:10px;display:grid}.picker-options>button{color:#d7cab0;text-align:left;cursor:pointer;background:#020e0a8f;border:1px solid #d3ae5738;border-radius:8px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:14px;display:grid}.picker-options>button:hover{border-color:#d3ae577a}.picker-options>button.active{background:linear-gradient(100deg,#9a692847,#0c2a1ed1);border-color:#d5ab54;box-shadow:inset 0 0 0 1px #f4cc6a1a}.picker-options>button>i{border:1px solid #8d8a72;border-radius:50%;width:17px;height:17px;display:block;box-shadow:inset 0 0 0 4px #092018}.picker-options>button.active>i{background:#f0c96a;border-color:#f0c96a}.picker-options>button>span{min-width:0}.picker-options b,.picker-options small{display:block}.picker-options b{color:#eadbb7;font:800 17px Noto Serif SC,serif}.picker-options b em{color:#dcb75f;vertical-align:2px;border:1px solid #d3ae5773;border-radius:9px;margin-left:7px;padding:2px 7px;font:10px sans-serif}.picker-options small{color:#91a399;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:12px;overflow:hidden}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.dialog-actions button{cursor:pointer;border-radius:5px;min-width:92px;padding:9px 16px;font-weight:800}.dialog-actions .secondary{color:#cfc3a5;background:#051710cc;border:1px solid #d5b87061}.dialog-actions .primary{color:#182218;background:linear-gradient(135deg,#b98737,#d9b65d 48%,#956622);border:1px solid #d2aa58}.dialog-actions button:disabled{filter:grayscale(.7);opacity:.5;cursor:not-allowed}.remote-llm-create-option{color:#cfc3a5;cursor:pointer;background:#0517108c;border:1px solid #d3ae5747;border-radius:7px;align-items:flex-start;gap:10px;margin-top:14px;padding:11px 12px;display:flex}.remote-llm-create-option.disabled{opacity:.55;cursor:not-allowed}.remote-llm-create-option input{accent-color:#d5ab54;margin-top:3px}.remote-llm-create-option span{gap:3px;display:grid}.remote-llm-create-option b{color:#e9d7aa;font-size:13px}.remote-llm-create-option small{color:#81958a;font-size:11px;line-height:1.45}.view-rules-link{color:#c5a659;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:4px 0;font-size:12px}.join-dialog-field{gap:8px;display:grid}.join-dialog-field span{color:#cfc3a5;letter-spacing:.1em;font-size:13px}.join-dialog-field input{color:#f1e7cd;letter-spacing:.28em;text-align:center;text-transform:uppercase;background:#020e0ab8;border:1px solid #d3ae5759;border-radius:7px;outline:none;width:100%;padding:13px 16px;font-size:18px}.join-dialog-field input:focus{border-color:#d5ab54;box-shadow:0 0 0 2px #d5ab541f}.dialog-hint{color:#81958a;margin:9px 0 0;font-size:11px}.rules-panel{z-index:100;background:linear-gradient(160deg,#102b23,#071510 65%);border-left:1px solid #997439;width:min(390px,92vw);padding:31px 27px;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-22px 0 60px #000000a6}.rules-panel header{border-bottom:1px solid #d0ac572e;justify-content:space-between;align-items:flex-start;margin-bottom:25px;padding-bottom:17px;display:flex}.rules-panel header span{color:#b18d48;letter-spacing:.4em;font-size:9px}.rules-panel h2{color:#f0e3bf;margin:5px 0 0;font:900 28px Noto Serif SC,serif}.rules-panel header button{color:#d9cba8;cursor:pointer;background:0 0;border:1px solid #dfc78840;border-radius:50%;width:32px;height:32px;font-size:20px}.rule-list{flex-direction:column;gap:8px;display:flex}.rule-list article{background:#ffffff06;border:1px solid #ffffff0d;border-radius:4px;grid-template-columns:35px 1fr;gap:11px;padding:12px;display:grid}.rule-list article>b{color:#b18c48;font:700 15px Georgia,serif}.rule-list h3{color:#f0dfba;margin:0 0 4px;font:700 16px Noto Serif SC,serif}.rule-list p{color:#a6b5ad;margin:0;font-size:13px;line-height:1.65}.rule-note{color:#c2aa73;text-align:center;letter-spacing:.08em;border:1px dashed #d7b35b40;margin-top:17px;padding:11px;font-size:13px}.rules-panel .disclaimer-block{background:#0000002e;border:1px dashed #d7b35b40;border-radius:4px;margin-top:16px;padding:13px 14px}.rules-panel .disclaimer-block>h3{color:#eccb7d;letter-spacing:.12em;margin:0 0 9px;font:800 15px Noto Serif SC,serif}.rules-panel .disclaimer-block h4{color:#d9bd7f;margin:10px 0 5px;font:700 13px Noto Serif SC,serif}.rules-panel .disclaimer-block p{color:#9db0a6;margin:0 0 8px;font-size:12px;line-height:1.7}.rules-panel .disclaimer-block p:last-child{margin-bottom:0}.rules-panel .disclaimer-block ol{margin:0 0 8px;padding-left:20px}.rules-panel .disclaimer-block li{color:#9db0a6;margin-bottom:4px;font-size:12px;line-height:1.65}.disclaimer-backdrop{z-index:110}.disclaimer-card{width:min(660px,92vw);max-height:88%;padding:30px 34px 26px;overflow:hidden}.disclaimer-card h2{margin-bottom:14px;font-size:clamp(24px,2.6vw,34px)}.disclaimer-scroll{text-align:left;max-height:56vh;padding-right:6px;overflow-y:auto}.disclaimer-scroll h3{color:#eccb7d;letter-spacing:.08em;margin:15px 0 6px;font:800 15px Noto Serif SC,serif}.disclaimer-scroll h3:first-child{margin-top:0}.disclaimer-scroll p{color:#c4d0c9;margin:0 0 8px;font-size:13px;line-height:1.75}.disclaimer-scroll ol{margin:0 0 8px;padding-left:22px}.disclaimer-scroll li{color:#a6b5ad;margin-bottom:5px;font-size:13px;line-height:1.65}.disclaimer-card .result-actions{margin-top:16px}.result-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020806c7;place-items:center;display:grid;position:absolute;inset:0}.result-card{text-align:center;background:radial-gradient(circle at 50% 0,#9b6a2c33,#0000 42%),linear-gradient(145deg,#17352b,#081711 78%);border:1px solid #b58a3c;border-radius:8px;width:min(590px,91vw);padding:43px 42px 34px;position:relative;box-shadow:0 25px 70px #000}.result-card:before{content:"";pointer-events:none;border:1px solid #d3af5b21;position:absolute;inset:7px}.result-seal{color:#ffe1a2;background:#8d2a2d;border:3px solid #d5af58;border-radius:50%;place-items:center;width:72px;height:72px;font:900 38px Noto Serif SC,serif;display:grid;position:absolute;top:-36px;left:50%;transform:translate(-50%)rotate(-7deg);box-shadow:0 5px 15px #000}.result-card>p{color:#c4ab73;letter-spacing:.22em;margin:12px 0 5px;font-size:clamp(14px,1.15vw,18px);font-weight:700}.result-card h2{color:#fff0c8;margin:0 0 17px;font:900 clamp(34px,3vw,46px) Noto Serif SC,serif}.round-rankings .player-line{white-space:nowrap}.round-rankings .mark{vertical-align:1px;border-radius:3px;margin-left:4px;padding:0 4px;font-size:10px;font-style:normal;font-weight:700;line-height:15px;display:inline-block}.round-rankings .mark.dealer{color:#ffd9d9;background:#b8272f47;border:1px solid #d64650d9}.round-rankings .mark.tenpai{color:#ffe6a5;background:#d0aa5638;border:1px solid #f4cf7ab3}.score-total{justify-content:center;align-items:baseline;gap:13px;display:flex}.score-total span{color:#a9bbb1;font-size:clamp(14px,1.1vw,17px)}.score-total strong{color:#f4ca62;font:800 clamp(45px,4vw,60px) Georgia,serif}.score-total em{color:#e2bd61;font-size:clamp(16px,1.35vw,21px);font-style:normal;font-weight:700}.score-details{flex-wrap:wrap;justify-content:center;gap:9px;margin:13px 0 19px;display:flex}.score-details span{color:#c4d0c9;background:#ffffff06;border:1px solid #caa65357;border-radius:4px;padding:7px 12px;font-size:clamp(13px,1vw,16px)}.score-details b{color:#ebca79;font-size:1.08em}.horse-area{background:#0003;border:1px solid #d0ae5833;border-radius:5px;padding:17px 14px 13px}.horse-area>div{justify-content:center;align-items:flex-end;gap:5px;min-height:40px;display:flex}.horse-area .mahjong-tile{--tile-width:clamp(48px, 5vw, 58px);transition:transform .2s,filter .2s,box-shadow .2s,opacity .2s}.horse-area .mahjong-tile:not(.horse-hit){opacity:.58;filter:brightness(.62)saturate(.6)}.horse-area .mahjong-tile.horse-hit{z-index:2;filter:brightness(1.2)saturate(1.12);transform:translateY(-8px)scale(1.07);box-shadow:0 4px #e2e5da,0 8px #5ca54b,0 0 0 3px #f4cb63,0 0 22px #ffcd53e6,0 14px 13px #000000a8}.result-actions{justify-content:center;gap:12px;margin-top:23px;display:flex}.result-actions button{color:#122019;cursor:pointer;background:#b88b3e;border:1px solid #d3aa57;border-radius:5px;min-width:170px;padding:13px 20px;font-size:clamp(16px,1.25vw,20px);font-weight:800}.result-actions button:disabled,.result-reopen:disabled{opacity:.55;cursor:not-allowed}.result-actions button.secondary{color:#e5d5ad;background:#081c14e0;border-color:#d5b87080}.result-disclaimer-note{color:#b8935a;letter-spacing:.1em;margin:14px 0 0;font-size:12px}.kong-picker-backdrop{z-index:91}.kong-picker-card{width:min(400px,88vw);padding:34px 30px 28px}.kong-picker-card h2{margin-bottom:22px;font-size:clamp(19px,2.3vw,24px)}.kong-picker-tiles{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.kong-picker-card .kong-picker-tile{--tile-width:clamp(52px, 7vw, 66px);cursor:pointer}.kong-picker-card .kong-picker-tile:not(.disabled):hover{transform:translateY(-4px)rotateX(-3deg)scale(1.04);box-shadow:0 4px #c0bd92,0 0 0 2px #f4cb63,0 8px 8px #00000080}.turn-action-row.kong-picker-open{z-index:92}.result-reopen{z-index:92;color:#f3d27c;cursor:pointer;background:#071912eb;border:2px solid #d0a64d;border-radius:24px;padding:12px 22px;font-size:clamp(15px,1.2vw,19px);font-weight:800;position:absolute;bottom:5%;right:4%;box-shadow:0 7px 22px #0000008c}.result-reopen.continue{border-color:#b98a36;right:calc(4% + 170px)}.win-effect-lab{z-index:150;color:#f3dfad;background:#04100cf0;border:1px solid #bd974c;border-radius:7px;gap:5px;width:230px;padding:10px;font-size:12px;display:grid;position:fixed;top:12px;left:12px;box-shadow:0 8px 28px #0000008c}.win-effect-lab>strong{text-align:center;margin-bottom:3px}.win-effect-lab>div{grid-template-columns:42px repeat(2,1fr);align-items:center;gap:5px;display:grid}.win-effect-lab button{color:#f4dfac;cursor:pointer;background:#17372c;border:1px solid #d6b25b80;border-radius:4px;padding:4px 5px}.win-effect-lab .kong-debug{grid-template-columns:42px repeat(3,1fr)}.win-effect-lab .draw-debug{grid-template-columns:42px 1fr}.round-settlement{background:radial-gradient(circle at 50% 45%,#1c3f5c4d,#0000 55%),#01050ad1}.settlement-card{width:min(860px,94%);max-height:94%;padding-top:31px;overflow:hidden auto}.settlement-card .horse-area{min-width:45%;margin-bottom:12px;display:inline-block}.round-rankings{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:calc(100% - 30px);margin:5px 15px;display:grid}.round-rankings article{clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);text-align:left;background:linear-gradient(105deg,#223352f0,#111d33f0);border:1px solid #879eb938;grid-template-columns:clamp(34px,4vw,42px) clamp(34px,3.8vw,40px) minmax(0,1fr) clamp(48px,5vw,56px) clamp(60px,6vw,70px);align-items:center;gap:clamp(4px,.55vw,7px);min-width:0;min-height:58px;padding:6px clamp(6px,.7vw,9px);animation:.55s both ranking-slide;display:grid;overflow:hidden}.round-rankings article:nth-child(2){animation-delay:80ms}.round-rankings article:nth-child(3){animation-delay:.16s}.round-rankings article:nth-child(4){animation-delay:.24s}.round-rankings article.winner{background:linear-gradient(105deg,#594026f5,#1a273af2);border-color:#f0c15fb3}.round-rankings img{object-fit:cover;border:1px solid #d3a75a;border-radius:5px;width:42px;height:42px}.round-rankings span{color:#eef2f8;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.rank-number{color:#dce7f4;text-align:center;font:italic 900 31px Georgia,serif}.rank-number small{margin-left:2px;font:700 11px sans-serif}.round-rankings em{color:#a6b2c1;text-align:right;text-overflow:ellipsis;min-width:0;font-style:normal;font-weight:800;overflow:hidden}.round-rankings em.positive{color:#6fe576}.round-rankings em.negative{color:#ff666c}.round-rankings article>b{color:#fff;text-align:right;text-overflow:ellipsis;min-width:0;font:800 22px Georgia,serif;overflow:hidden}.final-backdrop{z-index:96;background:radial-gradient(circle at 50% 24%,#6348256b,#0000 38%),#02080ceb}.final-board{text-align:center;width:min(680px,92%);max-height:100%;padding:28px 45px 32px;animation:.7s cubic-bezier(.18,.9,.24,1.1) final-in;overflow:hidden auto}.final-board>p{color:#c5a86c;letter-spacing:.22em;margin:0;font-size:13px}.final-board>h2{color:#ffe6ad;letter-spacing:.12em;margin:5px 0 20px;font:900 40px Noto Serif SC,serif}.final-rankings{gap:8px;display:grid}.final-rankings article{text-align:left;background:linear-gradient(90deg,#22324ef5,#0c1728f2);border:1px solid #7c99b440;grid-template-columns:65px 56px 1fr 120px;align-items:center;gap:14px;min-height:69px;padding:6px 18px 6px 10px;display:grid}.final-rankings article.rank-1{background:linear-gradient(90deg,#704c1dfa,#1f2633f5);border-color:#d8ac54;box-shadow:0 0 24px #ddab4721}.final-rankings article.self{box-shadow:inset 3px 0 #5fd9a2}.final-rankings img{object-fit:cover;border:2px solid #caa051;border-radius:6px;width:54px;height:54px}.final-rank{color:#e1e7f0;text-align:center}.final-rank b{font:italic 900 38px Georgia,serif}.final-rank span{margin-left:2px;font-size:12px}.final-name strong{color:#fff;font-size:18px}.final-name small{color:#e7fff6;background:#2a8062;border-radius:9px;margin-left:8px;padding:2px 7px}.final-rankings em{color:#ffe3a1;text-align:right;font:800 27px Georgia,serif}.final-board>button{color:#122019;cursor:pointer;background:linear-gradient(#d5aa59,#aa7934);border:1px solid #d3aa57;border-radius:5px;min-width:190px;margin-top:22px;padding:12px 24px;font-weight:800}.panel-enter-active,.panel-leave-active{transition:transform .35s}.panel-enter-from,.panel-leave-to{transform:translate(100%)}.modal-enter-active,.modal-leave-active{transition:opacity .3s}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-active .result-card{animation:.48s cubic-bezier(.2,.9,.25,1.15) result-in}.announce-enter-active{animation:.35s ease-out announce-in}.announce-leave-active{transition:opacity .25s}.announce-leave-to{opacity:0}.table-action-enter-active{animation:.28s cubic-bezier(.16,.84,.25,1.12) table-action-in}.table-action-leave-active{transition:opacity .2s,filter .2s}.table-action-leave-to{opacity:0;filter:brightness(1.7)blur(3px)}.score-flow-enter-active{animation:.78s cubic-bezier(.16,.84,.24,1) .12s both score-flow-in}.score-flow-leave-active{transition:opacity .16s,filter .16s}.score-flow-leave-to{opacity:0;filter:blur(2px)}.actions-enter-active,.actions-leave-active{transition:opacity .2s,transform .2s}.actions-enter-from,.actions-leave-to{opacity:0;transform:translateY(8px)}@keyframes pulse{50%{opacity:.6;transform:scale(1.4)}}@keyframes announce-in{0%{opacity:0;filter:blur(3px);transform:translate(-50%,-45%)scale(.8)}}@keyframes table-action-in{0%{opacity:0;filter:brightness(1.8)blur(4px);scale:.55}70%{scale:1.08}}@keyframes win-cue-serial{0%{opacity:0;scale:.72}16%,74%{opacity:1;scale:1}to{opacity:0;scale:.96}}@keyframes action-avatar-impact{0%{filter:brightness(1.7);transform:scale(.92)}42%{filter:brightness(1.24);transform:scale(1.09)}to{filter:brightness();transform:scale(1)}}@keyframes score-flow-in{0%{opacity:0;translate:0 8px;scale:.72}36%{opacity:1;scale:1.08}to{opacity:1;translate:0 -7px;scale:1}}@keyframes opening-cue-in{0%{opacity:0;filter:blur(5px);transform:translate(-50%,-44%)scale(.82)}}@keyframes result-in{0%{opacity:0;transform:translateY(18px)scale(.94)}}@keyframes ranking-slide{0%{opacity:0;transform:translate(45px)scale(.97)}}@keyframes final-in{0%{opacity:0;filter:blur(5px);transform:translateY(28px)scale(.92)}}.mahjong-tile{--tile-width:clamp(44px, 4.75vw, 86px);box-shadow:0 5px #d8ddd2,0 9px #4e9b43,0 13px 9px #0000008a,inset 0 1px #ffffffe6}.mahjong-tile.small{--tile-width:clamp(25px, 2.45vw, 42px);position:relative;top:-3px;box-shadow:0 3px #d5dbd0,0 6px #4c9341,0 8px 5px #00000080}.seat-top{top:13%;transform:translate(calc(115% - 140px))}.seat-top .avatar-wrap{width:clamp(210px,18vw,286px);min-width:0}.seat-left{top:43%;left:2.2%}.seat-right{top:43%;right:2.2%}.user-area{min-height:clamp(125px,21vh,205px);bottom:0;left:5%;right:5%}.user-identity{bottom:40px;left:-3.3%}.user-melds{bottom:clamp(112px,15vh,148px)}.hand-rack{gap:clamp(1px,.15vw,3px);min-height:112px;padding:12px 16px 8px}.hand-rack .mahjong-tile{box-shadow:0 6px #d8ddd2,0 10px #4e9b43,0 15px 9px #0009,inset 0 1px #ffffffe6}.hand-rack .hand-tile-slot.drawn{margin-left:clamp(10px,1vw,18px)}.mahjong-scene{z-index:1;contain:strict;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.table-loading{z-index:60;pointer-events:none;background:radial-gradient(ellipse at 50% 45%, color-mix(in srgb, var(--theme-surface) 78%, transparent), color-mix(in srgb, var(--theme-panel) 94%, #000) 72%);place-items:center;display:grid;position:absolute;inset:0}.table-loading.has-error{pointer-events:auto}.table-loading-card{border:1px solid color-mix(in srgb, var(--theme-border) 62%, transparent);background:color-mix(in srgb, var(--theme-panel) 90%, transparent);color:var(--theme-accent);letter-spacing:.08em;border-radius:8px;align-items:center;gap:10px;padding:12px 18px;font-size:14px;display:flex;box-shadow:0 8px 25px #00000073}.table-loading-card.error{color:#f6e7df;border-color:#e86d5ccc;justify-items:center;gap:6px;min-width:220px;display:grid}.table-loading-card.error strong{color:var(--theme-negative)}.table-loading-card.error span{color:var(--theme-text-muted);font-size:12px}.table-loading-card.error button{border:1px solid var(--theme-border);background:var(--theme-button);color:var(--theme-text);font:inherit;cursor:pointer;border-radius:6px;margin-top:4px;padding:7px 18px;font-weight:700}.table-loading-card.error button:hover,.table-loading-card.error button:focus-visible{filter:brightness(1.12)}.table-loading-spinner{border:2px solid color-mix(in srgb, var(--theme-accent) 30%, transparent);border-top-color:var(--theme-accent);border-radius:50%;width:15px;height:15px;animation:.8s linear infinite table-loading-spin}.game-app[data-theme-loading=happy-orbit] .table-loading-spinner,.game-app[data-table-theme=happyMahjong] .table-loading-spinner{border-width:4px;border-radius:7px;width:18px;height:18px}.game-app[data-theme-loading=wood-lantern] .table-loading-spinner,.game-app[data-table-theme=rosewood] .table-loading-spinner{box-shadow:0 0 12px color-mix(in srgb, var(--theme-accent) 48%, transparent);border-radius:2px}.game-app[data-theme-loading=llm-scan] .table-loading-spinner,.game-app[data-table-theme=llm] .table-loading-spinner{box-shadow:0 0 14px color-mix(in srgb, var(--theme-accent) 48%, transparent);border-radius:2px;transform:rotate(45deg)}.game-app[data-theme-loading=anime-panel] .table-loading-spinner,.game-app[data-table-theme=llmAnime] .table-loading-spinner{border-width:3px;border-radius:3px 9px}@keyframes table-loading-spin{to{transform:rotate(360deg)}}.table-loading-enter-active,.table-loading-leave-active{transition:opacity .2s}.table-loading-enter-from,.table-loading-leave-to{opacity:0}.table-loading-in-game{z-index:0;background:0 0}.table-loading-in-game .table-loading-card{display:none}.has-three-scene .seat-left{top:35%;left:calc(var(--table-box-left) + 2.7cqw)}.has-three-scene .seat-right{top:35%;right:calc(var(--table-box-left) + 2.7cqw)}.has-three-scene .seat-top{top:5%;left:calc(50% + clamp(220px,18.5vw,365px));right:auto;transform:translate(-100%)}.has-three-scene .seat-top .avatar-wrap{width:clamp(180px,16vw,245px);transform:none}.avatar-wrap,.user-identity{text-align:center;background:linear-gradient(#081410f0,#050d0ad1);border:1px solid #d6b35870;border-radius:8px;flex-direction:column;align-items:center;gap:3px;width:clamp(76px,7vw,104px);min-width:0;padding:6px 7px 7px;display:flex;box-shadow:0 7px 20px #0000006b,inset 0 0 0 1px #ffffff09}.seat-top .avatar-wrap,.has-three-scene .seat-top .avatar-wrap{width:clamp(76px,7vw,104px)}.avatar-wrap .avatar,.user-identity .avatar{object-fit:cover;background:#263c31;border:2px solid #d4aa58;border-radius:7px;width:clamp(52px,5.1vw,76px);height:clamp(52px,5.1vw,76px);display:block;box-shadow:0 0 0 2px #170d05bf,0 4px 10px #0000007a}.player-info{align-items:center;gap:0;width:100%;line-height:1.25}.player-info strong{max-width:100%;font-size:clamp(12px,1vw,16px)}.player-info span{font-size:clamp(12px,.95vw,15px)}.avatar-wrap .turn-dot,.user-identity.active:after{bottom:-5px;left:50%;right:auto;transform:translate(-50%)}.user-identity.active:after{content:"";background:#f4c45b;border-radius:50%;width:9px;height:9px;animation:1s infinite pulse;position:absolute;box-shadow:0 0 9px #ffd569}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.table-action-cue.win.action-from-bottom{bottom:38%}.user-score-delta{bottom:52px;left:58px}.top-bar{height:34px;padding:0 10px;font-size:12px}.brand-mini{gap:5px}.brand-mini i{width:22px;height:22px;font-size:12px}.round-info{padding:3px 13px}.top-bar nav{gap:5px}.top-bar button{width:28px;height:28px;font-size:13px}.top-bar .icon-button img{width:88%;height:88%}.seat-top .avatar-wrap{transform-origin:top;transform:scale(.76)translate(-105px,-30px)}.seat-left .avatar-wrap{transform-origin:0;transform:scale(.76)}.seat-right .avatar-wrap{transform-origin:100%;transform:scale(.76)}.player-info strong{max-width:104px;font-size:13px}.player-info span{font-size:12px}.user-area{min-height:82px;bottom:0}.hand-rack{min-height:72px;padding:5px 8px 4px}.hand-rack .mahjong-tile{--tile-width:clamp(32px, 4.25vw, 38px)}.hand-rack .hand-tile-slot.drawn{margin-left:clamp(8px,1.5cqh,14px)}.user-melds{bottom:75px}.user-identity .avatar{width:42px;height:42px;font-size:18px}.user-identity strong{font-size:14px}.user-identity span{font-size:13px}.turn-action-row{gap:6px;bottom:clamp(84px,22vh,112px);right:2%}.waiting-tip{max-width:min(460px,68vw);bottom:60px}.compact-waiting-tip{border-radius:7px;padding:5px 7px}.waiting-tiles{gap:4px;padding:1px 1px 3px}.waiting-tiles>div{gap:2px}.waiting-tiles .mahjong-tile.small{--tile-width:clamp(27px, 4.4vh, 34px)}.waiting-tiles small{min-width:24px;padding:2px 4px;font-size:9px}.action{min-width:48px;height:42px;padding:4px 8px}.waiting-action{width:48px;height:52px;padding:0}.waiting-action .action-icon{width:46px;height:46px}.action b{font-size:16px}.action span{font-size:9px}.turn-timer{border-radius:14px;min-width:67px;padding:6px 9px 5px}.turn-timer span{font-size:29px}.turn-timer small{font-size:11px}.lobby{transform-origin:50%;inset:-6%;transform:scale(.9)}.result-card{width:min(620px,94vw);padding:27px 31px 17px}.result-seal{border-width:2px;width:52px;height:52px;font-size:28px;top:-22px}.result-card>p{margin:4px 0 2px;font-size:13px}.result-card h2{margin-bottom:7px;font-size:29px}.score-total{gap:9px}.score-total span{font-size:13px}.score-total strong{font-size:39px}.score-total em{font-size:15px}.score-details{gap:6px;margin:6px 0 9px}.score-details span{padding:4px 8px;font-size:12px}.horse-area{padding:9px 10px 7px}.horse-area>div{gap:4px;min-height:66px}.horse-area .mahjong-tile{--tile-width:clamp(37px, 4.8vw, 43px)}.horse-area .mahjong-tile.horse-hit{transform:translateY(-5px)scale(1.05)}.result-actions{gap:9px;margin-top:10px}.settlement-card{width:min(850px,96%);padding-top:20px}.round-rankings article{grid-template-columns:38px 32px minmax(0,1fr) 50px 62px;min-height:47px;padding:4px 6px}.final-board{width:min(620px,92%);padding:15px 24px 18px}.final-board>h2{margin:2px 0 9px;font-size:30px}.final-rankings{gap:5px}.final-rankings article{grid-template-columns:46px 42px minmax(0,1fr) 82px;gap:8px;min-width:0;min-height:51px;padding-right:10px}.final-rankings img{width:40px;height:40px}.final-rank b{font-size:29px}.final-rankings em{text-overflow:ellipsis;min-width:0;font-size:21px;overflow:hidden}.final-board>button{margin-top:10px;padding:8px 20px}.settlement-card{width:96%;padding-left:16px;padding-right:16px}.round-rankings{gap:5px}.round-rankings article{grid-template-columns:31px 30px minmax(0,1fr) 45px 55px;gap:4px;padding-left:5px;padding-right:5px}.round-rankings img{width:29px;height:29px}.rank-number{font-size:21px}.rank-number small{font-size:9px}.round-rankings span,.round-rankings em{font-size:12px}.round-rankings article>b{font-size:15px}.final-board{width:94%;padding-left:16px;padding-right:16px}.settlement-card{max-height:98%;padding:12px 14px 9px}.result-seal{width:40px;height:40px;font-size:22px;top:-18px}.settlement-card>p{margin-top:10px;font-size:11px}.settlement-card h2{margin:0 0 3px;font-size:24px}.settlement-card .score-total strong{font-size:31px}.settlement-card .score-details{margin:3px 0 5px}.settlement-card .score-details span{padding:3px 7px;font-size:11px}.settlement-card .horse-area{margin-bottom:5px;padding:3px 8px}.settlement-card .horse-area>div{min-height:42px}.settlement-card .horse-area .mahjong-tile{--tile-width:29px}.round-rankings article{min-height:38px}.result-actions{margin-top:6px}.result-actions button{min-width:128px;padding:6px 12px;font-size:13px}}@media (orientation:portrait) and (hover:none) and (pointer:coarse){.top-bar{height:41px}.brand-mini span{display:none}.seat-left{left:7px}.seat-right{right:7px}.has-three-scene .seat-top{left:auto;right:2%;transform:none}.seat-left .avatar-wrap,.seat-right .avatar-wrap{width:68px;min-width:0;padding:4px}.seat-left .player-info,.seat-right .player-info{display:flex}.user-area{left:1%;right:1%}.user-identity{width:68px;min-width:0;padding:4px;bottom:96px;left:1%}.user-identity>div:last-child{display:flex}.mahjong-tile{--tile-width:min(6.6vw, 38px)}.mahjong-tile.small{--tile-width:min(4.7vw, 25px)}.hand-rack{box-sizing:border-box;gap:0;max-width:100%;padding-left:2px;padding-right:2px;overflow:visible}.turn-action-row{flex-wrap:wrap;justify-content:flex-end;gap:5px;bottom:113px;right:3%}.action{min-width:46px;height:42px;padding:4px 8px}.action b{font-size:14px}.waiting-action{width:46px;height:48px;padding:0}.turn-timer{border-radius:14px;min-width:58px;padding:5px 8px 4px}.turn-timer span{font-size:26px}.lobby-rules{gap:7px;font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.continue-session{color:#182218;letter-spacing:.08em;cursor:pointer;background:linear-gradient(135deg,#b98737e6,#d9b65dd9);border:1px solid #d2aa58;border-radius:24px;margin:0 auto 16px;padding:11px 26px;font:800 15px Noto Serif SC,serif;box-shadow:0 6px 18px #00000059}.continue-session:hover{filter:brightness(1.08);transform:translateY(-1px)}.report-link{color:#d0896a;cursor:pointer;vertical-align:1px;background:0 0;border:1px solid #d0896a73;border-radius:9px;margin-left:6px;padding:1px 7px;font-size:10px}.report-link:hover{color:#f0a585;border-color:#d0896acc}.mode-selector{grid-template-columns:repeat(2,minmax(145px,1fr));gap:10px;width:min(390px,86vw);margin:0 auto 22px;display:grid}.mode-selector button{color:#9fb0a6;cursor:pointer;background:#03120db8;border:1px solid #d3ae5745;border-radius:7px;padding:13px 12px 11px;transition:all .2s}.mode-selector button b,.mode-selector button span{display:block}.mode-selector button b{color:#e5d5ad;margin-bottom:4px;font:800 16px Noto Serif SC,serif}.mode-selector button span{letter-spacing:.05em;font-size:11px}.mode-selector button.active{background:linear-gradient(#a8743057,#123627e0);border-color:#d5ab54;transform:translateY(-2px);box-shadow:0 0 0 1px #f4cc6a29,0 8px 24px #00000040}.mode-selector button.active b{color:#ffe6a5}.single-player-hint{color:#c9b06a;text-align:center;letter-spacing:.06em;width:min(390px,86vw);margin:10px auto 0;font-size:12px}.remote-lobby{flex-direction:column;gap:12px;width:min(390px,86vw);display:flex}.remote-field{background:#03120db8;border:1px solid #d3ae5745;border-radius:7px;align-items:center;gap:10px;padding:10px 14px;display:flex}.remote-field span{color:#d0c39e;letter-spacing:.1em;font-size:13px}.remote-field input,.remote-join input{color:#f1e7cd;background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:14px}.remote-field input::placeholder,.remote-join input::placeholder{color:#5f7368}.remote-actions{flex-direction:column;gap:10px;display:flex}.remote-entry-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.remote-create{color:#182218;letter-spacing:.12em;cursor:pointer;background:linear-gradient(135deg,#b98737,#d9b65d 48%,#956622);border:1px solid #d2aa58;border-radius:3px;padding:12px 20px;font-weight:800}.remote-create:disabled,.remote-join-btn:disabled{filter:grayscale(.6);opacity:.55;cursor:not-allowed}.remote-join{gap:8px;display:flex}.remote-join input{color:#f1e7cd;letter-spacing:.2em;text-align:center;background:#03120db8;border:1px solid #d3ae5745;border-radius:5px;outline:none;flex:1;padding:11px 14px;font-size:14px}.remote-join-btn{color:#e5d5ad;cursor:pointer;background:#081c14e0;border:1px solid #d5b87080;border-radius:5px;padding:11px 16px;font-weight:800}.room-meta-note{color:#9aa88f;letter-spacing:.05em;margin:0;font-size:12px}.room-meta-note b{color:#ffe6a5;font-size:13px}.session-error{color:#e0a06a;margin:0;font-size:13px}.room-panel{background:#03120d99;border:1px solid #d3ae574d;border-radius:9px;flex-direction:column;gap:12px;margin-top:4px;padding:14px;display:flex}.room-code{color:#d0c39e;letter-spacing:.1em;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px}.room-code:hover strong{color:#ffd97a}.room-code strong{color:#ffe6a5;letter-spacing:.3em;margin-left:6px;font:900 26px Noto Serif SC,serif}.room-code-copied{color:#9ac97e;letter-spacing:.05em;background:#9ac97e1f;border:1px solid #9ac97e80;border-radius:8px;margin-left:8px;padding:1px 7px;font-size:11px}.room-game-config{color:#887f67;justify-content:center;gap:7px;margin-top:-5px;font-size:12px;display:flex}.room-game-config b{color:#d5bd83;font-weight:700}.room-limit-note{color:#9aa88f;margin:0;font-size:12px}.room-seats{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.room-seat{color:#5f7368;background:#020c0999;border:1px solid #d3ae572e;border-radius:6px;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:flex}.room-seat.occupied{color:#e5d5ad;border-color:#d3ae5766}.room-seat-no{color:#d0c39e;background:#d3ae572e;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.room-seat b{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.room-seat em{color:#9ac97e;font-size:10px;font-style:normal}.room-seat em.unready{color:#b8935a}.room-owner-actions{flex-direction:column;gap:10px;display:flex}.room-owner-actions button.secondary{color:#e5d5ad;cursor:pointer;background:#081c14e0;border:1px solid #d5b87080;border-radius:5px;padding:11px 16px;font-weight:800}.room-owner-actions button.secondary:disabled{filter:grayscale(.6);opacity:.55;cursor:not-allowed}.room-start:disabled{filter:grayscale(.6);opacity:.5;cursor:not-allowed}.room-actions-row{align-items:center;gap:18px;display:flex}.room-close{color:#d0896a}.room-leave:disabled,.room-close:disabled{opacity:.5;cursor:not-allowed}.autoplay-toggle{color:#9aa88f;cursor:pointer;background:#081c14e0;border:1px solid #d5b87066;border-radius:5px;padding:7px 10px;font-size:12px;font-weight:700}.autoplay-toggle.active{color:#ffe6a5;background:#d5b8702e;border-color:#d5b870cc}.autoplay-toggle:hover{border-color:#d5b870b3}.quit-match{cursor:pointer;background:#081c14e0;border:1px solid #d5b87066;border-radius:5px;place-items:center;width:34px;height:34px;padding:0;display:grid}.quit-match img{object-fit:contain;filter:drop-shadow(0 2px 3px #0000006b);width:22px;height:22px;transition:transform .18s,filter .18s;display:block}.quit-match:hover{border-color:#d5b870b3}.quit-match:hover img{filter:brightness(1.08)drop-shadow(0 3px 5px #0000007a);transform:translateY(-1px)scale(1.07)}.quit-match:active img{transform:scale(.94)}.stats-card{min-width:300px}.stats-nickname{color:#d0c39e;letter-spacing:.1em;margin:2px 0 12px;font-size:14px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:6px 0 14px;display:grid}.stats-grid article{text-align:center;background:#081c1480;border:1px solid #d3ae5740;border-radius:8px;flex-direction:column;gap:4px;padding:12px 6px;display:flex}.stats-grid b{color:#e5d5ad;font-size:20px}.stats-grid b.positive{color:#9ac97e}.stats-grid b.negative{color:#d0896a}.stats-grid span{color:#a8b6a8;letter-spacing:.06em;font-size:11px}.stats-loading,.stats-empty{color:#a8b6a8;text-align:center;padding:18px 0}.remote-banner{z-index:120;background:color-mix(in srgb, var(--theme-panel) 92%, transparent);border:1px solid var(--theme-border);color:var(--theme-text);letter-spacing:.08em;border-radius:20px;padding:8px 18px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0006}.remote-banner.error{border-color:var(--theme-negative);color:var(--theme-negative)}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.lobby{justify-content:space-around;padding:10px 0 14px;inset:0;transform:none}.eyebrow{margin-bottom:2px;font-size:9px}.lobby h1{font-size:clamp(24px,6.5vh,34px);line-height:1.15}.subtitle{letter-spacing:.18em;margin:3px 0 10px;font-size:11px}.mode-selector{gap:6px;margin-bottom:8px}.mode-selector button{padding:7px 9px 6px}.mode-selector button b{margin-bottom:1px;font-size:13px}.mode-selector button span{font-size:9px}.match-selector{gap:6px;margin-bottom:8px}.match-selector button{padding:7px 9px 6px}.match-selector button b{font-size:14px}.game-settings{margin-bottom:10px}.game-settings-title{padding:4px 12px 3px;font-size:9px}.game-settings>button{gap:6px;min-height:38px;padding:5px 12px}.game-settings>button>small{white-space:normal;text-align:right;line-height:1.35}.start-button b{font-size:17px}.start-button span{margin-top:2px;font-size:10px}.remote-lobby{gap:7px}.room-panel{gap:8px;padding:10px}.lobby-links{margin-top:6px}.lobby{padding-bottom:8px}.lobby .eyebrow{display:none}.lobby h1{font-size:24px}.subtitle{margin:2px 0 8px}.start-button{min-width:180px;padding:6px 20px}.theme-menu,.audio-menu{width:min(380px,100vw - 12px);max-height:min(280px,100vh - 14px);overflow-y:auto}.theme-menu>button{background:0 0;border:1px solid #0000;border-radius:6px;width:100%;height:auto;min-height:64px;padding:6px 8px;font-size:13px}.theme-menu>button>span{min-width:0}.theme-menu strong{white-space:nowrap;font-size:13px}.theme-menu small{font-size:9px}.theme-menu>button>i{width:10px;height:10px}.theme-card-preview{width:52px}}.llm-fab{z-index:90;cursor:pointer;background:#071912eb;border:1px solid #d7b55e73;border-radius:50%;width:44px;height:44px;line-height:1;position:fixed;bottom:14px;right:14px;box-shadow:0 6px 18px #00000073}.llm-fab img{width:30px;height:30px;margin:auto;display:block}.llm-bubble{z-index:30;color:#f2df9f;white-space:normal;pointer-events:none;background:#071912f2;border:1px solid #e1bd558c;border-radius:12px;width:max-content;max-width:min(320px,34vw);padding:9px 14px;font-size:clamp(15px,1.05vw,18px);font-weight:600;line-height:1.55;position:absolute;box-shadow:0 6px 16px #00000080}.llm-bubble:after{content:"";border:6px solid #0000;position:absolute}.seat-left .llm-bubble{top:55%;left:calc(100% + 10px);transform:translateY(-50%)}.seat-left .llm-bubble:after{border-right-color:#e1bd558c;margin-top:-6px;top:50%;right:100%}.seat-right .llm-bubble{top:55%;right:calc(100% + 10px);transform:translateY(-50%)}.seat-right .llm-bubble:after{border-left-color:#e1bd558c;margin-top:-6px;top:50%;left:100%}.seat-top .llm-bubble{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.seat-top .llm-bubble:after{border-bottom-color:#e1bd558c;margin-left:-6px;top:-12px;left:50%}.user-llm-bubble{bottom:18px;left:calc(100% + 10px)}.user-llm-bubble:after{border-right-color:#e1bd558c;margin-top:-6px;top:50%;right:100%}.llm-bubble-enter-active,.llm-bubble-leave-active{transition:opacity .22s}.llm-bubble-enter-from,.llm-bubble-leave-to{opacity:0}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.llm-bubble{border-radius:10px;max-width:min(160px,42vw);padding:4px 8px;font-size:11px;line-height:1.4}.seat-left .llm-bubble{top:62%;left:calc(100% + 6px)}.seat-right .llm-bubble{top:62%;right:calc(100% + 6px)}.seat-top .llm-bubble{top:calc(100% + 6px)}.user-llm-bubble{bottom:14px;left:calc(100% + 6px)}}.game-app[data-table-theme=happyMahjong] .lobby{background:radial-gradient(circle at 12% 20%,#f7ca4e21 0 5px,#0000 6px),radial-gradient(circle at 86% 74%,#f07a5d1f 0 7px,#0000 8px),repeating-linear-gradient(135deg,#ffffff05 0 2px,#0000 2px 22px),linear-gradient(#072a34db,#051d25f0)}.game-app[data-table-theme=happyMahjong] .eyebrow,.game-app[data-table-theme=happyMahjong] .subtitle,.game-app[data-table-theme=happyMahjong] .lobby-rules,.game-app[data-table-theme=happyMahjong] .text-button,.game-app[data-table-theme=happyMahjong] .repository-link{color:var(--theme-text-muted)}.game-app[data-table-theme=happyMahjong] .lobby h1{color:var(--theme-text);letter-spacing:.09em;text-shadow:0 4px #02191f8c,0 10px 28px #00000059;font-family:Microsoft YaHei,PingFang SC,sans-serif;font-weight:900}.game-app[data-table-theme=happyMahjong] .lobby h1 span{color:var(--theme-accent)}.game-app[data-table-theme=happyMahjong] .lobby-rules i{background:var(--theme-accent-secondary)}.game-app[data-table-theme=happyMahjong] .waku-account,.game-app[data-table-theme=happyMahjong] .game-settings,.game-app[data-table-theme=happyMahjong] .mode-selector button,.game-app[data-table-theme=happyMahjong] .match-selector button{border-color:color-mix(in srgb, var(--theme-accent) 34%, transparent);background:color-mix(in srgb, var(--theme-panel) 82%, transparent);border-radius:15px}.game-app[data-table-theme=happyMahjong] .mode-selector button.active,.game-app[data-table-theme=happyMahjong] .match-selector button.active{border-color:var(--theme-accent);background:linear-gradient(145deg, color-mix(in srgb, var(--theme-accent) 20%, var(--theme-panel-elevated)), var(--theme-panel));box-shadow:0 5px 0 color-mix(in srgb, var(--theme-accent-secondary) 34%, transparent), 0 10px 22px #00000038}.game-app[data-table-theme=happyMahjong] .game-settings-title,.game-app[data-table-theme=happyMahjong] .game-settings>button>span,.game-app[data-table-theme=happyMahjong] .game-settings>button>small,.game-app[data-table-theme=happyMahjong] .waku-account small{color:var(--theme-text-muted)}.game-app[data-table-theme=happyMahjong] .game-settings>button>strong,.game-app[data-table-theme=happyMahjong] .waku-account b,.game-app[data-table-theme=happyMahjong] .mode-selector button b{color:var(--theme-text);font-family:Microsoft YaHei,PingFang SC,sans-serif}.game-app[data-table-theme=happyMahjong] .game-settings>button>i:before{border-color:var(--theme-accent)}.game-app[data-table-theme=happyMahjong] .start-button{background:var(--theme-button);color:#163640;border:2px solid #ffe39a;border-radius:18px;min-height:54px;transition:transform .18s cubic-bezier(.2,.9,.25,1.2),filter .18s,box-shadow .18s;box-shadow:0 7px #bd6b45,0 15px 30px #0000004d,inset 0 1px #ffffff9e}.game-app[data-table-theme=happyMahjong] .start-button:hover{transform:translateY(-3px)}.game-app[data-table-theme=happyMahjong] .start-button:active{transform:translateY(4px);box-shadow:0 3px #bd6b45,0 8px 18px #00000047}.game-app[data-table-theme=happyMahjong] .lobby-dialog{border:2px solid color-mix(in srgb, var(--theme-accent) 66%, transparent);background:linear-gradient(150deg, color-mix(in srgb, var(--theme-panel-elevated) 97%, transparent), var(--theme-panel));border-radius:20px}.game-app[data-table-theme=happyMahjong] .lobby-dialog h2{color:var(--theme-text);font-family:Microsoft YaHei,PingFang SC,sans-serif}.game-app[data-table-theme=happyMahjong] .picker-options>button{border-radius:13px}.game-app[data-table-theme=happyMahjong] .top-bar{color:var(--theme-text-muted)}.game-app[data-table-theme=happyMahjong] .top-bar .topbar-control,.game-app[data-table-theme=happyMahjong] .round-info{border-width:2px;border-radius:14px}.game-app[data-table-theme=happyMahjong] .action{box-shadow:0 4px 0 color-mix(in srgb, var(--theme-accent-secondary) 38%, transparent), 0 8px 14px #00000047;border-width:2px;border-radius:16px}.game-app[data-table-theme=happyMahjong] .action:hover{transform:translateY(-3px)scale(1.03)}.game-app[data-table-theme=happyMahjong] .action:active{transform:translateY(2px)scale(.98)}.game-app[data-table-theme=happyMahjong] .action.hu{color:#fff9e8;background:linear-gradient(145deg,#ef7a5d,#bd4e49);border-color:#ffac83}.game-app[data-table-theme=happyMahjong] .turn-timer{background:linear-gradient(145deg, var(--theme-panel-elevated), var(--theme-panel));border-radius:16px}.game-app[data-table-theme=happyMahjong] .table-loading-card{border-width:2px;border-radius:18px;box-shadow:0 7px #f07a5d47,0 16px 36px #00000057}.game-app[data-table-theme=happyMahjong] .start-cue{border:3px solid color-mix(in srgb, var(--theme-accent) 78%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--theme-panel-elevated) 96%, transparent), color-mix(in srgb, var(--theme-panel) 94%, transparent));box-shadow:8px 8px 0 color-mix(in srgb, var(--theme-accent-secondary) 38%, transparent), 0 20px 45px #00000052;border-radius:28px}.game-app[data-table-theme=happyMahjong] .start-cue strong{letter-spacing:.08em;font-family:Microsoft YaHei,PingFang SC,sans-serif}.game-app[data-table-theme=happyMahjong] .start-cue i{background:linear-gradient(90deg, var(--theme-accent-secondary), var(--theme-accent), var(--theme-accent-secondary));border-radius:5px;height:5px}.game-app[data-table-theme=happyMahjong] .table-action-cue{background:radial-gradient(circle at 42% 35%,#f7ca4ef0 0 24%,#f07a5dc7 46%,#0000 72%);border-radius:28%;animation:.58s cubic-bezier(.18,.92,.24,1.25) both happy-action-pop}.game-app[data-table-theme=happyMahjong] .table-action-cue:before,.game-app[data-table-theme=happyMahjong] .table-action-cue:after{border-color:#fff9e8b8;border-radius:26%}.game-app[data-table-theme=happyMahjong] .table-action-cue span{color:#fff9e8;text-shadow:0 3px #8e3e3d,0 0 14px #ffe07ebd;font-family:Microsoft YaHei,PingFang SC,sans-serif}.game-app[data-table-theme=happyMahjong] .announcement{background:linear-gradient(90deg,#0000,#0e3b48f0 14% 86%,#0000);border-radius:18px}.game-app[data-table-theme=happyMahjong] .announcement span{color:var(--theme-accent);font-family:Microsoft YaHei,PingFang SC,sans-serif}.game-app[data-table-theme=happyMahjong] .result-backdrop{background:radial-gradient(circle at 50% 35%,#f7ca4e2e,#0000 42%),#031b22d1}.game-app[data-table-theme=happyMahjong] .settlement-card,.game-app[data-table-theme=happyMahjong] .final-board{background:radial-gradient(circle at 8% 12%,#f07a5d21 0 8px,#0000 9px),radial-gradient(circle at 92% 18%,#f7ca4e24 0 7px,#0000 8px),linear-gradient(150deg,#185d6d,#0d3441 72%);border:3px solid #f1c758;border-radius:26px;box-shadow:10px 10px #f07a5d42,0 28px 70px #00000075}.game-app[data-table-theme=happyMahjong] .settlement-card:before{border-color:#fff9e81f;border-radius:18px}.game-app[data-table-theme=happyMahjong] .settlement-footer{background:linear-gradient(#0000,#05232bfa 20%)}.game-app[data-table-theme=happyMahjong] .settlement-card h2,.game-app[data-table-theme=happyMahjong] .final-board>h2{color:var(--theme-text);font-family:Microsoft YaHei,PingFang SC,sans-serif}.game-app[data-table-theme=happyMahjong] .score-total span,.game-app[data-table-theme=happyMahjong] .score-total em,.game-app[data-table-theme=happyMahjong] .result-disclaimer-note,.game-app[data-table-theme=happyMahjong] .final-board>p{color:var(--theme-text-muted)}.game-app[data-table-theme=happyMahjong] .score-total strong{color:var(--theme-accent);text-shadow:0 3px #78441e8c}.game-app[data-table-theme=happyMahjong] .score-details span,.game-app[data-table-theme=happyMahjong] .horse-area{background:#05232b7a;border-color:#f7ca4e5c;border-radius:13px}.game-app[data-table-theme=happyMahjong] .round-rankings article,.game-app[data-table-theme=happyMahjong] .final-rankings article{clip-path:none;background:linear-gradient(105deg,#144f5df5,#092d38f5);border-color:#b9d8d647;border-radius:15px}.game-app[data-table-theme=happyMahjong] .round-rankings article.winner,.game-app[data-table-theme=happyMahjong] .final-rankings article.rank-1{border-color:var(--theme-accent);background:linear-gradient(105deg,#765c22f0,#164f5bf5);box-shadow:0 4px #f07a5d4d}.game-app[data-table-theme=happyMahjong] .round-rankings img,.game-app[data-table-theme=happyMahjong] .final-rankings img{border-color:var(--theme-accent);border-radius:50%}.game-app[data-table-theme=happyMahjong] .result-actions button,.game-app[data-table-theme=happyMahjong] .final-footer>button,.game-app[data-table-theme=happyMahjong] .result-reopen{background:var(--theme-button);color:#163640;border:2px solid #ffe39a;border-radius:16px;box-shadow:0 4px #bd6b45b8}.game-app[data-table-theme=happyMahjong] .result-actions button.secondary{background:var(--theme-panel);color:var(--theme-text);box-shadow:none;border-color:#b9d8d67a}@keyframes happy-action-pop{0%{opacity:0;rotate:-8deg;scale:.58}64%{opacity:1;rotate:3deg;scale:1.12}to{opacity:1;rotate:0deg;scale:1}}.game-app[data-table-theme=llm]{--llm-bg:#050b22;--llm-panel:#0a1438f0;--llm-panel-strong:#0c1745;--llm-blue:#4f8fff;--llm-cyan:#76d9ff;--llm-gold:#d6b08a;--llm-text:#f4f6ff;--llm-muted:#9eadd5;background:radial-gradient(circle at 50% 42%, #4467dc42, transparent 48%), linear-gradient(145deg, #071331, var(--llm-bg) 72%)}.game-app[data-table-theme=llm] .top-bar{color:var(--llm-muted);background:linear-gradient(#04091ef5,#0811319e,#0000)}.game-app[data-table-theme=llm] .round-info{color:#dce7ff;background:#04091e57;border-color:#76d9ff33}.game-app[data-table-theme=llm] .base-score-badge{color:#e8c49e}.game-app[data-table-theme=llm] .base-score-badge .badge-room{color:#aebce2}.game-app[data-table-theme=llm] .top-bar button{color:#eaf1ff;background:#070e2a94;border-color:#88aeff57}.game-app[data-table-theme=llm] .top-bar button:hover{border-color:var(--llm-cyan);background:#4468d23d}.game-app[data-table-theme=llm] .theme-toggle-mark i{background:#15367d;border-color:#eedeccd1;box-shadow:0 0 5px #76d9ff61}.game-app[data-table-theme=llm] .theme-toggle-mark i:nth-child(2){background:#4f8fff}.game-app[data-table-theme=llm] .theme-toggle-mark i:nth-child(3){background:#8f87df}.game-app[data-table-theme=llm] .theme-toggle-mark i:nth-child(4){background:var(--llm-gold)}.game-app[data-table-theme=llm] .theme-menu,.game-app[data-table-theme=llm] .audio-menu{background:linear-gradient(155deg,#0f1f4efc,#04091efc 72%);border-color:#76d9ff7a;box-shadow:0 18px 42px #000000a8,inset 0 1px #ffffff12}.game-app[data-table-theme=llm] .audio-menu:before{background:#10204f;border-color:#76d9ff7a}.game-app[data-table-theme=llm] .audio-menu>p{color:#e0bc98}.game-app[data-table-theme=llm] .audio-menu>button:hover{background:#4f8fff29;border-color:#76d9ff66}.game-app[data-table-theme=llm] .audio-menu strong{color:var(--llm-text)}.game-app[data-table-theme=llm] .audio-menu small{color:var(--llm-muted)}.game-app[data-table-theme=llm] .audio-menu>button>i.active{border-color:var(--llm-cyan);background:#76d9ff40}.game-app[data-table-theme=llm] .audio-menu>button>i.active:after{background:var(--llm-cyan);box-shadow:0 0 7px #76d9ffb8}.game-app[data-table-theme=llm] .theme-menu:before{background:#10204f;border-color:#76d9ff7a}.game-app[data-table-theme=llm] .theme-menu>p{color:#e0bc98}.game-app[data-table-theme=llm] .theme-menu>button:hover,.game-app[data-table-theme=llm] .theme-menu>button.active{background:#4f8fff29;border-color:#76d9ff66}.game-app[data-table-theme=llm] .theme-menu strong{color:var(--llm-text)}.game-app[data-table-theme=llm] .theme-menu small{color:var(--llm-muted)}.game-app[data-table-theme=llm] .theme-menu>button>i{box-shadow:inset 0 0 0 2px #071331}.game-app[data-table-theme=llm] .theme-menu>button.active>i{border-color:var(--llm-cyan);background:var(--llm-cyan);box-shadow:0 0 8px #76d9ffbf,inset 0 0 0 2px #071331}.game-app[data-table-theme=llm] .avatar-wrap,.game-app[data-table-theme=llm] .user-identity{background:linear-gradient(#101f4ff5,#050c24e6);border-color:#7da6ff85;box-shadow:0 7px 22px #0000007a,inset 0 0 0 1px #76d9ff0d}.game-app[data-table-theme=llm] .avatar-wrap .avatar,.game-app[data-table-theme=llm] .user-identity .avatar{border-color:var(--llm-gold);background:#13245a}.game-app[data-table-theme=llm] .player-info strong{color:var(--llm-text)}.game-app[data-table-theme=llm] .player-info span{color:#d9bd9d}.game-app[data-table-theme=llm] .player-seat.active .avatar-wrap,.game-app[data-table-theme=llm] .user-identity.active{border-color:var(--llm-cyan);box-shadow:0 0 18px #53adff66,inset 0 0 0 1px #76d9ff17}.game-app[data-table-theme=llm] .avatar-wrap .turn-dot,.game-app[data-table-theme=llm] .user-identity.active:after{background:var(--llm-cyan);box-shadow:0 0 10px #54cfff}.game-app[data-table-theme=llm] .action{color:#f2f6ff;background:radial-gradient(circle at 42% 33%,#4869bd,#202d68 68%,#080f2d);border-color:#6687d6;box-shadow:0 4px 11px #00000080,0 0 12px #4f8fff24,inset 0 0 0 2px #ffffff0b}.game-app[data-table-theme=llm] .action span{color:#bdcbed}.game-app[data-table-theme=llm] .waiting-action,.game-app[data-table-theme=llm] .waiting-action:hover,.game-app[data-table-theme=llm] .waiting-action:focus-visible,.game-app[data-table-theme=llm] .waiting-action.active{box-shadow:none;filter:none;background:0 0;border:0;border-radius:0;outline:0}.game-app[data-table-theme=llm] .waiting-action:hover{transform:translateY(-3px)}.game-app[data-table-theme=llm] .waiting-action:hover .action-icon,.game-app[data-table-theme=llm] .waiting-action:focus-visible .action-icon{filter:brightness(1.14)drop-shadow(0 0 8px #76d9ff99)}.game-app[data-table-theme=llm] .action.hu{color:#ffe3d6;background:radial-gradient(circle at 40% 30%,#b94c60,#642239 65%,#210814);border-color:#dc7582}.game-app[data-table-theme=llm] .action.pass,.game-app[data-table-theme=llm] .discard-action{color:#cbd5ee;background:#070f2be6;border-color:#526b9f}.game-app[data-table-theme=llm] .autoplay-action.active{border-color:var(--llm-cyan);color:#eef9ff;background:radial-gradient(circle at 42% 33%,#497fd6,#243d88 69%,#0b153b);box-shadow:0 4px 10px #0000007a,0 0 14px #76d9ff66,inset 0 0 0 2px #ffffff0d}.game-app[data-table-theme=llm] .turn-timer{color:#c8f3ff;background:#07102ff0;border-color:#76d9ffd1;box-shadow:0 5px 18px #00000085,0 0 17px #5cbdff42}.game-app[data-table-theme=llm] .turn-timer.prompt-timer{color:#ffe4bd;border-color:#e1bc92db;box-shadow:0 0 18px #d6b08a47}.game-app[data-table-theme=llm] .llm-bubble{color:#e8f4ff;background:#081236f5;border-color:#76d9ffb3;box-shadow:0 7px 20px #0000008c,0 0 14px #4f8fff29}.game-app[data-table-theme=llm] .seat-left .llm-bubble:after{border-right-color:#76d9ffb3}.game-app[data-table-theme=llm] .seat-right .llm-bubble:after{border-left-color:#76d9ffb3}.game-app[data-table-theme=llm] .seat-top .llm-bubble:after{border-bottom-color:#76d9ffb3}.game-app[data-table-theme=llm] .user-llm-bubble:after{border-right-color:#76d9ffb3}.game-app[data-table-theme=llm] .table-loading{background:radial-gradient(at 50% 45%,#1d3e8bcc,#030719f5 74%)}.game-app[data-table-theme=llm] .table-loading-card{color:#dff6ff;background:#07102feb;border-color:#76d9ff99;box-shadow:0 10px 32px #00000061}.game-app[data-table-theme=llm] .table-loading-spinner{border-color:#76d9ff42;border-top-color:var(--llm-cyan)}.game-app[data-table-theme=llm] .rules-panel{background:linear-gradient(160deg,#10245f,#060d2c 68%);border-left-color:#76d9ff80}.game-app[data-table-theme=llm] .rules-panel header{border-bottom-color:#76d9ff33}.game-app[data-table-theme=llm] .rules-panel header span,.game-app[data-table-theme=llm] .rules-panel .disclaimer-block>h3,.game-app[data-table-theme=llm] .rules-panel .disclaimer-block h4{color:#e0bc98}.game-app[data-table-theme=llm] .rules-panel h2{color:var(--llm-text)}.game-app[data-table-theme=llm] .rules-panel header button{color:#d9e7ff;border-color:#76d9ff4d}.game-app[data-table-theme=llm] .rules-panel .disclaimer-block{background:#02071b47;border-color:#76d9ff3d}.game-app[data-table-theme=llm] .rules-panel .disclaimer-block p,.game-app[data-table-theme=llm] .rules-panel .disclaimer-block li{color:#aebce2}.game-app[data-table-theme=llm] .result-backdrop{background:#020617d1}.game-app[data-table-theme=llm] .result-card{background:radial-gradient(circle at 50% 0,#5d85eb47,#0000 44%),linear-gradient(145deg,#132b6e,#070e30 80%);border-color:#9cbcff;box-shadow:0 25px 72px #01030c,0 0 24px #4f8fff1f}.game-app[data-table-theme=llm] .result-card:before{border-color:#d6b08a33}.game-app[data-table-theme=llm] .result-card>p{color:#d8b99a}.game-app[data-table-theme=llm] .result-card h2{color:#f5f7ff}.game-app[data-table-theme=llm] .result-actions button,.game-app[data-table-theme=llm] .final-board>button{color:#071431;background:linear-gradient(#75a9ff,#426dca);border-color:#a5c4ff}.game-app[data-table-theme=llm] .result-actions button.secondary{color:#e1eaff;background:#081337eb;border-color:#8daeef94}.game-app[data-table-theme=llm] .round-settlement{background:radial-gradient(circle at 50% 45%,#4268cd59,#0000 56%),#010411e0}.game-app[data-table-theme=llm] .round-rankings article{background:linear-gradient(105deg,#20397df5,#0a173ef5);border-color:#7fa5ec57}.game-app[data-table-theme=llm] .round-rankings article.winner{background:linear-gradient(105deg,#654849f5,#14234ef5);border-color:#e0bc98d1}.game-app[data-table-theme=llm] .final-backdrop{background:radial-gradient(circle at 50% 24%,#4d71da6b,#0000 40%),#010411f0}.game-app[data-table-theme=llm] .final-board>p,.game-app[data-table-theme=llm] .final-rankings em{color:#e0bc98}.game-app[data-table-theme=llm] .final-board>h2{color:#f4f6ff}.game-app[data-table-theme=llm] .final-rankings article{background:linear-gradient(90deg,#1f387ef7,#081437f5);border-color:#7da5ec57}.game-app[data-table-theme=llm] .final-rankings article.rank-1{background:linear-gradient(90deg,#684d58fa,#172453f5);border-color:#d6b08a}.game-app[data-table-theme=llmAnime]{--anime-ink:#2d2923;--anime-paper:#fbf1df;--anime-paper-deep:#eadcc5;--anime-green:#617365;--anime-green-dark:#3f5145;--anime-walnut:#4a2d20;--anime-gold:#c59a4a;--anime-ivory:#f4eddf;--anime-vermilion:#a84f42;--anime-accent:#b56a52;--anime-coral:#bd5b48;--anime-muted:#756a5d;--anime-control:#27352f;--anime-control-deep:#151e1a;--anime-control-edge:#9d9282;--anime-control-label:#fff8ec;--anime-control-muted:#98a79f;--anime-control-highlight:#ffffff21;--anime-control-shadow:#090d0b94;--announcement-width:min(62cqw, 620px);--announcement-padding:7px 38px;--bubble-max-width:min(300px, 34cqw);--bubble-min-width:76px;--bubble-padding:9px 13px;--start-cue-min-width:300px;--start-cue-padding:15px 38px 17px;--start-cue-rule-width:160px;--start-cue-rule-height:3px;background:#282a25;font-family:Microsoft YaHei,PingFang SC,Noto Sans CJK SC,sans-serif}.game-app[data-table-theme=llmAnime] .top-bar{color:#f4eddf;background:linear-gradient(#2d241cf5,#2d241c7a,#0000)}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control,.game-app[data-table-theme=llmAnime] .round-info{color:#f4eddf;background:#2d241cd1;border-color:#c9a965a6}.game-app[data-table-theme=llmAnime] .theme-toggle-mark i{background:var(--anime-green);border-color:#f4eddf}.game-app[data-table-theme=llmAnime] .theme-toggle-mark i:nth-child(2){background:var(--anime-walnut)}.game-app[data-table-theme=llmAnime] .theme-toggle-mark i:nth-child(3){background:var(--anime-vermilion)}.game-app[data-table-theme=llmAnime] .theme-toggle-mark i:nth-child(4){background:var(--anime-gold)}.game-app[data-table-theme=llmAnime] .avatar-wrap,.game-app[data-table-theme=llmAnime] .user-identity{border-color:var(--anime-accent,#b56a52);background:#3f4d43;box-shadow:0 7px 22px #120e0a7a,inset 0 0 0 1px #ffffff1f}.game-app[data-table-theme=llmAnime] .avatar{border-color:var(--anime-accent,#b56a52);background:#6a4035}.game-app[data-table-theme=llmAnime] .player-info strong{color:#fff7e8}.game-app[data-table-theme=llmAnime] .player-info span{color:#d9d0bc}.game-app[data-table-theme=llmAnime] .action{color:#fff7e8;background:#4b2d1c;border-color:#d6b56c;box-shadow:0 5px 13px #0d09056b}.game-app[data-table-theme=llmAnime] .action.hu{background:#a84f42;border-color:#e1a05b}.game-app[data-table-theme=llmAnime] .turn-timer{color:#fff7e8;background:#3f4d43f5;border-color:#d6b56c;box-shadow:0 0 14px #c9a96538}.game-app[data-table-theme=llmAnime] .llm-bubble{border-color:var(--anime-accent,#b56a52);color:#2d241c;background:#f4eddf;border-radius:16px 16px 16px 5px;box-shadow:0 8px 22px #130e0966,inset 0 1px #ffffffb3}.game-app[data-table-theme=llmAnime] .seat-left .llm-bubble:after{border-right-color:var(--anime-accent,#b56a52)}.game-app[data-table-theme=llmAnime] .seat-right .llm-bubble:after{border-left-color:var(--anime-accent,#b56a52)}.game-app[data-table-theme=llmAnime] .seat-top .llm-bubble:after{border-bottom-color:var(--anime-accent,#b56a52)}.game-app[data-table-theme=llmAnime] .user-llm-bubble:after{border-right-color:var(--anime-accent,#b56a52)}.game-app[data-table-theme=llmAnime] .announcement{background:#f4eddf;border-top:1px solid #a88b5b8c;border-bottom:1px solid #a88b5b6b}.game-app[data-table-theme=llmAnime] .announcement span{color:#5a3825;-webkit-text-stroke:0;text-shadow:none;font-family:Microsoft YaHei,PingFang SC,sans-serif;font-style:italic}.game-app[data-table-theme=llmAnime] .mahjong-tile.tile-back:before{background-color:#a65f52;background-image:var(--tile-back-image);background-position:50%;background-repeat:no-repeat;background-size:cover;border-color:#f4eddfeb}.game-app[data-table-theme=llmAnime] .result-backdrop{background:#1f1811c7}.game-app[data-table-theme=llmAnime] .result-card{background:#f4eddf;border-color:#c9a965}.game-app[data-table-theme=llmAnime] .kong-picker-card{border-color:var(--anime-gold);background:radial-gradient(circle at 50% 0,#c59a4a29,#0000 44%),linear-gradient(145deg,#38433a,#111813 78%)}.game-app[data-table-theme=llmAnime] .round-rankings article,.game-app[data-table-theme=llmAnime] .final-rankings article{border-color:color-mix(in srgb, var(--anime-accent,#b56a52) 58%, #a88b5b);background:#e7ddca}.game-app[data-table-theme=llmAnime] .announcement{background:#f4eddf;border-radius:5px;overflow:hidden;box-shadow:0 8px 28px #170c0752,0 0 0 1px #a88b5b}.game-app[data-table-theme=llmAnime] .announcement:before,.game-app[data-table-theme=llmAnime] .announcement:after{content:"✦";color:#a84f42;text-shadow:none;font-size:clamp(14px,1.8vw,24px);position:absolute;top:50%;transform:translateY(-50%)}.game-app[data-table-theme=llmAnime] .announcement:before{left:clamp(13px,2vw,28px)}.game-app[data-table-theme=llmAnime] .announcement:after{right:clamp(13px,2vw,28px)}.game-app[data-table-theme=llmAnime] .announcement span{overflow-wrap:anywhere;letter-spacing:.16em;min-width:0;font-size:clamp(20px,2.7vw,40px)}.game-app[data-table-theme=llmAnime] .llm-bubble{overflow-wrap:anywhere;word-break:break-word;text-align:left;width:max-content;text-shadow:none;background:#f4eddf;border-width:2px;border-radius:18px 18px 18px 6px}.game-app[data-table-theme=llmAnime] .seat-right .llm-bubble{border-radius:18px 18px 6px}.game-app[data-table-theme=llmAnime] .seat-top .llm-bubble{border-radius:6px 18px 18px}.game-app[data-table-theme=llmAnime] .user-llm-bubble{border-radius:18px 18px 18px 6px}.game-app[data-table-theme=llmAnime] .settlement-card,.game-app[data-table-theme=llmAnime] .final-board{background:#f4eddf;border:2px solid #a88b5b;border-radius:8px;position:relative;box-shadow:0 24px 70px #09050280,inset 0 1px #ffffffb3}.game-app[data-table-theme=llmAnime] .settlement-card:after,.game-app[data-table-theme=llmAnime] .final-board:after{content:"";pointer-events:none;border:1px solid #a88b5b59;border-radius:4px;position:absolute;inset:8px}.game-app[data-table-theme=llmAnime] .settlement-card h2,.game-app[data-table-theme=llmAnime] .final-board>h2{color:#5a3825;text-shadow:none}.game-app[data-table-theme=llmAnime] .score-details span{color:#4c4035}.game-app[data-table-theme=llmAnime] .score-details b{color:#8d4b3f}.game-app[data-table-theme=llmAnime] .round-rankings span,.game-app[data-table-theme=llmAnime] .rank-number,.game-app[data-table-theme=llmAnime] .round-rankings article>b,.game-app[data-table-theme=llmAnime] .final-rank,.game-app[data-table-theme=llmAnime] .final-name strong,.game-app[data-table-theme=llmAnime] .final-rankings em{color:#3e342b}.game-app[data-table-theme=llmAnime] .round-rankings em.positive{color:#3f7750}.game-app[data-table-theme=llmAnime] .round-rankings em.negative{color:#a6433d}.game-app[data-table-theme=llmAnime] .round-rankings .mark.dealer{color:#7e332c;background:#efd0c5;border-color:#a84f42}.game-app[data-table-theme=llmAnime] .round-rankings .mark.tenpai{color:#70511d;background:#edddb6;border-color:#ad853f}.game-app[data-table-theme=llmAnime] .final-rankings article.self{box-shadow:inset 3px 0 var(--anime-accent,#b56a52)}.game-app[data-table-theme=llmAnime] .result-actions button,.game-app[data-table-theme=llmAnime] .final-board>button{color:#2d241c;background:#c9a965;border-color:#b77a36;border-radius:5px;box-shadow:0 5px 14px #1909034d}.game-app[data-table-theme=llmAnime] .final-rankings article{border-radius:12px}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.game-app[data-table-theme=llmAnime]{--announcement-width:min(72cqw, 520px);--announcement-padding:6px 27px;--bubble-max-width:min(180px, 38cqw);--bubble-min-width:58px;--bubble-padding:6px 9px}.game-app[data-table-theme=llmAnime] .announcement span{font-size:clamp(16px,3.8cqw,26px)}.game-app[data-table-theme=llmAnime] .llm-bubble{font-size:11px}.game-app[data-table-theme=llmAnime] .settlement-card,.game-app[data-table-theme=llmAnime] .final-board{border-radius:16px}}@media (prefers-reduced-motion:reduce){.game-app[data-table-theme=llmAnime] .settlement-card,.game-app[data-table-theme=llmAnime] .final-board{animation:none}}.game-app[data-table-theme=llmAnime] .top-bar{color:var(--anime-control-label)}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control{border:1px solid var(--anime-control-edge);background:linear-gradient(180deg, #35473f 0%, var(--anime-control) 48%, var(--anime-control-deep) 100%);color:var(--anime-control-label);box-shadow:inset 0 1px var(--anime-control-highlight), inset 0 -2px #0409077a, 0 3px 6px var(--anime-control-shadow);border-radius:7px;place-items:center;transition:transform .12s,filter .12s,box-shadow .12s;display:grid;position:relative}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control:hover{filter:none;background:linear-gradient(#40554b,#2c3c35 50%,#19231e);border-color:#e0bd70;transform:translateY(-1px)}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control:active{transform:translateY(1px);box-shadow:inset 0 3px 5px #050a08b8,inset 0 1px #ffffff0d}.game-app[data-table-theme=llmAnime] .hardware-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px #00000080);width:clamp(19px,1.55vw,23px);height:clamp(19px,1.55vw,23px)}.game-app[data-table-theme=llmAnime] .theme-toggle-mark i{border-color:color-mix(in srgb, var(--anime-control-edge) 75%, transparent);box-shadow:inset 0 1px #fff3}.game-app[data-table-theme=llmAnime] .avatar-wrap,.game-app[data-table-theme=llmAnime] .user-identity{border:1px solid var(--anime-control-edge);box-shadow:inset 0 1px var(--anime-control-highlight), inset 0 -2px #03080666, 0 4px 9px var(--anime-control-shadow);background:linear-gradient(#35473ff7,#1a2520f7 62%,#0f1613fa);border-radius:7px}.game-app[data-table-theme=llmAnime] .avatar,.game-app[data-table-theme=llmAnime] .user-identity .avatar{border:1px solid color-mix(in srgb, var(--anime-accent,#bd5b48) 70%, var(--anime-control-edge));background:#202c27;border-radius:5px;box-shadow:inset 0 0 0 1px #ffffff14,0 2px 5px #0000007a}.game-app[data-table-theme=llmAnime] .player-info strong{color:var(--anime-control-label);text-shadow:0 1px 2px #000;font-size:clamp(10px,.82vw,12px)}.game-app[data-table-theme=llmAnime] .player-info span{color:var(--anime-control-edge);text-shadow:0 1px 2px #000;font-size:clamp(10px,.78vw,12px)}.game-app[data-table-theme=llmAnime] .player-seat.active .avatar-wrap,.game-app[data-table-theme=llmAnime] .player-seat.action-active .avatar-wrap,.game-app[data-table-theme=llmAnime] .user-identity.active{border-color:var(--anime-coral);box-shadow:inset 0 1px var(--anime-control-highlight), 0 0 0 1px #bd5b4840, 0 4px 10px #100a089e}.game-app[data-table-theme=llmAnime] .action{border:1px solid var(--anime-control-edge);background:linear-gradient(180deg, #35473f 0%, var(--anime-control) 48%, var(--anime-control-deep) 100%);color:var(--anime-control-label);box-shadow:inset 0 1px var(--anime-control-highlight), inset 0 -3px #050a0894, 0 4px 8px var(--anime-control-shadow);text-shadow:0 1px 2px #000;border-radius:7px;transition:transform .12s,filter .12s,box-shadow .12s}.game-app[data-table-theme=llmAnime] .action b{font-family:Microsoft YaHei,PingFang SC,sans-serif;font-weight:900}.game-app[data-table-theme=llmAnime] .action span{color:var(--anime-control-edge)}.game-app[data-table-theme=llmAnime] .action:hover{filter:brightness(1.08);transform:translateY(-1px)}.game-app[data-table-theme=llmAnime] .action:active{filter:none;transform:translateY(2px);box-shadow:inset 0 4px 7px #040907b8,inset 0 1px #ffffff0a}.game-app[data-table-theme=llmAnime] .action.hu{background:linear-gradient(180deg, #c66b59, var(--anime-coral) 48%, #79352e 100%);color:#fff4dc;border-color:#e0a07e}.game-app[data-table-theme=llmAnime] .action.pass,.game-app[data-table-theme=llmAnime] .discard-action{color:var(--anime-control-muted);background:linear-gradient(#2b3732,#1b2420 60%,#111713);border-color:#68766f}.game-app[data-table-theme=llmAnime] .waiting-action b{line-height:.9}.game-app[data-table-theme=llmAnime] .waiting-action span{clip:auto;width:auto;height:auto;color:var(--anime-control-edge);margin-top:2px;padding:0;font-size:9px;line-height:1;display:block;position:static;overflow:visible}.game-app[data-table-theme=llmAnime] .waiting-action.active,.game-app[data-table-theme=llmAnime] .autoplay-action.active{border-color:var(--anime-coral);box-shadow:inset 0 1px var(--anime-control-highlight), inset 0 -3px #050a088a, 0 0 0 1px #bd5b483d, 0 4px 8px var(--anime-control-shadow);background:linear-gradient(#415249,#2a3831 52%,#18211d)}.game-app[data-table-theme=llmAnime] .turn-timer{border:1px solid var(--anime-control-edge);color:var(--anime-control-label);box-shadow:inset 0 1px var(--anime-control-highlight), 0 4px 9px var(--anime-control-shadow);text-shadow:0 1px 3px #000;background:linear-gradient(#26362f,#131c18);border-radius:9px}.game-app[data-table-theme=llmAnime] .mahjong-tile{background-color:#f5f1e8;border-color:#d8d0c0;box-shadow:0 4px #eee6d7,0 8px #bd5b48,0 12px 9px #080d0a7a,inset 0 1px #ffffffe6}.game-app[data-table-theme=llmAnime] .mahjong-tile.small{box-shadow:0 3px #eee6d7,0 6px #bd5b48,0 8px 5px #080d0a70,inset 0 1px #ffffffdb}.game-app[data-table-theme=llmAnime] .mahjong-tile.tile-back:before{background-color:#bd5b48;border-color:#fff1daeb}.game-app[data-table-theme=llmAnime] .start-cue{clip-path:polygon(0 7px,9px 0,calc(100% - 10px) 0,100% 8px,100% calc(100% - 7px),calc(100% - 9px) 100%,8px 100%,0 calc(100% - 8px));background:#fbf1df;border:3px solid #2d2923;box-shadow:6px 6px #2d292338}.game-app[data-table-theme=llmAnime] .start-cue span{color:#756a5d;letter-spacing:.28em;font-family:Yu Gothic,Microsoft YaHei,sans-serif}.game-app[data-table-theme=llmAnime] .start-cue strong{color:#2d2923;text-shadow:3px 3px #e9c7b6;font-family:Yu Gothic,Microsoft YaHei,sans-serif;font-size:clamp(34px,4.4vw,62px)}.game-app[data-table-theme=llmAnime] .start-cue i{box-shadow:none;background:#bd5b48}.game-app[data-table-theme=llmAnime] .announcement{clip-path:polygon(0 4px,7px 0,calc(100% - 7px) 0,100% 5px,100% calc(100% - 4px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 5px));background:#fbf1df;border:2px solid #2d2923;border-radius:2px;box-shadow:4px 4px #2d292338}.game-app[data-table-theme=llmAnime] .announcement:before,.game-app[data-table-theme=llmAnime] .announcement:after{color:#bd5b48;text-shadow:none}.game-app[data-table-theme=llmAnime] .announcement span{color:#2d2923;letter-spacing:.12em;text-shadow:none;-webkit-text-stroke:0;font-style:normal;font-weight:900}.game-app[data-table-theme=llmAnime] .result-backdrop,.game-app[data-table-theme=llmAnime] .final-backdrop{background:#1f1811bd}.game-app[data-table-theme=llmAnime] .settlement-card,.game-app[data-table-theme=llmAnime] .final-board{clip-path:polygon(0 7px,8px 0,calc(100% - 9px) 0,100% 8px,100% calc(100% - 7px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px));background:#fbf1df;border:2px solid #2d2923;border-radius:3px;box-shadow:8px 8px #2d29233d}.game-app[data-table-theme=llmAnime] .settlement-card h2,.game-app[data-table-theme=llmAnime] .final-board>h2{color:#2d2923}.game-app[data-table-theme=llmAnime] .score-details span,.game-app[data-table-theme=llmAnime] .round-rankings span,.game-app[data-table-theme=llmAnime] .rank-number,.game-app[data-table-theme=llmAnime] .round-rankings article>b,.game-app[data-table-theme=llmAnime] .final-rank,.game-app[data-table-theme=llmAnime] .final-name strong,.game-app[data-table-theme=llmAnime] .final-rankings em{color:#2d2923}.game-app[data-table-theme=llmAnime] .round-rankings article,.game-app[data-table-theme=llmAnime] .final-rankings article{border-color:color-mix(in srgb, var(--anime-accent,#bd5b48) 55%, #8d8172);background:#f2e6d3;border-radius:2px}.game-app[data-table-theme=llmAnime] .result-actions button,.game-app[data-table-theme=llmAnime] .final-board>button{color:#2d2923;background:#c59a4a;border:2px solid #2d2923;border-radius:3px;box-shadow:3px 3px #2d29233d}.game-app[data-table-theme=llmAnime] .start-cue{border:1px solid var(--anime-control-edge);clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(135deg,#30433af5,#111b17f7 72%);border-radius:10px;box-shadow:inset 0 1px #ffffff24,0 14px 38px #060a088c,0 0 24px #bd5b481f}.game-app[data-table-theme=llmAnime] .start-cue span{color:#c5b889;text-shadow:0 1px 3px #000}.game-app[data-table-theme=llmAnime] .start-cue strong{color:#fff1d5;text-shadow:0 3px 8px #000000b8,3px 3px #bd5b488c,0 0 18px #ffb7812e}.game-app[data-table-theme=llmAnime] .start-cue i{background:linear-gradient(90deg, transparent, #78d8e8 18%, var(--anime-coral) 52%, #e7c675 82%, transparent);box-shadow:0 0 10px #78d8e847}.game-app[data-table-theme=llmAnime] .announcement{border:1px solid var(--anime-control-edge);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);background:linear-gradient(90deg,#111b17f0,#33453cf5 48%,#111b17f0);border-radius:8px;box-shadow:inset 0 1px #ffffff1c,0 10px 28px #05090780,0 0 18px #78d8e814}.game-app[data-table-theme=llmAnime] .announcement:before{color:#78d8e8}.game-app[data-table-theme=llmAnime] .announcement:after{color:var(--anime-coral)}.game-app[data-table-theme=llmAnime] .announcement span{color:#fff1d5;text-shadow:0 2px 6px #000000b8}.game-app[data-table-theme=llmAnime] .result-backdrop,.game-app[data-table-theme=llmAnime] .final-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080e0bb8}.game-app[data-table-theme=llmAnime] .settlement-card,.game-app[data-table-theme=llmAnime] .final-board{border:1px solid var(--anime-control-edge);color:var(--anime-control-label);clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);background:linear-gradient(145deg,#31433afa,#101915fc 66%);border-radius:12px;box-shadow:inset 0 1px #ffffff21,0 24px 72px #030705b8,0 0 32px #78d8e814}.game-app[data-table-theme=llmAnime] .settlement-card:after,.game-app[data-table-theme=llmAnime] .final-board:after{border-color:#c7a45b38;border-radius:8px}.game-app[data-table-theme=llmAnime] .settlement-card h2,.game-app[data-table-theme=llmAnime] .final-board>h2,.game-app[data-table-theme=llmAnime] .rank-number,.game-app[data-table-theme=llmAnime] .round-rankings article>b,.game-app[data-table-theme=llmAnime] .final-rank,.game-app[data-table-theme=llmAnime] .final-name strong,.game-app[data-table-theme=llmAnime] .final-rankings em{color:#fff1d5}.game-app[data-table-theme=llmAnime] .result-card>p,.game-app[data-table-theme=llmAnime] .final-board>p,.game-app[data-table-theme=llmAnime] .score-total span,.game-app[data-table-theme=llmAnime] .score-total em,.game-app[data-table-theme=llmAnime] .result-disclaimer-note{color:#aebbb3}.game-app[data-table-theme=llmAnime] .score-total strong{color:#ff9a80;text-shadow:0 0 14px #bd5b4838}.game-app[data-table-theme=llmAnime] .score-details span,.game-app[data-table-theme=llmAnime] .horse-area{background:#09120e6b;border-color:#c7a45b59}.game-app[data-table-theme=llmAnime] .horse-area .mahjong-tile:not(.horse-hit){opacity:.92;filter:brightness(.92)saturate(.72)}.game-app[data-table-theme=llmAnime] .score-details span,.game-app[data-table-theme=llmAnime] .round-rankings span{color:#e8e2cf}.game-app[data-table-theme=llmAnime] .round-rankings em{color:#a7b4ad}.game-app[data-table-theme=llmAnime] .round-rankings article,.game-app[data-table-theme=llmAnime] .final-rankings article{background:linear-gradient(105deg,#24332cf5,#121c18f7);border-color:#c7a45b47;border-radius:7px}.game-app[data-table-theme=llmAnime] .round-rankings article.winner,.game-app[data-table-theme=llmAnime] .final-rankings article.rank-1{background:linear-gradient(105deg,#70372fe0,#232a24f7);border-color:#e07e67c7}.game-app[data-table-theme=llmAnime] .result-actions button,.game-app[data-table-theme=llmAnime] .final-board>button{border:1px solid var(--anime-control-edge);color:var(--anime-control-label);background:linear-gradient(#3b5046,#1b2822);border-radius:7px;box-shadow:inset 0 1px #ffffff1f,0 5px 12px #0509078c}.game-app[data-table-theme=llmAnime] .result-actions button.secondary{color:#fff1d5;background:linear-gradient(#623c32,#321d18)}.game-app{--hud-top-edge:calc(var(--safe-top) + var(--topbar-height));--hud-bottom-edge:var(--safe-bottom);--top-seat-anchor:calc(var(--hud-top-edge) + var(--hud-gap));--side-seat-anchor:40%;--table-box-w:min(100cqw, calc(100cqh * 16 / 9));--table-box-left:calc((100cqw - var(--table-box-w)) / 2);--hand-zone-height:clamp(82px, 21cqh, 205px);--controls-bottom:calc(var(--safe-bottom) + var(--hand-zone-height) + var(--hud-gap));--announcement-width:auto;--announcement-padding:4px 37px}.announcement{width:var(--announcement-width);padding:var(--announcement-padding)}.has-three-scene .seat-top{top:max(5%, var(--top-seat-anchor))}.user-area{right:calc(var(--table-box-left) + max(5%, calc(var(--safe-right) + 4px)));bottom:var(--safe-bottom);left:calc(var(--table-box-left) + max(5%, calc(var(--safe-left) + 4px)));min-height:var(--hand-zone-height)}.hand-tile-slot{min-width:var(--hand-hit-target);min-height:var(--hand-hit-target);justify-content:center;align-items:flex-end}.turn-action-row{right:max(10%, calc(var(--safe-right) + 8px));bottom:var(--controls-bottom);max-width:calc(100% - var(--safe-left) - var(--safe-right) - 16px)}.top-bar button,.action,.result-actions button,.final-board>button,.result-reopen{min-width:var(--control-hit-target);min-height:var(--control-hit-target)}@media (hover:hover) and (pointer:fine){.has-three-scene .hand-rack .mahjong-tile{--tile-width:clamp(48px, min(calc(7.97 * var(--game-cqh)), calc(5.5 * var(--game-cqw))), 104px)}}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.game-app{--safe-top:0px;--topbar-height:44px;--seat-card-width:clamp(88px, 10cqw, 96px);--seat-card-height:clamp(94px, 21cqh, 110px);--seat-avatar-size:clamp(44px, 6cqh, 56px);--top-seat-inline-anchor:66%;--hand-zone-height:calc(clamp(72px, 13cqh, 112px) + var(--safe-bottom));--hud-gap:6px;--action-art-scale:1.15;--top-seat-resolved-left:clamp(calc(var(--safe-left) + 46px), var(--top-seat-inline-anchor), calc(100% - var(--safe-right) - var(--seat-card-width) - 64px))}.top-bar{height:var(--topbar-height);padding-right:max(8px, var(--safe-right));padding-left:max(8px, var(--safe-left))}.top-bar button{width:var(--control-hit-target);height:var(--control-hit-target)}.top-bar nav{gap:2px}.round-info{text-overflow:ellipsis;white-space:nowrap;max-width:46%;padding:3px 8px;overflow:hidden}.top-bar .topbar-control{isolation:isolate;box-shadow:none;background:0 0;border:0;position:relative}.top-bar .theme-toggle:before{content:"";z-index:0;box-sizing:border-box;pointer-events:none;background:#0000003d;border:1px solid #e7cf935c;border-radius:50%;position:absolute;inset:6px}.top-bar .topbar-control>*{z-index:1;position:relative}.top-bar .theme-toggle-mark{grid-template-columns:repeat(2,6px);gap:2px;width:14px;height:14px}.top-bar .icon-button img{width:28px;height:28px}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control{isolation:isolate;box-shadow:none;background:0 0;border:0;border-radius:0;transform:none}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control:before{content:"";z-index:0;box-sizing:border-box;border:1px solid var(--anime-control-edge);background:linear-gradient(180deg, #35473f 0%, var(--anime-control) 48%, var(--anime-control-deep) 100%);box-shadow:inset 0 1px var(--anime-control-highlight), inset 0 -2px #0409077a, 0 2px 4px var(--anime-control-shadow);pointer-events:none;border-radius:6px;transition:transform .12s,filter .12s;position:absolute;inset:6px}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control:hover{background:0 0;transform:none}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control:hover:before{filter:brightness(1.08)}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control:active{box-shadow:none;transform:none}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control:active:before{transform:translateY(1px)}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control>*{z-index:1;position:relative}.game-app[data-table-theme=llmAnime] .top-bar .hardware-icon{width:16px;height:16px}.has-three-scene .seat-top{top:var(--top-seat-anchor);right:auto;left:var(--top-seat-resolved-left);transform:translate(-100%)}.has-three-scene .seat-left{top:var(--side-seat-anchor);left:calc(var(--safe-left) + 8px);transform:translateY(-50%)}.has-three-scene .seat-right{top:var(--side-seat-anchor);right:calc(var(--safe-right) + 8px);transform:translateY(-50%)}.game-app .anime-action-cue.action-from-left,.game-app .table-action-cue.action-from-left{top:var(--side-seat-anchor);left:calc(var(--safe-left) + var(--seat-card-width) + var(--hud-gap));transform:translateY(-50%)}.game-app .anime-action-cue.action-from-right,.game-app .table-action-cue.action-from-right{top:var(--side-seat-anchor);right:calc(var(--safe-right) + var(--seat-card-width) + var(--hud-gap));transform:translateY(-50%)}.game-app .anime-action-cue.action-from-bottom,.game-app .table-action-cue.action-from-bottom{bottom:calc(var(--safe-bottom) + var(--hand-zone-height) + var(--hud-gap));left:50%;transform:translate(-50%)}.has-three-scene .seat-top .avatar-wrap,.seat-left .avatar-wrap,.seat-right .avatar-wrap,.user-identity{flex-direction:column;align-items:center;gap:3px;min-width:0;padding:6px 7px 7px;display:flex;transform:none}.has-three-scene .seat-top .avatar-wrap{flex-direction:row;gap:6px;width:auto;padding:4px 8px 4px 6px}.has-three-scene .seat-top .avatar-wrap>.player-info{white-space:nowrap;align-items:flex-start;width:auto;min-width:0;max-width:64px}.has-three-scene .seat-top .avatar-wrap .avatar{width:clamp(30px,3.6vw,42px);height:clamp(30px,3.6vw,42px)}.avatar-wrap .avatar,.user-identity .avatar{width:clamp(52px,5.1vw,76px);height:clamp(52px,5.1vw,76px)}.game-app .avatar-wrap>.player-info,.game-app .user-identity>.player-info{flex-direction:column;align-items:center;gap:0;width:100%;height:auto;line-height:1.25;display:flex}.game-app .avatar-wrap .player-info strong,.game-app .user-identity .player-info strong{overflow-wrap:normal;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:100%;font-size:clamp(12px,1vw,16px);line-height:1.25;display:block;overflow:hidden}.user-area{right:calc(var(--safe-right) + 2px);bottom:var(--safe-bottom);left:calc(var(--safe-left) + 2px)}.hand-rack{min-height:clamp(72px,13cqh,112px);padding:4px 2px max(4px, var(--safe-bottom));gap:0;bottom:5px;left:0;right:0}.hand-rack .hand-tile-slot{width:auto;min-width:0;margin-inline:0}.hand-rack .hand-hit-area{z-index:0;width:var(--hand-hit-target);min-height:var(--hand-hit-target);pointer-events:auto;top:auto;bottom:0;left:50%;transform:translate(-50%)}.hand-rack .mahjong-tile{z-index:1;--tile-width:clamp(40px, 8cqh, 68px);width:var(--tile-width);aspect-ratio:4/5;height:auto;position:relative}.hand-rack .hand-tile-slot.drawn{margin-left:clamp(8px,1.5cqh,14px)}.user-identity{bottom:calc(var(--safe-bottom) + 8px);left:calc(var(--safe-left) + 2px);transform:none}.game-app .avatar-wrap>.player-info>span,.game-app .user-identity>.player-info>span{text-align:center;width:100%;margin:0;font-size:clamp(12px,.95vw,15px);line-height:1.25}.game-app[data-table-theme=llmAnime] .avatar-wrap .player-info strong,.game-app[data-table-theme=llmAnime] .user-identity .player-info strong{font-size:clamp(10px,.82vw,12px)}.game-app[data-table-theme=llmAnime] .avatar-wrap>.player-info>span,.game-app[data-table-theme=llmAnime] .user-identity>.player-info>span{font-size:clamp(10px,.78vw,12px)}.turn-action-row{right:calc(var(--safe-right) + 8px);bottom:var(--controls-bottom);flex-wrap:wrap;justify-content:flex-end;gap:6px}.action-bar{flex-wrap:wrap;justify-content:flex-end;gap:5px}.action{min-width:var(--control-hit-target);height:var(--control-hit-target);padding:4px 8px}.waiting-action{width:var(--control-hit-target);height:var(--control-hit-target)}.llm-bubble{max-width:min(150px,36cqw)}.seat-left .llm-bubble{top:calc(100% + 6px);left:0;transform:none}.seat-right .llm-bubble{top:calc(100% + 6px);right:0;transform:none}.seat-left .llm-bubble:after{margin:0;top:-12px;left:38px;right:auto;transform:rotate(90deg)}.seat-right .llm-bubble:after{margin:0;top:-12px;left:auto;right:38px;transform:rotate(-90deg)}.seat-top .llm-bubble{top:calc(100% + 6px)}.user-llm-bubble{bottom:calc(100% + 6px);left:0}}@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (aspect-ratio<=8/5){.game-app{--top-seat-inline-anchor:86%;--side-seat-anchor:39%;--top-seat-resolved-left:var(--top-seat-inline-anchor)}.has-three-scene .seat-top{right:auto;left:var(--top-seat-resolved-left);transform:translate(-100%)}}@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (aspect-ratio>=2){.game-app{--top-seat-inline-anchor:66%;--side-seat-anchor:40%;--top-seat-resolved-left:clamp(46px, var(--top-seat-inline-anchor), calc(100% - var(--safe-right) - var(--seat-card-width) - 54px))}.has-three-scene .seat-top{right:auto;left:var(--top-seat-resolved-left);transform:translate(-100%)translateY(-4px)}}@container (width>=1024px) and (height>=768px){.has-three-scene{--topbar-height:45px;--seat-card-width:clamp(76px, 7cqw, 104px);--seat-card-height:auto;--seat-avatar-size:clamp(52px, 5.1vw, 76px);--hand-zone-height:clamp(82px, 21cqh, 205px);--hud-gap:clamp(6px, calc(1.1 * var(--game-unit)), 16px);--top-seat-resolved-left:calc(50% + clamp(220px, 18.5vw, 365px));--action-art-scale:2}.has-three-scene .seat-left{top:43%;left:calc(var(--table-box-left) + 2.7cqw)}.has-three-scene .seat-right{top:43%;right:calc(var(--table-box-left) + 2.7cqw)}.has-three-scene .seat-top{left:var(--top-seat-resolved-left)}.game-app .anime-action-cue.action-from-right{top:43%;right:18%;transform:translateY(-50%)}.game-app .anime-action-cue.action-from-bottom{bottom:31%;left:50%;transform:translate(-50%)}.game-app .anime-action-cue.action-from-left{top:43%;left:18%;transform:translateY(-50%)}.game-app .table-action-cue.action-from-right{top:43%;right:17%;transform:translate(50%,-50%)}.game-app .table-action-cue.action-from-bottom{bottom:20%;left:50%;transform:translate(-50%,50%)}.game-app .table-action-cue.action-from-left{top:43%;left:17%;transform:translate(-50%,-50%)}.has-three-scene .hand-rack .mahjong-tile{--tile-width:clamp(48px, min(calc(7.97 * var(--game-cqh)), calc(5.5 * var(--game-cqw))), 104px);aspect-ratio:3/4}.hand-rack .hand-tile-slot{width:auto;min-width:var(--hand-hit-target)}.hand-rack{gap:clamp(1px,.2vw,4px)}.hand-rack .hand-tile-slot.drawn{margin-left:clamp(10px,1vw,18px)}.user-area{right:calc(var(--table-box-left) + max(5%, calc(var(--safe-right) + 4px)));left:calc(var(--table-box-left) + max(5%, calc(var(--safe-left) + 4px)))}.user-identity{bottom:40px;left:-3.3%}.has-three-scene .seat-top .avatar-wrap,.seat-left .avatar-wrap,.seat-right .avatar-wrap,.user-identity{padding:6px 7px 7px}.game-app .avatar-wrap .player-info strong,.game-app .user-identity .player-info strong{font-size:clamp(12px,1vw,16px)}.game-app[data-table-theme=llmAnime] .avatar-wrap .player-info strong,.game-app[data-table-theme=llmAnime] .user-identity .player-info strong{font-size:clamp(10px,.82vw,12px)}.game-app .avatar-wrap>.player-info>span,.game-app .user-identity>.player-info>span{font-size:clamp(12px,.95vw,15px)}.game-app[data-table-theme=llmAnime] .avatar-wrap>.player-info>span,.game-app[data-table-theme=llmAnime] .user-identity>.player-info>span{font-size:clamp(10px,.78vw,12px)}.lobby{justify-content:center;padding:0}.lobby .eyebrow{letter-spacing:.5em;margin:0 0 7px;font-size:11px;display:block}.lobby h1{font-size:clamp(43px,6vw,80px);line-height:normal}.subtitle{letter-spacing:.28em;margin:8px 0 20px;font-size:15px}.mode-selector{gap:10px;margin-bottom:22px}.mode-selector button{padding:13px 12px 11px}.mode-selector button b{margin-bottom:4px;font-size:16px}.mode-selector button span{font-size:11px}.match-selector{gap:10px;margin-bottom:15px}.match-selector button{padding:13px 12px 11px}.match-selector button b{font-size:18px}.game-settings{margin-bottom:14px}.game-settings-title{padding:6px 14px 5px;font-size:10px}.game-settings>button{gap:8px;min-height:46px;padding:7px 13px}.game-settings>button>small{white-space:nowrap;text-overflow:ellipsis}.start-button{min-width:228px;padding:12px 33px 10px}.start-button b{font-size:20px}.start-button span{margin-top:3px;font-size:11px}.remote-lobby{gap:12px}.room-panel{gap:12px;padding:14px}.lobby-links{margin-top:14px}}.settlement-footer{z-index:5;padding-bottom:max(8px, var(--safe-bottom));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(#0000,#050e0af5 18%);position:sticky;bottom:0}.final-footer>button{min-width:190px;min-height:var(--control-hit-target);color:#122019;cursor:pointer;background:linear-gradient(#d5aa59,#aa7934);border:1px solid #d3aa57;border-radius:5px;margin-top:22px;padding:12px 24px;font-weight:800}.game-app[data-table-theme=llm] .final-footer>button{color:#071431;background:linear-gradient(#75a9ff,#426dca);border-color:#a5c4ff}.game-app[data-table-theme=llmAnime] .final-footer>button{border:1px solid var(--anime-control-edge);color:var(--anime-control-label);background:linear-gradient(#3b5046,#1b2822);border-radius:7px;box-shadow:inset 0 1px #ffffff1f,0 5px 12px #0509078c}.rules-panel{top:var(--safe-top);right:var(--safe-right);bottom:var(--safe-bottom);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom));overscroll-behavior:contain}.rules-panel header button{min-width:var(--control-hit-target);min-height:var(--control-hit-target)}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.result-backdrop{padding:max(4px, var(--safe-top)) max(4px, var(--safe-right)) max(4px, var(--safe-bottom)) max(4px, var(--safe-left));-webkit-backdrop-filter:none}.settlement-card,.final-board{box-sizing:border-box;width:min(96cqw,850px);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 8px);overscroll-behavior:contain;scrollbar-gutter:stable;padding:14px 14px 0;overflow:hidden auto}.settlement-footer{z-index:5;padding:8px 14px max(8px, var(--safe-bottom));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(#0000,#050e0af5 18%);margin:8px -14px 0;position:sticky;bottom:0}.result-actions{flex-wrap:nowrap;gap:8px;margin:0}.result-actions button,.final-footer>button{min-width:128px;min-height:var(--control-hit-target);margin-top:0;padding:8px 14px;font-size:13px}.result-disclaimer-note{margin-bottom:0}.round-rankings article{min-height:44px}.round-rankings span,.round-rankings em{font-size:12px}.theme-menu,.audio-menu{right:max(0px, calc(var(--safe-right) * -1));width:min(380px, calc(100cqw - var(--safe-left) - var(--safe-right) - 12px));max-width:calc(100cqw - var(--safe-left) - var(--safe-right) - 12px);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - var(--topbar-height) - 10px);overscroll-behavior:contain}.top-bar .theme-menu>button,.top-bar .audio-menu>button{min-height:var(--control-hit-target)}.top-bar .theme-menu>button{min-height:64px}.rules-panel{width:min(390px, calc(100cqw - var(--safe-left) - var(--safe-right)));padding:16px max(16px, var(--safe-right)) 18px max(16px, var(--safe-left))}.rules-panel header{z-index:2;background:#0b211a;margin-bottom:12px;padding-top:4px;padding-bottom:10px;position:sticky;top:-16px}.waiting-tip{bottom:var(--controls-bottom);max-width:calc(100cqw - var(--safe-left) - var(--safe-right) - 16px);overscroll-behavior:contain;max-height:min(42cqh,150px);overflow:auto}}@container (width>=1024px) and (height>=768px){.result-card{width:min(590px,91vw);padding:43px 42px 34px}.result-seal{border-width:3px;width:72px;height:72px;font-size:38px;top:-36px}.result-card>p{margin:12px 0 5px;font-size:clamp(14px,1.15vw,18px)}.result-card h2{margin:0 0 17px;font-size:clamp(34px,3vw,46px)}.result-actions{gap:12px;margin-top:23px}.result-actions button{min-width:170px;padding:13px 20px;font-size:clamp(16px,1.25vw,20px)}.settlement-card{width:min(860px,94%);max-height:94%;padding:31px 0 0}.round-rankings{gap:7px}.round-rankings article{grid-template-columns:clamp(34px,4vw,42px) clamp(34px,3.8vw,40px) minmax(0,1fr) clamp(48px,5vw,56px) clamp(60px,6vw,70px);gap:clamp(4px,.55vw,7px);min-height:58px;padding:6px clamp(6px,.7vw,9px)}.round-rankings img{width:42px;height:42px}.round-rankings article>b{font-size:22px}.final-board{width:min(680px,92%);padding:28px 45px 32px}.final-board>h2{margin:5px 0 20px;font-size:40px}.final-board>button{min-width:190px;margin-top:22px;padding:12px 24px}}.game-app[data-table-theme=jade] .lobby{background:linear-gradient(125deg,#0000 18%,#80aa8c09 18.2% 18.6%,#0000 18.8% 72%,#80aa8c07 72.2% 72.6%,#0000 72.8%),radial-gradient(circle at 50% 44%,#306e502e,#0000 38%),linear-gradient(#04120de6,#041610f5)}.game-app[data-table-theme=jade] .lobby h1{color:#f5eedc;text-shadow:0 4px 15px #000,0 0 28px #679a7721}.game-app[data-table-theme=jade] .lobby h1 span{color:#d9b961}.game-app[data-table-theme=jade] .waku-account,.game-app[data-table-theme=jade] .game-settings,.game-app[data-table-theme=jade] .mode-selector button,.game-app[data-table-theme=jade] .match-selector button,.game-app[data-table-theme=jade] .lobby-dialog{border-color:color-mix(in srgb, var(--theme-border) 42%, transparent);background:linear-gradient(145deg,#103125e6,#051811eb);border-radius:5px;box-shadow:inset 0 1px #bcdec40d,0 10px 28px #00000040}.game-app[data-table-theme=jade] .mode-selector button.active,.game-app[data-table-theme=jade] .match-selector button.active{background:linear-gradient(160deg,#42684eb8,#0c2b1ff0);border-color:#d9b961;box-shadow:inset 3px 0 #d9b961,0 8px 22px #0000004d}.game-app[data-table-theme=jade] .start-button{color:#11251b;background:linear-gradient(150deg,#e1c374,#b98a3c 55%,#785020);border-radius:4px;box-shadow:0 7px 22px #00000070,inset 0 1px #fff8d88c}.game-app[data-table-theme=jade] .top-bar .topbar-control,.game-app[data-table-theme=jade] .round-info{border-radius:6px}.game-app[data-table-theme=jade] .avatar-wrap,.game-app[data-table-theme=jade] .user-identity{background:linear-gradient(100deg,#0d2d21f2,#051811d6);border-radius:24px 5px 5px 24px;box-shadow:inset 0 1px #a6cdb014,0 6px 18px #00000057}.game-app[data-table-theme=jade] .player-seat.active .avatar-wrap,.game-app[data-table-theme=jade] .user-identity.active{animation:1.8s ease-in-out infinite jade-seat-glint}.game-app[data-table-theme=jade] .table-loading-card{background:linear-gradient(145deg,#103125f5,#051811f5);border-radius:3px;box-shadow:inset 3px 0 #d9b961,0 14px 34px #0000006b}.game-app[data-table-theme=jade] .start-cue{clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px);background:radial-gradient(#143b2bf7,#051811eb 70%);border:1px solid #d9b961b3}.game-app[data-table-theme=jade] .table-action-cue{background:radial-gradient(circle,#194531f5 0 34%,#c3973e73 50%,#0000 72%);border-radius:12%}.game-app[data-table-theme=jade] .table-action-cue:before{border-color:#e5c878b8;border-radius:10%;transform:rotate(45deg)}.game-app[data-table-theme=jade] .table-action-cue:after{border-color:#84b79266;border-radius:8%}.game-app[data-table-theme=jade] .result-backdrop{background:radial-gradient(circle at 50% 34%,#35684d33,#0000 44%),#020a07d6}.game-app[data-table-theme=jade] .settlement-card,.game-app[data-table-theme=jade] .final-board{background:radial-gradient(circle at 50% 0,#7197771f,#0000 38%),linear-gradient(145deg,#173b2d,#071b13 78%);border:1px solid #b99145;border-radius:4px;box-shadow:inset 0 0 0 7px #d9b9610d,0 28px 76px #000}.game-app[data-table-theme=jade] .settlement-card h2,.game-app[data-table-theme=jade] .final-board>h2{color:#f7e8bc}.game-app[data-table-theme=jade] .round-rankings article,.game-app[data-table-theme=jade] .final-rankings article{background:linear-gradient(105deg,#173a2cf5,#081d15f5);border-color:#87ae9140}.game-app[data-table-theme=jade] .round-rankings article.winner,.game-app[data-table-theme=jade] .final-rankings article.rank-1{background:linear-gradient(105deg,#504322f0,#0f3023f7);border-color:#c9a352}.game-app[data-table-theme=jade] .settlement-footer{background:linear-gradient(#0000,#071b13fa 20%)}.game-app[data-table-theme=rosewood] .lobby{background:repeating-linear-gradient(94deg,#f5d3a305 0 1px,#0000 1px 10px),radial-gradient(at 50% 42%,#91402740,#0000 42%),linear-gradient(#250d08e6,#140705f7)}.game-app[data-table-theme=rosewood] .lobby h1{color:#fff0d2;text-shadow:0 4px #3a130b,0 10px 24px #100301}.game-app[data-table-theme=rosewood] .lobby h1 span{color:#e1b25c}.game-app[data-table-theme=rosewood] .eyebrow,.game-app[data-table-theme=rosewood] .subtitle,.game-app[data-table-theme=rosewood] .lobby-rules,.game-app[data-table-theme=rosewood] .text-button,.game-app[data-table-theme=rosewood] .repository-link{color:#d3bda3}.game-app[data-table-theme=rosewood] .waku-account,.game-app[data-table-theme=rosewood] .game-settings,.game-app[data-table-theme=rosewood] .mode-selector button,.game-app[data-table-theme=rosewood] .match-selector button{background:linear-gradient(105deg,#572317db,#2b110beb);border-color:#d5a4526b;border-radius:4px;box-shadow:inset 0 1px #ffe1b114,0 8px 22px #00000047}.game-app[data-table-theme=rosewood] .mode-selector button.active,.game-app[data-table-theme=rosewood] .match-selector button.active{background:linear-gradient(105deg,#7e3823f5,#3f170ff5);border-color:#e0b45c;box-shadow:inset 4px 0 #e0b45c,0 8px 22px #00000057}.game-app[data-table-theme=rosewood] .game-settings-title,.game-app[data-table-theme=rosewood] .game-settings>button>span,.game-app[data-table-theme=rosewood] .game-settings>button>small,.game-app[data-table-theme=rosewood] .waku-account small{color:#c5aa91}.game-app[data-table-theme=rosewood] .game-settings>button>strong,.game-app[data-table-theme=rosewood] .waku-account b{color:#fff0d2}.game-app[data-table-theme=rosewood] .start-button{color:#fff0d2;background:linear-gradient(160deg,#9b4832,#6b281c 58%,#3a140e);border-color:#e2b862;border-radius:5px;box-shadow:0 7px #311008,0 14px 28px #0006,inset 0 1px #ffe1b12e}.game-app[data-table-theme=rosewood] .top-bar .topbar-control,.game-app[data-table-theme=rosewood] .round-info{background:linear-gradient(155deg,#682d1dcc,#2b110be0);border-radius:5px}.game-app[data-table-theme=rosewood] .player-seat.active .avatar-wrap,.game-app[data-table-theme=rosewood] .user-identity.active{box-shadow:inset 0 1px #ffe6b829,0 0 0 2px #e0b45c40,0 0 24px #be5d365c}.game-app[data-table-theme=rosewood] .table-loading{background:radial-gradient(at 50% 45%,#6f2d1cb8,#180805f5 72%)}.game-app[data-table-theme=rosewood] .table-loading-card{background:linear-gradient(145deg,#662a1bf5,#280f0af7);border-radius:5px;box-shadow:inset 0 0 0 3px #e0b45c14,0 16px 38px #0000007a}.game-app[data-table-theme=rosewood] .start-cue{background:linear-gradient(90deg,#39150ef0,#6f301ff5 50%,#39150ef0);border:2px solid #b8793f;border-radius:3px;box-shadow:inset 0 0 0 5px #ecc47714,0 18px 38px #0006}.game-app[data-table-theme=rosewood] .start-cue strong{color:#ffe8b4;text-shadow:0 3px 3px #270904,0 0 18px #e0b45c75}.game-app[data-table-theme=rosewood] .table-action-cue:before,.game-app[data-table-theme=rosewood] .table-action-cue:after{border-color:#f5cd7fa8;border-radius:3px}.game-app[data-table-theme=rosewood] .table-action-cue span{color:#ffe7b1;text-shadow:0 3px 2px #42140d,0 0 16px #e0b45ca6}.game-app[data-table-theme=rosewood] .result-backdrop{background:radial-gradient(circle at 50% 36%,#9a4b2d47,#0000 46%),#190704db}.game-app[data-table-theme=rosewood] .settlement-card,.game-app[data-table-theme=rosewood] .final-board{color:#4a2115;background:linear-gradient(145deg,#f3e3c4,#dcc39b 78%);border:3px double #9c6330;border-radius:4px;box-shadow:10px 10px #3611097a,0 28px 76px #0000008f}.game-app[data-table-theme=rosewood] .settlement-card:before{border-color:#5b281638}.game-app[data-table-theme=rosewood] .settlement-card h2,.game-app[data-table-theme=rosewood] .final-board>h2{color:#4a2115;text-shadow:none}.game-app[data-table-theme=rosewood] .score-total span,.game-app[data-table-theme=rosewood] .score-total em,.game-app[data-table-theme=rosewood] .result-card>p,.game-app[data-table-theme=rosewood] .final-board>p,.game-app[data-table-theme=rosewood] .result-disclaimer-note{color:#76503a}.game-app[data-table-theme=rosewood] .score-total strong{color:#a03f2d;text-shadow:none}.game-app[data-table-theme=rosewood] .score-details span,.game-app[data-table-theme=rosewood] .horse-area{color:#4f2a1d;background:#6f361e14;border-color:#6f361e57}.game-app[data-table-theme=rosewood] .score-details b{color:#9d3f2d}.game-app[data-table-theme=rosewood] .round-rankings article,.game-app[data-table-theme=rosewood] .final-rankings article{clip-path:none;background:linear-gradient(105deg,#6f2d20,#3c170f);border-color:#e0b45c6b;border-radius:3px}.game-app[data-table-theme=rosewood] .round-rankings article.winner,.game-app[data-table-theme=rosewood] .final-rankings article.rank-1{background:linear-gradient(105deg,#8a4930,#4c2014);border-color:#f0c570;box-shadow:inset 4px 0 #e0b45c}.game-app[data-table-theme=rosewood] .settlement-footer{background:linear-gradient(#0000,#dcc39bfa 20%)}.game-app[data-table-theme=rosewood] .result-actions button,.game-app[data-table-theme=rosewood] .final-footer>button,.game-app[data-table-theme=rosewood] .result-reopen{color:#fff0d2;background:linear-gradient(#91432d,#5c2418);border-color:#8d4a2d;border-radius:4px}.game-app[data-table-theme=rosewood] .result-actions button.secondary{color:#52261a;background:#ead8b8}.game-app[data-table-theme=llm] .lobby{background:radial-gradient(circle at 14% 22%,#76d9ff75 0 1px,#0000 2px),radial-gradient(circle at 82% 68%,#9a8af06b 0 1px,#0000 2px),repeating-linear-gradient(90deg,#76d9ff05 0 1px,#0000 1px 34px),radial-gradient(circle at 50% 42%,#435bcf3d,#0000 43%),linear-gradient(#03091ee0,#020616f7)}.game-app[data-table-theme=llm] .lobby h1{color:#f3f6ff;letter-spacing:.08em;text-shadow:0 0 22px #76d9ff47,0 5px #071333;font-family:Microsoft YaHei,PingFang SC,sans-serif}.game-app[data-table-theme=llm] .lobby h1 span{color:#83c8ff}.game-app[data-table-theme=llm] .eyebrow,.game-app[data-table-theme=llm] .subtitle,.game-app[data-table-theme=llm] .lobby-rules,.game-app[data-table-theme=llm] .text-button,.game-app[data-table-theme=llm] .repository-link{color:#aebce2}.game-app[data-table-theme=llm] .waku-account,.game-app[data-table-theme=llm] .game-settings,.game-app[data-table-theme=llm] .mode-selector button,.game-app[data-table-theme=llm] .match-selector button,.game-app[data-table-theme=llm] .lobby-dialog{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);background:linear-gradient(145deg,#102657ed,#050f2df5);border-color:#76d9ff57;border-radius:4px;box-shadow:inset 0 0 24px #4f8fff17,0 14px 34px #0000005c}.game-app[data-table-theme=llm] .mode-selector button.active,.game-app[data-table-theme=llm] .match-selector button.active{background:linear-gradient(145deg,#2a51a4b8,#0b204ef2);border-color:#76d9ff;box-shadow:inset 3px 0 #76d9ff,0 0 22px #4f8fff38}.game-app[data-table-theme=llm] .game-settings-title,.game-app[data-table-theme=llm] .game-settings>button>span,.game-app[data-table-theme=llm] .game-settings>button>small,.game-app[data-table-theme=llm] .waku-account small{color:#9eadd5}.game-app[data-table-theme=llm] .game-settings>button>strong,.game-app[data-table-theme=llm] .waku-account b{color:#eef4ff;font-family:Microsoft YaHei,PingFang SC,sans-serif}.game-app[data-table-theme=llm] .start-button{color:#f7fbff;background:linear-gradient(145deg,#4f8fff,#375fc0 62%,#243b89);border-color:#9bdfff;border-radius:5px;box-shadow:0 0 0 1px #76d9ff3d,0 0 28px #4f8fff47,inset 0 1px #ffffff4d}.game-app[data-table-theme=llm] .top-bar .topbar-control,.game-app[data-table-theme=llm] .round-info{border-radius:4px}.game-app[data-table-theme=llm] .table-loading-card{background:linear-gradient(145deg,#11275bf5,#050f2df7);border-radius:3px;box-shadow:inset 3px 0 #76d9ff,0 0 30px #4f8fff3d}.game-app[data-table-theme=llm] .start-cue{clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);background:linear-gradient(110deg,#091b44f5,#16326feb,#091b44f5);border:1px solid #76d9ffb8;border-radius:3px;box-shadow:inset 0 0 28px #76d9ff17,0 0 34px #4f8fff3d}.game-app[data-table-theme=llm] .start-cue strong{color:#f4f7ff;letter-spacing:.08em;text-shadow:0 0 18px #76d9ff99;font-family:Microsoft YaHei,PingFang SC,sans-serif}.game-app[data-table-theme=llm] .start-cue i{background:linear-gradient(90deg,#0000,#76d9ff,#9a8af0,#0000);height:3px;box-shadow:0 0 12px #4f8fff}.game-app[data-table-theme=llm] .table-action-cue:before,.game-app[data-table-theme=llm] .table-action-cue:after{border-color:#76d9ffb8;border-radius:3px}.game-app[data-table-theme=llm] .table-action-cue span{color:#eef7ff;text-shadow:0 0 18px #4f8fff;font-family:Microsoft YaHei,PingFang SC,sans-serif}.game-app[data-table-theme=llm] .settlement-card,.game-app[data-table-theme=llm] .final-board{clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px);background:radial-gradient(circle at 50% 0,#4f8fff2e,#0000 40%),linear-gradient(145deg,#0e2252,#050f2d 78%);border:1px solid #76d9ffa8;border-radius:5px;box-shadow:inset 0 0 0 7px #76d9ff09,0 0 44px #4f8fff38,0 28px 76px #000000a8}.game-app[data-table-theme=llm] .round-rankings article,.game-app[data-table-theme=llm] .final-rankings article{background:linear-gradient(105deg,#183470f0,#081843f5);border-color:#76d9ff3d}.game-app[data-table-theme=llm] .round-rankings article.winner,.game-app[data-table-theme=llm] .final-rankings article.rank-1{background:linear-gradient(105deg,#3b458bf5,#0f275bf7);border-color:#76d9ff;box-shadow:inset 3px 0 #9a8af0,0 0 18px #4f8fff2e}.game-app[data-table-theme=llm] .settlement-footer{background:linear-gradient(#0000,#050f2dfa 20%)}.game-app[data-table-theme=llmAnime] .lobby{background:linear-gradient(128deg,#0000 0 21%,#78d8e80b 21.2% 21.8%,#0000 22% 74%,#bd5b480d 74.2% 75%,#0000 75.2%),radial-gradient(circle at 24% 26%,#78d8e821,#0000 29%),radial-gradient(circle at 78% 70%,#bd5b4826,#0000 33%),linear-gradient(#0a1410e0,#080f0cf5)}.game-app[data-table-theme=llmAnime] .lobby h1{color:#fff1d8;letter-spacing:.08em;text-shadow:3px 3px #4b2d25,0 10px 28px #050a07;font-family:Yu Gothic,Microsoft YaHei,sans-serif}.game-app[data-table-theme=llmAnime] .lobby h1 span{color:#ff9179}.game-app[data-table-theme=llmAnime] .eyebrow{color:#78d8e8}.game-app[data-table-theme=llmAnime] .subtitle,.game-app[data-table-theme=llmAnime] .lobby-rules,.game-app[data-table-theme=llmAnime] .text-button,.game-app[data-table-theme=llmAnime] .repository-link{color:#c8c4b9}.game-app[data-table-theme=llmAnime] .waku-account,.game-app[data-table-theme=llmAnime] .game-settings,.game-app[data-table-theme=llmAnime] .mode-selector button,.game-app[data-table-theme=llmAnime] .match-selector button{background:linear-gradient(145deg,#2a3930e6,#121f19f0);border-color:#c7a45b61;border-radius:8px}.game-app[data-table-theme=llmAnime] .mode-selector button.active,.game-app[data-table-theme=llmAnime] .match-selector button.active{background:linear-gradient(145deg,#643f33db,#1e3027f2);border-color:#bd5b48;box-shadow:inset 4px 0 #ff9179,4px 4px #2d292347}.game-app[data-table-theme=llmAnime] .game-settings-title,.game-app[data-table-theme=llmAnime] .game-settings>button>span,.game-app[data-table-theme=llmAnime] .game-settings>button>small,.game-app[data-table-theme=llmAnime] .waku-account small{color:#aebbb3}.game-app[data-table-theme=llmAnime] .game-settings>button>strong,.game-app[data-table-theme=llmAnime] .waku-account b{color:#fff1d5;font-family:Yu Gothic,Microsoft YaHei,sans-serif}.game-app[data-table-theme=llmAnime] .character-shortcut{color:#2d2923;background:linear-gradient(105deg,#f3e5cf,#e8c9b5);border:2px solid #2d2923;border-radius:10px;box-shadow:5px 5px #bd5b489e,0 12px 26px #00000047}.game-app[data-table-theme=llmAnime] .character-shortcut:hover{background:linear-gradient(105deg,#fff0dd,#efd0bb);border-color:#2d2923;transform:translateY(-2px)}.game-app[data-table-theme=llmAnime] .character-shortcut img{border-color:#2d2923;border-radius:13px 13px 5px 5px;flex-basis:48px;width:48px;height:48px}.game-app[data-table-theme=llmAnime] .character-shortcut-chevron{color:#bd5b48}.game-app[data-table-theme=llmAnime] .start-button{background:var(--theme-button);color:var(--theme-text);border:2px solid #2d2923;border-radius:6px;box-shadow:5px 5px #bd5b4894,0 12px 28px #00000057}.game-app[data-table-theme=llmAnime] .lobby-dialog{color:#2d2923;background:linear-gradient(150deg,#f3e5cf,#dfcdb4);border:2px solid #2d2923;border-radius:10px;box-shadow:8px 8px #bd5b4873,0 26px 78px #000000a8}.game-app[data-table-theme=llmAnime] .lobby-dialog h2,.game-app[data-table-theme=llmAnime] .lobby-dialog .picker-options b{color:#2d2923}.game-app[data-table-theme=llmAnime] .lobby-dialog .picker-options>button{color:#4b4036;background:#fff7e675;border-color:#2d292357}.game-app[data-table-theme=llmAnime] .lobby-dialog .picker-options>button.active{background:#f2d4c0;border-color:#bd5b48;box-shadow:inset 4px 0 #bd5b48}.game-app[data-table-theme=llmAnime] .table-loading-card{background:linear-gradient(145deg,#2a3930f7,#0f1a14fa);border:2px solid #c7a45b;border-radius:8px;box-shadow:5px 5px #bd5b4857,0 18px 42px #00000085}.game-app[data-table-theme=llmAnime] .settlement-footer{background:linear-gradient(#0000,#09120efa 20%)}@keyframes jade-seat-glint{0%,to{box-shadow:0 0 0 1px #d9b96138,0 0 14px #5b976c2e}50%{box-shadow:0 0 0 2px #d9b9616b,0 0 24px #74b78752}}.table-action-cue{--event-primary:var(--theme-accent);--event-secondary:var(--theme-accent-secondary);--event-text:var(--theme-text)}.table-action-cue.action-chi{--event-primary:var(--theme-positive);--event-secondary:var(--theme-accent-secondary)}.table-action-cue.action-peng{--event-primary:var(--theme-accent);--event-secondary:var(--theme-surface)}.table-action-cue.action-gang{--event-primary:var(--theme-accent-secondary);--event-secondary:var(--theme-accent)}.table-action-cue.action-win{--event-primary:var(--theme-accent);--event-secondary:var(--theme-negative)}.table-action-cue.strength-medium.table-action-enter-active{animation:.52s cubic-bezier(.18,.86,.24,1.12) both theme-action-medium-in}.table-action-cue.strength-strong.table-action-enter-active{animation:.72s cubic-bezier(.14,.9,.22,1.16) both theme-action-strong-in}.table-action-cue.strength-climax:not(.win).table-action-enter-active{animation:.88s cubic-bezier(.12,.88,.2,1.12) both theme-action-climax-in}.table-action-cue.strength-strong{filter:drop-shadow(0 9px 16px #00000094)saturate(1.1)}.table-action-cue.strength-climax{filter:drop-shadow(0 12px 22px #0000009e)saturate(1.16)}.game-app[data-table-theme=jade] .table-action-cue{background:radial-gradient(circle, color-mix(in srgb, var(--event-primary) 42%, #173f2f) 0 32%, color-mix(in srgb, var(--event-secondary) 42%, transparent) 50%, transparent 72%)}.game-app[data-table-theme=jade] .table-action-cue.action-gang{box-shadow:inset 0 0 0 2px #e7c1664d}.game-app[data-table-theme=jade] .table-action-cue.action-win{background:radial-gradient(#533614fa 0 30%,#ce9b3e94 50%,#0000 74%)}.game-app[data-table-theme=happyMahjong] .table-action-cue{background:radial-gradient(circle at 42% 34%, var(--event-primary) 0 25%, color-mix(in srgb, var(--event-secondary) 82%, #0e3b48) 47%, transparent 72%);border-radius:28%}.game-app[data-table-theme=happyMahjong] .table-action-cue.action-chi:after{border-style:dashed;transform:rotate(14deg)}.game-app[data-table-theme=happyMahjong] .table-action-cue.action-gang{box-shadow:7px 7px #f07a5d59}.game-app[data-table-theme=happyMahjong] .table-action-cue.action-win{background:radial-gradient(circle at 50% 46%,#f7ca4e 0 24%,#ef7657 43%,#0000 70%),radial-gradient(circle at 18% 18%,#fff9e8 0 3px,#0000 4px)}.game-app[data-table-theme=rosewood] .table-action-cue{background:radial-gradient(circle, color-mix(in srgb, var(--event-primary) 58%, #6f2d20) 0 34%, color-mix(in srgb, var(--event-secondary) 48%, transparent) 50%, transparent 72%);border-radius:5px}.game-app[data-table-theme=rosewood] .table-action-cue.action-chi{--event-primary:#cf8d57}.game-app[data-table-theme=rosewood] .table-action-cue.action-gang{box-shadow:inset 0 0 0 5px #f5d59814,0 0 24px #b0402857}.game-app[data-table-theme=rosewood] .table-action-cue.action-win{background:radial-gradient(#7f3022 0 28%,#e0b45cc2 48%,#0000 73%)}.game-app[data-table-theme=llm] .table-action-cue{background:radial-gradient(circle, color-mix(in srgb, var(--event-primary) 52%, #112f78) 0 33%, color-mix(in srgb, var(--event-secondary) 44%, transparent) 50%, transparent 72%);border-radius:5px}.game-app[data-table-theme=llm] .table-action-cue:after{border-style:dashed;animation:1.4s linear infinite llm-event-scan}.game-app[data-table-theme=llm] .table-action-cue.action-gang{box-shadow:inset 0 0 22px #9a8af033,0 0 26px #4f8fff4d}.game-app[data-table-theme=llm] .table-action-cue.action-win{background:radial-gradient(#263f96 0 28%,#76d9ff9e 48%,#0000 73%)}.game-app[data-table-theme=llmAnime] .anime-action-cue.action-chi{filter:drop-shadow(0 10px 18px #70bf893d)}.game-app[data-table-theme=llmAnime] .anime-action-cue.action-peng{filter:drop-shadow(0 10px 18px #78d8e83d)}.game-app[data-table-theme=llmAnime] .anime-action-cue.action-gang{filter:drop-shadow(0 12px 22px #ff917957)}.game-app[data-table-theme=llmAnime] .anime-action-cue.action-win{filter:drop-shadow(0 15px 28px #c7a45b6b)}.score-delta{border:1px solid color-mix(in srgb, currentColor 46%, transparent);background:color-mix(in srgb, var(--theme-panel) 88%, transparent)}.score-delta[data-score-direction=positive]{color:var(--theme-positive);text-shadow:0 2px 2px #10261a, 0 0 14px color-mix(in srgb, currentColor 62%, transparent)}.score-delta[data-score-direction=negative]{color:var(--theme-negative);text-shadow:0 2px 2px #2b0d0b, 0 0 14px color-mix(in srgb, currentColor 62%, transparent)}.game-app[data-table-theme=jade] .score-delta{border-radius:3px;box-shadow:inset 3px 0,0 8px 18px #00000057}.game-app[data-table-theme=happyMahjong] .score-delta{box-shadow:0 4px 0 color-mix(in srgb, currentColor 34%, transparent), 0 9px 18px #0000004d;border-width:2px;border-radius:16px}.game-app[data-table-theme=rosewood] .score-delta{color:#6a2a1d;text-shadow:none;background:#f0ddba;border-radius:3px;box-shadow:4px 4px #48180d52}.game-app[data-table-theme=rosewood] .score-delta[data-score-direction=positive]{color:#39734b}.game-app[data-table-theme=rosewood] .score-delta[data-score-direction=negative]{color:#a33e31}.game-app[data-table-theme=llm] .score-delta{clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);box-shadow:inset 3px 0 currentColor, 0 0 20px color-mix(in srgb, currentColor 28%, transparent);border-radius:2px;font-family:Consolas,Microsoft YaHei,monospace}.game-app[data-table-theme=llmAnime] .score-delta{text-shadow:none;background:#fff0db;border:2px solid #2d2923;border-radius:7px;box-shadow:4px 4px #2d29234d}:is(.game-app .settlement-card[data-result-kind=draw],.game-app:has(.game-table-hud[data-round-result-kind=draw]) .settlement-card:not([data-result-kind])){border-style:dashed}:is(.game-app .settlement-card[data-result-kind=draw] h2,.game-app:has(.game-table-hud[data-round-result-kind=draw]) .settlement-card:not([data-result-kind]) h2){color:var(--theme-text-muted)}:is(.game-app .settlement-card[data-result-kind=self-draw],.game-app:has(.game-table-hud[data-round-result-kind=self-draw]) .settlement-card:not([data-result-kind])){box-shadow:inset 0 0 0 7px color-mix(in srgb, var(--theme-positive) 6%, transparent), 0 28px 76px #00000094}:is(.game-app .settlement-card[data-result-kind=discard],.game-app:has(.game-table-hud[data-round-result-kind=discard]) .settlement-card:not([data-result-kind])){box-shadow:inset 0 0 0 7px color-mix(in srgb, var(--theme-accent-secondary) 8%, transparent), 0 28px 76px #00000094}:is(.game-app .settlement-card[data-result-kind=robbed-kong],.game-app:has(.game-table-hud[data-round-result-kind=robbed-kong]) .settlement-card:not([data-result-kind])){border-color:var(--theme-negative);box-shadow:inset 0 0 0 7px color-mix(in srgb, var(--theme-negative) 9%, transparent), 0 0 34px color-mix(in srgb, var(--theme-negative) 22%, transparent), 0 28px 76px #0000009e}:is(.game-app .settlement-card[data-result-kind=tianhu],.game-app .settlement-card[data-result-kind=dihu],.game-app:has(.game-table-hud[data-round-result-kind=tianhu]) .settlement-card:not([data-result-kind]),.game-app:has(.game-table-hud[data-round-result-kind=dihu]) .settlement-card:not([data-result-kind])){border-color:var(--theme-accent);box-shadow:inset 0 0 0 7px color-mix(in srgb, var(--theme-accent) 10%, transparent), 0 0 40px color-mix(in srgb, var(--theme-accent) 25%, transparent), 0 28px 76px #0000009e}:is(.game-app .settlement-card[data-result-kind=robbed-kong] h2,.game-app:has(.game-table-hud[data-round-result-kind=robbed-kong]) .settlement-card:not([data-result-kind]) h2){color:var(--theme-negative)}:is(.game-app .settlement-card[data-result-kind=self-draw] h2,.game-app .settlement-card[data-result-kind=tianhu] h2,.game-app .settlement-card[data-result-kind=dihu] h2,.game-app:has(.game-table-hud[data-round-result-kind=self-draw]) .settlement-card:not([data-result-kind]) h2,.game-app:has(.game-table-hud[data-round-result-kind=tianhu]) .settlement-card:not([data-result-kind]) h2,.game-app:has(.game-table-hud[data-round-result-kind=dihu]) .settlement-card:not([data-result-kind]) h2){color:var(--theme-accent)}.game-app[data-table-theme=rosewood] .settlement-card[data-result-kind=draw] h2{color:#76503a}.game-app[data-table-theme=rosewood] .settlement-card[data-result-kind=robbed-kong] h2{color:#a33e31}.game-app[data-table-theme=rosewood] .settlement-card[data-result-kind=self-draw] h2{color:#5e2b1d}.final-board[data-result-kind=final]{animation-duration:1.25s}.game-app:has(.game-table-hud[data-match-finished="1"]) .final-board:not([data-result-kind]){animation-duration:1.25s}@keyframes theme-action-medium-in{0%{opacity:0;scale:.74}62%{opacity:1;scale:1.06}to{opacity:1;scale:1}}@keyframes theme-action-strong-in{0%{opacity:0;rotate:-5deg;scale:.62}56%{opacity:1;rotate:2deg;scale:1.13}to{opacity:1;rotate:0deg;scale:1}}@keyframes theme-action-climax-in{0%{opacity:0;filter:brightness(1.8);scale:.5}48%{opacity:1;filter:brightness(1.28);scale:1.16}to{opacity:1;filter:brightness();scale:1}}@keyframes llm-event-scan{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.table-action-cue,.anime-action-cue,.score-delta,.settlement-card,.final-board{transition:none!important;animation:none!important;rotate:0deg!important;scale:1!important}.game-app[data-table-theme=llm] .table-action-cue:after{animation:none!important}}.orientation-gate~.game-app{visibility:hidden}.lobby{box-sizing:border-box;padding:calc(var(--safe-top) + var(--topbar-height) + 12px) max(14px, var(--safe-right)) max(14px, var(--safe-bottom)) max(14px, var(--safe-left));text-align:initial;overscroll-behavior:none;display:block;inset:0;overflow:hidden;transform:none}.game-app.is-lobby .lobby{padding-top:calc(var(--safe-top) + var(--topbar-height) + 12px)}.lobby-layout{width:min(1160px,100%);height:calc(100cqh - var(--safe-top) - var(--safe-bottom) - var(--topbar-height) - 26px);align-content:start;gap:clamp(18px,3cqh,34px);min-height:0;margin:0 auto;display:grid;overflow:hidden}.lobby-actions{border:1px solid color-mix(in srgb, var(--theme-border) 30%, transparent);background:color-mix(in srgb, var(--theme-panel) 78%, transparent);border-radius:18px;flex-direction:column;align-self:center;width:min(450px,100%);min-height:0;max-height:100%;margin:0 auto;padding:clamp(14px,2cqw,24px);display:flex;box-shadow:0 24px 64px #00000047,inset 0 1px #ffffff0a}.lobby-actions .waku-account,.lobby-actions .waku-auth-error,.lobby-actions .mode-selector,.lobby-actions .game-settings,.lobby-actions .remote-lobby{box-sizing:border-box;width:100%;max-width:none}.lobby-account-slot{order:8;margin-top:12px}.lobby-actions .waku-account{opacity:.7;background:0 0;border-width:1px 0 0;border-radius:0;margin:0;padding:8px 2px 0}.lobby-actions .waku-account:hover,.lobby-actions .waku-account:focus-within{opacity:1}.lobby-actions .waku-auth-error{margin:5px 0 0}.lobby-actions .continue-session{margin:0 0 12px}.lobby-actions .mode-selector{margin:0 0 14px}.lobby-actions .game-settings{box-shadow:none;background:0 0;border-width:1px 0;border-radius:0;margin:0 0 10px}.lobby-actions .game-settings-title{background:0 0}.lobby-actions .remote-lobby{margin:0}.lobby-actions .lobby-links{order:9;justify-content:center;margin-top:10px}.current-config{color:var(--theme-text-muted);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:0 0 10px;font-size:10px;display:grid}.current-config span{letter-spacing:.1em}.current-config b{min-width:0;color:var(--theme-text);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.current-config small{font-size:10px}.lobby-actions .start-button{width:100%;min-width:0;min-height:56px}.game-app[data-table-theme=happyMahjong] .lobby-actions{border-radius:26px}.game-app[data-table-theme=rosewood] .lobby-actions{border-radius:7px}.game-app[data-table-theme=llm] .lobby-actions{clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);border-radius:5px}.game-app[data-table-theme=llmAnime] .lobby-actions{background:linear-gradient(150deg,#2a3930f5,#0f1a14f7);border:2px solid #2d2923;border-radius:10px;box-shadow:7px 7px #bd5b4857,0 22px 60px #0006}@container (width>=860px) and (height>=520px){.lobby{align-items:center;display:grid}.lobby-layout{grid-template-columns:minmax(0,1.14fr) minmax(360px,.86fr);align-content:center;align-items:center;column-gap:clamp(34px,5cqw,82px)}}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.lobby,.game-app.is-lobby .lobby{padding:calc(var(--safe-top) + var(--topbar-height) + 4px) max(7px, var(--safe-right)) max(6px, var(--safe-bottom)) max(7px, var(--safe-left))}.lobby-layout{height:calc(100cqh - var(--safe-top) - var(--safe-bottom) - var(--topbar-height) - 10px);grid-template-columns:minmax(155px,.62fr) minmax(320px,1.38fr);align-content:center;align-items:center;gap:clamp(8px,2cqw,18px);min-height:0}.lobby-actions{box-sizing:border-box;border-radius:10px;width:100%;padding:8px}.lobby-actions .mode-selector{gap:5px;margin-bottom:6px}.lobby-actions .mode-selector button{padding:6px 7px 5px}.lobby-actions .game-settings{margin-bottom:5px}.lobby-actions .game-settings-title{padding:3px 9px 2px}.lobby-actions .game-settings>button{min-height:34px;padding:3px 8px}.current-config{margin-bottom:5px}.game-app .lobby-actions>.start-button{flex:none;min-height:42px;padding:3px 12px}.lobby-actions .start-button b{font-size:17px;line-height:1.1}.lobby-actions .start-button span{margin-top:1px;font-size:10px;line-height:1.2}.game-app.is-lobby .llm-fab{top:max(4px, var(--safe-top));left:max(8px, var(--safe-left));bottom:auto;right:auto}.lobby-actions .lobby-links,.lobby-account-slot{margin-top:5px}.lobby-actions .waku-account{padding:5px 8px}.lobby.room-focused .lobby-layout{grid-template-columns:minmax(0,1fr)}.lobby.room-focused .lobby-visual,.lobby.room-focused .mode-selector,.lobby.room-focused .lobby-account-slot,.lobby.room-focused .lobby-links{display:none}.lobby.room-focused .lobby-actions{width:min(760px,100%);height:100%;padding:4px 8px}.lobby.room-focused .remote-lobby{flex:1;min-height:0}.lobby.room-focused .room-panel{flex:1;min-height:0;margin:0}}@container (width<=859px) and (orientation:portrait){.lobby-layout{padding-top:6px;padding-bottom:10px}.lobby-actions{box-sizing:border-box}}@media (prefers-reduced-motion:reduce){.lobby-actions,.theme-showcase,.character-shortcut{transition:none!important;animation:none!important;transform:none!important}}.topbar-control:focus-visible,.mode-selector button:focus-visible,.game-settings>button:focus-visible,.start-button:focus-visible,.action:focus-visible,.chi-picker-option:focus-visible,.result-actions button:focus-visible,.result-reopen:focus-visible,.lobby-dialog button:focus-visible,.lobby-dialog input:focus-visible{outline:3px solid color-mix(in srgb, var(--theme-accent) 86%, white);outline-offset:3px}.action[data-action-role=primary]{border-color:color-mix(in srgb, var(--theme-accent) 74%, var(--theme-border))}.action[data-action-role=major]{box-shadow:0 0 0 1px color-mix(in srgb, var(--theme-accent) 20%, transparent), 0 8px 24px color-mix(in srgb, var(--theme-negative) 22%, transparent);border-width:2px}.action[data-action-role=danger]{border-color:color-mix(in srgb, var(--theme-negative) 48%, var(--theme-border));color:color-mix(in srgb, var(--theme-text) 82%, var(--theme-negative))}.action:disabled,.result-actions button:disabled,.result-reopen:disabled,.lobby button:disabled{filter:grayscale(.5);opacity:.48;cursor:not-allowed;box-shadow:none}.table-loading-card,.kong-picker-card,.waiting-tip{border-color:color-mix(in srgb, var(--theme-border) 70%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--theme-panel-elevated) 96%, transparent), color-mix(in srgb, var(--theme-panel) 98%, transparent));color:var(--theme-text)}.kong-picker-card h2{color:var(--theme-text)}.chi-picker-option{border:1px solid color-mix(in srgb, var(--theme-border) 42%, transparent);background:color-mix(in srgb, var(--theme-surface) 62%, var(--theme-panel));cursor:pointer;border-radius:8px}.chi-picker-option:hover{border-color:var(--theme-accent);filter:brightness(1.08);transform:translateY(-2px)}.round-settlement.is-restored.modal-enter-active .settlement-card,.round-settlement.is-restored .round-rankings article{animation:none!important}.game-app[data-table-theme=llmAnime] .kong-picker-card{background:#f4eddf;border:2px solid #2d2923;border-radius:8px;box-shadow:7px 7px #bd5b4866,0 22px 58px #0000007a}.game-app[data-table-theme=llmAnime] .kong-picker-card h2{color:#2d2923;text-shadow:none}.game-app[data-table-theme=llmAnime] .chi-picker-option{background:#fffaf0;border:2px solid #2d2923;border-radius:5px;box-shadow:3px 3px #bd5b4852}@media (prefers-reduced-motion:reduce){.chi-picker-option:hover{transform:none}}.room-panel{border-color:color-mix(in srgb, var(--theme-border) 34%, transparent);background:color-mix(in srgb, var(--theme-panel) 70%, transparent);min-height:0}.room-code{width:100%;color:var(--theme-text-muted);text-align:center;grid-template-columns:minmax(54px,1fr) auto minmax(54px,1fr);place-items:center;display:grid}.room-code-label{justify-self:end}.room-code strong{color:var(--theme-text);margin:0}.room-code-copied{visibility:hidden;border-color:color-mix(in srgb, var(--theme-positive) 55%, transparent);background:color-mix(in srgb, var(--theme-positive) 12%, transparent);color:var(--theme-positive);opacity:0;justify-self:start;margin-left:8px}.room-code-copied.visible{visibility:visible;opacity:1}.room-code:focus-visible{outline:3px solid var(--theme-accent);outline-offset:3px}.room-game-config{color:var(--theme-text-muted);text-align:center;margin-top:-5px}.room-game-config b{color:color-mix(in srgb, var(--theme-text) 76%, var(--theme-accent))}.room-limit-note{color:var(--theme-text-muted)}.room-seats{min-height:0}.room-seat{border-color:color-mix(in srgb, var(--theme-border) 22%, transparent);background:color-mix(in srgb, var(--theme-panel) 70%, transparent);color:var(--theme-text-muted)}.room-seat.occupied{border-color:color-mix(in srgb, var(--theme-border) 46%, transparent);color:var(--theme-text)}.room-seat-no{background:color-mix(in srgb, var(--theme-accent) 16%, transparent);color:var(--theme-text)}.room-owner-actions button[data-action-role=primary]{border-color:var(--theme-border);background:var(--theme-button);color:var(--theme-text);box-shadow:0 7px 20px #00000047}.room-start[data-action-role=disabled]{box-shadow:none}.room-actions-row [data-action-role=danger]{border:1px solid color-mix(in srgb, var(--theme-negative) 58%, transparent);background:color-mix(in srgb, var(--theme-negative) 10%, transparent);color:var(--theme-negative);border-radius:6px;padding:6px 11px}.room-seat-provider{color:var(--theme-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.room-seat-provider:focus-visible{box-shadow:0 0 0 2px var(--theme-accent)}.room-seat-provider option{background:var(--theme-panel);color:var(--theme-text)}.lobby-dialog-backdrop[data-table-theme]{overscroll-behavior:none;color:var(--theme-text);background:color-mix(in srgb, var(--theme-panel) 76%, transparent);overflow:hidden}.lobby-dialog-backdrop[data-table-theme] .lobby-dialog{overscroll-behavior:contain;border-color:color-mix(in srgb, var(--theme-border) 72%, transparent);background:linear-gradient(155deg, color-mix(in srgb, var(--theme-panel-elevated) 98%, transparent), color-mix(in srgb, var(--theme-panel) 99%, transparent) 72%);color:var(--theme-text)}.lobby-dialog-backdrop[data-table-theme] .lobby-dialog>header{border-color:color-mix(in srgb, var(--theme-border) 28%, transparent)}.lobby-dialog-backdrop[data-table-theme] .lobby-dialog h2,.lobby-dialog-backdrop[data-table-theme] .picker-options b{color:var(--theme-text)}.lobby-dialog-backdrop[data-table-theme] .lobby-dialog-close{border-color:color-mix(in srgb, var(--theme-border) 38%, transparent);color:var(--theme-text-muted)}.lobby-dialog-backdrop[data-table-theme] .picker-options>button{border-color:color-mix(in srgb, var(--theme-border) 24%, transparent);background:color-mix(in srgb, var(--theme-panel) 64%, transparent);color:var(--theme-text-muted)}.lobby-dialog-backdrop[data-table-theme] .picker-options>button:hover{border-color:color-mix(in srgb, var(--theme-accent) 62%, transparent);background:color-mix(in srgb, var(--theme-accent) 8%, var(--theme-panel))}.lobby-dialog-backdrop[data-table-theme] .picker-options>button:active{transform:translateY(1px)}.lobby-dialog-backdrop[data-table-theme] .picker-options>button.active{border-color:var(--theme-accent);background:color-mix(in srgb, var(--theme-accent) 15%, var(--theme-panel));box-shadow:inset 4px 0 var(--theme-accent)}.lobby-dialog-backdrop[data-table-theme] .picker-options>button>i{border-color:var(--theme-text-muted);box-shadow:inset 0 0 0 4px var(--theme-panel)}.lobby-dialog-backdrop[data-table-theme] .picker-options>button.active>i{border-color:var(--theme-accent);background:var(--theme-accent)}.lobby-dialog-backdrop[data-table-theme] .picker-options small,.lobby-dialog-backdrop[data-table-theme] .dialog-hint{color:var(--theme-text-muted)}.lobby-dialog-backdrop[data-table-theme] .picker-options b em{border-color:color-mix(in srgb, var(--theme-accent) 52%, transparent);color:var(--theme-accent)}.lobby-dialog-backdrop[data-table-theme] .view-rules-link{color:var(--theme-accent)}.lobby-dialog-backdrop[data-table-theme] .dialog-actions .primary{border-color:var(--theme-border);background:var(--theme-button);color:var(--theme-text);box-shadow:0 7px 20px #00000042}.lobby-dialog-backdrop[data-table-theme] .dialog-actions .secondary{border-color:color-mix(in srgb, var(--theme-border) 38%, transparent);background:color-mix(in srgb, var(--theme-panel) 88%, transparent);color:var(--theme-text-muted)}.lobby-dialog-backdrop[data-table-theme] .join-dialog-field span{color:var(--theme-text-muted)}.lobby-dialog-backdrop[data-table-theme] .join-dialog-field input{border-color:color-mix(in srgb, var(--theme-border) 44%, transparent);background:color-mix(in srgb, var(--theme-surface) 40%, var(--theme-panel));color:var(--theme-text)}.lobby-dialog-backdrop[data-table-theme] .join-dialog-field input::placeholder{color:color-mix(in srgb, var(--theme-text-muted) 66%, transparent)}.lobby-dialog-backdrop[data-table-theme] .remote-llm-create-option{border-color:color-mix(in srgb, var(--theme-border) 36%, transparent);background:color-mix(in srgb, var(--theme-surface) 28%, var(--theme-panel));color:var(--theme-text)}.lobby-dialog-backdrop[data-table-theme] .remote-llm-create-option small{color:var(--theme-text-muted)}.lobby-dialog-backdrop[data-table-theme] input[type=checkbox]{accent-color:var(--theme-accent)}.lobby-dialog-backdrop[data-table-theme] :is(button,input):focus-visible{outline:3px solid var(--theme-accent);outline-offset:2px}.lobby-dialog.character-dialog{flex-direction:column;display:flex;overflow:hidden}.lobby-dialog.character-dialog>header{flex:none}.lobby-dialog.character-dialog>.anime-character-picker{flex:1;min-height:0;overflow:hidden}.lobby-dialog-backdrop[data-table-theme=happyMahjong] .lobby-dialog{border-width:3px;border-radius:24px}.lobby-dialog-backdrop[data-table-theme=rosewood] .lobby-dialog{border-width:2px;border-radius:5px}.lobby-dialog-backdrop[data-table-theme=llm] .lobby-dialog{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);border-radius:4px}.lobby-dialog-backdrop[data-table-theme=llmAnime]{background:#0c1410d1}.lobby-dialog-backdrop[data-table-theme=llmAnime] .lobby-dialog{--theme-panel:#fff8ec;--theme-panel-elevated:#f3e5cf;--theme-surface:#f3e5cf;--theme-text:#2d2923;--theme-text-muted:#6f6255;--theme-border:#2d2923;--theme-positive:#39754c;--theme-negative:#9f4035;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:2px solid var(--theme-border);background:linear-gradient(150deg, var(--theme-panel), var(--theme-panel-elevated));color:var(--theme-text);scrollbar-width:thin;scrollbar-color:var(--theme-accent) var(--theme-panel-elevated);border-radius:10px;box-shadow:6px 6px #bd5b4866,0 26px 78px #0009}.lobby-dialog-backdrop[data-table-theme=llmAnime] .picker-options>button{border:2px solid color-mix(in srgb, var(--theme-border) 26%, transparent);background:var(--theme-panel);color:var(--theme-text);box-shadow:none;border-radius:7px}.lobby-dialog-backdrop[data-table-theme=llmAnime] .picker-options>button.active{border-color:var(--theme-accent);box-shadow:inset 4px 0 var(--theme-accent), 3px 3px 0 #2d292329;background:#f4d4c2}.lobby-dialog-backdrop[data-table-theme=llmAnime] :is(.view-rules-link,.picker-options b em){color:#9f4035}.lobby-dialog-backdrop[data-table-theme=llmAnime] .dialog-actions .primary{border:2px solid var(--theme-border);background:var(--theme-button);color:#fff8ec;box-shadow:3px 3px #2d292342}.lobby-dialog-backdrop[data-table-theme=llmAnime] .dialog-actions .secondary{color:var(--theme-text)}.lobby-dialog-backdrop[data-table-theme=llmAnime] .lobby-dialog .game-settings{border-color:color-mix(in srgb, var(--theme-border) 28%, transparent);background:var(--theme-panel);color:var(--theme-text)}.lobby-dialog-backdrop[data-table-theme=llmAnime] .game-settings-title{background:var(--theme-panel-elevated)}.lobby-dialog-backdrop[data-table-theme=llmAnime] :is(.game-settings-title,.game-settings>button>span,.game-settings>button>small){color:var(--theme-text-muted)}.lobby-dialog-backdrop[data-table-theme=llmAnime] .game-settings>button>strong{color:var(--theme-text)}.lobby-dialog-backdrop[data-table-theme=llmAnime] .game-settings>button:hover{background:#f4d4c2}.lobby-dialog-backdrop[data-table-theme=llmAnime] .join-dialog-field input::placeholder{color:var(--theme-text-muted)}.lobby-dialog-backdrop[data-table-theme=llmAnime] .remote-llm-create-option b{color:var(--theme-text)}.lobby-dialog-backdrop[data-table-theme=llmAnime] :is(.session-error,.dialog-error){color:var(--theme-negative)}.lobby-dialog-backdrop[data-table-theme=llmAnime] .dialog-actions button{border-radius:7px}.lobby-dialog-backdrop[data-table-theme=llmAnime] .dialog-actions button:enabled:hover{filter:brightness(1.06)}.lobby-dialog-backdrop[data-table-theme=llmAnime] .dialog-actions button:enabled:active{box-shadow:none}.lobby-dialog-backdrop[data-table-theme=llmAnime] .lobby-dialog button:disabled{opacity:.48;filter:grayscale(.45);box-shadow:none;cursor:not-allowed}.lobby [data-action-role=primary],.lobby-dialog [data-action-role=primary]{font-weight:900}.lobby [data-action-role=light],.lobby-dialog [data-action-role=light]{box-shadow:none}.lobby :is(input,select){border-color:color-mix(in srgb, var(--theme-border) 40%, transparent);background:color-mix(in srgb, var(--theme-surface) 36%, var(--theme-panel));color:var(--theme-text)}.lobby :is(input,select)::placeholder{color:color-mix(in srgb, var(--theme-text-muted) 68%, transparent)}.lobby input[type=checkbox]{accent-color:var(--theme-accent)}.lobby :is(input,select,button):focus-visible,.lobby a:focus-visible{outline:3px solid var(--theme-accent);outline-offset:2px}.remote-field{border-color:color-mix(in srgb, var(--theme-border) 30%, transparent);background:color-mix(in srgb, var(--theme-panel) 72%, transparent)}.remote-field span,.room-meta-note{color:var(--theme-text-muted)}.remote-entry-actions button{border-color:var(--theme-border);background:var(--theme-button);color:var(--theme-text);box-shadow:0 7px 20px #00000047}.session-error,.waku-auth-error{color:var(--theme-negative)}.text-button,.repository-link{color:var(--theme-text-muted)}.text-button:hover,.repository-link:hover{color:var(--theme-accent)}.rules-panel{border-color:var(--theme-border);background:linear-gradient(160deg, var(--theme-panel-elevated), var(--theme-panel) 65%)}.rules-panel h2,.rule-list h3{color:var(--theme-text)}.rule-list p,.rules-panel .disclaimer-block p,.rules-panel .disclaimer-block li{color:var(--theme-text-muted)}.rules-panel .eyebrow,.rules-panel .disclaimer-block>h3,.rules-panel .disclaimer-block h4,.rule-note{color:var(--theme-accent)}.rules-panel header,.rules-panel .disclaimer-block,.rule-note{border-color:color-mix(in srgb, var(--theme-border) 28%, transparent)}.rules-panel header button:focus-visible{outline-color:var(--theme-accent)}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.room-panel{gap:5px;height:100%;padding:6px 9px;overflow:hidden}.room-code strong{font-size:clamp(18px,4.4cqh,24px)}.room-limit-note,.room-llm-note{margin:0;font-size:9px;line-height:1.2}.room-character-entry{grid-template-columns:28px minmax(0,1fr) auto;padding:3px 6px}.room-character-entry img{width:26px;height:26px}.room-seats{flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-height:0}.room-seat{min-width:0;padding:5px 6px}.room-owner-actions{flex-direction:row;flex:none;gap:7px}.room-owner-actions>button{flex:1;min-height:38px;padding:5px 10px}.room-start{min-width:0}.room-actions-row{flex:none;justify-content:center;gap:8px}}@container (height<=340px){.lobby.room-focused .room-seats{overscroll-behavior:contain;flex:1;overflow-y:auto}.lobby:not(.room-focused) .lobby-actions{padding:6px}.lobby-actions .mode-selector{margin-bottom:4px}.lobby-actions .game-settings{margin-bottom:3px}.lobby-account-slot,.lobby-actions .lobby-links{margin-top:3px}.lobby-actions .waku-account{padding:3px 8px}}.game-app[data-table-theme=llmAnime] .top-bar{background:var(--theme-top-bar)}.game-app[data-table-theme=llmAnime] :is(.top-bar .topbar-control,.round-info,.avatar-wrap,.user-identity,.turn-timer,.action){border-color:var(--anime-ink);background:linear-gradient(150deg, var(--theme-panel-elevated), var(--theme-panel));color:var(--theme-text);box-shadow:3px 3px #bd5b484d,inset 0 1px #fff8ec1a}.game-app[data-table-theme=llmAnime] .top-bar .topbar-control:hover{border-color:var(--theme-accent);background:var(--theme-panel-elevated)}.game-app[data-table-theme=llmAnime] :is(.action.primary,.action.hu,.start-button,.remote-entry-actions button,.room-owner-actions button[data-action-role=primary],.table-loading-retry){border:2px solid var(--anime-ink);background:var(--theme-button);color:var(--theme-text);border-radius:7px;box-shadow:3px 3px #bd5b4852}.game-app[data-table-theme=llmAnime] :is(.action span,.waiting-action span){color:var(--theme-text-muted)}.game-app[data-table-theme=llmAnime] :is(.action.pass,.discard-action){color:var(--theme-text-muted);box-shadow:none}.game-app[data-table-theme=llmAnime] :is(.waiting-action.active,.autoplay-action.active){border-color:var(--theme-accent);box-shadow:inset 4px 0 var(--theme-accent), 3px 3px 0 #bd5b484d}.game-app[data-table-theme=llmAnime] :is(.lobby-actions,.room-panel){border-color:var(--anime-ink);background:linear-gradient(150deg, var(--theme-panel-elevated), var(--theme-panel))}.game-app[data-table-theme=llmAnime] .room-panel{border-radius:10px}.game-app[data-table-theme=llmAnime] .mode-selector button{border-color:var(--anime-ink);color:var(--theme-text)}.game-app[data-table-theme=llmAnime] .mode-selector button.active{border-color:var(--theme-accent);color:var(--theme-text);box-shadow:inset 4px 0 var(--theme-accent), 3px 3px 0 #2d292347}.game-app[data-table-theme=llmAnime] .mode-selector button b{color:var(--theme-text)}.game-app[data-table-theme=llmAnime] .waku-account button{border-color:var(--theme-border);background:var(--theme-panel);color:var(--theme-text)}.game-app[data-table-theme=llmAnime] .game-settings>button>i:before,.lobby-dialog-backdrop[data-table-theme=llmAnime] .game-settings>button>i:before{border-color:var(--theme-accent)}.game-app[data-table-theme=llmAnime] :is(.room-meta-note b,.room-seat em.unready){color:var(--theme-text-muted)}.game-app[data-table-theme=llmAnime] .room-code:hover strong{color:#f2aa96}.lobby-dialog-backdrop[data-table-theme=llmAnime] .join-dialog-field input:focus{border-color:var(--theme-accent);box-shadow:0 0 0 2px #bd5b4829}.game-app[data-table-theme=llmAnime] .character-shortcut{background:var(--theme-panel);color:var(--theme-text);box-shadow:3px 3px #bd5b4852}.game-app[data-table-theme=llmAnime] .character-shortcut:hover{background:var(--theme-panel-elevated);border-color:var(--theme-accent)}.game-app[data-table-theme=llmAnime] .character-shortcut-label{color:var(--theme-text-muted)}.game-app[data-table-theme=llmAnime] :is(.result-actions button:not(.secondary),.final-footer>button,.result-reopen){border-color:var(--anime-ink);background:var(--theme-button);color:var(--theme-text)}.game-app[data-table-theme=llmAnime] .kong-picker-card{--theme-text:#2d2923;--theme-text-muted:#6f6255;--theme-panel:#fff8ec;--theme-panel-elevated:#f3e5cf;background:var(--theme-panel);color:var(--theme-text)}.game-app[data-table-theme=llmAnime] .chi-picker-option{background:#fff8ec}.game-app[data-table-theme=llmAnime] :is(.action,.topbar-control,.start-button,.remote-entry-actions button):enabled:active,.game-app[data-table-theme=llmAnime] :is(.room-owner-actions button,.start-button,.action):disabled{box-shadow:none}@media (prefers-reduced-motion:reduce){[data-table-theme=llmAnime] :is(.action,.topbar-control,.dialog-actions button,.picker-options>button,.anime-character-grid button){transition:none!important;transform:none!important}}
