:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#1e3c72,#2a5298);background-attachment:fixed;color:#fff;overflow-x:hidden;touch-action:manipulation;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@supports (padding: env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}#root{width:100%;min-height:100vh}button,.card,.pile{touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.card.draggable{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.card,.pile,.empty-pile{will-change:transform;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}@media(max-width:768px){button{min-height:44px;min-width:44px}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body{-webkit-font-smoothing:subpixel-antialiased}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#1e3c72,#2a5298);min-height:100vh;color:#fff;overflow-x:hidden}.app{min-height:100vh;display:flex;flex-direction:column}.game-header{background:#0000004d;padding:1rem;display:flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000004d}.game-header h1{font-size:1.5rem;font-weight:700}.header-buttons{display:flex;gap:.5rem}.header-btn{background:#4caf50;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-weight:500}.header-btn:hover{background:#45a049;transform:translateY(-1px)}.header-btn:disabled{background:#666;cursor:not-allowed;transform:none}.reset-btn{background:#f44336}.reset-btn:hover{background:#da190b}.welcome-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.welcome-screen h2{font-size:2.5rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.welcome-screen p{font-size:1.1rem;margin-bottom:2rem;opacity:.9}.start-button{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4caf504d}.start-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.game-board{flex:1;padding:1rem;display:flex;flex-direction:column;gap:1rem;min-height:calc(100vh - 80px)}.top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.left-section,.foundation-piles{display:flex;gap:.5rem}.tableau{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;flex:1;overflow-x:auto;padding-bottom:1rem}.pile{width:60px;height:84px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative}.empty-pile{width:60px;height:84px;border:2px dashed rgba(255,255,255,.3);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;opacity:.6;background:#ffffff1a;transition:all .3s ease}.empty-pile:hover{border-color:#fff9;background:#fff3;transform:scale(1.02)}.empty-pile.valid-drop{border-color:#4caf50;background:#4caf5033;animation:bounce-glow 1s ease-in-out infinite alternate}@keyframes bounce-glow{0%{border-color:#4caf50;box-shadow:0 0 10px #4caf504d}to{border-color:#66bb6a;box-shadow:0 0 15px #4caf5080;transform:scale(1.05)}}.pile{position:relative;transition:all .3s ease}.pile.valid-drop-zone{background:#4caf504d;border:2px solid #4CAF50;border-radius:8px;animation:pulse-drop 1s ease-in-out infinite alternate}@keyframes pulse-drop{0%{box-shadow:0 0 10px #4caf5066}to{box-shadow:0 0 20px #4caf50b3}}.foundation-empty{font-size:.8rem}.tableau-empty{font-size:1.5rem}.tableau-pile{min-height:200px;position:relative}.pile-count{position:absolute;top:-8px;right:-8px;background:#f44;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.card{width:60px;height:84px;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000004d;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 49%,rgba(255,255,255,.1) 50%,transparent 51%);opacity:0;transition:opacity .3s ease}.card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 25px #0006;z-index:100}.card:hover:before{opacity:1}.card.selected{transform:translateY(-6px) scale(1.05);box-shadow:0 0 20px #ffd700cc,0 0 40px #ffd70066;border:2px solid #ffd700;animation:pulse-glow 1.5s ease-in-out infinite alternate}@keyframes pulse-glow{0%{box-shadow:0 0 20px #ffd700cc,0 0 40px #ffd70066}to{box-shadow:0 0 25px gold,0 0 50px #ffd70099}}.card.face-up{background:#fff;color:#333}.card.face-down{background:linear-gradient(45deg,#8b0000,#dc143c);color:#fff}.card-content{width:100%;height:100%;padding:4px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.card-corner{display:flex;flex-direction:column;align-items:center;font-size:.7rem;font-weight:700;line-height:1}.bottom-right{transform:rotate(180deg);align-self:flex-end}.card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-suit-large{font-size:1.5rem}.card-value{font-size:.7rem;margin-bottom:1px}.card-suit{font-size:.6rem}.card.red{color:#dc143c}.card.black{color:#333}.card-back{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:8px}.card-back-pattern{font-size:2rem;opacity:.8}.loading{flex:1;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff}.victory-modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .5s ease-in}.victory-content{background:linear-gradient(135deg,#667eea,#764ba2);padding:3rem;border-radius:20px;text-align:center;box-shadow:0 20px 60px #00000080;transform:scale(.8);animation:bounceIn .8s ease-out .2s forwards}.victory-content h2{font-size:2.5rem;margin-bottom:1rem;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.victory-content p{font-size:1.3rem;color:#fff;margin-bottom:1.5rem;opacity:.9}.victory-animation{font-size:2rem;animation:bounce 2s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounceIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.card.draggable{cursor:grab;touch-action:none}.card.draggable:active{cursor:grabbing}.card.dragging{opacity:.8;z-index:1000;transform:scale(1.1);box-shadow:0 10px 40px #0009}@media(max-width:768px)and (orientation:portrait){.game-header{padding:.8rem}.game-header h1{font-size:1.3rem}.pile{width:50px;height:70px}.empty-pile{width:50px;height:70px;font-size:1rem}.card{width:50px;height:70px}.tableau{gap:.3rem}.top-row{margin-bottom:.8rem}.left-section,.foundation-piles{gap:.3rem}.card-corner{font-size:.6rem}.card-suit-large{font-size:1.2rem}.card-back-pattern{font-size:1.5rem}}@media(max-width:950px)and (orientation:landscape){.game-header{padding:.5rem 1rem}.game-header h1{font-size:1.2rem}.header-btn{padding:.4rem .8rem;font-size:.85rem}.game-board{padding:.5rem;gap:.5rem;min-height:calc(100vh - 60px)}.top-row{margin-bottom:.5rem}.pile{width:45px;height:63px}.empty-pile{width:45px;height:63px;font-size:.9rem}.card{width:45px;height:63px}.tableau{grid-template-columns:repeat(7,1fr);gap:.25rem;overflow-y:auto;max-height:calc(100vh - 120px)}.tableau-pile{min-height:150px}.tableau-pile .card{top:calc(var(--card-index, 0) * 15px)}.left-section,.foundation-piles{gap:.25rem}.card-corner{font-size:.55rem}.card-suit-large{font-size:1rem}.card-back-pattern{font-size:1.3rem}.pile-count{width:18px;height:18px;font-size:.65rem}.victory-content{padding:2rem}.victory-content h2{font-size:2rem}.victory-content p{font-size:1.1rem}}@media(max-width:480px)and (orientation:portrait){.game-board{padding:.5rem}.pile{width:42px;height:59px}.empty-pile{width:42px;height:59px;font-size:.85rem}.card{width:42px;height:59px}.tableau{gap:.2rem}.card-corner{font-size:.5rem}.card-suit-large{font-size:.9rem}.welcome-screen h2{font-size:2rem}.start-button{padding:.8rem 1.5rem;font-size:1rem}}@media(max-width:700px)and (orientation:landscape){.game-header h1{font-size:1rem}.header-btn{padding:.3rem .6rem;font-size:.75rem}.pile{width:38px;height:53px}.empty-pile{width:38px;height:53px;font-size:.8rem}.card{width:38px;height:53px}.tableau{gap:.15rem;max-height:calc(100vh - 100px)}.tableau-pile{min-height:120px}.card-corner{font-size:.45rem;padding:1px}.card-suit-large{font-size:.85rem}.card-back-pattern{font-size:1.1rem}}
