body,html{padding:0;margin:0}*{box-sizing:border-box}.student-shell{background:linear-gradient(135deg,var(--ant-colorPrimaryBg,var(--ant-colorBgLayout)) 0,var(--ant-colorBgLayout) 55%,var(--ant-colorBgLayout) 100%)}.student-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;padding:0;height:56px;line-height:56px;background:linear-gradient(90deg,var(--ant-colorPrimaryBg,var(--ant-colorBgLayout)) 0,var(--ant-colorBgContainer) 60%);border-bottom:1px solid var(--ant-colorBorderSecondary)}.student-header-inner{height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px}.student-header-left{display:flex;align-items:center;gap:10px;min-width:220px}.student-header-center{flex:1 1;display:flex;justify-content:center}.student-search{width:min(520px,100%)}.student-header-right{display:flex;justify-content:flex-end;min-width:140px}.student-logo{display:flex;align-items:center;gap:10px}.student-logo-badge{width:10px;height:10px;border-radius:999px;background:var(--ant-colorPrimary)}.student-logo-text{font-weight:600}.student-sider{background:transparent}.student-sider-inner{height:calc(100vh - 56px);position:-webkit-sticky;position:sticky;top:56px;padding:12px}.student-mobile-bottom-nav{display:none}@media (max-width:768px){.student-content{padding-bottom:76px!important}.student-mobile-bottom-nav{display:block!important;position:fixed;bottom:0;left:0;right:0;z-index:99999!important}}.student-nav{border-radius:12px;overflow:hidden;background:var(--ant-colorBgContainer);border:1px solid var(--ant-colorBorderSecondary)}.student-content{padding:16px}.student-content-card{width:100%;min-height:calc(100vh - 56px - 32px);border-radius:16px;background:var(--ant-colorBgContainer);border:1px solid var(--ant-colorBorderSecondary);padding:16px}.student-card{border-radius:16px}.student-mobile-menu{display:none}@media (max-width:768px){.teacher-top-nav-wrap{display:none}.student-header-inner{padding:0 12px}.student-header-left{min-width:auto}.student-header-center,.student-sider{display:none}.student-content{padding:12px}.student-content-card{min-height:calc(100vh - 56px - 24px);border-radius:14px;padding:12px}.student-mobile-menu{display:inline-flex}}.teacher-shell{background:linear-gradient(135deg,var(--ant-colorPrimaryBg,var(--ant-colorBgLayout)) 0,var(--ant-colorBgLayout) 60%,var(--ant-colorBgLayout) 100%)}.teacher-header-inner{height:auto;padding:0 24px;background:transparent;border-bottom:none}.teacher-header-inner,.teacher-logo-container{display:flex;align-items:center;justify-content:center}.teacher-logo-notch{position:relative;display:flex;align-items:center;gap:14px;padding:12px 40px 12px 36px;background:linear-gradient(135deg,#0891b2,#06b6d4 35%,#3b82f6 65%,#0891b2);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2),0 0 20px rgba(6,182,212,.4),0 8px 24px rgba(8,145,178,.5);border-radius:0 0 32px 32px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.teacher-logo-notch:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 70%);pointer-events:none}.teacher-logo-notch:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.8) 50%,transparent);animation:shimmerGlow 3s ease-in-out infinite}.teacher-logo-notch-badge{position:relative;z-index:1;width:16px;height:16px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#fff 0,#e0f2fe 20%,#06b6d4 60%,#0891b2 100%);box-shadow:0 0 20px rgba(6,182,212,.8),0 0 40px rgba(6,182,212,.4),inset 0 2px 4px hsla(0,0%,100%,.5);animation:energyPulse 2.5s cubic-bezier(.4,0,.6,1) infinite}.teacher-logo-notch-text{position:relative;z-index:1;font-size:24px!important;font-weight:800!important;color:#fff!important;text-shadow:0 0 10px hsla(0,0%,100%,.5),0 0 20px rgba(6,182,212,.8),0 2px 4px rgba(0,0,0,.3);letter-spacing:4px;filter:drop-shadow(0 0 8px rgba(255,255,255,.6))}@keyframes energyPulse{0%,to{transform:scale(1);box-shadow:0 0 20px rgba(6,182,212,.8),0 0 40px rgba(6,182,212,.4),inset 0 2px 4px hsla(0,0%,100%,.5)}50%{transform:scale(1.2);box-shadow:0 0 30px #06b6d4,0 0 60px rgba(6,182,212,.6),inset 0 2px 4px hsla(0,0%,100%,.8)}}@keyframes shimmerGlow{0%,to{opacity:.4;transform:translateX(-100%)}50%{opacity:1}51%{transform:translateX(100%)}to{opacity:.4;transform:translateX(100%)}}.teacher-logo-notch:hover{transform:translateY(-4px) scale(1.02);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3),0 0 30px rgba(6,182,212,.6),0 12px 40px rgba(8,145,178,.7)}.parent-shell{min-height:100vh;background:linear-gradient(135deg,var(--ant-colorPrimaryBg,var(--ant-colorBgLayout)) 0,var(--ant-colorBgLayout) 60%,var(--ant-colorBgLayout) 100%)}.parent-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;padding:0;height:56px;line-height:56px;background:linear-gradient(90deg,var(--ant-colorPrimaryBg,var(--ant-colorBgLayout)) 0,var(--ant-colorBgContainer) 60%);border-bottom:1px solid var(--ant-colorBorderSecondary)}.parent-header-inner{height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px}.parent-header-left{display:flex;align-items:center;gap:10px;min-width:240px}.parent-header-center{flex:1 1;display:flex;justify-content:center}.parent-search{width:min(620px,100%)}.parent-header-right{display:flex;justify-content:flex-end;min-width:160px}.parent-logo{display:flex;align-items:center;gap:10px}.parent-logo-badge{width:10px;height:10px;border-radius:999px;background:var(--ant-colorPrimary)}.parent-logo-text{font-weight:600}.parent-main{min-height:calc(100vh - 56px)}.parent-sider{background:transparent}.parent-sider-inner{height:calc(100vh - 56px);position:-webkit-sticky;position:sticky;top:56px;padding:12px}.parent-nav{border-radius:12px;overflow:hidden;background:var(--ant-colorBgContainer);border:1px solid var(--ant-colorBorderSecondary)}.parent-content{padding:32px}.parent-content-card{width:100%;min-height:calc(100vh - 56px - 64px);border-radius:16px;background:var(--ant-colorBgContainer);border:1px solid var(--ant-colorBorderSecondary);padding:24px}.parent-card,.parent-subcard{border-radius:16px}.parent-subcard{border:1px solid var(--ant-colorBorderSecondary);background:var(--ant-colorBgContainer)}.parent-paper-block{height:42px;border-radius:12px;background:var(--ant-colorBgLayout);margin:6px 0 12px}.parent-dashed-block{width:100%;height:220px;border-radius:16px;border:1px dashed var(--ant-colorBorderSecondary);background:var(--ant-colorBgLayout);margin:12px 0}.parent-list-item{border-color:var(--ant-colorBorderSecondary)!important}.parent-child-avatar{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--ant-colorPrimaryBg);border:1px solid var(--ant-colorBorderSecondary);color:var(--ant-colorPrimary);font-weight:700}.parent-bottom-nav,.parent-mobile-menu{display:none}.parent-bottom-item{text-decoration:none}@media (max-width:768px){.parent-header-inner{padding:0 12px}.parent-header-left{min-width:auto}.parent-header-center,.parent-sider{display:none}.parent-content{padding:12px 12px 76px}.parent-content-card{min-height:calc(100vh - 56px - 24px - 64px);border-radius:14px;padding:12px}.parent-mobile-menu{display:inline-flex}.parent-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;justify-content:space-around;gap:4px;padding:0 8px;background:var(--ant-colorBgContainer);border-top:1px solid var(--ant-colorBorderSecondary)}.parent-bottom-item,.parent-bottom-nav{height:56px;display:flex;align-items:center}.parent-bottom-item{flex:1 1;flex-direction:column;justify-content:center;gap:2px;color:var(--ant-colorTextSecondary);font-size:12px}.parent-bottom-item :global(svg){font-size:18px}.parent-bottom-item.is-active{color:var(--ant-colorPrimary)}}:root{--tech-primary:#6366f1;--tech-primary-light:#818cf8;--tech-primary-dark:#4f46e5;--tech-secondary:#06b6d4;--tech-accent:#f43f5e;--tech-success:#34d399;--tech-warning:#fbbf24;--tech-error:#f87171;--tech-info:#60a5fa;--tech-bg-primary:#fff;--tech-bg-secondary:#f8fafc;--tech-bg-tertiary:#f1f5f9;--tech-bg-card:#fff;--tech-text-primary:#1e293b;--tech-text-secondary:#64748b;--tech-text-muted:#94a3b8;--tech-text-inverse:#fff;--tech-border:#e2e8f0;--tech-border-light:rgba(59,130,246,.08);--tech-shadow-sm:0 1px 3px rgba(0,0,0,.05);--tech-shadow:0 4px 12px rgba(0,0,0,.08);--tech-shadow-md:0 4px 12px rgba(0,0,0,.08);--tech-shadow-lg:0 8px 24px rgba(0,0,0,.12);--tech-shadow-primary:0 4px 20px rgba(59,130,246,.15);--tech-glass-bg:hsla(0,0%,100%,.8);--tech-glass-blur:12px;--tech-glass-border:rgba(59,130,246,.1);--tech-gradient-primary:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#06b6d4);--tech-gradient-subtle:linear-gradient(135deg,#f8fafc,#e0e7ff);--tech-gradient-card:linear-gradient(135deg,hsla(0,0%,100%,.9),#fff);--tech-card-bg:hsla(0,0%,100%,.95);--tech-card-border:rgba(59,130,246,.1);--tech-card-shadow:0 4px 16px rgba(0,0,0,.06);--tech-spacing-xs:4px;--tech-spacing-sm:8px;--tech-spacing-md:12px;--tech-spacing-lg:16px;--tech-spacing-xl:24px;--tech-spacing-xxl:32px;--tech-radius-sm:6px;--tech-radius-md:8px;--tech-radius-lg:12px;--tech-radius-xl:16px;--tech-transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--tech-transition-normal:0.3s cubic-bezier(0.4,0,0.2,1);--tech-transition-slow:0.5s cubic-bezier(0.4,0,0.2,1)}.teacher-shell{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e0e7ff);color:var(--tech-text-primary);position:relative;overflow-x:hidden}.teacher-shell:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 30%,rgba(59,130,246,.05) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(6,182,212,.05) 0,transparent 50%);pointer-events:none;z-index:0}.teacher-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--tech-border-light);box-shadow:var(--tech-shadow-sm);padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.teacher-header-left{display:flex;align-items:center;gap:20px;flex:1 1}.teacher-header-right{display:flex;align-items:center;gap:16px}.teacher-header-logo{font-size:20px;font-weight:700;color:var(--tech-primary);letter-spacing:-.5px;background:var(--tech-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.teacher-nav{display:flex;align-items:center;gap:4px}.teacher-nav-item{padding:8px 16px;border-radius:var(--tech-radius-md);font-size:14px;font-weight:500;color:var(--tech-text-secondary);cursor:pointer;transition:all var(--tech-transition-fast);text-decoration:none}.teacher-nav-item:hover{background:rgba(59,130,246,.08);color:var(--tech-primary)}.teacher-nav-item.active{background:rgba(59,130,246,.12);color:var(--tech-primary);font-weight:600}.teacher-main{position:relative;z-index:1;min-height:calc(100vh - 56px)}.teacher-content-card{margin:var(--tech-spacing-lg);min-height:calc(100vh - 88px)}.teacher-card,.teacher-content-card{background:var(--tech-card-bg);border:1px solid var(--tech-border-light);border-radius:var(--tech-radius-lg);padding:var(--tech-spacing-xl);box-shadow:var(--tech-card-shadow)}.teacher-card{transition:all var(--tech-transition-normal)}.teacher-card:hover{box-shadow:var(--tech-shadow-md);border-color:var(--tech-border)}.teacher-stat-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid var(--tech-border-light);border-radius:var(--tech-radius-xl);padding:var(--tech-spacing-xl);box-shadow:var(--tech-card-shadow);transition:all var(--tech-transition-normal);position:relative;overflow:hidden}.teacher-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--tech-gradient-primary);opacity:0;transition:opacity var(--tech-transition-normal)}.teacher-stat-card:hover{transform:translateY(-2px);box-shadow:var(--tech-shadow-primary)}.teacher-stat-card:hover:before{opacity:1}.teacher-stat-value{font-size:32px;font-weight:700;color:var(--tech-primary);line-height:1.2}.teacher-stat-label{font-size:14px;color:var(--tech-text-secondary);margin-top:var(--tech-spacing-sm);font-weight:500}.teacher-stat-icon{position:absolute;top:20px;right:20px;width:48px;height:48px;border-radius:var(--tech-radius-lg);background:rgba(59,130,246,.1);display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--tech-primary)}.teacher-btn-primary{background:var(--tech-gradient-primary);color:var(--tech-text-inverse);border:none;border-radius:var(--tech-radius-md);padding:10px 20px;font-weight:600;font-size:14px;cursor:pointer;transition:all var(--tech-transition-fast);box-shadow:0 2px 8px rgba(59,130,246,.25)}.teacher-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.35)}.teacher-btn-secondary{background:transparent;color:var(--tech-primary);border:1px solid var(--tech-border);border-radius:var(--tech-radius-md);padding:10px 20px;font-weight:600;font-size:14px;cursor:pointer;transition:all var(--tech-transition-fast)}.teacher-btn-secondary:hover{background:rgba(59,130,246,.08);border-color:var(--tech-primary)}.teacher-tag{display:inline-block;padding:4px 12px;border-radius:var(--tech-radius-sm);font-size:12px;font-weight:600;background:rgba(59,130,246,.1);color:var(--tech-primary);border:1px solid rgba(59,130,246,.2)}.teacher-tag-success{background:rgba(52,211,153,.1);color:var(--tech-success);border-color:rgba(52,211,153,.2)}.teacher-tag-warning{background:rgba(251,191,36,.1);color:var(--tech-warning);border-color:rgba(251,191,36,.2)}.teacher-tag-error{background:hsla(0,91%,71%,.1);color:var(--tech-error);border-color:hsla(0,91%,71%,.2)}.teacher-tag-accent{background:rgba(244,63,94,.1);color:var(--tech-accent);border-color:rgba(244,63,94,.2)}.teacher-progress{height:8px;background:rgba(59,130,246,.1);border-radius:4px;overflow:hidden}.teacher-progress-bar{height:100%;background:var(--tech-gradient-primary);border-radius:4px;transition:width var(--tech-transition-normal)}.teacher-input{width:100%;padding:10px 14px;border:1px solid var(--tech-border);border-radius:var(--tech-radius-md);font-size:14px;color:var(--tech-text-primary);background:var(--tech-bg-primary);transition:all var(--tech-transition-fast)}.teacher-input:focus{outline:none;border-color:var(--tech-primary);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.teacher-input::placeholder{color:var(--tech-text-muted)}.page-header{margin-bottom:var(--tech-spacing-xl)}.teacher-bottom-nav{height:64px;background:var(--tech-card-bg);border-top:1px solid var(--tech-border-light);z-index:100}.teacher-bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;color:var(--tech-text-muted);font-size:12px;cursor:pointer;transition:color var(--tech-transition-fast)}.teacher-bottom-nav-item.active{color:var(--tech-primary)}.teacher-bottom-nav-item:hover{color:var(--tech-primary-light)}@media (max-width:1024px){.teacher-content-card{margin:var(--tech-spacing-md);padding:var(--tech-spacing-lg)}}@media (max-width:768px){.teacher-header{padding:10px 16px}.teacher-content-card{margin:var(--tech-spacing-sm);padding:var(--tech-spacing-md);min-height:calc(100vh - 120px)}}@keyframes techFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes techSlideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.teacher-animate-fade-in{animation:techFadeIn .5s ease-out}.teacher-animate-slide-in{animation:techSlideIn .5s ease-out}.tech-text-gradient{background:var(--tech-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tech-bg-gradient{background:var(--tech-gradient-primary)}.ai-feature-card{background:linear-gradient(135deg,rgba(59,130,246,.05),rgba(6,182,212,.05));border:2px solid var(--tech-primary-light);border-radius:var(--tech-radius-lg);padding:var(--tech-spacing-xl);margin-bottom:var(--tech-spacing-xl);box-shadow:0 4px 12px rgba(59,130,246,.15)}.ai-feature-card .ai-icon{font-size:32px;color:var(--tech-primary)}.teacher-content-card .ant-table{background:transparent}.teacher-content-card .ant-table-thead>tr>th{background:var(--tech-bg-secondary);color:var(--tech-text-primary);font-weight:600}.teacher-content-card .ant-table-tbody>tr:hover>td{background:rgba(59,130,246,.04)}.teacher-header-simple{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:hsla(0,0%,100%,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(59,130,246,.08);height:56px;padding:0 16px;display:flex;align-items:center;line-height:56px}.teacher-header-content{width:100%;display:flex;align-items:center;justify-content:space-between}.teacher-logo{display:flex;align-items:center;gap:10px}.teacher-logo-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.teacher-logo-text{font-size:17px;font-weight:700;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px}.teacher-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;padding-bottom:env(safe-area-inset-bottom,0);background:hsla(0,0%,100%,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(59,130,246,.08);display:flex;align-items:center;justify-content:space-around;z-index:1000;box-shadow:0 -4px 20px rgba(0,0,0,.04)}.teacher-bottom-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 12px;color:var(--tech-text-muted);font-size:11px;font-weight:500;cursor:pointer;transition:all var(--tech-transition-fast);text-decoration:none;border:none;background:transparent;min-width:60px;border-radius:12px}.teacher-bottom-item>:first-child:not(span),.teacher-bottom-item>span:first-child{font-size:22px;transition:all var(--tech-transition-fast)}.teacher-bottom-item:hover{color:var(--tech-primary-light)}.teacher-bottom-item.is-active{color:var(--tech-primary);background:rgba(59,130,246,.08)}.teacher-bottom-item.is-active>:first-child:not(span),.teacher-bottom-item.is-active>span:first-child{transform:scale(1.1)}.teacher-menu-drawer .ant-drawer-body{padding:0}.teacher-menu-drawer .ant-drawer-content{background:transparent}.teacher-content{padding:16px 16px 80px;min-height:calc(100vh - 56px);position:relative;z-index:1}@media (max-width:768px){.teacher-content{padding:12px 12px 80px}}.tech-content-card{background:var(--tech-card-bg);border:1px solid var(--tech-border-light);border-radius:16px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.tech-card-hover{transition:all .25s cubic-bezier(.4,0,.2,1)}.tech-card-hover:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}.tech-filter-card{background:var(--tech-card-bg);border:1px solid var(--tech-border-light);border-radius:12px;padding:16px}.tech-hero-card{background:linear-gradient(135deg,rgba(59,130,246,.04),rgba(6,182,212,.04));border:1px solid rgba(59,130,246,.12);border-radius:16px}.tech-stat-card{background:var(--tech-card-bg);border:1px solid var(--tech-border-light);border-radius:12px;padding:16px}.tech-action-card{background:var(--tech-bg-secondary);border:1px solid var(--tech-border-light)}.tech-tag{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:500;background:rgba(59,130,246,.08);color:var(--tech-primary);border:1px solid rgba(59,130,246,.15)}.tech-table .ant-table-thead>tr>th{background:var(--tech-bg-secondary);font-weight:600}.tech-table .ant-table-tbody>tr>td,.tech-table .ant-table-thead>tr>th{border-bottom:1px solid var(--tech-border-light)}.tech-table .ant-table-tbody>tr:hover>td{background:rgba(59,130,246,.02)}.tech-list-item{border-radius:12px;transition:all var(--tech-transition-fast)}.tech-list-item-unread{background:rgba(59,130,246,.04)}@media (max-width:768px){.assignment-card-mobile,.assignment-card-mobile .ant-card-body{padding:12px}.tech-stat-card{padding:12px;border-radius:10px}.tech-stat-card .ant-statistic-title{font-size:12px}.tech-stat-card .ant-statistic-content{font-size:18px}.tech-content-card .ant-form-item-label{padding-bottom:4px}.tech-content-card .ant-form-item-label>label{font-size:13px}.tech-filter-card{padding:12px}.mobile-action-buttons{display:flex;gap:8px;width:100%}.mobile-action-buttons .ant-btn{flex:1 1;font-size:13px}.grading-student-list{max-height:40vh}.grading-main-content{padding:12px}.grading-score-section{display:flex;flex-direction:column;gap:12px}.grading-score-section .ant-input-number{width:100%}.paper-selector-mobile .ant-modal-content{margin:8px;max-height:80vh}.paper-selector-mobile .ant-modal-body{max-height:60vh;overflow-y:auto}}@supports (padding-bottom:env(safe-area-inset-bottom)){.teacher-bottom-nav{padding-bottom:env(safe-area-inset-bottom)}.teacher-content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}@media (max-width:576px){.mobile-form-compact .ant-form-item{margin-bottom:16px}.mobile-form-compact .ant-form-item-label{padding-bottom:2px}.mobile-form-compact .ant-input,.mobile-form-compact .ant-picker,.mobile-form-compact .ant-select-selector{font-size:16px}.mobile-fixed-footer{position:fixed;bottom:60px;left:0;right:0;background:hsla(0,0%,100%,.98);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:12px 16px;border-top:1px solid var(--tech-border-light);z-index:50;display:flex;gap:8px}.mobile-fixed-footer .ant-btn{flex:1 1;height:44px;font-size:15px;font-weight:600}}@media (max-width:768px){.tech-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.tech-stat-grid>.tech-stat-card{margin-bottom:0}.assignment-list-item{margin-bottom:12px}.assignment-list-item .ant-card-body{padding:12px}.assignment-list-item .ant-card-meta-title{font-size:14px}.assignment-list-item .ant-card-meta-description{font-size:12px}.assignment-list-item .ant-card-actions li{margin:8px 0}.assignment-list-item .ant-card-actions .ant-btn{padding:0 8px;font-size:12px}.tech-empty-state{padding:32px 16px}.tech-empty-state .ant-empty-description{font-size:14px}.grading-image-preview{max-height:300px;object-fit:contain}.grading-image-container{padding:8px;border-radius:8px}.mobile-progress-compact .ant-progress-text{font-size:12px}}@media (hover:none) and (pointer:coarse){.tech-card-hover:active{transform:scale(.98)}.teacher-bottom-item{min-width:64px;min-height:48px}.ant-btn,.ant-input,.ant-select-selector{min-height:44px}}@media (max-width:768px) and (orientation:landscape){.tech-stat-grid{grid-template-columns:repeat(4,1fr)}.grading-student-list{max-height:50vh}}.mobile-fixed-footer{position:fixed;bottom:60px;left:0;right:0;background:hsla(0,0%,100%,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0));border-top:1px solid rgba(59,130,246,.08);z-index:50;display:flex;gap:8px;box-shadow:0 -4px 20px rgba(0,0,0,.04)}.mobile-fixed-footer .ant-btn{flex:1 1;height:44px;font-size:15px;font-weight:600;border-radius:8px}.tech-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:24px}@media (max-width:768px){.tech-stat-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.tech-stat-card{padding:12px}.tech-stat-card .ant-statistic-title{font-size:12px}.tech-stat-card .ant-statistic-content{font-size:18px}}.tech-chat-messages{display:flex;flex-direction:column;gap:16px;padding:16px 0}.tech-chat-message{display:flex;flex-direction:column;gap:8px;max-width:85%;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tech-chat-message--user{align-self:flex-end;align-items:flex-end}.tech-chat-message--assistant{align-self:flex-start;align-items:flex-start}.tech-chat-message-image{border-radius:12px;overflow:hidden;box-shadow:var(--tech-shadow);max-width:300px}.tech-chat-message-image img{width:100%;height:auto;display:block}.tech-chat-message-content{padding:12px 16px;border-radius:12px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.tech-chat-message--user .tech-chat-message-content{background:linear-gradient(135deg,var(--tech-primary) 0,var(--tech-primary-light) 100%);color:var(--tech-text-inverse);border-bottom-right-radius:4px}.tech-chat-message--assistant .tech-chat-message-content{background:var(--tech-bg-secondary);color:var(--tech-text-primary);border:1px solid var(--tech-border);border-bottom-left-radius:4px}.tech-chat-message--assistant .tech-chat-message-content:before{content:"✨ ";opacity:.6}.latex-content{display:inline}.tech-chat-message-content .katex{font-size:1.1em}.tech-chat-message--user .tech-chat-message-content .katex{color:var(--tech-text-inverse)}.tech-chat-message--assistant .tech-chat-message-content .katex{color:var(--tech-text-primary)}.student-shell{min-height:100vh;background:linear-gradient(180deg,var(--tech-bg-secondary,#f8fafc) 0,#fff 100%)!important;color:var(--tech-text-primary,#1e293b);position:relative;overflow-x:hidden}.student-shell:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 15% 20%,rgba(59,130,246,.04) 0,transparent 50%),radial-gradient(circle at 85% 80%,rgba(6,182,212,.04) 0,transparent 50%);pointer-events:none;z-index:0}.student-top-nav{position:fixed;top:0;left:0;right:0;height:56px;background:var(--tech-glass-bg,hsla(0,0%,100%,.8));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--tech-border-light,rgba(59,130,246,.08));display:flex;align-items:center;justify-content:space-between;padding:0 var(--tech-spacing-lg,16px);z-index:1000;transition:all var(--tech-transition-normal,.3s ease)}.student-top-nav__menu-btn{display:none;width:40px;height:40px;border:none;background:transparent;border-radius:10px;cursor:pointer;align-items:center;justify-content:center;font-size:18px;color:var(--tech-text-secondary,#64748b);transition:all var(--tech-transition-fast,.15s ease)}.student-top-nav__menu-btn:hover{background:rgba(59,130,246,.08);color:var(--tech-primary,#3b82f6)}@media (max-width:768px){.student-top-nav__menu-btn{display:flex}}.student-top-nav__title{margin:0;font-size:17px;font-weight:600;background:linear-gradient(135deg,#3b82f6,#06b6d4);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.3px}.student-top-nav__avatar{cursor:pointer;transition:transform var(--tech-transition-fast,.15s ease)}.student-top-nav__avatar:hover{transform:scale(1.05)}.student-sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:998;animation:fadeIn .2s ease}.student-sidebar{position:fixed;top:0;left:0;height:100vh;background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.98));border-right:1px solid var(--tech-border-light,rgba(59,130,246,.08));box-shadow:4px 0 20px rgba(0,0,0,.06);z-index:999;display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.student-sidebar.collapsed{width:72px}.student-sidebar.expanded{width:200px}.student-sidebar-header{height:56px;display:flex;align-items:center;justify-content:flex-end;padding:0 16px;border-bottom:1px solid var(--tech-border-light,rgba(59,130,246,.06))}.student-sidebar-toggle{width:36px;height:36px;border:none;background:transparent;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--tech-text-secondary,#64748b);transition:all var(--tech-transition-fast,.15s ease)}.student-sidebar-toggle:hover{background:rgba(59,130,246,.08);color:var(--tech-primary,#3b82f6)}.student-sidebar-nav{flex:1 1;display:flex;flex-direction:column;padding:8px 0;overflow-y:auto}.student-sidebar-group{display:flex;flex-direction:column;gap:2px;padding:0 8px}.student-sidebar-bottom{margin-top:auto;padding-top:8px;border-top:1px solid var(--tech-border-light,rgba(59,130,246,.06))}.student-sidebar-item{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;text-decoration:none!important;color:var(--tech-text-secondary,#64748b);transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden}.student-sidebar-item:hover{background:rgba(59,130,246,.05);color:var(--tech-text-primary,#1e293b)}.student-sidebar-item.active{color:var(--tech-primary,#3b82f6);font-weight:500}.sidebar-item-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(6,182,212,.06));border-radius:12px;animation:sidebar-highlight .3s ease-out}@keyframes sidebar-highlight{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.sidebar-ripple{position:absolute;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.2) 0,transparent 70%);transform:translate(-50%,-50%) scale(0);animation:sidebar-ripple-anim .6s ease-out forwards;pointer-events:none;left:50%;top:50%}@keyframes sidebar-ripple-anim{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.sidebar-icon{font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}.sidebar-icon.icon-active{transform:scale(1.1);filter:drop-shadow(0 2px 4px rgba(59,130,246,.25))}.sidebar-label{font-size:14px;white-space:nowrap;opacity:1;transition:opacity .2s ease,transform .2s ease}.sidebar-label.hidden{opacity:0;transform:translateX(-8px);pointer-events:none}@media (max-width:768px){.student-sidebar{transform:translateX(-100%);box-shadow:none}.student-sidebar.expanded{transform:translateX(0);width:240px;box-shadow:4px 0 20px rgba(0,0,0,.15)}.student-sidebar.collapsed{width:240px}.student-sidebar-header{display:flex;justify-content:flex-end}.sidebar-label.hidden{opacity:1;transform:none}}.student-page-container{min-height:100vh;padding:var(--tech-spacing-lg,16px);padding-top:calc(56px + var(--tech-spacing-lg, 16px));background:transparent;position:relative;z-index:1}.student-card{border-radius:var(--tech-radius-xl,16px)!important;background:var(--tech-card-bg,hsla(0,0%,100%,.95))!important;border:1px solid var(--tech-card-border,rgba(59,130,246,.08))!important;box-shadow:var(--tech-card-shadow,0 4px 16px rgba(0,0,0,.06))!important;transition:all var(--tech-transition-normal,.3s cubic-bezier(.4,0,.2,1));overflow:hidden}.student-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)!important}.student-stat-card{border-radius:var(--tech-radius-lg,12px)!important;background:linear-gradient(135deg,rgba(59,130,246,.06),rgba(6,182,212,.04))!important;border:1px solid rgba(59,130,246,.1)!important;box-shadow:none!important;padding:var(--tech-spacing-lg,16px)!important;transition:all var(--tech-transition-normal,.3s cubic-bezier(.4,0,.2,1))}.student-stat-card:hover{transform:translateY(-2px);box-shadow:var(--tech-shadow,0 4px 12px rgba(0,0,0,.08))!important}.student-stat-card .ant-statistic-title{font-size:12px!important;color:var(--tech-text-muted,#94a3b8)!important;margin-bottom:4px!important}.student-stat-card .ant-statistic-content-value{color:var(--tech-primary,#3b82f6)!important;font-weight:700!important;font-size:24px!important}.student-section-card{border-radius:var(--tech-radius-xl,16px)!important;background:var(--tech-card-bg,hsla(0,0%,100%,.95))!important;border:1px solid var(--tech-card-border,rgba(59,130,246,.08))!important;box-shadow:var(--tech-card-shadow,0 4px 16px rgba(0,0,0,.06))!important;margin-bottom:var(--tech-spacing-lg,16px);overflow:hidden}.student-section-card .ant-card-head{border-bottom:1px solid var(--tech-border-light,rgba(59,130,246,.06));padding:16px 20px!important;min-height:auto}.student-section-card .ant-card-head-title{font-weight:600!important;font-size:15px!important;color:var(--tech-text-primary,#1e293b)}.student-section-card .ant-card-body{padding:16px 20px!important}.student-page-title{font-size:28px!important;font-weight:700!important;background:linear-gradient(135deg,#1e40af,#3b82f6 50%,#06b6d4);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px;margin-bottom:8px!important;line-height:1.2!important}.student-page-subtitle{font-size:15px;color:var(--tech-text-secondary,#64748b);margin:0;line-height:1.5}.student-section-title{display:flex;align-items:center;gap:var(--tech-spacing-sm,8px);font-weight:600;font-size:15px;color:var(--tech-text-primary,#1e293b)}.student-section-link{font-size:13px;color:var(--tech-primary,#3b82f6);display:flex;align-items:center;gap:4px;font-weight:500;transition:all var(--tech-transition-fast,.15s ease);text-decoration:none!important}.student-section-link:hover{color:var(--tech-primary-dark,#4f46e5);gap:6px}.student-feature-card{border-radius:20px!important;border:none!important;background:var(--feature-color)!important;box-shadow:0 10px 15px -3px rgba(59,130,246,.2)!important;transition:all var(--tech-transition-normal,.3s cubic-bezier(.4,0,.2,1));cursor:pointer;overflow:hidden;position:relative}.student-feature-card:hover{transform:translateY(-6px)!important;box-shadow:0 20px 25px -5px rgba(59,130,246,.3)!important}.student-feature-card .ant-card-body{padding:0!important;height:100%;display:flex;flex-direction:column;justify-content:center}.student-feature-card__title{margin:0 0 10px!important;color:#fff!important;font-weight:600!important;font-size:20px!important;letter-spacing:-.3px}.student-feature-card__desc{color:hsla(0,0%,100%,.85)!important;font-size:13px!important;display:block!important;margin-bottom:16px!important;line-height:1.6!important}.student-feature-card__arrow{position:absolute;bottom:20px;right:20px;color:hsla(0,0%,100%,.7);font-size:16px;transition:all .3s ease}.student-feature-card:hover .student-feature-card__arrow{right:24px;color:#fff}.student-points-card{border-radius:var(--tech-radius-xl,16px)!important;border:none!important;background:linear-gradient(135deg,#3b82f6,#06b6d4 50%,#06b6d4)!important;color:#fff;box-shadow:0 8px 24px rgba(59,130,246,.25)!important;position:relative;overflow:hidden}.student-points-card:before{top:-40px;right:-40px;width:140px;height:140px;background:hsla(0,0%,100%,.08)}.student-points-card:after,.student-points-card:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.student-points-card:after{bottom:-60px;left:-60px;width:180px;height:180px;background:hsla(0,0%,100%,.05)}.student-points-card .ant-card-body{position:relative;z-index:1;padding:20px!important}.student-quick-btn{background:linear-gradient(135deg,#3b82f6,#06b6d4)!important;border:none!important;border-radius:var(--tech-radius-lg,12px)!important;padding:0 24px!important;height:44px!important;font-weight:500!important;font-size:14px!important;color:#fff!important;box-shadow:0 4px 6px -1px rgba(59,130,246,.3)!important;transition:all .2s ease!important}.student-quick-btn:hover{transform:translateY(-2px)!important;box-shadow:0 6px 8px -2px rgba(59,130,246,.4)!important;color:#fff!important}.student-list-item{border-radius:var(--tech-radius-lg,12px)!important;border:1px solid var(--tech-card-border,rgba(59,130,246,.08))!important;box-shadow:var(--tech-card-shadow,0 4px 16px rgba(0,0,0,.06))!important;margin-bottom:var(--tech-spacing-md,12px)!important;transition:all var(--tech-transition-normal,.3s ease)}.student-list-item:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)!important}.student-tabs .ant-tabs-nav{margin-bottom:var(--tech-spacing-lg,16px)!important}.student-tabs .ant-tabs-tab{font-weight:500!important;font-size:14px!important;padding:8px 16px!important}.student-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--tech-primary,#3b82f6)!important;font-weight:600!important}.student-tabs .ant-tabs-ink-bar{background:var(--tech-primary,#3b82f6)!important;height:3px!important;border-radius:3px!important}.student-streak-badge{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:6px 14px;border-radius:999px;font-size:13px;color:#92400e;font-weight:600;box-shadow:0 2px 4px rgba(245,158,11,.2)}@keyframes studentFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes studentFadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.student-animate-in{animation:studentFadeInUp .5s cubic-bezier(.4,0,.2,1) both}.student-animate-delay-1{animation-delay:.1s}.student-animate-delay-2{animation-delay:.2s}.student-animate-delay-3{animation-delay:.3s}.student-animate-delay-4{animation-delay:.4s}.student-animate-delay-5{animation-delay:.5s}.student-animate-delay-6{animation-delay:.6s}.student-animate-delay-7{animation-delay:.7s}.student-animate-delay-8{animation-delay:.8s}.student-checkin-card{border-radius:var(--tech-radius-xl,16px)!important;background:linear-gradient(135deg,#eff6ff,#f0f9ff)!important;border:1px solid rgba(59,130,246,.15)!important;box-shadow:0 4px 6px -1px rgba(59,130,246,.1)!important}.student-progress-card{border-radius:var(--tech-radius-xl,16px)!important;background:linear-gradient(135deg,rgba(59,130,246,.04),rgba(6,182,212,.04))!important;border:1px solid rgba(59,130,246,.12)!important}.student-rank-podium{background:linear-gradient(135deg,#fffbeb,#fef3c7)!important;border-radius:var(--tech-radius-xl,16px)!important;border:1px solid rgba(245,158,11,.15)!important}.student-fab{border-radius:999px!important;background:linear-gradient(135deg,#3b82f6,#06b6d4)!important;border:none!important;box-shadow:0 4px 20px rgba(59,130,246,.35)!important;height:52px!important;width:52px!important;font-size:22px!important;transition:all .2s ease!important}.student-fab:hover{transform:translateY(-2px) scale(1.05)!important;box-shadow:0 8px 28px rgba(59,130,246,.45)!important}.student-empty-state{text-align:center;padding:48px 24px;color:var(--tech-text-muted,#94a3b8)}.student-empty-state .ant-empty-description{color:var(--tech-text-muted,#94a3b8)!important}.student-analysis-card{border-radius:var(--tech-radius-xl,16px)!important;background:linear-gradient(135deg,#fff7ed,#ffedd5)!important;border:1px solid rgba(245,158,11,.15)!important;box-shadow:none!important}@media (max-width:768px){.student-page-container{padding:calc(56px + 12px) 12px 12px}.student-page-title{font-size:24px!important}.student-stat-card .ant-statistic-content-value{font-size:20px!important}.student-feature-card__title{font-size:18px!important}}@media (min-width:769px){.student-page-container{max-width:900px;margin:0 auto}}.student-tutor-page{height:100vh;height:100dvh;background:linear-gradient(180deg,var(--tech-bg-secondary,#f8fafc) 0,#fff 100%);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.student-tutor-subject-bar{padding:8px 16px;background:var(--tech-glass-bg,hsla(0,0%,100%,.9));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--tech-border-light,rgba(59,130,246,.06));display:flex;align-items:center;gap:8px;z-index:10;flex-shrink:0}.student-tutor-subject-bar__label{font-size:13px;font-weight:500;color:var(--tech-text-secondary,#64748b);white-space:nowrap}.student-tutor-subject-select .ant-select-selector{border-radius:8px!important;border:1px solid var(--tech-border-light,rgba(59,130,246,.1))!important;background:hsla(0,0%,100%,.8)!important;font-weight:500!important;transition:all var(--tech-transition-fast,.15s ease)!important}.student-tutor-subject-select .ant-select-arrow{color:var(--tech-primary,#3b82f6)}.student-tutor-subject-select:hover .ant-select-selector{border-color:var(--tech-primary,#3b82f6)!important}.student-tutor-subject-select.ant-select-focused .ant-select-selector{border-color:var(--tech-primary,#3b82f6)!important;box-shadow:0 0 0 2px rgba(59,130,246,.1)!important}.student-tutor-chat-area{flex:1 1;overflow-y:auto;padding:12px 16px calc(80px + env(safe-area-inset-bottom, 0px));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.student-tutor-welcome{flex-direction:column;height:100%;padding:32px 24px;text-align:center;animation:studentFadeInUp .6s cubic-bezier(.4,0,.2,1) both}.student-tutor-welcome,.student-tutor-welcome__icon{display:flex;align-items:center;justify-content:center}.student-tutor-welcome__icon{width:88px;height:88px;border-radius:28px;background:linear-gradient(135deg,#3b82f6,#06b6d4 40%,#0ea5e9);font-size:42px;margin-bottom:20px;box-shadow:0 12px 32px rgba(59,130,246,.25);position:relative;overflow:hidden}.student-tutor-welcome__icon:after{content:"";position:absolute;top:-20px;right:-20px;width:60px;height:60px;border-radius:50%;background:hsla(0,0%,100%,.15)}.student-tutor-welcome__title{font-size:20px;font-weight:700;background:linear-gradient(135deg,#3b82f6,#06b6d4);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px;letter-spacing:-.3px}.student-tutor-welcome__subtitle{font-size:14px;color:var(--tech-text-muted,#94a3b8);margin-bottom:28px;line-height:1.5}.student-tutor-welcome__examples{width:100%;max-width:380px;display:flex;flex-direction:column;gap:10px}.student-tutor-welcome__examples-label{font-size:12px;font-weight:600;color:var(--tech-text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.student-tutor-example-card{width:100%;padding:12px 16px;background:var(--tech-card-bg,hsla(0,0%,100%,.95));border-radius:var(--tech-radius-lg,12px);border:1px solid var(--tech-card-border,rgba(59,130,246,.08));cursor:pointer;transition:all var(--tech-transition-normal,.3s cubic-bezier(.4,0,.2,1));text-align:left;font-size:13.5px;color:var(--tech-text-primary,#1e293b);display:flex;align-items:center;gap:10px}.student-tutor-example-card__icon{flex-shrink:0;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(6,182,212,.06));display:flex;align-items:center;justify-content:center;font-size:16px}.student-tutor-example-card__text{flex:1 1;font-weight:500}.student-tutor-example-card__arrow{color:var(--tech-text-muted,#94a3b8);font-size:12px;transition:all .2s ease}.student-tutor-example-card:hover{border-color:var(--tech-primary,#3b82f6);background:rgba(59,130,246,.03);transform:translateY(-2px);box-shadow:var(--tech-card-shadow,0 4px 16px rgba(0,0,0,.06))}.student-tutor-example-card:hover .student-tutor-example-card__arrow{color:var(--tech-primary,#3b82f6);transform:translateX(2px)}.student-tutor-messages{display:flex;flex-direction:column;gap:16px;padding-bottom:8px}.student-tutor-message{display:flex;animation:studentTutorSlideIn .35s cubic-bezier(.4,0,.2,1) both}.student-tutor-message--user{justify-content:flex-end}.student-tutor-message--assistant{justify-content:flex-start}@keyframes studentTutorSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.student-tutor-bubble{max-width:82%;position:relative}@media (min-width:768px){.student-tutor-bubble{max-width:65%}.student-tutor-welcome__examples{max-width:480px}.student-tutor-welcome__icon{width:100px;height:100px;border-radius:32px}.student-tutor-welcome__title{font-size:24px}.student-tutor-welcome__subtitle{font-size:15px}.student-tutor-bubble__image img{max-width:280px;max-height:220px}}.student-tutor-bubble__content{display:inline-block;max-width:100%;padding:12px 16px;border-radius:18px;word-wrap:break-word;overflow-wrap:break-word;line-height:1.6}.student-tutor-message--assistant .student-tutor-bubble__content{background:var(--tech-card-bg,hsla(0,0%,100%,.95));border:1px solid var(--tech-card-border,rgba(59,130,246,.08));border-top-left-radius:6px;color:var(--tech-text-primary,#1e293b);font-size:14px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.student-tutor-message--user .student-tutor-bubble__content{background:linear-gradient(135deg,#3b82f6,#06b6d4);border-top-right-radius:6px;color:#fff;font-size:14px;box-shadow:0 4px 12px rgba(59,130,246,.25)}.student-tutor-bubble__image{margin-bottom:8px;border-radius:12px;overflow:hidden}.student-tutor-bubble__image img{max-width:200px;max-height:200px;object-fit:contain;display:block;border-radius:10px}.student-tutor-bubble__diagram{margin-top:10px;border-radius:12px;overflow:hidden;background:var(--tech-bg-secondary,#f8fafc);border:1px solid var(--tech-border-light,rgba(59,130,246,.08))}.student-tutor-bubble__text{font-size:14px;line-height:1.65;word-wrap:break-word;overflow-wrap:break-word}.student-tutor-bubble__text p{margin:.4em 0}.student-tutor-bubble__text :global(.katex-display){overflow-x:auto;overflow-y:hidden;max-width:100%;padding:6px 0;font-size:.9em}.student-tutor-bubble__text :global(ol),.student-tutor-bubble__text :global(ul){padding-left:1.5em;margin:.5em 0}.student-tutor-bubble__text :global(li){margin:.2em 0}.student-tutor-bubble__text :global(pre){background:var(--tech-bg-secondary,#f8fafc);border-radius:8px;padding:10px 14px;overflow-x:auto;font-size:13px;margin:.5em 0}.student-tutor-bubble__text :global(code){font-size:13px}.student-tutor-bubble__meta{display:flex;justify-content:space-between;align-items:center;margin-top:6px;gap:8px}.student-tutor-bubble__time{font-size:11px;opacity:.55}.student-tutor-message--user .student-tutor-bubble__time{color:hsla(0,0%,100%,.7)}.student-tutor-message--assistant .student-tutor-bubble__time{color:var(--tech-text-muted,#94a3b8)}.student-tutor-bubble__role{font-size:10px;padding:2px 8px;border-radius:6px;background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(6,182,212,.06));color:var(--tech-primary,#3b82f6);font-weight:600;letter-spacing:.3px}.student-tutor-message--user .student-tutor-bubble__role{display:none}.student-tutor-bubble__voice{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;margin-top:8px}.student-tutor-message--assistant .student-tutor-bubble__voice{background:rgba(59,130,246,.05)}.student-tutor-message--user .student-tutor-bubble__voice{background:hsla(0,0%,100%,.15)}.student-tutor-typing{display:flex;align-items:center;gap:5px;padding:8px 4px}.student-tutor-typing__dot{width:7px;height:7px;border-radius:50%;background:var(--tech-primary,#3b82f6);animation:studentTutorBounce 1.4s ease-in-out infinite both}.student-tutor-typing__dot:first-child{animation-delay:-.32s}.student-tutor-typing__dot:nth-child(2){animation-delay:-.16s}.student-tutor-typing__dot:nth-child(3){animation-delay:0s}@keyframes studentTutorBounce{0%,80%,to{transform:scale(0);opacity:.4}40%{transform:scale(1);opacity:1}}.student-tutor-bubble__diagram-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;background:linear-gradient(135deg,rgba(59,130,246,.05),rgba(99,102,241,.05));border-radius:12px;margin-top:12px;animation:fadeIn .3s ease}.diagram-loading-spinner{width:32px;height:32px;border:3px solid rgba(59,130,246,.2);border-top:3px solid var(--tech-primary,#3b82f6);border-radius:50%;animation:spin 1s linear infinite}.student-tutor-bubble__diagram-loading span{font-size:13px;color:var(--tech-text-secondary,#6b7280)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.student-tutor-input-bar{display:flex;align-items:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px));background:var(--tech-glass-bg,hsla(0,0%,100%,.9));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--tech-border-light,rgba(59,130,246,.06));z-index:10;flex-shrink:0;position:fixed;bottom:0;left:0;right:0}@media (min-width:769px){.student-tutor-input-bar{left:200px}}.student-tutor-voice-btn{flex:1 1;height:44px;border-radius:12px;border:1.5px solid var(--tech-border-light,rgba(59,130,246,.12));background:hsla(0,0%,100%,.8);color:var(--tech-text-secondary,#64748b);font-size:15px;font-weight:500;cursor:pointer;transition:all var(--tech-transition-fast,.15s ease);display:flex;align-items:center;justify-content:center;gap:6px}.student-tutor-voice-btn:hover{border-color:var(--tech-primary,#3b82f6)}.student-tutor-voice-btn--recording{background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;border-color:transparent;box-shadow:0 4px 16px rgba(59,130,246,.3);transform:scale(1.01)}.student-tutor-voice-btn:disabled{opacity:.5;cursor:not-allowed}.student-tutor-plus-btn{width:42px;height:42px;border-radius:12px;border:1.5px solid var(--tech-border-light,rgba(59,130,246,.12));background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--tech-transition-fast,.15s ease);color:var(--tech-primary,#3b82f6);font-size:18px}.student-tutor-plus-btn:hover{background:rgba(59,130,246,.06);border-color:var(--tech-primary,#3b82f6)}.student-tutor-plus-menu{display:flex;flex-direction:column;gap:4px;padding:6px}.student-tutor-plus-menu__item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;border:none;background:transparent;cursor:pointer;transition:all var(--tech-transition-fast,.15s ease);font-size:14px;color:var(--tech-text-primary,#1e293b);width:100%;text-align:left}.student-tutor-plus-menu__item:hover{background:rgba(59,130,246,.05)}.student-tutor-plus-menu__item-icon{font-size:20px;width:28px;text-align:center}.student-tutor-plus-menu__item-text{font-weight:500}.student-tutor-text-bar{display:flex;align-items:center;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px));background:var(--tech-glass-bg,hsla(0,0%,100%,.9));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--tech-border-light,rgba(59,130,246,.06));z-index:10;flex-shrink:0;position:fixed;bottom:0;left:0;right:0}@media (min-width:769px){.student-tutor-text-bar{left:200px}}.student-tutor-text-input .ant-input{border-radius:12px!important;border:1.5px solid var(--tech-border-light,rgba(59,130,246,.12))!important;background:hsla(0,0%,100%,.8)!important;font-size:14px!important;padding:8px 14px!important;transition:all var(--tech-transition-fast,.15s ease)!important}.student-tutor-text-input .ant-input:focus{border-color:var(--tech-primary,#3b82f6)!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)!important}.student-tutor-send-btn{height:40px!important;padding:0 18px!important;border-radius:12px!important;background:linear-gradient(135deg,#3b82f6,#06b6d4)!important;border:none!important;color:#fff!important;font-weight:600!important;font-size:14px!important;box-shadow:0 2px 8px rgba(59,130,246,.25)!important;transition:all .2s ease!important}.student-tutor-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.35)!important}.student-tutor-send-btn:disabled{opacity:.45!important;cursor:not-allowed!important}.student-tutor-mode-btn{width:40px;height:40px;border:1.5px solid var(--tech-border-light,rgba(59,130,246,.12));font-size:20px}.student-tutor-mode-btn:hover{background:rgba(59,130,246,.06)}.student-tutor-camera-modal :global(.ant-modal-content){padding:0;background:transparent;box-shadow:none}.student-tutor-camera-modal :global(.ant-modal-body){padding:0}.student-tutor-camera-container{height:100vh;background:#0a0a0a;display:flex;flex-direction:column;position:relative}.student-tutor-camera-header{position:absolute;top:0;left:0;right:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:10;background:linear-gradient(180deg,rgba(0,0,0,.7),transparent)}.student-tutor-camera-header__title{color:#fff;font-size:16px;font-weight:600;letter-spacing:-.2px}.student-tutor-camera-header__btn{color:#fff!important;font-size:18px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:background .15s ease}.student-tutor-camera-header__btn:hover{background:hsla(0,0%,100%,.1)}.student-tutor-camera-header__btn:disabled{opacity:.4!important}.student-tutor-camera-viewfinder{position:absolute;width:260px;height:260px;border:2px solid transparent}.student-tutor-camera-viewfinder__corner{position:absolute;width:28px;height:28px;border-color:var(--tech-primary,#3b82f6);border-style:solid;border-radius:2px}.student-tutor-camera-viewfinder__corner--tl{top:0;left:0;border-width:3px 0 0 3px}.student-tutor-camera-viewfinder__corner--tr{top:0;right:0;border-width:3px 3px 0 0}.student-tutor-camera-viewfinder__corner--bl{bottom:0;left:0;border-width:0 0 3px 3px}.student-tutor-camera-viewfinder__corner--br{bottom:0;right:0;border-width:0 3px 3px 0}.student-tutor-camera-hint{position:absolute;bottom:150px;left:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 20px;border-radius:20px;font-size:14px;font-weight:500;letter-spacing:.2px;white-space:nowrap}.student-tutor-camera-loading{position:absolute;inset:0;background:rgba(0,0,0,.75);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:5}.student-tutor-camera-loading__spinner{width:36px;height:36px;border:3px solid hsla(0,0%,100%,.2);border-top:3px solid var(--tech-primary,#3b82f6);border-radius:50%;animation:studentTutorSpin .8s linear infinite}@keyframes studentTutorSpin{to{transform:rotate(1turn)}}.student-tutor-camera-loading__text{color:hsla(0,0%,100%,.85);font-size:14px}.student-tutor-camera-controls{position:absolute;bottom:0;left:0;right:0;height:130px;display:flex;align-items:center;justify-content:center;gap:40px;padding-bottom:env(safe-area-inset-bottom,0);background:linear-gradient(0deg,rgba(0,0,0,.7),transparent)}.student-tutor-camera-shutter{width:72px;height:72px;border-radius:50%;background:#fff;border:4px solid hsla(0,0%,100%,.4);outline:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 20px rgba(0,0,0,.3)}.student-tutor-camera-shutter:active:not(:disabled){transform:scale(.9);opacity:.8}.student-tutor-camera-shutter:disabled{opacity:.4;cursor:not-allowed}.student-tutor-camera-ctrl-btn{width:48px;height:48px;border-radius:50%;background:hsla(0,0%,100%,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);color:#fff!important;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.student-tutor-camera-ctrl-btn:active:not(:disabled){transform:scale(.9);background:hsla(0,0%,100%,.25)}.student-tutor-camera-retake-btn{border-radius:23px!important;background:hsla(0,0%,100%,.15)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.25)!important;font-weight:500!important}.student-tutor-camera-retake-btn,.student-tutor-camera-use-btn{height:46px!important;padding:0 28px!important;color:#fff!important;font-size:15px!important}.student-tutor-camera-use-btn{border-radius:23px!important;background:linear-gradient(135deg,#3b82f6,#06b6d4)!important;border:none!important;font-weight:600!important;box-shadow:0 4px 16px rgba(59,130,246,.35)!important}@media (max-width:375px){.student-tutor-bubble{max-width:88%}.student-tutor-bubble__content{padding:10px 14px}.student-tutor-bubble__text{font-size:13px}}.question-content{margin:8px 0;color:#475569;font-size:14px;line-height:1.7}.question-content p{margin:.5em 0}.question-content ol,.question-content ul{margin:.5em 0;padding-left:1.5em}.question-content li{margin:.25em 0}.question-content strong{color:#1e293b;font-weight:600}.question-content code{background:rgba(59,130,246,.1);padding:2px 6px;border-radius:4px;font-size:.9em}.question-content pre{background:#f8fafc;padding:12px;border-radius:8px;overflow-x:auto;margin:.5em 0}.question-content .katex{font-size:1.05em}.question-content img{max-width:100%;height:auto;border-radius:8px;margin:8px 0}@supports (-webkit-touch-callout:none){.student-tutor-page{height:100dvh;position:fixed;top:0;left:0;right:0;bottom:0}.student-tutor-input-bar,.student-tutor-text-bar{transition:transform .2s ease-out}.student-tutor-text-input .ant-input{font-size:16px!important}}@media (max-width:768px){.student-tutor-input-bar,.student-tutor-text-bar{left:0!important}.student-tutor-chat-area{scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom, 0px))}}.student-tutor-mode-btn{width:36px;height:36px;border:none;background:transparent;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all var(--tech-transition-fast,.15s ease);color:var(--tech-text-secondary,#64748b);flex-shrink:0}.student-tutor-mode-btn:hover{background:rgba(59,130,246,.08);color:var(--tech-primary,#3b82f6)}.student-tutor-mode-btn:active{transform:scale(.95)}.ant-select-dropdown{z-index:1050!important;border-radius:12px!important;box-shadow:0 10px 40px rgba(0,0,0,.15)!important;border:1px solid rgba(59,130,246,.1)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;background:hsla(0,0%,100%,.98)!important}@media (max-width:768px){.ant-select-dropdown{max-width:90vw!important;max-height:60vh!important;overflow-y:auto!important}.ant-select-item{padding:12px 16px!important;min-height:48px!important;line-height:24px!important}.ant-select-item,.ant-select-item-option-content{font-size:15px!important}}@media (min-width:769px){.ant-select-dropdown{max-height:400px!important;overflow-y:auto!important}.ant-select-item{padding:8px 12px!important;font-size:14px!important;min-height:36px!important;line-height:20px!important}}.ant-select-item-option-active:not(.ant-select-item-option-disabled){background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(139,92,246,.08))!important}.ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(139,92,246,.15))!important;font-weight:600!important}.function-selector-dropdown{min-width:320px!important}.function-selector-dropdown .ant-select-item{padding:12px 16px!important;min-height:auto!important}.function-selector-dropdown .ant-select-item-option-content{overflow:visible!important;line-height:1.6!important}