:root{--ink:#12212c;--muted:#7b858b;--paper:#f8f9f7;--navy:#0d1823;--accent:#eb9e54;--green:#367c72;--border:#e5e9e7;--white:#fff;--shadow:0 10px 35px rgba(24,41,48,.045);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.65}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #edac6b;outline-offset:3px}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:254px;background:#0d1a27;color:#eaf0ee;display:flex;flex-direction:column;padding:31px 20px 22px;border-right:1px solid #1e303c}.brand{display:flex;align-items:center;gap:12px;padding:0 9px;margin-bottom:57px}.brand-mark{height:41px;width:41px;border:1px solid rgba(247,191,123,.36);color:#fac383;border-radius:13px;display:grid;place-items:center;font-size:28px;background:#1a2c35}.brand strong{font-size:20px;letter-spacing:-.8px;line-height:1;display:block;color:#fff}.brand-accent{color:#efb67b}.brand small{color:#8599a7;font-size:10px;letter-spacing:2.6px;white-space:nowrap}.side-category{padding:0 13px;color:#607788;font-size:9px;letter-spacing:2px;font-weight:800;margin:0 0 13px}.spaced{margin-top:40px}.side-nav{display:grid;gap:6px}.side-nav a{display:flex;align-items:center;gap:14px;padding:13px 15px;border-radius:10px;font-weight:600;color:#94a7b4;transition:background .15s;color:#9aabb8}.side-nav a:hover{background:#192b39;color:#fff}.side-nav a.active{background:#213441;color:#f4f5f3;box-shadow:inset 3px 0 #f0b478}.nav-icon{width:19px;text-align:center;font-size:19px;color:#99acb7}.side-nav .active .nav-icon{color:#f0b478}.nav-dot{width:6px;height:6px;border-radius:50%;background:#a1dbbd;margin-left:auto}.side-journey{background:#172735;border:1px solid #243746;border-radius:13px;padding:17px 15px 14px}.side-journey-top{display:flex;justify-content:space-between;font-size:11px;font-weight:700}.side-journey-top span:last-child{color:#efb67b}.tiny-bar{height:5px;border-radius:5px;background:#304451;overflow:hidden;margin-top:12px}.tiny-bar span{display:block;height:100%;background:#f0b478;transition:width .5s}.side-journey p{margin:15px 0 0;color:#7e95a4;line-height:1.8;font-size:11px}.sidebar-bottom{margin-top:auto;background:linear-gradient(125deg,#172d38,#172634);border:1px solid #2a3c49;border-radius:16px;padding:19px 18px;display:flex;align-items:flex-start;gap:10px;min-height:115px}.little-orbit{color:#f1b977;font-size:21px}.sidebar-bottom strong{font-family:serif;font-size:14px;line-height:1.5}.sidebar-bottom small{display:block;color:#64808e;font-size:8px;letter-spacing:1.2px;margin-top:8px}.app-frame{width:calc(100% - 254px);margin-left:254px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.81);border-bottom:1px solid var(--border);padding:0 52px}.crumb{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:750;letter-spacing:1px;color:#78848a}.crumb span:first-child{font-size:10px;letter-spacing:1.9px}.crumb b{color:#c2c7ca}.crumb span:last-child{color:#293b43;letter-spacing:0}.top-actions{display:flex;align-items:center;gap:21px}.top-v1{font-size:10px;color:#7d8f80;letter-spacing:1px;font-weight:750}.top-stat{font-size:12px;color:#dc8c42;white-space:nowrap}.top-stat strong{color:#273239}.avatar{width:36px;height:36px;display:grid;place-items:center;border:2px solid #dce7e1;background:#c8e2d1;border-radius:50%;font-size:14px;color:#335d4d;font-weight:850}.mobile-menu{display:none;background:none;border:0;font-size:21px;color:var(--ink)}main{flex:1;max-width:1530px;width:100%;margin:0 auto;padding:41px 52px 80px}.footer{display:flex;justify-content:space-between;padding:0 52px 28px;color:#b1bab8;font-size:10px;letter-spacing:1.5px}.eyebrow{font-size:10px;font-weight:850;letter-spacing:2.7px;color:#ae875f}.page-heading{margin-bottom:27px}.page-heading h1,.hero h1{font-family:"Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-weight:760;letter-spacing:-1.1px}.page-heading h1{font-size:35px;margin:3px 0 7px}.page-heading p{margin:0;color:var(--muted)}.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:29px;align-items:start}.main-column{min-width:0}.rail{display:flex;flex-direction:column;gap:20px}.hero{background:#132632;color:#fff;min-height:255px;border-radius:18px;overflow:hidden;position:relative;padding:31px 36px;display:flex;align-items:center;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;right:-145px;top:-200px;width:580px;height:580px;border:1px solid #446171;border-radius:50%;box-shadow:0 0 0 42px #ffffff04,0 0 0 83px #ffffff04,0 0 0 125px #ffffff03;pointer-events:none}.hero:before{content:"";position:absolute;right:102px;top:49px;width:183px;height:183px;background:radial-gradient(circle at 35% 30%,#f6c08b,#aa6b46 48%,#324554 49%,#233845 63%,transparent 64%);border-radius:50%;opacity:.72;transform:rotate(-30deg)}.hero-content{position:relative;z-index:1;max-width:510px}.hero-tag{display:inline-flex;gap:7px;align-items:center;background:#29414a;border:1px solid #3d5b63;color:#ffce96;border-radius:40px;font-size:10px;padding:5px 12px;letter-spacing:1.3px;font-weight:800}.hero h1{font-size:32px;line-height:1.55;margin:16px 0 12px}.hero p{color:#a7bcc1;max-width:405px;font-size:12px;line-height:1.9;margin:0 0 23px}.btn{border-radius:9px;border:1px solid transparent;padding:10px 17px;font-weight:750;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:transform .15s,background .15s;text-decoration:none}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:#f1b779;color:#24313a}.btn-primary:hover{background:#ffd09b}.btn-dark{background:#152d37;color:#fff}.btn-light{background:#fff;border-color:var(--border);color:#243d46}.btn:disabled{opacity:.5;cursor:not-allowed}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:35px 0 18px}.section-header h2{margin:0;font-size:18px;font-family:"Noto Serif SC","Songti SC",Georgia,serif}.section-header p{margin:3px 0 0;color:#96a1a3;font-size:11px}.section-header .mini-link{font-size:11px;color:#9c744f;font-weight:700}.track-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.track-card{background:white;border:1px solid var(--border);border-radius:14px;min-height:156px;padding:18px;position:relative;box-shadow:var(--shadow);transition:transform .2s,border-color .2s}.track-card.live{border-color:#ead8c4;background:linear-gradient(150deg,#fff,#fffaf4)}.track-card:hover{transform:translateY(-2px)}.track-symbol{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#f7eadb;color:#cb8948;font-size:23px;line-height:1}.track-card:not(.live) .track-symbol{background:#edf2f0;color:#89a39c}.track-card h3{margin:14px 0 0;font-size:13px}.track-card p{font-size:10px;color:#9da5a6;margin:3px 0 0;line-height:1.5}.track-card .small-status{position:absolute;right:13px;top:15px;color:#a1aaa9;background:#f5f6f4;border-radius:20px;font-size:9px;padding:2px 8px}.track-card.live .small-status{background:#fbeddc;color:#b27741}.rail-card{background:white;border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.rail-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;color:#465860}.rail-head span{font-size:16px}.level-number{font-size:46px;line-height:1.2;font-weight:800;letter-spacing:-3px;margin:20px 0 5px;font-family:Georgia,serif}.level-number small{font-family:inherit;font-size:12px;color:#a7afad;letter-spacing:0}.level-note{font-size:11px;color:#929e9e}.meter{height:7px;border-radius:10px;background:#eef1ec;overflow:hidden;margin-top:15px}.meter>span{height:100%;background:#d6a16b;display:block;border-radius:10px;transition:width .45s}.meter-caption{display:flex;justify-content:space-between;font-size:10px;color:#9aa5a4;margin-top:8px}.daily-card{background:#eaf1ed;border:1px solid #dce8e2;border-radius:16px;padding:22px}.daily-title{font-size:11px;letter-spacing:1px;color:#538078;font-weight:800}.daily-card h3{font-size:16px;margin:11px 0 7px}.daily-card p{font-size:11px;color:#67847c;line-height:1.9;margin:0}.day-strip{display:flex;justify-content:space-between;margin-top:16px;gap:5px}.day-dot{width:24px;height:24px;border-radius:50%;border:1px solid #c9d9d0;display:grid;place-items:center;color:#9bb3a6;font-size:10px;font-weight:800}.day-dot.today{background:#377a6b;border-color:#377a6b;color:#fff}.note-card{border:1px dashed #d3dbd7;border-radius:15px;padding:19px 20px}.note-card .quote{font-family:"Songti SC",serif;font-size:17px;color:#48635e;margin:0 0 10px}.note-card p{font-size:11px;line-height:1.8;color:#96a29e;margin:0}.path-hero{background:#18303a;border-radius:17px;color:white;padding:29px 35px;display:flex;align-items:center;justify-content:space-between;gap:22px;position:relative;overflow:hidden}.path-hero:after{content:'♟';font-family:serif;font-size:170px;position:absolute;right:60px;top:-80px;color:#ffffff0d}.path-hero .eyebrow{color:#e7aa76}.path-hero h2{font-family:"Songti SC",Georgia,serif;font-size:29px;margin:6px 0 7px}.path-hero p{font-size:12px;color:#a8bcc0;max-width:540px;margin:0}.path-badge{font-size:10px;letter-spacing:1px;color:#e9be8b;white-space:nowrap;border:1px solid #526770;padding:8px 12px;border-radius:7px;z-index:1}.path-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:27px;align-items:start;margin-top:27px}.module{margin-bottom:29px}.module-heading{display:flex;align-items:center;gap:14px;margin:0 0 13px}.module-no{color:#c7a47f;font-family:Georgia,serif;font-size:27px}.module-heading h3{font-size:15px;margin:0}.module-heading p{font-size:10px;color:#96a09e;margin:0}.lesson-row{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:16px 19px;margin-bottom:10px;transition:border-color .15s,transform .15s}.lesson-row.unlocked:hover{border-color:#d3ab81;transform:translateX(2px)}.lesson-row.locked{opacity:.67}.lesson-step{height:42px;width:42px;border-radius:13px;display:grid;place-items:center;flex:none;font-size:18px;color:#b5bbb8;background:#f1f3f1;font-weight:800}.lesson-row.done .lesson-step{color:#287b68;background:#e4f1ea}.lesson-row.current .lesson-step{color:#a56a37;background:#f9ebd9}.lesson-info{min-width:0;flex:1}.lesson-title{font-weight:780;font-size:13px}.lesson-info p{font-size:10px;color:#98a29f;margin:2px 0 0}.lesson-meta{font-size:10px;color:#aa9e8e;white-space:nowrap}.lesson-action{font-size:17px;color:#b5c0bc}.lesson-row.current .lesson-action{color:#c58a4f}.milestone{background:#faf0e2;border:1px solid #f0e2cc;padding:20px;border-radius:14px;margin-bottom:19px}.milestone .big-symbol{font-size:30px}.milestone h3{margin:5px 0 5px;font-size:14px}.milestone p{color:#9d907e;font-size:11px;margin:0;line-height:1.8}.milestone .progress-total{font-size:29px;font-family:Georgia,serif;color:#a97540;margin:14px 0 0}.plan-list{padding:0;margin:10px 0 0;list-style:none}.plan-list li{padding:10px 0;border-bottom:1px solid var(--border);font-size:11px;color:#83908d}.plan-list li:last-child{border:0}.plan-list strong{color:#30463f;margin-right:8px}.back-link{display:inline-flex;align-items:center;gap:6px;color:#9c7b60;font-size:11px;font-weight:700;margin-bottom:24px}.lesson-head{max-width:830px;margin-bottom:29px}.lesson-chip{display:inline-flex;background:#f7eddf;padding:6px 11px;border-radius:7px;color:#aa7c4a;font-size:10px;font-weight:700;letter-spacing:1px}.lesson-head h1{font-size:34px;line-height:1.45;font-family:"Songti SC",Georgia,serif;margin:13px 0 8px}.lesson-head p{color:#8f9c9a;margin:0}.lesson-layout{display:grid;grid-template-columns:minmax(0,770px) 238px;gap:28px;align-items:start}.reading{display:grid;gap:14px}.reading-card{padding:27px 30px;background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow)}.reading-card .block-eyebrow{color:#ad7a4f;font-size:10px;letter-spacing:1.3px;font-weight:850}.reading-card.example .block-eyebrow{color:#52867b}.reading-card.framework .block-eyebrow{color:#6d79a0}.reading-card h2{font-size:17px;margin:8px 0 12px}.reading-card p{font-size:13px;color:#62716f;line-height:2.1;margin:0}.reading-card.framework{background:#eef3ee;border-color:#dce6db}.quiz-panel{background:#fff;border:1px solid var(--border);border-radius:15px;padding:28px 30px;margin-top:7px}.quiz-panel h2{font-size:19px;font-family:"Songti SC",Georgia,serif;margin:4px 0 9px}.quiz-panel .subtext{font-size:11px;color:#9aa5a2;margin-bottom:22px}.quiz-item{padding:20px 0 22px;border-top:1px solid var(--border)}.quiz-item .qname{font-size:12px;font-weight:800;margin-bottom:12px;line-height:1.8}.quiz-item .qno{color:#c9986a;margin-right:8px}.option{display:flex;gap:11px;text-align:left;align-items:flex-start;width:100%;padding:12px 13px;border-radius:10px;background:#fafbf9;border:1px solid #e8eeea;color:#52605b;margin-top:7px;font-size:12px;line-height:1.75}.option:hover{border-color:#c4d3c9}.option.selected{border-color:#c38c54;background:#fff5e9;color:#3c382c;box-shadow:0 0 0 1px #d19f6d inset}.option[disabled]{cursor:default}.option .opt-label{font-weight:850;color:#b1a08e;width:16px;flex:none}.option.correct{border-color:#77ac90;background:#eaf6ee}.option.incorrect{border-color:#d5a29b;background:#fbefed}.feedback{font-size:11px;margin-top:10px;padding:11px 14px;border-radius:8px;background:#eef4ee;color:#517767;line-height:1.9}.feedback.bad{background:#fbf0ec;color:#a06d62}.quiz-footer{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.quiz-footer p{margin:0;color:#8d9997;font-size:11px}.quiz-result{background:#f2f6ed;padding:23px;border-radius:12px;margin-bottom:18px;border:1px solid #dce5d7}.quiz-result.fail{background:#fff5ed;border-color:#f0ddc7}.quiz-result .score{font-size:36px;font-family:Georgia,serif;color:#2f7766;line-height:1.2}.quiz-result.fail .score{color:#ac7c48}.quiz-result h3{margin:5px 0 5px;font-size:15px}.quiz-result p{margin:0;font-size:12px;color:#70827d}.learning-rail{position:sticky;top:24px}.learning-rail .rail-card{margin-bottom:16px}.learning-rail h3{font-size:13px;margin:0 0 15px}.learning-rail .step-chip{font-size:11px;display:flex;justify-content:space-between;margin-top:10px;color:#869793}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:25px}.achievement{background:#fff;border:1px solid var(--border);border-radius:15px;padding:31px 22px;text-align:center;min-height:230px}.achievement.locked{opacity:.55;filter:grayscale(1)}.achievement .badge-symbol{font-size:52px;color:#c99059;height:80px;display:grid;place-items:center}.achievement h3{font-size:16px;margin:6px 0}.achievement p{color:#94a09c;font-size:11px;margin:0}.achievement .badge-status{display:inline-block;padding:5px 12px;background:#f9ebda;color:#ba834d;border-radius:20px;font-size:10px;margin-top:18px}.achievement.locked .badge-status{background:#f1f2f0;color:#83928b}.callout{background:#eaf2ed;padding:25px 30px;border-radius:13px;margin-top:28px;color:#577a6d;font-size:12px}.empty{padding:45px 20px;text-align:center;color:#859690}.loading-screen{text-align:center;padding:16vh 0}.loading-screen .loader{font-size:40px;color:#ce9c6b;animation:pulse 1.8s infinite}.loading-screen h2{font-family:serif;font-size:23px}.loading-screen p{color:#9ca9a6;font-size:12px}@keyframes pulse{50%{opacity:.4;transform:rotate(20deg)}}.toast{position:fixed;z-index:60;bottom:24px;right:24px;transform:translateY(20px);background:#213b3b;color:white;padding:12px 20px;border-radius:10px;box-shadow:0 12px 35px #18302b44;opacity:0;pointer-events:none;transition:.25s;font-size:12px}.toast.show{transform:translateY(0);opacity:1}.mobile-scrim{display:none}
@media(max-width:1300px){.topbar{padding:0 30px}main{padding:35px 30px 64px}.footer{padding:0 30px 25px}.dash-grid{grid-template-columns:minmax(0,1fr) 245px;gap:19px}.track-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{grid-template-columns:minmax(0,1fr) 210px}}
@media(max-width:1000px){.sidebar{width:210px}.app-frame{margin-left:210px;width:calc(100% - 210px)}.brand{gap:7px;padding-left:0}.brand strong{font-size:18px}.brand small{font-size:9px;letter-spacing:1.5px}.dash-grid,.path-layout,.lesson-layout{grid-template-columns:1fr}.rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.rail .note-card{display:none}.learning-rail{display:none}}
@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .25s;width:265px}.sidebar.open{transform:translateX(0)}.mobile-scrim.open{display:block;position:fixed;inset:0;background:#0b1b2780;z-index:20}.app-frame{margin:0;width:100%}.topbar{height:64px;padding:0 19px}.mobile-menu{display:block}.crumb{margin-right:auto;margin-left:13px;gap:7px}.crumb span:first-child{display:none}.crumb b{display:none}.top-v1{display:none}.top-actions{gap:12px}.avatar{width:32px;height:32px}main{padding:25px 18px 65px}.footer{padding:0 18px 25px}.footer span:last-child{display:none}.hero{padding:28px 25px;min-height:288px;align-items:flex-start}.hero:before{right:-18px;top:178px;width:120px;height:120px}.hero:after{right:-300px}.hero h1{font-size:28px}.hero p{font-size:12px;max-width:290px}.page-heading h1{font-size:29px}.track-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.track-card{min-height:146px;padding:13px}.track-card h3{font-size:12px}.track-card .small-status{right:8px;top:9px;font-size:8px}.rail{grid-template-columns:1fr}.rail .rail-card{display:none}.rail .daily-card{display:block}.path-hero{padding:25px}.path-hero h2{font-size:24px}.path-badge{display:none}.lesson-row{padding:14px 12px;gap:11px}.lesson-step{height:37px;width:37px}.lesson-meta{display:none}.reading-card,.quiz-panel{padding:22px 19px}.lesson-head h1{font-size:28px}.achievement-grid{grid-template-columns:1fr;gap:12px}.achievement{min-height:180px}.achievement .badge-symbol{height:60px}.quiz-footer .btn{width:100%}.quiz-footer p{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
