*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{background-color:#0000004d;box-shadow:0 2px 10px #0003;color:#fff;padding:12px 20px;text-align:center}.App-header h1{font-size:2rem;margin:0;text-shadow:2px 2px 4px #0000004d}.error-message{animation:slideDown .3s ease-out;background-color:#f44336;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;left:50%;padding:15px 30px;position:fixed;top:100px;transform:translateX(-50%);z-index:1000}@keyframes slideDown{0%{opacity:0;top:-50px}to{opacity:1;top:100px}}.loading{align-items:center;color:#fff;display:flex;font-size:1.5rem;height:80vh;justify-content:center}.App-footer{margin-top:auto;padding:8px 16px;text-align:center}.App-footer .version{color:#fff6;font-family:monospace;font-size:.75rem;letter-spacing:.5px}.waiting-room{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;margin:20px;max-width:600px;padding:30px;text-align:center}@media (min-width:768px){.waiting-room{margin:40px auto}}.waiting-room h2{color:#333;margin-bottom:10px}.waiting-room p{color:#666;margin-bottom:30px}.players-waiting{margin:30px 0}.players-waiting h3{color:#555;margin-bottom:15px}.players-waiting ul{list-style:none;padding:0}.players-waiting li{background:#f5f5f5;border-radius:8px;color:#333;margin:5px 0;padding:10px}.game-board{display:flex;flex-direction:column;margin:0;min-height:calc(100vh - 80px);padding:10px;width:100%}.game-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:10px;padding:10px 20px}.game-header h3{color:#333;margin:0}.turn-indicator{background:#e0e0e0;border-radius:8px;color:#666;font-weight:600;padding:10px 20px}.turn-indicator.my-turn{animation:pulse 2s infinite;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #667eeab3}50%{box-shadow:0 0 0 10px #667eea00}}.discard-instruction{animation:blink 1s infinite;background:#ff9800;border-radius:8px;color:#fff;font-weight:600;padding:10px 20px}@keyframes blink{0%,to{opacity:1}50%{opacity:.7}}.btn-leave-game{background:#e53e3e;border:none;border-radius:6px;box-shadow:0 2px 8px #e53e3e4d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .3s}.btn-leave-game:hover{background:#c53030;box-shadow:0 4px 12px #e53e3e66;transform:translateY(-2px)}.btn-leave-game:active{transform:translateY(0)}.other-players{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.opponent-info{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;flex:1 1;min-width:200px;padding:10px;transition:opacity .3s,filter .3s}.opponent-info.inactive{filter:grayscale(30%);opacity:.5}.opponent-info h4{color:#333;margin:0 0 15px}.disconnected-indicator{color:#ff6b6b;font-size:.9em;font-weight:600}.opponent-cards{display:flex;flex-wrap:wrap;gap:10px}.card-pile{align-items:center;display:flex;flex-direction:column;gap:5px}.pile-label{color:#666;font-size:.85rem;font-weight:500}.discard-piles-opponent{display:flex;gap:5px}.card-pile-small{align-items:center;display:flex;flex-direction:column;gap:3px}.pile-label-small{color:#666;font-size:.7rem}.discard-pile-stack-small{align-items:center;display:flex;flex-direction:column;position:relative}.card-in-pile-small{position:relative}.empty-pile-small{align-items:center;border:2px dashed #ccc;border-radius:6px;color:#999;display:flex;font-size:.7rem;height:70px;justify-content:center;margin:10px auto 0;padding:5px;text-align:center;width:50px}.building-piles{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;flex:1 1;margin-bottom:10px;padding:15px}.building-piles h3{color:#333;font-size:1.2rem;margin:0 0 10px;text-align:center}.piles-container{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:600px}@media (max-width:768px){.piles-container{gap:8px;grid-template-columns:repeat(4,1fr);max-width:100%}}.building-pile{align-items:center;background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;justify-content:center;min-height:160px;padding:10px;text-align:center;transition:all .3s;width:100%}.building-pile.clickable{border-color:#667eea;cursor:pointer}.building-pile.clickable:hover{background:#f0f0ff;box-shadow:0 8px 16px #667eea4d;transform:translateY(-5px)}.pile-info{color:#555;font-weight:600;margin-bottom:10px}.next-card{color:#667eea;display:block;font-size:.85rem;margin-top:5px}.pile-stack{position:relative}.pile-count{color:#999;font-size:.85rem;margin-top:10px}.empty-pile{align-items:center;border:3px dashed #ccc;border-radius:8px;color:#999;display:flex;font-weight:500;height:120px;justify-content:center}.empty-pile-text{padding:0 10px}.player-area{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:15px;transition:opacity .3s,filter .3s}.player-area.inactive{filter:grayscale(30%);opacity:.5}.player-area h3{color:#333;font-size:1.2rem;margin:0 0 10px}.player-piles{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.stockpile-section{flex:1 1;min-width:150px}.discard-piles-section{flex:2 1;min-width:300px}.discard-piles-container{display:flex;flex-wrap:nowrap;gap:8px}.discard-pile{flex:1 1;min-width:90px;text-align:center}.discard-pile.discard-mode{animation:highlight 1s infinite;cursor:pointer}@keyframes highlight{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.discard-pile-stack{align-items:center;display:flex;flex-direction:column;margin-top:10px;position:relative}.card-in-pile{position:relative;transition:transform .2s,filter .2s}.card-in-pile.top-card{cursor:pointer;z-index:10}.card-in-pile.top-card:hover{transform:translateY(-10px)!important}.card-in-pile.top-card.selected{filter:brightness(1.2);transform:translateY(-15px)!important}.card-clickable{cursor:pointer;display:inline-block;transition:transform .2s}.card-clickable:hover{transform:translateY(-10px)}.card-clickable.selected{filter:brightness(1.2);transform:translateY(-15px)}.card-clickable.disabled{cursor:not-allowed;opacity:.6}.empty-message{background:#4caf50;border-radius:8px;color:#fff;font-weight:600;padding:20px;text-align:center}.actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:15px}.btn-end-turn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 28px;transition:all .3s}.btn-end-turn:hover{box-shadow:0 6px 16px #667eea99;transform:translateY(-2px)}.selected-card-info{align-items:center;background:#f5f5ff;border:2px solid #667eea;border-radius:8px;display:flex;gap:10px;padding:10px 20px}.selected-card-info button{background:#fff;border:2px solid #667eea;border-radius:6px;color:#667eea;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .3s}.selected-card-info button:hover{background:#667eea;color:#fff}.settings-toggle{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;padding:10px 20px;transition:all .3s}.settings-toggle:hover{border-color:#667eea}.settings-toggle label{align-items:center;color:#555;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;margin:0}.settings-toggle input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.game-over-overlay{align-items:center;background:#000c;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.game-over-message{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000004d;padding:60px;text-align:center}.game-over-message h2{color:#333;font-size:3rem;margin-bottom:20px}.game-over-message p{color:#667eea;font-size:1.5rem;font-weight:600}@media (max-width:768px){.player-piles{gap:10px}.discard-piles-container{gap:5px}.discard-pile{min-width:70px}.stockpile-section{min-width:100px}.discard-piles-section{min-width:220px}.player-area{padding:12px}.player-area h3{font-size:1.1rem;margin-bottom:8px}.pile-label{font-size:.8rem}.building-pile{min-height:140px;padding:8px}.building-piles{padding:12px}.building-piles h3{font-size:1.1rem;margin-bottom:8px}.pile-info{font-size:.85rem}.next-card{font-size:.8rem}}@media (max-width:640px){.piles-container{gap:6px;max-width:100%}.player-piles{gap:8px}.discard-piles-container{gap:4px}.discard-pile{min-width:60px}.stockpile-section{min-width:80px}.discard-piles-section{min-width:200px}.player-area{padding:10px}.pile-label{font-size:.75rem}.pile-label-small{font-size:.65rem}.actions{gap:8px}.settings-toggle{padding:8px 15px}.settings-toggle label{font-size:.85rem}.card-in-pile{margin-top:-42px!important}.card-in-pile:first-child{margin-top:0!important}.building-pile{min-height:130px;padding:6px}.building-piles{gap:8px;padding:10px}.pile-info{font-size:.8rem}.next-card,.pile-count{font-size:.75rem}.empty-pile{min-height:100px}.empty-pile-text{font-size:.75rem}}@media (max-width:480px){.game-board{padding:5px}.game-header{flex-direction:column;gap:10px;padding:10px}.building-pile{min-height:115px;padding:5px}.building-piles{padding:8px}.building-piles h3{font-size:1rem;margin-bottom:6px}.pile-info{font-size:.75rem}.next-card{font-size:.7rem;margin-top:3px}.pile-count{font-size:.7rem;margin-top:5px}.empty-pile{font-size:.7rem;min-height:90px}.piles-container{gap:5px;max-width:100%}.player-piles{flex-direction:column;gap:10px}.discard-piles-section,.stockpile-section{min-width:0;min-width:auto;width:100%}.discard-piles-container{gap:3px;justify-content:space-between}.discard-pile{flex:1 1;min-width:0;min-width:auto}.opponent-info{min-width:0;min-width:auto;padding:8px}.player-area{padding:8px}.player-area h3{font-size:1rem;margin-bottom:6px}.pile-label{font-size:.7rem}.pile-label-small{font-size:.6rem}.actions{gap:6px;margin-top:10px}.btn-end-turn{font-size:.9rem;padding:10px 20px}.settings-toggle{padding:6px 12px}.settings-toggle label{font-size:.8rem;gap:6px}.settings-toggle input[type=checkbox]{height:16px;width:16px}.selected-card-info{gap:8px;padding:8px 15px}.selected-card-info button{font-size:.85rem;padding:6px 12px}.card-in-pile{margin-top:-38px!important}.card-in-pile:first-child{margin-top:0!important}}@media (max-height:700px) and (orientation:landscape){.game-board{padding:5px}.building-piles,.game-header,.player-area{margin-bottom:5px;padding:10px}.building-pile{min-height:120px}.other-players{margin-bottom:5px}}.card{border-radius:8px;box-shadow:0 2px 8px #0003;transition:all .3s;-webkit-user-select:none;user-select:none}.card.normal{height:110px;width:80px}.card.small{height:70px;width:50px}.card.visible{background:#fff;border:3px solid #333}.card.visible.blue-card{background:linear-gradient(135deg,#4a90e2,#5ba3f5);border-color:#2563eb}.card.visible.blue-card .card-corner,.card.visible.blue-card .card-value-center{color:#fff}.card.visible.green-card{background:linear-gradient(135deg,#48bb78,#5cd68a);border-color:#16a34a}.card.visible.green-card .card-corner,.card.visible.green-card .card-value-center{color:#fff}.card.visible.red-card{background:linear-gradient(135deg,#e53e3e,#f56565);border-color:#dc2626}.card.visible.red-card .card-corner,.card.visible.red-card .card-value-center{color:#fff}.card.visible.wild-card{background:linear-gradient(135deg,gold,#ffed4e);border-color:#ff9800}.card.hidden{background:linear-gradient(135deg,#e74c3c,#c0392b);border:3px solid #a93226}.card-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:8px;position:relative}.card-corner{color:#333;font-size:1rem;font-weight:700;line-height:1;position:absolute}.card-corner-top{right:4px;top:4px}.card-corner-bottom{bottom:4px;left:4px;transform:rotate(180deg)}.card-value-center{color:#333;font-size:2.5rem;font-weight:700}.card.small .card-corner{font-size:.65rem}.card.small .card-corner-top{right:3px;top:3px}.card.small .card-corner-bottom{bottom:3px;left:3px}.card.small .card-value-center{font-size:1.5rem}.wild-indicator{bottom:22px;color:#ff9800;font-size:.6rem;font-weight:700;letter-spacing:1.5px;position:absolute;text-transform:uppercase}.card.small .wild-indicator{bottom:14px;font-size:.45rem;letter-spacing:1px}.card-back{align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative}.card-pattern{background-image:repeating-linear-gradient(45deg,#0000,#0000 10px,#ffffff1a 0,#ffffff1a 20px);height:100%;width:100%}.card:hover{transform:scale(1.05)}@media (max-width:768px){.card.normal{height:96px;width:70px}.card-value-center{font-size:2.2rem}.card-corner{font-size:.9rem}}@media (max-width:640px){.card.normal{height:82px;width:60px}.card.small{height:62px;width:45px}.card-value-center{font-size:1.8rem}.card.small .card-value-center{font-size:1.3rem}.card-corner{font-size:.8rem}.card.small .card-corner{font-size:.6rem}.wild-indicator{bottom:18px;font-size:.5rem}.card.small .wild-indicator{bottom:12px;font-size:.4rem}}@media (max-width:480px){.card.normal{height:75px;width:55px}.card.small{height:55px;width:40px}.card-value-center{font-size:1.6rem}.card.small .card-value-center{font-size:1.1rem}.card-corner{font-size:.75rem}.card.small .card-corner{font-size:.55rem}.card-content{padding:6px}.wild-indicator{bottom:16px;font-size:.45rem;letter-spacing:1px}.card.small .wild-indicator{bottom:10px;font-size:.35rem;letter-spacing:.5px}}.player-hand{background:#f5f5f5;border-radius:8px;margin-top:15px;padding:15px}.hand-label{color:#555;font-size:1rem;font-weight:600;margin-bottom:10px;text-align:center}.hand-cards{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.hand-card{cursor:pointer;position:relative;transition:all .3s}.hand-card:hover{transform:translateY(-15px)}.hand-card.selected{transform:translateY(-20px) scale(1.1)}.hand-card.selected:after{border-bottom:8px solid #667eea;border-left:8px solid #0000;border-right:8px solid #0000;bottom:-10px;content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.hand-card.disabled{cursor:not-allowed;opacity:.5}.hand-card.disabled:hover{transform:none}.empty-hand{color:#999;font-style:italic;padding:40px;text-align:center}@media (max-width:768px){.hand-cards{gap:6px}.player-hand{margin-top:12px;padding:12px}.hand-label{font-size:.95rem;margin-bottom:8px}}@media (max-width:640px){.hand-cards{gap:5px}.player-hand{margin-top:10px;padding:10px}.hand-label{font-size:.9rem;margin-bottom:6px}.hand-card:hover{transform:translateY(-12px)}.hand-card.selected{transform:translateY(-16px) scale(1.08)}}@media (max-width:480px){.hand-cards{gap:4px}.player-hand{margin-top:8px;padding:8px}.hand-label{font-size:.85rem;margin-bottom:5px}.hand-card:hover{transform:translateY(-10px)}.hand-card.selected{transform:translateY(-14px) scale(1.05)}.hand-card.selected:after{border-bottom-width:6px;border-left-width:6px;border-right-width:6px}}.lobby{align-items:center;display:flex;justify-content:center;min-height:80vh;padding:20px}.lobby-container{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;max-width:500px;padding:40px;width:100%}.lobby-container h2{color:#333;margin-bottom:30px;text-align:center}.lobby-options{margin-top:20px}.create-room-form,.join-room-form{display:flex;flex-direction:column;gap:20px}.create-room-form h3,.join-room-form h3{color:#555;margin-bottom:10px;text-align:center}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#666;font-size:.9rem;font-weight:500}.form-group label .label-hint{color:#999;display:block;font-size:.75rem;font-weight:400;margin-top:4px}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .3s}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none}.form-group input::placeholder{color:#aaa}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:14px 28px;text-transform:uppercase;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea66;color:#fff}.btn-primary:hover{box-shadow:0 6px 16px #667eea99;transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #667eea;color:#667eea}.btn-secondary:hover{background:#f5f5ff}.divider{color:#999;margin:20px 0;position:relative;text-align:center}.divider:after,.divider:before{background:#ddd;content:"";height:1px;position:absolute;top:50%;width:40%}.divider:before{left:0}.divider:after{right:0}.stockpile-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#667eea 0,#764ba2);border:none;border-radius:4px;cursor:pointer;height:8px;outline:none;padding:0;width:100%}.stockpile-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:3px solid #667eea;border-radius:50%;box-shadow:0 2px 8px #667eea66;cursor:pointer;height:20px;-webkit-transition:all .3s;transition:all .3s;width:20px}.stockpile-slider::-webkit-slider-thumb:hover{box-shadow:0 4px 12px #667eea99;transform:scale(1.2)}.stockpile-slider::-moz-range-thumb{background:#fff;border:3px solid #667eea;border-radius:50%;box-shadow:0 2px 8px #667eea66;cursor:pointer;height:20px;-moz-transition:all .3s;transition:all .3s;width:20px}.stockpile-slider::-moz-range-thumb:hover{box-shadow:0 4px 12px #667eea99;transform:scale(1.2)}
/*# sourceMappingURL=main.f05f7f45.css.map*/