:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#f4f2e8;background:#102d30;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 50% 0%,#225153,#102d30 60%);min-height:100vh}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #ffdb86;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.app{max-width:1200px;margin:auto;min-height:100vh;padding:14px 18px 26px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:clamp(21px,4vw,31px);letter-spacing:.02em;font-weight:bold}.brandmark{font-size:27px;color:#e6b965}.topactions,.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{border:1px solid #b8cebd4f;color:#faf8ed;background:#ffffff13;border-radius:12px;min-height:42px;padding:8px 14px;transition:background .15s,transform .15s}.btn:hover{background:#ffffff24}.btn:active{transform:scale(.97)}.btn.primary{background:#e6b965;color:#1d302e;border-color:#e6b965;font-weight:800}.btn.primary:hover{background:#f5cd80}.btn.icon{min-width:44px;padding:8px}.btn.small{font-size:13px;min-height:36px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:#d8bd80;font-weight:800}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.85fr);gap:24px;align-items:center;padding:clamp(35px,7vh,90px) 0}.hero h1{font-family:Georgia,serif;font-size:clamp(44px,8vw,90px);line-height:.96;margin:14px 0 20px;letter-spacing:-.035em}.hero p{font-size:clamp(16px,2vw,20px);line-height:1.5;color:#d4e1d8;max-width:530px}.hero .actions{margin-top:24px}.hero-art{min-height:330px;border:1px solid #ffffff24;border-radius:25px;background:linear-gradient(140deg,#214d4e,#123638 60%,#0d2427);position:relative;overflow:hidden;box-shadow:0 30px 80px #061f2166}.hero-art:before{content:'';position:absolute;inset:12%;border:1px solid #ffffff16;border-radius:50%;transform:scale(1.4)}.hero-art .card{position:absolute;width:124px;height:174px;top:50%;left:50%;box-shadow:0 15px 28px #0008}.hero-art .card:nth-child(1){transform:translate(-110%,-52%) rotate(-19deg)}.hero-art .card:nth-child(2){transform:translate(-50%,-52%) rotate(0)}.hero-art .card:nth-child(3){transform:translate(10%,-52%) rotate(19deg)}.hero-art .seal{position:absolute;bottom:22px;right:25px;font-family:Georgia,serif;color:#e9bd6c;font-size:18px}.stats-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.stat{padding:14px 20px;border:1px solid #ffffff24;border-radius:15px;background:#ffffff0a;min-width:120px}.stat strong{display:block;font-size:24px}.stat span{color:#cad8ce;font-size:12px}.game-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 12px;flex-wrap:wrap}.game-title{font-family:Georgia,serif;font-size:26px;margin:0}.game-sub{color:#cbdace;font-size:13px;margin-top:3px}.scorebar{display:flex;gap:8px;flex-wrap:wrap}.score{background:#ffffff12;border:1px solid #ffffff21;padding:8px 11px;border-radius:10px;font-size:13px}.score b{color:#f0cb81}.game-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.board{border:1px solid #b0c4b33d;border-radius:20px;background:linear-gradient(150deg,#195043,#143f3d 50%,#143538);padding:clamp(10px,2vw,22px);box-shadow:0 16px 60px #061b1e66;min-height:610px}.board-top{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(5px,1.2vw,16px);max-width:700px;margin:0 auto 26px}.board-section-label{font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#c9ddce;margin-bottom:8px;white-space:nowrap}.pile{position:relative;min-height:var(--card-h);border-radius:10px}.slot{width:var(--card-w);height:var(--card-h);max-width:100%;border:2px dashed #d1e8d165;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#ffffff83;background:#00000012;font-size:27px}.foundation-label{font-size:13px;opacity:.8}.board-divider{height:1px;background:#ffffff28;margin:0 auto 18px;max-width:700px}.tableau{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(5px,1.2vw,16px);max-width:700px;margin:auto}.tableau .pile{min-height:360px}.tableau .card{position:absolute;left:0;top:calc(var(--depth) * var(--offset));z-index:var(--depth)}.card{width:var(--card-w);height:var(--card-h);max-width:100%;border:1px solid #e9e6dc;border-radius:10px;background:#fbf9ef;color:#172b31;box-shadow:0 3px 9px #0004;display:block;position:relative;text-align:left;padding:5px;user-select:none;touch-action:manipulation}.card.red{color:#ae3035}.card.selected{outline:4px solid #ffce6f;outline-offset:2px;transform:translateY(-4px)}.card.hint{outline:4px solid #72e5db;outline-offset:2px}.card .corner{font-family:Georgia,serif;font-weight:bold;font-size:clamp(17px,3vw,23px);line-height:.86}.card .corner span{display:block;font-size:clamp(15px,2.6vw,21px);margin-top:3px}.card .center{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);font-size:clamp(29px,6vw,53px)}.card.back{background:repeating-linear-gradient(45deg,#1b5760 0 6px,#286775 6px 9px);border:5px solid #f3e4bc;color:#eac77e;text-align:center}.card.back:after{content:'✦';font-size:35px;position:absolute;inset:0;display:grid;place-items:center;background:#0a313222;border:1px solid #e8d8ad66;border-radius:4px}.count{position:absolute;left:4px;bottom:-9px;z-index:30;background:#e7bd72;color:#1a332f;min-width:28px;padding:2px 6px;border-radius:12px;font-size:11px;font-weight:900;text-align:center}.pile-note{font-size:12px;color:#d2e1d4;margin-top:8px}.message{min-height:25px;color:#f2cd82;text-align:center;font-size:14px;margin:10px 0}.footer{margin-top:16px;display:flex;justify-content:space-between;color:#bdd0c7;font-size:12px;gap:12px;flex-wrap:wrap}.overlay{position:fixed;inset:0;background:#051b1dd9;z-index:100;display:grid;place-items:center;padding:18px}.dialog{width:min(520px,100%);max-height:min(90vh,760px);overflow:auto;background:#163b3d;border:1px solid #adc6af55;border-radius:20px;padding:25px;box-shadow:0 24px 80px #0009}.dialog h2{font-family:Georgia,serif;font-size:30px;margin:0 0 13px}.dialog p,.dialog li{line-height:1.5;color:#e0e9e0}.dialog ul{padding-left:20px}.dialog .actions{margin-top:22px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff23}.pill{display:inline-block;color:#263431;background:#eac67f;border-radius:100px;padding:5px 10px;font-size:12px;font-weight:800}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--card-w:116px;--card-h:158px;--offset:31px}@media(max-width:760px){:root{--card-w:min(19vw,105px);--card-h:calc(var(--card-w)*1.38);--offset:27px}.app{padding:10px 10px 22px}.hero{grid-template-columns:1fr;padding:28px 3px}.hero-art{min-height:230px;grid-row:1}.hero-art .card{width:90px;height:125px}.hero h1{font-size:48px}.board{min-height:560px}.tableau .pile{min-height:330px}.game-actions .btn{padding:7px 10px;font-size:12px;min-height:38px}.game-title{font-size:23px}.topactions .btn{padding:7px 9px;font-size:12px}}@media(max-width:400px){:root{--card-w:20vw;--card-h:calc(var(--card-w)*1.38);--offset:25px}.board-top,.tableau{gap:4px}.board-section-label{font-size:9px}.board{padding:8px}.card .center{font-size:30px}.card .corner{font-size:16px}.card .corner span{font-size:15px}.topbar .brand{font-size:19px}.game-actions{gap:5px}}
 .supply{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(5px,1.2vw,16px);max-width:700px;margin:0 auto 20px}.supply .pile{min-height:var(--card-h)}.supply .label-wrap{max-width:var(--card-w)}
.short-label{display:none}@media(max-width:760px){.board-top .long-label{display:none}.board-top .short-label{display:inline}.board-top .board-section-label{font-size:10px;letter-spacing:.04em}}
