:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-bg: linear-gradient(180deg, #0a1633 0%, #17224a 100%);--secondary-bg: linear-gradient(to bottom, #03001e, #000842, #090979);--card-bg: #17224a;--card-secondary-bg: #1e2a54;--card-hover-bg: #2a3a6a;--card-border: #2a3a6a;--modal-bg: #b3c0e0;--primary-button: linear-gradient(90deg, #4f7cff, #6a8dff);--primary-button-hover: linear-gradient(90deg, #3d6bff, #5a7dff);--secondary-button: #2a3a6a;--secondary-button-hover: #3a4a7a;--disabled-button: #4a5568;--input-bg: #1c1f3b;--input-focus-bg: #232854;--input-border: #2a3a6a;--input-focus-border: #4f7cff;--text-primary: #ffffff;--text-secondary: #b3c0e0;--text-tertiary: #93a3c3;--text-placeholder: #8992b3;--text-muted: #6b7ba5;--text-accent: #4f7cff;--text-success: #10b981;--text-error: #ff6b6b;--text-warning: #f59e0b;--shadow-sm: 0 2px 8px rgb(0 0 0 / .1);--shadow-md: 0 4px 16px rgb(0 0 0 / .15);--shadow-lg: 0 4px 24px rgb(0 0 0 / .18);--shadow-xl: 0 8px 32px rgb(0 0 0 / .3);--shadow-button: 0 6px 20px rgb(79 124 255 / .3);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 50%;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-modal: 1000;--z-dropdown: 100;--z-header: 50}*{box-sizing:border-box}body{margin:0;background:var(--primary-bg);color:var(--text-primary);min-height:100vh}#root{min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--card-bg)}::-webkit-scrollbar-thumb{background:var(--secondary-button);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--secondary-button-hover)}::selection{background:var(--text-accent);color:var(--text-primary)}:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px}a{color:var(--text-accent);text-decoration:none;transition:color var(--transition-normal)}a:hover{color:var(--primary-button-hover)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea{font-family:inherit;border:none;outline:none}img{max-width:100%;height:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:12px 16px;border-radius:var(--radius-md);font-weight:600;font-size:var(--font-sm);line-height:1;transition:all var(--transition-normal);cursor:pointer;border:none;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--primary-button);color:var(--text-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-button-hover)}.btn-secondary{background:var(--secondary-button);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--secondary-button-hover);color:var(--text-primary);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--text-primary);border:2px solid var(--text-primary)}.btn-outline:hover:not(:disabled){background:var(--text-primary);color:var(--card-bg)}.btn-ghost{background:transparent;color:var(--text-accent)}.btn-ghost:hover:not(:disabled){background:#4f7cff1a}.btn-danger{background:var(--text-error);color:var(--text-primary)}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn-xs{padding:6px 8px;font-size:var(--font-xs);border-radius:var(--radius-sm)}.btn-sm{padding:8px 12px;font-size:var(--font-sm)}.btn-md{padding:12px 16px;font-size:var(--font-sm)}.btn-lg{padding:14px 20px;font-size:var(--font-base)}.btn-xl{padding:16px 32px;font-size:var(--font-lg);border-radius:var(--radius-lg)}.btn-full{width:100%}.btn-auto{width:auto}.btn-icon{padding:8px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.btn-icon-sm{padding:6px;font-size:var(--font-sm)}.btn-icon-lg{padding:12px;font-size:var(--font-xl)}.btn-loading{position:relative;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;margin:auto;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:btn-loading-spin 1s linear infinite}@keyframes btn-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-group{display:flex;gap:var(--spacing-sm)}.btn-group-vertical{flex-direction:column}.btn-group-center{justify-content:center}.btn-group-end{justify-content:flex-end}.card{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-lg);transition:all var(--transition-normal)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.card-secondary{background:var(--card-secondary-bg)}.card-outline{background:transparent;border:1px solid var(--card-border)}.card-flat{box-shadow:none;border:1px solid var(--card-border)}.card-sm{padding:var(--spacing-md);border-radius:var(--radius-lg)}.card-lg{padding:var(--spacing-xl);border-radius:var(--radius-2xl)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--card-border)}.card-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-xl);font-weight:700;color:var(--text-primary)}.card-subtitle{margin:0;font-size:var(--font-sm);color:var(--text-secondary);font-weight:500}.card-content{margin-bottom:var(--spacing-lg)}.card-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--card-border);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.card-interactive{cursor:pointer;transition:all var(--transition-normal)}.card-interactive:hover{background:var(--card-hover-bg);transform:translateY(-4px);box-shadow:var(--shadow-xl)}.card-interactive:active{transform:translateY(-2px)}.card-loading{position:relative;overflow:hidden}.card-loading:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .1),transparent);animation:card-loading-shimmer 1.5s infinite}@keyframes card-loading-shimmer{0%{left:-100%}to{left:100%}}.card-error{border:1px solid var(--text-error);background:#ff6b6b1a}.card-success{border:1px solid var(--text-success);background:#10b9811a}.card-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card-grid-sm{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.card-grid-lg{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.card-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.card-list-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--card-secondary-bg);border-radius:var(--radius-lg);transition:background var(--transition-normal)}.card-list-item:hover{background:var(--card-hover-bg)}.card-list-item-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.card-list-item-title{margin:0;font-size:var(--font-base);font-weight:600;color:var(--text-primary)}.card-list-item-subtitle{margin:0;font-size:var(--font-sm);color:var(--text-secondary)}.form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-row{display:flex;gap:var(--spacing-md);align-items:flex-end}.form-row .form-group{flex:1}.form-label{font-size:var(--font-sm);font-weight:600;color:var(--text-secondary);margin:0}.form-label-required:after{content:" *";color:var(--text-error)}.form-input{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);padding:12px 16px;color:var(--text-primary);font-size:var(--font-sm);transition:all var(--transition-normal)}.form-input::placeholder{color:var(--text-placeholder)}.form-input:focus{background:var(--input-focus-bg);box-shadow:0 0 0 3px #4f7cff1a}.form-input:disabled{background:var(--card-border);color:var(--text-muted);cursor:not-allowed;opacity:.6}.form-input-sm{padding:8px 12px;font-size:var(--font-xs)}.form-input-lg{padding:14px 20px;font-size:var(--font-base)}.form-textarea{min-height:100px;resize:vertical;line-height:1.5}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7ba5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.form-checkbox input,.form-radio input{width:16px;height:16px;margin:0;cursor:pointer}.form-checkbox input[type=checkbox]{border-radius:var(--radius-sm)}.form-radio input[type=radio]{border-radius:var(--radius-full)}.form-input-error{border-color:var(--text-error);background:#ff6b6b1a}.form-input-error:focus{box-shadow:0 0 0 3px #ff6b6b1a}.form-input-success{border-color:var(--text-success);background:#10b9811a}.form-input-success:focus{box-shadow:0 0 0 3px #10b9811a}.form-help{font-size:var(--font-xs);color:var(--text-muted);margin:0;line-height:1.4}.form-error{font-size:var(--font-xs);color:var(--text-error);margin:0;line-height:1.4}.form-success{font-size:var(--font-xs);color:var(--text-success);margin:0;line-height:1.4}.form-input-group{display:flex;border-radius:var(--radius-md);overflow:hidden}.form-input-group .form-input{border-radius:0;border-right:none}.form-input-group .form-input:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.form-input-group .form-input:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0;border-right:1px solid var(--input-border)}.form-input-group .btn{border-radius:0}.form-input-group .btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.form-actions-center{justify-content:center}.form-actions-end{justify-content:flex-end}.form-actions-between{justify-content:space-between}.form-inline{display:flex;gap:var(--spacing-md);align-items:flex-end}.form-inline .form-group{margin-bottom:0}.form-search{position:relative}.form-search-input{padding-left:40px}.form-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-placeholder);font-size:var(--font-sm);pointer-events:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg);overflow-y:auto}.modal-overlay.modal-overlay-dark{background:#000000d9}.modal-overlay.modal-overlay-light{background:#00000080}.modal{background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative;animation:modal-appear .2s ease-out}@keyframes modal-appear{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-sm{max-width:400px}.modal-md{max-width:500px}.modal-lg{max-width:700px}.modal-xl{max-width:900px}.modal-full{max-width:95vw;max-height:95vh}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-lg) 0;margin-bottom:var(--spacing-lg)}.modal-title{margin:0;font-size:var(--font-xl);font-weight:700;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:var(--font-xl);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);transition:all var(--transition-normal);line-height:1;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--card-hover-bg);color:var(--text-primary)}.modal-content{background:var(--card-bg);padding:var(--spacing-lg);border-radius:var(--radius-xl)}.modal-input{width:100%;padding:var(--spacing-md);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-sm);transition:all var(--transition-normal);margin-bottom:var(--spacing-md)}.modal-input::placeholder{color:var(--text-placeholder)}.modal-input:focus{background:var(--input-focus-bg);border-color:var(--input-focus-border);outline:none}.modal-buttons{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-md)}.modal-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--transition-normal);border:none;min-width:80px}.modal-button.primary{background:var(--primary-button);color:var(--text-primary)}.modal-button.primary:hover:not(:disabled){background:var(--primary-button-hover)}.modal-button.secondary{background:var(--secondary-button);color:var(--text-secondary)}.modal-button.secondary:hover:not(:disabled){background:var(--secondary-button-hover);color:var(--text-primary)}.modal-button:disabled{opacity:.6;cursor:not-allowed}.modal-text{color:var(--text-secondary);font-size:var(--font-sm);line-height:1.5;margin:0 0 var(--spacing-md) 0}.modal-footer{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:0 var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--card-border);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.modal-footer-center{justify-content:center}.modal-footer-start{justify-content:flex-start}.modal-footer-between{justify-content:space-between}.modal-confirm .modal-content{text-align:center;padding:var(--spacing-xl) var(--spacing-lg)}.modal-confirm-icon{font-size:3rem;margin-bottom:var(--spacing-lg)}.modal-confirm-icon.warning{color:var(--text-warning)}.modal-confirm-icon.error{color:var(--text-error)}.modal-confirm-icon.success{color:var(--text-success)}.modal-confirm-icon.info{color:var(--text-accent)}.modal-confirm-title{font-size:var(--font-xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.modal-confirm-text{color:var(--text-secondary);font-size:var(--font-sm);line-height:1.5;margin:0 0 var(--spacing-xl) 0}.modal-loading{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg)}.modal-loading-spinner{width:40px;height:40px;border:3px solid var(--card-border);border-top-color:var(--text-accent);border-radius:50%;animation:modal-loading-spin 1s linear infinite;margin:0 auto var(--spacing-lg) auto}@keyframes modal-loading-spin{to{transform:rotate(360deg)}}.modal-loading-text{color:var(--text-secondary);font-size:var(--font-sm);margin:0}@media (max-width: 640px){.modal-overlay{padding:var(--spacing-md)}.modal{max-width:100%;max-height:95vh}.modal-header,.modal-content,.modal-footer{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.room-root{min-height:100vh;background:var(--primary-bg);display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);box-sizing:border-box}.room-header{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg) 0;color:var(--text-primary);font-size:var(--font-xl);font-weight:700;width:100%;position:relative}.room-card{background:var(--card-bg);border-radius:var(--radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);width:100%;max-width:350px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.room-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);cursor:pointer;border-radius:var(--radius-sm);transition:background-color .2s ease}.room-item:hover{background-color:#0000000d}.room-item-left{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--text-primary);font-weight:500}.room-status{color:var(--text-secondary);font-size:var(--font-sm)}.room-lock-icon{margin-left:var(--spacing-xs)}.room-create-btn{width:100%;max-width:350px}.room-list-container{min-height:100vh;background:var(--primary-bg);display:flex;flex-direction:column;align-items:center;padding-bottom:var(--spacing-lg)}.room-list-header{display:flex;align-items:center;padding:var(--spacing-lg) 0 var(--spacing-md) 0;color:var(--text-primary);font-size:var(--font-xl);font-weight:700}.room-list-card{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-lg);width:100%;max-width:350px;box-shadow:var(--shadow-lg)}.room-list-card-title{color:var(--text-secondary);font-size:var(--font-base);margin-bottom:var(--spacing-sm);font-weight:600}.room-list-item{display:flex;justify-content:space-between;align-items:center;background:var(--card-secondary-bg);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);font-size:var(--font-base);margin-bottom:var(--spacing-sm);transition:background var(--transition-normal)}.room-list-item:hover{background:var(--card-hover-bg)}.room-list-item-left{display:flex;align-items:center;gap:var(--spacing-sm)}.room-list-lock-icon{font-size:var(--font-sm);opacity:.8;color:var(--text-tertiary)}.room-list-name{cursor:pointer;text-decoration:underline;color:var(--text-primary)}.room-list-status{color:var(--text-accent);font-size:var(--font-sm)}.room-list-button{background:var(--primary-button);color:var(--text-primary);border:none;border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-base);font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.room-list-button:hover{background:var(--primary-button-hover);transform:translateY(-1px)}.room-list-create-btn{width:100%;max-width:350px;padding:var(--spacing-md) 0;font-size:var(--font-lg);cursor:pointer;margin-top:auto;position:fixed;left:50%;bottom:var(--spacing-lg);transform:translate(-50%);box-shadow:var(--shadow-lg);background:var(--primary-button);color:var(--text-primary);border:none;border-radius:var(--radius-lg);font-weight:700;transition:all var(--transition-normal)}.room-list-create-btn:hover{background:var(--primary-button-hover);transform:translate(-50%) translateY(-2px);box-shadow:var(--shadow-xl)}.room-create-root{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.room-create-header{display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.room-create-card{margin-bottom:var(--spacing-lg);max-width:350px;width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.room-create-cancel-btn{max-width:350px;width:100%;margin-top:var(--spacing-sm);display:flex;flex-direction:column;align-items:center;gap:10px}.room-create-title{color:var(--text-primary);font-weight:700;font-size:var(--font-2xl);text-align:center}.room-create-nav{position:absolute;top:var(--spacing-lg);left:var(--spacing-lg)}.room-create-nav-btn{background:none;border:none;color:var(--text-primary);font-size:var(--font-2xl);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);transition:background var(--transition-normal);text-align:left;position:absolute;top:var(--spacing-lg);left:var(--spacing-lg)}.room-create-nav-btn:hover{background:#ffffff1a}.room-create-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.room-create-input{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);padding:12px 16px;color:var(--text-primary);font-size:var(--font-sm);transition:all var(--transition-normal)}.room-detail-container{min-height:100vh;background:var(--primary-bg);display:flex;flex-direction:column;align-items:center;padding-bottom:var(--spacing-lg)}.room-detail-card{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--spacing-lg);margin:var(--spacing-lg) 0;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.room-detail-info{margin-bottom:var(--spacing-lg)}.room-detail-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) 0;border-bottom:1px solid var(--card-border)}.room-detail-item:last-child{border-bottom:none}.room-detail-label{color:var(--text-secondary);font-size:var(--font-sm);font-weight:500}.room-detail-value{color:var(--text-primary);font-size:var(--font-base);font-weight:600}.room-detail-users{margin-bottom:var(--spacing-lg)}.room-detail-subtitle{color:var(--text-primary);font-size:var(--font-lg);font-weight:600;margin:0 0 var(--spacing-md) 0}.room-detail-user{background:var(--card-secondary-bg);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-md);margin-bottom:var(--spacing-sm)}.room-detail-username{color:var(--text-primary);font-size:var(--font-base)}.room-detail-host{color:var(--text-accent);font-weight:600}.room-detail-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.room-detail-button{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--transition-normal);border:none;width:100%}.room-detail-button.primary{background:var(--primary-button);color:var(--text-primary)}.room-detail-button.primary:hover:not(:disabled){background:var(--primary-button-hover)}.room-detail-button.secondary{background:var(--secondary-button);color:var(--text-secondary)}.room-detail-button.secondary:hover:not(:disabled){background:var(--secondary-button-hover);color:var(--text-primary)}.room-detail-button:disabled{opacity:.6;cursor:not-allowed}.room-error{color:var(--text-error);font-size:var(--font-base);text-align:center;margin:var(--spacing-lg) 0}.room-loading{color:var(--text-secondary);font-size:var(--font-base);text-align:center;margin:var(--spacing-lg) 0}.room-empty{color:var(--text-muted);font-size:var(--font-base);text-align:center;margin:var(--spacing-lg) 0}.game-container{min-height:100vh;background:var(--primary-bg);display:flex;flex-direction:column;align-items:center;padding-bottom:var(--spacing-lg)}.game-content{width:100%;max-width:500px;padding:0 var(--spacing-lg)}.game-header{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg) 0 var(--spacing-md) 0;color:var(--text-primary);position:relative;width:100%;max-width:500px}.game-back-button{position:absolute;left:var(--spacing-lg);background:none;border:none;color:var(--text-primary);font-size:var(--font-2xl);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);transition:background var(--transition-normal)}.game-back-button:hover{background:#ffffff1a}.game-title{font-size:var(--font-xl);font-weight:700;margin:0;text-align:center}.game-status{position:absolute;right:var(--spacing-lg);background:var(--text-accent);color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:600}.game-info{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-lg)}.game-info-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.game-info-label{color:var(--text-secondary);font-size:var(--font-sm);font-weight:500}.game-info-value{color:var(--text-primary);font-size:var(--font-base);font-weight:600}.game-players{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-lg)}.game-section-title{color:var(--text-primary);font-size:var(--font-xl);font-weight:600;margin:0 0 var(--spacing-md) 0}.game-players-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.game-player{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--card-secondary-bg);border-radius:var(--radius-lg);transition:background var(--transition-normal)}.game-player:hover{background:var(--card-hover-bg)}.game-player-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--primary-button);display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-weight:700;font-size:var(--font-lg)}.game-player-info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.game-player-name{color:var(--text-primary);font-size:var(--font-base);font-weight:500;margin:0}.game-player-host{color:var(--text-accent);font-weight:600}.game-player-status{color:var(--text-accent);font-size:var(--font-sm);margin:0}.game-waiting{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);text-align:center;box-shadow:var(--shadow-lg)}.game-waiting-message{color:var(--text-secondary);font-size:var(--font-lg);margin-bottom:var(--spacing-lg);line-height:1.5}.game-playing{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);text-align:center;box-shadow:var(--shadow-lg)}.game-playing-message{color:var(--text-accent);font-size:var(--font-xl);font-weight:600;margin-bottom:var(--spacing-lg)}.game-quiz-area{background:var(--card-secondary-bg);border-radius:var(--radius-lg);padding:var(--spacing-2xl) var(--spacing-lg);border:2px dashed var(--text-accent)}.game-quiz-placeholder{color:var(--text-accent);font-size:var(--font-lg);font-weight:500}.game-actions{display:flex;justify-content:center;margin-top:var(--spacing-lg)}.game-button{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);border:none;font-size:var(--font-base);font-weight:600;cursor:pointer;transition:all var(--transition-normal);min-width:120px}.game-button-primary{background:var(--primary-button);color:var(--text-primary)}.game-button-primary:hover:not(:disabled){background:var(--primary-button-hover);transform:translateY(-2px);box-shadow:var(--shadow-button)}.game-button-large{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-xl);min-width:160px}.game-button-secondary{background:var(--secondary-button);color:var(--text-secondary)}.game-button-secondary:hover:not(:disabled){background:var(--secondary-button-hover);color:var(--text-primary);transform:translateY(-2px)}.game-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.game-loading{color:var(--text-secondary);font-size:var(--font-lg);text-align:center;margin-top:var(--spacing-2xl)}.game-error{color:var(--text-error);font-size:var(--font-lg);text-align:center;margin-top:var(--spacing-2xl)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.container-sm{max-width:640px}.container-md{max-width:768px}.container-lg{max-width:1024px}.container-xl{max-width:1280px}.container-full{max-width:100%}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-auto{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.text-3xl{font-size:var(--font-3xl)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--text-accent)}.text-success{color:var(--text-success)}.text-error{color:var(--text-error)}.text-warning{color:var(--text-warning)}.bg-primary{background:var(--primary-bg)}.bg-secondary{background:var(--secondary-bg)}.bg-card{background:var(--card-bg)}.bg-card-secondary{background:var(--card-secondary-bg)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.z-auto{z-index:auto}.z-10{z-index:10}.z-50{z-index:var(--z-header)}.z-100{z-index:var(--z-dropdown)}.z-1000{z-index:var(--z-modal)}.visible{visibility:visible}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.transition-none{transition:none}.transition-fast{transition:all var(--transition-fast)}.transition-normal{transition:all var(--transition-normal)}.transition-slow{transition:all var(--transition-slow)}.loading{pointer-events:none;opacity:.6}.disabled{pointer-events:none;opacity:.6;cursor:not-allowed}.error{color:var(--text-error)}.success{color:var(--text-success)}.warning{color:var(--text-warning)}.common-bg{background:var(--primary-bg);color:var(--text-primary)}.common-button{background:var(--primary-button);color:var(--text-primary);padding:12px 16px;border-radius:var(--radius-md);border:none;font-weight:600;font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-normal)}.common-button:hover:not(:disabled){background:var(--primary-button-hover);transform:translateY(-1px)}.common-button:disabled{background:var(--disabled-button);color:var(--text-muted);cursor:not-allowed;opacity:.6}.common-input{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);padding:12px 16px;color:var(--text-primary);font-size:var(--font-sm);outline:none;transition:all var(--transition-normal)}.common-input::placeholder{color:var(--text-placeholder)}.common-input:focus{background:var(--input-focus-bg);border-color:var(--input-focus-border);box-shadow:0 0 0 3px #4f7cff1a}
