:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#172035;background:#e9ebe7;--ink:#172035;--text:#293349;--muted:#87909e;--line:#e7eae9;--paper:#f7f8f5;--accent:#bce899;--accent-strong:#a8d979;--violet:#7762d7;--soft:#f2f4f0;--warn:#d87a61;--shadow:0 15px 40px rgba(26,40,58,.065);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid #aeabf0;outline-offset:3px}a{color:inherit}.desktop-context{position:fixed;left:max(5%,calc((100vw - 1170px)/2));top:25%;display:flex;flex-direction:column;gap:22px;max-width:400px}.context-label{font-size:12px;letter-spacing:3px;font-weight:800;color:#858e87}.context-title{font-size:clamp(30px,3vw,52px);font-weight:790;letter-spacing:-2px;line-height:1.11;color:#253145}.context-line{width:66px;height:5px;background:#8bcf87;border-radius:10px}.context-foot{font-size:13px;color:#7e878a}.app-frame{width:430px;max-width:100%;margin:auto;min-height:100dvh;background:var(--paper);box-shadow:0 12px 70px rgba(30,44,56,.17);position:relative;overflow:hidden;padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}.boot{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#667286}.brand-mark{height:66px;width:66px;background:#172035;border-radius:22px;color:#d7f29c;font-weight:900;font-size:36px;display:grid;place-items:center;letter-spacing:-4px;padding-right:5px}.spinner{width:27px;height:27px;border:3px solid #dce5d5;border-top-color:#649d51;border-radius:100%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.desktop-context{display:none}.app-frame{width:100%;box-shadow:none}}.page{animation:fadein .22s ease both;padding:0 20px 22px}@keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.topbar{height:76px;padding:16px 21px;display:flex;align-items:center;justify-content:space-between;gap:10px}.logo{display:flex;align-items:center;gap:10px}.logo-box{height:37px;width:37px;background:#182139;color:#ccf29a;border-radius:12px;font-size:23px;line-height:37px;font-weight:880;text-align:center;letter-spacing:-2px;padding-right:4px}.wordmark{font-size:23px;font-weight:870;letter-spacing:-1.2px}.top-meta{display:flex;align-items:center;gap:8px}.pill{background:white;border:1px solid #ebedeb;border-radius:100px;min-height:36px;padding:7px 11px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:760;box-shadow:0 4px 15px rgba(25,33,39,.035)}.pill svg{width:17px;height:17px}.avatar{width:39px;height:39px;border-radius:15px;background:#dfe8d7;display:grid;place-items:center;font-size:18px;font-weight:790;color:#506c4c;border:2px solid white}.eyebrow{font-size:11px;font-weight:850;letter-spacing:2px;text-transform:uppercase;color:#7e898c}.hero{position:relative;border-radius:25px;background:#1c2941;overflow:hidden;padding:25px 22px 22px;color:white;min-height:272px;box-shadow:0 12px 27px #22324f23}.hero::before{content:"";position:absolute;width:250px;height:250px;border:45px solid rgba(214,243,174,.10);border-radius:50%;right:-145px;top:-120px}.hero::after{content:"";position:absolute;width:155px;height:155px;border:30px solid rgba(228,209,247,.09);border-radius:50%;right:-68px;bottom:-67px}.hero .eyebrow{color:#c3d3ca}.hero-title{font-size:32px;line-height:1.11;font-weight:800;letter-spacing:-1.4px;max-width:300px;margin:16px 0 10px;position:relative;z-index:1}.hero-title em{font-style:normal;color:#c9f3a0}.hero-copy{position:relative;z-index:1;color:#c9d2d6;font-size:13px;line-height:1.65;max-width:266px;margin-bottom:20px}.hero-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px}.btn{min-height:46px;display:inline-flex;justify-content:center;align-items:center;gap:9px;border-radius:14px;background:#c8f098;color:#1b2921;font-weight:800;font-size:13px;padding:0 18px;transition:transform .12s ease,filter .12s ease}.btn:active,.tile:active,.choice:active{transform:scale(.98)}.btn:hover{filter:brightness(.97)}.btn.secondary{background:white;border:1px solid #e5e8e7;color:#243147}.btn.dark{background:#1c2941;color:white}.btn.ghost{background:#eff1ee;color:#283449}.btn.full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.hero-side{color:#e4e9e3;font-size:12px;text-align:right}.section-h{margin:27px 1px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.section-title{font-weight:820;letter-spacing:-.55px;font-size:19px}.inline-link{background:none;color:#747f7a;font-size:12px;font-weight:720;padding:7px 0}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{border:1px solid #e5e9e6;background:white;border-radius:19px;padding:17px 15px 14px;min-height:149px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;box-shadow:0 7px 19px rgba(34,50,52,.027);transition:transform .12s ease}.tile-icon{height:44px;width:44px;display:grid;place-items:center;border-radius:13px;background:#e6f3dc;margin-bottom:13px;font-size:24px}.tile-icon.violet{background:#ede8fc}.tile-icon.peach{background:#faeee4}.tile-icon.blue{background:#e5eff7}.tile-name{font-size:15px;font-weight:800;color:#202e42;letter-spacing:-.35px}.tile-desc{font-size:11px;line-height:1.45;color:#818b93;margin-top:5px}.panel{background:#fff;border:1px solid #e9ebe8;border-radius:21px;padding:17px;box-shadow:var(--shadow)}.daily{display:flex;gap:12px;align-items:center}.round-icon{width:44px;height:44px;border-radius:15px;background:#eef4e9;display:grid;place-items:center;flex-shrink:0;font-size:22px}.daily-title{font-size:13px;font-weight:790}.daily-sub{font-size:12px;color:#85909b;margin-top:5px}.grow{flex:1;min-width:0}.bar{height:8px;background:#eff0eb;border-radius:30px;overflow:hidden;margin-top:11px}.bar > span{display:block;height:100%;background:#b6e48c;border-radius:30px}.mini-tag{font-size:10px;font-weight:800;border-radius:8px;padding:5px 8px;color:#5a7960;background:#ebf4e5}.bottom-nav{position:fixed;bottom:0;width:430px;max-width:100%;height:calc(77px + env(safe-area-inset-bottom,0px));padding:8px 16px calc(9px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;gap:5px;background:rgba(255,255,255,.96);border-top:1px solid #e8ebe8;backdrop-filter:blur(24px);z-index:40}.nav-link{color:#89909c;background:none;border-radius:14px;min-width:55px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:10px;font-weight:800;padding:6px 2px}.nav-link.active{color:#293c38;background:#e7f3e0}.nav-link svg{width:22px;height:22px;stroke-width:2.2}.inner-head{display:flex;align-items:center;gap:12px;margin:7px 0 20px}.back-btn{background:white;border:1px solid #e5e9e5;border-radius:12px;width:40px;height:40px;display:grid;place-items:center;font-size:21px}.page-title{font-size:26px;font-weight:850;letter-spacing:-1px;line-height:1.15;margin:0}.page-sub{font-size:13px;color:#8a949b;line-height:1.55;margin-top:8px}.filter-row{display:flex;gap:7px;overflow-x:auto;padding:5px 1px 14px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.chip{border:1px solid #e3e8e3;border-radius:12px;background:white;padding:9px 12px;color:#6e7a83;white-space:nowrap;font-size:12px;font-weight:720}.chip.active{background:#1c2941;border-color:#1c2941;color:white}.lesson-card{display:flex;align-items:center;gap:13px;margin-bottom:10px;padding:15px;border:1px solid #e6eae7;background:white;border-radius:18px;width:100%;text-align:left}.lesson-number{width:43px;height:43px;border-radius:14px;background:#f0f3eb;color:#5e7565;display:grid;place-items:center;flex-shrink:0;font-weight:800;font-size:15px}.lesson-card .grow{font-size:14px;font-weight:780}.lesson-card small{color:#89929b;font-size:11px;font-weight:520;display:block;margin-top:6px;line-height:1.4}.arrow{font-size:25px;color:#a4b0a8}.level-badge{font-size:11px;font-weight:800;display:inline-block;padding:5px 8px;border-radius:9px;background:#ebf2e8;color:#5c8062}.info-banner{background:#e9f1e1;border-radius:19px;padding:17px;display:flex;align-items:center;gap:14px;color:#2f453b;margin:15px 0}.info-banner strong{font-size:13px}.info-banner p{font-size:11px;color:#5f7968;margin:6px 0 0;line-height:1.5}.topic-list{display:grid;gap:10px}.topic-card{width:100%;text-align:left;background:#fff;border:1px solid #e6eae7;border-radius:17px;padding:17px;display:flex;align-items:center;gap:12px}.topic-card .txt{flex:1}.topic-card strong{font-size:13px;display:block}.topic-card small{font-size:11px;color:#8a929a;display:block;margin-top:5px;line-height:1.45}.topic-card .level-badge{font-size:10px}.text-body{font-size:14px;line-height:1.75;color:#424e60}.text-body b,.text-body strong{color:#172238}.content-section{margin-top:20px}.content-section h3{font-size:15px;margin:0 0 10px;letter-spacing:-.2px}.quote{background:#f1f4ef;padding:12px 15px;margin:7px 0;border-radius:12px;font-size:13px;color:#3c4757;line-height:1.6}.test-modes{display:flex;flex-direction:column;gap:11px}.mode{background:#fff;border:1px solid #e3e9e4;border-radius:19px;min-height:93px;padding:16px;display:flex;align-items:center;text-align:left;gap:14px;width:100%}.mode strong{display:block;font-size:15px}.mode small{display:block;margin-top:7px;color:#8a919c;font-size:11px}.mode .round-icon{width:49px;height:49px}.view-top{padding:18px 20px 4px;display:flex;align-items:center;justify-content:space-between}.stepper{height:8px;background:#e7ebe7;border-radius:99px;flex:1;margin:0 16px;overflow:hidden}.stepper span{display:block;height:100%;background:#a8df81;border-radius:30px;transition:width .28s ease}.question-badge{font-size:11px;font-weight:850;letter-spacing:1.5px;color:#7e8b91}.question-title{font-size:27px;line-height:1.3;letter-spacing:-.8px;font-weight:820;color:#202a3b;margin:17px 0 20px}.choices{display:flex;flex-direction:column;gap:11px;margin-top:16px}.choice{padding:16px 16px;min-height:66px;display:flex;align-items:center;gap:14px;text-align:left;border-radius:17px;border:1.5px solid #e3e8e4;background:#fff;font-size:15px;font-weight:690;color:#303a48;transition:background .17s,border .17s}.choice-letter{flex-shrink:0;border-radius:10px;background:#f3f5f2;height:34px;width:34px;display:grid;place-items:center;color:#697780;font-weight:800;font-size:12px}.choice.checked{border-color:#1e2d49;background:#f3f6f0}.choice.correct{border-color:#8eb875;background:#eaf4e2}.choice.wrong{border-color:#d9a091;background:#fcf0eb}.choice.correct .choice-letter{background:#abd98f;color:#274830}.choice.wrong .choice-letter{background:#f4d0c6;color:#874735}.test-footer{padding-top:20px}.feedback{padding:17px;border-radius:18px;background:#e9f3e1;margin-top:17px;animation:fadein .22s ease}.feedback.wrong{background:#fbede7}.feedback h3{font-size:17px;margin:0 0 7px}.feedback p{font-size:12px;line-height:1.7;margin:0;color:#59675b}.feedback.wrong p{color:#855e54}.feedback strong{color:#192c29}.result{padding-top:27px;text-align:center}.result-orb{width:110px;height:110px;border-radius:34px;background:#e6f2df;color:#345739;display:grid;place-items:center;margin:10px auto 22px;font-size:43px;font-weight:850;box-shadow:0 15px 35px #4057351a}.result-title{font-size:29px;letter-spacing:-1px;font-weight:850}.result-sub{font-size:13px;color:#85909a;line-height:1.7;margin:10px auto 24px;max-width:300px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:13px}.stat-box{padding:17px;background:white;border:1px solid #e7eae7;border-radius:18px}.stat-box strong{display:block;font-size:23px;font-weight:840;letter-spacing:-.9px;margin:8px 0 4px}.stat-box small{font-size:11px;color:#87919a}.stat-symbol{font-size:19px}.profile-cover{background:#1b2942;border-radius:23px;padding:23px;color:white;display:flex;align-items:center;gap:17px}.profile-avatar{width:65px;height:65px;border-radius:22px;background:#c8ea9f;color:#334332;display:grid;place-items:center;font-size:27px;font-weight:830}.profile-cover .muted{font-size:12px;color:#b9c8cf;margin-top:6px}.skillrow{margin-top:13px}.skillrow-top{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:740}.skillrow .bar{margin-top:9px}.skillrow small{color:#839095}.notice{border:1px solid #e3e9df;background:#f0f4e9;color:#536a50;border-radius:14px;padding:11px 13px;font-size:12px;line-height:1.6;margin:14px 0}.error-note{border:1px solid #e8c8c2;background:#fff0ed;color:#a45a4d;border-radius:14px;padding:12px;font-size:12px;line-height:1.5;margin:10px 0}.toast{position:fixed;z-index:100;bottom:calc(94px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:min(calc(100vw - 35px),390px);padding:13px 16px;background:#1b293e;color:white;border-radius:13px;font-size:13px;box-shadow:0 8px 30px #19233355}.empty{padding:35px 18px;text-align:center;color:#84909b;background:white;border-radius:19px;border:1px solid #e8ece9}.empty-icon{font-size:38px;margin-bottom:10px}.empty strong{display:block;color:#2f3b4d;margin-bottom:8px}.empty p{font-size:12px;line-height:1.6}.onboarding{min-height:calc(100dvh - 70px);background:#f7f8f5;padding:27px 24px;display:flex;flex-direction:column}.onboarding .hero-illustration{margin:28px 0 21px;border-radius:31px;height:232px;background:linear-gradient(140deg,#1b2940 5%,#293958 70%,#34486a);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.orb-main{width:144px;height:144px;background:#c8efa2;border-radius:47px;transform:rotate(-13deg);display:grid;place-items:center;font-size:75px;font-weight:900;letter-spacing:-9px;padding-right:12px;color:#172e22;box-shadow:0 27px 50px #0003;z-index:2}.orb-spark{position:absolute;border:1px solid #8bafaaa6;border-radius:50%;width:285px;height:285px;transform:rotate(-18deg) scaleY(.5)}.orb-spark::before{content:'✦';position:absolute;color:#e4dfab;top:15px;left:13px;font-size:26px}.onboarding h1{font-size:37px;font-weight:880;line-height:1.12;letter-spacing:-1.8px;margin:10px 0}.onboarding h1 em{font-style:normal;color:#80a365}.onboarding p{font-size:14px;line-height:1.7;color:#7c8991}.onboarding .actions{margin-top:auto;padding-top:24px}.selector{padding:15px 17px;border-radius:16px;border:1px solid #e3e8e4;background:white;margin-bottom:10px;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:760;width:100%;color:#303b4b;text-align:left}.selector.selected{border-color:#a2c897;background:#edf5e8}.selector-mark{margin-left:auto;color:#6ea65c;font-size:17px}.lesson-hero{background:#e7efe0;border-radius:23px;padding:22px;position:relative;overflow:hidden}.lesson-hero .eyebrow{color:#537153}.lesson-hero h2{font-size:25px;margin:10px 0 9px;letter-spacing:-.9px}.lesson-hero p{font-size:13px;line-height:1.6;color:#58705a}.lesson-hero::after{content:'✦';position:absolute;font-size:82px;color:#c6dbc1;top:18px;right:5px}.wordrow{display:flex;align-items:center;gap:9px;justify-content:space-between;background:white;padding:14px;border:1px solid #e6ebe5;border-radius:15px;margin:8px 0}.wordrow strong{font-size:14px}.wordrow small{display:block;color:#8e969b;font-size:11px;margin-top:5px}.small-btn{background:#edf3e7;color:#55704f;border-radius:11px;padding:9px 11px;font-size:12px;font-weight:770}.seg{display:flex;gap:6px;background:#ebeeeb;border-radius:14px;padding:5px}.seg button{flex:1;padding:11px 3px;background:transparent;color:#7f8992;font-size:12px;font-weight:770;border-radius:11px}.seg button.active{background:white;color:#213045;box-shadow:0 2px 9px #0000000a}.muted{color:#8b949d}.no-bot{margin:25px 20px;border-radius:23px;background:#fff;padding:24px;color:#243349}.no-bot h2{font-size:23px}.no-bot p{font-size:13px;line-height:1.7;color:#76818b}.no-bot code{font-size:11px}.setting-row{background:white;border:1px solid #e5e9e5;padding:14px 15px;border-radius:14px;margin-bottom:8px;font-size:13px;font-weight:720;display:flex;align-items:center;justify-content:space-between}.banner-small{background:#e9e9f7;border-radius:17px;padding:19px;margin-top:14px}.banner-small h3{margin:0 0 7px;font-size:15px}.banner-small p{font-size:12px;color:#788399;line-height:1.6;margin:0 0 12px}.book-quote{border-left:3px solid #adcc9a;padding:2px 0 2px 14px;margin:17px 0;color:#4d5869;line-height:1.8;font-size:14px;white-space:pre-wrap}.hint{font-size:12px;color:#8a949a;line-height:1.6}.story-text{white-space:pre-wrap;line-height:1.95;font-size:14px;color:#3c4859}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:370px){.page{padding:0 14px 20px}.topbar{padding:14px}.hero-title{font-size:29px}.tile{padding:13px}.bottom-nav{padding-left:8px;padding-right:8px}}
