@font-face{font-family:EcoleCursive;src:url('fonts/cursive.ttf') format('truetype');font-weight:100 400;font-display:swap}
:root{--ink:#294869;--muted:#57728c;--line:#cce0ed;--blue:#2869de;--green:#168364;--purple:#7950b3;--font:ui-rounded,'Arial Rounded MT Bold','Trebuchet MS',sans-serif}
*{box-sizing:border-box}body{margin:0;background:#effaff radial-gradient(#b4dbe7 1px,transparent 1px);background-size:24px 24px;color:var(--ink);font:17px/1.45 var(--font)}button,input,select{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #1b5795;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.2;letter-spacing:-.5px}h2{font-size:24px;line-height:1.2}a{color:#245b95}p+p{margin-top:12px}[hidden]{display:none!important}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.muted,.small{color:var(--muted)}.small{font-size:14px}.cursive,.cursive button{font-family:EcoleCursive,cursive!important;font-weight:400!important}.pink{--tile:#ffdce6;--edge:#e8abc1;--tile-ink:#892c55}.blue{--tile:#d9edff;--edge:#94bee8;--tile-ink:#254f80}.green{--tile:#d4f5e2;--edge:#8dceaa;--tile-ink:#216247}.purple{--tile:#e9deff;--edge:#b6a0df;--tile-ink:#63418f}.orange{--tile:#ffe5b2;--edge:#e1bb76;--tile-ink:#80561d}.yellow-tile{--tile:#fff2b7;--edge:#dfca76;--tile-ink:#75591d}
/* Navigation: home, child and one protected parent entry. */
.top{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1080px;margin:auto;background:white;border-radius:0 0 25px 25px;padding:14px 22px;min-height:76px}.brand{display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;font-weight:bold;font-size:21px}.brandmark{font-size:30px}.header-tools{display:flex;align-items:center;gap:10px}.child-chip{display:flex;align-items:center;gap:7px;max-width:225px;border:2px solid var(--line);border-radius:17px;padding:6px 10px;background:#f6fbff;min-height:46px}.child-chip>span{font-size:25px}.child-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:145px;font-size:17px}.parent-key{border:0;border-radius:15px;background:#f1f5f9;padding:8px;font-size:21px;min-width:44px;min-height:44px}.main{max-width:960px;margin:auto;padding:26px 24px 40px}.back{display:inline-block;border:0;background:transparent;padding:10px 4px;min-height:44px;font-weight:bold;color:#54748f;text-decoration:none}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.centered{justify-content:center}.spread{justify-content:space-between}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:2px solid transparent;border-radius:16px;min-height:48px;padding:11px 18px;background:#2869de;color:white;font-weight:bold;text-align:center;text-decoration:none}.btn.alt{background:white;border-color:var(--line);color:#365875}.btn.green{background:var(--green)}.btn.yellow{background:#ffe08b;color:#725119;border-color:#efd086}.btn.purple-btn{background:var(--purple)}.btn.blue-btn{background:#2869de}.btn.dark{background:#375b80}.btn.danger{color:#9a2648;background:#ffe2ea;border-color:#edb9c8}.btn.compact{font-size:15px;padding:8px 12px;min-height:44px}.play-primary{display:flex;width:fit-content;max-width:100%;margin:24px auto 14px;font-size:21px;min-height:59px;padding:13px 25px;box-shadow:0 5px 0 #294b681b}.tag{display:inline-block;border:1px solid var(--line);background:white;border-radius:20px;padding:5px 12px;font-size:14px;font-weight:bold}.tag.good{color:#177454;background:#e3f9ec;border-color:#b1d8c2}.hello{display:flex;align-items:center;gap:18px;margin:0 auto 26px;max-width:780px}.hello img{width:108px;height:108px;object-fit:contain;border:4px solid white;border-radius:50%}.hello p{margin-top:6px;color:var(--muted)}
/* Three different learning paths. */
.path-cards{display:grid;gap:18px;max-width:760px;margin:auto}.path-card{display:flex;align-items:center;gap:22px;border:3px solid white;border-radius:26px;padding:20px 23px;min-height:127px;background:var(--tile);color:var(--tile-ink);box-shadow:0 6px 0 var(--edge);text-align:left;transition:transform .15s}.path-card:hover{transform:translateY(-2px)}.path-card:active{transform:translateY(3px)}.path-icon{font-size:53px;min-width:65px;text-align:center}.path-card strong{display:block;font-size:27px;line-height:1.2}.path-card small{display:block;font-size:15px;margin-top:7px}.path-card>b{font-size:27px;margin-left:auto}.recess-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:760px;margin:29px auto 0}.recess-links button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:66px;background:white;border:2px solid var(--line);border-radius:21px;font-size:17px;font-weight:bold}.recess-links span{font-size:29px}.resume-play{display:block;margin:0 auto 22px;border:2px solid #e1c477;background:#fff1bc;border-radius:17px;padding:13px 22px;font-weight:bold;min-height:48px}.mode-heading{display:flex;align-items:center;gap:18px;padding:20px 24px;background:var(--tile);border:3px solid white;box-shadow:0 5px 0 var(--edge);border-radius:25px;color:var(--tile-ink);margin:8px 0 28px}.mode-heading>span{font-size:47px}.mode-heading p{font-size:16px;margin-top:6px}.mode-heading h1{font-size:29px}.world-grid,.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;margin:12px 0}.world-tile,.activity-tile{position:relative;border:3px solid white;border-radius:27px;box-shadow:0 6px 0 var(--edge);background:var(--tile);color:var(--tile-ink);padding:25px 16px;min-height:192px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;transition:transform .15s}.world-tile:hover,.activity-tile:hover{transform:translateY(-3px)}.world-tile:active,.activity-tile:active{transform:translateY(3px)}.world-tile>span,.tile-icon{font-size:52px;line-height:1.3}.world-tile strong{font-size:25px}.activity-tile strong{font-size:21px;line-height:1.2}.activity-tile small{font-size:13px;font-weight:bold}.world-tile i,.card-play,.tile-status{position:absolute;right:12px;bottom:12px;font-style:normal;font-size:14px;background:white;border-radius:50%;width:26px;height:26px;display:grid;place-items:center}.tile-status{top:9px;bottom:auto;font-size:19px}.quiet-card{text-align:center;border:2px solid var(--line);border-radius:26px;background:white;padding:30px;margin:24px auto;max-width:620px}.quiet-card p{margin:12px 0 24px}.large-icon{display:block;font-size:58px;margin-bottom:12px}
/* Lessons give the explanation and a worked example before any attempt. */
.child-lesson{border:3px solid white;box-shadow:0 7px 0 var(--edge,#c7e0ed);border-radius:30px;padding:25px;max-width:690px;margin:auto;background:#fff;text-align:center}.child-lesson .back{display:block;text-align:left}.mode-badge{display:inline-block;background:var(--tile,#edf6fe);color:var(--tile-ink,#356185);padding:7px 15px;border-radius:20px;font-size:15px;font-weight:bold;margin-bottom:14px}.big-lesson-icon{font-size:64px;line-height:1.3;margin:10px 0}.child-lesson h1{font-size:32px}.child-lesson p{margin-top:15px}.lesson-rule{font-size:19px;color:#3c5b76;max-width:560px;margin:15px auto}.example{white-space:pre-line;background:#eef7ff;border-radius:21px;padding:22px;margin:20px 0;font-size:26px;line-height:1.6;overflow-wrap:anywhere}.worked-answer{display:flex;flex-direction:column;gap:9px;background:#e2f8ec;border:2px solid #aad4bc;border-radius:20px;padding:20px;margin:20px 0}.worked-answer small{color:#407c5e;font-size:15px}.worked-answer strong{font-size:38px;overflow-wrap:anywhere}
/* Practice and tests deliberately have different colors and feedback. */
.activity{max-width:780px;margin:auto}.activity-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.activity-top>div{text-align:center}.activity-top b{font-size:18px}.activity-top .muted{font-size:13px;line-height:1.5;display:inline-block;margin-top:3px}.progress{height:14px;background:#dcece5;border:2px solid white;border-radius:20px;overflow:hidden;margin:16px 0 22px}.progress>div{height:100%;background:#54ba8a;border-radius:20px;transition:width .25s}.is-test .progress{background:#ece4f5}.is-test .progress>div{background:#9b79cf}.playcard{background:white;border:3px solid #b8dfcb;border-radius:28px;box-shadow:0 7px 0 #cde6d9;text-align:center;padding:25px 22px}.is-test .playcard{border-color:#c1a9e0;box-shadow:0 7px 0 #e3d8f1}.format-tag{font-size:14px;color:#2a7f5f;font-weight:bold}.is-test .format-tag{color:#7851a3}.question{font-size:29px;line-height:1.3;margin:17px 0;overflow-wrap:anywhere}.visual{font-size:43px;letter-spacing:5px;margin:15px 0;overflow-wrap:anywhere}.passage{text-align:left;background:#eef7fc;border-radius:15px;padding:17px;line-height:1.7;margin:15px 0}.answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:22px 0}.answer{background:#f0f8ff;border:3px solid #b5d4eb;border-bottom-width:6px;border-radius:20px;padding:15px 12px;min-height:85px;font-size:28px;font-weight:bold;overflow-wrap:anywhere}.answer:nth-child(2n){background:#fff5da;border-color:#e6d7a8}.answer:nth-child(3n){background:#e4f8e9;border-color:#b4d6bd}.is-test .answer{background:#f8f4fd;border-color:#d0c0e8}.answer.correct{background:#d3f6df;border-color:#70be92;color:#1c6741}.answer.wrong{background:#fff0d8;border-color:#deb986;color:#74541d}.answer.selected{background:#e2d2f9;border-color:#a07bc9}.answer:disabled{opacity:1}.number-input{display:block;margin:22px auto;max-width:100%;width:210px;border:3px solid #a9cbe1;border-radius:16px;padding:14px;font-size:36px;text-align:center}.slot{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;min-height:75px;background:#f0f7fb;border:2px dashed #bed6e7;border-radius:15px;margin:19px 0;padding:10px}.tokens{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0}.token{font-size:25px;padding:12px 15px;border-radius:14px;background:#fff3c5;border:2px solid #dac585;min-height:50px}.token:disabled{opacity:.35}.slot .token:disabled{opacity:1}.selectgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:20px 0}.counter{background:#f4faff;border:2px solid #cce0ea;border-radius:16px;font-size:32px;padding:8px;min-height:60px}.counter.on{background:#bfeecf;border-color:#60a77b}.counter:disabled{opacity:1}.feedback{padding:16px;background:#f0f7fc;border-radius:18px;margin:19px 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px;text-align:left;font-size:17px}.feedback.good{background:#e2f6e8;color:#236c46}.feedback.bad{background:#fff1d7;color:#755422}.feedback strong{font-size:20px}.feedback .btn{margin-left:auto}.feedback details{width:100%;margin:0;background:#ffffff94;border:0;padding:9px 11px;font-size:15px}.next{display:flex;margin:22px auto 0;font-size:22px;min-width:210px}.is-test .next{background:var(--purple)}.hint-button{display:block;margin:15px auto 0;min-height:44px;background:#fff3c2;border:2px solid #ead38d;border-radius:16px;padding:9px 18px;font-weight:bold;color:#74582a}.result-panel{max-width:730px;margin:auto;text-align:center;background:white;border:3px solid #cbb8e6;box-shadow:0 7px 0 #e3d9f0;border-radius:30px;padding:30px 25px}.training-result{border-color:#b4d7c3;box-shadow:0 7px 0 #d2e8dc}.result-icon{font-size:73px;margin-bottom:14px}.result-panel h1{margin:5px 0 13px}.result-panel .score{font-size:68px;color:#8155b4;font-weight:bold;margin:15px 0}.eyebrow{font-size:15px;color:var(--muted);margin:9px 0}.training-dots{display:flex;justify-content:center;gap:15px;margin:23px 0}.training-dots span{display:grid;place-items:center;width:52px;height:52px;border:3px solid #d1dfd8;color:#779287;border-radius:50%;font-size:25px;background:#f4f9f6}.training-dots .filled{background:#bdeccf;border-color:#67b088;color:#267646}.review{text-align:left;background:#f4f8fc;border-radius:15px;padding:15px;margin-top:12px}.review p{margin-top:10px}.adult-details{text-align:left}
/* Choice of children and shared account entrance. */
.chooser-head{text-align:center;margin:6px auto 25px}.chooser-head img{object-fit:contain;border-radius:50%;margin-bottom:12px}.chooser-head p{color:var(--muted);margin-top:8px}.children-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));max-width:780px;margin:auto;gap:23px}.child-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;min-height:221px;border:3px solid white;border-radius:28px;padding:22px 15px;background:var(--tile);color:var(--tile-ink);box-shadow:0 7px 0 var(--edge)}.child-avatar{font-size:66px;line-height:1.3}.child-card strong{font-size:26px;overflow-wrap:anywhere;line-height:1.2}.child-stars{background:#ffffffad;border-radius:20px;padding:4px 12px;font-size:15px;font-weight:bold}.add-child{border:3px dashed #abc7db;background:#ffffffbf;color:#55738d;box-shadow:0 5px 0 #d1e3ed}.add-child strong{font-size:21px}.add-child small{font-size:13px}.add-child .child-avatar{font-family:Arial,sans-serif}.chooser-parents{display:block;margin:30px auto 0;text-align:center}.welcome-gate{max-width:650px;margin:30px auto;text-align:center;border:4px solid white;border-radius:33px;background:#f9fdff;box-shadow:0 8px 0 #cae2ee;padding:28px}.welcome-brand{font-size:23px;font-weight:bold;text-decoration:none}.welcome-gate>img{display:block;object-fit:contain;border-radius:50%;margin:25px auto 15px}.welcome-gate h1{font-size:46px}.welcome-gate p{margin:16px auto;max-width:440px;color:var(--muted)}.welcome-stickers{display:flex;justify-content:center;gap:13px;margin:25px 0}.welcome-stickers span{display:grid;place-items:center;width:61px;height:61px;background:var(--tile);border:3px solid white;border-radius:20px;font-size:33px;box-shadow:0 4px 0 var(--edge)}.welcome-gate .welcome-parent{font-size:14px}.account-page{max-width:520px;background:white;border:3px solid var(--line);border-radius:29px;margin:28px auto;padding:25px}.account-page>img{display:block;border-radius:50%;margin:12px auto}.account-page h1{text-align:center;margin-bottom:12px}.account-page>.row{margin:22px 0}.account-page p{margin:12px 0}.account-page input{width:100%}.account-page code{display:block;padding:18px;background:#eff7ff;border-radius:16px;overflow-wrap:anywhere;font-size:20px;margin:18px 0;user-select:all}.account-page #recovery-result .btn{margin:10px 0}.form-error,#account-error{color:#ae254b;font-size:15px}
/* Parent area: password, child cards, one collapsed account section. */
.parents-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.parents-head h1{font-size:31px}.parent-children{display:grid;gap:14px}.parent-child{display:flex;align-items:center;gap:14px;background:white;padding:18px;border:2px solid var(--line);border-radius:22px}.parent-avatar{font-size:41px}.parent-child>div{flex:1;min-width:0}.parent-child h2{font-size:23px;overflow-wrap:anywhere}.parent-child p{font-size:15px;color:var(--muted);margin-top:4px}.parent-children>.btn{justify-self:start;margin:10px 0}.account-details{margin-top:25px}.parent-lock-icon{text-align:center;font-size:45px;margin-bottom:13px}.field{display:block;font-weight:bold;margin:16px 0}.field input{display:block;margin-top:7px;width:100%;background:#fff;border:2px solid #bbd1e4;border-radius:13px;padding:12px}.radio-field{border:0;padding:0;margin:20px 0;min-width:0}.radio-field legend{font-size:16px;font-weight:bold;margin-bottom:11px}.grade-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.preference-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.radio-card{position:relative;cursor:pointer;min-width:0}.radio-card input{position:absolute;opacity:0;width:1px;height:1px;inset:50%}.radio-card>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;background:white;border:2px solid #bcd2e4;border-bottom-width:5px;border-radius:15px;padding:10px 4px;gap:5px}.radio-card input:checked+span{background:var(--tile,#ffe6a8);border-color:#356493}.radio-card input:focus-visible+span{outline:3px solid #1b5795;outline-offset:3px}.radio-card b{font-size:25px}.radio-card small{font-size:13px;font-weight:bold}.preference-models b{font-size:25px;line-height:2}.preference-models .cursive{font-size:22px}.preference-models [data-writing=handcaps] b{font-size:18px}.voice-setting{display:flex;align-items:center;gap:11px;background:#f6fafd;border:1px solid #dfebf2;border-radius:15px;padding:13px 10px;margin:15px 0;font-size:16px;cursor:pointer}.voice-setting input{width:23px;height:23px;flex-shrink:0}.avatar-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:15px 0}.avatar-options button{border:2px solid var(--line);border-radius:13px;min-height:46px;padding:5px 1px;font-size:26px;background:white}.avatar-options button.active{background:#eaf2ff;border-color:#3473c5}details{padding:17px;border:1px solid var(--line);border-radius:18px;background:white;margin:18px 0}details p{margin:13px 0}summary{font-weight:bold;cursor:pointer}details .row{margin-top:15px}.writing-preferences{padding:14px}.reset-details{font-size:13px;padding:12px}.reset-details .btn{margin-top:12px}.modal-overlay{position:fixed;inset:0;background:#193a5caa;display:grid;place-items:center;z-index:30;padding:18px}.modal{width:min(520px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:25px;border-radius:27px;background:white}.modal h2{font-size:25px;overflow-wrap:anywhere}.modal-actions{position:sticky;bottom:-25px;background:white;box-shadow:0 -7px 12px #ffffffc9;border-top:1px solid #e0ebf3;padding:13px 0 8px;z-index:2;margin-top:20px}.modal-actions .btn{flex:1}.sync-alert{max-width:940px;margin:12px auto;background:#fff1cb;border:2px solid #dfcb9b;border-radius:16px;padding:12px 18px;font-size:15px}.sync-alert button{border:0;border-radius:10px;background:white;color:#795d32;min-height:38px;margin-left:8px;padding:6px 12px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#244662;color:white;border-radius:16px;box-shadow:0 5px 20px #17334b24;padding:15px 20px;z-index:50;max-width:92vw;width:max-content;font-size:16px}
/* Writing and free games. */
.studio-head,.page-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.studio-head p,.page-head p{font-size:16px;color:var(--muted);margin-top:6px}.studio-head h1{font-size:30px}.model-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0 20px}.model-card{position:relative;display:flex;flex-direction:column;align-items:center;background:var(--tile);color:var(--tile-ink);border:3px solid white;border-radius:20px;box-shadow:0 5px 0 var(--edge);padding:10px 5px 13px}.model-sample{height:64px;font-size:34px;line-height:1.8;font-weight:bold;display:grid;align-items:center}.model-card .cursive{font-size:28px}.model-card[data-value=handcaps] .model-sample{font-size:24px}.model-card strong{font-size:15px;line-height:1.3}.model-card[aria-pressed=true]{border-color:#365f8d;box-shadow:0 5px 0 #365f8d}.selected-mark{display:none;position:absolute;right:4px;top:3px;background:#365f8d;color:white;border-radius:50%;width:18px;height:18px;font-size:11px;place-items:center}.model-card[aria-pressed=true] .selected-mark{display:grid}.letter-shelf{display:flex;align-items:center;gap:9px;min-width:0;margin:15px 0}.letter-picker{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x mandatory;min-width:0;flex:1;padding:5px 2px 8px;gap:8px}.letter-picker button{flex-shrink:0;border:2px solid #bad4e6;border-bottom-width:4px;background:white;color:#285d97;border-radius:13px;min-height:51px;min-width:48px;padding:4px 11px;font-size:26px;scroll-snap-align:center}.letter-picker.cursive button{font-size:29px;min-height:69px}.letter-picker .vowel{color:#cf3059}.letter-picker .active,.letter-picker .active.vowel{background:#2869de;border-color:#22589a;color:white}.shelf-arrow{border:2px solid #c2d9e8;background:white;border-radius:14px;min-width:43px;height:53px;font-size:31px}.canvas-tools{display:flex;align-items:center;justify-content:space-between;gap:9px;max-width:720px;margin:8px auto}.crayon-colors{display:flex;gap:8px}.crayon-colors button{border:3px solid white;box-shadow:0 0 0 1px #bcd0df;width:38px;height:38px;border-radius:50%;background:var(--crayon);color:white;font-size:18px;font-weight:bold}.crayon-colors button[aria-pressed=true]{box-shadow:0 0 0 2px #315d80}.model-toggle{background:white;border:2px solid #bed7e7;border-radius:13px;padding:8px 12px;min-height:42px;font-size:14px;font-weight:bold}.draw-wrap{width:100%;max-width:720px;margin:8px auto 14px;border:3px solid #b6d6e7;border-radius:22px;background:white;overflow:hidden}.draw-wrap canvas{display:block;width:100%;height:auto;touch-action:none}.trace-actions{display:flex;gap:9px;align-items:center;max-width:720px;margin:auto}.trace-actions .green{margin-left:auto;min-width:150px;font-size:20px}.game-tiles .activity-tile{min-height:230px}.memory{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:23px auto;max-width:650px}.memory-card{border:3px solid #956cba;border-bottom-width:6px;background:#b295d9;color:white;border-radius:20px;font-size:30px;font-weight:bold;aspect-ratio:1.1;padding:10px;overflow-wrap:anywhere}.memory-card.open{background:#fff1bd;border-color:#dfc373;color:#735922}.memory-card.matched{background:#d2f0dd;border-color:#85bd96;color:#2e6c44;opacity:1}.spatial{display:grid;grid-template-columns:repeat(3,60px);grid-template-rows:repeat(3,60px);justify-content:center;align-items:center;font-size:40px;margin:20px auto}.spatial .center{grid-column:2;grid-row:2}.clock{display:block;width:210px;height:210px;margin:20px auto}.blocks{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px 0}.block-ten{height:90px;width:18px;background:repeating-linear-gradient(to bottom,#2869de 0 8px,white 8px 9px);border:1px solid #2869de}.block-unit{height:18px;width:18px;background:#ffce5f;border:1px solid #c8a74c;align-self:flex-end}.size-grand{font-size:90px;line-height:1.2}.size-petit{font-size:25px;line-height:1.2}.boot{text-align:center;padding:55px 15px}.boot img{border-radius:50%;margin-bottom:16px}
/* Fireworks are decorative, brief and never capture clicks. */
.celebration{position:fixed;inset:0;z-index:25;pointer-events:none;display:grid;place-items:center}.celebration strong{position:relative;padding:22px 29px;border:4px solid white;border-radius:25px;background:#fff0ad;color:#715218;box-shadow:0 7px 0 #dcc069;font-size:28px;text-align:center;max-width:90vw;animation:reward-pop .2s ease-out}.mini-reward{align-items:start;padding-top:110px}.mini-reward strong{font-size:21px;padding:12px 20px}.firework-sky{position:absolute;inset:0;overflow:hidden}.firework-burst{position:absolute;left:calc(20% + var(--burst)*20%);top:calc(30% + (var(--burst) - 1)*6%);width:1px;height:1px}.mini-reward .firework-burst{left:50%;top:150px}.firework-burst i{position:absolute;width:7px;height:15px;border-radius:6px;background:var(--spark);opacity:0;--angle:calc(var(--ray)*20deg);animation:spark-flight 1.35s ease-out forwards;animation-delay:calc(var(--burst)*.22s)}@keyframes spark-flight{0%{transform:rotate(var(--angle)) translateY(0);opacity:1}65%{opacity:1}100%{transform:rotate(var(--angle)) translateY(-170px);opacity:0}}@keyframes reward-pop{from{transform:scale(.8)}to{transform:scale(1)}}
@media(max-width:760px){body{background-size:20px 20px}.top{min-height:65px;padding:10px 13px;gap:9px}.brand{font-size:16px;gap:6px}.brandmark{font-size:24px}.header-tools{gap:6px}.parent-key{font-size:19px;min-width:40px;min-height:42px;padding:6px}.child-chip{max-width:150px;padding:5px 8px;gap:5px;min-height:43px}.child-chip>span{font-size:22px}.child-chip strong{max-width:90px;font-size:15px}.main{padding:19px 15px 30px}h1{font-size:28px}.hello{gap:13px;margin-bottom:23px}.hello img{width:79px;height:79px}.hello h1{font-size:26px}.hello p{font-size:15px}.path-cards{gap:16px}.path-card{min-height:120px;padding:19px 15px;gap:13px;border-radius:24px}.path-icon{font-size:42px;min-width:47px}.path-card strong{font-size:24px}.path-card small{font-size:13px}.path-card>b{font-size:24px}.recess-links{gap:9px;margin-top:26px}.recess-links button{flex-direction:column;gap:4px;font-size:14px;min-height:87px;padding:9px 5px;border-radius:20px}.recess-links span{font-size:30px}.mode-heading{gap:13px;padding:18px 15px}.mode-heading>span{font-size:37px}.mode-heading h1{font-size:26px}.mode-heading p{font-size:14px}.world-grid,.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.world-grid{grid-template-columns:1fr}.world-tile{flex-direction:row;justify-content:flex-start;gap:22px;min-height:112px;padding:17px 23px}.world-tile>span{font-size:43px}.world-tile strong{font-size:25px}.activity-tile{min-height:167px;padding:20px 11px}.activity-tile strong{font-size:18px}.activity-tile small{font-size:12px}.tile-icon{font-size:43px}.child-lesson{padding:20px 16px;border-radius:26px}.child-lesson h1{font-size:27px}.big-lesson-icon{font-size:55px;margin:7px 0}.lesson-rule{font-size:17px}.example{font-size:23px;padding:18px 14px}.worked-answer strong{font-size:31px}.play-primary{font-size:19px;padding:12px 18px;min-height:56px}.mode-badge{font-size:13px}.activity-top{gap:9px}.activity-top b{font-size:15px}.activity-top .btn{font-size:14px;padding:8px 10px}.activity-top .muted{font-size:11px}.playcard{padding:20px 13px;border-radius:25px}.question{font-size:24px}.visual{font-size:35px;letter-spacing:2px}.answer{font-size:24px;min-height:78px;padding:13px 8px;border-radius:17px}.answers{gap:10px}.token{font-size:21px;padding:10px 12px}.selectgrid{grid-template-columns:repeat(4,1fr);gap:8px}.counter{font-size:29px;min-height:57px;padding:6px}.feedback strong{font-size:19px}.feedback{padding:13px;font-size:16px}.next{font-size:20px;min-width:190px}.result-panel{padding:25px 17px}.result-icon{font-size:62px}.training-dots span{width:47px;height:47px}.children-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.child-card{min-height:205px;padding:19px 11px}.child-card strong{font-size:23px}.child-avatar{font-size:59px}.add-child strong{font-size:18px}.welcome-gate{margin:15px 12px;padding:23px 16px}.welcome-gate>img{width:130px;height:130px;margin:20px auto}.welcome-gate h1{font-size:39px}.welcome-stickers span{width:54px;height:54px;font-size:29px}.account-page{margin:15px 12px;padding:20px 17px}.parents-head{align-items:flex-start;gap:10px;flex-wrap:wrap}.parents-head h1{font-size:28px}.parents-head .btn{font-size:14px;padding:10px 12px}.parent-child{padding:15px 12px;gap:10px}.parent-child h2{font-size:22px}.parent-avatar{font-size:34px}.parent-child .btn{font-size:15px;padding:10px 13px}.modal{padding:22px 18px}.modal h2{font-size:24px}.modal-actions{bottom:-22px}.modal-actions .btn{font-size:15px;padding:11px 10px}.preference-models{gap:6px}.preference-models b{font-size:23px}.preference-models .cursive{font-size:20px}.radio-card small{font-size:12px}.radio-field{margin:18px 0}.writing-preferences{padding:12px}.voice-setting{font-size:15px}.avatar-options button{font-size:23px;min-height:44px}.studio-head{gap:8px}.studio-head h1{font-size:24px}.studio-head p{font-size:14px}.studio-head .btn{padding:8px 10px;font-size:14px;flex-shrink:0}.model-cards{gap:8px}.model-card{padding:9px 3px 11px;border-radius:17px}.model-sample{height:52px;font-size:27px}.model-card .cursive{font-size:23px}.model-card[data-value=handcaps] .model-sample{font-size:18px}.model-card strong{font-size:12px}.selected-mark{width:16px;height:16px;font-size:10px}.letter-shelf{gap:7px}.shelf-arrow{min-width:35px;height:50px;font-size:29px}.letter-picker button{font-size:23px;min-width:44px;min-height:48px;padding:4px 9px}.letter-picker.cursive button{min-height:61px;font-size:25px}.crayon-colors{gap:7px}.crayon-colors button{width:34px;height:34px;font-size:17px}.model-toggle{font-size:12px;padding:7px 9px;min-height:40px}.trace-actions{gap:8px}.trace-actions .btn{font-size:15px;padding:10px 12px}.trace-actions .green{min-width:118px;font-size:18px}.game-tiles{grid-template-columns:1fr}.game-tiles .activity-tile{min-height:150px}.page-head{align-items:flex-start;flex-wrap:wrap}.page-head h1{font-size:27px}.memory{gap:9px}.memory-card{font-size:24px;padding:8px;border-radius:17px}.size-grand{font-size:73px}.size-petit{font-size:24px}.celebration strong{font-size:24px;padding:20px}.mini-reward strong{font-size:21px;padding:12px 18px}.sync-alert{margin:10px;font-size:14px}.quiet-card{padding:25px 18px}}
@media(max-width:360px){.brand span:last-child{display:none}.brandmark{font-size:29px}.child-chip strong{max-width:120px}.path-card strong{font-size:21px}.path-card small{font-size:12px}.path-card{gap:11px;padding:16px 12px}.model-card strong{font-size:11px}.model-card .cursive{font-size:21px}.model-card[data-value=handcaps] .model-sample{font-size:15px}.model-sample{font-size:25px}.studio-head h1{font-size:21px}.crayon-colors{gap:5px}.crayon-colors button{width:31px;height:31px}.model-toggle{font-size:11px}.child-card strong{font-size:21px}.add-child strong{font-size:17px}.preference-models .cursive{font-size:18px}.preference-models [data-writing=handcaps] b{font-size:15px}.parent-child{flex-wrap:wrap}.memory-card{font-size:21px}.answer{font-size:21px}.activity-top .muted{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.firework-sky{display:none}.path-card:hover,.activity-tile:hover,.world-tile:hover{transform:none}}
@media print{.top,.btn,.back,.celebration{display:none}.main{padding:0;max-width:none}body{background:white}}
/* V7: a guided adventure, authored manipulatives and simple parent summaries. */
.mission-feature{width:100%;display:flex;align-items:center;gap:20px;text-align:left;border:3px solid white;border-radius:29px;background:#fff0b8;box-shadow:0 6px 0 #d9bb61;padding:25px;margin:0 0 28px;color:#674d19}.mission-feature>span:nth-child(2){flex:1;min-width:0}.mission-feature small,.mission-feature strong,.mission-feature b,.mission-feature em{display:block}.mission-feature small{font-size:14px}.mission-feature strong{font-size:31px;line-height:1.25;margin:3px 0 7px}.mission-feature b{font-size:18px;font-weight:600}.mission-feature em{font-size:12px;font-style:normal;margin-top:9px}.mission-art{font-size:60px;position:relative;min-width:83px;text-align:center}.mission-art i{font-size:23px;position:absolute;top:-10px;right:-3px;color:#dc9719}.mission-feature>span:last-child{font-size:30px}.sticker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:26px 0 32px}.sticker{background:#fff8df;border:3px solid white;box-shadow:0 5px 0 #dcca95;border-radius:25px;padding:21px;text-align:center}.sticker span{font-size:65px;display:block}.sticker small{font-size:14px;color:#735927;display:block}.sticker.locked{background:#e9f0f4;box-shadow:0 5px 0 #d2e0e8}.sticker.locked span{color:#a6bfce}.sticker.earned{transform:rotate(-2deg)}.sticker.earned:nth-child(even){transform:rotate(2deg)}.evidence-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:20px 0}.evidence-dots span{display:grid;place-items:center;width:40px;height:40px;background:#f1f3ec;border-radius:50%;color:#63765b}.evidence-dots .independent{background:#daf4df;color:#218456;font-weight:bold}.hint-copy{font-size:21px;line-height:1.5;margin:23px 0}.parent-child{display:block}.parent-child-main{display:flex;align-items:center;gap:14px}.parent-child-main>div{flex:1;min-width:0}.parent-learning{margin:15px 0 0;background:#f7fbfe;border:0;padding:13px 4px 0;border-top:1px solid #e0eaf1;border-radius:0}.parent-learning>summary{font-size:15px;color:#356282}.parent-mastery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}.parent-mastery>div{background:white;border-radius:15px;padding:13px 7px;text-align:center}.parent-mastery b{font-size:24px;display:block}.parent-mastery span{font-size:13px;display:block}.parent-mastery .mastery-secure{background:#e0f4e5}.parent-mastery .mastery-progress{background:#e0efff}.parent-mastery .mastery-review{background:#fff0cf}.parent-tip{font-size:15px!important;line-height:1.65;color:#3d5b73!important}.parent-learning .notion-row{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;padding:10px 0;margin:0;border-bottom:1px solid #e4edf4}.notion-row small{font-size:12px;text-align:right}.parent-learning details{padding:13px}.trace-coach{display:flex;align-items:center;justify-content:center;gap:17px;margin:12px auto 17px}.trace-coach span{font-size:14px;color:#537487}.trace-coach .btn{font-size:16px}.touch-count{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:22px 0}.touch-count button{position:relative;background:#fff0ed;border:2px solid #f2c9ce;border-radius:18px;min-width:65px;min-height:77px;font-size:34px}.touch-count button:disabled{opacity:1;background:#e2f4e8}.touch-count small{display:block;font-size:17px;height:23px;font-weight:bold;color:#26704b}.manipulative{background:#f2faff;border:2px solid #deedf8;border-radius:25px;padding:23px 19px;margin:21px 0 15px;overflow:hidden}.manipulative h2{font-size:24px}.manipulative .demo-instruction{font-size:18px;line-height:1.45;margin:14px 0 20px}.demo-button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #b5d3e6;border-bottom-width:5px;border-radius:17px;background:white;padding:12px 16px;min-height:60px;font-size:23px;transition:transform .16s,background .16s}.demo-button:active{transform:translateY(3px)}.demo-button:disabled{opacity:.6}.demo-button small{font-size:16px;min-height:23px}.demo-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:11px;margin:16px 0}.demo-number{font-size:57px;font-weight:bold;color:#285faa;line-height:1.3;margin:15px 0}.demo-icon{font-size:61px}.demo-objects{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px auto;max-width:540px;font-size:42px;line-height:1.55}.demo-objects .demo-button{font-size:38px;min-width:69px;min-height:80px;padding:8px}.demo-objects .demo-button:disabled{opacity:1;background:#dff4e6}.demo-objects.joined{font-size:40px;letter-spacing:8px;overflow-wrap:anywhere}.demo-feedback{font-size:18px!important;min-height:32px;font-weight:bold;margin:18px 0 0!important;color:#53748b}.demo-feedback.complete{color:#157554}.demo-footer{display:flex;justify-content:space-between;gap:13px;margin-top:12px}.demo-footer .back{font-size:14px;margin:0}.letter-builder,.shape-builder{display:block;width:230px;max-width:100%;height:180px;margin:15px auto}.letter-builder path{fill:none;stroke:#d8e5f0;stroke-width:15;stroke-linecap:round;stroke-linejoin:round}.letter-builder path.built{stroke:#366dd0;animation:construct .35s ease-out}.shape-builder path{fill:none;stroke-width:13;stroke-linecap:round;transition:stroke .3s}.paint-flower{font-size:150px;line-height:1.05;color:var(--paint);transition:color .3s}.paint-dot{width:43px;height:43px;border-radius:50%;display:block;margin-bottom:6px}.demo-slots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:17px 0}.demo-slots span{border:2px dashed #a3c7e2;border-radius:13px;min-width:55px;min-height:60px;display:grid;place-items:center;padding:6px 12px;font-size:27px;color:#a5bdd3}.demo-slots .filled{border-style:solid;background:#e0f1d9;color:#35604a;animation:construct .25s}.number-track{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:25px 0}.number-track span{padding:10px 9px;border:1px solid #bdcfdc;border-radius:13px;background:white;font-size:24px}.number-track .current,.week-track .current{background:#ffde7f;border:2px solid #c69a31;color:#665014;font-weight:bold;transform:translateY(-4px)}.week-track{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:23px 0}.week-track span{padding:10px;border:1px solid #c4dce9;border-radius:13px;background:white;font-size:18px}.plant-scene{position:relative;height:170px;max-width:270px;margin:10px auto;background:linear-gradient(#d9f1ff 80%,#b8d49a 80%);border-radius:30px;display:grid;align-items:end;justify-content:center;overflow:hidden}.plant-scene>span{font-size:75px;z-index:1;transition:transform .7s}.plant-scene.grown>span{transform:scale(1.3);transform-origin:bottom}.plant-scene i{position:absolute;top:27px;left:35px;font-size:35px;font-style:normal;animation:drop .8s}.plant-scene b{position:absolute;top:14px;right:19px;font-size:39px}.unit-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;max-width:410px;margin:23px auto}.unit-grid .demo-button{min-width:0;font-size:24px;padding:9px 3px}.calculation-trail{font-size:24px;margin:15px 0}.calculation-trail span{display:inline-block;padding:8px;background:#e5f3dc;border-radius:13px;margin:3px}.mini-map{display:grid;grid-template-columns:repeat(3,65px);grid-template-rows:repeat(3,62px);gap:5px;justify-content:center;margin:25px auto 18px}.mini-map span{background:#e0f1d4;border:1px solid #bad39b;border-radius:13px;display:grid;place-items:center;font-size:34px;color:#a9c496}.compass-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:300px;gap:8px;margin:12px auto}.compass-controls .demo-button{font-size:18px;min-height:57px;padding:9px}.compass-controls button:first-child{grid-column:1/3}.compass-controls button:last-child{grid-column:1/3}.reading-words{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:23px 0}.reading-words .demo-button{font-size:24px}.reading-words [aria-pressed=true]{background:#ffe28a;border-color:#e1b64f}.cookie-pile{font-size:27px;min-height:48px;margin:20px 0;letter-spacing:5px;overflow-wrap:anywhere}.sharing-bowls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.sharing-bowls .demo-button{padding:13px 5px;min-width:0}.sharing-bowls span{font-size:39px}.sharing-bowls small{font-size:18px;line-height:1.7;letter-spacing:-2px}.equal-groups{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;min-height:75px;margin:23px 0}.equal-groups span{background:#ffeac3;border:2px solid #e0c599;border-radius:16px;width:100px;padding:14px;font-size:22px;color:#b17539;animation:construct .3s}.water-scene{position:relative;width:100%;max-width:330px;height:190px;border-radius:30px;background:linear-gradient(#d6efff,#eaf7ff);margin:20px auto;overflow:hidden}.water-sun{position:absolute;left:17px;top:14px;font-size:43px}.water-cloud{position:absolute;right:26px;top:20px;font-size:65px;opacity:.35;transition:opacity .4s}.water-drop{position:absolute;left:48%;top:110px;font-size:33px;transition:top .7s}.water-river{position:absolute;bottom:0;left:5%;font-size:43px;letter-spacing:-6px}.stage-1 .water-drop{top:45px}.stage-2 .water-cloud,.stage-3 .water-cloud,.stage-4 .water-cloud{opacity:1}.stage-2 .water-drop{opacity:0}.stage-3 .water-drop{left:62%;top:79px}.stage-4 .water-drop{top:135px}@keyframes construct{from{transform:scale(.85);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes drop{from{transform:translateY(-20px)}to{transform:translateY(0)}}
@media(min-width:900px){#app[data-page=home] .path-cards{grid-template-columns:repeat(3,1fr)}#app[data-page=home] .path-card{flex-direction:column;text-align:center;padding:22px 13px;min-height:185px;gap:12px}#app[data-page=home] .path-card>b{display:none}#app[data-page=home] .path-card strong{font-size:23px}#app[data-page=home] .path-card small{font-size:13px}}
@media(max-width:760px){.mission-feature{padding:18px 13px;gap:13px;border-radius:24px;margin-bottom:23px}.mission-art{font-size:45px;min-width:55px}.mission-feature strong{font-size:25px}.mission-feature small{font-size:11px}.mission-feature b{font-size:15px}.mission-feature em{font-size:10px}.mission-feature>span:last-child{font-size:23px}#app[data-page=home] .path-card{min-height:94px;padding:13px 15px}#app[data-page=home] .path-card strong{font-size:21px}#app[data-page=home] .path-icon{font-size:35px}.sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sticker{padding:12px 7px;border-radius:20px}.sticker span{font-size:43px}.sticker small{font-size:11px}.parent-child-main{gap:9px}.parent-mastery b{font-size:20px}.parent-mastery span{font-size:11px}.parent-tip{font-size:14px!important}.parent-learning .notion-row{font-size:12px;gap:8px}.trace-coach{gap:12px}.trace-coach .btn{font-size:14px;padding:10px 12px}.trace-coach span{font-size:11px}.manipulative{padding:19px 10px;border-radius:21px;margin:18px -4px 13px}.manipulative h2{font-size:21px}.manipulative .demo-instruction{font-size:16px}.demo-button{font-size:21px;padding:10px 13px}.demo-objects .demo-button{font-size:30px;min-width:58px;min-height:70px}.demo-objects{gap:7px}.demo-controls{gap:8px}.demo-controls .demo-button{font-size:18px}.demo-number{font-size:44px}.demo-slots span{min-width:43px;font-size:21px;padding:5px 8px;min-height:54px}.demo-feedback{font-size:16px!important}.number-track span{padding:8px 6px;font-size:18px}.reading-words .demo-button{font-size:20px;padding:9px 13px}.week-track span{font-size:15px;padding:8px}.equal-groups span{width:76px;padding:12px 8px;font-size:19px}.cookie-pile{font-size:23px;letter-spacing:2px}.sharing-bowls small{font-size:16px}.touch-count{gap:7px}.touch-count button{min-width:55px;min-height:68px;font-size:29px}.hint-copy{font-size:19px}}
@media(max-width:360px){.mission-feature{gap:10px;padding:15px 10px}.mission-art{min-width:43px;font-size:35px}.mission-feature strong{font-size:23px}.mission-feature b{font-size:13px}.mission-feature em{font-size:9px}.mission-feature>span:last-child{font-size:18px}.trace-coach .btn{font-size:12px}.trace-coach span{font-size:10px}.sharing-bowls span{font-size:32px}.sharing-bowls small{font-size:13px}.demo-controls .demo-button{font-size:16px}.unit-grid{gap:5px}.unit-grid .demo-button{font-size:19px}.parent-mastery{gap:5px}}
#app[data-grade="1"] .question{font-size:28px}#app[data-grade="1"] .answer{min-height:88px;font-size:31px}#app[data-grade="1"] .hint-button{font-size:19px;min-height:52px}#app[data-grade="1"] .playcard{padding-top:24px}
@media(prefers-reduced-motion:reduce){.demo-button,.shape-builder path,.paint-flower,.plant-scene>span,.water-drop,.water-cloud{transition:none}.letter-builder path.built,.demo-slots .filled,.equal-groups span,.plant-scene i{animation:none}}
