:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#f5f0db;background:#122b2a;--ink:#f5f0db;--muted:#b7c5bc;--gold:#e6ba68;--panel:#173734;--edge:#3d665b;--cardw:clamp(60px,7vw,96px);--cardh:calc(var(--cardw)*1.42);--step:clamp(26px,3.1vw,38px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #ffe09b;outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}#app{min-height:100vh;background:radial-gradient(circle at 50% -20%,#2b5e50 0,#143631 46%,#102724 100%)}
.shell{max-width:1540px;margin:auto;padding:18px clamp(12px,2.5vw,36px) 36px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px}.brand{font-family:Georgia,serif;font-size:clamp(22px,2.4vw,32px);letter-spacing:.02em;color:#ffe5a8;white-space:nowrap}.brand span{font-size:.43em;display:block;font-family:inherit;text-transform:uppercase;letter-spacing:.27em;color:#afcbb6;margin-bottom:2px}.top-actions,.controls,.pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{border:1px solid #749180;background:#21443d;color:#fff8e6;border-radius:11px;padding:10px 15px;min-height:44px;font-weight:700;box-shadow:0 2px 0 #0a211e;transition:background .14s,transform .14s}.btn:hover{background:#2d5a4d}.btn:active{transform:translateY(1px)}.btn.primary{background:#e6ba68;color:#24372e;border-color:#ffdf96}.btn.primary:hover{background:#f6cc7b}.btn.quiet{background:transparent}.btn.small{padding:8px 11px;min-height:40px}.btn.icon{min-width:44px}.btn[aria-pressed=true]{background:#e6ba68;color:#182d28}.lang{display:flex;border:1px solid #759283;border-radius:10px;overflow:hidden}.lang button{border:0;background:#21443d;color:var(--ink);padding:9px 10px;min-height:42px;font-weight:800}.lang button.active{background:#e6ba68;color:#1a342b}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(20px,5vw,70px);align-items:center;min-height:min(760px,calc(100vh - 100px));padding:55px clamp(8px,5vw,72px)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:#e6ba68;font-size:12px;font-weight:800}.hero h1{font-family:Georgia,serif;font-size:clamp(55px,8vw,116px);line-height:.9;letter-spacing:-.055em;margin:15px 0 22px;color:#fff0c8}.hero h1 em{color:#e6ba68;font-style:normal}.hero p{font-size:clamp(16px,1.5vw,21px);line-height:1.55;max-width:580px;color:#d1ded4}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero .btn{padding:14px 24px;min-height:52px}.note{font-size:13px!important;color:#adc5b9!important;margin-top:25px}.artboard{min-height:440px;border-radius:30px;border:1px solid #779581;background:linear-gradient(145deg,#326d58,#1c453c 55%,#17352f);box-shadow:0 24px 70px #061b1e9c,inset 0 0 0 10px #ffffff0b;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.artboard:before,.artboard:after{content:'';position:absolute;width:75%;height:75%;border:1px solid #debd73aa;border-radius:50%;transform:rotate(-25deg)}.artboard:after{width:52%;height:52%;opacity:.6}.art-card{position:absolute;width:clamp(110px,17vw,190px);aspect-ratio:5/7;border-radius:14px;background:#faf6eb;border:5px solid #ede6d7;box-shadow:0 15px 25px #081c1d9c;color:#c93a3b;padding:14px;font-family:Georgia,serif;font-size:32px;font-weight:bold}.art-card:nth-child(1){transform:translate(-80px,15px) rotate(-21deg)}.art-card:nth-child(2){transform:translate(5px,-12px) rotate(-4deg);color:#17302d}.art-card:nth-child(3){transform:translate(95px,12px) rotate(16deg)}.art-card b{position:absolute;top:45%;left:41%;font-size:64px}.art-seal{position:absolute;bottom:30px;right:33px;background:#e6ba68;color:#214034;border-radius:50%;width:85px;height:85px;display:grid;place-items:center;text-align:center;font-family:Georgia,serif;font-weight:bold;transform:rotate(9deg);box-shadow:0 4px 18px #071a19a0}.panel{background:#183a35;border:1px solid #476e60;border-radius:18px;box-shadow:0 14px 35px #071c1980}.game-layout{padding-top:12px}.game-top{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:8px 0 14px}.pills .pill{background:#193e36;border:1px solid #4d7564;border-radius:999px;padding:7px 13px;color:#dce9dc;font-size:13px;font-weight:650}.pill strong{color:#ffdf98;margin-left:4px}.message{min-height:26px;color:#e7c684;font-size:13px;font-weight:700;margin:5px 0}.board{padding:18px 16px 26px;border-radius:20px;background:linear-gradient(160deg,#235447,#1a423a 70%,#173a34);border:1px solid #5a7e6b;box-shadow:inset 0 0 0 5px #ffffff06,0 20px 50px #071b1a88}.upper{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.source-area{display:flex;gap:10px}.foundations{display:grid;grid-template-columns:repeat(8,var(--cardw));gap:clamp(4px,.65vw,10px)}.pile-label{height:21px;text-align:center;font-size:11px;letter-spacing:.08em;font-weight:800;color:#bbd2c3;text-transform:uppercase}.slot{position:relative;width:var(--cardw);height:var(--cardh);border:2px dashed #91b19b88;border-radius:9px;background:#0e302a55;display:flex;align-items:center;justify-content:center;color:#abd3b0;font-family:Georgia,serif;font-size:29px}.slot.suit-red{color:#e6aaa1}.slot.valid{outline:3px solid #f0ca78;outline-offset:3px;background:#dab76a33}.slot.hinted,.card.hinted{box-shadow:0 0 0 4px #f6db7c,0 0 22px #e6ba68!important}.stock-card{background:repeating-linear-gradient(45deg,#e9c575 0 4px,#bc874e 4px 7px,#e9c575 7px 11px);border:5px solid #fbefc7;box-shadow:0 3px 12px #071b1b88;display:flex;flex-direction:column;justify-content:center;color:#204539}.stock-card:before{content:'✦';border:2px solid #235746;border-radius:4px;width:70%;height:77%;display:grid;place-items:center;font-size:37px;background:#b48f56bb}.stock-count{position:absolute;bottom:4px;right:5px;background:#163d33;color:#fff2ce;border-radius:5px;padding:2px 5px;font:800 11px system-ui}.tableau{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:clamp(5px,.9vw,15px);align-items:start}.column{position:relative;min-height:calc(var(--cardh) + 42px);padding-top:21px;min-width:0}.column .slot{position:absolute;top:21px;left:0}.card{position:absolute;top:0;left:0;width:var(--cardw);height:var(--cardh);background:linear-gradient(145deg,#fffdf7,#f3ebdb);border:2px solid #e9ddca;border-radius:9px;box-shadow:0 3px 8px #09201d88;color:#23352f;text-align:left;padding:6px 8px;user-select:none;touch-action:manipulation}.card.red{color:#ba3e3d}.card .corner{font-family:Georgia,serif;font-size:clamp(17px,2vw,25px);font-weight:800;line-height:.89}.card .corner small{display:block;font-size:.86em}.card .center{position:absolute;inset:0;display:grid;place-items:center;font-family:Georgia,serif;font-size:clamp(32px,4vw,52px);opacity:.78}.card .bottom{position:absolute;bottom:5px;right:6px;font-family:Georgia,serif;font-size:14px;transform:rotate(180deg);line-height:.85;font-weight:800}.card.selected{box-shadow:0 0 0 4px #f4d176,0 10px 20px #0b2f2abb;transform:translateY(-5px)}.card.can-source{cursor:grab}.card.can-source:active{cursor:grabbing}.card.mini{position:relative;top:auto;left:auto}.column .card{top:calc(21px + var(--i)*var(--step));z-index:var(--i)}.column .card:last-child{z-index:100}.column .slot{z-index:0}.column .slot.valid{z-index:101}.board-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:22px;color:#b5cebe;font-size:13px}.board-bottom span{line-height:1.4}.screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.overlay{position:fixed;inset:0;background:#061915d9;z-index:500;display:flex;align-items:center;justify-content:center;padding:15px;backdrop-filter:blur(5px)}.dialog{width:min(560px,100%);max-height:min(90vh,800px);overflow:auto;padding:30px}.dialog h2{font-family:Georgia,serif;font-size:38px;line-height:1.1;margin:0 0 16px;color:#ffe6af}.dialog h3{margin:22px 0 8px;color:#eec97f}.dialog p,.dialog li{line-height:1.56;color:#d6e5d8}.dialog ul{padding-left:21px}.dialog .actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.stat{background:#254b40;border:1px solid #527662;border-radius:10px;padding:12px}.stat strong{display:block;font-size:25px;color:#ffdd99}.stat span{font-size:12px;color:#d2dfd3}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-top:1px solid #527662}.footer{padding:28px 0 0;font-size:12px;text-align:center;color:#a1bcae}.footer button{border:0;background:none;color:#e9c584;text-decoration:underline;padding:0}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#f3ce83;color:#213a31;border-radius:12px;padding:10px 17px;font-weight:800;box-shadow:0 8px 25px #0007;z-index:600;max-width:90vw;text-align:center}
@media(max-width:1100px){:root{--cardw:clamp(56px,7.6vw,79px);--step:29px}.upper{flex-wrap:wrap}.foundations{grid-template-columns:repeat(8,var(--cardw))}.tableau{grid-template-columns:repeat(10,var(--cardw));justify-content:space-between}.board{overflow-x:auto}.hero{grid-template-columns:1fr}.artboard{min-height:360px}.hero{min-height:auto;padding-top:35px}}
@media(max-width:720px){:root{--cardw:clamp(52px,14.6vw,70px);--step:26px}.shell{padding:12px 10px 30px}.top{align-items:flex-start}.brand{font-size:23px}.brand span{font-size:10px}.top-actions{justify-content:flex-end}.hero{padding:34px 8px}.hero h1{font-size:clamp(58px,17vw,86px)}.artboard{min-height:300px}.art-card{width:125px}.art-card:nth-child(1){transform:translate(-60px,10px) rotate(-21deg)}.art-card:nth-child(3){transform:translate(65px,10px) rotate(16deg)}.art-card b{font-size:50px}.game-top{align-items:flex-start}.controls{gap:5px}.controls .btn{padding:7px 9px;font-size:12px;min-height:42px}.board{padding:11px 7px 20px;overflow:visible}.upper{gap:12px;margin-bottom:14px}.foundations{grid-template-columns:repeat(4,var(--cardw));gap:5px 7px}.source-area{gap:8px}.tableau{grid-template-columns:repeat(5,var(--cardw));justify-content:space-around;gap:12px 4px}.column{min-height:calc(var(--cardh) + 4*var(--step) + 20px)}.board-bottom{align-items:flex-start}.board-bottom .btn{white-space:nowrap}.card{padding:5px}.card .corner{font-size:17px}.card .center{font-size:32px}.card .bottom{display:none}.pile-label{font-size:9px}.dialog{padding:22px}.dialog h2{font-size:31px}}
@media(max-width:390px){:root{--cardw:clamp(50px,14.1vw,55px);--step:25px}.top .brand{font-size:21px}.top-actions .btn{padding:6px 8px;font-size:12px}.source-area{gap:5px}.foundations{gap:4px}.tableau{gap:9px 3px}.card .center{font-size:29px}.card .corner{font-size:16px}.board-bottom{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.mobile-only{display:none}@media(max-width:720px){.mobile-only{display:inline}}
