:root{--ink:#1f2475;--muted:#6f73a1;--purple:#734cf0;--purple2:#9a73ff;--mint:#2fd0ac;--line:#e4e2f5;--card:rgba(255,255,255,.9);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f6f4ff}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden}button{font:inherit}.hidden{display:none!important}.screen{display:none;min-height:100vh;width:100vw}.screen.active{display:flex}
body{background:radial-gradient(circle at 75% 5%,#fff 0,#f3efff 30%,#eef4ff 100%)}body:before{content:"";position:fixed;inset:0;background:url('/assets/home.png?v=5') center/cover no-repeat;filter:blur(28px);opacity:.18;transform:scale(1.08);pointer-events:none}
.side{width:245px;flex:0 0 245px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-right:1px solid rgba(113,91,200,.12);padding:28px 22px;display:flex;flex-direction:column;z-index:2;min-height:100vh}
.logo{font-size:34px;font-weight:950;line-height:.93;letter-spacing:-1.7px;color:#3e30bf}.logo span{color:#2d7ce0}.logo b{color:#b03df0;font-size:24px;margin-left:4px}.slogan{margin:10px 0 28px;color:#5546bd;font-size:13px;font-weight:800;font-style:italic;line-height:1.35}
.side nav{display:grid;gap:8px}.nav,.parent-switch{border:0;border-radius:16px;padding:13px 14px;background:transparent;color:#4d5390;text-align:left;font-weight:800;display:flex;gap:12px;align-items:center;cursor:pointer}.nav.active,.nav:hover{background:#e7e1ff;color:#4b36c9}.parent-switch{margin-top:auto;background:#fff;border:1px solid #e5e1f6;justify-content:center;color:#4b42b5}.side-quote{margin-top:auto;background:rgba(255,255,255,.88);border:1px solid #e8e4f8;border-radius:22px;padding:16px;color:#5b4ec4;font-style:italic;font-size:13px;line-height:1.5;box-shadow:0 8px 24px rgba(69,58,141,.06)}
.home-main{flex:1;padding:28px 34px 34px;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.top h1,.parent-header h1{margin:0;font-size:34px;letter-spacing:-1.1px}.top p,.parent-header p{margin:5px 0 0;color:var(--muted)}
.top-actions{display:flex;align-items:center;gap:12px}.points,.profile,.bell{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px rgba(63,51,137,.07)}.points{padding:10px 15px}.points strong,.points small{display:block}.points strong{font-size:18px}.points small,.profile small{font-size:11px;color:var(--muted)}.bell{width:46px;height:46px}.profile{display:flex;align-items:center;gap:10px;padding:8px 12px}.profile-photo,.child-photo{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#f6c7b0,#cab8ff);display:grid;place-items:center;font-weight:900}
.home-grid{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(560px,1.35fr);gap:22px;min-height:calc(100vh - 125px)}.hero-card{position:relative;overflow:hidden;border-radius:30px;background:linear-gradient(145deg,#f8efff,#e7f4ff);box-shadow:0 18px 46px rgba(66,49,143,.12);min-height:0}
.hero-card:before{content:"";position:absolute;inset:0;background:url('/assets/home.png?v=5') 42% 45%/210% auto no-repeat;filter:blur(5px);opacity:.25}.hero-sanda{position:absolute;left:0;bottom:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:saturate(1.02) contrast(1.02)}.scribble{position:absolute;right:22px;top:22px;width:190px;color:#3e30c1;font-weight:900;font-style:italic;font-size:18px;line-height:1.25;transform:rotate(-5deg);text-shadow:0 1px #fff}
.home-right{display:grid;grid-template-rows:1.45fr .66fr .68fr;gap:16px;min-height:0}.lesson-card,.stat-card,.library-card,.child-card,.score-card,.progress-card,.report-card{background:var(--card);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 14px 34px rgba(68,56,144,.08);border-radius:28px}
.lesson-card{padding:20px;display:flex;flex-direction:column;min-height:0}.lesson-heading{display:grid;grid-template-columns:58px 1fr 190px;gap:14px;align-items:center}.math-icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#40d4b4,#25b7c6);color:#fff;display:grid;place-items:center;font-size:34px;font-weight:900}.math-icon.mini{width:46px;height:46px;font-size:27px;border-radius:14px}.lesson-heading strong{display:block;font-size:22px}.lesson-heading span,.lesson-topic span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.timer-chip{font-weight:900;text-align:right}.timer-chip div,.lesson-clock div{height:8px;background:#e6e8fb;border-radius:999px;overflow:hidden;margin-top:7px}.timer-chip i,.lesson-clock i{display:block;height:100%;width:60%;background:linear-gradient(90deg,#33caa8,#65d9ad);border-radius:999px}
.lesson-preview{flex:1;min-height:160px;margin:15px 0;background:linear-gradient(145deg,#fff,#f7f5ff);border-radius:22px;display:grid;grid-template-columns:auto 44px auto 130px 1fr;align-items:center;justify-content:center;gap:12px;padding:14px}.fraction{font-size:28px;font-weight:900;text-align:center;color:#292a8b;line-height:.7}.fraction i{display:block;width:42px;height:3px;background:#292a8b;margin:5px auto}.compare{font-size:44px;color:#a75ded;font-weight:900}.circle-demo{width:115px;height:115px;border-radius:50%;border:3px solid #344cbb;background:conic-gradient(#8cbaf8 0 50%,#fff 50% 100%);position:relative}.circle-demo:before,.circle-demo:after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(90deg,transparent 48%,#344cbb 49%,#344cbb 51%,transparent 52%)}.circle-demo:after{transform:rotate(45deg)}.preview-copy{color:#31318e;font-weight:800;line-height:1.35}.big-cta{border:0;border-radius:18px;padding:15px 22px;background:linear-gradient(135deg,#a45cf4,#6545ec);color:#fff;font-weight:900;font-size:18px;cursor:pointer;box-shadow:0 12px 24px rgba(102,71,236,.24)}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{padding:17px;text-align:center;display:flex;flex-direction:column;justify-content:center}.stat-card>div{font-size:28px}.stat-card span,.stat-card small{color:var(--muted);font-size:12px}.stat-card strong{font-size:26px;color:#3a36b7;margin:3px 0}.library-card{padding:18px 20px;display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center}.lib-icon{width:52px;height:52px;border-radius:16px;background:#ebe5ff;color:#6a47e9;display:grid;place-items:center;font-size:28px}.library-card strong,.library-card span{display:block}.library-card span{font-size:12px;color:var(--muted);margin-top:3px}.library-card button{border:0;background:#eee9ff;color:#4b36c9;border-radius:14px;padding:12px 16px;font-weight:800}

.lesson-screen{flex-direction:column;padding:14px;background:linear-gradient(180deg,#f8f7ff,#edf5ff)}.lesson-top{display:grid;grid-template-columns:52px 160px 1fr 180px 210px;gap:12px;align-items:center;background:rgba(255,255,255,.93);border:1px solid var(--line);border-radius:22px;padding:10px 14px;box-shadow:0 10px 30px rgba(60,49,132,.07)}.home-btn{width:42px;height:42px;border:0;border-radius:13px;background:#f0ecff;color:#4d3ac0;font-size:21px}.lesson-logo{font-size:23px;font-weight:950;color:#3c30b4}.lesson-topic{display:flex;align-items:center;gap:10px}.lesson-topic strong{display:block}.lesson-clock{text-align:right;color:#3431a5}.camera-box{position:relative;height:94px}.camera-box video{width:100%;height:72px;object-fit:cover;border-radius:16px;background:#dde3ee;border:3px solid #fff;box-shadow:0 5px 14px rgba(48,40,112,.15)}.camera-box span{position:absolute;left:9px;right:9px;bottom:0;background:#fff;border-radius:12px;text-align:center;padding:5px;font-size:11px;font-weight:800;color:#3c3999}.camera-box span::first-letter{color:#23bf89}
.lesson-main{flex:1;min-height:0;display:grid;grid-template-columns:.87fr 1.45fr;gap:16px;margin-top:14px}.teacher-pane,.board{position:relative;border-radius:28px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 14px 36px rgba(61,49,135,.09)}.teacher-pane{background:linear-gradient(145deg,#f4ecff,#e6f6ff)}.teacher-pane:before{content:"";position:absolute;inset:0;background:url('/assets/lesson.png?v=5') 20% 45%/170% auto no-repeat;filter:blur(10px);opacity:.24}.lesson-sanda{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:42% center}.teacher-bubble{position:absolute;right:20px;top:20px;width:43%;background:rgba(255,255,255,.94);border:1px solid #e6e2f7;border-radius:22px;padding:16px;color:#2f2b94;font-weight:850;line-height:1.35;box-shadow:0 8px 20px rgba(55,45,126,.09)}
.board{padding:32px 38px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#fff,#fffdf8)}.board h2,.board h3{text-align:center;margin:0;color:#272a9a}.board h2{font-size:34px}.board h3{font-size:20px;margin-top:2px}.board-eq{display:flex;align-items:center;justify-content:center;gap:34px;margin:28px 0}.frac-large{display:grid;grid-template-rows:auto 4px auto;text-align:center;font-size:38px;font-weight:900;color:#24278d}.frac-large i{display:block;width:62px;height:4px;background:#24278d}.board-eq b{font-size:58px;color:#a45af0}.board-bars{display:flex;justify-content:center;gap:38px}.bar8{display:grid;grid-template-columns:repeat(8,18px);height:92px;border:3px solid #4e55bd}.bar8 i{background:#9f7cf0;border-right:1px solid #4e55bd}.bar8 i.off{background:#fff}.rule{margin:26px auto 0;max-width:640px;background:#f0edff;border-radius:20px;padding:16px 20px;color:#30348d;text-align:center}.practice{display:flex;justify-content:center;gap:18px;margin-top:18px}.practice span{background:#fff;border:1px solid #e5e1f6;border-radius:16px;padding:12px 18px;font-weight:800;color:#343693}
.lesson-footer{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:10px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 28px rgba(58,48,128,.07)}.voice{display:flex;align-items:center;gap:10px;background:#f0ecff;border-radius:16px;padding:10px 14px;min-width:260px}.mic{font-size:24px}.waves{color:#8a5df0;letter-spacing:2px}.lesson-footer>button{border:0;background:#fff;color:#444a8c;border-radius:14px;padding:9px 14px;font-weight:800;display:flex;flex-direction:column;align-items:center;gap:3px}.lesson-footer>button span{font-size:10px}.lesson-footer .finish{margin-left:auto;background:linear-gradient(135deg,#ff6c96,#ff416b);color:#fff;padding:14px 26px;flex-direction:row}

.parent-screen{background:linear-gradient(145deg,#f7f4ff,#eef6ff)}.parent-main{flex:1;padding:30px 34px}.parent-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.parent-header p{max-width:680px}.parent-top{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.child-card,.score-card{padding:20px 24px;display:flex;align-items:center;gap:16px}.child-photo{width:74px;height:74px;font-size:24px}.child-card strong,.child-card span,.child-card small,.score-card span,.score-card strong,.score-card small{display:block}.child-card strong{font-size:26px}.child-card span{font-size:20px}.child-card small,.score-card small{color:var(--muted);margin-top:4px}.score-icon{width:72px;height:72px;border-radius:20px;background:#e6faf5;color:#28b896;display:grid;place-items:center;font-size:32px}.score-card strong{font-size:36px;color:#292b8f}.parent-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin-top:18px}.progress-card,.report-card{padding:22px}.progress-card h2,.report-card h2{margin:0 0 18px}.skill{display:grid;grid-template-columns:1fr auto;gap:7px;margin:15px 0}.skill span,.skill b{font-size:13px}.skill>div{grid-column:1/-1;height:9px;background:#e9eafa;border-radius:999px;overflow:hidden}.skill i{display:block;height:100%;background:linear-gradient(90deg,#2cc7a7,#5bd1ad);border-radius:999px}.report-content{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center}.report-content img{width:160px;height:210px;object-fit:cover;object-position:center 20%;border-radius:22px}.report-content p{color:#5d628e;line-height:1.55}.sign{text-align:right;color:#4f40bb;font-style:italic;font-weight:900}
.toast{position:fixed;z-index:30;left:50%;bottom:24px;transform:translateX(-50%);background:#fff;border:1px solid #ffcbd4;color:#94384c;border-radius:18px;padding:14px 18px;box-shadow:0 14px 36px rgba(40,30,100,.2);max-width:min(680px,90vw)}
.modal{position:fixed;inset:0;z-index:60;background:rgba(35,29,79,.38);display:grid;place-items:center;padding:20px}.modal-card{width:min(520px,92vw);background:#fff;border-radius:28px;padding:30px;box-shadow:0 24px 70px rgba(38,30,93,.25);position:relative}.modal-card h2{margin:0 0 10px}.modal-card p{margin:0;color:var(--muted);line-height:1.55}.modal-card button{position:absolute;right:14px;top:12px;border:0;width:38px;height:38px;border-radius:50%;background:#f0edff;font-size:24px}
@media(max-width:1180px){.side{width:210px;flex-basis:210px}.home-main,.parent-main{padding:22px}.home-grid{grid-template-columns:.9fr 1.1fr}.lesson-heading{grid-template-columns:52px 1fr}.timer-chip{grid-column:1/-1;text-align:left}.lesson-preview{grid-template-columns:auto 38px auto 100px}.preview-copy{display:none}.lesson-top{grid-template-columns:46px 140px 1fr 170px}.camera-box{position:fixed;right:16px;top:88px;width:170px;z-index:20}.parent-top,.parent-grid{grid-template-columns:1fr}}
@media(max-width:820px){.side{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;min-height:0;height:74px;flex-direction:row;padding:10px;z-index:40}.side .logo,.side .slogan,.side-quote,.side nav .nav:nth-child(n+5),.parent-switch{display:none}.side nav{display:flex;width:100%;justify-content:space-around}.nav{padding:10px}.nav span{display:none}.home-main,.parent-main{padding:16px 16px 90px}.home-grid{grid-template-columns:1fr}.hero-card{min-height:520px}.home-right{grid-template-rows:auto auto auto}.top{align-items:flex-start}.top-actions{gap:6px}.profile{display:none}.lesson-main{grid-template-columns:1fr}.teacher-pane{min-height:520px}.lesson-top{grid-template-columns:46px 1fr}.lesson-logo,.lesson-clock{display:none}.camera-box{width:135px;top:78px}.lesson-footer{flex-wrap:wrap}.voice{width:100%}.lesson-footer .finish{margin-left:0}.report-content{grid-template-columns:110px 1fr}.report-content img{width:110px;height:150px}}


/* v0.3 First Real Student */
.profile-screen{align-items:center;justify-content:center;padding:28px;background:linear-gradient(135deg,#f2edff,#edf7ff)}
.profile-shell{width:min(1180px,96vw);min-height:min(760px,92vh);display:grid;grid-template-columns:.9fr 1.1fr;background:rgba(255,255,255,.93);border:1px solid var(--line);border-radius:34px;overflow:hidden;box-shadow:0 28px 90px rgba(54,43,133,.16)}
.profile-visual{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 20%,#fff,#eee8ff 50%,#def2ff);padding:34px}
.logo.giant{font-size:48px;position:relative;z-index:3}.profile-sanda{position:absolute;left:-4%;bottom:-2%;width:94%;height:78%;object-fit:cover;object-position:center 24%}
.profile-message{position:absolute;right:24px;top:150px;width:250px;background:rgba(255,255,255,.94);border:1px solid #e6e1f6;border-radius:22px;padding:17px;box-shadow:0 12px 28px rgba(55,43,126,.1)}
.profile-message strong,.profile-message span{display:block}.profile-message strong{font-size:18px;margin-bottom:6px;color:#4235b6}.profile-message span{font-size:13px;line-height:1.5;color:#696f99}
.profile-form{padding:42px 46px}.form-kicker{color:#6f63c4;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.profile-form h1{margin:7px 0 8px;font-size:34px}.profile-form>p{color:var(--muted);line-height:1.5;margin:0 0 24px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:grid;gap:7px}.form-grid label.wide{grid-column:1/-1}.form-grid label>span{font-size:12px;font-weight:850;color:#575c8c}.form-grid input,.form-grid select{width:100%;border:1px solid #dcd9f0;background:#fbfbff;border-radius:14px;padding:13px 14px;color:#292c72;outline:none}.form-grid input:focus,.form-grid select:focus{border-color:#8e70f1;box-shadow:0 0 0 3px rgba(142,112,241,.12)}
.privacy-note{margin:18px 0;color:#626892;font-size:12px}.form-submit{width:100%}

.diagnostic-illustration{font-size:68px;display:grid;place-items:center;min-width:110px}.wide-copy{grid-column:auto/span 3}.wide-copy strong{font-size:19px}.wide-copy span{display:inline-block;margin-top:5px;color:var(--muted);font-size:13px;line-height:1.45}
.diagnostic-board{padding:28px 34px;justify-content:flex-start}.diag-head{display:flex;align-items:center;justify-content:space-between;color:#5a50bd;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.diag-progress{height:8px;background:#e9e8f7;border-radius:999px;overflow:hidden;margin:9px 0 24px}.diag-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#38c9aa,#7760eb);border-radius:999px;transition:width .35s ease}
.question-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:280px}.question-icon{font-size:52px;margin-bottom:8px}.question-area h2{font-size:30px;max-width:720px;margin:6px auto 12px}.question-area p{font-size:18px;color:#5e6490;line-height:1.55;max-width:720px;margin:0 auto}.answer-area{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:18px}.answer-area input{border:1px solid #dcd9ee;border-radius:15px;padding:13px 14px;font-size:16px;color:#2c2e79;outline:none;background:#fff}.answer-area input:focus{border-color:#876bec;box-shadow:0 0 0 3px rgba(135,107,236,.12)}.answer-submit{border:0;border-radius:15px;padding:12px 20px;background:linear-gradient(135deg,#8d69f4,#6244e7);color:#fff;font-weight:900;cursor:pointer}
.answer-options{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:13px}.answer-options button{border:1px solid #dcd8f1;background:#fff;border-radius:14px;padding:11px 18px;color:#383b89;font-weight:850;cursor:pointer}.answer-options button:hover{background:#f0edff;border-color:#a491ec}.reasoning-prompt{text-align:center;margin-top:15px;padding:11px 14px;border-radius:14px;background:#f7f5ff;color:#777ca5;font-size:12px}
.lesson-footer #pauseBtn.paused{background:#eee9ff;color:#513bc3}.lesson-footer button{cursor:pointer}
.add-child{border:0;background:#eee9ff;color:#4d3cc0;border-radius:15px;padding:12px 16px;font-weight:850;cursor:pointer}
.skills-empty{padding:24px;border-radius:18px;background:#f7f6fd;color:#777b9d;text-align:center}.session-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.session-summary>div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;text-align:center;box-shadow:0 9px 24px rgba(60,50,130,.06)}.session-summary span,.session-summary strong{display:block}.session-summary span{font-size:12px;color:var(--muted)}.session-summary strong{font-size:22px;margin-top:3px;color:#3b38ac}

@media(max-width:980px){.profile-shell{grid-template-columns:1fr}.profile-visual{min-height:330px}.profile-sanda{width:62%;height:90%}.profile-message{top:95px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.session-summary{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.profile-screen{padding:0}.profile-shell{width:100vw;min-height:100vh;border-radius:0}.profile-visual{min-height:280px}.profile-form{padding:26px 20px 90px}.profile-message{right:14px;top:100px;width:190px}.logo.giant{font-size:38px}.answer-area{grid-template-columns:1fr}.question-area h2{font-size:25px}.question-area p{font-size:16px}.diagnostic-board{padding:24px 18px}.session-summary{grid-template-columns:1fr 1fr}}


/* v0.5 Live Sanda Avatar */
#homeSandaAvatar{
  transform-origin:50% 72%;
  animation:sandaHomeIdle 5.6s ease-in-out infinite;
  will-change:transform,filter;
}
.hero-card:hover #homeSandaAvatar{animation:sandaHomeWave 1.8s ease-in-out infinite}
@keyframes sandaHomeIdle{
  0%,100%{transform:translateY(0) rotate(0deg) scale(1);filter:saturate(1.02)}
  45%{transform:translateY(-5px) rotate(-.35deg) scale(1.004);filter:saturate(1.06)}
  55%{transform:translateY(-4px) rotate(.25deg) scale(1.006)}
}
@keyframes sandaHomeWave{
  0%,100%{transform:translateY(0) rotate(0deg)}
  30%{transform:translateY(-8px) rotate(-1deg)}
  60%{transform:translateY(-4px) rotate(.8deg)}
}

.avatar-stage{
  position:absolute;inset:0;
  transform-origin:48% 70%;
  will-change:transform,filter;
}
.lesson-sanda{
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  transition:filter .35s ease,transform .3s ease;
}
.sanda-eyelid,.sanda-mouth,.sanda-cheek-glow{position:absolute;z-index:4;pointer-events:none}
.sanda-eyelid{
  width:5.9%;height:2.9%;
  background:#edae8e;
  border-radius:55% 55% 48% 48%;
  opacity:0;
  transform-origin:center;
  box-shadow:inset 0 -1px 0 rgba(94,43,39,.22);
}
.sanda-eyelid-left{left:36.9%;top:32.2%;transform:rotate(7deg)}
.sanda-eyelid-right{left:52.2%;top:29.5%;transform:rotate(-7deg)}
.sanda-mouth{
  left:45.1%;top:38.1%;width:8.4%;height:2.3%;
  border-radius:45% 45% 55% 55%;
  background:radial-gradient(ellipse at 50% 28%,#8e3345 0 48%,#4d1c29 54% 100%);
  opacity:0;
  transform:scaleY(.35);
  transform-origin:center top;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}
.sanda-cheek-glow{
  left:31%;top:37%;width:30%;height:7%;
  opacity:0;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(255,115,143,.24),rgba(255,115,143,0) 70%);
}
.sanda-sparkles{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0}
.sanda-sparkles i{position:absolute;font-style:normal;color:#ffd24c;text-shadow:0 2px 4px #fff;font-size:clamp(18px,2vw,34px)}
.sanda-sparkles i:nth-child(1){left:13%;top:17%}.sanda-sparkles i:nth-child(2){right:11%;top:22%}.sanda-sparkles i:nth-child(3){left:20%;top:48%}.sanda-sparkles i:nth-child(4){right:16%;top:48%;color:#ba64ef}
.avatar-state-label{
  position:absolute;left:18px;bottom:16px;z-index:8;
  padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.88);
  border:1px solid rgba(113,88,205,.14);color:#5046b8;font-size:11px;font-weight:850;
  backdrop-filter:blur(9px);box-shadow:0 5px 16px rgba(54,43,119,.08);
}

/* natural blink works in every calm state */
.teacher-pane:not([data-avatar-state="celebration"]) .sanda-eyelid{
  animation:sandaBlink 5.2s infinite;
}
.sanda-eyelid-right{animation-delay:.035s!important}
@keyframes sandaBlink{
  0%,42%,45%,100%{opacity:0;transform:scaleY(.12)}
  43%,44%{opacity:.98;transform:scaleY(1)}
}

/* state machine */
.teacher-pane[data-avatar-state="idle"] .avatar-stage{
  animation:sandaBreathe 4.6s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="greeting"] .avatar-stage{
  animation:sandaGreeting 1.25s ease-in-out 1;
}
.teacher-pane[data-avatar-state="listening"] .avatar-stage{
  animation:sandaListening 2.1s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="thinking"] .avatar-stage{
  animation:sandaThinking 2.3s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="speaking"] .avatar-stage{
  animation:sandaSpeakingBody 1.45s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="speaking"] .sanda-mouth{
  opacity:.96;
  animation:sandaTalkMouth .22s ease-in-out infinite alternate;
}
.teacher-pane[data-avatar-state="happy"] .avatar-stage{
  animation:sandaHappy .72s cubic-bezier(.2,.8,.25,1.2) 2;
  filter:saturate(1.08) brightness(1.02);
}
.teacher-pane[data-avatar-state="happy"] .sanda-cheek-glow{opacity:1}
.teacher-pane[data-avatar-state="happy"] .sanda-sparkles,
.teacher-pane[data-avatar-state="celebration"] .sanda-sparkles{
  opacity:1;animation:sandaSparkle 1.2s ease-out infinite;
}
.teacher-pane[data-avatar-state="gentle_correction"] .avatar-stage{
  animation:sandaCorrection 1.8s ease-in-out infinite;
  filter:saturate(.96);
}
.teacher-pane[data-avatar-state="break_time"] .avatar-stage{
  animation:sandaBreak 1.2s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="celebration"] .avatar-stage{
  animation:sandaCelebrate .82s ease-in-out 3;
  filter:saturate(1.12) brightness(1.04);
}
.teacher-pane[data-avatar-state="paused"] .avatar-stage{animation:none;filter:saturate(.82) brightness(.98)}

@keyframes sandaBreathe{
  0%,100%{transform:translateY(0) scale(1) rotate(0)}
  50%{transform:translateY(-3px) scale(1.004) rotate(.12deg)}
}
@keyframes sandaGreeting{
  0%{transform:translateY(8px) rotate(-1.3deg) scale(.99)}
  38%{transform:translateY(-7px) rotate(1deg) scale(1.012)}
  70%{transform:translateY(-2px) rotate(-.4deg) scale(1.004)}
  100%{transform:translateY(0) rotate(0) scale(1)}
}
@keyframes sandaListening{
  0%,100%{transform:translateY(0) rotate(0) scale(1)}
  45%{transform:translateY(2px) rotate(1.05deg) scale(1.004)}
  70%{transform:translateY(0) rotate(.45deg) scale(1.002)}
}
@keyframes sandaThinking{
  0%,100%{transform:translateY(0) rotate(-.2deg)}
  50%{transform:translateY(-3px) rotate(-1.15deg) scale(1.003)}
}
@keyframes sandaSpeakingBody{
  0%,100%{transform:translateY(0) rotate(0)}
  35%{transform:translateY(-2px) rotate(-.45deg)}
  72%{transform:translateY(1px) rotate(.38deg)}
}
@keyframes sandaTalkMouth{
  from{transform:scaleY(.28) scaleX(.92)}
  to{transform:scaleY(1.25) scaleX(1.03)}
}
@keyframes sandaHappy{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-11px) scale(1.014) rotate(-.5deg)}
}
@keyframes sandaCorrection{
  0%,100%{transform:translateY(0) rotate(0) scale(1)}
  50%{transform:translateY(2px) rotate(-.8deg) scale(.997)}
}
@keyframes sandaBreak{
  0%,100%{transform:translateY(0) rotate(-.6deg)}
  50%{transform:translateY(-5px) rotate(.8deg)}
}
@keyframes sandaCelebrate{
  0%,100%{transform:translateY(0) scale(1) rotate(0)}
  35%{transform:translateY(-16px) scale(1.025) rotate(-1deg)}
  68%{transform:translateY(-5px) scale(1.012) rotate(.7deg)}
}
@keyframes sandaSparkle{
  0%{transform:scale(.7) rotate(-8deg);opacity:.25}
  50%{transform:scale(1.15) rotate(5deg);opacity:1}
  100%{transform:scale(.8) rotate(12deg);opacity:.25}
}

/* JS-driven amplitude is used when Realtime audio is available */
.teacher-pane.audio-driven[data-avatar-state="speaking"] .sanda-mouth{
  animation:none;
  transform:scaleY(var(--mouth-open,.35)) scaleX(calc(.95 + var(--mouth-open,.35)*.04));
}

@media(max-width:820px){
  .avatar-state-label{left:12px;bottom:10px}
  .sanda-mouth{left:45.1%;top:38.2%}
}


/* v0.6 VTuber-style 2.5D rig */
.avatar-puppet{
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  perspective:1100px;
  --look-x:0px;
  --look-y:0px;
  --head-yaw:0deg;
  --mouth-open:.34;
}
.puppet-layer{
  position:absolute;
  inset:0;
  background-image:url('/assets/sanda-lesson.png?v=10');
  background-size:100% 100%;
  background-repeat:no-repeat;
  transform-origin:center;
  pointer-events:none;
  will-change:transform,filter,opacity;
}
.puppet-shadow{
  position:absolute;
  left:18%;right:15%;bottom:1.2%;
  height:8%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(55,47,118,.23),rgba(55,47,118,0) 72%);
  filter:blur(8px);
  opacity:.55;
  z-index:0;
  animation:puppetShadowBreath 4.2s ease-in-out infinite;
}
.puppet-body{
  z-index:2;
  clip-path:polygon(
    17% 44%, 29% 39%, 42% 38%, 58% 40%, 69% 45%, 77% 55%,
    84% 72%, 82% 100%, 16% 100%, 10% 78%, 12% 58%
  );
  transform-origin:46% 73%;
}
.puppet-arm{
  position:absolute;
  inset:0;
  z-index:4;
  transform-origin:50% 50%;
  pointer-events:none;
  will-change:transform;
}
.puppet-arm>.puppet-layer{z-index:1}
.puppet-arm-left{transform-origin:31% 59%}
.puppet-arm-left>.puppet-layer{
  clip-path:polygon(2% 65%,8% 57%,18% 53%,28% 54%,42% 61%,46% 70%,40% 80%,22% 87%,4% 83%);
}
.puppet-arm-right{transform-origin:72% 54%}
.puppet-arm-right>.puppet-layer{
  clip-path:polygon(67% 54%,74% 49%,83% 45%,95% 43%,100% 47%,100% 67%,92% 69%,82% 68%,74% 64%,68% 60%);
}
.puppet-head-wrap{
  position:absolute;
  inset:0;
  z-index:5;
  transform-origin:44% 35%;
  will-change:transform;
  pointer-events:none;
}
.puppet-head-parallax{
  position:absolute;
  inset:0;
  translate:var(--look-x) var(--look-y);
  rotate:var(--head-yaw);
  transition:translate .18s ease-out,rotate .18s ease-out;
  transform-origin:44% 35%;
}
.puppet-head{
  z-index:1;
  clip-path:ellipse(32% 27% at 44% 31%);
  transform-origin:44% 35%;
}
.puppet-mouth-wrap{
  position:absolute;
  inset:0;
  z-index:4;
  overflow:hidden;
  clip-path:ellipse(6.5% 2.7% at 46.7% 39.1%);
  transform-origin:46.7% 39.1%;
  pointer-events:none;
}
.puppet-mouth-image{
  z-index:1;
  transform-origin:46.7% 39.1%;
}
.teacher-pane[data-avatar-state="speaking"] .puppet-mouth-wrap{
  transform:scaleY(var(--mouth-open)) scaleX(calc(.97 + var(--mouth-open)*.035));
}
.sanda-eyelid{
  z-index:6;
  background:linear-gradient(180deg,#e2a17f,#f2b28e);
  box-shadow:inset 0 -1px 0 rgba(100,42,39,.22),0 1px 1px rgba(255,255,255,.25);
}
.sanda-eyelid-left{left:35.8%;top:31.8%;width:6.2%;height:3.0%;transform:rotate(8deg)}
.sanda-eyelid-right{left:50.7%;top:29.4%;width:6.2%;height:3.0%;transform:rotate(-7deg)}
.sanda-cheek-glow{
  left:31.4%;top:36.1%;width:31%;height:8%;
  z-index:3;
}
.sanda-sparkles{z-index:8}
.sanda-sparkles i:nth-child(5){left:72%;top:11%;color:#88a8ff}
.sanda-sparkles i:nth-child(6){left:6%;top:42%;color:#ff91c0}

/* high-fidelity rig motion by state */
.teacher-pane[data-avatar-state="idle"] .puppet-body{
  animation:rigBodyIdle 4.8s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="idle"] .puppet-head-wrap{
  animation:rigHeadIdle 5.4s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="idle"] .puppet-arm-left{
  animation:rigArmLeftIdle 5.2s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="idle"] .puppet-arm-right{
  animation:rigArmRightIdle 4.7s ease-in-out infinite;
}

.teacher-pane[data-avatar-state="greeting"] .puppet-body{
  animation:rigGreetingBody 1.35s cubic-bezier(.2,.8,.2,1) 1;
}
.teacher-pane[data-avatar-state="greeting"] .puppet-head-wrap{
  animation:rigGreetingHead 1.35s cubic-bezier(.2,.8,.2,1) 1;
}
.teacher-pane[data-avatar-state="greeting"] .puppet-arm-right{
  animation:rigWave 1.35s ease-in-out 2;
}
.teacher-pane[data-avatar-state="greeting"] .puppet-arm-left{
  animation:rigPenGreeting 1.35s ease-in-out 1;
}

.teacher-pane[data-avatar-state="listening"] .puppet-body{
  animation:rigBodyListen 3.0s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="listening"] .puppet-head-wrap{
  animation:rigHeadListen 2.2s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="listening"] .puppet-arm-right{
  animation:rigArmListen 3.0s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="listening"] .puppet-arm-left{
  animation:rigPenListen 2.8s ease-in-out infinite;
}

.teacher-pane[data-avatar-state="thinking"] .puppet-head-wrap{
  animation:rigHeadThink 2.4s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="thinking"] .puppet-body{
  animation:rigBodyThink 2.4s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="thinking"] .puppet-arm-left{
  animation:rigPenThink 2.4s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="thinking"] .puppet-arm-right{
  animation:rigHandThink 2.4s ease-in-out infinite;
}

.teacher-pane[data-avatar-state="speaking"] .puppet-body{
  animation:rigBodySpeak 1.8s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="speaking"] .puppet-head-wrap{
  animation:rigHeadSpeak 1.55s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="speaking"] .puppet-arm-right{
  animation:rigHandSpeak 1.7s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="speaking"] .puppet-arm-left{
  animation:rigPenSpeak 2.1s ease-in-out infinite;
}

.teacher-pane[data-avatar-state="happy"] .puppet-body{
  animation:rigHappyBody .78s cubic-bezier(.22,.8,.25,1.2) 2;
}
.teacher-pane[data-avatar-state="happy"] .puppet-head-wrap{
  animation:rigHappyHead .78s cubic-bezier(.22,.8,.25,1.2) 2;
}
.teacher-pane[data-avatar-state="happy"] .puppet-arm-right{
  animation:rigHappyHand .78s ease-in-out 2;
}
.teacher-pane[data-avatar-state="happy"] .puppet-arm-left{
  animation:rigHappyPen .78s ease-in-out 2;
}

.teacher-pane[data-avatar-state="gentle_correction"] .puppet-head-wrap{
  animation:rigCorrectionHead 2.1s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="gentle_correction"] .puppet-body{
  animation:rigCorrectionBody 2.1s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="gentle_correction"] .puppet-arm-right{
  animation:rigCorrectionHand 2.1s ease-in-out infinite;
}

.teacher-pane[data-avatar-state="break_time"] .puppet-body{
  animation:rigBreakBody 1.25s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="break_time"] .puppet-head-wrap{
  animation:rigBreakHead 1.25s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="break_time"] .puppet-arm-left{
  animation:rigBreakLeft 1.25s ease-in-out infinite;
}
.teacher-pane[data-avatar-state="break_time"] .puppet-arm-right{
  animation:rigBreakRight 1.25s ease-in-out infinite;
}

.teacher-pane[data-avatar-state="celebration"] .puppet-body{
  animation:rigCelebrateBody .86s cubic-bezier(.2,.85,.2,1.15) 3;
}
.teacher-pane[data-avatar-state="celebration"] .puppet-head-wrap{
  animation:rigCelebrateHead .86s cubic-bezier(.2,.85,.2,1.15) 3;
}
.teacher-pane[data-avatar-state="celebration"] .puppet-arm-left{
  animation:rigCelebrateLeft .86s ease-in-out 3;
}
.teacher-pane[data-avatar-state="celebration"] .puppet-arm-right{
  animation:rigCelebrateRight .86s ease-in-out 3;
}
.teacher-pane[data-avatar-state="paused"] .puppet-body,
.teacher-pane[data-avatar-state="paused"] .puppet-head-wrap,
.teacher-pane[data-avatar-state="paused"] .puppet-arm{animation:none!important;filter:saturate(.82) brightness(.98)}

@keyframes puppetShadowBreath{0%,100%{transform:scaleX(1);opacity:.5}50%{transform:scaleX(.94);opacity:.42}}
@keyframes rigBodyIdle{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.004)}}
@keyframes rigHeadIdle{0%,100%{transform:rotateZ(0deg) rotateY(0deg)}30%{transform:rotateZ(-.55deg) rotateY(-1.2deg)}70%{transform:rotateZ(.4deg) rotateY(1deg)}}
@keyframes rigArmLeftIdle{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-.5deg) translateY(-1px)}}
@keyframes rigArmRightIdle{0%,100%{transform:rotate(0deg)}50%{transform:rotate(.7deg) translateY(-2px)}}

@keyframes rigGreetingBody{0%{transform:translateY(10px) scale(.985)}55%{transform:translateY(-6px) scale(1.008)}100%{transform:none}}
@keyframes rigGreetingHead{0%{transform:rotateZ(-2deg) rotateY(-3deg)}45%{transform:rotateZ(1.6deg) rotateY(3deg)}100%{transform:none}}
@keyframes rigWave{0%,100%{transform:rotate(0deg)}35%{transform:rotate(-5deg) translateY(-4px)}70%{transform:rotate(4deg) translateY(-2px)}}
@keyframes rigPenGreeting{0%,100%{transform:rotate(0)}50%{transform:rotate(-1.8deg) translateY(-3px)}}

@keyframes rigBodyListen{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(2px) scale(.999)}}
@keyframes rigHeadListen{0%,100%{transform:rotateZ(.2deg) translateY(0)}50%{transform:rotateZ(1.45deg) translateY(2px) scale(1.006)}}
@keyframes rigArmListen{0%,100%{transform:rotate(0)}50%{transform:rotate(-1.4deg) translateY(2px)}}
@keyframes rigPenListen{0%,100%{transform:rotate(0)}50%{transform:rotate(.8deg) translateY(1px)}}

@keyframes rigHeadThink{0%,100%{transform:rotateZ(-.8deg) rotateY(-1deg)}50%{transform:rotateZ(-2.2deg) rotateY(-4deg) translateY(-3px)}}
@keyframes rigBodyThink{0%,100%{transform:translateY(0)}50%{transform:translateY(1px) scale(.998)}}
@keyframes rigPenThink{0%,100%{transform:rotate(0)}50%{transform:rotate(-3.3deg) translate(-2px,-4px)}}
@keyframes rigHandThink{0%,100%{transform:rotate(0)}50%{transform:rotate(2.8deg) translateY(-3px)}}

@keyframes rigBodySpeak{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-2px) scale(1.002)}70%{transform:translateY(1px) scale(1.001)}}
@keyframes rigHeadSpeak{0%,100%{transform:rotateZ(0) rotateY(0)}30%{transform:rotateZ(-.7deg) rotateY(-1.8deg)}65%{transform:rotateZ(.65deg) rotateY(1.6deg)}}
@keyframes rigHandSpeak{0%,100%{transform:rotate(0)}35%{transform:rotate(-3.6deg) translateY(-5px)}70%{transform:rotate(2.2deg) translateY(-2px)}}
@keyframes rigPenSpeak{0%,100%{transform:rotate(0)}50%{transform:rotate(-1.6deg) translateY(-2px)}}

@keyframes rigHappyBody{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.012)}}
@keyframes rigHappyHead{0%,100%{transform:rotateZ(0)}50%{transform:rotateZ(-1.5deg) translateY(-7px) scale(1.015)}}
@keyframes rigHappyHand{0%,100%{transform:rotate(0)}50%{transform:rotate(-6deg) translateY(-9px)}}
@keyframes rigHappyPen{0%,100%{transform:rotate(0)}50%{transform:rotate(3deg) translateY(-5px)}}

@keyframes rigCorrectionHead{0%,100%{transform:rotateZ(-.3deg)}50%{transform:rotateZ(-1.8deg) translateY(2px)}}
@keyframes rigCorrectionBody{0%,100%{transform:translateY(0)}50%{transform:translateY(2px) scale(.998)}}
@keyframes rigCorrectionHand{0%,100%{transform:rotate(0)}50%{transform:rotate(1.8deg) translateY(2px)}}

@keyframes rigBreakBody{0%,100%{transform:translateY(0) rotateZ(-.2deg)}50%{transform:translateY(-6px) rotateZ(.35deg)}}
@keyframes rigBreakHead{0%,100%{transform:rotateZ(-1deg)}50%{transform:rotateZ(1.5deg) translateY(-5px)}}
@keyframes rigBreakLeft{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(5deg) translateY(-7px)}}
@keyframes rigBreakRight{0%,100%{transform:rotate(1deg)}50%{transform:rotate(-7deg) translateY(-8px)}}

@keyframes rigCelebrateBody{0%,100%{transform:translateY(0) scale(1)}42%{transform:translateY(-15px) scale(1.02)}}
@keyframes rigCelebrateHead{0%,100%{transform:rotateZ(0)}42%{transform:rotateZ(-2deg) translateY(-12px) scale(1.025)}}
@keyframes rigCelebrateLeft{0%,100%{transform:rotate(0)}42%{transform:rotate(7deg) translateY(-11px)}}
@keyframes rigCelebrateRight{0%,100%{transform:rotate(0)}42%{transform:rotate(-9deg) translateY(-13px)}}


.teacher-pane:not(.audio-driven)[data-avatar-state="speaking"] .puppet-mouth-wrap{
  animation:rigMouthFallback .19s ease-in-out infinite alternate;
}
@keyframes rigMouthFallback{
  from{transform:scaleY(.34) scaleX(.98)}
  to{transform:scaleY(1.22) scaleX(1.02)}
}


/* v0.6.2 visual repair: keep the approved art crisp, animate rig layers over it */
.teacher-pane:before{display:none!important}
.avatar-puppet{
  background:
    linear-gradient(rgba(255,255,255,.02),rgba(255,255,255,.02)),
    url('/assets/sanda-lesson.png?v=11') center center/100% 100% no-repeat;
  image-rendering:auto;
}
.puppet-body{display:none}
.puppet-head{
  clip-path:ellipse(30% 28% at 44% 31%);
  filter:none!important;
}
.puppet-arm-left>.puppet-layer{
  clip-path:polygon(0% 57%,10% 50%,20% 49%,31% 52%,43% 59%,46% 70%,39% 82%,22% 87%,2% 82%);
}
.puppet-arm-right>.puppet-layer{
  clip-path:polygon(64% 49%,72% 45%,81% 40%,95% 38%,100% 42%,100% 67%,91% 70%,80% 68%,70% 62%,65% 57%);
}
.puppet-head-wrap,.puppet-arm{opacity:1}
.puppet-layer{background-image:url('/assets/sanda-lesson.png?v=11')!important}
.teacher-bubble{
  z-index:12;
  right:17px;
  top:15px;
  width:45%;
  min-height:78px;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(3px);
  border:1px solid rgba(109,83,202,.15);
  box-shadow:0 10px 28px rgba(63,48,139,.13);
}
.avatar-state-label{z-index:13}


/* cover the baked prototype speech bubble with the live lesson bubble */
.teacher-pane .teacher-bubble{
  top:12px!important;
  right:12px!important;
  width:50%!important;
  min-height:132px!important;
  display:flex;
  align-items:center;
  padding:18px 20px!important;
  background:rgba(255,255,255,.985)!important;
  border-radius:22px!important;
}

.teacher-pane .teacher-bubble{
  width:54%!important;
  min-height:178px!important;
  align-items:flex-start!important;
  padding-top:22px!important;
}


/* v0.7 curriculum focus: Sanda static, textbook lessons */
.static-teacher:before{display:none!important}
.static-teacher{background:linear-gradient(145deg,#f4ecff,#e6f6ff)!important}
.lesson-sanda-static{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:42% center;
  filter:none!important;transform:none!important;
}
.static-avatar-stage{display:none!important}
.static-teacher .teacher-bubble{
  top:14px!important;right:14px!important;width:49%!important;
  min-height:118px!important;padding:17px 18px!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid #e6e2f7;border-radius:22px;
  box-shadow:0 10px 24px rgba(55,45,126,.1);
  z-index:10;display:flex;align-items:flex-start;
}
.static-teacher .avatar-state-label{
  left:16px;bottom:14px;z-index:11;
}
.static-teacher .sanda-eyelid,.static-teacher .sanda-mouth,.static-teacher .sanda-cheek-glow,
.static-teacher .sanda-sparkles,.static-teacher .puppet-layer,.static-teacher .puppet-arm,
.static-teacher .puppet-head-wrap,.static-teacher .avatar-puppet{display:none!important}

/* curriculum */
.course-screen{background:linear-gradient(145deg,#f8f6ff,#eef6ff)}
.course-main{flex:1;min-width:0;padding:30px 34px 42px;overflow:auto;max-height:100vh}
.course-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:22px}
.course-head h1{font-size:36px;margin:4px 0 6px}
.course-head p{margin:0;color:var(--muted);max-width:760px;line-height:1.5}
.course-progress-box{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px 22px;box-shadow:0 10px 28px rgba(62,50,135,.07);text-align:center;min-width:150px}
.course-progress-box strong,.course-progress-box span{display:block}
.course-progress-box strong{font-size:27px;color:#4338b7}.course-progress-box span{font-size:12px;color:var(--muted);margin-top:2px}
.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.course-card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:22px;padding:17px 18px;box-shadow:0 9px 26px rgba(62,50,135,.06);display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;cursor:pointer;transition:.18s ease}
.course-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(62,50,135,.10);border-color:#cfc7f3}
.course-num{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#ece8ff,#e6f8f3);display:grid;place-items:center;font-weight:950;color:#5143c0}
.course-info strong{display:block;font-size:15px;line-height:1.35;color:#292c7f}.course-info small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.course-status{padding:7px 10px;border-radius:999px;background:#f0edff;color:#5947c4;font-size:11px;font-weight:850;white-space:nowrap}
.course-card.done .course-status{background:#e7faf3;color:#20876b}.course-card.current{border-color:#8e77ee;background:linear-gradient(145deg,#fff,#f7f4ff)}
.course-card.current .course-status{background:#6d54eb;color:#fff}
.course-card.locked{opacity:.72}

/* course lesson mode */
.course-lesson-board .diag-head{margin-bottom:6px}
.lesson-theory{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:left;min-height:260px}
.lesson-theory h2{font-size:29px;margin:0 0 10px;color:#2f3190}
.lesson-theory p{font-size:17px;line-height:1.55;color:#626791;margin:0 0 18px}
.lesson-example{background:#f4f1ff;border-radius:18px;padding:16px 18px;color:#35378b;font-weight:800;line-height:1.5}
.course-practice-title{text-align:center;color:#6b64a8;font-size:12px;margin-top:12px}
.lesson-answer-feedback{min-height:24px;text-align:center;font-size:13px;color:#545b91;margin-top:8px}

@media(max-width:1000px){.course-grid{grid-template-columns:1fr}.course-head{flex-direction:column}.course-main{padding:22px}}
@media(max-width:820px){.course-main{padding:18px 14px 92px}.course-card{grid-template-columns:42px 1fr}.course-status{grid-column:2}.course-progress-box{min-width:0}}

/* Animation postponed: keep approved character completely static */
#homeSandaAvatar{animation:none!important;transform:none!important;filter:none!important}
.hero-card:hover #homeSandaAvatar{animation:none!important;transform:none!important}
.static-teacher,.static-teacher *{animation:none!important}
.static-teacher .lesson-sanda-static{animation:none!important;transform:none!important;filter:none!important}
