@import url('/fonts/manrope.css');
@import url('/fonts/dm-sans.css');
:root{--forest:#163f32;--dark:#102c23;--green:#2c6953;--lime:#e2f3bc;--paper:#f7f8f2;--ink:#1d3027;--muted:#738077;--line:#dfe5db;--white:#fff;--danger:#a84235;--radius:18px;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:15px/1.7 'DM Sans','Microsoft YaHei',sans-serif;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #76a679;outline-offset:4px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,.brand,.display-number{font-family:'Manrope','Microsoft YaHei',sans-serif}h1,h2,h3{line-height:1.25}h2{font-size:clamp(28px,3vw,42px);letter-spacing:-1.3px}h3{font-size:21px;letter-spacing:-.4px}.site-header{height:92px;padding:0 clamp(24px,5.1vw,88px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(247,248,242,.94);border-bottom:1px solid transparent;position:sticky;top:0;z-index:25;backdrop-filter:blur(16px)}.site-header.scrolled{border-bottom-color:var(--line)}.brand{font-size:28px;font-weight:800;letter-spacing:-1.3px;display:inline-flex;align-items:center;gap:11px;white-space:nowrap}.brand-symbol{background:var(--forest);color:#fff;font-size:22px;border-radius:12px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;position:relative;letter-spacing:-2px}.brand-symbol>span{font-size:13px;color:var(--lime);position:absolute;right:4px;top:-2px}.brand-dot{color:#63944d;margin-left:-9px}.site-header nav,.header-actions{display:flex;align-items:center;gap:32px}.site-header nav{font-size:13px;color:#647063}.header-actions{gap:25px}.text-link{font-weight:600;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--forest);color:white;border:1px solid var(--forest);padding:14px 24px;border-radius:8px;font-size:14px;font-weight:600;transition:transform .2s,background .2s;white-space:nowrap}.button:hover{background:#2c5942;transform:translateY(-2px)}.button.small{padding:10px 18px;font-size:13px}.button.light{background:var(--lime);border-color:var(--lime);color:var(--forest)}.button.outline{background:transparent;color:var(--forest);border-color:#b9c8b6}.button.outline:hover{background:#eef2e7}.button.ghost{background:transparent;border-color:#ffffff35;color:#fff}.button.danger{background:#fff4ef;border-color:#e2b6a9;color:var(--danger)}.page-width{width:min(1320px,89.8%);margin:0 auto}.eyebrow{font:600 10px/1.5 'DM Sans',sans-serif;letter-spacing:2.7px;text-transform:uppercase;margin-bottom:22px;display:flex;align-items:center;gap:10px}.eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:#86ae76}.hero{position:relative;background:radial-gradient(ellipse at 84% 20%,#396a4c 0%,transparent 54%),linear-gradient(115deg,#102f27,#1c4a35 66%,#163e2f);color:#fff;min-height:623px;border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1.15fr 1fr;padding:65px 62px 0;gap:22px}.hero:after{content:'';position:absolute;width:660px;height:660px;border:1px solid #ffffff08;border-radius:50%;right:-72px;top:-108px;box-shadow:0 0 0 75px #ffffff02,0 0 0 150px #ffffff02;pointer-events:none}.hero-copy{position:relative;z-index:2}.hero .eyebrow{color:#c7d6bd;font-size:10px}.hero h1{font-size:clamp(58px,6.1vw,94px);letter-spacing:-5.5px;line-height:1.04;font-weight:600;margin-bottom:29px}.hero h1 span{color:var(--lime)}.hero h1 em{font-style:normal;color:#94bb84}.hero-sub{font-size:20px;letter-spacing:2px;font-weight:500;margin-bottom:15px}.hero-description{color:#b3c5b6;font-size:13px;line-height:1.9;max-width:350px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:29px}.hero-actions .secondary-link{font-size:13px;color:#d6e1d2;border-bottom:1px solid #99ae9344;padding:10px 0}.hero-note{display:flex;align-items:center;gap:12px;margin-top:22px;color:#9db49e;font-size:10px;letter-spacing:.5px}.hero-note .check{border:1px solid #66876a;display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;font-size:8px}.hero-art{position:relative;min-width:0;height:482px;z-index:1;padding-top:49px}.plan-card{position:relative;border:1px solid #ffffff30;background:linear-gradient(155deg,#ffffff20,#ffffff09);border-radius:17px;backdrop-filter:blur(10px);padding:27px 27px 21px;width:350px;max-width:100%;margin:0 auto;transform:rotate(-5deg);box-shadow:0 22px 60px #061e2250;color:#dce8d2}.card-topline{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.8px}.card-topline .pill{border:1px solid #aabf9460;border-radius:20px;padding:4px 8px;font-size:8px;letter-spacing:.4px}.plan-card h3{font-size:23px;color:#f5f9ed;margin:20px 0 5px;letter-spacing:-.6px}.plan-card p{color:#bacdb3;font-size:10px;margin-bottom:21px}.calendar-grid{display:grid;grid-template-columns:repeat(15,1fr);gap:5px}.calendar-day{aspect-ratio:1;border:1px solid #aacb9040;background:#93b67a09;border-radius:3px;display:grid;place-items:center;font-size:7px;color:#84a17e}.calendar-day.done{background:#d9edb4;border-color:#d9edb4;color:#395d3c}.calendar-day.today{background:#e7fbc8;border-color:#e7fbc8;box-shadow:0 0 8px #d9edb470;color:#254b30}.plan-progress{display:flex;justify-content:space-between;font-size:9px;margin:17px 0 9px;color:#b1c7a8}.plan-progress strong{color:#e1f0c4}.plan-line{height:4px;border-radius:4px;background:#b5caa130;overflow:hidden}.plan-line span{width:37.3%;display:block;height:100%;background:#d9edb4}.plan-card-foot{border-top:1px solid #ffffff15;margin-top:21px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#b7cba9}.plan-card-foot strong{color:#ecf9d8;font-size:12px}.score-card{position:absolute;right:-4px;top:292px;background:#e4f2c6;color:var(--forest);padding:21px 23px 17px;border-radius:14px;transform:rotate(6deg);box-shadow:0 18px 40px #041f2140;width:172px}.score-card .score-label{font-size:8px;letter-spacing:2px}.score-card .score{font-family:'Manrope',sans-serif;font-size:69px;letter-spacing:-5px;line-height:1.15;font-weight:600}.score-card .score sup{font-size:28px;vertical-align:top;position:relative;top:8px;letter-spacing:0}.score-bottom{font-size:9px;border-top:1px solid #20412722;padding-top:9px;margin-top:5px;display:flex;justify-content:space-between}.art-caption{position:absolute;left:10px;bottom:7px;color:#8faa8b;font-size:9px;letter-spacing:2px;transform:rotate(-90deg);transform-origin:left top}.hero-bottom{grid-column:1/-1;border-top:1px solid #c5d5b922;display:flex;justify-content:space-between;align-items:center;height:63px;margin-top:19px;font-size:9px;letter-spacing:1.5px;color:#91ad94;position:relative;z-index:2}.hero-bottom div{display:flex;gap:23px;color:#dce6d3}.hero-bottom strong{font-size:12px;letter-spacing:1px;font-weight:500}.intro-strip{display:flex;align-items:center;justify-content:space-between;padding:30px 30px 34px;border-bottom:1px solid var(--line);gap:20px}.intro-item{display:flex;align-items:center;gap:12px;font-size:11px;color:#73806c}.intro-item .line-icon{font-size:19px;color:#587754}.intro-item strong{display:block;color:#3b4f3f;font-weight:500;font-size:12px}.section{padding:76px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:12px;color:#718466}.section-heading h2{margin-bottom:0}.section-heading p{color:var(--muted);font-size:12px;line-height:1.8;max-width:290px;margin:0}.subject-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.subject-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:26px 24px 20px;position:relative;transition:.2s;display:flex;flex-direction:column}.subject-card:hover{transform:translateY(-5px);border-color:#7b9c73;box-shadow:0 10px 30px #223c2310}.subject-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}.subject-card .subject-icon{height:37px;width:37px;background:#edf2e6;border-radius:10px;display:grid;place-items:center;color:#56744c;font-size:19px}.tag{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:30px;padding:3px 9px;font-size:9px;color:#788673;letter-spacing:.5px}.tag.green{color:#326244;background:#eef6e4;border-color:#d9e7cd}.tag.gold{color:#836725;background:#faf2db;border-color:#eee1b9}.subject-card h3{font-size:28px;margin:0 0 8px}.subject-card .cn-name{font-size:13px;color:#53674f;margin-bottom:5px}.subject-card .en-name{font-size:10px;color:#8c9688;line-height:1.5;min-height:31px}.subject-card .card-stats{border-top:1px solid #edf0e8;border-bottom:1px solid #edf0e8;padding:13px 0;display:flex;gap:16px;font-size:9px;color:#7f8b79;margin:18px 0}.card-stats strong{font-size:13px;color:#415b3b;display:block;font-weight:500}.subject-card .card-link{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:auto;color:#41623a}.card-link span:last-child{font-size:20px;font-weight:400}.study-method{border-radius:20px;background:#ebf0e5;padding:40px 45px;display:grid;grid-template-columns:1fr 1.7fr;gap:50px;margin-bottom:72px}.study-method h2{font-size:30px;margin-bottom:12px}.study-method p{font-size:12px;color:var(--muted)}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.step-number{font-family:'Manrope',sans-serif;color:#92a086;font-size:13px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.step-number:after{content:'';height:1px;background:#cbd4c1;flex:1}.method-steps h3{font-size:15px;margin-bottom:10px}.method-steps p{font-size:11px;line-height:1.9}.faq-section{display:grid;grid-template-columns:1fr 1.7fr;gap:75px;margin-bottom:76px}.faq-section h2{font-size:34px}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{list-style:none;cursor:pointer;font-size:13px;font-weight:500;display:flex;justify-content:space-between;gap:24px}.faq-list summary:after{content:'+';font-size:20px;color:#7c8c70}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:12px;color:var(--muted);line-height:1.9;padding-top:15px;margin:0;max-width:580px}.closing-cta{background:radial-gradient(ellipse at 100% 100%,#476645,transparent 65%),var(--forest);padding:40px 45px;border-radius:16px;color:#edf5e5;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:70px}.closing-cta h2{font-size:28px;margin:0 0 10px}.closing-cta p{margin:0;font-size:12px;color:#b6c5a9}.site-footer{width:min(1320px,89.8%);margin:auto;border-top:1px solid var(--line);padding:26px 0;display:flex;align-items:center;gap:28px;font-size:10px;color:#8b9385}.site-footer .brand{font-size:20px;color:var(--forest)}.site-footer>span:last-child{margin-left:auto}.skip-link{position:fixed;left:16px;top:-60px;z-index:100;background:#fff;padding:8px 15px}.skip-link:focus{top:12px}.initial-loader{padding:120px;text-align:center;color:var(--muted)}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 24px;background:#173e32;color:#fff;border-radius:12px;box-shadow:0 6px 24px #0002;z-index:90;font-size:13px;max-width:90vw}.toast.error{background:#823e32}dialog{border:1px solid #d9e2cf;border-radius:20px;padding:40px;width:min(490px,calc(100% - 32px));color:var(--ink);box-shadow:0 30px 100px #102c2340}dialog::backdrop{background:#102c2380;backdrop-filter:blur(4px)}dialog h2{font-size:28px}dialog p{font-size:13px;color:var(--muted)}.dialog-close{position:absolute;right:17px;top:10px;background:none;border:0;font-size:25px;color:var(--muted)}.contact-code{padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}.fine-print{font-size:11px;color:var(--muted)}.auth-layout{width:min(1070px,89.8%);margin:30px auto 80px;display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:23px;overflow:hidden;min-height:590px}.auth-brand-panel{background:radial-gradient(ellipse at 100% 0%,#477044,transparent),var(--forest);color:#fff;padding:49px;display:flex;flex-direction:column;justify-content:space-between}.auth-brand-panel h2{font-size:58px;line-height:1.1;letter-spacing:-3px}.auth-brand-panel h2 span{color:var(--lime)}.auth-brand-panel p{font-size:13px;color:#c4d3ba}.auth-benefit{font-size:12px;display:flex;gap:10px;margin:14px 0;color:#d0dfc7}.auth-form{padding:50px;display:flex;flex-direction:column;justify-content:center}.auth-form h1{font-size:28px;letter-spacing:-1px;margin:10px 0}.auth-form .sub{font-size:12px;color:var(--muted);margin-bottom:26px}.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.form-field label{font-size:12px;font-weight:600}.form-field input,.form-field textarea,.form-field select,.search-input{width:100%;padding:12px 13px;background:#fafbf7;border:1px solid #d9e1d2;border-radius:8px;color:var(--ink);min-height:45px;outline-offset:2px}.form-field input::placeholder,.search-input::placeholder{color:#a3aa9b;font-size:12px}.form-field small{font-size:10px;color:var(--muted)}.form-error{color:var(--danger);background:#fff2ed;border-radius:8px;padding:10px;font-size:12px;margin-bottom:15px}.auth-form .button{width:100%}.auth-switch{text-align:center;margin:22px 0 0;font-size:12px;color:var(--muted)}.auth-switch a{color:var(--forest);font-weight:700}.workspace{width:min(1320px,89.8%);margin:32px auto 70px}.workspace-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:27px}.workspace-top h1{font-size:33px;margin:0 0 8px;letter-spacing:-1px}.workspace-top p{font-size:12px;color:var(--muted);margin-bottom:0}.account-email{overflow-wrap:anywhere}.status-banner{padding:17px 22px;border-radius:11px;background:#eaf1e1;border:1px solid #d4e2c7;margin-bottom:27px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.status-banner.expired{background:#f5f0e5;border-color:#e7dbc4;color:#826939}.status-banner strong{display:block;color:var(--forest)}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.metric{border:1px solid var(--line);background:white;border-radius:12px;padding:20px 24px}.metric span{font-size:11px;color:var(--muted)}.metric strong{display:block;font:600 30px 'Manrope',sans-serif;margin-top:8px}.dashboard-title{display:flex;justify-content:space-between;align-items:center;margin:30px 0 18px}.dashboard-title h2{font-size:21px;letter-spacing:-.5px;margin:0}.dashboard-title span{font-size:11px;color:var(--muted)}.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:19px;flex-wrap:wrap}.breadcrumbs a:hover{text-decoration:underline}.subject-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:25px}.chapter-sidebar{background:#eef2e8;border:1px solid var(--line);border-radius:13px;padding:21px 15px;align-self:start;position:sticky;top:112px}.chapter-sidebar h3{font-size:12px;padding:0 9px;margin-bottom:16px;color:#728266}.chapter-button{width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:12px 11px;font-size:12px;color:#6a7b61;margin:3px 0;display:flex;gap:10px}.chapter-button.active{background:#fff;color:var(--forest);box-shadow:0 2px 8px #24422008;font-weight:600}.chapter-button span{font-size:10px;opacity:.6;padding-top:2px}.module-list{display:grid;gap:12px}.module-row{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;gap:20px;align-items:center}.module-num{font:500 22px 'Manrope',sans-serif;color:#9aaa8e;min-width:34px}.module-detail{flex:1;min-width:0}.module-detail h3{font-size:14px;line-height:1.5;letter-spacing:0;margin:0 0 8px}.module-meta{display:flex;gap:13px;align-items:center;font-size:10px;color:#87917f}.module-actions{display:flex;gap:7px}.module-actions .button{font-size:10px;padding:8px 12px;gap:5px}.module-row.locked{background:#f7f8f3}.module-row.locked .module-detail{opacity:.7}.empty-state{padding:60px 24px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}.empty-state h2{font-size:22px}.quiz-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px}.quiz-sidebar{border:1px solid var(--line);background:#eef2e8;border-radius:13px;padding:20px;align-self:start}.quiz-sidebar h3{font-size:12px;margin-bottom:15px}.number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-height:400px;overflow:auto;padding:2px}.number-button{border:1px solid #d9e2cd;background:#fff;color:#7a8970;font-size:10px;height:29px;min-width:0;padding:0;border-radius:5px}.number-button.current{outline:2px solid #4c7042;outline-offset:1px}.number-button.correct{background:#d8e8c7;color:#3e612d}.number-button.wrong{background:#f5ddcf;color:#986446}.quiz-sidebar .fine-print{margin-top:18px;font-size:10px}.quiz-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.segmented{display:inline-flex;gap:2px;background:#e9eee1;padding:3px;border-radius:7px}.segmented button{border:0;background:transparent;color:#718268;border-radius:5px;padding:6px 10px;font-size:11px}.segmented button.active{background:white;color:var(--forest);box-shadow:0 1px 5px #1233140d}.quiz-card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;padding:29px}.question-meta{font-size:10px;color:#89967f;display:flex;align-items:center;justify-content:space-between;gap:10px;letter-spacing:.8px;margin-bottom:21px}.question-body{font-size:15px;line-height:1.85;overflow-x:auto;overflow-wrap:anywhere}.question-body p{margin:0 0 15px}.question-body table,.explanation-body table{border-collapse:collapse;max-width:100%;font-size:13px}.question-body td,.question-body th,.explanation-body td,.explanation-body th{border:1px solid var(--line);padding:8px}.question-options{margin:22px 0;overflow-x:auto}.option-table{width:100%;border-collapse:separate;border-spacing:0 9px;font-size:13px;line-height:1.7}.option-table td{background:#fafbf7;border-top:1px solid #e2e8d9;border-bottom:1px solid #e2e8d9;padding:13px 8px}.option-table td:first-child{border-left:1px solid #e2e8d9;border-radius:8px 0 0 8px;width:27px;padding-left:14px}.option-table td:last-child{border-right:1px solid #e2e8d9;border-radius:0 8px 8px 0;padding-right:14px}.option-table .choice-letter{width:25px;font-weight:600;color:#79906a}.option-table .choice-radio span{height:13px;width:13px;border:1px solid #b7c4a9;display:block;border-radius:50%}.option-table p{margin:0}.option-row{cursor:pointer;outline:none}.option-row:focus-visible td{border-color:#638d4c}.option-row.selected td{background:#eef4e7;border-color:#96b27d}.option-row.selected .choice-radio span{background:#507543;box-shadow:inset 0 0 0 3px #edf4e6}.option-row.answer-correct td{background:#eaf4e0;border-color:#94b879}.option-row.answer-wrong td{background:#fcf0e7;border-color:#d9b193}.language-label{font-size:9px;color:#839274;letter-spacing:1.3px;display:block;margin-bottom:5px}.lang-zh{color:#65785b;font-size:12px;margin-top:9px;border-top:1px dashed #e1e7d9;padding-top:9px}.quiz-submit{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #edf0e7;padding-top:20px}.quiz-submit .button{font-size:12px;padding:10px 19px}.answer-result{font-size:12px;color:#527f3b}.answer-result.wrong{color:#a66b48}.quiz-bottom{display:flex;justify-content:space-between;gap:14px;margin-top:18px}.quiz-bottom .button{font-size:11px;padding:9px 16px}.explanation-panel{margin-top:20px;padding:25px;border:1px solid #dfe8d3;background:#f0f5e9;border-radius:12px}.explanation-panel h3{font-size:14px}.explanation-body{font-size:13px;line-height:1.85;overflow:auto;overflow-wrap:anywhere}.explanation-body p{margin-bottom:12px}.note-editor{margin-top:20px}.note-editor summary{font-size:12px;color:#7b8a70;cursor:pointer}.note-editor textarea{width:100%;padding:12px;min-height:85px;background:#fff;border:1px solid var(--line);border-radius:8px;resize:vertical;margin-top:12px;font-size:12px}.note-editor .button{padding:7px 12px;font-size:10px;margin-top:5px}.favorite-button{background:transparent;border:1px solid var(--line);padding:6px 10px;border-radius:7px;font-size:11px;color:#7b8a71}.favorite-button.active{color:#92732d;background:#f7efcf;border-color:#e5d596}.tbs-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:20px}.tbs-toolbar h1{font-size:20px;margin:0;line-height:1.5}.tbs-frame{width:100%;height:calc(100dvh - 205px);min-height:540px;border:1px solid var(--line);border-radius:10px;background:white;display:block}.tbs-note{font-size:10px;color:var(--muted);margin:10px 0}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.admin-panel{padding:24px;border:1px solid var(--line);background:#fff;border-radius:13px}.admin-panel h2{font-size:18px;letter-spacing:0}.admin-search{display:flex;gap:10px;margin-bottom:22px}.search-input{font-size:12px}.users-list{display:grid;gap:12px}.user-card{border:1px solid var(--line);border-radius:10px;padding:17px;min-width:0}.user-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.user-card strong{font-size:13px;overflow-wrap:anywhere}.user-card .fine-print{font-size:10px;margin:5px 0 12px}.user-entitlements{display:flex;gap:7px;flex-wrap:wrap}.entitlement-toggle{border:1px solid var(--line);border-radius:7px;background:#fafbf6;padding:6px 9px;font-size:10px;color:#78866d;display:inline-flex;align-items:center;gap:6px}.entitlement-toggle.granted{color:#426b31;background:#e9f3dd;border-color:#cbdcba}.admin-settings{align-self:start;position:sticky;top:112px}.admin-settings p{font-size:11px;color:var(--muted)}.audit-list{margin-top:24px;max-height:270px;overflow:auto}.audit-item{font-size:10px;padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.audit-item span{color:var(--muted);display:block}.error-page{text-align:center;padding:80px 24px}.error-page h1{font-size:30px}.error-page p{color:var(--muted);font-size:13px}.route-loading{opacity:.55;pointer-events:none}.app-badge{font-size:11px;padding:7px 12px;background:#e8efdf;border-radius:7px;color:#54713f}.notice{font-size:11px;color:var(--muted);padding:16px 0}.plan-disclaimer{font-size:10px;color:#8b9780;margin-top:16px}
@media(min-width:1550px){.hero{padding-top:78px;min-height:690px}.hero-art{height:525px;padding-top:62px}.plan-card{width:390px;padding:31px}.calendar-grid{gap:6px}.score-card{right:12px;top:330px}.hero h1{font-size:101px}}
@media(max-width:1100px){.hero{padding:48px 39px 0;min-height:580px;grid-template-columns:1.05fr 1fr}.hero h1{font-size:70px}.hero-art{padding-top:58px;height:434px}.plan-card{width:300px;padding:23px}.calendar-grid{gap:4px}.score-card{width:145px;right:-10px;top:287px;padding:16px 19px}.score-card .score{font-size:59px}.hero-sub{font-size:17px}.hero-actions{gap:15px}.hero-actions .button{padding:13px 19px}.subject-card{padding:23px 18px 18px}.section{padding:60px 0}.intro-strip{padding:28px 10px}.study-method{padding:34px;gap:30px}.admin-layout{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:850px){.site-header{height:78px}.site-header nav{gap:20px}.site-header nav a:nth-child(2){display:none}.header-actions{gap:17px}.hero{grid-template-columns:1fr;padding:43px 34px 0;gap:0}.hero h1{font-size:79px;max-width:540px;letter-spacing:-4px}.hero-description{max-width:440px}.hero-art{height:395px;max-width:400px;width:100%;margin:-20px auto 0;padding-top:35px}.plan-card{width:310px}.score-card{right:0;top:252px}.hero-bottom{margin-top:0}.intro-strip{display:grid;grid-template-columns:1fr 1fr;gap:20px 35px;padding:28px 20px}.subject-grid{grid-template-columns:repeat(2,1fr)}.subject-card .en-name{min-height:15px}.study-method,.faq-section{grid-template-columns:1fr;gap:20px}.study-method>div:first-child p{margin-bottom:8px}.faq-section{gap:10px}.auth-layout{grid-template-columns:1fr 1.1fr}.auth-brand-panel{padding:33px}.auth-brand-panel h2{font-size:46px}.auth-form{padding:33px}.subject-layout{grid-template-columns:185px minmax(0,1fr);gap:16px}.module-row{padding:18px;gap:12px;flex-wrap:wrap}.module-actions{margin-left:46px;width:100%}.quiz-layout{grid-template-columns:1fr}.quiz-sidebar{padding:14px 17px}.quiz-sidebar h3,.quiz-sidebar .fine-print{display:none}.number-grid{display:flex;overflow:auto;max-height:none;gap:7px;padding:3px}.number-button{min-width:30px}.quiz-card{padding:24px}.admin-layout{grid-template-columns:1fr}.admin-settings{position:static}.tbs-frame{height:calc(100dvh - 225px)}.site-footer{gap:18px}.site-footer>span:nth-child(2){display:none}}
@media(max-width:540px){body{font-size:14px}.site-header{height:74px;padding:0 20px;gap:15px}.brand{font-size:24px;gap:9px}.brand-symbol{width:35px;height:35px;font-size:18px;border-radius:9px}.brand-symbol>span{font-size:11px}.brand-dot{margin-left:-7px}.site-header nav{display:none}.header-actions{gap:14px}.header-actions .button{padding:8px 12px;font-size:11px;gap:10px}.header-actions .text-link{font-size:11px}.page-width,.workspace{width:calc(100% - 32px)}.hero{border-radius:17px;padding:35px 26px 0}.hero .eyebrow{font-size:8px;letter-spacing:1.9px;margin-bottom:22px}.hero h1{font-size:65px;letter-spacing:-4px;margin-bottom:25px}.hero-sub{font-size:16px;letter-spacing:1px}.hero-description{font-size:11px;line-height:1.85}.hero-actions{gap:19px;margin-top:24px}.hero-actions .button{font-size:12px;padding:12px 15px;gap:18px}.hero-actions .secondary-link{font-size:11px}.hero-note{font-size:8px;gap:8px;margin-top:17px}.hero-art{height:355px;margin:1px auto 0;padding-top:34px}.plan-card{width:260px;max-width:94%;padding:21px}.plan-card h3{font-size:21px;margin-top:17px}.calendar-grid{gap:3px}.calendar-day{font-size:5px}.plan-card p{font-size:8px;margin-bottom:16px}.card-topline{font-size:7px}.card-topline .pill{font-size:6px}.score-card{right:-10px;top:239px;width:130px;padding:13px 16px;transform:rotate(6deg)}.score-card .score{font-size:52px}.score-card .score sup{font-size:21px}.score-card .score-label{font-size:6px}.score-bottom{font-size:8px;padding-top:6px}.art-caption{left:0;bottom:8px;font-size:6px}.hero-bottom{height:53px;font-size:6px;letter-spacing:.5px}.hero-bottom div{gap:14px}.hero-bottom strong{font-size:9px}.intro-strip{padding:24px 8px;gap:18px}.intro-item{font-size:9px;gap:9px}.intro-item strong{font-size:10px}.intro-item .line-icon{font-size:16px}.section{padding:43px 0}.section-heading{display:block;margin-bottom:23px}.section-heading h2{font-size:29px}.section-heading p{margin-top:14px;font-size:11px;max-width:100%}.eyebrow{font-size:9px;letter-spacing:2px}.subject-grid{gap:10px}.subject-card{padding:18px 15px 15px;border-radius:10px}.subject-card-top{margin-bottom:23px}.subject-card .subject-icon{width:30px;height:30px;font-size:15px;border-radius:8px}.subject-card .tag{font-size:7px;padding:2px 6px}.subject-card h3{font-size:25px}.subject-card .cn-name{font-size:11px}.subject-card .en-name{font-size:8px;min-height:25px}.subject-card .card-stats{gap:16px;margin:14px 0;padding:10px 0;font-size:8px}.card-stats strong{font-size:11px}.subject-card .card-link{font-size:9px}.study-method{padding:28px 23px;margin-bottom:42px;border-radius:13px}.study-method h2{font-size:26px}.method-steps{grid-template-columns:1fr;gap:8px}.method-steps>div{display:grid;grid-template-columns:35px 1fr;gap:0 9px}.step-number{grid-row:1/3;font-size:11px;margin:0;align-items:flex-start;line-height:1.5}.step-number:after{display:none}.method-steps h3{font-size:13px;margin-bottom:7px}.method-steps p{grid-column:2;font-size:10px}.faq-section{margin-bottom:43px}.faq-section h2{font-size:27px}.faq-list summary{font-size:12px}.faq-list p{font-size:11px}.closing-cta{padding:28px 25px;align-items:flex-start;flex-direction:column;gap:21px;margin-bottom:36px}.closing-cta h2{font-size:24px;line-height:1.5}.closing-cta p{font-size:11px}.closing-cta .button{font-size:12px;padding:11px 18px}.site-footer{width:calc(100% - 40px);font-size:8px;padding:21px 0;gap:10px}.site-footer .brand{font-size:18px}.auth-layout{width:calc(100% - 32px);margin:12px auto 40px;grid-template-columns:1fr;min-height:0}.auth-brand-panel{padding:26px}.auth-brand-panel h2{font-size:37px;margin-bottom:12px;letter-spacing:-2px}.auth-brand-panel .eyebrow{margin-bottom:18px}.auth-brand-panel p{margin-bottom:0;font-size:10px}.auth-benefits{display:none}.auth-form{padding:28px 24px}.auth-form h1{font-size:26px}.workspace{margin-top:20px;margin-bottom:40px}.workspace-top{align-items:flex-start}.workspace-top h1{font-size:25px}.workspace-top p{font-size:10px}.workspace-top>.button{font-size:10px;padding:8px 10px;gap:7px}.workspace-top .eyebrow{font-size:8px;margin-bottom:10px}.status-banner{padding:14px 16px;font-size:10px;gap:12px;align-items:flex-start;flex-direction:column}.status-banner .button{font-size:10px;padding:7px 10px}.dashboard-stats{gap:8px;margin-bottom:26px}.metric{padding:14px 12px;border-radius:9px}.metric span{font-size:9px}.metric strong{font-size:25px}.dashboard-title{gap:10px}.dashboard-title h2{font-size:18px}.dashboard-title span{font-size:9px}.subject-layout{grid-template-columns:1fr;gap:18px}.chapter-sidebar{position:static;padding:10px;display:flex;overflow:auto;gap:5px;border-radius:9px}.chapter-sidebar h3{display:none}.chapter-button{flex:0 0 auto;width:auto;padding:9px 11px;margin:0;font-size:11px;white-space:nowrap}.chapter-button .chapter-label{display:none}.module-row{padding:17px 15px;gap:12px}.module-num{font-size:19px;min-width:28px}.module-detail h3{font-size:12px}.module-meta{font-size:9px;gap:9px;flex-wrap:wrap}.module-actions{margin-left:40px}.module-actions .button{font-size:10px}.quiz-toolbar{gap:10px}.quiz-toolbar .segmented button{font-size:9px;padding:6px 8px}.favorite-button{font-size:10px}.quiz-card{padding:20px 17px}.question-body{font-size:13px;line-height:1.9}.question-meta{font-size:8px;letter-spacing:.5px}.option-table{font-size:12px;border-spacing:0 8px}.option-table td{padding:12px 5px}.option-table td:first-child{padding-left:10px;width:23px}.option-table .choice-letter{width:22px}.lang-zh{font-size:11px}.quiz-submit{flex-wrap:wrap}.answer-result{font-size:11px}.quiz-submit .button{font-size:11px;margin-left:auto}.quiz-bottom .button{font-size:10px}.explanation-panel{padding:19px}.explanation-body{font-size:12px}.tbs-toolbar h1{font-size:15px}.tbs-toolbar .button{font-size:10px;padding:8px 12px}.tbs-frame{height:calc(100dvh - 229px);min-height:460px;border-radius:8px}.tbs-note{font-size:9px}.admin-panel{padding:18px}.user-card{padding:13px}.user-card strong{font-size:11px}.user-card-top{flex-wrap:wrap}.app-badge{font-size:10px;padding:6px 9px}.initial-loader{padding:100px 20px}.toast{font-size:12px;width:max-content}.dialog-close-action{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.quiz-layout>*,.subject-layout>*,.workspace-top>div,.admin-layout>*{min-width:0}.number-grid{max-width:100%}.workspace-top h1{overflow-wrap:anywhere}

.tbs-expanded .tbs-toolbar{position:fixed;top:0;left:0;right:0;height:64px;padding:10px 18px;background:var(--paper);z-index:50;border-bottom:1px solid var(--line);margin:0}.tbs-expanded .tbs-toolbar h1{max-width:60%;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbs-expanded .tbs-frame{position:fixed;inset:64px 0 0;width:100vw;height:calc(100dvh - 64px);min-height:0;border:0;border-radius:0;z-index:49}.tbs-expanded{overflow:hidden}@media(max-width:540px){.tbs-toolbar{flex-wrap:wrap;gap:12px}.tbs-toolbar>div{margin-left:auto}.tbs-expanded .tbs-toolbar{flex-wrap:nowrap}.tbs-expanded .tbs-toolbar h1{display:none}.tbs-expanded .tbs-toolbar>div{margin-left:0;width:100%;justify-content:space-between}}
