*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0f0f1a;--bg-secondary:#1a1a2e;--bg-card:#16213e;--accent:#e94560;--accent-glow:#e9456066;--gold:gold;--green:#00d26a;--text-primary:#fff;--text-secondary:#a0a0b0;--border:#ffffff1a}body{-webkit-font-smoothing:antialiased;background:#0f0f1a;background:var(--bg-primary);background-image:radial-gradient(ellipse at top,#e945601a 0,#0000 50%),radial-gradient(ellipse at bottom right,#00d26a14 0,#0000 50%);color:#fff;color:var(--text-primary);font-family:Outfit,sans-serif}#root,body{min-height:100vh}button{border:none;cursor:pointer}button,input{font-family:Outfit,sans-serif;outline:none}@keyframes cardFlip{0%{transform:rotateY(0deg) scale(1)}50%{transform:rotateY(90deg) scale(.9)}to{opacity:0;transform:rotateY(180deg) scale(0)}}@keyframes confetti{0%{opacity:1;transform:translateY(0) rotate(0deg)}to{opacity:0;transform:translateY(100vh) rotate(2turn)}}.fade-in{animation:fadeIn .5s ease-out}.card-removing{animation:cardFlip .5s ease-in-out forwards}.home-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.home-container{max-width:400px;width:100%}.logo-section{margin-bottom:40px;text-align:center}.logo-emoji{animation:bounce 2s ease infinite;display:block;font-size:5rem;margin-bottom:16px}.logo-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#a0a0b0);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin-bottom:8px}.logo-subtitle{color:var(--text-secondary);font-size:1rem}.mode-selection{gap:16px}.mode-btn,.mode-selection{display:flex;flex-direction:column}.mode-btn{align-items:center;background:var(--bg-secondary);border:2px solid var(--border);border-radius:16px;cursor:pointer;padding:24px;transition:all .3s ease}.mode-btn:hover{border-color:var(--accent);box-shadow:0 10px 30px #0000004d;transform:translateY(-4px)}.mode-btn.create:hover{border-color:var(--green);box-shadow:0 10px 30px #00d26a33}.mode-icon{font-size:2.5rem;margin-bottom:8px}.mode-text{color:#fff;font-size:1.25rem;font-weight:600;margin-bottom:4px}.mode-desc{color:var(--text-secondary);font-size:.85rem}.game-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:24px}.game-form h2{font-size:1.5rem;margin-bottom:24px;text-align:center}.back-btn{background:none;color:var(--text-secondary);font-size:.9rem;margin-bottom:16px;padding:8px 0;transition:color .2s}.back-btn:hover{color:#fff}.input-group{margin-bottom:20px}.input-group label{color:var(--text-secondary);display:block;font-size:.85rem;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.input-group input{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;color:#fff;font-size:1rem;padding:14px 16px;transition:all .2s;width:100%}.input-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-group input::placeholder{color:var(--text-secondary)}.game-code-input{font-size:1.5rem!important;font-weight:600;letter-spacing:8px;text-align:center}.submit-btn{background:linear-gradient(135deg,var(--accent) 0,#c73e54 100%);border-radius:10px;color:#fff;font-size:1.1rem;font-weight:600;padding:16px;transition:all .3s ease;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 10px 30px var(--accent-glow);transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.5}.error-message{background:#e945601a;border:1px solid var(--accent);border-radius:10px;color:var(--accent);font-size:.9rem;margin-top:20px;padding:12px 16px;text-align:center}.player-list{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:20px}.player-list-title{color:var(--text-secondary);font-size:.85rem;letter-spacing:2px;margin-bottom:16px;text-transform:uppercase}.players-grid{display:flex;flex-direction:column;gap:12px}.player-item{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;display:flex;gap:12px;padding:12px;transition:all .3s ease}.player-item.current{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow)}.player-item.winner{background:linear-gradient(135deg,#ffd7001a 0,var(--bg-card) 100%);border-color:var(--gold)}.player-avatar{align-items:center;background:linear-gradient(135deg,var(--accent) 0,#c73e54 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:44px;justify-content:center;width:44px}.player-item.winner .player-avatar{background:linear-gradient(135deg,var(--gold) 0,orange 100%);font-size:1.4rem}.player-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.player-name{align-items:center;display:flex;flex-wrap:wrap;font-weight:600;gap:8px}.host-badge{background:var(--green)}.host-badge,.you-badge{border-radius:4px;color:#fff;font-size:.65rem;font-weight:600;padding:2px 6px}.you-badge{background:var(--accent)}.player-cards{color:var(--text-secondary);font-size:.85rem}.winner-badge{animation:pulse 1s infinite;color:var(--gold);font-size:.75rem;font-weight:700}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.lobby-page{align-items:flex-start;display:flex;justify-content:center;min-height:100vh;padding:40px 20px 20px}.lobby-container{max-width:400px;width:100%}.lobby-header{margin-bottom:30px;text-align:center}.lobby-icon{display:block;font-size:3rem;margin-bottom:12px}.lobby-header h1{font-size:1.75rem;margin-bottom:8px}.lobby-header p{color:var(--text-secondary)}.game-code-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;margin-bottom:20px;padding:20px;text-align:center}.code-label{color:var(--text-secondary);display:block;font-size:.75rem;letter-spacing:2px;margin-bottom:12px;text-transform:uppercase}.code-display{cursor:pointer;transition:transform .2s}.code-display:hover{transform:scale(1.02)}.code-display:active{transform:scale(.98)}.code-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent) 0,#ff8a9e 100%);-webkit-background-clip:text;background-clip:text;display:block;font-size:2.5rem;font-weight:700;letter-spacing:8px}.copy-hint{color:var(--text-secondary);display:block;font-size:.8rem;margin-top:8px}.qr-section{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:20px}.qr-hint{color:var(--text-secondary);font-size:.8rem}.lobby-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.btn{font-size:1rem;padding:16px 24px;text-align:center}.btn-primary:hover:not(:disabled){box-shadow:0 10px 30px var(--accent-glow);transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.start-btn{animation:glow 2s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 40px var(--accent-glow)}}.min-players-hint,.waiting-hint{color:var(--text-secondary);font-size:.9rem;text-align:center}.cards-per-player-section{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;display:flex;gap:12px;justify-content:center;padding:16px}.cards-per-player-section label{color:var(--text-secondary);font-size:.95rem}.cards-select{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:8px 16px}.cards-select:focus{border-color:var(--accent);outline:none}.ball{align-items:center;border-radius:50%;box-shadow:0 4px 15px #0006,inset -8px -8px 20px #0000004d,inset 8px 8px 20px #fff3;display:flex;justify-content:center;position:relative;transition:transform .2s ease}.ball.solid{background:radial-gradient(circle at 30% 30%,#fff6 0,var(--ball-color) 40%,#0000004d 100%)}.ball.stripe{background:linear-gradient(to bottom,#fff 0,#fff 25%,var(--ball-color) 25%,var(--ball-color) 75%,#fff 75%,#fff 100%);box-shadow:0 4px 15px #0006,inset -8px -8px 20px #0003,inset 8px 8px 20px #ffffff4d}.ball.normal{font-size:1.2rem;height:60px;width:60px}.ball.small{font-size:.9rem;height:44px;width:44px}.ball.mini{font-size:.75rem;height:36px;width:36px}.ball.large{font-size:1.6rem;height:80px;width:80px}.ball:hover{transform:translateY(-4px) scale(1.05)}.ball-number{align-items:center;background:#fff;border-radius:50%;box-shadow:inset 0 2px 4px #0000001a;color:#1a1a2e;display:flex;font-weight:700;height:50%;justify-content:center;width:50%}.ball.back .ball-number{display:none}.ball.back:after{color:#fff;content:"?";font-size:1.5em;font-weight:700}.ball.ball-removing{animation:ballPop .5s ease-in-out forwards}@keyframes ballPop{0%{opacity:1;transform:scale(1)}50%{transform:scale(1.2)}to{opacity:0;transform:scale(0)}}.card-hand{align-items:center;display:flex;flex-direction:column;gap:16px;padding:20px}.card-hand.empty{padding:40px}.no-cards{color:var(--green);font-size:1.2rem;font-weight:600}.cards-container{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;min-height:80px;padding:20px}.card-wrapper{position:relative;transition:transform .3s ease}.card-wrapper:hover{transform:translateY(-10px) scale(1.1);z-index:10}.card-wrapper.clickable{cursor:pointer}.card-wrapper.clickable:active{transform:translateY(-5px) scale(.95)}.card-count{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;padding:8px 20px}.count-number{color:var(--accent);font-size:1.5rem;font-weight:700}.count-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:1px;text-transform:uppercase}.ball.back{align-items:center;background:linear-gradient(145deg,#e94560,#c73e54);border-radius:50%;box-shadow:0 4px 15px #0000004d;display:flex;font-size:1.5rem;height:60px;justify-content:center;width:60px}@media (max-width:480px){.cards-container{gap:8px;padding:10px}}.winner-screen{align-items:center;background:#0f0f1af2;bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.confetti-container{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.confetti-piece{animation:confettiFall 4s linear infinite;border-radius:2px;height:10px;position:absolute;top:-20px;width:10px}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0deg)}to{opacity:0;transform:translateY(100vh) rotate(2turn)}}.winner-content{padding:40px;text-align:center;z-index:1}.trophy{animation:bounce 1s ease infinite;font-size:6rem;margin-bottom:20px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.winner-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--gold) 0,orange 100%);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;margin-bottom:20px;text-shadow:0 0 40px #ffd70080}.winner-name{align-items:center;color:#fff;display:flex;font-size:2rem;font-weight:600;gap:16px;justify-content:center;margin-bottom:16px}.crown{animation:swing 1s ease-in-out infinite alternate;font-size:1.5rem}@keyframes swing{0%{transform:rotate(-10deg)}to{transform:rotate(10deg)}}.winner-message{color:var(--text-secondary);font-size:1.1rem;margin-bottom:40px}.winner-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.btn{border-radius:12px;cursor:pointer;font-size:1.1rem;font-weight:600;padding:16px 32px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,var(--accent) 0,#c73e54 100%);border:none;color:#fff}.btn-primary:hover{box-shadow:0 10px 30px var(--accent-glow);transform:translateY(-2px)}.btn-secondary{background:#0000;border:1px solid var(--border);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-secondary);color:#fff}@media (max-width:480px){.winner-title{font-size:2rem}.winner-name{font-size:1.5rem}.trophy{font-size:4rem}}.removed-cards-history{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:16px}.history-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:16px;text-align:center}.history-list{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.history-item{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:10px}.history-player{color:var(--accent);font-size:.8rem;font-weight:500;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-page{min-height:100vh;padding:0}.game-container{display:flex;flex-direction:column;margin:0 auto;max-width:500px;min-height:100vh}.game-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);justify-content:space-between;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.game-header,.header-left{align-items:center;display:flex}.header-left{gap:12px}.game-icon{font-size:1.5rem}.game-info{display:flex;flex-direction:column}.game-code{font-size:.9rem;font-weight:600}.player-count{font-size:.75rem}.leave-btn,.player-count{color:var(--text-secondary)}.leave-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:50%;display:flex;font-size:1rem;height:36px;justify-content:center;transition:all .2s;width:36px}.leave-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.my-cards-section{align-items:center;display:flex;flex:1 1;flex-direction:column;padding:20px 20px 30px}.section-title{align-items:center;display:flex;gap:12px;margin-bottom:10px}.my-name{font-size:1.25rem;font-weight:600}.my-card-count{background:#e945601a;border-radius:20px;color:var(--accent);font-size:.85rem;padding:4px 12px}.card-actions{align-items:center;display:flex;flex-direction:column;gap:12px;margin-top:16px}.tap-hint{font-size:.95rem;text-align:center}.tap-hint,.undo-btn{color:var(--text-secondary)}.undo-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .2s}.undo-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.history-section{padding:16px 20px}.players-section{background:var(--bg-primary);padding:20px}@media (max-width:480px){.my-cards-section{padding:16px}.pot-ball-btn{font-size:1rem;padding:18px 20px}}@media (max-height:600px) and (orientation:landscape){.my-cards-section{padding:10px}.section-title{margin-bottom:5px}}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.toast{animation:slideUp .3s ease;background:var(--bg-secondary);border-radius:10px;bottom:20px;box-shadow:0 10px 40px #0006;color:#fff;left:50%;padding:12px 24px;position:fixed;transform:translateX(-50%);z-index:2000}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}button{-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-card);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
/*# sourceMappingURL=main.f35c2901.css.map*/