:root{--bg-dark: #121212;--bg-gradient-start: #1A1A1A;--bg-gradient-end: #000000;--card-bg: #2C2C2C;--input-bg: #444444;--input-border: #555555;--text-white: #FFFFFF;--text-gray: #CCCCCC;--text-muted: #999999;--accent-teal: #00BCD4;--accent-gold: #FFD700;--accent-gold-dark: #FFC107;--font-title: "Montserrat", sans-serif;--font-body: "Lato", sans-serif;--card-width: 60px;--card-height: 84px}@media (min-width: 400px){:root{--card-width: 70px;--card-height: 98px}}@media (min-width: 768px){.start-game-btn,.lobby-start-btn{max-width:200px;margin-left:auto;margin-right:auto}}body{margin:0;font-family:var(--font-body);background-color:var(--bg-dark);color:var(--text-white);overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}.landscape-warning{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#111;z-index:9999;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.landscape-warning h1{font-size:3rem;margin-bottom:20px}.landscape-warning p{font-size:1.2rem;color:#ccc}@media (orientation: landscape) and (max-height: 600px){.landscape-warning{display:flex}.game-scene,.login-screen,.lobby-screen{display:none!important}}.game-scene{width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;position:relative;background:radial-gradient(circle at center,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);overflow:hidden;padding-top:40px}@media (max-height: 700px){.game-scene{padding-top:10px}.opponents-grid{transform:scale(.9);margin-bottom:-10px}.vertical-table{margin:5px 0}.table-felt-vertical{transform:scale(.85)}.player-dashboard{padding-bottom:5px}.my-hand{height:var(--card-height);padding-top:10px}}.login-screen,.lobby-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,#1A1A1A 0%,#000000 100%);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;overflow-y:auto}.login-screen:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0px,rgba(255,255,255,.02) 1px,transparent 1px,transparent 10px);pointer-events:none;z-index:-1}.login-container{width:100%;max-width:400px;margin:auto}.game-title{font-family:var(--font-title);font-weight:700;font-size:2.5rem;color:var(--text-white);margin:0 0 30px;text-align:center;text-shadow:0 0 10px rgba(255,255,255,.15)}.login-panel{background:var(--card-bg);padding:30px;border-radius:16px;box-shadow:0 8px 20px #00000080;display:flex;flex-direction:column;align-items:center;gap:20px}.game-input{background:var(--input-bg);color:var(--text-white);border:1px solid var(--input-border);padding:14px;font-size:1rem;border-radius:8px;text-align:center;width:100%;box-sizing:border-box}.game-input:focus{outline:none;border-color:var(--accent-teal);box-shadow:0 0 8px #00bcd466}.action-btn{border:none;border-radius:8px;cursor:pointer;font-family:var(--font-title);font-weight:700;font-size:1rem;text-transform:uppercase;padding:14px;width:100%}.play-btn{background:linear-gradient(180deg,var(--accent-gold) 0%,var(--accent-gold-dark) 100%);color:#111}.join-btn{background:var(--accent-teal);color:#fff}.back-btn{background:transparent;color:#999;margin-bottom:10px;align-self:flex-start;padding:0}.avatar-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:10px 0}.avatar-btn{width:50px;height:50px;font-size:1.8rem;background:#333;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;border:2px solid transparent}.avatar-btn.selected{border-color:var(--accent-teal);background:rgba(0,188,212,.1)}.opponents-grid{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:15px;padding:0 10px;z-index:10}.player-seat{display:flex;flex-direction:column;align-items:center;position:relative;width:70px}.player-seat.active .avatar-circle{box-shadow:0 0 0 3px var(--accent-gold);transform:scale(1.1)}.avatar-circle{width:50px;height:50px;background:#222;border:2px solid #555;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:1.8rem;position:relative;transition:all .3s;z-index:2}.player-info{background:rgba(0,0,0,.8);padding:2px 8px;border-radius:10px;margin-top:-8px;z-index:3;text-align:center;border:1px solid #444}.player-name{font-size:.7rem;color:#eee;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60px}.card-count-badge{font-size:.7rem;color:var(--accent-gold);display:flex;justify-content:center;gap:2px}.status-badge.pass{position:absolute;top:-5px;right:-5px;background:#d32f2f;color:#fff;font-size:.6rem;padding:2px 4px;border-radius:4px;z-index:5}.status-badge.rank{position:absolute;bottom:-5px;right:-5px;background:var(--accent-gold);color:#000;font-size:.7rem;padding:1px 4px;border-radius:4px;font-weight:700;z-index:5}.vertical-table{flex:1;width:90%;max-width:400px;margin:10px 0;position:relative;display:flex;justify-content:center;align-items:center}.table-felt-vertical{width:100%;height:100%;max-height:220px;background:radial-gradient(ellipse at center,#2e7d32 0%,#1b5e20 90%);border:15px solid #3E2723;border-radius:100px/50px;box-shadow:0 10px 30px #000c,inset 0 0 50px #0009;position:relative;display:flex;justify-content:center;align-items:center}.table-logo{position:absolute;font-size:3rem;color:#00000026;font-weight:700;letter-spacing:5px;transform:rotate(-90deg);pointer-events:none}.center-stage{width:120px;height:120px;position:relative;display:flex;justify-content:center;align-items:center;z-index:5}.pile-container{position:relative;width:var(--card-width);height:var(--card-height)}.last-played-label{position:absolute;bottom:-30px;width:200px;text-align:center;left:50%;transform:translate(-50%);color:#fff9;font-size:.8rem}.empty-pile-text{color:#fff3;font-weight:700;text-align:center}.player-dashboard{width:100%;display:flex;flex-direction:column;align-items:center;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:linear-gradient(to top,rgba(0,0,0,.9),transparent);z-index:100}.turn-info-row{height:30px;margin-bottom:10px;display:flex;justify-content:center;align-items:center}.turn-text{color:var(--accent-gold);font-family:var(--font-title);font-weight:800;font-size:1.5rem;text-transform:uppercase;text-shadow:0 0 10px rgba(255,215,0,.5);opacity:0;transform:translateY(10px);transition:all .3s}.turn-text.visible{opacity:1;transform:translateY(0)}.controls-row{display:flex;gap:20px;margin-bottom:15px}.controls-row .action-btn{width:auto;min-width:120px;padding:10px 20px;font-size:.9rem}.my-hand-container{width:100%;display:flex;justify-content:flex-start;overflow-x:auto;overflow-y:visible;padding:0 5px 40px;box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:none}.my-hand-container::-webkit-scrollbar{display:none}.my-hand{display:flex;align-items:flex-end;height:calc(var(--card-height) + 30px);padding-top:20px;margin:0 auto;transition:opacity .3s}.my-hand.disabled{opacity:.6;filter:grayscale(50%);pointer-events:none}.playing-card{width:var(--card-width);height:var(--card-height);border-radius:5px;position:relative;flex-shrink:0;transition:margin-right .2s}.playing-card img{width:100%;height:100%;border-radius:5px;box-shadow:0 2px 5px #00000080;pointer-events:none}.playing-card.in-hand{margin-right:-40px}.playing-card.in-hand:last-child{margin-right:0}.playing-card.in-hand.selected img{transform:translateY(-20px);box-shadow:0 0 0 3px var(--accent-gold),0 5px 15px #00000080}.playing-card.in-hand:not(.selected) img{transform:translateY(0)}.playing-card.in-pile{position:absolute;top:0;left:0}.playing-card.playable img{filter:brightness(1.1)}.playing-card.not-playable img{filter:brightness(.5)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.9);z-index:1000;display:flex;align-items:center;justify-content:center;padding:8px}.modal-content{background:var(--card-bg);color:#fff;padding:25px;border-radius:12px;border:1px solid #444;width:100%;max-width:400px;box-sizing:border-box}.modal-content h2{color:var(--accent-gold);margin-top:0;font-family:var(--font-title)}.rules-btn{position:absolute;top:15px;right:15px;width:32px;height:32px;border-radius:50%;border:1px solid #666;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100}.game-over-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.95);z-index:2000;display:flex;align-items:center;justify-content:center}.results-card{background:var(--card-bg);padding:30px;border-radius:16px;border:2px solid var(--accent-gold);width:85%;max-width:350px;text-align:center}.winner-row{display:flex;align-items:center;padding:10px;border-bottom:1px solid #444}.winner-rank{font-weight:700;color:var(--accent-gold);font-size:1.2rem;margin-right:10px}.winner-avatar{font-size:1.5rem;margin-right:10px}.restart-btn{background:var(--accent-gold);color:#000;border:none;padding:12px 30px;border-radius:25px;font-weight:700;margin-top:20px;font-family:var(--font-title)}.exchange-card{max-width:500px;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-height: 700px){.exchange-card{padding:15px;width:95%}.exchange-instructions h2{font-size:1.2rem}.my-hand{transform:scale(.9);margin-bottom:-10px}}.exchange-container{display:flex;flex-direction:column;gap:10px;width:100%}.exchange-instructions{text-align:center}.exchange-instructions h2{color:var(--accent-gold);font-family:var(--font-title);margin:0 0 15px;font-size:1.5rem}.exchange-instructions p{margin:8px 0;color:var(--text-gray);font-size:.95rem}.exchange-info{background:rgba(0,188,212,.1);border:1px solid var(--accent-teal);border-radius:8px;padding:12px;margin:15px 0}.exchange-info p{margin:5px 0;font-size:.9rem}.auto-selected{color:var(--accent-gold);font-style:italic}.manual-select{color:var(--accent-teal);font-style:italic}.exchange-cards{display:flex;flex-direction:column;align-items:center;gap:10px}.exchange-cards h3{color:var(--text-white);font-size:1rem;margin:0}.card-display{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.exchange-controls{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:20px}.accept-button{background:var(--accent-gold);color:#000;border:none;padding:14px 40px;border-radius:25px;font-weight:700;font-family:var(--font-title);font-size:1rem;cursor:pointer;text-transform:uppercase;transition:all .3s}.accept-button:hover:not(:disabled){background:var(--accent-gold-dark);transform:scale(1.05)}.accept-button:disabled{background:#666;color:#999;cursor:not-allowed}.selection-count{color:var(--text-muted);font-size:.85rem;margin:0}.exchange-waiting{text-align:center;padding:20px;background:rgba(0,188,212,.1);border-radius:8px;margin-top:15px}.exchange-waiting p{color:var(--accent-teal);font-weight:700;margin:0}.exchange-status{background:rgba(0,0,0,.3);border-radius:8px;padding:15px;margin-top:20px}.exchange-status h3{color:var(--text-white);font-size:1rem;margin:0 0 10px;text-align:center}.exchange-pair{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px;border-bottom:1px solid #444;font-size:.9rem}.exchange-pair:last-child{border-bottom:none}.exchange-pair .done{color:var(--accent-teal)}.exchange-pair .pending{color:var(--text-muted)}.exchange-hand-wrapper{overflow-y:auto;margin:20px 0;padding:60px 10px;background:rgba(0,0,0,.2);border-radius:8px;border:1px solid #444;-webkit-overflow-scrolling:touch}.exchange-container .my-hand{display:flex;align-items:flex-end;justify-content:center;flex-wrap:wrap;gap:5px;min-height:120px;margin:0;padding:0;background:transparent}.exchange-cards-prominent{background:rgba(255,215,0,.1);border:2px solid var(--accent-gold);border-radius:12px;padding:20px;margin:20px 0;text-align:center}.exchange-cards-prominent h3{color:var(--accent-gold);font-family:var(--font-title);font-size:1.2rem;margin:0 0 15px}.card-display-large{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin:15px 0}.card-display-large .playing-card{transform:scale(1.1);box-shadow:0 4px 12px #ffd7004d}.exchange-reminder{color:var(--accent-gold);font-style:italic;font-size:.9rem;margin:10px 0 0}.rules-modal{max-width:500px;max-height:85vh;overflow-y:auto;position:relative}.modal-close-x{position:absolute;top:10px;right:15px;background:transparent;border:none;color:#999;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.modal-close-x:hover{color:#fff}.notification-toast{position:absolute;top:20%;left:50%;transform:translate(-50%);background:rgba(0,0,0,.8);color:#fff;padding:15px 30px;border-radius:30px;font-size:1.2rem;font-weight:700;z-index:1000;animation:fadeInOut 3s ease-in-out;border:2px solid var(--accent-gold);box-shadow:0 4px 15px #00000080}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-20px)}10%{opacity:1;transform:translate(-50%)}90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}.rules-body{display:flex;flex-direction:column}.rules-section h3{color:var(--accent-gold);border-bottom:1px solid #444;padding-bottom:5px;margin-bottom:10px;font-size:1.1rem}.rules-section p,.rules-section li{color:#ddd;font-size:.95rem;line-height:1.6;margin-bottom:8px}.rank-visual{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.rank-visual span{background:#333;padding:2px 6px;border-radius:4px;font-weight:700;color:var(--accent-teal);font-size:.9rem}.suit-visual{font-size:1.2rem;margin-top:5px}.suit-club,.suit-spade{color:#aaa}.suit-diamond,.suit-heart{color:#ff5252}.exchange-rules-grid{display:flex;flex-direction:column;gap:10px;background:rgba(0,0,0,.2);padding:10px;border-radius:8px}.exchange-rule{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;gap:5px}.role{font-weight:700;padding:2px 6px;border-radius:4px;min-width:80px;text-align:center}.role.winner{background:var(--accent-gold);color:#000}.role.loser{background:#d32f2f;color:#fff}.role.vice{background:#FFECB3;color:#000}.role.bum{background:#ef9a9a;color:#000}.close-btn{background:var(--accent-teal);color:#fff;border:none;padding:12px;width:100%;border-radius:8px;font-weight:700;margin-top:20px;cursor:pointer;font-size:1rem}
