@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap");@import url("https://fonts.googleapis.com/icon?family=Material+Icons");:root{--bg-primary:#0c121d;--bg-radial:radial-gradient(circle at 50% 50%,#192234 0%,#090d15 100%);--glass-bg:hsla(0,0%,100%,.03);--glass-border:hsla(0,0%,100%,.08);--glass-input-bg:rgba(0,0,0,.2);--primary-color:#198cff;--primary-hover:#0073e6;--text-main:#fff;--text-dim:#9da3af;--danger-color:#e93547;--accent-ok:#34a853;--accent-warn:#fbbc04;--accent-danger:#ea4335;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--radius-lg:16px;--radius-md:10px;--bg-dark:#090d15;--bg-darker:#06090e;--bg-panel:rgba(15,22,33,.85)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,sans-serif;background:var(--bg-radial);color:var(--text-main);height:100vh;flex-direction:column}body,main{overflow:hidden;display:flex}main{flex:1 1;min-height:0;flex-direction:column}.text-dim{color:var(--text-dim)!important;font-size:13px;font-weight:500}.smaller{font-size:11px}.bg-dark{background-color:rgba(15,22,33,.95)!important}.bg-darker{background-color:rgba(10,15,25,.95)!important}.border-secondary{border-color:var(--glass-border)!important}.custom-titlebar{height:48px;background:rgba(10,15,25,.95);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:10000;flex-shrink:0}.titlebar-drag-area{display:flex;align-items:center;gap:10px}.titlebar-logo{width:24px;height:24px;border-radius:50%}.titlebar-title{font-size:14px;font-weight:600;color:var(--text-main);letter-spacing:.2px}.lobby-wrapper{width:100%;flex:1 1;display:flex;align-items:center}.glass-card{background:var(--glass-bg);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid var(--glass-border);border-radius:24px;width:100%;max-width:900px;box-shadow:0 20px 50px rgba(0,0,0,.4)!important}.preview-container{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;border:1px solid var(--glass-border)}.preview-container video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.avatar-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#171c26;color:var(--text-dim)}.avatar-placeholder .material-icons{font-size:80px}.camera-select-overlay{position:absolute;top:12px;right:12px;z-index:10;display:flex;align-items:center;gap:6px;background:rgba(10,15,25,.75);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);padding:4px 10px;border-radius:20px;max-width:calc(100% - 24px);transition:var(--transition)}.camera-select-icon{font-size:16px;color:var(--primary-color)}.glass-select{background:transparent!important;border:none!important;color:var(--text-main)!important;font-size:11px!important;font-weight:600;padding:2px 24px 2px 4px!important;cursor:pointer;outline:none!important;box-shadow:none!important;max-width:180px;text-overflow:ellipsis}.glass-select option{background:#121721;color:var(--text-main)}.media-toggle-btn{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-main);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.media-toggle-btn:hover{background:hsla(0,0%,100%,.1);transform:translateY(-2px)}.media-toggle-btn.muted{background:var(--danger-color);border-color:var(--danger-color)}.logo-img{width:48px;height:48px;border-radius:50%}.brand-title{font-size:28px;font-weight:700;margin:0;letter-spacing:-.5px}.brand-subtitle{color:var(--text-dim);font-size:14px}.glass-input{background:rgba(0,0,0,.2)!important;border:1px solid var(--glass-border)!important;color:var(--text-main)!important;border-radius:10px!important;padding:12px 16px;font-size:14px;transition:var(--transition)}.glass-input::placeholder{color:hsla(0,0%,100%,.4)!important}.glass-input:focus{background:rgba(0,0,0,.35)!important;border-color:var(--primary-color)!important;box-shadow:0 0 0 3px rgba(45,140,255,.15)!important;outline:none}.glass-input:focus,input.form-control,input.form-control:focus,select.form-control,select.form-control:focus,textarea.form-control,textarea.form-control:focus{color:var(--text-main)!important}.action-btn{border-radius:12px;padding:12px 16px;font-size:15px;font-weight:600;transition:var(--transition)}.btn-primary.action-btn{background:var(--primary-color);border:none}.btn-primary.action-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 8px 20px rgba(45,140,255,.3)}.btn-outline-light.action-btn{border:1px solid var(--glass-border);background:transparent}.btn-outline-light.action-btn:hover{background:hsla(0,0%,100%,.05);border-color:var(--text-main);transform:translateY(-1px)}.glass-modal,.modal-content.glass-modal{backdrop-filter:blur(30px)!important;-webkit-backdrop-filter:blur(30px)!important;box-shadow:0 20px 50px rgba(0,0,0,.6)!important}.dropdown-menu,.glass-modal,.modal-content.glass-modal{background:rgba(15,22,33,.95)!important;border:1px solid var(--glass-border)!important}.dropdown-menu{backdrop-filter:blur(25px)!important;-webkit-backdrop-filter:blur(25px)!important;box-shadow:0 10px 40px rgba(0,0,0,.5)!important;border-radius:12px!important;z-index:1050!important}.dropdown-item{color:var(--text-dim)!important;font-size:13px!important;transition:var(--transition)}.dropdown-item:hover{background-color:hsla(0,0%,100%,.05)!important;color:var(--text-main)!important}.toast{background:rgba(15,22,33,.9)!important;border:1px solid var(--glass-border)!important;border-radius:12px!important}.card,.toast{backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important}.card{background:rgba(15,22,33,.6)!important;border:1px solid var(--glass-border)!important;border-radius:var(--radius-lg)!important}.meeting-container{display:flex;flex-direction:column;flex:1 1;height:calc(100vh - 48px);position:relative;background:transparent}.video-grid-container{flex:1 1;display:flex;padding:10px;overflow:hidden;justify-content:center;align-items:center}.video-grid{display:grid;grid-gap:10px;gap:10px;width:100%;height:100%;max-width:1600px}.video-grid[data-view=gallery]{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.video-grid[data-view=speaker]{grid-template-areas:"speaker list";grid-template-columns:4fr 1fr}.video-container{position:relative;background:rgba(0,0,0,.2);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--glass-border);box-shadow:0 10px 30px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);transition:var(--transition)}.video-container:hover{border-color:hsla(0,0%,100%,.15)!important;box-shadow:0 15px 40px rgba(0,0,0,.4)}.video-container video{width:100%;height:100%;object-fit:cover}.video-container.local-video video{transform:scaleX(-1)}.video-container.spotlight-active{border:4px solid var(--accent-warn)!important;order:-1}.video-overlay{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.6);padding:4px 10px;border-radius:var(--radius-md);font-size:13px;gap:6px;z-index:10}.video-avatar,.video-overlay{display:flex;align-items:center}.video-avatar{width:90px;height:90px;border-radius:50%;background-color:#333;color:#fff;justify-content:center;font-size:32px;font-weight:600;border:2px solid var(--glass-border)}.hand-raised-icon{background:#fbbc04;color:#000;border-radius:4px;padding:2px;font-size:18px!important}.controls-bar{height:80px;background:rgba(15,22,33,.8)!important;backdrop-filter:blur(25px)!important;-webkit-backdrop-filter:blur(25px)!important;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-top:1px solid var(--glass-border)!important;z-index:100}.meeting-info{display:flex;flex-direction:column;width:250px}.meeting-title{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meeting-subtitle{font-size:12px;color:var(--text-dim)}.controls-container{display:flex;gap:15px;position:absolute;left:50%;transform:translateX(-50%)}.control-btn{background:hsla(0,0%,100%,.02);border:1px solid var(--glass-border);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;min-width:70px;height:56px;padding:6px 10px;border-radius:12px;transition:var(--transition)}.control-btn:hover{background-color:hsla(0,0%,100%,.08)!important;border-color:hsla(0,0%,100%,.2);transform:translateY(-2px)}.control-btn .material-icons{font-size:20px}.control-btn span:last-child{font-size:10px;color:var(--text-dim)}.control-btn.active{color:var(--primary-color)!important;background-color:rgba(45,140,255,.08)!important;border-color:rgba(45,140,255,.3)!important}.control-btn.active .material-icons{color:var(--primary-color)}.control-btn.red{color:var(--accent-danger)}.leave-btn{font-weight:700;color:var(--accent-danger)!important}.side-actions{display:flex;gap:5px;width:250px;justify-content:flex-end}.sidebar{position:fixed;top:58px;right:-360px;width:350px;height:calc(100vh - 150px);background-color:var(--bg-panel);border:1px solid var(--glass-border);border-radius:var(--radius-lg);z-index:100;transition:var(--transition);display:flex;flex-direction:column;box-shadow:-5px 0 20px rgba(0,0,0,.5)}.sidebar.open{right:10px}.sidebar-header{padding:15px;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center}.sidebar-content{flex:1 1;overflow-y:auto;padding:15px}.message-text{background:hsla(0,0%,100%,.02)!important;border:1px solid var(--glass-border)!important;padding:8px 12px;border-radius:8px;font-size:13px;margin-top:4px}.chat-input-container{padding:15px;border-top:1px solid var(--glass-border)!important;display:flex;gap:10px}.chat-input{flex:1 1;background:rgba(0,0,0,.2)!important;border:1px solid var(--glass-border)!important;color:#fff!important;padding:8px 15px;border-radius:10px!important;font-size:13px;transition:var(--transition)}.chat-input::placeholder{color:hsla(0,0%,100%,.4)!important}.chat-input:focus{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px rgba(45,140,255,.15)!important;outline:none;color:#fff!important}.video-grid.screen-share-active{display:grid!important;grid-template-columns:1fr 300px!important;grid-template-areas:"screen sidebar"!important;grid-gap:15px;gap:15px}.screen-column{grid-area:screen;background:#000;border-radius:var(--radius-lg);overflow:hidden;border:2px solid var(--primary-color);position:relative;display:flex;align-items:center;justify-content:center}.participants-column{grid-area:sidebar;display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:100%;padding-right:5px}.floating-stop-btn{box-shadow:0 4px 15px rgba(0,0,0,.6);border-radius:50px!important;padding:8px 20px!important;font-weight:600!important;border:none!important;background:var(--accent-danger)!important;z-index:100!important}.floating-stop-btn:hover{background:#ff5252!important;transform:scale(1.05)}.participants-column .video-container{aspect-ratio:16/9}#screen-share-container{width:100%;height:100%;border-radius:0;border:none;background:#000}#screen-share-container video{width:100%;height:100%;object-fit:contain}.whiteboard-container{position:absolute;top:20px;left:20px;right:20px;bottom:90px;z-index:50;display:flex;flex-direction:column;pointer-events:auto;background:#121212;border-radius:var(--radius-lg);overflow:hidden}.whiteboard-toolbar{background:#202124;border-bottom:1px solid #3c4043}#whiteboardCanvas{flex-grow:1;cursor:crosshair;touch-action:none}.live-captions-overlay{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:90;background:rgba(10,15,25,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:0 10px 30px rgba(0,0,0,.5);padding:10px 20px;border-radius:30px;max-width:90%;display:flex;align-items:center;gap:10px;text-align:center;transition:var(--transition);pointer-events:none}.live-captions-overlay .caption-sender{color:var(--primary-color);font-weight:700;font-size:13px;white-space:nowrap}.live-captions-overlay .caption-text{color:#fff;font-size:14px;font-weight:500;line-height:1.4}.floating-reaction-spawn{font-size:32px;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes floatWavyA{0%{transform:translateY(0) translateX(0) scale(.3);opacity:0}15%{opacity:1;transform:translateY(-60px) translateX(15px) scale(1.2)}50%{transform:translateY(-200px) translateX(-20px) scale(1)}80%{opacity:.8;transform:translateY(-380px) translateX(15px) scale(.8)}to{transform:translateY(-500px) translateX(-5px) scale(.6);opacity:0}}@keyframes floatWavyB{0%{transform:translateY(0) translateX(0) scale(.3);opacity:0}15%{opacity:1;transform:translateY(-60px) translateX(-15px) scale(1.2)}50%{transform:translateY(-200px) translateX(20px) scale(1)}80%{opacity:.8;transform:translateY(-380px) translateX(-20px) scale(.8)}to{transform:translateY(-500px) translateX(5px) scale(.6);opacity:0}}.reaction-animation-a{animation:floatWavyA 2.5s cubic-bezier(.25,.46,.45,.94) forwards}.reaction-animation-b{animation:floatWavyB 2.5s cubic-bezier(.25,.46,.45,.94) forwards}.d-instructor-only,.d-none,.d-student-only{display:none!important}body.instructor-mode .d-instructor-only,body.student-mode .d-student-only{display:inline-block!important}#moreControlsList{background:rgba(15,22,33,.95)!important;border:1px solid var(--glass-border)!important;box-shadow:0 10px 40px rgba(0,0,0,.5)!important;border-radius:12px!important;padding:8px!important;min-width:180px}#moreControlsList .control-btn{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;height:40px!important;background:transparent!important;border:none!important;padding:8px 16px!important;border-radius:8px!important;text-align:left!important;transform:none!important;box-shadow:none!important}#moreControlsList .control-btn:hover{background:hsla(0,0%,100%,.05)!important}#moreControlsList .control-btn .material-icons{font-size:18px!important}#moreControlsList .control-btn span:last-child{font-size:13px!important;color:var(--text-main)!important}@media (max-width:1050px){.meeting-info{display:none}.side-actions{width:auto}}@media (max-width:991px){.video-grid[data-view=gallery]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}.sidebar{width:100%;right:-100%;top:48px;height:calc(100vh - 128px);border-radius:0}.sidebar.open{right:0}}@media (max-width:768px){.controls-bar{padding:0 10px;height:64px;justify-content:center}.controls-container{position:static;transform:none;display:flex;justify-content:space-around;width:100%;gap:4px;overflow-x:auto}.control-btn{min-width:52px;height:48px;padding:4px 6px;border-radius:10px;flex-shrink:0}.side-actions{display:none}.video-grid-container{padding:6px}.sidebar{top:44px;right:-100%;width:100%!important;height:calc(100vh - 44px - 64px);border-radius:0;z-index:999}.sidebar.open{right:0}}@media (max-width:480px){.video-grid[data-view=gallery]{grid-template-columns:1fr}.video-container{aspect-ratio:16/9}.video-avatar{width:60px;height:60px;font-size:24px}}.lk-participant-tile.meet-participant-tile,.meet-participant-tile{position:relative!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;background:#14171f!important;border-radius:14px!important;overflow:hidden!important;border:1px solid hsla(0,0%,100%,.08)!important;box-shadow:0 4px 16px rgba(0,0,0,.25)!important;transition:all .35s cubic-bezier(.4,0,.2,1)!important;display:flex!important;align-items:center!important;justify-content:center!important;animation:meetTileEntrance .35s cubic-bezier(.4,0,.2,1) forwards}.lk-participant-tile.meet-participant-tile.main-stage-tile,.meet-participant-tile.main-stage-tile{height:100%!important;width:100%!important;aspect-ratio:unset!important;border-radius:16px!important;flex:1 1!important}@keyframes meetTileEntrance{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lk-participant-tile.meet-participant-tile:hover,.meet-participant-tile:hover{border-color:hsla(0,0%,100%,.25)!important;box-shadow:0 6px 20px rgba(0,0,0,.4)!important}.lk-participant-tile.meet-participant-tile.spotlight-active,.meet-participant-tile.spotlight-active{border:2px solid #3b82f6!important;box-shadow:0 0 16px rgba(59,130,246,.4)!important}.lk-participant-tile.meet-participant-tile video,.meet-participant-tile .lk-participant-media-video,.meet-participant-tile .lk-video-container,.meet-participant-tile video{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:14px!important;transition:all .35s cubic-bezier(.4,0,.2,1)!important}.tile-hover-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 40%,rgba(0,0,0,.5));display:flex;flex-direction:column;justify-content:space-between;padding:10px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:10}.meet-participant-tile:hover .tile-hover-overlay{opacity:1;pointer-events:auto}.tile-actions-top{justify-content:flex-end;gap:8px}.tile-actions-top,.tile-btn{display:flex;align-items:center}.tile-btn{background:rgba(20,24,33,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:1px solid hsla(0,0%,100%,.15);border-radius:8px;height:32px;padding:0 10px;gap:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.tile-btn.active,.tile-btn:hover{background:#2563eb;border-color:#3b82f6;color:#fff}.tile-btn-icon{width:32px;padding:0;justify-content:center;border-radius:50%}.tile-name-badge{position:absolute;bottom:10px;left:10px;background:rgba(20,24,33,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:6px;z-index:5;border:1px solid hsla(0,0%,100%,.08)}.meet-sidebar-container{display:flex;flex-direction:column;gap:10px;width:300px;min-width:260px;max-height:100%;overflow-y:auto;padding-right:4px}.meet-sidebar-container::-webkit-scrollbar{width:6px}.meet-sidebar-container::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.15);border-radius:4px}.floating-reaction-spawn{position:fixed;bottom:90px;z-index:10000;pointer-events:none;display:flex;align-items:center;gap:6px;background:rgba(20,24,33,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 12px;border-radius:20px;border:1px solid hsla(0,0%,100%,.15);box-shadow:0 8px 24px rgba(0,0,0,.4);animation-duration:3s;animation-timing-function:cubic-bezier(.25,1,.5,1);animation-fill-mode:forwards}.reaction-animation-a{animation-name:floatUpAndFadeA}.reaction-animation-b{animation-name:floatUpAndFadeB}@keyframes floatUpAndFadeA{0%{opacity:0;transform:translateY(20px) scale(.7) rotate(-5deg)}15%{opacity:1;transform:translateY(-40px) scale(1.1) rotate(3deg)}80%{opacity:.95;transform:translateY(-220px) scale(1) rotate(-3deg)}to{opacity:0;transform:translateY(-300px) scale(.8) rotate(5deg)}}@keyframes floatUpAndFadeB{0%{opacity:0;transform:translateY(20px) scale(.7) rotate(5deg)}15%{opacity:1;transform:translateY(-40px) scale(1.1) rotate(-3deg)}80%{opacity:.95;transform:translateY(-220px) scale(1) rotate(3deg)}to{opacity:0;transform:translateY(-300px) scale(.8) rotate(-5deg)}}.tile-reaction-badge{background:rgba(20,24,33,.9);border:1px solid hsla(0,0%,100%,.25);width:44px;height:44px;font-size:24px;box-shadow:0 4px 16px rgba(0,0,0,.4)}.tile-hand-raised-badge,.tile-reaction-badge{position:absolute;top:12px;left:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:25;animation:tilePopIn .35s cubic-bezier(.175,.885,.32,1.275) forwards}.tile-hand-raised-badge{width:38px;height:38px;background:rgba(15,22,33,.95)!important;border:2px solid #fbbc04!important;color:#fbbc04!important;box-shadow:0 4px 14px rgba(251,188,4,.35);cursor:pointer;transition:all .2s ease}.tile-hand-raised-badge:hover{background:#fbbc04!important;color:#0f1621!important;transform:scale(1.08)}@keyframes tilePopIn{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.control-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:10px;font-size:10px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid rgba(15,22,33,.95);box-shadow:0 2px 6px rgba(0,0,0,.4);z-index:10}