@charset "UTF-8";
.sidebar-close{display:none!important}@media(max-width:800px){.sidebar-close{display:grid!important;position:absolute;right:4px;top:4px;width:28px!important;height:28px!important}}
:root{--green:#20594b;--green-dark:#183e35;--green-light:#eaf2eb;--ink:#243b34;--muted:#7a8982;--line:#e5e9e2;--paper:#f7f8f3;--coral:#d77963;--white:#fff;--radius:18px;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:var(--green);text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #80ae91;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #8ab09a;outline-offset:1px}button{color:inherit}button svg{pointer-events:none}.skip-link{position:fixed;top:-60px;left:20px;z-index:99;background:white;padding:14px}.skip-link:focus{top:10px}.sidebar{width:238px;height:100dvh;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:32px 19px 16px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:0 10px;color:var(--ink);font-size:17px;font-weight:700;letter-spacing:1px}.brand small{display:block;font-size:9px;letter-spacing:1.6px;color:#8b978e;margin-top:5px;font-weight:500}.brand-mark{position:relative;display:grid;place-items:center;background:var(--green);color:#fff;width:45px;height:45px;border-radius:14px;font-size:23px;letter-spacing:-2px}.brand-mark span{position:absolute;right:-4px;top:-6px;color:#e9b571;font-size:17px}.workspace-label{margin:40px 13px 15px;font-size:11px;color:#9aab9f;letter-spacing:1px;display:flex;justify-content:space-between}.workspace-label span{font-size:10px;background:#f0f3ed;border-radius:4px;padding:1px 5px}.primary-nav{display:grid;gap:6px}.nav-item{border:0;background:none;display:flex;align-items:center;width:100%;gap:12px;padding:13px 16px;text-align:left;border-radius:9px;color:#738279}.nav-item>span{font-size:20px;line-height:20px}.nav-item b{margin-left:auto;font-size:10px;font-weight:500;padding:2px 7px;border-radius:6px;background:#f3f6f0}.nav-item.active{background:var(--green-light);color:var(--green);font-weight:700}.nav-item.active b{background:#fff}.topic-heading{margin:32px 14px 13px;display:flex;justify-content:space-between;color:#94a296;font-size:11px;letter-spacing:1px}.topic-heading span{letter-spacing:0}.topic-nav{overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:#dce5db transparent;padding-right:5px}.topic-item{border:0;background:transparent;display:flex;gap:10px;align-items:center;width:100%;padding:11px 12px;text-align:left;font-size:12px;color:#718074;border-radius:8px}.topic-item:hover,.nav-item:hover{background:#f4f7f0}.topic-item.active{background:var(--green-light);color:var(--green);font-weight:700}.topic-number{font-size:10px;font-variant-numeric:tabular-nums;color:#a4b1a6;min-width:20px}.topic-item>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-bottom{display:flex;align-items:center;gap:6px;padding:20px 8px 0;margin-top:12px;border-top:1px solid var(--line);font-size:10px;color:#8b998c}.online-dot{width:6px;height:6px;background:#86a383;border-radius:50%}.version-label{margin-left:auto;color:#a0ab9e}.shell{margin-left:238px}.topbar{height:79px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 45px;background:#ffffffb8}.breadcrumb{font-size:12px;color:#8d9a90;display:flex;gap:13px;align-items:center}.breadcrumb b{font-weight:500;color:#4d6255}.breadcrumb>span{color:#c5cdc4}.topbar-right{display:flex;align-items:center;gap:22px}.edition{font-size:10px;border:1px solid #d8e2d4;border-radius:5px;padding:4px 7px;color:#7f927d;letter-spacing:.7px}.source-link{font-size:11px;color:#697e6b}.avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#eee8d9;color:#8f8667;font-size:12px}.mobile-menu{display:none!important}main{max-width:1500px;margin:auto;padding:37px 45px 30px;min-height:calc(100vh - 145px);outline:none}.hero{display:flex;justify-content:space-between;gap:20px;margin-bottom:29px;position:relative}.eyebrow{font-size:10px;color:#899785;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 13px}.hero h1{font-size:29px;letter-spacing:1px;font-weight:600;line-height:1.55;margin:0 0 11px}.hero h1 em{color:var(--green);font-style:normal}.hero p{color:#869282;font-size:12px;line-height:1.9;margin:0}.hero-art{flex:0 0 200px;position:relative;height:130px;overflow:hidden}.art-sheet{width:91px;height:115px;position:absolute;top:11px;right:27px;background:#fff;border:1px solid #d5e0d0;border-radius:9px;box-shadow:0 8px 10px #385a3e06;transform:rotate(12deg);display:flex;flex-direction:column;gap:9px;padding:19px 15px}.art-sheet::before{content:"S7";font-size:24px;color:#466f53;font-weight:700}.art-sheet i{height:3px;background:#e4ebde;border-radius:2px}.art-sheet i:last-child{width:65%}.art-circle{width:95px;height:95px;border-radius:50%;background:#e7eddc;position:absolute;bottom:4px;left:11px}.art-star{position:absolute;right:5px;top:4px;color:#c98765;font-size:30px}.art-small{position:absolute;left:42px;top:12px;color:#78976d;font-size:22px}.section-info{display:flex;gap:22px;align-items:center;color:#8a9886;font-size:11px;margin-top:20px}.section-info strong{font-size:14px;color:#4a6c4e;margin-right:5px;font-weight:600}.section-info span+span{border-left:1px solid #dce3d6;padding-left:22px}.notice{background:#edf2e7;border:1px solid #e3e9db;border-radius:10px;padding:12px 16px;color:#7d8b6d;display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.7;margin-bottom:27px}.notice>b{font-size:16px;color:#899f74;font-weight:400}.notice a{margin-left:auto;white-space:nowrap;font-size:11px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:21px}.search-box{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;border:1px solid #e0e6da;background:#fff;border-radius:10px;padding:0 14px;height:46px}.search-box:focus-within{outline:2px solid #8ab09a}.search-box>span{color:#85957e;font-size:20px}.search-box input{background:none;border:0;outline:none!important;min-width:0;width:100%;font-size:12px;color:var(--ink)}.search-box input::placeholder{color:#a2ada0}.search-box kbd{font-family:inherit;font-size:10px;border:1px solid #e7ebdf;padding:1px 5px;color:#acb6a5;border-radius:4px}.filter-select{height:46px;border-radius:9px;border:1px solid #e0e6da;background:#fff;color:#63765e;padding:0 34px 0 13px;font-size:12px;max-width:200px}.catalog-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0 16px}.catalog-heading h2{font-size:15px;font-weight:600;margin:0;display:flex;align-items:center;gap:10px}.catalog-heading h2 span{font-size:10px;font-weight:400;color:#92a18a}.catalog-heading>span{color:#9aa794;font-size:10px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-card{position:relative;background:#fff;border:1px solid #e2e8dc;border-radius:var(--radius);overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;flex-direction:column;min-height:228px}.course-card:hover{transform:translateY(-3px);border-color:#bbcdb6;box-shadow:0 10px 25px #294d2b09}.card-top{display:flex;align-items:center;justify-content:space-between;padding:20px 21px 0}.lesson-label{font-size:10px;color:#829679;letter-spacing:1px}.icon-button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:7px;background:transparent;color:#8da180;font-size:20px}.icon-button:hover{background:#f1f5eb}.favorite-button.saved{color:#c18c4d}.card-main{border:0;background:none;padding:9px 21px 19px;text-align:left;flex:1;display:block;width:100%}.card-main h3{font-size:19px;font-weight:600;letter-spacing:.4px;line-height:1.5;margin:0 0 7px}.story{font-size:11px;color:#93a18a;margin:0 0 15px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{border-radius:4px;background:#eff4ea;color:#758b66;font-size:10px;padding:4px 7px;line-height:1.4}.tag.peach{background:#f8eee7;color:#ad8465}.tag.blue{background:#edf1f5;color:#7b8c9f}.card-footer{border-top:1px solid #edf0e8;background:#fbfcf9;display:flex;justify-content:space-between;align-items:center;padding:12px 21px;font-size:10px;color:#94a28a}.card-footer button{border:0;background:none;padding:3px 0;color:#557c4f;font-size:11px}.card-footer .arrow{margin-left:8px}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:28px}.page-button{min-width:32px;height:33px;border:1px solid #e0e6da;background:#fff;border-radius:7px;font-size:11px;color:#8b9c80;padding:0 9px}.page-button.active{background:var(--green);color:#fff;border-color:var(--green)}.pagination>span{font-size:10px;color:#9aa793;margin:0 8px}.empty-state{padding:65px 20px;text-align:center;border:1px dashed #dce4d3;border-radius:18px;background:#ffffff7f}.empty-state .empty-symbol{font-size:35px;color:#a5b49b}.empty-state h2{font-size:17px;font-weight:500;margin-top:16px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.9}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border-radius:8px;font-size:12px;border:1px solid #dce4d5;background:white;line-height:1.5;color:#62815b}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn:hover{filter:brightness(.97)}.btn.ghost{background:transparent}.btn.small{font-size:11px;padding:7px 12px}.btn.text{border:0;background:transparent;padding:8px 0}.detail-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.back-button{border:0;background:none;color:#8c9a83;font-size:12px;padding:5px 0}.detail-header{display:flex;align-items:start;justify-content:space-between;gap:20px}.detail-header h1{font-size:30px;line-height:1.5;margin:8px 0 13px;letter-spacing:1px}.detail-header .story{margin:0 0 17px;font-size:12px}.lesson-meta{font-size:11px;color:#8d9e84;letter-spacing:1px}.detail-actions{display:flex;gap:8px;padding-top:8px}.tabs{display:flex;gap:30px;border-bottom:1px solid #dfe6d9;margin:28px 0}.tab{border:0;border-bottom:2px solid transparent;background:none;color:#8c9b84;padding:0 0 15px;font-size:13px}.tab.active{color:var(--green);border-color:var(--green);font-weight:600}.tab span{font-size:10px;margin-left:6px;color:#9cac93}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}.panel{border:1px solid #e2e7dc;border-radius:14px;background:#fff;padding:24px;margin-bottom:20px}.panel h2{font-size:15px;margin:0 0 19px;font-weight:600;display:flex;align-items:center;gap:9px}.panel h2:before{content:"";width:3px;height:14px;background:#8aaa78;border-radius:2px}.panel h3{font-size:12px;font-weight:600;margin:19px 0 8px}.prose{white-space:pre-line;font-size:12px;line-height:2.1;color:#6c7f64;overflow-wrap:anywhere}.focus-box{border-left:3px solid #94ab7f;background:#f3f6ee;padding:13px 16px;margin:17px 0 0;border-radius:0 8px 8px 0}.focus-box.warm{background:#fcf6ed;border-color:#d6b58a}.focus-box h3{margin:0 0 5px;color:#658352;font-size:11px}.focus-box.warm h3{color:#a8855b}.lesson-steps{display:grid;gap:13px}.step{display:flex;gap:13px;border:1px solid #edf0e8;padding:14px;border-radius:9px;align-items:flex-start}.step-number{flex-shrink:0;width:25px;height:25px;display:grid;place-items:center;background:#edf3e6;color:#8aa176;font-size:10px;border-radius:8px}.step p{font-size:12px;margin:2px 0;line-height:1.8;color:#6c7e63}.info-list{display:grid;gap:16px;font-size:11px}.info-row{display:flex;justify-content:space-between;gap:16px}.info-row dt{color:#9aa68f;flex-shrink:0}.info-row dd{margin:0;text-align:right;line-height:1.8;overflow-wrap:anywhere;color:#69805f}.mini-note{font-size:10px;line-height:1.9;color:#98a48d}.prerequisites{font-size:11px;color:#7e8f73;line-height:1.9;padding-left:17px;margin:0}.prerequisites li+li{margin-top:12px}.source-note{font-size:10px;line-height:1.8;color:#9baa92;overflow-wrap:anywhere}.source-note a{color:#6b8a5c}.resource-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.resource-heading p{font-size:11px;color:#95a18c;line-height:1.8;margin:0 0 20px}.resource-group{margin:22px 0}.resource-group h3{font-size:13px;font-weight:600;margin:0 0 12px}.resource-item{display:flex;align-items:center;gap:13px;border:1px solid #e5eadf;border-radius:10px;padding:16px;margin-bottom:10px;background:#fff}.file-icon{width:39px;height:44px;display:grid;place-items:center;background:#f1f4ea;color:#8a9c73;flex-shrink:0;font-size:10px;letter-spacing:.6px;border-radius:7px}.file-details{min-width:0;flex:1}.file-details h4{font-size:12px;font-weight:500;overflow-wrap:anywhere;margin:0 0 7px;line-height:1.6}.file-details p{margin:0;color:#9aa58e;font-size:10px;line-height:1.7}.pending-badge{color:#ae9874;background:#f7f2e8;font-size:9px;border-radius:4px;padding:3px 5px;margin-right:6px;white-space:nowrap}.resource-action{flex-shrink:0}.resource-empty{background:#f0f4e9;border-radius:10px;padding:16px;font-size:11px;color:#889c77;line-height:1.9}.feedback-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:23px;align-items:start}.feedback-form .panel{margin:0}.field-label{font-size:11px;font-weight:600;color:#6e865e;display:block;margin-bottom:9px}.field{margin-bottom:20px}.field input,.field textarea{width:100%;border:1px solid #e1e7d9;border-radius:8px;padding:11px 12px;background:#fcfdf9;font-size:12px;color:var(--ink);resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#abb5a1}.field textarea{line-height:1.8;min-height:80px}.name-row{display:flex;gap:12px;align-items:end}.name-row .field{flex:1}.name-row .btn{margin-bottom:20px;white-space:nowrap;padding:11px 12px}.mastery-row{padding:13px 0;border-bottom:1px solid #edf0e6}.mastery-row>p{font-size:12px;line-height:1.8;margin:0 0 9px;color:#788a6b}.mastery-options{display:flex;gap:5px;flex-wrap:wrap}.mastery-option{position:relative;font-size:10px;display:inline-flex}.mastery-option input{position:absolute;opacity:0;pointer-events:none}.mastery-option span{border:1px solid #e3e8db;padding:6px 8px;border-radius:6px;color:#8d9e7d;cursor:pointer}.mastery-option input:checked+span{background:var(--green-light);border-color:#95b284;color:#55754b}.mastery-option input:focus-visible+span{outline:2px solid #86a17a;outline-offset:2px}.mastery-hint{font-size:10px;color:#9caa91;line-height:1.8;margin:12px 0 24px}.output-panel{position:sticky;top:20px;background:#fbfcf8;box-shadow:0 5px 22px #344e2604}.output-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.output-top h2{margin:0}.output-label{font-size:10px;color:#94a283}.feedback-output{width:100%;min-height:350px;border:1px solid #e1e7d7;border-radius:10px;padding:19px;background:#fff;line-height:2.05;font-size:12px;color:#58714e;resize:vertical}.feedback-output::placeholder{color:#b1bba7}.output-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:13px;flex-wrap:wrap}.output-hint{font-size:10px;color:#9aa88c;line-height:1.9;margin:16px 0 0}.form-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:24px}.privacy-note{font-size:10px;color:#a1ac94;max-width:200px;line-height:1.8}.teacher-answer{padding:14px 0;border-bottom:1px solid #edf0e5}.teacher-answer summary{font-size:12px;color:#7c8e6e;cursor:pointer}.teacher-answer .prose{font-size:11px;margin-top:12px}.feedback-heading{margin-bottom:23px}.feedback-heading h2{font-size:18px;margin:0 0 10px;font-weight:500}.feedback-heading p{font-size:11px;color:#94a28a;line-height:1.9;margin:0}.loading-state{padding:100px 20px;text-align:center;color:#8fa380;font-size:13px}.toast{position:fixed;bottom:35px;left:calc(50% + 119px);transform:translate(-50%,15px);max-width:85vw;padding:13px 23px;background:#244b35;color:white;box-shadow:0 5px 25px #14392420;border-radius:9px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.visible{opacity:1;transform:translate(-50%,0)}footer{max-width:1500px;margin:auto;padding:22px 45px;display:flex;gap:14px;border-top:1px solid #e6ebdf;color:#9daa94;font-size:10px}footer span:first-child{color:#abb6a2}footer span:last-child{margin-left:auto}.hidden{display:none!important}
@media(min-width:1450px){.course-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){.sidebar{width:210px;padding-left:13px;padding-right:13px}.shell{margin-left:210px}.topbar{padding:0 28px}main{padding:30px 28px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:minmax(0,1fr) 245px}.toast{left:calc(50% + 105px)}footer{padding:22px 28px}.hero-art{flex-basis:160px}}
@media(max-width:800px){.sidebar{width:220px;transform:translateX(-100%);transition:.2s;box-shadow:10px 0 30px #193c1715}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.mobile-menu{display:grid!important}.topbar{height:65px;padding:0 20px;gap:10px}.topbar-right{gap:12px}.breadcrumb{margin-right:auto;font-size:10px;gap:8px}.edition{display:none}main{padding:27px 22px}.hero h1{font-size:26px}.detail-grid{grid-template-columns:1fr}.detail-side{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.detail-side .panel{margin:0}.toast{left:50%}.hero-art{flex-basis:140px}.feedback-layout{grid-template-columns:1fr}.output-panel{position:static}.detail-header h1{font-size:25px}.feedback-output{min-height:300px}.source-link{font-size:10px}.resource-item{flex-wrap:wrap}.resource-action{margin-left:auto}.panel{padding:20px}}
@media(max-width:500px){main{padding:23px 16px}.topbar{padding:0 13px}.breadcrumb{font-size:10px}.breadcrumb>span,.breadcrumb{gap:6px}.topbar-right{gap:10px}.avatar{display:none}.hero-art{display:none}.hero h1{font-size:25px}.hero p{font-size:11px}.section-info{gap:14px;margin-top:17px}.section-info span+span{padding-left:14px}.course-grid{grid-template-columns:1fr;gap:13px}.course-card{min-height:204px}.card-main h3{font-size:20px}.notice{font-size:10px;padding:11px 12px;align-items:flex-start}.notice a{display:none}.toolbar{gap:9px}.search-box{flex-basis:100%;height:43px}.filter-select{flex:1;max-width:none;height:40px;font-size:11px}.catalog-heading{margin-top:22px}.catalog-heading>span{font-size:9px}.detail-header{display:block}.detail-actions{padding-top:0}.tabs{gap:24px}.detail-side{grid-template-columns:1fr}.resource-heading{display:block}.detail-top{margin-bottom:18px}.feedback-output{padding:14px}.name-row{gap:8px}.name-row .btn{font-size:10px}footer{padding:19px 16px;font-size:9px}footer span:first-child{display:none}.pagination{gap:5px}.pagination>span{margin:0 3px}.page-button{min-width:28px;padding:0 7px}.resource-item{padding:13px}.prose{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{.sidebar,.topbar,footer,.tabs,.detail-top,.detail-actions,.feedback-form,.output-actions,.output-hint,.toast{display:none!important}.shell{margin:0}.feedback-layout{display:block}.output-panel{border:0;box-shadow:none}.feedback-output{border:0;height:auto}.detail-header{margin-bottom:20px}}

.step{flex-wrap:wrap}.step-boards,.board-pending{flex-basis:100%;min-width:0}.step-boards h4{margin:12px 0 8px;font-weight:600}.board-figure{margin:14px 0}.board-figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px;cursor:zoom-in}.board-figure figcaption{font-size:12px;line-height:1.8;color:var(--muted);margin-top:8px}.board-figure figcaption a{margin-left:12px}.board-more summary{cursor:pointer;color:var(--green);padding:12px 0;font-size:13px}.board-pending{font-size:12px!important;color:var(--muted);margin:4px 0!important}

.resource-action{display:flex;gap:8px;flex-wrap:wrap}.resource-delete{color:#a45345;border-color:#ead5ce}.question-actions{display:flex;justify-content:flex-end;margin-top:10px}.deleted-resources>summary{cursor:pointer;color:var(--green)}

.notice-form{max-width:800px}.notice-form select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}.notice-title-row{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.notice-title-row h2{overflow-wrap:anywhere;min-width:0}.notice-title-row .tag{flex-shrink:0}.courseware-notice .prose{margin:16px 0}.resource-heading h1{font-size:24px;font-weight:600}

.notice-images summary{cursor:pointer;color:var(--green);padding:12px 0}.notice-images figure{margin:18px 0}.notice-images figcaption{font-size:12px;margin-bottom:10px}.notice-images img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:8px}

.release-update{position:fixed;right:20px;bottom:24px;z-index:90;background:#20594b;color:white;box-shadow:0 4px 16px #0002}
