:root{color:#24352c;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:20rem;min-height:100vh;margin:0;font-size:clamp(1.05rem,2vw,1.2rem);line-height:1.6}button{touch-action:manipulation}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-shell{width:min(100% - 2rem,54rem);margin:0 auto;padding:clamp(1.25rem,4vw,3rem) 0}.welcome{margin-bottom:2rem}.global-navigation{flex-wrap:wrap;justify-content:flex-start;gap:.75rem;margin-bottom:1.5rem;display:flex}.navigation-button{color:#213f30;min-height:3rem;font:inherit;cursor:pointer;background:#fff;border:2px solid #9db5a4;border-radius:.75rem;padding:.55rem 1rem;font-weight:700}.navigation-button[aria-current=page]{background:#e7efe9;border-color:#315c46}.brand,.eyebrow{color:#315c46;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .5rem;font-weight:750}.welcome h1,.content-card h1,.content-card h2{color:#17261e;margin:0 0 .75rem;line-height:1.15}.welcome h1,.content-card h1{font-size:clamp(2rem,6vw,3.5rem)}.content-card h2{font-size:clamp(1.6rem,4vw,2.2rem)}.welcome p:last-child,.content-card p{max-width:38rem}.content-card{background:#fff;border:2px solid #cbd9cf;border-radius:1.25rem;padding:clamp(1.5rem,5vw,3rem);box-shadow:0 .6rem 1.8rem #24463217}.content-card a{align-items:center;min-height:2.75rem;display:inline-flex}.primary-button,.back-button{min-height:3.5rem;font:inherit;cursor:pointer;border:2px solid #0000;border-radius:.75rem;font-weight:750}.primary-button{color:#fff;background:#315c46;margin-top:1.5rem;padding:.75rem 1.4rem}.back-button{color:#213f30;background:#e7efe9;align-items:center;gap:.55rem;margin-bottom:1.25rem;padding:.65rem 1rem;display:inline-flex}.primary-button:hover,.primary-button:focus-visible{background:#254735}.back-button:hover,.back-button:focus-visible{background:#d6e4da}.primary-button:focus-visible,.back-button:focus-visible{outline-offset:3px;outline:4px solid #f0b429}.navigation-button:hover,.navigation-button:focus-visible{background:#e7efe9}.navigation-button:focus-visible{outline-offset:3px;outline:4px solid #f0b429}.help-panel{background:#eef5ef;border:3px solid #315c46;border-radius:1rem;justify-content:space-between;align-items:start;gap:1rem;margin-top:1.5rem;padding:1.25rem;display:flex}.help-panel h2{color:#17261e;margin:0 0 .5rem}.choice-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.5rem;display:grid}.choice-button{color:#17261e;min-height:5.5rem;font:inherit;cursor:pointer;background:#fff;border:3px solid #cbd9cf;border-radius:1rem;flex-direction:column;justify-content:space-between;align-items:start;padding:1rem;font-weight:750;display:flex}.choice-button span:last-child{color:#315c46;font-size:.9em}.choice-button[aria-pressed=true]{background:#e7efe9;border-color:#315c46}.choice-button:focus-visible{outline-offset:3px;outline:4px solid #f0b429}.confirmation-panel{border:3px solid #315c46;border-radius:1rem;margin-top:1.5rem;padding:1.25rem}.confirmation-panel h2{margin:0 0 1rem}.confirmation-actions{flex-wrap:wrap;gap:.75rem;display:flex}.confirmation-actions .primary-button{margin-top:0}.status-message{background:#e7efe9;border-radius:.75rem;margin-top:1.5rem;padding:1rem;font-weight:750}@media (width<=35rem){.global-navigation,.help-panel{flex-direction:column;align-items:stretch}.global-navigation{justify-content:initial}}@media (width<=42rem){.choice-list{grid-template-columns:1fr}}.search-form{gap:.75rem;margin-bottom:1.5rem;display:flex}.search-input{min-height:3rem;font:inherit;color:#17261e;background:#fff;border:2px solid #cbd9cf;border-radius:.75rem;flex:1;padding:.55rem 1rem}.search-input:focus-visible{outline-offset:3px;border-color:#0000;outline:4px solid #f0b429}@media (width<=35rem){.search-form{flex-direction:column;align-items:stretch}}.patience-shell{color:#2c2a25;background:#e9e0cf;min-height:100vh;padding:1rem}.game-toolbar{z-index:3;background:#f7f1e5;border-bottom:3px solid #9b7a35;flex-wrap:wrap;gap:.5rem;padding:.75rem;display:flex;position:sticky;top:0}.game-toolbar button,.patience-shell button{min-width:2.75rem;min-height:2.75rem;font:inherit}.game-toolbar button{padding:.5rem .8rem}.salon-table{background:#496b57;border:3px solid #9b7a35;border-radius:1rem;width:min(100%,74rem);margin:auto;padding:1rem}.game-heading,.game-help,.pause-panel{background:#fffaf0;border-radius:.75rem;padding:1rem}.game-heading h1{margin:.2rem 0}.game-help{margin:.75rem 0}.pause-panel{text-align:center;padding:3rem 1rem}.patience-top{align-items:stretch;gap:.6rem;margin:1rem 0;display:flex}.stock,.playing-card,.foundation,.column-target{color:#27251f;background:#fffaf0;border:2px solid #6e5729;border-radius:.55rem}.stock{padding:.5rem}.playing-card,.foundation{justify-content:center;align-items:center;width:clamp(3.25rem,8vw,5rem);min-height:4.5rem;font-weight:800;display:flex}.playing-card.selected{outline-offset:2px;outline:4px solid #f0b429}.card-back{color:#fff;background:repeating-linear-gradient(45deg,#315c46,#315c46 6px,#d8c493 6px 12px)}.foundations{gap:.35rem;margin-left:auto;display:flex}.tableau{grid-template-columns:repeat(7,minmax(4.6rem,1fr));gap:.4rem;padding-bottom:1rem;display:grid;overflow-x:auto}.tableau-column{flex-direction:column;align-items:center;min-width:4.6rem;display:flex}.column-target{width:100%;padding:.25rem;font-size:.78rem}.tableau-column .playing-card{margin-top:-1.65rem}.tableau-column .column-target+.playing-card{margin-top:.35rem}@media (width<=48rem){.salon-table{padding:.6rem}.game-toolbar{position:static}.tableau{grid-template-columns:repeat(7,4.6rem)}.playing-card,.foundation{width:3.5rem}.foundations{overflow-x:auto}}@media (prefers-reduced-motion:reduce){.playing-card{transition:none}}.muehle-shell{color:#241d19;background:#362a24;min-height:100vh;padding:1rem}.fireside{background:#6f3f2c;border:3px solid #a85f3b;border-radius:1rem;width:min(100%,62rem);margin:auto;padding:1rem}.mill-board{aspect-ratio:1;background:#7c563d;border:4px solid #d49a68;border-radius:1rem;width:min(92vw,36rem);margin:1rem auto;position:relative}.mill-board svg{width:90%;height:90%;position:absolute;inset:5%}.mill-board svg g{fill:none;stroke:#f2d4a7;stroke-width:10px}.mill-point{z-index:1;color:#241d19;background:#80593f;border:3px solid #f2d4a7;border-radius:50%;width:clamp(2.75rem,7vw,4rem);height:clamp(2.75rem,7vw,4rem);min-height:2.75rem;font-weight:900;position:absolute;transform:translate(-50%,-50%)}.mill-point.hell{background:#f4e4c8}.mill-point.dunkel{color:#fff;background:#292522}.mill-point.selected,.mill-point.target{outline-offset:2px;outline:4px solid #f0b429}.piece-count{text-align:center;background:#fffaf0;border-radius:.5rem;padding:.75rem;font-weight:800}@media (width<=35rem){.muehle-shell{padding:.35rem}.fireside{padding:.55rem}.mill-board{width:96vw;max-width:31rem}}.lighthouse-shell{color:#17261e;background:#173f46;min-height:100vh;padding:1rem}.dusk-gallery{background:linear-gradient(#295f66,#173f46);border:3px solid #86b6b3;border-radius:1rem;width:min(100%,60rem);margin:auto;padding:1rem}.lighthouse{flex-direction:column;justify-content:flex-end;align-items:center;height:10rem;display:flex}.lantern{background:#ffe6a0;border:4px solid #e5bd68;border-radius:50%;place-items:center;width:5rem;height:4rem;font-size:2rem;display:grid}.tower{clip-path:polygon(22% 0,78% 0,100% 100%,0 100%);background:#f1eadb;width:4rem;height:6rem}.active-description,.round-progress,.signal-complete{text-align:center;background:#fffaf0;border-radius:.6rem;padding:.75rem}.signal-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.signal-card{min-height:7rem;font:inherit;background:#fffaf0;border:4px solid #86b6b3;border-radius:1rem}.signal-card span{font-size:2.5rem;display:block}.signal-card.active{outline-offset:3px;background:#ffe6a0;border-color:#f0b429;outline:5px solid #86b6b3}.play-tone,.signal-complete button{min-height:2.75rem;font:inherit;margin:1rem auto;padding:.5rem 1rem;display:block}@media (width<=35rem){.lighthouse-shell{padding:.35rem}.signal-grid{grid-template-columns:1fr}.signal-card{min-height:4.5rem}.lighthouse{height:7rem}.tower{height:3rem}}@media (prefers-reduced-motion:reduce){.signal-card.active{animation:none}}
