:root{--color-bg-primary:#1a1a2e;--color-bg-secondary:#16213e;--color-bg-surface:#0f3460;--color-bg-card-slot:#ffffff0d;--color-text-primary:#e8e8f0;--color-text-secondary:#8888a0;--color-text-muted:#555570;--color-accent:#e94560;--color-accent-glow:#e9456059;--color-success:#4ecca3;--color-warning:#f0a500;--color-border:#2a2a4a;--color-border-light:#3a3a5a;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--card-width:80px;--card-height:112px;--card-border-radius:6px;--card-gap:8px;--font-primary:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Georgia", serif;--font-size-xs:.7rem;--font-size-sm:.8rem;--font-size-md:.9rem;--font-size-lg:1.1rem;--font-size-xl:1.4rem;--font-size-2xl:2rem;--font-size-3xl:3rem;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease-in-out;--shadow-card:0 2px 8px #0006;--shadow-card-hover:0 6px 20px #0009;--shadow-glow:0 0 14px var(--color-accent-glow);--shadow-inset:inset 0 1px 3px #0000004d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-primary);font-size:var(--font-size-md);color:var(--color-text-primary);background:linear-gradient(145deg, var(--color-bg-primary) 0%, var(--color-bg-secondary) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.4}#app{height:100%}button{font-family:var(--font-primary);cursor:pointer;color:inherit;background:0 0;border:none;outline:none}button:disabled{cursor:not-allowed;opacity:.4}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.card-enter-active{transition:all var(--transition-normal)}.card-leave-active{transition:all var(--transition-fast)}.card-enter-from{opacity:0;transform:translateY(-16px)scale(.85)}.card-leave-to{opacity:0;transform:scale(.9)}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-slow)}.fade-enter-from,.fade-leave-to{opacity:0}@keyframes card-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)rotate(-1deg)}40%{transform:translate(4px)rotate(1deg)}60%{transform:translate(-3px)rotate(-.5deg)}80%{transform:translate(3px)rotate(.5deg)}}.card-shake{animation:.4s ease-in-out card-shake}@keyframes score-pulse{0%{transform:scale(1)}50%{color:var(--color-accent);transform:scale(1.25)}to{transform:scale(1)}}.score-pulse{animation:.4s score-pulse}@keyframes badge-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.badge-pop{animation:.35s ease-out badge-pop}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px var(--color-accent-glow)}50%{box-shadow:0 0 18px var(--color-accent-glow)}}.glow-pulse{animation:1.5s ease-in-out infinite glow-pulse}@keyframes dice-bounce{0%{transform:translateY(0)rotate(0)}30%{transform:translateY(-30px)rotate(120deg)}50%{transform:translateY(0)rotate(240deg)}70%{transform:translateY(-15px)rotate(300deg)}to{transform:translateY(0)rotate(360deg)}}.dice-bounce{animation:.8s ease-out dice-bounce}.log-enter-active{transition:all var(--transition-normal)}.log-enter-from{opacity:0;transform:translateY(8px)}.splash[data-v-9ae1ce04]{justify-content:center;align-items:center;height:100%;display:flex}.splash__content[data-v-9ae1ce04]{text-align:center}.splash__title[data-v-9ae1ce04]{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:12px;margin-bottom:var(--space-sm);text-shadow:0 0 40px #e9456033;font-size:6rem;font-weight:400;line-height:1}.splash__subtitle[data-v-9ae1ce04]{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.splash__credit[data-v-9ae1ce04]{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2xl)}.splash__btn[data-v-9ae1ce04]{background:var(--color-accent);color:#fff;font-size:var(--font-size-lg);padding:var(--space-md) var(--space-2xl);letter-spacing:1px;transition:all var(--transition-fast);border-radius:8px;font-weight:600}.splash__btn[data-v-9ae1ce04]:hover{background:#d63050;transform:scale(1.05);box-shadow:0 0 20px #e945604d}.splash__btn-secondary[data-v-9ae1ce04]{margin:var(--space-md) auto 0;color:var(--color-text-secondary);font-size:var(--font-size-md);padding:var(--space-sm) var(--space-xl);border:1px solid var(--color-border-light);letter-spacing:1px;transition:all var(--transition-fast);background:0 0;border-radius:8px;font-weight:500;display:block}.splash__btn-secondary[data-v-9ae1ce04]:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary);transform:scale(1.05)}.how-to-play[data-v-72aefc5e]{height:100%;padding:var(--space-xl) var(--space-md);overflow-y:auto}.how-to-play__container[data-v-72aefc5e]{max-width:640px;padding-bottom:var(--space-2xl);margin:0 auto}.how-to-play__back[data-v-72aefc5e]{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);transition:all var(--transition-fast);cursor:pointer;background:0 0;border-radius:6px}.how-to-play__back[data-v-72aefc5e]:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.how-to-play__back--bottom[data-v-72aefc5e]{margin-top:var(--space-xl)}.how-to-play__title[data-v-72aefc5e]{font-family:var(--font-display);font-size:var(--font-size-3xl);color:var(--color-text-primary);letter-spacing:4px;text-align:center;margin:var(--space-lg) 0 var(--space-xl);font-weight:400}.how-to-play__section[data-v-72aefc5e]{border:1px solid var(--color-border);padding:var(--space-lg);margin-bottom:var(--space-md);background:#ffffff08;border-radius:10px}.how-to-play__heading[data-v-72aefc5e]{font-size:var(--font-size-xl);color:var(--color-accent);margin-bottom:var(--space-sm);letter-spacing:1px;font-weight:600}.how-to-play__section p[data-v-72aefc5e]{color:var(--color-text-secondary);font-size:var(--font-size-md);margin-bottom:var(--space-sm);line-height:1.6}.how-to-play__section p[data-v-72aefc5e]:last-child{margin-bottom:0}.how-to-play__section strong[data-v-72aefc5e]{color:var(--color-text-primary)}.how-to-play__section em[data-v-72aefc5e]{color:var(--color-warning);font-style:normal;font-weight:600}.how-to-play__card-types[data-v-72aefc5e]{gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;display:flex}.how-to-play__card-type[data-v-72aefc5e]{padding:var(--space-md);background:#0003;border-radius:8px}.how-to-play__card-type p[data-v-72aefc5e]{margin-bottom:0}.how-to-play__card-label[data-v-72aefc5e]{font-weight:700;font-size:var(--font-size-md);margin-right:var(--space-sm);border-radius:4px;padding:2px 10px;display:inline-block}.how-to-play__card-label--yang[data-v-72aefc5e]{color:var(--color-success);background:#4ecca333}.how-to-play__card-label--yin[data-v-72aefc5e]{color:var(--color-accent);background:#e9456033}.how-to-play__card-label--chi[data-v-72aefc5e]{color:var(--color-warning);background:#f0a50033}.how-to-play__card-role[data-v-72aefc5e]{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px}.how-to-play__steps[data-v-72aefc5e],.how-to-play__score-list[data-v-72aefc5e]{color:var(--color-text-secondary);font-size:var(--font-size-md);padding-left:var(--space-lg);margin:var(--space-sm) 0;line-height:1.6}.how-to-play__steps li[data-v-72aefc5e],.how-to-play__score-list li[data-v-72aefc5e]{margin-bottom:var(--space-xs)}.how-to-play__steps li strong[data-v-72aefc5e],.how-to-play__score-list li strong[data-v-72aefc5e]{color:var(--color-text-primary)}.how-to-play__note[data-v-72aefc5e]{border-left:3px solid var(--color-warning);padding:var(--space-sm) var(--space-md);margin-top:var(--space-sm);background:#f0a50014;border-radius:0 6px 6px 0}@media (width<=480px){.how-to-play[data-v-72aefc5e]{padding:var(--space-md) var(--space-sm)}.how-to-play__title[data-v-72aefc5e]{font-size:var(--font-size-2xl)}.how-to-play__section[data-v-72aefc5e]{padding:var(--space-md)}}.game-card[data-v-e7ee27ed]{width:var(--card-width);height:var(--card-height);border-radius:var(--card-border-radius);box-shadow:var(--shadow-card);transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-shrink:0;position:relative;overflow:hidden}.game-card__image[data-v-e7ee27ed]{object-fit:cover;width:100%;height:100%}.game-card--interactive[data-v-e7ee27ed]{cursor:pointer;border:2px solid var(--color-accent);box-shadow:var(--shadow-glow);animation:1.5s ease-in-out infinite glow-pulse}.game-card--interactive[data-v-e7ee27ed]:hover{box-shadow:0 0 22px var(--color-accent-glow);transform:translateY(-8px)scale(1.05)}.game-card--face-down[data-v-e7ee27ed]{opacity:.85}.game-card__overlay-badge[data-v-e7ee27ed]{background:var(--color-accent);color:#fff;font-weight:700;font-size:var(--font-size-sm);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;bottom:4px;right:4px;box-shadow:0 1px 4px #00000080}.empty-slot[data-v-79006a1b]{width:var(--card-width);height:var(--card-height);border-radius:var(--card-border-radius);border:1px dashed var(--color-border);background:var(--color-bg-card-slot);flex-shrink:0;justify-content:center;align-items:center;display:flex}.empty-slot--interactive[data-v-79006a1b]{cursor:pointer;border-color:var(--color-accent)}.empty-slot__label[data-v-79006a1b]{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.play-area[data-v-9e4e8991]{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.play-area__label[data-v-9e4e8991]{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:600}.play-area__cards[data-v-9e4e8991]{gap:var(--card-gap);justify-content:center;display:flex}.player-hand[data-v-e8cad687]{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.player-hand__label[data-v-e8cad687]{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:600}.player-hand__cards[data-v-e8cad687]{gap:var(--card-gap);justify-content:center;display:flex}.center-row[data-v-c9c6a8cc]{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.center-row__label[data-v-c9c6a8cc]{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:600}.center-row__cards[data-v-c9c6a8cc]{gap:var(--card-gap);justify-content:center;display:flex}.deck-area[data-v-b38a5bd1]{align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.deck-area__deck[data-v-b38a5bd1],.deck-area__discard[data-v-b38a5bd1]{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.deck-area__card-stack[data-v-b38a5bd1]{width:var(--card-width);height:var(--card-height);border-radius:var(--card-border-radius);box-shadow:var(--shadow-card);overflow:hidden}.deck-area__card-stack--empty[data-v-b38a5bd1]{border:1px dashed var(--color-border);background:var(--color-bg-card-slot)}.deck-area__image[data-v-b38a5bd1]{object-fit:cover;width:100%;height:100%}.deck-area__count[data-v-b38a5bd1]{font-size:var(--font-size-xs);color:var(--color-text-muted)}.score-panel[data-v-12d7a09c]{border:1px solid var(--color-border);padding:var(--space-md);background:#ffffff08;border-radius:8px;min-width:150px}.score-panel--active[data-v-12d7a09c]{border-color:var(--color-accent);box-shadow:0 0 10px #e9456026}.score-panel__header[data-v-12d7a09c]{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-xs);font-weight:600}.score-panel__total[data-v-12d7a09c]{font-size:var(--font-size-3xl);color:var(--color-text-primary);margin-bottom:var(--space-sm);font-weight:700;line-height:1}.score-panel__breakdown[data-v-12d7a09c]{flex-direction:column;gap:2px;display:flex}.score-panel__row[data-v-12d7a09c]{font-size:var(--font-size-xs);color:var(--color-text-muted);justify-content:space-between;display:flex}.game-log[data-v-d0d1eaed]{border:1px solid var(--color-border);background:#ffffff08;border-radius:8px;flex-direction:column;height:100%;display:flex;overflow:hidden}.game-log__header[data-v-d0d1eaed]{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);font-weight:600}.game-log__entries[data-v-d0d1eaed]{padding:var(--space-sm) var(--space-md);flex-direction:column;flex:1;gap:3px;display:flex;overflow-y:auto}.game-log__entry[data-v-d0d1eaed]{font-size:var(--font-size-xs);color:var(--color-text-secondary);padding:2px 0;line-height:1.4}.game-log__entry--action[data-v-d0d1eaed]{color:var(--color-text-primary)}.game-log__entry--attack[data-v-d0d1eaed]{color:var(--color-accent);font-weight:600}.game-log__entry--bonus[data-v-d0d1eaed]{color:var(--color-success)}.game-log__entry--system[data-v-d0d1eaed]{color:var(--color-warning);font-style:italic}.turn-indicator[data-v-90d502cc]{text-align:center;padding:var(--space-sm) var(--space-md)}.turn-indicator__player[data-v-90d502cc]{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1.5px;font-weight:600}.turn-indicator__message[data-v-90d502cc]{font-size:var(--font-size-md);color:var(--color-text-primary);margin-top:2px}.turn-indicator--aiTurn .turn-indicator__message[data-v-90d502cc]{color:var(--color-text-secondary);font-style:italic}.turn-indicator--chiConflict .turn-indicator__message[data-v-90d502cc]{color:var(--color-accent);font-weight:600}.chi-overlay[data-v-e30b635b]{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chi-overlay__panel[data-v-e30b635b]{background:var(--color-bg-secondary);border:1px solid var(--color-accent);padding:var(--space-xl) var(--space-2xl);text-align:center;border-radius:12px;max-width:380px;box-shadow:0 0 40px #e9456033}.chi-overlay__title[data-v-e30b635b]{font-size:var(--font-size-xl);color:var(--color-accent);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:2px;font-weight:700}.chi-overlay__status[data-v-e30b635b]{font-size:var(--font-size-md);color:var(--color-text-primary);margin-bottom:var(--space-md)}.chi-overlay__rounds[data-v-e30b635b]{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-md)}.chi-overlay__actions[data-v-e30b635b]{gap:var(--space-md);justify-content:center;display:flex}.chi-overlay__btn[data-v-e30b635b]{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-md);transition:all var(--transition-fast);border-radius:6px;font-weight:600}.chi-overlay__btn--play[data-v-e30b635b]{background:var(--color-accent);color:#fff}.chi-overlay__btn--play[data-v-e30b635b]:hover{background:#d63050;transform:scale(1.05)}.chi-overlay__btn--pass[data-v-e30b635b]{color:var(--color-text-secondary);border:1px solid var(--color-border);background:#ffffff1a}.chi-overlay__btn--pass[data-v-e30b635b]:hover{background:#ffffff26}.chi-overlay__waiting[data-v-e30b635b]{color:var(--color-text-muted);font-size:var(--font-size-lg)}.chi-overlay__dots[data-v-e30b635b]{animation:1.5s ease-in-out infinite glow-pulse}.game-screen[data-v-3c4c113a]{gap:var(--space-md);height:100%;padding:var(--space-md);grid-template-columns:170px 1fr 220px;max-width:1300px;margin:0 auto;display:grid}.game-screen__sidebar-left[data-v-3c4c113a]{gap:var(--space-md);flex-direction:column;justify-content:center;display:flex}.game-screen__board[data-v-3c4c113a]{justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex;overflow:hidden}.game-screen__middle[data-v-3c4c113a]{gap:var(--space-xl);align-items:center;display:flex}.game-screen__sidebar-right[data-v-3c4c113a]{flex-direction:column;height:100%;display:flex;overflow:hidden}@media (width<=1024px){.game-screen[data-v-3c4c113a]{grid-template-columns:140px 1fr 180px}}@media (width<=768px){.game-screen[data-v-3c4c113a]{grid-template-rows:auto 1fr auto;grid-template-columns:1fr;overflow-y:auto}.game-screen__sidebar-left[data-v-3c4c113a]{flex-direction:row;justify-content:center}.game-screen__sidebar-right[data-v-3c4c113a]{max-height:150px}.game-screen__middle[data-v-3c4c113a]{flex-direction:column}}.gameover[data-v-9c241fd9]{justify-content:center;align-items:center;height:100%;display:flex}.gameover__panel[data-v-9c241fd9]{text-align:center;border:1px solid var(--color-border);padding:var(--space-2xl);background:#ffffff08;border-radius:12px}.gameover__title[data-v-9c241fd9]{font-size:var(--font-size-2xl);margin-bottom:var(--space-lg);letter-spacing:2px;font-weight:700}.gameover__title--human[data-v-9c241fd9]{color:var(--color-success)}.gameover__title--ai[data-v-9c241fd9]{color:var(--color-accent)}.gameover__title--draw[data-v-9c241fd9]{color:var(--color-warning)}.gameover__scores[data-v-9c241fd9]{gap:var(--space-xl);margin-bottom:var(--space-xl);align-items:center;display:flex}.gameover__score-col[data-v-9c241fd9]{min-width:130px}.gameover__label[data-v-9c241fd9]{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-xs)}.gameover__total[data-v-9c241fd9]{font-size:var(--font-size-3xl);color:var(--color-text-primary);margin-bottom:var(--space-sm);font-weight:700;line-height:1}.gameover__detail[data-v-9c241fd9]{font-size:var(--font-size-xs);color:var(--color-text-muted)}.gameover__vs[data-v-9c241fd9]{font-size:var(--font-size-lg);color:var(--color-text-muted)}.gameover__btn[data-v-9c241fd9]{background:var(--color-accent);color:#fff;font-size:var(--font-size-md);padding:var(--space-sm) var(--space-2xl);transition:all var(--transition-fast);border-radius:8px;font-weight:600}.gameover__btn[data-v-9c241fd9]:hover{background:#d63050;transform:scale(1.05)}
