@charset "UTF-8";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;overscroll-behavior:none}app-root{display:block;overflow-x:hidden}body{font-family:Segoe UI,sans-serif;background:#1a2a1a;color:#e8f0e8;min-height:100dvh;overflow-x:hidden;overscroll-behavior:none}button{cursor:pointer;padding:8px 16px;border:none;border-radius:6px;background:#2d6a2d;color:#fff;font-size:14px}button:hover:not(:disabled){background:#3a8a3a}button:disabled{opacity:.5;cursor:not-allowed}input,select{padding:8px 12px;border:1px solid #3a4a3a;border-radius:6px;background:#1e2e1e;color:#e8f0e8;font-size:14px;width:100%}input:focus,select:focus{outline:2px solid #2d6a2d}.logo{display:block;width:240px;margin:0 auto 20px}.logo-small{height:48px;width:auto}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh}.auth-card{background:#1e2e1e;border-radius:12px;padding:40px;width:360px}.auth-card h1{text-align:center;font-size:32px;color:#4caf50;margin-bottom:8px}.auth-card h2{text-align:center;margin-bottom:24px}.auth-card .field{margin-bottom:16px}.auth-card .field label{display:block;margin-bottom:4px;font-size:13px;color:#9ab09a}.auth-card button{width:100%;margin-top:8px;padding:12px;font-size:16px}.auth-card p{text-align:center;margin-top:16px;font-size:13px}.auth-card p a{color:#4caf50}.auth-card p.forgot{margin-top:12px;margin-bottom:0}.auth-card .info{font-size:13px;color:#9ab09a;margin-bottom:16px;line-height:1.5}.auth-card .success-msg{background:#1e3a1e;border:1px solid #4caf50;border-radius:8px;padding:16px;text-align:center;margin-bottom:16px;color:#a5d6a7}.auth-card .success-msg a{color:#4caf50;display:block;margin-top:12px}.pwd-hints{list-style:none;margin:6px 0 0;padding:0}.pwd-hints li{font-size:12px;color:#f87171;padding:2px 0}.pwd-hints li:before{content:"\2715  "}.pwd-hints li.ok{color:#4caf50}.pwd-hints li.ok:before{content:"\2713  "}.lobby{min-height:100dvh}.lobby .actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:36px}.lobby .btn-lb{background:#ffd7001f;color:gold;padding:8px 16px;border-radius:6px;text-decoration:none;font-size:14px;border:1px solid rgba(255,215,0,.3);white-space:nowrap}.lobby .btn-lb:hover{background:#ffd70038}.lobby .room-card{display:flex;justify-content:space-between;align-items:center;background:#1e2e1e;border-radius:8px;padding:16px;margin-bottom:8px}.lobby .status{padding:2px 8px;border-radius:4px;font-size:12px}.lobby .status.waiting{background:#2d6a2d}.lobby .status.inprogress{background:#6a5a2d}.lobby .status.finished{background:#4a2d2d}.lobby .empty{color:#9ab09a;padding:24px;text-align:center}.lobby .players-list{font-size:11px;color:#9ab09a}.lobby .creator-badge{font-size:10px;background:#2d4a8a;color:#90caf9;padding:1px 6px;border-radius:4px}.lobby .room-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.lobby button.rejoin{background:#6a4a2d}.lobby button.rejoin:hover{background:#8a6a3d}.lobby .btn-delete{background:#8b2020;padding:6px 10px;font-size:13px}.lobby .btn-delete:hover{background:#aa2a2a}.lobby .lobby-notif{background:#1e3a1e;border:1px solid #4caf50;color:#a5d6a7;padding:8px 20px;border-radius:8px;text-align:center;margin-bottom:8px}.lobby .rooms h2,.lobby .online-players h2{margin-bottom:12px;font-size:16px;color:#9ab09a}.lobby .online-players{margin-bottom:32px}.lobby .online-table{width:100%;border-collapse:collapse;font-size:14px}.lobby .online-table th{text-align:left;padding:8px 12px;color:#9ab09a;font-weight:600;border-bottom:1px solid #2a3a2a;font-size:12px;text-transform:uppercase}.lobby .online-table td{padding:8px 12px;border-bottom:1px solid #1e2e1e}.lobby .online-table tr:last-child td{border-bottom:none}.lobby .online-table tr.me td{color:#4caf50;font-weight:600}.lobby .online-table tr:hover td{background:#1e2e1e}.lobby-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 40px;background:#0a140ae6;backdrop-filter:blur(8px);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.06)}.lobby-nav .lobby-nav-left{display:flex;align-items:center;gap:10px}.lobby-nav .lobby-nav-right{display:flex;align-items:center;gap:12px}.lobby-nav .nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#e8f0e8}.lobby-nav .nav-brand .brand-icon{font-size:24px}.lobby-nav .nav-brand .brand-name{font-size:18px;font-weight:700;letter-spacing:.02em;color:#c8e6c9}.lobby-nav .nav-brand:hover .brand-name{color:#a5d6a7}.lobby-nav .nav-sep{color:#ffffff40;font-size:18px;font-weight:300}.lobby-nav .nav-game{display:flex;align-items:center;gap:6px}.lobby-nav .nav-game .game-icon{font-size:22px}.lobby-nav .nav-game .game-name{font-size:15px;font-weight:700;color:gold}.lobby-nav .nav-username{font-size:14px;color:#a5d6a7;font-weight:600;text-decoration:none}.lobby-nav .nav-username:hover{text-decoration:underline;cursor:pointer}.lobby-nav .btn-nav-logout{background:transparent;color:#a5d6a7;padding:8px 16px;border-radius:8px;font-weight:600;font-size:13px;border:1.5px solid rgba(165,214,167,.35);transition:border-color .2s,background .2s}.lobby-nav .btn-nav-logout:hover{border-color:#a5d6a7;background:#a5d6a714}.lobby-body{max-width:1100px;margin:0 auto;padding:24px}.create-room{background:#1e2e1e;border-radius:8px;padding:24px;margin-bottom:24px}.create-room .games-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.create-room .game-check{display:flex;align-items:center;gap:8px;font-size:13px}.create-room .game-check input{width:auto}.create-room .bot-options{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.create-room .bot-options button{padding:5px 12px;font-size:12px;background:#1a2e1a;border:1px solid #3a5a3a}.create-room .bot-options button.active{background:#2d6a2d;border-color:#4caf50}.create-room .bot-hint{font-size:11px;color:#9ab09a;display:block;margin-top:4px}.scoreboard-float{position:fixed;bottom:16px;right:16px;z-index:100;width:200px;background:#1a2a1a;border:1px solid #2d4a2d;border-radius:10px;box-shadow:0 4px 20px #0006;overflow:hidden}.scoreboard-float .scoreboard-toggle{width:100%;background:#1e3a1e;border-radius:0;font-size:12px;padding:7px 12px;text-align:left;border-bottom:1px solid #2d4a2d}.scoreboard-float .scoreboard-toggle:hover{background:#264a26}.scoreboard{padding:8px 12px}.scoreboard h3{display:none}.scoreboard table{width:100%;border-collapse:collapse}.scoreboard table tr{border-bottom:1px solid #1e3a1e}.scoreboard table tr:last-child{border-bottom:none}.scoreboard table td{padding:4px 0;font-size:12px}.scoreboard table td.score{text-align:right;font-weight:700;color:#4caf50}.card{width:64px;height:92px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#1a1a1a;border:2px solid #ccc;-webkit-user-select:none;user-select:none;transition:transform .1s,box-shadow .1s}.card.small{width:44px;height:62px;font-size:13px;border-radius:5px}.card.red{color:#c00}.card.legal{border-color:#4caf50;cursor:pointer}.card.legal:hover{border-color:#66bb6a;box-shadow:0 4px 12px #00000059}.card.blocked{opacity:.52;filter:grayscale(40%);cursor:not-allowed;pointer-events:none}.card.selected{transform:translateY(-10px);border-color:#ffeb3b}.card-drag-wrapper{cursor:grab}.card-drag-wrapper:active{cursor:grabbing}.card-drag-wrapper.cdk-drag-dragging .card{box-shadow:0 8px 24px #00000080;transform:rotate(3deg) scale(1.05)}.card-placeholder{width:64px;height:92px;border-radius:8px;border:2px dashed rgba(76,175,80,.4);background:#1e3a1e}.cdk-drop-list-dragging .card-drag-wrapper:not(.cdk-drag-placeholder){transition:transform .2s cubic-bezier(0,0,.2,1)}.game-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#1e3a1e;border:1px solid #4caf50;color:#a5d6a7;padding:10px 24px;border-radius:24px;font-size:15px;font-weight:500;z-index:200;box-shadow:0 4px 16px #0006;animation:slideDown .3s ease;pointer-events:none}@keyframes slideDown{0%{opacity:0;top:0}to{opacity:1;top:20px}}@media (max-width: 600px){.card{width:52px;height:74px;font-size:14px;border-radius:7px}.card.small{width:32px;height:46px;font-size:10px;border-radius:4px}}@media (max-width: 420px){.card{width:46px;height:66px;font-size:13px;border-radius:6px}.card.small{width:28px;height:40px;font-size:9px;border-radius:3px}.lobby-body{padding:14px}.lobby-nav{padding:12px 16px}.lobby-nav .nav-username{display:none}.lobby-nav .brand-name{font-size:15px}}@media (max-height: 500px) and (orientation: landscape){.card{width:46px;height:66px;font-size:13px}.card.small{width:28px;height:40px;font-size:9px}}.error{color:#f44336;font-size:13px;margin:8px 0}
