:root{--ink:#183e37;--muted:#788680;--green:#195c49;--lime:#d7f483;--paper:#f5f6ef;--line:#e4e9df;--orange:#faad72}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #f0a653;outline-offset:3px}button:disabled{cursor:default}a{color:inherit;text-decoration:none}.sidebar{width:232px;padding:36px 24px 24px;background:#fffefa;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:850;letter-spacing:-1px}.brandmark{width:46px;height:46px;border-radius:16px;background:var(--green);color:var(--lime);display:grid;place-items:center;font-size:28px;transform:rotate(-5deg)}.brand small{display:block;font-size:8px;letter-spacing:1.4px;color:var(--muted);margin-top:5px}.side-label{font-size:11px;color:#919b91;letter-spacing:2px;margin:52px 12px 18px}nav{display:grid;gap:9px}nav a{padding:15px 16px;border-radius:13px;display:flex;align-items:center;gap:15px;font-weight:600;color:#6a776f}nav a.active{color:var(--green);background:#eaf0dc}nav svg{width:21px;height:21px}.side-note{margin-top:auto;padding:26px 15px;background:#f6f6ec;border-radius:18px}.side-note>span{font-size:25px;color:#c08c43;display:block;margin-bottom:13px}.side-note p{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:0}.profile{display:flex;align-items:center;gap:10px;background:none;text-align:left;margin-top:24px;padding:0;font-size:12px}.profile small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.avatar{width:35px;height:35px;border-radius:50%;background:#f8d8bd;display:grid;place-items:center;font-weight:bold}.app{margin-left:232px;padding:0 42px;max-width:1700px}header{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;color:#77857c}.online{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5c9c60;margin-right:7px}main{max-width:1180px;margin:auto;padding-top:32px;min-height:calc(100vh - 160px)}h1{font-size:31px;letter-spacing:-1px;margin:0 0 10px}h2{font-size:19px;margin:0}h3{margin:0;font-size:17px}p{line-height:1.8}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.intro p{margin:0;color:var(--muted);font-size:13px}.pill{background:#fffef9;border:1px solid #e2e7db;border-radius:30px;padding:10px 15px;font-size:12px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:24px}.hero{position:relative;background:#153f36;border-radius:24px;padding:32px 34px;color:#fff;overflow:hidden;min-height:288px;display:flex;align-items:center}.hero:before{content:'';width:350px;height:350px;border:1px solid #ffffff12;border-radius:50%;position:absolute;right:-100px;top:-80px}.hero-copy{position:relative;z-index:1;width:65%}.eyebrow{font-size:10px;letter-spacing:2px;color:#bbd7bb;margin-bottom:18px}.hero h2{font-size:32px;line-height:1.4;letter-spacing:-1px}.hero h2 em{color:var(--lime);font-style:normal}.hero p{font-size:12px;color:#c5d5cc;max-width:280px;margin:15px 0 22px}.primary{color:var(--ink);background:var(--lime);padding:13px 22px;border-radius:11px;font-weight:750;display:inline-flex;gap:25px;align-items:center}.primary:hover{background:#e5ffa3;transform:translateY(-1px)}.primary.dark{background:var(--green);color:white}.ghost{padding:11px 17px;border:1px solid #dbe3d5;background:#fff;border-radius:11px}.hero-art{position:absolute;right:-8px;top:27px;width:250px;max-width:45%;animation:bob 5s ease-in-out infinite}.hero-art svg{width:100%;overflow:visible}.star{position:absolute;color:var(--lime);right:22px;top:24px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px;gap:12px}.section-head small{color:var(--muted);font-size:11px}.text-btn{background:none;color:var(--green);font-size:12px}.route{background:#fffefa;border:1px solid var(--line);border-radius:20px;padding:20px}.route-top{display:flex;justify-content:space-between;font-size:12px;margin-bottom:20px}.route-top small{color:var(--muted)}.days{display:flex;justify-content:space-between;position:relative}.days:before{content:'';position:absolute;top:18px;left:20px;right:20px;height:2px;background:#e8ecdd}.day{position:relative;display:flex;flex-direction:column;gap:9px;align-items:center;background:none;padding:0;font-size:10px;color:var(--muted);min-width:35px}.day span{display:grid;place-items:center;width:36px;height:36px;border:2px solid #e4e9da;background:#fffefa;border-radius:50%;font-size:12px}.day.selected span{border-color:var(--green);background:var(--green);color:white;box-shadow:0 0 0 4px #e4edcf}.day.done span{background:var(--lime);border-color:var(--lime);color:var(--green)}.subject-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.subject-card{border-radius:19px;padding:22px;text-align:left;position:relative;min-height:154px;transition:.2s}.subject-card:hover{transform:translateY(-4px);box-shadow:0 8px 18px #153f3610}.math{background:#e9efdb}.english{background:#e5ecf7}.chem{background:#f8e9d9}.chinese{background:#ede6f3}.subject-icon{font-size:28px;font-family:Georgia,serif;display:block;margin-bottom:20px}.subject-card p{font-size:11px;color:#697970;margin:7px 0 0}.subject-card .arrow{position:absolute;right:20px;bottom:24px;font-size:20px}.subject-card .number{position:absolute;right:20px;top:24px;font-size:9px;letter-spacing:1px;color:#687a72}.right-card{background:#fffefa;border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:20px}.right-card h3{font-size:15px}.ring{--pct:0%;width:136px;height:136px;background:conic-gradient(var(--green) var(--pct),#edf0e1 0);border-radius:50%;padding:9px;margin:24px auto;transform:rotate(-25deg)}.ring-inner{background:#fffefa;border-radius:50%;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(25deg)}.ring b{font-size:32px;letter-spacing:-2px}.ring small{color:var(--muted);font-size:10px;margin-top:6px}.task{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf0e5;font-size:12px}.task i{border:1px solid #d8dfce;width:20px;height:20px;border-radius:50%;font-size:11px;display:grid;place-items:center;font-style:normal}.task.complete i{background:var(--green);color:white}.task small{margin-left:auto;font-size:10px;color:var(--muted)}.knowledge-peek{background:#f7e5cd;border:0;position:relative;overflow:hidden}.knowledge-peek .symbol{font-size:42px;position:absolute;right:22px;top:14px;color:#ce9b56}.knowledge-peek p{font-size:13px;margin:20px 0 16px;max-width:170px}.knowledge-peek small{font-size:10px;letter-spacing:1px;color:#997448}.knowledge-peek button{background:#fff9ee;border-radius:10px;padding:10px 14px;font-size:11px}.note{font-size:11px;color:#8c978c;line-height:1.8;padding:0 8px}.tabs{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.tabs button{background:#fffefa;border:1px solid var(--line);padding:10px 19px;border-radius:24px;font-size:12px}.tabs button.active{background:var(--green);color:white;border-color:var(--green)}.search{display:block;width:100%;border:1px solid var(--line);background:white;border-radius:13px;padding:15px 18px;margin-bottom:22px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lesson-card{background:#fffefa;border:1px solid var(--line);border-radius:20px;padding:23px;display:flex;flex-direction:column;gap:13px;align-items:flex-start;text-align:left;min-height:210px}.lesson-card:hover{border-color:#adc795}.lesson-card h3{line-height:1.5}.lesson-card p{font-size:12px;color:var(--muted);margin:0}.lesson-card .tag{font-size:10px;border-radius:8px;padding:6px 9px}.lesson-card .bottom{margin-top:auto;display:flex;justify-content:space-between;width:100%;font-size:11px;color:var(--green)}.empty{padding:65px 25px;border:1px dashed #cedbc2;border-radius:22px;text-align:center;background:#fffefa}.empty>span{font-size:45px}.empty p{color:var(--muted);font-size:13px}.empty h2{margin-top:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.stat{background:#fffefa;border-radius:18px;border:1px solid var(--line);padding:24px}.stat b{font-size:33px;display:block;margin-bottom:10px}.stat span{color:var(--muted);font-size:12px}.history{background:#fffefa;padding:20px;border:1px solid var(--line);border-radius:16px;margin:12px 0;display:flex;justify-content:space-between;gap:10px;align-items:center}.history p{margin:8px 0 0;color:var(--muted);font-size:12px}.history button{flex-shrink:0}footer{display:flex;justify-content:space-between;gap:15px;color:#99a294;font-size:10px;padding:30px 0}.modal-top{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.modal-top button{font-size:26px;background:#f0f3e9;width:32px;height:32px;border-radius:50%;line-height:1}dialog{border:0;padding:0;border-radius:24px;background:#fffefa;color:var(--ink);width:650px;max-width:calc(100vw - 26px);max-height:90dvh;box-shadow:0 30px 90px #0a281c30}dialog::backdrop{background:#132d286b;backdrop-filter:blur(5px)}#modal-body{padding:27px 30px 32px}#modal-body h2{font-size:25px;line-height:1.5;margin-bottom:14px}.lead{color:var(--muted);font-size:13px}.formula{background:#eaf0dd;border-radius:16px;padding:25px;text-align:center;font-size:26px;line-height:1.6;margin:20px 0;white-space:pre-line}.explain{font-size:14px;line-height:1.9}.tip{padding:16px 20px;background:#fff0dc;border-left:3px solid #dfa566;border-radius:0 12px 12px 0;font-size:13px;line-height:1.8;margin:20px 0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.options{display:grid;gap:10px;margin:20px 0}.option{border:1px solid #dfe7d7;background:white;border-radius:13px;text-align:left;padding:16px 18px;line-height:1.5;display:flex;gap:16px}.option:hover:not(:disabled){border-color:var(--green);background:#f2f6e9}.option.correct{background:#e8f3db;border-color:#55946b}.option.wrong{background:#fff0e6;border-color:#d8906a}.option small{color:#7f9184}.feedback{border-radius:13px;padding:17px;background:#eef2e3;font-size:13px;line-height:1.8}.feedback strong{display:block;font-size:15px;margin-bottom:6px}.progress{height:5px;background:#e4e9dc;border-radius:9px;margin:15px 0 24px;overflow:hidden}.progress>div{height:100%;background:#58866b;transition:width .3s}.quiz-meta{font-size:11px;color:var(--muted);display:flex;justify-content:space-between}.open-answer{border:1px solid #d3ddcb;border-radius:12px;padding:14px;min-height:100px;width:100%;font:inherit;resize:vertical}.badge-grid{display:flex;gap:15px;flex-wrap:wrap;margin:24px 0}.badge{border:1px dashed #bccab2;border-radius:16px;padding:18px;text-align:center;color:#899780;font-size:12px}.badge.earned{background:#eaf1d8;color:#355f37;border-style:solid}.badge span{display:block;font-size:30px;margin-bottom:10px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:13px 22px;background:var(--ink);color:white;border-radius:12px;font-size:13px;opacity:0;pointer-events:none;z-index:10;transition:.2s}#toast.show{opacity:1}.check-answer{margin-top:15px}.select-day{color:#7c8e7d;font-size:12px}.tiny{font-size:11px;color:var(--muted)}@keyframes bob{50%{transform:translateY(-9px) rotate(2deg)}}@keyframes celebrate{0%{transform:scale(.7)}65%{transform:scale(1.1)}100%{transform:scale(1)}}.celebrate{font-size:65px;text-align:center;animation:celebrate .5s}.center{text-align:center}.center .actions{justify-content:center}@media(min-width:1450px){.app{padding:0 65px}.hero-art{width:290px}.hero{min-height:310px}.hero h2{font-size:38px}}@media(max-width:1100px){.sidebar{width:195px;padding:30px 16px}.app{margin-left:195px;padding:0 24px}.layout{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.hero{padding:28px}.hero h2{font-size:28px}.hero-art{right:-20px;max-width:47%}.right-card{padding:20px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.layout{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:16px}.right-card{margin:0}.note{grid-column:1/-1}.hero-art{max-width:40%;right:20px}.sidebar{width:170px}.brand{font-size:22px}.brand small{font-size:6px}.app{margin-left:170px}.side-label{font-size:10px}.intro .pill{display:none}}@media(max-width:600px){.sidebar{inset:auto 0 0;width:100%;height:75px;padding:4px 8px max(4px,env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);z-index:5;background:#fffefaf5;backdrop-filter:blur(10px)}.brand,.side-label,.side-note,.profile{display:none}nav{display:flex;justify-content:space-around;gap:0}nav a{flex:1;padding:8px 2px;gap:5px;flex-direction:column;font-size:10px;border-radius:12px}nav svg{width:21px;height:21px}.app{margin:0;padding:0 19px 75px}header{height:59px;font-size:10px}main{padding-top:23px}h1{font-size:26px}.intro{margin-bottom:21px}.intro p{font-size:11px}.hero{min-height:260px;padding:25px 23px;border-radius:22px}.hero-copy{width:70%}.hero h2{font-size:29px}.hero p{font-size:11px;max-width:200px}.hero-art{max-width:43%;width:200px;right:-9px;top:65px}.eyebrow{font-size:8px;letter-spacing:1.4px}.hero .primary{padding:12px 17px;font-size:12px}.section-head h2{font-size:17px}.section-head small{font-size:10px}.subject-card{padding:20px 17px;min-height:155px}.subject-card h3{font-size:16px}.subject-card p{font-size:10px;max-width:110px}.subject-card .number{right:15px;font-size:8px}.subject-card .arrow{right:15px;bottom:20px}.subject-icon{font-size:25px}.right-column{grid-template-columns:1fr}.right-card.progress-card{display:none}.knowledge-peek p{max-width:none;padding-right:30px}.knowledge-peek .symbol{right:23px}.cards{grid-template-columns:1fr}.lesson-card{min-height:175px}.tabs{gap:7px}.tabs button{padding:9px 14px;font-size:11px}footer{font-size:9px;flex-direction:column;gap:8px}.stats{gap:9px}.stat{padding:17px 12px}.stat b{font-size:25px}.stat span{font-size:10px}.modal-top{padding:16px 20px}#modal-body{padding:22px 20px}#modal-body h2{font-size:22px}.formula{font-size:23px}.route{padding:18px 14px}.day{font-size:9px;min-width:31px}.day span{width:31px;height:31px}.days:before{top:15px}.route-top{font-size:11px}#toast{bottom:90px;width:max-content;max-width:90%;text-align:center}.history{align-items:flex-start}.history h3{font-size:14px}.history button{font-size:11px;padding:9px}.actions .primary{gap:10px}.intro h1{line-height:1.4}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
