:root{--ink:#10231f;--muted:#70817b;--paper:#f8f8f4;--white:#fff;--lime:#d9f379;--yellow:#f7cf69;--accent:#6a1c4a;--accent-soft:#f3e5ed;--accent-pale:#fbf3f7;--line:#e4e9e4;--shadow:0 18px 45px rgba(26,54,43,.08)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button{font:inherit;color:inherit;border:0;cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;background:#f2edf1;padding:30px 22px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font:800 21px Manrope,sans-serif;letter-spacing:-.7px}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:var(--accent);color:var(--lime);font-size:18px}.brand-note{font-size:12px;line-height:1.45;color:#8d7180;margin:13px 8px 48px}.nav{display:grid;gap:8px}.nav-item{padding:13px;border-radius:12px;text-align:left;background:transparent;color:#856e7b;font-size:14px;font-weight:600}.nav-item span{display:inline-block;width:23px;font-size:18px;color:#a38a98}.nav-item.active,.nav-item:hover{background:#fff;color:var(--ink);box-shadow:0 6px 20px rgba(80,35,60,.06)}.nav-item.active span{color:var(--accent)}.sidebar-bottom{margin-top:auto}.streak-card{display:flex;gap:11px;align-items:center;padding:13px;border:1px solid #ead9e2;border-radius:14px;background:#fff8fb;margin-bottom:24px}.streak-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--yellow);font-size:18px}.streak-card strong,.profile strong{display:block;font-size:12px}.streak-card small,.profile small{display:block;color:#9a8490;font-size:10px;margin-top:2px}.profile{display:flex;align-items:center;gap:9px;padding:0 5px}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d9b4c8;font-size:10px;font-weight:700}.more{margin-left:auto;color:#ad9aa4;letter-spacing:2px;font-size:12px}.main-content{width:min(1180px,100%);padding:45px 54px 60px;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:start;margin-bottom:42px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:#8a9a93;font-weight:700;margin:0 0 12px}.topbar h1{font:800 30px Manrope,sans-serif;letter-spacing:-1.3px;margin:0}.wave{color:var(--accent);font-size:23px;margin-left:8px}.icon-button{background:#fff;width:38px;height:38px;border-radius:50%;color:#718179;box-shadow:0 5px 16px rgba(25,50,40,.05)}.hero-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:18px}.hero-card{min-height:304px;overflow:hidden;position:relative;background:var(--accent);color:#fff;border-radius:20px;padding:32px 35px;display:flex}.hero-copy{position:relative;z-index:2}.pill{display:inline-block;font-size:9px;font-weight:700;letter-spacing:1.6px}.pill.light{color:var(--lime)}.hero-card h2{font:800 31px/1.1 Manrope,sans-serif;letter-spacing:-1.4px;margin:18px 0 14px}.hero-card h2 em{color:var(--lime);font-style:normal}.hero-card p{color:#b6c8c0;font-size:13px;line-height:1.55;max-width:300px;margin:0 0 24px}.primary-button{background:var(--accent);color:#fff;border-radius:10px;padding:12px 15px;font-size:12px;font-weight:700}.hero-card .primary-button{background:var(--lime);color:var(--ink)}.primary-button span{font-size:16px;margin-left:14px}.hero-orbit{position:absolute;right:-15px;top:-8px;width:300px;height:300px}.orbit{position:absolute;border:1px solid rgba(204,235,220,.23);border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:280px;height:115px;top:70px;left:0}.orbit-two{width:235px;height:235px;top:30px;left:38px}.orbital-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--lime)}.dot-one{top:65px;right:50px}.dot-two{bottom:45px;left:38px;background:var(--yellow)}.hero-letter{position:absolute;top:104px;right:63px;font:800 32px Manrope;color:#b9d8ca;letter-spacing:4px}.hero-letter span{color:var(--lime);font-size:22px}.progress-card{background:#fff;border-radius:20px;padding:26px 27px;box-shadow:var(--shadow)}.card-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.4px;font-weight:700;color:#82928b}.text-button{background:none;color:var(--accent);font-size:11px;font-weight:700}.progress-ring{width:157px;height:157px;margin:21px auto 17px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) 0 40%,#f2e8ed 40%);position:relative}.progress-ring:after{content:'';position:absolute;inset:11px;background:#fff;border-radius:50%}.progress-ring span{position:relative;z-index:1;text-align:center}.progress-ring strong{display:block;font:800 29px Manrope;letter-spacing:-1px}.progress-ring small{font-size:11px;color:#88978f}.progress-legend{display:flex;justify-content:space-around;border-top:1px solid var(--line);padding-top:15px;font-size:10px;color:#74847d}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.green{background:var(--accent)}.yellow{background:#f0c65e}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:46px 0 17px}.section-heading h2{font:800 21px Manrope;margin:0;letter-spacing:-.7px}.session-count{font-size:11px;color:#84958c}.exercise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.exercise-card{position:relative;text-align:left;min-height:172px;padding:19px;background:#fff;border:1px solid transparent;border-radius:15px;transition:.2s;box-shadow:0 6px 20px rgba(30,61,47,.03)}.exercise-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.exercise-card.current{border-color:#d5b7c8;background:var(--accent-pale)}.exercise-card.done{background:#f7eff4}.exercise-top{display:flex;justify-content:space-between;align-items:start}.exercise-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#f1dce8;color:var(--accent);font-weight:700;font-size:14px}.current .exercise-icon{background:var(--accent);color:#fff}.status{font-size:10px;color:#7e9185}.current .status{color:var(--accent);font-weight:700}.exercise-card h3{font:700 15px Manrope;margin:23px 0 6px}.exercise-card p{font-size:11px;color:#7d8e85;margin:0;max-width:160px}.card-arrow{position:absolute;right:18px;bottom:18px;color:#87a196;font-size:18px}.tip-banner{margin-top:32px;padding:18px 22px;border-radius:14px;background:#fff5d9;display:flex;align-items:center;gap:15px}.tip-spark{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#ffdfa0;color:#92702e}.tip-banner strong{font-size:12px}.tip-banner p{font-size:11px;color:#927f57;margin:4px 0 0}.tip-quote{margin-left:auto;color:#d8bf74;font:700 45px Georgia;line-height:20px}.view{display:none}.active-view{display:block}.standalone{margin-top:0;display:block}.muted{color:#84958c;font-size:13px}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.library-item{background:#fff;border-radius:16px;padding:22px;min-height:160px;text-align:left;box-shadow:0 6px 20px rgba(30,61,47,.03)}.library-item .number{color:var(--accent);font-size:11px;font-weight:700}.library-item h3{font:700 16px Manrope;margin:18px 0 7px}.library-item p{color:#7d8e85;font-size:12px;margin:0}.library-item .lesson-meta{display:flex;gap:8px;margin-top:16px}.lesson-meta span{font-size:10px;color:#8a6b7c;background:var(--accent-soft);padding:5px 8px;border-radius:99px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:16px}.stat-card,.weekly-card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 6px 20px rgba(30,61,47,.03)}.stat-card span,.stat-card small{display:block;color:#84958c;font-size:11px}.stat-card strong{font:800 35px Manrope;display:inline-block;margin:18px 6px 3px 0}.weekly-card{min-height:230px}.bars{display:flex;align-items:end;justify-content:space-around;height:150px;padding:25px 15px 0}.bars div{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:8px;color:#94a29b;font-size:10px}.bars i{display:block;width:23px;border-radius:5px 5px 2px 2px;background:#d6bdd0}.bars div:nth-child(2) i{background:var(--accent)}.modal{position:fixed;inset:0;background:rgba(16,35,31,.62);display:grid;place-items:center;padding:20px;z-index:5}.hidden{display:none}.modal-panel{background:#fff;width:min(560px,100%);border-radius:20px;padding:28px;position:relative;box-shadow:0 25px 80px rgba(0,0,0,.2)}.close-button{position:absolute;right:19px;top:16px;background:#f0f4ef;width:28px;height:28px;border-radius:50%;font-size:21px;color:#788b82}.modal-progress{padding-right:35px}.modal-progress span{font-size:9px;letter-spacing:1.3px;font-weight:700;color:var(--accent)}.modal-progress div{height:5px;background:#edf2ec;border-radius:5px;margin-top:10px}.modal-progress i{display:block;width:33%;height:100%;background:var(--accent);border-radius:5px}.session-body{padding:35px 10px 10px}.session-body .label{font-size:10px;color:var(--accent);font-weight:700;letter-spacing:1px}.session-body h2{font:800 27px Manrope;letter-spacing:-1px;margin:12px 0 10px}.session-body p{color:#71847b;font-size:13px;line-height:1.6}.phrase-list{display:grid;gap:9px;margin:22px 0}.phrase{background:var(--accent-pale);padding:13px 15px;border-radius:10px;font-size:13px;font-weight:600}.phrase small{display:block;color:#8e7281;font-size:10px;font-weight:400;margin-top:4px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.secondary-button{background:#eef3ef;border-radius:9px;padding:11px 15px;font-size:12px;font-weight:700}.record-area{text-align:center;padding:25px 0 5px}.record-button{width:76px;height:76px;border-radius:50%;background:var(--accent);color:#fff;font-size:28px;box-shadow:0 0 0 8px var(--accent-soft)}.record-button.recording{background:#d76558;color:#fff;box-shadow:0 0 0 8px #f7dfdc}.transcript{min-height:55px;background:#f7f9f5;border-radius:10px;padding:13px;margin-top:22px;color:#687b72;font-size:12px}.difficulty-label{font-size:10px;letter-spacing:1px;color:#84958c;text-align:center;margin:18px 0 10px}.difficulty-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.difficulty-button{border-radius:9px;padding:10px 7px;background:#f2f4ef;font-size:11px;font-weight:700}.difficulty-button:hover{background:var(--accent-soft);color:var(--accent)}.toast{position:fixed;right:22px;bottom:22px;padding:13px 17px;background:var(--ink);color:#fff;border-radius:10px;font-size:12px;opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:850px){.sidebar{width:190px;padding:25px 15px}.main-content{padding:35px 25px}.hero-grid{grid-template-columns:1fr}.hero-card{min-height:280px}.exercise-grid,.library-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.app-shell{display:block}.sidebar{width:100%;height:auto;padding:18px 18px 10px}.brand-note,.sidebar-bottom{display:none}.nav{display:flex;gap:4px;margin-top:20px}.nav-item{padding:9px 11px;font-size:12px}.nav-item span{width:auto;margin-right:4px}.main-content{padding:28px 18px}.topbar{margin-bottom:30px}.topbar h1{font-size:24px}.hero-card{padding:28px 24px}.hero-card h2{font-size:27px}.hero-orbit{opacity:.65;right:-90px}.exercise-grid,.library-grid,.stats-grid{grid-template-columns:1fr}.section-heading{margin-top:34px}.progress-card{padding:22px}.tip-banner{align-items:start}.tip-quote{display:none}}
