.card{--card-w:calc(var(--card-width) * var(--card-scale,var(--card-scale-user,1)));--card-h:calc(var(--card-height) * var(--card-scale,var(--card-scale-user,1)));width:var(--card-w);height:var(--card-h);border-radius:var(--radius-card);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}.card-flip-back,.card-flip-face{border-radius:inherit;backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.card-flip-back{transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.card-flipping{transition:none!important}}.card-face{background:var(--color-card-face);border:1px solid var(--color-card-border);box-shadow:var(--shadow-card);cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease-out)}.card-img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}@media (hover:hover){.card-face:hover{filter:brightness(.96)}}.card-red{color:var(--color-card-red)}.card-black{color:var(--color-card-black)}.card-corner{pointer-events:none;flex-direction:column;align-items:center;gap:0;line-height:1;display:flex;position:absolute}.card-corner-tl{top:5%;left:8%}.card-corner-br{bottom:5%;right:8%;transform:rotate(180deg)}.card-rank{font-family:Inter,system-ui,sans-serif;font-size:calc(var(--card-w) * .2);letter-spacing:-.02em;font-weight:700;line-height:1}.card-suit-small{font-size:calc(var(--card-w) * .16);margin-top:calc(var(--card-w) * -.01);line-height:1}.card-center{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:20% 18%;overflow:hidden}.card-pip-ace{font-size:calc(var(--card-w) * .5);line-height:1}.card-pip-center{justify-content:center;align-items:center;display:flex}.card-pips{width:100%;height:100%;position:relative}.card-pip{font-size:calc(var(--card-w) * .22);line-height:1;position:absolute;transform:translate(-50%,-50%)}.card-pip-inverted{transform:translate(-50%,-50%)rotate(180deg)}.card-face-center{align-items:center;gap:calc(var(--card-w) * .02);flex-direction:column;display:flex}.card-face-letter{font-family:Inter,system-ui,sans-serif;font-size:calc(var(--card-w) * .38);letter-spacing:-.03em;opacity:.15;font-weight:700;line-height:1}.card-face-suit{font-size:calc(var(--card-w) * .3);opacity:.85;line-height:1}.card-face-figure{width:100%;height:100%}.card-back{background:var(--color-card-back);border:1px solid var(--color-card-back-border,#00000040);box-shadow:var(--shadow-card);overflow:hidden}.card-back-inner{inset:calc(var(--card-w) * .08);border-radius:calc(var(--radius-card) - 1px);border:1.5px solid var(--color-card-back-accent);box-shadow:0 0 0 1px var(--color-card-back), 0 0 0 2px var(--color-card-back-accent), inset 0 0 0 1px #ffffff26;opacity:.92;position:absolute;overflow:hidden}.card-back-pattern{background:repeating-linear-gradient(55deg, transparent, transparent 3px, var(--color-card-back-accent) 3px, var(--color-card-back-accent) 3.6px);opacity:.35;position:absolute;inset:0}.card-back-inner:after{content:"♠";font-size:calc(var(--card-w) * .58);color:var(--color-card-back-accent);opacity:.9;text-shadow:0 1px 2px #0003;pointer-events:none;place-items:center;font-family:Georgia,Times New Roman,serif;display:grid;position:absolute;inset:0}.card-dragging{box-shadow:var(--shadow-card-dragging);z-index:var(--z-card-dragging);cursor:grabbing;transform:scale(1.03)}.card-highlighted{box-shadow:0 0 14px 4px color-mix(in srgb, var(--color-accent) 50%, transparent), var(--shadow-card)}.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{font-family:Inter,system-ui,sans-serif;font-size:calc(var(--card-w) * .2);letter-spacing:-.02em;color:var(--color-text-muted);opacity:.9;font-weight:700;line-height:1;position:absolute;top:5%;left:8%}@keyframes hint-pulse{0%,to{box-shadow:0 0 0 0 transparent, var(--shadow-card);transform:scale(1)translateY(0)}50%{box-shadow:0 0 0 3px var(--color-focus-ring,#c9a84c), var(--shadow-card);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:0 0 14px 4px color-mix(in srgb, var(--color-accent) 45%, transparent), var(--shadow-card);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), var(--shadow-card);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), var(--shadow-card);transform:scale(1.025)}}.card-first-tap-hint{box-shadow:0 0 0 2.5px var(--color-accent), var(--shadow-card);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{white-space:nowrap;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:500;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;transform:translate(-50%,calc(-100% - 10px))}.first-tap-hint-label:after{content:"";background:inherit;border-radius:1px;width:8px;height:8px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes first-tap-hint-label-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))}to{opacity:1;transform:translate(-50%,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-radius:var(--radius-card);pointer-events:none;display:block;position:absolute;box-shadow:0 10px 26px #00000073}.suit-burst-particle{z-index:1900;pointer-events:none;user-select:none;will-change:transform, opacity;line-height:1;position:fixed;transform:translate(-50%,-50%)}.pile-stock{position:relative}.stock-hint-medallion{aspect-ratio:1;z-index:20;pointer-events:none;background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:0;width:68%;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{font-family:Inter,system-ui,sans-serif;font-size:calc(var(--card-w) * .16);letter-spacing:.02em;color:#c0262d;font-weight:800;line-height:1.1}.stock-hint-medallion-num{font-family:Inter,system-ui,sans-serif;font-size:calc(var(--card-w) * .34);color:#c0262d;font-weight:800;line-height:1}.card-hint-glow{outline:clamp(3px, calc(var(--card-w) * .04), 5px) solid #62d246;outline-offset:calc(-1 * clamp(3px, calc(var(--card-w) * .04), 5px))}.board{--card-scale-fit:1;--card-scale:calc(var(--card-scale-user,1.4) * var(--card-scale-fit,1));--card-w:calc(var(--card-width) * var(--card-scale));--card-h:calc(var(--card-height) * var(--card-scale));--board-gap:calc(var(--card-gap) * var(--card-scale));--fan-offset:calc(var(--card-fan-offset) * var(--card-scale));--fan-offset-hidden:calc(var(--card-fan-offset-hidden) * var(--card-scale));--row-gap:var(--board-gap);grid-template-columns:repeat(7, var(--card-w));-moz-column-gap:var(--board-gap);column-gap:var(--board-gap);row-gap:var(--row-gap);padding:var(--board-gap) var(--board-gap) calc(var(--board-gap) * .5);grid-template-rows:auto 1fr;place-content:start center;width:fit-content;min-height:0;margin:0 auto;display:grid}.pile-stock{grid-area:1/1}.pile-waste{grid-area:1/2;position:relative}.waste-fan{width:var(--card-w);height:var(--card-h);position:relative}.waste-fan .card{position:absolute;top:0;left:0}.waste-fan .waste-base{pointer-events:none;position:absolute;top:0;left:0}.waste-fan .waste-peek{top:0;left:0}.waste-fan .waste-card-1{left:0}.waste-fan .waste-card-2{left:calc(var(--card-w) * .18)}.waste-fan .waste-card-3{left:calc(var(--card-w) * .36)}.pile-foundation-0{grid-area:1/4}.pile-foundation-1{grid-area:1/5}.pile-foundation-2{grid-area:1/6}.pile-foundation-3{grid-area:1/7}.foundation-backdrop{opacity:0}.foundation-backdrop.foundation-backdrop-active{opacity:1}.pile-tableau{min-height:min(calc(var(--card-h) + var(--fan-offset) * 8), calc(100vh - var(--header-height,3.5rem) - var(--dock-height,3.5rem) - var(--card-h) - var(--row-gap) - var(--board-gap) * 2.5 - 4rem));min-height:min(calc(var(--card-h) + var(--fan-offset) * 8), calc(100dvh - var(--header-height,3.5rem) - var(--dock-height,3.5rem) - var(--card-h) - var(--row-gap) - var(--board-gap) * 2.5 - 4rem));grid-row:2;position:relative}.tableau-source-backdrop{z-index:0;opacity:0;pointer-events:none;position:absolute;top:0;left:0}.tableau-source-empty-visible .tableau-source-backdrop{opacity:1}.pile-tableau-0{grid-column:1}.pile-tableau-1{grid-column:2}.pile-tableau-2{grid-column:3}.pile-tableau-3{grid-column:4}.pile-tableau-4{grid-column:5}.pile-tableau-5{grid-column:6}.pile-tableau-6{grid-column:7}.tableau-stack{z-index:1;width:var(--card-w);position:relative}.tableau-stack .card{position:absolute;left:0}.stock-clickable{cursor:pointer;transition:transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);position:relative}.pile-stock.stock-clickable:hover{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.stock-clickable,.pile-stock.stock-clickable:hover{transition:none;transform:none}}.pile-stock.stock-recycle-cue .stock-recycle-slot{opacity:.82;border-style:dashed;justify-content:center;align-items:center;display:flex}.stock-recycle-icon{width:calc(var(--card-w) * .38);height:calc(var(--card-w) * .38);color:var(--color-text-muted);font-size:calc(var(--card-w) * .22);opacity:.75;background:#ffffff14;border-radius:50%;place-items:center;font-weight:700;line-height:1;display:inline-grid}.pile-stock.stock-idle-hint{animation:3s ease-in-out infinite stock-idle-breathe}@keyframes stock-idle-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.88;transform:scale(.99)}}.pile-stock.stock-pulse{animation:.9s ease-out stock-pulse}@keyframes stock-pulse{0%{transform:scale(1);box-shadow:0 0 #fff0}30%{transform:scale(1.04);box-shadow:0 0 18px 4px #ffffff40}60%{transform:scale(1.02);box-shadow:0 0 10px 2px #ffffff26}to{transform:scale(1);box-shadow:0 0 #fff0}}@media (prefers-reduced-motion:reduce){.pile-stock.stock-idle-hint,.pile-stock.stock-pulse{animation:none}}@media (width<=480px){:root{--_mobile-vw:100dvw;--_mobile-base:calc(var(--_mobile-vw) - 1.5rem);--card-width:calc(var(--_mobile-base) / 7);--card-height:calc(var(--_mobile-base) / 7 * 1.4);--card-gap:calc(var(--_mobile-base) / 7 * .05);--card-fan-offset:calc(var(--_mobile-base) / 7 * .34);--card-fan-offset-hidden:clamp(calc(var(--_mobile-base) / 7 * .07), 1.1vh, calc(var(--_mobile-base) / 7 * .16));--radius-card:.3rem}.board{--card-scale:calc(min(var(--card-scale-user,1.4), 1) * var(--card-scale-fit,1));width:100%;margin:0}}@media (width<=480px) and (orientation:portrait){.board{align-self:flex-start;margin-top:8vh}.pile-tableau{min-height:calc(var(--card-h) + var(--fan-offset) * 5)}}@media (width<=350px){:root{--_mobile-base:calc(var(--_mobile-vw,100dvw) - 1.25rem);--card-width:calc(var(--_mobile-base) / 7);--card-height:calc(var(--_mobile-base) / 7 * 1.4);--card-gap:calc(var(--_mobile-base) / 7 * .05);--card-fan-offset:calc(var(--_mobile-base) / 7 * .32);--card-fan-offset-hidden:clamp(calc(var(--_mobile-base) / 7 * .065), 1vh, calc(var(--_mobile-base) / 7 * .15))}}@supports not (width:100dvw){@media (width<=480px){:root{--_mobile-vw:100vw}}}@media (width>=481px) and (width<=720px){:root{--card-width:min(3.7rem, calc((100vw - 6rem) / 7 / var(--card-scale-user,1.4)));--card-height:calc(var(--card-width) * 1.4);--card-gap:.2rem;--card-fan-offset:1rem;--card-fan-offset-hidden:clamp(.45rem, 1.3vh, .85rem);--radius-card:.35rem}}@media (width>=721px) and (width<=1024px){:root{--card-width:min(5rem, calc((100vw - 7.5rem) / 7 / var(--card-scale-user,1.4)));--card-height:calc(var(--card-width) * 1.4);--card-gap:.3rem;--card-fan-offset:1.25rem;--card-fan-offset-hidden:clamp(.55rem, 1.4vh, 1.05rem)}}@media (width>=1025px) and (width<=1400px){:root{--card-width:min(6.4rem, calc((100vw - 9.5rem) / 7 / var(--card-scale-user,1.4)));--card-height:calc(var(--card-width) * 1.4);--card-gap:.4rem;--card-fan-offset:1.35rem;--card-fan-offset-hidden:clamp(.65rem, 1.5vh, 1.25rem)}}@media (width>=1401px){:root{--card-width:min(7.4rem, calc((100vw - 11rem) / 7 / var(--card-scale-user,1.4)));--card-height:calc(var(--card-width) * 1.4);--card-gap:.45rem;--card-fan-offset:1.52rem;--card-fan-offset-hidden:clamp(.7rem, 1.6vh, 1.4rem)}}@media (height<=600px) and (orientation:landscape) and (width<=932px){.game-main{align-items:stretch;min-height:0}:root{--_split-chrome:calc(var(--header-height) + var(--dock-height));--_split-h-avail:calc(100dvh - var(--_split-chrome));--_split-w-avail:calc(100dvw - 1rem);--card-height:min(calc(var(--_split-h-avail) / 3.3), calc(var(--_split-w-avail) / 10.7 * 1.4));--card-width:calc(var(--card-height) / 1.4);--card-gap:calc(var(--card-height) * .04);--card-fan-offset:calc(var(--card-height) * .26);--card-fan-offset-hidden:calc(var(--card-height) * .06);--radius-card:.3rem}.board{grid-template-columns:var(--card-w)  minmax(1rem, 5vw)  repeat(7, var(--card-w))  minmax(1rem, 5vw)  repeat(2, var(--card-w));-moz-column-gap:var(--board-gap);column-gap:var(--board-gap);row-gap:calc(var(--board-gap) * .8);padding-top:.5rem;padding-right:calc(.5rem + env(safe-area-inset-right,0px));padding-bottom:.5rem;padding-left:calc(.5rem + env(safe-area-inset-left,0px));--card-scale:calc(min(var(--card-scale-user,1.4), 1) * var(--card-scale-fit,1));grid-template-rows:auto 1fr;place-content:start center;align-self:stretch;width:100dvw;height:auto;min-height:0;margin:0 auto}.pile-stock{grid-area:1/1}.pile-waste{grid-area:2/1;align-self:start}.pile-tableau{grid-row:1/-1;min-height:0}.pile-tableau-0{grid-column:3}.pile-tableau-1{grid-column:4}.pile-tableau-2{grid-column:5}.pile-tableau-3{grid-column:6}.pile-tableau-4{grid-column:7}.pile-tableau-5{grid-column:8}.pile-tableau-6{grid-column:9}.pile-foundation-0{grid-area:1/11}.pile-foundation-1{grid-area:1/12}.pile-foundation-2{grid-area:2/11;align-self:start}.pile-foundation-3{grid-area:2/12;align-self:start}}@media (width>=721px){.board{--row-gap:calc(var(--board-gap) * 2.25)}}@media (width>=721px) and (height<=820px){.board{--row-gap:calc(var(--board-gap) * 1.5)}}@media (width>=721px) and (height<=700px){.board{--row-gap:var(--board-gap)}}
