:root{--oc-role-primary: #00677f;--oc-role-on-primary: #ffffff;--oc-role-primary-hover: #005266;--oc-role-chrome: #20434f;--oc-role-on-chrome: #ffffff;--oc-role-surface: #fbfcfe;--oc-role-on-surface: #191c1d;--oc-role-on-surface-variant: #40484c;--oc-role-surface-container: #eceef0;--oc-role-surface-container-low: #f3f4f6;--oc-role-outline: #70787c;--oc-role-outline-variant: #bfc8cc;--oc-role-error: #ba1a1a;--oc-role-on-error: #ffffff;--oc-role-error-hover: #a01616;--oc-role-success: #2e7d32;--oc-role-on-success: #ffffff;--oc-color-warning-bg: #fff3cd;--oc-color-warning-text: #856404;--oc-color-success-bg: #d4edda;--oc-color-success-text: #155724;--oc-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--oc-space-xs: 4px;--oc-space-sm: 8px;--oc-space-md: 16px;--oc-space-lg: 24px;--oc-space-xl: 32px;--oc-radius-sm: 4px;--oc-radius-md: 8px;--oc-radius-lg: 12px;--oc-shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--oc-shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--oc-shadow-lg: 0 4px 12px rgba(0, 0, 0, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--oc-font-family);background-color:var(--oc-role-surface-container-low);color:var(--oc-role-on-surface);min-height:100vh}#app{min-height:100vh}.login-container[data-v-43d7b8ef]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--oc-space-lg)}.login-box[data-v-43d7b8ef]{background:var(--oc-role-surface);border-radius:var(--oc-radius-md);box-shadow:var(--oc-shadow-md);padding:40px;width:100%;max-width:400px}h1[data-v-43d7b8ef]{color:var(--oc-role-on-surface);margin-bottom:var(--oc-space-sm);text-align:center}.subtitle[data-v-43d7b8ef]{color:var(--oc-role-on-surface-variant);text-align:center;margin-bottom:var(--oc-space-xl)}.form-group[data-v-43d7b8ef]{margin-bottom:var(--oc-space-lg)}label[data-v-43d7b8ef]{display:block;color:var(--oc-role-on-surface);font-size:14px;font-weight:500;margin-bottom:6px}input[data-v-43d7b8ef]{width:100%;padding:12px;border:1px solid var(--oc-role-outline-variant);border-radius:var(--oc-radius-sm);font-size:16px;transition:border-color .2s}input[data-v-43d7b8ef]:focus{outline:none;border-color:var(--oc-role-primary)}input[data-v-43d7b8ef]:disabled{background-color:var(--oc-role-surface-container)}button[data-v-43d7b8ef]{width:100%;padding:14px;background-color:var(--oc-role-primary);color:var(--oc-role-on-primary);border:none;border-radius:var(--oc-radius-sm);font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}button[data-v-43d7b8ef]:hover:not(:disabled){background-color:var(--oc-role-primary-hover)}button[data-v-43d7b8ef]:disabled{background-color:var(--oc-role-outline-variant);cursor:not-allowed}.error[data-v-43d7b8ef]{color:var(--oc-role-error);font-size:14px;margin-bottom:var(--oc-space-md);text-align:center}.assignment-card[data-v-d1637d8b]{background:var(--oc-role-surface);border-radius:var(--oc-radius-md);box-shadow:var(--oc-shadow-md);overflow:hidden;transition:box-shadow .2s}.assignment-card[data-v-d1637d8b]:hover{box-shadow:var(--oc-shadow-lg)}.card-header[data-v-d1637d8b]{padding:var(--oc-space-md) var(--oc-space-lg);border-bottom:1px solid var(--oc-role-surface-container);display:flex;justify-content:space-between;align-items:center}.card-header h3[data-v-d1637d8b]{color:var(--oc-role-on-surface);font-size:18px;font-weight:600;margin:0}.expiring-badge[data-v-d1637d8b]{background-color:var(--oc-color-warning-bg);color:var(--oc-color-warning-text);padding:var(--oc-space-xs) var(--oc-space-sm);border-radius:var(--oc-radius-sm);font-size:12px;font-weight:500}.card-body[data-v-d1637d8b]{padding:var(--oc-space-md) var(--oc-space-lg)}.info-row[data-v-d1637d8b]{display:flex;margin-bottom:var(--oc-space-sm)}.info-row[data-v-d1637d8b]:last-child{margin-bottom:0}.label[data-v-d1637d8b]{color:var(--oc-role-on-surface-variant);font-size:14px;width:80px;flex-shrink:0}.value[data-v-d1637d8b]{color:var(--oc-role-on-surface);font-size:14px}.text-warning[data-v-d1637d8b]{color:var(--oc-color-warning-text);font-weight:500}.card-footer[data-v-d1637d8b]{padding:var(--oc-space-md) var(--oc-space-lg);background-color:var(--oc-role-surface-container-low)}.link-buttons[data-v-d1637d8b]{display:flex;gap:var(--oc-space-sm)}.open-btn[data-v-d1637d8b]{flex:1;text-align:center;padding:12px;color:var(--oc-role-on-primary);text-decoration:none;border-radius:var(--oc-radius-sm);font-weight:500;transition:background-color .2s}.web-btn[data-v-d1637d8b]{background-color:var(--oc-role-primary)}.web-btn[data-v-d1637d8b]:hover{background-color:var(--oc-role-primary-hover)}.dav-btn[data-v-d1637d8b]{background-color:var(--oc-role-chrome)}.dav-btn[data-v-d1637d8b]:hover{opacity:.9}.quiz-btn[data-v-d1637d8b]{background-color:#8e24aa}.quiz-btn[data-v-d1637d8b]:hover{background-color:#7b1fa2}.screen-btn[data-v-d1637d8b]{background-color:#e91e63;display:flex;align-items:center;justify-content:center;gap:6px}.screen-btn[data-v-d1637d8b]:hover{background-color:#c2185b}.screen-btn.live[data-v-d1637d8b]{animation:pulse-d1637d8b 2s infinite}.live-indicator[data-v-d1637d8b]{width:8px;height:8px;background:#fff;border-radius:50%;animation:blink-d1637d8b 1s infinite}@keyframes pulse-d1637d8b{0%,to{box-shadow:0 0 #e91e6366}50%{box-shadow:0 0 0 8px #e91e6300}}@keyframes blink-d1637d8b{50%{opacity:.3}}.dashboard[data-v-50639581]{min-height:100vh;padding:var(--oc-space-lg);max-width:1200px;margin:0 auto}header[data-v-50639581]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--oc-space-xl);padding-bottom:var(--oc-space-md);border-bottom:1px solid var(--oc-role-outline-variant)}h1[data-v-50639581]{color:var(--oc-role-on-surface);font-size:28px}.user-info[data-v-50639581]{display:flex;align-items:center;gap:var(--oc-space-md)}.user-info span[data-v-50639581]{color:var(--oc-role-on-surface-variant);font-size:14px}.logout-btn[data-v-50639581]{padding:var(--oc-space-sm) var(--oc-space-md);background-color:transparent;color:var(--oc-role-on-surface-variant);border:1px solid var(--oc-role-outline-variant);border-radius:var(--oc-radius-sm);font-size:14px;cursor:pointer;transition:all .2s}.logout-btn[data-v-50639581]:hover{background-color:var(--oc-role-surface-container);color:var(--oc-role-on-surface)}.loading[data-v-50639581],.error-state[data-v-50639581],.empty-state[data-v-50639581]{text-align:center;padding:60px var(--oc-space-lg);color:var(--oc-role-on-surface-variant)}.error-state p[data-v-50639581]{color:var(--oc-role-error);margin-bottom:var(--oc-space-md)}.error-state button[data-v-50639581]{padding:10px 20px;background-color:var(--oc-role-primary);color:var(--oc-role-on-primary);border:none;border-radius:var(--oc-radius-sm);cursor:pointer}.empty-state .hint[data-v-50639581]{font-size:14px;color:var(--oc-role-outline);margin-top:var(--oc-space-sm)}.assignment-grid[data-v-50639581]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--oc-space-lg)}.login-container[data-v-c6b3eb4b]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--oc-space-lg);background:linear-gradient(135deg,var(--oc-role-chrome) 0%,#16213e 100%)}.login-box[data-v-c6b3eb4b]{background:var(--oc-role-surface);border-radius:var(--oc-radius-md);box-shadow:0 4px 20px #0000004d;padding:40px;width:100%;max-width:400px}h1[data-v-c6b3eb4b]{color:var(--oc-role-chrome);margin-bottom:var(--oc-space-sm);text-align:center}.subtitle[data-v-c6b3eb4b]{color:var(--oc-role-on-surface-variant);text-align:center;margin-bottom:var(--oc-space-xl)}.form-group[data-v-c6b3eb4b]{margin-bottom:var(--oc-space-lg)}label[data-v-c6b3eb4b]{display:block;color:var(--oc-role-on-surface);font-size:14px;font-weight:500;margin-bottom:6px}input[data-v-c6b3eb4b]{width:100%;padding:12px;border:1px solid var(--oc-role-outline-variant);border-radius:var(--oc-radius-sm);font-size:16px;font-family:monospace;transition:border-color .2s}input[data-v-c6b3eb4b]:focus{outline:none;border-color:var(--oc-role-chrome)}input[data-v-c6b3eb4b]:disabled{background-color:var(--oc-role-surface-container)}button[data-v-c6b3eb4b]{width:100%;padding:14px;background-color:var(--oc-role-chrome);color:var(--oc-role-on-chrome);border:none;border-radius:var(--oc-radius-sm);font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}button[data-v-c6b3eb4b]:hover:not(:disabled){background-color:#16213e}button[data-v-c6b3eb4b]:disabled{background-color:var(--oc-role-outline-variant);cursor:not-allowed}.error[data-v-c6b3eb4b]{color:var(--oc-role-error);font-size:14px;margin-bottom:var(--oc-space-md);text-align:center}.back-link[data-v-c6b3eb4b]{margin-top:var(--oc-space-lg);text-align:center}.back-link a[data-v-c6b3eb4b]{color:var(--oc-role-on-surface-variant);text-decoration:none;font-size:14px}.back-link a[data-v-c6b3eb4b]:hover{color:var(--oc-role-chrome);text-decoration:underline}.admin-dashboard[data-v-0b6b8260]{min-height:100vh;background:var(--oc-role-surface-container-low)}.header[data-v-0b6b8260]{background:var(--oc-role-chrome);color:var(--oc-role-on-chrome);padding:var(--oc-space-lg) 40px;display:flex;justify-content:space-between;align-items:center}.header h1[data-v-0b6b8260]{margin:0;font-size:24px}.logout-btn[data-v-0b6b8260]{background:transparent;border:1px solid var(--oc-role-on-chrome);color:var(--oc-role-on-chrome);padding:var(--oc-space-sm) var(--oc-space-md);border-radius:var(--oc-radius-sm);cursor:pointer;transition:all .2s}.logout-btn[data-v-0b6b8260]:hover{background:var(--oc-role-on-chrome);color:var(--oc-role-chrome)}.tabs[data-v-0b6b8260]{display:flex;gap:0;background:var(--oc-role-surface);border-bottom:1px solid var(--oc-role-outline-variant);padding:0 40px}.tab[data-v-0b6b8260]{background:transparent;border:none;padding:var(--oc-space-md) var(--oc-space-lg);cursor:pointer;font-size:16px;color:var(--oc-role-on-surface-variant);border-bottom:2px solid transparent;transition:all .2s}.tab[data-v-0b6b8260]:hover{color:var(--oc-role-primary)}.tab.active[data-v-0b6b8260]{color:var(--oc-role-primary);border-bottom-color:var(--oc-role-primary)}.tab-content[data-v-0b6b8260]{padding:40px}.loading[data-v-0b6b8260],.error[data-v-0b6b8260],.empty[data-v-0b6b8260]{text-align:center;padding:40px;color:var(--oc-role-on-surface-variant)}.error[data-v-0b6b8260]{color:var(--oc-role-error)}.data-table[data-v-0b6b8260]{width:100%;background:var(--oc-role-surface);border-radius:var(--oc-radius-md);border-collapse:collapse;box-shadow:var(--oc-shadow-md)}.data-table th[data-v-0b6b8260],.data-table td[data-v-0b6b8260]{padding:var(--oc-space-md);text-align:left;border-bottom:1px solid var(--oc-role-surface-container)}.data-table th[data-v-0b6b8260]{background:var(--oc-role-surface-container-low);font-weight:600;color:var(--oc-role-on-surface)}.data-table tr:last-child td[data-v-0b6b8260]{border-bottom:none}.id-cell[data-v-0b6b8260]{font-family:monospace;font-size:14px}.badge[data-v-0b6b8260]{display:inline-block;padding:var(--oc-space-xs) 12px;border-radius:12px;font-size:12px;font-weight:500}.badge-success[data-v-0b6b8260]{background:var(--oc-color-success-bg);color:var(--oc-color-success-text)}.badge-warning[data-v-0b6b8260]{background:var(--oc-color-warning-bg);color:var(--oc-color-warning-text)}.actions-cell[data-v-0b6b8260]{display:flex;gap:var(--oc-space-sm)}.action-btn[data-v-0b6b8260]{background:var(--oc-role-primary);color:var(--oc-role-on-primary);border:none;padding:var(--oc-space-sm) var(--oc-space-md);border-radius:var(--oc-radius-sm);cursor:pointer;font-size:14px;transition:background .2s}.action-btn[data-v-0b6b8260]:hover{background:var(--oc-role-primary-hover)}.action-btn.delete-btn[data-v-0b6b8260]{background:var(--oc-role-error)}.action-btn.delete-btn[data-v-0b6b8260]:hover{background:var(--oc-role-error-hover)}.action-btn.progress-btn[data-v-0b6b8260]{background:#2196f3}.action-btn.progress-btn[data-v-0b6b8260]:hover{background:#1976d2}.action-btn.screen-btn[data-v-0b6b8260]{background:#e91e63;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.action-btn.screen-btn[data-v-0b6b8260]:hover{background:#c2185b}.action-btn.screen-btn.live[data-v-0b6b8260]{animation:pulse-0b6b8260 2s infinite}.screen-btn .live-indicator[data-v-0b6b8260]{width:8px;height:8px;background:#fff;border-radius:50%;animation:blink-0b6b8260 1s infinite}@keyframes pulse-0b6b8260{0%,to{box-shadow:0 0 #e91e6366}50%{box-shadow:0 0 0 8px #e91e6300}}@keyframes blink-0b6b8260{50%{opacity:.3}}.warning-text[data-v-0b6b8260]{color:var(--oc-role-error);font-size:14px}.delete-confirm-btn[data-v-0b6b8260]{background:var(--oc-role-error);border:none;color:var(--oc-role-on-error)}.delete-confirm-btn[data-v-0b6b8260]:hover{background:var(--oc-role-error-hover)}.modal-overlay[data-v-0b6b8260]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-0b6b8260]{background:var(--oc-role-surface);border-radius:var(--oc-radius-md);padding:var(--oc-space-xl);width:100%;max-width:400px;box-shadow:0 4px 20px #0003}.modal h2[data-v-0b6b8260]{margin:0 0 var(--oc-space-sm) 0;color:var(--oc-role-on-surface)}.modal p[data-v-0b6b8260]{color:var(--oc-role-on-surface-variant);margin-bottom:var(--oc-space-lg)}.form-group[data-v-0b6b8260]{margin-bottom:var(--oc-space-md)}.form-group label[data-v-0b6b8260]{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--oc-role-on-surface)}.form-group input[data-v-0b6b8260]{width:100%;padding:10px;border:1px solid var(--oc-role-outline-variant);border-radius:var(--oc-radius-sm);font-size:14px}.form-group input[data-v-0b6b8260]:focus{outline:none;border-color:var(--oc-role-primary)}.modal .error[data-v-0b6b8260]{color:var(--oc-role-error);font-size:14px;margin-bottom:var(--oc-space-md);padding:0}.modal .success[data-v-0b6b8260]{color:var(--oc-role-success);font-size:14px;margin-bottom:var(--oc-space-md)}.modal-actions[data-v-0b6b8260]{display:flex;gap:12px;justify-content:flex-end;margin-top:var(--oc-space-lg)}.modal-actions button[data-v-0b6b8260]{padding:10px 20px;border-radius:var(--oc-radius-sm);font-size:14px;cursor:pointer;transition:all .2s}.cancel-btn[data-v-0b6b8260]{background:var(--oc-role-surface-container);border:1px solid var(--oc-role-outline-variant);color:var(--oc-role-on-surface-variant)}.cancel-btn[data-v-0b6b8260]:hover{background:var(--oc-role-surface-container-low)}.modal-actions button[data-v-0b6b8260]:not(.cancel-btn){background:var(--oc-role-primary);border:none;color:var(--oc-role-on-primary)}.modal-actions button[data-v-0b6b8260]:not(.cancel-btn):hover{background:var(--oc-role-primary-hover)}.modal-actions button[data-v-0b6b8260]:disabled{background:var(--oc-role-outline-variant);cursor:not-allowed}.progress-header[data-v-0b6b8260]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--oc-space-lg)}.distribution-filter[data-v-0b6b8260]{padding:var(--oc-space-sm) var(--oc-space-md);border:1px solid var(--oc-role-outline-variant);border-radius:var(--oc-radius-sm);font-size:14px;min-width:200px}.export-btn[data-v-0b6b8260]{padding:var(--oc-space-sm) var(--oc-space-md);background:var(--oc-role-secondary);color:var(--oc-role-on-secondary);border:none;border-radius:var(--oc-radius-sm);cursor:pointer;font-size:14px;transition:opacity .2s}.export-btn[data-v-0b6b8260]:hover{opacity:.9}.export-btn[data-v-0b6b8260]:disabled{background:var(--oc-role-outline-variant);cursor:not-allowed}.stats-summary[data-v-0b6b8260]{display:flex;gap:var(--oc-space-lg);margin-bottom:var(--oc-space-xl)}.stat-card[data-v-0b6b8260]{background:var(--oc-role-surface);padding:var(--oc-space-lg);border-radius:var(--oc-radius-md);box-shadow:var(--oc-shadow-sm);text-align:center;min-width:150px}.stat-value[data-v-0b6b8260]{font-size:32px;font-weight:700;color:var(--oc-role-primary)}.stat-label[data-v-0b6b8260]{font-size:14px;color:var(--oc-role-on-surface-variant);margin-top:var(--oc-space-xs)}.heatmap-container[data-v-0b6b8260]{background:var(--oc-role-surface);border-radius:var(--oc-radius-md);box-shadow:var(--oc-shadow-md);padding:var(--oc-space-lg)}.heatmap-scroll[data-v-0b6b8260]{overflow-x:auto;margin-bottom:var(--oc-space-lg)}.heatmap-table[data-v-0b6b8260]{width:100%;border-collapse:collapse;min-width:600px}.heatmap-table th[data-v-0b6b8260],.heatmap-table td[data-v-0b6b8260]{padding:var(--oc-space-sm) var(--oc-space-md);border:1px solid var(--oc-role-outline-variant);text-align:center}.heatmap-table th[data-v-0b6b8260]{background:var(--oc-role-surface-container-low);font-weight:600;font-size:12px}.student-col[data-v-0b6b8260]{text-align:left!important;min-width:120px}.student-cell[data-v-0b6b8260]{font-family:monospace;font-size:13px;text-align:left!important}.quiz-col[data-v-0b6b8260]{min-width:100px;max-width:150px}.quiz-title[data-v-0b6b8260]{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quiz-type[data-v-0b6b8260]{font-size:10px;color:var(--oc-role-on-surface-variant);text-transform:uppercase}.heatmap-cell[data-v-0b6b8260]{font-weight:500;font-size:13px;cursor:help;transition:opacity .2s}.heatmap-cell[data-v-0b6b8260]:hover{opacity:.8}.heatmap-cell.not-started[data-v-0b6b8260]{background:#e0e0e0;color:#666}.heatmap-cell.in-progress[data-v-0b6b8260]{background:#fff3cd;color:#856404}.heatmap-cell.completed[data-v-0b6b8260]{background:#cce5ff;color:#004085}.heatmap-cell.passed[data-v-0b6b8260]{background:#d4edda;color:#155724}.heatmap-cell.failed[data-v-0b6b8260]{background:#f8d7da;color:#721c24}.heatmap-legend[data-v-0b6b8260]{display:flex;gap:var(--oc-space-lg);justify-content:center;flex-wrap:wrap}.legend-item[data-v-0b6b8260]{display:flex;align-items:center;gap:var(--oc-space-xs);font-size:12px;color:var(--oc-role-on-surface-variant)}.legend-color[data-v-0b6b8260]{width:16px;height:16px;border-radius:2px}.legend-color.not-started[data-v-0b6b8260]{background:#e0e0e0}.legend-color.in-progress[data-v-0b6b8260]{background:#fff3cd}.legend-color.passed[data-v-0b6b8260]{background:#d4edda}.legend-color.failed[data-v-0b6b8260]{background:#f8d7da}.screencast-viewer[data-v-8cae52b8]{min-height:100vh;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading[data-v-8cae52b8],.error-state[data-v-8cae52b8],.waiting-state[data-v-8cae52b8]{text-align:center;padding:40px}.spinner[data-v-8cae52b8]{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-8cae52b8 1s linear infinite;margin:0 auto 20px}@keyframes spin-8cae52b8{to{transform:rotate(360deg)}}.error-icon[data-v-8cae52b8],.waiting-icon[data-v-8cae52b8]{font-size:64px;margin-bottom:20px}.error-state h2[data-v-8cae52b8]{color:#ff6b6b;margin-bottom:10px}.waiting-state h2[data-v-8cae52b8]{margin-bottom:10px}.room-code[data-v-8cae52b8]{margin-top:20px;font-size:18px;opacity:.8}.room-code strong[data-v-8cae52b8]{font-family:monospace;font-size:24px;color:#4ecdc4}.retry-btn[data-v-8cae52b8],.refresh-btn[data-v-8cae52b8]{margin-top:20px;padding:12px 24px;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:background .2s}.retry-btn[data-v-8cae52b8]{background:#ff6b6b;color:#fff}.retry-btn[data-v-8cae52b8]:hover{background:#ff5252}.refresh-btn[data-v-8cae52b8]{background:#4ecdc4;color:#1a1a2e}.refresh-btn[data-v-8cae52b8]:hover{background:#3dbdb5}.stream-container[data-v-8cae52b8]{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}video[data-v-8cae52b8]{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:#000}.controls[data-v-8cae52b8]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:20px;padding:12px 24px;background:#000000b3;border-radius:30px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status-indicator[data-v-8cae52b8]{display:flex;align-items:center;gap:8px;color:#f44;font-weight:600}.live-dot[data-v-8cae52b8]{width:10px;height:10px;background:#f44;border-radius:50%;animation:blink-8cae52b8 1s infinite}@keyframes blink-8cae52b8{50%{opacity:.5}}.fullscreen-btn[data-v-8cae52b8]{padding:8px 16px;background:#fff3;border:none;border-radius:20px;color:#fff;cursor:pointer;transition:background .2s}.fullscreen-btn[data-v-8cae52b8]:hover{background:#ffffff4d}.screencast-caster[data-v-bb65e8e2]{min-height:100vh;background:#1a1a2e;color:#fff}.loading[data-v-bb65e8e2],.error-state[data-v-bb65e8e2]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.spinner[data-v-bb65e8e2]{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-bb65e8e2 1s linear infinite;margin-bottom:20px}@keyframes spin-bb65e8e2{to{transform:rotate(360deg)}}.error-icon[data-v-bb65e8e2]{font-size:64px;margin-bottom:20px}.error-state h2[data-v-bb65e8e2]{color:#ff6b6b;margin-bottom:10px}.retry-btn[data-v-bb65e8e2]{margin-top:20px;padding:12px 24px;background:#ff6b6b;color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer}.retry-btn[data-v-bb65e8e2]:hover{background:#ff5252}.caster-container[data-v-bb65e8e2]{padding:20px;max-width:1200px;margin:0 auto}.header[data-v-bb65e8e2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.header h1[data-v-bb65e8e2]{margin:0;font-size:24px}.room-info[data-v-bb65e8e2]{display:flex;align-items:center;gap:16px}.room-code[data-v-bb65e8e2]{font-family:monospace;font-size:16px;opacity:.8}.room-code strong[data-v-bb65e8e2]{color:#4ecdc4;font-size:20px}.status-badge[data-v-bb65e8e2]{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.live[data-v-bb65e8e2]{background:#f44;animation:pulse-bb65e8e2 2s infinite}.status-badge.offline[data-v-bb65e8e2]{background:#666}@keyframes pulse-bb65e8e2{0%,to{box-shadow:0 0 #f446}50%{box-shadow:0 0 0 10px #f440}}.preview-section[data-v-bb65e8e2]{position:relative;background:#000;border-radius:12px;overflow:hidden;aspect-ratio:16 / 9;margin-bottom:20px}.preview-section video[data-v-bb65e8e2]{width:100%;height:100%;object-fit:contain}.preview-overlay[data-v-bb65e8e2]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000b3;color:#888;font-size:18px}.controls[data-v-bb65e8e2]{display:flex;align-items:center;justify-content:center;gap:24px;padding:20px;background:#ffffff0d;border-radius:12px;margin-bottom:20px}.start-btn[data-v-bb65e8e2]{padding:16px 32px;background:#4ecdc4;color:#1a1a2e;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:background .2s}.start-btn[data-v-bb65e8e2]:hover{background:#3dbdb5}.stop-btn[data-v-bb65e8e2]{padding:16px 32px;background:#ff6b6b;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:background .2s}.stop-btn[data-v-bb65e8e2]:hover{background:#ff5252}.audio-toggle[data-v-bb65e8e2]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.9}.audio-toggle input[data-v-bb65e8e2]{width:18px;height:18px;cursor:pointer}.audio-toggle input[data-v-bb65e8e2]:disabled{opacity:.5;cursor:not-allowed}.viewer-count[data-v-bb65e8e2]{display:flex;align-items:center;justify-content:center;gap:8px;font-size:18px;opacity:.8}.viewer-icon[data-v-bb65e8e2]{font-size:24px}
