@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--purple:#6855b6;--purple-dark:#51418f;--ink:#292b38;--muted:#858592;--line:#ecebf0;--canvas:#f8f9fc;--mint:#eaf4ef;--lavender:#f0edf9;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #a795e1}button{border:0;background:none;color:inherit}svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--display)}a{color:inherit}.sidebar{position:fixed;width:234px;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:36px 22px 20px;z-index:5}.brand{display:flex;align-items:center;gap:9px;font:800 24px var(--display);letter-spacing:-1.1px;padding:0 12px}.brand-mark{width:29px;height:33px;position:relative;color:var(--purple);font-size:0}.brand-mark:before,.brand-mark:after{content:'';position:absolute;border:6px solid currentColor;width:12px;height:12px;border-radius:8px;transform:rotate(-25deg)}.brand-mark:before{top:0;left:0}.brand-mark:after{bottom:0;right:0;background:white}.workspace{font-size:10px;letter-spacing:1.8px;color:#a0a0ac;margin:45px 15px 15px;font-weight:650}.nav{display:flex;flex-direction:column;gap:7px}.nav button{padding:13px 16px;border-radius:8px;display:flex;align-items:center;gap:13px;text-align:left;color:#797986;font-weight:500}.nav button.active{color:var(--purple);background:var(--lavender);font-weight:650}.nav button:hover{background:#f6f4fc}.nav .count{margin-left:auto;background:#e5dff6;border-radius:5px;padding:2px 6px;font-size:10px}.side-bottom{margin-top:auto}.encourage{margin:30px 0 23px;padding:19px 17px;background:#f6f5fa;border-radius:12px;font-size:12px;line-height:1.65}.encourage svg{color:var(--purple);margin-bottom:8px}.encourage strong{display:block;font-size:13px;margin-bottom:5px}.encourage p{color:#90909c}.help{display:flex;align-items:center;gap:12px;padding:12px;color:#858592}.profile{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);margin-top:13px;padding:21px 7px 0}.avatar{display:grid;place-items:center;width:35px;height:35px;background:#e9e4f6;border-radius:50%;color:var(--purple);font-weight:700;font-size:12px}.profile strong{font-size:12px;display:block}.profile small{font-size:10px;color:var(--muted)}.profile svg{margin-left:auto;width:15px}.main{margin-left:234px}.topbar{height:83px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 43px;font-size:12px}.crumb{display:flex;align-items:center;gap:12px;color:#9b9ba5}.crumb strong{color:#5b5b68;font-weight:500}.top-actions{display:flex;align-items:center;gap:24px}.private{display:flex;align-items:center;gap:7px;color:#8b8c97;font-size:11px}.private svg{width:14px}.notification{position:relative;padding:7px}.notification:after{content:'';position:absolute;right:7px;top:6px;width:5px;height:5px;background:var(--purple);border:2px solid #fff;border-radius:50%}.content{max-width:1390px;margin:0 auto;padding:37px 43px 30px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.8px;color:var(--purple);font-weight:700;margin-bottom:9px}h1{font-size:28px;letter-spacing:-1px;font-weight:750}.subtitle{color:var(--muted);font-size:12px;line-height:1.7;margin-top:8px}.button{border:1px solid var(--line);border-radius:7px;padding:11px 17px;display:inline-flex;gap:9px;align-items:center;justify-content:center;background:#fff;font-size:12px;font-weight:600;transition:background .15s,transform .15s}.button:hover{background:#f0edf9;transform:translateY(-1px)}.button.primary{background:var(--purple);border-color:var(--purple);color:#fff}.button.primary:hover{background:var(--purple-dark)}.button svg{width:15px;height:15px}.hero{background:#ece9f7;border:1px solid #e5e0f2;border-radius:13px;display:flex;justify-content:space-between;min-height:234px;overflow:hidden;padding:29px 33px;position:relative}.hero-copy{z-index:1;max-width:460px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;background:#ffffffa3;border-radius:5px;color:var(--purple);padding:5px 9px;margin-bottom:14px}.pill svg{width:12px;height:12px}.hero h2{font-size:26px;letter-spacing:-.8px;line-height:1.4;font-weight:750}.hero p{font-size:12px;line-height:1.8;color:#828094;margin:9px 0 19px;max-width:350px}.hero-actions{display:flex;align-items:center;gap:14px}.hero-actions span{font-size:10px;color:#8d87a0;display:flex;align-items:center;gap:5px}.hero-actions svg{width:13px}.hero-art{width:300px;height:210px;position:absolute;right:27px;bottom:0;stroke:none}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:23px 0 31px}.stat{display:flex;align-items:center;gap:14px;padding:20px 21px;border-radius:10px;background:white;border:1px solid var(--line)}.stat-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:11px;background:var(--lavender);color:var(--purple)}.stat:nth-child(2) .stat-icon{background:#eaf4ee;color:#62a180}.stat:nth-child(3) .stat-icon{background:#fcf3e3;color:#d7aa52}.stat p{font-size:10px;color:var(--muted);margin-bottom:5px}.stat strong{font:750 21px var(--display);letter-spacing:-.6px}.stat strong span{font:400 11px var(--font);color:#9b9aa5;letter-spacing:0;margin-left:6px}.columns{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:25px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-heading h2{font-size:16px;letter-spacing:-.4px}.section-heading .small{font-size:10px;color:var(--muted);margin-left:7px}.text-button{font-size:11px;color:var(--purple);padding:4px;display:flex;gap:6px;align-items:center}.text-button svg{width:13px;height:13px}.plan{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.plan-top{padding:19px 21px 15px;display:flex;justify-content:space-between;align-items:center}.subject{display:flex;align-items:center;gap:9px;font-weight:600;font-size:12px}.subject-icon{color:var(--purple);background:var(--lavender);display:grid;place-items:center;width:28px;height:28px;border-radius:7px}.subject-icon svg{width:16px}.tag{font-size:9px;padding:5px 8px;border-radius:5px;background:#f5f5f8;color:#90909d}.plan-description{padding:0 21px;color:#96959f;font-size:10px;line-height:1.7}.plan-progress{display:flex;align-items:center;gap:12px;margin:13px 21px 19px;font-size:9px;color:#9997a5}.bar{height:5px;background:#f0edf7;border-radius:5px;flex:1;overflow:hidden}.bar span{display:block;height:100%;background:#9a8bc8;border-radius:5px}.lesson{display:flex;align-items:center;gap:13px;padding:18px 21px;border-top:1px solid #f0eff4}.lesson.current{background:#fbfaff}.lesson-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid #e7e3f0;color:#a3a0b0;font-size:11px;flex-shrink:0}.current .lesson-number{background:var(--purple);color:white;border-color:var(--purple);box-shadow:0 0 0 4px #eeebf7}.lesson.done .lesson-number{color:#5b9d7b;background:#eaf5ef;border-color:#eaf5ef}.lesson-number svg{width:14px}.lesson-info{flex:1}.lesson h3{font-size:12px;font-weight:700}.lesson p{font-size:10px;color:#a09da9;margin-top:6px;display:flex;gap:7px;align-items:center}.lesson p svg{width:11px;height:11px}.lesson .button{font-size:10px;padding:8px 12px}.lesson > svg{width:14px;color:#b0acba}.plan-footer{padding:13px 21px;background:#fcfcfd;border-top:1px solid var(--line);font-size:9px;display:flex;align-items:center;gap:6px;color:#9b99a5}.plan-footer svg{width:12px;height:12px}.insight{background:#eef5f1;border:1px solid #e1ece5;border-radius:10px;margin-top:17px;padding:17px 20px;display:flex;gap:13px}.insight>svg{color:#649b7e;width:19px}.insight h3{font-size:11px;color:#4e715c;margin-bottom:5px}.insight p{font-size:10px;line-height:1.75;color:#7f9588}.badges-panel{background:white;border:1px solid var(--line);border-radius:11px;padding:21px 18px}.badges-panel .section-heading{margin-bottom:20px}.badge-list{display:flex;justify-content:space-between;text-align:center;gap:8px}.badge{flex:1}.badge-medal{width:61px;height:67px;margin:0 auto 9px;position:relative;display:grid;place-items:center;color:#a7a1b4;background:#f0edf5;clip-path:polygon(50% 0,91% 20%,91% 69%,50% 100%,9% 69%,9% 20%)}.badge-medal:before{content:'';position:absolute;inset:6px;background:#faf9fc;clip-path:inherit}.badge-medal svg{position:relative;width:25px;height:25px}.badge.earned .badge-medal{background:#e1d4a8;color:#c09936}.badge.earned .badge-medal:before{background:#fff7dc}.badge p{font-size:9px;font-weight:600;white-space:nowrap}.badge small{font-size:8px;color:#a7a1b3;display:block;margin-top:4px}.badge-note{border-top:1px solid var(--line);margin-top:18px;padding-top:13px;text-align:center;font-size:10px;color:#a3a0ac}.weekly{background:white;border:1px solid var(--line);border-radius:11px;margin-top:18px;padding:19px}.weekly-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.weekly h3{font-size:12px}.weekly-title svg{color:#bd9a67;width:16px}.weekly>p{font-size:10px;color:#96929f;line-height:1.7}.week{display:flex;justify-content:space-between;margin-top:17px;gap:4px}.day{text-align:center;color:#9b97a4;font-size:8px}.day span{width:24px;height:24px;border:1px solid #ece9f1;border-radius:50%;display:grid;place-items:center;margin-bottom:7px}.day.today span{border-color:#8a78c2;background:#f0edf8;color:var(--purple)}.day.complete span{background:var(--purple);border-color:var(--purple);color:white}.day svg{width:11px}.bottom-note{text-align:center;color:#b1adbb;font-size:9px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:31px}.bottom-note svg{width:12px;height:12px}.view-card{background:white;border:1px solid var(--line);border-radius:12px;padding:28px;margin-bottom:20px}.view-card h2{font-size:19px;margin-bottom:12px}.view-card p{color:var(--muted);line-height:1.8}.empty{padding:45px;text-align:center}.empty .button{margin-top:20px}.result-item{border-top:1px solid var(--line);padding:20px 0}.result-item h3{font-size:14px;margin-bottom:8px}.result-item p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.large-badges .badge-medal{width:90px;height:102px}.large-badges .badge p{font-size:13px}.large-badges .badge small{font-size:11px}.large-badges{padding:30px 0}.mobile-brand{display:none}dialog{border:1px solid var(--line);border-radius:17px;padding:30px;width:min(570px,calc(100% - 30px));max-height:90vh;color:var(--ink);box-shadow:0 20px 90px #25203526}dialog::backdrop{background:#29243f60;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.modal-head h2{font-size:22px;letter-spacing:-.6px}.close{padding:6px;display:grid;place-items:center;color:#8a8398}.modal-intro{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:22px}label{display:block;font-size:12px;font-weight:600;margin:16px 0 7px}input,textarea,select{width:100%;border:1px solid #dedbe8;border-radius:7px;background:#fff;padding:11px;color:var(--ink)}textarea{min-height:115px;resize:vertical}input[type=file]{font-size:11px;background:#faf9fd}form .button{margin-top:20px}.form-note{font-size:10px;color:#96909f;line-height:1.7;margin-top:12px}.error{color:#a94949;font-size:12px;margin-top:10px}.quiz-top{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:20px 0 12px}.quiz-question{font:700 23px var(--display);line-height:1.5;margin:25px 0}.options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option{padding:17px;border:1px solid #e3dfeb;border-radius:8px;font-weight:500}.option.selected{border-color:var(--purple);color:var(--purple);background:var(--lavender)}.option:disabled{cursor:default}.feedback{padding:16px;background:#eef5f1;border-radius:8px;margin-top:20px;font-size:12px;line-height:1.8}.feedback.wrong{background:#fff2e6}.quiz-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.hint{font-size:12px;color:var(--purple)}.hint-text{font-size:12px;line-height:1.8;margin-top:14px;color:#827592}.completion{text-align:center;padding:20px 0}.completion .badge-medal{color:#b29446;background:#eddbad;width:90px;height:100px}.completion h2{margin:18px 0 10px}.completion p{color:var(--muted);line-height:1.8}.completion .button{margin-top:22px}#toast{position:fixed;bottom:24px;left:calc(50% + 100px);transform:translateX(-50%);padding:12px 20px;color:white;background:#403755;border-radius:9px;box-shadow:0 5px 20px #33294022;font-size:12px;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s}#toast.visible{opacity:1}@media(min-width:1450px){.content{padding-top:45px}.hero{min-height:255px}.hero-art{right:55px;width:330px;height:230px}.columns{grid-template-columns:minmax(0,1fr) 325px}.lesson{padding-top:23px;padding-bottom:23px}}@media(max-width:1150px){.sidebar{width:205px;padding-inline:15px}.main{margin-left:205px}.topbar{padding-inline:27px}.content{padding:30px 27px}.columns{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.hero-art{right:0;width:245px;opacity:.8}.hero-copy{max-width:330px}.hero h2{font-size:24px}.hero p{max-width:290px}.stat{padding:17px 13px;gap:10px}.stat-icon{width:35px;height:38px}.badge-medal{width:55px;height:62px}}@media(max-width:950px){.sidebar{width:185px;padding-inline:10px}.brand{font-size:21px}.main{margin-left:185px}.columns{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:17px}.weekly{margin:0}.hero-art{width:210px;right:-10px;opacity:.45}.hero-copy{max-width:100%}.stats{gap:10px}.stat{gap:7px}.stat strong{font-size:18px}.stat strong span{display:block;font-size:9px;margin:3px 0 0}.stat p{font-size:9px}.private{display:none}}@media(max-width:650px){.sidebar{inset:auto 0 0;width:100%;height:68px;padding:7px;background:white;border-right:0;border-top:1px solid var(--line)}.sidebar .brand,.workspace,.side-bottom{display:none}.nav{flex-direction:row;justify-content:space-around;gap:0}.nav button{flex-direction:column;gap:5px;padding:7px 10px;font-size:9px}.nav button svg{width:19px;height:19px}.nav .count{display:none}.main{margin:0}.topbar{height:66px;padding:0 20px}.crumb{display:none}.mobile-brand{display:block}.mobile-brand .brand{font-size:20px;padding:0}.mobile-brand .brand-mark{transform:scale(.8)}.top-actions{gap:12px}.content{padding:27px 18px 90px}.page-heading{align-items:flex-start;gap:15px;margin-bottom:23px}.page-heading h1{font-size:24px}.page-heading .button{font-size:0;padding:11px}.page-heading .button svg{width:17px;height:17px}.subtitle{font-size:11px;max-width:260px}.hero{padding:24px 22px;min-height:247px}.hero h2{font-size:23px}.hero p{max-width:255px}.hero-art{width:185px;right:-44px;opacity:.3}.hero-actions{gap:10px}.hero-actions span{font-size:9px}.stats{gap:8px;margin:17px 0 25px}.stat{padding:13px 9px;display:block}.stat-icon{width:28px;height:28px;border-radius:7px;margin-bottom:9px}.stat-icon svg{width:16px;height:16px}.stat strong{font-size:19px}.stat strong span{font-size:8px}.right-column{grid-template-columns:1fr}.plan-top{padding:17px 15px}.plan-description{padding-inline:15px}.plan-progress{margin-inline:15px}.lesson{padding:18px 15px;gap:11px}.lesson h3{font-size:11px}.lesson p{font-size:9px}.badge-medal{width:65px;height:72px}.badge p{font-size:11px}.badge small{font-size:10px}.badge-note{font-size:11px}.weekly{padding:21px}.day span{width:31px;height:31px}.bottom-note{font-size:8px}#toast{left:50%;bottom:85px;width:max-content;max-width:90%}dialog{padding:23px}.large-badges .badge-medal{width:70px;height:80px}.large-badges .badge p{font-size:11px}.large-badges .badge small{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
