.multiplayer-lobby{max-width:600px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--background-primary, white);color:var(--text-color, #333)}.lobby-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid var(--border-color, #e0e0e0)}.lobby-header h2{margin:0;color:var(--text-color, #333);font-size:28px}.lobby-content{display:grid;gap:30px}.lobby-section{background:var(--background-secondary, #f9f9f9);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;padding:25px;box-shadow:0 2px 4px var(--shadow-color, rgba(0, 0, 0, .1))}.lobby-section h3{margin:0 0 15px;color:var(--text-primary, #444);font-size:20px;font-weight:600}.lobby-section p{margin:0 0 20px;color:var(--text-secondary, #666);line-height:1.5}.create-game-button{background:linear-gradient(135deg,var(--success-color, #4CAF50),var(--success-dark, #45a049));color:var(--button-text, white);border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px var(--success-shadow, rgba(76, 175, 80, .3))}.create-game-button:hover{background:linear-gradient(135deg,var(--success-dark, #45a049),var(--success-darker, #3e8e41));transform:translateY(-1px);box-shadow:0 4px 8px var(--success-shadow-hover, rgba(76, 175, 80, .4))}.join-by-id{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.join-by-id input{width:200px;padding:10px 12px;border:2px solid var(--border-color, #ddd);border-radius:6px;font-size:14px;background:var(--background-primary, white);color:var(--text-color, #333);transition:border-color .2s ease}.join-by-id input:focus{outline:none;border-color:var(--primary-color, #2196F3);box-shadow:0 0 0 3px var(--primary-focus-shadow, rgba(33, 150, 243, .1))}.join-by-id button{background:var(--primary-color, #2196F3);color:var(--button-text, white);border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.join-by-id button:hover:not(:disabled){background:var(--primary-dark, #1976D2)}.join-by-id button:disabled{background:var(--disabled-bg, #ccc);color:var(--disabled-text, #999);cursor:not-allowed}.loading{text-align:center;color:var(--text-secondary, #888);font-style:italic;padding:40px 20px}.no-games{text-align:center;color:var(--text-muted, #888);font-style:italic;padding:40px 20px}.game-list{display:grid;gap:8px}.game-item{background:var(--background-primary, white);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;padding:12px;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;gap:16px}.game-item:hover{border-color:var(--primary-color, #2196F3);box-shadow:0 2px 8px var(--primary-shadow, rgba(33, 150, 243, .1))}.game-left{flex:1;min-width:0}.game-rules{font-weight:600;font-size:14px;color:var(--text-color, #333);margin-bottom:2px}.game-host{font-size:13px;color:var(--text-secondary, #666)}.game-center{flex:1;min-width:0}.game-center .game-id{font-family:Courier New,monospace;font-size:12px;font-weight:600;color:var(--text-color, #333)!important;margin-bottom:2px}.game-created{font-size:12px;color:var(--text-muted, #888);font-style:italic}.game-right{flex-shrink:0}.join-button{background:var(--primary-color, #2196F3);color:var(--button-text, white);border:none;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s ease;min-width:70px}.join-button:hover:not(:disabled){background:var(--primary-dark, #1976D2)}.join-button:disabled{background:var(--disabled-bg, #ccc);color:var(--disabled-text, #999);cursor:not-allowed}@media (max-width: 600px){.multiplayer-lobby{padding:15px}.lobby-header{flex-direction:column;align-items:flex-start;gap:10px}.lobby-section{padding:20px}.join-by-id{flex-direction:column;align-items:stretch}.game-item{flex-direction:column;align-items:flex-start;gap:12px}.game-left,.game-center,.game-right{width:100%}.game-right{display:flex;justify-content:flex-end}}@media (prefers-color-scheme: dark){.multiplayer-lobby{--background-primary: #2a2a2a;--background-secondary: #1e1e1e;--background-hover: #3a3a3a;--text-color: #e0e0e0;--text-primary: #f0f0f0;--text-secondary: #b0b0b0;--text-muted: #888;--border-color: #444;--shadow-color: rgba(0, 0, 0, .3);--primary-color: #4fa8ff;--primary-dark: #3d8bff;--primary-shadow: rgba(79, 168, 255, .2);--primary-focus-shadow: rgba(79, 168, 255, .3);--success-color: #5cbf60;--success-dark: #4fb052;--success-darker: #429947;--success-shadow: rgba(92, 191, 96, .3);--success-shadow-hover: rgba(92, 191, 96, .4);--disabled-bg: #555;--disabled-text: #888;--button-text: white;--accent-color: #b3d9ff;--accent-light-bg: #1a2d4a}}.multiplayer-setup{max-width:600px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--background-primary, white);color:var(--text-color, #333)}.setup-header{display:flex;align-items:center;gap:20px;margin-bottom:25px;padding-bottom:12px;border-bottom:2px solid var(--border-color, #e0e0e0)}.back-button{background:var(--background-primary, white);border:2px solid var(--text-secondary, #666);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;color:var(--text-secondary, #666);transition:all .2s ease}.back-button:hover{background-color:var(--background-hover, #f5f5f5);border-color:var(--text-color, #333);color:var(--text-color, #333)}.setup-header h2{margin:0;color:var(--text-color, #333);font-size:24px}.setup-content{display:grid;gap:20px}.setup-section{background:var(--background-secondary, #f9f9f9);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;padding:20px;box-shadow:0 2px 4px var(--shadow-color, rgba(0, 0, 0, .1))}.setup-section h3{margin:0 0 15px;color:var(--text-primary, #444);font-size:18px;font-weight:600}.rule-set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.rule-set-card{background:var(--background-primary, white);border:2px solid var(--border-color, #e0e0e0);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease}.rule-set-card:hover{border-color:var(--primary-color, #2196F3);box-shadow:0 2px 8px var(--primary-shadow, rgba(33, 150, 243, .1))}.rule-set-card.selected{border-color:var(--primary-color, #2196F3);background:var(--primary-light-bg, #f3f9ff);box-shadow:0 2px 8px var(--primary-shadow, rgba(33, 150, 243, .2))}.rule-set-card h4{margin:0 0 10px;color:var(--text-color, #333);font-size:16px;font-weight:600}.rule-set-card p{margin:0;color:var(--text-secondary, #666);font-size:14px;line-height:1.4}.setting-group{margin-bottom:25px}.setting-group:last-child{margin-bottom:0}.setting-group label{display:block;margin-bottom:8px;color:var(--text-primary, #444);font-weight:600;font-size:14px}.setting-group label input[type=checkbox]{margin-right:8px;transform:scale(1.1)}.setting-group select{width:100%;padding:10px 12px;border:2px solid var(--border-color, #ddd);border-radius:6px;font-size:14px;background:var(--background-primary, white);color:var(--text-color, #333);transition:border-color .2s ease}.setting-group select:focus{outline:none;border-color:var(--primary-color, #2196F3);box-shadow:0 0 0 3px var(--primary-focus-shadow, rgba(33, 150, 243, .1))}.setting-group textarea{width:100%;min-height:80px;padding:10px 12px;border:2px solid var(--border-color, #ddd);border-radius:6px;font-size:14px;font-family:inherit;background:var(--background-primary, white);color:var(--text-color, #333);resize:vertical;transition:border-color .2s ease}.setting-group textarea:focus{outline:none;border-color:var(--primary-color, #2196F3);box-shadow:0 0 0 3px var(--primary-focus-shadow, rgba(33, 150, 243, .1))}.setting-description{margin:8px 0 0;color:var(--text-secondary, #666);font-size:12px;line-height:1.4}.info-group{background:var(--info-bg, #f0f8ff);border:1px solid var(--info-border, #b3d9ff);border-radius:8px;padding:15px;margin-top:20px}.info-group h4{margin:0 0 8px;color:var(--text-primary, #444);font-size:14px;font-weight:600}.info-description{margin:0;color:var(--text-secondary, #666);font-size:13px;line-height:1.4}.setup-actions{display:flex;justify-content:center;padding:20px 0}.create-button{background:linear-gradient(135deg,var(--success-color, #4CAF50),var(--success-dark, #45a049));color:var(--button-text, white);border:none;padding:15px 30px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px var(--success-shadow, rgba(76, 175, 80, .3));min-width:160px}.create-button:hover:not(:disabled){background:linear-gradient(135deg,var(--success-dark, #45a049),var(--success-darker, #3e8e41));transform:translateY(-1px);box-shadow:0 4px 8px var(--success-shadow-hover, rgba(76, 175, 80, .4))}.create-button:disabled{background:var(--disabled-bg, #ccc);color:var(--disabled-text, #999);cursor:not-allowed;transform:none;box-shadow:none}.auth-required{text-align:center;padding:60px 20px;color:var(--text-secondary, #666);font-size:16px}@media (max-width: 768px){.multiplayer-setup{padding:15px}.setup-header{flex-direction:column;align-items:flex-start;gap:10px}.setup-section{padding:20px}.rule-set-grid{grid-template-columns:1fr}.rule-set-card{padding:15px}}@media (max-width: 480px){.setup-header h2{font-size:24px}.rule-set-card h4{font-size:15px}.rule-set-card p{font-size:13px}}@media (prefers-color-scheme: dark){.multiplayer-setup{--background-primary: #2a2a2a;--background-secondary: #1e1e1e;--background-hover: #3a3a3a;--text-color: #e0e0e0;--text-primary: #f0f0f0;--text-secondary: #b0b0b0;--border-color: #444;--shadow-color: rgba(0, 0, 0, .3);--primary-color: #4fa8ff;--primary-shadow: rgba(79, 168, 255, .2);--primary-light-bg: #1a2f4a;--primary-focus-shadow: rgba(79, 168, 255, .3);--success-color: #5cbf60;--success-dark: #4fb052;--success-darker: #429947;--success-shadow: rgba(92, 191, 96, .3);--success-shadow-hover: rgba(92, 191, 96, .4);--disabled-bg: #555;--disabled-text: #888;--button-text: white;--info-bg: #1a2633;--info-border: #2d4a66}}.joining-game{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f5f5f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.joining-content{background:#fff;border-radius:12px;padding:40px;box-shadow:0 4px 20px #0000001a;text-align:center;max-width:400px;width:90%}.loading-spinner{margin-bottom:20px}.spinner{width:50px;height:50px;margin:0 auto 20px;border:4px solid #e0e0e0;border-left:4px solid #2196F3;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.joining-content h3{margin:0 0 15px;color:#333;font-size:24px;font-weight:600}.joining-content p{margin:0 0 20px;color:#666;font-size:16px}.error-icon{font-size:48px;margin-bottom:20px}.error-message{color:#f44336;font-weight:500;margin-bottom:25px}.joining-content button{background:#2196f3;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.joining-content button:hover{background:#1976d2}.multiplayer-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;box-sizing:border-box}.multiplayer-modal-container{background-color:var(--modal-bg, white);border-radius:12px;border:2px solid var(--border-color, #ddd);max-width:600px;width:100%;max-height:90vh;overflow:auto;position:relative;box-shadow:0 10px 30px #0000004d;color:var(--text-color, #333)}.multiplayer-modal-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-color, #999);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:1001;transition:all .2s ease}.multiplayer-modal-close:hover{background-color:var(--hover-bg, #f0f0f0);color:var(--hover-text, #333)}.multiplayer-modal-container .joining-game{min-height:auto;background:transparent;padding:20px}.multiplayer-modal-container .joining-content{background:var(--modal-bg, white);border:1px solid var(--border-color, #ddd);color:var(--text-color, #333)}@media (prefers-color-scheme: dark){.multiplayer-modal-container{--modal-bg: #2a2a2a;--border-color: #444;--text-color: #e0e0e0;--hover-bg: #3a3a3a;--hover-text: #fff}}@media (max-width: 768px){.multiplayer-modal-overlay{padding:10px}.multiplayer-modal-container{max-height:95vh;border-radius:8px}.multiplayer-modal-close{top:10px;right:10px;font-size:1.3rem}}
