:root{--bg-primary:#f5f5f5;--bg-secondary:#fff;--text-primary:#333;--text-secondary:#7f8c8d;--border-color:#ddd;--shadow:rgba(0,0,0,.1)}[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--border-color:#444;--shadow:rgba(0,0,0,.3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.light-theme{background-color:#f5f5f5;color:#333}.dark-theme{background-color:#1a1a1a;color:#e0e0e0}#app,.auth-loading{min-height:100vh}.auth-loading{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center}.loading-content h2{font-size:1.5rem;margin-bottom:.5rem}.loading-content p{opacity:.8}.navbar{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:.25rem 0;box-shadow:0 2px 10px rgba(0,0,0,.1);position:relative;transition:background .3s ease;overflow-x:hidden;width:100%}.dark-theme .navbar{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);box-shadow:0 2px 10px rgba(0,0,0,.3)}.theme-toggle{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:#fff;padding:.5rem;border-radius:6px;cursor:pointer;font-size:1.2rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem}.theme-toggle:hover{background:hsla(0,0%,100%,.2);transform:scale(1.05)}.dark-theme .theme-toggle{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.1)}.dark-theme .theme-toggle:hover{background:hsla(0,0%,100%,.15)}.nav-container{max-width:1200px;margin:0 0;padding:0 1rem;position:relative;overflow-x:hidden;width:100%}.burger-menu{position:absolute;top:50%;left:0;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.5rem;z-index:100;border-radius:4px;transition:background-color .2s}.burger-menu:hover{background:hsla(0,0%,100%,.1)}.burger-line{display:block;width:25px;height:3px;background:#fff;margin:5px 0;transition:.3s;border-radius:2px}.burger-menu.active .burger-line:first-child{transform:rotate(-45deg) translate(-5px,6px)}.burger-menu.active .burger-line:nth-child(2){opacity:0}.burger-menu.active .burger-line:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}.header-projector-mode{margin-left:3rem}.projector-nav{justify-content:space-between}.projector-nav,.room-info-inline{display:flex;align-items:center;gap:1rem}.room-info-inline{flex:1}.room-name-inline{font-size:1.3rem;font-weight:600;color:#ecf0f1}.room-key-inline{display:flex;align-items:center;gap:.75rem;font-size:1rem;flex-shrink:0}.room-key-label{color:#bdc3c7;font-weight:500;font-size:1.1rem}.room-key-value{background:rgba(52,152,219,.3);padding:.5rem 1.25rem;border-radius:6px;font-weight:700;letter-spacing:3px;font-family:Courier New,monospace;border:2px solid rgba(52,152,219,.5);color:#fff;font-size:1.6rem;line-height:1;min-width:180px;text-align:center}.header-room-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:.75rem}.btn-header{padding:.4rem .8rem;border:none;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-transform:none;white-space:nowrap;display:flex;align-items:center;gap:.25rem}.btn-success-header{background:#27ae60;color:#fff;border:1px solid #229954}.btn-success-header:hover{background:#229954;transform:translateY(-1px);box-shadow:0 2px 8px rgba(39,174,96,.3)}.btn-danger-header{background:#e74c3c;color:#fff;border:1px solid #c0392b}.btn-danger-header:hover{background:#c0392b;transform:translateY(-1px);box-shadow:0 2px 8px rgba(231,76,60,.3)}.btn-secondary-header{background:#95a5a6;color:#fff;border:1px solid #7f8c8d}.btn-secondary-header:hover{background:#7f8c8d;transform:translateY(-1px);box-shadow:0 2px 8px hsla(184,9%,62%,.3)}.btn-header:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.header-teacher-mode{margin-left:3rem;overflow-x:hidden;width:calc(100% - 3rem)}.teacher-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:nowrap;overflow-x:hidden}.header-minimal-mode{margin-left:3rem}.minimal-nav{display:flex;align-items:center;padding:.25rem 0;gap:2rem}.room-name-minimal{font-size:1.3rem;font-weight:600;color:#ecf0f1;flex:1}.nav-left{flex-shrink:0}.app-brand-small{font-size:1.5rem;margin:0;font-weight:700}.nav-center{flex-grow:1;justify-content:center}.nav-center,.nav-right{display:flex;gap:.75rem;flex-wrap:nowrap;overflow-x:hidden}.nav-right{align-items:center;flex-shrink:0}.standard-nav{display:flex;justify-content:space-between;align-items:center}.nav-brand{font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none}.nav-links{display:flex;align-items:center;gap:1rem}.nav-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s;font-weight:500}.nav-link:hover{background-color:hsla(0,0%,100%,.1)}.nav-admin{background:linear-gradient(135deg,#e74c3c,#c0392b);font-weight:700}.nav-admin:hover{background:linear-gradient(135deg,#c0392b,#a93226)}.nav-teaching{background:linear-gradient(135deg,#3498db,#2980b9)}.nav-teaching:hover{background:linear-gradient(135deg,#2980b9,#1f618d)}.nav-button{background:none;border:none;cursor:pointer;font-size:inherit}.nav-user-section{gap:.75rem;padding-left:.75rem;border-left:1px solid hsla(0,0%,100%,.2);flex-wrap:nowrap;overflow-x:hidden}.nav-user,.nav-user-section{display:flex;align-items:center;white-space:nowrap}.nav-user{color:#bdc3c7;font-size:.9rem;gap:.5rem;overflow:hidden;text-overflow:ellipsis;max-width:200px}.user-role-badge{padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:700}.user-role-badge.admin{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.user-role-badge.teacher{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.main-content{min-height:100vh}.main-content.with-nav{min-height:calc(100vh - 40px)}@media (max-width:768px){.nav-container{padding:0 .5rem}.header-minimal-mode,.header-projector-mode,.header-teacher-mode{margin-left:2.5rem}.minimal-nav{gap:1rem}.room-name-minimal{font-size:1.2rem}.nav-center,.teacher-nav{gap:.5rem;flex-wrap:nowrap!important;overflow-x:hidden}.nav-center{justify-content:center}.nav-center .nav-link{padding:.4rem .6rem;font-size:.8rem;white-space:nowrap}.nav-right{justify-content:flex-end;flex-wrap:nowrap!important;gap:.5rem;overflow-x:hidden}.nav-user-section{gap:.5rem;padding-left:.5rem}.nav-user{font-size:.8rem;max-width:150px}.header-room-controls{gap:.25rem;margin-left:.5rem}.btn-header{padding:.3rem .6rem;font-size:.75rem}.nav-user-section{border-left:none;border-top:1px solid hsla(0,0%,100%,.2);padding-left:0;width:100%;justify-content:center}.standard-nav{flex-direction:column;gap:1rem}.nav-links{flex-wrap:wrap;justify-content:center}.app-brand{font-size:2rem}.projector-nav{gap:.5rem}.room-info-inline{flex:1;min-width:0}.room-name-inline{font-size:1.1rem}.room-key-inline{gap:.5rem}.room-key-label{font-size:.9rem}.room-key-value{font-size:1.3rem;padding:.4rem 1rem;letter-spacing:2px;min-width:140px}}@media (max-width:480px){.burger-menu{left:.25rem}.header-minimal-mode,.header-projector-mode,.header-teacher-mode{margin-left:2rem}.app-brand{font-size:1.5rem}.app-brand-small{font-size:1.2rem}.minimal-nav{gap:.5rem}.room-name-minimal{font-size:1.1rem}.nav-center,.teacher-nav{gap:.25rem}.nav-center .nav-link{padding:.3rem .5rem;font-size:.75rem}.nav-right{gap:.25rem}.nav-user-section{gap:.25rem;padding-left:.25rem}.nav-user{font-size:.75rem;max-width:120px}.theme-toggle{min-width:2rem;height:2rem;padding:.4rem;font-size:1rem}.projector-nav{gap:.25rem}.room-name-inline{font-size:1rem}.room-key-inline{flex-direction:column;gap:.2rem}.theme-toggle{margin-top:.5rem}.room-key-label{font-size:.8rem}.room-key-value{font-size:1.1rem;padding:.3rem .75rem;letter-spacing:1.5px;min-width:120px}}.container{max-width:1200px;margin:0 auto;padding:.5rem .5rem}.card{border-radius:8px;padding:1rem 1rem;box-shadow:0 2px 10px var(--shadow);margin-bottom:.5rem;border:1px solid var(--border-color);transition:all .3s ease;margin-bottom:1rem}.card,.dark-theme .card{background:var(--bg-secondary)}.dark-theme .card{border-color:var(--border-color)}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-success{background:#27ae60;color:#fff}.btn-success:hover{background:#229954}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.btn-warning{background:#f39c12;color:#fff}.btn-warning:hover{background:#e67e22}.btn-warning:disabled{background:#bdc3c7;color:#7f8c8d;cursor:not-allowed}.btn-warning:disabled:hover{background:#bdc3c7}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500}.form-input,.form-label{color:var(--text-primary)}.form-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;background:var(--bg-secondary);transition:all .2s ease}.form-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px rgba(52,152,219,.2)}.dark-theme .form-input{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.dark-theme .form-input:focus{border-color:#3498db;box-shadow:0 0 0 2px rgba(52,152,219,.3)}.alert{padding:1rem;border-radius:4px;margin-bottom:1rem}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.spinner{width:3rem;height:3rem;border:3px solid hsla(0,0%,100%,.3);border-top:3px solid #fff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hero[data-v-4123a3b3]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4rem 0;text-align:center}.hero-title[data-v-4123a3b3]{font-size:3rem;margin-bottom:1rem;font-weight:700}.hero-subtitle[data-v-4123a3b3]{font-size:1.5rem;margin-bottom:3rem;opacity:.9}.hero-actions[data-v-4123a3b3]{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-large[data-v-4123a3b3]{padding:1rem 2rem;font-size:1.1rem;min-width:200px}.features[data-v-4123a3b3]{padding:4rem 0;background:#fff}.section-title[data-v-4123a3b3]{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#2c3e50}.features-grid[data-v-4123a3b3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.feature-card[data-v-4123a3b3]{text-align:center;padding:2rem;border-radius:8px;background:#f8f9fa;transition:transform .2s}.feature-card[data-v-4123a3b3]:hover{transform:translateY(-5px)}.feature-icon[data-v-4123a3b3]{font-size:3rem;margin-bottom:1rem}.feature-card h3[data-v-4123a3b3]{font-size:1.3rem;margin-bottom:1rem;color:#2c3e50}.feature-card p[data-v-4123a3b3]{color:#7f8c8d;line-height:1.6}@media (max-width:768px){.hero-title[data-v-4123a3b3]{font-size:2rem}.hero-subtitle[data-v-4123a3b3]{font-size:1.2rem}.hero-actions[data-v-4123a3b3]{flex-direction:column;align-items:center}.btn-large[data-v-4123a3b3]{min-width:auto;width:100%;max-width:300px}}.teacher-login[data-v-509964b4]{min-height:100vh;display:flex;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-wrapper[data-v-509964b4]{max-width:400px;margin:0 auto}.login-header[data-v-509964b4]{text-align:center;margin-bottom:2rem}.login-header h1[data-v-509964b4]{font-size:2rem;margin-bottom:.5rem;color:#2c3e50}.login-header p[data-v-509964b4]{color:#7f8c8d}.login-form[data-v-509964b4]{margin-bottom:2rem}.btn-full[data-v-509964b4]{width:100%;padding:1rem;font-size:1.1rem}.login-footer[data-v-509964b4]{text-align:center;padding-top:1rem;border-top:1px solid #eee}.link[data-v-509964b4]{color:#3498db;text-decoration:none}.link[data-v-509964b4]:hover{text-decoration:underline}@media (max-width:768px){.login-wrapper[data-v-509964b4]{margin:1rem;max-width:none}}.simple-preview-container[data-v-2a326a54]{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;position:relative}.preview-header[data-v-2a326a54]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color);flex-shrink:0}.preview-title[data-v-2a326a54]{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary)}.preview-icon[data-v-2a326a54]{font-size:1.2rem}.last-updated[data-v-2a326a54]{font-size:.75rem;color:var(--text-secondary);margin-left:.5rem;opacity:.8}.preview-controls[data-v-2a326a54]{display:flex;gap:.5rem}.btn-icon[data-v-2a326a54]{background:none;border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s ease;min-width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.btn-icon[data-v-2a326a54]:hover{background:var(--bg-secondary);transform:scale(1.05)}.btn-icon[data-v-2a326a54]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-close[data-v-2a326a54]{color:#e74c3c;border-color:#e74c3c}.btn-close[data-v-2a326a54]:hover{background:#e74c3c;color:#fff}.preview-iframe[data-v-2a326a54]{width:100%;height:100%;border:none;background:#fff}.resize-placeholder[data-v-2a326a54]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:8px}.resize-placeholder-content[data-v-2a326a54]{text-align:center;color:var(--text-secondary);opacity:.7}.resize-icon[data-v-2a326a54]{font-size:2rem;margin-bottom:.5rem;color:var(--text-secondary)}.resize-placeholder p[data-v-2a326a54]{margin:0;font-size:.9rem;font-style:italic}.preview-frame-container[data-v-2a326a54]{flex:1;display:flex;background:#f8f9fa;position:relative;max-width:100%}.preview-loading[data-v-2a326a54]{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10}.spinner[data-v-2a326a54]{width:2rem;height:2rem;border:3px solid var(--border-color);border-top:3px solid #3498db;border-radius:50%;animation:spin-2a326a54 1s linear infinite;margin-bottom:1rem}@keyframes spin-2a326a54{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.preview-error[data-v-2a326a54]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:var(--bg-secondary);padding:2rem;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.1);border:1px solid var(--border-color);z-index:10}.preview-error h4[data-v-2a326a54]{color:#e74c3c;margin:0 0 1rem 0}.preview-error p[data-v-2a326a54]{color:var(--text-secondary);margin:0 0 1rem 0}.preview-empty[data-v-2a326a54]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-secondary);z-index:5}.empty-icon[data-v-2a326a54]{font-size:3rem;margin-bottom:1rem;opacity:.5}.preview-empty h4[data-v-2a326a54]{margin:0 0 .5rem 0;color:var(--text-primary)}.preview-empty p[data-v-2a326a54]{margin:0;font-size:.9rem}.btn[data-v-2a326a54]{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.btn-primary[data-v-2a326a54]{background:#3498db;color:#fff}.btn-primary[data-v-2a326a54]:hover{background:#2980b9}.dark-theme .preview-frame-container[data-v-2a326a54]{background:#2d2d2d}.dark-theme .preview-loading[data-v-2a326a54]{background:rgba(45,45,45,.95);color:var(--text-primary)}.dark-theme .preview-error[data-v-2a326a54]{background:var(--bg-secondary);border-color:var(--border-color)}.dark-theme .preview-empty[data-v-2a326a54]{color:var(--text-secondary)}@media (max-width:768px){.preview-header[data-v-2a326a54]{padding:.5rem .75rem}.preview-title[data-v-2a326a54]{font-size:.9rem}.btn-icon[data-v-2a326a54]{padding:.4rem;min-width:1.8rem;height:1.8rem;font-size:.8rem}.last-updated[data-v-2a326a54]{display:none}}.teacher-dashboard[data-v-3b51b402]{padding:0;overflow-x:hidden;width:100%;max-width:none;box-sizing:border-box}.teacher-dashboard[data-v-3b51b402] *{box-sizing:border-box}.teacher-dashboard .container[data-v-3b51b402]{width:100%;max-width:none;margin:0;padding:0;box-sizing:border-box;overflow-x:hidden}.room-section[data-v-3b51b402]{display:block;width:100vw;max-width:100vw;box-sizing:border-box;overflow:visible;padding:.5rem;margin:0;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.room-section .card[data-v-3b51b402]{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;margin:0}.compact-card[data-v-3b51b402]{padding:0;margin:0;overflow:hidden;background:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 10px var(--shadow);border:1px solid var(--border-color);transition:all .3s ease;height:calc(100vh - .5rem);max-height:calc(100vh - 70px);display:flex;flex-direction:column;width:calc(100% - 1rem);max-width:calc(100% - 1rem);position:relative;left:0;right:0;margin-left:0;margin-right:0;box-sizing:border-box;min-height:0}.editor-container[data-v-3b51b402]{margin:0;position:relative;max-height:100%;flex-direction:column}.editor-container[data-v-3b51b402],.editor-content-area[data-v-3b51b402]{height:100%;width:100%;max-width:100%;display:flex;overflow:hidden;box-sizing:border-box;flex:1}.editor-content-area[data-v-3b51b402]{min-height:0}.layout-single .editor-content-area[data-v-3b51b402]{flex-direction:column}.layout-single .editor-panel[data-v-3b51b402]{width:100%!important;height:100%;flex:1}.layout-split .editor-content-area[data-v-3b51b402]{flex-direction:row}.layout-split .editor-panel[data-v-3b51b402]{flex-shrink:0;min-width:200px;height:100%}.editor-panel[data-v-3b51b402]{display:flex;flex-direction:column;min-width:0;overflow:hidden;position:relative;background:var(--bg-secondary);box-sizing:border-box}.editor-panel-controls[data-v-3b51b402]{position:absolute;top:.75rem;right:.75rem;z-index:20;display:flex;gap:.5rem;align-items:center;pointer-events:auto}.preview-panel[data-v-3b51b402]{flex-shrink:0;min-width:200px;border-left:1px solid var(--border-color);animation:slideInRight-3b51b402 .3s ease-out}.code-editor[data-v-3b51b402],.preview-panel[data-v-3b51b402]{height:100%;max-height:100%;overflow:hidden;box-sizing:border-box}.code-editor[data-v-3b51b402]{width:100%;max-width:100%;flex:1}.editor-controls[data-v-3b51b402]{position:absolute;top:.75rem;right:.75rem;z-index:20;display:flex;gap:.5rem;align-items:center;pointer-events:auto}.resize-handle[data-v-3b51b402]{width:10px;background:var(--border-color);cursor:col-resize;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;z-index:10;height:100%}.resize-handle-bar[data-v-3b51b402]{width:2px;height:60px;background:#666;border-radius:1px;opacity:.6;transition:all .2s ease}.resize-handle:hover .resize-handle-bar[data-v-3b51b402]{opacity:1;background:#999}.resize-handle.resizing[data-v-3b51b402]{opacity:1;background:#3498db!important;width:3px;height:40px;box-shadow:0 0 8px rgba(52,152,219,.6)}.resume-banner[data-v-3b51b402]{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-radius:8px;padding:1.5rem 2rem;margin-bottom:2rem;box-shadow:0 4px 15px rgba(52,152,219,.3);margin-left:1rem;margin-right:1rem;max-width:calc(100% - 2rem)}.resume-content[data-v-3b51b402]{display:flex;justify-content:space-between;align-items:center;gap:2rem}.resume-info h3[data-v-3b51b402]{margin:0 0 .5rem 0;font-size:1.3rem}.resume-info p[data-v-3b51b402]{margin:.25rem 0}.resume-meta[data-v-3b51b402]{opacity:.9;font-size:.9rem}.resume-actions[data-v-3b51b402]{display:flex;gap:1rem;flex-shrink:0}.create-room-form[data-v-3b51b402]{margin-left:.5rem;margin-right:.5rem;max-width:calc(100% - 1rem)}.create-room-form .form-group[data-v-3b51b402]{display:flex;flex-direction:column;width:100%}.create-room-form .form-label[data-v-3b51b402]{margin-bottom:.5rem}.input-button-container[data-v-3b51b402]{display:flex;gap:1rem;align-items:center}.create-room-form .wider-input[data-v-3b51b402]{min-width:400px;flex:1}.room-info[data-v-3b51b402]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.room-header[data-v-3b51b402]{display:flex;justify-content:space-between;align-items:start;margin-bottom:2rem}.room-key[data-v-3b51b402]{font-size:1.2rem;margin:.5rem 0}.room-status[data-v-3b51b402]{margin:.5rem 0}.session-time[data-v-3b51b402]{margin:.5rem 0;opacity:.9;font-size:.9rem}.status-open[data-v-3b51b402]{color:#2ecc71;font-weight:700}.status-closed[data-v-3b51b402]{color:#e74c3c;font-weight:700}.room-controls[data-v-3b51b402]{display:flex;gap:1rem;flex-wrap:wrap}.participants h3[data-v-3b51b402]{margin-bottom:1rem}.participant-list[data-v-3b51b402]{display:flex;flex-wrap:wrap;gap:.5rem}.participant-badge[data-v-3b51b402]{background:hsla(0,0%,100%,.2);padding:.5rem 1rem;border-radius:20px;font-size:.9rem}.no-participants[data-v-3b51b402]{text-align:center;opacity:.8}.btn-danger-outline[data-v-3b51b402]{background-color:#42429c;color:#fff}.btn-danger-outline[data-v-3b51b402]:hover{background-color:#343479;color:#fff}.btn-small[data-v-3b51b402]{padding:.5rem 1rem;font-size:.9rem}.editor-options-dropdown[data-v-3b51b402]{position:relative}.editor-options-select[data-v-3b51b402]{padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;cursor:pointer;opacity:.5;transition:all .3s ease;backdrop-filter:blur(10px);box-shadow:0 2px 8px var(--shadow);outline:none;min-width:140px}.editor-options-select[data-v-3b51b402]:focus,.editor-options-select[data-v-3b51b402]:hover{opacity:1;transform:scale(1.05);border-color:#3498db;box-shadow:0 4px 12px var(--shadow);outline:none}.dark-theme .editor-options-select[data-v-3b51b402]{background:rgba(45,45,45,.9);border-color:var(--border-color);color:var(--text-primary)}.dark-theme .editor-options-select[data-v-3b51b402]:focus,.dark-theme .editor-options-select[data-v-3b51b402]:hover{background:var(--bg-secondary);border-color:#3498db}.editor-language-control[data-v-3b51b402]{position:relative}.language-select-overlay[data-v-3b51b402]{padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;cursor:pointer;opacity:.5;transition:all .3s ease;backdrop-filter:blur(10px);box-shadow:0 2px 8px var(--shadow);outline:none}.language-select-overlay[data-v-3b51b402]:focus,.language-select-overlay[data-v-3b51b402]:hover{opacity:1;transform:scale(1.05);border-color:#3498db;box-shadow:0 4px 12px var(--shadow);outline:none}.dark-theme .language-select-overlay[data-v-3b51b402]{background:rgba(45,45,45,.9);border-color:var(--border-color);color:var(--text-primary)}.dark-theme .language-select-overlay[data-v-3b51b402]:focus,.dark-theme .language-select-overlay[data-v-3b51b402]:hover{background:var(--bg-secondary);border-color:#3498db}.room-status-banner[data-v-3b51b402]{position:absolute;bottom:.75rem;right:.75rem;z-index:5;pointer-events:none}.status-info[data-v-3b51b402]{display:flex;align-items:center;gap:.5rem;background:rgba(231,76,60,.9);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;backdrop-filter:blur(10px);box-shadow:0 2px 8px rgba(0,0,0,.2);pointer-events:auto;width:-moz-fit-content;width:fit-content;opacity:.5;transition:opacity .3s ease}.status-info[data-v-3b51b402]:hover{opacity:1}.status-icon[data-v-3b51b402]{font-size:1rem}.status-text[data-v-3b51b402]{flex:1}.status-btn[data-v-3b51b402]{margin-left:.5rem;padding:.25rem .75rem;font-size:.75rem;border:none}.room-item[data-v-3b51b402]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:4px;transition:all .2s ease;background:var(--bg-secondary);min-height:60px}.room-item[data-v-3b51b402]:hover{background:var(--bg-primary);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow)}.dark-theme .room-item[data-v-3b51b402]{background:var(--bg-secondary);border-color:var(--border-color)}.dark-theme .room-item[data-v-3b51b402]:hover{background:var(--bg-primary)}.room-item-info[data-v-3b51b402]{flex:1;display:flex;align-items:center;gap:1rem;cursor:pointer}.room-item-info h4[data-v-3b51b402]{margin:0;color:var(--text-primary);font-size:1rem;min-width:150px;flex-shrink:0}.room-item-info p[data-v-3b51b402]{margin:0;color:var(--text-secondary);font-size:.85rem;white-space:nowrap}.room-date[data-v-3b51b402]{font-size:.8rem;font-weight:500;color:#3498db;margin-left:auto;padding-left:1rem}.room-item-actions[data-v-3b51b402]{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.recent-sessions-card[data-v-3b51b402],.room-info-card[data-v-3b51b402]{transition:all .3s ease;margin-left:.5rem;margin-right:.5rem}.room-info-card.collapsed[data-v-3b51b402]{background:var(--bg-secondary)!important}.room-info-card .collapsible-header h2[data-v-3b51b402]{color:#fff}.room-info-card .collapsible-header h2.collapsed[data-v-3b51b402]{color:#999;font-size:.9rem;font-weight:400}.dark-theme .room-info-card .collapsible-header h2.collapsed[data-v-3b51b402]{color:#666}.room-info-card .collapsible-header:hover h2[data-v-3b51b402]{color:#fff}.room-info-card .collapsible-header:hover h2.collapsed[data-v-3b51b402]{color:#777}.dark-theme .room-info-card .collapsible-header:hover h2.collapsed[data-v-3b51b402]{color:#888}.room-info-content[data-v-3b51b402]{margin-top:1rem}.collapsible-header[data-v-3b51b402]{cursor:pointer;margin-bottom:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.collapsible-header h2[data-v-3b51b402]{display:flex;align-items:center;justify-content:space-between;margin:0;padding:.5rem 0;transition:all .3s ease;color:var(--text-primary)}.collapsible-header h2.collapsed[data-v-3b51b402]{color:#999;font-size:.9rem;font-weight:400}.collapse-icon[data-v-3b51b402]{font-size:.8rem;opacity:.7;transition:transform .3s ease;margin-left:auto}.dark-theme .collapsible-header h2.collapsed[data-v-3b51b402]{color:#666}.collapsible-header:hover h2[data-v-3b51b402]{color:var(--text-primary)}.collapsible-header:hover h2.collapsed[data-v-3b51b402]{color:#777}.dark-theme .collapsible-header:hover h2.collapsed[data-v-3b51b402]{color:#888}.recent-rooms[data-v-3b51b402]{display:grid;gap:1rem}.modal-overlay[data-v-3b51b402]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-3b51b402]{background:var(--bg-secondary);border-radius:8px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px rgba(0,0,0,.3)}.dark-theme .modal-content[data-v-3b51b402]{background:var(--bg-secondary);box-shadow:0 4px 20px rgba(0,0,0,.6)}.modal-header[data-v-3b51b402]{margin-bottom:1.5rem}.modal-header h3[data-v-3b51b402]{margin:0;color:var(--text-primary);font-size:1.5rem}.modal-body[data-v-3b51b402]{margin-bottom:2rem}.modal-body p[data-v-3b51b402]{margin:0 0 1rem 0;color:var(--text-primary)}.room-details[data-v-3b51b402]{background:var(--bg-primary);padding:1rem;border-radius:4px;margin:1rem 0;border:1px solid var(--border-color)}.room-details p[data-v-3b51b402]{margin:.5rem 0;color:var(--text-secondary)}.warning-box[data-v-3b51b402]{background:#ffeaa7;border:1px solid #fdcb6e;padding:1rem;border-radius:4px;margin:1rem 0}.dark-theme .warning-box[data-v-3b51b402]{background:#2d1810;border-color:#8b4513;color:#f39c12}.warning-box p[data-v-3b51b402]{margin:0 0 .5rem 0;font-weight:700;color:#e17055}.dark-theme .warning-box p[data-v-3b51b402]{color:#f39c12}.warning-box ul[data-v-3b51b402]{margin:.5rem 0 0 1rem;color:#636e72}.dark-theme .warning-box ul[data-v-3b51b402]{color:#ddd}.warning-box li[data-v-3b51b402]{margin:.25rem 0}.modal-actions[data-v-3b51b402]{display:flex;gap:1rem;justify-content:flex-end}.code-editor.font-size-small[data-v-3b51b402] .cm-editor{font-size:12px}.code-editor.font-size-normal[data-v-3b51b402] .cm-editor{font-size:14px}.code-editor.font-size-large[data-v-3b51b402] .cm-editor{font-size:16px}.code-editor.font-size-largest[data-v-3b51b402] .cm-editor{font-size:18px}.code-editor.word-wrap-enabled[data-v-3b51b402] .cm-line{white-space:pre-wrap}.editor-layout[data-v-3b51b402]{display:grid;grid-template-columns:1fr;gap:1rem;width:100%;transition:all .3s ease;min-height:calc(100vh - 120px)}.editor-layout.with-preview[data-v-3b51b402]{grid-template-columns:1fr 1fr;gap:1.5rem}.editor-card[data-v-3b51b402]{transition:all .3s ease}.btn-preview-toggle[data-v-3b51b402],.btn-toggle-preview[data-v-3b51b402]{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .3s ease;backdrop-filter:blur(10px);box-shadow:0 2px 8px var(--shadow);opacity:.8;white-space:nowrap;outline:none}.btn-preview-toggle[data-v-3b51b402]:hover,.btn-toggle-preview[data-v-3b51b402]:hover{opacity:1;transform:scale(1.05);border-color:#3498db;box-shadow:0 4px 12px var(--shadow)}.btn-preview-toggle.active[data-v-3b51b402],.btn-toggle-preview.active[data-v-3b51b402]{background:#3498db;color:#fff;border-color:#2980b9;opacity:1}@media (max-width:1200px){.editor-layout.with-preview[data-v-3b51b402]{grid-template-columns:1fr;grid-template-rows:1fr auto}}@media (max-width:768px){.room-section[data-v-3b51b402]{padding:.25rem}.compact-card[data-v-3b51b402]{width:calc(100% - .5rem);max-width:calc(100% - .5rem);border-radius:4px}.layout-split .editor-content-area[data-v-3b51b402]{flex-direction:column;height:100%}.layout-split .resize-handle[data-v-3b51b402]{width:100%;height:8px;cursor:row-resize;flex-direction:row}.layout-split .resize-handle-bar[data-v-3b51b402]{width:30px;height:2px}.layout-split .preview-panel[data-v-3b51b402]{border-left:none;border-top:1px solid var(--border-color);height:40vh;max-height:40vh}.layout-split .editor-panel[data-v-3b51b402]{min-width:auto;min-height:150px;width:100%!important}.create-room-form .wider-input[data-v-3b51b402]{min-width:100%;width:100%}.input-button-container[data-v-3b51b402]{flex-direction:column;align-items:stretch}.room-header[data-v-3b51b402]{flex-direction:column;gap:1rem}.room-controls[data-v-3b51b402]{justify-content:center;flex-direction:column;align-items:stretch}.room-item[data-v-3b51b402]{gap:1rem}.room-item-info[data-v-3b51b402],.room-item[data-v-3b51b402]{flex-direction:column;text-align:center}.room-item-actions[data-v-3b51b402]{justify-content:center}.modal-actions[data-v-3b51b402]{flex-direction:column}.resume-content[data-v-3b51b402]{flex-direction:column;gap:1rem;text-align:center}.resume-actions[data-v-3b51b402]{justify-content:center}.editor-controls[data-v-3b51b402],.editor-panel-controls[data-v-3b51b402]{gap:.25rem;flex-wrap:wrap}.btn-preview-toggle[data-v-3b51b402],.btn-toggle-preview[data-v-3b51b402]{padding:.3rem .6rem;font-size:.75rem}.create-room-form[data-v-3b51b402],.recent-sessions-card[data-v-3b51b402],.resume-banner[data-v-3b51b402],.room-info-card[data-v-3b51b402]{margin-left:.25rem;margin-right:.25rem;max-width:calc(100% - .5rem)}}.dark-theme .resize-handle[data-v-3b51b402]{background:var(--border-color)}.dark-theme .resize-handle[data-v-3b51b402]:hover{background:#3498db}.dark-theme .preview-panel[data-v-3b51b402]{border-left-color:var(--border-color)}.dark-theme .editor-panel[data-v-3b51b402]{background:var(--bg-secondary)}.dark-theme .btn-preview-toggle[data-v-3b51b402],.dark-theme .btn-toggle-preview[data-v-3b51b402]{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.dark-theme .btn-preview-toggle[data-v-3b51b402]:hover,.dark-theme .btn-toggle-preview[data-v-3b51b402]:hover{background:var(--bg-primary)}.dark-theme .btn-preview-toggle.active[data-v-3b51b402],.dark-theme .btn-toggle-preview.active[data-v-3b51b402]{background:#3498db;color:#fff}[data-v-3b51b402] .cm-editor{font-size:14px}[data-v-3b51b402] .cm-editor,[data-v-3b51b402] .cm-scroller{height:100%;max-height:100%;width:100%;max-width:100%;box-sizing:border-box}[data-v-3b51b402] .cm-scroller{overflow:auto}[data-v-3b51b402] .cm-content{padding:10px;min-height:100%;width:100%;max-width:100%;box-sizing:border-box}.light-theme[data-v-3b51b402] .cm-editor{background-color:#fff;color:#333}.light-theme[data-v-3b51b402] .cm-content{background-color:#fff}.light-theme[data-v-3b51b402] .cm-gutters{background-color:#f8f9fa;border-right:1px solid #e9ecef;color:#6c757d}.light-theme[data-v-3b51b402] .cm-lineNumbers .cm-gutterElement{color:#6c757d}.light-theme[data-v-3b51b402] .cm-activeLine{background-color:#f8f9fa}.light-theme[data-v-3b51b402] .cm-cursor{border-left-color:#333}.light-theme[data-v-3b51b402] .cm-selectionBackground{background-color:#b3d4fc}.light-theme[data-v-3b51b402] .cm-foldGutter .cm-gutterElement{color:#6c757d}.warning-text[data-v-3b51b402]{color:#dc3545;font-weight:500;background:rgba(220,53,69,.1);padding:.5rem;border-radius:4px;border-left:3px solid #dc3545;margin:1rem 0!important}.dark-theme .warning-text[data-v-3b51b402]{color:#ff6b7a;background:rgba(255,107,122,.1);border-left-color:#ff6b7a}.warning-header[data-v-3b51b402]{color:#dc3545!important}.dark-theme .warning-header[data-v-3b51b402]{color:#ff6b7a!important}.btn-warning[data-v-3b51b402]{background:#f6ad19;color:#fff}.btn-warning[data-v-3b51b402]:hover:not(:disabled){background:#ce6911;transform:translateY(-1px)}.btn-warning[data-v-3b51b402]:disabled,.dark-theme .btn-warning[data-v-3b51b402]:disabled{background:#6c757d;opacity:.65;cursor:not-allowed}.dark-theme .btn-warning[data-v-3b51b402]{background:#f6ad19;color:#fff}.dark-theme .btn-warning[data-v-3b51b402]:hover:not(:disabled){background:#ce6911}@keyframes slideInRight-3b51b402{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.toast-notification[data-v-3b51b402]{position:fixed;bottom:2rem;right:2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.3);font-size:1rem;font-weight:500;z-index:10000;max-width:400px;word-wrap:break-word}.dark-theme .toast-notification[data-v-3b51b402]{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 20px rgba(0,0,0,.6)}.toast-enter-active[data-v-3b51b402]{animation:toastSlideIn-3b51b402 .3s ease-out}.toast-leave-active[data-v-3b51b402]{animation:toastSlideOut-3b51b402 .3s ease-in}@keyframes toastSlideIn-3b51b402{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastSlideOut-3b51b402{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}@media (max-width:768px){.toast-notification[data-v-3b51b402]{bottom:1rem;right:1rem;left:1rem;max-width:calc(100% - 2rem)}}.student-join[data-v-0a0abfb4]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 0}.join-wrapper[data-v-0a0abfb4]{max-width:800px;margin:0 auto;display:grid;gap:2rem}.join-header[data-v-0a0abfb4]{text-align:center;margin-bottom:2rem}.join-header h1[data-v-0a0abfb4]{font-size:2rem;margin-bottom:.5rem;color:#2c3e50}.join-header p[data-v-0a0abfb4]{color:#7f8c8d}.join-form[data-v-0a0abfb4]{margin-bottom:2rem}.room-key-input[data-v-0a0abfb4]{text-transform:uppercase;letter-spacing:2px;font-weight:700;text-align:center;font-size:1.2rem}.input-with-clear[data-v-0a0abfb4]{position:relative;display:flex;align-items:center}.clear-room-key-btn[data-v-0a0abfb4]{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#e74c3c;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s ease;z-index:10}.clear-room-key-btn[data-v-0a0abfb4]:hover{background:#c0392b;transform:translateY(-50%) scale(1.1)}.clear-room-key-btn[data-v-0a0abfb4]:disabled{opacity:.5;cursor:not-allowed;transform:translateY(-50%)}.form-help[data-v-0a0abfb4]{color:#7f8c8d;font-size:.9rem;margin-top:.25rem;display:block}.btn-full[data-v-0a0abfb4]{width:100%;padding:1rem;font-size:1.1rem}.join-footer[data-v-0a0abfb4]{text-align:center;padding-top:1rem;border-top:1px solid #eee}.link[data-v-0a0abfb4]{color:#3498db;text-decoration:none}.link[data-v-0a0abfb4]:hover{text-decoration:underline}.instructions[data-v-0a0abfb4]{background:hsla(0,0%,100%,.95)}.instructions h3[data-v-0a0abfb4]{text-align:center;margin-bottom:2rem;color:#2c3e50}.instruction-steps[data-v-0a0abfb4]{display:grid;gap:1.5rem}.step[data-v-0a0abfb4]{display:flex;align-items:flex-start;gap:1rem}.step-number[data-v-0a0abfb4]{background:#3498db;color:#fff;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;margin-top:.25rem}.step-content strong[data-v-0a0abfb4]{display:block;margin-bottom:.25rem;color:#2c3e50}.step-content p[data-v-0a0abfb4]{color:#7f8c8d;margin:0;line-height:1.4}.validation-error[data-v-0a0abfb4]{color:#e74c3c;font-size:.9rem;margin-top:.25rem;display:block;font-weight:500}.form-input.input-error[data-v-0a0abfb4]{border:2px solid #e74c3c!important;box-shadow:0 0 0 4px rgba(231,76,60,.2)!important;background-color:rgba(231,76,60,.08)!important}.form-input.input-error[data-v-0a0abfb4]:focus{border:2px solid #e74c3c!important;box-shadow:0 0 0 4px rgba(231,76,60,.3)!important;outline:none!important}.room-key-input.input-error[data-v-0a0abfb4]{border:2px solid #e74c3c!important;box-shadow:0 0 0 4px rgba(231,76,60,.2)!important;background-color:rgba(231,76,60,.08)!important}.room-key-input.input-error[data-v-0a0abfb4]:focus{border:2px solid #e74c3c!important;box-shadow:0 0 0 4px rgba(231,76,60,.3)!important;outline:none!important}@media (max-width:768px){.student-join[data-v-0a0abfb4]{padding:1rem}.join-wrapper[data-v-0a0abfb4]{max-width:none;margin:0}.join-header h1[data-v-0a0abfb4]{font-size:1.5rem}.room-key-input[data-v-0a0abfb4]{font-size:1rem}.instruction-steps[data-v-0a0abfb4]{gap:1rem}.step[data-v-0a0abfb4]{flex-direction:column;text-align:center;gap:.5rem}.step-number[data-v-0a0abfb4]{align-self:center}}.student-view[data-v-96c7edd0]{min-height:100vh;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-webkit-user-modify:read-only;pointer-events:auto}.student-view[data-v-96c7edd0] *{-webkit-touch-callout:none!important;-webkit-tap-highlight-color:transparent!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.error-screen[data-v-96c7edd0],.loading-screen[data-v-96c7edd0]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fec980,#f8aa1b);color:#fff;text-align:center}.spinner[data-v-96c7edd0]{width:3rem;height:3rem;border:3px solid hsla(0,0%,100%,.3);border-top:3px solid #fff;border-radius:50%;animation:spin-96c7edd0 1s linear infinite;margin:0 auto 1rem}@keyframes spin-96c7edd0{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-content h1[data-v-96c7edd0]{font-size:2rem;margin-bottom:1rem}.lobby-screen[data-v-96c7edd0]{min-height:100vh;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;display:flex;align-items:center}.lobby-content[data-v-96c7edd0]{text-align:center;max-width:600px;margin:0 auto}.lobby-header h1[data-v-96c7edd0]{font-size:2.5rem;margin-bottom:.5rem;color:#fff}.lobby-header h2[data-v-96c7edd0]{font-size:1.5rem;margin-bottom:1rem;opacity:.9;color:#fff}.room-info[data-v-96c7edd0]{font-size:1.1rem;margin-bottom:2rem;color:#fff}.waiting-animation[data-v-96c7edd0]{display:flex;justify-content:center;gap:.5rem;margin:2rem 0}.dot[data-v-96c7edd0]{width:1rem;height:1rem;background:#fff;border-radius:50%;animation:bounce-96c7edd0 1.4s ease-in-out infinite both}.dot[data-v-96c7edd0]:first-child{animation-delay:-.32s}.dot[data-v-96c7edd0]:nth-child(2){animation-delay:-.16s}@keyframes bounce-96c7edd0{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.lobby-info[data-v-96c7edd0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin:2rem 0}.info-card[data-v-96c7edd0]{background:hsla(0,0%,100%,.1);padding:1.5rem;border-radius:8px;backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);transition:all .3s ease}.info-card[data-v-96c7edd0]:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.2)}.info-card h3[data-v-96c7edd0]{margin-bottom:1rem;color:#fff;font-size:1.2rem}.info-card p[data-v-96c7edd0]{margin:.5rem 0;color:hsla(0,0%,100%,.9)}.info-note[data-v-96c7edd0]{font-style:italic;font-size:.9rem;color:hsla(0,0%,100%,.8);margin-top:1rem!important}.rejoin-card[data-v-96c7edd0]{border-color:rgba(52,152,219,.5);background:rgba(52,152,219,.1)}.rejoin-actions[data-v-96c7edd0]{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.rejoin-actions .btn[data-v-96c7edd0]{text-align:center;padding:.75rem 1rem;font-size:.9rem}.visitor-card[data-v-96c7edd0]{border-color:rgba(155,89,182,.5);background:rgba(155,89,182,.1)}.visitor-actions[data-v-96c7edd0]{margin-top:1rem}.visitor-actions .btn[data-v-96c7edd0]{width:100%;text-align:center;padding:.75rem 1rem}.status-waiting[data-v-96c7edd0]{color:#1230f3;font-weight:700;background:rgba(243,156,18,.2);padding:.25rem .5rem;border-radius:12px;font-size:.85rem}.student-navbar[data-v-96c7edd0]{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:.25rem 1rem;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:background .3s ease;overflow-x:hidden}.dark-theme .student-navbar[data-v-96c7edd0]{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);box-shadow:0 2px 10px rgba(0,0,0,.3)}.student-nav-container[data-v-96c7edd0]{max-width:1200px;margin:0 0;padding:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;overflow:hidden;flex-wrap:nowrap}.nav-left[data-v-96c7edd0]{display:flex;align-items:center;gap:1rem;flex-shrink:1;min-width:0;overflow:hidden}.app-brand[data-v-96c7edd0]{font-size:1.5rem;font-weight:700;color:#fff;white-space:nowrap;flex-shrink:0}.room-name-display[data-v-96c7edd0]{font-size:1.2rem;font-weight:500;color:#ecf0f1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.nav-center[data-v-96c7edd0]{display:flex;align-items:center;gap:.75rem;flex-shrink:1;justify-content:center;min-width:0;overflow:hidden;flex-wrap:nowrap;white-space:nowrap}.room-key-label[data-v-96c7edd0]{color:#bdc3c7;font-weight:500;font-size:1rem}.room-key-value[data-v-96c7edd0]{background:rgba(52,152,219,.3);padding:.5rem 1rem;border-radius:6px;font-weight:700;letter-spacing:2px;font-family:Courier New,monospace;border:2px solid rgba(52,152,219,.5);color:#fff;font-size:1.1rem;line-height:1;min-width:80px;text-align:center;white-space:nowrap;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.language-tag[data-v-96c7edd0]{background:rgba(46,204,113,.8);color:#fff;padding:.4rem .8rem;border-radius:4px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.nav-right[data-v-96c7edd0]{display:flex;align-items:center;gap:.75rem;flex-shrink:0;min-width:0}.student-navbar .theme-toggle[data-v-96c7edd0]{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:#fff;padding:.5rem;border-radius:6px;cursor:pointer;font-size:1.2rem;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;min-width:2.5rem;height:2.5rem}.student-navbar .theme-toggle[data-v-96c7edd0]:hover{background:hsla(0,0%,100%,.2);transform:scale(1.05)}.dark-theme .student-navbar .theme-toggle[data-v-96c7edd0]{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.1)}.dark-theme .student-navbar .theme-toggle[data-v-96c7edd0]:hover{background:hsla(0,0%,100%,.15)}.student-navbar .btn-danger[data-v-96c7edd0]{background:#e74c3c;color:#fff;border:1px solid #c0392b;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;height:2.5rem;display:flex;align-items:center;justify-content:center}.student-navbar .btn-danger[data-v-96c7edd0]:hover{background:#c0392b;transform:translateY(-1px);box-shadow:0 2px 8px rgba(231,76,60,.3)}.teacher-dashboard[data-v-96c7edd0]{padding:0;overflow-x:hidden;width:100%;max-width:100%;box-sizing:border-box}.room-section[data-v-96c7edd0]{display:grid;padding:.5rem}.room-section .card[data-v-96c7edd0],.room-section[data-v-96c7edd0]{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.compact-card[data-v-96c7edd0]{padding:0;margin-bottom:0;overflow:hidden;background:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 10px var(--shadow);border:1px solid var(--border-color);transition:all .3s ease}.editor-container-frameless[data-v-96c7edd0]{margin-bottom:0;position:relative;height:calc(100vh - 65px);max-height:calc(100vh - 65px);display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box}.editor-controls[data-v-96c7edd0]{position:absolute;top:.75rem;right:.75rem;z-index:10;display:flex;gap:.5rem;align-items:center}.editor-options-dropdown[data-v-96c7edd0]{position:relative}.editor-options-select[data-v-96c7edd0]{padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;cursor:pointer;opacity:.5;transition:all .3s ease;backdrop-filter:blur(10px);box-shadow:0 2px 8px var(--shadow);outline:none;min-width:140px}.editor-options-select[data-v-96c7edd0]:focus,.editor-options-select[data-v-96c7edd0]:hover{opacity:1;transform:scale(1.05);border-color:#3498db;box-shadow:0 4px 12px var(--shadow);outline:none}.theme-toggle[data-v-96c7edd0]{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:#fff;padding:.5rem;border-radius:6px;cursor:pointer;font-size:1.2rem;transition:all .2s ease;display:flex;align-items:center;min-width:2.5rem;height:2.5rem}.theme-toggle[data-v-96c7edd0]:hover{background:hsla(0,0%,100%,.2);transform:scale(1.05)}.code-editor[data-v-96c7edd0]{height:100%;max-height:100%;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box}.btn-danger[data-v-96c7edd0]{background:#e74c3c;color:#fff;border:1px solid #c0392b;padding:.4rem .8rem;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-danger[data-v-96c7edd0]:hover{background:#c0392b;transform:translateY(-1px);box-shadow:0 2px 8px rgba(231,76,60,.3)}.btn-small[data-v-96c7edd0]{padding:.4rem .8rem;font-size:.85rem}.code-content-protection-overlay[data-v-96c7edd0]{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default;pointer-events:none;overflow:visible;touch-action:auto;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}@media (max-width:768px){.editor-container-frameless[data-v-96c7edd0]{height:calc(100vh - 65px)}.lobby-info[data-v-96c7edd0]{grid-template-columns:1fr}.rejoin-actions[data-v-96c7edd0]{gap:.5rem}.info-card[data-v-96c7edd0]{padding:1rem}.student-nav-container[data-v-96c7edd0]{padding:0}.student-navbar[data-v-96c7edd0]{padding:.25rem 1rem}.nav-left[data-v-96c7edd0]{padding:.25rem 0;gap:1rem;flex-shrink:2}.nav-center[data-v-96c7edd0],.nav-right[data-v-96c7edd0]{display:none!important}.app-brand[data-v-96c7edd0]{font-size:1.5rem}.room-name-display[data-v-96c7edd0]{font-size:1.2rem;max-width:none}}@media (max-width:480px){.student-nav-container[data-v-96c7edd0]{padding:0}.editor-container-frameless[data-v-96c7edd0]{height:calc(100vh - 65px)}.student-navbar[data-v-96c7edd0]{padding:.25rem 1rem}.nav-left[data-v-96c7edd0]{gap:1rem;padding:1rem 0;flex-shrink:3}.app-brand[data-v-96c7edd0]{font-size:1rem}.room-name-display[data-v-96c7edd0]{font-size:.9rem;max-width:none}}[data-v-96c7edd0] .cm-editor{font-size:14px;max-height:100%;box-sizing:border-box}[data-v-96c7edd0] .cm-focused{outline:none}[data-v-96c7edd0] .cm-scroller{overflow:auto;max-height:100%;height:100%;width:100%;max-width:100%;box-sizing:border-box}[data-v-96c7edd0] .cm-content{padding:10px;min-height:100%;width:100%;max-width:100%;box-sizing:border-box}[data-v-96c7edd0] .cm-line{white-space:pre}[data-v-96c7edd0] .cm-editor{height:100%;overflow:hidden;width:100%;max-width:100%}[data-v-96c7edd0] .cm-editor .cm-scroller{overflow-x:auto;overflow-y:auto;width:100%;max-width:100%}.code-editor.font-size-small[data-v-96c7edd0] .cm-editor{font-size:12px}.code-editor.font-size-normal[data-v-96c7edd0] .cm-editor{font-size:14px}.code-editor.font-size-large[data-v-96c7edd0] .cm-editor{font-size:16px}.code-editor.font-size-largest[data-v-96c7edd0] .cm-editor{font-size:18px}.code-editor.word-wrap-enabled[data-v-96c7edd0] .cm-line{white-space:pre-wrap}[data-v-96c7edd0] .teacher-selection-highlight{background-color:rgba(52,152,219,.2);border-radius:2px;box-shadow:0 0 0 1px rgba(52,152,219,.4);animation:teacherSelectionPulse-96c7edd0 2s ease-in-out}@keyframes teacherSelectionPulse-96c7edd0{0%{background-color:rgba(52,152,219,.4);box-shadow:0 0 0 1px rgba(52,152,219,.6)}50%{background-color:rgba(52,152,219,.3);box-shadow:0 0 0 1px rgba(52,152,219,.5)}to{background-color:rgba(52,152,219,.2);box-shadow:0 0 0 1px rgba(52,152,219,.4)}}.light-theme[data-v-96c7edd0] .cm-editor{background-color:#fff;color:#333}.light-theme[data-v-96c7edd0] .cm-content{background-color:#fff}.light-theme[data-v-96c7edd0] .cm-gutters{background-color:#f8f9fa;border-right:1px solid #e9ecef;color:#6c757d}.light-theme[data-v-96c7edd0] .cm-lineNumbers .cm-gutterElement{color:#6c757d}.light-theme[data-v-96c7edd0] .cm-activeLine{background-color:#f8f9fa}.light-theme[data-v-96c7edd0] .cm-cursor{border-left-color:#333}.light-theme[data-v-96c7edd0] .cm-selectionBackground{background-color:#b3d4fc}.light-theme[data-v-96c7edd0] .cm-foldGutter .cm-gutterElement{color:#6c757d}[data-v-96c7edd0] .cm-foldGutter,[data-v-96c7edd0] .cm-foldGutter .cm-gutterElement{pointer-events:auto!important;cursor:pointer!important;z-index:10!important;position:relative!important}[data-v-96c7edd0] .cm-foldPlaceholder{pointer-events:auto!important;z-index:10!important;position:relative!important;background-color:rgba(52,152,219,.2)!important;border:1px solid rgba(52,152,219,.5)!important;border-radius:3px!important;cursor:pointer!important}[data-v-96c7edd0] .cm-foldPlaceholder:hover{background-color:rgba(52,152,219,.3)!important}@media print{.student-view[data-v-96c7edd0]{display:none!important}.student-view[data-v-96c7edd0]:after{content:"⚠️ Printing is not allowed for this content";display:block!important;text-align:center;font-size:24px;color:#e74c3c;margin:50px}}.student-view[data-v-96c7edd0] .cm-status,.student-view[data-v-96c7edd0] .status-bar{display:none!important}[data-v-96c7edd0] .cm-editor ::selection{background:transparent!important}[data-v-96c7edd0] .cm-editor ::-moz-selection{background:transparent!important}.code-editor[data-v-96c7edd0],.code-editor[data-v-96c7edd0] *{cursor:default!important}.code-editor[data-v-96c7edd0] .cm-foldGutter,.code-editor[data-v-96c7edd0] .cm-foldGutter .cm-gutterElement{cursor:pointer!important;pointer-events:auto!important}.code-editor[data-v-96c7edd0] .cm-foldGutter .cm-gutterElement:hover{background-color:hsla(0,0%,100%,.1)!important}.code-editor[data-v-96c7edd0] .cm-foldPlaceholder{cursor:pointer!important;pointer-events:auto!important}.btn[data-v-96c7edd0]{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s;text-decoration:none;display:inline-block;text-align:center}.btn-primary[data-v-96c7edd0]{background:#3498db;color:#fff}.btn-primary[data-v-96c7edd0]:hover{background:#2980b9}.btn-secondary[data-v-96c7edd0]{background:#95a5a6;color:#fff}.btn-secondary[data-v-96c7edd0]:hover{background:#7f8c8d}.student-view[data-v-96c7edd0]{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.admin-dashboard[data-v-b1de9df0]{padding:2rem 0;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh}.dashboard-header[data-v-b1de9df0]{text-align:center;margin-bottom:2rem}.dashboard-header h1[data-v-b1de9df0]{font-size:2.5rem;color:var(--text-primary);margin-bottom:.5rem}.dashboard-header p[data-v-b1de9df0]{font-size:1.1rem;color:var(--text-secondary)}.stats-grid[data-v-b1de9df0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card[data-v-b1de9df0]{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);box-shadow:0 2px 10px var(--shadow);display:flex;align-items:center;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card[data-v-b1de9df0]:hover{transform:translateY(-2px);box-shadow:0 4px 20px var(--shadow)}.stat-icon[data-v-b1de9df0]{font-size:2rem;min-width:3rem;text-align:center}.stat-content h3[data-v-b1de9df0]{font-size:2rem;margin:0;color:var(--text-primary)}.stat-content p[data-v-b1de9df0]{margin:0;color:var(--text-secondary);font-size:.9rem}.section-header[data-v-b1de9df0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.section-header h2[data-v-b1de9df0]{margin:0;color:var(--text-primary)}.add-teacher-form[data-v-b1de9df0]{background:var(--bg-secondary);padding:2rem;border-radius:8px;margin-bottom:2rem;border:2px dashed var(--border-color)}.form-row[data-v-b1de9df0]{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem}.form-actions[data-v-b1de9df0]{display:flex;gap:1rem;margin-bottom:1rem}.teachers-section[data-v-b1de9df0]{margin-top:2rem}.teachers-list[data-v-b1de9df0]{display:grid;gap:1rem}.teacher-item[data-v-b1de9df0]{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;transition:transform .2s ease,box-shadow .2s ease}.teacher-item[data-v-b1de9df0]:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow)}.teacher-info[data-v-b1de9df0]{flex:1;display:flex;justify-content:space-between;align-items:center}.teacher-details h4[data-v-b1de9df0]{margin:0 0 .5rem 0;color:var(--text-primary)}.teacher-notes[data-v-b1de9df0]{margin:.25rem 0;color:var(--text-secondary);font-style:italic}.teacher-meta[data-v-b1de9df0]{display:flex;gap:1rem;margin-top:.5rem}.meta-item[data-v-b1de9df0]{font-size:.85rem;color:var(--text-secondary)}.teacher-status[data-v-b1de9df0]{margin-right:1rem}.status-badge[data-v-b1de9df0]{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.status-approved[data-v-b1de9df0]{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.dark-theme .status-approved[data-v-b1de9df0]{background:#155724;color:#d4edda;border:1px solid #0f4419}.teacher-actions[data-v-b1de9df0]{display:flex;gap:.5rem}.activity-feed[data-v-b1de9df0]{display:grid;gap:1rem}.activity-item[data-v-b1de9df0]{display:flex;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border-left:4px solid #3498db;transition:transform .2s ease,box-shadow .2s ease}.activity-item[data-v-b1de9df0]:hover{transform:translateY(-1px);box-shadow:0 2px 8px var(--shadow)}.activity-icon[data-v-b1de9df0]{font-size:1.5rem;min-width:2rem;text-align:center}.activity-content[data-v-b1de9df0]{flex:1}.activity-description[data-v-b1de9df0]{margin:0 0 .25rem 0;color:var(--text-primary)}.activity-time[data-v-b1de9df0]{font-size:.85rem;color:var(--text-secondary)}.empty-state[data-v-b1de9df0],.loading-state[data-v-b1de9df0]{text-align:center;padding:2rem;color:var(--text-secondary)}.spinner[data-v-b1de9df0]{width:2rem;height:2rem;border:3px solid var(--border-color);border-top:3px solid #3498db;border-radius:50%;animation:spin-b1de9df0 1s linear infinite;margin:0 auto 1rem}@keyframes spin-b1de9df0{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-overlay[data-v-b1de9df0]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-b1de9df0]{background:var(--bg-secondary);border-radius:8px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px var(--shadow)}.modal-header[data-v-b1de9df0]{margin-bottom:1rem}.modal-header h3[data-v-b1de9df0]{margin:0;color:var(--text-primary)}.modal-body[data-v-b1de9df0]{margin-bottom:2rem}.teacher-email[data-v-b1de9df0]{text-align:center;font-size:1.1rem;margin:1rem 0;padding:1rem;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-color);color:var(--text-primary)}.warning-text[data-v-b1de9df0]{color:#e74c3c;font-size:.9rem;margin-bottom:1rem}.dark-theme .warning-text[data-v-b1de9df0]{color:#ff6b7d}.modal-actions[data-v-b1de9df0]{display:flex;gap:1rem;justify-content:flex-end}.btn-small[data-v-b1de9df0]{padding:.5rem 1rem;font-size:.9rem}.dark-theme .add-teacher-form[data-v-b1de9df0],.dark-theme .stat-card[data-v-b1de9df0],.dark-theme .teacher-item[data-v-b1de9df0]{background:var(--bg-secondary);border-color:var(--border-color)}.dark-theme .activity-item[data-v-b1de9df0]{background:var(--bg-secondary)}.dark-theme .modal-content[data-v-b1de9df0]{background:var(--bg-secondary);box-shadow:0 4px 20px rgba(0,0,0,.6)}.dark-theme .teacher-email[data-v-b1de9df0]{background:var(--bg-primary);border-color:var(--border-color)}.dark-theme .spinner[data-v-b1de9df0]{border-color:var(--border-color);border-top-color:#3498db}.light-theme .add-teacher-form[data-v-b1de9df0],.light-theme .stat-card[data-v-b1de9df0],.light-theme .teacher-item[data-v-b1de9df0]{background:var(--bg-secondary);border-color:var(--border-color)}.light-theme .activity-item[data-v-b1de9df0]{background:var(--bg-secondary)}.light-theme .modal-content[data-v-b1de9df0]{background:var(--bg-secondary);box-shadow:0 4px 20px rgba(0,0,0,.15)}.light-theme .teacher-email[data-v-b1de9df0]{background:var(--bg-primary);border-color:var(--border-color)}.light-theme .spinner[data-v-b1de9df0]{border-color:var(--border-color);border-top-color:#3498db}@media (max-width:768px){.form-row[data-v-b1de9df0],.stats-grid[data-v-b1de9df0]{grid-template-columns:1fr}.form-actions[data-v-b1de9df0]{flex-direction:column}.section-header[data-v-b1de9df0],.teacher-item[data-v-b1de9df0]{flex-direction:column;gap:1rem;align-items:stretch}.teacher-info[data-v-b1de9df0]{flex-direction:column;align-items:stretch}.teacher-meta[data-v-b1de9df0]{flex-direction:column;gap:.5rem}.modal-actions[data-v-b1de9df0]{flex-direction:column}}