@charset "UTF-8";:root{font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#263e37;background:#faf6ec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--green:#267268;--dark:#23483f;--muted:#6d776b;--paper:#faf6ec;--line:#dddccb}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ad6a31;outline-offset:4px}button{min-height:48px}img{display:block;max-width:100%;object-fit:cover}p{line-height:1.8}h1,h2,p,figure{margin:0}h1,h2{font-weight:650}h1{font-size:clamp(32px,4.4vw,58px);letter-spacing:-.045em;line-height:1.3}h2{font-size:21px;letter-spacing:-.025em}a{color:var(--green)}input,select,textarea{width:100%;border:1px solid #c6cbbc;border-radius:9px;background:#fffdf7;color:inherit;padding:13px 15px;min-height:48px}label{display:grid;gap:9px;font-size:14px}small{font-size:12px}summary{cursor:pointer;min-height:48px;padding:14px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eeeee4;padding:16px;border-radius:8px;font-size:12px;max-height:400px;overflow:auto}audio{display:block;width:100%;max-width:460px;margin:14px auto}strong{font-weight:650}.app{max-width:1440px;margin:auto;min-height:100svh;display:flex;flex-direction:column}header{height:104px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;padding:0;text-align:left;font-weight:650;font-size:18px;letter-spacing:-.03em}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted);margin-top:6px}.mini-mark,.brand-mark{display:grid;place-items:center;background:var(--green);color:#fff7dc;font-family:Georgia,serif;font-style:italic;border-radius:50%;font-size:35px;width:49px;height:49px;padding-bottom:7px}.parent-link{font-size:13px;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.14em;color:var(--green);font-weight:650;margin-bottom:20px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--green);color:#fffdf2;border-radius:12px;padding:17px 25px;min-height:58px;font-weight:600;transition:background .18s,transform .18s;line-height:1.6}.primary:hover:not(:disabled){background:#1c5d54;transform:translateY(-2px)}.quiet{padding:8px 0;color:var(--muted);font-size:14px;text-decoration:underline;text-underline-offset:5px}.home{display:grid;grid-template-columns:40% 60%;padding:34px 6% 48px;gap:0;flex:1}.home-copy{padding:46px 20px 0 0;z-index:1}.home-copy h1{font-size:clamp(40px,4.8vw,64px);line-height:1.3}.intro{font-size:16px;color:var(--muted);margin-top:25px;line-height:1.9}.start{margin-top:30px;font-size:17px}.duration{font-size:12px;color:var(--muted);margin-top:14px}.home-art{padding-left:10px;align-self:start;animation:arrive .6s ease-out both}.home-art img{width:100%;aspect-ratio:1.36;border-radius:44% 44% 5px 5px;object-position:40% center}.home-art figcaption{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:16px 1px;letter-spacing:.04em}.home-art figcaption span{font-size:10px;letter-spacing:.12em}.week-path{grid-column:1/-1;margin-top:50px}.section-line{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:19px}.section-line span{font-size:12px;color:var(--muted)}.days{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.days button{display:grid;text-align:left;padding:22px 0 8px;gap:7px;border-top:2px solid transparent;transition:border-color .2s}.days button.selected{border-top-color:var(--green)}.days button>span{font:italic 25px Georgia,serif;color:#aaa78b}.days button.selected>span,.days button.completed>span{color:var(--green)}.days strong{font-size:13px;line-height:1.5}.days small{color:var(--muted);font-size:11px}.week-finished{grid-column:1/-1;margin-top:25px}footer{margin:0 6%;border-top:1px solid var(--line);min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}footer button{text-decoration:underline;min-height:36px}footer>span:last-child{margin-left:auto}.connection{display:flex;align-items:center;gap:7px}.connection i{display:block;width:6px;height:6px;background:#438b65;border-radius:50%}.connection.offline i{background:#ad783d}.notice{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:#294e42;color:#fff;padding:14px 20px;border-radius:12px;width:min(520px,90%);z-index:30;font-size:14px;box-shadow:0 6px 30px #263e3720}.notice button{display:block;text-decoration:underline;color:#fff3c4}.gate{max-width:470px;margin:auto;padding:60px 24px;min-height:70svh;display:flex;flex-direction:column;justify-content:center;align-items:start}.brand-mark{width:68px;height:68px;font-size:48px;margin-bottom:30px}.gate h1{font-size:36px;margin-bottom:20px}.gate p{color:var(--muted);margin-bottom:24px}.gate form{width:100%;display:grid;gap:18px}.gate form p{margin:0}.gate .eyebrow{font-size:10px}.lesson{padding:15px 6% 55px;flex:1;animation:arrive .3s ease-out}.lesson-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);gap:15px}.phases{display:flex;justify-content:space-between;gap:16px;max-width:720px;margin:25px auto 42px}.phases span{display:flex;align-items:center;gap:9px;font-size:13px;color:#8c9081}.phases b{width:27px;height:27px;display:grid;place-items:center;font-size:12px;border:1px solid #c4caba;border-radius:50%}.phases .active{color:var(--green);font-weight:650}.phases .active b{color:var(--paper);background:var(--green);border-color:var(--green)}.story-layout{display:grid;grid-template-columns:55% 45%;align-items:center;gap:0}.story-art{width:100%;aspect-ratio:1.25;border-radius:8px 60px 8px 8px}.story-copy{padding:25px 0 25px 45px}.story-copy h1{font-size:30px}.story-sentence{font-family:Georgia,serif;font-size:clamp(24px,2.8vw,36px);line-height:1.5;margin:32px 0;letter-spacing:-.01em}.listen{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid #94b7a8;border-radius:30px;font-size:15px;font-weight:600;color:var(--green);min-height:50px}.listen span{font-size:24px;line-height:1}.listen:hover{background:#e8efe1}.gentle{font-size:12px;color:var(--muted);margin-top:18px}.actions{display:flex;justify-content:center;gap:28px;align-items:center;margin-top:25px;flex-wrap:wrap}.story-copy .actions{justify-content:space-between;margin-top:30px}.activity{max-width:820px;margin:auto;text-align:center;animation:arrive .3s ease-out}.activity-heading .eyebrow{margin-bottom:13px}.activity h1{font-size:clamp(27px,3.2vw,39px);margin-bottom:25px}.letter-note{font-size:13px;margin-bottom:22px;color:var(--muted)}.letter-note span{color:var(--dark);font-size:19px;font-family:Georgia,serif}.letter-note small{display:block;font-size:11px;margin-top:5px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:26px 0}.choices button{padding:0 0 12px;border:2px solid #d9dece;border-radius:15px;overflow:hidden;background:#fffaf0;transition:transform .16s,border-color .16s}.choices button:hover:not(:disabled){border-color:var(--green);transform:translateY(-3px)}.choices img{width:100%;aspect-ratio:1.4;margin-bottom:12px}.choices span{display:block}.letter-choices{max-width:430px;margin:30px auto}.letter-choices button{height:120px;display:grid;place-items:center;padding:10px;font-family:Georgia,serif;font-size:65px}.word-slots{display:flex;justify-content:center;gap:12px;margin:30px 0}.word-slots span{display:grid;place-items:center;border-bottom:2px solid #99b3a4;width:72px;height:80px;font-size:58px;font-family:Georgia,serif;color:var(--dark)}.letter-bank{display:flex;justify-content:center;gap:18px;margin:25px 0}.letter-bank button{font-family:Georgia,serif;font-size:40px;background:#e8ecda;width:74px;height:78px;border-radius:14px;box-shadow:0 3px #ccd2b9;transition:transform .15s}.letter-bank button:hover:not(:disabled){transform:translateY(-3px)}.hint{display:block;text-decoration:underline;text-underline-offset:5px;font-size:13px;color:var(--muted);margin:22px auto 0;padding:8px}.feedback{color:var(--green);margin:22px auto 0;max-width:500px;font-size:16px}.next{margin-top:25px}.target{font-family:Georgia,serif;font-size:clamp(30px,4vw,48px);margin:22px 0;overflow-wrap:anywhere}.speaking-art{width:350px;aspect-ratio:1.65;border-radius:30px;margin:0 auto 24px}.recorder{max-width:470px;margin:25px auto 0}.record-button{display:block;width:100%;border:1px solid #99b0a0;border-radius:14px;padding:15px;color:var(--green);font-size:16px}.record-button span{margin-right:10px}.record-button.is-recording{background:#e5efdd;border-color:var(--green)}.record-button.is-recording span{animation:pulse 1.4s infinite}.recorder p{color:var(--muted);font-size:13px;margin-top:15px}.recorder .primary{width:100%;margin-top:15px}.frames{display:flex;gap:12px;justify-content:center;margin:25px 0;flex-wrap:wrap}.frames button{padding:14px 20px;border:1px solid #ccd6bf;border-radius:10px;font:20px Georgia,serif;background:#fff9ec}.frames button.selected{border:2px solid var(--green);background:#e9efdf}.finish{text-align:center;max-width:650px;margin:auto}.finish img{width:330px;aspect-ratio:1.7;margin:0 auto 30px;border-radius:50% 50% 10px 10px}.finish h1{font-size:38px}.finish p:not(.eyebrow){margin-top:20px;color:var(--muted)}.finish button{margin-top:30px}.parent{width:100%;max-width:1060px;margin:auto;padding:25px 6% 60px;flex:1}.parent>.eyebrow{margin-top:35px}.parent-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.parent h1{font-size:34px}.text-link{font-size:13px;text-underline-offset:5px}.parent-summary{display:flex;gap:45px;margin:35px 0}.parent-summary p{font-size:12px;color:var(--muted)}.parent-summary strong{display:block;font:36px Georgia,serif;color:var(--dark)}.parent-section{border-top:1px solid var(--line);padding:30px 0}.parent-section h2{margin-bottom:17px}.parent-section p{font-size:14px;margin:8px 0}.parent-section .plan-targets{color:var(--green);font-weight:650;font-size:17px}.parent .muted{color:var(--muted);font-size:12px}.preferences{display:grid;grid-template-columns:1fr 130px auto;align-items:end;gap:16px}.preferences .primary{min-height:48px;padding:10px 18px}.skill-list>div{display:grid;grid-template-columns:1fr auto;gap:7px;padding:16px 0;border-bottom:1px dashed var(--line);font-size:14px}.skill-list small{grid-column:1/-1;color:var(--muted);line-height:1.8}.session-record{border-bottom:1px solid var(--line);margin-bottom:15px}.session-record>summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px}.session-record>summary:before{content:"＋";color:var(--green)}.session-record[open]>summary:before{content:"−"}.attempt{padding:20px 0;margin:0 0 0 20px;border-bottom:1px dashed var(--line)}.attempt-title{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px}.attempt-title .state{font-size:11px;padding:4px 9px;background:#e9efdf;border-radius:20px;flex-shrink:0}.state-retry{color:#99662f}.attempt audio{margin-left:0}.attempt details{font-size:12px}.parent details>p{font-size:12px}.resource-form{display:grid;gap:16px;max-width:560px}.resource-form button{justify-self:start}.parent>p:last-child{margin-top:25px}@keyframes arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{opacity:.35}}@media (min-width:1450px){.home{padding-top:55px}.home-copy{padding-top:65px}.home-art img{aspect-ratio:1.4}}@media (max-width:780px){header{height:83px;padding:0 6%}.brand{font-size:16px}.mini-mark{width:40px;height:40px;font-size:30px}.brand small{font-size:8px}.parent-link{font-size:11px}.home{grid-template-columns:1fr;padding-top:20px;padding-bottom:30px}.home-copy{padding:15px 0 0}.home-copy h1{font-size:43px;line-height:1.3}.home-copy .eyebrow{font-size:10px;margin-bottom:17px}.intro{font-size:14px;margin-top:16px}.intro br{display:none}.start{margin-top:20px;font-size:16px;min-height:56px;padding:15px 20px}.duration{margin-top:10px;font-size:11px}.home-art{padding:0;margin-top:26px}.home-art img{aspect-ratio:1.75;border-radius:70px 70px 5px 5px;object-position:center 55%}.home-art figcaption{padding:12px 0;font-size:10px}.week-path{margin-top:25px}.days{gap:10px}.days button{padding-top:16px;gap:8px}.days strong{font-size:11px;overflow-wrap:anywhere}.days small{font-size:9px}.days button>span{font-size:23px}.section-line{padding-bottom:15px}.section-line h2{font-size:18px}.lesson{padding-top:8px}.lesson-top>span{display:none}.lesson-top .quiet{font-size:12px}.phases{gap:7px;margin:17px auto 30px}.phases span{gap:5px;font-size:10px}.phases b{width:21px;height:21px;font-size:10px}.story-layout{grid-template-columns:1fr}.story-art{aspect-ratio:1.55;border-radius:8px 40px 8px 8px}.story-copy{padding:25px 2px 0}.story-copy .eyebrow{margin-bottom:8px}.story-copy h1{font-size:25px}.story-sentence{font-size:29px;margin:22px 0}.story-copy .actions{margin-top:20px}.gentle{margin-top:12px}.choices{gap:14px}.choices img{aspect-ratio:1.05}.choices span{font-size:14px}.activity .eyebrow{font-size:10px}.activity h1{font-size:27px;margin-bottom:21px}.letter-note{font-size:12px}.word-slots span{width:61px;height:70px;font-size:48px}.letter-bank button{width:66px;height:70px;font-size:38px}.letter-choices button{height:110px;font-size:56px}.speaking-art{width:100%;max-width:330px}.frames{gap:10px}.frames button{font-size:18px;padding:13px 15px}.target{font-size:34px}.finish img{width:100%;max-width:330px}.finish h1{font-size:31px}footer{font-size:9px;min-height:63px;flex-wrap:wrap;gap:5px}footer>span:last-child{font-size:9px}.parent{padding-top:15px}.parent-title{align-items:start;flex-direction:column}.parent h1{font-size:29px}.parent-summary{gap:30px}.preferences{grid-template-columns:1fr 100px;gap:14px}.preferences>.primary{grid-column:1/-1;justify-self:start}.attempt{margin-left:0}.session-record summary{font-size:12px}.gate{padding-top:35px}.gate h1{font-size:31px}.gate p{font-size:14px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.export-links,.device-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.writing-form{display:grid;gap:14px;text-align:left;max-width:520px;margin:26px auto 0}.writing-form input,.writing-form textarea{font-family:Georgia,serif;font-size:24px;line-height:1.6}.writing-form .primary{justify-self:center}.writing-comparison,.model-sentences{max-width:600px;margin:22px auto;padding:18px 22px;background:#eaf0df;border-radius:12px;text-align:left;overflow-wrap:anywhere}.writing-comparison p,.model-sentences p{margin:8px 0}.writing-comparison [lang=en],.model-sentences [lang=en]{font:21px/1.6 Georgia,serif}.writing-comparison blockquote,.original-answer{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.sequence-choices button.selected{border-color:var(--green);background:#e9efdf}.sequence-choices b{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid #91ac99;border-radius:50%;margin-right:5px}.sequence-choices span{padding:0 10px}.reading-shelf{grid-column:1/-1;margin-top:25px;padding:22px;border:1px solid var(--line);border-radius:12px}.reading-shelf article{margin-top:18px}.reading-shelf p{color:var(--muted);font-size:13px;margin-top:8px}.evidence-grid,.sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.evidence-card,.sample{padding:18px;border:1px solid var(--line);border-radius:12px;min-width:0;overflow-wrap:anywhere}.evidence-card h3,.sample-group h3{font-size:16px}.evidence-card details p{font-size:12px}.sample-group{margin-top:25px}.sample-answer{white-space:pre-wrap;overflow-wrap:anywhere}.sample audio,.attempt audio{max-width:100%}.parent .model-sentences{margin-left:0;padding:12px 16px}.parent .model-sentences [lang=en]{font-size:18px}.original-answer{padding-left:12px;border-left:2px solid #9ab19d;font:18px/1.8 Georgia,serif}.generate-form{margin-top:25px}.generate-form>p{max-width:600px}.library-item{margin-bottom:22px;overflow-wrap:anywhere}.recording-recovery{padding-top:10px;border-top:1px solid #6e8a7b;margin-top:10px}.recording-recovery p{font-size:12px}.recording-recovery button{font-size:13px;min-height:36px;text-align:left}.notice{max-height:65svh;overflow:auto}.progression>.eyebrow{margin-bottom:10px}.activity .sequence-choices img{aspect-ratio:1.45}.parent-section .device-actions .primary{padding:12px 18px;min-height:48px}.reading-shelf a:not([href]){color:var(--dark);text-decoration:none}@media (max-width:780px){.evidence-grid,.sample-grid{grid-template-columns:1fr}.writing-form input,.writing-form textarea{font-size:21px}.writing-comparison,.model-sentences{padding:15px}.export-links{gap:16px}.reading-shelf{padding:18px}.sequence-choices span{font-size:12px}.sequence-choices b{width:24px;height:24px}.parent-section .device-actions .primary{width:100%}.notice{bottom:12px}.evidence-card,.sample{padding:15px}.parent .original-answer{font-size:17px}}.reading-assignment{grid-column:1/-1;align-self:start;margin-bottom:24px;padding:18px 22px;border:1px solid var(--line);border-radius:12px;background:#eaf0df;overflow-wrap:anywhere}.reading-assignment p{margin:0 0 8px;font-size:14px}.reading-assignment strong{color:var(--green);font-size:17px}.reading-assignment .text-link{display:inline-block;padding:5px 0}
