:root{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #3d3d3d;--bg-hover: #4d4d4d;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-muted: #808080;--border-color: #404040;--border-focus: #007bff;--color-primary: #007bff;--color-primary-hover: #0056b3;--color-primary-light: #1a88ff;--color-success: #28a745;--color-success-hover: #218838;--color-success-light: #2ecc4f;--color-danger: #dc3545;--color-danger-hover: #c82333;--color-warning: #ffc107;--color-info: #17a2b8;--spacing-xs: 5px;--spacing-sm: 10px;--spacing-md: 15px;--spacing-lg: 20px;--spacing-xl: 30px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--radius-circle: 50%}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6}h1,h2,h3,h4,h5,h6{margin-top:0;color:var(--text-primary)}h1{font-size:32px;margin-bottom:var(--spacing-lg)}h2{font-size:26px;margin-bottom:var(--spacing-md)}h3{font-size:22px;margin-bottom:var(--spacing-md)}h4{font-size:18px;margin-bottom:var(--spacing-sm)}p{margin-top:0}button{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}button:disabled{opacity:.5;cursor:not-allowed}.primary-btn,.select-btn,.add-btn,.upload-btn{background-color:var(--color-primary);color:#fff}.primary-btn:hover:not(:disabled),.select-btn:hover:not(:disabled),.add-btn:hover:not(:disabled),.upload-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.success-btn,.create-btn,.save-btn,.create-round-btn{background-color:var(--color-success);color:#fff}.success-btn:hover:not(:disabled),.create-btn:hover:not(:disabled),.save-btn:hover:not(:disabled),.create-round-btn:hover:not(:disabled){background-color:var(--color-success-hover)}.danger-btn,.clear-btn{background-color:var(--color-danger);color:#fff}.danger-btn:hover:not(:disabled),.clear-btn:hover:not(:disabled){background-color:var(--color-danger-hover)}.delete-btn-small{background-color:var(--color-danger);color:#fff;border:none;width:30px;height:30px;border-radius:var(--radius-circle);font-size:20px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.delete-btn-small:hover{background-color:var(--color-danger-hover)}.file-button{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:14px;transition:background-color .2s;cursor:pointer}.file-button:hover{background-color:var(--color-primary-hover)}label{display:block;color:var(--text-secondary);margin-bottom:var(--spacing-xs);margin-top:var(--spacing-md);font-weight:500;font-size:14px}input[type=text],input[type=date],input[type=url],input[type=email],input[type=password],input[type=number],textarea,select{width:100%;padding:12px;background-color:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:16px;font-family:inherit;transition:border-color .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus)}input::placeholder,textarea::placeholder{color:var(--text-muted)}input[type=file]{display:none}.file-label{display:inline-block;cursor:pointer}.file-label input[disabled]+.file-button{background-color:var(--bg-tertiary);cursor:not-allowed}.file-name{margin-left:var(--spacing-md);color:var(--text-secondary);font-size:14px}.container{padding:40px;max-width:1200px;margin:0 auto}.card{background-color:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid var(--border-color)}.form-container{background-color:var(--bg-tertiary);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}ul{list-style:none;padding:0;margin:0}.list-item{padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background-color:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;border:2px solid transparent}.list-item:hover{border-color:var(--color-primary);transform:translate(5px)}.list-item.active{border-color:var(--color-success);background-color:#28a7451a}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.badge-primary{background-color:var(--color-primary);color:#fff}.badge-success{background-color:var(--color-success);color:#fff}.badge-info{background-color:var(--color-info);color:#fff}.error-message{padding:var(--spacing-sm);background-color:#dc354533;color:#ff6b7a;border:1px solid rgba(220,53,69,.4);border-radius:var(--radius-sm);font-size:14px;margin-top:var(--spacing-sm)}.success-message{padding:var(--spacing-sm);background-color:#28a74533;color:#4cff69;border:1px solid rgba(40,167,69,.4);border-radius:var(--radius-sm);font-size:14px;margin-top:var(--spacing-sm)}.info-message{padding:var(--spacing-sm);background-color:#17a2b833;color:#5dccdd;border:1px solid rgba(23,162,184,.4);border-radius:var(--radius-sm);font-size:14px;margin-top:var(--spacing-sm)}.no-content{color:var(--text-muted);font-style:italic;padding:var(--spacing-lg);text-align:center;background-color:var(--bg-tertiary);border-radius:var(--radius-sm)}img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.image-thumbnail{border:2px solid var(--border-color);transition:border-color .2s}.image-thumbnail:hover{border-color:var(--color-primary)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.lobby-container{display:flex;min-height:100vh;gap:40px;padding:40px}.left-section{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:400px}.right-section{flex:1;border-left:2px solid var(--border-color);padding-left:40px}.waiting-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center}.player-status,.player-logged-in-status{margin-top:30px;padding:20px;background-color:var(--bg-secondary);border-radius:var(--radius-md);border:2px solid var(--color-primary)}.results-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 4px #0003}.results-table thead{background:var(--color-primary);color:#fff}.results-table th{padding:12px;text-align:left;font-weight:600}.results-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s}.results-table tbody tr:hover{background-color:var(--bg-hover)}.results-table tbody tr:last-child{border-bottom:none}.results-table td{padding:12px}.results-table .rank{font-weight:700;color:var(--color-primary);width:60px;text-align:center}.results-table .player-name{font-weight:500;color:var(--text-primary)}.results-table .marked-by{color:var(--text-secondary);font-style:italic}.results-table .score{font-family:monospace;color:var(--text-secondary)}.results-table .percentage{font-weight:700;color:var(--color-success)}.questions-grid,.image-grid{display:grid;gap:25px;margin-top:20px}.image-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.logout-btn,.remove-player-btn{background-color:var(--color-warning);color:#1a1a1a}.logout-btn:hover,.remove-player-btn:hover{background-color:#e0a800}.reset-btn{background-color:var(--color-danger);color:#fff}.reset-btn:hover{background-color:var(--color-danger-hover)}.round-manager,.question-manager,.player-management,.marking-controls,.bottom-controls{margin-top:30px;padding:25px;background-color:var(--bg-secondary);border-radius:var(--radius-md);border:2px solid var(--border-color)}.round-manager{border-color:var(--color-success)}.round-manager h3{color:var(--color-success)}.question-manager{border-color:var(--color-primary)}.question-manager h3{color:var(--color-primary)}.marking-controls,.bottom-controls{border-left:5px solid #9c27b0;border-top:3px solid #9c27b0}.marking-controls h3,.bottom-controls h3{margin-top:0;color:#9c27b0}.quiz-form,.round-form,.question-form{background-color:var(--bg-tertiary);padding:20px;border-radius:var(--radius-md);margin-bottom:20px}.round-type-badge{display:inline-block;padding:5px 15px;background-color:#007bff33;color:var(--color-primary-light);border-radius:20px;font-size:14px;margin-bottom:20px}.round-type{display:inline-block;padding:4px 12px;background-color:var(--color-primary);color:#fff;border-radius:12px;font-size:12px;text-transform:capitalize}.data-table{width:100%;border-collapse:collapse;margin:var(--spacing-md) 0}.data-table tbody tr{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);transition:background-color .2s ease;cursor:pointer}.data-table tbody tr.odd{background-color:var(--bg-tertiary)}.data-table tbody tr:hover{background-color:var(--bg-hover)}.data-table tbody tr.active{background-color:#007bff33;border-left:3px solid var(--color-primary)}.data-table tbody tr.is-displayed{background-color:#28a74533;border-left:3px solid var(--color-success)}.data-table td{padding:var(--spacing-md);vertical-align:middle}.data-table .player-name{font-size:16px;color:var(--text-primary);font-weight:500}.data-table .round-info-cell{font-size:16px;color:var(--text-primary)}.data-table .round-info-cell strong{display:block;margin-bottom:4px}.data-table .round-info-cell .round-type{margin-left:8px;font-size:11px}.data-table .round-actions-cell{text-align:center;width:150px}.data-table .action-cell{width:60px;text-align:right;padding-right:var(--spacing-lg)}.data-table .action-cell .delete-btn-small{opacity:.6;transition:opacity .2s ease}.data-table tr:hover .action-cell .delete-btn-small{opacity:1}
