:root{--color-bg-primary: #f0f2f5;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f5f5f5;--color-bg-card: #ffffff;--color-border: #e8e8e8;--color-border-light: #d9d9d9;--color-text-primary: #1f1f1f;--color-text-secondary: #666666;--color-text-tertiary: #999999;--color-text-disabled: #bfbfbf;--color-accent-blue: #1890ff;--color-accent-green: #52c41a;--color-accent-red: #ff4d4f;--color-accent-yellow: #faad14;--dark-bg-primary: #0d0d0d;--dark-bg-secondary: #1a1a1a;--dark-bg-tertiary: #2a2a2a;--dark-bg-card: #1a1a1a;--dark-border: #333333;--dark-border-light: #444444;--dark-text-primary: #ffffff;--dark-text-secondary: #b3b3b3;--dark-text-tertiary: #888888}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000004d}.rc-virtual-list-scrollbar{width:6px!important;right:2px!important;border-radius:3px!important}.rc-virtual-list-scrollbar-thumb{background:#00000026!important;border-radius:3px!important}.rc-virtual-list-scrollbar-thumb:hover{background:#0000004d!important}.ant-input::placeholder{color:#bfbfbf!important}.ant-input,.ant-input input,.ant-input-affix-wrapper,.ant-input-affix-wrapper input,.ant-input-affix-wrapper .ant-input,input.ant-input{color:var(--color-text-primary)!important;background-color:transparent!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused{border-color:var(--color-accent-blue)!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus input,.ant-input-affix-wrapper-focused input{color:var(--color-text-primary)!important}textarea.whiteboard-custom-input{color:var(--whiteboard-text-color)!important;-webkit-text-fill-color:var(--whiteboard-text-color)!important;caret-color:var(--whiteboard-text-color)!important}.ant-picker-input>input::placeholder{color:var(--color-text-tertiary)!important}.ant-picker-input>input{color:var(--color-text-primary)!important}.ant-picker-dropdown{background-color:var(--color-bg-secondary)!important;border:1px solid var(--color-border)!important;box-shadow:0 6px 16px #00000014!important}.ant-picker-dropdown .ant-picker-panel-container{background-color:var(--color-bg-secondary)!important}.ant-picker-dropdown .ant-picker-header{color:var(--color-text-primary)!important;border-bottom:1px solid var(--color-border)!important}.ant-picker-dropdown .ant-picker-body{background-color:var(--color-bg-secondary)!important}.ant-picker-dropdown .ant-picker-content th{color:var(--color-text-secondary)!important}.ant-picker-dropdown .ant-picker-cell{color:var(--color-text-primary)!important}.ant-picker-dropdown .ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{background-color:var(--color-bg-tertiary)!important}.ant-picker-dropdown .ant-picker-cell-disabled{color:var(--color-text-disabled)!important}.ant-picker-dropdown .ant-picker-footer{border-top:1px solid var(--color-border)!important}.ant-picker-dropdown .ant-picker-time-panel-column>li{color:var(--color-text-primary)!important}.ant-picker-dropdown .ant-picker-time-panel-column>li:hover{background-color:var(--color-bg-tertiary)!important}.ant-picker-dropdown .ant-picker-time-panel-column>li.ant-picker-time-panel-cell-selected{background-color:var(--color-accent-blue)!important;color:#fff!important}.ant-dropdown-menu{background-color:var(--color-bg-secondary)!important;border:1px solid var(--color-border)!important;box-shadow:0 6px 16px #00000014!important}.ant-dropdown-menu-item{color:var(--color-text-primary)!important}.ant-dropdown-menu-item:hover{background-color:var(--color-bg-tertiary)!important}.ant-select-dropdown{background-color:var(--color-bg-secondary)!important;border:1px solid var(--color-border)!important;box-shadow:0 6px 16px #00000014!important}.ant-select-item{color:var(--color-text-primary)!important}.ant-select-item-option-active{background-color:var(--color-bg-tertiary)!important}.ant-select-item-option-selected{background-color:#1890ff1a!important;color:var(--color-accent-blue)!important}.ant-modal-mask{background-color:#00000073!important}.ant-card-hoverable:hover{border-color:var(--color-accent-blue)!important}.custom-btn,.custom-btn span,.custom-btn .ant-btn-icon,.custom-btn .anticon{color:var(--color-text-primary)!important}.custom-btn.course-top-btn,.custom-btn.course-top-btn span,.custom-btn.course-top-btn .ant-btn-icon,.custom-btn.course-top-btn .anticon{color:#fff!important}.custom-btn:hover span,.custom-btn:focus span,.custom-btn:hover .ant-btn-icon,.custom-btn:focus .ant-btn-icon,.custom-btn:hover .anticon,.custom-btn:focus .anticon{color:var(--color-text-primary)!important}.custom-btn.course-top-btn:hover span,.custom-btn.course-top-btn:focus span,.custom-btn.course-top-btn:hover .ant-btn-icon,.custom-btn.course-top-btn:focus .ant-btn-icon,.custom-btn.course-top-btn:hover .anticon,.custom-btn.course-top-btn:focus .anticon{color:#fff!important}.light-input{background-color:#fff!important;border:1px solid #d9d9d9!important;color:#1f1f1f!important}.light-input input,.light-input textarea{background-color:transparent!important;border:none!important;box-shadow:none!important;color:#1f1f1f!important}.light-input::placeholder,.light-input input::placeholder,.light-input textarea::placeholder{color:#bfbfbf!important}.course-list-container{padding-right:8px}.light-input.ant-input,.light-input .ant-input,input.light-input,textarea.light-input{background-color:#fff!important;color:#1f1f1f!important}.light-input:focus,.light-input input:focus,.light-input textarea:focus,.light-input.ant-input:focus{background-color:#fff!important;border-color:var(--color-accent-blue)!important;color:#1f1f1f!important}.light-input:hover{border-color:var(--color-accent-blue)!important}.ant-input-affix-wrapper.light-input{background-color:#fff!important;border:1px solid #d9d9d9!important}.ant-input-affix-wrapper.light-input input{background-color:transparent!important;color:#1f1f1f!important;border:none!important;box-shadow:none!important}.light-input .ant-input::placeholder,.light-input input::placeholder,.light-input textarea::placeholder,.light-input.ant-input::placeholder,.light-input .ant-input-affix-wrapper input::placeholder,.light-input.ant-input-affix-wrapper.light-input input::placeholder,.ant-input-affix-wrapper.light-input ::placeholder{color:#bfbfbf!important}.light-input .ant-input:focus::placeholder,.light-input input:focus::placeholder,.light-input.ant-input-focused ::placeholder,.ant-input-affix-wrapper.light-input input:focus::placeholder{color:#999!important}.join-input::placeholder,.join-input .ant-input::placeholder,.join-input input::placeholder,.ant-input-affix-wrapper.join-input input::placeholder,.ant-input-affix-wrapper.join-input ::placeholder,.ant-input-filled.join-input input::placeholder{color:#bfbfbf!important}.join-input:focus::placeholder,.join-input .ant-input:focus::placeholder,.ant-input-affix-wrapper.join-input input:focus::placeholder,.ant-input-filled.join-input input:focus::placeholder{color:#999!important}.light-datepicker,.light-datepicker .ant-picker-input{background-color:#fff!important;border:1px solid #d9d9d9!important}.light-datepicker .ant-picker-input>input{color:#1f1f1f!important;background-color:transparent!important;font-size:14px!important;-webkit-text-fill-color:#1f1f1f!important}.light-datepicker .ant-picker-input>input::placeholder{color:#bfbfbf!important;font-size:14px!important}.light-datepicker:hover .ant-picker-input>input,.light-datepicker.ant-picker-focused .ant-picker-input>input{color:#1f1f1f!important;-webkit-text-fill-color:#1f1f1f!important}.light-datepicker:hover,.light-datepicker.ant-picker-focused{border-color:var(--color-accent-blue)!important}.light-select .ant-select-selector,.ant-select-filled.light-select .ant-select-selector{background-color:#fafafa!important;border:1px solid #d9d9d9!important}.light-select .ant-select-selection-item,.light-select .ant-select-selection-placeholder{color:#1f1f1f!important;font-size:14px!important}.light-select .ant-select-selection-placeholder{color:#bfbfbf!important}.light-select .ant-select-selection-text{color:#1f1f1f!important}.light-select:hover .ant-select-selector{border-color:var(--color-accent-blue)!important}.light-select.ant-select-focused .ant-select-selector{border-color:var(--color-accent-blue)!important;box-shadow:0 0 0 2px #1890ff1a!important}.light-select .ant-select-arrow,.light-select .ant-select-suffix{color:#bfbfbf!important}.light-select .ant-select-dropdown{background-color:#fff!important;border:1px solid #d9d9d9!important;box-shadow:0 6px 16px #00000014!important}.light-select .ant-select-item{color:#1f1f1f!important}.light-select .ant-select-item-option-active{background-color:#f5f5f5!important}.light-select .ant-select-item-option-selected{background-color:#1890ff1a!important;color:#1890ff!important}.dark-input,.dark-input input,.dark-input textarea,.dark-input::placeholder,.dark-input input::placeholder,.dark-input textarea::placeholder{background-color:#333!important;border:1px solid #444!important;color:#fff!important}.dark-input.ant-input,.dark-input .ant-input,input.dark-input,textarea.dark-input{background-color:#333!important;color:#fff!important}.dark-input:focus,.dark-input-focused,.dark-input input:focus,.dark-input textarea:focus,.dark-input.ant-input:focus,.dark-input.ant-input-focused{background-color:#333!important;border-color:var(--color-accent-blue)!important;color:#fff!important}.dark-input:hover{border-color:#555!important}.ant-input-affix-wrapper.dark-input{background-color:#333!important;border:1px solid #444!important}.ant-input-affix-wrapper.dark-input input{background-color:transparent!important;color:#fff!important}.dark-input .ant-input::placeholder,.dark-input input::placeholder,.dark-input textarea::placeholder,.dark-input.ant-input::placeholder,.dark-input .ant-input-affix-wrapper input::placeholder,.dark-input.ant-input-affix-wrapper.dark-input input::placeholder,.ant-input-affix-wrapper.dark-input ::placeholder{color:#ccc!important}.dark-input .ant-input:focus::placeholder,.dark-input input:focus::placeholder,.dark-input.ant-input-focused ::placeholder,.ant-input-affix-wrapper.dark-input input:focus::placeholder{color:#aaa!important}.dark-datepicker,.dark-datepicker .ant-picker-input{background-color:#333!important;border:1px solid #444!important}.dark-datepicker .ant-picker-input>input{color:#fff!important;background-color:transparent!important;font-size:14px!important;-webkit-text-fill-color:#fff!important}.dark-datepicker .ant-picker-input>input::placeholder{color:#ffffff73!important;font-size:14px!important}.dark-datepicker:hover .ant-picker-input>input,.dark-datepicker.ant-picker-focused .ant-picker-input>input{color:#fff!important;-webkit-text-fill-color:#fff!important}.dark-datepicker:hover{border-color:#555!important}.dark-datepicker.ant-picker-focused{border-color:var(--color-accent-blue)!important}.dark-select .ant-select-selector,.ant-select-filled.dark-select .ant-select-selector{background-color:#252525!important;border:none!important}.dark-select .ant-select-selection-item,.dark-select .ant-select-selection-placeholder{color:#ddd!important;font-size:14px!important}.dark-select .ant-select-selection-placeholder{color:#ffffff73!important}.dark-select .ant-select-selection-text{color:#eee!important}.dark-select:hover .ant-select-selector{background-color:#2a2a2a!important}.dark-select.ant-select-focused .ant-select-selector{background-color:#2a2a2a!important;box-shadow:0 0 0 2px #1890ff26!important}.dark-select .ant-select-arrow,.dark-select .ant-select-suffix{color:#ffffff73!important}video{object-position:center center!important;object-fit:cover!important}.dark-select .ant-select-dropdown{background-color:#2a2a2a!important;border:1px solid #444!important;box-shadow:0 6px 16px #00000080!important}.dark-select .ant-select-item{color:#ffffffd9!important}.dark-select .ant-select-item-option-active{background-color:#1890ff1a!important}.dark-select .ant-select-item-option-selected{background-color:#1890ff2e!important;color:#1890ff!important}.ant-card.welcome-card{border:1px solid transparent!important;cursor:pointer}.ant-card.welcome-card:active{transform:scale(.96)!important;box-shadow:0 4px 12px #0000000d!important}.ant-card.welcome-card-teacher:hover{transform:translateY(-4px)!important;box-shadow:0 12px 32px #1890ff26,0 0 40px #1890ff1a!important;border-color:#1890ff33!important}.ant-card.welcome-card-student:hover{transform:translateY(-4px)!important;box-shadow:0 12px 32px #52c41a26,0 0 40px #52c41a1a!important;border-color:#52c41a33!important}.ant-card.course-card.ant-card-hoverable:hover{transform:translateY(-3px)!important;box-shadow:0 8px 24px #0000001f!important;border-color:transparent!important}.btn-enter-class:hover,.btn-primary-hover:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px #1890ff59!important}.btn-enter-class.btn-ongoing:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px #52c41a59!important}.ant-btn{transition:all .15s cubic-bezier(.645,.045,.355,1)!important}.ant-btn:active{transform:scale(.95)!important}.ant-btn-primary:active{box-shadow:inset 0 4px 12px #0000004d!important}.ant-btn-default:active,.ant-btn-dashed:active{box-shadow:inset 0 2px 6px #00000026!important;background-color:#f0f0f0!important}.ant-btn-text:active{background-color:#0000001a!important;transform:scale(.92)!important}.ant-btn-link:active{background-color:#0000001a!important;transform:scale(.95)!important}.ant-btn-dangerous:active{box-shadow:inset 0 4px 12px #ff000040!important}.course-top-btn{transition:all .4s cubic-bezier(.25,.46,.45,.94)!important}.course-top-btn.ant-btn:active{transform:scale(.96)!important;box-shadow:0 4px 12px #0000000d!important}.course-top-btn-blue.ant-btn:hover{transform:translateY(-2px)!important;box-shadow:0 8px 24px #1890ff40,0 0 20px #1890ff26!important}.course-top-btn-green.ant-btn:hover{transform:translateY(-2px)!important;box-shadow:0 8px 24px #52c41a40,0 0 20px #52c41a26!important}@keyframes laser-pulse{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.5);opacity:0}to{transform:scale(1);opacity:0}}@keyframes pulse{0%{transform:scale(.95);opacity:1}50%{transform:scale(1.1);opacity:.6}to{transform:scale(.95);opacity:1}}
