:root{--paper:#f4f1e9;--surface:#fffdf8;--ink:#26342d;--muted:#6d7469;--jade:#284b3f;--jade-light:#e9efe9;--red:#9f4235;--red-light:#f4e9e2;--line:#e4e2d8;--gold:#b08a43;--radius:16px;--shadow:0 8px 32px #26342d06}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b08a43;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,.serif{font-family:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif}h1{font-size:34px;line-height:1.4;letter-spacing:.04em}h2{font-size:23px;letter-spacing:.035em}h3{font-size:18px;line-height:1.55}small,.small-text{font-size:14px}svg{width:22px;height:22px;flex-shrink:0;vertical-align:middle}img{display:block;max-width:100%;object-fit:cover}button{border:0;background:none}button svg{pointer-events:none}.skip-link{position:absolute;top:-60px;left:260px;z-index:50;background:var(--jade);color:white;padding:10px}.skip-link:focus{top:10px}
.sidebar{position:fixed;inset:0 auto 0 0;width:236px;padding:36px 22px 24px;border-right:1px solid var(--line);background:#f8f6ef;z-index:20;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 6px}.brand-symbol{font-size:42px;line-height:1;color:var(--jade)}.brand strong{display:block;font-family:"Songti SC","STSong",serif;font-size:26px;letter-spacing:.1em;line-height:1.4}.brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:.08em;margin-top:4px}.side-label{font-size:13px;color:#90958c;letter-spacing:.1em;margin:46px 14px 14px}.nav-item{display:flex;gap:15px;align-items:center;min-height:52px;padding:12px 16px;border-radius:8px;margin-bottom:7px;color:#667369;font-size:16px;position:relative}.nav-item.active{background:var(--jade);color:#fff}.nav-item:hover:not(.active){background:#ebece3}.side-bottom{margin-top:auto;padding-top:30px}.verse{font-family:"Songti SC","STSong",serif;color:#8b9487;letter-spacing:.18em;line-height:2;padding:18px 14px 25px;font-size:18px}.side-divider{height:1px;background:var(--line);margin:8px}.profile-shortcut{display:flex;gap:12px;align-items:center;text-align:left;padding:16px 8px 0;width:100%}.profile-shortcut b{font-size:15px}.profile-shortcut small{display:block;color:var(--muted);margin-top:2px;font-size:12px}.avatar{width:46px;height:46px;border-radius:50%;background:#e8e1d4;display:inline-flex;justify-content:center;align-items:center;color:#77674c;font-family:"Songti SC",serif;font-size:20px;flex-shrink:0;border:1px solid #d9d0bf}.avatar.small{width:35px;height:35px;font-size:16px}.avatar.jade{background:#e3eae1;color:var(--jade);border-color:#d2ddcf}.avatar.red{background:#f0ded4;color:#94493b;border-color:#e4cabe}.avatar.gold{background:#efe4c7;color:#8d6c26;border-color:#e4d7b0}.app-shell{margin-left:236px}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 42px;background:#f8f6f0}.breadcrumb{color:#889086;font-size:14px;display:flex;gap:15px;align-items:center}.breadcrumb b{color:var(--ink);font-weight:500}.breadcrumb span{color:#c0c5b9}.top-actions{display:flex;align-items:center;gap:19px}.demo-label{background:#eceade;border:1px solid #dfddcf;color:#777969;border-radius:5px;font-size:12px;padding:3px 10px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%}.icon-button:hover{background:#eaece4}.mobile-brand{display:none}main{max-width:1330px;margin:auto;padding:35px 42px 28px;min-height:calc(100vh - 170px)}.page-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:25px}.eyebrow{color:var(--red);font-size:12px;letter-spacing:.16em;margin-bottom:8px;font-weight:600}.page-heading p{color:var(--muted);font-size:15px;margin-top:7px}.date-badge{color:#7b8377;font-size:14px;text-align:right}.date-badge b{display:block;font-family:"Songti SC",serif;font-size:20px;letter-spacing:.12em;color:var(--ink)}.hero{border-radius:18px;min-height:292px;position:relative;background:#dde4d5;overflow:hidden;margin-bottom:25px;display:flex;align-items:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#e4e9dd 0%,#e4e9dde8 34%,#e4e9dd45 65%,transparent 100%);pointer-events:none}.hero-content{position:relative;z-index:2;padding:35px 38px;max-width:520px}.hero h2{font-size:38px;line-height:1.45;letter-spacing:.08em;margin-bottom:13px}.hero p{color:#64765f;font-size:15px;margin-bottom:25px}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-position:center 22%}.hero .eyebrow{color:#54744f;font-size:13px;letter-spacing:.18em;display:flex;align-items:center;gap:9px}.hero .eyebrow:before{content:"";width:25px;height:1px;background:#63815d}.hero-mark{position:absolute;right:35px;bottom:22px;z-index:2;writing-mode:vertical-rl;color:#4c6453;font-family:"Songti SC",serif;font-size:18px;letter-spacing:.18em}.button{display:inline-flex;gap:9px;justify-content:center;align-items:center;min-height:46px;padding:10px 20px;border-radius:7px;font-size:15px;font-weight:500;background:var(--jade);color:white}.button:hover{background:#1c3a2e}.button.secondary{background:var(--surface);color:var(--jade);border:1px solid #d4ddcf}.button.secondary:hover{background:#edf1e9}.button.red{background:var(--red)}.button.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.button.wide{width:100%}.button.small-btn{font-size:14px;min-height:38px;padding:7px 13px}.text-button{font-size:14px;color:var(--muted);padding:6px;display:inline-flex;gap:5px;align-items:center}.text-button:hover{color:var(--jade)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0 17px}.section-title h2{font-size:23px}.section-title .sub{font-size:13px;color:var(--muted);margin-left:12px;font-family:-apple-system,"PingFang SC",sans-serif;letter-spacing:0}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.quick-card{display:flex;gap:15px;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:19px 20px;min-height:96px;box-shadow:var(--shadow)}.quick-card:hover{border-color:#b4c2ae;transform:translateY(-1px)}.quick-icon{width:48px;height:48px;border-radius:10px;background:var(--jade-light);display:flex;justify-content:center;align-items:center;color:var(--jade);flex-shrink:0}.quick-card:nth-child(2) .quick-icon{background:var(--red-light);color:var(--red)}.quick-card:nth-child(3) .quick-icon{background:#f2eddd;color:#a0823c}.quick-card b{font-size:17px}.quick-card p{color:var(--muted);font-size:13px;margin-top:3px}.two-col{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:24px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-align:left;box-shadow:var(--shadow)}.course-cover{aspect-ratio:1.85;position:relative;overflow:hidden;background:#dbe1d4}.course-cover img{height:100%;width:100%;transition:transform .4s}.course-card:hover .course-cover img{transform:scale(1.035)}.course-cover:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#172c2550);pointer-events:none}.cover-tag{position:absolute;z-index:1;top:12px;left:12px;color:#fff;background:#263e35bb;font-size:12px;padding:2px 9px;border-radius:4px}.cover-time{position:absolute;z-index:1;right:10px;bottom:10px;background:#1b2c25bb;color:#fff;font-size:12px;padding:1px 7px;border-radius:3px}.play-small{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);height:42px;width:42px;background:#ffffffdd;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--jade)}.course-body{padding:16px 18px 17px}.course-body h3{font-size:17px}.course-body p{font-size:13px;color:var(--muted);margin:7px 0 11px}.course-meta{display:flex;justify-content:space-between;gap:6px;color:#818879;font-size:12px}.course-meta span:first-child{color:var(--red)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:23px}.panel h3{font-family:"Songti SC",serif;font-size:21px}.muted{color:var(--muted)}.streak-number{font-family:Georgia,serif;font-size:46px;color:var(--jade);line-height:1.2}.streak-number small{font-family:-apple-system,"PingFang SC",sans-serif;font-size:14px;margin-left:7px}.week{display:flex;justify-content:space-between;gap:6px;margin:20px 0}.day{text-align:center;font-size:12px;color:var(--muted)}.day-circle{width:31px;height:31px;border-radius:50%;background:#f0f0e6;display:flex;align-items:center;justify-content:center;margin-bottom:6px;color:#a4ad9c}.day-circle.done{background:var(--jade);color:white}.day-circle.today{border:1px dashed var(--jade);color:var(--jade)}.day-circle svg{width:16px;height:16px}.quote{font-family:"Songti SC",serif;border-left:2px solid #b5c2a8;padding-left:15px;margin-top:20px;font-size:16px;letter-spacing:.04em;color:#727e6e}.site-footer{max-width:1330px;margin:auto;padding:18px 42px 28px;display:flex;gap:20px;align-items:center;font-size:12px;color:#969c90}.site-footer span{flex:1}.site-footer button{font-size:12px;color:#969c90}.bottom-nav{display:none}.toast{position:fixed;z-index:100;bottom:34px;left:calc(50% + 118px);transform:translate(-50%,20px);max-width:90vw;padding:12px 23px;background:#253b33;color:#fff;border-radius:10px;box-shadow:0 12px 45px #15271b22;font-size:15px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);width:min(690px,calc(100% - 32px));max-height:88vh;padding:0;box-shadow:0 20px 80px #18272040}dialog::backdrop{background:#17281d66;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 27px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:23px}.modal-body{padding:25px 27px}.modal-foot{padding:20px 27px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:12px}.modal-body p{margin-bottom:13px}.notice{padding:12px 16px;border-radius:7px;background:#f0eee4;color:#77735d;font-size:14px;line-height:1.7}.empty-state{text-align:center;padding:55px 25px;color:var(--muted)}
@media(min-width:1600px){main{padding-top:45px}.hero{min-height:330px}}
@media(max-width:1150px){.sidebar{width:206px;padding:30px 16px}.app-shell{margin-left:206px}.brand strong{font-size:23px}.brand small{font-size:11px}.topbar{padding:0 28px}main{padding:28px}.site-footer{padding:18px 28px}.course-grid{gap:14px}.two-col{gap:18px;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr)}.hero h2{font-size:34px}.toast{left:calc(50% + 103px)}}
@media(max-width:900px){.sidebar{width:178px;padding:28px 13px}.app-shell{margin-left:178px}.brand{gap:7px;padding:0}.brand strong{font-size:21px}.brand-symbol{font-size:35px}.brand small{font-size:10px;letter-spacing:0}.nav-item{padding:12px;gap:12px}.two-col{grid-template-columns:1fr}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-card{padding:15px 13px;gap:10px}.quick-icon{width:39px;height:39px}.quick-card b{font-size:15px}.quick-card p{font-size:12px}.hero-content{padding:29px}.hero h2{font-size:32px}.hero p{font-size:14px}.toast{left:calc(50% + 89px)}}
@media(max-width:700px){.sidebar,.breadcrumb{display:none}.app-shell{margin-left:0}.topbar{height:69px;padding:0 20px;position:sticky;top:0;z-index:15;background:#f8f6eff5;backdrop-filter:blur(12px)}.mobile-brand{display:flex;gap:8px;align-items:center;font-family:"Songti SC",serif;font-size:21px;letter-spacing:.05em}.mobile-brand .brand-symbol{font-size:30px}.top-actions{gap:8px}.top-actions .avatar{display:none}.demo-label{font-size:12px}.top-actions .icon-button{width:35px}.bottom-nav{position:fixed;z-index:25;bottom:0;left:0;right:0;padding:8px 4px max(8px,env(safe-area-inset-bottom));background:#fffdf8f5;backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;justify-content:space-around}.bottom-item{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;color:#838c7e;min-height:47px;justify-content:center;flex:1}.bottom-item.active{color:var(--jade);font-weight:600}.bottom-item.ai svg{background:var(--jade);color:#fff;border-radius:9px;width:34px;height:31px;padding:5px}.bottom-item svg{width:21px;height:21px}main{padding:25px 19px;min-height:calc(100vh - 170px)}.page-heading{margin-bottom:20px}.page-heading h1{font-size:27px}.page-heading p{font-size:14px;max-width:230px}.date-badge{font-size:12px}.date-badge b{font-size:16px}.hero{min-height:305px;margin-bottom:19px;border-radius:13px}.hero-content{padding:25px;max-width:85%}.hero h2{font-size:31px}.hero:after{background:linear-gradient(90deg,#e4e9ddf5,#e4e9dddd 42%,#e4e9dd22 100%)}.hero p{max-width:175px;margin-bottom:23px;font-size:14px}.hero-mark{right:17px;bottom:17px;font-size:15px}.quick-grid{gap:10px;margin-bottom:23px}.quick-card{display:flex;flex-direction:column;align-items:flex-start;padding:14px 12px;gap:10px;border-radius:10px;min-height:140px}.quick-icon{width:37px;height:37px;border-radius:8px}.quick-card b{font-size:15px}.quick-card p{font-size:12px}.section-title{margin-top:24px}.section-title h2{font-size:21px}.section-title .sub{display:none}.course-grid{gap:12px}.course-body{padding:13px 12px}.course-body h3{font-size:16px}.course-body p{font-size:12px}.course-meta{font-size:11px}.course-cover{aspect-ratio:1.45}.cover-tag,.cover-time{font-size:11px}.cover-tag{top:8px;left:8px}.play-small{width:35px;height:35px}.panel{padding:20px}.site-footer{padding:15px 19px 95px;gap:13px}.site-footer span{display:none}.site-footer button{margin-left:auto}.toast{bottom:92px;left:50%;width:max-content;max-width:calc(100vw - 32px)}.modal-head,.modal-body,.modal-foot{padding:20px}.button{min-height:48px}.profile-shortcut small,.side-label{font-size:14px}}
.flex-between{display:flex;align-items:center;justify-content:space-between;gap:16px}.gap-top{margin-top:18px}.gap-bottom{margin-bottom:20px}.center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.badge{display:inline-block;background:var(--jade-light);color:var(--jade);font-size:12px;border-radius:4px;padding:3px 9px;line-height:1.5}.gold-badge{background:#f2ead5;color:#8d6c26}.tabs{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:4px 0 25px}.tab{padding:10px 17px;border-radius:7px;min-height:44px;color:#727c6d;font-size:15px;white-space:nowrap}.tab:hover{background:#e9ece2}.tab.active{background:var(--jade);color:#fff}.course-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:start}.course-tools .tabs{margin-bottom:5px;gap:3px}.course-tools .tab{padding:9px 14px}.search-box{display:flex;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:0 12px;gap:9px;min-height:44px;max-width:260px}.search-box svg{color:#8c9587;width:19px}.search-box input{border:0;outline:none;background:none;width:100%;padding:9px 0;min-width:0;font-size:14px;color:var(--ink)}.teacher-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.teacher-card{display:flex;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:18px;padding:18px}.teacher-card img{width:86px;height:110px;border-radius:8px;object-position:65% center}.teacher-card h3{margin:6px 0 2px}.teacher-card p{font-size:14px;color:var(--muted)}.teacher-card>svg{margin-left:auto;width:18px}.teacher-intro{display:flex;align-items:center;gap:24px;margin-bottom:25px}.teacher-intro img{width:135px;height:150px;border-radius:12px;object-position:65% center}.teacher-intro h2{margin:12px 0}.video-player{display:block;width:100%;aspect-ratio:16/9;border-radius:10px;background:#18231e;object-fit:contain}.video-help{display:none;margin:10px 0}.video-caption{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:12px 0 23px}.video-caption .small-text{font-size:12px}.wide-modal{width:min(820px,calc(100% - 32px))}.course-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.course-detail-head p{margin:6px 0}.lesson-points{padding:16px 19px;border-left:2px solid #aab899;background:#eef0e8;font-size:15px;margin:20px 0}.lesson-points p{color:var(--muted);margin:5px 0 0}.chapter-list{margin-top:12px}.chapter{display:flex;align-items:center;gap:16px;min-height:52px;text-align:left;width:100%;border-bottom:1px solid var(--line);padding:13px 12px;font-size:15px}.chapter.active{background:#edf0e6;border-radius:6px}.chapter-no{color:#8b9684;font-family:Georgia;font-size:17px}.chapter-status{margin-left:auto;color:var(--jade)}.chapter-status svg{width:17px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;color:#64715f}.field input,.field select,.field textarea,.inline-form input,.chat-compose input{width:100%;border:1px solid #daddcf;background:#fffefb;color:var(--ink);border-radius:7px;padding:12px 14px;min-height:46px;resize:vertical;outline:none;font-size:16px}.field input:focus,.field select:focus,.field textarea:focus,.inline-form input:focus,.chat-compose input:focus{border-color:#829c72}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:22px 0}.modal-inline-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.analysis-disclaimer{display:flex;align-items:center;gap:9px}.analysis-disclaimer svg{width:19px}.steps{display:flex;gap:0;margin:30px 0;justify-content:center}.step{display:flex;align-items:center;gap:10px;color:#9a9f93;font-size:14px;position:relative;padding-right:65px}.step:last-child{padding:0}.step:not(:last-child):after{content:"";position:absolute;right:15px;top:50%;width:36px;height:1px;background:var(--line)}.step>span{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border:1px solid #d8ddcf;border-radius:50%;font-size:13px}.step.active{color:var(--jade)}.step.active>span{background:var(--jade);color:white;border-color:var(--jade)}.practice-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:24px}.upload-panel{padding:28px}.upload-zone{border:1px dashed #b8c5af;border-radius:10px;min-height:280px;text-align:center;margin:23px 0 14px;padding:26px 20px;background:#f3f5ec}.upload-zone h3{margin:10px 0 7px}.upload-zone .button{margin:18px 0 10px}.upload-zone.has-video{padding:12px;border-style:solid}.upload-zone.dragging{background:#e3eedc;border-color:var(--jade)}.upload-emblem{height:56px;width:56px;border-radius:50%;background:#e7eddf;display:flex;align-items:center;justify-content:center;margin:5px auto;color:#708965}.upload-emblem svg{width:27px;height:27px}.selected-file{display:flex;align-items:center;gap:8px;color:var(--jade);font-size:14px;text-align:left;padding:12px 2px 0}.selected-file span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file .button{margin:0;font-size:12px}.sample-row{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:13px;color:var(--muted)}.sample-row>span{display:flex;align-items:center;gap:7px}.sample-row svg{width:16px}.practice-aside .panel+.panel{margin-top:21px}.tip-list{margin-top:22px}.tip-list>div{display:flex;gap:15px;margin-top:22px}.tip-list>div>span{font-family:Georgia;color:#93a28a;font-size:23px}.tip-list b{display:block;font-size:15px;margin-bottom:4px}.tip-list small{color:var(--muted);font-size:14px;display:block;line-height:1.75}.jade-panel{background:var(--jade);color:#e9eee5;padding:28px}.jade-panel h3{font-family:"Songti SC",serif;font-size:25px;line-height:1.8}.jade-panel p{font-size:14px;color:#b9cbbb;margin-top:17px}.quote-symbol{font-family:Georgia;font-size:45px;color:#98af93;line-height:1}.progress{height:6px;background:#e9ebdf;border-radius:5px;overflow:hidden;margin:20px 0 14px}.progress>span{display:block;height:100%;background:var(--jade);border-radius:5px;transition:width .5s}.processing{text-align:center;max-width:740px;margin:25px auto;padding:65px 50px}.analysis-orbit{height:92px;width:92px;border-radius:50%;border:1px solid #b6c8a8;display:flex;align-items:center;justify-content:center;margin:0 auto 28px;box-shadow:0 0 0 13px #eef2e6}.analysis-orbit svg{width:36px;height:36px;color:var(--jade);animation:pulse 1.6s infinite}.processing .progress{margin:30px 0 12px}.processing-checks{display:flex;gap:10px;justify-content:center;align-items:center;margin:22px 0;color:#829479;font-size:13px}.processing-checks svg{width:16px}.report-top{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:24px}.report-top h2{margin:10px 0 5px}.report-actions{display:flex;gap:10px}.report-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:23px}.report-media{padding:17px}.timeline-notes{display:flex;gap:8px;flex-wrap:wrap}.timeline-notes button{flex:1;border:1px solid var(--line);border-radius:6px;min-height:50px;font-size:13px;color:var(--muted);padding:7px 10px}.timeline-notes span{display:block;font-size:12px;color:var(--red)}.score-panel{text-align:center;padding:25px}.score-ring{height:125px;width:125px;margin:16px auto 17px;border-radius:50%;background:conic-gradient(var(--jade) 0 78%,#e6eadc 78%);padding:6px}.score-ring>div{height:100%;width:100%;background:var(--surface);border-radius:50%;display:flex;align-items:baseline;justify-content:center;padding-top:25px;gap:5px}.score-ring strong{font-size:46px;font-family:Georgia;font-weight:500;color:var(--jade)}.score-ring span{font-size:12px;color:#89917f}.score-panel h3{font-size:17px}.score-bars{margin-top:23px;text-align:left}.score-bars>div{position:relative;display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:13px;font-size:13px;color:var(--muted)}.score-bars b{color:var(--jade);font-weight:500}.metric-track{width:100%;height:4px;background:#eceee3;margin-top:7px;border-radius:3px}.metric-track i{display:block;height:4px;background:#a2b79a;border-radius:3px}.suggestion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.suggestion{position:relative;padding:23px 21px}.suggestion h3{padding-left:33px;margin-bottom:17px}.suggestion-no{position:absolute;font-family:Georgia;color:#aaa78c;font-size:22px;top:19px}.suggestion p{font-size:14px;color:var(--muted)}.suggestion-advice{background:#edf0e6;padding:13px;font-size:14px;color:#58704f;border-radius:6px;margin:16px 0}.suggestion .text-button{font-size:13px;padding:0}.community-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(245px,1fr);gap:25px}.community-layout>div{min-width:0}.feed-filter .tabs{margin-bottom:17px;gap:5px}.feed-filter .tab{font-size:13px;padding:7px 11px;min-height:37px;background:#ebece2}.feed-filter .tab.active{background:#dce5d4;color:var(--jade)}.feed{display:flex;flex-direction:column;gap:21px}.post-card{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.post-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.post-author{display:flex;gap:12px;align-items:center;text-align:left;padding:0}.post-author b{font-size:16px}.post-author small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.post-text{font-size:16px;line-height:1.9;margin:19px 0;white-space:pre-wrap;overflow-wrap:anywhere}.post-image-button{padding:0;width:100%}.post-media{width:100%;max-height:340px;object-fit:cover;border-radius:8px;background:#172c25}.post-actions{display:flex;gap:27px;align-items:center;margin-top:18px;color:#899180;font-size:13px}.post-actions button{display:flex;gap:7px;align-items:center;padding:5px 0;min-height:36px;color:inherit}.post-actions svg{width:18px;height:18px}.post-actions .liked{color:var(--red)}.post-actions .liked svg{fill:#f1dad2}.post-circle{margin-left:auto;color:#8a967c;font-size:12px}.community-stats{display:flex;gap:30px;margin:25px 0}.community-stats b{font-family:Georgia;font-size:27px;font-weight:400;display:block;color:var(--jade)}.community-stats span{display:block;font-size:12px;color:var(--muted)}.circle-shortcut{padding:13px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);width:100%;font-size:14px}.circle-shortcut>span{display:flex;gap:12px;align-items:center}.circle-shortcut svg{width:18px;color:#809272}.circle-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.circle-card h3{margin:12px 0 7px}.circle-card p{line-height:1.9}.circle-emblem{display:flex;height:50px;width:50px;justify-content:center;align-items:center;background:#e9eddf;color:var(--jade);border-radius:11px}.circle-members{font-size:12px;color:#99a18f;margin:18px 0}.local-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}.local-heading .field{min-width:95px}.friend-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.friend-card{padding:22px}.friend-profile{display:flex;gap:12px;align-items:center;text-align:left;padding:0;margin-bottom:14px}.friend-profile small{color:var(--muted);font-size:12px}.friend-bio{margin:14px 0 19px;font-size:14px;line-height:1.8;min-height:50px}.friend-actions{display:flex;gap:10px}.friend-intro{text-align:center;margin-bottom:20px}.friend-intro .avatar{height:70px;width:70px;font-size:30px;margin-bottom:15px}.mini-panel{padding:17px;margin:22px 0;background:#f4f4ed}.mini-panel p{font-size:14px}.mini-panel svg{width:17px;margin-right:6px;color:#839075}.event-grid{display:grid;grid-template-columns:1fr;gap:20px}.event-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;grid-template-columns:40% 1fr}.event-image{position:relative;padding:0;overflow:hidden;min-height:215px}.event-image img{height:100%;width:100%;object-position:65% center}.event-body{padding:20px 22px}.event-date{color:var(--red);font-size:13px;display:flex;align-items:center;gap:6px}.event-date svg{width:16px}.event-body h3{margin:8px 0 13px;font-size:18px}.event-body p{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);margin:5px 0}.event-body p svg{width:16px;height:16px}.event-body .flex-between{margin-top:17px}.event-card.compact{grid-template-columns:40% 1fr}.event-detail-image{aspect-ratio:2.5;width:100%;border-radius:9px}.event-info{display:flex;flex-direction:column;gap:9px;margin:20px 0}.event-info span{font-size:14px;color:var(--muted);display:flex;gap:8px;align-items:center}.event-info svg{width:17px}.agenda{border-left:2px solid #c9d3bd;margin:18px 0;padding-left:18px;color:var(--muted);font-size:14px}.agenda p{margin:10px 0}.association{position:relative;overflow:hidden;padding:25px}.seal{position:absolute;right:23px;top:22px;border:1px solid #b4725e;padding:7px 8px;color:var(--red);font-family:"Songti SC",serif;font-size:16px;line-height:1.2;border-radius:3px;transform:rotate(3deg)}.association h3{font-size:21px;margin-top:10px;max-width:220px}.association .button{margin-top:22px}.association-detail{position:relative;padding:20px 75px 35px 0}.association-detail .seal{top:12px}.comment-list{border-top:1px solid var(--line);margin:22px 0 18px;padding-top:7px}.comment{font-size:14px;padding:13px 0;border-bottom:1px solid var(--line)}.comment b{color:var(--jade)}.comment p{margin:5px 0 0;color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap}.inline-form{display:flex;gap:10px}.inline-form input{min-width:0;font-size:14px}.inline-form .button{flex-shrink:0;font-size:14px;padding:10px 14px}.attachment-picker{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--jade);font-size:14px;margin:20px 0 13px}.attachment-picker input{font-size:12px;max-width:100%}.attachment-picker svg{width:19px}.member-banner{position:relative;overflow:hidden;background:var(--jade);color:#f4f2e7;border-radius:15px;display:flex;gap:23px;align-items:center;padding:32px 35px}.member-banner>.avatar{height:84px;width:84px;font-size:35px;background:#dddbbf;border:3px solid #ffffff22}.member-name{display:flex;align-items:center;gap:18px}.member-name h2{font-size:28px}.member-tag{background:#48604b;color:#dcd8b3;font-size:12px;padding:3px 11px;border-radius:4px}.member-info>p{font-size:14px;color:#b7c6b5;margin-top:5px}.member-info>.member-bio{color:#d2dace;font-size:13px;margin-top:8px}.member-info .text-button{color:#e4dbc0;padding:7px 0 0;font-size:12px}.member-yin{position:absolute;font-size:195px;right:20px;top:-5px;color:#ffffff06;line-height:1.2;pointer-events:none}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:23px 0;overflow:hidden}.stat-grid button{padding:24px 10px;position:relative}.stat-grid button:not(:last-child):after{content:"";position:absolute;top:23px;bottom:23px;right:0;width:1px;background:var(--line)}.stat-grid strong{font-family:Georgia;font-size:31px;font-weight:400;color:var(--jade);display:block}.stat-grid span{font-size:13px;color:var(--muted)}.stat-grid svg{width:13px;height:13px}.level-progress{margin-top:28px;height:7px}.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.achievement{background:var(--surface);border:1px solid var(--line);padding:23px 13px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:10px}.achievement>span{width:54px;height:54px;border-radius:50%;background:#eee6cc;color:#a4823b;display:flex;align-items:center;justify-content:center;border:1px solid #e2d3ad;box-shadow:0 0 0 5px #f7f2e4;margin:6px 0 7px}.achievement svg{height:27px;width:27px}.achievement b{font-size:15px}.achievement small{font-size:12px;color:var(--muted)}.achievement.locked>span{background:#e7e9df;color:#a6ad9b;border-color:#d8ddcf;box-shadow:0 0 0 5px #f0f1e8}.achievement.locked b{color:#929a89}.profile-links{display:grid;grid-template-columns:1fr 1fr;gap:15px}.profile-link{display:flex;align-items:center;gap:16px;padding:21px;background:var(--surface);border:1px solid var(--line);border-radius:10px;text-align:left}.link-icon{background:#ecf0e5;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:9px;color:var(--jade)}.profile-link b{font-size:15px}.profile-link small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.profile-link>svg{margin-left:auto;color:#899681;width:17px}.back-link{margin:-5px 0 17px;padding-left:0}.back-link svg{width:17px}.rank-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:30px 0 24px}.podium{background:var(--surface);border:1px solid var(--line);text-align:center;padding:23px 15px;border-radius:13px}.podium-1{background:#f5eedb;border-color:#ddd0aa}.podium-medal{display:flex;gap:5px;justify-content:center;align-items:center;color:#ac8943;font-size:13px;margin-bottom:16px}.podium .avatar{height:56px;width:56px;font-size:24px;margin:0 auto 10px}.podium h3{font-size:17px}.podium p{font-size:12px;color:var(--muted);margin:5px 0 13px}.podium strong{font-family:Georgia;font-size:30px;font-weight:400;color:var(--jade)}.podium strong small{font-size:12px;font-family:inherit;margin-left:5px;color:var(--muted)}.ranking-panel{padding:0 25px}.rank-row{display:grid;grid-template-columns:70px 1fr 120px;gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.rank-row:last-child{border:0}.rank-head{font-size:13px;color:var(--muted);padding:15px 0}.rank-head>span:last-child,.rank-row>strong{text-align:right}.rank-number{font-family:Georgia;color:#929c86;font-size:20px}.rank-person{display:flex;gap:12px;align-items:center}.rank-person b{font-size:14px}.rank-person small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.rank-person em{font-style:normal;font-size:11px;background:var(--jade);color:#fff;padding:1px 6px;border-radius:3px;margin-left:5px}.rank-row>strong{font-family:Georgia;color:var(--jade);font-weight:400;font-size:21px}.my-rank{background:#edf0e4;margin:0 -12px;padding:18px 12px;border-radius:7px}.rank-summary{padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px;color:var(--muted)}.rank-summary svg{width:18px;color:var(--jade);margin-right:7px}.learning-list{display:flex;flex-direction:column;gap:18px}.learning-item{display:flex;gap:24px;align-items:center}.learning-item img{width:150px;height:115px;border-radius:8px;object-position:70% center}.learning-item>div{flex:1}.learning-item h3{margin:7px 0}.learning-item .progress{max-width:300px}.report-history{display:flex;flex-direction:column;gap:16px}.report-history-item{display:flex;align-items:center;text-align:left;gap:24px}.report-history-item>div{flex:1}.report-history-item>svg{color:#8da17d;width:18px}.report-history-item p{color:var(--muted);font-size:14px;margin-top:5px;overflow-wrap:anywhere}.report-history-item small{color:#949b89;font-size:12px}.history-score{font-family:Georgia;font-size:38px;color:var(--jade);width:76px;text-align:center;border-right:1px solid var(--line);padding-right:18px}.history-score small{display:block;font-family:-apple-system,"PingFang SC",sans-serif;font-size:11px}.chat-layout{display:grid;grid-template-columns:240px 1fr;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--surface);min-height:490px}.chat-contacts{border-right:1px solid var(--line);background:#f8f7ef;padding:12px}.chat-contact{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:16px 12px;border-radius:7px}.chat-contact.active{background:#e6ecdF}.chat-contact b{font-size:15px}.chat-contact small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.chat-panel{display:flex;flex-direction:column;min-width:0}.chat-head{display:flex;gap:12px;align-items:center;min-height:68px;padding:15px 22px;border-bottom:1px solid var(--line)}.chat-head b{font-size:15px}.chat-head .text-button{margin-left:auto;font-size:12px}.chat-scroll{height:340px;padding:23px;overflow-y:auto}.chat-message{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:22px}.chat-message.mine{align-items:flex-end}.chat-bubble{padding:12px 16px;background:#edeFE5;border-radius:0 11px 11px 11px;max-width:85%;font-size:15px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.mine .chat-bubble{background:var(--jade);color:white;border-radius:11px 0 11px 11px}.chat-message small{font-size:11px;color:#9ca18f;margin:6px 3px}.chat-compose{display:flex;gap:11px;padding:18px;border-top:1px solid var(--line);margin-top:auto}.chat-compose input{min-width:0;font-size:14px}.chat-compose .button{flex-shrink:0}.points-balance{text-align:center;background:#edf0e5;border-radius:10px;padding:22px;margin-bottom:24px}.points-balance strong{font-family:Georgia;font-size:46px;color:var(--jade);display:block}.points-balance span{font-size:13px;color:var(--muted)}.rule-list{margin:16px 0}.rule-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.rule-list b{color:var(--gold);white-space:nowrap}.rule-list small{display:block;color:var(--muted);font-size:12px}.success-emblem{display:flex;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 25px;border-radius:50%;background:#e5edda;color:var(--jade);box-shadow:0 0 0 9px #f2f4e9}.success-emblem svg{width:34px;height:34px}.gold-emblem{color:#a17d38;background:#f0e7c9;box-shadow:0 0 0 9px #f6f0df}.earned-box{text-align:center;color:var(--gold);font-family:Georgia;font-size:43px;margin:25px 0}.earned-box span{font-family:-apple-system,"PingFang SC",sans-serif;font-size:14px;display:block;color:var(--muted);margin-top:2px}.demo-features{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:24px 0}.demo-features>div{font-size:14px;display:flex;gap:9px;align-items:center;padding:14px;background:#f0f2e8;border-radius:6px}.demo-features svg{width:19px;color:var(--jade)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0 25px;border-bottom:1px solid var(--line)}.settings-row h3{font-size:17px}.settings-row p{margin:7px 0 0}.toggle{width:48px;height:28px;background:#d6dbce;border-radius:20px;padding:4px;flex-shrink:0}.toggle span{display:block;width:20px;height:20px;border-radius:50%;background:white;transition:transform .2s}.toggle.on{background:var(--jade)}.toggle.on span{transform:translateX(20px)}.settings-link{display:flex;width:100%;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-size:15px;text-align:left}.settings-link svg{width:17px;color:var(--muted)}.large-text .post-text,.large-text .field input,.large-text .field select,.large-text .field textarea,.large-text .chat-bubble,.large-text .modal-body>p{font-size:19px}.large-text .muted,.large-text .course-body p,.large-text .profile-link small,.large-text .post-author small,.large-text .button{font-size:16px}.large-text main{line-height:1.85}
@keyframes pulse{50%{opacity:.4;transform:scale(.95)}}
@media(max-width:1100px){.community-layout{grid-template-columns:1fr}.community-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.community-aside .gap-top{margin:0}.report-grid{grid-template-columns:1.4fr 1fr}.suggestion-grid{gap:12px}.suggestion{padding:20px 15px}.event-card.compact{grid-template-columns:35% 1fr}.teacher-card{gap:13px;padding:15px}.teacher-card img{width:65px;height:100px}.chat-layout{grid-template-columns:200px 1fr}}
@media(max-width:900px){.practice-grid,.report-grid{grid-template-columns:1fr}.practice-aside{display:grid;grid-template-columns:1fr 1fr;gap:17px}.practice-aside .panel+.panel{margin:0}.score-panel{max-width:none}.score-bars{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.suggestion-grid{grid-template-columns:1fr}.suggestion{padding:23px}.suggestion p{margin-left:33px}.suggestion-advice{margin-left:33px}.suggestion .text-button{margin-left:33px}.member-name{display:block}.member-name .member-tag{margin-top:7px;display:inline-block}.chat-layout{grid-template-columns:1fr}.chat-contacts{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}.chat-contact{width:auto;flex-shrink:0;padding:10px}.chat-contact .avatar{width:34px;height:34px;font-size:16px}.chat-contact small{display:none}.teacher-grid{grid-template-columns:1fr}.event-card.compact{grid-template-columns:40% 1fr}}
@media(max-width:700px){.page-heading{align-items:flex-start}.page-heading>.button{font-size:13px;padding:9px 12px;min-height:42px}.page-heading p{max-width:none}.tabs{gap:3px}.tab{padding:9px 13px;font-size:14px}.course-tools{display:block}.course-tools .tabs{margin-bottom:17px}.search-box{max-width:none}.wide-modal{width:calc(100% - 20px)}.modal-foot{flex-wrap:wrap}.modal-foot .button{flex:1;white-space:nowrap;padding:10px 13px;font-size:14px}.video-caption{flex-wrap:wrap;gap:7px}.course-detail-head{align-items:flex-start}.course-detail-head h3{font-size:17px}.teacher-card{gap:16px}.steps{margin:23px 0}.step{font-size:12px;gap:6px;padding-right:23px}.step:not(:last-child):after{right:6px;width:12px}.step>span{height:24px;width:24px}.analysis-disclaimer{align-items:flex-start;font-size:13px}.analysis-disclaimer svg{margin-top:2px}.upload-panel{padding:20px}.sample-row{font-size:12px}.sample-row .button{font-size:12px;padding:7px 9px;min-height:38px}.field-grid{gap:12px}.practice-aside{grid-template-columns:1fr}.practice-aside .jade-panel{display:none}.upload-zone{min-height:260px;padding:22px 13px}.upload-zone .selected-file{font-size:12px}.report-top{display:block}.report-actions{margin-top:17px}.report-actions .button{flex:1;font-size:14px}.score-bars{grid-template-columns:1fr 1fr}.processing{padding:45px 25px}.processing-checks{font-size:11px;gap:6px}.community-layout{gap:21px}.community-aside{grid-template-columns:1fr}.community-aside .panel:nth-child(2){display:none}.post-card{padding:18px}.post-author .avatar{width:40px;height:40px;font-size:17px}.post-author small{font-size:11px}.post-header>.button{font-size:12px;padding:6px 10px;min-height:34px}.post-text{font-size:16px}.post-actions{gap:20px}.post-circle{font-size:11px}.post-actions button{font-size:12px}.post-media{max-height:250px}.circle-grid,.friend-grid{gap:12px}.circle-card{padding:17px}.circle-card .flex-between{display:flex;flex-direction:column;align-items:stretch;gap:8px}.circle-card .button{font-size:12px}.friend-card{padding:16px}.friend-profile{gap:9px}.friend-profile .avatar{width:35px;height:35px;font-size:17px}.friend-profile h3{font-size:16px}.friend-bio{font-size:13px;min-height:68px}.friend-actions{gap:7px}.friend-actions .button{font-size:12px;padding:7px 9px}.friend-actions svg{width:15px}.event-card,.event-card.compact{grid-template-columns:1fr}.event-image{min-height:0;aspect-ratio:2.1}.event-body{padding:18px 20px}.event-body h3{font-size:18px}.association h3{max-width:none}.association{min-height:235px}.local-heading p{max-width:220px;font-size:12px}.member-banner{padding:25px 21px;gap:17px}.member-banner>.avatar{width:65px;height:65px;font-size:28px}.member-name h2{font-size:25px}.member-yin{font-size:160px;top:12px;right:-30px}.member-info{position:relative;z-index:1}.stat-grid{margin:17px 0 22px}.stat-grid button{padding:20px 8px}.stat-grid strong{font-size:26px}.stat-grid span{font-size:11px}.badge-grid{grid-template-columns:1fr 1fr;gap:12px}.achievement{padding:21px 12px}.profile-links{grid-template-columns:1fr;gap:12px}.profile-link{padding:18px}.rank-podium{gap:8px}.podium{padding:17px 9px}.podium .avatar{width:43px;height:43px;font-size:19px}.podium h3{font-size:14px}.podium strong{font-size:25px}.podium-medal{font-size:11px}.ranking-panel{padding:0 17px}.rank-row{grid-template-columns:35px 1fr 65px;gap:10px}.rank-person{gap:9px}.rank-row>strong{font-size:18px}.rank-person b{font-size:13px}.rank-person small{font-size:11px}.rank-summary{display:block}.rank-summary .button{margin-top:15px;width:100%}.learning-item{flex-wrap:wrap;gap:15px;padding:17px}.learning-item img{width:92px;height:100px}.learning-item h3{font-size:15px}.learning-item .button{width:100%}.learning-item .progress{margin-top:12px}.report-history-item{padding:18px;gap:15px}.history-score{width:61px;font-size:32px;padding-right:14px}.report-history-item h3{font-size:16px}.chat-scroll{height:340px;padding:18px}.chat-head{padding:14px 18px;gap:9px}.chat-head .badge{font-size:11px}.chat-head .text-button{font-size:11px;padding:0}.chat-compose{padding:14px;gap:8px}.chat-compose .button{padding:10px 12px;font-size:14px}.chat-bubble{font-size:15px;max-width:90%}.demo-features{grid-template-columns:1fr}.demo-features>div{padding:12px}.teacher-intro{gap:17px}.teacher-intro img{width:105px;height:125px}.teacher-intro h2{font-size:24px}.inline-form{flex-wrap:wrap}.inline-form .button{width:100%}.modal-badges{margin:0}.profile-view .two-col{grid-template-columns:1fr}.large-text .course-grid,.large-text .circle-grid,.large-text .friend-grid{grid-template-columns:1fr}.large-text .quick-grid{grid-template-columns:1fr}.large-text .quick-card{flex-direction:row;align-items:center;min-height:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
