.course-selector-page{background-color:rgba(255,255,255,1);position:fixed;inset:0;width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.course-selector-header{background-color:rgba(249,250,251,1);height:80px;width:100%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.course-selector-logo{width:200px;height:49px;object-fit:contain}.course-selector-body{flex:1;width:100%;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:70px 20px 50px}.course-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 40px;width:100%;max-width:1400px;margin:0 auto;justify-content:center}.course-card{width:100%;display:flex;flex-direction:column;cursor:pointer;border-radius:0;overflow:visible;background-color:white}.course-card-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.course-thumbnail{width:100%;height:260px;object-fit:cover;display:block;border-radius:8px;border:3px solid transparent;transition:border-color .3s ease}.course-card:hover .course-thumbnail{border-color:#257cff}.course-card-selected .course-thumbnail{border-color:#002cf2}.course-info{padding:16px 12px 12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:60px;color:rgba(11,21,38,1);font-size:20px;font-weight:500;text-align:left;word-wrap:break-word;overflow-wrap:break-word}.course-action{margin-top:60px;text-align:center;width:100%;max-width:600px}.start-button{min-width:280px;height:56px;font-size:18px;font-weight:600}.selected-course-info{margin-top:16px;color:rgba(99,99,99,1);font-size:14px}.course-selector-footer{background-color:rgba(255,255,255,1);height:100px;width:100%;flex-shrink:0}.empty-state,.error-state,.loading-state{padding:40px;text-align:center;color:rgba(99,99,99,1);font-size:16px}.error-state{color:rgba(219,27,6,1)}@media (max-width:1280px){.course-list{grid-template-columns:repeat(3,1fr);gap:30px 30px}.course-selector-body{padding:50px 20px 40px}}@media (max-width:900px){.course-list{grid-template-columns:repeat(2,1fr);gap:30px 30px}.course-selector-body{padding:40px 20px 30px}}@media (max-width:768px){.course-list{grid-template-columns:1fr;gap:30px;max-width:500px}.course-selector-body{padding:30px 16px}.course-selector-logo{width:160px;height:auto}.course-thumbnail{height:200px}.course-title{font-size:16px;line-height:24px}.start-button{min-width:100%;max-width:100%}}@media (prefers-color-scheme:dark){.course-selector-page{background-color:rgba(19,19,19,1)}.course-card,.course-selector-header{background-color:rgba(32,32,32,1)}.course-title{color:rgba(255,255,255,1)}.course-description,.course-duration{color:rgba(179,179,179,1)}.course-selector-footer{background-color:rgba(32,32,32,1)}.empty-state,.loading-state{color:rgba(179,179,179,1)}}.classroom-page{position:relative;width:100vw;height:100vh;overflow:hidden;flex-direction:column;--sidebar-width:474px}.classroom-header,.classroom-page{background-color:#ffffff;display:flex}.classroom-header{width:100%;height:80px;align-items:center;padding:0 20px;border-bottom:1px solid #f0f0f0}.header-back{display:flex;align-items:center;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background-color .2s;color:#212b36}.header-back:hover{background-color:#f5f5f5}.back-icon{width:20px;height:20px;margin-right:8px}.back-text{color:#212b36;font-size:20px;font-weight:500}.header-divider{background-color:#d9d9d9;width:1px;height:20px;margin:0 20px}.course-title{color:#212b36;font-size:20px;font-weight:600;text-align:center;flex:1;margin-right:100px}.classroom-content{flex:1;width:100%;overflow:hidden;padding:20px}.main-area{display:flex;gap:20px;position:relative}.main-area,.ppt-container{height:100%;overflow:hidden}.ppt-container{flex:1;max-width:1387px;box-shadow:0 0 2px 0 rgba(145,158,171,.2);background-color:#ffffff;border-radius:16px}.sidebar-area{width:var(--sidebar-width);height:100%;display:flex;flex-direction:column;gap:12px}.teacher-video-container{height:268px;width:474px;flex-shrink:0;z-index:10}.chat-messages-container,.teacher-video-container{box-shadow:0 0 2px 0 rgba(145,158,171,.2);border-radius:16px;position:relative}.chat-messages-container{background-color:#ffffff;flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.chat-messages-container.no-bottom-radius{border-bottom-left-radius:0;border-bottom-right-radius:0;overflow:hidden}.chat-messages-list{flex:1;overflow-y:auto;padding:32px 26px;display:flex;flex-direction:column;gap:32px;margin-bottom:20px}.preset-question-card{margin:0 26px 12px;padding:12px 16px 12px 18px;border-radius:10px;border:1px solid #ffb85c;background-color:#fff7ec;display:flex;align-items:center;justify-content:space-between;gap:12px}.preset-question-text{color:#3b3b3b;font-size:14px;line-height:1.5;font-weight:500}.preset-question-icon{width:40px;height:40px;flex-shrink:0}.message-item{display:flex;flex-direction:column;gap:4px}.message-time{color:#6b7280;font-size:12px;line-height:12px;margin-bottom:4px}.agent-header .message-time{text-align:left;margin-left:62px}.user-header .message-time{text-align:right;margin-right:62px}.message-header{display:flex;align-items:center;gap:12px;height:24px}.agent-header{justify-content:flex-start;margin-left:0}.user-header{justify-content:flex-end;margin-right:26px}.avatar-icon{width:24px;height:24px}.message-name{color:#6b7280;font-size:12px;line-height:12px}.message-bubble{border-radius:8px;border:1px solid;padding:8px 12px;max-width:385px}.agent-bubble{background-color:#f4f6f8;border-color:#dfe3e8;margin-left:12px;align-self:flex-start}.user-bubble{background-color:rgba(45,140,255,.1);border-color:rgba(45,140,255,.1);margin-right:62px;align-self:flex-end}.message-text{color:#161c24;font-size:14px;word-wrap:break-word}.message-text,.message-text .markdown-content{line-height:1.6}.message-text .markdown-content p{margin-bottom:.5rem}.message-text .markdown-content p:last-child{margin-bottom:0}.message-text .markdown-content ol,.message-text .markdown-content ul{margin:.5rem 0;padding-left:1.5rem}.message-text .markdown-content li{margin:.25rem 0}.message-text .markdown-content code{font-family:Courier New,Courier,monospace;font-size:.9em}.message-text .markdown-content pre{margin:.5rem 0;max-width:100%;overflow-x:auto}.message-text .markdown-content blockquote{margin:.5rem 0}.message-text .markdown-content h1,.message-text .markdown-content h2,.message-text .markdown-content h3{margin-top:.75rem;margin-bottom:.5rem;line-height:1.3}.message-text .markdown-content h1:first-child,.message-text .markdown-content h2:first-child,.message-text .markdown-content h3:first-child{margin-top:0}.message-text .markdown-content a{word-break:break-word}.message-text .markdown-content table{margin:.5rem 0;font-size:.9em}.agent-bubble .markdown-content code{color:#2c3e50}.agent-bubble .markdown-content code,.agent-bubble .markdown-content pre{background-color:rgba(255,255,255,.9)}.user-bubble .markdown-content code{background-color:rgba(0,0,0,.05);color:#2c3e50}.user-bubble .markdown-content pre{background-color:rgba(0,0,0,.05)}.chat-input-group{background-color:#f9fafb;border-radius:8px;width:412px;height:48px;border:1px solid #dfe3e8;display:flex;align-items:center;padding:0 10px;margin:12px 15px 24px 31px}.chat-input{flex:1;border:none;background:transparent;color:#637381;font-size:14px;outline:none}.chat-input::placeholder{color:#637381}.chat-send-button{background-color:#257cff;border-radius:6px;height:36px;width:36px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.chat-send-icon{width:24px;height:24px}.classroom-footer{background-color:#f9fafb;height:123px;width:100%;display:flex;align-items:center;justify-content:center}.footer-controls{display:flex;gap:45px}.control-item{flex-direction:column;gap:8px}.control-button,.control-item{display:flex;align-items:center}.control-button{border-radius:50%;height:42px;width:42px;border:none;cursor:pointer;justify-content:center;transition:background-color .2s ease}.mic-active-btn{background-color:#257cff;color:white}.mic-active-btn:hover{background-color:#1a69db}.mic-muted-btn{background-color:#dfe3e8;color:#454f5b}.mic-muted-btn:hover{background-color:#c9cdd2}.message-btn{background-color:#dfe3e8;width:42px}.message-btn:hover{background-color:#c9cdd2}.audio-output-btn{background-color:#dfe3e8;color:#454f5b}.audio-output-btn:hover{background-color:#c9cdd2}.audio-output-select{position:absolute;bottom:58px;left:50%;transform:translateX(-50%);z-index:1000;background-color:white;border-radius:12px;padding:8px;box-shadow:0 4px 16px rgba(0,0,0,.2);min-width:220px;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.audio-output-select:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:6px solid white}.hangup-btn{background-color:#ea4335;width:56px;border-radius:20px}.hangup-btn:hover{background-color:#d33426}.control-icon{width:24px;height:24px}.control-label{color:#454f5b;font-size:12px;text-align:center}.loading-dot{animation:loading-fade 1.4s infinite;font-size:1.2em;line-height:1}.animation-delay-0{animation-delay:0s}.animation-delay-200{animation-delay:.2s}.animation-delay-400{animation-delay:.4s}@keyframes loading-fade{0%,to{opacity:.2}50%{opacity:1}}@media (max-width:1920px){.classroom-content{padding:15px}.ppt-container{max-width:calc(100vw - 534px)}}@media (max-width:1440px){.classroom-page{--sidebar-width:400px}.teacher-video-container{width:var(--sidebar-width);height:225px}.chat-input-group,.input-group{width:350px}}.mic-popup{bottom:100%;margin-bottom:12px;background-color:rgba(0,0,0,.9);color:white;padding:12px 16px;border-radius:8px;white-space:pre-line;text-align:center;font-size:14px;line-height:1.4;min-width:200px;max-width:300px;z-index:1000;animation:fadeIn .2s ease-in;box-shadow:0 4px 12px rgba(0,0,0,.3)}.mic-popup,.mic-popup:after{position:absolute;left:50%;transform:translateX(-50%)}.mic-popup:after{content:"";top:100%;border:6px solid transparent;border-top-color:rgba(0,0,0,.9)}@keyframes fadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.control-item{position:relative}.raise-hand-island{width:100%;min-height:56px;display:flex;justify-content:center;align-items:center;padding:20px 0}.raise-hand-button{background-color:rgba(0,0,0,1);border-radius:110px;width:412px;height:56px;cursor:pointer;position:relative;transition:all .3s ease-in-out}.raise-hand-button:hover{background-color:rgba(45,45,45,1)}.raise-hand-content{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;width:328px;height:42px;margin:7px 0 0 7px}.raise-hand-icon{width:42px;height:42px;flex-shrink:0}.raise-hand-text{width:auto;max-width:273px;overflow-wrap:normal;color:rgba(255,255,255,1);font-size:14px;font-family:PingFang SC-Bold,PingFang SC,sans-serif;font-weight:700;text-align:left;white-space:nowrap;line-height:1.2;margin-left:8px;flex-shrink:0}.raise-hand-arrow{width:28px;height:28px;position:absolute;right:15px;top:50%;transform:translateY(-50%)}.raise-hand-waiting{background-color:rgba(0,0,0,1);border-radius:110px;width:412px;height:56px;justify-content:space-between;padding:0 12px;transition:all .3s ease-in-out}.raise-hand-waiting,.waiting-content{display:flex;flex-direction:row;align-items:center}.waiting-content{gap:7px;height:42px;margin-left:0}.waiting-teacher-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;margin-left:-5px}.waiting-icon{width:42px;height:42px}.waiting-text{overflow-wrap:break-word;color:rgba(255,255,255,1);font-size:14px;font-family:PingFang SC-Bold,PingFang SC,sans-serif;font-weight:700;text-align:center;white-space:nowrap;line-height:1}.cancel-button{background-color:rgba(254,71,61,1);border-radius:50%;height:32px;width:33px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .3s}.cancel-button:hover{background-color:rgba(234,51,41,1)}.cancel-icon{width:28px;height:28px}.raise-hand-speaking-row{width:412px;display:flex;align-items:center;gap:12px}.raise-hand-speaking{background-color:rgba(0,171,85,.15);border-radius:110px;width:100%;height:56px;flex-direction:row;justify-content:space-between;overflow:hidden}.raise-hand-speaking,.speaking-indicator{display:flex;align-items:center;padding:0 7px;transition:all .3s ease-in-out;position:relative}.speaking-indicator{flex:1;flex-direction:row;margin-right:8px;z-index:1}.mic-icon-wrapper{background-color:rgba(255,255,255,1);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mic-icon-wrapper,.speaking-mic-icon{height:28px;width:28px}.speaking-mic-icon.waveform-icon{width:28px;height:16px}.speaking-time{overflow-wrap:break-word;color:rgba(255,255,255,1);font-size:14px;letter-spacing:-.08666666597127914px;font-family:PingFang SC-Bold,PingFang SC,sans-serif;font-weight:700;text-align:left;white-space:nowrap;line-height:19px;margin-left:8px;flex-shrink:0}.waveform-animation{width:32px;height:19px;margin-left:auto;flex-shrink:0}.end-button{background-color:rgba(255,71,89,1);border-radius:50%;height:42px;width:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .3s ease-in-out}.end-button:hover{background-color:rgba(235,51,69,1);transform:scale(1.05)}.end-text{overflow-wrap:break-word;color:rgba(255,255,255,1);font-size:14px;font-family:PingFang SC-Bold,PingFang SC,sans-serif;font-weight:700;text-align:left;white-space:nowrap;line-height:16px}.raise-hand-speaking.qa-start-pending{background-color:rgba(0,171,85,.08);border:1px dashed rgba(0,171,85,.55)}.raise-hand-speaking.qa-start-pending .speaking-time{color:rgba(0,93,45,.85)}.raise-hand-speaking.qa-start-pending .speaking-indicator{opacity:.8}.raise-hand-speaking:before{content:"";position:absolute;inset:0;width:var(--qa-progress,0);background:rgb(1,150,75);transition:width .2s ease;border-radius:inherit;pointer-events:none;z-index:0}.raise-hand-speaking.qa-start-pending:before{width:0;background:transparent}.qa-start-button{background-color:#ff4759;border-radius:50%;height:56px;width:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 56px;transition:all .3s ease-in-out;margin-left:auto;padding:0;border:none;overflow:hidden}.qa-start-button:hover{background-color:#e53a4b;transform:scale(1.05)}.qa-start-button.disabled{background-color:#999;cursor:not-allowed;opacity:.6}.qa-start-button.disabled:hover{background-color:#999;transform:none}.qa-start-text{overflow-wrap:break-word;color:rgba(255,255,255,1);font-size:12px;font-family:PingFang SC-Bold,PingFang SC,sans-serif;font-weight:700;letter-spacing:.5px;text-transform:uppercase;text-align:center;white-space:nowrap;line-height:1;width:100%;padding:0 6px}.qa-send-button{background-color:#ff4759;border-radius:50%;height:48px;width:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 48px;transition:all .3s ease-in-out}.qa-send-button:hover{background-color:#e53a4b;transform:scale(1.05)}.qa-send-text{overflow-wrap:break-word;color:#fff;font-size:14px;font-family:PingFang SC-Bold,PingFang SC,sans-serif;font-weight:700;text-align:center;white-space:nowrap;line-height:1}.mic-icon-wrapper.recording{background-color:transparent;border-radius:0;width:32px;height:24px;padding:0}.mic-icon-wrapper.recording .speaking-mic-icon.waveform-icon{width:32px;height:16px}.speaking-notice-box{position:absolute;left:0;right:0;bottom:0;transform:translateY(100%);background-color:rgba(255,255,255,1);border-radius:0 0 16px 16px;height:116px;box-shadow:0 0 2px 0 rgba(145,158,171,.2);z-index:1000;pointer-events:auto}.speaking-notice-divider{background-color:rgba(227,230,235,1);width:100%;height:1px}.speaking-notice-content{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:397px;height:70px;margin:19px 0 26px 30px}.speaking-notice-icon{width:68px;height:67px;flex-shrink:0}.speaking-notice-text-group{display:flex;flex-direction:column;justify-content:space-between;width:313px;height:70px}.speaking-notice-title{width:104px;height:20px;font-size:20px;font-weight:700;white-space:nowrap;line-height:20px}.speaking-notice-description,.speaking-notice-title{overflow-wrap:break-word;color:rgba(25,25,25,1);font-family:PingFang SC,sans-serif}.speaking-notice-description{width:313px;height:38px;font-size:14px;font-weight:400;text-align:left;line-height:19px;margin-top:12px}.speaking-message{opacity:1}.speaking-bubble{position:relative;width:57px!important;height:32px!important;background:rgba(45,140,255,.1)!important;border-radius:8px!important;border:1px solid rgba(45,140,255,.1)!important;padding:0!important}.speaking-bubble,.speaking-indicator-dots{display:flex;align-items:center;justify-content:center}.speaking-indicator-dots{gap:4px}.speaking-indicator-dots .dot{width:5px;height:5px;background-color:rgba(45,140,255,.8);border-radius:50%;animation:speaking-pulse 1.4s ease-in-out infinite}.speaking-indicator-dots .dot:first-child{animation-delay:0s}.speaking-indicator-dots .dot:nth-child(2){animation-delay:.2s}.speaking-indicator-dots .dot:nth-child(3){animation-delay:.4s}@keyframes speaking-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.flex-row{display:flex;flex-direction:row}.flex-col{display:flex;flex-direction:column}.justify-between{justify-content:space-between}.group_17{background-color:rgba(255,247,240,1);border-radius:24px;position:relative;width:420px;height:118px;border:1px solid rgba(255,139,45,1);margin:12px 0 0}.label_14{width:80px;height:80px;margin:20px 0 0 20px}.image-wrapper_21{width:28px;height:62px;margin:24px 0 0 34px}.label_15,.label_16{width:25px;height:25px}.label_16{margin:12px 0 0 3px}.group_18{width:284px;height:83px;margin:19px 16px 0 12px}.text-group_6{width:100%;height:36px}.text_18{height:14px;color:rgba(98,98,104,1);font-size:14px;line-height:14px}.text_18,.text_19{width:auto;overflow-wrap:break-word;font-family:PingFang SC-Bold,PingFang SC,sans-serif;font-weight:700;text-align:left;white-space:nowrap}.text_19{height:16px;color:rgba(25,25,25,1);font-size:16px;line-height:16px;margin-top:6px}.text-wrapper_16{background-color:rgba(255,232,214,1);border-radius:10px;height:32px;margin-top:15px;width:284px}.text_20{width:auto;height:14px;overflow-wrap:break-word;color:rgba(255,139,45,1);font-size:14px;font-family:PingFang SC-Bold,PingFang SC,sans-serif;font-weight:700;text-align:left;white-space:nowrap;line-height:14px;margin:9px 0 0 11px}.image_6{position:absolute;left:41px;top:19px;width:47px;height:75px}.status-check-card{display:flex;flex-direction:column;gap:8px;padding:0;margin:0}.status-check-content{display:flex;gap:12px;padding:20px;background:linear-gradient(135deg,#f5f7fa,#e8eef5);border:2px solid #d1d9e6;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.check-icon{font-size:28px;flex-shrink:0}.check-body{flex:1;display:flex;flex-direction:column;gap:8px}.check-label{font-size:12px;color:#637381;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.check-question{font-size:16px;font-weight:600;color:#191919}.checking-status{font-size:14px;color:#637381;font-style:italic}.student-response{display:flex;gap:8px;align-items:center;margin-top:4px;padding:8px 12px;border-radius:6px}.student-response.yes{background-color:rgba(0,171,85,.1);border:1px solid rgba(0,171,85,.3)}.student-response.no{background-color:rgba(255,71,89,.1);border:1px solid rgba(255,71,89,.3)}.response-label{font-size:12px;color:#637381;font-weight:600}.response-value{font-size:14px;font-weight:600;color:#191919}.raise-hand-notification-overlay{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);background-color:rgba(0,171,85,1);color:white;padding:12px 16px;border-radius:12px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 16px rgba(0,171,85,.24);z-index:100;animation:slideRightFade .3s ease-out;white-space:normal;max-width:300px;text-align:left}.raise-hand-notification-overlay:after{content:"";position:absolute;bottom:12px;right:-6px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid rgba(0,171,85,1);border-right:0}.notification-content{display:flex;align-items:center;gap:8px}.notification-icon{font-size:20px}.notification-text{font-size:16px;font-weight:600}@keyframes slideDownFade{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}