:root{--ink:#28334b;--muted:#7b8391;--paper:#fffaf2;--white:#fff;--line:#f0eadd;--orange:#ff914d;--orange-soft:#fff0e4;--blue:#729bfa;--blue-soft:#edf3ff;--green:#74c8a0;--green-soft:#eaf8f0;--pink:#ee8da4;--pink-soft:#fff0f3;--yellow:#f5cb63;--shadow:0 12px 36px #4953670c}*{box-sizing:border-box}body{margin:0;background:#f9f8f5;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button{font:inherit;color:inherit;cursor:pointer;border:0}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh;max-width:1600px;margin:auto}.sidebar{width:244px;background:#fff;border-right:1px solid var(--line);padding:27px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 max(calc((100vw - 1600px)/2),0);z-index:5}.brand{display:flex;gap:10px;align-items:center;padding:0 12px 26px;font:900 18px Nunito,sans-serif;letter-spacing:-.5px}.brandmark{width:56px;height:56px;flex:0 0 56px;background:transparent;display:grid;place-items:center}.brandmark img{width:100%;height:100%;object-fit:contain}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:1.1px;color:#a4a7ad;font-weight:800;padding:12px 13px 8px}.nav{display:grid;gap:4px}.nav button{width:100%;text-align:left;background:transparent;border-radius:12px;padding:10px 13px;color:#737c8c;font-weight:700;display:flex;align-items:center;gap:12px}.nav button:hover{background:#fff9f1;color:var(--ink)}.nav button.active{background:#fff2e7;color:#db6b2f}.ico{width:22px;text-align:center;font-size:18px}.sidebottom{margin-top:auto}.profile{background:#fff8f0;border-radius:16px;padding:12px;display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:14px;background:#ffe1ca;display:grid;place-items:center;font-size:21px}.profile strong,.profile small{display:block}.profile small{font-size:11px;color:var(--muted);margin-top:3px}.workspace{margin-left:244px;flex:1;min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,56px);position:sticky;top:0;z-index:4}.crumb{font-weight:800;font-size:15px}.top-actions{display:flex;align-items:center;gap:12px}.lang,.mode{background:#f8f7f4;padding:9px 12px;border-radius:10px;font-weight:700;font-size:12px}.mode{background:var(--ink);color:white}.main{max-width:1180px;padding:34px clamp(20px,4vw,56px) 84px;margin:auto}.welcome{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:23px}.eyebrow{color:#df8755;font-size:11px;letter-spacing:1.3px;text-transform:uppercase;font-weight:800}.welcome h1{font:900 clamp(24px,3vw,34px) Nunito,sans-serif;letter-spacing:-1px;margin:8px 0}.welcome p{margin:0;color:var(--muted)}.date{color:#9298a1;font-size:12px;font-weight:700}.hero{background:#fff0e2;border-radius:22px;min-height:225px;padding:28px 34px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;margin-bottom:25px}.hero:after{content:'';position:absolute;width:260px;height:260px;background:#ffd7b8;border-radius:50%;right:85px;top:-110px;opacity:.48}.hero-copy{position:relative;z-index:1;max-width:430px}.hero h2{font:900 25px Nunito,sans-serif;margin:8px 0}.hero p{color:#7e7269;line-height:1.6;margin:8px 0 18px}.cta{background:var(--ink);color:white;padding:11px 17px;border-radius:11px;font-size:12px;font-weight:800;box-shadow:0 5px 12px #28334b20}.hero-art{z-index:1;font-size:112px;filter:drop-shadow(0 10px 4px #b1784840);margin-right:50px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 13px}.section-head h2{font:900 17px Nunito,sans-serif;margin:0}.section-head button,.textbutton{color:#df8755;background:transparent;font-weight:800;font-size:12px}.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(4,1fr)}.stat,.card{background:white;border:1px solid #f2eee7;border-radius:17px;padding:17px;box-shadow:var(--shadow)}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-icon{width:35px;height:35px;border-radius:12px;display:grid;place-items:center;font-size:17px}.stat strong{font:900 21px Nunito,sans-serif;display:block;margin-top:13px}.stat span{color:var(--muted);font-size:11px;font-weight:600}.progress{height:6px;background:#f1f1f1;border-radius:8px;margin-top:12px;overflow:hidden}.progress i{height:100%;display:block;background:var(--orange);border-radius:8px}.cols{grid-template-columns:1.4fr 1fr}.tasks{display:grid;gap:9px}.task{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #f1eee8;border-radius:14px}.task-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;font-size:21px}.task-copy{flex:1}.task-copy strong{font-size:12px}.task-copy span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.roundbtn{width:32px;height:32px;border-radius:50%;background:#fff1e5;color:#d77643;font-size:13px}.story-card{background:#f1f5ff;border-radius:17px;padding:18px;display:flex;align-items:center;gap:14px;min-height:128px}.story-cover{width:80px;height:90px;border-radius:14px;background:#cddaff;display:grid;place-items:center;font-size:41px}.story-card h3{font:900 15px Nunito;margin:0 0 6px}.story-card p{color:var(--muted);font-size:11px;line-height:1.5;margin:0 0 10px}.pill{background:#fff;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800;color:#7687ac}.feature-grid{grid-template-columns:repeat(3,1fr)}.feature{min-height:145px;position:relative;overflow:hidden}.feature .feature-icon{font-size:28px}.feature h3{font:900 15px Nunito;margin:13px 0 5px}.feature p{font-size:11px;color:var(--muted);margin:0}.feature:after{position:absolute;content:attr(data-art);font-size:66px;right:13px;bottom:-10px;opacity:.2}.book-promo{display:flex;gap:15px;align-items:center;background:#edfaf2;border-radius:16px;padding:15px}.book-emoji{width:52px;height:65px;border-radius:7px;background:#9bd7b2;display:grid;place-items:center;font-size:27px;box-shadow:4px 3px #5ca47b}.book-promo h3{font:900 13px Nunito;margin:0 0 4px}.book-promo p{margin:0;color:var(--muted);font-size:10px}.page-title{font:900 28px Nunito;margin:0 0 6px}.page-desc{color:var(--muted);margin:0 0 24px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.tab{border:1px solid var(--line);background:white;padding:9px 13px;border-radius:10px;font-size:11px;font-weight:800;color:#7a8290}.tab.active{background:var(--ink);color:white;border-color:var(--ink)}.lesson-grid{grid-template-columns:repeat(3,1fr)}.lesson{padding:0;overflow:hidden}.lesson-banner{height:110px;display:grid;place-items:center;font-size:50px}.lesson-body{padding:15px}.lesson-body h3{font:900 15px Nunito;margin:0 0 5px}.lesson-body p{font-size:11px;color:var(--muted);margin:0 0 14px}.lesson-footer{display:flex;align-items:center;justify-content:space-between}.badge{font-size:10px;font-weight:800;color:#8290a6}.continue{padding:8px 12px;border-radius:9px;background:#fff2e7;color:#ce6f3c;font-size:11px;font-weight:800}.reading-card{display:flex;align-items:center;gap:17px}.reading-art{width:90px;height:100px;border-radius:15px;display:grid;place-items:center;font-size:45px}.story-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.story-tile{overflow:hidden}.story-tile .cover{height:125px;display:grid;place-items:center;font-size:55px}.story-tile h3{font:900 15px Nunito;margin:0 0 5px}.story-tile p{font-size:11px;color:var(--muted);margin:0 0 12px}.story-tile .inside{padding:14px}.book-grid{grid-template-columns:repeat(3,1fr)}.book-card{display:flex;gap:13px}.book-cover{width:75px;min-width:75px;height:104px;border-radius:9px;background:#ffe2c4;display:grid;place-items:center;font-size:34px}.book-card h3{font:900 14px Nunito;margin:4px 0}.book-card p{font-size:11px;color:var(--muted);line-height:1.5}.parent-banner{background:#eef3ff;border-radius:18px;padding:22px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.parent-banner h2{font:900 20px Nunito;margin:0 0 5px}.parent-banner p{color:#737f97;margin:0}.admin-head{display:flex;align-items:center;justify-content:space-between}.primary{padding:11px 15px;background:var(--orange);color:white;border-radius:10px;font-weight:800;font-size:12px}.table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden}.table th,.table td{padding:12px 13px;text-align:left;border-bottom:1px solid #f2eee7;font-size:11px}.table th{color:#98a0aa;font-size:10px;text-transform:uppercase;letter-spacing:.7px}.status{background:#eaf8ef;color:#4e9c70;padding:5px 8px;border-radius:20px;font-weight:800}.modal-backdrop{position:fixed;inset:0;background:#18203366;z-index:20;display:grid;place-items:center;padding:18px}.modal{background:white;width:min(440px,100%);border-radius:21px;padding:25px;box-shadow:0 25px 70px #12182733}.modal h2{font:900 22px Nunito;margin:0 0 7px}.modal p{color:var(--muted);line-height:1.5}.modal input,.modal select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;margin:7px 0 14px;font:inherit}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.secondary{background:#f4f4f2;padding:11px 14px;border-radius:10px;font-weight:800}.lesson-stage{background:#fff8ee;border-radius:18px;padding:26px;text-align:center}.big-word{font:900 68px Nunito;letter-spacing:8px;margin:20px 0;color:#394767}.sound-row{display:flex;justify-content:center;gap:10px;margin:20px}.sound{background:white;border:1px solid #f0e2cf;border-radius:12px;width:48px;height:48px;display:grid;place-items:center;font:900 22px Nunito;color:#dd8150}.mobile-nav{display:none}
@media(max-width:900px){.sidebar{width:205px}.workspace{margin-left:205px}.stats{grid-template-columns:repeat(2,1fr)}.cols{grid-template-columns:1fr}.lesson-grid,.story-list,.book-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.sidebar{display:none}.workspace{margin:0}.topbar{height:62px;padding:0 17px}.main{padding:23px 16px 93px}.date{display:none}.hero{padding:23px;min-height:202px}.hero-art{font-size:77px;margin:0 -5px 0 0}.hero h2{font-size:21px}.hero-copy{max-width:65%}.stats{gap:9px}.stat{padding:13px}.lesson-grid,.story-list,.book-grid,.feature-grid{grid-template-columns:1fr 1fr;gap:9px}.lesson-banner{height:88px}.page-title{font-size:25px}.mobile-nav{position:fixed;display:flex;bottom:0;inset-inline:0;background:white;border-top:1px solid var(--line);justify-content:space-around;padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:10}.mobile-nav button{background:none;color:#9096a0;font-size:9px;font-weight:700;display:grid;gap:2px;justify-items:center}.mobile-nav button span{font-size:19px}.mobile-nav button.active{color:#de7c47}.top-actions{gap:6px}.lang,.mode{padding:8px;font-size:10px}.welcome{margin-bottom:17px}.story-card{padding:13px}.parent-banner{align-items:flex-start;gap:10px}.table{min-width:580px}.table-wrap{overflow:auto}.hero:after{right:-10px}.feature{padding:13px}}

/* Age-aware learning layouts */
.age-select{background:#fff;border:1px solid var(--line);padding:9px 11px;border-radius:10px;font:700 12px 'DM Sans',sans-serif;color:var(--ink)}
.age-young{--ink:#39476a;--muted:#767f91;--paper:#fffaf2}.age-young .main{font-size:15px}.age-young .lesson-grid,.age-young .feature-grid,.age-young .story-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.age-young .lesson-banner{height:145px;font-size:62px}.age-young .lesson-body{padding:19px}.age-young .lesson-body h3,.age-young .feature h3{font-size:19px}.age-young .lesson-body p,.age-young .feature p{font-size:14px;line-height:1.6}.age-young .continue,.age-young .roundbtn,.age-young .cta{font-size:14px;min-height:44px}.age-young .card,.age-young .task,.age-young .hero{border-radius:23px}.age-young .hero{min-height:255px;background:linear-gradient(120deg,#fff0df,#fff8e9)}
.age-core .age-select{border-color:#f4dfcb}.age-older{--ink:#233650;--muted:#66748a;--orange:#e97748;--orange-soft:#fff1e9;--blue:#547dc7;--blue-soft:#edf3fc;--green:#4c9c81;--green-soft:#eaf6f1}.age-older .main{max-width:1320px}.age-older .hero{background:linear-gradient(120deg,#eaf1fb,#f4f7fc);border-radius:14px;min-height:205px}.age-older .hero:after{background:#cfddf2;opacity:.38}.age-older .card,.age-older .stat{border-radius:12px;box-shadow:0 5px 18px #243b5b0a}.age-older .section-head h2,.age-older .page-title{letter-spacing:-.2px}.age-older .feature:after{opacity:.1}.age-older .feature{min-height:130px}.age-older .nav button.active{background:#edf3fc;color:#315c9b}
@media(max-width:760px){.age-young .lesson-grid,.age-young .feature-grid,.age-young .story-list{grid-template-columns:1fr}.age-select{max-width:110px}.top-actions{gap:5px}.age-young .lesson-banner{height:125px}}
