:root{--bg:#0f172a;--panel:#1e293b;--text:#f8fafc;--accent:#22c55e;--border:#334155;color:var(--text);background:var(--bg);font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}#root{width:100vw;height:100vh}.game{width:100vw;height:100vh;position:relative}.game-info{background:var(--panel);border-radius:12px;width:260px;padding:16px;position:absolute;top:20px;right:20px;box-shadow:0 8px 20px #000}.game-info h2{margin-top:0}.table{pointer-events:none;position:absolute;inset:0}.player{background:var(--panel);border-radius:10px;padding:8px 14px;font-size:22px;font-weight:700;position:absolute}.player.top{top:8%;left:50%;transform:translate(-50%)}.player.bottom{bottom:25%;left:50%;transform:translate(-50%)}.player.left{top:50%;left:8%;transform:translateY(-50%)}.player.right{top:50%;right:8%;transform:translateY(-50%)}.trick{width:350px;height:350px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.trick-card{justify-content:center;align-items:center;width:167px;height:130px;display:flex;position:absolute}.trick-card img{width:100%}.trick-card.top{top:0;left:50%;transform:translate(-50%)}.trick-card.bottom{bottom:0;left:50%;transform:translate(-50%)}.trick-card.left{top:50%;left:0;transform:translateY(-50%)}.trick-card.right{top:50%;right:0;transform:translateY(-50%)}.hand{justify-content:center;align-items:flex-end;gap:12px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.hand img{border:3px solid #0000;border-radius:8px;width:auto;height:300px;transition:transform .15s,border-color .15s}.hand img.playable-card{border-color:var(--accent);cursor:pointer}.hand img.playable-card:hover{transform:translateY(-20px)}.hand img.disabled-card{opacity:.45;cursor:not-allowed}.bidding-panel{background:var(--panel);border-radius:12px;flex-direction:column;gap:10px;width:260px;padding:16px;display:flex;position:absolute;top:220px;right:20px}.bidding-panel button{cursor:pointer;border:none;border-radius:8px;padding:12px;font-size:18px}.bidding-panel button:hover{filter:brightness(1.2)}button{color:#fff;background:#334155}button:hover{background:#475569}.lobby{flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}button{box-sizing:border-box;color:#fff;cursor:pointer;text-align:center;touch-action:manipulation;-webkit-user-select:none;user-select:none;vertical-align:middle;background-color:#0a66c2;border:0;border-radius:100px;justify-content:center;align-items:center;min-width:0;max-width:480px;min-height:40px;padding:0 20px;font-family:-apple-system,system-ui,Segoe UI,Roboto,Helvetica Neue,Fira Sans,Ubuntu,Oxygen,Oxygen Sans,Cantarell,Droid Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Lucida Grande,Helvetica,Arial,sans-serif;font-size:16px;font-weight:600;line-height:20px;transition:background-color .167s cubic-bezier(.4,0,.2,1),box-shadow .167s cubic-bezier(.4,0,.2,1),color .167s cubic-bezier(.4,0,.2,1);display:inline-flex;overflow:hidden}button:hover,button:focus{color:#fff;background-color:#16437e}button:active{color:#ffffffb3;background:#09223b}button:disabled{display:none}.buttonkick{box-sizing:border-box;color:#fff;cursor:pointer;text-align:center;text-rendering:geometricprecision;text-transform:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;vertical-align:middle;background:#ff4742;border:1px solid #ff4742;outline:0;min-height:40px;padding:12px 14px;font-family:nunito,roboto,proxima-nova,proxima nova,sans-serif;font-size:16px;font-weight:800;line-height:16px;display:inline-block;box-shadow:1px 2px 4px #0000001a}.buttonkick:hover,.button:active{background-color:initial;color:#ff4742;background-position:0 0}.buttonkick:active{opacity:.5}.scoreboard{background:var(--panel);border-radius:12px;width:200px;padding:16px;position:absolute;top:20px;left:20px;box-shadow:0 8px 20px #000}.scoreboard-team{margin-bottom:10px}.scoreboard-team .team-name{margin:0;font-weight:700}.scoreboard-team .team-score{margin:2px 0 0;font-size:20px}.scoreboard-team .roem{opacity:.7;font-size:13px}.game-finished-overlay{z-index:10;background:#000000bf;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.game-finished-panel{background:var(--panel);text-align:center;border-radius:16px;padding:32px 48px;box-shadow:0 12px 30px #000}.final-scores p{font-size:18px}.player.active-turn{box-shadow:0 0 0 3px var(--accent)}.last-trick{background:var(--panel);border-radius:12px;width:220px;padding:12px 16px;font-size:14px;position:absolute;bottom:20px;right:20px;box-shadow:0 8px 20px #000}.last-trick p{margin:0}.team-selection{gap:20px;margin:16px 0;display:flex}.team-column{background:var(--panel);border-radius:10px;min-width:140px;padding:12px 16px}.team-column h4{margin-top:0}.team-column p{margin:4px 0}.last-trick-cards{gap:4px;margin-top:8px;display:flex}.last-trick-card{border-radius:4px;width:40px;height:auto}
