:root{--ink:#292331;--muted:#766e7e;--purple:#73519d;--light:#f3eef8;--line:#e9e3ee;--green:#226846}*{box-sizing:border-box}body{margin:0;background:#faf9fc;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.5}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bd87ee;outline-offset:4px}.shell{max-width:680px;margin:auto;padding:0 28px}header{display:flex;align-items:center;justify-content:space-between;padding:30px 0;border-bottom:1px solid var(--line)}header a{text-decoration:none;color:var(--purple);display:flex;flex-direction:column;line-height:1.15}.wordmark{font-size:16px;letter-spacing:2px;font-weight:800}.brand-sub{font-size:11px;letter-spacing:5px;margin-top:5px}.pill{font-size:10px;letter-spacing:1.4px;font-weight:750;background:var(--light);color:var(--purple);padding:7px 11px;border-radius:30px}main{min-height:590px;padding:34px 0 24px}h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:6px 0 12px;font-weight:750}h2{font-size:22px;margin:0 0 8px}p{margin:0 0 16px}.muted{color:var(--muted)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;color:var(--purple);font-weight:750;margin-bottom:10px}.lessons{display:grid;gap:13px;margin:26px 0}.lesson{display:flex;gap:17px;width:100%;align-items:center;text-align:left;padding:20px;border:1px solid var(--line);background:white;border-radius:18px;color:var(--ink);transition:transform .15s,border-color .15s}.lesson:hover{border-color:#bba4d2;transform:translateY(-2px)}.lesson b{font-size:18px;display:block}.lesson small{font-size:13px;color:var(--muted)}.tile{width:48px;height:48px;flex-shrink:0;border-radius:14px;background:var(--light);color:var(--purple);display:grid;place-items:center;font-size:23px;font-weight:700}.arrow{margin-left:auto;color:var(--purple);font-size:23px}.session{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);gap:15px}.text-btn{border:0;background:none;padding:8px 0;color:var(--purple);font-size:13px;text-decoration:underline;text-underline-offset:4px}.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.back{background:none;border:none;color:var(--purple);padding:0;font-size:14px;min-height:32px}.steps{display:flex;gap:6px;margin:22px 0 24px}.steps span{height:4px;flex:1;background:var(--line);border-radius:9px}.steps .on{background:var(--purple)}.card{background:white;border:1px solid var(--line);border-radius:24px;padding:28px 24px;text-align:center;min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column}.korean{font-family:'Noto Sans CJK KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:46px;font-weight:750;letter-spacing:-1.5px;line-height:1.5;word-break:keep-all}.meaning{color:var(--muted);font-size:17px;margin:9px 0 0;min-height:26px}.show{margin-top:12px}.audio-controls{display:flex;gap:9px;margin:17px 0 10px}.audio-controls button{flex:1;border:1px solid #dfd3e9;color:var(--purple);background:#fff;border-radius:12px;padding:12px 5px;font-weight:650;font-size:14px;min-height:48px}.audio-controls button:first-child{background:var(--light)}.audio-note{font-size:12px;color:var(--muted);min-height:36px}.primary{width:100%;min-height:52px;border:none;border-radius:13px;background:var(--purple);color:white;font-weight:700;padding:13px 20px;margin-top:20px}.primary:hover{background:#5f4085}.secondary{width:100%;min-height:48px;border:1px solid #dfd3e9;border-radius:13px;color:var(--purple);background:white;padding:12px;margin-top:10px}.choices{display:grid;gap:10px;margin:20px 0}.choice{border:1px solid var(--line);border-radius:13px;padding:14px 18px;text-align:left;background:white;color:var(--ink);min-height:54px}.choice.correct{border-color:#419267;background:#eef8f2;color:#225c3d;opacity:1}.choice.wrong{border-color:#bc615d;background:#fff0ee;color:#893e3a;opacity:1}.feedback{padding:14px;border-radius:12px;background:var(--light);font-size:14px;min-height:50px}.result-mark{width:68px;height:68px;background:var(--light);border-radius:50%;display:grid;place-items:center;color:var(--purple);font-size:32px;margin:10px 0 23px}.result{padding-top:15px}.result .score{font-size:56px;color:var(--purple);font-weight:750;letter-spacing:-2px;margin:12px 0}.practice-tip{font-size:14px;line-height:1.6;margin-top:17px;color:var(--muted)}footer{padding:22px 0 35px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}footer>p{margin-bottom:8px}details p{max-width:540px;margin:12px 0}summary{cursor:pointer;width:fit-content}h1:focus{outline:none}@media(min-width:900px){.shell{max-width:760px;padding:0 52px}main{padding-top:44px}h1{font-size:36px}.lesson{padding:23px}.card{min-height:230px}}@media(max-width:400px){.shell{padding:0 20px}header{padding:24px 0}h1{font-size:29px}main{padding-top:27px}.korean{font-size:36px}.card{padding:25px 16px}.lesson{padding:17px 14px;gap:13px}.session{font-size:12px}.audio-controls{gap:6px}.audio-controls button{font-size:13px}}
/* A friendly illustrated practice space */
:root{--ink:#332643;--muted:#776783;--purple:#8654bd;--light:#f2e8fd;--line:#e9dcf3}body{background:#fbf8ff;font-family:ui-rounded,'SF Pro Rounded',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}.shell{background:#fff;max-width:720px;min-height:100vh;border-left:1px solid #f0e8f7;border-right:1px solid #f0e8f7;padding:0 32px}header{padding:23px 0;border-bottom:2px solid #f3edf8}.pill{background:#fff1bf;color:#7a5914;border:1px solid #f4dfa1;font-size:9px}.wordmark{font-weight:850}.brand-sub{letter-spacing:4.7px}main{padding-top:24px;min-height:570px}h1{font-size:30px;letter-spacing:-.8px;line-height:1.18}h2{font-weight:750}.eyebrow{color:#9273b0;font-size:10px;letter-spacing:1.45px}.intro{font-size:14px;margin-bottom:0}.welcome{margin:-9px 0 15px}.buddy-row{display:flex;align-items:center;gap:8px;margin:16px 0 7px}.buddy-row img{width:73px;height:73px;object-fit:contain;flex-shrink:0}.bubble{position:relative;background:#f7f0ff;border:2px solid #e3d1f4;border-radius:19px 19px 19px 5px;padding:12px 15px;font-size:13px;line-height:1.4;color:#68478c;font-weight:600;max-width:320px}.buddy-large{gap:7px;margin:0}.buddy-large img{width:125px;height:125px}.buddy-large .bubble{font-size:15px;padding:16px 19px}.bubble [lang=ko]{font-size:23px;font-weight:800;color:#8050ae}.lessons{gap:14px;margin:22px 0 20px}.lesson{border:2px solid var(--line);border-bottom:5px solid #dfceeef0;border-radius:22px;min-height:103px;padding:10px 16px 10px 10px;gap:13px;transition:transform .12s,background .12s}.lesson:hover{background:#fcf8ff;border-color:#d5b8ed;transform:translateY(-1px)}.lesson:active{transform:translateY(3px);border-bottom-width:2px}.lesson b{font-size:17px;letter-spacing:-.2px}.lesson small{font-size:12px}.lesson-art{width:78px;height:78px;flex-shrink:0;border-radius:18px;overflow:hidden;background:#fff}.lesson-art img{display:block;width:100%;height:100%;object-fit:contain}.arrow{border-radius:50%;width:28px;height:28px;background:var(--light);display:grid;place-items:center;line-height:1;font-size:25px;flex-shrink:0}.session-progress{display:flex;gap:6px;margin:0 0 6px}.session-progress span{height:7px;background:#f1e8f8;border-radius:8px;flex:1}.session-progress .finished{background:#b18ada}.session{font-size:11px}.session .text-btn{font-size:11px}.card{border:2px solid #e7d9f1;border-bottom-width:5px;border-radius:26px;padding:22px 20px;min-height:195px;background:#fff;box-shadow:0 7px 0 #fbf7ff}.study-art{width:125px;height:90px;object-fit:contain;margin:-8px 0 6px}.korean{font-size:44px;color:#493357}.steps{margin:13px 0 22px;gap:6px}.steps span{height:9px;background:#efe6f6}.steps .on{background:#b08adb}.audio-controls button{border:2px solid #e1d2ef;border-bottom-width:4px;border-radius:15px;font-weight:750;background:#fff;min-height:47px}.audio-controls button:active{transform:translateY(2px);border-bottom-width:2px}.primary{border-radius:16px;border:2px solid #7a46ac;border-bottom:5px solid #65348f;background:#945fca;margin-top:19px;font-weight:750;box-shadow:none}.primary:active{transform:translateY(3px);border-bottom-width:2px}.primary:hover{background:#8854bd}.secondary,.choice{border:2px solid #e5d7ee;border-bottom:4px solid #ddcbe9;border-radius:16px}.choice.correct{border-color:#78bb98;background:#edf9f2}.choice.wrong{border-color:#dfa09a;background:#fff3f1}.feedback{border:1px solid #dfc9ef;border-radius:15px;background:#f5edfc}.result .buddy-large{margin:5px 0 23px}.result .score{font-size:53px}.audio-note{font-size:11px}.practice-tip{font-size:13px}footer{margin-top:6px;border-top:2px solid #f2eaf8;padding-bottom:25px;font-size:11px}@media(min-width:900px){.shell{max-width:740px;padding:0 55px}.welcome{margin:0 0 15px}.buddy-large img{width:145px;height:145px}.buddy-large .bubble{font-size:16px}h1{font-size:34px}.lesson{min-height:110px}.lesson b{font-size:19px}.lesson small{font-size:13px}.card{min-height:220px}}@media(max-width:400px){.shell{padding:0 20px;border:0}header{padding:20px 0}main{padding-top:20px}h1{font-size:27px}.buddy-large img{width:106px;height:106px}.buddy-large .bubble{font-size:13px;padding:12px 13px}.welcome{margin-bottom:13px}.lesson{padding:8px 10px 8px 6px;gap:8px;min-height:94px}.lesson-art{width:65px;height:65px}.lesson b{font-size:16px}.lesson small{font-size:11px}.arrow{width:23px;height:23px}.korean{font-size:35px}.card{padding:20px 14px}.buddy-row:not(.buddy-large) img{width:62px;height:62px}.bubble{font-size:12px;padding:10px 12px}.session{gap:8px;font-size:10px}.session .text-btn{font-size:10px}.study-art{height:80px;width:110px}}
.level-section{margin:30px 0 25px}.level-heading{display:flex;gap:13px;align-items:center}.level-number{width:41px;height:41px;border-radius:14px;background:#eee1fb;border:2px solid #d8bdeb;display:grid;place-items:center;color:#8352b1;font-size:20px;font-weight:800;flex-shrink:0}.level-heading .eyebrow{margin:0 0 3px;font-size:9px}.level-heading h2{font-size:19px;margin:0 0 3px}.level-heading p:last-child{font-size:12px;color:var(--muted);margin:0}.level-section .lessons{margin:13px 0 10px}.sample-note{font-size:11px;color:var(--muted);line-height:1.55;margin-top:10px}.write-entry{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:13px;border:2px dashed #d4b8e9;border-radius:16px;color:#79519b;background:#fcf9ff;font-size:13px;font-weight:700;min-height:50px}.write-entry>span:first-child{font-size:24px}.resources{border:2px solid #e5d6ef;background:#fcf9ff;border-radius:22px;padding:22px;margin:28px 0 8px}.resources h2{font-size:21px}.resources p{font-size:13px}.resources .resource-note{font-size:10px;margin:12px 0 0;color:var(--muted)}.resource-link{display:block;background:#8854bd;color:white;text-align:center;border-radius:13px;text-decoration:none;padding:13px 10px;font-size:13px;font-weight:700;line-height:1.5}.pdf-links{display:grid;gap:8px;margin:14px 0}.pdf-links a{display:block;color:#79519b;font-size:12px;text-underline-offset:3px;padding:7px 0}.trace-picker{display:flex;gap:10px;margin:22px 0 15px}.trace-picker button{flex:1;border:2px solid #e6d9ee;background:#fff;border-radius:14px;font-size:25px;min-height:50px;color:var(--ink)}.trace-picker button.active{background:#f0e3fc;border-color:#b383d6;color:#704298}.trace-board{position:relative;height:260px;width:100%;max-width:400px;margin:auto;border:2px solid #dec7ed;border-radius:23px;background:linear-gradient(to bottom,transparent 49.6%,#f3edf8 49.6%,#f3edf8 50.4%,transparent 50.4%),linear-gradient(to right,transparent 49.6%,#f3edf8 49.6%,#f3edf8 50.4%,transparent 50.4%);overflow:hidden}.trace-ghost{position:absolute;inset:0;display:grid;place-items:center;color:#e4d6ed;font-size:190px;line-height:1;font-family:'Noto Sans CJK KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;user-select:none;pointer-events:none}#trace-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.trace-actions{display:flex;gap:9px}.trace-actions .secondary{font-size:12px;padding:9px 7px;min-height:45px}.typed-practice{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.typed-practice label{display:block;font-size:14px;font-weight:650;margin-bottom:9px}.typed-practice>div{display:flex;gap:8px}.typed-practice input{min-width:0;width:100%;font-size:22px;border:2px solid #dccae9;border-radius:13px;padding:9px 14px}.typed-practice button{background:#f1e5fb;border:2px solid #d7bde9;border-radius:13px;color:#72468f;padding:10px 17px;font-weight:700}.typed-practice p{font-size:12px;color:var(--muted);margin-top:10px;min-height:20px}.typed-practice input:focus-visible{outline:3px solid #b984de;outline-offset:3px}.conversation-card .korean{font-size:32px}.reply{padding:16px 0 0;margin-top:14px;border-top:1px solid var(--line);width:100%}.role-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#9b7bab;font-weight:700;display:block;margin-bottom:5px}.reply p{margin-bottom:6px}.reply .meaning{font-size:15px}@media(max-width:400px){.level-heading h2{font-size:18px}.level-heading p:last-child{font-size:11px}.trace-board{height:235px}.trace-ghost{font-size:168px}.conversation-card .korean{font-size:28px}.resources{padding:18px}.resource-link{font-size:12px}}

.pdf-links+.resource-note{margin-bottom:15px}
.app-nav{display:flex;gap:6px;padding:12px 0 0}.app-nav button{flex:1;min-height:42px;border:1px solid #e5d8ef;border-radius:13px;background:#fff;color:#8a709d;font-weight:700;font-size:12px}.app-nav button[aria-current=page]{background:#f0e5fb;color:#79509c;border-color:#d5b8e9}.private-note{font-size:11px;line-height:1.6;background:#fff8e4;border:1px solid #efdfb5;color:#80642c;padding:12px 14px;border-radius:13px;margin:20px 0}.package{border:2px solid #e5d5f1;border-radius:23px;padding:20px;margin:20px 0 25px;background:#fff}.package-heading{display:flex;gap:12px;align-items:center}.package-heading>img{object-fit:contain;flex-shrink:0;border-radius:14px}.package-heading .eyebrow{margin-bottom:5px}.package-heading h2{font-size:20px;line-height:1.25;margin:0 0 5px}.package-heading p[lang=ko]{font-size:17px;margin:0;font-weight:650;color:#795598;word-break:keep-all}.package-summary{font-size:13px;color:var(--muted);line-height:1.55;margin:15px 0 12px}.package-status{display:inline-block;background:#f3edfa;color:#79569a;border-radius:8px;padding:5px 9px;font-size:10px}.package .primary{margin-top:15px}.package-files{display:grid;margin:18px 0 0}.package-files a{position:relative;text-decoration:none;display:flex;flex-direction:column;gap:3px;padding:14px 22px 14px 0;border-top:1px solid #eee5f5;color:#6e448f;font-size:13px;font-weight:650}.package-files small{font-weight:400;font-size:10px;color:var(--muted)}.file-arrow{position:absolute;right:0;top:17px;font-size:17px}.video-review{border:1px solid #e6daee;background:#fcf9ff;border-radius:13px;padding:12px;margin:10px 0 0;font-size:12px;color:#795598}.video-review summary{font-weight:650}.video-review p{font-size:11px}.video-review video{display:block;width:100%;max-height:380px;background:#f6f0fb;border-radius:9px;margin:12px auto}.video-review a{font-size:11px;color:#795598}.package-pending{font-size:11px;color:var(--muted);margin:12px 0 0}@media(max-width:400px){.package{padding:16px}.package-heading>img{width:67px;height:67px}.package-heading h2{font-size:18px}.package-heading p[lang=ko]{font-size:14px}.package-heading{gap:8px}.app-nav button{font-size:11px}}
.copy-practice{border:1px solid #dec9ed;border-radius:14px;padding:12px 14px;background:#fcf9ff;margin-top:16px;font-size:13px;color:#765292}.copy-practice label{display:block;margin:14px 0 8px;font-size:12px}.copy-practice label span{font-size:18px;color:var(--ink);display:block;margin-top:6px}.copy-practice>div{display:flex;gap:7px}.copy-practice input{min-width:0;width:100%;font-size:18px;border:2px solid #dccae9;border-radius:10px;padding:9px}.copy-practice button{border:1px solid #cfb6e2;border-radius:10px;padding:8px 13px;background:#f0e3fa;color:#704791;font-weight:700}.copy-practice p{font-size:11px;margin:10px 0 2px;color:var(--muted)}.copy-practice input:focus-visible{outline:3px solid #b984de;outline-offset:2px}
.collection-note{font-size:11px;line-height:1.55;padding:13px 15px;border:1px solid #e2d0ee;background:#faf5ff;border-radius:14px;color:#7e6790;margin:18px 0}.bank-filter{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 12px}.bank-filter button{padding:8px 12px;border:1px solid #dfcbea;background:#fff;border-radius:20px;color:#7e5b9a;font-size:11px;min-height:38px}.bank-filter button[aria-pressed=true]{background:#8c5abb;color:#fff;border-color:#8c5abb}.bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bank-tile{position:relative;display:flex;flex-direction:column;text-align:left;gap:7px;border:1px solid #e5d7ef;border-bottom:3px solid #decaef;border-radius:17px;background:#fff;padding:14px;color:var(--ink);min-width:0}.bank-tag{font-size:9px;color:#9070a7}.bank-tile>span[lang]{font-size:20px;font-weight:700;word-break:keep-all;overflow-wrap:anywhere;line-height:1.45}.bank-tile small{font-size:11px;color:var(--muted);line-height:1.4}.bank-check{position:absolute;top:9px;right:10px;color:#45815d;font-size:12px}.bank-korean{font-size:35px;white-space:pre-line;overflow-wrap:anywhere}.bank-quiz h2{font-size:18px;margin-top:22px}.bank-pagination{display:flex;gap:9px;align-items:center}.bank-pagination button{margin-top:20px;font-size:12px}.bank-pagination .secondary{min-height:52px}.app-nav button{padding:8px 5px}@media(max-width:400px){.bank-tile{padding:12px 10px}.bank-tile>span[lang]{font-size:18px}.bank-korean{font-size:28px}.bank-grid{gap:8px}.bank-filter{gap:5px}.bank-filter button{padding:7px 10px}.app-nav button{font-size:10px}}
.bank-dialogue{border-top:1px solid #eee3f4;padding-top:14px;margin-top:14px;width:100%}.bank-dialogue p{font-size:23px;line-height:1.45;font-weight:650;word-break:keep-all;margin:4px 0}.bank-dialogue small{display:block;color:var(--muted);font-size:13px;margin:5px 0 10px}
/* Keep small purple labels and primary-button text readable. */
.eyebrow,.bank-tag,.role-label{color:#735582}.app-nav button{color:#735582}.primary{background:#8651b8}.primary:hover{background:#7b46ad}

.watch-lesson{display:block;margin:15px 0 8px;padding:12px 14px;border:1px solid #c9addf;border-radius:13px;background:#f6edfd;color:#70468e;text-align:center;font-size:13px;font-weight:700;text-decoration:none}
/* Picture-led guided lessons: the existing palette and illustration style stay. */
.app-nav button{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;min-height:62px}.app-nav button>span{font-size:22px}.app-nav small{flex-basis:100%;font-size:10px;line-height:1;margin-top:-7px}.visual-start{padding:18px 20px;background:#faf4ff;border:2px solid #e6d5f5;border-radius:23px;margin:20px 0 26px;text-align:center}.picture-path{display:flex;align-items:center;justify-content:center;gap:15px}.picture-path>span{font-size:34px}.picture-path>b{color:#b097c8;font-weight:500}.visual-start .primary{font-size:23px;min-height:66px;margin-top:12px}.visual-start .primary>span{margin-right:10px}.visual-start p{font-size:12px;color:var(--muted);margin:13px 0 0}.start-pulse{animation:gentle-invite 2.8s ease-in-out 3}@keyframes gentle-invite{0%,100%{box-shadow:0 0 0 0 #ae83d733}50%{box-shadow:0 0 0 7px #ae83d71a}}.lesson small{display:block}.visual-steps{display:flex;list-style:none;gap:7px;padding:0;margin:0 0 21px}.visual-steps li{flex:1;text-align:center;padding:10px 3px;background:#faf7fc;border:2px solid #f0e8f7;border-radius:16px;color:#887394}.visual-steps li[aria-current=step]{color:#68408a;background:#f0e1fe;border-color:#b990db}.visual-steps li>span{display:block;font-size:27px;line-height:1.3}.visual-steps small{display:block;font-size:11px}.visual-steps small[lang=en]{font-size:9px}.guide-heading{font-size:28px;margin:0 0 8px}.guide-heading small{display:block;font-size:14px;color:var(--muted);font-weight:500;letter-spacing:0;margin:7px 0 0}.guide-status{font-size:13px;color:#695479;min-height:22px;margin-bottom:13px}.guided-card{min-height:240px;gap:9px}.picture{display:inline-flex;align-items:center;justify-content:center;font-size:70px;line-height:1.2;vertical-align:middle;min-width:80px;min-height:84px}.picture svg{width:90px;height:80px}.guide-reply{font-size:25px;color:#79638c}.guide-meaning{font-size:12px;color:var(--muted);margin-top:5px}.guide-meaning summary{margin:auto;min-height:35px;padding:6px}.guide-meaning p{margin:6px 0;line-height:1.5}.repeat-turn{display:flex;align-items:center;gap:16px;margin:0 auto}.repeat-turn>span:first-child{font-size:31px}.repeat-turn #guide-count{display:grid;place-items:center;width:47px;height:47px;border:3px solid #cab0e2;border-radius:50%;font-size:22px;font-variant-numeric:tabular-nums;color:#79569b}.picture-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:17px 0}.picture-choices .choice{position:relative;display:flex;align-items:center;justify-content:center;min-height:126px;padding:12px 3px}.picture-choices .picture{font-size:52px;min-width:0;min-height:70px}.picture-choices svg{width:70px;height:68px}.answer-mark{position:absolute;right:6px;top:2px;font-size:23px}.sound-choices .choice{font-size:23px;text-align:center;position:relative}.guide-controls{position:sticky;bottom:0;background:#fffefaed;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:13px -6px 0;padding:8px 6px 12px;border-radius:14px;z-index:2}.guide-controls button{font-size:28px;line-height:1.2;min-height:72px;margin:0;padding:8px 3px}.guide-controls button>span{display:block;font-size:10px;line-height:1.6;white-space:nowrap}.guide-help{font-size:11px;line-height:1.75;color:var(--muted);text-align:center;margin:7px 0 10px}.listening-question{font-size:50px;color:#9273b0}.feedback .picture{font-size:29px;min-width:35px;min-height:38px}.feedback .picture svg{width:38px;height:38px}.feedback>div{font-size:21px;margin-top:6px}.audio-fallback{background:#fff7dc;border:2px solid #ecd584;padding:14px;border-radius:16px;margin:12px 0}.audio-fallback>b{font-size:26px}.audio-fallback p{font-size:12px;margin:7px 0 0;color:#725d28}.guide-type-label{display:block;font-size:22px;margin-top:16px}.guide-type-input{width:100%;padding:12px;border:2px solid #e2d1ef;border-radius:13px;font:inherit;font-size:25px}.done-word{font-size:24px;margin:8px 0}.done-word .picture{font-size:28px;min-height:35px;min-width:35px}.done-word .picture svg{width:35px;height:35px}@media(max-width:400px){.visual-start{padding:16px 12px}.picture-path{gap:9px}.picture-path>span{font-size:28px}.guide-heading{font-size:25px}.guided-card{min-height:215px}.picture-choices .choice{min-height:100px}.picture-choices .picture{font-size:43px}.picture-choices svg{width:55px}.guide-controls{gap:6px}.guide-controls button>span{font-size:9px}.app-nav button{gap:4px;font-size:12px}}@media(prefers-reduced-motion:reduce){.start-pulse{animation:none}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Completed lesson collection */
.catalog-group{margin:1.25rem 0;border:1px solid #d7c9e6;border-radius:16px;padding:1rem}.catalog-group>summary{font-size:1.15rem;font-weight:700;cursor:pointer;min-height:44px}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.catalog-card{min-width:0;border:1px solid #ddd1e8;border-radius:16px;padding:1rem;background:#fff}.catalog-card img,.catalog-hero{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:12px}.catalog-card h2{font-size:1.25rem;overflow-wrap:anywhere}.catalog-actions{display:flex;flex-wrap:wrap;gap:.6rem}.catalog-actions button{flex:1 1 9rem;min-height:48px}.catalog-expressions{display:grid;gap:1rem;margin:1rem 0}.catalog-expressions .card{margin:0}.catalog-expressions h2{font-size:clamp(1.5rem,5vw,2.2rem);word-break:keep-all;overflow-wrap:anywhere}.completed-entry{border:2px solid #9d7fc5}.catalog-card .eyebrow{margin-top:.8rem}@media(max-width:600px){.catalog-grid{grid-template-columns:1fr}.catalog-group{padding:.7rem}.catalog-card{padding:.8rem}}

/* Clear paper-practice and next-lesson paths */
.workbook-card{border:1px solid #d7c9e6;border-radius:16px;background:#fff;padding:1rem;margin:1.25rem 0}.workbook-card h3{font-size:1.2rem;line-height:1.4;margin:.5rem 0}.workbook-card p{font-size:1rem;line-height:1.55}.workbook-card .eyebrow,.workbook-card .resource-note{font-size:.875rem}.workbook-card a.primary{display:block;text-decoration:none;text-align:center;min-height:48px;white-space:normal;overflow-wrap:anywhere;font-size:1rem}.catalog-result-actions{display:flex;flex-direction:column;gap:.75rem}.catalog-result-actions button{width:100%;min-height:48px;white-space:normal;overflow-wrap:anywhere;font-size:1rem;line-height:1.5}

/* Readable footer and collaboration route */
footer .footer-brand{font-size:1rem;font-weight:750;color:var(--ink)}footer .copyright,footer .footer-note{font-size:.875rem;line-height:1.6}footer .footer-contact{margin:1.25rem 0;text-align:left;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--light)}footer .footer-contact h2{font-size:1.1rem;margin:0 0 .5rem}footer .footer-contact p,footer details p{font-size:.875rem;line-height:1.65;overflow-wrap:anywhere}footer .footer-contact-link{display:inline-flex;align-items:center;min-height:48px;padding:.5rem .75rem;font-size:1rem;color:var(--purple);font-weight:700;white-space:normal}footer details summary{font-size:1rem;min-height:44px;display:list-item;padding:.65rem 0;cursor:pointer}footer details{text-align:left}
