*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow-x:hidden;margin:0;padding:0}#root{width:100%;min-height:100vh}.card{position:absolute;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s ease,box-shadow .15s ease;border-radius:8px}.card:hover:not(.covered):not(.matched){transform:scale(1.05);z-index:50!important}.card.covered{cursor:default;opacity:.92}.card.face-up .card-back{display:none}.card:not(.face-up) .card-face{display:none}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;border-radius:8px;border:1px solid #ccc;display:flex;flex-direction:column;justify-content:space-between;padding:4px 6px;box-sizing:border-box;pointer-events:none}.card-corner{display:flex;flex-direction:column;align-items:center;line-height:1;gap:0}.card-corner.bottom-right{align-self:flex-end;transform:rotate(180deg)}.card-rank{font-size:14px;font-weight:700;line-height:1}.card-pip{font-size:12px;line-height:1}.card-center{font-size:36px;text-align:center;line-height:1;flex-shrink:0}.card-pip.red,.card-center.red{color:#c62828}.card-pip.black,.card-center.black{color:#1a1a1a}.card-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(0,0,0,.15)}.card-pattern-overlay{width:82%;height:82%;border:2px solid rgba(255,255,255,.3);border-radius:5px;box-shadow:inset 0 0 12px #ffffff0f}.card.selected{box-shadow:0 0 0 3px gold,0 0 16px #ffd700b3!important;z-index:60!important}.card.matched{animation:matchFade .4s ease-out forwards;pointer-events:none}@keyframes matchFade{0%{transform:scale(1.05);opacity:1}to{transform:scale(.9);opacity:0;visibility:hidden}}.card.hint-highlight{animation:hintPulse .8s infinite;z-index:100!important}@keyframes hintPulse{0%,to{box-shadow:0 0 0 3px gold}50%{box-shadow:0 0 0 6px gold,0 0 20px #ffd70099}}.game-controls{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.control-btn{background-color:gold;color:#222;border:none;padding:10px 24px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #0000004d;min-width:100px}.control-btn:hover:not(:disabled){background-color:#ffc107;transform:translateY(-1px);box-shadow:0 3px 8px #00000059}.control-btn:active:not(:disabled){transform:translateY(0)}.control-btn:disabled{background-color:#bbb;color:#555;cursor:not-allowed;opacity:.75}.scoreboard{display:flex;align-items:center;justify-content:center;flex:1;color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,.3)}.scoreboard-display{font-size:28px;font-weight:600}.victory-screen{text-align:center;padding:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff}.victory-screen h1{font-size:36px;margin-bottom:30px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.victory-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:30px}.stat-item{background:#fff3;padding:15px;border-radius:10px}.stat-label{display:block;font-size:14px;margin-bottom:8px;opacity:.9}.stat-value{display:block;font-size:28px;font-weight:700}.stat-value.score{color:gold}.stat-value.time{color:#fff}.stat-value.moves{color:#4caf50}.stat-value.rating{color:#8bc34a}.stat-value.efficiency{color:#2196f3}.victory-buttons{display:flex;gap:15px;justify-content:center}.btn-primary,.btn-secondary{padding:12px 30px;font-size:16px;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-primary{background-color:gold;color:#333}.btn-primary:hover{background-color:#ffc107;transform:translateY(-2px)}.btn-secondary{background-color:#ffffff4d;color:#fff}.btn-secondary:hover{background-color:#fff6}.app{min-height:100vh;width:100%;position:relative;overflow:hidden;display:flex;flex-direction:column}.game-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(180deg,#4a9bd9,#6ab8e6 30%,#8fd1f2 55%,#3ab4b8 75%,#2a9d9f)}.game-container{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;width:100%;min-height:100vh}.game-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;gap:16px;flex-shrink:0}.start-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px}.start-screen h1{font-size:48px;color:#fff;text-shadow:2px 3px 6px rgba(0,0,0,.3);margin-bottom:16px}.start-screen p{font-size:18px;color:#ffffffe6;margin-bottom:32px;text-align:center}.btn-primary{background:gold;color:#222;border:none;padding:14px 36px;font-size:18px;font-weight:700;border-radius:10px;cursor:pointer;box-shadow:0 4px 12px #00000040;transition:all .2s ease}.btn-primary:hover{background:#ffc107;transform:translateY(-2px);box-shadow:0 6px 20px #00000059}.game-board{position:relative;flex:1;min-height:400px;width:100%;overflow:visible}.tableau-cards{position:absolute;top:0;left:0;width:100%;height:100%}.stock-pile{position:absolute;top:16px;left:20px;width:80px;height:116px;z-index:30;border-radius:8px;border:2px dashed rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}.stock-pile.clickable{cursor:pointer}.stock-pile.clickable:hover{border-color:#fff9;background:#ffffff0d}.stock-stack{position:relative;width:72px;height:100px}.stock-card-back{position:absolute;width:72px;height:100px;background:linear-gradient(135deg,#c62828,#b71c1c,#8e0000);border-radius:6px;border:1px solid rgba(255,255,255,.15);box-shadow:0 1px 4px #0000004d}.stock-card-back:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1.5px solid rgba(255,255,255,.2);border-radius:3px}.stock-count{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-size:12px;color:#ffffffb3;font-weight:600}.stock-recycle{font-size:36px;color:#fff9;line-height:1}.stock-empty{width:72px;height:100px;border-radius:6px;border:2px dashed rgba(255,255,255,.15)}.drawn-card-area{position:absolute;top:16px;left:115px;width:96px;height:134px;z-index:30}.waste-area{position:absolute;top:145px;left:20px;width:80px;height:40px;z-index:25;display:flex;align-items:center;justify-content:center;border-radius:6px;border:2px dashed rgba(255,255,255,.15)}.waste-count{font-size:14px;color:#ffffff80;font-weight:600}.instruction-bar{padding:10px 20px;background:#00000073;color:#fff;text-align:center;font-size:14px;font-weight:500;flex-shrink:0}
