:root{--accent:#e96b50;--accent-dark:#c94f36;--accent-pale:#fff0e9;--accent-line:#f3c9ba;--ink:#253632;--muted:#718078;--line:#e3e9e2;--surface:#fff;--canvas:#f7f8f3;--shadow:0 12px 35px #233c2e06;--radius:22px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);font-size:15px;line-height:1.65}body[data-subject=math]{--accent:#4b82d2;--accent-dark:#3263ac;--accent-pale:#eaf2ff;--accent-line:#c5d8f5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:wait;opacity:.65}input,select{min-width:0;color:var(--ink)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input:focus,select:focus{border-color:var(--accent);outline:3px solid var(--accent-pale)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}svg{display:block;width:100%;height:100%}.skip-link{position:fixed;left:20px;top:-80px;z-index:20;padding:10px 18px;background:white;border:2px solid var(--accent);border-radius:12px}.skip-link:focus{top:15px}.site-shell{max-width:1240px;padding:0 44px;margin:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:106px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand-mark{width:43px;height:43px;color:var(--accent)}.brand>span:last-child{display:flex;align-items:center;gap:13px}.brand strong{font-size:21px;font-weight:800;letter-spacing:.04em}.brand-subject{font-size:13px;color:var(--muted);padding-left:13px;border-left:1px solid #dbe3d9}.header-actions,.signed-in-actions{display:flex;align-items:center;gap:22px}.subject-links{display:flex;gap:5px;align-items:center}.subject-links a{text-decoration:none;font-size:14px;padding:7px 13px;border-radius:10px;color:var(--muted);font-weight:600}.subject-links a:hover{background:#eef1e9;color:var(--ink)}.subject-links a[aria-current=page]{background:var(--accent-pale);color:var(--accent-dark)}.account-button{border:0;display:flex;gap:9px;align-items:center;background:none;color:var(--ink);max-width:200px;font-size:13px;font-weight:650;padding:3px}.account-button>span:first-child{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;background:#e8eddf;border-radius:50%;color:#5a7050}.account-button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{border:0;background:none;padding:0;color:var(--muted);font-size:13px;font-weight:550}.text-button:hover{color:var(--accent-dark)}#portal-main:focus{outline:none}.auth-layout{display:grid;grid-template-columns:1fr 440px;gap:82px;align-items:center;min-height:calc(100vh - 176px);padding:50px 0}.auth-introduction{padding:0 0 0 16px}.eyebrow{display:inline-block;color:var(--accent-dark);background:var(--accent-pale);font-size:12px;font-weight:750;letter-spacing:.06em;border-radius:7px;padding:4px 11px;margin-bottom:18px}.auth-introduction h1{font-size:38px;letter-spacing:.01em;line-height:1.45;font-weight:800}.auth-description{margin-top:17px;font-size:15px;color:var(--muted);max-width:365px;line-height:1.9}.subject-illustration{height:240px;position:relative;margin:20px 0 0;max-width:390px}.illustration-book{position:absolute;top:27px;left:89px;width:148px;height:176px;border-radius:10px 15px 15px 10px;background:var(--accent);transform:rotate(-9deg);box-shadow:8px 8px 0 var(--accent-line),0 25px 35px #233c2e0b;color:white;border-left:8px solid #0000000c;padding:18px 20px}.illustration-book>span:first-child{font-size:54px;font-weight:750;line-height:1.2;display:block}.book-line{display:block;width:78px;border-top:3px solid #ffffff85;margin-top:15px}.book-line.short{width:50px;margin-top:9px}.book-corner{position:absolute;top:0;right:18px;width:15px;height:38px;background:#fff1c4;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}.illustration-small{position:absolute;width:43px;height:43px;border-radius:13px;display:grid;place-items:center;font-weight:700;font-size:21px;background:#e6edda;color:#6b7f55;transform:rotate(10deg);left:278px;top:55px}.small-two{width:36px;height:36px;font-size:17px;left:32px;top:150px;background:#f5e8c8;color:#9c8a5a;transform:rotate(-14deg)}.illustration-orbit{position:absolute;width:220px;height:178px;border:1px dashed #d8dfcf;border-radius:50%;top:26px;left:68px;transform:rotate(27deg)}.orbit-two{width:277px;height:211px;left:40px;top:7px;transform:rotate(-22deg);opacity:.6}.illustration-tag{position:absolute;top:187px;left:174px;background:#fff;padding:7px 13px;border:1px solid var(--line);border-radius:8px;font-size:11px;color:var(--muted);transform:rotate(5deg);box-shadow:var(--shadow)}.shared-account-note{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;line-height:1.8}.shared-account-note>span{display:grid;place-items:center;border:1px solid #d6dfcb;border-radius:50%;width:29px;height:29px;color:#7b9468;background:#f0f4e9}.auth-card{padding:32px 35px 22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.auth-tabs{display:flex;border-bottom:1px solid var(--line);gap:26px;margin-bottom:26px}.auth-tab{position:relative;border:0;background:none;padding:0 3px 14px;color:var(--muted);font-size:15px;font-weight:650}.auth-tab.active{color:var(--ink)}.auth-tab.active:after{content:"";position:absolute;bottom:-1px;left:1px;right:1px;height:3px;background:var(--accent);border-radius:2px}.auth-form h2{font-size:22px;line-height:1.5;letter-spacing:.02em}.form-intro{font-size:12px;color:var(--muted);margin:6px 0 22px}.auth-form label{display:block;font-size:12px;font-weight:650;margin:15px 0 7px}.auth-form input{width:100%;height:46px;padding:10px 12px;background:#fbfcf9;border:1px solid #dfe6dc;border-radius:9px;transition:border-color .15s}.auth-form input::placeholder{color:#a1aaa2;font-size:12px}.form-meta{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#929b93;margin-top:12px}.form-meta .text-button{font-size:11px}.primary-button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;border:0;border-radius:10px;background:var(--accent);color:white;padding:12px 16px;font-size:14px;font-weight:700;min-height:47px;transition:background .15s,transform .15s}.primary-button:hover{background:var(--accent-dark);transform:translateY(-1px)}.primary-button span{font-size:21px;font-weight:400;line-height:1}.auth-submit{margin-top:24px}.auth-footer{font-size:10px;color:#a0aaa0;text-align:center;border-top:1px solid var(--line);padding-top:17px;margin-top:26px}.optional{color:#98a196;font-size:11px;font-weight:400;margin-left:6px}.field-hint{color:#98a196;font-size:10px;margin-top:5px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.back-to-login{margin-bottom:19px}.auth-form>.back-to-login:last-child{margin:16px 0 0}.feedback{padding:11px 13px;border-radius:9px;font-size:12px;margin-top:16px;overflow-wrap:anywhere}.feedback-error{background:#fff0ec;color:#a33e2b;border:1px solid #f5d1c7}.feedback-status{background:#eef5e8;color:#54723e;border:1px solid #d9e6cb}.auth-loading{font-size:12px;color:var(--muted);margin-bottom:14px}.learning-layout{padding-top:40px;min-height:calc(100vh - 177px)}.welcome-row{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:27px}.welcome-row .eyebrow{margin-bottom:10px}.welcome-row h1{font-size:28px;line-height:1.5;letter-spacing:.015em}.section-description{margin-top:7px;color:var(--muted);font-size:13px}.welcome-decoration{color:var(--accent);font-size:45px;font-weight:750;width:79px;height:79px;display:grid;place-items:center;border:1px solid var(--accent-line);border-radius:22px;background:var(--accent-pale);transform:rotate(7deg);margin-right:8px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:35px}.summary-card{display:flex;align-items:center;gap:15px;padding:21px 24px;border:1px solid var(--line);background:white;border-radius:16px;text-align:left;transition:transform .15s,border-color .15s}.summary-card:hover{transform:translateY(-2px);border-color:var(--accent-line)}.summary-icon{display:grid;place-items:center;width:42px;height:46px;border-radius:10px;background:var(--accent-pale);font-weight:700;color:var(--accent-dark);font-size:18px}.summary-card>span:nth-child(2){display:flex;gap:3px;flex-direction:column}.summary-card strong{font-size:23px;line-height:1.2;font-weight:750}.summary-card>span:nth-child(2)>span{font-size:11px;color:var(--muted)}.summary-arrow{margin-left:auto;color:#b3bdb0;font-size:20px;font-weight:400}.learning-tabs{display:flex;align-items:center;gap:29px;border-bottom:1px solid var(--line);margin-bottom:25px}.learning-tab{border:0;background:none;color:var(--muted);position:relative;padding:0 2px 14px;font-size:14px;font-weight:650;white-space:nowrap}.learning-tab.active{color:var(--ink)}.learning-tab.active:after{position:absolute;content:"";height:3px;bottom:-1px;left:0;right:0;background:var(--accent);border-radius:3px}.learning-tab.account-tab{margin-left:auto}.content-panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:27px 30px;box-shadow:var(--shadow);min-height:350px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.panel-heading h2{font-size:18px;font-weight:750}.panel-heading p{color:var(--muted);font-size:12px;margin-top:4px}.count-label{font-size:11px;color:#899587;flex-shrink:0}.filters{display:flex;gap:16px;border-top:1px solid #eef1ea;margin-top:23px;padding-top:20px}.filters>div{width:180px}.filters label{display:block;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:6px}.filters select{width:100%;border:1px solid var(--line);background:#fafbf8;border-radius:9px;font-size:12px;height:39px;padding:7px 10px}.empty-state{text-align:center;padding:42px 20px 31px;color:var(--muted)}.empty-symbol{display:grid;place-items:center;width:66px;height:66px;border-radius:18px;background:#f6f8f1;color:#a6b399;margin:0 auto 17px;font-size:31px;font-weight:600}.empty-symbol svg{width:48px;height:48px}.empty-state h3{font-size:15px;font-weight:650;color:#53624f;margin-bottom:8px}.empty-state p{font-size:12px;line-height:1.9;max-width:420px;margin:auto}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:23px}.resource-grid:empty{display:none}.resource-card{padding:20px;border:1px solid var(--line);border-radius:13px;background:#fcfdf9;overflow-wrap:anywhere}.resource-card h3{font-size:15px;line-height:1.6}.resource-card p{font-size:12px;color:var(--muted);margin-top:8px}.resource-card .resource-meta{font-size:11px;color:var(--accent-dark);margin:0 0 8px}.resource-card a{display:inline-block;color:var(--accent-dark);font-size:12px;font-weight:650;margin-top:14px;text-underline-offset:3px}.record-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.record-row:last-child{border-bottom:0}.record-row h3{font-size:14px}.record-row p{font-size:11px;color:var(--muted);margin-top:4px}.record-score{font-size:19px;font-weight:700;color:var(--accent-dark)}.portal-status{font-size:12px;color:var(--muted);padding:0 3px 15px}.learning-layout>.feedback{margin-bottom:18px}.account-status{display:flex;align-items:center;gap:6px;color:#6a8057;font-size:11px}.account-status>span{width:6px;height:6px;border-radius:50%;background:#89a875}.account-details{margin:25px 0 0}.account-details>div{display:grid;grid-template-columns:115px 1fr;gap:14px;padding:13px 0;border-top:1px solid #edf1e8;font-size:13px}.account-details dt{color:var(--muted)}.account-details dd{margin:0;overflow-wrap:anywhere}.account-help{margin-top:24px;border-radius:13px;background:#f7f9f2;padding:19px 21px}.account-help h3{font-size:13px}.account-help p{font-size:12px;color:var(--muted);margin-top:5px}.account-subject-links{display:flex;gap:19px;margin-top:13px;flex-wrap:wrap}.account-subject-links a{font-size:12px;color:var(--accent-dark);text-decoration:none;font-weight:600}.account-subject-links a:hover{text-decoration:underline}.site-footer{padding:29px 0 24px;display:flex;justify-content:space-between;gap:18px;color:#9aa497;font-size:10px}
@media(min-width:1400px){.auth-layout{gap:115px}.site-shell{max-width:1300px;padding:0 60px}}
@media(max-width:1000px){.site-shell{padding:0 30px}.auth-layout{grid-template-columns:1fr 400px;gap:36px}.auth-introduction{padding:0}.auth-introduction h1{font-size:32px}.subject-illustration{transform:scale(.9);transform-origin:left center;margin-right:-20px}.header-actions{gap:14px}.subject-links{gap:0}.subject-links a{padding:6px 10px}.brand>span:last-child{gap:10px}.brand-subject{padding-left:10px}.signed-in-actions{gap:13px}.summary-card{padding:19px}.content-panel{padding:24px}}
@media(max-width:760px){.site-shell{padding:0 21px}.site-header{min-height:86px;gap:14px;flex-wrap:wrap;padding:17px 0}.brand strong{font-size:19px}.brand-mark{width:36px;height:36px}.brand-subject{font-size:11px}.header-actions{margin-left:auto;gap:14px}.subject-links a{font-size:12px;padding:5px 9px}.signed-in-actions{width:100%;justify-content:flex-end}.site-header:has(.signed-in-actions:not([hidden])) .header-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px}.account-button{font-size:11px;max-width:170px}.account-button>span:first-child{width:25px;height:25px}.signed-in-actions>.text-button{font-size:11px}.auth-layout{display:flex;flex-direction:column;gap:25px;align-items:stretch;padding:29px 0 15px;min-height:auto}.auth-introduction{padding:0 3px}.auth-introduction .eyebrow{font-size:11px;margin-bottom:9px;padding:3px 9px}.auth-introduction h1{font-size:27px;line-height:1.45}.auth-introduction h1 br{display:none}.auth-description{font-size:12px;line-height:1.8;margin-top:8px;max-width:none}.subject-illustration{display:none}.shared-account-note{margin-top:16px;font-size:10px;gap:10px}.shared-account-note p br{display:none}.shared-account-note>span{width:24px;height:24px;flex-shrink:0}.auth-card{padding:25px 25px 20px;max-width:500px;width:100%;align-self:center;border-radius:19px}.auth-tabs{margin-bottom:22px}.auth-form h2{font-size:21px}.auth-footer{margin-top:22px}.learning-layout{padding-top:25px;min-height:calc(100vh - 182px)}.welcome-row{gap:12px;margin-bottom:21px}.welcome-row h1{font-size:23px}.welcome-row .eyebrow{font-size:10px;padding:3px 9px;margin-bottom:8px}.section-description{font-size:11px;margin-top:6px;max-width:250px}.welcome-decoration{width:59px;height:59px;flex-shrink:0;font-size:32px;border-radius:17px;margin-right:4px}.summary-grid{gap:10px;margin-bottom:28px}.summary-card{padding:15px 12px;gap:9px;align-items:flex-start;flex-direction:column;position:relative;border-radius:13px}.summary-icon{width:29px;height:30px;font-size:14px;border-radius:7px}.summary-card strong{font-size:21px}.summary-card>span:nth-child(2)>span{font-size:10px}.summary-arrow{position:absolute;right:10px;top:12px;font-size:15px}.learning-tabs{gap:24px;margin-bottom:19px;overflow:auto}.learning-tab{font-size:12px;padding-bottom:12px}.learning-tab.account-tab{margin-left:0}.content-panel{padding:20px 18px;border-radius:17px;min-height:330px}.panel-heading{gap:12px}.panel-heading h2{font-size:16px}.panel-heading p{font-size:10px;margin-top:5px;max-width:240px}.count-label{font-size:10px}.filters{gap:10px;flex-wrap:wrap;margin-top:19px;padding-top:17px}.filters>div{flex:1;min-width:80px}.filters label{font-size:10px}.filters select{font-size:11px;padding:6px;height:36px;border-radius:7px}.empty-state{padding:34px 8px 24px}.empty-symbol{width:59px;height:59px;border-radius:16px;font-size:28px;margin-bottom:15px}.empty-state h3{font-size:13px}.empty-state p{font-size:11px}.resource-grid{grid-template-columns:1fr;gap:12px;margin-top:18px}.resource-card{padding:17px}.resource-card h3{font-size:14px}.account-details>div{grid-template-columns:80px 1fr;font-size:12px;gap:10px}.account-help{padding:16px}.account-help h3{font-size:12px}.account-help p{font-size:11px}.account-subject-links{gap:16px}.account-subject-links a{font-size:11px}.site-footer{padding:24px 0 21px;font-size:9px;flex-wrap:wrap;gap:5px}.site-footer>span:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.knowledge-details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.knowledge-details summary{cursor:pointer;color:var(--accent-dark);font-weight:650}.knowledge-details h4{font-size:14px;margin:18px 0 7px}.knowledge-details ul{padding-left:20px;margin:0;color:var(--muted)}.knowledge-details li+li{margin-top:7px}
