@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";.card{background:#fff;border:2px solid #333;border-radius:8px;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;transition:all .2s ease;-webkit-user-select:none;user-select:none}.card.small{width:50px;height:70px;font-size:.7rem}.card.medium{width:80px;height:112px;font-size:1rem}.card.large{width:100px;height:140px;font-size:1.2rem}.card.playable{cursor:pointer}.card.playable:hover{transform:translateY(-10px);box-shadow:0 8px 16px #0000004d}.card.manilha{border-width:3px;box-shadow:0 0 15px #ffd70099;animation:glow 1.5s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 0 10px #ffd70066}50%{box-shadow:0 0 20px #ffd700cc}}.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;font-weight:700}.card-corner.top-left{top:5px;left:5px}.card-corner.bottom-right{bottom:5px;right:5px;transform:rotate(180deg)}.card-value{font-size:1.2em;line-height:1}.card-suit{font-size:1em;line-height:1}.card-center{font-size:3em;opacity:.3}.card.small .card-center{font-size:2em}.card.large .card-center{font-size:4em}.card-back{background:linear-gradient(135deg,#1e3c72,#2a5298);border:2px solid #333;border-radius:8px;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d;overflow:hidden}.card-back.small{width:50px;height:70px}.card-back.medium{width:80px;height:112px}.card-back.large{width:100px;height:140px}.card-back-pattern{width:100%;height:100%;background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.1) 10px,rgba(255,255,255,.1) 20px),repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(255,255,255,.05) 10px,rgba(255,255,255,.05) 20px);border:3px solid rgba(255,255,255,.2);border-radius:5px;margin:5px}.player-info{background:#000000e6;border:2px solid rgba(255,215,0,.3);border-radius:12px;padding:12px 15px;min-width:160px;max-width:200px;transition:all .3s ease;position:relative}.player-info.current-turn{border-color:#4caf50;border-width:3px}.player-info.current-turn:before{content:"▶";position:absolute;left:-25px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:#4caf50}.player-info.you{background:#2196f34d;border-color:#2196f3;border-width:3px}.player-info.eliminated{opacity:.4;filter:grayscale(100%)}.player-name{font-weight:700;font-size:1.1rem;margin-bottom:8px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.player-lives{font-size:1.2rem;margin:5px 0;min-height:25px}.player-prediction{font-size:.85rem;color:gold;margin:5px 0;padding:5px;background:#ffd7001a;border-radius:5px;border:1px solid rgba(255,215,0,.3)}.player-cards-count{font-size:.85rem;color:#aaa;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.game-log{position:absolute;right:20px;top:120px;width:280px;height:calc(100vh - 280px);max-height:520px;background:#000000e6;border:2px solid rgba(255,215,0,.3);border-radius:15px;display:flex;flex-direction:column;z-index:50;overflow:hidden}.game-log-header{background:#ffd70033;padding:12px;font-weight:700;color:gold;text-align:center;border-bottom:2px solid rgba(255,215,0,.3);font-size:.9rem}.game-log-content{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.game-log-empty{color:#666;text-align:center;padding:20px;font-size:.85rem;font-style:italic}.game-log-message{background:#ffffff0d;padding:8px 10px;border-radius:8px;font-size:.85rem;color:#ddd;line-height:1.4;border-left:3px solid rgba(255,215,0,.5);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.game-log-content::-webkit-scrollbar{width:6px}.game-log-content::-webkit-scrollbar-track{background:transparent}.game-log-content::-webkit-scrollbar-thumb{background:#ffd7004d;border-radius:10px}.game-log-content::-webkit-scrollbar-thumb:hover{background:#ffd70080}@media (max-width: 1200px){.game-log{width:220px}}@media (max-width: 768px){.game-log{display:none}}.game-board{width:100%;max-width:1850px;height:100vh;position:relative;background:#1a1a2e;overflow:hidden;display:flex;flex-direction:column;margin:0 auto}.game-header{position:sticky;top:0;left:50%;transform:translate(-50%);background:#000000e6;padding:.75rem 2rem;border-radius:25px;display:flex;gap:2rem;align-items:center;z-index:100;border:2px solid rgba(255,215,0,.3);margin:1rem auto;width:fit-content}.round-info,.trick-info{font-size:1rem;font-weight:700;color:gold;text-shadow:0 0 10px rgba(255,215,0,.5)}.game-table{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1000px;height:520px;background:radial-gradient(circle at center,#1e7a3e,#0d5c2a);border-radius:30px;border:15px solid #8b4513;box-shadow:inset 0 0 50px #00000080,0 10px 50px #000c;display:flex;align-items:center;justify-content:center}.game-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:20px;z-index:10}.manilha-area{display:flex;flex-direction:column;align-items:center;gap:10px;background:#0000004d;padding:15px;border-radius:15px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.manilha-label{font-weight:700;font-size:.9rem;color:gold;text-shadow:0 0 10px rgba(255,215,0,.8);text-transform:uppercase;letter-spacing:1px}.played-cards{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;margin-top:20px}.played-card-container{display:flex;flex-direction:column;align-items:center;gap:8px;animation:cardDrop .3s ease-out}@keyframes cardDrop{0%{transform:translateY(-50px) scale(.5);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.played-by{font-size:.8rem;font-weight:700;color:#fff;background:#0009;padding:4px 12px;border-radius:10px}.players-sidebar{position:absolute;left:20px;top:80px;display:flex;flex-direction:column;gap:12px;z-index:50;max-height:calc(100vh - 120px);overflow-y:auto;padding-right:8px}.players-sidebar::-webkit-scrollbar{width:6px}.players-sidebar::-webkit-scrollbar-track{background:#0000004d;border-radius:10px}.players-sidebar::-webkit-scrollbar-thumb{background:#ffd70066;border-radius:10px}.players-sidebar::-webkit-scrollbar-thumb:hover{background:#ffd70099}.action-area{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#1a1a2ef2;border-radius:20px;padding:20px 30px;min-width:350px;max-width:550px;border:2px solid rgba(255,215,0,.5);box-shadow:0 10px 40px #0009;z-index:150}.prediction-panel,.waiting-panel,.scoring-panel,.finished-panel{text-align:center}.prediction-panel h3,.finished-panel h2{color:#667eea;margin-bottom:10px}.predictions-sum{font-size:1.1rem;color:#666;margin:10px 0}.prediction-buttons button{width:60px;height:60px;font-size:1.5rem;font-weight:700;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:10px;cursor:pointer;transition:all .2s}.prediction-buttons button:hover:not(:disabled){background:#667eea;color:#fff;transform:scale(1.1)}.prediction-buttons button:disabled{opacity:.3;cursor:not-allowed;border-color:#ccc;color:#ccc}.prediction-buttons button.invalid{background:#ffebee;border-color:#f44336;color:#f44336}.cards-footer{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#000000d9;padding:20px 40px;display:flex;justify-content:center;align-items:center;border-radius:20px;border:2px solid rgba(255,215,0,.4);box-shadow:0 10px 40px #0009;z-index:100}.cards-hand{display:flex;gap:15px;justify-content:center;perspective:1000px}.cards-hand .card,.cards-hand .card-back{transition:all .3s ease;cursor:pointer}.cards-hand .card.playable:hover,.cards-hand>div:hover .card-back{transform:translateY(-20px) scale(1.1);z-index:100;box-shadow:0 10px 30px #ffd70080}.cards-hand .card:not(.playable){opacity:.5;cursor:not-allowed}.cards-hand .card:not(.playable):hover{transform:none}.waiting-panel,.scoring-panel{padding:30px;font-size:1.2rem;color:#666}.finished-panel h2{font-size:2.5rem;margin-bottom:20px}@media (max-width: 768px){.game-board{padding:10px}.players-area{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.cards-hand{gap:10px}.prediction-buttons button{width:50px;height:50px;font-size:1.2rem}}.prediction-panel,.waiting-panel,.scoring-panel,.finished-panel{text-align:center;color:#fff}.prediction-panel h3,.finished-panel h2{color:gold;margin-bottom:15px;text-shadow:0 0 10px rgba(255,215,0,.5)}.prediction-panel p{color:#ddd;margin:10px 0}.predictions-sum{font-size:1.1rem;color:gold;margin:15px 0;font-weight:700}.preview-cards{margin:15px 0}.preview-cards .cards-hand{gap:10px}.prediction-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}.prediction-buttons button{width:60px;height:60px;font-size:1.5rem;font-weight:700;border:2px solid #ffd700;background:#ffd7001a;color:gold;border-radius:10px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.prediction-buttons button:hover:not(:disabled){background:gold;color:#000;transform:scale(1.15);box-shadow:0 0 20px #ffd70099}.prediction-buttons button:disabled{opacity:.3;cursor:not-allowed;border-color:#666;color:#666;background:#6464641a}.prediction-buttons button.invalid{background:#f4433633;border-color:#f44336;color:#f44336}.waiting-panel,.scoring-panel{padding:30px;font-size:1.1rem;color:#ddd}.waiting-panel strong{color:gold}.finished-panel{padding:40px}.finished-panel h2{font-size:2.5rem;margin-bottom:20px;color:gold}.finished-panel h3{font-size:1.8rem;color:#4caf50}@media (max-width: 768px){.game-table{width:95vw;height:85vh}.action-area{min-width:90vw;bottom:150px}.my-cards{bottom:10px}.cards-hand{gap:-20px}.player-info{min-width:140px;padding:10px}}.restart-btn{margin-top:25px;padding:15px 40px;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:15px;color:#fff;cursor:pointer;transition:all .3s ease}.restart-btn:hover{transform:scale(1.05);box-shadow:0 0 30px #4caf5099}.app{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;font-family:Poppins,sans-serif;max-width:1850px;margin:0 auto;width:100%}.lobby-container{text-align:center;background:#fff;border-radius:20px;padding:50px;box-shadow:0 20px 60px #0000004d;width:800px;height:auto;position:relative;display:flex;flex-direction:column;justify-content:center}h1{font-size:3rem;margin-bottom:30px;color:#667eea}.error-message{background:#ffebee;color:#c62828;padding:15px;border-radius:10px;margin-bottom:20px;font-weight:700}.lobby{display:flex;flex-direction:column;gap:25px;flex:1;justify-content:center}.input-group{display:flex;flex-direction:column;gap:10px}input{padding:20px 25px;font-size:1.2rem;font-family:Poppins,sans-serif;border:2px solid #e0e0e0;border-radius:12px;transition:border-color .3s}input:focus{outline:none;border-color:#667eea}button{padding:15px 30px;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;cursor:pointer;transition:transform .2s,box-shadow .2s}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}button:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;flex-direction:column;gap:15px}.join-room{display:flex;gap:10px}.join-room input{flex:1;text-transform:uppercase}.waiting-room{display:flex;flex-direction:column;gap:25px}.room-header{display:flex;justify-content:space-between;align-items:center;background:#f5f5f5;padding:20px;border-radius:10px}.room-header h2{color:#667eea;font-size:1.8rem;letter-spacing:2px}.copy-btn{padding:10px 20px;font-size:.9rem}.players-list{background:#f5f5f5;padding:20px;border-radius:10px}.players-list h3{color:#667eea;margin-bottom:15px}.player-item{background:#fff;padding:12px;margin:8px 0;border-radius:8px;font-weight:700;color:#333}.start-btn{padding:20px;font-size:1.2rem}.waiting-text{color:#666;font-size:1.1rem;padding:20px}@media (max-width: 600px){.app{padding:20px}h1{font-size:2rem}.join-room{flex-direction:column}.room-header{flex-direction:column;gap:10px}}.rules-page{width:100vw;height:100vh;background:#1a1a2e;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.rules-container{background:#fff;border-radius:20px;padding:40px 30px 40px 40px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative}.back-button{position:absolute;top:20px;left:20px;padding:10px 20px;font-size:.9rem;background:#f5f5f5;border:2px solid #ddd;border-radius:10px;color:#333;cursor:pointer;transition:all .2s}.back-button:hover{background:#e0e0e0;transform:translate(-3px)}.rules-container h1{color:#667eea;margin-bottom:30px;text-align:center}.rules-content{text-align:left}.rules-content section{margin-bottom:30px;padding:20px;background:#f9f9f9;border-radius:10px;border-left:4px solid #667eea}.rules-content h2{color:#667eea;margin-bottom:15px;font-size:1.3rem}.rules-content p{color:#333;line-height:1.6;margin-bottom:10px}.rules-content ul,.rules-content ol{margin-left:20px;color:#333;line-height:1.8}.rules-content li{margin-bottom:8px}.rules-content strong{color:#667eea}.rules-container::-webkit-scrollbar{width:10px}.rules-container::-webkit-scrollbar-track{background:transparent;margin:10px 0}.rules-container::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px;border:2px solid white}.rules-container::-webkit-scrollbar-thumb:hover{background:#764ba2}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;padding:15px 30px;border-radius:10px;box-shadow:0 5px 20px #0000004d;font-weight:700;z-index:10000;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast.hide{animation:slideDown .3s ease-out forwards}@keyframes slideDown{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(20px)}}.menu-buttons{display:flex;flex-direction:column;gap:20px;margin:30px 0}.menu-btn{padding:25px 40px;font-size:1.4rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:15px;cursor:pointer;transition:all .3s}.menu-btn:hover{transform:translateY(-3px);box-shadow:0 15px 30px #667eea80}.rules-link{padding:25px 40px;font-size:1.4rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:15px;cursor:pointer;transition:all .3s}.rules-link:hover{transform:translateY(-3px);box-shadow:0 15px 30px #667eea80}.button-row{display:flex;gap:15px;margin-top:10px}.back-btn{flex:1;padding:20px 40px;font-size:1.3rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:15px;cursor:pointer;transition:all .3s}.back-btn:hover{transform:translateY(-3px);box-shadow:0 15px 30px #667eea80}.action-btn{flex:1;padding:20px 40px;font-size:1.3rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:15px;cursor:pointer;transition:all .3s}.action-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 15px 30px #667eea80}.action-btn:disabled{opacity:.5;cursor:not-allowed}*{margin:0;padding:0;box-sizing:border-box}html{touch-action:manipulation;-ms-touch-action:manipulation}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1a1a2e;min-height:100vh;overflow-x:hidden;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;zoom:80%;-moz-transform:scale(.8);-moz-transform-origin:0 0}#root{width:100%;max-width:1850px;min-height:100vh;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 auto}
