@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;600;700;800;900&display=swap');
.topics-table{table-layout:fixed;min-width:780px}.topics-table td,.topics-table th{white-space:normal;vertical-align:top;overflow-wrap:anywhere}.topics-table th:nth-child(1){width:20%}.topics-table th:nth-child(2){width:34%}.topics-table th:nth-child(3){width:36%}.topics-table th:nth-child(4){width:10%}.topic-sub-row{margin:0 0 9px}.topics-table summary,.topic-picker summary{cursor:pointer;color:#2347bd}.topic-story-links{padding-inline-start:18px;margin:8px 0;line-height:1.8}.topic-picker{margin:14px 0;padding:12px;border:1px solid #dce2eb;border-radius:9px;background:#f7f9ff}.topic-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}.topic-picker fieldset{min-width:0;border:1px solid #dce2eb;border-radius:8px;padding:10px}.topic-picker legend{font-weight:600}.admin label.topic-choice{display:flex;align-items:center;gap:8px;font-weight:400;margin:8px 0}.topic-choice input{width:auto;flex-shrink:0}.topic-form{max-width:850px;margin-top:16px}.topic-edit-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid #e5e9f2;padding:6px 0}.topic-edit-row>label:first-child{flex:1}.story-subtopics{min-width:240px;max-width:380px;white-space:normal}.subtopic-tag{display:block;font-size:12px;background:#edf2ff;border-radius:6px;padding:4px 7px;margin:3px 0;white-space:normal}.admin #admin-subtopic{max-width:240px}@media(max-width:600px){.topic-edit-row{flex-wrap:wrap}.topic-edit-row>label:first-child{flex-basis:100%}.topic-picker-grid{grid-template-columns:1fr}}
.welcome-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.welcome-tools a{color:#2752db;text-decoration:underline;text-underline-offset:3px}.tester-controls{margin-top:22px}.tester-selects{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px}.tester-selects label{margin-top:0;min-width:0}.tester-selects select{margin-top:6px}.tester-paging{margin-top:16px}.tester-story-title{font-size:28px;margin-top:16px}.tester-results{scroll-margin-top:20px}.tester-results h2{text-align:right}.story-tester{overflow-wrap:anywhere}.story-tester .error:empty{display:none}@media(max-width:540px){.tester-selects{grid-template-columns:1fr;gap:8px}.tester-paging{gap:8px}.tester-paging button{padding:10px}.tester-story-title{font-size:24px}}
:root{font-family:Heebo,Arial,sans-serif;color:#172746;background:#f4f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:12px;padding:12px 20px;background:#2752db;color:white;font-weight:600}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:default}button.secondary{background:#eef2fd;color:#2347bd}button.plain{background:transparent;color:#52617b}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f9b52c;outline-offset:3px}a{color:inherit;text-decoration:none}header{height:86px;background:white;border-bottom:1px solid #e5e9f2;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:24px}.mark{display:grid;place-items:center;background:#2752db;color:white;width:42px;height:42px;border-radius:14px;font-size:26px}.brand small{display:block;font-size:12px;font-weight:500;color:#738099}nav{display:flex;gap:28px;height:100%;align-items:center}nav a{height:100%;display:flex;align-items:center;font-size:15px;color:#68748b;border-bottom:3px solid transparent}nav a.active{color:#2752db;border-color:#2752db;font-weight:700}.profile{font-size:14px;display:flex;align-items:center;gap:12px}.avatar{width:48px;height:48px;display:inline-grid;place-items:center;background:#e8edff;border-radius:50%;font-size:25px}main{max-width:1180px;margin:42px auto;padding:0 26px}.eyebrow{font-size:14px;color:#6b7891}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}h1{font-size:32px;line-height:1.35;margin:8px 0}h2{font-size:21px;margin:0 0 16px}h3{font-size:18px;margin:0 0 8px}p{line-height:1.7;margin:8px 0;color:#617089}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dashboard{display:grid;grid-template-columns:1fr 320px;gap:24px}.card{background:white;border:1px solid #e2e7f1;border-radius:20px;padding:26px;margin-bottom:22px}.blue{background:#2752db;color:white;border:0;position:relative;overflow:hidden}.blue p,.blue .eyebrow{color:#dce5ff}.blue button{background:white;color:#244ace;margin-top:16px}.blue h2{font-size:28px;max-width:400px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.chip{background:#eef2fd;color:#48618e;border-radius:8px;padding:5px 10px;font-size:13px}.blue .chip{background:#ffffff21;color:white}.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid #e2e7f1;border-radius:17px;padding:20px}.stat strong{font-size:30px;display:block;margin:9px 0}.stat span{font-size:14px;color:#738099}.accent{color:#2752db}.green{color:#128369}.tag{font-size:13px;padding:5px 10px;background:#e6f6ee;color:#177654;border-radius:20px}.section-head{margin:28px 0 16px}.child-head{display:flex;align-items:center;gap:12px;margin-bottom:22px}.child-head p{margin:0;font-size:14px}progress{width:100%;height:9px;border:0;border-radius:9px;overflow:hidden;background:#e9edf5;accent-color:#2752db}progress::-webkit-progress-bar{background:#e9edf5}progress::-webkit-progress-value{background:#2752db;border-radius:9px}.progress-label{display:flex;justify-content:space-between;font-size:14px;color:#69778d;margin:10px 0 5px}.child-actions{display:flex;gap:10px;margin-top:20px}.child-actions button{flex:1;padding:10px}.empty{text-align:center;padding:35px 15px}.small{font-size:14px}.muted{color:#768199}.activity{border-bottom:1px solid #edf0f6;padding:14px 0}.activity:last-child{border:0}.activity strong{display:block;font-size:15px}.activity span{font-size:13px;color:#758098}.days{display:flex;justify-content:space-between;margin:20px 0}.day{text-align:center;font-size:13px;color:#758098}.day i{font-style:normal;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#f0f3fa;margin-top:8px}.day.done i{background:#2752db;color:white}.form-wrap{max-width:520px;margin:40px auto}.form-wrap .card{padding:36px}label{display:block;font-size:14px;font-weight:500;margin:15px 0 5px}input,select{width:100%;padding:8px 12px;border:1px solid #d5dcea;border-radius:10px;background:white;color:#172746}form button[type=submit]{width:100%;margin-top:19px}.error{color:#b22a3a;min-height:24px;font-size:14px}.notice{background:#fff6d9;color:#725a12;padding:13px 17px;border-radius:12px;font-size:14px;margin:16px 0}.lesson{max-width:790px;margin:0 auto}.reading{font-size:22px;line-height:2.15;color:#263855;white-space:pre-line}.question{margin:26px 0;border:0;padding:0}.question legend{font-size:18px;font-weight:700;margin-bottom:10px}.answer{border:1px solid #dbe2ef;border-radius:12px;padding:12px;display:flex;align-items:center;gap:12px;font-size:16px;cursor:pointer}.answer:has(input:checked){border-color:#2752db;background:#edf2ff}.answer input{width:auto;accent-color:#2752db}.level-track{display:flex;gap:12px;margin:24px 0}.level-step{flex:1;text-align:center;background:#edf1f8;padding:14px 4px;border-radius:12px;color:#758098}.level-step.current{background:#2752db;color:white}.result{text-align:center}.result-number{font-size:72px;font-weight:900;color:#2752db}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:right;font-size:14px}th,td{padding:14px 10px;border-bottom:1px solid #e9edf4;white-space:nowrap}th{color:#758098;font-weight:500}footer{text-align:center;color:#8590a4;font-size:13px;padding:24px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#192b49;color:white;padding:14px 24px;border-radius:12px;display:none;z-index:5}.welcome{max-width:900px;margin:55px auto}.welcome h1{font-size:42px}.welcome .blue{padding:40px}.category{border-inline-start:4px solid #f7b939}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:850px){header{height:auto;min-height:80px;flex-wrap:wrap;padding:16px 22px}nav{order:3;width:100%;gap:20px;overflow:auto}nav a{padding:10px 0;white-space:nowrap}.dashboard{grid-template-columns:1fr}.profile span{display:none}}@media(max-width:540px){main{padding:0 16px;margin:25px auto}.grid,.split{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:25px}.stat span{font-size:12px}.page-title{align-items:flex-start}h1{font-size:26px}.card{padding:20px}.brand{font-size:20px}.welcome h1{font-size:32px}.welcome .blue{padding:26px}.reading{font-size:20px}.row{flex-wrap:wrap}}

.child-identity{display:flex;align-items:center;gap:12px;margin-bottom:24px}.child-identity h1{margin:0}.next-activity{margin-top:30px}.next-activity h2{margin-bottom:20px}.progress-totals{display:flex;flex-wrap:wrap;gap:24px;margin-top:20px}

.admin-link{white-space:nowrap;font-size:14px;color:#2752db}.admin{font-size:14px}.admin h1{font-size:25px;margin:0}.admin h2{font-size:19px;margin:0}.admin h3{font-size:16px;margin:0}.admin-head,.admin-tabs,.admin-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}.admin-head{justify-content:space-between}.admin-tabs{border-bottom:1px solid #dbe2ef;padding-bottom:10px}.admin a{color:#2752db}.admin button,.admin-button{padding:7px 12px;border-radius:7px;font-size:14px}.admin .admin-button{background:#2752db;color:white}.admin-panel,.admin-question{border:1px solid #dce2eb;border-radius:9px;background:white;padding:12px;margin:12px 0}.admin input,.admin select,.admin textarea{padding:7px 9px;border-radius:6px;font:inherit}.admin textarea{display:block;width:100%;border:1px solid #d5dcea;resize:vertical;line-height:1.6;color:#172746}.admin label{font-size:14px;margin:6px 0}.admin th,.admin td{padding:9px 10px}.admin tbody tr:hover{background:#edf2fa}.admin-actions{display:flex;align-items:center;gap:12px}.admin .danger{color:#ad2634;background:#fff0f1}.admin-fields{display:grid;grid-template-columns:2fr 100px 1fr;gap:12px}.admin-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin-question legend{font-size:13px;color:#53627b}.admin-check{display:flex;align-items:center;gap:6px}.admin-check input{width:auto}.admin .admin-toolbar>label{margin:0}.admin .error:empty{display:none}@media(max-width:650px){.admin-fields,.admin-options{grid-template-columns:1fr}.admin-toolbar{gap:8px}.admin-toolbar input{max-width:180px}}
.admin form button[type=submit]{width:auto;margin:0}main:has(.admin){margin-top:20px}

/* Compact shared header; narrow screens keep navigation on one scrollable row. */
header{height:40px;min-height:40px;max-height:40px;flex-wrap:nowrap;padding:0 20px;gap:16px}
header .brand{flex-shrink:0;gap:7px;font-size:20px;white-space:nowrap;line-height:1}
header .mark{width:28px;height:28px;border-radius:8px;font-size:21px}
header nav{order:0;width:auto;min-width:0;flex:1;justify-content:center;gap:22px;overflow-x:auto;scrollbar-width:none}
header nav::-webkit-scrollbar{display:none}
header nav a{flex-shrink:0;padding:0;font-size:14px;white-space:nowrap}
header .profile{flex-shrink:0;gap:8px}
header button{padding:4px 8px;font-size:14px;line-height:1.4}
header .admin-link{flex-shrink:0}
.profile-switcher{position:relative}.profile-switcher summary{cursor:pointer;list-style:none;color:#2752db;font-size:14px;font-weight:700}.profile-switcher summary::-webkit-details-marker{display:none}.profile-switcher summary::after{content:'⌄';margin-inline-start:4px}.profile-switcher-menu{position:absolute;z-index:10;top:calc(100% + 8px);left:0;min-width:170px;padding:6px;background:#fff;border:1px solid #dbe2ef;border-radius:10px;box-shadow:0 8px 22px #17274622}.profile-switcher-menu button{display:block;width:100%;text-align:right;background:transparent;color:#172746;padding:7px 9px;border-radius:6px}.profile-switcher-menu button:hover{background:#eef2fd}.profile-switcher-menu button.active{color:#6f7d94;background:transparent;cursor:default}
@media(max-width:650px){header{padding:0 8px;gap:8px}header .brand{font-size:16px;gap:5px}header .mark{width:24px;height:24px;font-size:18px}header nav{justify-content:flex-start;gap:14px}header .profile span{display:none}}

.child-entry{border:2px solid #2752db;padding:24px}.child-entry h1{font-size:26px;margin:0 0 18px}.child-entry-list{display:grid;gap:10px}.child-entry-button{display:flex;align-items:center;gap:12px;width:100%;padding:14px;text-align:right}.child-entry-button strong{font-size:21px;flex:1}.child-entry-button .avatar{flex-shrink:0}.child-entry-button>span:last-child{white-space:nowrap}.admin-user-form{max-width:760px;margin-top:12px}

.parent-greeting,.parent-heading{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:14px}.parent-greeting{margin-bottom:12px}.parent-heading{margin-bottom:20px}.parent-heading h1{margin:0}.parent-greeting a,.parent-heading a{color:#2752db;font-size:14px;text-decoration:underline;text-underline-offset:3px}

header nav a{gap:6px}.nav-child-avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e8edff;font-size:19px;flex-shrink:0}

/* Compact story editing. */
.admin:has(#admin-story) .admin-head,.admin:has(#admin-story) .admin-tabs,.admin:has(#admin-story) .admin-toolbar{margin-bottom:6px;gap:8px}
#admin-story label{margin:3px 0}#admin-story .admin-fields,#admin-story .admin-options{gap:8px}#admin-story input,#admin-story select{padding:5px 8px}#admin-story .admin-question{padding:7px 10px;margin:8px 0}#admin-story .admin-question legend{padding:0 4px}#admin-story .admin-toolbar{margin-top:5px}#admin-story .admin-question .admin-toolbar>label{display:flex;align-items:center;gap:8px}#admin-story .admin-question select{width:auto}#admin-story .question-tools{display:flex;gap:5px;float:left;margin:0 8px 3px 0}#admin-story .question-tools button{padding:3px 8px}#admin-story .admin-options{clear:both}.drag-question{cursor:grab}.drag-question:active{cursor:grabbing}#admin-story .drop-question{outline:2px solid #2752db;background:#edf2ff}.text-tools{display:flex;gap:5px;flex-wrap:wrap;margin:4px 0}.text-tools button{padding:4px 10px}.story-preview{margin:5px 0 10px}.story-preview summary{cursor:pointer;color:#2752db;font-size:14px}.story-preview .reading{font-size:17px;line-height:1.7;background:white;border:1px solid #dce2eb;padding:10px;max-height:260px;overflow:auto}.reading ul{margin:0;padding-inline-start:26px}.reading h3{font-size:1.1em;margin:8px 0}.reading>div{white-space:pre-wrap}

.result-score{font-size:16px;font-weight:600;color:#2752db;margin:10px 0}

.child-summary{font-size:15px;color:#263855;margin:14px 0 0}.child-status{text-align:left}.child-periods{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin-top:6px;font-size:11px;color:#617089}.child-periods span{white-space:nowrap}.activity-period-heading th{padding:10px;background:#eef2fd;color:#193d9d;font-size:14px;font-weight:800;text-align:right}.child-message-compose{margin-top:14px}.child-message-compose summary{cursor:pointer;color:#2752db;font-size:14px}.child-message-form textarea{width:100%;font:inherit;padding:8px;border:1px solid #d5dcea;border-radius:8px;resize:vertical}.child-message-form button[type=submit]{width:auto;margin-top:0;padding:7px 14px}.child-message-form .error:empty{display:none}.message-status{margin-inline-start:10px}.child-message-dialog{width:min(440px,calc(100% - 32px));border:0;border-radius:16px;padding:24px;color:#172746}.child-message-dialog::backdrop{background:#17274680}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;color:#172746;font-size:19px}.child-message-dialog .error:empty{display:none}

.child-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}.child-name-row h3{margin:0}.child-inline-links{display:flex;flex-wrap:wrap;gap:12px}.child-inline-links a{color:#2752db;font-size:14px;text-decoration:underline;text-underline-offset:3px}

.result .activity{padding:10px 0;text-align:right}.result .answer-correct{color:#14663b}.result .answer-incorrect{color:#b32332}.result .answer-feedback{font-weight:600}.result .correct-answer-text{display:inline;font-size:inherit}.delete-link{color:#ae2434;background:transparent;padding:8px 0;font-size:14px;text-decoration:underline}.account-settings{margin-top:20px;font-size:14px}.account-settings summary{cursor:pointer}

.message-history{margin-top:12px}.message-history h4{margin:6px 0;font-size:14px}.message-history-item{border-top:1px solid #e5e9f2;padding:8px 0}.message-history-item p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;color:#263855}.message-history-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#65728a}.message-history-meta .delete-link{padding:3px 0}
.reading{line-height:1.6;white-space:normal}.reading>p{line-height:inherit;color:inherit;margin:0;white-space:pre-wrap}.reading>p+p,.reading>ul+p,.reading>p+ul{margin-top:.75em}.story-preview .reading{line-height:1.6}

.review-story{margin-top:14px}.review-question{text-align:right}.review-question h3{font-size:18px}.review-question p strong{display:inline;font-size:inherit}.correction-form textarea{width:100%;font:inherit;border:1px solid #ccd6e6;border-radius:8px;padding:10px;resize:vertical}.correction-form .understood{display:flex;align-items:center;gap:8px}.understood input{width:auto;accent-color:#2752db}.correction-form button[type=submit]{width:auto;margin:0;padding:8px 14px}.saved-correction{background:#f4f6fb;padding:8px 12px;border-radius:8px}.saved-correction p{white-space:pre-wrap;overflow-wrap:anywhere}.review-status{font-size:15px}.review-page .result{text-align:right}

.correction-form{margin-top:10px}.review-question:has(.correction-item){border:2px solid #2752db;border-radius:12px;padding:12px;margin-top:8px;background:#f7f9ff}.correction-item{padding:10px;background:white;border:2px solid #8ea9ec;margin-top:8px;border-radius:9px}.correction-form .understood{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:17px;font-weight:700;color:#193d9d;margin:0}.correction-form .understood input{width:23px;height:23px;flex-shrink:0;margin:0}.correction-item:has(input:checked){border-color:#15804f;background:#eaf7ef}.correction-item:has(input:checked) .understood{color:#14663b}.correction-form textarea{margin-top:8px;background:white;font-size:17px;min-height:64px}.correction-bonus{font-size:12px;line-height:1.2;margin:6px 0 0;color:#14663b;font-weight:700}.review-finish-wrap{margin-top:12px;padding:10px;border-radius:10px;background:#e8efff}.review-finish{display:block;width:100%;margin-top:12px;padding:12px;font-size:17px;font-weight:800;background:#2752db;color:#fff;box-shadow:0 3px 0 #193d9d}.review-finish-wrap .review-finish{margin-top:6px}.correction-status:not(:empty){color:#b22a3a;font-weight:700}.correction-reminder{font-size:13px;line-height:1.4;margin:6px 0 0;color:#425575}.result .review-status{padding:10px 12px;border-inline-start:4px solid #2752db;background:#edf2ff;color:#193d9d;font-size:15px;font-weight:600}

/* Online account forms */
main textarea{width:100%;font:inherit;line-height:1.6;border:1px solid #d5dcea;border-radius:10px;padding:10px;resize:vertical}main button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f0ab00;outline-offset:3px}dialog::backdrop{background:#17274688}
