.global-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#322a21f2;border:1px solid #d8a24a;color:#e8ddc8;padding:10px 22px;border-radius:10px;z-index:100;box-shadow:0 6px 20px #0006;max-width:80vw}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .25s}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0}.lobby[data-v-887fc653]{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:48px 16px;gap:28px}h1[data-v-887fc653]{font-size:40px;letter-spacing:6px;font-family:KaiTi,楷体,serif;color:var(--accent)}.subtitle[data-v-887fc653]{color:var(--text-dim);margin-top:6px;text-align:center}.card[data-v-887fc653]{width:100%;max-width:480px;padding:24px;display:flex;flex-direction:column;gap:18px}.field[data-v-887fc653]{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text-dim)}.section[data-v-887fc653]{display:flex;flex-direction:column;gap:10px}.section-title[data-v-887fc653]{font-weight:600;color:var(--text)}.row[data-v-887fc653]{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row-label[data-v-887fc653]{font-size:14px;color:var(--text-dim)}.help-entry[data-v-887fc653]{font-size:13px;color:var(--text-dim);background:none;border:none;text-decoration:underline;cursor:pointer}.modal-overlay[data-v-887fc653]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal[data-v-887fc653]{max-width:440px;max-height:80vh;overflow-y:auto}.modal h2[data-v-887fc653]{font-size:18px;color:var(--accent)}.help-list[data-v-887fc653]{display:flex;flex-direction:column;gap:10px;padding-left:18px;font-size:14px;line-height:1.6;color:var(--text-dim)}.inline[data-v-887fc653]{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-dim);cursor:pointer}.inline input[data-v-887fc653]{width:auto;accent-color:var(--accent)}.code[data-v-887fc653]{width:120px;text-transform:uppercase;letter-spacing:2px}.divider[data-v-887fc653]{text-align:center;color:var(--text-dim);font-size:13px}.status[data-v-887fc653]{font-size:13px;text-align:center}.status.ok[data-v-887fc653]{color:#6fae6f}.status.warn[data-v-887fc653]{color:#d8a24a}.roomlist-head[data-v-887fc653]{display:flex;align-items:center;justify-content:space-between}.refresh-btn[data-v-887fc653]{font-size:12px;padding:3px 10px;border:1px solid var(--border);background:transparent;color:var(--text-dim)}.refresh-btn[data-v-887fc653]:hover{color:var(--accent);border-color:var(--accent)}.roomlist-empty[data-v-887fc653]{color:var(--text-dim);font-size:13px;text-align:center;padding:8px 0}.roomlist[data-v-887fc653]{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.roomrow[data-v-887fc653]{display:flex;align-items:center;gap:10px;font-size:13px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);flex-wrap:wrap}.r-code[data-v-887fc653]{font-weight:700;letter-spacing:1px;color:var(--accent);width:64px}.r-mode[data-v-887fc653]{font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid var(--border)}.r-mode.card[data-v-887fc653]{color:#d4b3e8;border-color:#b07ad080}.r-phase[data-v-887fc653]{font-size:12px;width:52px}.r-phase.waiting[data-v-887fc653]{color:#8fce8f}.r-phase.playing[data-v-887fc653]{color:var(--accent)}.r-players[data-v-887fc653]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}.join-btn[data-v-887fc653]{font-size:12px;padding:3px 12px;border-radius:999px;background:linear-gradient(160deg,#a3542f,#8a3f22);border:1px solid #c96b3f;color:#fff4e4}.join-btn.watch[data-v-887fc653]{background:var(--panel-2);color:var(--text-dim);border-color:var(--border)}.join-btn.watch[data-v-887fc653]:hover{color:var(--accent);border-color:var(--accent)}.r-na[data-v-887fc653]{color:var(--text-dim);width:44px;text-align:center}.board[data-v-ab029d65]{position:relative;width:min(100%,calc((100vh - 430px)*.9));max-width:620px;min-width:280px;aspect-ratio:9 / 10;margin:0 auto;border-radius:14px;background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.18),transparent 55%),linear-gradient(160deg,#edc991,#e0b273 55%,#d3a05e);box-shadow:inset 0 0 0 2px #7a522659,0 12px 34px #00000080;container-type:size;-webkit-user-select:none;user-select:none}.content[data-v-ab029d65]{position:absolute;inset:5% calc(100% / 18)}.lines[data-v-ab029d65]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.river[data-v-ab029d65]{font-size:.42px;fill:#7a5226bf;font-family:KaiTi,楷体,STKaiti,serif;letter-spacing:.1px}.piece[data-v-ab029d65],.target-dot[data-v-ab029d65],.target-capture[data-v-ab029d65],.last-move[data-v-ab029d65],.check-glow[data-v-ab029d65],.cell[data-v-ab029d65]{position:absolute;transform:translate(-50%,-50%)}.cell[data-v-ab029d65]{width:12.5%;height:calc(100% / 9);transform:translate(-50%,-50%)}.interactive .cell[data-v-ab029d65]{cursor:pointer}.piece[data-v-ab029d65]{width:11.5%;height:calc(100% / 9 * .92);border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fdf3da,#efdcba 60%,#dcc295);box-shadow:0 2px 4px #3c1e0059,inset 0 -3px 6px #a06e3259,inset 0 0 0 1px #7a522699;transition:left .22s ease,top .22s ease,box-shadow .15s;pointer-events:none;z-index:2}.piece-badge[data-v-ab029d65]{position:absolute;top:-.4cqw;right:-.4cqw;font-size:3cqw;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));pointer-events:none}.piece span[data-v-ab029d65]{font-family:KaiTi,楷体,STKaiti,serif;font-size:5.2cqw;font-weight:700;line-height:1}.piece.red span[data-v-ab029d65]{color:#bf3122}.piece.black[data-v-ab029d65]{background:radial-gradient(circle at 35% 30%,#4a4038,#332b24 60%,#201a15);box-shadow:0 2px 4px #00000073,inset 0 -3px 6px #0006,inset 0 0 0 1px #b4966e59}.piece.black span[data-v-ab029d65]{color:#e8d9bd}.piece.skinned[data-v-ab029d65]{background:none;box-shadow:0 2px 5px #0006;overflow:hidden}.piece.skinned img[data-v-ab029d65]{width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.piece.selected[data-v-ab029d65]{box-shadow:0 0 0 .55cqw #d8a24af2,0 4px 10px #3c1e0073,inset 0 0 0 1px #7a522699}.piece.skinned.selected[data-v-ab029d65]{box-shadow:0 0 0 .55cqw #d8a24af2,0 4px 10px #00000073}.last-move[data-v-ab029d65]{width:5%;height:calc(100% / 9 * .4);border-radius:50%;background:#d8a24a66;z-index:1;pointer-events:none}.target-dot[data-v-ab029d65]{width:3.75%;height:calc(100% / 9 * .3);border-radius:50%;background:#3c8f48d9;box-shadow:0 0 6px #3c8f4899;z-index:3;pointer-events:none}.target-capture[data-v-ab029d65]{width:12.75%;height:calc(100% / 9 * 1.02);border-radius:50%;border:.45cqw solid rgba(200,60,40,.9);z-index:3;pointer-events:none}.targeted-ring[data-v-ab029d65],.targeted-cell[data-v-ab029d65]{width:13%;height:calc(100% / 9 * 1.04);border-radius:50%;border:.4cqw solid var(--accent);box-shadow:0 0 10px #d8a24abf;z-index:4;pointer-events:none}.targeted-cell[data-v-ab029d65]{border-radius:18%;background:#d8a24a38}.check-glow[data-v-ab029d65]{width:calc(100% / 8 * 1.1);height:calc(100% / 9 * 1.1);border-radius:50%;background:radial-gradient(circle,rgba(230,60,40,.55),transparent 70%);animation:pulse-ab029d65 1s ease-in-out infinite;z-index:1;pointer-events:none}@keyframes pulse-ab029d65{0%,to{opacity:.5;scale:.95}50%{opacity:1;scale:1.08}}.tishen-smoke[data-v-ab029d65]{position:absolute;width:calc(100% / 9);height:10%;transform:translate(-50%,-50%);z-index:40;pointer-events:none}.tishen-smoke .flash[data-v-ab029d65]{position:absolute;left:50%;top:50%;width:70%;height:70%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(255,226,150,.95);box-shadow:0 0 18px #d8a24ae6;animation:tishen-flash-ab029d65 .9s ease-out forwards}@keyframes tishen-flash-ab029d65{0%{opacity:0;scale:.3}25%{opacity:1;scale:1}to{opacity:0;scale:2.1}}.tishen-smoke .puff[data-v-ab029d65]{position:absolute;left:50%;top:50%;width:46%;height:46%;border-radius:50%;background:radial-gradient(circle,rgba(196,178,150,.85),rgba(120,104,82,.4) 55%,transparent 75%);filter:blur(2px);animation:tishen-puff-ab029d65 1.25s ease-out forwards}.tishen-smoke .p1[data-v-ab029d65]{--tx: -130%;--ty: -110%;animation-delay:.02s}.tishen-smoke .p2[data-v-ab029d65]{--tx: 120%;--ty: -120%;animation-delay:.06s}.tishen-smoke .p3[data-v-ab029d65]{--tx: -140%;--ty: 90%;animation-delay:.1s}.tishen-smoke .p4[data-v-ab029d65]{--tx: 135%;--ty: 110%;animation-delay:.04s}.tishen-smoke .p5[data-v-ab029d65]{--tx: -20%;--ty: -160%;animation-delay:.12s}.tishen-smoke .p6[data-v-ab029d65]{--tx: 25%;--ty: 155%;animation-delay:.08s}.tishen-smoke .p7[data-v-ab029d65]{--tx: -175%;--ty: -10%;animation-delay:.14s}.tishen-smoke .p8[data-v-ab029d65]{--tx: 170%;--ty: 15%;animation-delay:.05s}@keyframes tishen-puff-ab029d65{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}18%{opacity:.95}to{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.9)}}.fan-wrap[data-v-8a5e0c90]{display:flex;justify-content:center;pointer-events:none}.fan[data-v-8a5e0c90]{position:relative;height:150px}.fcard[data-v-8a5e0c90]{position:absolute;bottom:0;width:96px;height:128px;border-radius:10px;border:1px solid var(--accent);background:linear-gradient(165deg,#2a241c,#191512 70%);box-shadow:0 3px 10px #00000080;padding:8px 8px 6px;display:flex;flex-direction:column;gap:4px;transform-origin:bottom center;transition:transform .16s ease,box-shadow .16s,filter .16s;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none}.fcard.lift[data-v-8a5e0c90]{box-shadow:0 12px 24px #0009,0 0 0 2px var(--accent),0 0 18px #d8a24a8c}.fcard.raised[data-v-8a5e0c90]{animation:card-pulse-8a5e0c90 1.2s ease-in-out infinite;z-index:60!important}@keyframes card-pulse-8a5e0c90{0%,to{box-shadow:0 12px 24px #0009,0 0 0 2px var(--accent),0 0 12px #d8a24a73}50%{box-shadow:0 12px 24px #0009,0 0 0 3px var(--accent),0 0 26px #d8a24ad9}}.fc-confirm[data-v-8a5e0c90]{position:absolute;top:-20px;left:50%;transform:translate(-50%);white-space:nowrap;background:var(--accent);color:#241c10;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;pointer-events:none;box-shadow:0 2px 8px #00000080}.fcard.dim[data-v-8a5e0c90]{filter:brightness(.85)}.fcard.hoverable[data-v-8a5e0c90]:hover{filter:brightness(1.15);border-color:#f0c878}.fcard.disabled[data-v-8a5e0c90]{filter:grayscale(.7) brightness(.6);cursor:default}.fc-name[data-v-8a5e0c90]{font-size:12px;font-weight:700;color:var(--accent);line-height:1.3}.fc-desc[data-v-8a5e0c90]{font-size:10px;color:var(--text-dim);line-height:1.35;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.fc-tag[data-v-8a5e0c90]{margin-top:auto;font-size:10px;color:var(--text-dim);border:1px solid var(--border);border-radius:4px;text-align:center;padding:1px 0}.empty[data-v-8a5e0c90]{width:96px;height:128px;border:1px dashed var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:12px}@media(max-width:640px){.fan[data-v-8a5e0c90]{height:120px}.fcard[data-v-8a5e0c90]{width:66px;height:96px;padding:5px 5px 4px}.fc-name[data-v-8a5e0c90]{font-size:11px}.fc-desc[data-v-8a5e0c90]{display:none}.fc-confirm[data-v-8a5e0c90]{font-size:10px;top:-18px}}.chat[data-v-1353a0ba]{display:flex;flex-direction:column;height:240px}.title[data-v-1353a0ba]{padding:10px 14px;font-weight:600;border-bottom:1px solid var(--border);color:var(--text-dim);font-size:14px}.list[data-v-1353a0ba]{flex:1;overflow-y:auto;padding:10px 14px;font-size:14px;display:flex;flex-direction:column;gap:6px}.empty[data-v-1353a0ba]{color:var(--text-dim);font-size:13px}.line.self[data-v-1353a0ba]{color:var(--accent)}.nick[data-v-1353a0ba]{color:var(--text-dim)}.input-row[data-v-1353a0ba]{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border)}.input-row input[data-v-1353a0ba]{flex:1;padding:8px 10px}.input-row button[data-v-1353a0ba]{padding:8px 14px}.fxbar[data-v-25376c15]{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;width:100%}.fx[data-v-25376c15]{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);background:#00000059}.fx-side[data-v-25376c15]{font-family:KaiTi,楷体,serif;font-weight:700}.fx-side.red[data-v-25376c15]{color:#e08a7d}.fx-side.black[data-v-25376c15]{color:#9fb4bc}.fx.buff[data-v-25376c15]{border-color:#6fae6f8c}.fx.buff .fx-name[data-v-25376c15]{color:#8fce8f}.fx.debuff[data-v-25376c15]{border-color:#d86a5a8c}.fx.debuff .fx-name[data-v-25376c15]{color:#e08a7d}.fx.danger[data-v-25376c15]{border-color:#e6503ce6;animation:fx-danger-25376c15 1.2s ease-in-out infinite}.fx.danger .fx-name[data-v-25376c15]{color:#ff7a5e;font-weight:700}@keyframes fx-danger-25376c15{0%,to{box-shadow:0 0 #e6503c00}50%{box-shadow:0 0 10px #e6503cb3}}.fx-name[data-v-25376c15]{font-weight:600}.fx-dur[data-v-25376c15]{color:var(--text-dim);font-size:11px}.overlay[data-v-f17a0730]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a080599;display:flex;align-items:center;justify-content:center;z-index:85}.dlg[data-v-f17a0730]{padding:22px 26px;width:min(480px,calc(100vw - 40px));text-align:left}.head[data-v-f17a0730]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.cname[data-v-f17a0730]{font-size:22px;font-weight:700;font-family:KaiTi,楷体,serif}.cname.red[data-v-f17a0730]{color:#e08a7d}.cname.black[data-v-f17a0730]{color:#b8c4c8}.cd[data-v-f17a0730]{font-size:13px;color:var(--text-dim)}.desc[data-v-f17a0730]{font-size:14px;line-height:1.7;color:var(--text);margin-bottom:14px}.sub[data-v-f17a0730]{font-size:12px;color:var(--text-dim);border-top:1px solid var(--border);padding-top:10px;margin-bottom:6px}.fxrow[data-v-f17a0730]{display:flex;gap:10px;font-size:13px;padding:3px 0}.fx-name[data-v-f17a0730]{color:var(--accent);font-weight:600;min-width:90px}.fx-desc[data-v-f17a0730]{flex:1;color:var(--text-dim)}.fx-dur[data-v-f17a0730]{color:var(--text-dim)}.close[data-v-f17a0730]{display:block;margin:14px auto 0;padding:6px 24px}.arena[data-v-c4bf938c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:radial-gradient(ellipse at 50% 30%,#24422f,#12271c 60%,#0c1a12);display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.opp-bar[data-v-c4bf938c]{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#00000052;border-bottom:1px solid rgba(255,255,255,.06);min-height:56px;position:relative}.opp-bar.turn[data-v-c4bf938c]{box-shadow:inset 0 3px 0 var(--accent)}.avatar[data-v-c4bf938c]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:KaiTi,楷体,serif;font-weight:700;font-size:17px;overflow:hidden;flex-shrink:0;background:radial-gradient(circle at 35% 30%,#4a4038,#221c16);border:2px solid var(--accent)}.avatar img[data-v-c4bf938c]{width:100%;height:100%;object-fit:cover}.opp-info[data-v-c4bf938c]{min-width:0}.opp-name[data-v-c4bf938c]{font-size:14px;font-weight:600}.opp-char[data-v-c4bf938c]{font-size:12px;color:var(--text-dim)}.offline[data-v-c4bf938c]{color:#d8a24a;font-size:12px}.opp-hand[data-v-c4bf938c]{margin-left:auto;display:flex;align-items:center;gap:3px}.mini-back[data-v-c4bf938c]{width:22px;height:32px;border-radius:3px;background:linear-gradient(160deg,#5a4a34,#3d3225);border:1px solid rgba(255,255,255,.12);color:var(--text-dim);font-size:10px;display:flex;align-items:center;justify-content:center}.more[data-v-c4bf938c]{font-size:11px;color:var(--text-dim)}.lingshi[data-v-c4bf938c]{position:absolute;right:10px;top:100%;z-index:5;display:flex;gap:4px;background:#0006;padding:3px 6px;border-radius:6px}.mini-open[data-v-c4bf938c]{font-size:10px;color:#9fc3ff}.status-chips[data-v-c4bf938c]{position:absolute;top:62px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:3}.arena-fxbar[data-v-c4bf938c]{position:absolute;top:96px;left:50%;transform:translate(-50%);z-index:3;max-width:92%}.possess-bar[data-v-c4bf938c]{position:absolute;top:124px;left:50%;transform:translate(-50%);z-index:3;font-size:13px;padding:4px 14px;border-radius:999px;background:#9254a840;border:1px solid #b07ad0;color:#d4b3e8;white-space:nowrap}.char-click[data-v-c4bf938c]{cursor:pointer;border-radius:8px;transition:background .15s}.char-click[data-v-c4bf938c]:hover{background:#d8a24a14}.char-more[data-v-c4bf938c]{color:var(--text-dim);font-size:11px}.me-char[data-v-c4bf938c]{color:var(--text-dim);font-size:12px;margin-left:6px}.chip[data-v-c4bf938c]{font-size:12px;padding:3px 12px;border-radius:999px;background:#0006;border:1px solid rgba(255,255,255,.1);color:var(--text-dim);transition:color .2s,border-color .2s}.chip.hot[data-v-c4bf938c]{color:var(--accent);border-color:#d8a24a8c}.chip.off[data-v-c4bf938c]{opacity:.45}.center-banner[data-v-c4bf938c]{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);z-index:30;background:linear-gradient(165deg,#2a241cf5,#191512f5);border:1px solid var(--accent);border-radius:12px;padding:14px 30px;font-size:19px;font-weight:700;color:var(--accent);letter-spacing:2px;box-shadow:0 10px 34px #0009,0 0 24px #d8a24a59;pointer-events:none;white-space:nowrap}.banner-pop-enter-active[data-v-c4bf938c]{transition:opacity .22s ease,transform .22s ease}.banner-pop-leave-active[data-v-c4bf938c]{transition:opacity .4s ease}.banner-pop-enter-from[data-v-c4bf938c]{opacity:0;transform:translate(-50%,-50%) scale(1.35)}.banner-pop-leave-to[data-v-c4bf938c]{opacity:0}.board-wrap[data-v-c4bf938c]{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;position:relative}.board-wrap[data-v-c4bf938c] .board{width:min(100%,calc(100vh - 480px) * .9);max-width:560px;min-width:260px;box-shadow:0 14px 44px #0000008c}.me-bar[data-v-c4bf938c]{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#00000052;border-top:1px solid rgba(255,255,255,.06);min-height:56px}.me-bar.turn[data-v-c4bf938c]{box-shadow:inset 0 -3px 0 var(--accent)}.me-avatar[data-v-c4bf938c]{background:radial-gradient(circle at 35% 30%,#6b3a35,#33191a)}.me-info[data-v-c4bf938c]{display:flex;flex-direction:column;gap:4px}.me-name[data-v-c4bf938c]{font-size:14px;font-weight:600}.skill-btn[data-v-c4bf938c]{padding:6px 18px;font-size:14px;font-weight:700;border-radius:999px;background:linear-gradient(160deg,#7a2f28,#54211c);border:2px solid var(--accent);color:var(--accent);cursor:pointer;transition:box-shadow .2s,background .2s}.skill-btn.ready[data-v-c4bf938c]{animation:skill-breathe-c4bf938c 2.2s ease-in-out infinite}@keyframes skill-breathe-c4bf938c{0%,to{box-shadow:0 0 #d8a24a00}50%{box-shadow:0 0 12px #d8a24a99}}.skill-btn.arming[data-v-c4bf938c]{background:var(--accent);color:#241c10;font-weight:700;box-shadow:0 0 14px #d8a24ab3}.skill-btn[data-v-c4bf938c]:disabled{opacity:.5;cursor:default;border-color:var(--border);color:var(--text-dim)}.menu-btn[data-v-c4bf938c]{margin-left:auto;background:none;border:none;color:var(--text);font-size:18px;cursor:pointer;padding:6px 8px;min-width:36px;min-height:36px}.menu-btn+.chat-toggle[data-v-c4bf938c]{margin-left:0}.chat-toggle.on[data-v-c4bf938c]{color:var(--accent)}.menu-panel[data-v-c4bf938c]{position:fixed;top:60px;right:12px;z-index:45;min-width:220px;padding:6px}.mi[data-v-c4bf938c]{padding:12px 14px;border-radius:8px;font-size:14px;cursor:pointer;color:var(--text)}.mi[data-v-c4bf938c]:hover{background:#ffffff0f}.mi.danger[data-v-c4bf938c]{color:#e08577}.chat-bubble[data-v-c4bf938c]{position:absolute;max-width:220px;padding:7px 12px;border-radius:12px;font-size:14px;line-height:1.4;background:#f5edd8;color:#1a1713;box-shadow:0 4px 14px #0006;animation:bubble-pop-c4bf938c .18s ease;z-index:20;pointer-events:none;word-break:break-all}.opp-bubble[data-v-c4bf938c]{left:64px;top:12px}.self-bubble[data-v-c4bf938c]{position:fixed;left:50%;transform:translate(-50%);bottom:176px;background:#dff3d8}@keyframes bubble-pop-c4bf938c{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.self-bubble[data-v-c4bf938c]{animation:bubble-pop-self-c4bf938c .18s ease}@keyframes bubble-pop-self-c4bf938c{0%{transform:translate(-50%) scale(.85);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.my-fan[data-v-c4bf938c]{position:fixed;bottom:calc(52px + env(safe-area-inset-bottom,0px));left:0;right:0;z-index:25}.turn-actions[data-v-c4bf938c]{position:fixed;right:18px;bottom:calc(244px + env(safe-area-inset-bottom,0px));z-index:26;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.end-turn[data-v-c4bf938c]{padding:9px 26px;font-size:15px;font-weight:700;background:linear-gradient(160deg,#8a5a20,#6b4218);border:1px solid var(--accent);color:#ffe9c2;border-radius:999px;cursor:pointer;box-shadow:0 4px 14px #0006}.end-turn[data-v-c4bf938c]:hover{filter:brightness(1.15)}.chat-drawer[data-v-c4bf938c]{position:fixed;right:12px;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:40;width:min(320px,86vw);max-height:46vh;overflow-y:auto}@media(max-width:640px){.arena[data-v-c4bf938c]{position:static;min-height:100vh;height:auto}.opp-bar[data-v-c4bf938c],.me-bar[data-v-c4bf938c]{padding:5px 8px;min-height:44px;gap:6px}.opp-avatar[data-v-c4bf938c],.me-avatar[data-v-c4bf938c]{width:28px;height:28px}.opp-name[data-v-c4bf938c],.me-name[data-v-c4bf938c],.opp-char[data-v-c4bf938c]{font-size:12px}.mini-back[data-v-c4bf938c]{width:18px;height:26px;font-size:10px}.more[data-v-c4bf938c]{font-size:12px}.mini-open[data-v-c4bf938c]{font-size:11px}.status-chips[data-v-c4bf938c],.arena-fxbar[data-v-c4bf938c],.possess-bar[data-v-c4bf938c],.lingshi[data-v-c4bf938c]{position:static;transform:none;margin:3px auto;max-width:96%}.possess-bar[data-v-c4bf938c]{display:block;text-align:center}.lingshi[data-v-c4bf938c]{justify-content:center;flex-wrap:wrap}.board-wrap[data-v-c4bf938c]{padding:0}.board-wrap[data-v-c4bf938c] .board{width:min(100vw - 12px,480px);min-width:0}.my-fan[data-v-c4bf938c]{margin-bottom:0}.turn-actions[data-v-c4bf938c]{right:8px;bottom:calc(196px + env(safe-area-inset-bottom,0px))}.end-turn[data-v-c4bf938c]{padding:10px 16px;font-size:14px}.mini[data-v-c4bf938c]{padding:8px 12px;font-size:13px}.skill-btn[data-v-c4bf938c]{padding:6px 14px;font-size:13px;min-height:34px}.me-char[data-v-c4bf938c]{display:none}.chat-drawer[data-v-c4bf938c]{width:calc(100vw - 24px)}}.draw-overlay[data-v-c4bf938c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a080599;display:flex;align-items:center;justify-content:center;z-index:78}.draw-dialog[data-v-c4bf938c]{padding:20px 24px;max-width:560px;width:calc(100% - 40px);text-align:center}.draw-title[data-v-c4bf938c]{font-size:17px;font-weight:600;margin-bottom:14px}.draw-cards[data-v-c4bf938c]{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.draw-card[data-v-c4bf938c]{width:128px;border:1px solid var(--border);border-radius:10px;padding:12px 10px;background:var(--panel-2);color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s,transform .15s}.draw-card[data-v-c4bf938c]:hover{border-color:var(--accent);transform:translateY(-3px)}.dc-name[data-v-c4bf938c]{font-weight:700;color:var(--accent);font-size:14px}.dc-desc[data-v-c4bf938c]{font-size:12px;color:var(--text-dim);margin-top:6px;line-height:1.5}.phasebar[data-v-14b7f761]{display:flex;align-items:center;gap:14px;padding:8px 14px;flex-wrap:wrap}.chips[data-v-14b7f761]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chip[data-v-14b7f761]{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--text-dim);padding:3px 10px;border-radius:999px;border:1px solid transparent}.chip .dot[data-v-14b7f761]{width:7px;height:7px;border-radius:50%;background:var(--border)}.chip.ready[data-v-14b7f761]{color:var(--accent);border-color:var(--accent);background:#d8a24a14}.chip.ready .dot[data-v-14b7f761]{background:var(--accent)}.chip.done[data-v-14b7f761]{color:#6fae6f}.chip.done .dot[data-v-14b7f761]{background:#6fae6f}.turn-label[data-v-14b7f761]{font-size:14px;color:var(--text-dim);flex:1}.turn-label.mine[data-v-14b7f761]{color:var(--accent)}.actions[data-v-14b7f761]{display:flex;gap:8px;margin-left:auto}.mini[data-v-14b7f761]{padding:4px 12px;font-size:13px}.end-turn[data-v-14b7f761]{padding:5px 18px;font-weight:600}.charpanel[data-v-8f0c77c3]{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.row[data-v-8f0c77c3]{display:flex;gap:10px;align-items:flex-start}.row.mine .name[data-v-8f0c77c3]{color:var(--accent)}.side-mark[data-v-8f0c77c3]{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-family:KaiTi,楷体,serif;flex-shrink:0;background:radial-gradient(circle at 35% 30%,#f5e2c5,#e8cfa5);overflow:hidden}.side-mark img[data-v-8f0c77c3]{width:100%;height:100%;object-fit:cover}.side-mark.red[data-v-8f0c77c3]{color:#bf3122;box-shadow:inset 0 0 0 2px #bf3122}.side-mark.black[data-v-8f0c77c3]{color:#2c2620;box-shadow:inset 0 0 0 2px #2c2620}.info[data-v-8f0c77c3]{min-width:0}.name[data-v-8f0c77c3]{font-size:14px;font-weight:600;display:flex;gap:8px;align-items:baseline}.cd[data-v-8f0c77c3]{font-size:12px;font-weight:400;color:var(--text-dim)}.desc[data-v-8f0c77c3]{font-size:12px;color:var(--text-dim);margin-top:2px;line-height:1.5}.use-skill[data-v-8f0c77c3]{padding:8px;font-size:14px}.use-skill.arming[data-v-8f0c77c3]{background:var(--accent);border-color:var(--accent);color:#241c10;font-weight:700}.handpanel[data-v-73570a70]{position:relative;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.head[data-v-73570a70]{display:flex;justify-content:space-between;align-items:baseline}.title[data-v-73570a70]{font-weight:600;font-size:14px}.meta[data-v-73570a70]{font-size:12px;color:var(--text-dim)}.cards[data-v-73570a70]{display:flex;gap:8px;flex-wrap:wrap;min-height:64px}.card[data-v-73570a70]{width:118px;border:1px solid var(--border);border-radius:8px;padding:7px 9px;background:var(--panel-2);cursor:default}.card.playable[data-v-73570a70]{cursor:pointer;transition:border-color .15s,transform .15s}.card.playable[data-v-73570a70]:hover{border-color:var(--accent);transform:translateY(-3px)}.card.active[data-v-73570a70]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cname[data-v-73570a70]{font-size:13px;font-weight:600;color:var(--accent)}.cdesc[data-v-73570a70]{font-size:11px;color:var(--text-dim);margin-top:3px;line-height:1.45}.empty[data-v-73570a70]{color:var(--text-dim);font-size:13px}.opp-title[data-v-73570a70]{font-size:12px;color:var(--text-dim);margin-bottom:4px}.opp-cards[data-v-73570a70]{display:flex;gap:6px;flex-wrap:wrap}.mini-card[data-v-73570a70]{font-size:12px;border:1px solid var(--border);border-radius:6px;padding:3px 8px;color:var(--text)}.backs[data-v-73570a70]{display:flex;gap:4px;flex-wrap:wrap}.back[data-v-73570a70]{width:26px;height:36px;border-radius:4px;background:linear-gradient(160deg,#5a4a34,#3d3225);border:1px solid var(--border);color:var(--text-dim);font-size:11px;display:flex;align-items:center;justify-content:center}.back.pickable[data-v-73570a70]{cursor:pointer}.back.pickable[data-v-73570a70]:hover{border-color:var(--accent);color:var(--accent)}.overlay[data-v-73570a70]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a08058c;display:flex;align-items:center;justify-content:center;z-index:30;border-radius:12px}.overlay.local[data-v-73570a70]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70}.dialog[data-v-73570a70]{padding:18px;max-width:560px;max-height:70vh;overflow-y:auto}.d-title[data-v-73570a70]{font-weight:600;margin-bottom:12px}.d-cards[data-v-73570a70]{display:flex;gap:8px;flex-wrap:wrap}.backs.big .back[data-v-73570a70]{width:44px;height:62px;font-size:14px;margin:3px}.overlay[data-v-81f997f1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0805cc;display:flex;align-items:center;justify-content:center;z-index:60}.prep[data-v-81f997f1]{padding:26px 30px;max-width:760px;width:calc(100% - 32px);max-height:84vh;overflow-y:auto;text-align:center}h2[data-v-81f997f1]{font-size:20px;margin-bottom:6px}.hint[data-v-81f997f1]{color:var(--text-dim);font-size:13px;margin-bottom:18px}.chars[data-v-81f997f1]{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.char-art[data-v-81f997f1]{width:100%;height:84px;object-fit:cover;border-radius:8px;margin-bottom:8px;background:#262019}.char[data-v-81f997f1]{width:132px;border:1px solid var(--border);border-radius:10px;padding:12px 10px;background:var(--panel-2);cursor:pointer;text-align:left;transition:border-color .15s,transform .15s}.char[data-v-81f997f1]:hover{border-color:var(--accent);transform:translateY(-3px)}.cname[data-v-81f997f1]{font-weight:700;color:var(--accent);display:flex;justify-content:space-between;align-items:baseline;font-size:15px}.cd[data-v-81f997f1]{font-size:11px;color:var(--text-dim);font-weight:400}.cdesc[data-v-81f997f1]{font-size:12px;color:var(--text-dim);margin-top:6px;line-height:1.55}.waiting[data-v-81f997f1]{margin-top:16px;color:var(--text-dim);font-size:14px}.hand[data-v-81f997f1]{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}.card[data-v-81f997f1]{width:92px;height:128px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;font-size:15px}.card.selected[data-v-81f997f1]{border-color:#d8a24a;box-shadow:0 0 0 2px #d8a24a99}.mark[data-v-81f997f1]{position:absolute;bottom:6px;font-size:12px;color:var(--accent)}.confirm[data-v-81f997f1]{padding:10px 26px}.waiting[data-v-81f997f1]{margin-top:12px;color:var(--text-dim);font-size:13px}.overlay[data-v-b6b0c21e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0805b8;display:flex;align-items:center;justify-content:center;z-index:80}.dialog[data-v-b6b0c21e]{padding:26px 32px;text-align:center;max-width:460px;width:calc(100% - 32px)}h2[data-v-b6b0c21e]{font-size:19px;margin-bottom:8px}.hint[data-v-b6b0c21e]{color:var(--text-dim);font-size:13px;margin-bottom:16px}.actions[data-v-b6b0c21e]{display:flex;gap:12px;justify-content:center;margin-bottom:14px}.danger[data-v-b6b0c21e]{border-color:#7a3b30;color:#e08a7d}.candidates[data-v-b6b0c21e]{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:14px}.cand[data-v-b6b0c21e]{display:flex;align-items:baseline;gap:4px;padding:10px 16px;min-height:42px;font-size:15px}.cand-name[data-v-b6b0c21e]{font-weight:700;color:var(--accent)}.cand-cell[data-v-b6b0c21e]{font-size:12px;color:var(--text-dim)}.countbar[data-v-b6b0c21e]{height:4px;border-radius:2px;background:var(--border);overflow:hidden}.fill[data-v-b6b0c21e]{height:100%;background:var(--accent);transition:width .1s linear}.dim[data-v-b6b0c21e]{margin-top:8px;font-size:12px;color:var(--text-dim)}.overlay[data-v-ccf7359f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a080599;display:flex;align-items:center;justify-content:center;z-index:75}.overlay.passthrough[data-v-ccf7359f]{pointer-events:none;background:transparent}.overlay.passthrough .dialog[data-v-ccf7359f]{pointer-events:auto;position:fixed;top:12px;left:50%;transform:translate(-50%);width:auto;max-width:90vw;padding:10px 20px}.dialog[data-v-ccf7359f]{padding:20px 24px;max-width:560px;width:calc(100% - 40px);text-align:center;max-height:76vh;overflow-y:auto}h3[data-v-ccf7359f]{margin-bottom:10px;font-size:17px}.hint[data-v-ccf7359f]{color:var(--text-dim);font-size:13px;margin-bottom:12px}.hint.gold[data-v-ccf7359f]{color:var(--accent);font-weight:700;border:1px solid var(--accent);border-radius:8px;padding:6px 12px;margin:0}.grid[data-v-ccf7359f]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}.piece-btn[data-v-ccf7359f]{min-width:64px;padding:8px 12px;font-size:14px}.slot[data-v-ccf7359f]{width:44px;height:62px;background:linear-gradient(160deg,#5a4a34,#3d3225);border:1px solid var(--border);color:var(--text-dim);font-size:14px}.slot[data-v-ccf7359f]:hover{border-color:var(--accent);color:var(--accent)}.dim[data-v-ccf7359f]{color:var(--text-dim);font-size:13px}.cancel[data-v-ccf7359f]{padding:6px 18px;font-size:13px;border-color:#7a3b30;color:#e08a7d}.room[data-v-fad21b8e]{min-height:100%;padding:16px;display:flex;flex-direction:column;gap:12px;max-width:1080px;margin:0 auto}.room.arena-open[data-v-fad21b8e]{padding:0;max-width:none}.topbar[data-v-fad21b8e]{display:flex;align-items:center;gap:14px;padding:10px 14px}.room-info[data-v-fad21b8e]{flex:1;display:flex;gap:10px;align-items:center}.badge[data-v-fad21b8e]{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;font-size:13px;padding:4px 12px}.badge.obs[data-v-fad21b8e]{color:var(--text-dim)}.badge.local[data-v-fad21b8e]{color:var(--accent)}.code[data-v-fad21b8e]{font-size:15px;letter-spacing:2px;cursor:pointer;color:var(--accent)}.banner[data-v-fad21b8e]{text-align:center;padding:8px;border-radius:10px;background:var(--panel);border:1px solid var(--border);color:var(--text-dim);font-size:14px}.banner.active[data-v-fad21b8e]{color:var(--accent);border-color:var(--accent)}.banner.warn[data-v-fad21b8e]{color:#e8a24a;border-color:#8a6a2f}.layout[data-v-fad21b8e]{display:flex;gap:16px;align-items:flex-start}.board-col[data-v-fad21b8e]{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.player-bar[data-v-fad21b8e]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--border);transition:border-color .2s}.player-bar.turn[data-v-fad21b8e]{border-color:var(--accent)}.avatar[data-v-fad21b8e]{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:KaiTi,楷体,serif;font-weight:700;font-size:18px}.avatar.red[data-v-fad21b8e]{background:radial-gradient(circle at 35% 30%,#f5e2c5,#e8cfa5);color:#bf3122;box-shadow:inset 0 0 0 2px #bf3122}.avatar.black[data-v-fad21b8e]{background:radial-gradient(circle at 35% 30%,#f5e2c5,#e8cfa5);color:#2c2620;box-shadow:inset 0 0 0 2px #2c2620}.pinfo[data-v-fad21b8e]{display:flex;justify-content:space-between;flex:1;align-items:center}.pname[data-v-fad21b8e]{font-size:15px}.offline[data-v-fad21b8e]{color:#d8a24a;font-size:12px}.pclock[data-v-fad21b8e]{font-variant-numeric:tabular-nums;font-size:18px;color:var(--text)}.pclock.urgent[data-v-fad21b8e]{color:var(--red);font-weight:700}.side[data-v-fad21b8e]{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}.moves[data-v-fad21b8e]{display:flex;flex-direction:column;max-height:300px}.moves .title[data-v-fad21b8e]{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-dim);font-size:14px;font-weight:600}.moves .list[data-v-fad21b8e]{overflow-y:auto;padding:8px 14px;font-size:14px;min-height:80px}.empty[data-v-fad21b8e]{color:var(--text-dim);font-size:13px}.mrow[data-v-fad21b8e]{display:flex;gap:10px;padding:3px 0}.idx[data-v-fad21b8e]{color:var(--text-dim);width:28px}.mrow .red[data-v-fad21b8e]{color:#e08a7d;flex:1}.mrow .black[data-v-fad21b8e]{color:#b8c4c8;flex:1}.actions[data-v-fad21b8e]{display:flex;gap:8px;padding:12px;flex-wrap:wrap}.actions button[data-v-fad21b8e]{flex:1}.danger[data-v-fad21b8e]{border-color:#7a3b30;color:#e08a7d}.overlay[data-v-fad21b8e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0805b8;display:flex;align-items:center;justify-content:center;z-index:50}.overlay-card[data-v-fad21b8e]{padding:32px 40px;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}.result h2[data-v-fad21b8e]{font-size:22px}.result-icon[data-v-fad21b8e]{font-size:40px}.result-actions[data-v-fad21b8e]{display:flex;gap:12px}.dim[data-v-fad21b8e]{color:var(--text-dim);font-size:13px}.spinner[data-v-fad21b8e]{width:34px;height:34px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin-fad21b8e .9s linear infinite}@keyframes spin-fad21b8e{to{transform:rotate(360deg)}}.draw-toast[data-v-fad21b8e]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--accent);padding:10px 20px;border-radius:999px;z-index:40;cursor:pointer}.targeting-bar[data-v-fad21b8e]{position:fixed;bottom:84px;left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--accent);box-shadow:0 0 18px #d8a24a59;padding:10px 16px;border-radius:12px;z-index:45;display:flex;gap:10px;align-items:center;font-size:14px}.targeting-bar button[data-v-fad21b8e]{padding:5px 14px;font-size:13px}.targeting-bar.above[data-v-fad21b8e]{bottom:190px}.toast[data-v-fad21b8e]{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#322a21f2;border:1px solid var(--accent);padding:10px 22px;border-radius:10px;z-index:60}.fade-enter-active[data-v-fad21b8e],.fade-leave-active[data-v-fad21b8e]{transition:opacity .25s}.fade-enter-from[data-v-fad21b8e],.fade-leave-to[data-v-fad21b8e]{opacity:0}@media(max-width:900px){.layout[data-v-fad21b8e]{flex-direction:column}.board-col[data-v-fad21b8e]{width:100%}.side[data-v-fad21b8e]{width:100%;position:static;max-height:none}[data-v-fad21b8e] .board{width:min(100%,calc(100vw - 24px));max-width:520px}.targeting-bar[data-v-fad21b8e]{bottom:16px;max-width:calc(100vw - 24px);font-size:13px}.targeting-bar button[data-v-fad21b8e]{padding:10px 18px;font-size:14px}.targeting-bar.above[data-v-fad21b8e]{bottom:calc(176px + env(safe-area-inset-bottom,0px))}[data-v-fad21b8e] .phasebar{position:sticky;top:0;z-index:24}[data-v-fad21b8e] .phasebar .end-turn,[data-v-fad21b8e] .phasebar .mini{padding:10px 18px;font-size:14px}[data-v-fad21b8e] .handpanel{position:sticky;bottom:0;z-index:25;background:var(--bg);box-shadow:0 -4px 14px #00000059;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}[data-v-fad21b8e] .handpanel .card{min-height:48px}[data-v-fad21b8e] .moves .list{max-height:150px}[data-v-fad21b8e] .chatpanel{max-height:240px;overflow-y:auto}}:root{--bg: #1a1713;--panel: #262019;--panel-2: #322a21;--border: #4a3e2f;--text: #e8ddc8;--text-dim: #9c8f78;--red: #d24b3e;--black-piece: #2e2a24;--wood: #e8c185;--wood-dark: #b98a4e;--accent: #d8a24a}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{background:var(--bg);color:var(--text);font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:8px;padding:10px 18px;font-size:15px;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#3d3327;border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:linear-gradient(180deg,#a3542f,#8a3f22);border-color:#c96b3f;color:#fff4e4;font-weight:600}button.primary:hover:not(:disabled){background:linear-gradient(180deg,#b65f36,#9a4a29)}input,select{font-family:inherit;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 12px;font-size:15px;outline:none}input:focus,select:focus{border-color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
