@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/card-stack/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2) format("woff2"),url(/play/card-stack/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/card-stack/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2) format("woff2"),url(/play/card-stack/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/card-stack/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2) format("woff2"),url(/play/card-stack/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/card-stack/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2) format("woff2"),url(/play/card-stack/assets/nunito-latin-ext-600-normal-BKUpuB78.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/play/card-stack/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/play/card-stack/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/card-stack/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2) format("woff2"),url(/play/card-stack/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/card-stack/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2) format("woff2"),url(/play/card-stack/assets/nunito-cyrillic-800-normal-DymMgApb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/card-stack/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2"),url(/play/card-stack/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/card-stack/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(/play/card-stack/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/play/card-stack/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/play/card-stack/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--felt-mid: #1f6b45;--felt-edge: #134a30;--felt: radial-gradient(circle at 50% 45%, var(--felt-mid), var(--felt-edge) 75%);--text: #eaf2ff;--text-dim: #bfe0cc;--accent: #f5b942;--accent-ink: #2a1d00;--button: rgba(0, 0, 0, .28);--button-line: rgba(255, 255, 255, .14);--panel: #0e2a1d;--radius: 18px;--card-face: #fbfaf4;--card-edge: #d9d6c8;--card-shadow: 0 1px 2px rgba(0, 0, 0, .35);--card-shadow-lifted: 0 8px 16px rgba(0, 0, 0, .4);--suit-red: #d23b3b;--suit-black: #1f2430;--card-back: #2b3a5c;--card-back-diamond: #f5b942;--card-back-border: 3px;--slot-line: rgba(255, 255, 255, .3);--slot-width: 2px;--slot-target: #f5b942;--table-margin: 6px;--card-gutter: 4px;--card-ratio: 1.4;--card-radius: .13;--table-max: 480px;--top-row-gap: 8px;--tableau-gap: 12px;--down-offset: 8px;--up-offset: 20px;--down-offset-min: 4px;--up-offset-min: 12px;--waste-fan: 14px;--tableau-bottom: 8px;--lift: .1s;--lift-scale: 1.04;--shake: .24s;--hint-pulse: 1.2s;--ring: .2s;--points: .6s;--won-in: .26s;--best-delay: .76s;--sheet-in: .24s;--screen-in: .2s;--press: 80ms;--banner-out: .2s;--mark-loop: 3s;--shimmer: 1.6s;--flip-plain: 80ms;--hud-h: 72px;--bar-h: 64px;--control-min: 48px;--tap-slop: 6px;--column-w: 412px;--sheet-w: 380px;--scrim: rgba(0, 0, 0, .5);--switch-off: rgba(255, 255, 255, .16);--switch-knob: 20px;--switch-inset: 12px;--flag-w: 28px;--flag-h: 20px;font-family:Nunito,system-ui,sans-serif;font-weight:600;color:var(--text);color-scheme:dark;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--felt);background-color:var(--felt-edge);overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:manipulation}.screen{animation:fade-in var(--screen-in) ease-out;height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.home{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;max-width:var(--column-w);margin:0 auto}.home-mark{width:96px;height:96px;animation:mark-lift var(--mark-loop) ease-in-out infinite}.home-title{margin:0;font-size:40px;font-weight:800}.home-version{position:absolute;right:calc(16px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));margin:0;font-size:12px;color:var(--text-dim)}.home-actions{display:flex;flex-direction:column;gap:10px;width:min(280px,100% - 48px);margin-top:12px}.home-play{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60px;font-size:18px}.home-play small{font-size:12px;font-weight:600}.home-settings{position:absolute;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right))}.pill{min-height:var(--control-min);padding:0 14px;border:1px solid var(--button-line);border-radius:999px;background:var(--button);color:var(--text);font:inherit;font-size:15px;cursor:pointer}.pill,.icon-button,.banner{transition:transform var(--press) ease-out}.pill:active:not(:disabled),.icon-button:active:not(:disabled){transform:scale(.96)}.banner:active:not(:disabled){transform:translate(-50%) scale(.96)}.pill:disabled{opacity:.4;cursor:default}.pill--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:800}.game{display:flex;flex-direction:column;touch-action:none}.hud{flex:none;height:var(--hud-h);width:100%;max-width:var(--table-max);margin:0 auto;padding:6px 12px 0}.hud-counters{display:flex;justify-content:space-around}.counter{display:flex;flex-direction:column;align-items:center;min-width:72px}.counter-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.counter-value{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.hud-deal{margin:2px 0 0;font-size:11px;text-align:center;color:var(--text-dim)}.table-area{position:relative;flex:1;min-height:0}.table{position:absolute;inset:0;overflow:hidden}.bar{flex:none;height:var(--bar-h);width:100%;max-width:var(--table-max);margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;align-items:center;padding:0 6px}.bar .pill{padding:0 2px;font-size:12px;white-space:nowrap;overflow:hidden}.suit-sprite{position:absolute;width:0;height:0;overflow:hidden}.slot{position:absolute;left:0;top:0;width:var(--card-w);height:var(--card-h);border:var(--slot-width) solid var(--slot-line);border-radius:var(--card-r);display:flex;align-items:center;justify-content:center;color:var(--slot-line);font-size:calc(var(--card-w) * .45);font-weight:800}.slot--foundation:after{content:"A"}.slot--column:after{content:"K"}.slot--recycle:after{content:"↻"}.slot--stock{cursor:pointer}.slot--target{border-color:var(--slot-target)}.table-area--dealing .slot{overflow:hidden}.table-area--dealing .slot:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translate(-100%);animation:shimmer var(--shimmer) ease-in-out infinite}.slot--hint{animation:hint-pulse var(--hint-pulse) ease-in-out}.card{position:absolute;left:0;top:0;width:var(--card-w);height:var(--card-h);cursor:pointer}.card--moving{will-change:transform}.card-inner{width:100%;height:100%;border-radius:var(--card-r);perspective:calc(var(--card-w) * 8);transition:transform var(--lift) ease-out}.card-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--flip-ms, .24s) ease-in-out var(--flip-delay, 0ms)}.card--down .card-flip{transform:rotateY(180deg)}.card-side{position:absolute;inset:0;border-radius:var(--card-r);box-shadow:var(--card-shadow);backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:box-shadow var(--lift) ease-out}.card-side--back{transform:rotateY(180deg)}.card--dragging .card-inner{transform:scale(var(--lift-scale))}.card--dragging .card-side{box-shadow:var(--card-shadow-lifted)}.card--target .card-inner{outline:var(--slot-width) solid var(--slot-target);outline-offset:-2px}.card--shake .card-inner{animation:shake var(--shake) ease-in-out}.card--hint .card-inner{animation:hint-pulse var(--hint-pulse) ease-in-out}.mark{position:absolute;left:0;top:0;width:var(--card-w);height:var(--card-h);z-index:2500;pointer-events:none}.mark--ring span{position:absolute;inset:0;border:var(--slot-width) solid var(--accent);border-radius:var(--card-r);opacity:0;animation:ring var(--ring) ease-out both}.mark--points span{position:absolute;left:50%;top:0;color:var(--accent);font-weight:800;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:0;animation:points var(--points) ease-out both}.card-face{display:block;width:100%;height:100%;background:var(--card-face);border:1px solid var(--card-edge);border-radius:var(--card-r)}.card-face--red{color:var(--suit-red)}.card-face--black{color:var(--suit-black)}.card-rank{font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:28px;fill:currentColor}.emblem{fill:none;stroke:currentColor;stroke-width:4;stroke-linejoin:round}.emblem-pearl{fill:currentColor}.card-back{width:100%;height:100%;border:var(--card-back-border) solid var(--card-face);border-radius:var(--card-r);background-color:var(--card-back);background-image:repeating-linear-gradient(45deg,transparent 0 5px,var(--card-back-diamond) 5px 6px),repeating-linear-gradient(-45deg,transparent 0 5px,var(--card-back-diamond) 5px 6px)}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(32px)}}@keyframes slide-down-out{to{opacity:0;transform:translate(-50%,24px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.2)}80%{transform:scale(.94)}to{transform:scale(1)}}@keyframes ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}@keyframes points{0%{opacity:0;transform:translate(-50%)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-28px)}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes mark-lift{0%,60%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(-2deg)}40%{transform:translateY(1px) rotate(0)}}@keyframes shake{0%,to{transform:translate(0)}16%{transform:translate(-4px)}33%{transform:translate(4px)}50%{transform:translate(-4px)}66%{transform:translate(4px)}83%{transform:translate(-4px)}}@keyframes hint-pulse{0%,50%,to{scale:1;outline:0 solid transparent}25%,75%{scale:1.03;outline:var(--slot-width) solid var(--accent)}}.dealing,.toast{position:absolute;left:50%;top:40%;transform:translate(-50%);padding:10px 18px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--button-line);font-size:15px;z-index:3000;pointer-events:none;white-space:nowrap}.toast{top:auto;bottom:16px;font-size:13px}.banner{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:3000;min-height:var(--control-min);padding:0 24px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:800;font-size:16px;cursor:pointer}.banner--leaving{animation:slide-down-out var(--banner-out) ease-in forwards;pointer-events:none}.won{animation:slide-up var(--won-in) ease-out;position:absolute;inset:20% 24px auto;max-width:360px;margin:0 auto;z-index:3000;display:flex;flex-direction:column;gap:10px;align-items:center;padding:20px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--button-line)}.won h2{margin:0;font-weight:800}.won p{margin:0;color:var(--text-dim)}.won .pill{width:100%}.won-close{position:absolute;top:8px;right:8px}.won-figures{display:flex;gap:24px}.counter-best{animation:pop-in .32s ease-out var(--best-delay) both;font-size:12px;font-weight:800;color:var(--accent)}.sheet{width:calc(100% - 32px);max-width:var(--sheet-w);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:12px 20px 20px;border:1px solid var(--button-line);border-radius:var(--radius);background:var(--panel);color:var(--text);overflow-y:auto}.sheet[open]{animation:slide-up var(--sheet-in) ease-out}.sheet::backdrop{background:var(--scrim);animation:fade-in var(--sheet-in) ease-out}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:var(--control-min)}.sheet-heading h2{margin:0;font-size:24px;font-weight:800}.sheet p{margin:8px 0}.sheet-action{display:block;width:100%;margin-top:10px}.sheet-note{font-size:13px;color:var(--text-dim)}.sheet-version{text-align:center;font-size:12px;color:var(--text-dim)}.icon-button{width:var(--control-min);height:var(--control-min);flex:none;border:1px solid var(--button-line);border-radius:50%;background:var(--button);color:var(--text);font:inherit;font-size:22px;line-height:1;cursor:pointer}.setting-group{margin:8px 0}.setting-label{color:var(--text-dim)}.sheet .setting-label{margin:8px 0 0}.segments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.segments .pill{min-width:0;padding:0 12px}.pill.chosen{border-color:var(--accent);color:var(--accent)}.language{display:flex;align-items:center;justify-content:center;gap:8px}.language img{width:var(--flag-w);height:var(--flag-h);object-fit:cover;border-radius:3px}.setting{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--control-min)}.setting>span{display:flex;flex-direction:column}.setting-note{font-size:12px;color:var(--text-dim)}.setting input{appearance:none;position:relative;width:var(--control-min);height:var(--control-min);flex:none;margin:0;background:none;cursor:pointer}.setting input:before{content:"";position:absolute;inset:var(--switch-inset) 0;border-radius:999px;background:var(--switch-off)}.setting input:after{content:"";position:absolute;top:calc(var(--switch-inset) + 2px);left:4px;width:var(--switch-knob);height:var(--switch-knob);border-radius:50%;background:var(--text-dim);transition:transform .12s ease-out}.setting input:checked:before{background:var(--accent)}.setting input:checked:after{transform:translate(var(--switch-knob));background:var(--accent-ink)}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.stat{padding:8px 12px;border-radius:12px;background:var(--button)}.stat dt{font-size:12px;color:var(--text-dim)}.stat dd{margin:2px 0 0;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.card-flip,.card--down .card-flip,.card-side--back,.card--dragging .card-inner{transform:none;transition:none}.card-side{backface-visibility:visible;-webkit-backface-visibility:visible;transition:opacity var(--flip-plain) linear}.card--down .card-side--front,.card:not(.card--down) .card-side--back{opacity:0}.card--shake .card-inner,.card--hint .card-inner,.home-mark,.table-area--dealing .slot:before,.banner--leaving,.counter-best{animation:none}.won,.sheet[open]{animation-name:fade-in}.pill:active:not(:disabled),.icon-button:active:not(:disabled){transform:none}.banner:active:not(:disabled){transform:translate(-50%)}}
