@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{color-scheme:light;--cream:#f9f1df;--ink:#203e32;--gold:#c9a65d;--tileW:72px;--tileH:94px}*{box-sizing:border-box}body{margin:0;background:#173e30;color:var(--cream);font-family:'DM Sans',system-ui,sans-serif;min-height:100svh;background-image:radial-gradient(ellipse at 50% 35%,#41644c66,transparent 70%),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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.055' filter='url(%23n)'/%3E%3C/svg%3E")}button,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,select:focus-visible{outline:3px solid #efc864;outline-offset:5px}header{min-height:118px;background:#f6f0e3;color:var(--ink);border-bottom:2px solid var(--gold);display:flex;align-items:center;justify-content:center;padding:22px 70px;position:relative;box-shadow:0 5px 25px #0002}header:before,header:after{content:'❧';position:absolute;left:15px;top:-22px;color:#6c805537;font-size:170px;line-height:1;transform:rotate(-20deg);pointer-events:none}header:after{left:auto;right:80px;transform:rotate(150deg);font-size:120px}.brand{display:flex;align-items:center;gap:16px}.sprig{font-size:72px;color:#6e8058;transform:rotate(-25deg);line-height:1}h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:44px;line-height:1.05;font-weight:400;margin:0;letter-spacing:-.7px}.brand p{font-family:Georgia,serif;text-align:center;font-size:15px;color:#727760;margin:10px 0 0;letter-spacing:1px}.round{position:absolute;right:28px;top:31px;border:1px solid #d3c4a4;background:#fff9ed;width:48px;height:48px;border-radius:50%;font-size:26px;color:var(--ink)}main{max-width:1240px;margin:auto;padding:24px 30px 16px}.status{display:flex;justify-content:space-between;gap:15px;align-items:center}.level,.remaining{border:1px solid #c4aa7077;border-radius:30px;padding:9px 18px;background:#15362ac9;display:flex;gap:12px;align-items:center;font-size:15px;box-shadow:0 3px 10px #0001}.level>span{font-size:25px;color:#e8c983;line-height:1}select{border:0;background:transparent;color:#faf2df;cursor:pointer;max-width:230px;padding-right:5px}select option{background:#f8f0df;color:#203e32}.remaining>span:first-child{color:#d7bc80;font-size:22px}.remaining strong{font-size:18px;font-weight:500;margin-right:-7px}.board-wrap{position:relative;width:100%;height:min(58vw,560px);min-height:320px;display:flex;align-items:center;justify-content:center;margin-top:8px}#board{position:relative;flex-shrink:0;isolation:isolate}.ornament{position:absolute;color:#b3bd8c24;font:220px Georgia;pointer-events:none;z-index:-1}.o1{left:-40px;bottom:30px;transform:rotate(-40deg)}.o2{right:-40px;top:20px;transform:rotate(140deg)}.tile{position:absolute;width:var(--tileW);height:var(--tileH);padding:5px;border-radius:9px;border:1px solid #d4bd90;background:linear-gradient(135deg,#fffbee,#f2e4c9);color:#244d37;box-shadow:0 2px 0 #d4c09b,0 5px 0 #bc9f70,0 7px 0 #9d8059,2px 10px 9px #071d2866,inset 0 1px 2px #fff;display:flex;align-items:center;justify-content:center;transition:filter .2s,box-shadow .2s,translate .2s,opacity .3s;user-select:none;-webkit-tap-highlight-color:transparent}.tile svg{width:100%;height:100%;filter:drop-shadow(0 1px 0 #fff8);pointer-events:none}.tile.blocked{filter:brightness(.88) saturate(.8);cursor:default}.tile.free:hover{translate:0 -3px;filter:brightness(1.06)}.tile.selected,.tile.hinted{outline:3px solid #ffd77e;outline-offset:-3px;box-shadow:0 0 22px #e9c56d99,0 5px 0 #bc9f70,0 7px 0 #9d8059,2px 11px 9px #071d2866}.tile.hinted{animation:hintGlow 1s ease-in-out 3}.tile.leaving{pointer-events:none;animation:depart .52s ease-in forwards}.highlight .tile.free{background:linear-gradient(135deg,#fffdf3,#ffefc5)}.highlight .tile.blocked{filter:brightness(.73)}.tile.shake{animation:shake .25s ease}.feedback{text-align:center;min-height:56px;margin-top:7px}.feedback p{font-size:15px;margin:0 0 5px;color:#f5efdf}.feedback>span{font-size:12px;letter-spacing:.4px;color:#b7c8b6}.actions{display:flex;gap:14px;justify-content:center;margin:12px 0 26px}.actions button{min-width:172px;border-radius:16px;border:1px solid #d4b574;background:linear-gradient(#fff9ea,#eee0c5);color:var(--ink);padding:14px 22px;box-shadow:0 3px 0 #b49661,0 6px 16px #0002;font-family:Georgia,serif;font-size:21px;display:flex;align-items:center;justify-content:center;gap:12px;transition:translate .15s}.actions button>span{font-family:system-ui;font-size:30px;line-height:1}.actions button:hover{translate:0 -2px}.actions button:active{translate:0 2px}button:disabled{opacity:.4;cursor:default}.actions button:disabled{translate:0 0}footer{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#b8c8b8}.subtle{border:1px solid #bca36999;border-radius:30px;padding:11px 22px;background:#14352b88;color:var(--cream);font-family:Georgia,serif;font-size:17px}.text-button{background:transparent;border:0;color:inherit;padding:10px;text-decoration:underline;text-underline-offset:4px}.quiet{font-size:13px;letter-spacing:.5px}dialog{max-width:480px;width:calc(100% - 36px);border:1px solid #c9ae79;border-radius:24px;padding:36px;background:#faf3e4;color:var(--ink);box-shadow:0 20px 90px #0006}dialog::backdrop{background:#09281fc4;backdrop-filter:blur(5px)}dialog form{position:relative}dialog h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:36px;margin:12px 0 20px}dialog p{font-size:16px;line-height:1.7}.eyebrow{font-size:10px;letter-spacing:2.6px;color:#7b8265;font-weight:700}.close{position:absolute;right:-16px;top:-22px;background:none;border:0;font-size:30px;color:#68725d}.primary{display:block;background:#244e3c;color:#fff8e7;border:1px solid #43614b;border-radius:12px;padding:13px 20px;font-size:16px;width:100%;margin-top:22px}.note{font-size:13px!important;color:#777e6b}.setting{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid #ded7c7;font-size:15px}.setting small{display:block;font-size:12px;color:#777e6b;margin-top:5px}.setting input{width:22px;height:22px;accent-color:#385d45}.dialog-actions{display:flex;gap:10px;align-items:center}.dialog-actions button{border:1px solid #c7c6b4;border-radius:10px;padding:13px;font-size:14px;width:50%;margin:12px 0 0}.winflower{font-size:70px;text-align:center;color:#c6a05c}#winDialog{text-align:center}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.spark{position:absolute;pointer-events:none;color:#ffe4a1;font-size:24px;z-index:9999;animation:spark .65s ease-out forwards}.reduced .tile,.reduced .spark{animation:none!important;transition:none!important}.reduced .tile.leaving{opacity:0}@keyframes depart{to{opacity:0;translate:0 -40px;scale:.75;filter:brightness(1.7)}}@keyframes hintGlow{50%{filter:brightness(1.2)}}@keyframes shake{25%{translate:-3px}75%{translate:3px}}@keyframes spark{to{translate:var(--sx) var(--sy);opacity:0;scale:.2}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:680px){header{min-height:106px;padding:22px 53px 20px 15px;justify-content:flex-start}.sprig{font-size:44px}.brand{gap:9px}h1{font-size:29px}h1 span{display:block;font-size:23px;letter-spacing:0}.brand p{font-size:11px;letter-spacing:0;text-align:left;margin-top:7px}.round{right:14px;top:31px;width:39px;height:39px;font-size:23px}header:before,header:after{display:none}main{padding:18px 12px 16px}.status{gap:6px}.level,.remaining{font-size:12px;padding:7px 10px;gap:5px}.remaining strong{font-size:15px;margin:0}.remaining>span:first-child{display:none}select{font-size:12px;width:166px}.board-wrap{height:390px;min-height:0;margin-top:10px}.actions{gap:8px;margin:12px 0 24px}.actions button{min-width:0;flex:1;padding:13px 8px;font-size:16px;gap:6px;border-radius:12px}.actions button>span{font-size:25px}.feedback p{font-size:13px}.quiet{font-size:11px}.subtle{font-size:14px;padding:10px 14px}footer{gap:6px}.ornament{display:none}dialog{padding:28px}dialog h2{font-size:31px}}@media(max-height:760px) and (min-width:681px){header{min-height:95px;padding:16px 70px}h1{font-size:36px}.round{top:24px}main{padding-top:16px}.board-wrap{height:440px}.actions{margin-bottom:18px}}
/* Large, irregular solitaire layouts: room for deep stacks and deliberate play. */
main{max-width:1680px;padding:20px 28px 18px}.board-toolbar{display:flex;align-items:center;justify-content:space-between;color:#c8d4bf;font-size:13px;margin:12px 4px 4px}.board-toolbar .text-button{font-size:13px;padding:8px}.board-wrap{display:block;height:clamp(620px,75vh,1050px);min-height:0;overflow:auto;overscroll-behavior:contain;padding:15px 0 20px;scrollbar-color:#bdac77 #173d30;scrollbar-width:thin;border-radius:16px;background:radial-gradient(ellipse at center,#5a79501c,transparent 70%)}#board{margin:0 auto}.tile{border-radius:7px}.tile.concealed{background:linear-gradient(135deg,#d8c39f,#baa17b)}.tile.blocked{filter:brightness(.94) saturate(.9)}.feedback{margin-top:16px}.ornament{display:none}select{max-width:280px;width:240px}.quiet{white-space:nowrap}@media(max-width:680px){main{padding:14px 10px}.board-wrap{height:650px;min-height:0}.board-toolbar{font-size:11px;gap:8px}.board-toolbar .text-button{font-size:12px;white-space:nowrap}select{width:180px;font-size:13px}.remaining{white-space:nowrap}.feedback p{font-size:13px}footer{flex-wrap:wrap}.brand p{letter-spacing:0}}@media(max-height:760px) and (min-width:681px){.board-wrap{height:620px}}

header:before,header:after{content:none}.sprig{transform:none;display:flex}.sprig svg{display:block}@media(max-width:680px){.sprig svg{width:30px;height:46px}}
