:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#25292f;background:#f7f8fa;font-synthesis:none;font-size:14px;line-height:1.65;letter-spacing:0;--green:#18745a;--ink:#25292f;--muted:#777e88;--line:#e5e8ec;--surface:#fff;--soft:#f2f5f4;--danger:#ae343c}
*{box-sizing:border-box;min-width:0}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.55}input,select,textarea{width:100%;border:1px solid #dce0e5;border-radius:6px;padding:11px 13px;background:white;color:var(--ink);outline:none;min-height:46px}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #18745a12}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #52a88a;outline-offset:3px}[hidden]{display:none!important}svg{width:20px;height:20px;stroke-width:1.7;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.4;font-weight:650}h2{font-size:17px;line-height:1.5;font-weight:650}h3{font-size:15px;font-weight:600}strong{font-weight:600}.muted{color:var(--muted)}.eyebrow{font-size:11px;color:var(--green);font-weight:700;margin-bottom:10px}.skip{position:fixed;top:-100px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}.button{border:1px solid #dfe4e3;border-radius:6px;min-height:42px;padding:9px 17px;background:white;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:550;color:#35413c;white-space:normal}.button:hover{background:#f2f6f4}.button.primary{background:var(--green);border-color:var(--green);color:white}.button.primary:hover{background:#105b45}.button.ghost{background:transparent;border-color:transparent}.button.danger{color:var(--danger);border-color:#ead7d8}.full{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:#747d85;width:40px;height:40px;border-radius:6px}.icon-button:hover{background:#edf2ef}.brand-mark{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:#18745a;border-radius:8px;color:white;flex-shrink:0}.brand-mark svg{width:23px;height:23px}.brand{display:flex;gap:12px;align-items:center;padding:30px 25px}.brand strong{font-size:17px}.brand small{display:block;font-size:10px;font-weight:400;color:#8a9198;margin-top:1px}.workspace{display:flex;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:216px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.workspace-label{font-size:11px;color:#9299a0;margin:25px 28px 10px}.desktop-nav{padding:0 14px;display:grid;gap:6px}.desktop-nav a{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:6px;color:#717882;font-size:13px;min-height:46px}.desktop-nav a.active{color:#176c52;background:#edf5f1;font-weight:600}.desktop-nav a:hover{background:#f3f6f5}.nav-count{margin-left:auto;font-size:10px;padding:0 6px;background:#d9eae2;border-radius:4px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px}.profile-link{display:flex;align-items:center;gap:10px}.profile-link strong{font-size:12px}.profile-link small{display:block;color:#9299a0;font-size:10px}.profile-link>svg{margin-left:auto;width:15px}.avatar{width:36px;height:36px;border-radius:50%;background:#e8eeeb;color:#426f60;display:inline-flex;align-items:center;justify-content:center;font-weight:650;flex-shrink:0}.avatar.small{width:30px;height:30px;font-size:12px}.main-shell{margin-left:216px;width:calc(100% - 216px);display:flex;flex-direction:column;min-height:100dvh}.topbar{height:74px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#ffffffc9;gap:16px}.topbar>span{font-size:12px;color:#69717b}.topbar>span span{padding:0 12px;color:#b2b8bf}.header-actions{display:flex;align-items:center;gap:14px}.today{font-size:11px;color:#9299a0}.main-shell main{width:100%;max-width:1350px;margin:0 auto;padding:36px 42px 28px;flex:1}.main-footer{margin:0 42px;padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#a0a5ad;font-size:10px}.main-footer>span:first-child{font-weight:600}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}.page-heading p{color:var(--muted);margin-top:7px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:white;border:1px solid var(--line);border-radius:8px;padding:23px 0;margin-bottom:32px}.stat{padding:0 25px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat-label{display:flex;align-items:center;justify-content:space-between;color:#79818a;font-size:12px}.stat-label svg{width:17px;color:#8c9892}.stat-value{font-size:30px;line-height:1.5;font-weight:650;margin-top:8px;font-variant-numeric:tabular-nums}.stat-value small{font-size:12px;color:#a1a7ad;font-weight:400;margin-left:5px}.stat-note{font-size:10px;color:#8b949c;margin-top:3px}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.section-title a{font-size:11px;color:#7b838b;display:flex;align-items:center;gap:4px}.section-title a svg{width:14px}.course-list{display:grid;gap:12px}.course{background:white;border:1px solid var(--line);border-radius:8px;display:flex;gap:16px;padding:18px;align-items:center;transition:border-color .15s}.course:hover{border-color:#c0d6ca}.course-icon{height:52px;width:52px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#e9f3ef;color:#548d75}.course:nth-child(2n) .course-icon{background:#eaf0f8;color:#6383aa}.course:nth-child(3n) .course-icon{background:#fbf1df;color:#b5954f}.course-icon svg{width:24px;height:24px}.course-body{flex:1}.course h3{font-size:13px}.course-meta{display:flex;justify-content:space-between;gap:12px;color:#959ba3;font-size:10px;margin:8px 0}.progress-track{height:4px;background:#eef1f2;border-radius:4px;overflow:hidden}.progress-track>span{display:block;height:100%;background:#5c9b7d;border-radius:4px;max-width:100%}.course>.button{padding:6px 11px;min-height:34px;font-size:11px}.learning-note{padding:20px 0;border-top:1px solid var(--line);margin-top:25px;color:#7b838b;font-size:12px;display:flex;align-items:center;gap:10px}.learning-note svg{color:#bc9c53;width:18px}.catalog-cover{display:block;width:100%;aspect-ratio:2.2;object-fit:cover;border-radius:7px;margin-bottom:15px}.aside-section{margin-bottom:25px}.aside-section h3{font-size:13px}.aside-section p{color:#899098;font-size:11px;margin-top:7px}.material-mini{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.material-mini>svg{width:16px;color:#8a9691}.activity{padding-top:27px;margin-top:5px}.activity-list{background:white;border:1px solid var(--line);border-radius:8px}.activity-row{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid #eff1f3}.activity-row:last-child{border:0}.activity-row>svg{width:18px;color:#8aa295}.activity-row .body{flex:1}.activity-row h3{font-size:12px}.activity-row p{color:#9bA1a9;font-size:10px}.pill{font-size:10px;border-radius:4px;padding:3px 7px;background:#eef5f1;color:#4d866f;white-space:nowrap}.pill.warm{background:#fff3e6;color:#b17c36}.pill.neutral{background:#f0f2f5;color:#7d8690}.empty{padding:32px 20px;text-align:center;color:#8a929b;border:1px dashed #dbe1e6;border-radius:8px}.empty>svg{width:30px;height:30px;color:#a8b3ac;margin:0 auto 12px}.empty h2{font-size:16px;color:#48544d;margin-bottom:8px}.empty p{font-size:12px;margin-bottom:16px}.empty.compact{padding:22px;font-size:12px;background:white;border-style:solid}.practice-layout{max-width:780px;margin:0 auto}.practice-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8a9490;margin-bottom:20px}.question-panel{background:white;border:1px solid var(--line);border-radius:8px;padding:34px}.question-meta{display:flex;gap:10px;align-items:center;margin-bottom:18px;font-size:11px;color:#8a929b}.question-panel h2{font-size:21px;line-height:1.65;margin:8px 0 26px;overflow-wrap:anywhere}.option-list{display:grid;gap:12px}.option{display:flex;align-items:center;gap:13px;border:1px solid #e0e5e8;border-radius:7px;padding:17px;cursor:pointer;color:#59616b;min-height:62px;position:relative}.option input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.option:has(input:focus-visible){outline:3px solid #a0d0b7}.option:has(input:checked){border-color:#3e8c6a;background:#f0f7f3;color:#246a4b}.option-letter{width:29px;height:29px;border:1px solid #dfe5e2;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:600}.option:has(input:checked) .option-letter{background:#18745a;border-color:#18745a;color:white}.option.correct{background:#edf7f1;border-color:#8ac2a6}.option.incorrect{background:#fff4f3;border-color:#dfb1ad}.option>span:last-child{flex:1;font-size:13px;overflow-wrap:anywhere}.question-actions{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-top:28px;margin-top:26px;border-top:1px solid var(--line)}.question-actions p{color:#909aa1;font-size:11px}.feedback{border-left:3px solid #53a27b;background:#f1f7f3;padding:18px 20px;margin-top:24px}.feedback.wrong{border-color:#c59a56;background:#fbf6ed}.feedback h3{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px}.feedback p{font-size:13px;line-height:1.85;white-space:pre-wrap}.feedback small{display:block;margin-top:10px;color:#8c948b}.material-toolbar{display:flex;gap:14px;align-items:center;margin-bottom:22px}.search{position:relative;flex:1;max-width:400px}.search>svg{position:absolute;top:13px;left:13px;width:18px;color:#9ba3ab}.search input{padding-left:40px;min-height:44px;background:white}.material-toolbar>span{color:#8d959e;font-size:11px}.material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.material-card{background:white;border:1px solid var(--line);border-radius:8px;padding:22px;display:flex;flex-direction:column;min-height:220px}.material-card .course-icon{margin-bottom:22px}.material-card h2{font-size:15px;margin-bottom:9px}.material-card p{font-size:12px;color:#8b929a;margin-bottom:24px;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.material-card footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;color:#a0a5ad;font-size:10px}.material-card footer svg{width:17px;color:#7d9b8a}.back-link{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#87918b;padding:6px 0;margin-bottom:24px}.reading-layout{max-width:800px;margin:0 auto}.reading-layout h1{font-size:27px;margin:10px 0}.article-meta{font-size:11px;color:#929ba3;border-bottom:1px solid var(--line);padding:10px 0 24px;margin-bottom:28px}.article-body{white-space:pre-wrap;line-height:2.1;font-size:15px;overflow-wrap:anywhere}.article-footer{margin-top:32px;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;align-items:center;color:#929ba3;font-size:11px}.review-list{display:grid;gap:12px}.review-item{background:white;border:1px solid var(--line);border-radius:7px;padding:20px}.review-item summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none}.review-item summary::-webkit-details-marker{display:none}.review-item summary h3{font-size:13px}.review-item summary p{font-size:10px;color:#9aa1a9;margin-top:5px}.review-item summary>svg{width:16px;color:#98a19b}.review-item[open] summary>svg{transform:rotate(180deg)}.review-explanation{font-size:13px;line-height:1.9;white-space:pre-wrap;padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.review-explanation strong{color:#447860}.growth-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:30px}.chapter-stat{border-bottom:1px solid var(--line);padding:17px 0}.chapter-stat .section-title{margin-bottom:10px;font-size:12px}.chapter-stat small{color:#99a0a7;font-size:10px}.history-list{margin-top:22px}.settings-layout{max-width:560px}.settings-profile{display:flex;align-items:center;gap:14px;margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid var(--line)}.settings-profile .avatar{width:48px;height:48px;font-size:20px}.stack{display:grid;gap:18px}.stack label{display:grid;gap:7px;font-size:12px;font-weight:550;color:#68736c}.stack .button{margin-top:5px}.settings-layout .stack{margin-bottom:30px}.password-field{position:relative;display:block}.password-field input{padding-right:46px}.password-field>.icon-button{position:absolute;right:3px;top:3px}.form-error{color:var(--danger);font-size:12px;line-height:1.8}.form-success{color:var(--green);font-size:12px}.login-screen{min-height:100dvh;background:white;display:flex;flex-direction:column;padding:32px 44px}.login-brand{display:flex;align-items:center;gap:10px}.login-brand strong{font-size:16px}.login-brand strong span{font-weight:400;color:#929a95;margin-left:5px}.login-content{width:100%;max-width:370px;margin:auto;padding:70px 0}.login-content h1{font-size:32px}.login-content>.muted{margin:10px 0 32px}.login-content input{min-height:48px}.login-help{font-size:11px;color:#929a95;text-align:center;margin:23px 0}.subtle-link{display:flex;align-items:center;justify-content:center;font-size:11px;color:#858e87;gap:4px}.subtle-link svg{width:12px}.login-footer{text-align:center;color:#a2a9a5;font-size:11px;padding:20px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:#253e33;color:white;border-radius:6px;padding:12px 19px;font-size:12px;box-shadow:0 8px 30px #203e3320;z-index:70}.toast.error{background:#923e44}.boot{display:grid;min-height:100dvh;place-content:center;justify-items:center;gap:18px;color:#8b9590;font-size:12px}.mobile-nav{display:none}.skeleton{height:120px;background:#edf0f2;border-radius:8px;margin-bottom:20px;animation:pulse 1.5s ease-in-out infinite}.accounts-shell{max-width:980px;margin:0 auto;padding:35px 26px}.accounts-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px}.accounts-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:35px}.accounts-table{width:100%;border-collapse:collapse}.accounts-table th,.accounts-table td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.accounts-table th{color:#8d959e;font-weight:400}.accounts-table .button{padding:5px 9px;font-size:11px;min-height:34px}.table-wrap{overflow:auto}.account-actions{display:flex;gap:6px;flex-wrap:wrap}.dialog{border:1px solid var(--line);border-radius:8px;padding:28px;width:calc(100% - 32px);max-width:420px}.dialog::backdrop{background:#1f352652}.dialog h2{margin-bottom:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}@keyframes pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.review-link{margin-top:14px}
.catalog-cover{height:auto}
.option.incorrect:has(input:checked){background:#fff4f3;border-color:#cf8d89;color:#963d3a}
.option.incorrect:has(input:checked) .option-letter{background:#ab4d48;border-color:#ab4d48;color:white}
@media(min-width:1500px){.overview-grid{grid-template-columns:minmax(0,1fr) 320px}.main-shell main{padding-top:44px}}
@media(max-width:1150px){.sidebar{width:188px}.main-shell{margin-left:188px;width:calc(100% - 188px)}.brand{padding:27px 20px}.main-shell main{padding:28px}.topbar{padding:0 28px}.overview-grid{grid-template-columns:minmax(0,1fr) 240px;gap:24px}.stat{padding:0 17px}.main-footer{margin:0 28px}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.overview-grid,.growth-layout{grid-template-columns:1fr}.overview-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.overview-aside .aside-section{margin:0}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course>.button{display:none}.accounts-grid{grid-template-columns:1fr}.accounts-grid>.stack{max-width:500px}}
@media(max-width:700px){.sidebar{display:none}.main-shell{margin:0;width:100%;padding-bottom:calc(74px + env(safe-area-inset-bottom))}.topbar{height:62px;padding:0 20px;position:sticky;top:0;backdrop-filter:blur(14px);z-index:20}.topbar>span{font-size:11px}.header-actions{gap:7px}.today{display:none}.main-shell main{padding:25px 20px}.page-heading{align-items:flex-start;margin-bottom:23px;gap:12px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px;max-width:215px}.page-heading>.button{font-size:11px;padding:8px 12px;min-height:39px;margin-top:3px}.page-heading>.button svg{width:16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;margin-bottom:27px}.stat{padding:18px 20px}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat-value{font-size:27px;margin-top:5px}.stat-label{font-size:11px}.stat-note{font-size:9px}.overview-grid{gap:25px}.course{padding:16px 14px;gap:12px}.course-icon{width:43px;height:43px;border-radius:7px}.course-icon svg{width:21px}.course h3{font-size:12px}.course-meta{margin:6px 0}.section-title h2{font-size:16px}.overview-aside{grid-template-columns:1fr}.catalog-cover{max-height:155px;object-position:50% 60%}.main-footer{margin:0 20px;font-size:9px;gap:12px;flex-wrap:wrap;padding:18px 0}.mobile-nav{position:fixed;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line);backdrop-filter:blur(14px);z-index:30}.mobile-nav a{min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#9aa29e;font-size:10px}.mobile-nav a.active{color:var(--green);font-weight:600}.mobile-nav svg{width:21px;height:21px}.material-grid{grid-template-columns:1fr;gap:12px}.material-card{min-height:0;padding:20px}.material-card .course-icon{margin-bottom:15px}.material-card p{margin-bottom:18px}.reading-layout h1{font-size:23px}.article-body{font-size:14px}.article-footer{align-items:flex-start;gap:16px}.question-panel{padding:23px 18px}.question-panel h2{font-size:18px;margin-bottom:22px}.question-meta{font-size:10px;flex-wrap:wrap}.option{padding:14px 11px;gap:11px;min-height:61px}.option>span:last-child{font-size:13px}.question-actions{padding-top:20px;margin-top:20px}.question-actions>.button{min-width:110px}.question-actions p{font-size:10px;max-width:130px}.feedback{padding:15px 14px}.feedback p{font-size:12px}.practice-top{font-size:11px}.toast{bottom:calc(90px + env(safe-area-inset-bottom));width:max-content}.login-screen{padding:24px}.login-content{padding:65px 0}.login-content h1{font-size:30px}input,select,textarea{font-size:16px}.activity-row{padding:14px}.review-item{padding:17px}.accounts-shell{padding:23px 18px}.accounts-head{align-items:flex-start}.accounts-head h1{font-size:23px}.accounts-table th,.accounts-table td{padding:12px 7px}.accounts-table th:nth-child(3),.accounts-table td:nth-child(3){display:none}}
