*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#0f5132,#198754);min-height:100vh;color:#fff}.game-container{max-width:1200px;margin:0 auto;padding:15px;min-height:100vh;display:flex;flex-direction:column}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;background:rgba(255,255,255,.1);padding:20px;border-radius:15px;backdrop-filter:blur(10px);box-shadow:0 4px 15px rgba(0,0,0,.2)}.game-info h1{font-size:28px;color:#fff;margin-bottom:8px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.difficulty-display{margin-bottom:12px;padding:5px 10px;background:rgba(255,255,255,.1);border-radius:6px;display:inline-block}.difficulty-label{font-size:12px;color:rgba(255,255,255,.8);margin-right:5px}.difficulty-value{font-size:14px;color:#fff;font-weight:700}.game-stats{display:flex;gap:20px}.stat-item{display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.1);padding:8px 12px;border-radius:8px;min-width:60px}.stat-label{font-size:12px;color:rgba(255,255,255,.8);margin-bottom:2px}.stat-value{font-size:16px;font-weight:700;color:#fff}.controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn-primary{padding:10px 20px;background:linear-gradient(45deg,#28a745,#20c997);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:.3s;box-shadow:0 2px 8px rgba(40,167,69,.3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(40,167,69,.4)}.btn-secondary{padding:8px 16px;background:rgba(255,255,255,.9);color:#0f5132;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px;transition:.3s}.btn-secondary:hover{background:#fff;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.btn-secondary:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.game-board{display:flex;flex-direction:column;gap:15px;flex:1;overflow-y:auto}.tableau{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;margin-bottom:20px;perspective:1000px}.column{min-height:350px;background:rgba(255,255,255,.1);border:2px dashed rgba(255,255,255,.3);border-radius:8px;padding:8px;position:relative;display:flex;flex-direction:column;align-items:center}.column.drop-zone{background:rgba(0,123,255,.2);border-color:#007bff;border-style:solid;animation:1s infinite pulse}@keyframes pulse{0%,100%{background-color:rgba(0,123,255,.2)}50%{background-color:rgba(0,123,255,.4)}}.card{width:100%;max-width:70px;height:98px;aspect-ratio:5/7;background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;flex-direction:column;position:absolute;cursor:pointer;user-select:none;transition:.3s,top .5s cubic-bezier(.4, 0, .2, 1);box-shadow:0 2px 8px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.05),inset 0 1px 0 rgba(255,255,255,.8);font-family:Georgia,'Times New Roman',serif;margin:0 auto}.card:not(.top-card){height:98px;overflow:visible;border-bottom:1px solid #dee2e6}.card:not(.top-card) .card-content{transform:scale(1);margin-top:0}.card:not(.top-card) .card-corner.top-left{font-size:12px;top:4px;left:4px}.card:not(.top-card) .card-corner.bottom-right{display:none}.card:not(.top-card) .card-center{font-size:18px;opacity:.6;font-weight:700}.card:not(.top-card):not(.face-down){border-top:2px solid #fff;background:#fff}.card.top-card{z-index:10}.card:hover{transform:translateY(-3px) rotateX(5deg);z-index:100;box-shadow:0 8px 20px rgba(0,0,0,.15),0 4px 10px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.9)}.card:hover:not(.face-down){border-color:#007bff;box-shadow:0 8px 20px rgba(0,123,255,.2),0 4px 10px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.9)}.card:not(.top-card):hover{transform:translateY(-8px) rotateX(15deg);z-index:150}.card:not(.top-card):hover:not(.face-down) .card-content{transform:scale(1);margin-top:0}.card:not(.top-card):hover:not(.face-down) .card-corner.bottom-right{display:flex}.card.dragging{opacity:.8;transform:rotate(3deg) translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.2),0 8px 15px rgba(0,0,0,.1)}.card.selected{box-shadow:0 0 15px rgba(255,215,0,.6),0 4px 10px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.9);transform:translateY(-1px)}.card.face-down{background:linear-gradient(135deg,#1e40af,#3b82f6,#1e40af);color:#fff;border:1px solid #1e3a8a}.card.face-down:not(.top-card){height:98px}.card-back-design{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.card-back-pattern{width:100%;height:100%;position:relative;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.1) 2px,transparent 2px),radial-gradient(circle at 75% 25%,rgba(255,255,255,.1) 2px,transparent 2px),radial-gradient(circle at 25% 75%,rgba(255,255,255,.1) 2px,transparent 2px),radial-gradient(circle at 75% 75%,rgba(255,255,255,.1) 2px,transparent 2px);background-size:20px 20px}.diamond-pattern{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;height:60%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px}.diamond{width:12px;height:12px;background:rgba(255,255,255,.3);transform:rotate(45deg);border-radius:2px;margin:auto}.card-back-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;opacity:.6;text-shadow:0 1px 2px rgba(0,0,0,.3)}.card.face-down.top-card .card-back-center{font-size:24px}.card.red .card-content{color:#dc2626}.card.black .card-content{color:#1f2937}.card.red .card-center,.card.red .card-corner{color:#dc2626;text-shadow:0 1px 3px rgba(220,38,38,.4)}.card.black .card-center,.card.black .card-corner{color:#000;text-shadow:0 1px 3px rgba(0,0,0,.4)}.card .card-content{width:100%;height:100%;position:relative;padding:4px;display:flex;flex-direction:column;justify-content:space-between}.card.top-card .card-content{padding:6px}.card-corner{display:flex;flex-direction:column;align-items:center;line-height:1;font-weight:700}.card-corner.top-left{position:absolute;top:4px;left:4px;font-size:11px}.card.top-card .card-corner.top-left{font-size:14px;top:6px;left:6px}.card-corner.bottom-right{position:absolute;bottom:4px;right:4px;font-size:11px;transform:rotate(180deg)}.card.top-card .card-corner.bottom-right{font-size:14px;bottom:6px;right:6px}.card-rank{font-size:inherit;margin-bottom:1px}.card-suit{font-size:.9em}.card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;opacity:.8;font-weight:700}.card.top-card .card-center{font-size:32px;opacity:.9}.card-top-right-suit{position:absolute;top:2px;right:2px;font-size:12px;font-weight:700;opacity:.9;z-index:10;background:rgba(255,255,255,.9);border-radius:2px;padding:1px 3px;line-height:1;min-width:14px;text-align:center}.card.red .card-top-right-suit{color:#dc2626;background:rgba(255,255,255,.95)}.card.black .card-top-right-suit{color:#000;background:rgba(255,255,255,.95)}.card.selected{box-shadow:0 0 10px gold;border-color:gold}.card.dragging{opacity:.7;transform:rotate(5deg);z-index:1000}.card.drag-preview{opacity:.5;background-color:#e0e0e0;border:2px dashed #999}.selected-group{background-color:rgba(255,215,0,.15);border:1px solid gold;border-radius:6px;box-shadow:0 0 8px rgba(255,215,0,.4),inset 0 1px 0 rgba(255,255,255,.3);transform:translateY(-1px)}@keyframes cardFlip{0%,100%{transform:rotateY(0)}50%{transform:rotateY(90deg)}}.card-flipping{animation:.6s ease-in-out cardFlip}.hint-source{box-shadow:0 0 20px rgba(0,255,0,.8),0 0 40px rgba(0,255,0,.4),inset 0 0 20px rgba(0,255,0,.2)!important;border:3px solid #0f0!important;animation:2s infinite hintPulse}.hint-target{background:rgba(0,255,0,.3)!important;border:3px dashed #0f0!important;animation:2s infinite hintTargetPulse}@keyframes hintPulse{0%,100%{box-shadow:0 0 20px rgba(0,255,0,.8),0 0 40px rgba(0,255,0,.4),inset 0 0 20px rgba(0,255,0,.2)}50%{box-shadow:0 0 30px #0f0,0 0 60px rgba(0,255,0,.6),inset 0 0 30px rgba(0,255,0,.3)}}@keyframes hintTargetPulse{0%,100%{background:rgba(0,255,0,.3)}50%{background:rgba(0,255,0,.5)}}.hint-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.9);color:#0f0;padding:20px 30px;border-radius:10px;font-size:18px;font-weight:700;z-index:1000;border:2px solid #0f0;box-shadow:0 0 20px rgba(0,255,0,.5);animation:5s ease-in-out hintMessageFade}@keyframes hintMessageFade{0%,100%{opacity:0;transform:translate(-50%,-50%) scale(.8)}10%,90%{opacity:1;transform:translate(-50%,-50%) scale(1)}}.auto-movable{border:2px solid #0ff!important;box-shadow:0 0 15px rgba(0,255,255,.6),0 0 30px rgba(0,255,255,.3),inset 0 0 15px rgba(0,255,255,.1)!important;animation:1.5s infinite autoMovePulse}@keyframes autoMovePulse{0%,100%{box-shadow:0 0 15px rgba(0,255,255,.6),0 0 30px rgba(0,255,255,.3),inset 0 0 15px rgba(0,255,255,.1)}50%{box-shadow:0 0 25px rgba(0,255,255,.8),0 0 50px rgba(0,255,255,.5),inset 0 0 25px rgba(0,255,255,.2)}}.bottom-area{display:flex;justify-content:space-between;align-items:flex-start;margin-top:15px;gap:20px;flex-shrink:0}.foundation{flex:1}.foundation-header{display:flex;align-items:center;gap:10px;margin-bottom:15px;color:#fff}.foundation-header h3{margin:0;font-size:18px}.foundation-count{font-size:14px;opacity:.8}.foundation-piles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.foundation-pile{width:100%;height:60px;background:rgba(255,255,255,.1);border:2px dashed rgba(255,255,255,.3);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;color:rgba(255,255,255,.5);font-size:11px;transition:.3s}.foundation-pile.complete{background:linear-gradient(45deg,gold,#ffed4e);color:#000;border:2px solid gold;box-shadow:0 4px 15px rgba(255,215,0,.3)}.stock-area{display:flex;flex-direction:column;align-items:center;gap:15px}.stock-info{display:flex;flex-direction:column;align-items:center;color:#fff}.stock-label{font-size:16px;font-weight:700;margin-bottom:5px}.stock-count{font-size:14px;opacity:.8}.stock-pile{display:flex;gap:5px;cursor:pointer;padding:10px;border-radius:10px;transition:.3s}.stock-pile:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}.stock-deck{width:40px;height:56px;background:linear-gradient(45deg,#1e3a8a,#3b82f6);border:2px solid #fff;border-radius:4px;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.3)}.stock-deck::after{content:'🂠';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;color:#fff}.stock-deck:not(:first-child){margin-left:-10px}.difficulty-modal,.game-over-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;color:#333;padding:30px;border-radius:10px;text-align:center;max-width:400px}.difficulty-modal .modal-content{background:linear-gradient(135deg,#fff,#f8f9fa);border:3px solid #28a745;padding:40px;border-radius:20px;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,.3);max-width:650px;width:90%}.difficulty-modal h2{color:#0f5132;margin-bottom:15px;font-size:36px;text-shadow:none;font-weight:700}.difficulty-modal p{color:#495057;margin-bottom:35px;font-size:20px;font-weight:500}.difficulty-options{display:flex;flex-direction:column;gap:15px}.difficulty-btn{background:linear-gradient(135deg,#fff,#fff);border:3px solid #28a745;border-radius:15px;padding:25px;cursor:pointer;transition:.3s;text-align:left;box-shadow:0 8px 25px rgba(0,0,0,.2);position:relative;overflow:hidden}.difficulty-btn:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(40,167,69,.3);border-color:#20c997;background:linear-gradient(135deg,#f8fff9,#e8f5e8)}.difficulty-btn:active{transform:translateY(-2px)}.difficulty-title{font-size:26px;font-weight:800;color:#0a3622;margin-bottom:12px;display:flex;align-items:center;gap:12px;text-shadow:0 1px 2px rgba(0,0,0,.1)}.difficulty-icon{font-size:22px;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .3))}.difficulty-desc{font-size:20px;color:#1a1a1a;margin-bottom:10px;font-weight:600;text-shadow:0 1px 1px rgba(0,0,0,.1)}.difficulty-info{font-size:16px;color:#333;font-style:italic;font-weight:500;text-shadow:0 1px 1px rgba(0,0,0,.05)}.difficulty-btn[data-difficulty="1"]{border-color:#28a745;background:linear-gradient(135deg,#f8fff9,#fff)}.difficulty-btn[data-difficulty="1"]:hover{border-color:#20c997;background:linear-gradient(135deg,#e8f5e8,#f0fff0)}.difficulty-btn[data-difficulty="2"]{border-color:#ffc107;background:linear-gradient(135deg,#fffdf5,#fff)}.difficulty-btn[data-difficulty="2"]:hover{border-color:#ffca2c;background:linear-gradient(135deg,#fff8e1,#fffbf0)}.difficulty-btn[data-difficulty="4"]{border-color:#dc3545;background:linear-gradient(135deg,#fff5f5,#fff)}.difficulty-btn[data-difficulty="4"]:hover{border-color:#e15759;background:linear-gradient(135deg,#ffe6e6,#fff0f0)}@media (max-width:768px){.difficulty-modal .modal-content{margin:20px;padding:30px 20px;max-width:90%}.difficulty-modal h2{font-size:28px;margin-bottom:12px}.difficulty-modal p{font-size:16px;margin-bottom:25px}.difficulty-btn{padding:20px 15px}.difficulty-title{font-size:20px;gap:8px}.difficulty-desc{font-size:16px}.difficulty-info{font-size:13px}.game-container{padding:10px}.tableau{grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:10px}.column{min-height:280px;padding:4px}.card{max-width:50px;height:70px}.card:not(.top-card){height:70px}.card:not(.top-card) .card-corner.top-left{font-size:8px;top:1px;left:2px}.foundation-piles{grid-template-columns:repeat(2,1fr);gap:5px}.foundation-pile{height:50px;font-size:10px}.header{flex-direction:column;gap:10px;padding:15px}.game-stats{gap:10px}.controls{flex-wrap:wrap;justify-content:center;gap:8px}.btn-primary,.btn-secondary{padding:8px 12px;font-size:12px}.bottom-area{flex-direction:column;gap:15px;margin-top:10px}.stock-deck{width:35px;height:49px}.stock-deck::after{font-size:14px}}.card-moving{z-index:1000;transition:none!important;pointer-events:none;position:fixed!important;box-shadow:0 12px 30px rgba(0,0,0,.4);transform:scale(1.05)}.card-flying{animation:.5s ease-out cardFly}@keyframes cardFly{0%{transform:scale(1.05) rotate(0);box-shadow:0 12px 30px rgba(0,0,0,.4)}25%{transform:scale(1.08) rotate(2deg);box-shadow:0 15px 35px rgba(0,0,0,.5)}75%{transform:scale(1.02) rotate(-1deg);box-shadow:0 8px 20px rgba(0,0,0,.3)}100%{transform:scale(1) rotate(0);box-shadow:0 4px 15px rgba(0,0,0,.2)}}.card-flip{animation:.8s ease-in-out cardFlip;transform-style:preserve-3d}@keyframes cardFlip{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(180deg) scale(1.05)}100%{transform:rotateY(360deg) scale(1)}}.card-dealing{animation:.4s ease-out cardDeal;z-index:999}@keyframes cardDeal{0%{transform:translateY(-100px) rotate(-10deg) scale(.8);opacity:.7}50%{transform:translateY(-20px) rotate(0) scale(1.05);opacity:.9}100%{transform:translateY(0) rotate(0) scale(1);opacity:1}}.card-to-foundation{animation:.5s ease-in-out cardToFoundation;z-index:1001}@keyframes cardToFoundation{0%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.9) rotate(180deg);opacity:.8}100%{transform:scale(.8) rotate(360deg);opacity:.6}}.card-highlight{animation:.3s ease-in-out cardHighlight}@keyframes cardHighlight{0%,100%{box-shadow:0 4px 15px rgba(0,0,0,.1)}50%{box-shadow:0 8px 25px rgba(255,215,0,.5);transform:translateY(-2px)}}.game-over-modal{animation:.5s ease-out modalFadeIn}.game-over-modal .modal-content{animation:.6s cubic-bezier(.68,-.55,.265,1.55) modalBounceIn}@keyframes modalFadeIn{0%{opacity:0;backdrop-filter:blur(0px)}100%{opacity:1;backdrop-filter:blur(5px)}}@keyframes modalBounceIn{0%{transform:scale(.3) rotate(-10deg);opacity:0}50%{transform:scale(1.05) rotate(2deg);opacity:.8}70%{transform:scale(.9) rotate(-1deg);opacity:.9}100%{transform:scale(1) rotate(0);opacity:1}}.modal-content h2{margin-bottom:15px;color:#0f5132;animation:2s ease-in-out infinite titleShine}@keyframes titleShine{0%,100%{text-shadow:2px 2px 4px rgba(15,81,50,.3)}50%{text-shadow:2px 2px 8px rgba(15,81,50,.6),0 0 10px rgba(255,215,0,.4)}}.modal-content p{margin-bottom:15px;font-size:16px}.modal-content button{padding:10px 20px;background:#0f5132;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:16px;font-weight:600}.modal-content button:hover{background:#198754}@media (max-width:480px){.tableau{grid-template-columns:repeat(5,1fr);gap:2px}.column{min-height:250px;padding:2px}.card{max-width:40px;height:56px}.card:not(.top-card){height:56px}.card:not(.top-card) .card-corner.top-left{font-size:7px;top:1px;left:1px}.game-stats{flex-wrap:wrap;gap:8px}.stat-item{min-width:50px;padding:6px 8px}}.hint-warning-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:10000;backdrop-filter:blur(5px)}.hint-warning-modal .modal-content{background:#fff;padding:30px;border-radius:12px;max-width:500px;width:90%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:.3s ease-out modalSlideIn}.hint-warning-modal h2{color:#f57c00;margin-bottom:20px;font-size:24px}.hint-warning-modal p{color:#333;font-size:16px;line-height:1.5;margin-bottom:25px;white-space:pre-line}@keyframes modalSlideIn{from{opacity:0;transform:translateY(-50px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}