*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--felt:#1a6b35;--felt-dark:#145829;--card-w:70px;--card-h:100px;--card-radius:6px;--card-gap:4px;--tableau-offset-down:28px;--tableau-offset-up:18px;--topbar-h:120px;--toolbar-h:48px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}html,body{background:var(--felt);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;height:100%;font-family:system-ui,-apple-system,sans-serif;overflow:hidden}#app{height:100%;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);flex-direction:column;display:flex}#toolbar{background:var(--felt-dark);height:var(--toolbar-h);flex-shrink:0;align-items:center;gap:8px;padding:6px 8px;display:flex}#toolbar .spacer{flex:1}#akuie-logo{flex-shrink:0;align-items:center;margin-right:4px;display:flex}#akuie-logo img{object-fit:contain;border-radius:6px;width:32px;height:32px}#toolbar button{color:#fff;cursor:pointer;background:#00000040;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:6px 12px;font-size:13px;display:flex}#toolbar button:disabled{opacity:.35;cursor:default}#btn-how-to-play{font-size:16px;font-weight:700}#btn-donate{color:#f472b6;cursor:pointer;background:#00000040;border:1px solid #fff3;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;text-decoration:none;display:flex}#btn-donate svg{width:18px;height:18px}#btn-donate:hover{background:#f472b626}#stats{color:#fffc;flex-direction:column;align-items:flex-end;gap:2px;min-width:60px;font-size:12px;display:flex}#game-area{max-width:calc(7 * var(--card-w) + 6 * var(--card-gap) + 16px);flex-direction:column;flex:1;gap:20px;width:100%;margin:0 auto;display:flex;overflow:hidden}#top-area{align-items:flex-start;gap:var(--card-gap);flex-shrink:0;padding:8px 8px 0;display:flex}#stock-waste{gap:var(--card-gap);display:flex}#foundations{gap:var(--card-gap);margin-left:auto;display:flex}#tableau{gap:var(--card-gap);flex:1;align-items:flex-start;padding:0 8px 8px;display:flex;overflow:hidden}.tableau-col{width:var(--card-w);flex-shrink:0;position:relative}@media (width<=540px){:root{--card-w:calc((100vw - 64px) / 7);--card-h:calc(var(--card-w) * 1.43);--tableau-offset-down:calc(var(--card-h) * .27);--tableau-offset-up:calc(var(--card-h) * .17);--card-radius:4px}#toolbar button{padding:4px 8px;font-size:11px}}@media (width>=900px){:root{--card-w:90px;--card-h:128px;--tableau-offset-down:32px;--tableau-offset-up:22px;--card-gap:8px}#game-area{max-width:calc(7 * var(--card-w) + 6 * var(--card-gap) + 32px);gap:24px}#top-area{padding:12px 16px 0}#tableau{gap:var(--card-gap);padding:0 16px 12px}}@media (height<=500px) and (orientation:landscape){:root{--card-w:56px;--card-h:80px;--tableau-offset-down:20px;--tableau-offset-up:14px;--toolbar-h:36px}}.pile-slot{width:var(--card-w);height:var(--card-h);border-radius:var(--card-radius);border:2px dashed #fff3;flex-shrink:0;position:relative}.card{width:var(--card-w);height:var(--card-h);border-radius:var(--card-radius);cursor:pointer;touch-action:none;will-change:transform;background:#fff;border:1px solid #00000026;transition:box-shadow .1s;position:absolute;overflow:hidden}.card.face-down{cursor:default;background:#1a5fa8}.card img{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.card.selected{outline-offset:-2px;z-index:10;outline:3px solid #f0e040}.card.drop-target,.pile-slot.drop-target{box-shadow:0 0 0 3px gold,0 0 12px #ffd70080!important}.card.dragging{z-index:1000;cursor:grabbing;transform:scale(1.04);box-shadow:0 8px 24px #00000073}.pile-slot.stock{cursor:pointer;color:#ffffff59;justify-content:center;align-items:center;font-size:28px;display:flex}.pile-slot.foundation:after{content:attr(data-suit-symbol);font-size:calc(var(--card-w) * .4);color:#fff3;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}button,.pile-slot,.card{min-width:44px;min-height:44px}.card{touch-action:none}#app{padding-bottom:calc(var(--safe-bottom) + 4px)}@keyframes stock-flip{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)}to{transform:rotateY(0)}}.card.flip-anim{animation:.2s ease-in-out stock-flip}@keyframes place-pulse{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}.card.place-anim{animation:.18s ease-out place-pulse}@keyframes snap-back{0%{transform:translate(var(--snap-dx), var(--snap-dy)) scale(1.04)}to{transform:translate(0)scale(1)}}.card.snap-back{animation:.22s cubic-bezier(.25,.46,.45,.94) forwards snap-back}.card.dropping{transition:transform .12s cubic-bezier(.22,.61,.36,1)}.flying-card{pointer-events:none;z-index:9999;border-radius:var(--card-radius);width:var(--card-w);height:var(--card-h);position:fixed}#win-overlay{z-index:9000;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}#win-overlay.interactive{pointer-events:auto}#win-message{color:#fff;text-shadow:0 2px 8px #0009;font-size:2rem;font-weight:700}#htp-panel{z-index:8000;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#htp-panel.open{display:flex}#htp-backdrop{background:#0009;position:absolute;inset:0}#htp-dialog{background:#1e3a2a;border-radius:12px;flex-direction:column;width:min(480px,92vw);max-height:80vh;animation:.2s htp-in;display:flex;position:relative;box-shadow:0 8px 40px #00000080}@keyframes htp-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}#htp-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}#htp-header h2{color:#fff;font-size:1.1rem}#htp-header button{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:18px;line-height:1}#htp-header button:hover{color:#fff}#htp-body{color:#ffffffd9;flex-direction:column;gap:16px;padding:16px 20px 20px;font-size:14px;line-height:1.6;display:flex;overflow-y:auto}#htp-body section h3{color:#fff;text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-bottom:6px;font-size:.85rem}#htp-body p+p{margin-top:6px}#htp-body strong{color:#fff}#htp-body ul{flex-direction:column;gap:4px;padding-left:18px;display:flex}#settings-panel{z-index:8000;display:none;position:fixed;inset:0}#settings-panel.open{display:flex}#settings-backdrop{background:#00000080;position:absolute;inset:0}#settings-drawer{background:#1e3a2a;flex-direction:column;gap:20px;width:min(360px,100vw);padding:20px;transition:transform .25s;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}#settings-panel.open #settings-drawer{transform:translate(0)}@media (width<=480px){#settings-drawer{border-radius:16px 16px 0 0;width:100vw;height:60vh;transition:transform .25s;top:auto;left:0;right:auto;transform:translateY(100%)}#settings-panel.open #settings-drawer{transform:translateY(0)}}
