*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#0d3d0d;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,transparent 100%);padding:16px 24px;text-align:center}.app-header h1{font-size:24px;font-weight:600;color:gold;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:2px}.app-main{flex:1}button{font-family:inherit}.card{--card-width: 80px;--card-height: 112px;--card-radius: 8px;--stack-offset: 0;width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:transform .15s ease,box-shadow .15s ease;flex-shrink:0}.card:hover{transform:translateY(-4px);z-index:10}.card:focus-visible{outline:3px solid #4a90d9;outline-offset:2px}.card.selected{transform:translateY(-8px);box-shadow:0 8px 20px #0006}.card.dragging{opacity:.7;transform:scale(1.05) rotate(2deg);z-index:100}.card-back{background:linear-gradient(135deg,#1a237e,#283593,#1a237e);border:2px solid #3949ab;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff1a}.card-back-pattern{position:absolute;inset:4px;border-radius:calc(var(--card-radius) - 4px);background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(255,255,255,.03) 5px,rgba(255,255,255,.03) 10px),repeating-linear-gradient(-45deg,transparent,transparent 5px,rgba(255,255,255,.03) 5px,rgba(255,255,255,.03) 10px);border:1px solid rgba(255,255,255,.1)}.card-face{background:linear-gradient(180deg,#fff,#f8f8f8);border:1px solid #d0d0d0;box-shadow:0 2px 8px #00000026,inset 0 1px #fffc}.card-face.red{color:#d32f2f}.card-face.black{color:#212121}.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;font-family:Georgia,serif;line-height:1}.top-left{top:4px;left:6px}.bottom-right{bottom:4px;right:6px;transform:rotate(180deg)}.card-rank{font-size:14px;font-weight:700}.card-suit{font-size:12px;margin-top:-2px}.card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-suit-large{font-size:32px}@media(max-width:768px){.card{--card-width: 60px;--card-height: 84px}.card-rank{font-size:11px}.card-suit{font-size:10px}.card-suit-large{font-size:24px}}@media(max-width:480px){.card{--card-width: 48px;--card-height: 67px}.card-rank{font-size:10px}.card-suit{font-size:8px}.card-suit-large{font-size:18px}}.game-board{display:flex;flex-direction:column;gap:24px;padding:24px;max-width:900px;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,#1b5e20,#2e7d32,#1b5e20);outline:none}.game-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.stock-waste-area{display:flex;gap:12px}.stock-pile,.waste-pile{position:relative;cursor:pointer}.pile-count{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:12px;color:#fffc;background:#0000004d;padding:2px 8px;border-radius:10px}.top-row-spacer{flex:1}.foundations-area{display:flex;gap:8px}.foundation-pile{cursor:pointer}.tableau-area{display:flex;justify-content:center;gap:8px;min-height:400px}.tableau-column{flex:1;max-width:90px;min-width:50px}.game-controls{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:16px}.control-btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;background:#ffffff26;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.control-btn:hover:not(:disabled){background:#ffffff40;transform:translateY(-2px)}.control-btn:active:not(:disabled){transform:translateY(0)}.control-btn:disabled{opacity:.4;cursor:not-allowed}.btn-new-game{background:linear-gradient(135deg,gold,#ffb300);color:#1b5e20;border:none}.btn-new-game:hover{background:linear-gradient(135deg,#ffeb3b,#ffc107)}.stats-bar{display:flex;justify-content:center;gap:24px;padding:12px;background:#0003;border-radius:8px}.stat{color:#ffffffe6;font-size:14px;font-weight:500}.win-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.win-modal{background:linear-gradient(135deg,#fff,#f5f5f5);padding:40px 60px;border-radius:16px;text-align:center;box-shadow:0 20px 60px #0006;animation:scaleIn .3s ease}.win-modal h2{font-size:32px;margin:0 0 16px;color:#1b5e20}.win-modal p{font-size:18px;margin:0 0 24px;color:#333}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.game-board{padding:16px;gap:16px}.foundations-area,.tableau-area{gap:4px}.control-btn{padding:8px 14px;font-size:13px}}@media(max-width:480px){.game-board{padding:12px;gap:12px}.game-top-row{flex-wrap:wrap}.stock-waste-area{order:1}.foundations-area{order:2;flex-wrap:wrap;justify-content:center;width:100%}.top-row-spacer{display:none}.win-modal{padding:30px 40px;margin:20px}.win-modal h2{font-size:24px}}.pile{--card-offset: 25px;--face-down-offset: 12px;position:relative;min-width:80px;min-height:112px}.pile-stacked{position:relative}.pile-stacked .pile-card-wrapper{position:absolute;left:0;top:0;transform:translateY(calc(var(--card-index) * var(--card-offset)))}.pile-spread{display:flex;flex-direction:row}.pile-spread .pile-card-wrapper{margin-left:calc(var(--card-index) * 20px - 20px)}.pile-spread .pile-card-wrapper:first-child{margin-left:0}.pile-single{position:relative}.pile-placeholder{width:80px;height:112px;border-radius:8px;border:2px dashed rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;background:#0000001a;transition:background .2s ease,border-color .2s ease}.pile-placeholder:hover{background:#00000026;border-color:#fff6}.placeholder-icon{font-size:28px;color:#fff6;font-family:Georgia,serif}.placeholder-foundation .placeholder-icon{color:#ffd70066}.placeholder-tableau .placeholder-icon{color:#ffffff4d}.placeholder-stock .placeholder-icon{font-size:24px}@media(max-width:768px){.pile{--card-offset: 20px;--face-down-offset: 10px;min-width:60px;min-height:84px}.pile-placeholder{width:60px;height:84px}.placeholder-icon{font-size:22px}}@media(max-width:480px){.pile{--card-offset: 18px;--face-down-offset: 8px;min-width:48px;min-height:67px}.pile-placeholder{width:48px;height:67px}.placeholder-icon{font-size:18px}}
