.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.login-background{position:absolute;width:100%;height:100%;overflow:hidden}.bubble{position:absolute;border-radius:50%;background:#ffffff1a;animation:float 6s infinite ease-in-out}.bubble1{width:80px;height:80px;left:10%;top:20%;animation-delay:0s}.bubble2{width:120px;height:120px;right:15%;top:60%;animation-delay:2s}.bubble3{width:60px;height:60px;left:70%;top:30%;animation-delay:4s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}.login-card{width:450px;border-radius:16px;box-shadow:0 20px 60px #0000004d;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.login-header{text-align:center;margin-bottom:30px}.login-header h2{margin-bottom:8px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.demo-accounts{padding:10px 0}.demo-accounts h4{text-align:center;margin-bottom:10px}.demo-buttons{display:flex;flex-direction:column;gap:12px;margin-top:20px}.demo-btn{height:50px;font-size:16px;font-weight:500;border:2px solid transparent;transition:all .3s ease}.institution-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border-color:transparent}.institution-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f093fb66}.admin-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;border-color:transparent}.admin-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4facfe66}.teacher-btn{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff;border-color:transparent}.teacher-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #43e97b66}.student-btn{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff;border-color:transparent}.student-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #fa709a66}.parent-btn{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#333;border-color:transparent}.parent-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #a8edea66}.demo-info{margin-top:20px;padding:15px;background:#f5f5f5;border-radius:8px;text-align:center}.login-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #f0f0f0}@media (max-width: 768px){.login-card{width:90%;margin:0 20px}}.dashboard-layout{min-height:100vh}.logo{height:64px;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;border-bottom:1px solid #f0f0f0}.logo-text{font-size:18px;font-weight:700;color:#1890ff}.dashboard-header{background:#fff;padding:0 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a;z-index:10}.header-left{flex:1}.header-right{display:flex;align-items:center;gap:24px}.user-info{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:background .3s}.user-info:hover{background:#f5f5f5}.user-name{font-weight:500}.dashboard-content{margin:24px;padding:24px;background:#fff;border-radius:8px;min-height:calc(100vh - 112px)}@media (max-width: 768px){.dashboard-content{margin:16px;padding:16px}.user-name{display:none}}.ai-question-generator{padding:24px}.ai-question-generator .ant-card{margin-bottom:24px}.ai-question-generator .ant-card-head-title{font-size:16px;font-weight:600}.ai-question-generator .ant-tag{margin-bottom:8px}.ai-question-generator .ant-table-tbody>tr>td{padding:12px 16px}.paper-preview{padding:24px;background:#fff;border:1px solid #d9d9d9;border-radius:4px}.paper-header{text-align:center;margin-bottom:24px}.paper-header .ant-typography{margin-bottom:8px}.paper-question{margin-bottom:24px;padding:16px;background:#fafafa;border-radius:4px}.question-number{font-weight:600;margin-bottom:8px}.question-content{margin-left:20px}.question-options{margin-top:12px;padding-left:20px}.option-item{margin-bottom:8px;padding:4px 8px;background:#fff;border-radius:4px}.paper-footer{margin-top:32px;padding:16px;background:#f5f5f5;border-radius:4px}.answer-item{padding:4px 8px;margin-bottom:4px}@media print{.ai-question-generator .ant-modal-close,.ai-question-generator .ant-modal-footer{display:none}.paper-preview{border:none;box-shadow:none}.paper-footer{page-break-before:always}}.ai-question-practice{padding:24px}.ai-question-practice .word-info{text-align:center;padding:24px 0}.ai-question-practice .word-info .ant-typography{margin-bottom:8px}.ai-question-practice .generate-section{text-align:center;padding:24px 0}.ai-question-practice .question-section{padding:16px 0}.ai-question-practice .question-type{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.ai-question-practice .reading-question .article{background:#f5f5f5;padding:16px;border-radius:4px;margin-bottom:16px}.ai-question-practice .reading-question .article .ant-typography{margin-bottom:0}.ai-question-practice .reading-question .questions{margin-top:16px}.ai-question-practice .reading-question .reading-sub-question{margin-bottom:24px}.ai-question-practice .choice-question,.ai-question-practice .fill-question,.ai-question-practice .translation-question{margin-bottom:16px}.ai-question-practice .options{display:flex;flex-direction:column;gap:8px;margin-top:16px}.ai-question-practice .option-item{padding:12px 16px;background:#fff;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;transition:all .3s}.ai-question-practice .option-item:hover{border-color:#1890ff;background:#f0f7ff}.ai-question-practice .option-item.correct{border-color:#52c41a;background:#f6ffed}.ai-question-practice .option-item.wrong{border-color:#ff4d4f;background:#fff1f0}.ai-question-practice .option-item.selected{border-color:#1890ff;background:#e6f7ff;font-weight:700}.ai-question-practice .option-item .ant-typography{margin-bottom:0}.ai-question-practice .question-card{background:#fafafa;padding:20px;border-radius:12px;border:1px solid #f0f0f0;margin-bottom:20px}.ai-question-practice .question-card:last-child{margin-bottom:0}.ai-question-practice .questions-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:16px;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);border-radius:12px;margin-bottom:20px}.ai-question-practice .questions-header .ant-typography{margin:0}.ai-question-practice .question-header{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.ai-question-practice .submit-all-container{margin-top:24px;margin-bottom:24px;text-align:center;padding:20px;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);border-radius:12px}.ai-question-practice .submit-all-container .ant-btn-primary{height:50px;padding:0 40px;font-size:16px;font-weight:600}.ai-question-practice .question-type-selection .ant-form-item{margin-bottom:0}.ai-question-practice .question-type-selection .ant-row{margin:0 -8px}.ai-question-practice .question-type-selection .ant-col{padding:0 8px}@media (max-width: 768px){.ai-question-practice{padding:16px}.ai-question-practice .word-info{padding:16px 0}.ai-question-practice .generate-section,.ai-question-practice .question-section{padding:12px 0}.ai-question-practice .question-card{padding:16px}.ai-question-practice .questions-header{flex-direction:column;align-items:flex-start}}.question-rating{padding:24px}.question-rating .ant-card{margin-bottom:24px}.question-rating .ant-statistic-title{font-size:14px;color:#8c8c8c}.question-rating .ant-statistic-content{font-size:24px;font-weight:600}.question-rating .rating-modal{padding:16px 0}.question-rating .question-preview{background:#f5f5f5;padding:16px;border-radius:4px;margin-bottom:16px}.question-rating .question-preview .ant-typography{margin-bottom:8px}.question-rating .question-preview .ant-typography:last-child{margin-bottom:0}.question-rating .rating-option{padding:12px;border:1px solid #d9d9d9;border-radius:4px;transition:all .3s}.question-rating .rating-option:hover{border-color:#1890ff;background:#f0f7ff}.question-rating .ant-radio-wrapper{width:100%;margin-right:0}.question-rating .ant-radio-wrapper .ant-radio{margin-right:8px}@media (max-width: 768px){.question-rating{padding:16px}.question-rating .ant-col{margin-bottom:16px}.question-rating .rating-modal{padding:12px 0}.question-rating .question-preview{padding:12px}}.app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.page-header{background:#fff;padding:16px 24px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.page-header h1{margin:0;color:#1890ff;font-size:24px}.page-content{max-width:1200px;margin:0 auto;padding:0 24px 24px}.learning-card{background:#fff;border-radius:16px;padding:40px;box-shadow:0 4px 16px #0000001a;min-height:400px}.word-display{text-align:center;padding:60px 20px}.word-text{font-size:48px;font-weight:700;color:#1890ff;margin-bottom:20px}.word-phonetic{font-size:24px;color:#666;margin-bottom:10px}.word-part-of-speech{font-size:18px;color:#999;margin-bottom:30px}.answer-input{margin-top:40px}.feedback-correct{color:#52c41a;font-size:18px;font-weight:700}.feedback-wrong{color:#ff4d4f;font-size:18px;font-weight:700}.progress-info{margin-top:20px;text-align:center;color:#666}.mode-card{cursor:pointer;transition:all .3s;height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center}.mode-card:hover{transform:translateY(-8px);box-shadow:0 8px 24px #00000026}.mode-icon{font-size:64px;margin-bottom:16px}.score-display{text-align:center;padding:20px;background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border-radius:8px;margin-bottom:20px}.score-number{font-size:48px;font-weight:700;color:#e17055}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0f2f5}.phonetic,[class*=phonetic],button:has(.anticon-sound){font-family:Lucida Sans Unicode,Arial Unicode MS,Doulos SIL,DejaVu Sans,Segoe UI,Arial,sans-serif!important}#root{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.text-center{text-align:center}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.ant-table-body::-webkit-scrollbar,.ant-table-container::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.ant-card-body>div::-webkit-scrollbar{width:8px;height:8px}.ant-table-body::-webkit-scrollbar-track,.ant-table-container::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track,.ant-card-body>div::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.ant-table-body::-webkit-scrollbar-thumb,.ant-table-container::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.ant-card-body>div::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.ant-table-body::-webkit-scrollbar-thumb:hover,.ant-table-container::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover,.ant-card-body>div::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 1024px){.container{padding:16px}.card{padding:16px;margin-bottom:16px}}@media (max-width: 768px){.container{padding:12px}.card{padding:12px;margin-bottom:12px}}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ant-table-skeleton .ant-skeleton{padding:16px}.ant-modal{transition:all .3s ease}.min-height-container{min-height:400px}.responsive-table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (hover: none) and (pointer: coarse){.ant-btn{min-height:44px;min-width:44px}.ant-table-cell{padding:12px 8px}}.action-buttons-container{width:100%;display:flex;flex-wrap:wrap;gap:.25rem}.compact-action-btn{font-size:.75rem;padding:.25rem .5rem;height:auto;line-height:1.2;min-width:auto;flex:0 0 auto}.compact-action-btn .anticon{font-size:.875rem;margin-right:.25rem}@media (min-width: 768px) and (max-width: 1024px){.action-buttons-container{display:flex;flex-direction:column;gap:.375rem}.compact-action-btn{width:100%;font-size:.8125rem;padding:.375rem .625rem;justify-content:flex-start}.compact-action-btn .anticon{font-size:1rem;margin-right:.5rem}.responsive-table-container .ant-table{width:100%!important;table-layout:fixed!important}.ant-table-thead>tr>th:last-child{text-align:center!important}.action-buttons-container{align-items:center!important}.compact-action-btn{justify-content:center!important}}@media (min-width: 768px) and (max-width: 896px){.compact-action-btn{font-size:.75rem;padding:.3125rem .5rem}.compact-action-btn .anticon{font-size:.875rem;margin-right:.375rem}}@media (min-width: 897px) and (max-width: 1024px){.compact-action-btn{font-size:.875rem;padding:.4375rem .75rem}.compact-action-btn .anticon{font-size:1.0625rem;margin-right:.5625rem}}@media (min-width: 1024px) and (max-width: 1024px){.action-buttons-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:.25rem}.compact-action-btn{flex:1 1 auto;min-width:5rem;font-size:.8125rem}}.compact-action-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.compact-action-btn:active{transform:translateY(0);box-shadow:none}
