@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--bg:#f7f8f3;--paper:#fff;--ink:#283c32;--muted:#798177;--green:#48694e;--pale:#edf1e7;--line:#e4e8dd;--yellow:#f4d886;--radius:20px;font-family:'Noto Sans KR',system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid #c19b49;outline-offset:4px}button{color:inherit}svg{display:block}h1,h2,h3,p{margin:0}button{border:0}small{display:block}.app-shell{min-height:100svh;display:grid;grid-template-columns:232px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100svh;background:#fffef9;border-right:1px solid var(--line);padding:40px 22px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;padding-left:9px;font-weight:800;font-size:23px;letter-spacing:-1px}.brand-icon{font-size:43px;color:var(--green);line-height:1}.brand small{font-size:9px;letter-spacing:2px;font-weight:500;margin-top:2px}.sidebar-caption{font-size:11px;letter-spacing:1px;color:#979a8e;margin:52px 15px 15px}.main-nav{display:grid;gap:8px}.main-nav a{display:flex;align-items:center;gap:12px;padding:15px 14px;border-radius:10px;font-size:13px;color:#7c857b;font-weight:500}.main-nav a.active{background:#edf2e7;color:var(--green);font-weight:700}.icon{width:20px;height:20px;flex-shrink:0}.sidebar-note{margin:auto 8px 28px;padding-top:45px}.tiny-leaf{font-size:44px;color:#b1bca0}.sidebar-note p{font-size:14px;line-height:1.9;margin:8px 0 10px}.sidebar-note>span:last-child{font-size:10px;color:#93988c}.profile{border-top:1px solid var(--line);padding-top:22px;display:flex;gap:10px;align-items:center}.avatar{border-radius:50%;background:#f1e9d7;width:35px;height:35px;display:grid;place-items:center;color:#8a8164;font-size:23px}.profile strong{font-size:11px}.profile small{font-size:9px;color:var(--muted);margin-top:4px}.workspace{min-width:0}.topbar{height:81px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 46px;font-size:11px;color:var(--muted)}.breadcrumb span{margin:0 14px;color:#b7bcaf}.breadcrumb strong{font-weight:500;color:var(--ink)}.topbar-right{display:flex;gap:8px;align-items:center}.status-dot{height:6px;width:6px;background:#91a786;border-radius:50%}.mobile-brand,.mobile-age{display:none}main{max-width:1240px;padding:38px 46px 20px;margin:auto}.page-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px;gap:15px}.eyebrow{font-size:10px;color:#819075;letter-spacing:2px;font-weight:600;margin-bottom:9px}.page-heading h1{font-size:27px;letter-spacing:-1.3px;font-weight:700;line-height:1.5}.page-heading p{font-size:12px;color:var(--muted);margin-top:9px}.date-chip{font-size:10px;background:#eeeee4;padding:8px 12px;border-radius:20px;white-space:nowrap;color:#7d826b}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:24px;align-items:start}.lesson-hero{overflow:hidden;border:1px solid #e1e6d8;border-radius:var(--radius);background:#eaf0e0;position:relative;min-height:253px;padding:28px}.hero-text{position:relative;z-index:1;max-width:65%}.tag{display:inline-flex;align-items:center;gap:6px;border:1px solid #cad7ba;border-radius:20px;padding:5px 10px;color:#638050;font-size:10px;background:#f6f9ef}.lesson-hero h2{font-size:27px;line-height:1.55;letter-spacing:-1.3px;margin:17px 0 11px;font-weight:700}.lesson-hero p{font-size:11px;line-height:1.9;color:#778269;max-width:225px}.hero-meta{display:flex;gap:13px;font-size:10px;color:#68795f;position:relative;z-index:1;margin-top:24px;flex-wrap:wrap}.hero-meta span{display:flex;align-items:center;gap:5px}.hero-meta .icon{width:13px;height:13px}.tree-art{position:absolute;right:-5px;bottom:-8px;width:48%;height:100%;pointer-events:none}.topic-row{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 25px}.topic-row span{padding:5px 10px;font-size:10px;border-radius:6px;background:#efeee5;color:#85836e}.topic-row span:first-child{background:#e8eee3;color:#6b815d}.stepper{display:flex;justify-content:space-between;position:relative;margin:0 5px 23px;gap:5px}.stepper:before{content:'';position:absolute;left:10%;right:10%;height:1px;top:14px;background:#dce2d4}.step-tab{background:transparent;position:relative;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:10px;color:#949a8b;min-width:58px;padding:0 4px}.step-dot{height:29px;width:29px;border-radius:50%;background:#f7f8f3;border:1px solid #dce2d4;display:grid;place-items:center;font-size:10px}.step-tab.active{color:var(--green);font-weight:700}.step-tab.active .step-dot{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 0 0 5px #f7f8f3}.step-tab.done .step-dot{background:#e6eddf;color:var(--green)}.lesson-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:25px}.section-kicker{color:#8b987f;letter-spacing:1.5px;font-size:9px;font-weight:600}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.card-heading h2{font-size:19px;font-weight:700;letter-spacing:-.7px}.time-badge{font-size:10px;color:#8c957f;white-space:nowrap}.section-intro{font-size:11px;line-height:1.9;color:var(--muted);margin:10px 0 20px}.check-item{display:flex;gap:13px;align-items:center;padding:15px 0;border-top:1px solid #eef0e9;cursor:pointer;min-height:66px}.check-item input{appearance:none;width:20px;height:20px;border:1px solid #d9dfd0;border-radius:6px;background:#fff;flex-shrink:0;display:grid;place-content:center;margin:0}.check-item input:checked{background:var(--green);border-color:var(--green)}.check-item input:checked:after{content:'✓';color:white;font-size:13px}.check-item strong{font-weight:500;font-size:12px}.check-item small{font-size:10px;color:#93998b;margin-top:5px;line-height:1.7}.check-decoration{margin-left:auto;font-size:22px;opacity:.7}.soft-note{display:flex;gap:9px;padding:13px 15px;background:#f7f7ef;border-radius:10px;font-size:10px;color:#888975;line-height:1.85;margin-top:14px}.soft-note .icon{width:15px;height:15px;margin-top:2px}.actions{display:flex;align-items:center;justify-content:space-between;margin-top:21px;gap:12px}.action-hint{color:#959b8d;font-size:10px}.primary-button{display:flex;justify-content:center;align-items:center;gap:16px;border-radius:10px;background:var(--green);color:#fff;min-height:45px;padding:12px 21px;font-size:11px;font-weight:600}.primary-button:hover{background:#37543d}.primary-button .icon{width:15px;height:15px}.secondary-button{padding:12px 15px;background:#eef1e8;border-radius:10px;font-size:11px;min-height:44px}.rail{display:grid;gap:17px}.guide-card{background:#fffef9;border:1px solid var(--line);border-radius:16px;padding:21px}.rail-heading{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.rail-heading .icon{width:16px;height:16px;color:#829175}.guide-card p{font-size:11px;line-height:1.95;color:#858d7c;margin-top:12px;word-break:keep-all;overflow-wrap:anywhere}.bible-ref{font-size:10px;color:#a1997c;margin-top:13px}.bible-card{background:#f4f0e4;border-color:#ebe6d8}.bible-card .rail-heading{color:#8e815a}.bible-card p{color:#8c826c}.quote-mark{font-family:Georgia,serif;font-size:35px;color:#c9c0a4;height:29px;margin-top:8px}.bible-card .scripture-summary{font-size:13px;line-height:1.9;color:#655f4e;margin-top:4px}.rail-label{font-size:9px;letter-spacing:1px;color:#97a087;margin-top:18px}.phrase-button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:12px 0;background:none;border-bottom:1px solid #eff1e8}.phrase-button:last-child{border:0;padding-bottom:0}.phrase-button strong{font-size:14px;font-family:Georgia,serif;font-weight:400}.phrase-button small{font-size:10px;color:#9a9d90;margin-top:5px}.sound-icon{background:#eef2e8;border-radius:50%;padding:8px;color:#849777}.sound-icon .icon{width:14px;height:14px}.parent-note{font-size:10px!important;margin-top:13px!important;line-height:1.8!important}.rail-footnote{font-size:10px;color:#99a18f;text-align:center;line-height:1.9;padding:2px 12px}.site-footer{max-width:1240px;margin:0 auto;padding:25px 46px 30px;display:flex;gap:10px;align-items:center;font-size:9px;color:#a0a595}.site-footer>span:first-child{font-weight:600;color:#89977d}.demo-label{margin-left:auto}.activity-block{border-top:1px solid var(--line);padding:19px 0}.activity-title{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600}.number{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:var(--pale);color:var(--green);font-size:10px}.activity-block p{font-size:12px;line-height:1.9;margin:11px 0 0;color:#808875}.speech{background:#f1f4eb;border-radius:10px;padding:14px 17px;margin-top:12px;font-size:13px;line-height:1.9}.branch-list{display:grid;gap:9px}.branch{padding:14px 15px;background:#f7f8f3;border-radius:10px}.branch strong{font-size:11px;color:#5b7354}.branch p{font-size:11px;color:#858e7d;line-height:1.9;margin-top:7px}.observation-grid{display:flex;gap:8px;flex-wrap:wrap}.observation-button{border:1px solid var(--line);border-radius:20px;padding:10px 13px;background:white;font-size:11px}.observation-button.selected{background:var(--pale);border-color:#9aaf88;color:var(--green)}.field-label{display:block;font-size:12px;margin:23px 0 10px}.notes{width:100%;min-height:112px;border:1px solid var(--line);border-radius:10px;padding:13px;background:#fdfdf9;resize:vertical;font-size:12px;line-height:1.8;color:var(--ink)}.notes::placeholder{color:#a0a597}.completion{background:#edf3e7;border-radius:12px;padding:15px;margin-bottom:18px;font-size:12px;line-height:1.9;color:var(--green)}.journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.journey-card{border:1px solid var(--line);background:white;border-radius:16px;padding:24px}.journey-card h2{font-size:18px;margin:12px 0}.journey-card p{font-size:12px;color:var(--muted);line-height:1.9}.journey-card .primary-button{margin-top:20px;width:max-content}.week-label{font-size:10px;letter-spacing:1px;color:#7d916e}.planned{opacity:.72}.record-card{background:white;border:1px solid var(--line);border-radius:16px;padding:25px;margin-bottom:14px}.record-card h2{font-size:18px;margin:12px 0}.record-card p{font-size:12px;line-height:2;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.record-meta{font-size:10px;color:#879578}.empty-state{text-align:center;border:1px dashed #d7dfcd;border-radius:20px;padding:60px 20px;background:#fffdf7}.empty-state h2{font-size:20px;margin:16px}.empty-state p{font-size:12px;line-height:2;color:var(--muted)}.empty-state .primary-button{margin:23px auto 0;width:max-content}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#2f4838;color:white;border-radius:12px;padding:14px 22px;font-size:12px;z-index:20;max-width:calc(100% - 32px);width:max-content;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.skip-link{position:fixed;top:-60px;left:12px;z-index:30;background:white;padding:12px}.skip-link:focus{top:10px}
@media(min-width:1500px){main{padding-top:45px}.lesson-hero{min-height:280px;padding:32px}.lesson-hero h2{font-size:32px}.lesson-hero p{font-size:12px}.content-grid{grid-template-columns:minmax(0,1fr) 285px}.lesson-card{padding:30px}}
@media(max-width:1150px){.app-shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:32px 15px 20px}.topbar{padding:0 28px}main{padding:30px 28px 20px}.content-grid{grid-template-columns:minmax(0,1fr) 230px;gap:17px}.lesson-hero{padding:23px}.lesson-hero h2{font-size:25px}.hero-text{max-width:75%}.guide-card{padding:17px}.site-footer{padding-left:28px;padding-right:28px}.sidebar-note{margin-left:4px;margin-right:0}.sidebar-note>span:last-child{font-size:9px}}
@media(max-width:950px){.content-grid{grid-template-columns:minmax(0,1fr)}.rail{grid-template-columns:repeat(2,minmax(0,1fr))}.rail .guide-card:last-of-type{grid-column:1/-1}.rail-footnote{grid-column:1/-1}.phrase-button{padding:11px 0}.tree-art{width:44%}.lesson-hero p{max-width:280px}.hero-text{max-width:65%}.demo-label{display:none}.topbar-right{display:none}}
@media(max-width:650px){.app-shell{display:block;padding-bottom:76px}.sidebar{height:auto;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:10;border:0;border-top:1px solid var(--line);padding:6px 12px calc(6px + env(safe-area-inset-bottom));background:rgba(255,254,249,.97)}.brand,.sidebar-caption,.sidebar-note,.profile{display:none}.main-nav{display:flex;justify-content:space-around;gap:5px}.main-nav a{flex:1;justify-content:center;flex-direction:column;gap:5px;padding:8px 4px;font-size:10px;border-radius:10px}.main-nav a.active{background:none}.main-nav a.active .icon{color:#3e643f}.main-nav .icon{width:21px;height:21px}.topbar{height:66px;padding:env(safe-area-inset-top) 21px 0}.breadcrumb{display:none}.mobile-brand{display:block;font-size:19px;letter-spacing:-.8px;font-weight:700;color:var(--green)}.mobile-age{display:block;font-size:10px;border:1px solid var(--line);padding:6px 10px;border-radius:20px}main{padding:25px 19px 15px}.page-heading{margin-bottom:21px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px;line-height:1.9;max-width:255px}.eyebrow{font-size:9px}.date-chip{font-size:9px;padding:6px 9px;align-self:start;margin-top:6px}.lesson-hero{min-height:248px;padding:23px 20px}.lesson-hero h2{font-size:26px}.lesson-hero p{font-size:10px;max-width:192px}.hero-text{max-width:76%}.tree-art{width:47%;right:-17px;opacity:.9}.hero-meta{font-size:9px;gap:10px;margin-top:23px}.tag{font-size:9px}.topic-row{margin-bottom:25px}.lesson-card{padding:21px 18px}.card-heading h2{font-size:18px}.actions{gap:8px;flex-wrap:wrap}.actions .primary-button{flex:1;min-width:140px}.action-hint{font-size:9px}.rail{gap:13px}.guide-card{padding:17px 15px}.rail-heading{font-size:11px;gap:6px}.guide-card p{font-size:10px}.bible-card .scripture-summary{font-size:12px}.site-footer{padding:18px 20px 24px;font-size:8px;justify-content:center}.journey-grid{grid-template-columns:1fr}.toast{bottom:calc(90px + env(safe-area-inset-bottom))}.content-grid{gap:21px}}
@media(max-width:360px){main{padding-left:13px;padding-right:13px}.date-chip{display:none}.lesson-hero h2{font-size:24px}.hero-meta{gap:7px}.rail{grid-template-columns:1fr}.rail .guide-card:last-of-type{grid-column:auto}.hero-text{max-width:85%}.tree-art{opacity:.65}.action-hint{width:100%;text-align:center}.primary-button{padding-left:14px;padding-right:14px}}
.lesson-hero h2{word-break:keep-all}.section-intro,.check-item strong,.activity-title{font-size:13px}.check-item small,.soft-note,.guide-card p,.parent-note{font-size:12px!important}.activity-block p,.branch p{font-size:13px}.branch strong,.field-label,.observation-button{font-size:12px}.speech{font-size:14px}.guide-card p{color:#737d6d}.check-item small{color:#7d8575}.notes{font-size:14px}.step-tab{min-height:48px}.stepper{scroll-margin-top:16px}
@media(max-width:650px){.hero-text{max-width:82%}.lesson-hero h2{font-size:25px}.tree-art{width:44%;right:-10px}.guide-card p,.parent-note{font-size:11px!important}.action-hint{font-size:10px;line-height:1.8}.actions{padding-bottom:5px}.soft-note br{display:none}}
@media(max-width:360px){.lesson-hero h2{font-size:22px}.hero-text{max-width:91%}}
.audio-status{font-size:11px!important;min-height:3.8em;line-height:1.9;color:#647b59!important}.phrase-button.is-playing{color:#36583d}.phrase-button.is-playing .sound-icon{background:#48694e;color:#fff}.phrase-button.is-loading .sound-icon{opacity:.4}.phrase-button.is-playing strong:after{content:' · 재생 중';font:10px 'Noto Sans KR',system-ui,sans-serif}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Curriculum workspace */
.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:25px 0}.pagination span{font-size:12px;color:#829174}
input,select,textarea{min-width:0;max-width:100%;font:inherit;color:var(--ink)}input:not([type=checkbox]),select{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:44px;padding:10px 12px;font-size:13px}select{cursor:pointer}.full-input{width:100%}input:focus-visible,select:focus-visible{outline:3px solid #c19b49;outline-offset:3px}.sidebar-caption{margin-top:35px}.sidebar-note{padding-top:15px;margin-bottom:18px}.main-nav a{padding:13px 14px}.sidebar-note p{font-size:12px}.sidebar-note .tiny-leaf{font-size:32px}.profile strong{overflow-wrap:anywhere}.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:25px;margin-bottom:20px;min-width:0}.panel h2{font-size:17px;line-height:1.6;letter-spacing:-.5px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:14px}.row-between>span,.row-between>p{font-size:11px;color:var(--muted)}.text-link{color:#57724b;font-size:12px;font-weight:600;line-height:1.8}.text-link:hover{text-decoration:underline}.inline-link{display:inline-block;margin-top:18px}.body-copy{font-size:13px;line-height:2;color:#788270;margin:15px 0 20px;word-break:keep-all;overflow-wrap:anywhere}.muted-note{font-size:11px;line-height:1.9;color:#838c79;margin-top:15px;word-break:keep-all;overflow-wrap:anywhere}.button-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:20px}.button-row .primary-button,.button-row .secondary-button{width:auto}.secondary-button{display:inline-flex;align-items:center;justify-content:center;line-height:1.7}.text-button{padding:10px;background:transparent;font-size:12px;min-height:44px}.danger-text{color:#a26857}.danger-button{background:#996a58}.detail-title{font-size:23px!important;margin-top:13px}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px}.dashboard-stats>div{padding:20px 21px;background:#fffef9;border:1px solid var(--line);border-radius:14px}.dashboard-stats>div>span{font-size:11px;color:#89917f}.dashboard-stats strong{display:block;font-size:27px;font-weight:600;letter-spacing:-1px;margin-top:8px}.dashboard-stats small{display:inline;font-size:12px;font-weight:400;color:#9ba48e;letter-spacing:0;margin-left:7px}.dashboard-hero{min-height:290px}.dashboard-hero h2{font-size:29px}.dashboard-hero .tree-art{width:43%;height:93%;right:-10px}.hero-cta{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;max-width:85%}.hero-cta a{width:max-content}.unit-progress-panel{margin-top:18px}.progress-track{height:6px;background:#edf0e7;border-radius:8px;overflow:hidden;margin:18px 0}.progress-track>span{height:100%;display:block;background:#8fa777;border-radius:8px}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:20px 0 6px}.week-day{padding:10px 3px;border-radius:12px;background:#fafbf6;border:1px solid transparent;display:flex;flex-direction:column;gap:8px;align-items:center}.week-day>span{font-size:10px;color:#92998a}.week-day strong{font-size:16px;font-weight:500}.week-day small{height:18px;font-size:11px;color:#96a283}.week-day.is-today{border-color:#99af85;background:#f3f6ed}.week-day.has-record small{color:#497542}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.quick-card{border:1px solid var(--line);border-radius:17px;padding:23px;background:#f1efe5}.quick-card:nth-child(2){background:#edf1e9}.quick-card>span{display:block;font-family:Georgia,serif;font-size:28px;color:#809571;margin-bottom:13px}.quick-card h3{font-size:15px}.quick-card p{font-size:12px;line-height:1.9;color:#859078;margin:10px 0 17px}.quick-card b{font-size:11px;color:#718761;font-weight:600}.welcome-card{background:#edf2e8}.welcome-card h3{font-size:17px;line-height:1.8;margin-top:13px}.guide-card .secondary-button{margin-top:18px;width:100%}.guide-card>.text-link{display:inline-block;margin-top:16px}.stage-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:8px 0 23px}.stage-tab{display:flex;flex-direction:column;gap:8px;padding:15px 13px;border-radius:12px;border:1px solid var(--line);background:#fffef9}.stage-tab>b{font-family:Georgia,serif;font-size:23px;font-weight:400;color:#99a98b}.stage-tab>span{font-size:11px;line-height:1.8}.stage-tab small{font-size:9px;color:#929a88;margin-top:4px}.stage-tab.active{background:#48694e;color:#fff;border-color:#48694e}.stage-tab.active b,.stage-tab.active small{color:#d6e3c8}.stage-banner{border-radius:19px;background:#eaf0e0;display:flex;align-items:center;justify-content:space-between;padding:27px 30px;gap:25px;margin-bottom:22px}.stage-banner h2{font-size:23px;line-height:1.6;letter-spacing:-.8px;margin:8px 0}.stage-banner p{font-size:12px;color:#7e8b6f;line-height:1.9}.stage-summary{text-align:right;flex-shrink:0}.stage-summary strong{font-size:32px;font-weight:500}.stage-summary small{display:inline;font-size:15px;color:#a3ae97}.stage-summary>span{display:block;font-size:10px;color:#819171;margin-top:10px}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.filter-bar .muted-note{margin:0}.search-field{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);border-radius:10px;padding:0 13px;flex:1;max-width:390px}.search-field .icon{width:17px;color:#92a180}.search-field input{border:none!important;background:none!important;min-width:0;width:100%;padding-left:0!important}.curriculum-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.curriculum-card{display:block;border:1px solid var(--line);border-radius:16px;background:white;padding:22px;transition:transform .15s,border-color .15s}.curriculum-card:hover{transform:translateY(-3px);border-color:#9dad8d}.current-unit{border-color:#93a981;background:#fbfdf7}.unit-emoji{font-size:27px!important}.unit-code{font-size:10px!important;letter-spacing:1px}.english-label{font-family:Georgia,serif;font-size:11px;color:#9aa38d;margin:17px 0 7px}.curriculum-card h3{font-size:16px;line-height:1.7;letter-spacing:-.5px}.curriculum-card>p:not(.english-label){font-size:11px;color:#919a83;line-height:1.8;margin-top:7px}.curriculum-card .row-between>b{font-size:10px;font-weight:500;color:#718961}.curriculum-note{margin-top:25px}.week-heading{display:flex;gap:20px;align-items:start;margin-bottom:20px}.week-heading>span{font-size:10px;letter-spacing:1px;color:#8d9b7c;white-space:nowrap;padding-top:6px}.week-heading p{font-size:12px;color:#88947b;line-height:1.9;margin-top:5px}.day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-card{border:1px solid var(--line);border-radius:11px;padding:16px 10px;background:#fafbf6;min-width:0}.day-card>span{font-size:9px;color:#97a187;letter-spacing:1px}.day-card h3{font-size:11px;margin:11px 0;line-height:1.8}.day-card small{font-size:9px;color:#969e8b;line-height:1.7}.day-card.selected-day{border-color:#8fa977;background:#eef4e7}.day-card.complete{background:#e4eddb;border-color:#c2d4ae}.day-card.complete small{color:#5e7d4f}.lesson-location{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:25px;font-size:11px;color:#8a967b}.lesson-location strong{font-weight:500;color:#607754}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#7c8770}.form-grid input,.form-grid select{width:100%;font-size:13px}.short-notes{min-height:95px}.draft-status{font-size:10px;color:#909b82;margin:12px 0 20px;text-align:right}.saved-celebration{padding:32px 25px;margin-top:10px;min-height:240px}.saved-celebration>span{font-size:30px}.saved-celebration h2{font-size:23px;margin:16px 0 12px}.saved-celebration p{font-size:13px;line-height:1.9}.phonics-intro{margin:0 0 24px;font-size:12px!important}.phonics-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:24px;align-items:start}.phonics-list{max-height:75svh;overflow-y:auto;position:sticky;top:20px;background:white;border:1px solid var(--line);border-radius:15px;padding:9px}.phonics-item{display:flex;gap:11px;align-items:center;min-height:52px;padding:10px 12px;border-radius:8px}.phonics-item>span{font-size:10px;color:#91a080}.phonics-item strong{font-size:12px;font-weight:500;flex:1}.phonics-item small{font-size:10px;color:#829473}.phonics-item.active{background:#edf3e6}.phonics-item:hover{background:#f6f8f1}.phonics-code{font-family:Georgia,serif;font-size:40px;letter-spacing:3px;background:#edf3e7;padding:24px;border-radius:13px;margin:23px 0;color:#58794a;overflow-wrap:anywhere}.phonics-detail{min-width:0}.phonics-detail .phrase-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.parent-sound-note{border-left:3px solid #ceb887;background:#f8f5e9;padding:17px;border-radius:0 10px 10px 0;font-size:12px}.parent-sound-note strong{font-size:12px}.parent-sound-note p{font-size:12px;line-height:1.9;color:#8a846f;margin:10px 0}.numbered-guide{padding-left:20px;font-size:13px;line-height:2.2;color:#7c886f}.parent-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:25px;align-items:start}.parent-cards{display:grid;gap:10px}.parent-card{display:block;border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px}.parent-card>span{font-size:10px;color:#97a186}.parent-card h3{font-size:14px;margin:8px 0;line-height:1.8}.parent-card p{font-size:11px;color:#939a87;line-height:1.8}.parent-card.active{background:#edf3e6;border-color:#9baf88}.parent-detail{position:sticky;top:20px}.parent-detail .speech p{font-size:13px;line-height:2;margin-top:8px}.records-summary{display:flex;align-items:center;gap:25px;margin:0 0 24px}.records-summary strong{font-size:30px;font-weight:500}.records-summary strong small{display:inline;font-size:12px;color:#8a967b;margin-left:8px}.records-summary>span{font-size:12px;color:#88967a}.record-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.record-filters .search-field{flex-basis:220px;max-width:none}.record-filters select{min-width:100px}.record-filters input[type=date]{width:150px}.status-chip{font-size:10px!important;padding:5px 10px;border-radius:15px;background:#edf3e6;color:#647d53!important;white-space:nowrap}.status-chip.rest{background:#f2eee3;color:#9b875f!important}.status-chip.practice{background:#eaf0f2;color:#6d8794!important}.record-card h2{font-size:19px;line-height:1.9;overflow-wrap:anywhere}.record-section{padding:16px 0;border-top:1px solid var(--line)}.record-section h3{font-size:11px;font-weight:500;color:#94a080;margin-bottom:7px}.record-section p{font-size:13px;line-height:1.9}.parent-record{background:#f6f7ee;border:0;border-radius:10px;padding:16px;margin-bottom:15px}.record-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.record-actions .text-link{margin-right:auto}.settings-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:23px;align-items:start}.settings-layout .panel>.primary-button{margin-top:22px}.schedule-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.schedule-days label{cursor:pointer;position:relative}.schedule-days input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.schedule-days span{display:flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid var(--line);height:43px;font-size:12px;color:#929b87}.schedule-days input:checked+span{background:#e5efdc;border-color:#a0b98b;color:#547644}.schedule-days input:focus-visible+span{outline:3px solid #c19b49}.storage-details{font-size:12px;margin:18px 0}.storage-details>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.storage-details dt{color:#8a967c}.storage-details dd{margin:0}.import-box{margin-top:20px;padding:20px;border-radius:12px;background:#edf3e5;border:1px solid #c2d2ae}.import-box h3{font-size:14px}.import-box p{font-size:12px;line-height:1.9;margin-top:12px;overflow-wrap:anywhere}.storage-warning{padding:15px 18px;background:#fff1d7;color:#8a7041;border-radius:12px;font-size:12px;line-height:1.9;margin-bottom:25px}.storage-warning a{text-decoration:underline}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;max-width:650px;width:calc(100% - 32px);max-height:88svh;overflow:auto;color:var(--ink);background:#fffef9}dialog::backdrop{background:#1f322866;backdrop-filter:blur(3px)}dialog h2{font-size:20px}dialog .button-row{justify-content:flex-end}dialog .notes{background:white}.page-heading h1{overflow-wrap:anywhere}.lesson-card .speech small{font-size:12px;color:#899778}.activity-block p,.branch p{word-break:keep-all;overflow-wrap:anywhere}.phrase-button strong{overflow-wrap:anywhere}.phrase-button>span:first-child{min-width:0;padding-right:8px}.audio-status{overflow-wrap:anywhere}.phonics-detail .phrase-button.is-playing strong:after{display:block}
@media(min-width:1500px){.dashboard-hero{min-height:310px}.dashboard-hero h2{font-size:33px}}
@media(max-width:1150px){.stage-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-tab{flex-direction:row;align-items:center;gap:14px}.curriculum-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-stats>div{padding:16px 14px}.dashboard-stats strong{font-size:25px}.phonics-layout{grid-template-columns:205px minmax(0,1fr);gap:17px}.parent-layout{grid-template-columns:240px minmax(0,1fr);gap:18px}.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-layout form{max-width:none}.stage-banner{padding:22px}.dashboard-hero h2{font-size:27px}}
@media(max-width:950px){.dashboard-grid .rail{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid .rail .guide-card:last-of-type{grid-column:1/-1}.parent-layout{grid-template-columns:1fr}.parent-detail{position:static}.parent-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.phonics-layout{grid-template-columns:1fr}.phonics-list{position:static;max-height:210px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.dashboard-stats{gap:10px}.dashboard-stats>div>span{font-size:10px}.dashboard-stats strong{font-size:23px}.dashboard-stats small{font-size:10px}.quick-card{padding:20px}.sidebar-note>span:last-child{display:none}.lesson-location{font-size:10px}.panel{padding:23px}.stage-summary strong{font-size:27px}}
@media(max-width:650px){.main-nav .desktop-only{display:none}.main-nav a{font-size:9px;gap:5px;padding:8px 2px;white-space:nowrap}.main-nav .icon{height:20px;width:20px}.sidebar{padding-left:5px;padding-right:5px}.main-nav{gap:0}.app-shell{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-stats>div{padding:17px 18px}.dashboard-stats strong{font-size:27px}.dashboard-stats>div>span{font-size:11px}.page-heading{align-items:start}.page-heading h1{font-size:23px}.page-heading>.date-chip{display:none}.page-heading>.text-link,.page-heading>.secondary-button{font-size:10px;padding:8px 10px;flex-shrink:0;max-width:100px;text-align:center}.page-heading p{max-width:none}.dashboard-hero{min-height:295px;padding:25px 21px}.dashboard-hero h2{font-size:27px;max-width:215px;line-height:1.6}.dashboard-hero .hero-text{max-width:88%}.dashboard-hero .hero-text p{font-size:11px;max-width:220px}.dashboard-hero .tree-art{width:43%;height:82%;bottom:30px;right:-15px;opacity:.85}.hero-cta{max-width:100%;gap:8px}.hero-cta .primary-button{min-height:46px}.hero-cta .secondary-button{font-size:10px}.panel{padding:20px 17px;margin-bottom:17px}.panel h2{font-size:16px}.row-between{gap:10px}.row-between>.text-link{font-size:10px;white-space:nowrap}.week-strip{gap:4px}.week-day{padding:10px 2px}.quick-grid{gap:12px}.quick-card{padding:19px 15px}.quick-card h3{font-size:14px}.quick-card p{font-size:11px}.quick-card b{font-size:10px}.stage-tabs{gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.stage-tab{flex-direction:column;align-items:start;padding:12px;gap:4px}.stage-tab>span{font-size:10px}.stage-tab small{font-size:8px}.stage-tab>b{font-size:20px}.stage-banner{padding:21px 18px;gap:15px}.stage-banner h2{font-size:20px}.stage-banner p{font-size:11px}.stage-summary>span{font-size:9px;max-width:75px;line-height:1.8}.stage-summary strong{font-size:23px}.stage-summary small{font-size:12px}.filter-bar{flex-direction:column;align-items:stretch;gap:10px}.search-field{max-width:none;width:100%}.curriculum-grid{gap:12px}.curriculum-card{padding:17px 14px}.curriculum-card h3{font-size:14px}.curriculum-card>p:not(.english-label){font-size:10px}.curriculum-card .row-between>span,.curriculum-card .row-between>b{font-size:9px}.curriculum-card .row-between{gap:5px}.english-label{font-size:10px;line-height:1.7}.day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.day-card{padding:15px}.day-card h3{font-size:12px}.day-card small{font-size:10px}.week-heading{gap:14px}.week-heading p{font-size:11px}.lesson-location{gap:9px;flex-wrap:wrap;font-size:10px}.lesson-location strong{font-size:11px}.lesson-location>span:last-child{margin-left:auto}.form-grid{gap:11px}.form-grid input,.form-grid select,input:not([type=checkbox]),select,textarea.notes{font-size:16px}.form-grid label{font-size:11px}.field-label{font-size:12px}.actions{align-items:start}.actions>.button-row{margin-top:0;flex:1;justify-content:flex-end}.actions>.button-row>.primary-button{flex-basis:100%;min-width:0}.actions>.button-row>.secondary-button{flex:1;white-space:nowrap;font-size:10px}.saved-celebration{padding:25px 20px}.saved-celebration h2{font-size:20px}.saved-celebration .button-row>*{flex-grow:1}.phonics-list{max-height:175px}.phonics-item{gap:8px;padding:9px 7px}.phonics-item strong{font-size:11px}.phonics-item>span{font-size:9px}.phonics-code{font-size:32px;padding:20px}.detail-title{font-size:21px!important}.body-copy{font-size:13px}.phonics-detail .phrase-list{column-gap:15px}.parent-cards{gap:10px}.parent-card{padding:15px 13px}.parent-card h3{font-size:13px}.parent-card p{font-size:10px}.parent-card>span{font-size:9px}.record-filters{gap:8px}.record-filters .search-field{flex-basis:100%}.record-filters select{flex:1;min-width:0;font-size:12px}.record-filters input[type=date]{flex:1;min-width:130px;font-size:13px}.record-filters .secondary-button{font-size:11px}.records-summary{gap:18px}.records-summary>span{font-size:10px}.record-card{padding:22px 18px}.record-card h2{font-size:17px}.record-meta{font-size:10px}.record-actions{gap:6px}.record-actions .secondary-button{font-size:10px}.settings-layout{gap:0}.schedule-days span{font-size:11px}.storage-details{font-size:11px}.import-box{padding:16px}.import-box .button-row>*{width:100%;font-size:11px}dialog{padding:23px 17px}dialog .form-grid{grid-template-columns:1fr 1fr}dialog h2{font-size:18px}.site-footer .demo-label{display:none}.parent-sound-note{padding:15px}.parent-sound-note .text-link{font-size:11px}.record-actions .text-link{font-size:11px}}
@media(max-width:360px){.dashboard-hero h2{font-size:24px}.stage-tab{padding:10px 8px}.stage-tab small{font-size:8px}.curriculum-card{padding:15px 11px}.curriculum-card h3{font-size:13px}.curriculum-card .english-label{font-size:9px}.unit-emoji{font-size:24px!important}.dashboard-stats>div{padding:16px}.main-nav a{font-size:8px}.lesson-location>span:last-child{margin-left:0}.form-grid{grid-template-columns:1fr}.record-filters select{font-size:11px}.phonics-list{grid-template-columns:1fr}.parent-cards{grid-template-columns:1fr}.records-summary{flex-wrap:wrap;gap:8px}.page-heading h1{font-size:21px}}
.sound-starter { margin: 28px 0; padding-top: 24px; border-top: 1px solid #dce3d4; }
.sound-starter h3 { font-size: 23px; margin: 10px 0; }
.sound-starter p, .starter-card li { line-height: 1.8; }
.starter-cards { display: grid; gap: 16px; margin: 22px 0 12px; }
.starter-card { padding: 22px; border: 1px solid #dce3d4; border-radius: 18px; background: #fafbf6; min-width: 0; }
.starter-heading { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; }
.starter-letter { font-size: 48px; line-height: 1; color: #526d46; font-weight: 600; }
.starter-heading h4 { margin: 0; font-size: 18px; }
.starter-card ol { padding-left: 22px; margin: 16px 0; }
.starter-card li + li { margin-top: 8px; }
.starter-check { background: #eef2e7; border-radius: 10px; padding: 12px 16px; }
.starter-card details { font-size: 13px; color: #63705c; }
.starter-card summary { cursor: pointer; padding: 8px 0; }
.starter-status { min-height: 28px; color: #526d46; font-size: 14px; }
.starter-next { margin: 22px 0; padding: 18px 0; border-top: 1px solid #dce3d4; }
.starter-next h4 { font-size: 18px; margin: 0; }
.starter-play.is-loading { opacity: .6; }
.starter-play.is-playing { background: #dce8cf; }
@media (max-width: 480px) { .starter-card { padding: 16px; } .starter-heading { gap: 12px; } }
.story-hero { display:grid; grid-template-columns:1fr 1.1fr; gap:35px; align-items:center; background:#edf0e4; border:1px solid #dce3d4; padding:32px; border-radius:26px; overflow:hidden; }
.story-hero h2 { font-size:clamp(26px,3vw,40px); line-height:1.35; margin:14px 0; letter-spacing:-1px; }
.story-hero p { line-height:1.8; }
.adventure-art { width:100%; height:auto; display:block; border-radius:20px; }
.story-hero .primary-button { margin-top:14px; }
.experience-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:25px 0; }
.experience-stats>div { border-bottom:1px solid #dae2d2; padding:16px 8px; display:flex; flex-direction:column; gap:7px; }
.experience-stats strong { font-size:30px; font-weight:500; color:#506d46; }
.experience-stats strong small { font-size:15px; color:#7b8376; }
.experience-stats span { color:#72796b; font-size:13px; }
.discovery-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.discovery-grid .panel { margin:0; }
.choice-links { display:grid; gap:12px; margin-top:20px; font-size:14px; }
.choice-links a { padding:10px 0; border-bottom:1px solid #e6e9df; }
.section-space { margin-top:30px; margin-bottom:22px; }
.world-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:25px; }
.world-grid>a { padding:22px; border:1px solid #dde4d6; border-radius:17px; background:#fffdf7; }
.world-grid b { display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#e5ebda; color:#61784f; }
.world-grid h3 { margin:12px 0 8px; }
.world-grid p { color:#737b6d; line-height:1.7; font-size:14px; }
.world-grid small { color:#838a7a; }
.adventure-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.adventure-card { border:1px solid #dce3d4; border-radius:22px; background:#fffdf8; overflow:hidden; transition:transform .2s,box-shadow .2s; }
.adventure-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px #536a4710; }
.adventure-cover { padding:12px 12px 0; }
.adventure-card-body { padding:20px; }
.adventure-card-body .row-between { font-size:11px; color:#78816e; gap:6px; }
.adventure-card-body h3 { font-size:21px; margin:6px 0 10px; letter-spacing:-.5px; }
.adventure-card-body p { line-height:1.7; font-size:14px; color:#6d7665; }
.adventure-card-body b { display:block; font-size:13px; color:#59764d; margin-top:16px; }
.adventure-dots { display:flex; gap:7px; margin:18px 0 0; }
.adventure-dots i { height:4px; flex:1; background:#e5e8df; border-radius:10px; }
.adventure-dots .filled { background:#7e9d67; }
.unit-story-intro { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; margin-bottom:26px; }
.unit-story-intro .panel { margin:0; }
.unit-story-intro button { margin-top:12px; }
.word-chips { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0; }
.word-chips span { padding:7px 11px; background:#eef1e7; border-radius:8px; color:#5d6f52; font-size:13px; }
.episode-list { display:grid; gap:12px; margin-bottom:26px; }
.episode-card { display:flex; gap:23px; align-items:center; padding:24px; background:#fffdf8; border:1px solid #dee4d7; border-radius:18px; }
.episode-number { font-size:30px; color:#92a582; font-family:Georgia,serif; }
.episode-card>div { flex:1; }
.episode-card h2 { font-size:19px; margin:0 0 8px; }
.episode-card p { margin:0 0 8px; color:#626c59; line-height:1.7; }
.episode-card small { color:#8b8e81; }
.episode-state { font-size:12px; color:#58764c; white-space:nowrap; }
.storybook-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.book-page { padding:22px; background:#f6f4e9; border-radius:16px; }
.book-page p[lang=en] { font-family:Georgia,serif; font-size:22px; line-height:1.6; color:#4a5944; }
.book-page p { line-height:1.8; }
.story-audio { display:flex; align-items:center; gap:12px; width:100%; padding:14px 16px; margin:10px 0; border:1px solid #dce3d4; background:#fafbf5; color:#47623f; border-radius:12px; text-align:left; font-size:16px; line-height:1.6; cursor:pointer; }
.story-audio>span:first-child { font-size:12px; flex-shrink:0; }
.story-audio.is-playing { background:#e2edd8; border-color:#8ca878; }
.story-audio.is-loading { opacity:.6; }
.story-audio:disabled { cursor:not-allowed; opacity:.45; }
.adventure-lesson h2 { font-size:27px; line-height:1.4; margin:12px 0 22px; }
.adventure-lesson h3 { font-size:19px; line-height:1.5; margin:28px 0 14px; }
.adventure-lesson p { line-height:1.9; }
.lead-copy { font-size:18px; color:#5b7050; }
.prep-check { display:flex; gap:12px; align-items:flex-start; padding:18px; border-radius:12px; background:#f6f3e8; line-height:1.8; margin:20px 0; }
.prep-check input { width:19px; height:19px; margin-top:5px; flex-shrink:0; accent-color:#70885f; }
.mode-picker { display:flex; flex-wrap:wrap; gap:8px; }
.mode-picker button { padding:10px 14px; border:1px solid #dce3d4; background:#fffdf8; border-radius:12px; color:#657459; cursor:pointer; font-size:13px; }
.mode-picker .selected { background:#5a744b; color:white; border-color:#5a744b; }
.mode-description { padding:18px; border-left:3px solid #b1be98; }
.story-scene { border:1px solid #e1e7d9; border-radius:22px; overflow:hidden; background:#faf9f0; }
.story-scene .adventure-art { border-radius:0; }
.story-scene>div { padding:24px; }
.story-english { font-family:Georgia,serif; font-size:25px; color:#465c41; line-height:1.6!important; }
.play-instructions { padding-left:23px; }
.play-instructions li { padding:6px 0 12px 6px; }
.play-instructions strong { font-size:17px; color:#55714b; }
.response-grid { display:grid; gap:9px; }
.response-grid details { border:1px solid #dee4d6; border-radius:12px; background:#fafbf5; }
.response-grid summary { padding:17px; cursor:pointer; font-size:14px; font-weight:500; }
.response-grid details p { padding:0 17px 17px; margin:0; color:#64765a; font-size:14px; }
.song-block { background:#f4f0e3; border:1px solid #e4dfcb; padding:24px; border-radius:18px; margin-top:24px; }
.song-block h3 { margin:10px 0 16px; }
.song-block p { line-height:1.9; }
.song-player { margin:18px 0; }
.song-player iframe { width:100%; aspect-ratio:16/9; border:0; border-radius:12px; background:#26332a; display:block; }
.song-transfer { margin-top:18px; padding-top:18px; border-top:1px solid #dbd6c4; }
.wonder-question { font-size:25px; line-height:1.7; padding:26px; background:#f1f3e8; border-radius:18px; margin:22px 0; color:#527044; }
.mini-panel { background:#fbf8ee; padding:20px; border-radius:14px; }
.mini-panel h3 { margin-top:0; }
.growth-fields { background:#f3f5eb; padding:20px; border-radius:16px; margin-bottom:26px; }
.growth-fields select { display:block; margin-top:9px; max-width:100%; }
.growth-summary { margin:16px 0; padding:16px; background:#f0f3e8; border-radius:12px; }
.growth-summary>span { display:inline-block; margin:0 10px 8px 0; color:#607651; font-size:13px; }
.growth-summary p { white-space:pre-wrap; line-height:1.8; }
.song-library { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.song-library .song-block { margin:0; }
.music-icon { font-size:34px; color:#a48b59; }
#print-pack { display:none; }
@media(max-width:1100px){.adventure-grid{grid-template-columns:1fr 1fr}.story-hero{gap:20px;padding:24px}.world-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.story-hero{grid-template-columns:1fr;padding:22px}.story-hero .adventure-art{grid-row:1}.story-hero h2{font-size:29px}.adventure-grid,.discovery-grid,.unit-story-intro,.storybook-grid,.song-library{grid-template-columns:1fr}.world-grid{grid-template-columns:1fr 1fr}.world-grid>a{padding:17px}.experience-stats{gap:10px}.experience-stats strong{font-size:25px}.experience-stats span{font-size:11px;line-height:1.6}.episode-card{padding:18px;gap:14px;flex-wrap:wrap}.episode-card>div{min-width:70%}.episode-state{margin-left:45px}.adventure-lesson h2{font-size:24px}.story-scene>div{padding:18px}.story-english{font-size:23px}.song-block{padding:18px}.wonder-question{font-size:21px;padding:20px}.page-heading{gap:16px;flex-wrap:wrap}.adventure-lesson .step-tab{font-size:12px}.stage-summary{min-width:0}.growth-fields{padding:14px}}
@media(prefers-reduced-motion:reduce){.adventure-card{transition:none}}
@media print{body>*{display:none!important}#print-pack{display:block!important;font-family:Arial,sans-serif;color:#222}#print-pack h1{font-size:24px}.print-card{break-inside:avoid;border:1px solid #bbb;padding:20px;margin:16px 0;page-break-after:always}.print-card p{line-height:1.7}.drawing-space{height:220px;border:2px dashed #aaa;padding:15px;color:#888}.print-map{height:400px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.print-map span{border:2px dashed #aaa;border-radius:20px;padding:20px}@page{margin:15mm}}
.phrase-meaning { display:block; color:#7b8373; font-size:13px; margin-top:4px; font-family:inherit; }
.sound-model-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.sound-model-grid h4 { font-size:25px; margin:0 0 16px; color:#527047; }
.sound-model-grid p { font-size:14px; }
.blend-strip { padding:22px; background:#eaf0e1; color:#57714a; font-size:27px; border-radius:15px; margin:16px 0; text-align:center; }
.reader-line { padding:25px; background:#faf3e1; border-radius:15px; font-family:Georgia,serif; font-size:28px; line-height:1.8; }
@media(max-width:600px){.sound-model-grid{grid-template-columns:1fr}.reader-line{font-size:24px;padding:18px}}
.playback-feedback { display:block; flex:0 0 100%; width:100%; font-size:12px; line-height:1.5; font-weight:400; margin-top:5px; color:#526d46; }
button[data-speak] { flex-wrap:wrap; }
/* Parent-led lessons: readable scripts on phones and paper. */
.infant-start,.parent-line{background:#eef3e7;border-left:4px solid #72866a;border-radius:12px;padding:18px;margin:20px 0}
.parent-script-steps{list-style:none;padding:0;counter-reset:none}
.parent-script-steps>li{border-top:1px solid #e0e5d9;padding:18px 0}
.parent-script-steps h4{font-size:1.05rem;margin:0 0 12px;color:#365542}
.parent-script p,.guide-detail p,.music-guide p{line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.parent-script details,.extra-lines,.story-reference,.parent-video,.development-note{border:1px solid #d9e0d3;border-radius:12px;padding:16px;margin:14px 0;background:#fffef8}
.parent-script summary,.extra-lines summary,.story-reference summary,.parent-video summary,.development-note summary{cursor:pointer;font-weight:650;line-height:1.6}
.guide-detail{padding-top:8px}.guide-detail li{margin:10px 0}.guide-detail a{color:#355a43;text-underline-offset:3px}
.parent-line small{display:block;margin-bottom:10px}.music-guide{padding-left:22px}.music-guide li{padding:6px 0}.song-connection{background:#fff8e5;padding:12px;border-radius:10px}
.story-reference .story-scene{margin-top:16px}.parent-script .story-audio{max-width:100%}
@media(max-width:480px){.parent-script-steps>li{padding:14px 0}.parent-script details,.extra-lines,.story-reference,.parent-video,.development-note{padding:12px}.parent-line,.infant-start{padding:14px}}
.parent-academy{margin-top:28px;border-top:2px solid #b8c7ab;padding-top:24px}
.academy-heading{padding:20px;background:#eaf0e2;border-radius:16px}.academy-heading h2{margin:10px 0}
.academy-section,.quick-parent{border:1px solid #d8dfd0;border-radius:14px;padding:18px;margin:18px 0;background:#fffef9}
.academy-section>summary,.quick-parent>summary{font-size:1.05rem;font-weight:700;cursor:pointer;line-height:1.7}
.parent-academy p,.quick-parent p{line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.expression-list{display:grid;gap:14px;margin-top:16px}.expression-card{padding:18px;border:1px solid #dde3d6;border-radius:12px;background:#fff}
.expression-card[hidden]{display:none}.expression-card p{margin:10px 0}.expression-card>small{display:block;margin-bottom:10px}
.expression-card details>summary{font-weight:650;cursor:pointer;line-height:1.7}.expression-card details{margin-top:10px}
.parent-evidence{display:grid;gap:14px;padding-top:14px}.parent-evidence label{display:grid;gap:7px;font-size:13px;line-height:1.7}
.parent-evidence .review-check{display:flex;align-items:center;gap:8px}.parent-evidence input[type=checkbox]{width:18px;height:18px}
.parent-study-summary{padding:14px;background:#edf2e7;border-radius:10px;font-size:13px;line-height:1.8}
.academy-words,.sound-models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.academy-words article,.sound-models article,.pattern-card,.rehearsal{border:1px solid #dce3d4;padding:16px;border-radius:12px;background:#fff;margin:12px 0}
.rhythm-example{font-size:1.1rem;color:#365740;font-weight:650}.expression-empty{padding:12px;color:#6a5744}
.parent-academy .story-audio,.quick-parent .story-audio,.expression-card .story-audio{max-width:100%;text-align:left}
@media(max-width:600px){.academy-words,.sound-models{grid-template-columns:1fr}.academy-section,.quick-parent,.expression-card{padding:13px}.academy-heading{padding:15px}.parent-academy h2{font-size:21px}}
.prep-workspace.parent-academy{margin:0;padding:0;border:0}.prep-intro h2{margin:8px 0 10px}.prep-intro p{color:#69765f;line-height:1.8}
.prep-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0}.prep-tools .secondary-button{background:#eaf0e3;border-color:#a8bb96}
.prep-nav{display:grid;gap:7px;margin:20px 0}.prep-nav button{display:flex;gap:12px;align-items:center;text-align:left;padding:12px 14px;border:1px solid #dce3d4;background:#fffef9;border-radius:10px;color:#51634a;font:inherit;cursor:pointer}
.prep-nav button span{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#edf1e6;font-size:13px}.prep-nav [aria-current=step]{border-color:#628453;background:#edf3e7;font-weight:700}.prep-nav [aria-current=step] span{background:#547346;color:white}
.prep-position{font-size:12px;color:#718166;margin-bottom:8px}.prep-pane{border-top:1px solid #dce3d4;padding-top:22px;scroll-margin-top:20px}.prep-pane>h2{font-size:23px;margin:0 0 18px}.prep-pane p,.prep-flow li{line-height:1.85}
.prep-goals{display:grid;grid-template-columns:1fr 1fr;gap:12px}.prep-goals>div{padding:16px;background:#f1f4eb;border-radius:12px}.prep-goals small{font-weight:700;color:#536c46}.prep-goals p{margin-bottom:0}
.prep-extra{border:1px solid #dbe1d3;border-radius:12px;padding:15px;margin:18px 0}.prep-extra>summary{cursor:pointer;font-weight:650;line-height:1.6}
.prep-flow,.prep-dialogue{padding-left:24px}.prep-flow li{padding:6px 0}.prep-dialogue li{padding:12px 0}.prep-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:26px;padding-top:18px;border-top:1px solid #dce3d4}.prep-actions>span{font-size:12px;color:#74806b}
.prep-pane[hidden],.prep-dictionary[hidden]{display:none}.prep-workspace:focus-visible,.prep-pane:focus-visible,.prep-dictionary:focus-visible{outline:2px solid #658a52;outline-offset:3px}
.content-grid:has(.prep-workspace)>.rail{display:none}.content-grid:has(.prep-workspace){grid-template-columns:minmax(0,1fr)}.content-grid:has(.prep-workspace) .actions{display:none}
@media(min-width:1000px){.prep-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.prep-nav button{flex-direction:column;align-items:flex-start;font-size:13px}.prep-workspace{max-width:960px;margin-inline:auto!important}}
@media(max-width:600px){.prep-goals{grid-template-columns:1fr}.prep-nav button{font-size:13px;padding:9px 12px}.prep-pane>h2{font-size:21px}.prep-actions button{flex:1;min-width:130px}.prep-tools{gap:9px}.prep-tools>.secondary-button{width:100%}}
.song-program-catalog{margin:36px 0}.song-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.song-course-card{display:flex;flex-direction:column;gap:10px;background:#fffaf0;border:1px solid #d9dfcd;border-radius:22px;padding:24px;color:inherit;text-decoration:none;min-width:0}.song-course-card:hover{border-color:#52755c;background:#f3f6e9}.song-course-card h3,.song-course-card p{margin:0}.song-course-card strong{margin-top:auto;font-size:14px;color:#48674c}.song-course-card small{overflow-wrap:anywhere}.song-course-emoji{font-size:38px}.song-overview{margin:24px 0}.song-program-catalog .row-between{flex-wrap:wrap;gap:12px}@media(max-width:900px){.song-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.song-course-grid{grid-template-columns:1fr}.song-course-card{padding:20px}}
.content-grid.song-lesson-layout{grid-template-columns:minmax(0,1fr);max-width:1000px}
