.card.svelte-14efj7c{--w-sm:3.6rem;--w-md:4.9rem;--w-lg:6.4rem;width:var(--w-md);aspect-ratio:5/7;background:var(--c-washi);border:2px solid var(--card-color,var(--c-line));border-radius:var(--radius-md);font-family:var(--font-serif-cjk);text-align:center;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-brush), box-shadow var(--dur-fast) var(--ease-brush), opacity var(--dur-fast) var(--ease-brush);cursor:pointer;color:var(--c-text);flex-direction:column;justify-content:space-between;align-items:center;padding:.4rem .3rem;display:flex;position:relative}.card.svelte-14efj7c:focus-visible{outline:2px solid var(--c-shu);outline-offset:2px}.shengmu-symbol.svelte-14efj7c{font-family:var(--font-serif-cjk);color:var(--card-color);opacity:.7;font-size:.55rem;position:absolute;bottom:.2rem;left:.3rem}button.card.svelte-14efj7c{font:inherit}.card.size-sm.svelte-14efj7c{width:var(--w-sm)}.card.size-lg.svelte-14efj7c{width:var(--w-lg)}.card.playable.svelte-14efj7c:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.card.disabled.svelte-14efj7c{opacity:.45;cursor:not-allowed;filter:saturate(.6)}.card.static.svelte-14efj7c{cursor:default}.card.hidden-info.kind-normal.svelte-14efj7c{border-color:var(--c-border)}.masked.svelte-14efj7c{visibility:hidden}.card.selected.svelte-14efj7c{z-index:200;transform:translateY(-12px)scale(1.04);box-shadow:0 10px 22px #14131140}.card.playable.selected.svelte-14efj7c:hover{transform:translateY(-12px)scale(1.04)}@media (prefers-reduced-motion:reduce){.card.selected.svelte-14efj7c{transform:scale(1.04)}}.pinyin.svelte-14efj7c{font-family:var(--font-pinyin);color:var(--c-text-muted);letter-spacing:.02em;font-size:.7rem;line-height:1}.kanji.svelte-14efj7c{color:var(--c-text);font-size:1.7rem;font-weight:700;line-height:1}.kanji.tone-ping.svelte-14efj7c{font-weight:400}.kanji.tone-ze.svelte-14efj7c{font-weight:700}.size-sm.svelte-14efj7c .kanji:where(.svelte-14efj7c){font-size:1.3rem}.size-lg.svelte-14efj7c .kanji:where(.svelte-14efj7c){font-size:2.4rem}.kanji.gold.svelte-14efj7c{color:var(--c-kin)}.kanji.compound.svelte-14efj7c{letter-spacing:.04em;font-size:1.5rem;font-weight:800;line-height:1}.size-sm.svelte-14efj7c .kanji.compound:where(.svelte-14efj7c){font-size:1.1rem}.size-lg.svelte-14efj7c .kanji.compound:where(.svelte-14efj7c){font-size:2rem}.pinyin.compound-reading.svelte-14efj7c{letter-spacing:.05em;font-style:italic}.meta.svelte-14efj7c{font-family:var(--font-pinyin);color:var(--c-text-muted);align-items:center;gap:.25rem;font-size:.65rem;display:flex}.meta.center.svelte-14efj7c{justify-content:center}.meta.svelte-14efj7c .yunbase:where(.svelte-14efj7c){color:var(--c-text);letter-spacing:.02em;white-space:nowrap;font-size:.95rem;font-weight:700;line-height:1}.size-sm.svelte-14efj7c .meta:where(.svelte-14efj7c) .yunbase:where(.svelte-14efj7c){font-size:.8rem}.symbol-line.svelte-14efj7c{font-family:var(--font-serif-cjk);color:var(--c-text-muted);font-size:.7rem}.kind-wildcard.svelte-14efj7c{border-width:2.5px;border-color:var(--c-kin);background:radial-gradient(circle at top right, #c8a45c26, transparent 60%), var(--c-washi)}.kind-huiwen.svelte-14efj7c{background:repeating-linear-gradient(45deg, transparent 0, transparent 6px, #00000008 6px, #00000008 12px), var(--c-washi)}.kind-shima.svelte-14efj7c{background:var(--c-sumi);color:var(--c-washi);border-color:var(--c-kin)}.kind-shima.svelte-14efj7c .pinyin:where(.svelte-14efj7c),.kind-shima.svelte-14efj7c .symbol-line:where(.svelte-14efj7c),.kind-shima.svelte-14efj7c .meta:where(.svelte-14efj7c){color:#f4ecd8b3}.badge.svelte-14efj7c{font-family:var(--font-serif-cjk);background:var(--c-shu);color:var(--c-washi);letter-spacing:.05em;border-radius:2px;padding:.05rem .3rem;font-size:.6rem;position:absolute;top:.2rem;left:.25rem}.badge.gold.svelte-14efj7c,.badge.wild.svelte-14efj7c{background:var(--c-kin);color:var(--c-sumi)}.declared.svelte-14efj7c{background:var(--declared-color);color:var(--c-washi);font-size:.55rem;font-family:var(--font-serif-cjk);letter-spacing:.05em;border-radius:2px;padding:.05rem .3rem;position:absolute;bottom:.2rem;right:.25rem}.pulse.svelte-14efj7c{pointer-events:none;z-index:1;flex-direction:column-reverse;align-items:center;gap:.15rem;margin-bottom:1.2rem;display:flex;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.pulse.svelte-14efj7c .chev:where(.svelte-14efj7c){fill:none;width:1.5rem;height:.65rem;stroke:var(--c-line);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:.15;animation:1.4s ease-in-out infinite svelte-14efj7c-chev-pulse}.pulse.svelte-14efj7c .chev:where(.svelte-14efj7c):first-child{animation-delay:.5s}.pulse.svelte-14efj7c .chev:where(.svelte-14efj7c):nth-child(2){animation-delay:.25s}.pulse.svelte-14efj7c .chev:where(.svelte-14efj7c):nth-child(3){animation-delay:0s}@keyframes svelte-14efj7c-chev-pulse{0%,to{opacity:.15;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.cross.svelte-14efj7c{pointer-events:none;z-index:1;margin-bottom:1.2rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.cross.svelte-14efj7c svg:where(.svelte-14efj7c){fill:none;width:1.5rem;height:1.5rem;stroke:var(--c-line);stroke-width:2.5px;stroke-linecap:round;opacity:.85;animation:1.6s ease-in-out infinite svelte-14efj7c-cross-breath}@keyframes svelte-14efj7c-cross-breath{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.pulse.svelte-14efj7c .chev:where(.svelte-14efj7c),.cross.svelte-14efj7c svg:where(.svelte-14efj7c){opacity:.7;animation:none}}.hand.svelte-1l2zac1{justify-content:center;align-items:flex-end;gap:0;min-height:9rem;padding:1.5rem .5rem .5rem;display:flex}.slot.svelte-1l2zac1{transform:rotate(var(--rotate)) translateY(var(--y-offset));transform-origin:50% 100%;z-index:var(--z-base);animation:svelte-1l2zac1-fan-in .42s var(--ease-brush) var(--enter-delay) backwards;flex-shrink:0;margin-inline:-.6rem;transition:z-index}.slot.has-selected.svelte-1l2zac1{z-index:300}@keyframes svelte-1l2zac1-fan-in{0%{opacity:0;transform:rotate(0)translateY(40px)scale(.85)}to{opacity:1;transform:rotate(var(--rotate)) translateY(var(--y-offset))}}.empty.svelte-1l2zac1{color:var(--c-text-muted);font-size:var(--text-sm)}@media (prefers-reduced-motion:reduce){.slot.svelte-1l2zac1{margin-inline:.25rem;animation:none;transform:none}.hand.svelte-1l2zac1{gap:.25rem}}@media (width<=520px){.slot.svelte-1l2zac1{margin-inline:-1rem}}
