:root{--app-font-ui:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--app-font-display:Impact, "Arial Black", "Microsoft YaHei UI", sans-serif;--app-font-number:"Cascadia Mono", Consolas, "Courier New", monospace;--app-color-bg:#0a0c15;--app-color-surface:#141a2a;--app-color-surface-strong:#1d2740;--app-color-table:#122420;--app-color-table-deep:#0a1411;--app-color-table-felt:#1b3a33;--app-color-line:#2b3855;--app-color-line-hot:#4a2f52;--app-color-grid:#2b385547;--app-color-text:#eef2f8;--app-color-muted:#8492ac;--app-color-primary:#34dcea;--app-color-primary-deep:#1b9aa6;--app-color-accent:#ff49b0;--app-color-accent-deep:#c2317f;--app-color-reward:#ffce5a;--app-color-positive:#4fe0a0;--app-color-danger:#ff5a6a;--app-color-tile:#f4f6ee;--app-color-tile-edge:#c9d1c2;--app-color-tile-ink:#18202f;--app-color-overlay:#0a0c15d1;--app-color-shadow:#34dcea33;--app-color-shadow-hot:#ff49b03d;--app-color-shadow-warm:#ffce5a42}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:var(--app-font-ui);color:var(--app-color-text);background:radial-gradient(circle at 50% 0%, var(--app-color-surface) 0%, var(--app-color-bg) 60%);-webkit-font-smoothing:antialiased}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.4}.tile[data-v-e7b761ea]{background:linear-gradient(180deg, var(--app-color-tile) 0%, var(--app-color-tile-edge) 100%);width:3rem;height:4.2rem;color:var(--app-color-tile-ink);box-shadow:0 .2rem .5rem var(--app-color-table-deep);-webkit-user-select:none;user-select:none;border:2px solid #0000;border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex;position:relative}.tile__rank[data-v-e7b761ea]{font-family:var(--app-font-display);font-size:1.6rem;line-height:1}.tile__suit[data-v-e7b761ea]{letter-spacing:.1em;opacity:.8;font-size:.7rem}.tile--m .tile__rank[data-v-e7b761ea]{color:var(--app-color-danger)}.tile--p .tile__rank[data-v-e7b761ea]{color:var(--app-color-primary)}.tile--s .tile__rank[data-v-e7b761ea]{color:var(--app-color-positive)}.tile.is-selected[data-v-e7b761ea]{border-color:var(--app-color-accent);box-shadow:0 .4rem .9rem var(--app-color-shadow-hot);transform:translateY(-.6rem)}.tile.is-fresh[data-v-e7b761ea]{border-color:var(--app-color-reward);box-shadow:0 0 .9rem var(--app-color-shadow-warm);animation:.42s cubic-bezier(.34,1.56,.64,1) tile-in-e7b761ea}.tile.is-locked[data-v-e7b761ea]{border-color:var(--app-color-muted);opacity:.78;cursor:not-allowed}@keyframes tile-in-e7b761ea{0%{opacity:0;transform:translateY(-1.6rem)scale(.7)rotate(-6deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.tile__badge[data-v-e7b761ea]{color:var(--app-color-table-deep);background:var(--app-color-reward);box-shadow:0 0 .4rem var(--app-color-shadow-warm);border-radius:.6rem;padding:.05rem .3rem;font-size:.6rem;font-weight:700;position:absolute;top:-.45rem;right:-.35rem}.tile__lock[data-v-e7b761ea]{color:var(--app-color-tile);background:var(--app-color-muted);border-radius:.6rem;padding:.05rem .3rem;font-size:.6rem;font-weight:700;position:absolute;top:-.45rem;left:-.35rem}.tile__group-dot[data-v-e7b761ea]{background:var(--group-color);border-radius:50%;width:.5rem;height:.5rem;position:absolute;bottom:.3rem}.tween-number[data-v-777f3ba5]{font-variant-numeric:tabular-nums}.flying-layer[data-v-6384d815]{pointer-events:none;z-index:50;position:fixed;inset:0}.flyer[data-v-6384d815]{will-change:transform, opacity;position:absolute}.game[data-v-3b3a7975]{flex-direction:column;gap:.6rem;width:min(980px,100vw);height:100vh;margin:0 auto;padding:.8rem;display:flex;position:relative}.num[data-v-3b3a7975]{font-family:var(--app-font-number)}.sep[data-v-3b3a7975]{opacity:.5;margin:0 .15em}.topbar[data-v-3b3a7975]{background:var(--app-color-surface);border:1px solid var(--app-color-line);border-radius:.8rem;grid-template-columns:1fr auto auto auto;align-items:center;gap:1.1rem;padding:.6rem 1rem;display:grid}.stat[data-v-3b3a7975]{flex-direction:column;gap:.2rem;display:flex}.stat--center[data-v-3b3a7975],.stat--right[data-v-3b3a7975]{align-items:center}.stat__label[data-v-3b3a7975]{color:var(--app-color-muted);letter-spacing:.08em;font-size:.7rem}.stat__value[data-v-3b3a7975]{align-items:baseline;font-size:1.1rem;display:flex}.progress__pct[data-v-3b3a7975]{color:var(--app-color-positive);background:color-mix(in srgb, var(--app-color-positive) 14%, transparent);border-radius:.5rem;align-self:center;margin-left:.6rem;padding:.05rem .4rem;font-size:.8rem}.stat__value .big[data-v-3b3a7975]{color:var(--app-color-reward);font-size:1.7rem}.progress[data-v-3b3a7975]{background:var(--app-color-table-deep);border-radius:1rem;height:.4rem;margin-top:.3rem;overflow:hidden}.progress__fill[data-v-3b3a7975]{background:linear-gradient(90deg, var(--app-color-primary), var(--app-color-positive));height:100%;transition:width .4s}.progress__pct[data-v-3b3a7975]{color:var(--app-color-positive);font-size:.72rem;position:absolute;top:-1.2rem;right:0}.seats[data-v-3b3a7975]{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.seat[data-v-3b3a7975]{background:color-mix(in srgb, var(--sc) 8%, var(--app-color-surface));border:1px solid color-mix(in srgb, var(--sc) 40%, transparent);border-radius:.7rem;padding:.45rem .7rem}.seat__head[data-v-3b3a7975]{align-items:center;gap:.4rem;margin-bottom:.15rem;display:flex}.seat__name[data-v-3b3a7975]{color:var(--sc);font-weight:700}.seat__role[data-v-3b3a7975]{color:var(--sc);border:1px solid color-mix(in srgb, var(--sc) 45%, transparent);border-radius:.4rem;padding:.05rem .35rem;font-size:.65rem}.seat__intent[data-v-3b3a7975]{color:var(--app-color-text);font-size:.78rem}.formula-bar[data-v-3b3a7975]{background:var(--app-color-surface);border:1px solid var(--app-color-line);border-radius:.8rem;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.5rem 1rem;display:flex}.formula-bar__label[data-v-3b3a7975]{color:var(--app-color-muted);letter-spacing:.1em;font-size:.8rem}.formula-bar__formula[data-v-3b3a7975]{color:var(--app-color-muted);font-size:1rem}.formula-bar__formula .eq[data-v-3b3a7975]{margin:0 .3em}.formula-bar__formula em[data-v-3b3a7975]{color:var(--app-color-reward);font-size:1.5rem;font-style:normal}.yaku-tag[data-v-3b3a7975]{color:var(--app-color-accent);border:1px solid var(--app-color-line-hot);border-radius:.4rem;padding:.15rem .55rem;font-size:.78rem}.flower-tag[data-v-3b3a7975]{color:var(--app-color-reward);border:1px solid color-mix(in srgb, var(--app-color-reward) 45%, transparent);background:color-mix(in srgb, var(--app-color-reward) 10%, transparent);border-radius:.4rem;padding:.15rem .55rem;font-size:.78rem}.flower-tag.is-off[data-v-3b3a7975]{color:var(--app-color-muted);border-color:var(--app-color-line);opacity:.6;background:0 0}.flowers[data-v-3b3a7975]{background:var(--app-color-surface);border:1px solid var(--app-color-line);border-radius:.8rem;align-items:center;gap:.6rem;padding:.4rem .8rem;display:flex}.flowers__label[data-v-3b3a7975]{color:var(--app-color-muted);letter-spacing:.1em;flex-shrink:0;font-size:.8rem}.flowers__list[data-v-3b3a7975]{flex-wrap:wrap;gap:.5rem;display:flex}.flower[data-v-3b3a7975]{background:linear-gradient(180deg, color-mix(in srgb, var(--app-color-reward) 22%, var(--app-color-surface-strong)) 0%, var(--app-color-surface-strong) 100%);border:1px solid color-mix(in srgb, var(--app-color-reward) 45%, transparent);border-radius:.5rem;align-items:center;gap:.4rem;padding:.25rem .55rem;display:flex}.flower__name[data-v-3b3a7975]{font-family:var(--app-font-display);color:var(--app-color-reward);font-size:1.05rem}.flower__desc[data-v-3b3a7975]{color:var(--app-color-text);opacity:.85;font-size:.72rem}.flower.is-pop[data-v-3b3a7975]{animation:.9s cubic-bezier(.34,1.56,.64,1) flower-pop-3b3a7975}@keyframes flower-pop-3b3a7975{0%{opacity:0;box-shadow:0 0 1.4rem var(--app-color-shadow-warm);transform:translateY(-1rem)scale(.6)rotate(-8deg)}60%{box-shadow:0 0 1.4rem var(--app-color-shadow-warm);transform:translateY(0)scale(1.12)rotate(0)}to{transform:translateY(0)scale(1)rotate(0);box-shadow:0 0 #0000}}.felt[data-v-3b3a7975]{background:radial-gradient(circle at 50% 36%, var(--app-color-table-felt) 0%, var(--app-color-table) 55%, var(--app-color-table-deep) 100%);border:1px solid var(--app-color-line);border-radius:1rem;flex-direction:column;flex:1;justify-content:space-between;align-items:center;padding:.8rem 1rem 1rem;transition:box-shadow .2s;display:flex;position:relative;overflow:hidden}.felt.is-firing[data-v-3b3a7975]{box-shadow:inset 0 0 3rem var(--app-color-shadow-warm)}.table-center[data-v-3b3a7975]{opacity:.5;flex-direction:column;align-items:center;gap:.4rem;transition:opacity .2s;display:flex}.table-center.is-active[data-v-3b3a7975]{opacity:1}.table-center__label[data-v-3b3a7975]{letter-spacing:.1em;color:var(--app-color-muted);font-size:.72rem}.table-center__tiles[data-v-3b3a7975]{align-items:flex-start;gap:1.1rem;min-height:5.6rem;display:flex}.ttile[data-v-3b3a7975]{flex-direction:column;align-items:center;gap:.2rem;display:flex}.ttile__seat[data-v-3b3a7975]{color:var(--sc);border:1px solid color-mix(in srgb, var(--sc) 45%, transparent);border-radius:.4rem;padding:.02rem .3rem;font-size:.62rem}.ttile__acts[data-v-3b3a7975]{gap:.25rem;min-height:1.4rem;display:flex}.mini[data-v-3b3a7975]{color:var(--app-color-table-deep);border:1px solid #0000;border-radius:.4rem;padding:.12rem .5rem;font-size:.72rem;font-weight:700}.mini--chi[data-v-3b3a7975]{background:var(--app-color-primary)}.mini--pon[data-v-3b3a7975]{background:var(--app-color-accent)}.mini--kan[data-v-3b3a7975]{background:var(--app-color-reward)}.hand-wrap[data-v-3b3a7975]{justify-content:center;width:100%;display:flex}.hand[data-v-3b3a7975]{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.9rem;padding:.4rem;display:flex}.group[data-v-3b3a7975]{background:color-mix(in srgb, var(--c) 10%, transparent);border:1px solid color-mix(in srgb, var(--c) 35%, transparent);border-radius:.6rem;flex-direction:column;gap:.35rem;padding:.4rem .5rem .3rem;display:flex}.group.is-firing[data-v-3b3a7975]{animation:.6s ease-out meld-fire-3b3a7975}@keyframes meld-fire-3b3a7975{0%{transform:translateY(0)scale(1);box-shadow:0 0 #0000}35%{box-shadow:0 0 1.2rem color-mix(in srgb, var(--c) 60%, transparent);transform:translateY(-.4rem)scale(1.06)}to{transform:translateY(0)scale(1);box-shadow:0 0 #0000}}.group--single[data-v-3b3a7975]{--c:var(--app-color-muted);background:0 0;border-style:dashed}.group--locked[data-v-3b3a7975]{border-style:dashed;border-width:2px}.group__lock[data-v-3b3a7975]{color:var(--app-color-muted);font-size:.72rem;font-weight:700}.group__tiles[data-v-3b3a7975]{gap:.25rem;display:flex}.tslot[data-v-3b3a7975]{cursor:grab}.tslot[data-v-3b3a7975]:active{cursor:grabbing}.tslot.is-drag[data-v-3b3a7975]{opacity:.35}.group__label[data-v-3b3a7975]{justify-content:center;align-items:baseline;gap:.4rem;font-size:.78rem;display:flex}.group__kind[data-v-3b3a7975]{color:var(--c);font-weight:700}.group__chips[data-v-3b3a7975]{color:var(--app-color-positive)}.group__hint[data-v-3b3a7975]{color:var(--app-color-muted);font-size:.7rem}.grp-move[data-v-3b3a7975],.tile-move[data-v-3b3a7975]{transition:transform .42s cubic-bezier(.34,1.32,.5,1)}.tile-enter-active[data-v-3b3a7975]{transition:transform .32s cubic-bezier(.34,1.56,.64,1),opacity .32s}.tile-leave-active[data-v-3b3a7975]{transition:transform .22s,opacity .22s;position:absolute}.tile-enter-from[data-v-3b3a7975],.tile-leave-to[data-v-3b3a7975]{opacity:0;transform:translateY(-1rem)scale(.7)}.grp-enter-active[data-v-3b3a7975],.grp-leave-active[data-v-3b3a7975]{transition:transform .3s,opacity .3s}.grp-enter-from[data-v-3b3a7975],.grp-leave-to[data-v-3b3a7975]{opacity:0;transform:scale(.85)}.pop[data-v-3b3a7975]{font-family:var(--app-font-display);color:var(--app-color-reward);text-shadow:0 0 1.4rem var(--app-color-shadow-warm);pointer-events:none;z-index:5;font-size:3.4rem;animation:1.1s ease-out forwards pop-up-3b3a7975;position:absolute;top:30%;left:50%;transform:translate(-50%)}@keyframes pop-up-3b3a7975{0%{opacity:0;transform:translate(-50%,1rem)scale(.8)}20%{opacity:1;transform:translate(-50%)scale(1.25)}to{opacity:0;transform:translate(-50%,-3.2rem)scale(1)}}.control[data-v-3b3a7975]{grid-template-columns:1fr auto 1fr;align-items:center;min-height:3.2rem;display:grid}.river[data-v-3b3a7975]{background:var(--app-color-surface);border:1px solid var(--app-color-line);border-radius:.6rem;justify-self:start;align-items:center;gap:.4rem;padding:.4rem .8rem;display:flex}.river__label[data-v-3b3a7975]{color:var(--app-color-muted);font-size:.75rem}.river__count[data-v-3b3a7975]{color:var(--app-color-text);font-size:1.2rem}.control__main[data-v-3b3a7975]{justify-content:center;align-items:center;gap:.6rem;display:flex}.need[data-v-3b3a7975]{color:var(--app-color-reward);font-size:.95rem}.hint[data-v-3b3a7975]{color:var(--app-color-muted);font-size:.82rem}.btn[data-v-3b3a7975]{background:var(--app-color-surface-strong);border:1px solid var(--app-color-line);color:var(--app-color-text);border-radius:.6rem;padding:.65rem 1.5rem;font-size:1rem;font-weight:700;transition:transform .1s,box-shadow .1s}.btn[data-v-3b3a7975]:disabled{opacity:.45}.btn[data-v-3b3a7975]:hover:not(:disabled){transform:translateY(-1px)}.btn--primary[data-v-3b3a7975]{background:linear-gradient(180deg, var(--app-color-primary), var(--app-color-primary-deep));color:var(--app-color-table-deep);border-color:#0000}.btn--hu[data-v-3b3a7975]{background:linear-gradient(180deg, var(--app-color-accent), var(--app-color-accent-deep));box-shadow:0 0 .8rem var(--app-color-shadow-hot);border-color:#0000;animation:1s ease-in-out infinite hu-pulse-3b3a7975}@keyframes hu-pulse-3b3a7975{0%,to{box-shadow:0 0 .6rem var(--app-color-shadow-hot)}50%{box-shadow:0 0 1.4rem var(--app-color-shadow-hot)}}.overlay[data-v-3b3a7975]{background:var(--app-color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay__card[data-v-3b3a7975]{text-align:center;background:var(--app-color-surface);border:1px solid var(--app-color-line);border-radius:1rem;padding:2rem 2.5rem}.chi-chooser[data-v-3b3a7975]{background:var(--app-color-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:25;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chi-chooser__card[data-v-3b3a7975]{text-align:center;background:var(--app-color-surface);border:1px solid var(--app-color-line);border-radius:1rem;padding:1.4rem 1.8rem}.chi-chooser__title[data-v-3b3a7975]{color:var(--app-color-text);margin-bottom:1rem;font-size:.95rem}.chi-chooser__opts[data-v-3b3a7975]{justify-content:center;gap:1rem;margin-bottom:1rem;display:flex}.chi-opt[data-v-3b3a7975]{background:color-mix(in srgb, var(--app-color-primary) 12%, transparent);border:1px solid color-mix(in srgb, var(--app-color-primary) 40%, transparent);cursor:pointer;border-radius:.6rem;gap:.25rem;padding:.5rem;transition:transform .12s,box-shadow .12s;display:flex}.chi-opt[data-v-3b3a7975]:hover{box-shadow:0 .4rem .9rem var(--app-color-shadow);border-color:var(--app-color-primary);transform:translateY(-.2rem)}.overlay__card.is-won[data-v-3b3a7975]{border-color:var(--app-color-positive);box-shadow:0 0 1.5rem var(--app-color-shadow)}.overlay__card.is-lost[data-v-3b3a7975]{border-color:var(--app-color-danger)}.overlay__card h2[data-v-3b3a7975]{font-family:var(--app-font-display);margin-bottom:.6rem;font-size:2rem}.overlay__score[data-v-3b3a7975]{color:var(--app-color-reward);margin-bottom:.4rem;font-size:1.4rem}.overlay__hu[data-v-3b3a7975]{color:var(--app-color-accent);margin-bottom:1rem}.log[data-v-3b3a7975]{z-index:20;pointer-events:none;align-items:stretch;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.log__toggle[data-v-3b3a7975]{pointer-events:auto;border:1px solid var(--app-color-line);background:var(--app-color-surface);width:1.7rem;min-height:3.4rem;color:var(--app-color-muted);cursor:pointer;writing-mode:vertical-rl;letter-spacing:.12em;border-right:none;border-radius:.6rem 0 0 .6rem;flex-direction:column;justify-content:center;align-self:center;align-items:center;gap:.2rem;padding:.5rem 0;font-size:.8rem;line-height:1.05;transition:color .2s,background .2s;display:flex}.log__toggle[data-v-3b3a7975]:hover{color:var(--app-color-primary);background:var(--app-color-surface-strong)}.log.is-open .log__toggle-icon[data-v-3b3a7975]{writing-mode:horizontal-tb;font-size:1.1rem}.log__badge[data-v-3b3a7975]{writing-mode:horizontal-tb;font-family:var(--app-font-number);color:var(--app-color-bg);background:var(--app-color-primary);border-radius:.6rem;padding:.02rem .28rem;font-size:.65rem}.log__panel[data-v-3b3a7975]{pointer-events:auto;background:color-mix(in srgb, var(--app-color-surface) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--app-color-line);width:16rem;max-height:70vh;box-shadow:-.4rem 0 1.4rem var(--app-color-overlay);border-right:none;border-radius:.7rem 0 0 .7rem;flex-direction:column;display:flex;overflow:hidden}.log__head[data-v-3b3a7975]{border-bottom:1px solid var(--app-color-line);background:var(--app-color-surface-strong);justify-content:space-between;align-items:center;padding:.5rem .8rem;display:flex}.log__title[data-v-3b3a7975]{font-family:var(--app-font-display);letter-spacing:.14em;color:var(--app-color-text);font-size:1rem}.log__round[data-v-3b3a7975]{color:var(--app-color-muted);font-size:.72rem}.log__list[data-v-3b3a7975]{flex-direction:column;gap:.12rem;margin:0;padding:.35rem .4rem;list-style:none;display:flex;overflow-y:auto}.log__item[data-v-3b3a7975]{border-left:2px solid var(--lc);background:color-mix(in srgb, var(--lc) 7%, transparent);color:var(--app-color-text);border-radius:.45rem;align-items:flex-start;gap:.4rem;padding:.3rem .45rem;font-size:.76rem;line-height:1.35;display:flex}.log__item.is-latest[data-v-3b3a7975]{background:color-mix(in srgb, var(--lc) 16%, transparent);animation:.4s log-in-3b3a7975}.log__icon[data-v-3b3a7975]{flex-shrink:0;font-size:.82rem;line-height:1.35}.log__text[data-v-3b3a7975]{word-break:break-word;flex:1}@keyframes log-in-3b3a7975{0%{opacity:0;transform:translate(.6rem)}to{opacity:1;transform:translate(0)}}
