:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--page-bg: #f4f1e8;--table-bg: #17613f;--table-dark: #10472e;--surface: #fffdf7;--surface-muted: #ebe7da;--text: #18221d;--text-muted: #4a574f;--border: #6d776f;--focus: #ffbf2f;--selected: #ffd84a;--hint: #77d9ff;--error: #9e2424;--success: #166036;--primary: #175b3c;--primary-hover: #0f472e;--primary-text: #ffffff;--card-width: 96px;--card-height: 134px;--card-overlap: 20px;--board-gap: var(--space-3);--control-size: 52px;--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-sm: .9rem;--font-body: 1.125rem;--font-lg: 1.35rem;--font-xl: clamp(1.75rem, 4vw, 2.55rem);--motion: .18s;background:var(--page-bg);color:var(--text)}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--page-bg);font-size:var(--font-body);line-height:1.55}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:#075ea8;text-underline-offset:.2em;text-decoration-thickness:2px}a:hover{text-decoration-thickness:3px}:focus-visible{outline:4px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:var(--font-xl);line-height:1.1}h2{font-size:clamp(1.4rem,2.8vw,1.8rem);line-height:1.25}.site-shell{min-height:100vh;display:flex;flex-direction:column}.skip-link{position:fixed;z-index:1000;left:1rem;top:0;transform:translateY(-120%);background:#fff;color:#000;padding:.75rem 1rem;border-radius:0 0 8px 8px;font-weight:800}.skip-link:focus{transform:translateY(0)}.button{min-height:var(--control-size);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:2px solid #526057;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:.55rem .9rem;font-size:1.05rem;font-weight:750;line-height:1.2;text-decoration:none;cursor:pointer;transition:background var(--motion),border-color var(--motion),transform var(--motion)}.button:hover:not(:disabled){background:#f0eee6;border-color:#253c30}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;background:#dfddd5;border-color:#8d938f;color:#555b57}.button--primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.button--primary:hover:not(:disabled){background:var(--primary-hover);color:#fff}.button--quiet{background:transparent}.button--danger{color:#842121;border-color:#9a4f4f;background:snow}.game-header,.simple-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-4) clamp(1rem,3vw,2.5rem);background:var(--surface);border-bottom:2px solid #d4d0c4}.brand-block h1{margin-bottom:.2rem}.brand-block p{margin:0;color:var(--text-muted);font-weight:600}.brand-link{color:var(--text);font-size:1.65rem;font-weight:850;text-decoration:none}.game-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.site-name{margin:0 0 .2rem;color:var(--text-muted);font-size:.95rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.game-page main{width:100%;display:flex;flex-direction:column}.game-status{order:1}#game-board{order:2}.game-message{order:3}.welcome-tip{order:4}.ad-placeholder{order:5}.about-game{order:6}.statistics-panel{order:7}.welcome-tip{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1120px,calc(100% - 2rem));margin:var(--space-4) auto 0;padding:var(--space-4);background:#fff9d9;border:2px solid #a58513;border-radius:var(--radius)}.welcome-tip p{margin:0}.welcome-tip>div{display:flex;gap:.5rem;flex-shrink:0}.game-status{width:min(1120px,calc(100% - 2rem));min-height:52px;margin:var(--space-3) auto;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4);color:var(--text-muted)}.game-status span{white-space:nowrap}.text-button{min-height:48px;border:0;background:transparent;color:#075ea8;padding:.3rem .5rem;text-decoration:underline;text-underline-offset:.2em;font-weight:700;cursor:pointer}.analytics-choice{display:flex;align-items:flex-start;gap:.75rem;padding:var(--space-4);border:2px solid #b9b3a5;border-radius:var(--radius-sm);background:#fffef9}.analytics-choice input{width:24px;height:24px;flex:0 0 auto}.analytics-choice span{display:grid;gap:.2rem}.analytics-choice small,.privacy-status{color:var(--text-muted)}.game-region{position:relative;isolation:isolate;height:var(--playable-height, 70dvh);min-height:240px;overflow:hidden;background:linear-gradient(150deg,var(--table-bg),var(--table-dark));border-block:3px solid #0a3421;padding:var(--space-2) 0;box-shadow:inset 0 3px 12px #002b1b66}.game-loading{min-height:70dvh;display:grid;place-items:center;padding:var(--space-5);color:#fff;background:linear-gradient(150deg,var(--table-bg),var(--table-dark));border-block:3px solid #0a3421;font-size:var(--font-lg);font-weight:800;text-align:center}.board-viewport{position:relative;z-index:1;overflow-x:hidden;padding:0 clamp(1rem,2vw,3rem)}.game-board{min-width:0;width:100%;margin-inline:auto}.board-top-row,.tableau{display:grid;grid-template-columns:repeat(7,var(--card-width));gap:var(--board-gap);justify-content:space-between}.board-top-row{margin-bottom:var(--space-3)}.pile,.empty-pile,.playing-card{width:var(--card-width);height:var(--card-height);border-radius:var(--radius-sm)}.pile{position:relative;border:3px solid #ffffff8c;background:#002e1b3d;display:flex;align-items:center;justify-content:center;color:#fff}.pile-label{font-size:clamp(.62rem,calc(var(--card-width) * .13),.78rem);font-weight:750}.pile--stock{cursor:pointer;color:#fff;background:#164a93;border:4px solid #fff;font-size:2rem;box-shadow:inset 0 0 0 4px #164a93,inset 0 0 0 6px #cbdaf1}.pile--stock span{pointer-events:none}.empty-pile{border:0;background:transparent;color:#ffffffb5;font-size:2rem;font-weight:800;cursor:pointer}.empty-pile--tableau{border:3px dashed #ffffff8c;background:#002e1b3d}.tableau-column{position:relative;min-height:calc(var(--card-height) + 6 * var(--card-overlap));border-radius:var(--radius-sm)}.tableau-card{position:relative;display:flex}.tableau-card+.tableau-card{margin-top:calc(var(--card-overlap) - var(--card-height))}.tableau-card--covered .card-corner{flex-direction:row;gap:.12em;font-size:clamp(.65rem,calc(var(--card-width) * .2),1.5rem);line-height:1}.tableau-card--covered .card-suit{visibility:hidden}.playing-card{position:relative;flex:0 0 auto;border:2px solid #252b27;overflow:hidden;box-shadow:0 3px 5px #00170e80}.playing-card--back{display:flex;align-items:center;justify-content:center;color:#fff;background:#174d98;border:4px solid #fff;box-shadow:inset 0 0 0 4px #174d98,inset 0 0 0 6px #cbdaf1,0 3px 5px #00170e80;font-size:1.5rem}.playing-card--face{background:#fffef9;color:#121815;padding:0;cursor:pointer;touch-action:none}.playing-card--face:disabled,.pile--stock:disabled,.empty-pile:disabled{opacity:1;cursor:default}.playing-card--red{color:#b01822}.playing-card--face:hover{background:#fff9df}.playing-card.is-selected{outline:6px solid var(--selected);outline-offset:2px;z-index:20}.playing-card.is-hinted,.pile.is-hinted,.tableau-column.is-hinted{outline:6px solid var(--hint);outline-offset:3px;z-index:19}.card-corner{position:absolute;top:.25rem;left:.35rem;display:flex;flex-direction:column;align-items:center;font-size:clamp(.75rem,calc(var(--card-width) * .27),3rem);line-height:.95;font-weight:900}.card-suit{font-size:clamp(1.15rem,calc(var(--card-width) * .48),5rem);line-height:1;margin:auto}.drag-ghost{position:fixed;z-index:999;transform:translate(-50%,-50%) rotate(2deg);pointer-events:none;width:var(--card-width);height:var(--card-height);display:flex;align-items:center;justify-content:center;gap:.25rem;background:#fffef9;color:#121815;border:3px solid #202722;border-radius:var(--radius-sm);box-shadow:0 12px 28px #0006;font-size:1.5rem}.drag-ghost.playing-card--red{color:#b01822}.playing-card.is-auto-complete-source{opacity:0}.auto-complete-flight{position:absolute;z-index:60;top:0;left:0;width:var(--flight-width, var(--card-width));height:var(--flight-height, var(--card-height));display:flex;pointer-events:none;transform:translate3d(var(--flight-from-x, 0),var(--flight-from-y, 0),0);animation:auto-complete-card-flight .2s cubic-bezier(.32,.72,.3,1) both;box-shadow:0 10px 24px #00170e66}.game-region[data-auto-completing=true] .feedback-pulse--move{animation-duration:.22s}.feedback-pulse,.board-feedback,.deal-feedback{pointer-events:none}.feedback-pulse{position:absolute;z-index:35;inset:-6px;border:3px solid #f7e09a;border-radius:calc(var(--radius-sm) + 4px);box-shadow:0 0 0 3px #fff5c547,0 8px 20px #00170e42;opacity:0;animation:card-feedback-settle .52s ease-out both}.tableau-column>.feedback-pulse{top:calc(var(--feedback-card-index, 0) * var(--card-overlap) - 6px);right:-6px;bottom:auto;left:-6px;height:calc(var(--card-height) + 12px)}.feedback-pulse--draw{border-color:#d7f5e4;animation-name:card-feedback-draw}.feedback-pulse--recycle{border-color:#cde5ff;animation-name:card-feedback-recycle}.board-feedback{position:absolute;z-index:30;inset:0;opacity:0}.board-feedback--undo{background:linear-gradient(90deg,transparent 10%,#e6fff126 50%,transparent 90%);animation:board-feedback-undo .54s ease-out both}.board-feedback--invalid{border-block:4px solid #ffd0b3;box-shadow:inset 0 0 28px #7f291f38;animation:board-feedback-invalid .42s ease-out both}.board-feedback--win{background:radial-gradient(circle at 50% 35%,#fff2a93d,transparent 58%);box-shadow:inset 0 0 50px #f4d77e3d;animation:board-feedback-win 1.1s ease-out both}.deal-feedback{position:absolute;z-index:40;inset:0;display:grid;grid-template-columns:repeat(7,clamp(30px,8vw,68px));align-items:center;justify-content:center;gap:clamp(5px,1.25vw,16px);overflow:hidden}.deal-feedback span{aspect-ratio:5 / 7;border:3px solid #fff;border-radius:7px;background:radial-gradient(circle at center,#d9e5fa 0 7%,transparent 8%),#174d98;box-shadow:inset 0 0 0 3px #174d98,inset 0 0 0 5px #cbdaf1,0 8px 20px #00170e55;opacity:0;transform:translate(-32px,-38px) rotate(-4deg) scale(.94);animation:deal-feedback-card .64s cubic-bezier(.22,.8,.3,1) both}.deal-feedback span:nth-child(2){animation-delay:45ms}.deal-feedback span:nth-child(3){animation-delay:90ms}.deal-feedback span:nth-child(4){animation-delay:135ms}.deal-feedback span:nth-child(5){animation-delay:.18s}.deal-feedback span:nth-child(6){animation-delay:225ms}.deal-feedback span:nth-child(7){animation-delay:.27s}@keyframes card-feedback-settle{0%{opacity:0;transform:translateY(-8px) scale(.97)}30%{opacity:.9}70%{opacity:.42;transform:translateY(1px) scale(1.015)}to{opacity:0;transform:translateY(0) scale(1)}}@keyframes auto-complete-card-flight{0%{transform:translate3d(var(--flight-from-x),var(--flight-from-y),0) rotate(0) scale(1)}55%{transform:translate3d(calc((var(--flight-from-x) + var(--flight-to-x)) / 2),calc((var(--flight-from-y) + var(--flight-to-y)) / 2 - 12px),0) rotate(-1.5deg) scale(1.035)}to{transform:translate3d(var(--flight-to-x),var(--flight-to-y),0) rotate(0) scale(1)}}@keyframes card-feedback-draw{0%{opacity:0;transform:translate(-12px) rotate(-2deg)}35%{opacity:.8}to{opacity:0;transform:translate(0) rotate(0)}}@keyframes card-feedback-recycle{0%{opacity:0;transform:rotate(-8deg) scale(.94)}40%{opacity:.82}to{opacity:0;transform:rotate(0) scale(1)}}@keyframes board-feedback-undo{0%{opacity:0;transform:translate(15%)}42%{opacity:.9}to{opacity:0;transform:translate(-12%)}}@keyframes board-feedback-invalid{0%,to{opacity:0}38%{opacity:.75}}@keyframes board-feedback-win{0%{opacity:0;transform:scale(.97)}45%{opacity:1}to{opacity:0;transform:scale(1.02)}}@keyframes deal-feedback-card{0%{opacity:0;transform:translate(-32px,-38px) rotate(-4deg) scale(.94)}35%{opacity:.88}82%{opacity:.55;transform:translateY(2px) rotate(0) scale(1)}to{opacity:0;transform:translate(0) rotate(0) scale(1)}}.game-message{width:min(1120px,calc(100% - 2rem));min-height:62px;margin:var(--space-3) auto;padding:var(--space-3) var(--space-4);background:var(--surface);border:2px solid #817c6e;border-radius:var(--radius);font-weight:700}.ad-placeholder{width:min(900px,calc(100% - 2rem));height:110px;margin:var(--space-5) auto;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#68716b;border:2px dashed #9ba19d;background:#eeece5;text-align:center}.ad-placeholder span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.ad-placeholder p{margin:.2rem 0 0;font-size:.95rem}.about-game,.statistics-panel{width:min(980px,calc(100% - 2rem));margin:var(--space-6) auto;padding:clamp(1.2rem,3vw,2rem);background:var(--surface);border:2px solid #d4d0c4;border-radius:var(--radius-lg)}.about-game p{max-width:68ch}.about-game__links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:var(--space-4)}.about-game__links a{font-weight:750}.statistics-panel>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.statistics-panel>div:first-child p{color:var(--text-muted)}.statistics-difficulty{margin-top:var(--space-4);padding:0;border:0}.statistics-difficulty legend{margin-bottom:var(--space-2);font-weight:800}.segmented-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:680px;border:2px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.segmented-choices label{position:relative;cursor:pointer}.segmented-choices input{position:absolute;z-index:2;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.segmented-choices span{min-height:48px;display:flex;align-items:center;justify-content:center;padding:.6rem .8rem;border-right:1px solid var(--border);background:var(--surface);font-weight:800}.segmented-choices label:last-child span{border-right:0}.segmented-choices input:checked+span{color:#fff;background:var(--primary)}.segmented-choices input:focus-visible+span{position:relative;z-index:1;outline:4px solid var(--focus);outline-offset:-4px}.statistics-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:var(--space-3);margin:var(--space-4) 0}.statistics-grid div{padding:var(--space-3);background:var(--surface-muted);border-radius:var(--radius-sm)}.statistics-grid dt{color:var(--text-muted);font-size:.9rem}.statistics-grid dd{margin:.25rem 0 0;font-size:1.35rem;font-weight:850}.site-footer{margin-top:auto;padding:var(--space-6) 1rem;text-align:center;background:#202b25;color:#f7f6ef}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem var(--space-5)}.site-footer a{color:#fff;font-weight:750}.site-footer p{margin:1rem 0 0;font-size:.95rem;color:#d7ddd9}.site-footer .site-footer__build{margin-top:.5rem;color:#b8c4bd;font-size:.78rem;overflow-wrap:anywhere}.site-footer__build a{font-weight:650}.dialog{width:min(620px,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:var(--space-5);color:var(--text);background:var(--surface);border:3px solid #263a30;border-radius:var(--radius-lg);box-shadow:0 18px 60px #0007}.dialog::backdrop{background:#101813b3}.dialog__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:var(--space-4)}.dialog__header h2{margin:0}.dialog__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}.settings-list{display:grid;gap:var(--space-4)}.settings-list fieldset{border:2px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3)}.settings-list legend{padding:0 .4rem;font-weight:800}.setting-help{margin:0 0 var(--space-2);color:var(--text-muted);font-size:.95rem}.difficulty-change-notice{margin:var(--space-3) 0 0;padding:var(--space-3);color:#18382a;background:#edf7f1;border:2px solid #6f917d;border-radius:var(--radius-sm);font-weight:700;line-height:1.45}.choice,.switch-row{min-height:48px;display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.choice input,.switch-row input{width:24px;height:24px;accent-color:var(--primary)}.choice--described>span{display:grid;gap:.15rem}.choice--described small{color:var(--text-muted);line-height:1.35}.switch-row{justify-content:space-between;border-bottom:1px solid #ccc8bd}.switch-copy{display:grid;gap:.1rem}.switch-copy small{color:var(--text-muted);font-size:.9rem;font-weight:500;line-height:1.35}.win-dialog{text-align:center}.win-flourish{display:flex;justify-content:center;gap:clamp(.6rem,4vw,1.35rem);margin:.25rem 0 1rem;color:#1a6242;font-size:clamp(1.65rem,5vw,2.4rem)}.win-flourish span{opacity:0;animation:win-suit-settle .76s cubic-bezier(.2,.82,.32,1) forwards}.win-flourish span:nth-child(1),.win-flourish span:nth-child(3){color:#a51f2a}.win-flourish span:nth-child(2){animation-delay:90ms}.win-flourish span:nth-child(3){animation-delay:.18s}.win-flourish span:nth-child(4){animation-delay:.27s}@keyframes win-suit-settle{0%{opacity:0;transform:translateY(-10px) rotate(-5deg) scale(.82)}70%{opacity:1;transform:translateY(2px) rotate(1deg) scale(1.06)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}.info-shell main{flex:1}.prose{width:min(760px,calc(100% - 2rem));margin:var(--space-7) auto}.prose .lead{font-size:1.3rem;font-weight:650;color:var(--text-muted)}.prose section{margin-top:var(--space-6)}.prose p{max-width:65ch}.prose li{max-width:62ch;margin:.65rem 0;padding-left:.25rem}.page-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-5) 0}.page-actions--end{margin-top:var(--space-7)}.not-found-page .button{margin-top:var(--space-3)}.card-example{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--table-bg);border-radius:var(--radius);color:#fff}.mini-card{display:inline-flex;align-items:center;justify-content:center;width:72px;height:96px;border-radius:8px;background:#fff;border:2px solid #111;font-size:1.5rem;font-weight:900}.mini-card.black{color:#111}.mini-card.red{color:#b01822}.contact-link{display:inline-block;font-size:1.3rem;font-weight:800;overflow-wrap:anywhere}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.theme-high-contrast{--page-bg: #ffffff;--surface: #ffffff;--surface-muted: #f2f2f2;--text: #000000;--text-muted: #222222;--border: #000000;--table-bg: #004e2e;--table-dark: #002f1a;--focus: #ffb700;--selected: #fff000;--hint: #00e5ff;--primary: #003e24}.theme-high-contrast .playing-card{border-width:3px;border-color:#000}.theme-high-contrast .feedback-pulse{border-color:#fff000;box-shadow:0 0 0 4px #000}.theme-high-contrast .board-feedback--invalid{border-color:#ffb700}.theme-high-contrast .win-flourish{color:#000}[data-reduce-motion=true] *,[data-reduce-motion=true] *:before,[data-reduce-motion=true] *:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}@media(prefers-reduced-motion:reduce){[data-reduce-motion=device] *,[data-reduce-motion=device] *:before,[data-reduce-motion=device] *:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}@media(max-width:940px){.game-header{align-items:flex-start;flex-direction:column}.game-controls{justify-content:flex-start}.statistics-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media(max-width:620px){:root{--font-body: 1.05rem;--board-gap: var(--space-1)}.game-header,.simple-header{padding:.85rem 1rem}.brand-block p{font-size:.92rem}.game-controls{display:grid;width:100%;grid-template-columns:repeat(3,1fr)}.game-controls .button{padding-inline:.35rem;font-size:.94rem}.game-controls .button:first-child{grid-column:span 2}.game-status{order:1;min-height:48px;margin-block:var(--space-2);gap:var(--space-2);font-size:.94rem}.game-status .text-button{font-size:.94rem;padding-inline:.2rem}#game-board{order:2}.game-message{order:3}.welcome-tip{order:4;margin-top:var(--space-4)}.ad-placeholder{order:5}.about-game{order:6}.statistics-panel{order:7}.welcome-tip{align-items:flex-start;flex-direction:column}.welcome-tip>div{flex-wrap:wrap}.game-region{padding-top:.75rem}.board-viewport{padding-inline:var(--space-2)}.statistics-grid{grid-template-columns:1fr 1fr}.dialog{padding:var(--space-4)}.dialog__header{align-items:center}}@media(max-width:430px),(max-height:720px){.ad-placeholder{display:none}}@media(max-width:380px){.game-controls .button{font-size:.87rem}.statistics-grid{grid-template-columns:1fr}}
