.tile-back-body[data-v-b3bcce46]{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.tile-back-body--upright[data-v-b3bcce46]{transform:scaleX(var(--tile-back-mirror, 1))}.mahjong-tile[data-v-204d38f3]{position:relative;isolation:isolate;display:inline-flex;flex:0 0 auto;width:var(--tile-size);height:calc(var(--tile-size) * 4 / 3);align-items:center;justify-content:center;vertical-align:middle;border:1px solid #d9e3d6;border-radius:max(2px,calc(var(--tile-size) * .09));background:linear-gradient(160deg,#fff 20%,#fffef5 65%,#e4e9db);box-shadow:inset 0 1px 1px #fff,inset 1px 0 #fffc,0 calc(var(--tile-size) * .04) 0 #cadac3,0 calc(var(--tile-size) * .1) 0 #199a56,0 calc(var(--tile-size) * .13) 0 #0a6843,1px calc(var(--tile-size) * .16) calc(var(--tile-size) * .12) #003e3c66;-webkit-user-select:none;user-select:none}.mahjong-tile[data-v-204d38f3]:after{content:"";position:absolute;pointer-events:none;top:3px;bottom:-4px;right:calc(0px - var(--tile-side-width, 4px));width:var(--tile-side-width, 4px);border-radius:0 2px 2px 0;background:linear-gradient(90deg,#e1e4ce 0,#e1e4ce 50%,#16864c 50%,#16864c 80%,#075f36 80%);transform:skewY(32deg);transform-origin:left top;z-index:-1}.tile-art[data-v-204d38f3]{width:93%;height:94%;overflow:visible}.mahjong-tile--sideways[data-v-204d38f3]{width:calc(var(--tile-size) * 4 / 3);height:var(--tile-size)}.mahjong-tile--sideways .tile-art[data-v-204d38f3]{position:absolute;top:50%;left:50%;width:calc(var(--tile-size) * .93);height:calc(var(--tile-size) * 4 / 3 * .94);transform:translate(-50%,-50%) rotate(90deg)}.tile-rank[data-v-204d38f3]{position:absolute;z-index:1;top:1px;left:2px;color:#456378;font-size:calc(var(--tile-size) * .19);font-weight:700;line-height:1}.mahjong-tile--bamboo .tile-rank[data-v-204d38f3]{color:#276e50}.mahjong-tile--back[data-v-204d38f3]{padding:3px 1px 1px;border-color:#dce3c9;background:linear-gradient(#fffce3,#b9c9a8);box-shadow:inset 0 2px #ffffec,0 3px #ecebd5,0 6px #08763c,2px 8px 4px #002c3555}.mahjong-tile--back.mahjong-tile--sideways[data-v-204d38f3]{width:calc(var(--tile-size) * 44 / 26);padding:0;border:0;border-radius:0;background:none;box-shadow:none}.mahjong-tile--back.mahjong-tile--sideways[data-v-204d38f3]:after{content:none}.mahjong-tile--back.mahjong-tile--sideways.mahjong-tile--back-end[data-v-204d38f3]{height:calc(var(--tile-size) * 64 / 26)}.tile-back-pattern[data-v-204d38f3]{display:grid;width:100%;height:100%;place-items:center;border:1px solid #238746;border-radius:inherit;background:linear-gradient(120deg,#39aa58,#138b43 45%,#086537);box-shadow:inset 0 1px 1px #b5e5a366,inset -1px -1px 2px #004b3155}.tile-back-pattern>span[data-v-204d38f3]{width:86%;height:87%;border:1px solid #8dd09b33;border-radius:2px;box-shadow:inset 0 0 3px #04643633}.match-action-notice[data-v-f9e6a4ce]{--tile-size: 24px;display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%;padding:5px;color:#fff3c8;pointer-events:none}.notice-character[data-v-f9e6a4ce]{flex:none;font:700 34px/1.1 STKaiti,KaiTi,serif;color:#ffdf80;text-shadow:0 2px 0 #71431d,0 0 12px #ffc44c99;animation:notice-enter-f9e6a4ce .24s ease-out}.notice-character--win[data-v-f9e6a4ce]{color:#ffe7cf;text-shadow:0 2px 0 #842e27,0 0 12px #ff775d}.notice-detail[data-v-f9e6a4ce]{display:grid;gap:3px;font-size:10px;line-height:1.3;text-shadow:0 1px 2px #092f35}.notice-detail small[data-v-f9e6a4ce]{font-size:8px;color:#d8f1df}@keyframes notice-enter-f9e6a4ce{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.notice-character[data-v-f9e6a4ce]{animation:none}}.seat-badge[data-v-bda57255]{display:flex;flex:none;align-items:center;justify-content:center;border:1px solid #9edbd21f;border-radius:5px;background:linear-gradient(110deg,#103747db,#123d4899);color:#fff5dc;text-shadow:0 1px 2px #002b36}.seat-badge[data-active][data-v-bda57255]{border-color:#ffd67d;background:linear-gradient(110deg,#77502bcc,#163f49bb);box-shadow:inset 0 0 0 1px #ffd17b44,0 0 9px #ffbf4e55}.seat-letter[data-v-bda57255]{display:grid;width:28px;height:28px;flex:none;place-items:center;border:1px solid #a6d9d4;border-radius:4px;background:radial-gradient(circle at 30% 20%,#72b5bb,#286678 65%,#173f54);box-shadow:inset 0 0 0 2px #d3fff126,0 2px 4px #002e4166;color:#e1fff5;font-size:14px;font-weight:700;text-shadow:0 1px #124354}.seat-letter[data-tone=selected][data-v-bda57255]{border-color:#ffe1a0;background:linear-gradient(145deg,#b88b3b,#775224)}.seat-letter[data-tone=retired][data-v-bda57255]{background:linear-gradient(145deg,#617d77,#344c4d);color:#dfdfc0}.table-fit-region[data-v-b750feba]{position:relative;width:100%;height:100%;min-width:0;min-height:0}.table-fit-content[data-v-b750feba]{position:absolute;width:100%;transform-origin:top left}.side-concealed-rack[data-v-198dabf5]{--side-gap: calc(var(--tile-size) * .025);--side-run: calc(var(--tile-size) * var(--concealed-count) + var(--side-gap) * (var(--concealed-count) - 1));position:relative;flex:none;width:calc(var(--side-run) * .28 + var(--tile-size) * 34.48 / 26);height:calc(var(--side-run) + var(--tile-size) * 38 / 26)}.side-concealed-column[data-v-198dabf5]{position:absolute;top:0;left:calc((var(--side-run) + var(--tile-size) * 2 / 26) * .28);display:flex;flex-direction:column;align-items:flex-start;gap:var(--side-gap);width:calc(var(--tile-size) * 44 / 26);transform:matrix(1,0,-.28,1,0,0);transform-origin:top left;filter:drop-shadow(3px 4px 2px #003c3644)}.side-concealed-rack--mirrored .side-concealed-column[data-v-198dabf5]{left:calc(var(--tile-size) * -10.08 / 26);transform:matrix(1,0,.28,1,0,0)}.fm-seat[data-v-bfea9b94]{position:relative;width:100%;height:100%;color:#f5f3df}.fm-seat-header[data-v-bfea9b94]{position:absolute;left:0;top:18%;width:88px;display:grid;grid-template-columns:30px 1fr;gap:2px 4px;padding:4px;background:#103e4ad9}.fm-seat-header[data-v-bfea9b94] .seat-letter{grid-row:1 / 3;width:30px;height:34px}.fm-seat-person[data-v-bfea9b94]{display:flex;align-items:center;justify-content:center;gap:3px}.fm-seat-person h2[data-v-bfea9b94]{margin:0;font-size:11px;white-space:nowrap}.fm-seat-person>span[data-v-bfea9b94]{font-size:8px;color:#c1d4bb}.fm-dealer[data-v-bfea9b94]{color:#ffe39b}.fm-seat-score[data-v-bfea9b94]{color:#fff1bd;font-size:13px;text-align:center;font-variant-numeric:tabular-nums}.fm-seat-score small[data-v-bfea9b94]{font-size:9px}.fm-seat-score--negative[data-v-bfea9b94]{color:#f4c5aa}.fm-seat-state[data-v-bfea9b94]{grid-column:1 / -1;text-align:center;font-size:8px;line-height:1.3}.fm-seat-state b[data-v-bfea9b94]{margin-left:4px;color:#ffe09c}.fm-rack[data-v-bfea9b94]{position:absolute;top:0;right:0;bottom:0;left:0}.fm-rack[data-v-bfea9b94] .table-fit-content{display:flex;justify-content:flex-start;align-items:end;gap:10px}.fm-seat--south .fm-rack[data-v-bfea9b94]{left:15%}.fm-seat--south .fm-seat-header[data-v-bfea9b94]{top:auto;bottom:10%}.fm-seat--north .fm-seat-header[data-v-bfea9b94]{left:auto;right:24px;top:5%}.fm-seat--north .fm-rack[data-v-bfea9b94]{right:122px}.fm-own-hand[data-v-bfea9b94],.fm-public-hand[data-v-bfea9b94],.fm-hidden-hand[data-v-bfea9b94]{display:flex;flex:none;flex-wrap:nowrap;align-items:end;gap:5px;padding:8px 6px 10px}.fm-seat--south .fm-own-hand[data-v-bfea9b94]{gap:3px;padding:8px 3px 7px}.fm-seat:not(.fm-seat--sideways) .fm-own-hand[data-v-bfea9b94],.fm-seat:not(.fm-seat--sideways) .fm-public-hand[data-v-bfea9b94],.fm-seat:not(.fm-seat--sideways) .fm-hidden-hand[data-v-bfea9b94]{--tile-side-width: var(--hand-tile-gap, .5px);gap:var(--hand-tile-gap, .5px)}.fm-melds[data-v-bfea9b94]{--tile-size: var(--opponent-tile-size);display:flex;flex:none;gap:6px}.fm-meld[data-v-bfea9b94]{display:flex;flex-direction:column;align-items:center;gap:4px}.fm-meld-tiles[data-v-bfea9b94]{display:flex;gap:3px}.fm-meld>small[data-v-bfea9b94]{color:#d1ddbf;font-size:8px;line-height:1.3}.fm-tile-button[data-v-bfea9b94]{position:relative;display:grid;width:calc(var(--tile-size) + 2px);height:calc(var(--tile-size) * 4 / 3 + 2px);flex:none;place-items:center;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;cursor:pointer;touch-action:manipulation;transition:transform .14s cubic-bezier(.2,.8,.2,1)}.fm-seat:not(.fm-seat--sideways) .fm-tile-button[data-v-bfea9b94]{width:var(--tile-size);border-inline-width:0}.fm-tile-button[data-v-bfea9b94]:after{content:"";position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;border:1px solid var(--tile-selection-color, transparent);border-radius:inherit;pointer-events:none}.fm-tile-button[data-v-bfea9b94]:disabled{cursor:default}.fm-tile-button[data-v-bfea9b94]:hover:not(:disabled){--tile-selection-color: #ffecaf;border-color:#ffecaf}.fm-tile-button--selected[data-v-bfea9b94]{--tile-selection-color: #ffe193;transform:translateY(-7px);border-color:#ffe193;background:#d0a95424}.fm-tile-button--drawn[data-v-bfea9b94]{margin-left:calc(var(--tile-size) * .25)}.fm-tile-button[data-v-bfea9b94]:focus-visible{outline:2px solid #ffe5a6;outline-offset:2px}.fm-selected-marker[data-v-bfea9b94]{top:-5px;left:-3px}.fm-drawn-marker[data-v-bfea9b94],.fm-tile-marker[data-v-bfea9b94]{top:-5px;right:-3px}.fm-public-tile[data-v-bfea9b94]{position:relative;display:inline-flex;flex:none}.fm-revealed[data-v-bfea9b94]{flex:none}.fm-public-note[data-v-bfea9b94]{margin:2px 0;color:#e9d7ac;font-size:8px;text-align:center}.fm-seat--sideways[data-v-bfea9b94]{--tile-size: var(--side-tile-size)}.fm-seat--sideways .fm-rack[data-v-bfea9b94]{left:45%;width:55%}.fm-seat--east .fm-rack[data-v-bfea9b94]{left:0}.fm-seat--sideways .fm-seat-header[data-v-bfea9b94]{top:32%;width:82px}.fm-seat--east .fm-seat-header[data-v-bfea9b94]{left:auto;right:0}.fm-seat--sideways .fm-own-hand[data-v-bfea9b94],.fm-seat--sideways .fm-public-hand[data-v-bfea9b94],.fm-seat--sideways .fm-hidden-hand[data-v-bfea9b94]{flex-direction:column;gap:6px;padding:5px}.fm-seat--sideways .fm-hidden-hand[data-v-bfea9b94]{--tile-size: var(--side-back-tile-size);gap:0;padding:3px 2px}.fm-seat--east[data-v-bfea9b94]{--tile-back-mirror: -1}.fm-seat--sideways .fm-tile-button[data-v-bfea9b94]{width:calc(var(--tile-size) * 4 / 3 + 2px);height:calc(var(--tile-size) + 2px)}.fm-seat--sideways .fm-melds[data-v-bfea9b94]{--tile-size: var(--side-tile-size);flex-direction:column;gap:5px}.fm-seat--sideways .fm-meld-tiles[data-v-bfea9b94]{flex-direction:column;gap:7px}.fm-seat--sideways .fm-rack[data-v-bfea9b94] .table-fit-content{align-items:center;gap:5px}@container landscape-table (min-width: 0px){.fm-seat--north .fm-rack[data-v-bfea9b94]{transform:perspective(500px) rotateX(-12deg)}}@media(prefers-reduced-motion:reduce){.fm-tile-button[data-v-bfea9b94]{transition:none}}@container (max-width: 500px){.fm-seat-header[data-v-bfea9b94]{width:78px;transform:scale(.65);transform-origin:top left}.fm-seat--north .fm-seat-header[data-v-bfea9b94]{right:0;top:-36px;transform-origin:top right}.fm-seat--north .fm-rack[data-v-bfea9b94]{right:0}.fm-seat--south .fm-seat-header[data-v-bfea9b94]{top:-20px;bottom:auto}.fm-seat--south .fm-rack[data-v-bfea9b94]{left:0;top:35%}.fm-seat--sideways .fm-seat-header[data-v-bfea9b94]{top:-25px;width:76px}.fm-seat--sideways .fm-rack[data-v-bfea9b94]{left:18%;width:78%;top:40px}.fm-seat--east .fm-rack[data-v-bfea9b94]{left:0}.fm-seat--east .fm-seat-header[data-v-bfea9b94]{transform-origin:top right}}.table-wall[data-v-79d5381e]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;pointer-events:none}.wall-stacks[data-v-79d5381e]{display:grid;grid-template-columns:repeat(var(--wall-columns),minmax(0,1fr));width:min(100%,calc((var(--wall-columns) + .1) * var(--wall-tile-size, 20px) / var(--wall-rows)));padding-right:calc(var(--wall-tile-size, 20px) * .1 / var(--wall-rows));gap:0;filter:drop-shadow(3px 4px 2px #003b3377) drop-shadow(0 1px .5px #00342e99)}.wall-stack[data-v-79d5381e]{position:relative;display:block;aspect-ratio:60 / 114}.wall-back[data-v-79d5381e]{position:absolute;z-index:1;left:0;bottom:0;display:block;width:100%;height:calc(100% * 84 / 114)}.wall-back--upper[data-v-79d5381e]{z-index:2;bottom:calc(100% * 30 / 114)}.mahjong-table-shell[data-v-e7143a77]{position:relative;width:100%;height:100%;min-width:0;min-height:0}.mahjong-table[data-v-e7143a77]{--opponent-tile-size: 25px;--river-tile-size: 20px;--hub-width: 72px;--hub-height: 66px;position:absolute;top:50%;left:50%;isolation:isolate;container-type:size;background:#237f7c;transform-origin:center}.mahjong-table[data-v-e7143a77]:before{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201000%20462'%20preserveAspectRatio='xMidYMid%20slice'%3e%3cdefs%3e%3clinearGradient%20id='surround'%20x2='0'%20y2='1'%3e%3cstop%20stop-color='%23527278'/%3e%3cstop%20offset='1'%20stop-color='%23193b49'/%3e%3c/linearGradient%3e%3cradialGradient%20id='felt'%20cx='.5'%20cy='.43'%20r='.75'%3e%3cstop%20stop-color='%23359f94'/%3e%3cstop%20offset='.55'%20stop-color='%23258b85'/%3e%3cstop%20offset='1'%20stop-color='%23176970'/%3e%3c/radialGradient%3e%3clinearGradient%20id='rail'%20x2='1'%20y2='.2'%3e%3cstop%20stop-color='%23153a49'/%3e%3cstop%20offset='.48'%20stop-color='%23214956'/%3e%3cstop%20offset='1'%20stop-color='%23102d3a'/%3e%3c/linearGradient%3e%3clinearGradient%20id='gold'%20x2='0'%20y2='1'%3e%3cstop%20stop-color='%23809a80'/%3e%3cstop%20offset='.4'%20stop-color='%23e1d6a0'/%3e%3cstop%20offset='1'%20stop-color='%2382997c'/%3e%3c/linearGradient%3e%3cpattern%20id='weave'%20width='6'%20height='6'%20patternUnits='userSpaceOnUse'%3e%3cpath%20d='M0%200L6%206M-3%203L3%209M3-3L9%203'%20stroke='%23c6ead7'%20stroke-opacity='.055'%20stroke-width='.6'/%3e%3cpath%20d='M0%206L6%200'%20stroke='%23084b55'%20stroke-opacity='.08'%20stroke-width='.7'/%3e%3c/pattern%3e%3c/defs%3e%3c!--%20固定透视只用于装饰；牌组、头像、余牌和按钮均由真实组件绘制。%20--%3e%3cpath%20fill='url(%23surround)'%20d='M0%200H1000V462H0Z'/%3e%3cpath%20fill='url(%23felt)'%20d='M226-24H774L947%20486H53Z'/%3e%3cpath%20fill='url(%23weave)'%20d='M226-24H774L947%20486H53Z'/%3e%3cpath%20fill='url(%23rail)'%20stroke='%23082d3b'%20stroke-width='3'%20d='M190-24H226L53%20486H8Z'/%3e%3cpath%20fill='url(%23rail)'%20stroke='%23082d3b'%20stroke-width='3'%20d='M774-24H810L992%20486H947Z'/%3e%3cpath%20fill='none'%20stroke='%23508981'%20stroke-opacity='.65'%20stroke-width='8'%20d='M232-24L59%20486M768-24L941%20486'/%3e%3cpath%20fill='none'%20stroke='url(%23gold)'%20stroke-width='2.5'%20d='M223-24L50%20486M777-24L950%20486'/%3e%3cpath%20fill='none'%20stroke='%238bc7ac'%20stroke-opacity='.18'%20stroke-width='1.5'%20d='M252-24L84%20486M748-24L916%20486'/%3e%3cpath%20fill='none'%20stroke='%2391c9b3'%20stroke-opacity='.09'%20stroke-width='2'%20d='M291%2063H709L797%20374H203Z'/%3e%3cpath%20fill='%23125c66'%20fill-opacity='.08'%20d='M500%20116L654%20216L500%20329L346%20216Z'/%3e%3c/svg%3e") center / cover no-repeat;pointer-events:none;content:""}.mahjong-table[data-v-e7143a77]:after{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 45%,transparent 40%,#00384022);pointer-events:none;content:""}.table-seat-slot[data-v-e7143a77]{position:absolute;min-width:0;--tile-size: var(--opponent-tile-size);--hand-tile-gap: .5px}.table-seat-slot--north[data-v-e7143a77]{left:19%;width:62%;top:8%;height:16%}.table-seat-slot--south[data-v-e7143a77]{--tile-size: var(--own-tile-size);left:2%;width:96%;top:76%;height:22%}.table-seat-slot--west[data-v-e7143a77]{left:2%;top:26%;width:21%;height:45%}.table-seat-slot--east[data-v-e7143a77]{right:2%;top:26%;width:21%;height:45%}.table-actions-slot[data-v-e7143a77]{position:absolute;right:26%;top:69%;width:48%;height:6%;z-index:3}.central-discards[data-v-e7143a77]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;--tile-size: var(--river-tile-size)}.table-discard-slot[data-v-e7143a77]{position:absolute;min-width:0}.table-discard-slot--north[data-v-e7143a77]{left:27%;width:46%;top:27%;height:8%}.table-discard-slot--south[data-v-e7143a77]{left:27%;width:46%;top:49%;height:13%}.table-discard-slot--west[data-v-e7143a77]{left:24%;width:15%;top:35%;height:14%}.table-discard-slot--east[data-v-e7143a77]{right:24%;width:15%;top:35%;height:14%}.wall-center[data-v-e7143a77]{position:absolute;left:50%;top:41%;transform:translate(-50%,-50%);width:var(--hub-width);height:var(--hub-height)}.wall-hub[data-v-e7143a77]{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:2px solid #c4dfb8;border-radius:50%;background:radial-gradient(ellipse,#123f50 0 49%,transparent 51%),conic-gradient(from 45deg,#357f9a,#1c6579 24%,#9aa66b 25%,#438a82 49%,#b37669 50%,#255b73 74%,#52a191 75%,#357f9a);box-shadow:inset 0 0 0 3px #1b4b60,inset 0 0 0 5px #a2d8c6,0 4px #164c5a,0 7px #8dbcb1,0 10px 12px #00374688;color:#c9f1e3}.hub-label[data-v-e7143a77]{font-size:calc(10px * var(--hub-text-scale, 1));line-height:1;letter-spacing:.1em}.hub-count[data-v-e7143a77]{color:#b9fff0;font-family:var(--ui-mono);font-size:calc(25px * var(--hub-text-scale, 1));font-weight:600;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 8px #55ffe6aa}.hub-direction[data-v-e7143a77]{position:absolute;color:#e1f4d8;font-size:calc(10px * var(--hub-text-scale, 1));line-height:1;text-shadow:0 1px 2px #002c3a}.hub-direction--north[data-v-e7143a77]{top:8%;left:50%;transform:translate(-50%)}.hub-direction--south[data-v-e7143a77]{bottom:7%;left:50%;transform:translate(-50%)}.hub-direction--west[data-v-e7143a77]{left:9%;top:50%;transform:translateY(-50%)}.hub-direction--east[data-v-e7143a77]{right:9%;top:50%;transform:translateY(-50%)}.mahjong-table--landscape[data-v-e7143a77]{--opponent-tile-size: 36px;--river-tile-size: 32px;--side-river-rows: 3;--hub-width: 130px;--hub-height: 93.6px;container-name:landscape-table}.mahjong-table--landscape .table-seat-slot--north[data-v-e7143a77]{left:24%;width:52%;top:2%;height:17%}.mahjong-table--landscape .table-seat-slot--south[data-v-e7143a77]{left:2%;width:82%;top:76%;height:23%}.mahjong-table--landscape .table-seat-slot--west[data-v-e7143a77]{left:3%;width:21%;top:15%;height:64%}.mahjong-table--landscape .table-seat-slot--east[data-v-e7143a77]{right:3%;width:21%;top:15%;height:64%}.mahjong-table--landscape .table-actions-slot[data-v-e7143a77]{right:24%;top:65%;width:22%;height:10%}.mahjong-table--landscape .table-discard-slot--north[data-v-e7143a77]{left:31%;width:38%;top:18%;height:12%}.mahjong-table--landscape .table-discard-slot--south[data-v-e7143a77]{left:23%;width:54%;top:53%;height:13%}.mahjong-table--landscape .table-discard-slot--west[data-v-e7143a77]{left:24%;width:18%;top:30%;height:23%}.mahjong-table--landscape .table-discard-slot--east[data-v-e7143a77]{right:24%;width:18%;top:30%;height:23%}.mahjong-table--landscape .hub-label[data-v-e7143a77]{font-size:7px}.mahjong-table--landscape .hub-count[data-v-e7143a77]{font-size:22px}.mahjong-table--landscape .hub-direction[data-v-e7143a77]{font-size:11px}.mahjong-table[data-training=listening] .table-seat-slot--north[data-v-e7143a77]{--tile-size: var(--listening-tile-size);left:5%;width:90%;top:8%;height:25%}.mahjong-table--landscape[data-training=listening] .table-seat-slot--north[data-v-e7143a77]{left:24%;width:52%;top:2%;height:42%}.mahjong-table[data-training=listening] .table-seat-slot--south[data-v-e7143a77]{left:14%;width:70%;top:70%;height:29%}.mahjong-table--landscape[data-training=listening] .wall-center[data-v-e7143a77]{top:57%}.table-wall-slot[data-v-e7143a77]{position:absolute;left:27%;width:46%;top:62%;height:6%;pointer-events:none}.mahjong-table--landscape .table-wall-slot[data-v-e7143a77]{left:25%;width:28%;top:66%;height:8%}.table-empty[data-v-e7143a77]{position:absolute;top:12%;right:12%;bottom:12%;left:12%;display:grid;place-content:center;justify-items:center;padding:20px;color:#e8edcf;text-align:center}.table-dialog[data-v-204d6ace]{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:20px;overflow-y:auto;border:1px solid var(--ui-gold-line);border-top:3px solid var(--ui-gold);border-radius:16px;background:var(--ui-surface);color:var(--ui-ink);box-shadow:0 20px 70px #0008}.table-dialog[data-v-204d6ace]::backdrop{background:#061b15b3}.table-dialog>header[data-v-204d6ace]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.table-dialog h2[data-v-204d6ace]{margin:0;color:var(--ui-gold-ink);font-size:20px;line-height:1.4}.table-dialog-content[data-v-204d6ace]{display:grid;gap:12px}@media(max-height:400px){.table-dialog[data-v-204d6ace]{padding:12px 16px}.table-dialog>header[data-v-204d6ace]{margin-bottom:8px}}.table-screen[data-v-e4f4a052]{position:relative;width:100%;height:100dvh;min-height:180px;min-width:0;background:var(--felt-bg)}.table-screen-toolbar[data-v-e4f4a052]{position:absolute;z-index:5;left:8px;top:8px;display:flex;align-items:center;gap:4px}.table-screen-quick[data-v-e4f4a052]{position:absolute;z-index:5;right:8px;top:8px;display:flex;align-items:center;gap:4px}.table-mode[data-v-e4f4a052]{color:#e6d8ae;font-size:10px}.table-screen-controls[data-v-e4f4a052]{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:12px}.table-screen-board[data-v-e4f4a052]{width:100%;height:100%;min-width:0;min-height:0}.table-screen-status[data-v-e4f4a052]{position:absolute;z-index:5;right:8px;bottom:10px;width:13%;display:flex;flex-direction:column;align-items:stretch;gap:5px;color:#dae4c9;font-size:10px;line-height:1.3;text-align:center}.table-screen-status[data-v-e4f4a052] button,.table-screen-toolbar[data-v-e4f4a052] button{min-height:28px;padding:4px 7px;font-size:11px;border-radius:5px;background-color:#123e4bd9}.table-screen-status[data-v-e4f4a052] button:focus-visible,.table-screen-toolbar[data-v-e4f4a052] button:focus-visible{outline:2px solid #ffe6a0;outline-offset:2px}.table-training-options[data-v-e4f4a052]{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--ui-line)}.table-training-options [aria-pressed=true][data-v-e4f4a052]{border-color:var(--ui-gold);color:var(--ui-gold-ink)}.fullscreen-help[data-v-e4f4a052]{width:100%;margin-top:12px;color:var(--ui-text);font-size:13px;line-height:1.7}.fullscreen-help p[data-v-e4f4a052]{margin:4px 0}.fullscreen-help small[data-v-e4f4a052]{color:var(--ui-muted)}@media(max-aspect-ratio:1/1){.table-screen-toolbar[data-v-e4f4a052]{top:5px;left:5px}.table-screen-quick[data-v-e4f4a052]{right:5px;top:40px}.table-screen-status[data-v-e4f4a052]{left:8px;right:8px;bottom:4px;width:auto;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;font-size:9px}}.table-actions[data-v-acd5317d]{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;max-width:100%;padding:4px 4px 8px}.table-actions[data-v-acd5317d] button{min-width:48px;min-height:48px;padding:6px 13px;border:1px solid #ffe3a0;border-radius:50px;background:radial-gradient(ellipse at 32% 18%,#fff3b6,#e6b74f 52%,#ac6b26);box-shadow:inset 0 0 0 2px #fff2ae44,inset 0 -3px 4px #8e531e55,0 3px #725229,0 5px 8px #003e4655;color:#583d16;font-family:STKaiti,KaiTi,serif;font-size:26px;font-weight:700;line-height:1.3;text-shadow:0 1px #fff1b9;cursor:pointer;touch-action:manipulation}.table-actions[data-v-acd5317d] button[data-action=win],.table-actions[data-v-acd5317d] button[data-kind=win]{border-color:#ffc7a4;background:radial-gradient(ellipse at 32% 18%,#ffbca1,#da6251 55%,#9e3538);color:#fff2d7;text-shadow:0 2px #883832}.table-actions[data-v-acd5317d] button[data-action=pass],.table-actions[data-v-acd5317d] button[data-kind=pass]{border-color:#9ae6db;background:radial-gradient(ellipse at 32% 18%,#8be1d6,#258d98 55%,#145465);color:#e2fff6;text-shadow:0 2px #175360;box-shadow:inset 0 0 0 2px #b3fff133,0 3px #164b58,0 5px 8px #003e4655}.table-actions[data-v-acd5317d] button:hover:not(:disabled){filter:brightness(1.12)}.table-actions[data-v-acd5317d] button:active:not(:disabled){transform:translateY(2px);filter:brightness(.96)}.table-actions[data-v-acd5317d] button:focus-visible{outline:2px solid #fff3b8;outline-offset:3px}.table-actions[data-v-acd5317d] button:disabled{opacity:.5;cursor:not-allowed}.table-river[data-v-0d616caf]{display:flex;width:100%;min-width:0;flex-wrap:wrap;align-items:flex-start;gap:6px 2px;padding:8px 2px 4px}.table-river--empty[data-v-0d616caf]{padding:0}.table-river--sideways[data-v-0d616caf]{width:max-content;display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--side-river-rows, 4),max-content)}.discard-record[data-v-0d616caf]{position:relative;display:inline-flex;flex:none}.is-claimed .river-tile[data-v-0d616caf]{opacity:.45;box-shadow:0 2px #618168}.claimed-marker[data-v-0d616caf]{position:absolute;z-index:2;top:-2px;right:-2px;display:grid;width:clamp(6px,calc(var(--tile-size) * .28),11px);height:clamp(6px,calc(var(--tile-size) * .28),11px);place-items:center;border-radius:3px;background:#bbccab;color:#285039;font-size:clamp(5px,calc(var(--tile-size) * .2),8px);line-height:1}.no-discards[data-v-0d616caf]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.latest-discard-arrow[data-v-0d616caf]{position:absolute;z-index:3;top:-8px;left:50%;transform:translate(-50%);color:#ffd362;font-size:9px;line-height:1;text-shadow:0 1px 2px #593608;animation:discard-arrow-0d616caf .8s ease-in-out infinite alternate}.discard-record[data-latest][data-v-0d616caf]{border-radius:3px;outline:2px solid #f4cd65}.discard-record[data-latest] .river-tile[data-v-0d616caf]{animation:tile-arrive-0d616caf .22s ease-out}@keyframes tile-arrive-0d616caf{0%{transform:translateY(-10px) scale(1.08);opacity:.3}to{transform:translateY(0) scale(1);opacity:1}}@keyframes discard-arrow-0d616caf{to{transform:translate(-50%,-3px)}}@media(prefers-reduced-motion:reduce){.latest-discard-arrow[data-v-0d616caf],.discard-record[data-latest] .river-tile[data-v-0d616caf]{animation:none}}.fm-river[data-v-b34e5b70]{display:flex;width:100%;min-width:0;align-items:center;gap:4px}.fm-river-heading[data-v-b34e5b70]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.fm-river-heading b[data-v-b34e5b70]{margin-left:3px;font-weight:400;color:#edf0d8}.fm-river-scroll[data-v-b34e5b70]{justify-content:center;flex:1}.fm-river[data-v-b34e5b70]:has(.table-river--empty){flex-direction:row;justify-content:center}.fm-river:has(.table-river--empty) .fm-river-scroll[data-v-b34e5b70]{width:auto;flex:none}.fm-ledger[data-v-6384989d]{min-width:0}.fm-ledger-empty[data-v-6384989d],.fm-ledger-note[data-v-6384989d]{margin:0;color:var(--ui-muted);font-size:12px;line-height:1.8}.fm-ledger-list[data-v-6384989d]{max-height:360px;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0 4px;border-radius:4px;list-style:none;scrollbar-width:thin;scrollbar-color:var(--ui-line-strong) transparent}.fm-ledger-entry[data-v-6384989d]{display:grid;grid-template-columns:minmax(70px,.75fr) minmax(0,2fr) minmax(36px,auto);align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--ui-line)}.fm-ledger-entry[data-v-6384989d]:last-child{border-bottom:0}.fm-ledger-route[data-v-6384989d]{display:grid;gap:6px;min-width:0}.fm-ledger-route>small[data-v-6384989d]{color:var(--ui-muted);font-size:11px}.fm-ledger-route>span[data-v-6384989d]{display:flex;flex-wrap:wrap;gap:6px;font-size:13px}.fm-ledger-route i[data-v-6384989d]{color:#9caa94;font-style:normal}.fm-ledger-reason[data-v-6384989d]{min-width:0;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.fm-ledger-reason p[data-v-6384989d]{margin:0}.fm-ledger-reason>small[data-v-6384989d]{display:inline-block;margin:4px 8px 0 0;color:var(--ui-muted);font-size:11px}.fm-ledger-amount[data-v-6384989d]{min-width:0;color:var(--ui-green-strong);font-size:18px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.fm-ledger-amount small[data-v-6384989d]{margin-left:3px;color:var(--ui-muted);font-size:11px;font-weight:400}.fm-ledger-note[data-v-6384989d]{margin-top:8px;font-size:10px}@media(max-width:420px){.fm-ledger-entry[data-v-6384989d]{grid-template-columns:minmax(60px,.8fr) minmax(0,1.8fr) minmax(32px,auto);gap:8px}}.fm-settlement[data-v-f5949dc2]{min-width:0;padding:24px;border:1px solid var(--ui-gold-line);border-radius:var(--ui-radius-lg);background:linear-gradient(180deg,#33260d,var(--ui-surface) 120px);box-shadow:inset 0 4px var(--ui-gold),var(--ui-shadow)}.fm-settlement--archived[data-v-f5949dc2]{margin-top:12px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.fm-settlement-heading[data-v-f5949dc2]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.fm-result-kicker[data-v-f5949dc2]{color:var(--ui-gold);font-size:12px;font-weight:600;letter-spacing:.12em}.fm-settlement-heading h2[data-v-f5949dc2]{margin:4px 0 0;font-size:22px;font-weight:700}.fm-result-reason[data-v-f5949dc2]{padding:4px 12px;border:1px solid var(--ui-gold-line);border-radius:999px;background:var(--ui-gold-soft);color:var(--ui-gold-ink);font-size:12px}.fm-final-result[data-v-f5949dc2]{margin-top:16px;padding:16px;border:1px solid var(--ui-gold-line);border-radius:var(--ui-radius);background:var(--ui-gold-soft)}.fm-final-result p[data-v-f5949dc2]{margin:0;color:var(--ui-gold-ink);font-size:13px;line-height:1.7}.fm-winners[data-v-f5949dc2]{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;padding:0;list-style:none}.fm-winners li[data-v-f5949dc2]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border:1px solid #675938;border-radius:6px;background:#312b0c;font-size:14px}.fm-winners li>b[data-v-f5949dc2]{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#6a5a2f;color:#e7ddc2;font-size:12px}.fm-winners strong[data-v-f5949dc2]{font-weight:600;font-variant-numeric:tabular-nums}.fm-winners small[data-v-f5949dc2]{margin-left:3px;font-size:10px;font-weight:400}.fm-standings[data-v-f5949dc2]{width:100%;margin-top:16px;table-layout:fixed;border-collapse:collapse;font-size:13px}.fm-standings caption[data-v-f5949dc2]{padding:0 0 8px;color:var(--ui-muted);text-align:left;font-size:12px}.fm-standings th[data-v-f5949dc2],.fm-standings td[data-v-f5949dc2]{padding:12px 8px;border-bottom:1px solid var(--ui-line);text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.fm-standings thead th[data-v-f5949dc2]{background:var(--ui-surface-muted);color:var(--ui-muted);font-size:12px;font-weight:600}.fm-standings th[data-v-f5949dc2]:first-child{width:30%;text-align:left}.fm-standings tbody th[data-v-f5949dc2]{font-weight:500}.fm-standings tbody th b[data-v-f5949dc2]{margin-right:8px;color:#b3cfad}.fm-standings tbody th span[data-v-f5949dc2]{font-size:12px}.fm-standing-status[data-v-f5949dc2]{color:#adbba3;font-size:11px}.fm-standing-status--won[data-v-f5949dc2]{color:#b0dfc1;font-weight:650}.fm-standings td>small[data-v-f5949dc2]{display:block;margin-top:3px;color:#a2ae98;font-size:10px}.fm-score-negative[data-v-f5949dc2]{color:#d79a86}.fm-score-positive[data-v-f5949dc2]{color:#a7debc}.fm-next-dealer[data-v-f5949dc2]{display:grid;gap:4px;margin:16px 0 0;color:#abb8a1;font-size:12px;line-height:1.7}.fm-next-dealer strong[data-v-f5949dc2]{color:#b9d6bb;font-weight:600}.fm-settlement-actions[data-v-f5949dc2]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.fm-settlement-actions p[data-v-f5949dc2]{flex:1 1 230px;margin:0;color:var(--ui-muted);font-size:13px;line-height:1.7}@media(max-width:520px){.fm-settlement[data-v-f5949dc2]{padding:16px 12px}.fm-settlement--archived[data-v-f5949dc2]{padding:0}.fm-settlement-heading h2[data-v-f5949dc2]{font-size:19px}.fm-standings th[data-v-f5949dc2],.fm-standings td[data-v-f5949dc2]{padding:10px 5px}.fm-standings tbody th span[data-v-f5949dc2]{display:block;margin-top:4px;font-size:10px}.fm-settlement-actions>button[data-v-f5949dc2]{width:100%}.fm-final-result[data-v-f5949dc2]{padding:12px}}.fm-rules-content[data-v-3f205674]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:4px 20px 20px}.fm-rules-content>section[data-v-3f205674]{min-width:0;padding:16px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface-muted)}.fm-rules h3[data-v-3f205674]{margin:0 0 8px;color:var(--ui-green-strong);font-size:14px;font-weight:700}.fm-rules p[data-v-3f205674]{margin:8px 0 0;color:var(--ui-text);font-size:13px;line-height:1.85;overflow-wrap:anywhere}.fm-rules strong[data-v-3f205674]{color:var(--ui-gold-ink);font-weight:700}.fm-rules .fm-score-formula[data-v-3f205674]{padding:8px 12px;border:1px solid var(--ui-gold-line);border-radius:var(--ui-radius-sm);background:var(--ui-gold-soft);color:var(--ui-gold-ink);font-family:var(--ui-mono)}@media(max-width:640px){.fm-rules-content[data-v-3f205674]{grid-template-columns:minmax(0,1fr);gap:12px;padding-right:16px;padding-left:16px}}.fm-confirm[data-v-c61f4302]{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:28px;overflow-y:auto;border:1px solid var(--ui-line);border-top:4px solid var(--ui-danger);border-radius:var(--ui-radius-lg);background:var(--ui-surface);color:var(--ui-ink);box-shadow:0 24px 70px #08271e40}.fm-confirm[open][data-v-c61f4302]{animation:fm-dialog-in-c61f4302 .22s cubic-bezier(.2,.8,.3,1.1)}.fm-confirm[data-v-c61f4302]::backdrop{background:#0b211bc4;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.fm-confirm-kicker[data-v-c61f4302]{color:var(--ui-danger);font-size:12px;font-weight:600;letter-spacing:.12em}.fm-confirm h2[data-v-c61f4302]{margin:8px 0 12px;font-size:21px;font-weight:700;line-height:1.4}.fm-confirm p[data-v-c61f4302]{margin:0;color:var(--ui-muted);font-size:14px;line-height:1.85;overflow-wrap:anywhere}.fm-confirm-actions[data-v-c61f4302]{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:24px}.fm-confirm-actions>button[data-v-c61f4302]{flex:1 1 150px}.fm-confirm .fm-confirm-blocked[data-v-c61f4302]{margin-top:12px;color:var(--ui-danger)}@keyframes fm-dialog-in-c61f4302{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.fm-confirm[open][data-v-c61f4302]{animation:none}}.pr-review[data-v-81928ffe]{min-width:0;padding:24px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow)}.pr-verdict[data-v-81928ffe]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 16px}.pr-verdict>div[data-v-81928ffe]{flex:1 1 280px;min-width:0}.pr-verdict h2[data-v-81928ffe]{margin:0;color:var(--ui-ink);font-size:17px;font-weight:700;line-height:1.7;overflow-wrap:anywhere}.pr-grade[data-v-81928ffe]{flex:none;padding:6px 14px;border-radius:20px;font-size:14px;font-weight:650}.pr-grade--best[data-v-81928ffe]{background:var(--ui-green);color:var(--ui-on-accent)}.pr-grade--equivalent[data-v-81928ffe]{background:#314029;color:#b9dcbd}.pr-grade--minor[data-v-81928ffe]{background:#4d3f1e;color:#ead2a3}.pr-grade--mistake[data-v-81928ffe]{background:#4b2d21;color:#e3a595}.pr-verdict .pr-uncertain[data-v-81928ffe]{margin:4px 0 0;color:#cbb696;font-size:13px;line-height:1.8}.pr-why[data-v-81928ffe]{margin-top:16px;padding:14px 16px;border-radius:8px;background:#252d1d;color:#bbd4b8;font-size:13px;line-height:1.9;overflow-wrap:anywhere}.pr-why h3[data-v-81928ffe]{margin:0 0 4px;color:var(--ui-ink);font-size:14px;font-weight:700}.pr-cause[data-v-81928ffe]{margin:0;font-weight:600}.pr-lines[data-v-81928ffe]{margin:6px 0 0;padding-left:20px}.pr-lines--tradeoff[data-v-81928ffe]{color:#ead2a3}.pr-table-wrap[data-v-81928ffe]{max-width:100%;margin-top:16px;overflow-x:auto;scrollbar-width:thin}.pr-table[data-v-81928ffe]{width:100%;min-width:640px;border-collapse:collapse;color:#c2d4bf;font-size:12px;font-variant-numeric:tabular-nums}.pr-table--compare[data-v-81928ffe]{min-width:420px;font-size:13px}.pr-table th[data-v-81928ffe],.pr-table td[data-v-81928ffe]{padding:8px 10px;border-bottom:1px solid #32392b;text-align:left;white-space:nowrap}.pr-table thead th[data-v-81928ffe]{background:var(--ui-surface-muted);color:var(--ui-muted);font-size:12px;font-weight:600}.pr-table tbody th[data-v-81928ffe]{font-weight:500}.pr-row--best[data-v-81928ffe]{background:#27311e}.pr-row--chosen th[data-v-81928ffe]{color:#e9c598}.pr-choice[data-v-81928ffe]{display:inline-flex;align-items:center;gap:8px}.pr-choice em[data-v-81928ffe]{padding:1px 6px;border-radius:4px;background:#4d3f1e;color:#ead2a3;font-size:10px;font-style:normal}.pr-choice-tile[data-v-81928ffe]{flex:none}.pr-all[data-v-81928ffe]{margin-top:14px}.pr-all summary[data-v-81928ffe]{cursor:pointer;color:var(--ui-muted);font-size:13px}.pr-note[data-v-81928ffe]{margin:12px 0 0;color:var(--ui-muted);font-size:12px;line-height:1.85}@media(max-width:680px){.pr-review[data-v-81928ffe]{padding:16px 12px}}.mr-review[data-v-b4f9cbb5]{display:grid;gap:14px}.mr-head[data-v-b4f9cbb5]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px}.mr-head>div[data-v-b4f9cbb5]{min-width:0;flex:1 1 320px}.mr-steps[data-v-b4f9cbb5]{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.mr-step[data-v-b4f9cbb5]{display:inline-flex;max-width:220px;align-items:center;gap:6px;min-height:34px;padding:4px 10px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-paper);color:var(--ui-muted);font-size:12px;cursor:pointer}.mr-step b[data-v-b4f9cbb5]{color:var(--ui-ink);font-variant-numeric:tabular-nums}.mr-step span[data-v-b4f9cbb5]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mr-step em[data-v-b4f9cbb5]{flex:none;padding:0 6px;border-radius:4px;font-style:normal;font-weight:700}.mr-step[data-grade=best] em[data-v-b4f9cbb5]{background:var(--ui-green);color:var(--ui-on-accent)}.mr-step[data-grade=equivalent] em[data-v-b4f9cbb5]{background:#314029;color:#b9dcbd}.mr-step[data-grade=minor] em[data-v-b4f9cbb5]{background:#4d3f1e;color:#ead2a3}.mr-step[data-grade=mistake] em[data-v-b4f9cbb5]{background:#4b2d21;color:#e3a595}.mr-step[data-grade=error] em[data-v-b4f9cbb5]{color:#e3a595}.mr-step[aria-pressed=true][data-v-b4f9cbb5]{border-color:#d9cc92;background:var(--ui-surface);color:var(--ui-ink)}.mr-step[data-v-b4f9cbb5]:focus-visible{outline:3px solid #f1d999;outline-offset:2px}.mr-detail[data-v-b4f9cbb5]{display:grid;min-width:0;gap:12px}.mr-detail-bar[data-v-b4f9cbb5]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.mr-detail-bar strong[data-v-b4f9cbb5]{min-width:0;color:var(--ui-ink);font-size:14px;overflow-wrap:anywhere}.mr-detail-actions[data-v-b4f9cbb5],.mr-refine[data-v-b4f9cbb5]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mr-detail .ui-chip[data-v-b4f9cbb5]{justify-self:start}.dual-archive[data-v-a87436f4]{display:grid;gap:12px;min-width:0}.dual-archive header[data-v-a87436f4],.dual-tools[data-v-a87436f4]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.dual-archive h3[data-v-a87436f4],.dual-archive p[data-v-a87436f4]{margin:0}.dual-summary[data-v-a87436f4]{display:grid;gap:5px;padding:12px;background:var(--ui-green-soft);border-radius:8px}.dual-summary small[data-v-a87436f4],.dual-id[data-v-a87436f4]{color:var(--ui-muted)}.dual-rounds[data-v-a87436f4]{display:grid;gap:8px;margin:0;padding:0;list-style:none}.dual-rounds li[data-v-a87436f4]{border:1px solid var(--ui-line);border-radius:8px;padding:10px}.dual-rounds summary[data-v-a87436f4]{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;cursor:pointer}.dual-rounds summary small[data-v-a87436f4]{margin-left:auto}.dual-rounds details[open][data-v-a87436f4]{display:grid;gap:10px}.dual-id[data-v-a87436f4]{overflow-wrap:anywhere;font-size:11px}.dual-archive table[data-v-a87436f4]{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.dual-archive th[data-v-a87436f4],.dual-archive td[data-v-a87436f4]{text-align:center;padding:6px 2px;border-bottom:1px solid var(--ui-line);overflow-wrap:anywhere}.dual-archive caption[data-v-a87436f4]{text-align:left;margin-bottom:6px}.dual-error[data-v-a87436f4]{color:#f4a79c;overflow-wrap:anywhere}@media(max-width:400px){.dual-archive[data-v-a87436f4]{padding:10px}.dual-tools .ui-button[data-v-a87436f4]{padding:8px;font-size:12px}}.fm-win-preview[data-v-3ac6b8d2]{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px 16px;border:1px solid var(--ui-gold-line);border-radius:var(--ui-radius);background:linear-gradient(180deg,#3e3416,var(--ui-gold-soft));color:var(--ui-gold-ink);font-size:13px;line-height:1.7}.fm-win-preview strong[data-v-3ac6b8d2]{color:#f3dfbb;font-size:17px}.fm-win-preview small[data-v-3ac6b8d2]{flex-basis:100%;font-size:12px}.fm-pass-warning[data-v-3ac6b8d2],.fm-ui-notice[data-v-3ac6b8d2]{margin:0;color:var(--ui-gold-ink);font-size:12px;line-height:1.7}.fm-record-note[data-v-3ac6b8d2]{margin-bottom:8px;font-size:12px}.fm-archive-ledger-heading[data-v-3ac6b8d2]{margin:20px 0 8px;font-size:14px;font-weight:700}.fm-welcome h1[data-v-3ac6b8d2]{color:#ead8a4;font-size:clamp(20px,3vw,36px);font-family:STKaiti,KaiTi,serif;font-weight:500}.fm-welcome>span[data-v-3ac6b8d2],.fm-welcome p[data-v-3ac6b8d2]{color:#b8ceac;font-size:12px;letter-spacing:.12em}.ui-setup-form[data-v-3ac6b8d2]{width:min(390px,100%);padding:20px;text-align:left}.ui-setup-form h2[data-v-3ac6b8d2]{margin:0 0 8px}@media(max-height:600px){.ui-setup-form[data-v-3ac6b8d2]{padding:12px 16px}.ui-setup-form .ui-note[data-v-3ac6b8d2],.ui-setup-form .ui-kicker[data-v-3ac6b8d2]{display:none}.ui-setup-form h2[data-v-3ac6b8d2]{font-size:18px}.ui-setup-form .ui-presets[data-v-3ac6b8d2]{margin:6px 0}.ui-setup-form .ui-presets button[data-v-3ac6b8d2]{min-height:48px;padding:4px 12px}.ui-setup-form .ui-field-help[data-v-3ac6b8d2]{margin:4px 0;font-size:11px}}.pd-panel[data-v-1892e29d]{display:grid;min-width:0;gap:14px;padding:24px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow)}.pd-panel header h2[data-v-1892e29d]{margin:0;color:var(--ui-ink);font-size:17px;font-weight:700}.pd-panel header p[data-v-1892e29d]{margin:4px 0 0;color:var(--ui-muted);font-size:13px;line-height:1.8}.pd-facts[data-v-1892e29d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.pd-facts dl[data-v-1892e29d]{margin:0;padding:12px 14px;border-radius:8px;background:var(--ui-surface-muted);font-size:13px;line-height:1.8;overflow-wrap:anywhere}.pd-facts dt[data-v-1892e29d]{color:var(--ui-ink);font-weight:700}.pd-facts dd[data-v-1892e29d]{margin:0;color:var(--ui-text)}.pd-facts dd span[data-v-1892e29d]{display:inline-block;min-width:48px;color:var(--ui-muted)}.pd-form[data-v-1892e29d]{display:grid;gap:10px}.pd-form fieldset[data-v-1892e29d]{display:grid;min-width:0;gap:10px;margin:0;padding:0;border:0}.pd-form legend[data-v-1892e29d]{margin-bottom:8px;color:var(--ui-ink);font-size:13px;font-weight:600}.pd-form>.ui-button[data-v-1892e29d]{justify-self:start}.pd-reasons[data-v-1892e29d]{display:flex;flex-wrap:wrap;gap:8px}.pd-reason[data-v-1892e29d]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--ui-line);border-radius:999px;background:var(--ui-surface-muted);color:var(--ui-text);font-size:13px;cursor:pointer}.pd-reason input[data-v-1892e29d]{margin:0;accent-color:var(--ui-green)}.pd-reason--selected[data-v-1892e29d]{border-color:var(--ui-green-line);background:var(--ui-green-soft);color:var(--ui-green-strong)}.pd-comment[data-v-1892e29d]{width:100%;min-height:76px;resize:vertical;font:inherit;line-height:1.7}.pd-result[data-v-1892e29d]{padding:14px 16px;border-radius:8px;background:#f6f0e1;color:#5c4a22;font-size:13px;line-height:1.9;overflow-wrap:anywhere}.pd-result[data-tone=tie][data-v-1892e29d]{background:#f1f6ec;color:#3e5f39}.pd-result h3[data-v-1892e29d]{margin:0;color:var(--ui-ink);font-size:15px;font-weight:700}.pd-result p[data-v-1892e29d]{margin:2px 0 0}.pd-result ul[data-v-1892e29d]{margin:6px 0 0;padding-left:20px}.pd-result li[data-status=holds][data-v-1892e29d]{color:#2f5d34}.pd-result li[data-status=fails][data-v-1892e29d]{color:#8d3a25}.pd-result li[data-status=unverifiable][data-v-1892e29d],.pd-quote[data-v-1892e29d]{color:var(--ui-muted)}.pd-footer[data-v-1892e29d]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:var(--ui-muted);font-size:13px}.pd-footer small[data-v-1892e29d]{flex:1 1 100%;color:var(--ui-faint);font-size:12px;line-height:1.7}.pd-notice[data-v-1892e29d]{margin:0;color:var(--ui-green);font-size:13px}@media(max-width:680px){.pd-panel[data-v-1892e29d]{padding:16px 12px}.pd-form>.ui-button[data-v-1892e29d]{justify-self:stretch}}.pt-empty[data-v-f0c2af65]{margin:0;font-size:15px}.table-seat[data-v-8c2063a7]{position:relative;width:100%;height:100%}.seat-badge[data-v-8c2063a7]{position:absolute;left:0;top:25%;width:88px;flex-wrap:wrap;gap:3px;padding:4px;cursor:pointer}.seat-badge[data-v-8c2063a7]:disabled{opacity:1;cursor:default}.seat-badge[data-v-8c2063a7]:focus-visible{outline:2px solid #f4d28b;outline-offset:3px}.seat-badge[data-v-8c2063a7]:hover:not(:disabled){border-color:#dfbd72}.seat-badge strong[data-v-8c2063a7]{font-size:11px}.seat-badge small[data-v-8c2063a7]{width:100%;color:#c7d9c8;font-size:9px;line-height:1.3;text-align:center}.seat-dealer[data-v-8c2063a7]{color:#efcf81;font-size:9px}.seat-rack[data-v-8c2063a7]{position:absolute;top:0;right:0;bottom:0;left:0}.seat-rack-content[data-v-8c2063a7]{display:flex;align-items:end;justify-content:flex-start;gap:10px}.table-seat--south .seat-rack[data-v-8c2063a7]{left:15%}.table-seat--south .seat-badge[data-v-8c2063a7]{top:auto;bottom:10%}.table-seat--north .seat-badge[data-v-8c2063a7]{left:auto;right:24px;top:5%}.table-seat--north .seat-rack[data-v-8c2063a7]{right:122px}.rack-hand[data-v-8c2063a7],.rack-melds[data-v-8c2063a7],.meld-tiles[data-v-8c2063a7]{display:flex;flex:none;align-items:center;justify-content:center;gap:3px}.rack-hand[data-v-8c2063a7]{padding:8px 6px 10px}.table-seat--south .rack-hand[data-v-8c2063a7],.table-seat--north .rack-hand[data-v-8c2063a7]{--tile-side-width: var(--hand-tile-gap, .5px);gap:var(--hand-tile-gap, .5px)}.rack-melds[data-v-8c2063a7]{--tile-size: var(--opponent-tile-size);order:-1;gap:6px}.rack-meld[data-v-8c2063a7]{display:flex;flex:none;flex-direction:column;align-items:center;gap:4px}.rack-meld>small[data-v-8c2063a7],.win-source[data-v-8c2063a7],.retired-count[data-v-8c2063a7]{color:#cfddc6;font-size:8px;line-height:1.3}.hand-record[data-v-8c2063a7],.winning-record[data-v-8c2063a7]{position:relative;display:inline-flex;flex:none}.win-marker[data-v-8c2063a7],.drawn-marker[data-v-8c2063a7]{top:-4px;right:-4px}.winning-record[data-v-8c2063a7],.is-drawn[data-v-8c2063a7]{border-radius:4px;outline:2px solid #dfbd73}.is-drawn[data-v-8c2063a7]{margin-left:calc(var(--tile-size) * .25)}.rack-win[data-v-8c2063a7]{display:flex;flex:none;align-items:center;gap:4px}.table-seat--west[data-v-8c2063a7],.table-seat--east[data-v-8c2063a7]{--tile-size: var(--side-tile-size)}.table-seat--west .seat-rack[data-v-8c2063a7]{left:45%;width:55%}.table-seat--east .seat-rack[data-v-8c2063a7]{left:0;width:55%}.table-seat--east .seat-badge[data-v-8c2063a7]{left:auto;right:0}.table-seat--west .seat-badge[data-v-8c2063a7],.table-seat--east .seat-badge[data-v-8c2063a7]{top:32%;width:82px}.table-seat--west .rack-hand[data-v-8c2063a7],.table-seat--east .rack-hand[data-v-8c2063a7],.table-seat--west .rack-melds[data-v-8c2063a7],.table-seat--east .rack-melds[data-v-8c2063a7],.table-seat--west .meld-tiles[data-v-8c2063a7],.table-seat--east .meld-tiles[data-v-8c2063a7]{flex-direction:column;gap:5px}.table-seat--west .meld-tiles[data-v-8c2063a7],.table-seat--east .meld-tiles[data-v-8c2063a7]{gap:7px}.table-seat--west .rack-hand[data-v-8c2063a7]:has(.mahjong-tile--back),.table-seat--east .rack-hand[data-v-8c2063a7]:has(.mahjong-tile--back){--tile-size: var(--side-back-tile-size);gap:0;padding:3px 2px}.table-seat--east[data-v-8c2063a7]{--tile-back-mirror: -1}.table-seat--west .rack-melds[data-v-8c2063a7],.table-seat--east .rack-melds[data-v-8c2063a7]{--tile-size: var(--side-tile-size)}.table-seat--west .seat-rack-content[data-v-8c2063a7],.table-seat--east .seat-rack-content[data-v-8c2063a7]{align-items:center;gap:5px}@container landscape-table (min-width: 0px){.table-seat--north .seat-rack[data-v-8c2063a7]{transform:perspective(500px) rotateX(-12deg)}}@container (max-width: 500px){.seat-badge[data-v-8c2063a7]{width:78px;transform:scale(.65);transform-origin:top left}.table-seat--north .seat-badge[data-v-8c2063a7]{right:0;top:-36px;transform-origin:top right}.table-seat--north .seat-rack[data-v-8c2063a7]{right:0}.table-seat--south .seat-badge[data-v-8c2063a7]{top:-20px;bottom:auto}.table-seat--south .seat-rack[data-v-8c2063a7]{left:0;top:35%}.table-seat--west .seat-badge[data-v-8c2063a7],.table-seat--east .seat-badge[data-v-8c2063a7]{top:-25px;width:76px}.table-seat--west .seat-rack[data-v-8c2063a7]{left:18%;width:78%;top:40px}.table-seat--east .seat-rack[data-v-8c2063a7]{left:0;width:78%;top:40px}.table-seat--east .seat-badge[data-v-8c2063a7]{transform-origin:top right}}.discard-strip[data-v-5b3a0fe1]{display:flex;width:100%;min-width:0;min-height:0;flex-direction:row;align-items:center;gap:4px}.discards-label[data-v-5b3a0fe1]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.discards-label b[data-v-5b3a0fe1]{margin-left:3px;font-weight:400;color:#edf0d8}.discard-grid[data-v-5b3a0fe1]{flex:1;justify-content:center}.table-discard-slot--west{justify-content:flex-end}.table-discard-slot--east{justify-content:flex-start}.discard-strip[data-v-5b3a0fe1]:has(.table-river--empty){flex-direction:row;justify-content:center}.discard-strip:has(.table-river--empty) .discard-grid[data-v-5b3a0fe1]{width:auto;flex:none}.new-round-icon[data-v-f9bf90a5]{width:16px;height:16px}.generation-line[data-v-f9bf90a5]{display:flex;align-items:center;gap:10px}.generation-line small[data-v-f9bf90a5]{display:block}.loading-spinner[data-v-f9bf90a5]{width:15px;height:15px;flex:none;border:2px solid #53604b;border-top-color:var(--ui-green);border-radius:50%;animation:spin-f9bf90a5 .8s linear infinite}@keyframes spin-f9bf90a5{to{transform:rotate(360deg)}}.hint-toolbar[data-v-f9bf90a5]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.hint-toggle[data-v-f9bf90a5]{display:inline-flex;min-height:38px;flex:none;align-items:center;gap:10px;padding:6px 14px 6px 8px;border:1px solid var(--ui-line-strong);border-radius:999px;background:var(--ui-surface);color:var(--ui-text);font-size:13px;font-weight:600;cursor:pointer}.hint-toggle small[data-v-f9bf90a5]{color:var(--ui-faint);font-size:12px;font-weight:400}.hint-toggle[data-v-f9bf90a5]:disabled{opacity:.5;cursor:not-allowed}.hint-toggle-track[data-v-f9bf90a5]{display:flex;width:32px;height:18px;padding:2px;border-radius:12px;background:#535749;transition:background-color .16s ease-out}.hint-toggle-track i[data-v-f9bf90a5]{width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .16s ease-out}.hint-toggle[aria-checked=true][data-v-f9bf90a5]{border-color:var(--ui-green-line);background:var(--ui-green-soft);color:var(--ui-green-strong)}.hint-toggle[aria-checked=true] .hint-toggle-track[data-v-f9bf90a5]{background:var(--ui-green)}.hint-toggle[aria-checked=true] .hint-toggle-track i[data-v-f9bf90a5]{transform:translate(14px)}.hint-status[data-v-f9bf90a5]{flex:1 1 220px;margin:0;color:var(--ui-muted);font-size:12px;line-height:1.7}.hint-status.is-error[data-v-f9bf90a5]{color:var(--ui-danger)}.empty-tiles[data-v-f9bf90a5]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.home-empty-title[data-v-f9bf90a5]{margin:10px 0;font-size:20px;font-weight:600}.home-empty-hint[data-v-f9bf90a5]{margin:0;color:#c0d5bb;font-size:13px;line-height:1.8}.guess-panel-heading[data-v-f9bf90a5]{display:flex;align-items:center;justify-content:space-between;gap:10px}.guess-panel-heading>div[data-v-f9bf90a5]{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.guess-progress[data-v-f9bf90a5]{color:var(--ui-muted);font-size:13px}.target-picker[data-v-f9bf90a5]{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}.target-picker>button[data-v-f9bf90a5]{display:flex;min-height:40px;align-items:center;gap:8px;padding:4px 14px 4px 5px;border:1px solid var(--ui-line);border-radius:999px;background:var(--ui-surface-muted);color:var(--ui-muted);cursor:pointer}.target-picker>button[data-v-f9bf90a5]:hover:not(:disabled){border-color:var(--ui-green-line)}.target-picker>button.selected[data-v-f9bf90a5]{border-color:var(--ui-green);background:var(--ui-green-soft);color:var(--ui-green-strong);box-shadow:inset 0 0 0 1px var(--ui-green)}.target-picker>button[data-v-f9bf90a5]:disabled{opacity:.5;cursor:not-allowed}.target-letter[data-v-f9bf90a5]{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#3a372b;font-size:12px;font-weight:700}.selected .target-letter[data-v-f9bf90a5]{background:var(--ui-green);color:var(--ui-on-accent)}.target-picker strong[data-v-f9bf90a5]{font-size:13px;font-weight:600}.target-picker small[data-v-f9bf90a5]{color:var(--ui-faint);font-size:12px}.target-saved[data-v-f9bf90a5]{color:var(--ui-green);font-size:12px;font-weight:700}.guess-editor[data-v-f9bf90a5]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px}.guess-draft[data-v-f9bf90a5],.tile-picker[data-v-f9bf90a5]{min-width:0}.draft-heading[data-v-f9bf90a5]{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;color:var(--ui-muted);font-size:13px}.draft-heading b[data-v-f9bf90a5]{color:var(--ui-ink)}.draft-heading em[data-v-f9bf90a5]{margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--ui-gold-soft);color:var(--ui-gold-ink);font-size:12px;font-style:normal}.draft-heading>strong[data-v-f9bf90a5]{color:var(--ui-green);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.draft-heading>strong small[data-v-f9bf90a5]{color:var(--ui-faint);font-size:13px;font-weight:400}.guess-slots[data-v-f9bf90a5]{display:grid;min-height:84px;grid-template-columns:repeat(auto-fill,var(--tile-size));align-content:center;align-items:center;gap:8px 4px;padding:12px 12px 16px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface-muted)}.guess-slots.is-complete[data-v-f9bf90a5]{border-color:var(--ui-green);background:var(--ui-green-soft)}.guess-slots.is-invalid[data-v-f9bf90a5]{border-color:var(--ui-danger-line);background:var(--ui-danger-soft)}.empty-guess-slot[data-v-f9bf90a5]{display:grid;width:var(--tile-size);height:calc(var(--tile-size) * 4 / 3);place-items:center;border:1px dashed var(--ui-line-strong);border-radius:3px;color:var(--ui-faint);font-size:11px}.guess-tile-button[data-v-f9bf90a5]{position:relative;display:flex;padding:0;border:0;border-radius:4px;background:none;cursor:pointer}.guess-tile-button[data-v-f9bf90a5]:disabled{opacity:.45;cursor:not-allowed}.remove-mark[data-v-f9bf90a5]{position:absolute;top:-5px;right:-4px;display:grid;width:14px;height:14px;place-items:center;border-radius:50%;background:var(--ui-danger);color:var(--ui-on-accent);font-size:10px;line-height:1}.draft-hint[data-v-f9bf90a5],.picker-hint[data-v-f9bf90a5]{margin:10px 0 0;color:var(--ui-muted);font-size:12px;line-height:1.7}.guess-actions[data-v-f9bf90a5]{display:flex;gap:10px;margin-top:16px}.save-guess-button[data-v-f9bf90a5]{flex:1}.guess-notice[data-v-f9bf90a5]{min-height:20px;margin:10px 0 0;color:var(--ui-green);font-size:12px;line-height:1.7}.guess-notice.is-error[data-v-f9bf90a5]{color:var(--ui-danger)}.tile-picker[data-v-f9bf90a5]{padding-top:4px}.suit-picker[data-v-f9bf90a5]{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:16px}.suit-label[data-v-f9bf90a5]{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--ui-green-soft);color:var(--ui-green);font-size:12px;font-weight:700}.suit-tiles[data-v-f9bf90a5]{display:grid;grid-template-columns:repeat(auto-fill,var(--tile-size));gap:10px 6px;padding-bottom:5px}.tile-choice[data-v-f9bf90a5]{position:relative;display:flex;width:100%;padding:0;border:0;border-radius:4px;background:none;cursor:pointer;transition:transform .12s}.tile-choice[data-v-f9bf90a5]:disabled{opacity:.28;cursor:not-allowed}.tile-choice[data-v-f9bf90a5]:hover:not(:disabled){transform:translateY(-3px)}.copy-count[data-v-f9bf90a5]{position:absolute;z-index:1;right:-4px;bottom:-5px;display:grid;width:15px;height:15px;place-items:center;border:1px solid var(--ui-surface);border-radius:50%;background:var(--ui-green);color:var(--ui-on-accent);font-size:9px;font-weight:700;line-height:1}.picker-hint[data-v-f9bf90a5]{margin-left:30px}.training-copy[data-v-f9bf90a5]{display:grid;gap:6px;margin-bottom:12px}.training-copy p[data-v-f9bf90a5]{margin:0;color:var(--ui-muted);font-size:13px;line-height:1.8}@media(max-width:720px){.guess-editor[data-v-f9bf90a5]{grid-template-columns:minmax(0,1fr);gap:20px}.guess-draft[data-v-f9bf90a5]{display:grid;grid-row:2;grid-template-columns:minmax(0,1fr)}.guess-actions[data-v-f9bf90a5]{order:5}.guess-notice[data-v-f9bf90a5]{order:6}.tile-picker[data-v-f9bf90a5]{grid-row:1;padding-top:0}.target-picker[data-v-f9bf90a5]{margin-bottom:20px}.suit-tiles[data-v-f9bf90a5]{gap:8px}.guess-slots[data-v-f9bf90a5]{min-height:76px}.home-caption[data-v-f9bf90a5]>:last-child{display:none}}@media(max-width:640px){.target-picker[data-v-f9bf90a5]{gap:6px}.target-picker>button[data-v-f9bf90a5]{gap:6px;padding-right:10px}.target-letter[data-v-f9bf90a5]{width:24px;height:24px;font-size:11px}.home-empty-title[data-v-f9bf90a5]{font-size:17px}.home-empty-hint[data-v-f9bf90a5]{font-size:12px}}@media(max-width:380px){.suit-tiles[data-v-f9bf90a5]{gap:5px}.copy-count[data-v-f9bf90a5]{width:13px;height:13px;font-size:8px}.target-picker>button[data-v-f9bf90a5]{gap:4px}}@media(prefers-reduced-motion:reduce){.loading-spinner[data-v-f9bf90a5]{animation:none}.tile-choice[data-v-f9bf90a5],.hint-toggle-track[data-v-f9bf90a5],.hint-toggle-track i[data-v-f9bf90a5]{transition:none}}.tn-section[data-v-86def335]{display:grid;gap:12px}.tn-section .ui-card-title small[data-v-86def335]{margin-left:6px;color:var(--ui-faint);font-size:13px;font-weight:400}.tn-table-wrap[data-v-86def335]{max-width:100%;overflow-x:auto;scrollbar-width:thin}.tn-table[data-v-86def335]{width:100%;min-width:480px;border-collapse:collapse;color:#c2d4bf;font-size:13px;font-variant-numeric:tabular-nums}.tn-table th[data-v-86def335],.tn-table td[data-v-86def335]{padding:8px 10px;border-bottom:1px solid #32392b;text-align:left;white-space:nowrap}.tn-table thead th[data-v-86def335]{background:var(--ui-surface-muted);color:var(--ui-muted);font-size:12px;font-weight:600}.tn-table tbody th[data-v-86def335]{color:var(--ui-ink);font-weight:500}.tn-row--phase th[data-v-86def335],.tn-row--phase td[data-v-86def335]{color:var(--ui-muted)}.tn-clear[data-v-86def335]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tn-mistakes[data-v-86def335]{display:grid;gap:8px;margin:0;padding:0;list-style:none}.tn-mistake[data-v-86def335]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 14px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-paper)}.tn-mistake>div[data-v-86def335]:first-child{display:grid;min-width:0;flex:1 1 280px;gap:2px}.tn-mistake strong[data-v-86def335]{color:var(--ui-ink);font-size:14px;overflow-wrap:anywhere}.tn-mistake span[data-v-86def335]{color:var(--ui-muted);font-size:12px;line-height:1.7}.tn-mistake-actions[data-v-86def335]{display:flex;gap:8px}.listening-panel[data-v-86c47649]{display:grid;justify-items:center;gap:7px;color:#f0e4bf;font-size:13px}.listening-options[data-v-86c47649]{display:flex;justify-content:center;flex-wrap:nowrap;gap:3px}.listening-option[data-v-86c47649]{display:flex;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;touch-action:manipulation}.listening-option[aria-pressed=true][data-v-86c47649]{border-color:#ffe08a;outline:2px solid #ffe08a;outline-offset:1px}.listening-option[data-v-86c47649]:focus-visible{outline:2px solid white;outline-offset:2px}.listening-option[data-v-86c47649]:disabled{cursor:default}.listening-hand[data-v-86c47649]{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;row-gap:6px}.tr-shell[data-v-67b64972]{min-width:0}.tr-tabs[data-v-67b64972]{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.offline-bar[data-v-d4da6d92]{max-width:1200px;margin:12px auto 0;padding:0 24px;color:var(--ui-muted);font-size:12px;overflow-wrap:anywhere}.offline-bar__summary[data-v-d4da6d92]{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px 12px}.offline-bar p[data-v-d4da6d92]{margin:0}.offline-bar__summary>p[data-v-d4da6d92]{flex:1 1 180px}.offline-bar__summary .ui-button[data-v-d4da6d92]{min-height:40px;padding:6px 10px;font-size:12px}.offline-bar__help[data-v-d4da6d92]{display:grid;gap:8px;margin-top:8px;padding:12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface)}.offline-bar__help strong[data-v-d4da6d92],.offline-bar__update[data-v-d4da6d92]{color:var(--ui-gold-ink)}.offline-bar__error[data-v-d4da6d92]{color:var(--ui-danger-strong)}.offline-bar .offline-bar__update[data-v-d4da6d92]{margin-top:8px}@media(max-width:680px){.offline-bar[data-v-d4da6d92]{padding:0 12px}}.mj-view-shell[data-v-757b7822]{min-width:0;min-height:100dvh}.home-lobby[data-v-757b7822]{position:relative;display:flex;min-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));flex-direction:column;align-items:center;justify-content:center;gap:clamp(24px,5vh,60px);padding:70px 24px 36px;background:radial-gradient(ellipse at 50% 35%,#19645188,transparent 65%),repeating-linear-gradient(120deg,#ffffff02 0 1px,transparent 1px 5px),#0b2923}.home-config[data-v-757b7822]{position:absolute;top:14px;left:16px}.home-brand[data-v-757b7822]{text-align:center}.home-brand>span[data-v-757b7822]{color:#b0bba0;font-size:11px;letter-spacing:.36em}.home-brand h1[data-v-757b7822]{margin:12px 0;color:#f1dfb3;font-family:STKaiti,KaiTi,serif;font-size:clamp(36px,6vw,64px);font-weight:500;letter-spacing:.18em}.home-brand p[data-v-757b7822]{margin:0;color:#a0b9aa;font-size:13px;letter-spacing:.12em}.home-entries[data-v-757b7822]{display:grid;width:min(780px,100%);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.home-entry[data-v-757b7822]{display:flex;min-width:0;min-height:225px;align-items:center;gap:30px;padding:34px;border:1px solid #b293584f;border-radius:14px;background:linear-gradient(140deg,#31574788,#0a211be6);text-align:left;cursor:pointer;box-shadow:inset 0 1px #f3e1ab22,0 16px 40px #0003;transition:border-color .2s,transform .2s}.home-entry[data-v-757b7822]:hover{transform:translateY(-4px);border-color:#dac084}.home-entry--training[data-v-757b7822]{background:linear-gradient(140deg,#64512a55,#15291ee6)}.home-entry-tiles[data-v-757b7822]{display:flex;flex:none;gap:1px;transform:rotate(-12deg);filter:drop-shadow(3px 8px 5px #0005)}.home-entry-tiles[data-v-757b7822]>:nth-child(2){transform:translateY(-10px)}.home-entry-copy[data-v-757b7822]{display:grid;gap:12px;flex:1}.home-entry-copy small[data-v-757b7822]{color:#a4b7a2;font-size:11px}.home-entry-copy strong[data-v-757b7822]{color:#f4e5c1;font-size:28px;letter-spacing:.08em;white-space:nowrap}.home-entry-copy>span[data-v-757b7822]{display:flex;justify-content:space-between;color:#bdc7ae;font-size:12px}.home-entry-copy b[data-v-757b7822]{color:#e6c879;font-size:20px}@media(max-width:700px){.home-entry[data-v-757b7822]{min-height:180px;flex-direction:column;gap:20px;padding:24px 14px}.home-entry-copy[data-v-757b7822]{width:100%;gap:8px}.home-entry-copy strong[data-v-757b7822]{font-size:23px}.home-entry-copy small[data-v-757b7822]{font-size:10px}.home-entries[data-v-757b7822]{gap:12px}}@media(max-height:450px){.home-lobby[data-v-757b7822]{padding-top:46px;gap:16px}.home-brand h1[data-v-757b7822]{margin:0;font-size:30px}.home-brand>span[data-v-757b7822],.home-brand p[data-v-757b7822]{display:none}.home-entry[data-v-757b7822]{min-height:145px;flex-direction:row;padding:18px}}@media(prefers-reduced-motion:reduce){.home-entry[data-v-757b7822]{transition:none}}:root{--tile-size: 26px}:root{--ui-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--ui-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;color-scheme:dark;--ui-paper: #101814;--ui-surface: #18231d;--ui-surface-muted: #1e2b24;--ui-line: #2b3a31;--ui-line-strong: #3b4d42;--ui-ink: #e8eee6;--ui-text: #c5d0c4;--ui-muted: #97a596;--ui-faint: #6f7d70;--ui-green: #5fae80;--ui-green-strong: #8fd0a7;--ui-green-soft: #1d3a2b;--ui-green-line: #2f5a42;--ui-on-accent: #0c1a12;--ui-felt: #087b68;--ui-felt-deep: #075346;--felt-border: 10px solid #183541;--felt-radius: 14px;--felt-bg: radial-gradient(ellipse at 35% 20%, #39bdb13d, transparent 60%), repeating-linear-gradient(105deg, #d6fff903 0 1px, transparent 1px 4px), linear-gradient(145deg, #138e8c, #087575 55%, #075a62);--felt-shadow: inset 0 0 0 1px #e0be6b, inset 0 0 0 3px #133f46, inset 0 0 48px #002e3e88, 0 3px 0 #091d29;--ui-gold: #d6aa55;--ui-gold-soft: #2e2716;--ui-gold-line: #5c4a24;--ui-gold-ink: #e8cf95;--ui-danger: #e07a5f;--ui-danger-strong: #f1a28c;--ui-danger-soft: #34201a;--ui-danger-line: #6a3a2c;--ui-focus: #7cc79a;--ui-radius-sm: 6px;--ui-radius: 10px;--ui-radius-lg: 16px;--ui-shadow: 0 1px 2px #00000040, 0 10px 28px -20px #000000b3;--ui-gap: 16px;font-family:var(--ui-font);color:var(--ui-ink);background:var(--ui-paper);line-height:1.6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{min-width:0;min-height:100vh;margin:0;background:radial-gradient(1100px 520px at 50% -260px,#1b2a21,transparent 70%),var(--ui-paper)}body{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}body:has(.table-screen){min-height:100dvh;background:var(--felt-bg)}.ui-page:has(.table-screen){min-height:0}.mj-view-shell:has(.table-screen){min-height:0}button,input,select,textarea{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-page{min-width:0;min-height:calc(100vh - 60px);color:var(--ui-ink)}.ui-workspace{display:flex;width:100%;max-width:1200px;min-width:0;flex-direction:column;gap:var(--ui-gap);margin:0 auto;padding:28px 24px 32px}.ui-workspace>*,.ui-stack>*{min-width:0}.ui-stack{display:flex;min-width:0;flex-direction:column;gap:var(--ui-gap)}.ui-workspace:has(.table-screen){max-width:none;gap:0;padding:0}.table-tool{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:5px;padding:4px 10px;border:1px solid #9ac8cd66;border-radius:16px;background:linear-gradient(155deg,#315967,#102e3e);color:#c4fff3;font-size:12px;line-height:1.4;text-decoration:none;box-shadow:inset 0 1px #e1fffa33,0 2px 3px #001c3455;cursor:pointer}.table-tool:hover:not(:disabled){border-color:#e7cc86;color:#fff4d8}.table-tool:disabled{opacity:.5;cursor:not-allowed}.table-tool>span[aria-hidden]{font-size:17px}.table-screen .ui-button,.table-screen .ui-select{min-height:32px;padding:4px 10px;font-size:12px}.table-screen .ui-inline-field{gap:4px;font-size:12px}.table-screen .ui-segmented{flex-wrap:nowrap;padding:2px}.table-screen .ui-segmented>button{min-height:28px;padding:3px 8px;font-size:12px}.table-screen-title{margin-right:auto;color:var(--ui-ink);font-size:13px;font-weight:600}.table-screen-message{min-width:0;flex:1;margin:0;overflow-wrap:anywhere}.table-screen-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto}.mj-view-shell:has(.table-screen) .offline-bar{margin-top:0;padding:0 8px;font-size:10px}.mj-view-shell:has(.table-screen) .offline-bar__summary .ui-button{min-height:24px;padding:2px 6px;font-size:10px}.ui-page-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;padding-bottom:4px}.ui-page-heading>div:first-child{min-width:0;flex:1 1 320px}.ui-eyebrow,.ui-kicker{display:block;margin:0 0 6px;color:var(--ui-gold);font-size:12px;font-weight:600;letter-spacing:.12em}.ui-page-heading h1{margin:0;color:var(--ui-ink);font-size:28px;font-weight:700;line-height:1.3;letter-spacing:.02em}.ui-intro{margin:6px 0 0;color:var(--ui-muted);font-size:14px;line-height:1.7}.ui-badge{display:inline-flex;flex:none;align-items:center;gap:7px;padding:5px 12px;border:1px solid var(--ui-green-line);border-radius:999px;background:var(--ui-green-soft);color:var(--ui-green);font-size:12px;font-weight:500}.ui-badge:before{width:7px;height:7px;border-radius:50%;background:currentColor;content:""}.ui-note{margin:0;color:var(--ui-muted);font-size:13px;line-height:1.8;overflow-wrap:anywhere}.ui-footer{margin:8px 0 0;padding-top:16px;border-top:1px solid var(--ui-line);color:var(--ui-faint);font-size:12px;line-height:1.9;text-align:center;overflow-wrap:anywhere}.ui-footer span{margin:0 6px}.ui-button{display:inline-flex;min-width:0;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border:1px solid var(--ui-line-strong);border-radius:var(--ui-radius-sm);background:var(--ui-surface);color:var(--ui-text);font-size:13px;font-weight:600;line-height:1.4;text-align:center;cursor:pointer;transition:background-color .14s ease-out,border-color .14s ease-out,color .14s ease-out,transform .1s ease-out}.ui-button:hover:not(:disabled){border-color:var(--ui-green-line);background:var(--ui-green-soft);color:var(--ui-green-strong)}.ui-button:active:not(:disabled){transform:translateY(1px)}.ui-button:disabled{border-color:var(--ui-line);background:var(--ui-surface-muted);color:var(--ui-faint);cursor:not-allowed}.ui-button--primary{border-color:var(--ui-green);background:var(--ui-green);color:var(--ui-on-accent);box-shadow:0 2px #3d7a57}.ui-button--primary:hover:not(:disabled){border-color:var(--ui-green-strong);background:var(--ui-green-strong);color:var(--ui-on-accent)}.ui-button--primary:disabled{box-shadow:none}.ui-button--quiet{border-color:transparent;background:transparent;color:var(--ui-muted)}.ui-button--quiet:hover:not(:disabled){border-color:transparent;background:var(--ui-line);color:var(--ui-ink)}.ui-button--danger{border-color:var(--ui-danger);background:var(--ui-danger);color:var(--ui-on-accent)}.ui-button--danger:hover:not(:disabled){border-color:var(--ui-danger-strong);background:var(--ui-danger-strong);color:var(--ui-on-accent)}.ui-button--gold{border-color:#c79f4e;background:#f1d999;color:#4e3a12;box-shadow:0 2px #c79f4e}.ui-button--gold:hover:not(:disabled){border-color:#a9822f;background:#ead08a;color:#3f2f0e}.ui-button--gold:disabled{box-shadow:none}.ui-button--large{min-height:48px;padding:10px 22px;font-size:15px}.ui-button--block{width:100%}.ui-select,.ui-input{min-width:0;max-width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--ui-line-strong);border-radius:var(--ui-radius-sm);background-color:var(--ui-surface);color:var(--ui-ink);font-size:13px}.ui-select{padding-right:32px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%2397a596' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;background-size:11px 8px;cursor:pointer}.ui-select:disabled,.ui-input:disabled{background-color:var(--ui-surface-muted);color:var(--ui-faint);cursor:not-allowed}.ui-input{width:100%}.ui-input[aria-invalid=true]{border-color:var(--ui-danger);background-color:var(--ui-danger-soft)}.ui-field-label{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 10px;margin-bottom:8px;color:var(--ui-text);font-size:13px;font-weight:600}.ui-field-label span{color:var(--ui-faint);font-size:12px;font-weight:400}.ui-field-help{min-height:22px;margin:8px 0 0;color:var(--ui-muted);font-size:12px;line-height:1.7}.ui-field-help--error{color:var(--ui-danger)}.ui-inline-field{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--ui-muted);font-size:13px}.ui-card{min-width:0;padding:20px 24px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow)}.ui-card--accent{border-color:var(--ui-green-line);box-shadow:inset 4px 0 var(--ui-green),var(--ui-shadow)}.ui-card--muted{background:var(--ui-surface-muted);box-shadow:none}.ui-card-title{margin:0;color:var(--ui-ink);font-size:18px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.ui-alert{display:flex;min-width:0;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0;padding:12px 16px;border:1px solid var(--ui-line);border-left-width:4px;border-radius:var(--ui-radius);background:var(--ui-surface-muted);color:var(--ui-text);font-size:13px;line-height:1.75;overflow-wrap:anywhere}.ui-alert>div{min-width:0;flex:1 1 240px}.ui-alert strong,.ui-alert b{color:inherit;font-weight:700}.ui-alert p{margin:4px 0 0}.ui-alert small{display:block;margin-top:2px;font-size:12px;opacity:.9}.ui-alert--info{border-color:var(--ui-green-line);background:var(--ui-green-soft);color:var(--ui-green-strong)}.ui-alert--warn{border-color:var(--ui-gold-line);background:var(--ui-gold-soft);color:var(--ui-gold-ink)}.ui-alert--error{border-color:var(--ui-danger-line);background:var(--ui-danger-soft);color:var(--ui-danger-strong)}.ui-chip{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--ui-gold-line);border-radius:var(--ui-radius);background:var(--ui-gold-soft);color:var(--ui-gold-ink);font-size:13px;line-height:1.6}.ui-chip>b,.ui-chip>strong{font-weight:700}.ui-chip>small{font-size:12px;opacity:.85}.ui-chip--dashed{border-style:dashed}.ui-segmented{display:inline-flex;max-width:100%;flex-wrap:wrap;gap:4px;margin:0;padding:4px;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-paper)}.ui-segmented>button{min-height:34px;padding:6px 16px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ui-muted);font-size:13px;font-weight:500;cursor:pointer}.ui-segmented>button:hover:not(:disabled){color:var(--ui-ink)}.ui-segmented>button[aria-pressed=true]{border-color:var(--ui-line);background:var(--ui-surface);color:var(--ui-green-strong);box-shadow:0 1px 3px #0006;font-weight:700}.ui-segmented:disabled>button,.ui-segmented>button:disabled{opacity:.55;cursor:not-allowed}.ui-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin:0;padding:0;border:0}.ui-presets>legend{margin-bottom:8px;padding:0;color:var(--ui-muted);font-size:12px}.ui-presets>button{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:2px 4px;padding:12px 6px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface-muted);color:var(--ui-muted);cursor:pointer;transition:border-color .14s ease-out,background-color .14s ease-out}.ui-presets>button:hover:not(:disabled){border-color:var(--ui-green-line)}.ui-presets>button[aria-pressed=true]{border-color:var(--ui-green);background:var(--ui-green-soft);color:var(--ui-green-strong);box-shadow:inset 0 0 0 1px var(--ui-green)}.ui-presets>button:disabled{opacity:.55;cursor:not-allowed}.ui-presets strong{font-size:28px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.ui-presets span{font-size:13px}.ui-presets small{width:100%;margin-top:2px;font-size:12px}.ui-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}.ui-actions{display:flex;max-width:100%;flex-wrap:wrap;align-items:center;gap:8px}.ui-progress{min-width:0;flex:1 1 260px;max-width:440px}.ui-progress>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin-bottom:8px}.ui-progress strong{color:var(--ui-ink);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.ui-progress small,.ui-progress>div>span{color:var(--ui-muted);font-size:13px;font-weight:400}.ui-progress progress{display:block;width:100%;height:6px;overflow:hidden;border:0;border-radius:999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--ui-line);color:var(--ui-green)}.ui-progress progress::-webkit-progress-bar{border-radius:999px;background:var(--ui-line)}.ui-progress progress::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,var(--ui-green),var(--ui-green-strong))}.ui-progress progress::-moz-progress-bar{border-radius:999px;background:var(--ui-green)}.ui-statusbar{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow)}.ui-statusbar-text{min-width:0;flex:1 1 200px;margin:0;padding:8px 12px;border-radius:var(--ui-radius-sm);background:var(--ui-green-soft);color:var(--ui-green-strong);font-size:13px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}.ui-statusbar-text--warn{background:var(--ui-gold-soft);color:var(--ui-gold-ink)}.ui-statusbar-idle{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 4px;color:var(--ui-muted);font-size:13px}.ui-statusbar-idle>:first-child{color:var(--ui-green);font-weight:600;letter-spacing:.2em}.ui-turn-order{padding:4px 10px;border-radius:999px;background:var(--ui-surface-muted);color:var(--ui-faint);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}.ui-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin:-4px 4px 0;color:var(--ui-muted);font-size:12px;line-height:1.8}.ui-legend b{color:var(--ui-gold)}.ui-legend i{margin:0 6px;color:var(--ui-line-strong);font-style:normal}.ui-tile-mark{position:absolute;z-index:2;display:grid;width:12px;height:12px;place-items:center;border-radius:3px;background:#e9c67a;color:#634819;font-size:8px;line-height:1}@media(max-width:640px){.ui-tile-mark{width:10px;height:10px;border-radius:2px;font-size:7px}}.ui-disclosure{min-width:0;border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:var(--ui-surface)}.ui-disclosure>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:14px 20px;color:var(--ui-ink);font-size:14px;font-weight:700;line-height:1.6;cursor:pointer;list-style:none;border-radius:var(--ui-radius-lg)}.ui-disclosure>summary::-webkit-details-marker{display:none}.ui-disclosure>summary:before{width:7px;height:7px;flex:none;align-self:center;margin-right:4px;border-right:2px solid var(--ui-faint);border-bottom:2px solid var(--ui-faint);transform:rotate(-45deg);transition:transform .16s ease-out;content:""}.ui-disclosure[open]>summary:before{transform:rotate(45deg)}.ui-disclosure>summary:hover{background:var(--ui-surface-muted)}.ui-disclosure>summary>span{color:var(--ui-faint);font-size:12px;font-weight:400}.ui-disclosure-body{min-width:0;padding:0 20px 20px}.ui-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.ui-records>.ui-span-all{grid-column:1 / -1}.ui-log{margin:0;padding:0 4px;list-style:none}.ui-log li{display:grid;grid-template-columns:36px 18px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid var(--ui-line);color:var(--ui-text);font-size:13px;line-height:1.7}.ui-log li:last-child{border-bottom:0}.ui-log small{color:var(--ui-faint);font-size:12px;font-variant-numeric:tabular-nums}.ui-log b{color:var(--ui-green)}.ui-log span{min-width:0;overflow-wrap:anywhere}.ui-log--scroll{max-height:340px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ui-line-strong) transparent}.ui-section-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px}.ui-section-heading h2{margin:0;font-size:22px;font-weight:700;line-height:1.4}.ui-section-heading>span{color:var(--ui-faint);font-size:12px}.ui-setup{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:stretch;gap:20px}.ui-lobby{display:grid;min-height:420px;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr) minmax(0,1fr);grid-template-areas:". north ." "west center east" ". south .";align-items:center;gap:20px 12px;padding:28px 20px;border:var(--felt-border);border-radius:var(--felt-radius);background:var(--felt-bg);box-shadow:var(--felt-shadow)}.ui-lobby-seat{display:flex;min-width:0;flex-direction:column;align-items:center;gap:8px;color:#d9e3c6;text-align:center}.ui-lobby-seat b{display:grid;width:36px;height:36px;place-items:center;border:1px solid #c4d7b670;border-radius:50%;background:#103e2f88;font-size:14px}.ui-lobby-seat span{font-size:12px;line-height:1.6}.ui-lobby-seat--north{grid-area:north}.ui-lobby-seat--south{grid-area:south}.ui-lobby-seat--west{grid-area:west}.ui-lobby-seat--east{grid-area:east}.ui-lobby-seat--self b{border-color:#ecdfb8;background:#ecdfb8;color:#2f4e36}.ui-lobby-center{grid-area:center;display:grid;min-width:0;justify-items:center;gap:10px;color:#f7f1d6;text-align:center}.ui-lobby-center>div{display:flex;gap:8px;padding-bottom:6px}.ui-lobby-center>strong{font-size:19px;font-weight:600;line-height:1.6}.ui-lobby-center>span{color:#d3e1c4;font-size:13px}.ui-lobby-center>small{color:#b8cfae;font-size:12px;letter-spacing:.06em}.ui-setup-form{display:flex;min-width:0;flex-direction:column;padding:28px}.ui-setup-form h2{margin:0;font-size:24px;font-weight:700;line-height:1.4}.ui-setup-form>p{margin:8px 0 0}.ui-setup-form>.ui-presets{margin:20px 0}.ui-setup-form>.ui-field-help{margin-bottom:16px}.ui-setup-form>.ui-button+.ui-button{margin-top:8px}.ui-setup-start{width:100%;min-height:48px;justify-content:space-between;padding:10px 18px;font-size:15px}.ui-setup-form>.ui-note:last-child{margin-top:16px;font-size:12px}@media(max-width:900px){.ui-setup{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.ui-setup-form{padding:24px 20px}.ui-lobby{padding:24px 12px;gap:16px 8px}.ui-lobby-center>strong{font-size:16px}}@media(max-width:680px){.ui-workspace{gap:14px;padding:20px 12px 24px}.ui-page-heading h1{font-size:24px}.ui-intro{font-size:13px}.ui-card{padding:16px}.ui-setup{grid-template-columns:minmax(0,1fr)}.ui-lobby{min-height:280px;padding:16px 10px;border-width:7px;border-radius:18px}.ui-lobby-seat b{width:30px;height:30px;font-size:12px}.ui-lobby-seat span{font-size:11px}.ui-lobby-center>strong{font-size:15px}.ui-progress{flex-basis:100%;max-width:none}.ui-toolbar>.ui-actions{width:100%;justify-content:flex-end}.ui-records{grid-template-columns:minmax(0,1fr)}.ui-disclosure>summary{padding:14px 16px}.ui-disclosure-body{padding:0 16px 16px}.ui-section-heading h2{font-size:19px}}@media(max-width:380px){.ui-workspace{padding-right:8px;padding-left:8px}.ui-setup-form{padding:20px 16px}.ui-button{padding-right:12px;padding-left:12px}}@media(prefers-reduced-motion:reduce){.ui-button,.ui-presets>button,.ui-disclosure>summary:before{transition:none}}
