@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#29273a;font-synthesis:none;background:#f7f6f2;font-family:DM Sans,Noto Sans SC,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.shell{grid-template-columns:245px minmax(0,1fr);min-height:100vh;display:grid}.shell>main{min-width:0}aside{color:#fff;background:#292743;flex-direction:column;height:100vh;min-height:0;padding:34px 22px;display:flex;position:sticky;top:0;overflow:hidden}.brand{flex:none;align-items:center;gap:12px;padding:0 10px;font-size:18px;font-weight:700;display:flex}.brand>span{color:#292743;background:#f5c76b;border-radius:13px;place-items:center;width:38px;height:38px;font-size:24px;display:grid}.brand small{letter-spacing:1.7px;text-transform:uppercase;color:#a9a7bb;margin-top:3px;font-size:10px;font-weight:400;display:block}nav{scrollbar-width:thin;scrollbar-color:#565273 transparent;flex:1;gap:6px;min-height:0;margin-top:36px;padding-right:4px;display:grid;overflow-y:auto}nav button{color:#aaa8bb;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:11px 16px;font-size:14px}nav button span{margin-left:12px}nav button.active{color:#fff;background:#3a3758}.term{border-top:1px solid #45425f;flex:none;gap:6px;min-width:0;margin-top:14px;padding:16px 18px;display:grid}.term small,.term span{color:#aaa8bb;font-size:11px}.term strong{font-size:14px}.term strong,.term span{overflow-wrap:anywhere}.term span{line-height:1.45}main{width:100%;max-width:1500px;margin:auto;padding:42px clamp(30px,5vw,80px)}header{justify-content:space-between;align-items:center;display:flex}header p{color:#898594;margin:0 0 8px;font-size:13px}h1{letter-spacing:-1px;margin:0;font-size:30px}.avatars{display:flex}.avatars span{color:#fff;border:3px solid #f7f6f2;border-radius:50%;place-items:center;width:38px;height:38px;margin-left:-8px;font-weight:600;display:grid}.filters{gap:8px;margin:30px 0;display:flex}.filters button{color:#716d79;cursor:pointer;background:#fff;border:1px solid #e3e0da;border-radius:20px;padding:8px 16px}.filters button.selected{color:#fff;background:#292743;border-color:#292743}.filters i,.childBlock i,.task i{border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.hero{background:#e9e6fb;border-radius:24px;justify-content:space-between;align-items:center;margin-bottom:22px;padding:27px 34px;display:flex}.hero span{color:#6e67a0;font-size:13px}.hero strong{margin:4px 0;font-size:42px;display:block}.hero em{color:#8984aa;font-size:20px;font-style:normal}.hero p{color:#726d8b;margin:0;font-size:13px}.ring{background:conic-gradient(#7069db var(--p), #d6d1ed 0);border-radius:50%;place-items:center;width:84px;height:84px;display:grid;position:relative}.ring:before{content:"";background:#e9e6fb;border-radius:50%;position:absolute;inset:8px}.ring span{color:#4b4775;font-weight:700;position:relative}.grid{grid-template-columns:1.2fr 1fr;gap:22px;display:grid}.card{background:#fff;border:1px solid #e7e4df;border-radius:20px;padding:25px}.cardTitle{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.cardTitle h2{margin:0;font-size:18px}.cardTitle button{color:#756ed5;cursor:pointer;background:0 0;border:0;font-size:12px}.childBlock{margin-top:20px}.childBlock h3{margin:0 0 7px;font-size:13px}.event{border-bottom:1px solid #efede9;grid-template-columns:145px 1fr;padding:11px 0;font-size:14px;display:grid}.event time{color:#85818c}.empty{text-align:center;color:#d6ae60;padding:45px 0}.empty p{color:#464252;margin:8px 0 3px}.empty small{color:#aaa6ad}.task{border-bottom:1px solid #efede9;grid-template-columns:28px 1fr 25px;align-items:center;gap:10px;padding:13px 0;display:grid}.check{color:#6e67d9;background:#fff;border:1.5px solid #b8b4c3;border-radius:7px;width:23px;height:23px}.task.done strong{color:#aaa;text-decoration:line-through}.task small{color:#9d99a3;margin-top:4px;display:block}.delete{color:#bbb;cursor:pointer;background:0 0;border:0;font-size:19px}.homeworkPage form{grid-template-columns:130px 1fr 160px auto;gap:10px;margin-bottom:20px;display:grid}.homeworkPage input,.homeworkPage select{background:#fff;border:1px solid #ddd8d0;border-radius:10px;padding:12px}.homeworkPage form button{color:#fff;background:#6e67d9;border:0;border-radius:10px;padding:0 20px}.weekGrid{grid-template-columns:repeat(7,minmax(170px,1fr));gap:12px;padding-bottom:15px;display:grid;overflow-x:auto}.day{background:#fff;border:1px solid #e6e2dc;border-radius:16px;min-height:370px;padding:18px}.day.current{border:2px solid #7770d8}.day h3{justify-content:space-between;margin:0 0 22px;font-size:15px;display:flex}.day h3 span{color:#6861c2;background:#ece9fd;border-radius:8px;padding:4px 7px;font-size:10px}.day h4{margin:18px 0 7px;font-size:12px}.day p{border-bottom:1px solid #eeeae5;margin:0;padding:8px 0;font-size:12px;line-height:1.45}.loading{color:#7770d8;place-items:center;height:100vh;display:grid}@media (width<=800px){.shell{display:block}aside{height:auto;padding:18px;position:static;overflow:visible}.brand{justify-content:center}nav{flex:initial;justify-content:flex-start;margin:18px 0 0;padding-right:0;display:flex;overflow:auto hidden}nav button{padding:10px 14px}.term{display:none}main{padding:25px 16px}.grid,.homeworkPage form{grid-template-columns:1fr}.homeworkPage form button{padding:12px}.event{grid-template-columns:125px 1fr}}.day h4{justify-content:space-between;display:flex}.tinyAdd{color:#6861c2;cursor:pointer;background:#f0eefb;border:0;border-radius:6px}.weekEvent{grid-template-columns:1fr 18px;align-items:center;display:grid}.weekEvent p b{color:#98939e;font-weight:500;display:block}.weekEvent>button{color:#bbb;background:0 0;border:0}.overlay{z-index:10;background:#29274388;place-items:center;display:grid;position:fixed;inset:0}.picker{background:#fff;border-radius:20px;width:min(430px,90vw);padding:28px}.picker label,.courseForm label{color:#77727e;gap:7px;margin-bottom:14px;font-size:12px;display:grid}.picker input,.courseForm input,.courseForm select,.courseSearch{background:#fff;border:1px solid #ddd8d0;border-radius:10px;padding:11px}.results{gap:7px;max-height:250px;display:grid;overflow:auto}.results button{text-align:left;background:#faf9f6;border:1px solid #e6e2dc;border-radius:10px;padding:11px}.results small{color:#999;margin-top:3px;display:block}.cancel{color:#7770d8;background:0 0;border:0;margin-top:15px}.courseTop{align-items:center;gap:15px;margin-bottom:20px;display:flex}.courseSearch{width:min(500px,80%)}.courseTop span{color:#999;font-size:13px}.courseLayout{grid-template-columns:1fr 320px;gap:22px;display:grid}.courseList{background:#fff;border:1px solid #e6e2dc;border-radius:18px;padding:5px 22px}.courseList article{border-bottom:1px solid #eee;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:15px 0;display:grid}.courseList small{color:#999;margin-top:4px;display:block}.courseList button,.courseForm>button{color:#7770d8;background:0 0;border:0}.courseForm{background:#fff;border:1px solid #e6e2dc;border-radius:18px;height:max-content;padding:22px}.courseForm h2{margin:0 0 20px;font-size:18px}.courseForm .primary{color:#fff;background:#6e67d9;border-radius:10px;width:100%;padding:11px}.error{color:#a84736;background:#fff0ec;border-radius:10px;padding:11px}@media (width<=800px){.courseLayout{grid-template-columns:1fr}.shell nav{overflow:auto}.shell nav button{white-space:nowrap}}.termIntro{margin-bottom:24px}.termIntro h2{margin:0 0 7px;font-size:20px}.termIntro p{color:#88838e;margin:0}.termLayout{grid-template-columns:1fr 340px;gap:22px;display:grid}.termCards{gap:12px;display:grid}.termCards article{background:#fff;border:1px solid #e6e2dc;border-radius:17px;justify-content:space-between;align-items:center;padding:22px;display:flex}.termCards article.activeTerm{background:#faf9ff;border:2px solid #7770d8}.termCards small{color:#7770d8;font-size:11px}.termCards h3{margin:6px 0;font-size:18px}.termCards p{color:#999;margin:0;font-size:13px}.termCards button{color:#6e67d9;cursor:pointer;background:0 0;border:0;margin:6px 0 6px auto;display:block}.termCards button.danger{color:#bd7b70;font-size:12px}@media (width<=800px){.termLayout{grid-template-columns:1fr}.termCards article{align-items:flex-start}}.errorScreen{text-align:center;align-content:center;gap:8px}.errorScreen strong{color:#4b4755;font-size:22px}.errorScreen p{color:#8a8590;margin:0}.errorScreen button{color:#fff;cursor:pointer;background:#6e67d9;border:0;border-radius:10px;margin:auto;padding:10px 18px}.notificationGrid{grid-template-columns:minmax(300px,430px) 1fr;gap:22px;display:grid}.notificationGrid h2{margin:0 0 20px;font-size:18px}.channel{border-bottom:1px solid #eeeae5;justify-content:space-between;padding:14px 0;display:flex}.channel b{color:#aaa;background:#f1efec;border-radius:12px;padding:4px 9px;font-size:12px}.channel b.ready{color:#318361;background:#e5f5ec}.hint{color:#8e8994;margin:22px 0;font-size:12px;line-height:1.7}.sendTest{color:#fff;cursor:pointer;background:#6e67d9;border:0;border-radius:10px;padding:11px 16px}.sendTest:disabled{opacity:.6}.testOk,.testFail{margin:9px 0;font-size:12px}.testOk{color:#318361}.testFail{color:#b64f3d}.preview pre{white-space:pre-wrap;color:#4e4a57;background:#faf9f6;border-radius:12px;padding:20px;font:14px/1.75 DM Sans,Noto Sans SC,sans-serif}@media (width<=800px){.notificationGrid{grid-template-columns:1fr}}.conflictNotice{color:#8e4a2d;background:#fff1e8;border:1px solid #f0c5ab;border-radius:14px;margin-bottom:18px;padding:15px 18px}.conflictNotice strong{font-size:13px}.conflictNotice p{margin:8px 0 0;font-size:12px;line-height:1.5}.conflictNotice p b{color:#fff;background:#e99a6d;border-radius:7px;margin-right:3px;padding:2px 6px}.conflictNotice.compact{border-radius:9px;margin:0 0 10px;padding:8px 9px}.conflictNotice.compact strong{font-size:10px}.weekEvent.hasConflict{background:#fff0e8;border-left:3px solid #e8895d;border-radius:4px;margin-left:-8px;padding-left:7px}.conflictRow{grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.conflictRow small{color:#786e68;margin-top:5px;display:block}.conflictRow>button{color:#fff;cursor:pointer;background:#d8794e;border:0;border-radius:8px;padding:7px 10px;font-size:11px}.historyFilters{gap:8px;margin-bottom:18px;display:flex}.historyFilters button{color:#777;background:#fff;border:1px solid #dedad4;border-radius:15px;padding:7px 14px}.historyFilters button.selected{color:#fff;background:#292743}.historyList{gap:12px;display:grid}.historyList article{background:#fff;border:1px solid #e6e2dc;border-radius:16px;grid-template-columns:75px 1fr auto;align-items:start;gap:18px;padding:20px;display:grid}.historyStatus{text-align:center;border-radius:12px;padding:6px;font-size:11px}.historyStatus.open{color:#a25535;background:#fff0e8}.historyStatus.resolved{color:#347456;background:#e7f5ed}.historyList h3{margin:5px 0;font-size:14px}.historyList p{color:#777;margin:0;font-size:13px}.historyList blockquote{background:#f6f5f1;border-left:3px solid #79b28f;margin:12px 0 0;padding:10px 13px;font-size:12px}.historyList>article>button{color:#7770d8;cursor:pointer;background:0 0;border:0}@media (width<=700px){.historyList article,.conflictRow{grid-template-columns:1fr}}.conflictRows{gap:10px;margin-top:13px;display:grid}.conflictRow{border:1px solid #0000;border-radius:12px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.conflictRow.pending{background:#fff8f3;border-color:#efc6ad}.conflictRow.resolved{background:#f0f9f4;border-color:#b9dfc9}.conflictIcon{border-radius:50%;place-items:center;width:27px;height:27px;font-size:13px;font-weight:700;display:grid}.pending .conflictIcon{color:#fff;background:#e58a5f}.resolved .conflictIcon{color:#fff;background:#53a875}.conflictCopy>div{align-items:center;gap:7px;display:flex}.conflictCopy b{font-size:12px}.statePill{border-radius:10px;padding:2px 7px;font-size:10px}.pending .statePill{color:#944c2d;background:#f4d5c2}.resolved .statePill{color:#347456;background:#cfead9}.conflictCopy p{color:#655f68;margin:4px 0 0!important}.conflictCopy small{display:block;color:#347456!important;margin-top:8px!important}.conflictRow>button{white-space:nowrap;cursor:pointer;color:#fff!important;background:#dc7b50!important;border:0!important;border-radius:8px!important;padding:8px 11px!important}.conflictNotice.allResolved{color:#347456;background:#eaf7ef;border-color:#b8dec8}@media (width<=620px){.conflictRow{grid-template-columns:28px 1fr}.conflictRow>button{grid-column:2;width:max-content}}.resolveOverlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;color:#29273a;background:#23203994;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.resolveDialog{background:#fff;border-radius:22px;width:min(510px,100%);padding:25px;box-shadow:0 24px 80px #1c19314d}.resolveHead{grid-template-columns:42px 1fr 28px;align-items:center;gap:12px;display:grid}.resolveHead h2{margin:0;font-size:20px}.resolveHead p{color:#918c96;margin:4px 0 0;font-size:12px}.resolveHead>button{color:#777;cursor:pointer;background:#f1efec;border:0;border-radius:50%;width:28px;height:28px}.resolveMark{color:#3b9360;background:#e4f4ea;border-radius:13px;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.resolveConflict{background:#f8f6f2;border:1px solid #ece8e1;border-radius:14px;margin:21px 0;padding:14px}.resolveConflict>span{color:#a25535;background:#fff0e8;border-radius:8px;padding:3px 8px;font-size:10px;display:inline-block}.resolveConflict p{justify-content:space-between;gap:15px;margin:10px 0;font-size:13px;display:flex}.resolveConflict p b{color:#7770d8;white-space:nowrap}.resolveConflict i{text-align:center;color:#b1acb4;font-size:10px;font-style:normal;display:block}.resolveDialog>label{color:#716d77;gap:7px;margin-top:14px;font-size:12px;display:grid}.resolveDialog select,.resolveDialog textarea{resize:vertical;background:#fff;border:1px solid #dcd7d0;border-radius:10px;padding:11px}.resolveDialog select:focus,.resolveDialog textarea:focus{border-color:#7770d8;outline:2px solid #d7d3fa}.resolveDialog label.saveReason{color:#5f5a66;align-items:center;gap:8px;display:flex}.saveReason input{accent-color:#6e67d9}.resolveActions{justify-content:flex-end;gap:9px;margin-top:23px;display:flex}.resolveActions button{cursor:pointer;background:#fff;border:1px solid #ddd8d0;border-radius:10px;padding:10px 15px}.resolveActions button.confirm{color:#fff;background:#6e67d9;border-color:#6e67d9}.resolveActions button:disabled{opacity:.45;cursor:not-allowed}@media (width<=550px){.resolveDialog{padding:20px}.resolveConflict p{gap:3px;display:grid}}.guide{max-width:1050px}.guideHero{color:#fff;background:linear-gradient(135deg,#302d50,#49446f);border-radius:24px;grid-template-columns:1.15fr 1fr;gap:40px;margin-bottom:20px;padding:34px 38px;display:grid}.guideHero>div+div{border-left:1px solid #ffffff26;align-self:end;padding-left:40px}.guideHero span{letter-spacing:2px;color:#d7d2ff;font-size:10px}.guideHero h2{margin:10px 0 8px;font-size:27px}.guideHero h3{margin:0 0 8px;font-size:18px}.guideHero p{color:#cbc8dc;margin:0;font-size:13px;line-height:1.65}.guideRules{gap:10px;display:grid}.guideRules article{background:#fff;border:1px solid #e7e3dc;border-radius:16px;grid-template-columns:62px 1fr 1fr;gap:26px;padding:22px 25px;display:grid}.guideNumber{flex-direction:column;align-items:center;gap:6px;display:flex}.guideNumber i{color:#6e67d9;background:#eeebff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:19px;font-style:normal;display:grid}.guideNumber span{letter-spacing:1px;color:#aaa5ae;font-size:9px}.guideRules h3{margin:0 0 7px;font-size:15px}.guideRules p{color:#6e6974;margin:0;font-size:12px;line-height:1.7}.guideEn{border-left:1px solid #eeeae4;padding-left:26px}.guideEn h3{color:#6e67a7}.guideEn p{color:#88838d}.guideFooter{text-align:center;color:#514c79;background:#ece9fc;border-radius:15px;gap:5px;margin-top:18px;padding:18px;font-size:13px;display:grid}.guideFooter span{color:#77719b;font-size:11px}@media (width<=750px){.guideHero{grid-template-columns:1fr;gap:20px;padding:26px}.guideHero>div+div{border-top:1px solid #ffffff26;border-left:0;padding:18px 0 0}.guideRules article{grid-template-columns:48px 1fr;gap:14px}.guideEn{border-top:1px solid #eeeae4;border-left:0;grid-column:2;padding:14px 0 0}}.quality{color:#675f70;background:#faf9f6;border:1px solid #ded9d1;border-radius:7px;margin-top:7px;padding:5px 8px;font-size:11px;display:block}.profileTabs{gap:10px;margin-bottom:18px;display:flex}.profileTabs button{text-align:left;color:#777;background:#fff;border:1px solid #e3dfd8;border-radius:14px;align-items:center;gap:10px;padding:9px 15px;display:flex}.profileTabs button.active{border-color:#7770d8;box-shadow:0 0 0 2px #e3dffd}.profileTabs button>span{color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.profileTabs strong,.profileTabs small{display:block}.profileTabs small{margin-top:2px;font-size:9px}.profileHero{background:linear-gradient(125deg,var(--child),#312e50);color:#fff;border-radius:22px;grid-template-columns:65px 1fr auto;align-items:center;gap:18px;padding:28px 32px;display:grid}.bigAvatar{background:#ffffff25;border-radius:19px;place-items:center;width:60px;height:60px;font-size:28px;display:grid}.profileHero small{letter-spacing:1.5px;color:#ffffffb5;font-size:9px}.profileHero h2{margin:6px 0;font-size:23px}.profileHero p{color:#ffffffb8;margin:0;font-size:12px}.starBalance{text-align:right;grid-template-columns:auto auto;align-items:center;column-gap:8px;display:grid}.starBalance>span{color:#ffd86d;font-size:25px}.starBalance strong{font-size:35px}.starBalance small{grid-column:1/3}.growthStats{grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0;display:grid}.growthStats div{text-align:center;background:#fff;border:1px solid #e7e3dc;border-radius:13px;padding:15px}.growthStats strong,.growthStats span{display:block}.growthStats strong{font-size:20px}.growthStats span{color:#999;margin-top:4px;font-size:10px}.growthNav{border-bottom:1px solid #dedad3;margin:23px 0 18px;display:flex}.growthNav button{color:#888;background:0 0;border:0;padding:10px 17px;position:relative}.growthNav button.active{color:#625bc3;font-weight:600}.growthNav button.active:after{content:"";background:#6e67d9;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.timeline{gap:10px;display:grid}.timeline article{background:#fff;border:1px solid #e6e2dc;border-radius:14px;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:16px 19px;display:grid}.timelineIcon{color:#39805a;background:#e7f5ed;border-radius:12px;place-items:center;width:38px;height:38px;font-size:11px;font-weight:700;display:grid}.timelineIcon.exam{color:#655ec4;background:#eeebff}.timelineIcon.certificate{color:#a87820;background:#fff3d8}.timelineIcon.reward{background:#ffece7}.timeline small{color:#999;font-size:10px}.timeline h3{margin:3px 0;font-size:14px}.timeline p{color:#888;margin:0;font-size:11px}.timeline>article>strong{color:#d6a633}.timeline>article>strong.spent{color:#a48fa1}.growthForm{background:#fff;border:1px solid #e6e2dc;border-radius:17px;padding:23px}.growthForm h2,.rewardLayout h2{margin:0 0 18px;font-size:17px}.formGrid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.growthForm label{color:#777;gap:6px;font-size:11px;display:grid}.growthForm input,.growthForm select{background:#fff;border:1px solid #ddd8d0;border-radius:9px;padding:10px}.growthForm .wide{grid-column:1/3}.growthForm>button{color:#fff;background:#6e67d9;border:0;border-radius:9px;margin-top:17px;padding:10px 15px}.rewardLayout{grid-template-columns:1fr 310px;gap:20px;display:grid}.rewardCards{gap:9px;display:grid}.rewardCards article{background:#fff;border:1px solid #e6e2dc;border-radius:14px;grid-template-columns:38px 1fr auto auto 20px;align-items:center;gap:11px;padding:14px;display:grid}.rewardCards article>span{color:#9b741c;background:#fff1cf;border-radius:11px;place-items:center;width:35px;height:35px;display:grid}.rewardCards h3{margin:0;font-size:13px}.rewardCards p{color:#999;margin:3px 0 0;font-size:10px}.rewardCards strong{color:#d29e28;font-size:13px}.rewardCards button{color:#fff;background:#6e67d9;border:0;border-radius:8px;padding:7px 10px}.rewardCards button:disabled{background:#ccc}.rewardCards button.removeReward{color:#bbb;background:0 0;padding:0;font-size:17px}.rewardMessage{color:#367653;background:#e8f6ed;border-radius:9px;padding:9px;font-size:12px}@media (width<=750px){.profileHero{grid-template-columns:50px 1fr}.starBalance{text-align:left;grid-column:1/3;justify-content:start}.growthStats{grid-template-columns:1fr 1fr}.rewardLayout,.formGrid{grid-template-columns:1fr}.growthForm .wide{grid-column:auto}.rewardCards article{grid-template-columns:38px 1fr auto}.rewardCards article>button{grid-column:2}.rewardCards button.removeReward{grid-area:1/3}}.timeline article{grid-template-columns:42px minmax(0,1fr) auto auto}.timeline article.cancelled{opacity:.65}.timelineActions{gap:5px;display:flex}.timelineActions button{color:#6e67a0;cursor:pointer;background:#fff;border:1px solid #ddd8d0;border-radius:7px;padding:5px 8px;font-size:10px}.timelineActions button+button{color:#b26255}.growthForm>button.cancelEdit{color:#7770d8;background:0 0;border:1px solid #d9d4ee;margin-left:8px}.redemptionHistory{margin-top:27px}.redemptionHistory>h2{border-top:1px solid #e5e1da;padding-top:20px}.redemptionHistory article{background:#fff;border:1px solid #e5e1da;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-top:8px;padding:13px 15px;display:grid}.redemptionHistory article.cancelled{color:#999;background:#f5f3f0}.redemptionHistory strong,.redemptionHistory time,.redemptionHistory small{display:block}.redemptionHistory time{color:#8d8791;margin-top:4px;font-size:10px}.redemptionHistory small{color:#a26a60;margin-top:5px;font-size:10px}.redemptionHistory article>b{color:#ce9c2f;font-size:12px}.redemptionHistory button{color:#a95840;background:#fff0eb;border:0;border-radius:7px;padding:6px 9px;font-size:10px}.noRedemptions{color:#999;font-size:12px}@media (width<=700px){.timeline article{grid-template-columns:38px 1fr auto}.timelineActions{grid-column:2/4}.redemptionHistory article{grid-template-columns:1fr auto}.redemptionHistory button{grid-column:1/3;width:max-content}}.homeworkPage form.editingHomework{background:#f0eefb;border:1px solid #d8d3f5;border-radius:14px;grid-template-columns:130px 1fr 160px auto auto;padding:12px}.homeworkPage form button.cancelHomeworkEdit{color:#6e67d9;background:#fff;border:1px solid #cbc5ef;padding:0 16px}.task:has(.taskActions){grid-template-columns:28px minmax(0,1fr) auto}.taskActions{align-items:center;gap:5px;display:flex}.taskActions>button{color:#7770d8;cursor:pointer;background:0 0;border:0;padding:5px;font-size:11px}.taskActions>button.delete{color:#bbb;font-size:19px}@media (width<=800px){.homeworkPage form.editingHomework{grid-template-columns:1fr}.homeworkPage form button.cancelHomeworkEdit{padding:11px}}.authPage{background:#fff;grid-template-columns:minmax(420px,560px) 1fr;min-height:100vh;display:grid}.authPanel{flex-direction:column;justify-content:center;padding:clamp(35px,7vw,90px);display:flex}.authBrand{grid-template-columns:42px 1fr;align-items:center;margin-bottom:45px;display:grid}.authBrand>span{background:#f5c76b;border-radius:11px;grid-row:1/3;place-items:center;width:36px;height:36px;font-size:22px;display:grid}.authBrand strong{font-size:17px}.authBrand small{letter-spacing:1.5px;color:#999;font-size:8px}.privacyBadge{color:#347656;background:#e9f6ef;border-radius:15px;width:max-content;padding:6px 11px;font-size:10px}.authPanel h1{margin:16px 0 7px;font-size:29px}.authPanel>p{color:#88838e;margin:0 0 24px;font-size:13px}.authPanel form{gap:14px;display:grid}.authPanel label{color:#716d77;gap:6px;font-size:11px;display:grid}.authPanel input{border:1px solid #dcd7d0;border-radius:10px;padding:12px}.authPanel form>button{color:#fff;background:#6e67d9;border:0;border-radius:10px;margin-top:5px;padding:12px}.authError{color:#a84f3b;background:#fff0ec;border-radius:9px;padding:10px;font-size:11px}.authNote{color:#aaa;text-align:center;margin-top:18px;font-size:9px}.authVisual{color:#fff;background:linear-gradient(145deg,#292743,#4a456e);align-items:flex-end;padding:8vw;display:flex}.authVisual span{letter-spacing:2px;color:#d0caef;font-size:9px}.authVisual h2{margin:13px 0;font-size:38px;line-height:1.3}.authVisual p{color:#c1bed0}.accountButton{color:#fff;text-align:left;background:0 0;border:0;border-top:1px solid #45425f;flex-shrink:0;margin-top:0;padding:15px 18px}.accountButton span,.accountButton small{display:block}.accountButton small{color:#aaa8bb;margin-top:4px;font-size:9px}.privacyHero{color:#fff;background:linear-gradient(125deg,#312e50,#555078);border-radius:22px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:28px 34px;display:flex}.privacyHero small{letter-spacing:2px;color:#ccc7eb;font-size:9px}.privacyHero h2{margin:7px 0}.privacyHero p{color:#c5c1d4;margin:0;font-size:12px}.privacyShield{align-items:center;gap:9px;font-size:30px;display:flex}.privacyShield span{color:#d5d1e4;font-size:9px;line-height:1.4}.privacyLayout{grid-template-columns:1.3fr 1fr;gap:20px;display:grid}.memberCard .cardTitle>span{color:#999;font-size:11px}.memberCard article{border-top:1px solid #eeeae5;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:12px 0;display:grid}.memberAvatar{color:#625bc3;background:#ece9fc;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.memberCard small{color:#999;margin-top:3px;font-size:10px;display:block}.memberCard em{color:#347656;background:#e6f4ec;border-radius:7px;margin-left:6px;padding:2px 6px;font-size:8px;font-style:normal}.memberCard article>span{color:#777;font-size:10px}.inviteCard{margin-top:20px}.inviteCard>p,.privacyControls>p{color:#999;font-size:11px;line-height:1.6}.inviteCard form{grid-template-columns:1fr 160px auto;gap:7px;display:grid}.inviteCard input,.inviteCard select,.inviteResult input{background:#fff;border:1px solid #ddd8d0;border-radius:8px;padding:9px}.inviteCard button,.inviteResult button{color:#fff;background:#6e67d9;border:0;border-radius:8px;padding:9px 12px}.inviteResult{grid-template-columns:1fr auto;gap:6px;margin-top:13px;display:grid}.inviteResult span{color:#777;grid-column:1/3;font-size:10px}.privacyControls>a{color:#625bc3;background:#eeebff;border-radius:10px;margin:14px 0;padding:11px;text-decoration:none;display:block}.privacyFact{border-top:1px solid #eeeae5;gap:10px;padding:12px 0;display:flex}.privacyFact b{width:28px}.privacyFact span strong,.privacyFact span small{display:block}.privacyFact span strong{font-size:12px}.privacyFact span small{color:#999;margin-top:3px;font-size:9px;line-height:1.5}.auditCard{margin-top:20px}.auditCard article{border-top:1px solid #eeeae5;gap:10px;padding:9px 0;display:flex}.auditCard i{background:#7770d8;border-radius:50%;width:7px;height:7px;margin-top:5px}.auditCard strong,.auditCard small{font-size:10px;display:block}.auditCard small{color:#999;margin-top:3px}@media (width<=850px){.authPage{grid-template-columns:1fr}.authVisual{display:none}.privacyLayout{grid-template-columns:1fr}}@media (width<=600px){.authPage{display:block}.authPanel{min-height:100vh;padding:30px 22px}.inviteCard form{grid-template-columns:1fr}.memberCard article{grid-template-columns:34px 1fr}.memberCard article>span{grid-column:2}}.childManager{margin-bottom:20px}.childManager .cardTitle>span{color:#999;font-size:11px}.childManager article{border-top:1px solid #eeeae5;grid-template-columns:12px 1fr auto auto;align-items:center;gap:9px;padding:10px 0;display:grid}.childManager article>i{border-radius:50%;width:10px;height:10px}.childManager article>button{color:#7770d8;background:0 0;border:0;font-size:10px}.childManager article>button.danger{color:#b15c4e}.childManager form{grid-template-columns:1fr 45px auto auto;gap:7px;margin-top:13px;display:grid}.childManager form input{border:1px solid #ddd8d0;border-radius:8px;padding:8px}.childManager form input[type=color]{width:45px;padding:3px}.childManager form button{color:#fff;background:#6e67d9;border:0;border-radius:8px;padding:8px 11px}.childManager form button[type=button]{color:#6e67d9;background:#fff;border:1px solid #d8d3ee}.independentInvite{border-top:1px solid #e7e3dc;margin-top:20px;padding-top:18px}.independentInvite h3{margin:0;font-size:13px}.independentInvite>button{background:#302d50}.independentInvite p{color:#999;font-size:10px;line-height:1.5}@media (width<=600px){.childManager form{grid-template-columns:1fr 45px}.childManager form button{grid-column:auto}}.notificationSettings{grid-column:1/3;min-width:0}.notificationSettings .cardTitle>span{color:#4f8a66;font-size:10px}.channelChecks{gap:10px;margin-bottom:18px;display:flex}.channelChecks label{border:1px solid #e0dcd5;border-radius:14px;padding:7px 12px;font-size:11px}.channelChecks input{accent-color:#6e67d9;margin-right:6px}.notificationFormGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0;display:grid}.notificationFormGrid>*{min-width:0}.notificationFormGrid label{color:#777;gap:6px;font-size:10px;display:grid}.notificationFormGrid input,.notificationFormGrid select,.notificationFormGrid textarea{font:inherit;background:#fff;border:1px solid #ddd8d0;border-radius:8px;width:100%;min-width:0;max-width:100%;padding:9px}.notificationFormGrid select{text-overflow:ellipsis;display:block}.notificationFormGrid textarea{resize:vertical}.notificationFormGrid .wide{grid-column:span 2}.imessageGroupPicker{background:#faf9ff;border:1px solid #e5e0f5;border-radius:12px;gap:8px;min-width:0;padding:12px;display:grid;overflow:hidden}.groupPickerHeader{color:#777;justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex}.groupPickerHeader button{color:#5d55bc;cursor:pointer;background:#fff;border:1px solid #d8d1f2;border-radius:8px;padding:7px 10px}.groupPickerHeader button:disabled{opacity:.6;cursor:wait}.imessageGroupPicker .hint{margin:0}@media (width<=800px){.notificationSettings{grid-column:auto}.notificationFormGrid{grid-template-columns:1fr}.notificationFormGrid .wide{grid-column:auto}.channelChecks{flex-wrap:wrap}.groupPickerHeader{flex-direction:column;align-items:flex-start}}.memberActions{gap:5px;display:flex}.memberActions select{background:#fff;border:1px solid #ddd8d0;border-radius:7px;padding:5px;font-size:9px}.memberActions button{color:#a65340;background:#fff0ec;border:0;border-radius:7px;font-size:9px}.passwordCard{margin-top:20px}.passwordCard h2{margin-top:0;font-size:16px}.passwordCard form{gap:8px;display:grid}.passwordCard input{border:1px solid #ddd8d0;border-radius:8px;padding:9px}.passwordCard button{color:#fff;background:#302d50;border:0;border-radius:8px;padding:9px}@media (width<=600px){body{overflow-x:hidden}.shell{min-width:0}.shell aside{z-index:40;padding:max(8px, env(safe-area-inset-top)) 10px 8px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#292743f5;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid;position:sticky;top:0;box-shadow:0 6px 24px #29274324}.shell aside .brand,.shell aside .term{display:none}.shell aside nav{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;gap:5px;min-width:0;margin:0;padding:0 2px 3px;display:flex;overflow-x:auto}.shell aside nav::-webkit-scrollbar{display:none}.shell aside nav button{white-space:nowrap;scroll-snap-align:start;border-radius:11px;flex:none;min-height:42px;padding:9px 12px;font-size:13px}.shell aside nav button span{margin-left:6px}.shell aside .accountButton{text-align:center;border:1px solid #514d70;border-radius:11px;align-self:center;min-width:42px;min-height:42px;padding:7px 9px}.shell aside .accountButton span{text-overflow:ellipsis;white-space:nowrap;max-width:42px;font-size:10px;overflow:hidden}.shell aside .accountButton small{font-size:0}.shell aside .accountButton small:after{content:"退出";font-size:8px}.shell main{padding:20px 14px calc(28px + env(safe-area-inset-bottom))}header{align-items:flex-start;gap:12px}header h1{font-size:25px;line-height:1.15}header p{margin-bottom:5px;font-size:11px}.avatars{padding-top:2px}.avatars span{border-width:2px;width:32px;height:32px;font-size:12px}.filters,.profileTabs,.growthNav,.historyFilters,.channelChecks{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.filters{margin:20px 0;padding-bottom:3px}.filters button,.profileTabs button,.growthNav button,.historyFilters button{white-space:nowrap;flex:none}.hero{border-radius:18px;align-items:flex-start;padding:21px 20px}.hero strong{font-size:34px}.ring{width:68px;height:68px}.card{border-radius:16px;min-width:0;padding:18px}.cardTitle{align-items:flex-start;gap:10px;margin-bottom:16px}.cardTitle h2{font-size:16px}.event{grid-template-columns:105px minmax(0,1fr);gap:8px;font-size:12px}.weekGrid{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:min(84vw,330px);grid-auto-flow:column;gap:10px;margin-right:-14px;padding-right:14px}.day{scroll-snap-align:start;min-height:330px;padding:16px}.homeworkPage form,.homeworkPage form.editingHomework,.childManager form,.inviteCard form,.formGrid,.notificationFormGrid{grid-template-columns:minmax(0,1fr)}.homeworkPage form button,.homeworkPage form button.cancelHomeworkEdit,.childManager form button,.inviteCard form button,.growthForm>button,.sendTest{min-height:44px}.task:has(.taskActions){grid-template-columns:28px minmax(0,1fr)}.taskActions{flex-wrap:wrap;grid-column:2}.courseTop{flex-direction:column;align-items:stretch;gap:8px}.courseSearch{width:100%}.courseList{padding:4px 15px}.courseList article{grid-template-columns:minmax(0,1fr) auto}.courseList article>button:last-child{grid-column:2}.termCards article{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:17px;display:grid}.notificationSettings{grid-column:auto}.notificationSettings .cardTitle{display:grid}.notificationFormGrid .wide{grid-column:auto}.channelChecks{padding-bottom:5px}.channelChecks label{white-space:nowrap;flex:none}.groupPickerHeader{align-items:stretch}.groupPickerHeader button{min-height:42px}.preview pre{overflow-wrap:anywhere;max-width:100%;padding:14px;font-size:12px}.profileHero{border-radius:18px;padding:21px 19px}.growthStats div{padding:12px 8px}.timeline article{padding:14px}.rewardCards article{grid-template-columns:38px minmax(0,1fr) auto}.privacyHero{align-items:flex-start;padding:22px 20px}.privacyShield{display:none}.memberCard article,.childManager article{grid-template-columns:34px minmax(0,1fr)}.memberActions,.childManager article>button{grid-column:2}.memberActions{flex-wrap:wrap}.inviteResult{grid-template-columns:minmax(0,1fr)}.inviteResult span{grid-column:auto}.resolveOverlay{align-items:end;padding:10px}.resolveDialog{border-radius:20px 20px 14px 14px;max-height:calc(100dvh - 20px);padding:19px;overflow-y:auto}.resolveActions{grid-template-columns:1fr 1fr;display:grid}.resolveActions button{min-height:44px}.authPage{min-width:0}.authPanel{padding:28px 20px}}@media (width<=380px){.hero .ring{display:none}.event{grid-template-columns:92px minmax(0,1fr)}.profileHero{grid-template-columns:44px minmax(0,1fr);gap:12px}.bigAvatar{border-radius:14px;width:44px;height:44px;font-size:21px}}
