.auth-page{background:#eef2fa}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)}.auth-intro{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:64px clamp(36px,7vw,100px);color:#fff;background:linear-gradient(145deg,#1f4fc7,#183b91)}.auth-intro:before,.auth-intro:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.auth-intro:before{width:360px;height:360px;right:-130px;top:-80px}.auth-intro:after{width:220px;height:220px;left:-80px;bottom:-100px}.auth-logo{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin-bottom:38px;font-weight:800}.auth-logo span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff;color:var(--primary)}.auth-preview{position:relative;z-index:1;width:min(100%,480px);margin-bottom:34px;padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:19px;background:rgba(255,255,255,.1);box-shadow:0 20px 60px rgba(3,20,60,.25);backdrop-filter:blur(10px)}.preview-date{margin:0 0 14px;color:rgba(255,255,255,.75);font-size:12px}.preview-line{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.preview-line b{color:#cbdcff;font-size:12px}.preview-task{display:flex;align-items:center;gap:10px;padding:11px;border-top:1px solid rgba(255,255,255,.13)}.preview-task i{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.12);font-size:11px;font-style:normal}.preview-task div{display:grid}.preview-task small{color:rgba(255,255,255,.66)}.auth-intro h2{position:relative;z-index:1;max-width:540px;margin:0;font-size:clamp(30px,4vw,48px);line-height:1.18}.auth-intro>p{position:relative;z-index:1;max-width:500px;color:rgba(255,255,255,.72)}.auth-card-wrap{display:grid;place-items:center;padding:36px}.auth-card{width:min(100%,420px)}.auth-card h1{margin:0;font-size:31px}.auth-card>.muted{margin:7px 0 24px}.auth-form{margin-top:17px}.auth-footnote{margin-top:18px;color:var(--muted);font-size:12px;text-align:center}.parent-page{min-height:100dvh;background:linear-gradient(180deg,#f1f5ff 0,#f7f8fb 360px)}.parent-shell{width:min(100%,640px);margin:auto;padding:22px 16px 62px}.center-parent{min-height:100dvh;display:grid;align-content:center;gap:18px}.parent-brand{display:flex;justify-content:center;align-items:center;gap:9px}.parent-brand-mark{width:34px;height:34px;border-radius:11px}.bind-card{padding:28px 24px;text-align:left}.bind-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;border-radius:15px;color:var(--primary);background:var(--primary-soft);font-size:21px;font-weight:900}.bind-card h1{margin:0;font-size:28px;line-height:1.25}.bind-lead{margin:8px 0 22px;color:var(--muted)}.input-large{min-height:50px;font-size:16px}.parent-help{margin:0;color:var(--muted);font-size:12px;text-align:center}.parent-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.student-details{position:relative}.student-details summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer}.student-details summary::-webkit-details-marker{display:none}.student-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff;color:var(--primary);box-shadow:var(--shadow-sm);font-weight:850}.student-details summary>span:nth-child(2){display:grid}.student-details summary small{color:var(--muted);font-size:11px;font-weight:500}.student-details summary i{color:var(--muted);font-style:normal}.student-menu-card{position:absolute;left:0;top:calc(100% + 8px);z-index:10;width:250px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.student-menu-card p{margin:0 0 9px;color:var(--muted);font-size:12px}.today-date{color:var(--muted);font-size:13px}.hero-card{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px;padding:22px;border-radius:var(--radius-lg);color:#fff;background:linear-gradient(145deg,#2f66e5,#1e4bb5);box-shadow:0 15px 30px rgba(36,87,214,.24)}.hero-kicker{margin:0 0 2px!important;color:#cbdcff!important;font-size:10px;font-weight:800;letter-spacing:.16em}.hero-card h1{margin:0;font-size:28px}.hero-card p{margin:4px 0 0;color:rgba(255,255,255,.77)}.hero-orb{display:grid;place-items:center;flex:0 0 74px;width:74px;height:74px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.12)}.hero-orb span{font-size:24px;font-weight:850;line-height:1}.hero-orb small{color:rgba(255,255,255,.75);font-size:10px}.homework-stack{display:grid;gap:13px}.homework-card{padding:19px}.homework-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.time-pill{color:var(--muted);font-size:11px}.homework-card h2{margin:13px 0 5px;font-size:20px;line-height:1.35}.homework-card>p{margin:0 0 16px;color:#475467}.homework-action{justify-content:space-between;padding-inline:17px}.homework-action b{font-size:18px}.empty-homework{padding:42px 24px;text-align:center}.empty-illustration{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 15px;border-radius:18px;color:var(--success);background:var(--success-soft);font-size:24px;font-weight:900}.empty-homework h2{margin:0}.empty-homework p{margin:7px 0 0;color:var(--muted)}.parent-footer{margin-top:22px;color:#98a2b3;font-size:11px;text-align:center}.course-page{min-height:100dvh;background:#f5f7fb}.course-shell{width:min(100%,800px);margin:auto;padding:18px 16px 72px}.course-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.back-link{display:inline-flex;align-items:center;gap:5px;color:var(--primary);font-weight:750}.back-link span{font-size:23px}.course-type{padding:5px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:800}.course-hero{padding:24px;border-radius:var(--radius-lg);color:#fff;background:linear-gradient(145deg,#223f82,#2a5fd5);box-shadow:0 18px 34px rgba(35,67,133,.2)}.course-hero .eyebrow{color:#cbdcff}.course-hero h1{margin:0;font-size:clamp(28px,5vw,40px);line-height:1.15}.course-hero>p:not(.eyebrow){margin:7px 0 20px;color:rgba(255,255,255,.76)}.course-progress{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:6px;align-items:center}.course-progress>span{height:4px;border-radius:999px;background:rgba(255,255,255,.24)}.course-progress>span.active{background:#fff}.course-progress small{margin-left:5px;color:rgba(255,255,255,.7)}.lesson-section{margin-top:16px;padding:20px}.lesson-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px}.lesson-heading>div{display:flex;gap:10px;align-items:flex-start}.lesson-heading.compact{justify-content:flex-start}.section-number{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:850}.lesson-heading h2{margin:0;font-size:20px}.lesson-heading p{margin:2px 0 0;color:var(--muted);font-size:12px}.speak-button.is-speaking,.sentence-play.is-speaking{animation:pulse 1s infinite}.reading-copy{padding:17px;border-radius:13px;background:var(--surface-soft)}.english{margin:0;color:#101828;font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.85}.translation{margin:13px 0 0;padding-top:13px;border-top:1px solid var(--line);color:#475467}.sentence-list{display:grid}.sentence-card{display:grid;grid-template-columns:32px minmax(0,1fr) 42px;gap:11px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.sentence-card:first-child{border-top:0}.sentence-index{color:#98a2b3;font-size:11px;font-weight:800}.sentence-copy .english{font-size:17px;line-height:1.5}.sentence-copy .cn{margin:4px 0 0;color:var(--muted);font-size:13px}.sentence-play{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c6d3ee;border-radius:12px;background:var(--primary-soft);color:var(--primary)}.word-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.word-item{padding:14px;border-radius:12px;background:var(--surface-soft)}.word-item>div{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.word-item strong{font-family:Georgia,"Times New Roman",serif;font-size:18px}.word-item>div span{color:var(--primary);font-size:12px;font-weight:750}.word-item p{margin:10px 0 2px;color:#344054;font-size:13px}.word-item small{color:var(--muted)}.course-finish{margin-top:18px;border-color:var(--success);background:var(--success);color:#fff}@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(36,87,214,.13)}}@media(max-width:980px){.auth-shell{grid-template-columns:1fr}.auth-intro{display:none}}@media(max-width:720px){.auth-card-wrap{padding:24px 18px}.auth-card h1{font-size:27px}.parent-shell{padding:16px 12px 50px}.hero-card{padding:19px}.hero-orb{flex-basis:66px;width:66px;height:66px}.homework-card{padding:17px}.course-shell{padding:13px 11px 58px}.course-hero{padding:20px}.lesson-section{padding:16px}.lesson-heading{align-items:flex-start;flex-direction:column}.lesson-heading .speak-button{width:100%}.sentence-card{grid-template-columns:24px minmax(0,1fr) 42px}.word-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}