.vol[data-v-95157e22]{display:flex;flex-direction:column;gap:8px}.row[data-v-95157e22]{display:flex;align-items:center;gap:8px}.mini[data-v-95157e22]{padding:4px 8px;font-size:13px}.label[data-v-95157e22]{width:44px;font-size:13px;color:var(--ink);font-weight:600}.slider[data-v-95157e22]{flex:1;accent-color:var(--brass);height:24px}.pct[data-v-95157e22]{width:40px;font-size:12px;color:var(--ink-dim);text-align:right}.home[data-v-f029d542]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--bg);color:var(--ink);text-align:center;padding:24px;max-width:480px;margin:0 auto}h1[data-v-f029d542]{margin:0;font-size:22px}.sub[data-v-f029d542]{margin:0 0 6px;color:var(--ink-dim);font-size:13px}.nick-card[data-v-f029d542]{display:flex;align-items:center;gap:8px;width:100%;max-width:300px}#nick[data-v-f029d542]{flex:1;padding:8px 10px;border:2px dashed var(--stitch);border-radius:8px;background:var(--panel);color:var(--ink);font-size:14px}.entry[data-v-f029d542]{width:100%;max-width:300px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px;background:var(--panel);border:2px dashed var(--stitch);border-radius:12px;cursor:pointer;color:var(--ink)}.entry.primary[data-v-f029d542]{border-style:solid;border-color:var(--ink)}.entry[data-v-f029d542]:disabled{opacity:.55}.resume-list[data-v-f029d542]{width:100%;max-width:300px;display:flex;flex-direction:column;gap:8px}.entry.resume[data-v-f029d542]{flex-direction:row;align-items:center;gap:10px;padding:12px 14px}.entry.resume .label[data-v-f029d542]{flex:1;text-align:left;color:var(--seat0);font-size:14px}.entry.resume .abandon[data-v-f029d542]{padding:4px 8px;color:var(--ink-dim);font-size:14px}.big[data-v-f029d542]{font-size:24px}.label[data-v-f029d542]{font-size:16px;font-weight:700}.desc[data-v-f029d542]{font-size:12px;color:var(--ink-dim)}.join-row[data-v-f029d542]{display:flex;gap:8px;width:100%;max-width:300px}.code-input[data-v-f029d542]{flex:1;padding:10px;border:2px dashed var(--stitch);border-radius:8px;background:var(--panel);color:var(--ink);font-size:16px;letter-spacing:4px;text-transform:uppercase}.join-btn[data-v-f029d542]{padding:10px 18px;border:2px solid var(--ink);border-radius:8px;background:var(--ink);color:var(--panel);font-size:15px;cursor:pointer}.join-btn[data-v-f029d542]:disabled{opacity:.45}.records[data-v-f029d542]{display:flex;gap:10px;align-items:center;font-size:13px;padding:8px 16px;background:var(--panel);border:2px dashed var(--stitch);border-radius:8px}.records .wins[data-v-f029d542]{color:var(--ok);font-weight:700}.records .losses[data-v-f029d542]{color:var(--bad);font-weight:700}.audio-panel[data-v-f029d542]{width:100%;max-width:300px;padding:12px 14px;background:var(--panel)}.error[data-v-f029d542]{color:var(--bad);font-size:12px}.foot[data-v-f029d542]{margin-top:8px;font-size:11px;color:var(--ink-dim)}.quilt[data-v-4a9ee345]{display:flex;flex-direction:column;width:100%;aspect-ratio:1;padding:5px;background:var(--bg-deep);border:1.5px dashed var(--stitch);border-radius:6px;box-shadow:inset 0 2px 6px #46352a26}.quilt.active[data-v-4a9ee345]{box-shadow:inset 0 2px 6px #46352a26,0 0 0 3px var(--seat0)}.row[data-v-4a9ee345]{display:flex;flex:1}.cell[data-v-4a9ee345]{flex:1;position:relative;background:radial-gradient(circle,rgba(122,90,34,.16) 0 1px,transparent 1.6px);background-size:12px 12px;background-position:center;cursor:pointer}.patch-box[data-v-4a9ee345]{position:absolute;inset:1px;border-radius:2px;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 2px,transparent 2px 5px)}.patch-box.weave-1[data-v-4a9ee345]{background-image:repeating-linear-gradient(-45deg,rgba(0,0,0,.07) 0 2px,transparent 2px 5px)}.patch-box.weave-2[data-v-4a9ee345]{background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 2px,transparent 2px 5px),repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 2px,transparent 2px 5px)}.ghost[data-v-4a9ee345]{position:absolute;inset:2px;border-radius:3px;pointer-events:none}.ghost.ok[data-v-4a9ee345]{background:#3f7d3f73;box-shadow:inset 0 0 0 1.5px dashed #ffffffb3}.ghost.bad[data-v-4a9ee345]{background:#b54b3f80}.track[data-v-8e52dfff]{display:flex;flex-direction:column;gap:3px;width:100%;padding:4px 3px}.row[data-v-8e52dfff]{display:flex}.cell[data-v-8e52dfff]{position:relative;flex:1;min-height:16px;display:flex;align-items:center;justify-content:center}.tick[data-v-8e52dfff]{position:absolute;top:1px;pointer-events:none}.button-icon[data-v-8e52dfff]{width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e8c97a,var(--brass) 60%,var(--brass-deep));box-shadow:inset 0 -1px 1px #00000059,0 1px 1px #fff6;margin-top:6px}.leather-icon[data-v-8e52dfff]{width:10px;height:8px;background:var(--leather);border-radius:2px;box-shadow:inset 0 -1px 1px #0006;margin-top:6px}.leather-icon.taken[data-v-8e52dfff]{opacity:.3}.token[data-v-8e52dfff]{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:13px;height:13px;border-radius:50%;box-shadow:inset 0 -2px 3px #0000004d,inset 0 1px 2px #ffffff80,0 1px 2px #00000059;transition:left .24s ease,top .24s ease;z-index:2}.token.seat0[data-v-8e52dfff]{background:linear-gradient(160deg,#7fa8cd,var(--seat0) 55%,#2c5378)}.token.seat1[data-v-8e52dfff]{background:linear-gradient(160deg,#d18a80,var(--seat1) 55%,#8a2f27)}.shape[data-v-1c07e99b]{display:grid;gap:1px;background:transparent}.cell[data-v-1c07e99b]{background:transparent}.picker[data-v-0d8ca854]{display:flex;gap:8px;justify-content:center}.piece[data-v-0d8ca854]{flex:1;max-width:110px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;background:var(--panel);border:1.5px dashed var(--stitch);border-radius:var(--radius);box-shadow:var(--shadow-card);cursor:pointer}.piece.disabled[data-v-0d8ca854]{opacity:.45;cursor:not-allowed}.piece.selected[data-v-0d8ca854]{border-style:solid;border-color:var(--seat0);box-shadow:0 0 0 2px var(--seat0)}.mini[data-v-0d8ca854]{min-height:34px;display:flex;align-items:center;justify-content:center}.meta[data-v-0d8ca854]{display:flex;flex-direction:column;align-items:center;gap:2px}.name[data-v-0d8ca854]{font-size:10px;color:var(--ink-dim);white-space:nowrap}.stats[data-v-0d8ca854]{display:flex;gap:4px;font-size:11px;font-weight:600}.stats>span[data-v-0d8ca854]{font-family:var(--font-num);font-variant-numeric:tabular-nums}.cost[data-v-0d8ca854]{color:var(--brass-deep)}.time[data-v-0d8ca854]{color:var(--seat1)}.income[data-v-0d8ca854]{color:var(--ok)}.overlay[data-v-f5edf3cb]{position:fixed;inset:0;background:#4a3b2a8c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.panel[data-v-f5edf3cb]{width:100%;max-width:340px;background:var(--panel);padding:20px;text-align:center}.winner[data-v-f5edf3cb]{font-size:16px;font-weight:700}.row[data-v-f5edf3cb]{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px dashed var(--stitch)}.label[data-v-f5edf3cb]{width:64px;font-weight:700;text-align:left}.label.seat0[data-v-f5edf3cb]{color:var(--seat0)}.label.seat1[data-v-f5edf3cb]{color:var(--seat1)}.breakdown[data-v-f5edf3cb]{flex:1;font-size:12px;color:var(--ink-dim)}.score[data-v-f5edf3cb]{font-size:18px;font-weight:700}.vote[data-v-f5edf3cb]{margin:10px 0 0;font-size:12px;color:var(--ink-dim)}.actions[data-v-f5edf3cb]{display:flex;gap:12px;margin-top:14px}.actions .btn[data-v-f5edf3cb]{flex:1}.local[data-v-7f3bb5b8]{min-height:100vh;display:flex;flex-direction:column;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));max-width:480px;margin:0 auto}.top[data-v-7f3bb5b8]{display:flex;align-items:center;gap:8px}.top h1[data-v-7f3bb5b8]{flex:1;font-size:15px;margin:0}.back[data-v-7f3bb5b8]{padding:4px 10px}.mix[data-v-7f3bb5b8]{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px dashed var(--stitch-dark);background:var(--panel);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-card);transition:transform 60ms ease}.mix[data-v-7f3bb5b8]:active{transform:scale(.94)}.mix.active[data-v-7f3bb5b8]{border-style:solid;border-color:var(--brass);background:var(--panel-dim);color:var(--brass-deep)}.mix svg[data-v-7f3bb5b8]{width:17px;height:17px}.vol-panel[data-v-7f3bb5b8]{padding:10px 14px;background:var(--panel)}.turn[data-v-7f3bb5b8]{font-size:13px;font-weight:700}.turn.seat0[data-v-7f3bb5b8],.seat0[data-v-7f3bb5b8]{color:var(--seat0)}.turn.seat1[data-v-7f3bb5b8],.seat1[data-v-7f3bb5b8]{color:var(--seat1)}.board-head[data-v-7f3bb5b8]{display:flex;justify-content:space-between;font-size:12px;padding:2px 4px}.dim[data-v-7f3bb5b8]{color:var(--ink-dim);font-size:12px}.swap[data-v-7f3bb5b8]{display:block;margin:6px auto 0;border:none;background:none;color:var(--ink-dim);font-size:12px;text-decoration:underline;cursor:pointer}.resource[data-v-7f3bb5b8]{display:flex;gap:10px;justify-content:center;font-size:13px;font-weight:600}.res.bonus[data-v-7f3bb5b8]{color:var(--ok)}.bottom[data-v-7f3bb5b8]{display:flex;flex-direction:column;gap:8px;flex:1;justify-content:flex-end}.hint[data-v-7f3bb5b8]{margin:0;text-align:center;font-size:12px;color:var(--bad);min-height:18px}.advance[data-v-7f3bb5b8]{font-size:16px}.board-stage[data-v-7f3bb5b8]{position:relative}.placement-float[data-v-7f3bb5b8]{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:5;display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--panel);border:1.5px dashed var(--stitch-dark);border-radius:8px;box-shadow:0 4px 14px #46352a47}.orient-strip[data-v-7f3bb5b8]{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.orient[data-v-7f3bb5b8]{padding:4px;border:2px solid transparent;border-radius:4px;cursor:pointer}.orient.current[data-v-7f3bb5b8]{border-color:var(--seat0)}.placement-actions[data-v-7f3bb5b8]{display:flex;gap:8px}.act[data-v-7f3bb5b8]{flex:1;padding:9px;font-size:13px}@media(min-width:760px){.local[data-v-7f3bb5b8]{max-width:960px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:auto auto 1fr;gap:10px 16px;align-content:start}.top[data-v-7f3bb5b8]{grid-column:1 / -1}.board-section[data-v-7f3bb5b8]{grid-row:2 / 4}}.room[data-v-31327dcb]{min-height:100vh;display:flex;flex-direction:column;gap:14px;padding:12px 16px;max-width:480px;margin:0 auto}.nick-gate[data-v-31327dcb]{display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--panel)}.nick-input[data-v-31327dcb]{padding:12px;font-size:16px;border:1.5px dashed var(--stitch);border-radius:var(--radius);background:var(--panel);color:var(--ink)}.top[data-v-31327dcb]{display:flex;justify-content:space-between;align-items:center}.top h1[data-v-31327dcb]{margin:0;font-size:18px}.leave[data-v-31327dcb]{padding:4px 12px}.hint[data-v-31327dcb]{text-align:center;color:var(--ink-dim)}.hint.bad[data-v-31327dcb]{color:var(--bad)}.code-card[data-v-31327dcb]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;background:var(--panel)}.code[data-v-31327dcb]{font-size:42px;font-weight:800;letter-spacing:8px}.share[data-v-31327dcb]{margin-top:6px}.share-msg[data-v-31327dcb]{margin:6px 0 0;font-size:11px;color:var(--ok);word-break:break-all}.seats[data-v-31327dcb]{display:flex;flex-direction:column;gap:8px}.seat[data-v-31327dcb]{display:flex;align-items:center;gap:10px;padding:12px;background:var(--panel);border:2px dashed var(--stitch);border-radius:8px}.seat.me[data-v-31327dcb]{border-style:solid;border-color:var(--seat0)}.seat.ready[data-v-31327dcb]{border-color:var(--ok)}.dot[data-v-31327dcb]{width:10px;height:10px;border-radius:50%}.dot.on[data-v-31327dcb]{background:var(--ok)}.dot.off[data-v-31327dcb]{background:#ccc}.nick[data-v-31327dcb]{flex:1;font-size:15px}.ok[data-v-31327dcb]{font-size:12px;color:var(--ok);font-weight:700}.actions[data-v-31327dcb]{text-align:center;display:flex;flex-direction:column;gap:8px}.ready-btn[data-v-31327dcb]{padding:14px;font-size:16px;font-weight:700;border:2px solid var(--stitch);border-radius:10px;background:var(--panel);cursor:pointer}.ready-btn.on[data-v-31327dcb]{border-color:var(--ok);color:var(--ok)}.online[data-v-cf4906e2]{min-height:100vh;display:flex;flex-direction:column;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));max-width:480px;margin:0 auto}.top[data-v-cf4906e2]{display:flex;align-items:center;gap:8px}.top h1[data-v-cf4906e2]{flex:1;font-size:15px;margin:0}.back[data-v-cf4906e2]{padding:4px 10px}.surrender[data-v-cf4906e2]{padding:4px 8px;font-size:13px}.mix[data-v-cf4906e2]{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px dashed var(--stitch-dark);background:var(--panel);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-card);transition:transform 60ms ease}.mix[data-v-cf4906e2]:active{transform:scale(.94)}.mix.active[data-v-cf4906e2]{border-style:solid;border-color:var(--brass);background:var(--panel-dim);color:var(--brass-deep)}.mix svg[data-v-cf4906e2]{width:17px;height:17px}.vol-panel[data-v-cf4906e2]{padding:10px 14px;background:var(--panel)}.turn[data-v-cf4906e2]{font-size:13px;font-weight:700}.seat0[data-v-cf4906e2]{color:var(--seat0)}.seat1[data-v-cf4906e2]{color:var(--seat1)}.offline[data-v-cf4906e2]{margin:0;text-align:center;font-size:12px;color:var(--bad);min-height:18px}.hint[data-v-cf4906e2]{margin:0;text-align:center;font-size:12px;color:var(--ink-dim);min-height:18px}.board-head[data-v-cf4906e2]{display:flex;justify-content:space-between;font-size:12px;padding:2px 4px}.dim[data-v-cf4906e2]{color:var(--ink-dim);font-size:12px}.swap[data-v-cf4906e2]{display:block;margin:6px auto 0;border:none;background:none;color:var(--ink-dim);font-size:12px;text-decoration:underline;cursor:pointer}.resource[data-v-cf4906e2]{display:flex;gap:10px;justify-content:center;font-size:13px;font-weight:600}.res.me[data-v-cf4906e2]{color:var(--seat0)}.res.bonus[data-v-cf4906e2]{color:var(--ok)}.bottom[data-v-cf4906e2]{display:flex;flex-direction:column;gap:8px;flex:1;justify-content:flex-end}.advance[data-v-cf4906e2]{font-size:16px}.board-stage[data-v-cf4906e2]{position:relative}.placement-float[data-v-cf4906e2]{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:5;display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--panel);border:1.5px dashed var(--stitch-dark);border-radius:8px;box-shadow:0 4px 14px #46352a47}.orient-strip[data-v-cf4906e2]{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.orient[data-v-cf4906e2]{padding:4px;border:2px solid transparent;border-radius:4px;cursor:pointer}.orient.current[data-v-cf4906e2]{border-color:var(--seat0)}.placement-actions[data-v-cf4906e2]{display:flex;gap:8px}.act[data-v-cf4906e2]{flex:1;padding:9px;font-size:13px}.dead-card[data-v-cf4906e2]{grid-column:1 / -1;padding:28px;text-align:center;display:flex;flex-direction:column;gap:12px;background:var(--panel)}@media(min-width:760px){.online[data-v-cf4906e2]{max-width:960px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:auto auto 1fr;gap:10px 16px;align-content:start}.top[data-v-cf4906e2]{grid-column:1 / -1}.board-section[data-v-cf4906e2]{grid-row:2 / 4}}:root{--bg: #e9dfcc;--bg-deep: #ddd0b8;--panel: #faf4e8;--panel-dim: #f2e9d6;--ink: #46352a;--ink-dim: #8a7663;--stitch: #a78b68;--stitch-dark: #8a6f4d;--brass: #b98a2e;--brass-deep: #8f6a1f;--leather: #5d4037;--tape: #e9c96b;--tape-deep: #d9b253;--tape-ink: #7a5a22;--ok: #3f7d3f;--ok-dim: #639c63;--bad: #b54b3f;--seat0: #3a6ea5;--seat1: #b54b3f;--font-display: "Kaiti SC", "STKaiti", "KaiTi", "楷体", "SimKai", serif;--font-body: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-num: "Baskerville", "Georgia", "Times New Roman", serif;--radius: 8px;--shadow-card: 0 1px 3px rgba(70, 53, 42, .12), 0 4px 12px rgba(70, 53, 42, .08)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);background-image:repeating-linear-gradient(0deg,rgba(122,90,34,.028) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(122,90,34,.028) 0 1px,transparent 1px 3px);color:var(--ink);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;touch-action:manipulation}.display{font-family:var(--font-display);font-weight:700;letter-spacing:.04em}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.stitch{border:1.5px dashed var(--stitch);border-radius:var(--radius)}.fabric{position:relative}.fabric:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(45deg,rgba(255,255,255,.07) 0 2px,transparent 2px 4px),repeating-linear-gradient(-45deg,rgba(0,0,0,.06) 0 2px,transparent 2px 4px);border-radius:inherit}.patch{border:1.5px dashed rgba(138,111,77,.75);box-shadow:inset 0 0 0 1px #ffffff38,inset 0 -3px 6px #00000014}@keyframes patch-in{0%{transform:scale(.55);opacity:.25}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.patch-in{animation:patch-in .32s cubic-bezier(.2,.9,.3,1.2)}.tape{background:linear-gradient(180deg,var(--tape) 0%,var(--tape-deep) 100%);border-radius:3px;box-shadow:inset 0 1px 2px #ffffff73,inset 0 -2px 3px #7a5a224d,0 1px 2px #46352a40}.tape-cell{position:relative;border-right:1px solid rgba(122,90,34,.45)}.tape-tick{font-family:var(--font-num);font-size:7px;color:var(--tape-ink);line-height:1}.btn{font-family:inherit;padding:12px 16px;font-size:15px;font-weight:600;color:var(--ink);background:linear-gradient(180deg,#f7edd8 0%,var(--panel-dim) 100%);border:1.5px solid var(--stitch-dark);border-radius:10px;cursor:pointer;box-shadow:0 2px #46352a2e,var(--shadow-card);transition:transform 60ms ease,box-shadow 60ms ease}.btn:active{transform:translateY(1px);box-shadow:0 1px #46352a2e}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{color:var(--panel);background:linear-gradient(180deg,#574431 0%,var(--ink) 100%);border-color:var(--ink)}.btn.brass{color:#fff8e7;background:linear-gradient(180deg,#d3a445 0%,var(--brass-deep) 100%);border-color:var(--brass-deep);text-shadow:0 1px 1px rgba(0,0,0,.2)}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.card{background:var(--panel);border:1.5px dashed var(--stitch);border-radius:var(--radius);box-shadow:var(--shadow-card)}
