body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(135deg,#8b4513,sienna 50%,peru);height:100vh;margin:0;padding:0}*{box-sizing:border-box}body{background:linear-gradient(135deg,#8b4513,sienna 50%,peru);margin:0;padding:0}.App h1{color:#fff;font-size:2.5rem;margin-bottom:30px;text-shadow:2px 2px 4px #0000004d}.room-manager{align-items:center;background:linear-gradient(135deg,#8b4513,sienna 50%,peru);color:#fff;display:flex;font-family:Arial,sans-serif;justify-content:center;min-height:100vh}.room-container{background:#8b4513e6;border:3px solid #fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;max-width:500px;padding:40px;text-align:center;width:90%}.room-container h2{font-size:36px;font-weight:700;margin:0 0 30px;text-shadow:2px 2px 4px #00000080}.player-setup input{background:#ffffffe6;border:2px solid #fff;border-radius:8px;box-sizing:border-box;color:#333;font-size:18px;margin-bottom:20px;padding:15px;width:100%}.room-actions{margin:30px 0}.create-btn,.join-btn{background:#4caf50;border:2px solid #fff;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;margin-bottom:15px;padding:15px;transition:all .3s ease;width:100%}.create-btn:hover:not(:disabled),.join-btn:hover:not(:disabled){background:#45a049;box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.create-btn:disabled,.join-btn:disabled{background:#666;cursor:not-allowed;opacity:.6}.divider{align-items:center;display:flex;justify-content:center;margin:30px 0;position:relative}.divider:before{background:#ffffff80;content:"";height:2px;left:0;position:absolute;right:0;top:50%;z-index:0}.divider span{background:#8b4513;color:#fff;font-size:16px;font-weight:700;letter-spacing:1px;padding:0 15px;position:relative;z-index:1}.join-section input{background:#ffffffe6;border:2px solid #fff;box-sizing:border-box;color:#333;font-size:18px;letter-spacing:2px;margin-bottom:15px;text-align:center;width:100%}.error-message,.join-section input{border-radius:8px;font-weight:700;padding:15px}.error-message{background:#f44336;border:2px solid #d32f2f;color:#fff;margin:20px 0}.instructions{background:#0003;border:1px solid #ffffff4d;border-radius:8px;margin-top:30px;padding:20px;text-align:left}.instructions p{font-size:14px;margin:8px 0;opacity:.9}.room-header{background:#0000004d;border-bottom:2px solid #fff;justify-content:space-between;padding:10px 20px}.room-header,.room-info{align-items:center;display:flex}.room-info{gap:15px}.game-timer,.room-badge,.room-players,.round-counter{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;font-size:14px;font-weight:700;padding:6px 12px}.game-timer{border-color:#ffd7004d;color:gold;font-family:Courier New,Courier,monospace;font-size:16px;min-width:90px;text-align:center}.round-counter{border-color:#00ff004d;color:#0f0}.leave-room-btn{background:#f44336;border:2px solid #fff;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;padding:8px 16px;transition:all .3s ease}.leave-room-btn:hover{background:#d32f2f;transform:translateY(-2px)}.waiting-room{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;text-align:center}.waiting-room h3{font-size:32px;margin-bottom:20px}.waiting-room ul{list-style:none;margin:20px 0;padding:0}.waiting-room li{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:5px;margin:5px 0;padding:10px}.start-game-btn{background:#4caf50;border:2px solid #fff;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:15px 30px;transition:all .3s ease}.start-game-btn:hover{background:#45a049;box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.played-cards{gap:20px;height:100%}.played-card{background:#ffffff1a;padding:10px}.game-info{background:#0000004d;border:2px solid #fff;border-radius:10px;margin-bottom:20px;padding:20px}.game-info h3{margin:0 0 15px;text-align:center}.game-info p{font-size:16px;margin:8px 0}.loading{align-items:center;display:flex;height:100vh;justify-content:center}.loading,.waiting-message{font-size:24px;font-weight:700}.waiting-message{background:#0000004d;border:2px solid gold;border-radius:10px;color:gold;margin:20px 0;padding:15px;text-align:center;text-shadow:2px 2px 4px #00000080}.played-card.selectable{border:3px solid gold!important;box-shadow:0 0 15px #ffd70080!important;cursor:pointer!important;transition:all .3s ease}.played-card.selectable:hover{border:3px solid orange!important;box-shadow:0 5px 20px #ffd700cc!important;transform:scale(1.05)!important}.played-card{pointer-events:auto;position:relative;z-index:10}.played-card img{pointer-events:none}.selection-result-overlay{animation:fadeInOut 3s ease-in-out;background:#006400e6;border:3px solid #4caf50;border-radius:10px;box-shadow:0 5px 20px #00000080;color:#fff;left:50%;padding:20px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:15}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.game-container{background:linear-gradient(135deg,#8b4513,sienna 50%,peru);color:#fff;display:flex;flex-direction:column;font-family:Arial,sans-serif;height:100vh}.game-container>.main-section,.main-section{display:flex;flex:1 1;flex-direction:column}.main-section{gap:35px;padding:35px}.field-divider{background:#ffffff80;height:4px;left:0;top:50%;transform:translateY(-50%);width:100%;z-index:1}.field-divider,.snap-point{pointer-events:none;position:absolute}.snap-point{align-items:center;border:4px dashed #ffd70080;border-radius:12px;color:#ffd70080;display:flex;font-size:20px;font-weight:700;height:189px;justify-content:center;left:50%;text-transform:uppercase;transform:translateX(-50%);width:126px;z-index:2}.player-snap{top:calc(50% + 20px)}.opponent-snap{bottom:calc(50% + 20px)}.player-info{align-items:center;display:flex;gap:35px}.player-name,.player-score{background-color:#8b45134d;border:3px solid #fff;font-size:32px;font-weight:700;min-width:210px;padding:26px 44px;text-align:center}.game-board{align-items:center;background-color:#a0522d33;border:3px solid #fff;display:flex;flex:1 1;flex-direction:column;justify-content:space-between;overflow:visible;padding:35px;position:relative}.player-cards{display:flex;gap:35px;justify-content:center;width:100%}.player2-cards{align-self:flex-start;flex-direction:row-reverse}.player1-cards{align-self:flex-end}.card-slot{align-items:center;background-color:initial;border-radius:12px;cursor:pointer;display:flex;height:189px;justify-content:center;overflow:visible;position:relative;transition:transform .2s ease-in-out;width:126px}.card-slot:hover:not(.disabled){box-shadow:0 10px 25px #fff6;transform:translateY(-15px) scale(1.08);z-index:100}.card-slot.selected{border:3px solid #0f0;box-shadow:0 0 20px #fffc}.card-slot.selected,.card-slot.selected:hover{transform:translateY(-15px)}.card-slot.disabled{cursor:not-allowed;opacity:.6}.card-slot.disabled:hover{opacity:.8;transform:translateY(-9px)}.card-slot.disabled.selected{opacity:.8;transform:translateY(-15px)}.card-slot.disabled.selected:hover{opacity:.9;transform:translateY(-15px)}.card-image{border-radius:14px;height:100%;object-fit:cover;transition:transform .4s ease-in-out,opacity .4s ease-in-out;-webkit-user-select:none;user-select:none;width:100%}.selection-active .card-image{transition:transform .4s ease-in-out,opacity .4s ease-in-out,filter 1s ease-in-out}.card-slot.moving-to-center-up{animation:moveCardToCenterUp .8s ease-in-out forwards!important;pointer-events:none;position:absolute;z-index:1000}.card-slot.moving-to-center-down{animation:moveCardToCenterDown .8s ease-in-out forwards!important;pointer-events:none;position:absolute;z-index:1000}.card-slot.selectable{animation:pulse 1s infinite;border:3px solid #0f0;box-shadow:0 0 20px #0f0c;cursor:pointer}.card-slot.selectable:hover{box-shadow:0 0 30px #0f0;transform:scale(1.05)}.card-slot.ai-selected{animation:aiSelect 1s ease-in-out;border:3px solid #ff6b6b;box-shadow:0 0 30px #ff6b6bcc;transform:scale(1.1)}@keyframes aiSelect{0%{box-shadow:0 0 20px #ff6b6b66;transform:scale(1)}50%{box-shadow:0 0 40px #ff6b6b;transform:scale(1.15)}to{box-shadow:0 0 30px #ff6b6bcc;transform:scale(1.1)}}@keyframes pulse{0%{box-shadow:0 0 20px #0f0c}50%{box-shadow:0 0 30px #0f0}to{box-shadow:0 0 20px #0f0c}}@keyframes moveCardToCenter{0%{transform:translateY(0)}to{transform:translateY(calc(50vh - 50% - 105px))}}@keyframes moveCardToCenterUp{0%{transform:translateY(0)}to{transform:translateY(-200px)}}@keyframes moveCardToCenterDown{0%{transform:translateY(0)}to{transform:translateY(200px)}}.card-slot.moving-to-center-down,.card-slot.moving-to-center-up{animation-fill-mode:forwards}.game-board.selection-active .card-slot.moving-to-center-down,.game-board.selection-active .card-slot.moving-to-center-up{pointer-events:auto}.game-board.selection-active .card-slot.disabled,.play-zone{pointer-events:none}.play-zone{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:999}.selection-message-overlay{background-color:#8b4513e6;border:3px solid #fff;border-radius:10px;box-shadow:0 4px 8px #0000004d;color:#fff;font-size:24px;font-weight:700;padding:15px 30px;pointer-events:auto;text-align:center;z-index:1002}.card-selection-overlay{align-items:center;background-color:#000c;display:flex;flex-direction:column;height:100vh;justify-content:center;left:0;pointer-events:auto;position:fixed;top:0;width:100vw;z-index:2000}.selection-message{background-color:#8b4513cc;border:3px solid #fff;border-radius:10px;color:#fff;font-size:28px;font-weight:700;margin-bottom:30px;padding:20px 40px;text-align:center}.played-cards-display{align-items:center;display:flex;gap:40px;justify-content:center;margin-bottom:30px}.played-cards-display .played-card{background-color:#fff;border:4px solid #fff;border-radius:12px;box-shadow:0 8px 16px #0006;cursor:pointer;height:210px;overflow:hidden;position:relative;transition:all .3s ease-in-out;width:140px}.played-cards-display .played-card:hover{border-color:#0f0;box-shadow:0 12px 24px #0009;transform:scale(1.1)}.played-cards-display .played-card .card-image{border-radius:8px;height:100%;object-fit:cover;width:100%}.card-value{background-color:#000c;border-radius:5px;bottom:10px;color:#fff;font-size:18px;font-weight:700;padding:5px 10px;position:absolute;right:10px}.ai-select-btn{background-color:#ff6b6b4d;border:3px solid #ff6b6b;border-radius:8px;color:#fff;cursor:pointer;font-size:20px;font-weight:700;padding:15px 30px;transition:all .2s ease-in-out}.ai-select-btn:hover{background-color:#ff6b6b80;box-shadow:0 4px 8px #ff6b6b4d;transform:translateY(-2px)}.played-cards{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center}.played-card{border:3px solid #fff;border-radius:10px;box-shadow:0 4px 8px #0000004d;height:180px;overflow:hidden;transition:all .5s ease-in-out;width:120px}.player2-played{border-color:#ff6b6b;box-shadow:0 4px 8px #ff6b6b4d}.player1-played{border-color:#0f0;box-shadow:0 4px 8px #00ff004d}.played-card:hover{transform:scale(1.05)}.played-card .card-image{border-radius:7px;height:100%;object-fit:cover;width:100%}.player1-controls{align-items:center;display:flex;gap:35px;justify-content:space-between;position:relative;width:100%}.play-card-btn{background-color:#0f03;border:3px solid #0f0;border-radius:8px;color:#fff;cursor:pointer;font-size:24px;font-weight:700;left:50%;padding:20px 40px;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .2s ease-in-out;z-index:10}.play-card-btn:hover:not(:disabled){background-color:#0f06;box-shadow:0 4px 8px #00ff004d;transform:translate(-50%,-50%) translateY(-2px)}.play-card-btn:disabled{background-color:#66666680;border-color:#666;cursor:not-allowed;opacity:.7}.reset-btn{background-color:#ff6b6b33;border:3px solid #ff6b6b;border-radius:8px;color:#fff;cursor:pointer;font-size:24px;font-weight:700;left:50%;padding:20px 40px;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .2s ease-in-out;z-index:10}.reset-btn:hover{background-color:#ff6b6b66;box-shadow:0 4px 8px #ff6b6b4d;transform:translate(-50%,-50%) translateY(-2px)}.timer{align-items:center;background-color:#8b45134d;border:3px solid #fff;border-radius:50%;display:flex;font-size:42px;font-weight:700;height:175px;justify-content:center;margin:0 auto;width:175px}.card-grid{background-color:#a0522d33;border:3px solid #fff;display:flex;flex:1 1;flex-direction:column;gap:35px;padding:35px}.grid-row{display:flex;gap:26px;justify-content:center}.grid-card-slot{background-color:initial;border:3px solid #fff;height:158px;width:105px}.resign-btn{align-self:center;background-color:#8b45134d;border:3px solid #fff;color:#fff;cursor:pointer;font-size:32px;font-weight:700;padding:26px 53px;transition:background-color .2s}.resign-btn:hover{background-color:#a0522d80}@media (max-width:768px){.game-container{flex-direction:column}.left-section{border-bottom:3px solid #fff;border-right:none}.card-slot{height:142px;width:95px}.grid-card-slot{height:95px;width:63px}.player-name,.player-score{font-size:28px;min-width:175px;padding:18px 26px}.timer{font-size:35px;height:140px;width:140px}.play-card-btn,.reset-btn{font-size:20px;padding:15px 30px}.played-cards{gap:8px}.played-card{height:122px;width:81px}}.scored-cards-container{background:#0003;border:1px solid #ffffff4d;border-radius:8px;display:flex;flex-direction:column;max-width:600px;min-width:150px;padding:10px}.scored-cards{display:flex;flex-wrap:wrap;gap:10px;max-height:350px;overflow-y:auto}.mini-scored-card{background:#fff;border:1px solid #fff;border-radius:8px;height:150px;object-fit:contain;width:100px}.mini-scored-card:hover{border-color:gold;box-shadow:0 0 15px #fff9}
/*# sourceMappingURL=main.bb24ad8e.css.map*/