@font-face{font-family:Geologica;src:url('assets/Geologica.ttf')}@font-face{font-family:Geologica;src:url('assets/Geologica-Semibold.ttf');font-weight:600}@font-face{font-family:Dela;src:url('assets/DelaGothicOne.ttf')}*{box-sizing:border-box}body{margin:0;background:#f8f7f4;color:#292438;font-family:Geologica,Arial,sans-serif;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #008ec6;outline-offset:4px}a{color:inherit}button{border:0}svg{width:22px;height:22px;flex-shrink:0}.demo{background:#292438;color:#fff;text-align:center;font-size:12px;padding:8px 16px}.shell{max-width:1440px;margin:auto;display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 35px)}.sidebar{padding:34px 24px;border-right:1px solid #e8e5df;display:flex;flex-direction:column;background:#fff}.brand img{width:180px;height:auto}.school{margin:20px 0 34px;font-weight:600;font-size:14px}.school span{font-size:12px;font-weight:400;color:#777180}nav button{display:flex;gap:13px;align-items:center;width:100%;background:none;text-align:left;padding:14px 16px;border-radius:12px;color:#6c6675;margin:4px 0;font-size:14px;min-height:48px}nav button.active{color:#bb360c;background:#fff0e9;font-weight:600}.side-note{margin-top:auto;padding-top:56px}.side-note b{font-family:Dela;font-size:19px;line-height:1.5}.side-note p{font-size:13px;color:#777180;margin-bottom:24px}.reset{background:none;text-align:left;color:#777180;font-size:12px;padding:10px 0;text-decoration:underline}.workspace{min-width:0}.topbar{display:flex;align-items:center;gap:18px;padding:24px 40px;background:#fff;border-bottom:1px solid #eeece7}.welcome{margin-right:auto;font-size:14px}.parent-avatar{background:#f0ece5;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.notification{background:none;color:#292438;padding:8px}.mobile-brand{display:none}.childbar{padding:24px 40px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}#children{display:flex;gap:10px}.child{display:flex;align-items:center;gap:9px;padding:9px 16px 9px 9px;border:1px solid #dedbd4;background:none;border-radius:50px;color:#6c6675}.child.active{background:#fff;border-color:#292438;color:#292438}.child-avatar{border-radius:50%;display:grid;place-items:center;width:32px;height:32px;background:#fff0df;color:#9c4913;font-weight:600}.child:nth-child(2) .child-avatar{background:#efeaf9;color:#695291}.family-label{font-size:12px;color:#88818e}main{padding:30px 40px 32px;max-width:1040px;margin:auto;min-height:620px}h1,h2,h3,p{margin-top:0}h1{font-family:Dela;font-size:30px;line-height:1.35;letter-spacing:-.6px;margin-bottom:10px}h2{font-size:19px;line-height:1.45;margin-bottom:16px}h3{font-size:16px;line-height:1.5;margin-bottom:8px}.sub{color:#777180;margin-bottom:26px;font-size:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 15px}.section-head h2{margin:0}.text-button{background:none;padding:8px 0;color:#bb360c;font-size:13px;display:inline-flex;align-items:center;gap:6px}.hero{background:#ff541f;color:#fff;border-radius:24px;padding:28px 30px;display:grid;grid-template-columns:1fr auto;gap:20px;position:relative;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:1.3px;font-size:11px;font-weight:600;opacity:.9}.hero h2{font-family:Dela;font-size:25px;line-height:1.35;margin:14px 0 10px;max-width:440px}.hero p{font-size:13px;color:#fff;max-width:420px;margin:0}.hero-time{font-size:42px;font-weight:600;line-height:1.2}.hero-date{font-size:12px;text-align:right;margin-top:8px}.hero-bottom{grid-column:1/-1;display:flex;gap:10px;align-items:center;margin-top:4px;flex-wrap:wrap}.button{padding:12px 18px;min-height:46px;background:#292438;color:#fff;border-radius:11px;font-size:13px;display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;font-weight:600}.button.light{background:#fff;color:#292438}.button.secondary{background:#f2f0ec;color:#292438}.button.orange{background:#c13b10;color:#fff}.button.ghost{color:#fff;border:1px solid #ffffff70;background:none}.button:disabled{opacity:.55;cursor:default}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:#fff;border:1px solid #eeebe5;border-radius:18px;padding:22px}.card p:last-child{margin-bottom:0}.card.link-card{cursor:pointer;transition:transform .15s}.card.link-card:hover{transform:translateY(-2px)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.muted{color:#777180;font-size:13px}.big-number{font-size:38px;font-weight:600;line-height:1.2;letter-spacing:-1px}.big-number small{font-size:16px;color:#777180;letter-spacing:0;font-weight:400}.meter{height:6px;background:#f0ede7;border-radius:20px;margin:15px 0 10px;overflow:hidden}.meter span{display:block;height:100%;background:#ff541f;border-radius:20px}.tag{padding:4px 9px;border-radius:6px;font-size:11px;display:inline-block;white-space:nowrap;background:#f1eee9;color:#6c6675}.tag.green{background:#e7f1eb;color:#286143}.tag.orange{background:#fff0e9;color:#a83813}.tag.blue{background:#e6f3f9;color:#185b79}.lesson{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid #eeebe5;align-items:flex-start}.lesson:last-child{border:0;padding-bottom:0}.date-block{background:#f5f2ec;border-radius:10px;text-align:center;min-width:55px;padding:9px 5px;font-size:11px;color:#777180}.date-block b{display:block;font-size:23px;color:#292438;line-height:1.1;margin-bottom:3px}.lesson-body{flex:1;min-width:0}.lesson h3{margin:0 0 4px}.lesson .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.lesson-time{font-size:16px;font-weight:600;white-space:nowrap}.course-dot{display:inline-block;width:8px;height:8px;background:var(--course,#ff541f);border-radius:50%;margin-right:6px}.callout{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:12px;background:#f1eee7;font-size:13px;margin:20px 0}.callout p{margin:0}.progress-message{font-size:15px;line-height:1.7}.teacher{display:flex;align-items:center;gap:10px;margin-top:18px}.teacher-avatar{width:37px;height:37px;border-radius:50%;background:#e7f1eb;color:#286143;display:grid;place-items:center;font-size:13px}.teacher p{margin:0;font-size:12px}.teacher small{color:#777180;font-size:11px}.segmented{display:flex;gap:5px;flex-wrap:wrap;margin:18px 0 24px}.segmented button{padding:9px 15px;background:#efede8;border-radius:50px;color:#6c6675;font-size:13px;min-height:42px}.segmented button.active{background:#292438;color:#fff}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.metric-label{font-size:13px;color:#777180}.delta{font-size:12px;color:#286143;background:#e7f1eb;padding:5px 8px;border-radius:7px}.comparison{display:flex;gap:12px;align-items:center;margin:13px 0}.comparison .old{font-size:23px;color:#918a96}.comparison .new{font-size:34px;font-weight:600}.comparison .unit{font-size:11px;color:#777180}.chart{width:100%;height:auto;margin:8px 0;overflow:visible}.chart text{font-family:Geologica;font-size:11px;fill:#777180}.chart circle{fill:#fff;stroke:#ff541f;stroke-width:3}.chart line{stroke:#eee9e2;stroke-width:1}.chart .area{fill:#fff0e9}.chart .curve{stroke:#ff541f;stroke-width:3;fill:none}.skills{list-style:none;padding:0;margin:0}.skills li{padding:12px 0;display:flex;align-items:flex-start;gap:9px;border-bottom:1px solid #eeebe5;font-size:14px}.skills li:last-child{border:0}.skills svg{color:#286143;width:18px;height:18px;margin-top:2px}.progress-table{border-collapse:collapse;width:100%;font-size:13px;margin-top:10px}.progress-table th,.progress-table td{text-align:left;padding:10px 4px;border-bottom:1px solid #eeebe5}.progress-table th{font-weight:600}.history{display:flex;gap:12px;margin:14px 0}.history-dot{width:9px;height:9px;flex-shrink:0;margin-top:6px;border-radius:50%;background:#ff541f}.history p{margin:0;font-size:13px}.history small{color:#777180}.faq details{border-bottom:1px solid #eeebe5;padding:17px 0}.faq details:last-child{border:0}.faq summary{cursor:pointer;font-size:14px;font-weight:600;min-height:24px}.faq details p{font-size:13px;color:#6c6675;margin:12px 0 0;line-height:1.65}.setting{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid #eeebe5}.setting:last-child{border:0}.switch{display:flex;width:44px;height:26px;border-radius:30px;background:#ccc7c0;padding:3px;flex-shrink:0}.switch.on{background:#c13b10}.switch span{width:20px;height:20px;background:white;border-radius:50%;transition:transform .2s}.switch.on span{transform:translateX(18px)}.footnote{font-size:11px;color:#777180;text-align:center;padding:16px 24px 32px}.bottom-nav{display:none}dialog{padding:24px;max-width:480px;width:calc(100% - 32px);border:0;border-radius:20px;color:#292438;background:#fff;max-height:90dvh;overflow-y:auto}dialog::backdrop{background:#29243885;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.dialog-header h2{margin-bottom:18px}.icon-button{background:#f2f0ec;width:34px;height:34px;border-radius:50%;font-size:22px;flex-shrink:0;line-height:1}.field{display:block;margin:16px 0;font-size:13px;font-weight:600}.field input,.field select,.field textarea{display:block;width:100%;margin-top:7px;border:1px solid #dcd6cf;border-radius:10px;padding:12px;background:#fff;color:#292438;font-weight:400}.field textarea{min-height:98px;resize:vertical}.form-hint{font-size:12px;color:#777180}.form-actions{display:flex;gap:10px;margin-top:20px}.form-actions .button{flex:1}.request-row{padding:14px 0;border-bottom:1px solid #eeebe5}.request-row:last-child{border:0}.request-row p{margin:4px 0;font-size:13px}.empty{color:#777180;font-size:13px;padding:16px 0}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:#292438;color:white;border-radius:12px;padding:13px 20px;font-size:13px;max-width:90%;opacity:0;pointer-events:none;transition:.2s;z-index:100}#toast.show{opacity:1;transform:translate(-50%,0)}.mobile-only{display:none}.teacher-preview{border:1px dashed #d9d2ca;padding:16px;border-radius:12px;margin-top:24px}.full{width:100%}.reading-goal{margin:20px 0 0;padding:18px;background:#fff5e7;border-radius:12px}.reading-goal p{margin:0;font-size:13px}.page-heading{margin-bottom:24px}.status-line{margin-top:10px;font-size:12px;color:#a83813}.home-progress{border-left:4px solid #ff541f}.small-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#777180;margin-bottom:12px}.home-wins{font-size:19px;font-weight:600;line-height:1.5;margin:12px 0}.schedule-meta{font-size:12px;color:#777180;margin-bottom:15px}
@media(min-width:1400px){main{padding-top:36px}.hero{padding:32px}.grid{gap:20px}}@media(max-width:1050px){.shell{grid-template-columns:210px 1fr}.sidebar{padding:28px 20px}.brand img{width:165px}.topbar,.childbar{padding-left:26px;padding-right:26px}main{padding-left:26px;padding-right:26px}.hero h2{font-size:21px}.hero-time{font-size:34px}.hero{padding:24px}}
@media(max-width:760px){body{font-size:14px}.demo{font-size:10px;padding:6px 10px}.shell{display:block}.sidebar{display:none}.topbar{padding:17px 20px;gap:12px}.welcome{display:none}.mobile-brand{display:block;margin-right:auto}.mobile-brand img{width:148px;height:auto;display:block}.parent-avatar{width:32px;height:32px;font-size:12px}.childbar{padding:20px 20px 0}.family-label{display:none}.child{font-size:12px;padding:7px 12px 7px 7px}.child-avatar{width:29px;height:29px}main{padding:25px 20px;min-height:580px}h1{font-size:25px;letter-spacing:-.5px}.sub{font-size:12px;margin-bottom:22px}.hero{padding:22px;border-radius:20px;gap:16px}.hero h2{font-size:19px;margin-top:12px}.hero p{font-size:12px}.hero-time{font-size:30px}.hero-date{font-size:10px}.hero-bottom{gap:8px}.hero-bottom .button{padding:11px 12px;font-size:11px;min-height:43px}.grid{grid-template-columns:1fr;gap:14px}.home-stats{grid-template-columns:1fr 1fr;gap:12px}.card{padding:19px;border-radius:16px}.home-stats .card{padding:16px}.home-stats h3{font-size:13px}.big-number{font-size:32px}.big-number small{font-size:12px}.home-stats .muted{font-size:11px}.section-head{margin-top:24px}h2{font-size:17px}.section-head .text-button{font-size:11px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid #e7e2da;padding:6px 6px max(8px,env(safe-area-inset-bottom));z-index:20}.bottom-nav button{flex-direction:column;gap:3px;text-align:center;justify-content:center;margin:0;padding:6px 1px;font-size:9px;min-width:0;min-height:48px;border-radius:9px}.bottom-nav button.active{background:none;color:#bb360c}.bottom-nav svg{width:21px;height:21px}.footnote{padding:8px 22px 100px;font-size:10px}#toast{bottom:90px;max-width:90%;width:max-content;font-size:12px}.metric-grid{gap:12px}.metric-grid .card{padding:16px}.comparison{gap:8px}.comparison .new{font-size:29px}.comparison .old{font-size:21px}.comparison .unit{font-size:10px}.metric-label{font-size:11px}.delta{font-size:10px}.lesson{gap:12px}.lesson h3{font-size:14px}.lesson-time{font-size:14px}.lesson .muted{font-size:11px}.date-block{min-width:45px}.tag{font-size:10px}.mobile-only{display:block}.teacher-preview{margin-top:22px}}
@media(max-width:360px){main{padding-left:14px;padding-right:14px}.childbar{padding-left:14px;padding-right:14px}.hero{padding:18px;gap:8px}.hero h2{font-size:17px}.hero-time{font-size:26px}.metric-grid{grid-template-columns:1fr}.home-stats{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
