.landscape-warning{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0d4d1a;color:#fff;z-index:9999;align-items:center;justify-content:center;text-align:center;flex-direction:column}.warning-content{padding:20px}.warning-content h1{font-size:2em;margin-bottom:10px}.warning-content p{font-size:1.2em;margin-bottom:20px}.rotate-icon{font-size:4em;animation:rotate 2s infinite ease-in-out}@keyframes rotate{0%{transform:rotate(0)}25%{transform:rotate(90deg)}50%{transform:rotate(90deg)}75%{transform:rotate(0)}to{transform:rotate(0)}}@media screen and (orientation:portrait)and (max-width:1024px){.landscape-warning{display:flex}.game-container{display:none!important}}body{margin:0;padding:0;background-color:#0d4d1a;color:#fff;font-family:Segoe UI,sans-serif;overflow:hidden}.game-container{display:flex;flex-direction:column;height:100vh;width:100vw;align-items:center;justify-content:center;position:relative;overflow:hidden}.game-board-scaler{background:transparent}.game-header{position:absolute;top:10px;left:0;width:100%;text-align:center;z-index:10;pointer-events:none}.game-status-title{font-size:32px;color:#ffeb3b;text-shadow:0 2px 4px rgba(0,0,0,.8);margin:0}.main-menu{background:radial-gradient(circle,#1a5e2a,#0d4d1a);overflow-y:auto}.menu-title{font-size:90px;color:#ffeb3b;text-shadow:0 0 30px rgba(255,235,59,.4);margin-bottom:40px;text-align:center}.menu-content{display:flex;flex-direction:column;gap:20px;align-items:center}.menu-button{padding:18px 50px;font-size:24px;background:#2e7d32;border:2px solid #ffeb3b;border-radius:12px;color:#fff;cursor:pointer;transition:.2s;box-shadow:0 4px 10px #0000004d}.menu-button:hover{background:#388e3c;transform:scale(1.05)}.settings-box{background:#1a5e2a;padding:30px;border-radius:20px;border:3px solid #ffeb3b;max-width:600px;width:90%}.settings-grid{display:grid;gap:12px;margin:20px 0}.settings-grid label{display:flex;align-items:center;gap:10px;font-size:18px;cursor:pointer}.table{width:850px;height:550px;background-color:#1a5e2a;border-radius:50%;border:12px solid #2e7d32;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center;box-shadow:0 10px 50px #0009}.player-info{position:absolute;padding:10px 15px;background:#000000d9;border-radius:15px;display:flex;flex-direction:column;align-items:center;min-width:120px;z-index:50;border:1px solid rgba(255,255,255,.2)}.player-bottom{bottom:60px;left:50%;transform:translate(-50%);border-bottom:4px solid #ffeb3b}.player-left{left:-60px;top:50%;transform:translateY(-50%)}.player-top{top:20px;left:50%;transform:translate(-50%)}.player-right{right:-60px;top:50%;transform:translateY(-50%)}.player-header{display:flex;align-items:center;gap:8px;font-weight:700;font-size:17px}.player-points{font-size:14px;opacity:.9}.badges-row{display:flex;gap:6px;margin-top:5px}.team-badge{font-size:11px;background:#388e3c;padding:2px 8px;border-radius:10px}.rekontra-badge{font-size:11px;background:#d32f2f;padding:2px 8px;border-radius:10px;font-weight:700}.bid-badge{font-size:11px;background:#1976d2;padding:2px 8px;border-radius:4px}.current-turn-indicator{color:#ffeb3b;animation:bounce 1s infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.card{width:95px;height:140px;background:#fff;border-radius:10px;border:1px solid #999;display:flex;flex-direction:column;justify-content:space-between;padding:8px;color:#000;position:relative;background:linear-gradient(135deg,#fff,#eee);box-shadow:2px 2px 8px #0006}.card.red{color:#d32f2f}.card.black{color:#222}.card.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.card.selected{transform:translateY(-30px);border:2px solid #ffeb3b;z-index:120!important}.card-corner{font-size:18px;font-weight:700;line-height:1}.card-corner.bottom{align-self:flex-end;transform:rotate(180deg)}.card-center{font-size:40px;text-align:center;flex:1;display:flex;align-items:center;justify-content:center}.hand{display:flex;justify-content:center;position:absolute;bottom:10px;width:100%;z-index:100;pointer-events:none}.hand .card{margin-left:-45px;cursor:pointer;pointer-events:auto;transition:.2s}.hand .card:first-child{margin-left:0}.hand .card:hover{transform:translateY(-50px) scale(1.1);z-index:110;box-shadow:0 10px 25px #00000080}.trick{width:100%;height:100%;position:relative;pointer-events:none}.trick-card-wrapper{position:absolute;display:flex;flex-direction:column;align-items:center;gap:5px;z-index:20;transition:all 1.5s ease-in-out}.trick-card{width:85px;height:125px;transform:none!important;box-shadow:0 4px 15px #00000080}.trick-card .card-center{font-size:32px}.tcc-0{bottom:140px;left:50%;transform:translate(-50%);animation:p0In .4s ease-out}.tcc-1{left:160px;top:50%;transform:translateY(-50%);animation:p1In .4s ease-out}.tcc-2{top:140px;left:50%;transform:translate(-50%);animation:p2In .4s ease-out}.tcc-3{right:160px;top:50%;transform:translateY(-50%);animation:p3In .4s ease-out}.tcc-0.move-to-center{bottom:50%;transform:translate(-50%,50%)}.tcc-1.move-to-center{left:50%;transform:translate(-50%,-50%)}.tcc-2.move-to-center{top:50%;transform:translate(-50%,-50%)}.tcc-3.move-to-center{right:50%;transform:translate(50%,-50%)}.move-to-player-0{bottom:20px!important;left:50%!important;transform:translate(-50%) scale(.5)!important;opacity:0}.move-to-player-1{left:-60px!important;top:50%!important;transform:translateY(-50%) scale(.5)!important;opacity:0}.move-to-player-2{top:20px!important;left:50%!important;transform:translate(-50%) scale(.5)!important;opacity:0}.move-to-player-3{right:-60px!important;top:50%!important;transform:translateY(-50%) scale(.5)!important;opacity:0}@keyframes p0In{0%{transform:translate(-50%,200px);opacity:0}}@keyframes p1In{0%{transform:translate(-200px,-50%);opacity:0}}@keyframes p2In{0%{transform:translate(-50%,-200px);opacity:0}}@keyframes p3In{0%{transform:translate(200px,-50%);opacity:0}}.trick-card-label{font-size:13px;font-weight:700;background:#000c;padding:2px 8px;border-radius:4px}.game-actions{position:absolute;top:60px;width:100%;display:flex;justify-content:center;z-index:200;pointer-events:none}.game-actions>*{pointer-events:auto}.ansage-btn{padding:12px 25px;font-size:18px;font-weight:700;border-radius:10px;cursor:pointer;border:2px solid white;color:#fff;box-shadow:0 4px 15px #0006;margin:0 10px}.ansage-btn.re{background:#d32f2f}.ansage-btn.kontra{background:#1976d2}.bidding-area{background:#000000e6;padding:20px 40px;border-radius:15px;border:2px solid #ffeb3b;pointer-events:auto}.notification-container{position:fixed;top:80px;display:flex;flex-direction:column;gap:10px;z-index:1000;pointer-events:none}.notification-toast{background:#ffeb3be6;color:#000;padding:12px 25px;border-radius:8px;font-weight:700;font-size:18px;box-shadow:0 4px 15px #00000080;animation:toastIn .3s ease-out}@keyframes toastIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.special-points-list{margin-top:15px;padding:10px;background:#ffffff0d;border-radius:8px;text-align:left}.sp-entry{font-size:14px;color:#ffeb3b;margin-bottom:4px}.final-sum{font-size:28px;font-weight:700;margin-top:20px;border-top:2px solid rgba(255,255,255,.2);padding-top:10px}.controls{position:absolute;top:20px;right:20px;z-index:200}.controls button{padding:10px 20px;background:#2e7d32;border:2px solid #ffeb3b;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;transition:.2s}.controls button:hover{background:#388e3c;transform:scale(1.05)}.scoring-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000f2;padding:40px;border-radius:20px;border:4px solid #ffeb3b;text-align:center;z-index:1000;display:flex;flex-direction:column;align-items:center;gap:20px;box-shadow:0 0 50px #000c;min-width:500px}.scoring-results{width:100%}.winner-banner{font-size:32px;font-weight:700;color:#ffeb3b;margin-bottom:20px;text-shadow:0 0 10px rgba(255,235,59,.5)}.score-details{display:flex;justify-content:space-around;width:100%;margin-bottom:20px;gap:20px}.team-score-column{flex:1;background:#ffffff0d;padding:15px;border-radius:10px;text-align:left}.team-score-column h3{margin-top:0;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:10px;color:#81c784}.team-score-column ul{list-style:none;padding:0;margin:0}.team-score-column li{padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px}.final-score-summary{font-size:24px;font-weight:700;color:#fff;background:#2e7d32;padding:10px 20px;border-radius:10px;margin-top:10px}@media(max-width:768px){.menu-title{font-size:48px;margin-bottom:20px}.menu-button{padding:12px 30px;font-size:18px}.settings-box{padding:15px}.settings-grid label{font-size:16px}.scoring-overlay{min-width:90vw;padding:20px}.score-details{flex-direction:column;gap:10px}.winner-banner{font-size:24px}}.room-id-header{color:#fff}.room-id-value{color:#ffeb3b;font-size:40px;letter-spacing:5px}.waiting-room-box{min-width:400px}.player-list-header{display:flex;justify-content:space-between;align-items:center}.add-bot-btn{padding:8px 15px;font-size:14px}.player-list{list-style:none;padding:0;font-size:20px}.player-item{padding:5px;border-bottom:1px solid #444;color:#fff}.player-item.current-player{color:#ffeb3b}.waiting-room-actions{margin-top:30px}.bot-info-text{opacity:.7;padding:10px;font-size:14px}.leave-room-btn{margin-top:20px;background-color:#d32f2f}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100vw;height:100vh}
