*{box-sizing:border-box;margin:0;padding:0}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%;width:100%;overflow-x:hidden}body{margin:0;padding:0;min-height:100vh}h1{font-size:2rem;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:background-color .25s,transform .1s}button:hover{background-color:#e9e9e9}button:active{transform:scale(.98)}button:focus,button:focus-visible{outline:2px solid #1e4785;outline-offset:2px}.card{width:100px;height:140px;border-radius:8px;box-shadow:0 2px 4px #0003;background-color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;-webkit-user-select:none;user-select:none;transition:transform .2s ease,box-shadow .2s ease}.card.face-down{background-color:#2c5aa0;background-image:repeating-linear-gradient(45deg,#2c5aa0,#2c5aa0 10px,#1e4785 10px,#1e4785 20px)}.card:hover{transform:translateY(-5px);box-shadow:0 4px 8px #0000004d;cursor:pointer}.card.red{color:#d40000}.card.black{color:#000}.card-corner{padding:5px;display:flex;flex-direction:column;align-items:center}.top-left{position:absolute;top:5px;left:5px}.bottom-right{position:absolute;bottom:5px;right:5px;transform:rotate(180deg)}.card-value{font-size:16px;font-weight:700}.card-suit{font-size:16px}.card-center{font-size:40px;display:flex;justify-content:center;align-items:center;flex-grow:1}.card-back{width:100%;height:100%;border-radius:8px}.card-back.blue{background-color:#2c5aa0;background-image:repeating-linear-gradient(45deg,#2c5aa0,#2c5aa0 10px,#1e4785 10px,#1e4785 20px)}.card-back.red{background-color:#a02c2c;background-image:repeating-linear-gradient(45deg,#a02c2c,#a02c2c 10px,#851e1e 10px,#851e1e 20px)}.card-back.green{background-color:#2ca05a;background-image:repeating-linear-gradient(45deg,#2ca05a,#2ca05a 10px,#1e8547 10px,#1e8547 20px)}.card-back.gold{background-color:#d4af37;background-image:repeating-linear-gradient(45deg,#d4af37,#d4af37 10px,#b8941e 10px,#b8941e 20px)}.game-stats{display:flex;gap:20px;color:#fff;font-size:16px;align-items:center}.stat-item{display:flex;flex-direction:column;align-items:center;background-color:#0003;padding:5px 10px;border-radius:4px;min-width:80px}.stat-label{font-size:12px;opacity:.8}.stat-value{font-weight:700;font-size:18px}.game-won-indicator{background-color:gold;color:#333;padding:5px 15px;border-radius:20px;font-weight:700;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #ffd700b3}70%{transform:scale(1.05);box-shadow:0 0 0 10px #ffd70000}to{transform:scale(1);box-shadow:0 0 #ffd70000}}.game-controls{display:flex;gap:10px;margin-bottom:20px}.control-button{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#ffffffe6;border:none;border-radius:8px;padding:8px 12px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0003}.control-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 4px 8px #0000004d}.control-button:active:not(:disabled){transform:translateY(-1px)}.control-button:disabled{opacity:.5;cursor:not-allowed}.control-icon{font-size:20px;margin-bottom:4px}.control-label{font-size:12px;font-weight:500}@media (max-width: 768px){.game-controls{flex-wrap:wrap;justify-content:center}.control-button{flex:1 1 calc(33.333% - 10px);min-width:80px}}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.settings-modal{background-color:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #e0e0e0}.settings-header h2{margin:0;color:#333}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666}.close-button:hover{color:#333}.settings-content{padding:20px;flex-grow:1}.settings-section{margin-bottom:30px}.settings-section h3{margin-top:0;margin-bottom:15px;color:#333;border-bottom:1px solid #e0e0e0;padding-bottom:8px}.theme-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px}.theme-option{display:flex;flex-direction:column;align-items:center;padding:15px;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.theme-option:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0003}.theme-option.selected{box-shadow:0 0 0 3px #1e4785,0 5px 15px #0003}.theme-card-back{width:60px;height:84px;border-radius:4px;margin-bottom:10px;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 4px #0003}.theme-card-pattern{width:50px;height:74px;border-radius:3px;background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(255,255,255,.2) 5px,rgba(255,255,255,.2) 10px)}.difficulty-options{display:flex;flex-direction:column;gap:10px}.difficulty-option{padding:15px;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:background-color .2s}.difficulty-option:hover{background-color:#f5f5f5}.difficulty-option.selected{border-color:#1e4785;background-color:#1e47851a}.difficulty-option h4{margin:0 0 5px;color:#333}.difficulty-option p{margin:0;color:#666;font-size:14px}.settings-footer{padding:15px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:10px}.apply-button,.cancel-button{padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.apply-button{background-color:#1e4785;color:#fff;border:none}.apply-button:hover{background-color:#163a6c}.cancel-button{background-color:#f0f0f0;color:#333;border:1px solid #ddd}.cancel-button:hover{background-color:#e0e0e0}.game-board{display:flex;flex-direction:column;padding:20px;background-color:#2a7e43;min-height:100vh;box-sizing:border-box;transition:background-color .3s ease}.game-header{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}@media (min-width: 768px){.game-header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.top-row{display:flex;margin-bottom:30px}.stock,.waste{width:100px;height:140px;margin-right:20px}.empty-pile{width:100px;height:140px;border-radius:8px;border:2px dashed #fff;display:flex;justify-content:center;align-items:center;color:#fff;font-size:24px;cursor:pointer}.foundations{display:flex;margin-left:auto}.foundation{width:100px;height:140px;margin-left:10px;border-radius:8px;border:2px dashed #fff}.empty-foundation{width:100%;height:100%;border-radius:8px;display:flex;justify-content:center;align-items:center;color:#ffffff80}.tableau-row{display:flex;justify-content:space-between}.tableau-column{width:100px;min-height:140px;position:relative;margin-right:10px}.tableau-column:last-child{margin-right:0}.tableau-card{position:absolute;width:100px}.empty-tableau{width:100px;height:140px;border-radius:8px;border:2px dashed #fff}.game-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;padding:30px;border-radius:10px;text-align:center;box-shadow:0 4px 20px #0000004d;z-index:1000;min-width:300px}.game-message h2{margin-top:0}.game-message button{padding:10px 20px;color:#fff;border:none;border-radius:5px;font-size:16px;cursor:pointer;margin-top:20px;transition:background-color .2s}.win-message h2{color:#2a7e43}.win-message button{background-color:#2a7e43}.win-message button:hover{background-color:#236b38}.lose-message h2{color:#a02c2c}.lose-message button{background-color:#a02c2c}.lose-message button:hover{background-color:#851e1e}.pause-message h2{color:#1e4785}.pause-message button{background-color:#1e4785}.pause-message button:hover{background-color:#163a6c}#root{width:100%;height:100%;margin:0;padding:0}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:#1e4785;color:#fff;padding:1rem;text-align:center;box-shadow:0 2px 4px #0003}.app-header h1{margin:0;font-size:1.8rem}main{flex:1;display:flex;flex-direction:column}.app-footer{background-color:#1e4785;color:#fff;padding:.5rem;text-align:center;font-size:.8rem}
