*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,sans-serif;background:linear-gradient(160deg,#1a2a4a 0%,#2d4a7a 100%);color:#f5f5f5;min-height:100vh;padding:10px}
.bar{text-align:center;margin-bottom:8px}
.bar h1{font-size:1.35rem}
.sub{font-size:.85rem;opacity:.85}
#toolbar{display:flex;gap:8px;justify-content:center;margin-bottom:12px}
button{padding:8px 16px;border:none;border-radius:6px;background:#7dd3fc;color:#0f172a;font-weight:700;cursor:pointer}
#stats{font-size:.9rem;line-height:2.2}
#top{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;max-width:900px;margin:0 auto 16px}
.row-label{width:100%;text-align:center;font-size:.75rem;opacity:.8;margin-bottom:4px}
#freecells,#foundations{display:flex;gap:8px;justify-content:center;width:100%}
.slot{width:68px;height:96px;border:2px dashed rgba(255,255,255,.3);border-radius:8px;position:relative}
#tableau{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;max-width:920px;margin:0 auto}
.column{width:68px;min-height:340px;position:relative}
.card{position:absolute;width:64px;height:92px;border-radius:6px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.35);cursor:pointer;user-select:none;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:.95rem}
.card.red{color:#c0392b}
.card.selected{outline:3px solid #7dd3fc;z-index:50}
#msg{text-align:center;min-height:1.5em;margin:10px;font-weight:600}
footer{text-align:center;font-size:.75rem;opacity:.7;margin-top:12px}
