:root{font-family:PingFang TC,Noto Sans TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#4f5048;background:#faf8f2;font-synthesis:none;font-weight:400;--paper: #faf8f2;--ink: #4f5048;--muted: #85867a;--sage: #778b71;--sage-dark: #53684e;--sage-pale: #eaf0e4;--lavender: #e9e2f0;--border: #e7e6dc;--pink: #f1e4e0;--radius: 20px}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{transition:background .18s,transform .18s,border-color .18s}button:hover:not(:disabled){filter:brightness(.98)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9d87b6;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-weight:600;font-size:30px;letter-spacing:.025em;line-height:1.6}h2{font-size:20px;font-weight:600;line-height:1.6;letter-spacing:.025em}h3{font-size:16px;font-weight:600;line-height:1.6}p{color:#818276;font-size:14px;line-height:1.9}svg{flex-shrink:0}input[type=checkbox]{accent-color:#74896b;width:17px;height:17px;flex-shrink:0}select{color:var(--ink);background:#fffdf7;border:1px solid var(--border);border-radius:10px;min-height:42px;padding:8px 28px 8px 12px}button{border:0;background:none}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:236px;background:#f4f3eb;border-right:1px solid var(--border);padding:34px 22px 20px;display:flex;flex-direction:column}.brand{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}.brand-cat{width:74px;height:65px}.brand strong{font-family:serif;font-size:23px;letter-spacing:.1em;color:#555a4c;font-weight:600}.brand span{display:block;font-size:8px;letter-spacing:.2em;margin-top:8px;color:#939387}.sidebar-divider{height:1px;background:#dedfd2;margin:29px 12px 23px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;width:100%;gap:13px;min-height:48px;border-radius:11px;padding:12px 15px;text-align:left;font-size:14px;letter-spacing:.015em;color:#7d8074;position:relative}.nav-item svg{stroke-width:1.6}.nav-item:hover{background:#eceee3}.nav-item.active{background:#e4e9dc;color:#53684e;font-weight:600}.nav-dot{width:5px;height:5px;background:#778c6f;border-radius:100%;margin-left:auto}.nav-badge{font-size:10px;background:#e9dfed;padding:2px 6px;border-radius:10px;margin-left:auto}.sidebar-bottom{margin-top:auto}.sidebar-poem{display:flex;flex-direction:column;align-items:center;padding:25px 0 32px;gap:7px;color:#8d907f}.sidebar-poem svg{width:52px;height:66px;margin-bottom:4px;opacity:.8}.sidebar-poem span{font-family:serif;font-size:14px;letter-spacing:.1em}.sidebar-poem small{font-family:Georgia,serif;font-size:11px;font-style:italic;color:#a1a18f}.local-save{display:flex;align-items:center;gap:7px;font-size:9px;color:#939686;padding:17px 12px 0;line-height:1.5}.tiny-dot{display:inline-block;width:6px;height:6px;background:#8fa281;border-radius:100%;flex-shrink:0}.main-shell{margin-left:236px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 43px;gap:20px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:18px}.topbar-motto{display:flex;align-items:center;gap:9px;font-size:12px;color:#909281;letter-spacing:.04em}.topbar-motto svg{color:#94a286;stroke-width:1.5}.language-pill{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.korean-flag{font-size:13px;border:1px solid #d9dfd0;border-radius:6px;padding:2px 5px;background:#f0f0e5;color:#74846a}.beginner-tag{font-size:9px;padding:3px 6px;border-radius:4px;background:#eeeae1;color:#979481}.language-select{display:flex;align-items:center;gap:3px;padding-left:16px;border-left:1px solid var(--border);color:#8a8c7c}.language-select select{border:0;background:transparent;font-size:11px;min-height:32px;padding:5px 2px;width:85px}.main-content{max-width:1370px;padding:36px 43px 0;margin:0 auto;outline:none}.eyebrow{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:500;letter-spacing:.14em;color:#8c9b7d;line-height:1.8;margin-bottom:7px}.home-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:27px}.home-heading h1{font-family:Georgia,"Noto Serif TC",Songti TC,serif;font-size:30px;letter-spacing:.06em;margin-bottom:6px}.home-heading p{font-size:12px;letter-spacing:.025em}.date-stamp{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;color:#999b8c;align-self:flex-end;margin-bottom:7px}.home-hero-grid{display:grid;grid-template-columns:minmax(0,2.18fr) minmax(240px,1fr);gap:21px}.hero-garden{min-height:365px;border-radius:var(--radius);background:#edf0e5;border:1px solid #e2e8d8;overflow:hidden;position:relative;isolation:isolate}.hero-copy{position:relative;padding:25px 28px;z-index:2;pointer-events:none}.hero-copy button{pointer-events:auto}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#f8f8f0;border:1px solid #e7eadc;border-radius:30px;color:#8b947d;font-size:10px;line-height:1.5}.hero-copy .pill{background:#f9faf1ba;font-size:9px}.hero-copy h2{font-family:Georgia,Songti TC,serif;font-size:23px;letter-spacing:.06em;margin:13px 0 4px;color:#59654e}.hero-copy p{font-size:11px;color:#98a089}.button-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.hero-copy .button-row{margin-top:17px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:10px;min-height:44px;padding:11px 20px;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.035em;white-space:normal}.button.primary{background:#788e70;color:#fffef6;box-shadow:0 3px 5px #677f6510}.button.primary:hover{background:#6b8264}.button.secondary{border-color:#dedfd2;background:#fffdf6;color:#78806a}.button.lavender{background:#e6ddef;color:#82708f}.button:disabled{opacity:.65}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:5px 0;font-size:11px;color:#8b907d;font-weight:500;text-align:left;line-height:1.7}.text-button:hover{color:#53684e}.full{width:100%}.hero-scene{position:absolute;width:100%;height:auto;bottom:14px;left:0;z-index:1}.scene-caption{position:absolute;bottom:11px;left:24px;font-size:9px;color:#8e977c;z-index:3;display:flex;gap:7px}.scene-caption span{color:#a6ad95}.today-card{background:#fffdf7;border:1px solid var(--border);border-radius:var(--radius);padding:21px 23px;text-align:center;display:flex;align-items:center;flex-direction:column}.section-overline{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:10px;letter-spacing:.12em;color:#92937e}.small-spark{font-size:22px;font-weight:400;color:#bda6bf;line-height:1}.goal-ring{width:114px;height:114px;border-radius:100%;background:conic-gradient(#91a480 var(--progress),#edeedf 0);padding:4px;margin:14px auto;position:relative;transform:rotate(-15deg)}.goal-ring>div{background:#fffdf7;width:100%;height:100%;border:4px solid #fffdf7;border-radius:100%;display:flex;align-items:center;justify-content:center;transform:rotate(15deg)}.goal-ring svg{width:92px;height:92px}.cat-label{position:absolute;bottom:0;left:50%;transform:translate(-50%) rotate(15deg);font-size:9px;color:#969b82;border-radius:20px;padding:3px 11px;background:#f1f0e4;border:2px solid #fffdf7;white-space:nowrap}.today-card h3{font-size:14px;letter-spacing:.04em}.today-card p{font-size:10px;margin:4px 0 12px;max-width:230px}.today-count{display:flex;justify-content:space-between;width:100%;font-size:9px;color:#a3a18d;margin-bottom:6px}.today-count strong{font-weight:400;color:#8c9c7b}.progress-track{width:100%;height:5px;border-radius:10px;background:#eceee3;overflow:hidden}.progress-track>span{display:block;height:100%;background:#a4b396;border-radius:10px;transition:width .4s}.today-card .button{margin-top:17px;font-size:11px;min-height:40px;padding:9px 12px}.today-card .button svg:last-child{margin-left:auto}.tiny-note{font-size:10px!important;color:#a0a08e;line-height:1.8}.today-card .tiny-note{font-size:9px!important;margin-top:12px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.section-title h2{font-size:18px}.journey-section{margin-top:32px}.journey-section .eyebrow{font-size:9px;margin-bottom:3px}.journey-section .section-title h2{font-family:Georgia,Songti TC,serif;font-size:20px;letter-spacing:.045em}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.journey-card{border:1px solid var(--border);background:#fffdf8;border-radius:17px;padding:0 20px 16px;text-align:left;overflow:hidden;position:relative}.journey-card:hover{border-color:#c0c9b0;box-shadow:0 5px 20px #5c614806}.lesson-art{height:103px;display:flex;align-items:center;justify-content:center;gap:12px;background:#f1f2e9;margin:0 -20px 17px;position:relative;color:#8f9a7d;overflow:hidden}.letter-art span{font-size:42px;font-weight:300;display:block;transform:rotate(-8deg);color:#7e8d6d}.letter-art span:nth-child(2){transform:translateY(6px) rotate(5deg);color:#b3b79c}.letter-art span:nth-child(3){color:#999881}.letter-art svg{position:absolute;right:25px;bottom:15px;color:#b6bca1;transform:rotate(20deg)}.syllable-art{background:#f3ede7;gap:8px}.syllable-art span{font-size:29px;color:#a5948a}.syllable-art span:nth-child(2),.syllable-art span:nth-child(4){font-size:16px;color:#bfb3a2}.syllable-art b{font-size:42px;font-weight:400;color:#8c7e88;transform:rotate(4deg)}.review-journey .lesson-art{background:#efebf2}.review-flower{width:68px;height:82px;transform:rotate(-12deg)}.review-scribble{font-family:serif;font-size:57px;color:#aea0bd;transform:rotate(-20deg)}.mini-label{font-family:Georgia,serif;font-size:8px;letter-spacing:.1em;color:#a8a58f}.journey-card h3{font-size:15px;letter-spacing:.04em;margin:5px 0 7px}.journey-card p{font-size:11px;line-height:1.8;min-height:39px;color:#959585}.card-bottom{margin-top:15px;display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #eeeede;font-size:10px;color:#a4a18b}.card-bottom svg{color:#8f9a7e}.footprint-title{margin-top:29px;margin-bottom:13px}.footprint-title h2{font-size:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat-card{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:18px;border:1px solid var(--border);background:#fffdf7;border-radius:13px}.stat-card svg{grid-row:1/3;color:#a3ae92;stroke-width:1.5}.stat-card strong{font-family:Georgia,serif;font-weight:400;font-size:22px;color:#6e7860}.stat-card span{font-size:9px;color:#a29f8c;margin-top:4px}.site-footer{padding:28px 0 22px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:9px;color:#aaa995;letter-spacing:.03em}.site-footer svg{stroke-width:1.5;color:#a4b094}.page-heading{margin-bottom:28px;max-width:800px}.page-heading h1{font-family:Georgia,Songti TC,serif;font-size:28px;margin-bottom:6px}.page-heading p{font-size:13px}.page-heading .eyebrow{font-size:11px}.panel{background:#fffdf8;border:1px solid var(--border);border-radius:var(--radius);padding:27px}.unit-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px;padding-bottom:18px;border-bottom:1px solid var(--border)}.unit-tabs button{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:10px;font-size:12px;color:#8c8b7c}.unit-tabs button.active{background:#e7ebde;color:#637759}.unit-tabs button span{font-size:9px;border-radius:6px;background:#ffffff7a;padding:2px 5px}.unit-summary{display:flex;align-items:center;justify-content:space-between;margin:25px 0 18px}.unit-summary span{font-size:11px;color:#92977e}.letters-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:13px}.letter-card{border:1px solid var(--border);background:#fffdf7;border-radius:15px;min-height:144px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:16px 10px}.letter-card:hover{border-color:#b3c1a8;background:#f7f9f0}.letter-card.is-learned{background:#eef2e7;border-color:#d6dfc9}.hangul{font-size:44px;font-weight:400;line-height:1.5;color:#6d7d61}.roman{font-size:11px;color:#9b9c87;margin-top:4px}.letter-example{font-size:11px;color:#aba896;margin-top:6px}.learned-check{position:absolute;top:10px;right:10px;color:#8da57d}.letter-open{position:absolute;bottom:9px;right:9px;color:#c2c7b3}.notice{display:flex;align-items:flex-start;gap:10px;padding:15px 18px;border-radius:11px;border:1px solid #e0e5d3;background:#f0f3e9;color:#7d896e;font-size:12px;line-height:1.8;margin:18px 0}.notice svg{margin-top:2px}.notice.quiet{background:transparent;color:#969884;border-color:#e5e6d8;font-size:11px}.notice.error{background:#faf0eb;border-color:#eacfc6;color:#a26d5b}.notice.reward{background:#edf2e4;justify-content:center}.update-notice{align-items:center;justify-content:space-between}.concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.number-dot{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ebe7ed;border-radius:100%;font-size:11px;color:#94829d;margin-bottom:13px}.concept-card h2{font-size:17px}.concept-example{font-size:25px;letter-spacing:.05em;color:#809473;background:#f0f2e7;padding:15px;border-radius:10px;margin:15px 0;line-height:1.8;white-space:pre-line}.concept-card p{font-size:12px}.composer h2{margin-bottom:6px}.composer>div>p{font-size:12px}.composer-workspace{display:flex;align-items:center;gap:25px;margin:20px 0 14px}.composer-result{background:#e9eee0;border:1px solid #dee5d3;font-size:62px;color:#6c805f;width:120px;min-height:120px;border-radius:18px;display:flex;align-items:center;justify-content:center}.composer-controls{display:flex;gap:16px;flex:1}.composer-controls label{font-size:11px;color:#8f947d;flex:1}.composer-controls select{display:block;width:100%;margin-top:9px;font-size:21px;min-width:70px}.icon-button{display:inline-flex;justify-content:center;align-items:center;padding:9px;border-radius:9px;color:#8b967e;min-width:36px;min-height:36px}.icon-button:hover{background:#eceee2}.sound-button{background:#e9e2ef;color:#96829e;border-radius:100%;width:48px;height:48px}.quiz-setup{padding:28px}.scope-categories{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.check-card{display:flex;align-items:center;gap:8px;font-size:12px;background:#f5f5ed;border:1px solid #e9e9de;padding:11px 12px;border-radius:10px;cursor:pointer}.check-card small{font-size:10px;color:#a7a68f}.selection-tools{display:flex;gap:12px;align-items:center;font-size:11px;color:#a4a891;margin:20px 0 15px}.item-picker{display:flex;flex-direction:column;gap:15px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0}.picker-group{display:flex;align-items:flex-start;gap:20px}.picker-group h3{font-size:11px;min-width:70px;width:70px;padding-top:9px;color:#989987}.picker-items{display:flex;gap:7px;flex-wrap:wrap;flex:1}.picker-items label{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;width:37px;height:37px;font-size:20px;border:1px solid #e4e7db;border-radius:8px;color:#a4a58f;background:#faf9f2}.picker-items label.checked{background:#e8eedd;color:#6f865e;border-color:#c6d2b7}.picker-items input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.picker-items label:focus-within{outline:3px solid #ab98bd;outline-offset:2px}.quiz-options{display:flex;justify-content:space-between;gap:25px;margin:24px 0}.checkbox-line{display:flex;align-items:center;gap:10px;font-size:12px;padding:7px 0;cursor:pointer}.quiz-options .tiny-note{max-width:540px;margin-top:5px}.question-count{font-size:11px;color:#959780;min-width:125px}.question-count select{display:block;width:100%;margin-top:10px}.quiz-start{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:25px}.quiz-start p{font-size:10px;max-width:600px}.quiz-start .button{flex-shrink:0}.quiz-playing{max-width:760px;margin:5px auto}.quiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:12px;color:#91977d}.quiz-question{margin-top:24px;text-align:center;padding:30px}.quiz-question .eyebrow{justify-content:center}.quiz-question h2{font-size:19px;margin-top:10px}.question-symbol{font-size:116px;line-height:1.8;color:#687b5c}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.answer-button{display:flex;align-items:center;gap:15px;border:1px solid #dedfd1;background:#fafaf2;border-radius:13px;min-height:65px;padding:16px 18px;text-align:left;font-size:20px;color:#7a806b}.answer-button>svg{margin-left:auto}.answer-letter{width:25px;height:25px;display:flex;justify-content:center;align-items:center;background:#ecefdf;border-radius:7px;font-size:11px;color:#9ca287}.answer-button:hover:not(:disabled){border-color:#8b9f79}.answer-button.right{background:#e8efdf;border-color:#8daba0;color:#5c7752}.answer-button.wrong{background:#f7e7e2;border-color:#dab3a5;color:#b87f6c}.answer-button.muted{opacity:.5}.answer-feedback{display:flex;text-align:left;gap:20px;align-items:center;padding:22px 0 0;margin-top:22px;border-top:1px solid var(--border)}.answer-feedback>svg{width:90px;height:100px}.answer-feedback h3{font-size:15px;color:#798d69;margin-bottom:6px}.answer-feedback.wrong h3{color:#a5806d}.answer-feedback strong{font-size:12px;color:#7f816d}.answer-feedback p{font-size:12px;margin-top:6px}.answer-feedback small{display:block;font-size:9px;line-height:1.7;color:#a19f90;margin-top:5px}.next-question{margin-top:22px}.center{text-align:center}.quiz-playing>.tiny-note{margin-top:18px}.result-page{max-width:670px;margin:18px auto;text-align:center;padding:30px 0}.result-page .eyebrow{justify-content:center}.result-cat{width:150px;height:150px;display:block;margin:0 auto}.result-page h1{font-family:Georgia,Songti TC,serif;font-size:28px;margin:12px 0}.result-score{font-family:Georgia,serif;font-size:87px;color:#8d9e7a;line-height:1.4}.result-score>span{font-size:25px}.result-page>strong{font-size:15px;font-weight:500;color:#899078}.result-page>p{margin:20px auto;max-width:480px;font-size:12px}.result-page .button-row{justify-content:center;margin-top:24px}.review-banner{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#edf0e4;margin-bottom:23px}.review-banner p{font-size:11px;max-width:590px;margin-top:8px}.review-banner .button{flex-shrink:0}.review-list{display:flex;flex-direction:column;gap:12px}.review-item{display:flex;align-items:center;gap:22px;padding:18px 24px}.review-symbol{font-size:34px;background:#ebefdf;border-radius:12px;width:70px;height:65px;color:#718560;flex-shrink:0}.review-item h3{font-size:17px;display:flex;gap:15px;align-items:center;flex-wrap:wrap}.review-item p{font-size:11px;margin-top:5px}.accuracy-badge{margin-left:auto;color:#9a9d86;font-family:Georgia,serif;font-size:22px}.empty-state{text-align:center;padding:55px 30px}.empty-state>svg{width:100px;height:115px;margin-bottom:20px}.empty-state h2{margin-bottom:9px}.empty-state p{font-size:12px;margin-bottom:25px}.progress-page-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;margin:24px 0}.page-progress>.tiny-note{margin-top:12px}.activity-grid{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;margin:27px 0 12px}.activity-day{display:flex;flex-direction:column;align-items:center;gap:9px}.activity-day>span{width:100%;aspect-ratio:1;border:1px solid #e5e7d9;border-radius:6px;background:#f0f1e7;display:flex;align-items:center;justify-content:center;color:#f7f8ee}.activity-day>small{font-size:9px;color:#aaa88f}.activity-day .level-1{background:#d3dfc4;border-color:#c9d7b8}.activity-day .level-2{background:#a5ba92;border-color:#9baf89}.activity-day .level-3{background:#80996b;border-color:#80996b}.day-stats{border-top:1px solid var(--border);display:flex;gap:70px;padding-top:21px;margin-top:25px}.day-stats>div{display:flex;flex-direction:column;gap:5px}.day-stats strong{font-size:33px;font-weight:400;font-family:Georgia,serif;color:#81936f}.day-stats small{font-size:11px;margin-left:6px}.day-stats span{font-size:11px;color:#9a9b86}.unit-progress-list{display:flex;flex-direction:column;gap:20px;margin-top:22px}.unit-progress-list>div>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:8px;color:#8c947c}.unit-progress-list strong{font-weight:400;font-size:10px;color:#aaa791}.history-panel{margin-top:22px}.history-panel>p{margin-top:15px;font-size:12px}.history-list{margin-top:17px}.history-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--border);font-size:11px;color:#929681}.history-list>div:last-child{border:0}.history-list>div>span:first-child{display:flex;align-items:center;gap:9px}.history-list strong{font-family:Georgia,serif;font-weight:400;font-size:19px;color:#829371}.garden-world{border:1px solid #dde4d0;background:#ecf1e3;border-radius:23px;overflow:hidden;position:relative}.garden-world-top{position:absolute;top:24px;left:29px;right:29px;z-index:2;display:flex;align-items:center;justify-content:space-between}.garden-world-top h2{font-family:Georgia,Songti TC,serif;font-size:24px;color:#71845f}.garden-world-top .eyebrow{font-size:9px}.full-garden-scene{width:100%;display:block;margin-top:80px}.pet-button{position:absolute;bottom:22px;left:50%;transform:translate(-50%);background:#fffef4d9;border:1px solid #d8e0cc;color:#869774;font-size:11px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pet-button:active:not(:disabled){transform:translate(-50%) translateY(1px)}.garden-rule{font-size:11px}.milestone-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:35px 0 37px}.milestone-path>div{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;position:relative}.milestone-path>div:before{content:"";position:absolute;top:20px;left:-50%;width:100%;height:1px;background:#dde2d2;z-index:-1}.milestone-path>div:first-child:before{display:none}.milestone-path>div>span{width:41px;height:41px;border-radius:100%;background:#f4f3e9;border:1px solid #dedfce;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:16px;color:#aaa890}.milestone-path .achieved>span{background:#e1ead6;border-color:#c2d0b1;color:#7d916c}.milestone-path strong{font-size:12px;font-weight:500;color:#92967f}.milestone-path small{font-size:9px;color:#acaa93;line-height:1.5;padding:0 6px}.collection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}.collection-card{background:#fffdf7;border:1px solid var(--border);border-radius:15px;padding:12px 10px 18px;text-align:center}.collection-art{height:100px;position:relative;display:flex;justify-content:center;align-items:center}.collection-art>svg:first-child{height:95px;width:90px}.collection-card.locked .collection-art>svg:first-child{opacity:.32;filter:grayscale(.4)}.collection-art>svg:nth-child(2){position:absolute;bottom:10px;right:10px;color:#acae98}.collection-card h3{font-size:11px;margin-top:5px;color:#91977f}.collection-card span{display:block;font-size:8px;color:#adab92;margin-top:7px;line-height:1.8}.collection-card.unlocked{border-color:#c9d4bc;background:#f5f8ee}.small-object>svg:first-child{width:90px;height:70px}.cat-moods{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0 30px}.cat-moods p{font-size:11px;margin-top:7px}.cat-moods>div:last-child{display:flex;gap:7px}.mood-button{display:flex;flex-direction:column;align-items:center;border:1px solid transparent;border-radius:13px;padding:6px 8px;font-size:9px;min-width:60px;position:relative}.mood-button>svg:first-child{width:58px;height:58px}.mood-button>svg:last-child:not(:first-child){position:absolute;right:4px;top:4px;color:#a2a28d}.mood-button.active{background:#eff2e6;border-color:#c7d2b8}.mood-button:disabled{opacity:.35}.achievements-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.achievement{display:flex;align-items:center;gap:14px;border:1px solid var(--border);padding:20px 16px;border-radius:14px;background:#f4f3eb;color:#acae99}.achievement.unlocked{background:#f6f2e7;border-color:#ded8bf;color:#b0a26e}.achievement-icon{width:37px;height:37px;border-radius:100%;background:#e9e9dc;display:flex;align-items:center;justify-content:center;flex-shrink:0}.achievement.unlocked .achievement-icon{background:#eee5c9}.achievement h3{font-size:11px;font-weight:500}.achievement span:not(.achievement-icon){display:block;font-size:8px;margin-top:6px;color:#aaa791;line-height:1.6}.settings-panel{padding:12px 28px}.settings-section{display:flex;gap:21px;border-bottom:1px solid var(--border);padding:27px 0}.settings-section:last-child{border:0}.settings-section>svg{color:#a3ae91;margin-top:4px;stroke-width:1.5}.settings-section>div{flex:1;min-width:0}.settings-section h2{font-size:17px;margin-bottom:11px}.settings-section p{font-size:12px;max-width:700px;margin-bottom:17px}.locale-options{display:flex;gap:10px;flex-wrap:wrap}.locale-options button{display:flex;align-items:center;gap:14px;padding:13px 19px;border:1px solid var(--border);border-radius:10px;font-size:12px;min-width:120px;justify-content:space-between}.locale-options button.active{background:#ebefdf;border-color:#cad6b7;color:#748966}.future-section{margin-top:30px}.future-section>p{font-size:12px;margin-bottom:20px}.future-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.future-card{padding:21px 18px}.future-card>svg{color:#a8ae98;stroke-width:1.5;margin-bottom:12px}.future-card h3{font-size:13px;margin-bottom:12px}.future-card .pill{font-size:9px;background:#eeebef;color:#ad9db8;border:0}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#424a3d55;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadein .2s}.modal{position:relative;max-width:490px;width:100%;max-height:90dvh;overflow:auto;background:#fffdf7;border:1px solid #e0e2d5;border-radius:23px;padding:28px 31px;box-shadow:0 20px 90px #313b2920}.modal-close{position:absolute;top:12px;right:12px}.detail-heading{text-align:center;display:flex;flex-direction:column;align-items:center;padding-top:7px}.detail-symbol{font-size:90px;color:#748766;line-height:1.4;margin-top:12px}.detail-heading>strong{font-weight:400;color:#929980;font-size:20px}.detail-heading>span:last-child:not(.pill){font-size:11px;color:#b0aa95;margin:5px 0}.detail-heading+.button{margin-top:20px}.modal .tiny-note{font-size:9px!important;margin-top:10px}.detail-section{margin:20px 0}.detail-section h3{font-size:12px;display:flex;align-items:center;gap:7px;color:#80926d;margin-bottom:7px}.detail-section p{font-size:12px;line-height:1.9}.tip-section{background:#f0f2e7;border-radius:12px;padding:16px}.tip-section h3,.tip-section p{font-size:11px}.detail-example{border-top:1px solid var(--border);padding:15px 0 20px}.detail-example>span{display:block;font-size:10px;color:#aaa48f}.detail-example strong{display:block;font-size:23px;font-weight:400;color:#8c967b;margin:8px 0}.detail-example p{font-size:12px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%);z-index:150;display:flex;align-items:center;gap:12px;max-width:calc(100% - 35px);border-radius:14px;border:1px solid #dad4e1;background:#f6f0fb;box-shadow:0 6px 30px #6d60781a;padding:14px 15px 14px 20px;color:#8f7c9b;font-size:12px;line-height:1.7;animation:toastin .3s}.toast>svg{color:#ab94b5}.toast button{min-height:28px;min-width:28px;padding:5px}.skip-link{position:fixed;top:-70px;left:25px;z-index:200;background:#fff;padding:12px;border:2px solid #8eaa79;border-radius:8px}.skip-link:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-menu,.mobile-brand,.mobile-bottom-nav{display:none}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes toastin{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@media(min-width:1550px){.main-content{padding-top:43px}.hero-garden{min-height:410px}.hero-copy{padding:32px 34px}.hero-copy h2{font-size:28px}.hero-scene{bottom:0}.today-card{padding:27px 30px}.goal-ring{width:132px;height:132px;margin:17px auto}.journey-grid{gap:24px}.lesson-art{height:125px}.journey-card{padding-left:24px;padding-right:24px}.lesson-art{margin-left:-24px;margin-right:-24px}}@media(max-width:1200px){.sidebar{width:206px;padding:30px 15px 18px}.brand strong{font-size:21px}.main-shell{margin-left:206px}.topbar{padding:0 30px}.main-content{padding:30px 29px 0}.home-heading h1{font-size:26px}.date-stamp{display:none}.hero-copy h2{font-size:21px}.hero-copy{padding:24px}.home-hero-grid{gap:17px;grid-template-columns:minmax(0,1.85fr) minmax(220px,1fr)}.hero-copy .text-button{font-size:10px}.hero-copy .button{font-size:10px;padding:10px 15px}.hero-garden{min-height:360px}.hero-scene{bottom:15px;width:115%;left:-7%}.scene-caption span{display:none}.today-card{padding:20px}.today-card p{font-size:9px}.journey-card p{font-size:10px}.journey-card{padding:0 17px 14px}.lesson-art{margin:0 -17px 15px;height:95px}.stats-grid{gap:10px}.stat-card{padding:14px;column-gap:8px}.stat-card strong{font-size:19px}.letters-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cat-moods{flex-direction:column;align-items:flex-start}.cat-moods>div:last-child{width:100%;justify-content:space-between}.progress-page-grid{grid-template-columns:1fr}.future-grid,.achievements-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-controls{gap:10px}.composer-workspace{gap:15px}.composer-result{width:100px;min-height:110px}}@media(max-width:950px){.sidebar{width:185px;padding:26px 12px 15px}.brand strong{font-size:18px}.brand span{font-size:7px;letter-spacing:.14em}.nav-item{font-size:12px;padding:12px;gap:10px}.main-shell{margin-left:185px}.main-content{padding:27px 25px 0}.topbar{padding:0 25px}.topbar-motto{font-size:10px}.topbar-right{gap:12px}.language-select{padding-left:10px}.beginner-tag{display:none}.home-hero-grid{grid-template-columns:1fr}.hero-garden{min-height:365px}.hero-copy h2{font-size:25px}.hero-copy p,.hero-copy .button{font-size:12px}.hero-scene{width:100%;left:0;bottom:-5px}.today-card{display:none}.journey-grid{gap:12px}.journey-card h3{font-size:14px}.journey-card p{font-size:10px}.journey-card{padding:0 14px 13px}.lesson-art{margin:0 -14px 14px;height:90px;gap:5px}.letter-art span{font-size:32px}.syllable-art span{font-size:21px}.syllable-art b{font-size:31px}.section-title .text-button{font-size:10px}.journey-section .section-title h2{font-size:17px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.letters-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.letter-card{min-height:125px}.concept-grid{grid-template-columns:1fr}.composer-workspace{flex-wrap:wrap}.composer-controls{flex-basis:calc(100% - 120px)}.composer .sound-button{width:100%;border-radius:10px}.picker-group{gap:12px}.picker-group h3{min-width:60px;width:60px}.quiz-options{flex-direction:column;gap:15px}.question-count{display:flex;align-items:center;gap:20px}.question-count select{width:100px;margin-top:0}.quiz-start{flex-direction:column;align-items:stretch}.quiz-start .button{width:100%}.review-banner{flex-direction:column;align-items:flex-start}.page-heading h1{font-size:26px}.future-grid{grid-template-columns:1fr 1fr}.garden-world-top h2{font-size:20px}.garden-world-top{left:22px;right:22px}.milestone-path strong{font-size:10px}.cat-moods .mood-button{min-width:0;padding:7px}.mood-button>svg:first-child{width:47px;height:47px}}@media(max-width:700px){:root{--radius: 17px}.sidebar{transform:translate(-100%);width:245px;transition:transform .2s;padding-top:30px;z-index:90;box-shadow:12px 0 80px #313d2c10}.sidebar.is-open{transform:translate(0)}.sidebar .brand strong{font-size:23px}.sidebar .brand span{font-size:8px}.sidebar .nav-item{font-size:14px;min-height:48px}.sidebar-divider{margin-top:23px;margin-bottom:18px}.sidebar-scrim{position:fixed;inset:0;background:#3d483c4d;z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sidebar-poem{padding:20px 0}.sidebar-poem svg{height:55px}.main-shell{margin-left:0}.topbar{height:68px;position:sticky;top:0;z-index:30;background:#faf8f2ed;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:0 17px;gap:10px}.topbar-motto,.language-pill{display:none}.topbar-left,.topbar-right{gap:9px}.mobile-menu{display:flex;padding:5px;min-width:31px}.mobile-brand{display:block;font-family:serif;font-size:17px;letter-spacing:.06em;font-weight:600;color:#69745d;white-space:nowrap}.language-select{padding-left:0;border:0;gap:2px}.language-select svg{width:14px}.language-select select{width:77px;font-size:10px}.main-content{padding:27px 20px 0}.home-heading{margin-bottom:21px}.home-heading h1{font-size:25px;margin-top:7px;letter-spacing:.035em}.home-heading .eyebrow{font-size:9px;letter-spacing:.1em}.home-heading p{font-size:11px;line-height:1.9;max-width:310px}.hero-garden{min-height:352px}.hero-copy{padding:22px}.hero-copy .pill{font-size:9px}.hero-copy h2{font-size:21px;margin-top:11px}.hero-copy p{font-size:10px}.hero-copy .button-row{margin-top:15px;gap:15px}.hero-copy .button{min-height:40px;font-size:11px;padding:9px 15px}.hero-copy .text-button{font-size:10px}.hero-scene{width:130%;left:-15%;bottom:1px}.scene-caption{left:20px;bottom:10px;font-size:8px}.journey-section{margin-top:28px}.journey-section .section-title{align-items:flex-end}.journey-section .section-title h2{font-size:17px;max-width:245px}.journey-section .eyebrow{font-size:8px}.section-title .text-button{white-space:nowrap;font-size:9px;gap:3px}.journey-grid{grid-template-columns:1fr;gap:13px}.journey-card{padding:20px 18px 15px 132px;min-height:158px;position:relative}.journey-card .lesson-art{position:absolute;inset:0 auto 0 0;width:114px;height:100%;margin:0;flex-wrap:wrap;align-content:center;padding:20px 10px;gap:7px}.journey-card .letter-art span{font-size:34px}.journey-card .letter-art span:last-of-type{font-size:30px}.journey-card .letter-art svg{right:9px;bottom:13px;width:23px}.journey-card .syllable-art{gap:3px}.journey-card .syllable-art span{font-size:22px}.journey-card .syllable-art span:nth-child(4){display:none}.journey-card .syllable-art b{font-size:38px;flex-basis:100%;text-align:center}.review-journey .lesson-art{gap:0}.review-flower{width:57px;height:84px}.review-scribble{font-size:35px;position:absolute;right:9px;bottom:20px}.journey-card h3{font-size:14px;margin:4px 0 5px}.journey-card p{font-size:10px;min-height:0}.journey-card .card-bottom{margin-top:9px;padding-top:9px;font-size:9px}.mini-label{font-size:7px}.stats-grid{gap:11px}.stat-card{padding:17px 15px;column-gap:13px}.stat-card strong{font-size:23px}.stat-card span{font-size:10px}.footprint-title{margin-top:26px}.site-footer{font-size:8px;padding:26px 0 110px;gap:5px}.site-footer>span:last-child{flex-basis:100%;text-align:center;margin-top:1px}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:#f9f9f0f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid #e2e5d7;z-index:50;justify-content:space-around;box-shadow:0 -4px 20px #38442d03}.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;color:#a0a18e;min-width:65px;padding:4px 7px;line-height:1.6}.mobile-bottom-nav button svg{stroke-width:1.6}.mobile-bottom-nav button.active{color:#6f8661}.mobile-bottom-nav button.active:before{content:"";position:absolute;top:-1px;width:24px;height:2px;background:#8b9c79;border-radius:0 0 4px 4px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:24px;line-height:1.6;letter-spacing:.025em;margin-top:5px}.page-heading p{font-size:12px;margin-top:8px}.page-heading .eyebrow{font-size:10px}.unit-tabs{gap:5px;padding-bottom:15px;margin-bottom:20px}.unit-tabs button{font-size:10px;padding:10px 9px;gap:5px}.unit-tabs button span{font-size:8px}.unit-summary{margin:22px 0 15px}.unit-summary h2{font-size:18px}.unit-summary span{font-size:10px}.letters-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.letter-card{min-height:122px;padding:13px 7px}.hangul{font-size:37px}.roman,.letter-example{font-size:10px}.learned-check{width:13px;top:8px;right:7px}.letter-open{width:12px;bottom:7px;right:6px}.notice{font-size:11px;padding:14px;gap:8px}.notice.quiet{font-size:10px}.panel{padding:21px}.concept-example{font-size:23px}.concept-card h2{font-size:17px}.composer h2{font-size:19px}.composer-result{width:90px;min-height:100px;font-size:55px}.composer-controls{flex-basis:calc(100% - 110px);gap:8px;flex-wrap:wrap}.composer-controls label{font-size:10px;min-width:60px}.composer-controls label:last-child{flex-basis:100%}.composer-controls select{font-size:17px;padding:6px 22px 6px 8px;min-height:34px;margin-top:5px}.composer-workspace{gap:15px;align-items:stretch}.composer-result{align-self:center}.composer .sound-button{height:40px}.quiz-setup{padding:21px 17px}.quiz-setup .section-title{gap:8px}.quiz-setup .section-title h2{font-size:18px}.quiz-setup .pill{font-size:9px;padding:5px 8px;white-space:nowrap}.scope-categories{gap:7px}.check-card{font-size:10px;gap:5px;padding:8px}.check-card input{width:14px;height:14px}.check-card small{font-size:8px}.picker-group{flex-direction:column;gap:8px}.picker-group h3{padding-top:0;min-width:0;width:auto;font-size:10px}.item-picker{gap:16px}.picker-items{gap:7px}.picker-items label{width:35px;height:35px;font-size:20px}.checkbox-line{font-size:11px}.quiz-options .tiny-note{font-size:9px!important}.quiz-start{gap:16px}.quiz-start p{font-size:9px}.quiz-playing{margin:0}.quiz-top{font-size:11px}.quiz-top .text-button{font-size:10px}.quiz-question{padding:24px 18px}.quiz-question h2{font-size:17px}.question-symbol{font-size:95px;line-height:1.8}.answer-grid{gap:9px}.answer-button{padding:13px 11px;gap:9px;font-size:17px;min-height:60px}.answer-letter{width:23px;height:23px;font-size:10px;flex-shrink:0}.answer-button>svg{width:16px}.answer-feedback{gap:12px;align-items:flex-start}.answer-feedback>svg{width:55px;height:65px}.answer-feedback h3{font-size:12px}.answer-feedback strong,.answer-feedback p{font-size:11px}.answer-feedback small{font-size:8px}.answer-feedback .text-button{font-size:10px}.result-page{padding:10px 0;margin:0}.result-page h1{font-size:23px}.result-page>p{font-size:12px}.result-cat{width:130px;height:130px}.result-page .button-row{gap:10px}.result-page .button{font-size:11px;padding:11px 15px}.result-score{font-size:75px}.review-banner{padding:21px;gap:16px}.review-banner h2{font-size:20px}.review-banner p{font-size:11px}.review-banner .button{width:100%}.review-item{gap:13px;padding:15px}.review-symbol{width:54px;height:57px;font-size:30px}.review-item h3{font-size:15px;gap:5px}.review-item h3 .pill{font-size:7px;padding:2px 6px}.review-item p{font-size:9px}.accuracy-badge{font-size:19px}.review-item>.icon-button{padding:4px;min-width:28px}.empty-state{padding:37px 23px}.empty-state h2{font-size:19px}.empty-state>svg{width:85px;height:95px}.progress-page-grid{gap:17px}.activity-grid{gap:4px;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:13px;margin-top:20px}.activity-day>span{max-height:38px}.activity-day>small{font-size:9px}.day-stats{gap:60px}.history-panel{padding:20px 16px}.history-panel h2{font-size:18px}.history-list>div{font-size:9px;gap:9px}.history-list>div>span:first-child{gap:5px}.history-list strong{font-size:17px}.garden-world{border-radius:18px}.garden-world-top{top:20px;left:19px;right:19px;gap:7px}.garden-world-top h2{font-size:19px}.garden-world-top .eyebrow{font-size:8px;letter-spacing:.04em}.garden-world-top .pill{font-size:9px;padding:5px 8px}.full-garden-scene{width:140%;margin:98px -20% 42px}.pet-button{bottom:17px;min-height:37px;padding:8px 16px;font-size:10px}.garden-rule{font-size:10px}.milestone-path{margin:28px 0 30px}.milestone-path>div{gap:8px}.milestone-path strong{font-size:9px;max-width:75px;min-height:28px}.milestone-path small{font-size:8px}.milestone-path>div>span{width:34px;height:34px;font-size:13px}.milestone-path>div:before{top:17px}.collection-grid{gap:9px}.collection-card{padding:10px 6px 15px}.collection-art{height:85px}.collection-art>svg:first-child{width:78px;height:85px}.collection-art>svg:nth-child(2){right:5px;bottom:7px;width:14px}.collection-card h3{font-size:10px}.collection-card span{font-size:8px;min-height:28px}.small-object>svg:first-child{height:55px;width:74px}.cat-moods{padding:19px 15px;gap:18px}.cat-moods h2{font-size:18px}.cat-moods .mood-button{padding:6px 4px;font-size:9px;flex:1}.mood-button>svg:first-child{width:46px;height:46px}.cat-moods>div:last-child{gap:3px}.achievements-grid{gap:10px}.achievement{padding:15px 11px;gap:9px;align-items:flex-start}.achievement-icon{width:29px;height:29px}.achievement-icon svg{width:17px}.achievement h3{font-size:10px}.achievement span:not(.achievement-icon){font-size:8px}.settings-panel{padding:0 18px}.settings-section{gap:13px;padding:24px 0}.settings-section>svg{width:19px}.settings-section h2{font-size:17px}.settings-section p{font-size:11px}.settings-section .button{font-size:10px;padding:9px 13px}.locale-options{gap:8px}.locale-options button{min-width:0;padding:11px 14px;font-size:11px;gap:10px}.future-grid{grid-template-columns:1fr 1fr;gap:10px}.future-card{padding:17px 14px}.future-card h3{font-size:12px}.future-section>p{font-size:11px}.modal-backdrop{padding:14px}.modal{max-height:90dvh;padding:26px 23px;border-radius:20px}.detail-symbol{font-size:81px}.toast{bottom:100px;font-size:11px;padding:12px 10px 12px 15px;width:max-content}.toast .icon-button{flex-shrink:0}.update-notice{flex-wrap:wrap}.topbar,.sidebar,.mobile-bottom-nav{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.recovery-notice{flex-direction:column;align-items:flex-start}.recovery-notice .button-row{gap:18px}.recovery-notice .button{font-size:11px}.hero-scene,.full-garden-scene{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 15%);mask-image:linear-gradient(to bottom,transparent 0,#000 15%)}@media(max-width:700px){.topbar{height:calc(68px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.sidebar{padding-top:calc(30px + env(safe-area-inset-top))}}
