:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7f3e9;color:#304c41;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{border:1px solid #bfcbba;background:#fffcf4;color:inherit;border-radius:9px;padding:10px 14px;min-height:44px;cursor:pointer;font-size:13px;touch-action:manipulation}button:hover:not(:disabled){background:#e8eddf}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid #af683b;outline-offset:3px}[hidden]{display:none!important}.site-header,main,footer{width:min(1220px,calc(100% - 64px));margin:auto}.site-header{height:76px;border-bottom:1px solid #d9ddce;display:flex;justify-content:space-between;align-items:center;font-size:13px}.brand{font-size:25px;font-weight:750;letter-spacing:-1px}.brand span{font-weight:400}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}.title-group{display:flex;align-items:center;gap:16px;min-width:0}.title-group img{width:108px;height:auto;mix-blend-mode:multiply}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#718067;margin:0 0 10px}h1{font:400 clamp(27px,3vw,40px)/1.1 Georgia,serif;letter-spacing:-.8px;margin:0}.toolbar{display:flex;align-items:center;gap:7px;flex-shrink:0}.toolbar>button{white-space:nowrap}.desk{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:40px;align-items:center}.board-column{min-width:0;max-width:770px;width:100%;margin:auto}.score-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 10px 16px}.score-strip>div{display:grid;gap:4px}.score-strip>div:last-child{text-align:right}.score-strip span{font-size:9px;letter-spacing:1.5px;color:#708066}.score-strip strong{font:32px Georgia,serif;font-variant-numeric:tabular-nums}#move-message{min-height:44px;line-height:1.6;font-size:13px;text-align:center;margin:14px 8px 7px}.board-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.primary{background:#355b48;color:#fff9ed;border-color:#355b48}.primary:hover:not(:disabled){background:#436e57}#stuck{display:grid;gap:5px;background:#eee3cb;border:1px solid #c7b486;border-radius:10px;margin:8px 0 13px;padding:13px 16px;font-size:12px;line-height:1.6}#stuck strong{font-size:14px}.companion{text-align:center;min-width:0;padding:22px 0}.companion>img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.companion h2{font:italic 29px Georgia,serif;margin:15px 0}.companion>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#708068}.little-lesson{text-align:left;border-top:1px solid #d4dac8;border-bottom:1px solid #d4dac8;margin:24px 15px;padding:18px 0;font-size:12px;line-height:1.75;color:#718065}.little-lesson span{font:24px Georgia,serif;letter-spacing:9px;color:#8d926a}.little-lesson p{margin:9px 0}.companion #new-btn{width:calc(100% - 30px)}.under-game{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.under-game button{font-size:11px;min-height:38px;background:transparent}#storage-status{font-size:11px;line-height:1.6;color:#78826c;text-align:right}.company-hidden .desk{grid-template-columns:1fr}.company-hidden #companion{display:none}.company-hidden .board-column{max-width:900px}#outcome{text-align:center;background:#e6edda;border:1px solid #c6d5b8;border-radius:14px;padding:22px;margin-top:20px}#outcome>span{font:36px Georgia,serif;color:#a38b4e}#outcome h2{font:28px Georgia,serif;margin:9px 0}#outcome p{font-size:13px;line-height:1.7}footer{border-top:1px solid #d9ddce;padding:25px 0 32px;font-size:11px;display:flex;justify-content:space-between;gap:20px;line-height:1.6}dialog{border:1px solid #bec9b5;border-radius:17px;background:#fffaf0;color:#304c41;width:min(570px,calc(100% - 30px));max-height:90dvh;padding:26px;box-shadow:0 24px 90px #1a352a44}dialog::backdrop{background:#203b3294;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog h2{font:30px Georgia,serif;margin:0 0 14px}dialog p,dialog li{font-size:14px;line-height:1.7}dialog ol{padding-left:23px}dialog li{margin:8px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}input{border:1px solid #c2cdb7;border-radius:8px;background:#fffdf6;color:inherit;padding:10px;min-width:0}#player-list{display:grid;gap:8px;margin-bottom:20px}#player-form{border-top:1px solid #d9ddce;padding:18px 0;display:flex;flex-wrap:wrap;gap:10px}#player-form label{display:grid;gap:7px;flex:1;min-width:160px;font-size:13px}#player-form>button{align-self:end}#name-error{width:100%;color:#945136;margin:0}.skip-link{position:absolute;top:-80px;left:15px;z-index:5;background:#fff;padding:10px}.skip-link:focus{top:10px}.desk{align-items:start;grid-template-columns:minmax(0,1fr) 265px;gap:30px}.board-column{max-width:none}.score-strip strong b{font-weight:400}.score-strip strong small{font:16px Georgia,serif;color:#829078}.variant{font-size:9px;letter-spacing:1.3px;color:#7a886e;padding-top:14px}.table-frame{background:radial-gradient(ellipse at 30% 0,#50755d,#345d49);border:7px solid #d5be94;border-radius:16px;padding:15px 14px 8px;box-shadow:inset 0 0 0 1px #749278,0 12px 30px #5c5b4220;color:#f8f4dd}.table-caption{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#d1dfc7;padding-bottom:15px}#card-table{--card-height:clamp(78px,9.9vw,138px);--overlap:29px;--hidden-overlap:13px;user-select:none;-webkit-user-select:none}#upper-row,#tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}#upper-row{margin-bottom:26px;align-items:start}.stock-column{position:relative;min-width:0}#stock-count{position:absolute;top:calc(100% + 5px);width:100%;font-size:10px;text-align:center;color:#d0dec7}.table-spacer{display:flex;justify-content:center;align-items:center;height:var(--card-height);font:32px Georgia,serif;color:#a5c1a266}.slot,.card{width:100%;height:var(--card-height);min-height:0;border-radius:7px;padding:0;position:relative}.slot-stack{position:relative;height:var(--card-height);min-width:0}.slot{background:#234a3625;border:1px dashed #c1d0ac66;color:#bbd0b3;font:30px Georgia,serif;display:flex;align-items:center;justify-content:center}.slot:hover:not(:disabled){background:#6e967d44}.slot:disabled{opacity:.65}.foundation>.slot{position:absolute;inset:0}.foundation .card{position:absolute;inset:0}.foundation .slot span{font-size:11px;position:absolute;bottom:9px;font-family:system-ui,sans-serif}.pile{position:relative;min-height:var(--card-height);min-width:0}.pile>.slot{position:absolute;top:0;left:0}.pile .card{position:absolute;left:0}.card{background:#fffcf0;border:1px solid #dbd5bd;box-shadow:0 2px 3px #15291d40;color:#314a43;display:block;text-align:left;cursor:pointer;touch-action:none;line-height:1}.card:hover:not(:disabled){background:#fffdf4}.card.red{color:#a73f45}.card.back,#stock.has-cards{border:3px solid #f2e9d3;background:repeating-linear-gradient(45deg,#71919644 0 1px,transparent 1px 8px),#406873;box-shadow:inset 0 0 0 2px #aac2bb88,0 2px 3px #18332345;color:#e7e4c5;display:flex;align-items:center;justify-content:center;font-size:30px}.card.back{pointer-events:none}.card.back span{font-size:24px;opacity:.55}#stock.has-cards:hover{background-color:#4b7983}.corner{position:absolute;left:6px;top:5px;display:flex;gap:3px;align-items:center;font:600 20px/1 ui-serif,Georgia,serif}.corner.bottom{inset:auto 6px 5px auto;transform:rotate(180deg)}.pip{position:absolute;inset:25% 0;display:flex;align-items:center;justify-content:center;font:42px Georgia,serif}.face-mark{font:italic 21px Georgia,serif;opacity:.4;position:absolute;left:50%;top:68%;transform:translate(-50%,-50%)}.card.selected{border-color:#ebc56e;box-shadow:0 0 0 3px #efc567,inset 0 0 0 2px #f8e0a4;z-index:55!important}.pile.target>.slot,.foundation.target>.slot{border:3px solid #f0c76d;box-shadow:0 0 0 2px #e1c58555;background:#d0b75f30}.pile.target{outline:2px dashed #e7c777;outline-offset:4px;border-radius:8px}.foundation.target{outline:3px solid #edc567;outline-offset:3px;border-radius:7px}.hint-card{box-shadow:0 0 0 3px #a9dae0}.table-tip{font-size:11px;text-align:center;line-height:1.6;margin:18px 2px 3px;color:#d4e0c9;min-height:18px}.little-lesson em{font-style:normal;color:#a9534e}.drag-ghost{position:fixed;z-index:10000;pointer-events:none;transform:rotate(4deg);filter:drop-shadow(0 10px 12px #152b2a55)}.drag-ghost .card{width:100%;height:100%}.drag-count{position:absolute;right:-7px;top:-9px;background:#eaca83;color:#3c5540;border-radius:20px;padding:5px 8px;font:700 12px system-ui}.drag-origin{opacity:.45}#home-btn:disabled{opacity:.4}.company-hidden .board-column{max-width:1100px}.company-hidden #card-table{--card-height:clamp(90px,12vw,155px)}.game-expanded{overflow:hidden!important}.solitaire-shell:fullscreen,.solitaire-shell.expanded-view{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;overflow:auto;margin:0;padding:12px max(16px,env(safe-area-inset-right)) 20px;background:#f7f3e9;z-index:2000}.solitaire-shell:is(:fullscreen,.expanded-view) .game-heading{padding:0 0 14px}.solitaire-shell:is(:fullscreen,.expanded-view) .title-group img{width:65px}.solitaire-shell:is(:fullscreen,.expanded-view) h1{font-size:29px}.solitaire-shell:is(:fullscreen,.expanded-view) .eyebrow{display:none}.solitaire-shell:is(:fullscreen,.expanded-view) .under-game{margin:12px 0 0}.solitaire-shell:is(:fullscreen,.expanded-view) .companion{padding:0}@media(min-width:1400px){.site-header,main,footer{width:min(1420px,calc(100% - 70px))}#card-table{--card-height:150px;--overlap:33px}.desk{grid-template-columns:minmax(0,1fr) 300px;gap:40px}}@media(max-width:1050px){.site-header,main,footer{width:calc(100% - 36px)}.desk{grid-template-columns:1fr 205px;gap:20px}.title-group img{width:85px}.toolbar{gap:5px}.toolbar>button{padding:9px 10px}.game-heading{gap:10px}.companion h2{font-size:25px}.companion .eyebrow{font-size:8px;letter-spacing:1px}.corner{font-size:17px;left:4px}.pip{font-size:32px}#card-table{--overlap:27px}}@media(max-width:850px){.site-header{height:60px}.desk{display:flex;flex-direction:column;gap:15px}.game-heading{flex-wrap:wrap;padding:15px 0 20px;gap:12px}.toolbar{margin-left:auto}.title-group{gap:10px}.title-group img{width:72px}h1{font-size:29px}.eyebrow{font-size:8px}.companion{width:100%;padding:10px 0}.companion>img{width:min(320px,85%);margin:auto}.companion>h2,.companion>p,.little-lesson{display:none}.score-strip{padding:0 3px 12px;gap:8px}.score-strip strong{font-size:27px}.score-strip span{font-size:8px}.variant{font-size:8px;letter-spacing:.5px}#card-table,.company-hidden #card-table{--card-height:clamp(82px,15vw,140px);--overlap:29px}.table-frame{padding:13px 10px 7px;border-width:5px}#upper-row,#tableau{gap:6px}.under-game{margin:18px 0;gap:12px}#storage-status{font-size:10px;max-width:60%}.board-actions{gap:6px}.board-actions button{font-size:11px;padding:10px}.solitaire-shell:is(:fullscreen,.expanded-view) .game-heading{flex-wrap:nowrap}.solitaire-shell:is(:fullscreen,.expanded-view) .title-group img{width:43px}.solitaire-shell:is(:fullscreen,.expanded-view) .title-group>div{display:none}.solitaire-shell:is(:fullscreen,.expanded-view) .toolbar{margin:0}.solitaire-shell:is(:fullscreen,.expanded-view) .companion,.solitaire-shell:is(:fullscreen,.expanded-view) .under-game{display:none}}@media(max-width:440px){.site-header,main,footer{width:calc(100% - 22px)}.title-group img{width:59px}h1{font-size:26px}.eyebrow{font-size:7px;letter-spacing:1px}.table-frame{padding:11px 5px 6px;border-width:4px;border-radius:11px}#upper-row,#tableau{gap:4px}#card-table,.company-hidden #card-table{--card-height:72px;--overlap:25px;--hidden-overlap:10px}.corner{left:3px;top:4px;font-size:16px;gap:1px}.corner.bottom{display:none}.pip{font-size:26px;inset:29% 0 8%}.face-mark{display:none}.card,.slot{border-radius:4px}.table-caption{font-size:8px}.table-tip{font-size:10px}.variant{font-size:7px}.score-strip strong{font-size:24px}.score-strip strong small{font-size:12px}.table-spacer{font-size:23px}.foundation .slot span{font-size:8px;bottom:6px}.card.back,#stock.has-cards{border-width:2px;font-size:24px}.card.back span{font-size:18px}.slot{font-size:24px}.board-actions button{padding:8px;font-size:11px}dialog{padding:20px}.dialog-actions{flex-wrap:wrap}.solitaire-shell:is(:fullscreen,.expanded-view){padding:10px 9px 16px}}@media(max-height:600px)and (min-width:600px){.solitaire-shell:is(:fullscreen,.expanded-view) .desk{display:block}.solitaire-shell:is(:fullscreen,.expanded-view) .companion{display:none}.solitaire-shell:is(:fullscreen,.expanded-view) #card-table{--card-height:85px;--overlap:24px;--hidden-overlap:7px}.solitaire-shell:is(:fullscreen,.expanded-view) .game-heading{padding-bottom:6px}.solitaire-shell:is(:fullscreen,.expanded-view) .title-group img{width:45px}.solitaire-shell:is(:fullscreen,.expanded-view) .score-strip{padding-bottom:7px}.solitaire-shell:is(:fullscreen,.expanded-view) .score-strip strong{font-size:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}#stock-count{white-space:nowrap}@media(max-width:440px){#stock-count{font-size:9px}}.court-portrait{position:absolute;inset:max(24px,21%) 3%;display:flex;align-items:center;justify-content:center;pointer-events:none;border-block:1px solid #c4aa715e;background:#ead9ac18}.court-portrait img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.court .corner{z-index:1}.card.back .back-portrait,#stock.has-cards .back-portrait{display:block;position:absolute;width:84%;height:62%;border:1px solid #e1cc94;border-radius:50%;background:#fffcf0 url(/assets/planck-solitaire-heart-thumb-v1.webp) center/contain no-repeat;opacity:1;pointer-events:none;box-shadow:0 0 0 3px #274f59,0 0 0 4px #b7b99788}.card.back:before,#stock.has-cards:before{content:"♡";position:absolute;top:3%;left:0;width:100%;text-align:center;font:12px Georgia,serif;color:#efe1b7;pointer-events:none}@media(max-width:440px){.court-portrait{inset:30% 2% 4%;border:0;background:none}.card.back:before,#stock.has-cards:before{font-size:9px}.card.back .back-portrait,#stock.has-cards .back-portrait{width:88%;height:58%;box-shadow:0 0 0 1px #274f59,0 0 0 2px #b7b99788}}.variant{padding-top:0;text-align:center}.variant label{font-size:8px}.variant select{font:inherit;font-size:12px;letter-spacing:0;background:#fffcf4;color:inherit;border:1px solid #bfcbba;border-radius:8px;padding:8px 6px;min-height:44px;max-width:100%}#card-table{--pile-gap:8px}.draw-three #waste{grid-column:span 2}.draw-three .table-spacer{display:none}.draw-three #waste .waste-card{position:absolute;top:0;width:calc((100% - var(--pile-gap))/2);left:calc(var(--waste-index) * (100% + var(--pile-gap))/4)}.waste-covered{pointer-events:none}.auto-completing .card{cursor:default}.board-actions #autocomplete-btn{border-color:#758e66;background:#e6edda}@media(max-width:850px){#card-table{--pile-gap:6px}}@media(max-width:440px){#card-table{--pile-gap:4px}.variant{letter-spacing:0}.variant label{font-size:7px}.variant select{font-size:11px;padding:6px 4px}}.victory-cascade{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:90}.cascade-skip{position:fixed;right:16px;bottom:16px;z-index:91;background:var(--paper,#fffaf0);box-shadow:0 3px 16px #0003;padding:12px 20px;border-radius:24px}
