.home-container{background-color:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.home-card{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;width:420px;padding:40px;box-shadow:0 4px 20px #0000004d}.home-card h1{color:var(--accent);margin-bottom:8px;font-family:Consolas,monospace;font-size:28px}.subtitle{color:var(--text-muted);margin-bottom:32px;font-size:14px}.input-section label,.join-section label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:12px;display:block}.input-section input,.join-section input{background-color:var(--bg-primary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:14px}.input-section input:focus,.join-section input:focus{border-color:var(--accent);outline:none}.create-room-btn{background-color:var(--accent);color:#fff;cursor:pointer;border-radius:6px;width:100%;margin-bottom:16px;padding:12px;font-size:15px;transition:background-color .2s}.create-room-btn:hover{background-color:#005f9e}.divider-text{text-align:center;color:var(--text-muted);margin:8px 0 16px;font-size:12px}.join-row{align-items:center;gap:8px;display:flex}.join-row input{flex:1;margin-bottom:0}.join-row .join-room-btn{background-color:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;width:auto;padding:10px 20px;font-size:14px;transition:background-color .2s}.join-row .join-room-btn:hover{background-color:#005f9e}.error-msg{color:#f44747;background-color:#3c1f1f;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px}.room-container{-webkit-user-select:none;user-select:none;flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.topbar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;height:52px;padding:0 16px;display:flex}.topbar .logo{color:var(--accent);white-space:nowrap;font-family:monospace;font-size:17px;font-weight:700}.topbar .room-id{color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border);white-space:nowrap;-webkit-user-select:text;user-select:text;cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-family:monospace;font-size:12px;transition:border-color .15s,background-color .15s;display:inline-flex}.topbar .room-id:hover{border-color:var(--accent);background-color:#ffffff0a}.topbar-spacer{flex:1}.topbar select{background-color:var(--bg-primary);width:120px;height:34px;color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex-shrink:0;padding:0 8px;font-size:13px}.topbar select:focus{border-color:var(--accent);outline:none}.icon-btn{border:1px solid var(--border);background-color:var(--bg-primary);width:36px;height:34px;color:var(--text-primary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.icon-btn:hover{background-color:var(--border)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.run-btn{color:#fff;background-color:#28a745;border-color:#28a745;width:38px;height:34px}.run-btn:hover{background-color:#218838}.spin-icon{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.readonly-btn.active{color:#f9a825;background-color:#3c2a00;border-color:#f9a825}.syntax-icon-btn.active{color:#4ec9b0;background-color:#4ec9b029;border-color:#4ec9b0}.exam-btn{background-color:var(--bg-primary);border:1px solid var(--border);width:86px;height:34px;color:var(--text-primary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.exam-btn:hover{background-color:var(--border)}.exam-btn.active{color:#f9a825;background-color:#3c1f00;border-color:#f9a825}.exam-status{background-color:#3c1f00;border:1px solid #f9a825;border-radius:6px;flex-shrink:0;align-items:center;gap:10px;height:34px;padding:0 10px;display:inline-flex}.exam-timer{color:#f9a825;font-family:monospace;font-size:13px;font-weight:700}.exam-violations{color:#f44747;white-space:nowrap;font-size:12px}.call-controls{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.call-btn{color:#fff;background-color:#28a745;border-color:#28a745}.call-btn:hover{background-color:#218838}.mute-btn{color:#4ec9b0;border-color:#4ec9b0}.mute-btn.muted{color:#f44747;background-color:#f4474726;border-color:#f44747}.end-call-btn{color:#fff;background-color:#dc3545;border-color:#dc3545}.end-call-btn:hover{background-color:#c82333}.call-status-pill{color:#4ec9b0;text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-size:11px;overflow:hidden}.terminate-btn{color:#dc3545;background-color:#3c1f1f;border:1px solid #dc3545;width:36px;height:34px}.terminate-btn:hover{color:#fff;background-color:#dc3545}.leave-btn{color:#fff;background-color:#dc3545;border:1px solid #dc3545;width:36px;height:34px}.leave-btn:hover{background-color:#c82333}.main-area{flex:1;display:flex;overflow:hidden}.file-panel{background-color:var(--bg-secondary);flex-direction:column;flex-shrink:0;padding:12px;display:flex;overflow:visible}.col-resize-handle{background-color:var(--border);cursor:col-resize;z-index:20;flex-shrink:0;width:4px;transition:background-color .2s}.col-resize-handle:hover{background-color:var(--accent)}.file-panel h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:8px;font-size:11px}.file-panel ul{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.file-panel li{cursor:pointer;color:var(--text-primary);border-radius:5px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:13px;display:flex;position:relative}.file-panel li:hover{background-color:var(--border)}.file-panel li.active-file{background-color:var(--accent);color:#fff}.file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.file-menu-btn{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.file-panel li:hover .file-menu-btn{opacity:1}.file-panel li.active-file .file-menu-btn{opacity:1;color:#fff}.file-context-menu{background-color:var(--bg-secondary);border:1px solid var(--border);z-index:300;border-radius:6px;min-width:130px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #00000080}.file-context-menu button{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.file-context-menu button:hover{background-color:var(--border)}.file-context-menu button.delete-btn{color:#f44747}.rename-file-input{align-items:center;gap:4px;width:100%;display:flex}.rename-file-input input{background-color:var(--bg-primary);border:1px solid var(--accent);color:var(--text-primary);border-radius:4px;flex:1;min-width:0;padding:3px 6px;font-size:12px}.add-file-btn{background-color:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;gap:6px;margin-top:10px;padding:7px 10px;font-size:12px;font-weight:500;display:flex}.add-file-btn:hover{background-color:#005f9e}.add-file-input{gap:4px;margin-top:10px;display:flex}.add-file-input input{background-color:var(--bg-primary);border:1px solid var(--accent);color:var(--text-primary);border-radius:4px;outline:none;flex:1;min-width:0;padding:5px 8px;font-size:12px}.add-file-input button{background-color:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:5px 8px;font-size:12px}.add-file-input button:last-child{background-color:var(--border);color:var(--text-muted)}.center-workspace{background-color:#1e1e1e;flex-direction:column;flex:1;min-width:240px;display:flex;overflow:hidden}.editor-panel{background-color:#1e1e1e;flex-direction:column;flex:1;min-height:100px;display:flex;overflow:hidden}.editor-topbar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:36px;padding-right:10px;display:flex;overflow:hidden}.editor-tabs{scrollbar-width:none;align-items:center;height:100%;display:flex;overflow-x:auto}.editor-tabs::-webkit-scrollbar{display:none}.editor-tab{background-color:var(--bg-secondary);border-right:1px solid var(--border);height:100%;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:7px;padding:0 12px;font-size:12px;display:inline-flex;position:relative}.editor-tab:hover{color:var(--text-primary);background-color:#ffffff0a}.editor-tab.active{color:#fff;border-top:2px solid var(--accent);background-color:#1e1e1e}.tab-unsaved-dot{background-color:#f9a825;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.tab-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:13px;line-height:1;display:inline-flex}.tab-close-btn:hover{color:#fff;background-color:#ffffff26}.editor-tab-add{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;display:inline-flex}.editor-tab-add:hover{background-color:var(--border);color:var(--text-primary)}.editor-actions{flex-shrink:0;align-items:center;gap:6px;padding-left:8px;display:inline-flex}.editor-action-btn{background-color:var(--bg-primary);border:1px solid var(--border);width:28px;height:26px;color:var(--text-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.editor-action-btn:hover{background-color:var(--border);color:var(--text-primary)}.editor-monaco-wrapper{flex:1;position:relative;overflow:hidden}.terminal-area{border-top:1px solid var(--border);background-color:#0f1015;flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.console-resize-handle{background-color:var(--border);cursor:ns-resize;flex-shrink:0;height:4px;transition:background-color .2s}.console-resize-handle:hover{background-color:var(--accent)}.terminal-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;height:32px;padding:0 12px;display:flex}.terminal-header-btn{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.terminal-header-btn:hover{background-color:var(--border);color:var(--text-primary)}.terminal-body{color:#e5e5e5;cursor:text;-webkit-user-select:text;user-select:text;flex:1;padding:10px 14px;font-family:Fira Code,Consolas,Courier New,monospace;font-size:13px;line-height:1.6;position:relative;overflow-y:auto}.terminal-line{white-space:pre-wrap;word-break:break-word;margin-bottom:2px}.terminal-line.cmd{color:#fff}.terminal-line.error{color:#f55}.terminal-line.system{color:#8e8e93}.terminal-line.stdout{color:#e2e2e7}.term-user-host{color:#50fa7b;font-weight:700}.term-colon{color:#f8f8f2}.term-cwd-path{color:#61afef;font-weight:700}.term-dollar{color:#fff;margin-right:8px;font-weight:700}.terminal-input-line{flex-wrap:wrap;align-items:center;margin-top:2px;display:flex;position:relative}.terminal-prompt-label.stdin-wait{color:#f9a825;margin-right:8px;font-weight:600}.terminal-Custom-caret-line{white-space:pre-wrap;word-break:break-all;color:#fff;align-items:center;font-family:Fira Code,Consolas,Courier New,monospace;font-size:13px;display:inline-flex}.terminal-block-cursor{color:#0f1015;vertical-align:middle;background-color:#e5e5e5;min-width:8.5px;height:17px;font-weight:700;line-height:17px;animation:1s step-end infinite termBlockBlink;display:inline-block}@keyframes termBlockBlink{0%,to{opacity:1}50%{opacity:0}}.terminal-hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;left:0}.chat-panel{background-color:var(--bg-secondary);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.chat-tabs{border-bottom:1px solid var(--border);flex-shrink:0;height:42px;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:4px;padding:0 4px;font-size:11px;font-weight:500;display:inline-flex;position:relative}.tab-btn:hover{background-color:var(--border)}.tab-btn.active{color:var(--accent);border-bottom:2px solid var(--accent)}.tab-badge{background-color:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);border-radius:10px;padding:0 5px;font-size:10px}.unread-badge{color:#fff;background-color:#dc3545;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex}.chat-messages{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.chat-bubble-row{flex-direction:column;max-width:82%;display:flex}.chat-bubble-row.own{align-self:flex-end;align-items:flex-end}.chat-bubble-row.other{align-self:flex-start;align-items:flex-start}.chat-sender-name{color:#4ec9b0;margin-bottom:2px;padding:0 4px;font-size:10px;font-weight:600}.chat-bubble{word-break:break-word;-webkit-user-select:text;user-select:text;border-radius:10px;padding:7px 11px;font-size:13px;line-height:1.4}.chat-bubble-row.own .chat-bubble{background-color:var(--accent);color:#fff;border-bottom-right-radius:2px}.chat-bubble-row.other .chat-bubble{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:2px}.chat-typing-bubble{background-color:var(--bg-primary);border:1px solid var(--border);color:var(--text-muted);border-radius:12px 12px 12px 2px;align-self:flex-start;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:inline-flex}.typing-dots{align-items:center;gap:3px;display:inline-flex}.typing-dots span{background-color:#4ec9b0;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite dotBounce}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.chat-input-row{border-top:1px solid var(--border);align-items:center;gap:8px;padding:10px;display:flex}.chat-input-row input{background-color:var(--bg-primary);border:1px solid var(--border);height:34px;color:var(--text-primary);border-radius:6px;flex:1;padding:0 10px;font-size:13px}.chat-input-row input:focus{border-color:var(--accent);outline:none}.send-icon-btn{background-color:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:34px;display:inline-flex}.send-icon-btn:hover{background-color:#005f9e}.send-icon-btn:disabled{opacity:.5;cursor:not-allowed}.ai-toolbar{border-bottom:1px solid var(--border);background-color:#00000026;justify-content:space-between;align-items:center;padding:6px 12px;display:flex;position:relative}.ai-toolbar-left{align-items:center;gap:8px;display:inline-flex}.ai-hamburger-btn{background-color:var(--bg-primary);border:1px solid var(--border);width:26px;height:26px;color:var(--text-primary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.ai-hamburger-btn:hover{background-color:var(--border)}.ai-toolbar-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.new-chat-btn{background-color:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.new-chat-btn:hover{background-color:var(--border)}.ai-history-drawer{background-color:var(--bg-primary);border-bottom:1px solid var(--border);flex-direction:column;gap:6px;max-height:220px;padding:8px;display:flex;overflow-y:auto}.ai-drawer-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;padding:2px 4px;font-size:10px}.ai-session-row{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:5px;justify-content:space-between;align-items:center;gap:4px;padding:4px 6px;display:flex;position:relative}.ai-session-row:hover{border-color:var(--accent)}.ai-session-title-btn{text-align:left;color:var(--text-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:2px 4px;font-size:12px;overflow:hidden}.ai-session-dots-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px}.ai-session-dots-btn:hover{color:var(--text-primary)}.ai-session-menu{background-color:var(--bg-secondary);border:1px solid var(--border);z-index:300;border-radius:6px;min-width:110px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #00000080}.ai-session-menu button{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:flex}.ai-session-menu button:hover{background-color:var(--border)}.ai-session-menu button.delete-btn{color:#f44747}.ai-session-empty{color:var(--text-muted);padding:4px 6px;font-size:11px;font-style:italic}.ai-messages{flex-direction:column;gap:12px;display:flex}.ai-message{flex-direction:column;gap:4px;display:flex}.ai-message.user{align-items:flex-end}.ai-message.bot{align-items:flex-start}.ai-role{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.ai-message p{background-color:var(--bg-primary);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;border-radius:8px;max-width:92%;padding:8px 12px;font-size:13px;line-height:1.5}.ai-message.user p{background-color:var(--accent);color:#fff;border-color:var(--accent)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.ai-loading{animation:1.5s infinite pulse}.ai-response-content{color:var(--text-primary);-webkit-user-select:text;user-select:text;max-width:95%;font-size:13px;line-height:1.5}.ai-code-block{border:1px solid var(--border);background-color:#16161a;border-radius:6px;margin:6px 0;overflow:hidden}.ai-code-header{background-color:var(--border);justify-content:space-between;align-items:center;padding:4px 10px;display:flex}.ai-code-lang{color:var(--text-muted);text-transform:uppercase;font-size:10px}.ai-copy-icon-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;display:inline-flex}.ai-copy-icon-btn:hover{background-color:#ffffff1a}.ai-code-content{color:#d4d4d4;white-space:pre;-webkit-user-select:text;user-select:text;margin:0;padding:10px 12px;font-family:monospace;font-size:12px;overflow-x:auto}.users-tab-list,.activity-tab-list{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.users-tab-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border);padding-bottom:6px;font-size:11px}.user-row-card{background-color:var(--bg-primary);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.user-row-info{align-items:center;gap:8px;min-width:0;display:flex}.user-avatar-circle{background-color:var(--accent);color:#fff;text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:flex}.user-name-text{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.admin-badge{color:#f9a825;background-color:#f9a8252e;border:1px solid #f9a825;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600}.user-voice-indicator{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.user-voice-indicator.speaking{color:#00e676;background-color:#28a74533;animation:.9s ease-in-out infinite speakPulse}.user-voice-indicator.muted{color:#f44747;background-color:#f4474726}.user-voice-indicator.idle{color:var(--text-muted)}@keyframes speakPulse{0%,to{transform:scale(1);box-shadow:0 0 #00e67666}50%{transform:scale(1.12);box-shadow:0 0 0 6px #00e67600}}.activity-card{border:1px solid var(--border);background-color:#1c1d24;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.activity-card.violation{background-color:#f4474714;border-color:#f4474780}.activity-card-icon{flex-shrink:0;font-size:15px;line-height:1.2}.activity-card-body{flex-direction:column;gap:3px;min-width:0;display:flex}.activity-card-text{color:var(--text-primary);word-break:break-word;font-size:12px;font-weight:500}.activity-card.violation .activity-card-text{color:#ff6b6b}.activity-card-time{color:var(--text-muted);font-size:10px}.exam-setup-popup{background-color:var(--bg-secondary);border:1px solid var(--border);z-index:200;border-radius:8px;flex-direction:column;gap:10px;min-width:200px;padding:16px;display:flex;position:absolute;top:56px;right:140px;box-shadow:0 4px 16px #00000080}.exam-setup-title{color:var(--text-primary);border-bottom:1px solid var(--border);padding-bottom:8px;font-size:14px;font-weight:700}.exam-setup-popup label{color:var(--text-muted);text-transform:uppercase;font-size:11px}.exam-setup-popup input{background-color:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;width:100%;padding:8px 10px;font-size:14px}.exam-setup-popup button{background-color:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:8px;font-size:13px}.fullscreen-overlay{z-index:9999;background-color:#000000d9;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.fullscreen-prompt{background-color:var(--bg-secondary);text-align:center;border:1px solid #f9a825;border-radius:12px;flex-direction:column;gap:12px;max-width:400px;padding:40px;display:flex}.fullscreen-prompt h2{color:#f9a825;font-size:22px}.fullscreen-prompt p{color:var(--text-muted);font-size:14px}.fullscreen-prompt button{color:#1e1e1e;cursor:pointer;background-color:#f9a825;border:none;border-radius:6px;margin-top:8px;padding:12px 24px;font-size:15px;font-weight:700}.incoming-call-overlay{-webkit-backdrop-filter:blur(12px)saturate(180%);z-index:10000;background-color:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.incoming-call-modal{border:1px solid var(--border);text-align:center;background-color:#1e1e24;border-radius:16px;flex-direction:column;align-items:center;gap:16px;width:290px;padding:32px 24px;display:flex;box-shadow:0 8px 32px #0009}.incoming-call-modal h2{color:var(--text-primary);margin:0;font-size:19px;font-weight:600}.incoming-call-wave-icon{justify-content:center;align-items:center;margin:6px 0;animation:1.4s ease-in-out infinite wavePulse;display:flex}@keyframes wavePulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.incoming-call-buttons{gap:28px;margin-top:12px;display:flex}.incoming-call-buttons button{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .2s,background-color .2s;display:flex;box-shadow:0 4px 10px #0000004d}.incoming-call-buttons .accept-call-btn{background-color:#28a745}.incoming-call-buttons .accept-call-btn:hover{background-color:#218838;transform:scale(1.1)}.incoming-call-buttons .decline-call-btn{background-color:#dc3545}.incoming-call-buttons .decline-call-btn:hover{background-color:#c82333;transform:scale(1.1)}.remote-cursor-widget{pointer-events:none;z-index:50;position:relative}.remote-cursor-caret{pointer-events:none;width:2px;height:19px}.remote-cursor-flag{white-space:nowrap;pointer-events:none;border-radius:4px 4px 4px 0;padding:1px 6px;font-family:Segoe UI,sans-serif;font-size:11px;font-weight:600;line-height:15px;position:absolute;bottom:100%;left:0;box-shadow:0 2px 6px #0006}.remote-selection,.remote-selection-inline{border-radius:2px}.color-sel-0{background-color:#ff408147!important}.color-sel-1{background-color:#00bcd447!important}.color-sel-2{background-color:#ffab0047!important}.color-sel-3{background-color:#d500f947!important}.color-sel-4{background-color:#00e67647!important}.color-sel-5{background-color:#2979ff47!important}.remote-mouse-pointer{pointer-events:none;z-index:9998;flex-direction:column;align-items:flex-start;transition:left 40ms linear,top 40ms linear;display:flex;position:fixed}.remote-mouse-label{white-space:nowrap;border-radius:4px;margin-top:-2px;margin-left:12px;padding:1px 6px;font-size:11px;font-weight:600;box-shadow:0 2px 6px #00000073}.terminal-tabs-bar{align-items:center;gap:4px;height:100%;margin-right:auto;display:inline-flex}.terminal-tab-btn{height:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:500;display:inline-flex}.terminal-tab-btn:hover{color:var(--text-primary)}.terminal-tab-btn.active{color:#fff;border-bottom-color:var(--accent);background-color:#ffffff0a}.problems-count-badge{color:#ff6b6b;background-color:#f4474733;border:1px solid #f44747;border-radius:999px;padding:0 5px;font-size:10px;font-weight:700}.terminal-header-btn.active{color:#4ec9b0;background-color:#4ec9b02e;border:1px solid #4ec9b0}.problem-row-item{color:#ff6b6b;border-bottom:1px solid #ffffff0f;align-items:flex-start;gap:8px;padding:6px 8px;font-size:12px;display:flex}.problem-loc-badge{color:#61afef;white-space:nowrap;font-weight:600}.remote-context-menu-box{z-index:9997;pointer-events:none;background-color:#252526;border:1px solid #454545;border-radius:5px;min-width:195px;padding:4px 0;font-family:Segoe UI,sans-serif;position:absolute;box-shadow:0 6px 20px #000000b3}.remote-context-menu-header{color:#111;border-bottom:1px solid #383838;justify-content:space-between;align-items:center;margin-bottom:3px;padding:4px 12px 5px;font-size:10px;font-weight:700;display:flex}.remote-context-menu-item{color:#ccc;justify-content:space-between;align-items:center;padding:4px 14px;font-size:12px;display:flex}.remote-context-menu-divider{background-color:#3c3c3c;height:1px;margin:4px 0}.exam-security-blur .main-area,.exam-security-blur .topbar{pointer-events:none;filter:blur(28px)brightness(.05)!important;transition:none!important}@media print{body,.room-container{display:none!important}}:root{--bg-primary:#1e1e1e;--bg-secondary:#252526;--text-primary:#d4d4d4;--text-muted:#858585;--accent:#007acc;--border:#3f3f46;--error:#f44747}*,:before,:after{box-sizing:border-box}html,body{-webkit-font-smoothing:antialiased;background-color:var(--bg-primary);height:100%;color:var(--text-primary);margin:0;padding:0;font-family:Segoe UI,Roboto,sans-serif;overflow:hidden}h1,h2,h3,h4,h5,h6,p,ul,ol,li{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background-color:var(--accent);border:2px solid var(--bg-primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background-color:#005f9f}
