@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#282739;--muted:#898895;--purple:#7660d7;--line:#eeedf2}*{box-sizing:border-box}body{margin:0;background:#fafafb;color:var(--ink);font:14px 'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ac9be7;outline-offset:4px}aside{width:248px;background:white;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;padding:39px 25px;display:flex;flex-direction:column}.brand{text-decoration:none;color:var(--ink);font:800 31px Manrope,sans-serif;letter-spacing:-1.5px;display:flex;align-items:center;gap:9px}.brandmark{background:var(--purple);color:white;border-radius:11px;width:34px;height:36px;text-align:center;font-size:30px;line-height:34px}.dot{color:var(--purple);margin-left:-8px}.space-label{font-size:9px;letter-spacing:1.5px;color:#a2a0ad;margin:51px 12px 17px}nav{display:grid;gap:9px}nav button{border:0;background:none;text-align:left;padding:14px 13px;color:#85838e;border-radius:9px;display:flex;gap:13px;font-size:18px}nav button span{font-size:12px;align-self:center}nav .active{background:#f0ebfb;color:#7960d1;font-weight:700}.sidebar-bottom{margin-top:auto}.growth{background:#f8f6fd;border:1px solid #eee9fa;border-radius:12px;padding:19px 16px;margin-bottom:27px}.growth>span{font-size:26px;color:#a58adf}.growth h3{font-size:13px;line-height:1.6;margin:9px 0}.growth p{font-size:11px;color:#96919f;line-height:1.8}.profile{padding-top:20px;border:0;border-top:1px solid var(--line);background:none;display:flex;gap:10px;align-items:center;text-align:left;width:100%;font-size:11px}.avatar,.header-avatar{background:#eee8e1;color:#8b7564;border-radius:50%;display:grid;place-items:center;width:34px;height:34px}.profile small{display:block;font-size:8px;color:#9995a2;margin-top:4px}.profile b{margin-left:auto}.shell{margin-left:248px}header{height:83px;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 45px;font-size:12px;color:#9995a1}header>div{display:flex;gap:22px;align-items:center}.date{font-size:10px}.header-avatar{width:31px;height:31px}main{max-width:1390px;margin:auto;padding:37px 45px 0}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.6px;color:#9a86c7}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:27px;letter-spacing:-1px;line-height:1.4;margin:10px 0}h1 em{font-style:normal;color:#8770cc}.wave{color:#b49bdf;margin-left:5px}.welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.welcome p,.section-head p{font-size:11px;color:#95919e;margin:9px 0}.streak{font-size:9px;white-space:nowrap;background:#fff;border:1px solid #eeeaf2;padding:10px;border-radius:8px;color:#a69eab}.streak b{color:#7f7488}.hero{background:#eeE9f8;border:1px solid #e9e2f4;border-radius:17px;display:flex;min-height:310px;overflow:hidden;position:relative}.hero-copy{padding:31px 34px;z-index:2;width:60%}.pill{font-size:8px;letter-spacing:1.4px;color:#8f7aa9;background:#ffffff70;padding:7px 10px;border-radius:5px;display:inline-block}.hero h2{font-size:32px;line-height:1.35;font-weight:700;letter-spacing:-1px;margin:17px 0 12px}.hero h2 span{color:#8c6dc6}.hero p{font-size:11px;line-height:1.9;color:#91829f}.primary{border:0;border-radius:7px;background:#7c61c9;color:white;padding:13px 18px;font-weight:500;font-size:11px;box-shadow:0 5px 12px #8b6dc322;margin-top:9px}.primary span{margin-left:22px;font-size:16px}.hero small{display:block;font-size:8px;color:#9c8fac;margin-top:12px}.hero-art{width:40%;position:relative;min-width:280px}.orbit{border:1px solid #d6c7ed;border-radius:50%;width:280px;height:280px;position:absolute;top:25px;left:10px}.orbit.two{width:350px;height:350px;top:-10px;left:-25px}.step{position:absolute;bottom:0;width:72px;background:linear-gradient(100deg,#c6b4e7,#e3d9f3);box-shadow:inset -15px 0 18px #b59ad14a}.step1{height:60px;left:0}.step2{height:108px;left:72px}.step3{height:163px;left:144px}.step4{height:219px;left:216px;background:linear-gradient(110deg,#ae94d8,#d5c5ec)}.step4 span{font-size:77px;color:#fff;position:absolute;top:-76px;left:4px;font-family:Arial;transform:rotate(-10deg)}.art-star{position:absolute;top:59px;left:85px;font-size:57px;color:#ad8ad5}.floating{position:absolute;background:#fffE;border:1px solid #fff;border-radius:9px;padding:11px;box-shadow:0 7px 20px #80649810;color:#9a7ec9;z-index:2;font-size:20px;transform:rotate(-6deg)}.floating span{font-size:9px;color:#8b7e9c;vertical-align:middle;margin-left:6px}.f1{top:127px;left:3px}.f2{bottom:39px;left:108px;transform:rotate(5deg)}.art-dot{position:absolute;width:7px;height:7px;background:#bcabd6;border-radius:50%}.d1{left:43px;top:46px}.d2{left:192px;top:115px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:30px 0 18px;gap:12px}.section-head h2{font-size:16px;letter-spacing:-.4px;margin:0}.text-btn{border:0;background:none;color:#8b70c4;font-size:10px;font-weight:600;padding:0}.text-btn span{margin-left:12px}.skills{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.skill{text-align:left;background:#fff;border:1px solid #eae8ef;border-radius:12px;padding:22px;position:relative;transition:.2s}.skill:hover{transform:translateY(-4px);box-shadow:0 10px 25px #65528312;border-color:#cbbbdf}.skill-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;font-size:26px}.lavender{background:#f0ebfa;color:#a18ad4}.peach{background:#fcf0e9;color:#d7a17b}.mint{background:#eaf3ef;color:#86b4a6}.skill-number{position:absolute;right:20px;top:27px;font-size:10px;color:#c5c0ce}.skill h3{font-size:16px;margin:17px 0 8px}.skill p{font-size:10px;line-height:1.9;color:#96909f}.skill>div{border-top:1px solid #f0edf4;margin-top:19px;padding-top:14px;display:flex;justify-content:space-between;font-size:9px;color:#a59aaa}.skill b{color:#9d8bb8}.lower-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:19px;margin-top:25px}.daily{border:1px solid #eae8ef;border-radius:12px;padding:20px;background:white}.daily .section-head{margin:0 0 20px}.daily .section-head h2{font-size:14px}.tag{font-size:7px;letter-spacing:1px;background:#f7f4fb;color:#a58abf;padding:6px 8px;border-radius:4px}.daily-row{display:flex;gap:20px;align-items:center}.exercise-art{width:92px;height:96px;flex-shrink:0;border-radius:10px;background:#f0eaf8;color:#b8a1d4;font-size:68px;line-height:90px;text-align:center;position:relative}.exercise-art span{font-size:22px;position:absolute;right:10px;top:-15px}.daily-row .eyebrow{font-size:7px}.daily h3{font-size:15px;margin:8px 0}.daily p{font-size:9px;color:#9992a0}.daily .text-btn{margin-top:10px}.quote{background:#f3f0f7;border:1px solid #eee8f4;border-radius:12px;padding:20px 25px;position:relative}.quote>span:first-child{font-family:Georgia;font-size:38px;line-height:20px;color:#b6a2cc}.quote blockquote{font:500 14px/1.9 Manrope;margin:3px 0 12px;color:#8c799e}.quote small{font-size:7px;letter-spacing:1.2px;color:#b2a3be}.quote-star{position:absolute;right:20px;bottom:20px;color:#c8b8da;font-size:33px}footer{display:flex;justify-content:space-between;font-size:8px;color:#b4aebb;padding:24px 0}.intro{color:#96909f;line-height:1.8}.filters{display:flex;gap:10px;margin:30px 0}.filters button{border:1px solid #e1d8f0;background:white;border-radius:20px;padding:10px 20px;color:#8a74b1}.filters .selected{background:var(--purple);color:white}.lesson-list{display:grid;gap:15px;margin-top:25px}.lesson{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px}.lesson h3{margin:0 0 8px}.lesson p{font-size:12px;color:#96909f}.lesson .primary{margin-left:auto;white-space:nowrap}.lesson>span{font-size:26px;color:#a38bce}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.stats>div{background:#f0eaf8;padding:30px;border-radius:15px}.stats strong{font-size:40px;color:var(--purple)}.stats p{font-size:12px}.history-item{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.history-item small{color:#93889e}dialog{border:1px solid #e4dbef;border-radius:20px;padding:40px;width:min(540px,92vw);color:var(--ink);box-shadow:0 25px 100px #32243f22}dialog::backdrop{background:#28203366;backdrop-filter:blur(5px)}.close{position:absolute;top:12px;right:16px;background:none;border:0;font-size:25px;color:#9a8aa7}dialog h2{font-size:25px;line-height:1.4}dialog p{color:#94889d;line-height:1.8}dialog .option{display:block;width:100%;padding:16px;border:1px solid #e8e0f1;border-radius:8px;background:#faf7ff;color:#78618f;margin:10px 0;text-align:left}textarea,input{width:100%;border:1px solid #ded3e9;border-radius:8px;padding:14px;font:inherit;color:var(--ink);background:#fdfbff}textarea{height:130px;resize:vertical}label{display:block;margin:20px 0 8px;font-size:12px}.timer{font:700 45px Manrope;color:var(--purple);margin:16px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#4b3d5f;color:white;padding:15px 25px;border-radius:10px;z-index:10}button:disabled{opacity:.6;cursor:default}[hidden]{display:none!important}@media(min-width:1500px){main{padding-top:45px}.hero{min-height:350px}.hero-copy{padding:40px}.hero h2{font-size:39px}.hero-art{transform:scale(1.1);transform-origin:bottom center}}@media(max-width:1100px){aside{width:208px;padding:30px 18px}.shell{margin-left:208px}main{padding:30px 25px 0}header{padding:0 25px}.streak{display:none}h1{font-size:23px}.hero h2{font-size:27px}.hero-copy{padding:27px;width:65%}.hero-art{min-width:230px;transform:translateX(-20px)}.skill{padding:17px}.lower-grid{grid-template-columns:1fr}.quote{display:none}}@media(max-width:760px){aside{position:sticky;top:0;width:100%;height:64px;padding:0 18px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;z-index:5;gap:22px}.brand{font-size:24px}.brandmark{width:28px;height:30px;font-size:25px;line-height:29px}.space-label,.sidebar-bottom,nav button span{display:none}nav{display:flex;margin-left:auto;gap:4px}nav button{padding:9px;font-size:22px}.shell{margin:0}header{display:none}main{padding:26px 20px 0}.welcome{margin-bottom:22px}h1{font-size:26px}.welcome p{font-size:12px;line-height:1.8;max-width:330px}.hero{min-height:420px}.hero-copy{padding:25px;width:100%}.hero h2{font-size:29px}.hero p{font-size:11px;max-width:260px}.hero-art{position:absolute;width:270px;height:160px;right:-40px;bottom:0;transform:scale(.8);transform-origin:bottom right;opacity:.75}.hero-copy small{max-width:160px}.section-head{margin-top:27px}.section-head h2{font-size:16px;max-width:220px}.section-head p{line-height:1.8}.section-head>.text-btn{white-space:nowrap;font-size:9px}.skills{grid-template-columns:1fr}.skill{padding:20px;min-height:155px}.skill-icon{float:left;margin-right:18px}.skill h3{margin-top:0;padding-top:5px}.skill p{margin-left:61px;font-size:12px}.skill>div{margin-top:14px;font-size:10px}.skill-number{right:22px}.lower-grid{margin-top:20px}.daily{padding:18px}.daily-row{gap:12px}.exercise-art{width:65px;height:85px;font-size:52px}.daily h3{font-size:14px}.daily p{line-height:1.7}.daily .section-head h2{font-size:13px}.tag{font-size:6px}footer{line-height:1.7;gap:20px}.lesson{padding:18px;flex-wrap:wrap}.lesson>div{flex:1}.lesson .primary{margin-left:42px}.stats{gap:10px}.stats>div{padding:16px 10px}.stats strong{font-size:28px}.stats p{font-size:10px}.filters{gap:5px}.filters button{padding:10px;font-size:11px}dialog{padding:28px}.history-item{gap:20px;font-size:12px}}

