.game-menu{position:absolute;width:100%;top:var(--nav-height);left:0;height:0;overflow-y:scroll;z-index:9999;background-color:var(--color-chrome);transition:height var(--menu-animation-time),background-color var(--background-transition-time)}.menu-active .game-menu{height:calc(100dvh - var(--nav-height))}.game-menu-content{max-width:860px;margin:0 auto;padding:40px 20px}.game-menu-block{margin-bottom:40px}.game-menu-title{font-size:22px;font-weight:600;margin-bottom:20px;padding-bottom:5px;border-bottom:1px solid var(--color-surface-border)}.stat-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:480px}.stat-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:10px;background-color:var(--color-surface)}.stat-tile-value{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.stat-tile-label{font-size:14px;color:var(--color-text-muted)}.reset-stats-button{margin-top:12px;padding:4px 0;border:none;background:none;color:var(--color-text-muted);font-size:14px;cursor:pointer}@media(hover:hover){.reset-stats-button:hover{color:var(--color-text);text-decoration:underline}}.game-settings{display:flex;flex-wrap:wrap;gap:16px 32px}.setting{display:flex;align-items:center;gap:12px}.setting-label{font-size:18px;font-weight:600}.segmented{display:flex;padding:3px;border:1px solid var(--color-surface-border);border-radius:10px;background-color:var(--color-surface)}.segmented button{padding:8px 14px;border:none;border-radius:7px;background:none;color:var(--color-text-muted);font-size:16px;font-weight:600;cursor:pointer}@media(hover:hover){.segmented button:hover{color:var(--color-text)}}.segmented button[aria-pressed=true]{background-color:var(--color-surface-active);color:var(--color-text);cursor:default}.segmented button:focus-visible{outline-offset:-2px}.theme-picker{display:flex;flex-wrap:wrap;gap:16px}.theme-swatch{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;border:none;background:none;cursor:pointer;color:var(--color-text-muted)}@media(hover:hover){.theme-swatch:hover{color:var(--color-text)}}.theme-swatch[aria-pressed=true]{color:var(--color-text)}.theme-swatch[aria-pressed=true] .theme-swatch-table{outline:2px solid var(--color-accent);outline-offset:2px}.theme-swatch:focus-visible{outline:none}.theme-swatch:focus-visible .theme-swatch-table{outline:2px solid var(--color-text);outline-offset:2px}.theme-swatch-table{display:flex;justify-content:center;align-items:center;width:96px;height:72px;border-radius:8px;background-color:var(--color-felt);background-image:radial-gradient(ellipse at 50% 30%,transparent 0%,rgb(0 0 0 / .45) 100%);box-shadow:inset 0 0 0 1px var(--color-surface-border)}.theme-swatch .theme-swatch-card{width:30px;height:42px;border-width:2px;border-radius:3px;box-shadow:var(--card-shadow)}.theme-swatch-name{font-size:16px}.game-history-list li{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 14px;margin:6px 0;border-radius:10px;background-color:var(--color-surface)}.game-history-list li.game-history-current{background-color:var(--color-surface-hover);box-shadow:inset 3px 0 0 var(--color-accent)}.game-history-number{min-width:3ch;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.game-history-button{display:block;padding:6px 12px;border:1px solid var(--color-surface-border);border-radius:8px;background-color:var(--color-surface);text-align:center;font-size:15px;font-weight:600;cursor:pointer}@media(hover:hover){.game-history-button:hover{background-color:var(--color-surface-hover)}}.game-history-won{padding:2px 10px;border-radius:999px;background-color:color-mix(in srgb,var(--color-accent) 15%,transparent);color:var(--color-accent);font-size:14px;font-weight:700}.game-history-time{margin-left:auto;font-size:15px;color:var(--color-text-muted)}@media(max-width:850px){.game-menu-content{padding:20px 10px}}@media(max-width:500px){.game-history-list li{gap:8px;padding:8px 10px}.game-history-number{font-size:16px}.game-history-button{padding:5px 10px;font-size:14px}.game-history-time{font-size:14px}.stat-tile-value{font-size:24px}}.game-nav{width:100%;height:var(--nav-height);border-bottom:1px solid var(--color-chrome-border);background-color:var(--color-chrome);transition:background-color var(--background-transition-time)}.game-nav.menu-active{position:relative;z-index:9999}.game-nav-content{display:flex;justify-content:space-between;align-items:center;max-width:var(--nav-width);height:100%;margin:0 auto}.game-nav-section{display:flex;gap:20px;align-items:center}.nav-button{display:flex;justify-content:center;align-items:center;height:40px;padding:0 12px;border:1px solid var(--color-surface-border);border-radius:8px;background-color:var(--color-surface);font-size:16px;font-weight:600;text-align:center;cursor:pointer}@media(hover:hover){.nav-button:hover{background-color:var(--color-surface-hover)}}.nav-button:active{transform:scale(.96)}.nav-button .undo-button{display:block;width:24px;height:24px}.nav-winner{color:var(--color-accent);font-weight:700}.nav-count{font-weight:700;font-variant-numeric:tabular-nums}.menu-button{flex-direction:column;gap:6px}.menu-button span{display:block;width:30px;height:2px;background-color:var(--color-text);border-radius:4px;transition:all var(--menu-animation-time)}.nav-fade{visibility:visible;opacity:1;transition:opacity var(--menu-animation-time),var(--button-transition)}.menu-active .menu-button span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-active .menu-button span:nth-child(2){opacity:0}.menu-active .menu-button span:nth-child(3){transform:translateY(-8px) rotate(135deg)}.menu-active .nav-fade{visibility:hidden;opacity:0;transition:opacity var(--menu-animation-time),visibility 0s var(--menu-animation-time);pointer-events:none}@media(max-width:850px){.game-nav-content{padding:0 10px}.nav-button{padding:0 8px;font-size:14px}.nav-winner,.nav-count{font-size:14px}}@media(max-width:600px){.game-nav-section{gap:12px}.nav-button{height:36px}}.card{position:relative;width:var(--card-width);height:var(--card-height);z-index:9;line-height:1;cursor:pointer;backface-visibility:hidden;transform-style:preserve-3d;--to-waste-start: calc(-1 * var(--card-width) - 10px);--to-stock-start: calc(var(--card-width) + 10px)}.card .card-back,.card .card-front{position:absolute;width:100%;height:100%;border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden;backface-visibility:hidden;transform-style:preserve-3d}.card .card-front{display:flex;flex-direction:column;justify-content:space-between;align-items:center;background-color:var(--color-card-face);-webkit-user-select:none;user-select:none}.card .card-front .value{display:flex;align-items:center;gap:1px;align-self:flex-start;padding:var(--card-index-padding);font-size:var(--card-index-size);font-weight:700;letter-spacing:-.03em}.card .card-front .value .suit-icon{width:.8em;height:.8em}.card .card-front .value-bottom{align-self:flex-end}.card .card-front .suit{width:var(--card-suit-size);height:var(--card-suit-size)}.card .card-front.red{color:var(--color-card-ink-red)}.card .card-front.black{color:var(--color-card-ink-black)}.card.show-front .card-back,.card.show-back .card-front{display:none}.card.show-animation,.card.show-animation .card-front{transform:rotateY(180deg)}.card.show-animation .card-back{box-shadow:none}.card.shake{animation:shake .3s ease-in-out}.card.waste-shift{animation:waste-shift .2s ease-out}.card.flip{animation:flip .3s forwards}.card.move,.card.deal,.card.deal-flip{--move-start-x: 0;--move-start-y: 0;z-index:99}.card.move{animation:move .5s forwards}.card.deal,.card.deal-flip{animation:deal .8s forwards}.card.deal-flip{animation-name:deal-flip}.card.to-waste,.card.to-stock{animation:to-waste .4s forwards;z-index:11}.card.to-stock{animation-name:to-stock}.right-handed .card{--to-waste-start: calc(var(--card-width) + 10px);--to-stock-start: calc(-1 * var(--card-width) - 10px)}@keyframes shake{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(6px) rotate(6deg)}40%{transform:translate(-6px) rotate(-6deg)}60%{transform:translate(4px) rotate(4deg)}80%{transform:translate(-4px) rotate(-4deg)}90%{transform:translate(2px) rotate(2deg)}to{transform:translate(-2px) rotate(-1deg)}}@keyframes waste-shift{0%{transform:translate(calc(var(--card-width) / -2))}to{transform:translate(0)}}@keyframes flip{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes move{0%{transform:translate(var(--move-start-x),var(--move-start-y)) rotateY(180deg)}to{transform:translate(0) rotateY(180deg)}}@keyframes deal{0%{transform:translate(var(--move-start-x),var(--move-start-y))}80%{transform:translate(0)}to{transform:translate(0)}}@keyframes deal-flip{0%{transform:translate(var(--move-start-x),var(--move-start-y)) rotateY(0)}80%{transform:translate(0) rotateY(0)}to{transform:translate(0) rotateY(180deg)}}@keyframes to-waste{0%{transform:translate(var(--to-waste-start)) rotateY(0)}50%{transform:translate(0) rotateY(0)}to{transform:translate(0) rotateY(180deg)}}@keyframes to-stock{0%{transform:translate(var(--to-stock-start)) rotateY(180deg)}50%{transform:translate(var(--to-stock-start)) rotateY(0)}to{transform:translate(0) rotateY(0)}}.card .card-back,.theme-swatch-card{border:var(--card-back-frame) solid var(--color-card-face);background-color:var(--color-card-back);background-image:repeating-linear-gradient(45deg,var(--color-card-back-line) 0 1px,transparent 1px 6px),repeating-linear-gradient(-45deg,var(--color-card-back-line) 0 1px,transparent 1px 6px)}@media(max-width:760px){.card .card-front .value-bottom{display:none}}@media(max-width:600px){.card .card-front .value{align-self:center;padding-inline:0}}.card-pile li{position:relative}.card-pile li:last-child{height:100%;width:100%}.pile-flip3 .card-pile{display:flex}.pile-flip3 li,.pile-flip3 li:last-child{width:calc(var(--card-width) / 2)}.drag-pile{position:absolute;z-index:100;transform:scale(1.04);transform-origin:top left;filter:drop-shadow(0 12px 16px rgb(0 0 0 / .45))}.win-animation{position:absolute;top:0;left:0}.animation-card{position:absolute;top:0;left:0;transform-origin:top left}.win-banner{position:absolute;top:50%;left:50%;translate:-50% -50%;z-index:1000;padding:20px 32px;border:1px solid var(--color-surface-border);border-radius:16px;background-color:var(--color-chrome);box-shadow:0 20px 50px #00000080;color:var(--color-accent);font-size:28px;font-weight:700;white-space:nowrap;pointer-events:none;animation:win-banner 2.5s forwards}:root[data-reduce-motion] .win-banner{animation:none}@keyframes win-banner{0%{opacity:0;transform:scale(.8)}15%{opacity:1;transform:scale(1.05)}22%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:scale(1)}}@media(max-width:600px){.win-banner{padding:16px 24px;font-size:22px}}.game-board{flex:1;padding:30px 10px;overflow:hidden;touch-action:none}.board-row{display:flex;justify-content:space-between;align-items:flex-start;max-width:var(--board-row-max-width);width:100%;margin:0 auto 30px}.card-position{position:relative;width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);background-color:var(--color-slot);box-shadow:inset 0 0 0 1px var(--color-slot-border),inset 0 2px 6px #00000040;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.card-position-stock{cursor:pointer}.card-position-waste{display:flex}.card-position-spacer{position:initial;background-color:initial;box-shadow:none}.card-position-foundation:before,.card-position-tableau.droppable:before{position:absolute;inset:-15px calc(var(--card-gap) * -.6);content:""}.card-position-tableau.droppable:before{bottom:-100dvh}.card-position-tableau li{height:var(--fan-offset)}.card-position-single li{height:0px;pointer-events:none}.card-position-single li:last-child{pointer-events:initial}.condense.card-position-tableau li{height:var(--fan-offset-condensed)}.right-handed .card-position-spacer{order:5}.right-handed .card-position-waste{order:6}.right-handed .card-position-stock{order:7}.drop-target{box-shadow:inset 0 0 0 2px var(--color-accent)}.drop-target .card-pile>li:last-child .card-front{box-shadow:0 0 0 2px var(--color-accent),0 0 12px color-mix(in srgb,var(--color-accent) 50%,transparent)}.slot-icon{position:absolute;inset:0;width:55%;height:55%;margin:auto;color:var(--color-slot-icon);opacity:var(--slot-icon-opacity);pointer-events:none}:root{--nav-width: 860px;--nav-height: 66px;--board-row-max-width: 840px;--board-gutter: 20px;--card-gap: 20px;--menu-animation-time: .4s;--background-transition-time: .6s;--hover-transition-time: .2s;--button-transition: background-color var(--hover-transition-time), color var(--hover-transition-time), transform .1s;--card-width: calc(min(100vw - var(--board-gutter), var(--board-row-max-width)) / 7 - var(--card-gap));--card-height: calc(var(--card-width) * 1.4);--card-radius: max(4px, calc(var(--card-width) * .07));--card-index-size: clamp(14px, calc(var(--card-width) * .21), 21px);--card-index-padding: max(3px, calc(var(--card-width) * .06));--card-suit-size: calc(var(--card-width) * .5);--card-back-frame: max(2px, calc(var(--card-width) * .05));--card-shadow: 0 1px 2px rgb(0 0 0 / .45), 0 0 0 1px rgb(0 0 0 / .25);--fan-offset: calc(var(--card-index-size) * 1.65);--fan-offset-condensed: calc(var(--card-index-size) * 1.25);--color-text: #e3dfd3;--color-text-muted: #a7a395;--color-accent: #d9b45a;--color-surface: rgb(0 0 0 / .28);--color-surface-hover: rgb(255 255 255 / .08);--color-surface-active: rgb(255 255 255 / .16);--color-surface-border: rgb(255 255 255 / .14);--color-chrome-border: rgb(255 255 255 / .07);--color-slot: rgb(0 0 0 / .26);--color-slot-border: rgb(255 255 255 / .07);--color-slot-icon: #fff;--slot-icon-opacity: .08;--color-card-face: #ece7da;--color-card-ink-red: #b21f2d;--color-card-ink-black: #1b1b1f}:root,[data-theme=felt]{--color-felt: #0f3a23;--color-chrome: #0a2416;--color-card-back: #1a2d4a;--color-card-back-line: #2a4268}[data-theme=felt-red]{--color-felt: #0f3a23;--color-chrome: #0a2416;--color-card-back: #6e1c26;--color-card-back-line: #8a2c37}[data-theme=midnight]{--color-felt: #13294a;--color-chrome: #0b1a30;--color-card-back: #7d2433;--color-card-back-line: #9a3646}[data-theme=oxblood]{--color-felt: #4a1820;--color-chrome: #2e0d13;--color-card-back: #1d3557;--color-card-back-line: #2c4a72}[data-theme=slate]{--color-felt: #2a3036;--color-chrome: #191d21;--color-card-back: #1f5144;--color-card-back-line: #2c6b5a}@media(max-width:600px){:root{--nav-height: 56px;--card-gap: 10px;--card-suit-size: calc(var(--card-width) * .7)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--color-felt);font-size:16px;line-height:1.2;transition:background-color var(--background-transition-time)}body{min-height:100dvh;color:var(--color-text);font-family:Inter,system-ui,sans-serif;font-optical-sizing:auto;background-image:radial-gradient(ellipse at 50% 30%,transparent 0%,rgb(0 0 0 / .45) 100%)}img,picture,video,canvas,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{transition:var(--button-transition)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:root[data-reduce-motion]{--menu-animation-time: 0s}:root[data-reduce-motion] .card{animation-duration:.01s}ul,ol{list-style:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.game-wrapper{position:relative;display:flex;flex-direction:column;width:100vw;height:100dvh;overflow:hidden;-webkit-user-select:none;user-select:none}
