:root{--color-bg:#0a0e27;--color-surface:#161b33;--color-surface-light:#1f2642;--color-primary:#ff6b9d;--color-secondary:#4ecdc4;--color-accent:#ffe66d;--color-text:#e8e9f3;--color-text-dim:#a0a3bd;--color-border:#2a3154;--font-display:"Fraunces",serif;--font-body:"DM Sans",sans-serif;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--radius:16px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{background:#0a0e27;background:var(--color-bg);color:#e8e9f3;color:var(--color-text);font-family:DM Sans,sans-serif;font-family:var(--font-body);overflow-x:hidden}.app,body{min-height:100vh}.app{position:relative}.app:before{animation:float 20s ease-in-out infinite;background:radial-gradient(circle at 20% 30%,#ff6b9d26 0,#0000 50%),radial-gradient(circle at 80% 70%,#4ecdc426 0,#0000 50%),radial-gradient(circle at 50% 50%,#ffe66d14 0,#0000 50%);content:"";height:200%;left:-50%;pointer-events:none;position:fixed;top:-50%;width:200%;z-index:0}@keyframes float{0%,to{transform:translate(0) rotate(0deg)}33%{transform:translate(30px,-30px) rotate(5deg)}66%{transform:translate(-20px,20px) rotate(-5deg)}}.home-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem;position:relative;z-index:1}.home-content{animation:slideUp .6s ease-out;background:#161b33;background:var(--color-surface);border:1px solid #2a3154;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius);box-shadow:0 8px 32px #00000080;box-shadow:var(--shadow-lg);max-width:500px;padding:3rem;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b9d,#4ecdc4);background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);-webkit-background-clip:text;background-clip:text;font-family:Fraunces,serif;font-family:var(--font-display);font-size:5rem;font-style:italic;font-weight:900;letter-spacing:-.02em;margin-bottom:.5rem;text-align:center}.subtitle{color:#a0a3bd;color:var(--color-text-dim);font-size:1.1rem;font-weight:400;margin-bottom:2.5rem;text-align:center}.name-input-container{margin-bottom:1.5rem}.code-input,.name-input{background:#1f2642;background:var(--color-surface-light);border:2px solid #2a3154;border:2px solid var(--color-border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e9f3;color:var(--color-text);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:1rem;padding:1rem 1.25rem;transition:all .3s ease;width:100%}.code-input:focus,.name-input:focus{border-color:#ff6b9d;border-color:var(--color-primary);box-shadow:0 0 0 4px #ff6b9d1a;outline:none}.buttons{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.btn{border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:1rem;font-weight:600;overflow:hidden;padding:1rem 1.5rem;position:relative;transition:all .3s ease}.btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn:hover:before{height:300px;width:300px}.btn-primary{background:linear-gradient(135deg,#ff6b9d,#ff4785);background:linear-gradient(135deg,var(--color-primary) 0,#ff4785 100%);box-shadow:0 2px 8px #0000004d;box-shadow:var(--shadow-sm);color:#fff}.btn-primary:hover{box-shadow:0 4px 16px #0006;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-secondary{border:2px solid #2a3154;border:2px solid var(--color-border);color:#e8e9f3;color:var(--color-text)}.btn-secondary,.btn-secondary:hover{background:#1f2642;background:var(--color-surface-light)}.btn-secondary:hover{border-color:#4ecdc4;border-color:var(--color-secondary)}.divider{margin:2rem 0;position:relative;text-align:center}.divider:after,.divider:before{background:#2a3154;background:var(--color-border);content:"";height:1px;position:absolute;top:50%;width:40%}.divider:before{left:0}.divider:after{right:0}.divider span{background:#161b33;background:var(--color-surface);color:#a0a3bd;color:var(--color-text-dim);font-size:.9rem;padding:0 1rem}.join-section{display:flex;flex-direction:column;gap:.75rem}.code-input{font-family:Fraunces,serif;font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:.1em;text-align:center;text-transform:uppercase}.lobby-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem;position:relative;z-index:1}.lobby-content{animation:slideUp .6s ease-out;background:#161b33;background:var(--color-surface);border:1px solid #2a3154;border:1px solid var(--color-border);border-radius:16px;border-radius:var(--radius);box-shadow:0 8px 32px #00000080;box-shadow:var(--shadow-lg);max-width:600px;padding:3rem;width:100%}.lobby-content h2{font-family:Fraunces,serif;font-family:var(--font-display);font-size:2.5rem;font-style:italic}.game-code,.lobby-content h2{margin-bottom:2rem;text-align:center}.game-code{background:#1f2642;background:var(--color-surface-light);border:2px solid #2a3154;border:2px solid var(--color-border);border-radius:8px;border-radius:var(--radius-sm);padding:1.5rem}.game-code .code{color:#ff6b9d;color:var(--color-primary);display:block;font-family:Fraunces,serif;font-family:var(--font-display);font-size:2rem;font-weight:900;letter-spacing:.15em;margin:.5rem 0}.copy-btn{background:#161b33;background:var(--color-surface);border:1px solid #2a3154;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-sm);color:#e8e9f3;color:var(--color-text);cursor:pointer;font-family:DM Sans,sans-serif;font-family:var(--font-body);margin-top:1rem;padding:.5rem 1rem;transition:all .3s ease}.copy-btn:hover{background:#1f2642;background:var(--color-surface-light);border-color:#4ecdc4;border-color:var(--color-secondary)}.players-list{margin-bottom:2rem}.players-list h3{color:#a0a3bd;color:var(--color-text-dim);font-size:1.2rem;font-weight:500;margin-bottom:1rem}.player-item{align-items:center;background:#1f2642;background:var(--color-surface-light);border:1px solid #2a3154;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-bottom:.5rem;padding:1rem}.player-name{font-size:1.1rem;font-weight:600}.creator-badge{background:#ff6b9d;background:var(--color-primary);border-radius:12px;color:#fff;font-size:.8rem;font-weight:700;padding:.25rem .75rem;text-transform:uppercase}.waiting-text{color:#a0a3bd;color:var(--color-text-dim);font-size:1.1rem;font-style:italic;padding:2rem;text-align:center}.game-app{background:#0a0e27;background:var(--color-bg)}.game-screen{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}.game-header{align-items:center;background:#161b33;background:var(--color-surface);border-bottom:2px solid #2a3154;border-bottom:2px solid var(--color-border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem 2rem}.game-info h2{color:#ff6b9d;color:var(--color-primary);font-family:Fraunces,serif;font-family:var(--font-display);font-size:2rem;font-style:italic}.deck-count{color:#a0a3bd;color:var(--color-text-dim);font-size:.9rem;margin-left:1rem}.scores{display:flex;flex-wrap:wrap;gap:1.5rem}.score-item{align-items:center;background:#1f2642;background:var(--color-surface-light);border:2px solid #2a3154;border:2px solid var(--color-border);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-direction:column;padding:.75rem 1.25rem;transition:all .3s ease}.score-item.active{border-color:#4ecdc4;border-color:var(--color-secondary);box-shadow:0 0 20px #4ecdc44d}.score-item .player-name{color:#a0a3bd;color:var(--color-text-dim);font-size:.9rem;margin-bottom:.25rem}.score-item .score{color:#e8e9f3;color:var(--color-text);font-family:Fraunces,serif;font-family:var(--font-display);font-size:1.5rem;font-weight:900}.board-container{flex:1 1;overflow:auto;padding:2rem}.board,.board-container{align-items:center;display:flex;justify-content:center}.board{background:#161b33;background:var(--color-surface);border:2px dashed #2a3154;border:2px dashed var(--color-border);border-radius:16px;border-radius:var(--radius);min-height:400px;min-width:600px}.board-placeholder{color:#a0a3bd;color:var(--color-text-dim);text-align:center}.board-placeholder p{font-size:1.2rem;margin-bottom:.5rem}.board-placeholder .small-text{font-size:.9rem}.hand-container{background:#161b33;background:var(--color-surface);border-top:2px solid #2a3154;border-top:2px solid var(--color-border);padding:1.5rem 2rem 2rem}.turn-indicator{margin-bottom:1rem;text-align:center}.your-turn{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#ff6b9d,#ff4785);background:linear-gradient(135deg,var(--color-primary) 0,#ff4785 100%);border-radius:20px;color:#fff;display:inline-block;font-size:.9rem;font-weight:700;letter-spacing:.05em;padding:.5rem 1.5rem;text-transform:uppercase}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.waiting{color:#a0a3bd;color:var(--color-text-dim);font-size:.9rem}.hand{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.card,.hand{display:flex;justify-content:center}.card{align-items:center;background:#fff;border:3px solid #2a3154;border:3px solid var(--color-border);border-radius:12px;box-shadow:0 2px 8px #0000004d;box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;height:160px;position:relative;transition:all .3s ease;width:120px}.card:hover{box-shadow:0 4px 16px #0006;box-shadow:var(--shadow-md);transform:translateY(-8px)}.card.selected{border-color:#4ecdc4;border-color:var(--color-secondary);box-shadow:0 8px 32px #00000080;box-shadow:var(--shadow-lg);transform:translateY(-16px)}.card.small{height:100px;width:80px}.card-content{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:1rem}.shape{font-size:2rem;line-height:1}.card.small .shape{font-size:1.5rem}.card-number{font-family:Fraunces,serif;font-family:var(--font-display);font-size:1.2rem;font-weight:900;position:absolute;right:.5rem;top:.5rem}.joker{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#764ba2}.joker-content{font-size:4rem}.card.small .joker-content{font-size:2.5rem}.actions{flex-wrap:wrap;gap:1rem}.actions,.game-over-overlay{display:flex;justify-content:center}.game-over-overlay{align-items:center;animation:fadeIn .5s ease-out;background:#0a0e27f2;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-over{animation:scaleIn .5s ease-out .2s both;background:#161b33;background:var(--color-surface);border:2px solid #2a3154;border:2px solid var(--color-border);border-radius:16px;border-radius:var(--radius);box-shadow:0 8px 32px #00000080;box-shadow:var(--shadow-lg);max-width:500px;padding:3rem;width:90%}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.game-over h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b9d,#ffe66d);background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);-webkit-background-clip:text;background-clip:text;font-family:Fraunces,serif;font-family:var(--font-display);font-size:3rem;font-style:italic;text-align:center}.final-scores,.game-over h2{margin-bottom:2rem}.final-score-item{align-items:center;background:#1f2642;background:var(--color-surface-light);border:2px solid #2a3154;border:2px solid var(--color-border);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:1rem;margin-bottom:.75rem;padding:1rem}.final-score-item:first-child{background:linear-gradient(135deg,#ff6b9d1a,#0000);border-color:#ff6b9d;border-color:var(--color-primary)}.final-score-item .rank{color:#a0a3bd;color:var(--color-text-dim);font-family:Fraunces,serif;font-family:var(--font-display);font-size:1.5rem;font-weight:900;min-width:40px}.final-score-item:first-child .rank{color:#ff6b9d;color:var(--color-primary)}.final-score-item .name{flex:1 1;font-size:1.1rem;font-weight:600}.final-score-item .score{color:#ffe66d;color:var(--color-accent);font-family:Fraunces,serif;font-family:var(--font-display);font-size:1.5rem;font-weight:900}.error-toast{animation:slideUpToast .3s ease-out;background:#e63946;border-radius:8px;border-radius:var(--radius-sm);bottom:2rem;box-shadow:0 8px 32px #00000080;box-shadow:var(--shadow-lg);color:#fff;font-weight:600;left:50%;padding:1rem 2rem;position:fixed;transform:translateX(-50%);z-index:2000}.error-toast.success{background:#4ecdc4;background:var(--color-secondary)}@keyframes slideUpToast{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.loading{align-items:center;color:#a0a3bd;color:var(--color-text-dim);display:flex;font-size:1.5rem;justify-content:center;min-height:100vh}@media (max-width:768px){.title{font-size:3.5rem}.home-content,.lobby-content{padding:2rem}.card{height:140px;width:100px}.shape{font-size:1.5rem}.game-header{align-items:flex-start;flex-direction:column}.scores{justify-content:space-between;width:100%}}
/*# sourceMappingURL=main.3bf42cda.css.map*/