.install-panel{padding:20px;border:1px solid #e4dbef;border-radius:12px;margin-top:25px;background:#fff}.install-panel p{font-size:12px;color:#898095;line-height:1.8}.backup-actions{margin:20px 0}button{min-height:44px}#offline-status{font-size:11px;color:#7660d7}textarea,input{font-size:16px}

.voice-panel{padding:20px;background:#f4effb;border-radius:14px;text-align:center;margin:20px 0}.voice-panel .timer{margin:4px 0}.voice-panel p{font-size:12px}.voice-icon{font-size:30px;color:#8564c7}.voice-panel audio{width:100%;margin-top:16px}.voice-actions{display:flex;gap:10px}.voice-actions .option{font-size:12px;text-align:center}.voice-panel small{display:block;line-height:1.6;color:#8b789a}.voice-check{padding:6px 0}.voice-check h3{font-size:16px}.voice-check ul{padding-left:20px;font-size:13px;line-height:1.9;color:#8d7a9c}.voice-check p{font-size:11px}.practice-confirm{display:flex;gap:12px;align-items:center;line-height:1.6}.practice-confirm input{width:22px;height:22px;flex-shrink:0}dialog{max-height:90dvh;overflow-y:auto}#reflection{height:85px}#stop-voice{background:#b34d71}

/* Mobile readability: larger text, labels and touch controls. */
body{font-size:16px}.intro{font-size:16px}dialog p{font-size:16px}dialog label{font-size:15px}.voice-panel p{font-size:15px}.voice-panel small,.voice-check p{font-size:13px}.voice-check ul{font-size:16px}.voice-actions .option{font-size:15px}.primary{font-size:15px;padding:14px 20px}.text-btn{font-size:14px}.install-panel p{font-size:15px}#offline-status{font-size:14px}
@media(max-width:760px){
 body{font-size:17px;line-height:1.6}
 h1{font-size:29px;line-height:1.35}.eyebrow{font-size:12px;letter-spacing:1.2px}
 .welcome p{font-size:16px;max-width:none;line-height:1.7}.welcome .eyebrow{font-size:12px}
 .hero{min-height:460px}.hero h2{font-size:32px}.hero p{font-size:15px;max-width:290px;line-height:1.75}.hero .pill{font-size:11px;letter-spacing:1px}.hero small{font-size:12px;max-width:190px}.hero-art{opacity:.45;pointer-events:none}
 .section-head{flex-wrap:wrap;align-items:flex-start}.section-head h2{font-size:21px;max-width:none}.section-head p{font-size:15px;line-height:1.7}.section-head>.text-btn{font-size:14px;white-space:normal}
 .skill h3{font-size:21px;line-height:1.4}.skill p{font-size:16px;line-height:1.7}.skill-number{font-size:14px}.skill>div{font-size:14px;gap:10px}
 .daily .section-head h2{font-size:19px}.daily .tag{font-size:10px}.daily-row{align-items:flex-start}.daily-row .eyebrow{font-size:11px}.daily h3{font-size:20px;line-height:1.4}.daily p{font-size:15px}.daily .text-btn{font-size:15px;line-height:1.6}
 .lesson{gap:12px}.lesson>span{font-size:29px}.lesson>div{min-width:0}.lesson .eyebrow{font-size:12px}.lesson h3{font-size:22px;line-height:1.4;overflow-wrap:anywhere}.lesson p{font-size:16px;line-height:1.65}.lesson .primary{font-size:16px;margin-left:0;width:100%;margin-top:6px}
 .filters{flex-wrap:wrap;gap:8px}.filters button{font-size:15px;padding:10px 13px}
 .stats{grid-template-columns:1fr}.stats>div{display:flex;align-items:center;gap:20px;padding:18px}.stats strong{font-size:36px}.stats p{font-size:16px}
 .history-item{font-size:16px;flex-wrap:wrap}.history-item small{font-size:14px}
 dialog{padding:28px 22px}dialog h2{font-size:27px}dialog .eyebrow{font-size:12px}dialog .option{font-size:16px;line-height:1.6}dialog label{font-size:16px}.voice-check h3{font-size:20px}.voice-panel{padding:18px 14px}.voice-panel p{font-size:15px}.voice-panel small{font-size:14px}.voice-check p{font-size:14px}.practice-confirm{font-size:16px}.voice-actions{flex-wrap:wrap;gap:0}.voice-actions .option{margin:6px 0}
 .install-panel strong{font-size:19px}.install-panel p{font-size:15px}#offline-status{font-size:14px}footer{font-size:12px;flex-wrap:wrap;gap:8px}footer span{display:block}.toast{font-size:15px;width:calc(100% - 32px);text-align:center}
}
