.card{--card-w:calc(var(--card-width) * var(--card-scale,var(--card-scale-active,1.2)));--card-h:calc(var(--card-height) * var(--card-scale,var(--card-scale-active,1.2)));width:var(--card-w);height:var(--card-h);border-radius:var(--radius-card);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;contain:layout style;flex-shrink:0;position:relative;overflow:hidden}.card-flipping{box-shadow:none;transform-style:preserve-3d;transform-origin:50%;will-change:transform;background:0 0;border:none;overflow:visible}.retained-card-flip-shell{border-radius:inherit;transform-style:preserve-3d;transform-origin:50%;background:0 0;position:absolute;inset:0}.card-flip-back,.card-flip-face{border-radius:inherit;backface-visibility:hidden;touch-action:none;position:absolute;inset:0;overflow:hidden}.card-flip-back{transform:rotateY(180deg)}.retained-card-flip-shell>.card-flip-face{transform:rotateY(0)}.card:not(.card-flipping)>.retained-card-flip-shell:not([data-retained-flip-active]){transform-style:flat;transform:none!important}.card:not(.card-flipping)>.retained-card-flip-shell:not([data-retained-flip-active])>.card-flip-back,.card:not(.card-flipping)>.retained-card-flip-shell:not([data-retained-flip-active])>.card-flip-face{transform:none}.card-face>.retained-card-flip-shell:not([data-retained-flip-active])>.card-flip-back,.card-back>.retained-card-flip-shell:not([data-retained-flip-active])>.card-flip-face{visibility:hidden}@media (prefers-reduced-motion:reduce){.card-flipping{transition:none!important}}html[data-reduced-motion=true] .card-flipping{transition:none!important}.card-face{cursor:pointer;background:0 0;overflow:hidden}@media (hover:hover){.card-face:hover{filter:brightness(.96)}}.card-back{background:0 0;overflow:hidden}.card-img{border-radius:inherit;pointer-events:none;width:100%;height:100%;display:block}.card-flip-face:after{content:"";border:1px solid var(--color-card-border);border-radius:inherit;box-sizing:border-box;pointer-events:none;position:absolute;inset:0}.card-dragging{z-index:var(--z-card-dragging);cursor:grabbing}.card-highlighted{box-shadow:0 0 14px 4px color-mix(in srgb, var(--color-accent) 50%, transparent)}.card-selected{box-shadow:0 4px 16px #00000040}.card-nudge{animation:card-nudge .35s var(--ease-out)}@keyframes card-nudge{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@media (prefers-reduced-motion:reduce){.card-nudge{animation:none}}.empty-pile{width:var(--card-w);height:var(--card-h);border-radius:var(--radius-card);border:2px solid var(--color-empty-pile-border);background:var(--color-empty-pile);color:var(--color-text-muted);font-size:calc(var(--card-w) * .24);opacity:.8;justify-content:center;align-items:center;display:flex}.empty-pile-foundation{opacity:1;font-size:calc(var(--card-w) * .3);position:relative}.empty-pile-rank{width:calc(var(--card-w) * .16);height:calc(var(--card-w) * .2);color:var(--color-text-muted);opacity:.9;position:absolute;top:5%;left:8%}.empty-pile-suit{width:1em;height:1em}@keyframes hint-pulse{0%,to{box-shadow:var(--hint-pulse-rest-shadow,0 0 0 0 transparent);transform:scale(1)translateY(0)}50%{box-shadow:var(--hint-pulse-peak-shadow,0 0 0 3px var(--color-focus-ring,#c9a84c));transform:scale(1.06)translateY(-3px)}}.card-hint-pulse{z-index:50;animation:1.1s ease-in-out hint-pulse;position:relative}.pile-hint-pulse{border-radius:var(--radius-md);animation:1.1s ease-in-out hint-pulse;position:relative}@media (prefers-reduced-motion:reduce){.card-hint-pulse,.pile-hint-pulse{box-shadow:var(--hint-static-shadow,0 0 14px 4px color-mix(in srgb, var(--color-accent) 45%, transparent));animation:none}}[data-reduced-motion=true] .card-hint-pulse,[data-reduced-motion=true] .pile-hint-pulse{box-shadow:var(--hint-static-shadow,0 0 14px 4px color-mix(in srgb, var(--color-accent) 45%, transparent));animation:none}@keyframes card-first-tap-breathe{0%,to{box-shadow:0 0 0 2.5px var(--color-accent), 0 0 12px 2px color-mix(in srgb, var(--color-accent) 35%, transparent);transform:scale(1)}50%{box-shadow:0 0 0 2.5px var(--color-accent), 0 0 22px 6px color-mix(in srgb, var(--color-accent) 55%, transparent);transform:scale(1.025)}}.card-first-tap-hint{box-shadow:0 0 0 2.5px var(--color-accent);z-index:50;animation:2.2s ease-in-out infinite card-first-tap-breathe;position:relative}@media (prefers-reduced-motion:reduce){.card-first-tap-hint{animation:none}}.first-tap-hint-label{--first-tap-shift-x:clamp(calc(8px - var(--first-tap-x)), -50%, calc(var(--first-tap-inline-end,100vw) - 8px - var(--first-tap-x) - 100%));transform:translate(var(--first-tap-shift-x), calc(-100% - 10px));inline-size:max-content;max-inline-size:calc(var(--first-tap-inline-end,100vw) - 16px);white-space:normal;text-align:center;background:color-mix(in srgb, var(--color-accent) 92%, transparent);color:var(--color-surface);box-shadow:0 2px 8px #00000040, 0 0 12px 2px color-mix(in srgb, var(--color-accent) 40%, transparent);pointer-events:none;z-index:var(--z-controls);animation:first-tap-hint-label-in .32s var(--ease-out) both;border-radius:999px;padding:.35rem .7rem;font-size:.8rem;font-weight:600;line-height:1;position:fixed}.first-tap-hint-label:after{content:"";left:calc(-1 * var(--first-tap-shift-x));background:inherit;border-radius:1px;width:8px;height:8px;position:absolute;bottom:-4px;transform:translate(-50%)rotate(45deg)}@keyframes first-tap-hint-label-in{0%{opacity:0;transform:translate(var(--first-tap-shift-x), calc(-100% - 4px))}to{opacity:1;transform:translate(var(--first-tap-shift-x), calc(-100% - 10px))}}@media (prefers-reduced-motion:reduce){.first-tap-hint-label{animation:none}}.hint-ghost{z-index:2000;pointer-events:none;will-change:transform;position:fixed}.hint-ghost-card{border:1px solid var(--color-card-border);border-radius:var(--radius-card);box-sizing:border-box;pointer-events:none;display:block;position:absolute}.suit-burst-particle{z-index:1900;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform, opacity;line-height:1;position:fixed;transform:translate(-50%,-50%)}.pile-stock{position:relative}.stock-hint-medallion{--stock-hint-size:max(35px, calc(var(--card-w) * .86));width:var(--stock-hint-size);height:var(--stock-hint-size);box-sizing:border-box;padding:calc(var(--stock-hint-size) * .15);z-index:20;pointer-events:none;background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #00000059,inset 0 0 0 2px #0000000f}.stock-hint-medallion-word{overflow-wrap:anywhere;text-align:center;text-wrap:balance;max-inline-size:100%;font-family:Inter,system-ui,sans-serif;font-size:max(8px, calc(var(--card-w) * .125));letter-spacing:0;color:#c0262d;flex-shrink:0;font-weight:800;line-height:1.1}.stock-hint-medallion-num{font-family:Inter,system-ui,sans-serif;font-size:calc(var(--card-w) * .26);white-space:nowrap;color:#c0262d;direction:ltr;unicode-bidi:isolate;font-weight:800;line-height:1}.card-hint-glow{--card-hint-ring-width:clamp(3px, calc(var(--card-w) * .04), 5px)}.card-hint-glow>.card-flip-face:after,.card-hint-glow>.retained-card-flip-shell>.card-flip-face:after{border-width:var(--card-hint-ring-width);border-color:#62d246}
