:root{color-scheme:light;--paper: #fffdf8;--paper-strong: #ffffff;--ink: #102a4d;--ink-soft: #58708d;--green: #287b53;--green-dark: #1d6342;--green-pale: #edf7f0;--sky: #eaf6ff;--sky-strong: #d8edfb;--warm: #fff2d9;--coral: #d96154;--coral-pale: #fff0ed;--line: #d6e1ea;--line-strong: #b9cad8;--shadow: 0 16px 44px rgba(31, 68, 91, .08);--shadow-small: 0 8px 24px rgba(31, 68, 91, .07);--radius-small: 12px;--radius-medium: 18px;--radius-large: 26px;--page-width: 1460px;--font-ui: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-reading: "Arial Rounded MT Bold", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif}*{box-sizing:border-box}html{min-width:320px;background:var(--paper);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:17px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,audio,summary{font:inherit}button{color:inherit}button:not(:disabled),summary,label[for]{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:4px solid rgba(40,123,83,.28);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-reading);line-height:1.22;letter-spacing:-.035em}h1{margin-bottom:20px;font-size:clamp(2.25rem,4.2vw,4.25rem)}h2{margin-bottom:12px;font-size:clamp(1.55rem,2.2vw,2.15rem)}h3{margin-bottom:8px;font-size:1.22rem}.app-root{min-height:100vh;overflow-x:clip}.skip-link{position:fixed;z-index:200;top:12px;left:12px;transform:translateY(-160%);padding:12px 18px;border-radius:10px;background:var(--ink);color:#fff;text-decoration:none}.skip-link:focus{transform:translateY(0)}.visually-hidden,.sr-announcer{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.app-header{position:sticky;z-index:50;top:0;border-bottom:1px solid rgba(16,42,77,.1);background:#fffdf8f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;width:min(100%,var(--page-width));min-height:86px;margin:0 auto;padding:0 32px}.brand-button{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:4px;border:0;background:transparent;color:var(--ink);font-family:var(--font-reading);font-size:1.62rem;font-weight:800;letter-spacing:-.045em}.brand-sprout{position:relative;display:inline-block;width:35px;height:38px}.brand-sprout:after{content:"";position:absolute;bottom:1px;left:17px;width:3px;height:23px;border-radius:999px;background:var(--green);transform:rotate(-2deg)}.brand-sprout span{position:absolute;z-index:1;width:19px;height:12px;border-radius:100% 10%;background:var(--green)}.brand-sprout span:first-child{top:4px;left:1px;transform:rotate(34deg)}.brand-sprout span:last-child{top:0;right:0;transform:scaleX(-1) rotate(24deg);background:#68a96d}.top-nav{display:flex;align-items:stretch;justify-content:center;gap:4px;align-self:stretch}.nav-item{position:relative;min-width:122px;min-height:52px;padding:14px 16px;border:0;background:transparent;color:var(--ink-soft);font-size:1.02rem;font-weight:720;letter-spacing:-.025em}.nav-item:after{content:"";position:absolute;right:18px;bottom:0;left:18px;height:4px;border-radius:999px 999px 0 0;background:transparent}.nav-item:hover{color:var(--ink)}.nav-item.is-active{color:var(--green-dark)}.nav-item.is-active:after{background:var(--green)}.header-actions{display:flex;align-items:center;gap:8px}.mobile-menu-button{display:none;min-width:64px;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--paper-strong);font-size:.98rem;font-weight:750}.mobile-nav{display:none}.page-shell{width:min(100%,var(--page-width));margin:0 auto;padding:48px 32px 72px}.page-context,.section-kicker{margin-bottom:9px;color:var(--green-dark);font-size:.9rem;font-weight:800;letter-spacing:.035em}.lead-copy{max-width:760px;margin-bottom:0;color:var(--ink-soft);font-size:clamp(1.08rem,1.5vw,1.3rem)}.primary-button,.secondary-button,.danger-button,.quiet-button{min-height:54px;padding:13px 22px;border-radius:14px;font-size:1.02rem;font-weight:800;letter-spacing:-.02em;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff;box-shadow:0 7px 16px #287b532b}.primary-button:not(:disabled):hover{background:var(--green-dark);transform:translateY(-1px)}.secondary-button,.quiet-button{border:1px solid var(--line-strong);background:var(--paper-strong);color:var(--ink)}.secondary-button:not(:disabled):hover,.quiet-button:not(:disabled):hover{border-color:var(--green);background:var(--green-pale)}.quiet-button{min-height:46px;padding:9px 17px;font-size:.96rem}.danger-button{border:1px solid var(--coral);background:var(--paper-strong);color:#b34439}.danger-button:not(:disabled):hover{background:var(--coral-pale)}.start-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:stretch;gap:34px;padding:34px 0 52px}.intro-copy{display:flex;flex-direction:column;justify-content:center;min-height:330px;padding:18px 0}.intro-copy h1{max-width:880px}.intro-actions{display:flex;align-items:center;gap:20px;margin-top:32px}.intro-actions span{color:var(--ink-soft);font-size:.95rem}.start-principles{position:relative;display:flex;min-height:330px;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:34px;border:1px solid #d1e5f0;border-radius:var(--radius-large);background:var(--sky);box-shadow:var(--shadow)}.start-principles strong,.start-principles p{position:relative;z-index:2}.start-principles strong{margin-bottom:10px;font-family:var(--font-reading);font-size:1.65rem}.start-principles p{margin-bottom:0;color:var(--ink-soft)}.paper-shape{position:absolute;border-radius:45% 55% 55% 45%/48% 42% 58% 52%}.shape-one{top:34px;right:30px;width:132px;height:118px;background:#f9d878;transform:rotate(8deg)}.shape-two{top:98px;left:34px;width:112px;height:96px;background:#cde8cf;transform:rotate(-12deg)}.entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.section-heading-row h2{margin-bottom:0}.section-meta{flex:none;padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper-strong);color:var(--ink-soft);font-size:.86rem;font-weight:750}.entry-check-list{display:grid;gap:16px}.entry-check-item{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr);gap:28px;padding:24px;border:1px solid var(--line);border-radius:var(--radius-medium);background:var(--paper-strong);box-shadow:var(--shadow-small)}.entry-copy{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start}.entry-number{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-weight:800}.entry-text{margin-bottom:8px;color:var(--ink);font-family:var(--font-reading);font-size:clamp(1.65rem,3vw,2.45rem);font-weight:800;letter-spacing:.03em}.entry-prompt{margin-bottom:0;color:var(--ink-soft);font-size:.95rem}.parent-guide{position:sticky;top:110px;padding:28px;border:1px solid #dbe8dd;border-radius:var(--radius-large);background:#f4f8f2;box-shadow:var(--shadow-small)}.parent-guide h2{font-size:1.6rem}.guide-content{color:#38556d}.guide-list{display:grid;gap:16px;margin:22px 0;padding-left:24px}.guide-list li::marker{color:var(--green);font-weight:900}.privacy-mini-note{padding:16px;border-left:4px solid var(--green);border-radius:0 12px 12px 0;background:#ffffffb8;color:var(--ink-soft);font-size:.92rem}.parent-rating{min-width:0;margin:24px 0 0;padding:22px;border:1px solid #bfe3d2;border-radius:var(--radius-medium);background:var(--green-pale)}.parent-rating.is-compact{margin:0;padding:18px}.parent-rating legend{padding:0 8px;color:var(--ink);font-family:var(--font-reading);font-size:1.18rem;font-weight:800}.rating-instruction{margin-bottom:14px;color:var(--ink-soft);font-size:.94rem}.rating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.is-compact .rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rating-button{min-height:54px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:13px;background:#fff;color:var(--ink);font-size:.96rem;font-weight:780}.rating-button:hover,.rating-button.is-selected{border-color:var(--green);background:#fff;box-shadow:inset 0 0 0 2px #287b531f}.rating-button.not_yet:hover,.rating-button.not_yet.is-selected{border-color:var(--coral);background:var(--coral-pale);color:#ad3e34;box-shadow:none}.rating-status{min-height:27px;margin:11px 0 0;color:var(--ink-soft);font-size:.88rem}.first-lesson-notice{display:flex;align-items:center;gap:16px;margin-top:36px;padding:20px 24px;border:1px solid #eadfc6;border-radius:var(--radius-medium);background:#fff9ec}.first-lesson-notice strong{font-size:1.02rem}.first-lesson-notice p{margin-bottom:0;color:var(--ink-soft);font-size:.94rem}.mini-sprout{position:relative;display:inline-block;flex:0 0 auto;width:34px;height:34px}.mini-sprout:before,.mini-sprout:after{content:"";position:absolute}.mini-sprout:before{bottom:1px;left:16px;width:3px;height:24px;border-radius:999px;background:var(--green)}.mini-sprout:after{top:4px;left:4px;width:27px;height:14px;border-radius:100% 12%;background:#72ac67;transform:rotate(13deg)}.lesson-progress{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:16px;margin-bottom:22px;color:var(--ink-soft);font-size:.9rem;font-weight:760}.progress-track{height:7px;overflow:hidden;border-radius:999px;background:#e4ebf0}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .26s ease}.learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:24px}.learning-stage{min-width:0;padding:36px;border:1px solid #d5e6ee;border-radius:var(--radius-large);background:var(--sky);box-shadow:var(--shadow)}.stage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:28px}.stage-heading h1{max-width:780px;margin-bottom:0;font-size:clamp(2.25rem,4vw,3.9rem)}.mode-control{flex:0 0 auto;max-width:420px}.mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;border:1px solid var(--line-strong);border-radius:16px;background:#ffffffbf}.mode-button{min-height:50px;padding:9px 17px;border:0;border-radius:11px;background:transparent;color:var(--ink-soft);font-size:.96rem;font-weight:800}.mode-button.is-active{background:var(--green);color:#fff;box-shadow:0 5px 12px #287b5333}.mode-description{max-width:400px;margin:9px 6px 0;color:var(--ink-soft);font-size:.86rem;line-height:1.45}.letter-canvas,.word-canvas{position:relative;display:flex;min-height:350px;align-items:center;justify-content:center;gap:clamp(18px,4vw,58px);overflow:hidden;padding:34px;border:1px solid rgba(126,170,194,.34);border-radius:22px;background:#fff9}.letter-part,.letter-result{position:relative;z-index:1;display:grid;width:clamp(150px,17vw,230px);height:clamp(150px,17vw,230px);place-items:center;border-radius:45% 55% 48% 52%/54% 44% 56% 46%;font-family:var(--font-reading);font-size:clamp(5rem,9vw,8.5rem);font-weight:900;line-height:1}.letter-part.warm{background:var(--warm)}.letter-part.green{background:#e2f2dd}.letter-result{background:#d9edfb}.math-symbol{color:#6f88a0;font-family:var(--font-reading);font-size:clamp(2.6rem,5vw,4.5rem);font-weight:800}.independent-canvas,.independent-word-canvas{min-height:420px;background:#ffffffad}.independent-glyph{font-family:var(--font-reading);font-size:clamp(8rem,18vw,15rem);font-weight:900;line-height:1}.coaching-copy{margin:24px 0;text-align:center;color:var(--ink);font-family:var(--font-reading);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:760}.audio-support{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr);align-items:center;gap:18px 24px;margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-medium);background:#ffffffe0}.audio-support h3{margin-bottom:4px}.audio-support p{margin-bottom:0;color:var(--ink-soft);font-size:.93rem}.audio-player{width:100%}.parent-read-cue{padding:14px 16px;border-left:4px solid var(--green);border-radius:0 12px 12px 0;background:var(--green-pale);color:var(--ink);font-weight:720}.local-audio-connect{grid-column:1 / -1;padding-top:14px;border-top:1px solid var(--line)}.local-audio-connect summary{width:fit-content;color:var(--green-dark);font-weight:800}.local-audio-connect p{margin:10px 0}.check-label{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:.94rem}.check-label input{width:20px;height:20px;accent-color:var(--green)}.file-label{display:inline-flex;min-height:46px;align-items:center;padding:9px 15px;border:1px solid var(--line-strong);border-radius:11px;background:#fff;color:var(--ink);font-size:.92rem;font-weight:800}.file-label.is-disabled{cursor:not-allowed;opacity:.5}.file-label input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.inline-error{grid-column:1 / -1;padding:11px 14px;border-radius:10px;background:var(--coral-pale);color:#a73d34!important}.step-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}.focus-letters{display:grid;gap:8px;padding-top:18px;border-top:1px solid #d6e4d7;color:var(--green-dark);font-family:var(--font-reading);font-weight:760}.word-canvas{min-height:380px;flex-direction:column;gap:24px}.syllable-row{display:flex;justify-content:center;gap:16px}.syllable-row span{display:grid;width:clamp(115px,15vw,170px);height:clamp(115px,15vw,170px);place-items:center;border-radius:42% 58% 54% 46%/48% 44% 56% 52%;background:var(--warm);font-family:var(--font-reading);font-size:clamp(3.7rem,7vw,6rem);font-weight:900}.syllable-row span:nth-child(2n){background:#e0f0dc}.word-arrow{width:52px;height:3px;background:#7690a5}.word-arrow:after{content:"";display:block;width:10px;height:10px;margin-left:auto;border-top:3px solid #7690a5;border-right:3px solid #7690a5;transform:translateY(-5px) rotate(45deg)}.whole-word{font-family:var(--font-reading);font-size:clamp(5rem,10vw,9rem);font-weight:900;letter-spacing:.02em;line-height:1}.word-preview-list{display:flex;flex-wrap:wrap;gap:8px;padding-top:18px;border-top:1px solid #d6e4d7}.word-preview-list span{padding:7px 10px;border:1px solid #cbdacc;border-radius:9px;background:#ffffffb8;font-family:var(--font-reading);font-weight:760}.word-preview-list span.is-current{border-color:var(--green);color:var(--green-dark)}.story-heading{margin-bottom:24px}.story-paper{position:relative;overflow:hidden;min-height:380px;padding:clamp(34px,6vw,72px);border:1px solid #c6dfef;border-radius:24px 24px 46px;background:#ffffff80}.story-paper:after{content:"";position:absolute;right:-1px;bottom:-1px;width:70px;height:70px;border-top:1px solid #c6dfef;border-left:1px solid #c6dfef;border-radius:24px 0 0;background:var(--sky-strong)}.story-paper h2{margin-bottom:30px;color:var(--green-dark)}.story-paper p{margin-bottom:16px;font-family:var(--font-reading);font-size:clamp(2.15rem,5.5vw,4.6rem);font-weight:790;letter-spacing:.01em;line-height:1.48}.story-next-panel,.lesson-finish-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius-medium);background:#ffffffd9}.story-next-panel h2,.lesson-finish-panel h2{margin-bottom:6px;font-size:1.45rem}.story-next-panel p,.lesson-finish-panel p{margin-bottom:0;color:var(--ink-soft);font-size:.94rem}.question-section{margin-top:28px;padding-top:28px;border-top:1px solid #c7dce8}.question-list{display:grid;gap:14px}.question-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius-medium);background:#ffffffd1}.question-card h3{display:flex;align-items:center;gap:11px;margin-bottom:16px}.question-card h3 span{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:.9rem}.answer-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer-button{min-height:58px;padding:11px 15px;border:1px solid var(--line-strong);border-radius:13px;background:#fff;font-size:1.05rem;font-weight:780}.answer-button:not(:disabled):hover,.answer-button.is-selected{border-color:var(--green);background:var(--green-pale)}.answer-feedback{margin:12px 0 0;font-size:.94rem;font-weight:750}.answer-feedback.found{color:var(--green-dark)}.answer-feedback.revisit{color:#a64b40}.lesson-finish-panel{border-color:#c4ddc8;background:#f2f8ef}.app-footer{display:flex;justify-content:space-between;gap:20px;width:min(100%,var(--page-width));margin:0 auto;padding:24px 32px 36px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.88rem}.dialog-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:#0b1f367a}.dialog-panel{position:relative;width:min(100%,560px);padding:36px;border:1px solid var(--line);border-radius:24px;background:var(--paper-strong);box-shadow:0 24px 80px #071a2f3d}.dialog-panel>p{color:var(--ink-soft)}.dialog-close{position:absolute;top:15px;right:15px;min-width:54px;min-height:42px;border:0;border-radius:10px;background:#eef3f6;font-size:.87rem;font-weight:750}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}.records-page{padding-top:56px}.records-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:34px;margin-bottom:30px}.records-hero h1{margin-bottom:12px}.privacy-lockup{display:flex;max-width:380px;align-items:center;gap:14px;padding:17px 19px;border:1px solid #d5e7d8;border-radius:16px;background:var(--green-pale)}.privacy-lockup p{margin-bottom:0;color:var(--green-dark);font-size:.94rem;font-weight:720}.summary-band{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(600px,2fr);gap:28px;align-items:center;padding:30px;border:1px solid #c9e2f1;border-radius:var(--radius-large);background:var(--sky);box-shadow:var(--shadow-small)}.summary-intro h2{margin-bottom:8px}.summary-intro p:last-child{margin-bottom:0;color:var(--ink-soft);font-size:.92rem}.summary-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-count{display:grid;min-width:0;place-items:center;padding:10px 18px;border-left:1px solid #c7dce8;text-align:center}.summary-count:first-child{border-left:0}.summary-count span{color:var(--ink-soft);font-weight:720}.summary-count strong{margin:2px 0;font-family:var(--font-reading);font-size:2.8rem;line-height:1.1}.summary-count.independent strong{color:var(--green)}.summary-count.not_yet strong{color:var(--coral)}.summary-count small{color:var(--ink-soft)}.record-section,.review-section,.data-controls{margin-top:42px}.record-table-wrap{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-medium);background:var(--paper-strong)}.record-table{width:100%;border-collapse:collapse;table-layout:fixed}.record-table th,.record-table td{padding:16px 20px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}.record-table th{background:#f3f6f8;color:var(--ink-soft);font-size:.88rem;font-weight:800}.record-table th:first-child,.record-table td:first-child{width:210px}.record-table th:last-child,.record-table td:last-child{width:190px}.record-table tbody tr:last-child td{border-bottom:0}.empty-state{display:flex;align-items:center;gap:18px;padding:30px;border:1px solid var(--line);border-radius:var(--radius-medium);background:#fffaf0}.empty-state h3,.empty-state p{margin-bottom:0}.empty-state p{color:var(--ink-soft)}.review-section{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(480px,1.25fr);gap:34px;padding:30px;border:1px solid #eadfc6;border-radius:var(--radius-large);background:#fff9ec}.review-section p{margin-bottom:0;color:var(--ink-soft)}.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.review-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:12px 15px;border:1px solid #eadfc6;border-radius:13px;background:#fffc}.review-list span{color:var(--coral);font-size:.86rem;font-weight:760}.review-empty{display:grid;min-height:110px;place-items:center;border:1px dashed #decda7;border-radius:15px;color:var(--ink-soft)}.data-controls{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(500px,1.15fr);gap:28px 36px;padding:30px;border:1px solid var(--line);border-radius:var(--radius-large);background:var(--paper-strong);box-shadow:var(--shadow-small)}.data-control-copy p{color:var(--ink-soft)}.origin-note{margin-bottom:0;padding:12px 14px;border-radius:11px;background:#f2f5f7;font-size:.87rem}.data-control-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}.data-status{grid-column:1 / -1;margin:0;padding:12px 14px;border-radius:11px;background:#f0f4f6;color:var(--ink-soft)}.data-status.success{background:var(--green-pale);color:var(--green-dark)}.data-status.error{background:var(--coral-pale);color:#a33b32}.local-only-note{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;color:var(--ink-soft);font-size:.9rem;text-align:center}.local-only-note strong{color:var(--green-dark)}@media(max-width:1220px){.header-inner{gap:16px}.nav-item{min-width:100px;padding-inline:10px;font-size:.94rem}.entry-check-item{grid-template-columns:1fr}.stage-heading{display:grid}.mode-control{max-width:none}.summary-band{grid-template-columns:1fr}}@media(max-width:1020px){.entry-layout,.learning-layout{grid-template-columns:1fr}.parent-guide{position:static}.parent-guide .guide-content{display:grid;grid-template-columns:1fr 1fr;gap:20px}.parent-guide .guide-list{margin:10px 0}.focus-letters,.word-preview-list,.privacy-mini-note{align-self:center}.review-section,.data-controls{grid-template-columns:1fr}}@media(max-width:839px){.app-header{position:sticky}.header-inner{min-height:74px;padding:0 20px}.brand-button{font-size:1.4rem}.brand-sprout{width:30px;height:32px}.top-nav{display:none}.mobile-menu-button{display:inline-flex;align-items:center;justify-content:center}.mobile-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 20px 18px;border-top:1px solid var(--line);background:var(--paper)}.mobile-nav-item{min-height:50px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:.94rem;font-weight:760}.mobile-nav-item.is-active{border-color:var(--green);background:var(--green-pale);color:var(--green-dark)}.mobile-nav-item:last-child{grid-column:1 / -1}.page-shell{padding:32px 20px 52px}.start-intro{grid-template-columns:1fr;gap:20px;padding-top:18px}.intro-copy{min-height:auto}.start-principles{min-height:240px}.entry-check-item{padding:20px}.learning-stage{padding:24px}.letter-canvas{min-height:310px;gap:12px;padding:20px}.letter-part,.letter-result{width:clamp(98px,22vw,150px);height:clamp(98px,22vw,150px);font-size:clamp(3.8rem,13vw,6rem)}.math-symbol{font-size:clamp(2rem,7vw,3.2rem)}.audio-support{grid-template-columns:1fr}.local-audio-connect,.inline-error{grid-column:1}.summary-counts{grid-template-columns:repeat(2,1fr);gap:14px 0}.summary-count:nth-child(odd){border-left:0}.summary-count:nth-child(n+3){padding-top:18px;border-top:1px solid #c7dce8}.records-hero{display:grid}.privacy-lockup{max-width:none}.review-list{grid-template-columns:1fr}}@media(max-width:640px){body{font-size:16px}h1{font-size:clamp(2rem,11vw,3rem)}.header-inner{grid-template-columns:1fr auto}.brand-button{min-width:0}.brand-sprout{display:none}.pause-button{padding-inline:12px}.page-shell{padding-inline:16px}.intro-actions,.section-heading-row,.story-next-panel,.lesson-finish-panel,.app-footer{align-items:stretch;flex-direction:column}.intro-actions{display:grid}.section-heading-row{display:grid;gap:10px}.section-meta{width:fit-content}.entry-copy{grid-template-columns:30px 1fr}.entry-number{width:30px;height:30px}.parent-guide{padding:22px}.parent-guide .guide-content{grid-template-columns:1fr}.rating-grid,.is-compact .rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-progress{grid-template-columns:1fr auto;gap:8px 12px}.progress-track{grid-column:1 / -1;grid-row:2}.learning-stage{padding:20px 16px;border-radius:20px}.stage-heading{gap:18px}.stage-heading h1{font-size:clamp(2rem,10vw,3rem)}.mode-buttons{grid-template-columns:1fr}.mode-button{min-height:48px}.letter-canvas{min-height:245px;gap:6px;padding:12px}.letter-part,.letter-result{width:clamp(74px,22vw,100px);height:clamp(90px,25vw,112px);font-size:clamp(3rem,16vw,4.7rem)}.math-symbol{font-size:1.8rem}.independent-canvas{min-height:330px}.independent-glyph{font-size:clamp(8rem,45vw,12rem)}.word-canvas{min-height:330px;padding:22px 14px}.syllable-row{gap:10px}.syllable-row span{width:105px;height:105px;font-size:3.8rem}.whole-word{font-size:clamp(4.8rem,25vw,7rem)}.audio-support,.parent-rating{padding:18px}.step-actions,.dialog-actions,.data-control-buttons{grid-template-columns:1fr}.step-actions>span{display:none}.story-paper{min-height:345px;padding:34px 24px 58px}.story-paper p{font-size:clamp(2rem,10vw,3rem);line-height:1.55}.story-next-panel,.lesson-finish-panel{display:grid}.answer-options{grid-template-columns:1fr}.records-page{padding-top:36px}.summary-band,.review-section,.data-controls{padding:22px 18px;border-radius:20px}.summary-count{padding-inline:8px}.summary-count strong{font-size:2.25rem}.record-table-wrap{border:0;background:transparent}.record-table,.record-table thead,.record-table tbody,.record-table tr,.record-table th,.record-table td{display:block;width:100%!important}.record-table thead{position:absolute;width:1px!important;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.record-table tbody{display:grid;gap:12px}.record-table tr{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.record-table td{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding:7px 0;border:0;font-size:.92rem}.record-table td:before{color:var(--ink-soft);font-size:.84rem;font-weight:780}.record-table td:nth-child(1):before{content:"날짜"}.record-table td:nth-child(2):before{content:"읽은 내용"}.record-table td:nth-child(3):before{content:"기록"}.local-only-note{align-items:flex-start;flex-direction:column}.app-footer{display:grid;padding-inline:20px}.dialog-panel{padding:32px 20px 22px}}@media(max-width:390px){.header-inner{padding-inline:14px}.brand-button{font-size:1.28rem}.quiet-button,.mobile-menu-button{min-width:56px;padding-inline:10px}.mobile-nav{padding-inline:14px}.letter-canvas{min-height:224px}.letter-part,.letter-result{width:68px;height:84px;font-size:3rem}.math-symbol{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
