*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#1e3c72,#2a5298);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.motion-card-table{background:linear-gradient(135deg,#667eea,#764ba2);height:100vh;left:0;position:fixed;top:0;width:100vw}.motion-card-table,.table-surface{align-items:center;display:flex;justify-content:center}.table-surface{background-color:#135926;border-radius:20px;height:calc(100% - 16px);max-width:1000px;overflow:visible;padding:10px;position:relative;width:calc(100% - 24px)}@media (max-width:600px){.table-surface{border-radius:0;height:100%;margin:0;padding:0;width:100%}}:root{--card-width:70px;--card-height:100px}.motion-card{height:100px!important;height:var(--card-height)!important;position:absolute;transform:translate(-50%,-50%);transform-origin:center center;transform-style:preserve-3d;transition:filter .2s ease;width:70px!important;width:var(--card-width)!important}.motion-card.playing{pointer-events:none}.card-back,.card-face{backface-visibility:hidden;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000004d;height:100%;object-fit:contain;width:100%}.card-back{background:linear-gradient(45deg,#2c3e50 25%,#34495e 0,#34495e 50%,#2c3e50 0,#2c3e50 75%,#34495e 0);background-size:20px 20px}.deck{align-items:center;display:flex;justify-content:center;z-index:10}.deck .card-back{box-shadow:0 4px 8px #0000004d;height:100px;height:var(--card-height);width:70px;width:var(--card-width)}.deal-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-top:200px;padding:12px 24px;position:absolute;z-index:100}.deal-button:hover{background:linear-gradient(135deg,#764ba2,#667eea)}.opponent-card{pointer-events:none}@keyframes cardLift{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@media (hover:none){.motion-card:hover{transform:translate(-50%,-50%)!important}}.opponent-avatar-container,.player-avatar-container{align-items:center;display:flex;flex-direction:column;position:absolute;z-index:20}.opponent-avatar-container.top{left:50%;top:25px;transform:translateX(-50%)}.opponent-avatar-container.left{left:25px;top:50%;transform:translateY(-50%)}.player-avatar-container{bottom:15px;left:50%;transform:translateX(-50%)}.avatar-circle{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:3px solid #ffffff4d;border-radius:50%;color:#fff;display:flex;font-size:20px;font-weight:700;height:50px;justify-content:center;transition:all .3s ease;width:50px}.current-turn .avatar-circle{animation:turnPulse 2s infinite;border-color:#2ecc71;box-shadow:0 0 20px #2ecc7180}@keyframes turnPulse{0%,to{box-shadow:0 0 20px #2ecc7180;transform:scale(1)}50%{box-shadow:0 0 30px #2ecc71b3;transform:scale(1.05)}}.opponent-name,.player-name{color:#fff;font-size:12px;font-weight:600;text-shadow:0 1px 2px #00000080}.player-role{color:gold;font-size:11px;font-weight:500;letter-spacing:.5px;margin-top:3px;text-shadow:0 1px 3px #00000080;text-transform:uppercase}.motion-card-table .game-mode-display{align-items:center;color:#fff;display:flex;flex-direction:column;font-weight:600;height:400px;justify-content:center;left:50%;padding:8px 16px;position:absolute;top:50%;transform:translate(-50%,-50%);width:400px}.mode-value{font-size:140px;height:160px}.mode-title,.mode-value{color:#667eeaa5;font-weight:700}.mode-title{font-size:32px}.score-pile-label{align-items:center;background:#0000004d;border:2px solid #fff3;border-radius:12px;display:flex;flex-direction:column;height:140px;justify-content:center;padding:12px;transition:all .3s ease;width:90px;z-index:5}.score-pile-label.player-pile{background:linear-gradient(135deg,#667eea4d,#764ba24d);border-color:#667eea80}.pile-stack{height:86px;position:relative;width:60px}.motion-card.pile-card img{box-shadow:none!important}.pile-count{color:#ffffffb3;font-size:14px}.pile-label{color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px}.pile-label,.pile-subtitle{text-align:center;text-transform:uppercase}.pile-subtitle{color:#ffd700e6;font-size:10px;font-weight:600;letter-spacing:.3px;margin-top:2px}.pile-score{color:#fff;font-size:32px;font-weight:700;margin-top:8px;text-align:center}.skat-exchange-controls{background:#fffffff2;border-radius:15px;box-shadow:0 4px 20px #0003;left:50%;padding:20px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:500}.skat-preview h3{color:#333}.skat-cards{gap:10px}.skat-card{height:120px;width:80px}.skat-buttons{display:flex;gap:10px;justify-content:center}.discard-controls{text-align:center}.discard-info{color:#c2c2c2;font-size:16px;margin-bottom:15px}.motion-card.selected{box-shadow:0 0 20px #ffd700cc,0 0 40px #ffd70066}.motion-card.selected:before{animation:pulse 1.5s ease-in-out infinite;background:linear-gradient(45deg,#0000,#ffd7004d,#0000);border-radius:8px;bottom:-5px;content:"";left:-5px;position:absolute;right:-5px;top:-5px;z-index:-1}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.speech-bubble{animation:fadeInOut 5s ease-in-out;background:#fffffff2;border-radius:10px;box-shadow:0 4px 8px #0003;color:#333;font-size:14px;padding:8px 12px;pointer-events:none;position:absolute;text-align:center;white-space:normal;width:100px;z-index:10000}.speech-bubble:after{border-style:solid;content:"";height:0;position:absolute;width:0}.speech-bubble.top-bubble{left:100%;margin-left:15px;top:50%;transform:translateY(-50%)}.speech-bubble.top-bubble:after{border-color:#0000 #fffffff2 #0000 #0000;border-width:8px 8px 8px 0;left:-8px;top:50%;transform:translateY(-50%)}.speech-bubble.left-bubble{left:50%;margin-top:15px;top:100%;transform:translateX(-50%)}.speech-bubble.left-bubble:after{border-color:#0000 #0000 #fffffff2;border-width:0 8px 8px;left:50%;top:-8px;transform:translateX(-50%)}.speech-bubble.player-bubble{left:auto;margin-right:15px;right:100%;top:50%;transform:translateY(-50%)}.speech-bubble.player-bubble:after{border-color:#0000 #0000 #0000 #fffffff2;border-width:8px 0 8px 8px;right:-8px;top:50%;transform:translateY(-50%)}@media (max-width:900px){.avatar-circle{font-size:18px;height:45px;width:45px}.deal-button{font-size:16px;margin-top:150px;padding:10px 20px}.score-pile-label{height:120px;padding:10px;width:80px}.pile-score{font-size:28px}.mode-value{font-size:100px}}@media (max-width:600px){.motion-card-table{min-height:500px}.deal-button{font-size:14px;margin-top:120px;padding:8px 16px}.score-pile-label{height:100px;padding:6px;width:70px}.pile-stack{height:58px;width:40px}.pile-score{font-size:24px;margin-top:5px}.pile-label{font-size:11px}.pile-subtitle{font-size:9px;margin-top:1px}.avatar-circle{border-width:2px;font-size:16px;height:40px;width:40px}.opponent-name,.player-name{font-size:11px}.player-role{font-size:10px;margin-top:2px}.opponent-avatar-container,.player-avatar-container{gap:3px}.opponent-avatar-container.top.mobile{top:5px}.opponent-avatar-container.left.mobile{left:5px}.player-avatar-container.mobile{bottom:2px}.opponent-avatar-container.mobile,.player-avatar-container.mobile{gap:2px}.mobile .avatar-circle{font-size:15px;height:36px;width:36px}.mobile .opponent-name,.mobile .player-name{font-size:10px}.mobile .player-role{font-size:9px;margin-top:1px}.motion-card-table .game-mode-display{height:200px;padding:5px;width:200px}.mode-value{font-size:70px}.speech-bubble{font-size:12px;max-width:150px;padding:6px 10px}.skat-exchange-controls{max-width:350px;padding:15px;width:90%}.skat-card{height:90px;width:60px}}.game-mode-selector{left:50%;min-width:350px;padding:25px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:50}.game-mode-selector h3{color:#2c3e50;font-size:20px;font-weight:600;margin:0 0 20px}.mode-options{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.mode-option{align-items:center;background:#f0f0f0;border:2px solid #0000;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 18px;transition:all .2s ease}.mode-option:hover{background:#e0e0e0;transform:translateY(-2px)}.mode-option.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.mode-name{font-size:16px;font-weight:600}.mode-desc{font-size:11px;opacity:.8}.trump-selection{background:#0000000d;border-radius:12px;margin-bottom:20px;padding:15px;transition:opacity .3s ease,background .3s ease}.trump-selection.disabled{background:#00000005;opacity:.5}.trump-selection h4{color:#bbb;font-size:14px;margin:0 0 10px;transition:color .3s ease}.trump-selection.disabled h4{color:#c4c4c4}.trump-options{display:flex;gap:10px;justify-content:center}.trump-option{background:#fff;border:3px solid #ddd;border-radius:10px;cursor:pointer;font-size:28px;height:50px;transition:all .2s ease;width:50px}.trump-option:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.trump-option:disabled:hover{border-color:#ddd;transform:none}.trump-option.red{color:#dc3545}.trump-option.black{color:#333}.trump-option.selected,.trump-option:not(:disabled):hover{border-color:#667eea;transform:scale(1.1)}.trump-option.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important}.trump-option.selected:disabled{opacity:.6}.declare-button{background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .2s ease}.declare-button:hover{box-shadow:0 4px 12px #2ecc714d;transform:translateY(-2px)}.waiting-for-declarer{background:#ffffffe6;border-radius:15px;box-shadow:0 4px 12px #0000001a;left:50%;padding:20px 30px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:50}.waiting-for-declarer span{color:#666;font-size:16px;font-style:italic}.lobby-waiting{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:50}.lobby-waiting h3{color:#b1c4d7;font-size:24px;font-weight:600;margin:0 0 15px}.game-code-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea4d;margin:20px 0;padding:15px 20px}.game-code-label{color:#ffffffe6;font-size:12px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.game-code{color:#fff;font-family:Courier New,monospace;font-size:28px;font-weight:700;letter-spacing:6px;margin-bottom:5px}.game-code-hint{color:#fffc;font-size:11px;font-style:italic}.player-count{color:#667eea;font-size:18px;font-weight:600;margin-bottom:15px}.waiting-text{color:#939393;font-size:14px;font-style:italic;margin:15px 0}.add-ai-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:12px 24px;transition:all .2s ease}.add-ai-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.bidding-controls{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:50}.bidding-controls.waiting{background:#ffffffe6;border-radius:15px;box-shadow:0 4px 12px #0000001a;padding:15px 25px}.bidding-controls.waiting span{color:#666;font-size:16px;font-style:italic}.bid-info{background:#fffffff2;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:15px;padding:10px 20px}.current-bid{color:#2c3e50;font-size:18px;font-weight:600}.bid-buttons{display:flex;gap:12px;justify-content:center}.bid-btn{border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;min-width:100px;padding:12px 24px;transition:all .2s ease}.bid-btn.raise{background:linear-gradient(135deg,#2ecc71,#27ae60)}.bid-btn.raise:hover{box-shadow:0 4px 12px #2ecc714d;transform:translateY(-2px)}.bid-btn.hold{background:linear-gradient(135deg,#f39c12,#e67e22)}.bid-btn.hold:hover{box-shadow:0 4px 12px #f39c124d;transform:translateY(-2px)}.bid-btn.pass{background:linear-gradient(135deg,#e74c3c,#c0392b)}.bid-btn.pass:hover{box-shadow:0 4px 12px #e74c3c4d;transform:translateY(-2px)}.skat-exchange{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:50}.skat-preview h3{color:#85a3c2;font-size:18px;margin:0 0 15px}.skat-info{color:#85a3c2;font-size:14px;margin:0 0 10px}.skat-cards{display:flex;height:100px;justify-content:center;margin-bottom:20px;position:relative}.skat-card-wrapper{height:100px;position:relative;width:160px}.skat-actions{display:flex;flex-direction:column;gap:10px;justify-content:center}.skat-btn{border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.skat-btn.pickup{background:linear-gradient(135deg,#667eea,#764ba2)}.skat-btn.pickup:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.skat-btn.play-hand{background:linear-gradient(135deg,#2ecc71,#27ae60)}.skat-btn.play-hand:hover{box-shadow:0 4px 12px #2ecc714d;transform:translateY(-2px)}.discard-info h3{color:#709ecd;font-size:16px;margin:0 0 10px}.discard-info p{color:#b9b9b9;font-size:14px;margin:0 0 15px}.skat-btn.discard{background:linear-gradient(135deg,#e74c3c,#c0392b)}.skat-btn.discard:hover:not(:disabled){box-shadow:0 4px 12px #e74c3c4d;transform:translateY(-2px)}.skat-btn.discard:disabled{cursor:not-allowed;opacity:.5}.everyone-passed-notice{background:#ffc10726;border:1px solid #ffc1074d;border-radius:8px;color:#ffc107;font-size:14px;font-weight:500;margin:0 0 20px;padding:10px 15px}.game-screen{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:100vh;justify-content:center;margin:0;overflow:hidden;padding:0;position:relative;width:100vw}.loading-container{align-items:center;display:flex;flex-direction:column;gap:20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:60px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{color:#fff;font-size:18px;font-weight:500;letter-spacing:1px}.error-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:40px;text-align:center}.error-icon{font-size:64px;margin-bottom:20px}.error-title{color:#2c3e50;font-size:24px;font-weight:600;margin:0 0 15px}.error-message{color:#7f8c8d;font-size:16px;line-height:1.5;margin:0 0 30px}.error-actions{display:flex;gap:15px;justify-content:center}.back-btn,.retry-btn{border:none;border-radius:25px;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.5px;padding:12px 30px;text-transform:uppercase;transition:all .3s ease}.retry-btn{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff}.retry-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.back-btn{background:#ecf0f1;color:#2c3e50}.back-btn:hover{background:#d5dbdd;transform:translateY(-2px)}.messages-container{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:1000}.message{animation:fadeInOut 5s ease-in-out;background:#fffffff2;border-radius:20px;box-shadow:0 4px 8px #0003;color:#333;font-size:14px;padding:10px 20px;text-align:center}.message.error{background:#ef4444f2;color:#fff}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.special-result{animation:glow 2s ease-in-out infinite;color:gold;font-size:20px;font-weight:700;margin-top:10px;text-shadow:2px 2px 4px #00000080}@keyframes glow{0%,to{text-shadow:2px 2px 4px #00000080}50%{text-shadow:0 0 20px gold,0 0 30px gold}}.game-over-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.game-over-modal{animation:slideInScale .4s ease-out;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;box-shadow:0 25px 60px #00000080;max-width:500px;padding:40px;text-align:center;width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInScale{0%{opacity:0;transform:scale(.9) translateY(50px)}to{opacity:1;transform:scale(1) translateY(0)}}.game-over-header{margin-bottom:30px}.result-trophy{display:inline-block;font-size:72px;margin-bottom:15px}.result-trophy.winner{animation:bounce 1s ease-in-out infinite}.result-trophy.loser{animation:shake .5s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-10px) rotate(-5deg)}50%{transform:translateY(-20px) rotate(5deg)}75%{transform:translateY(-10px) rotate(-5deg)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.game-over-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:700;letter-spacing:2px;margin:0}.game-over-scores{background:#667eea14;border-radius:15px;margin-bottom:25px;padding:25px}.score-section{display:flex;gap:30px;justify-content:center;margin-bottom:15px}.score-label{color:#2c3e50;font-size:18px;font-weight:600}.null-result{color:#667eea;font-size:16px;font-style:italic;margin-top:10px}.game-mode-info{background:#764ba21a;border-radius:10px;display:inline-block;margin-bottom:25px;padding:12px 20px}.mode-label{color:#764ba2;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.trump-suit{color:#667eea;font-weight:700;margin-left:8px}.game-over-players{background:#f8f9fa;border-radius:12px;display:flex;gap:30px;justify-content:space-around;margin-bottom:30px;padding:20px}.player-role-section{flex:1 1}.role-header{color:#6c757d;font-size:14px;font-weight:600;letter-spacing:1px;margin-bottom:10px;text-transform:uppercase}.player-entry{background:#fff;border-radius:8px;color:#2c3e50;font-size:14px;font-weight:500;margin-bottom:8px;padding:8px 12px}.declarer-entry{border-left:3px solid #667eea}.opponent-entry{border-left:3px solid #e74c3c}.play-again-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:18px;font-weight:600;letter-spacing:1px;padding:15px 40px;text-transform:uppercase;transition:all .3s ease}.play-again-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.play-again-btn:active{transform:translateY(0)}@media (max-width:768px){.game-container{border-radius:0;height:100vh}}.App{align-items:center;display:flex;justify-content:center;min-height:100vh}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
/*# sourceMappingURL=main.8160e617.css.map*/