@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:dark;--page:#0b2622;--table:#164c3d;--table-edge:#356151;--text:#f4f2e6;--muted:#9db7aa;--gold:#e7c77d;--gold-dark:#bb9650;--card-width:100px;--card-height:140px;--face-step:29px;--back-step:20px;--gap:22px;--body-font:'DM Sans',sans-serif;--title-font:'Manrope',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font-family:var(--body-font);font-size:16px;min-width:320px;background-image:radial-gradient(ellipse at 50% 42%,#234d3524,transparent 65%);transition:background-color .3s}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.34;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:enabled{transition:background .18s,color .18s,transform .18s}button:enabled:active{transform:translateY(1px)}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;display:block;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}span[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0} .app-shell{max-width:1280px;margin:auto;padding:0 54px}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #afc6ab19;gap:30px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{font-family:Georgia,serif;color:var(--gold);font-size:52px;line-height:1}.brand-text{font-family:var(--title-font);font-size:17px;letter-spacing:2.1px;font-weight:750;display:flex;flex-direction:column;gap:4px}.brand-text>span{color:var(--gold);font-size:10px;letter-spacing:4.5px}.site-header nav{display:flex;gap:12px;align-self:stretch;align-items:center}.nav-button{display:flex;gap:8px;align-items:center;padding:12px 20px;color:var(--muted);font-size:14px;font-weight:600;border-radius:7px}.nav-button.active{background:#91b99a12;color:var(--gold)}.nav-button:hover,.icon-button:hover{background:#ffffff0c;color:var(--text)}.nav-button svg{width:17px;height:17px}.new-dot{height:5px;width:5px;background:var(--gold);border-radius:50%;margin-left:2px}.header-actions{display:flex;gap:10px}.icon-button{padding:11px;color:var(--muted);border-radius:50%;display:flex;align-items:center;justify-content:center}.game-section{max-width:992px;margin:0 auto}.game-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:35px 0 26px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.3px;color:var(--gold);margin-bottom:10px}.tiny-diamond{font-size:9px;margin-right:5px}h1{font-family:var(--title-font);font-size:25px;font-weight:600;letter-spacing:-.9px;margin:0}.text-button{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding:6px 0}.text-button svg{height:16px;width:16px}.text-button:hover{color:var(--gold)}.game-frame{border:1px solid var(--table-edge);border-radius:16px;overflow:hidden;box-shadow:0 20px 55px #00000020,inset 0 0 0 5px #ffffff02;background-color:var(--table);background-image:radial-gradient(ellipse at 45% 40%,#578e4733,transparent 78%),url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.15' filter='url(%23n)'/%3E%3C/svg%3E")}.game-topbar{height:78px;padding:0 31px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8e6be15;background:#071c1915}.mode-selector{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}.mode-selector>span[data-icon] svg{width:14px;height:14px;color:#a9c1af}.mode-pill{font-size:11px;color:#bfd4be;font-weight:500;padding:5px 9px;border:1px solid #aac69926;border-radius:5px}.game-stats{display:flex;gap:31px;align-items:center}.game-stats>div{display:flex;flex-direction:column;gap:5px;min-width:43px}.game-stats>div>span{font-size:9px;letter-spacing:1.5px;font-weight:600;color:#a9c2af}.game-stats strong{font-family:var(--title-font);font-size:19px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.6px}.pause-button{padding:10px;border:1px solid #bfd4b42a;border-radius:7px;color:#b9cdb9}.pause-button svg{width:15px;height:15px}.play-area{position:relative;max-width:100%;padding:27px 0 0;margin:0 auto;width:calc(var(--card-width)*7 + var(--gap)*6);min-height:482px;isolation:isolate}.top-piles{display:grid;grid-template-columns:repeat(7,var(--card-width));gap:var(--gap);height:calc(var(--card-height) + 31px)}.pile{position:relative;width:var(--card-width);min-height:var(--card-height)}.card-slot{width:var(--card-width);height:var(--card-height);border:1px solid #cfddb326;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#102c2821;position:absolute;left:0;top:0;color:#b3cca24d}.card-slot .slot-suit{font-family:Georgia,serif;font-size:48px;opacity:.63}.foundation-slot{border:1px solid #d4dcac33;background:transparent}.foundation-slot:after{content:'';position:absolute;inset:5px;border:1px solid #d4dcac10;border-radius:5px}.slot-caption{position:absolute;top:calc(var(--card-height) + 9px);font-size:9px;color:#a9c4a7;letter-spacing:1.8px;left:0;right:0;text-align:center;pointer-events:none}.stock-slot svg{width:27px;height:27px}.stock-count{position:absolute;right:-6px;bottom:22px;z-index:5;background:#eee7d3;border:2px solid #1a4839;color:#315546;border-radius:12px;min-width:25px;padding:2px 4px;font-size:10px;font-weight:700;pointer-events:none;text-align:center}.tableau{display:grid;grid-template-columns:repeat(7,var(--card-width));gap:var(--gap);padding-top:15px;position:relative}.tableau>.pile{height:var(--pile-height)}.card{position:absolute;left:0;top:var(--top,0);width:var(--card-width);height:var(--card-height);border-radius:7px;border:1px solid #dbddce;background:#f8f7ef;color:#273a36;box-shadow:0 2px 3px #051a2833,0 0 0 1px #ffffff0a;user-select:none;-webkit-user-select:none;touch-action:none;cursor:grab;padding:0;display:block;font-family:Georgia,'Times New Roman',serif;overflow:hidden;transition:box-shadow .16s,filter .16s!important}.card.red{color:#be4244}.card.face-up:hover{filter:brightness(1.025);box-shadow:0 4px 10px #0005}.card:enabled:active{transform:none}.card-corner{position:absolute;left:8px;top:6px;display:flex;flex-direction:column;align-items:center;font-size:23px;font-weight:500;line-height:1.05;letter-spacing:-1px}.corner-suit{font-size:18px;line-height:1.15;letter-spacing:0}.card-corner.bottom{top:auto;left:auto;right:8px;bottom:6px;transform:rotate(180deg)}.card-center{position:absolute;inset:25% 22%;display:flex;align-items:center;justify-content:center;font-size:49px;line-height:1;pointer-events:none}.card-center.ace{font-size:62px}.court-center{border:1px solid currentColor;opacity:.85;inset:22% 23%;display:flex;flex-direction:column;gap:4px;font-size:36px}.court-center .court-suit{font-size:20px}.card-pips{position:absolute;inset:24px 21px;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(5,1fr);align-items:center;justify-items:center;font-size:22px;line-height:.8}.card-pips .pip{position:absolute;transform:translate(-50%,-50%)}.card-back{background-color:#174c3e;background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,#cccb8918 5px,#cccb8918 6px),repeating-linear-gradient(-45deg,transparent,transparent 5px,#cccb8918 5px,#cccb8918 6px);border:3px solid #eeedda;cursor:default;box-shadow:0 2px 3px #071c2650}.card-back:before{content:'';position:absolute;inset:4px;border:1px solid #c5c38e7a;border-radius:2px}.card-back:after{content:'♠';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#d1ce90;font-size:31px;width:46px;height:58px;display:flex;align-items:center;justify-content:center;background:#1b4c3d;border:1px solid #c5c38e8a;box-shadow:0 0 0 3px #1b4c3d,0 0 0 4px #c5c38e5a;border-radius:45%}.stock-card{cursor:pointer}.card.selected{box-shadow:0 0 0 3px var(--gold),0 6px 15px #0005;filter:brightness(1.035)}.card.hinted,.stock-slot.hinted{animation:hint-glow 1s ease-in-out infinite}.card-slot.legal-target{box-shadow:inset 0 0 0 2px #e7c77d85;background:#e7c77d0d}.pile.drop-target{filter:drop-shadow(0 0 5px var(--gold))}.table-watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding-bottom:28px;gap:11px;color:#c1d7a20e;z-index:-1;pointer-events:none}.table-watermark>span:first-child{font-family:Georgia,serif;font-size:105px;line-height:1}.table-watermark>span:last-child{font-family:var(--title-font);font-size:10px;letter-spacing:6px;font-weight:600}.table-message{height:47px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#b6ccae;letter-spacing:.1px;padding:4px 18px;text-align:center}.message-spark{font-size:20px;color:#d7d395}.game-controls{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:0 1px;gap:14px}.assist-controls{display:flex;gap:12px;align-items:center}.tool-button{display:flex;align-items:center;gap:9px;background:#9abda90b;border:1px solid #a8c9b51e;border-radius:7px;padding:12px 17px;color:#d0decf;font-size:13px;font-weight:500;height:45px}.tool-button:hover:enabled{background:#a0c0a418;border-color:#a8c9b54a}.tool-button svg{width:17px;height:17px;color:#c3cfb1}kbd{font:10px var(--body-font);border:1px solid #b6c7ac23;border-radius:3px;padding:1px 4px;color:#9bad9b;margin-left:6px}.new-game-button,.primary-button{display:flex;align-items:center;justify-content:center;gap:9px;background:var(--gold);color:#293e2e;border:1px solid #f7dd9b;border-radius:7px;padding:13px 24px;font-size:13px;font-weight:750;box-shadow:0 3px 10px #0001}.new-game-button:hover,.primary-button:hover{background:#f4d995}.new-game-button svg{height:17px;width:17px}.play-tip{display:flex;gap:6px;align-items:center;justify-content:center;margin:21px 0 0;color:#88a293;font-size:11px}.play-tip svg{height:14px;width:14px}.desktop-tip{margin-left:2px}.club-note{display:flex;align-items:center;justify-content:center;gap:17px;margin:37px auto 33px;color:#799682;font-size:9px;letter-spacing:1.6px}.ornament{color:#a2956263;white-space:nowrap}.advertisement{margin:150px auto 0;max-width:728px;min-height:110px;text-align:center}.advertisement>span{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:12px}.advertisement[hidden]{display:none}footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #afc6ab13;min-height:66px;font-size:11px;color:#789385;gap:20px}footer>span{display:flex;align-items:center;gap:7px}footer strong{font-weight:500;color:#9bb19f}footer>div{display:flex;gap:13px;align-items:center}footer button{font-size:11px;padding:8px 0}footer button:hover{color:var(--gold)}dialog{background:#11372f;color:var(--text);border:1px solid #70836a80;border-radius:18px;padding:0;max-width:min(470px,calc(100vw - 32px));width:470px;box-shadow:0 30px 120px #0007;max-height:85dvh;overflow-y:auto}dialog::backdrop{background:#051f1bcc;backdrop-filter:blur(7px)}.modal-content{padding:36px}.modal-close{position:absolute;right:12px;top:12px}.modal-icon{color:var(--gold);margin-bottom:19px;font-size:42px}.modal-icon svg{width:32px;height:32px}.modal-content h2{font-family:var(--title-font);font-size:25px;letter-spacing:-.6px;margin:0 0 12px;font-weight:650}.modal-content p{font-size:14px;line-height:1.65;color:#c3d3c5;margin:0 0 20px}.modal-content .primary-button{width:100%;margin-top:22px;font-size:14px}.secondary-button{width:100%;padding:14px;border:1px solid #8fa78850;border-radius:7px;margin-top:10px;font-size:14px;color:#bfd0be}.secondary-button:hover{background:#ffffff08}.rules{padding-left:22px;margin:23px 0;font-size:14px;line-height:1.6;color:#c3d3c5}.rules li{padding-left:5px;margin-bottom:13px}.rules strong{color:#f1eddc;font-weight:600}.keyboard-guide{display:flex;gap:12px;justify-content:center;font-size:12px;color:var(--muted);flex-wrap:wrap;border-top:1px solid #c6d8ab20;padding-top:18px}.keyboard-guide kbd{margin:0 3px 0 0;font-size:11px}.setting-row{padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #bed1b81a;font-size:14px}.setting-row small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.toggle{width:43px;height:25px;border-radius:20px;background:#5f746460;padding:3px;border:1px solid #91a38150}.toggle:before{content:'';display:block;width:17px;height:17px;border-radius:50%;background:#c4d1c0;transition:transform .2s}.toggle[aria-pressed=true]{background:var(--gold)}.toggle[aria-pressed=true]:before{transform:translateX(17px);background:#274838}.theme-options{display:flex;gap:7px}.theme-swatch{width:28px;height:28px;border:2px solid transparent;border-radius:50%;box-shadow:inset 0 0 0 2px #11372f}.theme-swatch[aria-pressed=true]{border-color:var(--gold)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.choice{padding:20px 10px;border:1px solid #b3c4a735;border-radius:10px;display:flex;align-items:center;flex-direction:column;gap:9px;font-size:15px}.choice small{font-size:12px;color:var(--muted)}.choice[aria-pressed=true]{border-color:var(--gold);background:#e7c77d0b}.choice>span{font-size:25px;font-family:Georgia,serif;color:var(--gold)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.stat-box{background:#c1d6b509;border:1px solid #c1d6b51a;border-radius:8px;padding:20px}.stat-box strong{font-size:28px;display:block;font-family:var(--title-font);color:var(--gold);font-weight:600}.stat-box span{font-size:12px;display:block;color:var(--muted);margin-top:7px}.modal-content .subtle-note{font-size:12px;color:var(--muted);margin-top:19px;margin-bottom:0}.win-heading{text-align:center}.win-heading .modal-icon{font-size:62px;margin-bottom:14px}.win-metrics{display:flex;justify-content:space-around;margin:25px 0}.win-metrics strong{display:block;font-size:25px;color:var(--gold)}.win-metrics span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,16px);background:#f0e9cf;color:#234135;box-shadow:0 6px 24px #0005;border-radius:10px;padding:13px 20px;max-width:calc(100vw - 30px);width:max-content;font-size:14px;opacity:0;pointer-events:none;z-index:100;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.drag-ghost{position:fixed;left:0;top:0;z-index:500;pointer-events:none;filter:drop-shadow(0 10px 10px #0005);transform:rotate(-3deg)}.drag-source{opacity:.25!important}.confetti{position:fixed;top:-20px;z-index:200;width:8px;height:12px;pointer-events:none;animation:confetti-fall var(--duration) linear forwards;left:var(--left);background:var(--color);animation-delay:var(--delay)}body[data-theme=midnight]{--page:#141e2c;--table:#253d56;--table-edge:#456074;--muted:#a8b6c5}body[data-theme=plum]{--page:#291c2b;--table:#533747;--table-edge:#795969;--muted:#c1adbf}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.privacy-link{color:var(--gold);text-decoration:underline}.tableau .card.face-up{scroll-margin:90px}.card.dealt{animation:deal-in .3s both;animation-delay:var(--delay,0ms)}
@keyframes hint-glow{50%{box-shadow:0 0 0 3px var(--gold),0 0 24px #e7c77d88}}
@keyframes deal-in{from{opacity:0;transform:translateY(-14px) rotate(-2deg)}to{opacity:1;transform:none}}
@keyframes confetti-fall{to{transform:translateY(110vh) rotate(720deg)}}
@media(min-width:1440px){.app-shell{max-width:1400px;padding:0 70px}.site-header{height:116px}.game-section{max-width:1050px}.game-heading{padding-top:40px}.play-area{min-height:510px}:root{--card-width:108px;--card-height:150px;--gap:25px;--back-step:22px}.game-topbar{height:82px}.club-note{margin:42px auto}.card-corner{font-size:25px}.card-pips{font-size:24px}}
@media(max-width:1080px){.app-shell{padding:0 30px}:root{--card-width:90px;--card-height:126px;--gap:20px;--back-step:19px;--face-step:27px}.site-header nav{gap:0}.nav-button{padding:12px 14px}.header-actions{gap:1px}.play-area{min-height:459px}.card-pips{inset:24px 19px;font-size:20px}.card-corner{font-size:21px}.card-center{font-size:42px}.court-center{font-size:30px}.card-center.ace{font-size:55px}}
@media(max-width:860px){.app-shell{padding:0 22px}:root{--card-width:calc((100vw - 122px)/7);--card-height:calc(var(--card-width)*1.4);--gap:9px;--face-step:27px;--back-step:18px}.brand-text{font-size:14px;letter-spacing:1.5px}.brand-text>span{font-size:9px;letter-spacing:3.4px}.brand-mark{font-size:43px}.brand{gap:8px}.site-header{height:88px;gap:12px}.nav-button{font-size:12px;padding:10px 12px}.header-actions .icon-button{padding:9px}.header-actions svg{width:18px;height:18px}.new-dot{display:none}.play-area{min-height:440px}.game-topbar{padding:0 22px}.game-stats{gap:20px}.game-heading{padding:28px 0 22px}h1{font-size:23px}.card-pips{inset:24px 17px;font-size:19px}.card-corner{font-size:21px;left:6px;top:5px}.card-corner.bottom{right:6px;bottom:5px}.corner-suit{font-size:15px}.court-center{font-size:27px}.court-center .court-suit{font-size:17px}.card-back:after{width:38px;height:48px;font-size:25px}.card-back{border-width:2px}.club-note{font-size:8px}}
@media(max-width:600px){.app-shell{padding:0 14px}.site-header{height:79px;flex-wrap:wrap;gap:0;position:relative;align-content:center}.brand-text{font-size:12px;letter-spacing:1.5px}.brand-text>span{font-size:8px;letter-spacing:3px}.brand-mark{font-size:39px}.header-actions{gap:2px;margin-left:auto}.header-actions .icon-button{padding:9px}.site-header nav{order:3;display:none}.game-heading{padding:25px 2px 18px;align-items:center}.eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:9px}h1{font-size:21px;letter-spacing:-.9px}.help-top{font-size:0;padding:10px}.help-top svg{width:21px;height:21px}.game-frame{border-radius:11px;overflow:visible;background-size:auto,180px}.game-topbar{height:72px;padding:0 12px;border-radius:11px 11px 0 0}.mode-selector{font-size:12px;gap:6px}.mode-pill{font-size:9px;padding:4px 6px}.mode-selector>span[data-icon] svg{width:11px}.game-stats{gap:13px}.game-stats>div{min-width:28px;gap:6px}.game-stats>div>span{font-size:8px;letter-spacing:1px}.game-stats strong{font-size:15px;letter-spacing:0}.pause-button{padding:8px;border:0;margin-left:-7px;margin-right:-5px}.pause-button svg{width:13px;height:13px}:root{--card-width:calc((100vw - 75px)/7);--card-height:calc(var(--card-width)*1.48);--gap:5px;--back-step:17px;--face-step:25px}.play-area{padding-top:23px;min-height:380px}.top-piles{height:calc(var(--card-height) + 29px)}.tableau{padding-top:11px}.card,.card-slot{border-radius:4px}.card-corner{font-family:var(--body-font);font-weight:650;left:4px;top:4px;font-size:18px;line-height:1;letter-spacing:-.8px;flex-direction:row;gap:1px}.corner-suit{font-family:Georgia,serif;font-size:13px}.card-corner.bottom{display:none}.card-pips{display:none}.card-center{inset:35% 15% 9%;font-size:27px}.card-center.ace{font-size:36px}.card-center.court-center{inset:34% 21% 10%;font-size:23px;border:0}.court-center .court-suit{display:none}.card-back{border-width:2px}.card-back:before{inset:2px}.card-back:after{font-size:16px;width:19px;height:27px;box-shadow:0 0 0 2px #1b4c3d,0 0 0 3px #c5c38e5a}.card-slot .slot-suit{font-size:27px}.slot-caption{font-size:7px;letter-spacing:.8px;top:calc(var(--card-height) + 10px)}.stock-count{font-size:8px;min-width:19px;bottom:22px;right:-2px;padding:1px 3px}.stock-slot svg{width:21px;height:21px}.foundation-slot:after{inset:3px;border-radius:2px}.table-watermark>span:first-child{font-size:80px}.table-watermark>span:last-child{font-size:7px;letter-spacing:4px}.table-watermark{padding-bottom:18px}.table-message{height:44px;font-size:10px;padding:8px 10px;gap:5px}.message-spark{font-size:18px}.game-controls{margin-top:14px;gap:9px}.assist-controls{gap:6px}.tool-button{padding:11px 12px;font-size:12px;gap:6px;height:44px}.tool-button svg{height:17px;width:17px}kbd{display:none}.autocomplete-button{width:43px;padding:11px;justify-content:center}.autocomplete-button>span:nth-child(2){display:none}.new-game-button{padding:13px 14px;font-size:12px;gap:6px;height:44px}.new-game-button svg{height:15px;width:15px}.play-tip{font-size:10px;line-height:1.6;margin:17px 5px 0;gap:5px}.desktop-tip{display:none}.play-tip svg{height:13px;width:13px}.club-note{margin:27px auto 24px;gap:9px;font-size:6.5px;letter-spacing:1.1px}footer{font-size:9px;min-height:64px;gap:8px}footer button{font-size:10px}footer>div{gap:8px}.footer-desktop{display:none}.modal-content{padding:30px 24px}.modal-content h2{font-size:24px}.modal-content p,.rules{font-size:14px}.keyboard-guide{display:none}.toast{font-size:12px;padding:12px 16px}.mobile-daily{display:flex!important} .game-topbar{overflow:hidden}}
@media(max-width:360px){.game-stats{gap:8px}.mode-selector{gap:4px}.game-stats>div{min-width:25px}.tool-button{padding:10px}.new-game-button{padding:12px}.play-tip{font-size:9px}.card-corner{font-size:16px}.corner-suit{font-size:12px}h1{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:601px){.card-center.mobile-pip{display:none}}
.secondary-button{display:flex;align-items:center;justify-content:center;gap:9px}.secondary-button svg{width:17px;height:17px}.card-pips{inset:30px 30px}.tool-button,.text-button,.new-game-button{font-size:14px}.table-message{font-size:13px}.play-tip{font-size:12px}footer,footer button{font-size:12px}.game-stats>div>span{font-size:10px}.slot-caption{font-size:10px}.eyebrow{font-size:11px}
@media(max-width:860px) and (min-width:601px){.card-pips{inset:28px 25px}}
@media(max-width:600px){.game-stats>div>span{font-size:9px}.tool-button,.new-game-button{font-size:13px}.table-message{font-size:12px}.play-tip{font-size:11px}.eyebrow{font-size:9px}.text-button.help-top{font-size:0}.slot-caption{font-size:8px}footer,footer button{font-size:11px}.club-note{font-size:8px;letter-spacing:.7px}.ornament{display:none}.game-stats{gap:12px}}
.pile[data-dest=foundation] .slot-caption{width:calc(var(--card-width)*4 + var(--gap)*3);white-space:nowrap}
@media(max-width:600px){.stock-pile .slot-caption{letter-spacing:0;white-space:nowrap}.play-tip{justify-content:flex-start}.game-heading{gap:5px}h1{font-size:20px}.modal-content p{font-size:15px}}
body{min-width:0}
.card{left:var(--left,0px)}
@media(max-width:360px){.app-shell{padding:0 12px}.tool-button{padding:10px 8px;font-size:12px;gap:5px}.assist-controls{gap:5px}.autocomplete-button{width:36px;padding:9px}.new-game-button{padding:10px 9px;font-size:12px;gap:4px}.new-game-button svg{width:14px}.game-controls{gap:6px}.game-topbar{padding:0 9px}.game-stats{gap:7px}.game-stats strong{font-size:14px}.game-stats>div>span{font-size:8px}.mode-selector{font-size:11px}.mode-pill{padding:4px;font-size:8px}.pause-button{padding:6px}.play-tip{font-size:10px}.game-heading h1{font-size:18px}}
/* Collection layouts and player preferences. */
[hidden]{display:none!important}body{--columns:7}.play-area{width:calc(var(--card-width)*var(--columns) + var(--gap)*(var(--columns) - 1))}.top-piles,.tableau{grid-template-columns:repeat(var(--columns),var(--card-width))}.board-scroller{overflow-x:auto;overflow-y:hidden;padding:0 10px;scrollbar-color:#bda773 #153a2f;scrollbar-width:thin}.board-scroller .play-area{max-width:none}.game-controls{flex-wrap:wrap}.assist-controls{flex-wrap:wrap;gap:8px;flex:1}.game-controls .tool-button{padding:12px}.redo-icon svg{transform:scaleX(-1)}.game-controls kbd{margin-left:0}.guide-button{margin-left:auto}.collection-shortcuts{display:flex;justify-content:center;gap:12px;margin-top:22px;flex-wrap:wrap}.collection-shortcuts button{padding:10px 16px;border:1px solid #c1d6b52c;border-radius:20px;color:#c5d5c0;font-size:12px}.collection-shortcuts button:hover{border-color:var(--gold);color:var(--gold)}.challenge-strip{padding:11px 20px;background:#ddc27b12;border-bottom:1px solid #ddc27b24;font-size:12px;text-align:center;color:var(--gold)}
body:is([data-game=spider],[data-game=tripeaks],[data-game=freecell]){--card-width:min(82px,calc((100vw - 140px - (var(--columns) - 1)*var(--gap))/var(--columns)));--card-height:calc(var(--card-width)*1.43);--gap:12px}body[data-game=spider] .pile[data-dest=foundation] .slot-caption{width:calc(var(--card-width)*8 + var(--gap)*7)}body:is([data-game=spider],[data-game=freecell]) .card-pips{display:none}body:is([data-game=spider],[data-game=freecell]) .mobile-pip{display:flex}body:is([data-game=spider],[data-game=freecell]) .card-corner{font-size:21px;left:5px;top:5px}body:is([data-game=spider],[data-game=freecell]) .card-corner.bottom{right:5px;bottom:5px;left:auto;top:auto}body:is([data-game=spider],[data-game=freecell]) .card-center{font-size:38px}body:is([data-game=spider],[data-game=freecell]) .court-center{font-size:28px}
body:is([data-game=pyramid],[data-game=tripeaks]) .tableau{display:block;padding:0;margin-top:16px;height:calc(var(--card-height)*3.76)}body[data-game=tripeaks] .tableau{height:calc(var(--card-height)*2.38)}body:is([data-game=pyramid],[data-game=tripeaks]) .play-area{min-height:0;padding-bottom:10px}.layout-slot{position:absolute}.layout-slot .card{cursor:default}.layout-slot.exposed .card{cursor:pointer}.layout-slot:not(.exposed) .face-up{filter:brightness(.9)}.layout-summary{grid-column:3/-1;padding-left:var(--gap);display:flex;flex-direction:column;justify-content:center;gap:7px;color:#c6d6bc}.layout-summary>strong{font:32px var(--title-font);color:var(--gold)}.layout-summary>strong>span{font-size:18px;color:#bfd0b4}.layout-summary>span{font-size:10px;letter-spacing:1px}.layout-summary p{font-size:11px;margin:0}.free-cell .slot-caption{width:calc(var(--card-width)*4 + var(--gap)*3);white-space:nowrap}.face-up.legal-target{box-shadow:0 0 0 2px #e7c77d}.movable-highlight{outline:2px solid #97ba7380;outline-offset:-3px}
body[data-stock-side=right] .top-piles{direction:rtl}body[data-stock-side=right] .top-piles>*{direction:ltr}body[data-stock-side=right] .waste-pile .card{left:calc(-1*var(--left,0px))}body[data-stock-side=right] .slot-caption{left:auto;right:0}body[data-show-timer=false] #time,body[data-show-moves=false] #moves{font-size:0}body[data-show-timer=false] .game-stats>div:has(#time),body[data-show-moves=false] .game-stats>div:has(#moves){display:none}body[data-four-color=true] .card[data-suit=diamonds]{color:#175ab3}body[data-four-color=true] .card[data-suit=clubs]{color:#1c754d}body[data-card-face=simple] .card-pips{display:none}body[data-card-face=simple] .card-center.mobile-pip{display:flex}body[data-card-back=diamonds] .card-back{background-color:#5a293d;background-image:repeating-linear-gradient(45deg,transparent 0 8px,#f2c48c44 8px 10px),repeating-linear-gradient(-45deg,transparent 0 8px,#f2c48c44 8px 10px)}body[data-card-back=waves] .card-back{background-color:#175267;background-image:repeating-radial-gradient(ellipse at 50% 120%,transparent 0 7px,#cbe1d244 8px 9px)}body[data-card-back=classic] .card-back{background-color:#243f83;background-image:repeating-linear-gradient(0deg,transparent 0 3px,#fff2 3px 4px),repeating-linear-gradient(90deg,transparent 0 3px,#fff2 3px 4px)}body:not([data-card-back=royal]) .card-back:after{background:transparent;box-shadow:none}body.custom-background .game-frame{background-image:linear-gradient(#06251dbb,#06251dcc),var(--custom-background);background-size:cover;background-position:center}body[data-animation-speed=fast] .dealt{animation-duration:.12s;animation-delay:0s}body[data-large-print=true]{--card-width:105px;--card-height:148px;--gap:12px}body[data-large-print=true] .board-scroller{padding-bottom:8px}body[data-large-print=true] .play-area{margin-left:auto;margin-right:auto}body[data-large-print=true] .card-corner{font-size:27px;top:6px;left:6px}body[data-large-print=true] .corner-suit{font-size:19px}body[data-large-print=true] .card-center{font-size:46px}body[data-large-print=true] .card-corner.bottom{display:none}
.collection-grid{display:grid;gap:10px}.game-choice{display:flex;gap:18px;padding:17px;text-align:left;border:1px solid #b3c4a735;border-radius:10px;align-items:center}.game-choice:hover,.game-choice[aria-pressed=true]{border-color:var(--gold);background:#e7c77d0b}.game-choice>span{font-size:36px;color:var(--gold);width:40px;text-align:center}.game-choice strong{display:block;font-size:17px}.game-choice small{display:block;font-size:12px;line-height:1.5;color:#abc2af;margin:5px 0}.game-choice em{font-style:normal;font-size:10px;color:#d8bf80;letter-spacing:.3px}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.field-label{display:block;margin:20px 0 8px;font-size:14px;color:#e4e7d8}.field-label>span{font-size:12px;color:var(--muted)}.field-label output{float:right;color:var(--gold)}input:not([type=checkbox],[type=range]),select{font:inherit;font-size:14px;border:1px solid #8fa78860;background:#0c2d25;color:#e5eadc;border-radius:7px;padding:12px;max-width:100%;width:100%;color-scheme:dark}input[type=file]{font-size:12px!important}input[type=range]{width:100%;accent-color:var(--gold)}input[type=checkbox]{accent-color:var(--gold);width:18px;height:18px}.check-row{display:flex;align-items:center;gap:10px;font-size:14px}.modal-content .field-note{font-size:12px;line-height:1.6;color:#9fb9a6;margin:10px 0 14px}.settings-tabs{display:flex;border-bottom:1px solid #8fa78840;margin:22px 0 10px;gap:4px}.settings-tabs button{flex:1;font-size:12px;padding:12px 4px;border-bottom:2px solid transparent}.settings-tabs button[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold)}.setting-row select{width:auto;max-width:58%;font-size:12px;padding:9px}.setting-row .toggle{flex-shrink:0}.setting-row small{max-width:240px;line-height:1.5}.section-label{font-size:14px;margin:27px 0 14px}.daily-game-tabs{display:flex;gap:5px;margin:21px 0}.daily-game-tabs button{flex:1;padding:12px 2px;border:1px solid #8fa78840;border-radius:7px;font-size:20px;color:var(--gold)}.daily-game-tabs button>span{display:block;font-size:9px;margin-top:7px;color:#d2decf}.daily-game-tabs button[aria-pressed=true]{border-color:var(--gold);background:#e7c77d0b}.challenge-card{padding:20px;border:1px solid #e7c77d44;border-radius:10px;background:#e7c77d09}.challenge-card>span{font-size:10px;color:#c3caab;letter-spacing:1px}.challenge-card h3{font:25px var(--title-font);margin:12px 0;color:var(--gold)}.challenge-card p{margin:0;font-size:12px}.badge-progress{margin-top:22px}.badge-progress strong{display:block;font-size:13px}.badge-progress small{font-size:11px;color:#adc2ad;line-height:1.8}progress{width:100%;height:8px;appearance:none;border:0;border-radius:9px;background:#ffffff10;margin:12px 0;overflow:hidden}progress::-webkit-progress-bar{background:#ffffff10}progress::-webkit-progress-value{background:var(--gold);border-radius:9px}progress::-moz-progress-bar{background:var(--gold)}.stats-table-wrap{overflow-x:auto}.stats-table{width:100%;border-collapse:collapse;font-size:11px;margin:25px 0}.stats-table caption{text-align:left;font-size:14px;margin-bottom:12px;color:#d6dfce}.stats-table th,.stats-table td{padding:12px 7px;text-align:left;border-bottom:1px solid #bed1b81a}.stats-table thead th{color:#a8c1a9;font-weight:400;font-size:10px}.stats-table tbody th{font-weight:500}.achievements{display:grid;gap:12px}.achievement{display:flex;gap:14px;padding:13px;border:1px solid #bed1b825;border-radius:8px;color:#a6bca8}.achievement>span{font-size:27px}.achievement strong{font-size:13px;font-weight:500;display:block}.achievement small{font-size:11px;display:block;margin-top:6px;line-height:1.4}.achievement.earned{color:var(--gold);border-color:#e7c77d55;background:#e7c77d09}.achievement.earned small{color:#bed0b8}
@media(max-width:860px){body:is([data-game=spider],[data-game=tripeaks],[data-game=freecell]){--gap:6px;--card-width:calc((100vw - 80px - (var(--columns) - 1)*var(--gap))/var(--columns))}body[data-large-print=true]{--card-width:105px;--card-height:148px;--gap:12px}body[data-large-print=true] .play-area{margin-left:0}.game-controls kbd{display:none}.tool-button{gap:7px}.guide-button{margin-left:0}}
@media(max-width:600px){body:is([data-game=spider],[data-game=tripeaks],[data-game=freecell]){--gap:4px;--card-width:calc((100vw - 52px - (var(--columns) - 1)*var(--gap))/var(--columns));--card-height:calc(var(--card-width)*1.55)}body:is([data-game=spider],[data-game=freecell],[data-game=tripeaks]) .card-corner{font-size:13px;left:2px;top:4px;gap:0}body:is([data-game=spider],[data-game=freecell],[data-game=tripeaks]) .corner-suit{font-size:10px}body:is([data-game=spider],[data-game=freecell],[data-game=tripeaks]) .card-center{font-size:21px}body:is([data-game=spider],[data-game=freecell],[data-game=tripeaks]) .court-center{font-size:19px}body:is([data-game=spider],[data-game=freecell],[data-game=tripeaks]) .card-center.ace{font-size:25px}.layout-summary{gap:4px}.layout-summary>strong{font-size:22px}.layout-summary>strong>span{font-size:13px}.layout-summary>span{font-size:8px;letter-spacing:0}.layout-summary p{font-size:9px}body[data-game=spider] .card-back:after{width:12px;height:19px;font-size:13px}body[data-game=spider] .stock-pile .slot-caption{font-size:7px}.assist-controls{flex-basis:100%;justify-content:space-between;flex-wrap:nowrap;gap:6px}.game-controls .tool-button{font-size:12px;padding:10px 12px;flex:1;justify-content:center}.game-controls .autocomplete-button{flex:0 0 42px}.game-controls .guide-button{flex:0 0 auto;min-width:105px}.new-game-button{flex:1}.game-controls{gap:9px}.collection-shortcuts{gap:7px;margin-top:18px}.collection-shortcuts button{font-size:11px;padding:10px 12px}.play-tip .desktop-tip{display:none}.board-scroller{padding:0 8px}.challenge-strip{font-size:10px;padding:10px}.tableau .card.face-up{scroll-margin:50px}.game-topbar{padding:0 10px}.mode-selector{gap:5px}.game-stats{gap:10px}.mode-pill{font-size:8px;padding:4px}.game-stats strong{font-size:14px}.game-stats>div>span{font-size:8px}.modal-content{padding:32px 21px}.choice-grid.three .choice{padding:18px 5px}.daily-game-tabs button>span{font-size:8px}.collection-shortcuts button:last-child{flex-basis:100%;border-color:transparent;padding-top:0}body[data-large-print=true]{--card-width:90px;--card-height:134px;--gap:8px}body[data-large-print=true] .card-corner{font-size:27px;left:7px;top:6px}body[data-large-print=true] .corner-suit{font-size:20px}body[data-large-print=true] .card-center{font-size:43px}body[data-large-print=true] .court-center{font-size:35px}.settings-tabs button{min-height:44px}.theme-swatch{width:34px;height:34px}.toggle{min-width:43px;position:relative}.toggle:after{content:'';position:absolute;inset:-10px 0}.game-title{min-width:0}.mode-selector{max-width:52%}.mode-pill{white-space:nowrap}body[data-stock-side=right] .layout-summary{text-align:right}}
@media(max-width:360px){.game-stats{gap:7px}.game-controls .tool-button{padding:10px 8px}.game-topbar{padding:0 8px}.mode-selector{font-size:11px}.layout-summary>span{font-size:7px}.game-choice{gap:10px;padding:14px}.game-choice strong{font-size:16px}.settings-tabs button{font-size:11px}}
/* Size against the actual table viewport, including browser scrollbars. */
.board-scroller{container-type:inline-size}.play-area{--card-max:100px;--card-width:min(var(--card-max),calc((100cqw - (var(--columns) - 1)*var(--gap))/var(--columns)));--card-height:calc(var(--card-width)*1.43)}body:is([data-game=spider],[data-game=tripeaks],[data-game=freecell]) .play-area{--card-max:82px}body[data-large-print=true] .play-area{--card-width:105px;--card-height:148px}@media(min-width:1440px){.play-area{--card-max:108px}}@media(max-width:600px){.play-area{--card-height:calc(var(--card-width)*1.48)}body[data-large-print=true] .play-area{--card-width:90px;--card-height:134px}}
body[data-large-print=true]{--face-step:39px;--back-step:24px}

.single-suit-choice{width:100%;margin:0 0 16px;border-color:#e7c77d66;background:#e7c77d09}
