:root{font-size:16px}.phone{min-height:0;height:min(960px,calc(100dvh - 40px))}.app{min-height:0}.screen{min-height:0;padding-bottom:104px}.topbar .brand{font-size:16px}.brandmark{font-size:14px}.proto-version{font-size:12px;color:#c3d8f2}.pagehead h2:focus{outline:none}.pagehead p,.small-note,.counter,.badge,.demo-pill,.navbtn,.col span,.example span,.quick span,.price small,.eyebrow{font-size:12px}.hero{padding-top:22px}.hero h1{font-size:28px}.hero p,.mouth,.tip,.pain p,.testcard p,.card p,.issues p{font-size:16px;line-height:1.65}.hero .cta{margin-top:20px}.hero .small-note{color:#cedef3}.hero strong{display:block;margin-top:9px}.section-title a,.metric,.speed button,.sound-switch button,.hard span,.chip,.day p,.feature-list,.rec-label,.sound-note,.reward span{font-size:14px}.quick b{font-size:20px}.day h3,.reward b,.feedback-row b,.challenge h3{font-size:16px}.day p{line-height:1.5}.hero .wave{display:none}.cta{cursor:pointer;margin-top:12px;line-height:1.4}.cta:first-child{margin-top:0}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}.back{flex-shrink:0}.demo-note{font-size:14px;line-height:1.6;border-color:#edd290;color:#715413;margin-bottom:16px}.demo-pill{font-size:12px}.demo-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.sound-note{color:var(--muted);line-height:1.5;margin:10px 0}.voice-control{margin:12px 0}.voice-control .sound-switch{background:#e6eef9;display:inline-flex;border:0}.voice-control .sound-switch button{color:var(--muted)}.voice-control .sound-switch button.on{background:var(--navy);color:white}.levels{margin:16px 0}.levels button{border:0;flex:1;border-radius:11px;padding:12px 3px;font-size:14px;background:#e9eef5;color:var(--muted)}.levels button.on{background:var(--navy);color:white}.levels button .tick{color:var(--mint)}.sound-symbol{font-size:clamp(25px,7vw,40px);overflow-wrap:anywhere}.sound-card{text-align:left}.sound-card .sound-symbol{text-align:center}.sound-card .listen{display:block}.error-tag{font-size:14px;line-height:1.6;display:block}.examples{grid-template-columns:repeat(3,minmax(0,1fr))}.example{border:1px solid var(--line);color:var(--ink)}.example span{display:block;overflow-wrap:anywhere;line-height:1.7}.sentence,.sentence-jyut{overflow-wrap:anywhere;line-height:1.65}.sentence{font-size:25px}.sentence-jyut{font-size:17px;letter-spacing:.35px}.phonemes{flex-wrap:wrap}.phonemes span{font-size:14px;padding:7px}.phonemes .wrong{background:#fff0cf;color:#8c5600;border-bottom:3px solid var(--gold)}.lesson-hero{padding-top:19px}.record-stage .rec{width:112px;height:112px;font-size:14px;line-height:1.5}.record-stage .rec-label{min-height:25px}.listen{display:inline-grid;place-items:center;margin:10px auto;font-size:20px}.example:hover,.day:hover,.hard:hover{border-color:#aac8f5}.progressbar{height:9px}.unitline{display:flex;align-items:center;justify-content:space-between;gap:10px;background:white;border:1px solid var(--line);width:100%;padding:16px;border-radius:15px;text-align:left;margin:9px 0}.unitline b{font-size:16px;line-height:1.4}.unitline small{color:var(--muted);font-size:12px;display:block;margin-top:5px}.startext{font-size:15px;color:#997000;white-space:nowrap}.subnav{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.subnav button{border:1px solid var(--line);background:white;color:var(--blue);border-radius:12px;padding:11px;font-size:14px;flex:1}.source-link{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.tone-table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}.tone-table td,.tone-table th{padding:8px 3px;border-bottom:1px solid var(--line);text-align:left}.tone-table caption{text-align:left;font-weight:700;padding:10px 0}.choice{display:flex;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;width:100%;margin:7px 0;font-size:16px;color:var(--ink)}.choice.selected{border-color:var(--blue);background:var(--sky)}.chart{height:155px;gap:7px}.col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-width:0}.col i{flex:none;min-height:4px}.col span{line-height:1.5}.dash-score b{font-size:40px}.empty-state{text-align:center;padding:25px 8px;color:var(--muted);font-size:16px;line-height:1.7}.scoreflash{font-size:58px}.score-ring{background:conic-gradient(var(--blue) 0 var(--pct),#e8eef7 var(--pct))}.feedback-row{align-items:flex-start}.feedback-row small{font-size:14px;line-height:1.65;display:block}.pay-modal{align-items:center;justify-content:center;padding:15px}.pay-sheet{border-radius:22px;max-height:90%;overflow:auto}.pay-sheet p{font-size:16px;line-height:1.6}.pay-sheet button{width:100%}.badge-title{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--blue)}.badge-title.light{color:#bfd8f5}.sharecard .demo-pill{margin-bottom:18px}.sharecard .share-code{display:block;font-size:14px;line-height:1.6}.report-cover p{line-height:1.7;font-size:16px}.test-char{font-size:clamp(24px,8vw,58px);line-height:1.5;overflow-wrap:anywhere}.small-note{line-height:1.6}.toast{max-width:90%;white-space:normal;text-align:center;line-height:1.5;min-width:210px}.check-row{display:flex;align-items:center;gap:12px;margin:15px 0;font-size:14px}.check-row input{width:20px;height:20px}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.share-actions button{font-size:14px}.mini-preview{background:#eaf3ff;padding:12px;border-radius:12px;font-size:14px;line-height:1.5}.reward .reward-icon{flex-shrink:0}.reward>div{flex:1}.reward .claim{border:0;background:var(--blue);color:#fff;padding:8px;border-radius:9px;font-size:13px}.voice-warning{font-size:14px;color:#795b17;background:#fff6e0;border-radius:10px;padding:9px;line-height:1.5}.margin-top{margin-top:18px}.diagnostic-btn{width:100%;font-size:15px;border:0;background:var(--gold);color:var(--navy);padding:15px;border-radius:14px;font-weight:800}.statsmini{display:flex;justify-content:space-between;gap:10px;font-size:14px;line-height:1.5}.modebar{background:#fff0c8;color:#725218;text-align:center;font-size:13px;padding:8px}.sourcefoot{font-size:12px;color:var(--muted);line-height:1.8;margin:20px 0}.price .price-top{align-items:center}.price del{display:none}.gold-number{font-size:40px;font-weight:900;color:var(--gold)}.navbtn{min-height:60px}.bottom{height:calc(72px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:520px){.phone{height:100dvh;min-height:0;width:100%;border-radius:0}.stage{padding:0}.screen{padding-left:17px;padding-right:17px}.topbar{padding-left:17px;padding-right:17px}.hero h1{font-size:clamp(25px,7vw,30px)}}
.admin-tabs{display:flex;gap:5px;margin:15px 0}.admin-tabs button{flex:1;border:1px solid var(--line);border-radius:10px;background:white;color:var(--muted);padding:12px 5px;font-size:15px}.admin-tabs button.on{background:var(--navy);color:white}.admin-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-stats>div{border:1px solid var(--line);border-radius:15px;padding:16px;background:#fff}.admin-stats span{display:block;color:var(--muted);font-size:14px}.admin-stats b{display:block;font-size:24px;color:var(--navy);margin-top:10px}.promoter-card{margin:13px 0;padding:17px}.promoter-card h3{font-size:17px;margin:4px 0 14px}.promoter-card p{font-size:14px;line-height:1.75;overflow-wrap:anywhere}.field{display:block;margin:14px 0;font-size:14px;line-height:1.7;font-weight:600}.field input,.field select{display:block;box-sizing:border-box;width:100%;padding:12px 10px;border:1px solid #c9d4e2;border-radius:11px;background:#fff;color:var(--ink);font-size:16px;margin-top:7px;min-height:45px}.field input[readonly]{font-size:13px;background:#f4f7fb}.input-unit{display:flex;gap:10px;align-items:center}.input-unit input{flex:1;min-width:0}.admin-entry{font-size:14px;color:var(--navy)}.guest-admin-note{background:#e5f4ff;border-left:4px solid var(--blue);font-size:14px;padding:13px;line-height:1.6}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.steps{display:flex;gap:0;margin:10px 0 20px;background:#eaf0f7;border-radius:15px;padding:5px}.steps button{flex:1;border:0;background:transparent;color:var(--muted);padding:11px 6px;border-radius:11px;font-size:16px;font-weight:600;display:flex;justify-content:center;align-items:center;gap:8px}.steps button span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:white;font-size:13px}.steps button.on{background:var(--navy);color:white}.steps button.on span{background:#274968}.lesson-simple{padding:24px 20px}.lesson-simple .focus-sound{margin:20px 0 4px}.lesson-simple .sentence{font-size:28px}.auto-status{font-size:14px;line-height:1.65;color:var(--muted);margin:22px 0 10px;min-height:46px;text-align:center}.demo-inline{font-size:12px;line-height:1.6;color:var(--muted);text-align:center;margin-top:16px}.word-pair{display:grid;grid-template-columns:1fr 1.5fr;gap:14px;padding:25px 0 12px;align-items:center}.word-pair>div{display:flex;flex-direction:column;text-align:center;min-width:0}.word-pair>div+div{border-left:1px solid var(--line);padding-left:14px}.word-pair small{font-size:14px;color:var(--muted)}.word-pair b{font-size:30px;line-height:1.6;overflow-wrap:anywhere}.word-pair span{color:var(--blue);font-size:16px;line-height:1.6;overflow-wrap:anywhere}.sentence-picker{margin:18px 0;display:flex;align-items:center;gap:12px}.sentence-picker label{font-size:14px;color:var(--muted);white-space:nowrap}.sentence-picker select{width:100%;min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;font-size:14px;color:var(--ink)}.text-action{display:block;margin:18px auto 0;border:0;background:transparent;color:var(--blue);font:inherit;font-size:14px;padding:9px 12px;cursor:pointer}.more-links{margin-top:24px;font-size:14px;color:var(--muted);line-height:1.8}.more-links summary{cursor:pointer}.quick b{font-size:17px}.learning-path span{width:68px}.lesson-simple .rec-label:empty{display:none}
.focus-sound{font-size:64px;margin:16px 0 5px}.listen-prompt{display:flex;align-items:center;justify-content:center;gap:14px;font-size:16px;color:var(--ink)}.listen-prompt .listen{margin:8px 0}.audio-settings{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.audio-settings summary{font-size:14px;color:var(--blue);cursor:pointer;line-height:1.6}.cta.recording{background:var(--red);animation:pulse 1.1s infinite}.tone-table .chip{font-size:14px}
.inventory{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-top:18px}.inventory b{font-size:17px}.inventory p{font-size:14px;line-height:1.7;color:var(--muted)}.learning-path{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted)}.learning-path span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--sky);color:var(--blue);font-weight:800;font-size:20px}.sound-inventory{color:var(--blue)!important;margin-top:6px!important;word-break:normal;overflow-wrap:anywhere}.sound-tile{flex:0 0 65px;min-height:56px;display:grid;place-items:center;border-radius:12px;background:var(--sky);color:var(--blue);font-weight:800;font-size:24px;overflow-wrap:anywhere}.unitline>div{flex:1;min-width:0}.blue{color:var(--blue)}.word-tabs{display:flex;gap:8px;margin:12px 0}.word-tabs button{flex:1;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:13px}.word-tabs button.on{border-color:var(--blue);color:var(--blue);background:var(--sky)}.voice-label{display:block;font-size:12px;color:var(--muted);line-height:1.5;text-align:left}.voice-label select{display:block;width:100%;max-width:100%;font-size:13px;padding:10px;border-radius:10px;border:1px solid var(--line);margin-top:6px;background:white;color:var(--ink)}.sentence-controls{margin:16px 0;padding:14px;background:#eef4fd;border-radius:15px;font-size:14px}.sentence-controls>div{display:flex;gap:8px;margin-top:10px}.sentence-controls button{flex:1;margin:0;font-size:13px;padding:12px 7px}.card summary{font-weight:700;line-height:1.6;cursor:pointer}.card details{margin:12px 0}
/* Focused practice: the item remains in place while scores update below it. */
.phone.learning .bottom{display:none}.phone.learning #content{padding-bottom:28px}.phone.learning .topbar{height:46px;flex-basis:46px}.phone.learning .pagehead{padding:12px 0 8px}.phone.learning .pagehead h2{font-size:16px}.phone.learning .pagehead p{font-size:13px}.phone.learning .back{flex-shrink:0}
.focus-heading{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted);margin:9px 0 0}
.spoken-target{font-size:80px;font-weight:800;line-height:1.3;text-align:center;margin:8px 0 3px;color:var(--navy);overflow-wrap:anywhere;letter-spacing:2px}
.spoken-target.medium{font-size:48px;letter-spacing:0}.spoken-target.long{font-size:34px;letter-spacing:0;line-height:1.45}
.target-jyut{text-align:center;color:var(--blue);font-size:21px;font-weight:700;line-height:1.6;overflow-wrap:anywhere;margin-bottom:12px}
.compact-steps{margin:10px 0 15px;gap:5px}.compact-steps button{padding:9px 3px;font-size:14px}.compact-steps button span{width:20px;height:20px;font-size:12px}.compact-steps button:disabled{opacity:.52;cursor:default}
.teaching-copy{background:#edf4ff;border-left:3px solid var(--blue);border-radius:3px 12px 12px 3px;padding:12px 14px;margin:12px 0}.teaching-copy>span{font-size:13px;color:#235798;font-weight:700}.teaching-copy p{font-size:16px;line-height:1.75;margin:6px 0 0;color:var(--ink)}
.focus-tip{font-size:15px;line-height:1.65;color:var(--muted);margin:12px 0}
.tone-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 7px}
.tone-strip>div{text-align:center;padding:6px 0}.tone-strip b{display:block;font-size:28px;color:var(--navy)}.tone-strip span{display:block;font-size:14px;color:var(--blue)}.tone-strip small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.tone-strip>div.entering{grid-column:span 2;border-top:1px solid var(--line);padding-top:10px}.tone-strip>div.entering b{display:inline;margin-right:5px;font-size:22px}.tone-strip>div.entering span{display:inline}.tone-caption{font-size:13px;line-height:1.5;color:var(--muted);text-align:center;margin:6px 0 12px}
.inline-score{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin:14px 0;min-height:140px}
.inline-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px}.inline-summary>strong{font-size:32px;line-height:1.2;white-space:nowrap;color:var(--blue)}.inline-summary small{font-size:13px;font-weight:500;margin-left:4px;color:var(--muted)}.inline-summary>span{font-size:14px;line-height:1.5}.inline-summary.pending>span{color:var(--muted)}.inline-summary.needs-work>strong{color:#a15a08}
.character-scores{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0 0}.character-scores>span{display:flex;flex-direction:column;align-items:center;min-width:44px;background:#f3f6fb;border-radius:9px;padding:7px 5px}.character-scores b{font-size:20px;font-weight:700}.character-scores small{font-size:13px;color:var(--blue);margin:2px 0}.character-scores em{font-size:12px;font-style:normal;color:var(--muted)}.character-scores .needs-work{background:#fff2dc}.character-scores .needs-work em{color:#925409}
.score-detail{border-top:1px solid var(--line);margin-top:11px;padding-top:10px;font-size:14px}.score-detail summary{cursor:pointer;color:var(--muted)}.score-detail p{line-height:1.6}.score-detail .text-action{display:inline-block;width:auto;font-size:14px;padding:8px 5px;margin:0 8px 0 0}
.practice-controls{padding:0 0 5px}.practice-controls .cta{box-shadow:none}.practice-controls .auto-status{font-size:14px;line-height:1.6;min-height:44px;text-align:center;margin:5px 0}.relisten{display:block;margin:4px auto 10px;border:1px solid #c7d8ee;border-radius:999px;background:#fff;color:var(--blue);padding:10px 24px;min-height:44px;font-size:16px;font-weight:600}.practice-controls .rec-label{margin:4px 0;min-height:16px}.practice-controls .demo-inline{margin-top:2px;font-size:12px;line-height:1.5}
.lesson-details{border-top:1px solid var(--line);padding:14px 0;font-size:14px;color:var(--muted)}.lesson-details summary{cursor:pointer}.lesson-details p{line-height:1.7}.practice-list{margin:10px 0}.practice-list button{display:flex;justify-content:space-between;gap:12px;width:100%;border:0;border-bottom:1px solid var(--line);padding:12px 2px;text-align:left;color:var(--ink);background:transparent;font-size:15px;line-height:1.5}.practice-list button b{color:var(--blue);font-size:14px}.practice-list button:disabled{opacity:.5}
@media(max-width:380px){.spoken-target{font-size:68px}.spoken-target.medium{font-size:42px}.spoken-target.long{font-size:30px}.target-jyut{font-size:18px}.tone-strip{gap:2px;padding:10px 3px}.tone-strip small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.recording{animation:none!important}}
.phone.learning #content{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
.phone.learning #content>.pagehead{flex-shrink:0}
#lesson-surface{display:flex;flex-direction:column;flex:1;min-height:0}
.focus-reading{flex-shrink:0;background:#f7f9fc}
.learning-notes{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 2px 10px}
.practice-controls{flex-shrink:0;background:#f7f9fc;border-top:1px solid var(--line);padding:6px 0 max(8px,env(safe-area-inset-bottom))}
.practice-controls .auto-status{min-height:40px;margin:0 0 3px}
.practice-controls .cta{margin-top:0;padding:13px}
.practice-controls .relisten{margin:3px auto 8px;padding:8px 22px}
.practice-controls .rec-label{min-height:0;font-size:12px}
.focus-reading .compact-steps{margin-bottom:10px}
@media(max-height:760px){.phone.learning .spoken-target{font-size:60px;margin-top:4px}.phone.learning .spoken-target.medium{font-size:38px}.phone.learning .spoken-target.long{font-size:28px}.phone.learning .target-jyut{font-size:17px;margin-bottom:5px}.phone.learning .focus-heading{font-size:13px;margin-top:2px}.phone.learning .compact-steps{margin-top:5px}.phone.learning .compact-steps button{padding:6px 3px}.phone.learning .pagehead{padding:8px 0 5px}}
@media(max-height:560px){.phone.learning #content{display:block;overflow:auto}#lesson-surface{display:block}.learning-notes{overflow:visible}.focus-reading{position:sticky;top:0;z-index:2}}
.usage-meaning{text-align:center;margin-top:10px}.usage-meaning small{display:block;color:var(--muted);font-size:13px;margin-bottom:4px}.usage-meaning b{font-size:18px;line-height:1.5;font-weight:500}.usage-step{text-align:center;color:var(--muted);font-size:14px;margin:8px 0 12px}.usage-gloss{display:block;font-size:14px;color:var(--muted);margin-top:5px}.usage-pack:disabled{opacity:.7}.usage-pack>span:last-child{font-size:13px;color:var(--muted);white-space:nowrap}
.header-tools{display:flex;align-items:center;gap:3px}.header-tools button{display:flex;align-items:center;justify-content:center;gap:3px;min-width:38px;min-height:40px;color:#dceaff;background:transparent;border:0;border-radius:9px;padding:6px;font-size:12px}.header-tools svg{width:19px;height:19px}.brand{font-size:15px}.phone.learning .header-tools button{min-height:38px}
.reference-modal .pay-sheet{width:100%;max-height:calc(100% - 24px);overflow-y:auto;overscroll-behavior:contain;padding:18px 18px 28px;border-radius:22px 22px 0 0;background:#f7f9fc}.reference-header{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:-18px;z-index:2;background:#f7f9fc;padding:10px 0}.reference-header h2{font-size:19px;margin:0}.reference-header .back{flex-shrink:0}.reference-search{display:block;margin:8px 0}.reference-search>span{font-size:12px;color:var(--muted);display:block;margin-bottom:7px}.reference-search input{width:100%;font:inherit;font-size:16px;border:1px solid #d0dded;border-radius:13px;padding:13px;color:var(--ink);background:#fff}.reference-note{font-size:13px;line-height:1.7;color:var(--muted);margin:12px 0}.reference-group h3{font-size:15px;margin:22px 0 10px}.reference-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.reference-grid button{min-height:62px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px 2px;color:var(--navy)}.reference-grid b{display:block;font-size:22px;overflow-wrap:anywhere}.reference-grid small{display:block;font-size:13px;color:var(--muted);margin-top:4px}.reference-grid button:focus-visible{background:var(--sky)}.reference-target{text-align:center;margin:12px 0 20px}.reference-target small{display:block;color:var(--muted);font-size:14px}.reference-target strong{display:block;font-size:66px;color:var(--blue);line-height:1.4}.reference-target b{display:block;font-size:50px;color:var(--navy)}.reference-target span{display:block;color:var(--blue);font-size:22px;margin-top:5px}.voice-options{display:grid;gap:10px;margin:18px 0}.voice-options button{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff;color:var(--ink);font-size:16px;text-align:left}.voice-options button.on{background:var(--sky);border-color:var(--blue);color:var(--blue)}.voice-options small{font-size:12px;font-weight:400;color:var(--muted)}.voice-options button:disabled{opacity:.55}.reference-modal .text-action{font-size:14px}
@media(max-width:360px){.brand{font-size:14px;gap:5px}.topbar{padding-left:12px;padding-right:12px}.reference-grid{gap:5px}.reference-grid b{font-size:20px}}

.inspectionbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;padding:6px 16px;background:#fff4d9;border-bottom:1px solid #f2dfb0;font-size:12px;color:#785819;line-height:1.5}.inspectionbar[hidden]{display:none}.inspectionbar button{border:0;background:transparent;color:#785819;text-decoration:underline;font:inherit;padding:5px 0;white-space:nowrap}.inspection-next{display:block;border:0;background:transparent;color:#795819;font:inherit;font-size:12px;line-height:1.5;padding:6px 10px;margin:0 auto}.inspection-next:focus-visible{outline:2px solid var(--blue)}

.live-playback{display:block;width:100%;height:42px;margin:12px 0}.assessment-pending{font-size:13px;line-height:1.7;color:#735b29;background:#fff7e7;border-radius:10px;padding:10px}.recording-quality{font-size:13px;line-height:1.6;color:var(--muted)}.mic-meter{height:12px;background:#e3ebf3;border-radius:10px;overflow:hidden;margin:15px 0}.mic-meter i{display:block;height:100%;width:0;background:var(--mint);transition:width .1s}.voice-label{margin:12px 0}.tone-height{margin:6px 0 14px;padding:12px 8px;background:white;border:1px solid var(--line);border-radius:16px}.tone-height img{display:block;width:100%;height:auto}.tone-height figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 4px}.tone-detail{font-size:15px;line-height:1.8;color:var(--ink);background:var(--sky);border-radius:12px;padding:13px;margin:10px 0}.tone-detail b{color:var(--blue)}

.header-tools .sound-search-prominent{background:var(--gold);color:var(--navy);border:1px solid #ffcf72;border-radius:12px;min-width:77px;min-height:42px;padding:8px 10px;gap:5px;font-size:16px;font-weight:800;box-shadow:0 2px 8px #0002}.header-tools .sound-search-prominent svg{width:21px;height:21px}.phone.learning .header-tools .sound-search-prominent{min-height:38px;padding:6px 10px}.header-tools{gap:5px}@media(max-width:360px){.header-tools .sound-search-prominent{min-width:70px;font-size:15px;padding:7px}.header-tools button:last-child{min-width:30px;width:30px}.brandmark{width:23px;height:23px}}

.phonetic-symbol{font-size:88px;line-height:1.12;font-weight:800;color:var(--blue);text-align:center;letter-spacing:1px;margin:8px 0 2px;overflow-wrap:anywhere}.phone.learning .phonetic-stage .spoken-target{font-size:48px;line-height:1.15;margin:3px 0}.phone.learning .target-jyut{font-size:31px;line-height:1.4;margin-bottom:10px}.phone.learning .phonetic-stage .target-jyut{font-size:34px;margin-bottom:6px}.phone.learning .phonetic-stage .spoken-target+.target-jyut{font-weight:650}.phone.learning .spoken-target.long+.target-jyut{font-size:25px}.phone.learning .phonetic-stage .compact-steps{margin-top:7px;margin-bottom:7px}@media(max-height:760px){.phonetic-symbol{font-size:72px;margin-top:4px}.phone.learning .phonetic-stage .spoken-target{font-size:38px}.phone.learning .phonetic-stage .target-jyut{font-size:29px;margin-bottom:3px}.phone.learning .target-jyut{font-size:27px}.phone.learning .spoken-target.long+.target-jyut{font-size:23px}}

.phone.learning .usage-focus .target-jyut{font-size:40px;line-height:1.4;margin:8px 0 13px}.phone.learning .usage-focus .spoken-target.long+.target-jyut{font-size:32px}.phone.learning .usage-focus .usage-meaning{margin:5px 0 12px}.phone.learning .usage-focus .usage-meaning small{font-size:14px;margin-bottom:5px}.phone.learning .usage-focus .usage-meaning b{display:block;font-size:36px;font-weight:600;line-height:1.35;color:var(--ink)}.phone.learning .usage-focus .usage-step{font-size:13px;margin:5px 0 10px}.phone.learning .usage-focus .spoken-target{margin-top:4px}.phone.learning .usage-focus+.learning-notes .inline-score{margin-top:6px}@media(max-height:760px){.phone.learning .usage-focus .target-jyut{font-size:36px;margin:5px 0 8px}.phone.learning .usage-focus .spoken-target.long+.target-jyut{font-size:29px}.phone.learning .usage-focus .usage-meaning b{font-size:36px}.phone.learning .usage-focus .usage-meaning{margin-bottom:8px}}

.phone.learning .usage-focus{max-height:calc(100dvh - 340px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}

.record-action-row{display:flex;align-items:stretch;gap:9px}.record-action-row>.cta{flex:1;min-width:0;margin:0}.record-action-row>.inspection-next{flex:0 0 98px;margin:0;border:1px solid #efc561;border-radius:14px;background:#fff0c7;color:#684906;font-size:15px;font-weight:750;padding:10px 7px;min-height:48px}.practice-meta{display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;color:var(--muted);line-height:1.4;padding:6px 0 0}.practice-meta button{font:inherit;border:0;background:none;color:#66758a;padding:3px 5px}.recording-ready{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:14px;padding:5px 0}.assessment-badge{display:inline-block;background:#fff2d7;color:#87641c;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:650}.phone.learning .inline-score{min-height:0;padding:12px 14px;margin:10px 0}.recording-error{font-size:14px;line-height:1.6;color:#ae4436;margin:10px 0 0}.signal-detail{font-size:12px;color:var(--muted)}.signal-detail summary{list-style:none;cursor:pointer;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#f7f9fc}.signal-detail p{line-height:1.65;margin:9px 0}.practice-controls .auto-status{font-size:12px;min-height:22px;margin-bottom:4px}.practice-controls .relisten{margin:2px auto 9px;min-height:36px;padding:6px 18px;font-size:15px}.practice-controls{padding-top:6px}.usage-overview{background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px;margin:8px 0 14px}.usage-overview>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.usage-overview b{font-size:17px}.usage-overview span{font-size:12px;color:var(--blue);white-space:nowrap}.usage-overview p{color:var(--muted);font-size:13px;margin:9px 0 0}.course-explainer{padding:13px 15px;margin:12px 0}.course-explainer summary{font-size:14px;color:var(--blue);font-weight:650;cursor:pointer}.course-explainer[open] summary{margin-bottom:15px}

/* Larger replay target, quiet progress markers and one clear resume action. */
.usage-overview .usage-counts{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:flex-start;margin-top:14px}.usage-counts span{color:var(--muted);font-size:13px}.usage-counts b{color:var(--blue);font-size:20px}.usage-choice{text-align:left;align-items:center;gap:12px;min-height:64px}.usage-choice>span:first-child{flex:1;min-width:0}.usage-item-status{flex-shrink:0;text-align:right;font-size:13px;line-height:1.6;color:var(--muted)}.usage-item-status>b{display:block;font-size:12px;color:var(--blue)}.usage-item-status.passed{color:#20725a}.usage-item-status.needs-work{color:#986012}.usage-choice.selected{border:2px solid #76a7e2;background:#edf5ff}.usage-pack>div{flex:1;min-width:0}.usage-pack .daynum{flex-shrink:0}.resume-practice>span{min-width:0}.resume-practice em{overflow-wrap:anywhere}
.practice-controls .relisten,.reference-modal .relisten{width:100%;min-height:54px;margin:2px 0 10px;border:2px solid #7fa9df;border-radius:14px;background:#e9f2ff;color:#164f9a;font-size:21px;font-weight:750;padding:12px 18px}.resume-practice{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:18px;background:var(--navy);color:white;border:0;border-radius:17px;margin:12px 0 18px}.resume-practice small,.resume-practice b,.resume-practice em{display:block}.resume-practice small{font-size:14px;color:#bdd3ee;margin-bottom:7px}.resume-practice b{font-size:17px}.resume-practice em{font-size:14px;font-style:normal;color:#d4e4f7;margin-top:7px}.resume-practice>strong{font-size:16px;white-space:nowrap;color:var(--gold)}.usage-pack.last-practiced{border:2px solid #76a7e2;background:#edf5ff}.usage-pack .pack-status{font-size:14px;font-weight:650}.usage-pack.last-practiced .pack-status{color:#175ca7}.usage-pack.pack-done .daynum{background:#dff3ea;color:#20725a}.record-action-row>.inspection-next:disabled{background:#eef1f5;color:#87909e;border-color:#d7dce4;cursor:not-allowed}.practice-meta{font-size:12px}.practice-controls .auto-status{font-size:13px}

.isolated-caption{text-align:center;color:var(--muted);font-size:16px;padding:12px 0 18px}.real-word-scores{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.real-word-scores span{background:#eaf5ef;padding:8px 10px;border-radius:9px}.real-word-scores b,.real-word-scores em{display:block;font-style:normal;text-align:center}.real-word-scores .weak{background:#fff0d6}.real-word-scores em{font-size:13px;margin-top:4px}

.phonetic-play{display:block;width:100%;border:0;background:transparent;color:inherit;font-family:inherit;cursor:pointer}.phonetic-play:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:12px}.phonetic-play:active{color:var(--blue)}.record-action-row>.inspection-next{flex-basis:112px}

/* Keep all ten choices in view without crowding the large reading target. */
.practice-picker{padding:10px 0 12px}.practice-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.practice-picker-heading>b{font-size:15px;color:var(--ink)}.practice-picker-heading>span{font-size:12px;color:var(--muted)}.practice-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.practice-pick{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:56px;padding:6px 3px;border:1px solid #dce5ef;border-radius:10px;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.practice-pick-number{font-size:12px;line-height:1.2;color:var(--muted);font-variant-numeric:tabular-nums}.practice-pick>b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3;font-weight:600}.practice-pick.passed .practice-pick-number{color:#20725a}.practice-pick.selected{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 2px 6px #172e4c16}.practice-pick.selected .practice-pick-number{color:#d6e6ff}.practice-pick:disabled{opacity:.46;cursor:default}.practice-pick:focus-visible{outline:3px solid #5596e4;outline-offset:2px}.usage-score-row{display:flex;border-bottom:1px solid var(--line);padding:10px 0}.usage-score-row .usage-gloss{display:block;color:var(--muted);margin-top:4px}

/* All nine tones stay outside the scrolling feedback and explanation area. */
.tone-reading-target{display:flex;align-items:center;justify-content:center;gap:22px;padding:2px 0}.phone.learning .tone-stage .tone-reading-target .spoken-target{font-size:46px;line-height:1.1;margin:0}.phone.learning .tone-stage .tone-reading-target .target-jyut{width:auto;font-size:56px;line-height:1.1;margin:0;padding:0;font-weight:750;color:var(--blue)}.tone-overview{flex-shrink:0}.tone-overview .tone-height{margin:0 0 4px;padding:5px 6px;border-radius:12px}.tone-overview .tone-height img{width:100%;height:auto;max-height:clamp(145px,calc(100dvh - 470px),280px);object-fit:contain}.tone-overview .tone-height figcaption{text-align:center;font-size:11px;line-height:1.4;margin:4px 0 0}.phone.learning .tone-notes .inline-score{margin:5px 0;padding:8px 12px}.tone-notes .lesson-details{padding:8px 0}.tone-stage .focus-heading{margin-top:2px}.phone.learning .tone-stage .compact-steps{margin-top:5px;margin-bottom:6px}
.sentence-meaning{background:#eaf1f9;border:1px solid #d4e1ef;border-radius:14px;padding:10px 15px 12px;margin:8px 0 11px;text-align:center;color:#183651}.sentence-meaning>span{display:block;font-size:12px;font-weight:650;letter-spacing:1px;color:#476482;margin-bottom:3px}.sentence-meaning>p{font-size:26px;font-weight:650;line-height:1.45;margin:0;text-wrap:pretty;overflow-wrap:anywhere}.phone.learning .sentence-stage .target-jyut{margin-bottom:7px}.phone.learning .compact-steps button{gap:5px}.phone.learning .compact-steps button span{min-width:21px;height:21px}@media(max-height:760px){.sentence-meaning{padding:7px 12px 9px;margin:5px 0 7px}.sentence-meaning>p{font-size:23px}.sentence-meaning>span{font-size:11px;margin-bottom:2px}}@media(max-width:360px){.phone.learning .compact-steps button{font-size:14px}}
.brand-title{font-size:14px;line-height:1.15;white-space:nowrap}.brand-title>span{display:block;font-size:12px;font-weight:500;letter-spacing:2px;color:#c6d8ed;margin-top:3px}.header-tools .translation-open-prominent{background:#e7f0fc;border:1px solid #accbe8;color:#153f68;font-size:15px;font-weight:750;min-width:69px;min-height:42px;padding:8px;border-radius:12px;gap:5px}.translation-open-prominent>span{display:grid;place-items:center;width:19px;height:19px;border:1px solid currentColor;border-radius:5px;font-size:12px}.phone.learning .header-tools .translation-open-prominent{min-height:38px}.translation-language-path{display:flex;align-items:center;gap:11px;font-size:15px;color:#365678;margin:10px 0 22px}.translation-language-path>span{color:#7d93ac}.translation-input>span{display:block;font-size:15px;font-weight:650;margin-bottom:9px}.translation-input textarea{resize:vertical;display:block;box-sizing:border-box;width:100%;min-height:118px;max-height:240px;padding:14px;border:1px solid #bdcde0;border-radius:14px;background:#fff;color:#142e4b;font:inherit;font-size:21px;line-height:1.5;outline-offset:3px}.translation-input textarea::placeholder{color:#8494a7;font-size:17px}.translation-input-meta{display:flex;justify-content:space-between;align-items:center;margin:7px 0 14px;color:#70839a;font-size:12px}.translation-input-meta button{border:0;background:transparent;color:#3b628b;min-height:32px;padding:5px 10px;font-size:13px}.translation-examples{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 9px}.translation-examples button{border:1px solid #cfdded;border-radius:999px;background:#fdfefe;color:#31557c;padding:8px 10px;font-size:13px;min-height:36px}.translator-status,.translation-source{font-size:12px;line-height:1.6;color:#667c94}.translator-status{margin:10px 0 18px}.translation-card{background:#fff;border:1px solid #d6e2ee;border-radius:17px;padding:16px 17px;margin:10px 0 13px}.translation-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.translation-card h3{font-size:15px;letter-spacing:.5px;margin:0;color:#496780}.translation-card-top button{border:0;border-radius:999px;background:#eaf2ff;color:#174e8c;min-width:95px;min-height:44px;padding:10px 15px;font-size:15px;font-weight:650}.translation-card p{font-size:29px;color:#13314f;font-weight:650;line-height:1.5;margin:13px 0 8px;overflow-wrap:anywhere}.translation-card .translation-jyut{font-size:21px;line-height:1.5;color:#1965c3;overflow-wrap:anywhere}.translation-card.english{background:#f4f8fd}.translation-card.english p{font-size:25px;line-height:1.4;font-weight:550}.translation-empty{border:1px dashed #c9d8e8;border-radius:14px;padding:24px 18px;font-size:16px;line-height:1.7;color:#5b718b;text-align:center}.translation-audio-status{min-height:24px;font-size:13px;line-height:1.5;text-align:center;color:#536d88;margin:8px 0}.translation-source{margin:0 3px}@media(max-width:360px){.topbar .brand{gap:6px}.brand-title{font-size:13px}.header-tools .sound-search-prominent{min-width:65px;padding:7px}.header-tools .translation-open-prominent{min-width:63px;font-size:14px;padding:7px;gap:3px}.header-tools .translation-open-prominent>span{display:none}.translation-card p{font-size:26px}.translation-card.english p{font-size:23px}}
.translation-suggestions:empty{display:none}.translation-suggestions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 16px}.translation-suggestions>span{display:block;flex-basis:100%;font-size:12px;color:#607b94}.translation-suggestions>button{background:#e9f1fb;border:1px solid #c9dbea;border-radius:10px;padding:9px 11px;color:#275379;text-align:left;font-size:14px;min-height:40px}
.daylist .course-day-card{display:block;padding:20px;text-align:left;width:100%;border-radius:19px;background:#fff;border:1px solid #dce5ef}.day-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.day-large-label{font-size:36px;font-weight:800;letter-spacing:.4px;line-height:1.15;color:#123b66}.day-state{font-size:13px;font-weight:650;color:#466889;background:#edf3fa;border-radius:999px;padding:6px 11px}.course-day-card.in-progress{border:2px solid #78a5d6;background:#f9fcff}.course-day-card.in-progress .day-state{background:#e1f2ea;color:#247056}.daylist .course-day-card h3{font-size:17px;font-weight:600;line-height:1.45;margin:9px 0 20px;color:#45617e}.day-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}.day-progress-heading>span{font-size:14px;color:#48627d}.day-progress-heading>strong{font-size:23px;font-weight:750;color:#17599e}.day-progress-track{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#e4ecf5}.day-progress-track>i{height:100%;display:block;background:#258568;border-radius:999px;transition:width .2s}.day-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:9px 0 0;color:#6e7f92;font-size:12px;line-height:1.5}.day-card-enter{font-size:14px;color:#215c94;font-weight:650;margin-top:16px}.daylist .course-day-card:disabled{opacity:1;background:#f4f6f9}.daylist .course-day-card:disabled .day-large-label{color:#7b8b9d}.daylist .course-day-card:disabled .day-card-enter{color:#7b8b9d}.day-heading-large{display:block;font-size:36px;font-weight:800;line-height:1.15;color:#153e68;margin-bottom:8px}.day-overview-progress{border:1px solid #dce6f0;background:#fff;border-radius:16px;padding:12px 16px;margin:6px 0 17px}@media(max-width:360px){.daylist .course-day-card{padding:17px}.day-large-label,.day-heading-large{font-size:33px}}

/* Lookup controls must not inherit the full-width purchase button rule. */
.reference-header h2{flex:1;min-width:0;white-space:nowrap}
.reference-header .back{width:44px;height:44px;min-width:44px;flex:0 0 44px;margin:0}
.reference-target .reference-symbol{display:block;width:auto;min-width:104px;margin:4px auto 8px;padding:0 16px;border:0;border-radius:15px;background:transparent;color:var(--blue);font:inherit;font-size:80px;line-height:1.3;font-weight:800}
.reference-symbol:hover,.reference-symbol:focus-visible{background:#e8f1ff;outline:2px solid #aac9f2}
.reference-example{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 10px}
.reference-example>small{font-size:14px}
.reference-example button{width:auto;padding:6px 18px;border:1px solid #d3e1f1;border-radius:14px;background:white}
.reference-example b{font-size:38px;line-height:1.2}
.reference-example span{font-size:23px;margin-top:4px}
.reference-modal .reference-relisten{min-height:58px;margin:6px 0;font-size:23px;font-weight:750}
.reference-modal #reference-audio-status{min-height:24px;margin:8px 0;text-align:center;font-size:14px}
.reference-modal .reference-preview-label{font-size:12px;line-height:1.5;text-align:center;color:var(--muted);margin:0 0 16px}
.reference-modal .text-action{width:auto;margin:5px auto 0}

.lesson-context{flex-shrink:0}
.phone.learning .lesson-context .pagehead h2{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;line-height:1.2}
.lesson-day{font-size:34px;font-weight:850;letter-spacing:-.7px;color:var(--navy);white-space:nowrap}
.lesson-role{font-size:16px;font-weight:650;color:#536b87}
.phone.learning .lesson-context .pagehead p{font-size:16px;color:#255786;font-weight:650;margin-top:5px}
.lesson-sound-nav{display:grid;grid-template-columns:repeat(var(--sound-columns),minmax(0,1fr));gap:5px;margin:5px 0 8px}
.lesson-sound{min-width:0;min-height:44px;border:1px solid #d7e2f0;background:#fff;color:#536b87;border-radius:10px;font:inherit;font-size:14px;font-weight:700;padding:8px 0;white-space:nowrap}
.lesson-sound.current{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 3px 8px #176cf022}
.lesson-sound:focus-visible{outline:3px solid #8cb9fa;outline-offset:2px}
.sound-tile.tone-label-tile{font-size:18px;white-space:nowrap}
.tone-overview .tone-height img{max-height:clamp(125px,calc(100dvh - 570px),245px)}
@media(max-width:360px){.lesson-day{font-size:32px}.lesson-sound-nav{gap:3px}.lesson-sound{font-size:13px}}

.lesson-category{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.lesson-total{font-size:14px;color:#526782;font-weight:650;white-space:nowrap}
.lesson-sound-nav:not(.tone-lesson-nav) .lesson-sound{font-size:20px;min-height:40px;padding:5px 0}
@media(max-height:760px){.lesson-sound-nav{gap:4px;margin:4px 0 6px}.lesson-sound-nav:not(.tone-lesson-nav) .lesson-sound{min-height:35px;font-size:18px}.phone.learning .lesson-context .pagehead{padding-top:6px}}

.lesson-day-jump{display:block;margin:0 0 5px auto;padding:5px 7px;min-height:32px;border:0;background:transparent;font:inherit;font-size:14px;font-weight:650;color:#2466bb;text-align:right}
.lesson-day-jump:disabled{color:#64768a;opacity:1;font-size:12px}
.day-completion-card{display:flex;align-items:flex-start;gap:12px;background:#e7f4ef;border:1px solid #b9dcd0;border-radius:16px;padding:16px;margin:14px 0 2px;color:#245e4e;animation:completion-in .3s ease-out}
.completion-check{display:grid;place-items:center;flex:0 0 34px;height:34px;background:#287b62;color:white;border-radius:50%;font-size:22px;font-weight:800}
.day-completion-card small{font-size:12px}.day-completion-card h3{margin:3px 0 7px;font-size:23px;color:#164b3b}.day-completion-card p{font-size:16px;line-height:1.6;margin:0 0 8px}.day-completion-card b{font-size:14px}
@keyframes completion-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.day-completion-card{animation:none}}

/* One viewport for learning: reserve the picker and actions before fitting text. */
.phone.learning #content{display:flex;flex-direction:column;overflow:clip;padding:0 12px;min-height:0}
.phone.learning #lesson-surface{display:flex;flex-direction:column;flex:1;min-height:0;gap:0}
.phone.learning .lesson-context{position:relative;flex:0 0 auto}
.phone.learning .lesson-context .pagehead{padding:6px 0 2px;gap:10px}
.phone.learning .lesson-context .pagehead h2{gap:8px;margin:0;line-height:1.1}
.phone.learning .lesson-context .pagehead p{font-size:14px;line-height:1.3;margin:3px 0 0}
.phone.learning .lesson-context .back{width:36px;height:36px;min-width:36px;border-radius:12px}
.phone.learning .lesson-day{font-size:30px}
.phone.learning .lesson-role{font-size:15px}.phone.learning .lesson-total{font-size:14px}
.phone.learning .lesson-sound-nav{gap:4px;margin:4px 0}
.phone.learning .lesson-sound-nav .lesson-sound{min-height:30px;padding:3px 0;font-size:18px;border-radius:8px;line-height:1.2}
.phone.learning .tone-lesson-nav .lesson-sound{font-size:14px}
.phone.learning .lesson-day-jump{min-height:24px;padding:2px 0;margin:0 0 2px;font-size:13px;line-height:1.3}
.phone.learning .focus-reading{display:flex;flex-direction:column;flex:1 1 0;min-height:0;max-height:none;overflow:visible;position:static}
.phone.learning .focus-heading{margin:3px 0 2px;font-size:13px;line-height:1.3;flex:0 0 auto}
.phone.learning .reading-content{display:flex;flex:1 1 0;min-height:0;align-items:center;width:100%}
.phone.learning .reading-copy{--reading-size:28px;width:100%;flex:0 0 auto;min-width:0;text-align:center}
.phone.learning .reading-copy .spoken-target{font-size:calc(var(--reading-size)*1.55);line-height:1.17;letter-spacing:0;margin:0 0 4px;overflow-wrap:anywhere}
.phone.learning .reading-copy .spoken-target.medium{font-size:calc(var(--reading-size)*1.15)}
.phone.learning .reading-copy .spoken-target.long{font-size:calc(var(--reading-size)*1.04);line-height:1.2}
.phone.learning .reading-copy .target-jyut{font-size:var(--reading-size);line-height:1.25;margin:0 0 5px;overflow-wrap:anywhere;color:var(--blue)}
.phone.learning .reading-copy .phonetic-symbol{font-size:calc(var(--reading-size)*2.8);line-height:1.08;margin:0;padding:0;color:var(--blue)}
.phone.learning .reading-copy .isolated-caption{padding:5px 0;font-size:14px;line-height:1.3}
.phone.learning .reading-copy .sentence-meaning{margin:4px 0;padding:5px 8px;border-radius:10px}
.phone.learning .reading-copy .sentence-meaning>span{font-size:12px;line-height:1.2;margin:0 0 2px}
.phone.learning .reading-copy .sentence-meaning>p,.phone.learning .reading-copy .usage-meaning>b{font-size:calc(var(--reading-size)*.8);line-height:1.3;margin:0;font-weight:600}
.phone.learning .reading-copy .usage-meaning{margin:5px 0}
.phone.learning .reading-copy .teaching-copy{text-align:left;padding:7px 10px;margin:7px 0 3px}
.phone.learning .reading-copy .teaching-copy>span{font-size:12px}
.phone.learning .reading-copy .teaching-copy p{font-size:clamp(14px,calc(var(--reading-size)*.65),18px);line-height:1.4;margin-top:4px}
.phone.learning .reading-copy .tone-reading-target .spoken-target{font-size:calc(var(--reading-size)*1.3);margin:0}
.phone.learning .reading-copy .tone-reading-target .target-jyut{font-size:calc(var(--reading-size)*1.6);margin:0}
.phone.learning .reading-copy .tone-height{margin:5px 0 0;padding:2px 4px}
.phone.learning .reading-copy .tone-height img{height:calc(var(--reading-size)*4);max-height:180px;width:100%;object-fit:contain}
.phone.learning .reading-copy .tone-height figcaption{font-size:11px;margin:1px 0}
.phone.learning .compact-steps{flex:0 0 auto;margin:4px 0;padding:3px;border-radius:11px;gap:2px}
.phone.learning .compact-steps button{font-size:14px;line-height:1.2;padding:6px 2px;gap:4px;min-height:32px}
.phone.learning .usage-step{font-size:13px;line-height:1.2;margin:4px 0}
.phone.learning #lesson-surface>.practice-picker{flex:0 0 auto;padding:4px 0;margin:0}
.phone.learning .practice-picker-heading{margin-bottom:4px;line-height:1.2}
.phone.learning .practice-picker-heading>b{font-size:14px}
.phone.learning .practice-picker-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.phone.learning .practice-pick{min-height:43px;gap:1px;padding:3px 2px;border-radius:8px}
.phone.learning .practice-pick-number{font-size:11px;line-height:1.15}
.phone.learning .practice-pick>b{font-size:13px;line-height:1.18;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;max-width:100%}
.phone.learning .learning-notes{position:static;flex:0 0 auto;min-height:0;overflow:visible;padding:0}
.phone.learning .inline-score{margin:4px 0;padding:6px 8px;border-radius:12px;min-height:0}
.phone.learning .inline-summary{min-height:23px;gap:7px}
.phone.learning .inline-summary>strong{font-size:24px}
.phone.learning .inline-summary>span{font-size:13px;line-height:1.3}
.phone.learning .inline-summary small{font-size:12px}
.phone.learning .character-scores{margin:4px 0 0;gap:3px;justify-content:center}
.phone.learning .character-scores>span{flex-direction:row;gap:3px;min-width:0;padding:2px 4px;border-radius:5px;line-height:1.2}
.phone.learning .character-scores b{font-size:14px}.phone.learning .character-scores small{display:none}.phone.learning .character-scores em{font-size:11px}
.phone.learning .inline-summary.pending+.character-scores{display:none}
.score-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-top:4px;line-height:1.3}
.score-tools>span{margin-right:auto;color:var(--muted);font-size:12px}
.score-tools button{border:0;background:#edf3fc;border-radius:6px;color:#185392;padding:4px 7px;font:inherit;font-size:12px}
.phone.learning .recorded-meta{display:flex;align-items:center;gap:6px;margin-top:4px}
.recorded-meta>span{font-size:12px;white-space:nowrap;color:var(--muted)}
.phone.learning .recorded-meta audio{height:30px;min-width:0;flex:1;width:180px}
.phone.learning .recording-error{font-size:13px;line-height:1.3;margin:4px 0}
.phone.learning .assessment-badge{font-size:12px;padding:3px 6px}
.phone.learning .recording-ready{padding:0;font-size:13px}
.phone.learning .practice-controls{flex:0 0 auto;padding:3px 0 max(5px,env(safe-area-inset-bottom));margin:0}
.phone.learning .practice-controls .auto-status{font-size:12px;line-height:1.2;min-height:15px;margin:0 0 3px}
.phone.learning .practice-controls .relisten{min-height:42px;font-size:19px;line-height:1.2;padding:7px 12px;margin:0 0 5px;border-radius:11px}
.phone.learning .practice-controls .cta{padding:9px 7px;font-size:16px;line-height:1.2;min-height:43px;border-radius:11px}
.phone.learning .record-action-row>.inspection-next{min-height:43px;font-size:13px;line-height:1.25;padding:6px;flex-basis:110px;border-radius:11px}
.phone.learning .practice-meta{padding-top:2px;font-size:11px;line-height:1.2}
.phone.learning .practice-meta button{padding:2px 4px}
.phone.learning .rec-label:empty,.phone.learning #live-advance:empty{display:none}
.phone.learning .day-completion-card{padding:7px 9px;margin:6px 0 0;gap:7px;border-radius:10px}
.phone.learning .completion-check{flex-basis:25px;height:25px;font-size:16px}
.phone.learning .day-completion-card h3{font-size:18px;line-height:1.2;margin:1px 0 3px}
.phone.learning .day-completion-card p{font-size:13px;line-height:1.3;margin:0 0 3px}
.phone.learning .day-completion-card b{font-size:12px}
@media(max-height:760px){
 .phone.learning .lesson-day{font-size:28px}.phone.learning .lesson-context .pagehead p{font-size:13px}
 .phone.learning .lesson-sound-nav .lesson-sound{min-height:27px;font-size:17px;padding:2px 0}.phone.learning .tone-lesson-nav .lesson-sound{font-size:13px}
 .phone.learning .lesson-day-jump{min-height:20px;font-size:12px}
 .phone.learning .practice-pick{min-height:37px}.phone.learning .practice-pick>b{font-size:12px}
 .phone.learning .practice-controls .relisten{min-height:39px;padding:6px 10px}
 .phone.learning .practice-controls .cta,.phone.learning .record-action-row>.inspection-next{min-height:40px;padding:6px}
}
@media(max-height:560px) and (orientation:landscape){
 .phone.learning{width:min(100vw,960px);height:100dvh}.phone.learning #content{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;overflow:clip}
 .phone.learning .lesson-context .pagehead{display:block}.phone.learning .lesson-context .back{display:none}
 .phone.learning .lesson-sound-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
 .phone.learning #lesson-surface{min-height:0}.phone.learning .practice-picker-grid{grid-template-columns:repeat(10,minmax(0,1fr))}
}
.phone.learning .learning-notes .score-detail{display:none}
.phone.learning .real-word-scores{gap:3px;margin:4px 0}
.phone.learning .real-word-scores>span{display:flex;align-items:center;gap:4px;padding:3px 5px;font-size:13px}
.phone.learning .real-word-scores em{font-size:12px;margin:0}

/* Named exits remain visible in the learning context, including landscape. */
.lesson-navigation{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:6px;flex:0 0 auto;padding:6px 0 4px}
.lesson-navigation button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:40px;padding:7px 5px;border:1px solid #c5d7ee;border-radius:10px;background:#edf4ff;color:#174f91;font:inherit;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap}
.lesson-navigation button>span{font-size:22px;line-height:16px}
.lesson-navigation button svg{width:17px;height:17px;flex:none}
.lesson-navigation button:disabled{background:#f0f3f8;color:#7e8ea3;border-color:#e0e7f0;opacity:1}
.lesson-navigation button:focus-visible,.course-resume:focus-visible{outline:3px solid #176cf0;outline-offset:2px}
.course-resume{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px 17px;margin:12px 0 16px;border:1px solid #afcbea;border-radius:16px;background:#eaf3ff;color:#164a83;text-align:left;font:inherit}
.course-resume strong{display:block;font-size:18px;line-height:1.4}
.course-resume small{display:block;margin-top:4px;font-size:14px;line-height:1.4;color:#41658a}
.course-resume>span:last-child{font-size:24px}
@media(max-height:560px) and (orientation:landscape){.lesson-navigation{grid-template-columns:1fr 1fr;gap:4px;padding:5px 0}.lesson-navigation button{min-height:34px;padding:5px 3px;font-size:13px}.lesson-navigation button:first-child{grid-column:1 / -1}}
/* Compact day cards retain their large DAY label and visible progress. */
.daylist{margin-top:8px}.daylist .course-day-card{padding:12px 15px;margin:8px 0;border-radius:16px}
.daylist .course-day-card h3{font-size:16px;margin:4px 0 7px;line-height:1.35}
.course-day-card .day-progress-heading{margin:3px 0 5px}.course-day-card .day-progress-heading>strong{font-size:19px}
.course-day-card .day-progress-heading>span{font-size:13px}.course-day-card .day-progress-track{height:7px}
.course-day-card .day-progress-meta,.course-day-card .day-card-enter{display:none}
.course-day-card .day-state{font-size:12px;padding:5px 9px}.course-explainer{padding:10px 14px;margin:10px 0}
.course-resume{padding:11px 14px;margin:9px 0 12px}
/* One interface language at a time. The Cantonese learning target is unchanged. */
.topbar{padding-left:12px;padding-right:12px}.header-tools{gap:4px}
.header-tools .language-switch{min-width:34px;min-height:38px;padding:5px;background:#254b72;border:1px solid #6684a3;color:#fff;font-size:14px;font-weight:750}
html[data-language=en] .brand-title{font-size:14px;letter-spacing:0}
.brand-title>span{font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit}
.referral-rule{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px;background:#102f53;border-radius:16px;color:white;margin:16px 0}.referral-rule span{font-size:12px;color:#c2d6ee;display:block}.referral-rule b{display:block;font-size:27px;margin-top:7px}
.literature-entry{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:17px 18px;border:1px solid #dfd8c8;border-radius:16px;background:#faf6ec;color:#413c2e;margin:14px 0;gap:12px}.literature-entry small{font-size:12px;color:#867653}.literature-entry b{display:block;font-size:20px;line-height:1.5;margin:4px 0}.literature-entry span{font-size:12px;color:#7d715c}.literature-entry>strong{font-size:25px;color:#a78239}
.literature-summary{display:flex;align-items:center;gap:16px;padding:16px 18px;background:#f3ede0;border-radius:15px;margin:12px 0 18px;color:#806732}.literature-summary strong{font-size:32px}.literature-summary small{font-size:17px;color:#8b806b}.literature-summary>span{font-size:14px}
.literature-reader-nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px 0 8px}
.reader-nav-button{min-width:0;min-height:46px;border-radius:14px;border:1px solid #cad9e9;background:#fff;color:#174f91;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 16px;font:inherit;font-size:15px;line-height:1.2;white-space:nowrap}
.reader-nav-button span{font-size:21px;line-height:1}.reader-nav-button b{font-weight:750}.reader-nav-library{background:#eaf3ff;border-color:#aac7eb}.reader-nav-home{padding-inline:14px;color:#425b76}
.reader-nav-button:active{transform:translateY(1px)}.reader-nav-button:focus-visible{outline:3px solid rgba(23,108,240,.32);outline-offset:2px}
.literature-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:12px;padding:13px 10px;background:transparent;border:0;border-bottom:1px solid #dee5ec;color:#20394e}.literature-row b{font-size:17px;line-height:1.5;font-weight:700}.literature-row small{display:block;font-size:12px;color:#758599;margin-top:4px}.literature-row em{font-size:12px;white-space:nowrap;font-style:normal;color:#2368ac}
.literature-audio-note{font-size:12px;color:#8a723f;line-height:1.5;margin:4px 0 13px}.literature-reading{border:1px solid #e6decf;background:#fffcf4;border-radius:18px;padding:18px}.literature-reading>p{font-family:Georgia,'Noto Serif TC','Songti TC',serif;font-size:28px;line-height:1.85;letter-spacing:1px;margin:18px 0;overflow-wrap:anywhere}.literature-controls{display:flex;gap:10px;margin-top:14px}.literature-controls .cta{flex:1;margin:0;font-size:16px}.literature-status{min-height:22px;font-size:13px;text-align:center;color:#677b92}.literature-full{margin-top:22px}.literature-full summary{font-size:15px;color:#346088;cursor:pointer}.literature-full p{font-size:20px;line-height:1.9;color:#3c4d5a}
.literature-title h2{margin:12px 0 8px;font-size:23px;line-height:1.5}.literature-title>p{font-size:14px;color:#758599;margin:6px 0}
.literature-ruby{letter-spacing:0;overflow-wrap:normal;word-break:normal}
.literature-ruby ruby{display:inline-flex;flex-direction:column-reverse;align-items:center;justify-content:flex-end;vertical-align:bottom;gap:5px;min-width:1.55em;margin:7px 1px;line-height:1.35;white-space:nowrap}
.literature-ruby rt{display:block;font-family:system-ui,sans-serif;font-size:16px;font-weight:650;line-height:1.15;color:#2164a2;font-style:normal;letter-spacing:0}
.literature-ruby rp{display:none}.literature-punctuation{font-size:.8em;letter-spacing:0}
.literature-reading>p{margin:12px 0;line-height:2;overflow:visible;text-overflow:clip;white-space:normal}
.literature-title .literature-ruby rt{font-size:13px}.literature-row .literature-ruby rt{font-size:11px}.literature-row .literature-ruby ruby{gap:3px;margin:3px 1px;min-width:1.5em}
.literature-full p{line-height:2.2}.literature-full .literature-ruby rt{font-size:14px}
.literature-audio-pending{border:1px solid #e2d8be;border-radius:12px;background:#faf6eb;color:#7b673e;padding:12px;text-align:center;font-size:14px;margin:14px 0 0}
.literature-audio-credit{font-size:12px;line-height:1.5;color:#748497;text-align:center;margin:8px 0 0}
@media(max-width:380px){.literature-reader-nav{gap:7px}.reader-nav-button{padding:9px 11px;font-size:14px}.literature-reading{padding:13px}.literature-reading>p{font-size:26px}.literature-reading .literature-ruby rt{font-size:15px}}
.usage-focus+.practice-picker .practice-picker-grid{grid-template-columns:repeat(5,minmax(0,1fr));max-height:none;overflow:visible}
.usage-categories{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.usage-categories button{border:1px solid #d5e1ee;background:#fff;color:#456080;border-radius:10px;min-height:36px;padding:7px 11px;font-size:13px}
.usage-categories button.selected{background:#1765c1;border-color:#1765c1;color:#fff}
.usage-result-count{font-size:12px;color:#708097;margin:12px 0 6px}
.usage-pack{padding:11px 12px;margin:7px 0;gap:10px}.usage-pack>div{flex:1;min-width:0}.usage-pack b{font-size:16px}.usage-pack small{line-height:1.5;overflow-wrap:anywhere}.usage-pack .pack-status{font-size:12px;flex-shrink:0}
.usage-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}.usage-pager button{border:1px solid #cad9e9;border-radius:10px;background:#fff;color:#255788;min-height:42px;padding:9px 18px}.usage-pager span{font-size:13px;color:#6e8095}
.usage-focus+.practice-picker{grid-template-columns:repeat(5,minmax(0,1fr));max-height:none;overflow:visible}.usage-focus+.practice-picker .practice-pick{min-height:42px;padding:5px 3px}.usage-focus+.practice-picker .practice-pick b{font-size:11px}
html[data-language=en] .header-tools .sound-search-prominent{font-size:14px;min-width:62px;padding:7px 5px}
html[data-language=en] .header-tools .translation-open-prominent{font-size:14px;min-width:64px;padding:7px 5px}
html[data-language=en] .translation-open-prominent>span{display:none}
html[data-language=en] .instruction-language-setting{display:none}
html[data-language=en] .lesson-navigation{grid-template-columns:1.2fr 1fr .65fr}
html[data-language=en] .lesson-navigation button{font-size:13px;white-space:normal}
html[data-language=en] .lesson-category{gap:5px}.phone.learning .lesson-category{min-width:0}
html[data-language=en] .phone.learning .lesson-role{font-size:14px}
html[data-language=en] .phone.learning .lesson-total{font-size:13px}
html[data-language=en] .phone.learning .tone-lesson-nav .lesson-sound{font-size:13px}
html[data-language=en] .record-action-row>.inspection-next{font-size:12px}
html[data-language=en] .phone.learning .practice-controls .cta{font-size:15px}
html[data-language=en] .metrics .metric{grid-template-columns:84px 1fr 34px}
@media(max-width:390px){.brandmark{display:none}.topbar .brand{gap:0}.brand-title{font-size:14px}.header-tools button{min-width:30px;padding:5px}.header-tools .sound-search-prominent{min-width:64px;padding:6px}.header-tools .translation-open-prominent{min-width:60px;padding:6px}}
/* Tone teaching uses readable HTML labels and a full-size comparison sheet. */
.tone-preview{background:#fff;border:1px solid #c9dcee;border-radius:16px;margin:8px 0 0;padding:12px;color:#1c609f;text-align:left}
.tone-preview-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tone-preview-title strong{font-size:18px;line-height:1.3;color:#133f6b}.tone-preview-title>b{font-size:22px;white-space:nowrap}
.tone-preview-graph{display:grid;grid-template-columns:minmax(115px,1fr) 1fr;align-items:center;gap:12px;margin:4px 0}
.tone-preview .tone-plot{width:100%;height:130px;display:block}
.tone-preview-graph p{font-size:16px;line-height:1.5;margin:0;color:#355670}
.tone-preview button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;margin-top:4px;padding:9px 12px;border:0;border-radius:9px;background:#e8f2ff;color:#175394;font:inherit;font-size:16px;font-weight:750}
.tone-chart-modal .pay-sheet{height:100%;max-height:100%;padding:18px 16px;border-radius:0;overflow-y:auto;background:#f6f9fd}
.tone-chart-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.tone-chart-header h2{font-size:26px;line-height:1.2;margin:0;color:#123e68}.tone-chart-header p{font-size:15px;line-height:1.4;color:#54708a;margin:5px 0 0}
.tone-chart-header .back{width:44px;height:44px;font-size:26px;flex:0 0 44px}
.tone-chart-key{padding:11px 13px;background:#e7f0fa;border-radius:12px;margin-bottom:14px}
.tone-chart-key strong{font-size:18px;display:block;color:#214d77}.tone-chart-key span{font-size:14px;line-height:1.4;display:block;margin-top:4px;color:#4b637b}
.tone-chart-section h3{font-size:18px;margin:13px 0 8px;color:#1b466e}
.tone-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.tone-card{min-width:0;padding:9px 6px 8px;border:1px solid #d2deeb;border-radius:13px;background:#fff;color:#416886}
.tone-card.active{border:2px solid #176cf0;padding:8px 5px 7px;background:#edf5ff;color:#176cf0}
.tone-card header{display:flex;flex-direction:column;gap:2px;text-align:center}.tone-card header>b{font-size:18px;color:#153f68}.tone-card header>span{font-size:14px;line-height:1.3}
.tone-card .tone-plot{display:block;width:100%;height:82px}
.tone-card-example{display:flex;align-items:baseline;justify-content:center;gap:5px;white-space:nowrap}.tone-card-example>b{font-size:25px;color:#153b62}.tone-card-example>span{font-size:17px;font-weight:700;color:#1762b5}
.checked .tone-plot{height:68px}.checked .tone-card-example{gap:3px}.checked .tone-card-example>span{font-size:16px}
.tone-chart-rule{font-size:15px;line-height:1.5;margin:12px 0 8px;color:#415e78}.tone-chart-modal .source-link{font-size:13px}
@media(max-height:760px){.tone-preview{padding:9px;margin-top:5px}.tone-preview .tone-plot{height:105px}.tone-preview-graph p{font-size:15px;line-height:1.4}.tone-chart-modal .pay-sheet{padding:13px 12px}.tone-chart-header h2{font-size:23px}.tone-card .tone-plot{height:65px}.checked .tone-plot{height:48px}.tone-chart-key{margin-bottom:10px}.tone-chart-section h3{margin-top:10px}}
@media(max-width:360px){.tone-preview-graph{gap:7px}.tone-preview-title strong{font-size:17px}.tone-card-example{flex-wrap:wrap;gap:2px}.tone-card-example>span{font-size:16px}.tone-card header>span{font-size:13px}}

/* Keep English learning cues brief; longer guidance stays in the help sheet. */
.teaching-references{margin:16px 0;border-top:1px solid var(--line);padding-top:12px;text-align:left}
.teaching-references summary{font-size:15px;font-weight:700;color:var(--blue);cursor:pointer;padding:8px 0}
.teaching-references p,.teaching-references li{font-size:15px;line-height:1.6}
.teaching-references ul{padding-left:20px}
.teaching-references a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
/* Yellow identifies teaching priorities; blue remains the active selection. */
.sound-tile.is-hard,.reference-grid button.is-hard{background:#fff1a6;color:#644d00;border:1px solid #dec541}
.hard-sound-badge{display:inline-block;width:max-content;background:#fff1a6;color:#644d00;border:1px solid #dec541;border-radius:6px;padding:2px 6px;font-size:12px;font-weight:750;line-height:1.4;white-space:nowrap;vertical-align:middle}
.unitline>div .hard-sound-badge{margin:4px 0 0}
.hard-sound-legend{display:flex;align-items:center;gap:8px;margin:14px 0 8px;color:#65748b;font-size:14px}
.lesson-sound.is-hard:not(.current){background:#fff1a6;border-color:#dec541;color:#644d00}
.lesson-sound{position:relative}
.hard-return{background:#fff0d9!important;color:#934600!important;border-color:#e8bc81!important}
.hard-all{font-size:15px;min-height:44px;margin:0 0 6px}
.hard-group-progress{color:#53667f;font-size:14px;padding:8px 0}
.hard-unit>div{flex:1;min-width:0}
.hard-unit .hard-unit-status{color:#174f91;font-size:14px;font-weight:700;white-space:nowrap}
.hard-unit.last-practised{border-color:#176cf0;box-shadow:inset 3px 0 #176cf0}
.hard-unit.done .hard-unit-status{color:#236b50}
.hard-last-label{display:inline-block;font-size:12px;color:#175cad;margin-top:4px}
.hard-progress-label{display:block;margin-top:9px;color:#526782;font-size:12px}
.hard-completion-note{margin:6px 0;padding:8px 10px;border-radius:10px;background:#e7f4ef;color:#245e4e;font-size:14px;font-weight:650}

.audio-source-status{padding:14px 16px;border:1px solid #d7e2ef;border-radius:14px;background:#f4f7fb;margin-bottom:16px}
.audio-source-status h3{font-size:17px;margin:0 0 10px}
.audio-source-status dl{margin:0}.audio-source-status dl>div+div{margin-top:12px}.audio-source-status dt{font-size:14px;font-weight:700}.audio-source-status dd{font-size:14px;line-height:1.5;margin:3px 0 0;color:#59677b}.audio-source-status .source-link{display:block;font-size:12px;margin-top:12px}

.reference-grid button.is-hard small{color:#756526}
.reference-target.is-hard .reference-symbol,.reference-target.is-hard>strong{background:#fff1a6;color:#644d00;border-radius:15px}
.reference-difficulty-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;line-height:1.5;margin:16px 0 6px;color:#645321}
.reference-difficulty-summary b{white-space:nowrap}
.reference-group-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:22px 0 10px}
.reference-group-heading h3{margin:0;font-size:15px}.reference-group-heading h3 small{font-size:13px;font-weight:400;color:var(--muted)}
.reference-hard-count{font-size:13px;white-space:nowrap;color:#645321}

/* Compact, readable seven-day directory. Content can grow when text is enlarged. */
.course-directory .course-top{padding:8px 12px 7px;margin:6px 0;border-radius:12px}
.course-directory .course-top h2{font-size:19px;line-height:1.25;margin:0 0 4px}
.course-directory .course-top p{font-size:13px;line-height:1.3;margin:0 0 5px}
.course-directory .course-progress{margin:0;gap:8px}.course-directory .course-progress b{font-size:12px}
.course-directory .course-resume{padding:7px 11px;margin:7px 0 2px;border-radius:11px;min-height:44px;gap:8px}
.course-directory .course-resume strong{font-size:14px;line-height:1.25}.course-directory .course-resume small{font-size:12px;line-height:1.25;margin-top:2px}
.course-directory .daylist{display:grid;gap:5px;margin:5px 0 0}
.course-directory .daylist .course-day-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:54px;padding:7px 10px;margin:0;border-radius:12px}
.course-directory .day-large-label{font-size:23px;line-height:1.15;letter-spacing:0;white-space:nowrap}
.course-directory .day-card-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:7px;row-gap:3px;min-width:0}
.course-directory .daylist .course-day-card h3{grid-column:1/-1;font-size:14px;line-height:1.3;margin:0;color:#365674;overflow-wrap:anywhere}
.course-directory .day-progress-heading{display:contents}.course-directory .day-progress-heading>span{display:none}
.course-directory .day-progress-heading>strong{grid-column:2;grid-row:2;font-size:12px;line-height:1.2;white-space:nowrap}
.course-directory .day-progress-track{grid-column:1;grid-row:2;height:5px}
.course-directory .day-state{font-size:12px;padding:3px 6px;white-space:nowrap}
.course-directory .course-explainer{padding:8px 11px;margin:8px 0}.course-directory .course-explainer summary{font-size:13px}
.course-directory>.section-title{margin:15px 0 9px}
@media(max-width:360px){.course-directory .daylist .course-day-card{grid-template-columns:64px minmax(0,1fr) auto;gap:6px;padding:7px 8px}.course-directory .day-large-label{font-size:21px}.course-directory .day-state{padding:3px 4px}}
/* Self-guided practice and local phrasebook. */
.self-study-done{color:#167452;font-size:14px;font-weight:700;padding:5px 0}
.self-study-overview{background:#071f3e;color:white;padding:24px;border-radius:18px;margin:16px 0}
.self-study-overview strong{display:block;font-size:48px;line-height:1.2;color:#ffbd3d}.self-study-overview strong small{font-size:21px;color:#b8cce3}.self-study-overview>span{display:block;font-size:16px;margin-top:8px}
.translation-input input{width:100%;padding:14px;font:inherit;font-size:18px;border:1px solid #b8cce3;border-radius:12px;background:white;color:#10233c}
.translation-suggestions .phrasebook-item{display:grid;grid-template-columns:1fr;text-align:left;width:100%;border-radius:12px;padding:12px 14px;background:#fff;border:1px solid #e0e8f0;margin:6px 0;color:#10233c;white-space:normal}
.phrasebook-item b{font-size:21px}.phrasebook-item span{font-size:16px;margin:4px 0;color:#596d83}.phrasebook-item small{font-size:17px;color:#176cf0}.phrasebook-count{font-size:14px;color:#66758a;margin:16px 0 8px}.phrasebook-pages{display:flex;justify-content:space-between;align-items:center;padding:14px 0}.phrasebook-pages button{border:1px solid #d4dfed;border-radius:10px;padding:10px;background:#fff;color:#176cf0;font-size:15px}.phrasebook-pages button:disabled{opacity:.4}.phrasebook-meaning{font-size:23px;margin-top:12px;color:#334b64;line-height:1.5}
/* Compact DAY lesson directory; reading/practice surfaces retain their large type. */
.day-directory .unitline{min-height:58px;padding:6px 10px;margin:5px 0;gap:10px;border-radius:12px}
.day-directory .sound-tile{flex:0 0 62px;min-height:42px;padding:4px 3px;border-radius:9px;font-size:22px;line-height:1.2}
.day-directory .sound-tile.tone-label-tile{font-size:18px}
.day-directory .unitline b{font-size:16px;line-height:1.3}
.day-directory .unitline small{font-size:14px;line-height:1.3;margin-top:2px}
.day-directory .unitline>div .hard-sound-badge{margin:0 0 0 5px;padding:1px 5px;line-height:1.2}
.day-directory>.section-title{margin:14px 0 7px}
.day-directory>.section-title h2{font-size:17px;line-height:1.3}
.day-directory>.hard-sound-legend{margin:8px 0}
.day-directory>.pagehead{margin-bottom:10px}
.day-directory .day-heading-large{margin-bottom:3px}
.day-directory>.day-overview-progress{padding:9px 12px;margin:5px 0 10px}
.day-directory>.day-overview-progress .day-progress-heading{margin:0 0 5px}
.day-directory>.day-overview-progress .day-progress-meta{margin-top:5px}
.day-directory>.card{padding:12px;margin:10px 0}
.day-directory>.card h3{margin:0 0 5px}
.day-directory>.card p{margin:5px 0}
.day-directory>.card details{margin:6px 0 0}
@media(max-width:360px){.day-directory .unitline{padding-inline:8px;gap:7px}.day-directory .sound-tile{flex-basis:56px}.day-directory .unitline small{font-size:14px}.day-directory .startext{font-size:14px}}
.lesson-navigation .directory-return{border-color:#87addb;background:#dfedff;color:#124e98}
/* Newcomer-focused homepage: an immediate need, a concrete method, an honest offer. */
html,body{font-family:-apple-system,BlinkMacSystemFont,"PingFang HK","Noto Sans HK","Microsoft JhengHei",sans-serif}
.home-story{padding-bottom:8px}
.purchase-page h3{font-size:18px;line-height:1.4;margin:0;color:#143653}
.purchase-intro{padding:13px 14px;background:#eaf3ff;border-radius:12px;margin-bottom:18px}
.purchase-intro strong{font-size:18px;color:#164779}.purchase-intro p{font-size:15px;line-height:1.5;margin:5px 0 0;color:#526b85}
.purchase-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 9px}
.purchase-section-heading span{font-size:13px;color:#6b7d91}
.purchase-outline{border:1px solid #dce5f0;border-radius:14px;overflow:hidden;background:#fff}
.purchase-day+details{border-top:1px solid #e3eaf2}
.purchase-day>summary{display:grid;grid-template-columns:62px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:11px 12px;cursor:pointer;min-height:54px;list-style:none}
.purchase-day>summary::-webkit-details-marker{display:none}.purchase-day>summary strong{font-size:20px;letter-spacing:-.6px;color:#135faf;white-space:nowrap}
.purchase-day>summary>span{font-size:15px;line-height:1.4;font-weight:650;color:#173c5d}
.purchase-day>summary i:after{content:'+';font-size:21px;font-style:normal;color:#567089}.purchase-day[open]>summary{background:#f0f6ff}.purchase-day[open]>summary i:after{content:'−'}
.purchase-day-body{padding:0 13px 13px}.purchase-day-body>p{font-size:15px;line-height:1.55;color:#506880;margin:12px 0}
.purchase-sound-group h4{font-size:14px;font-weight:650;margin:11px 0 7px;color:#52697f}
.purchase-sounds{display:flex;flex-wrap:wrap;gap:6px}.purchase-sounds span{min-width:34px;padding:6px 8px;border-radius:7px;background:#edf3fa;color:#234968;font-size:17px;font-weight:650;text-align:center}
.purchase-sounds span.priority{background:#fff1c6;color:#80570c}.purchase-day-body>small{display:block;margin-top:9px;color:#866a35;font-size:12px}
.purchase-method,.purchase-included{margin-top:21px}.purchase-method ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;list-style:none;margin:10px 0}
.purchase-method li{padding:11px 6px;background:#eaf3ff;border-radius:10px;text-align:center}.purchase-method b{display:block;font-size:16px;color:#15569e}.purchase-method span{display:block;font-size:14px;line-height:1.5;color:#53718e;margin-top:5px}.purchase-method>p{font-size:14px;line-height:1.5;color:#64758a;margin:7px 0 0}
.purchase-included ul{list-style:none;padding:0;margin:7px 0 0}.purchase-included li{padding:11px 0;border-bottom:1px solid #e0e7ef}.purchase-included li b{display:block;font-size:16px;color:#24466b}.purchase-included li span{display:block;font-size:15px;line-height:1.55;color:#5b7085;margin-top:4px}
.purchase-checkout{background:#0c3159;color:#fff;border-radius:15px;padding:15px;margin-top:20px}.purchase-price{display:flex;align-items:center;gap:14px;margin-bottom:13px}.purchase-price strong{font-size:34px;color:#ffcd64;white-space:nowrap}.purchase-price span{font-size:15px}.purchase-price small{display:block;font-size:12px;color:#aebfd3;margin-top:3px}.purchase-checkout .cta{font-size:18px;font-weight:800;min-height:54px;margin:0}.purchase-checkout>p{font-size:13px;color:#d7e3f1;text-align:center;margin:9px 0 0}
.home-taster-contents{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:12px;text-align:center}
.home-taster-contents span{font-size:14px;color:#dceaff;line-height:1.5}
.home-taster-contents b{display:inline;color:#ffcd61;font-size:17px;margin-right:3px}
.taster-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.taster-groups button,.taster-items button{border:1px solid #dce4ef;background:#fff;color:#53647b;border-radius:10px;padding:8px 3px;min-height:46px;font-size:14px}
.taster-groups b,.taster-groups span{display:block;line-height:1.5}
.taster-groups .selected,.taster-items .selected{background:#176cf0;border-color:#176cf0;color:#fff}
.taster-progress{height:5px;border-radius:5px;background:#e1e8f1;overflow:hidden;margin:12px 0}
.taster-progress i{height:100%;display:block;background:#176cf0;transition:width .25s}
.taster-card{background:#fff;border:1px solid #e3e9f1;border-radius:16px;padding:14px;text-align:center}
.taster-item-meta{display:flex;justify-content:space-between;gap:8px;color:#607087;font-size:14px;margin-bottom:12px}
.taster-target{font-size:58px;line-height:1.25;font-weight:800;color:#102e50;overflow-wrap:anywhere;border:0;background:transparent;cursor:pointer;max-width:100%;padding:0}
.taster-card.sounds .taster-target{font-size:80px;color:#176cf0}
.taster-card.words .taster-target{font-size:40px}
.taster-card.sentences .taster-target{font-size:30px;line-height:1.4}
.taster-jyut{font-size:30px;line-height:1.4;font-weight:750;color:#176cf0;margin-top:9px;overflow-wrap:anywhere}
.taster-card.sentences .taster-jyut{font-size:25px}
.taster-meaning{font-size:17px;line-height:1.6;color:#4c6078;margin:12px 0 0}
.taster-sequence{border:1px solid #d2e3fa;background:#eaf3ff;color:#1859ad;border-radius:10px;min-height:46px;font-size:15px;font-weight:700;margin-top:14px;padding:8px 10px;width:100%}
.taster-tone-note{font-size:14px;line-height:1.5;color:#65748a;margin:8px 0 0}
.taster-items{display:grid;grid-template-columns:repeat(var(--taster-count),minmax(0,1fr));gap:5px;margin:12px 0}
.taster-items span{display:block;font-size:12px;margin-bottom:3px}
.taster-items b{font-size:17px;overflow-wrap:anywhere}
.taster-items .completed:not(.selected){color:#157052;background:#ecf8f3}
.free-taster .relisten{margin-top:7px}
[data-language="en"] .taster-groups b{font-size:14px;overflow-wrap:anywhere}
.home-opening{margin:0 -18px;padding:16px 18px 14px;background:linear-gradient(145deg,#071f3e,#104879);color:#fff}
.home-kicker{display:block;font-size:14px;line-height:1.5;color:#cee3ff;font-weight:650;letter-spacing:.3px}
.home-opening h1{font-size:27px;font-weight:800;line-height:1.3;letter-spacing:-.5px;margin:9px 0 8px;color:#fff}
.home-opening h1 em{font-style:normal;color:#ffca58}
.home-opening .home-core{font-size:20px;font-weight:750;line-height:1.5;color:#fff;margin:0 0 6px}
.home-opening .home-intro{font-size:16px;line-height:1.5;color:#d7e6f6;margin:0 0 12px}
.home-opening .cta{position:relative;margin:0;font-size:17px;line-height:1.4;min-height:48px;padding:10px;box-shadow:none;border-radius:10px}
.home-opening .home-taster-note{font-size:12px;line-height:1.5;color:#d0def0;text-align:center;margin:9px 0 0}
.home-story h2{font-size:22px;line-height:1.4;letter-spacing:-.3px;margin:0 0 12px;color:#102e50}
.home-moments{margin:23px 0 21px}
.home-moment{display:grid;grid-template-columns:64px 1fr;align-items:start;gap:10px;padding:12px 0;border-bottom:1px solid #dde6ef}
.home-moment b{font-size:14px;line-height:1.6;color:#1762aa;background:#e5effc;border-radius:7px;text-align:center;padding:2px 3px}
.home-moment p{font-size:16px;line-height:1.55;color:#3c526b;margin:0}
.home-empathy{font-size:17px;line-height:1.5;color:#174b7c;font-weight:700;margin:13px 0 0}
.home-foundation{background:#fff;border:1px solid #d6e3f0;border-radius:14px;padding:12px 13px;margin:0 0 12px}
.home-section-label{font-size:12px;line-height:1.5;font-weight:750;color:#1765b8;letter-spacing:.5px;display:block;margin-bottom:8px}
.home-foundation h2{font-size:19px;margin-bottom:5px}
.home-foundation p{font-size:15px;line-height:1.45;margin:0;color:#435b75}
.home-syllable{display:flex;align-items:center;gap:10px;padding:8px 0;margin:8px 0;border-top:1px solid #e4ebf3;border-bottom:1px solid #e4ebf3}
.home-syllable-word{flex:0 0 52px;text-align:center}.home-syllable-word b{font-size:27px;line-height:1.2;display:block;color:#102e50}.home-syllable-word>span{font-size:17px;display:block;margin-top:2px;color:#176cf0;font-weight:650}
.home-syllable-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:1}
.home-syllable-parts>div{background:#eaf3ff;border-radius:8px;text-align:center;padding:6px 2px}
.home-syllable-parts strong{display:block;font-size:24px;line-height:1.15;color:#1762bc}.home-syllable-parts span{display:block;font-size:14px;margin-top:3px;color:#3c5877}
.home-foundation .home-method-note{font-size:16px;line-height:1.6}.home-foundation>small{display:block;color:#6c7f94;font-size:12px;line-height:1.6;margin-top:12px}
.home-course-value{margin:0 0 21px}.home-course-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}
.home-course-facts>div{padding:9px 4px 12px;text-align:center;border-bottom:2px solid #bdd4ee}.home-course-facts b{display:block;font-size:30px;color:#175eaa;line-height:1.25}.home-course-facts span{display:block;font-size:14px;color:#4b647c;margin-top:4px}
.home-study-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;counter-reset:home-step;list-style:none;margin:0 0 15px;padding:0}
.home-study-path li{counter-increment:home-step;font-size:14px;text-align:center;line-height:1.5;font-weight:650;color:#164979;padding:7px 2px;background:#eaf2fc;border-radius:8px}.home-study-path li:before{content:counter(home-step)". ";color:#176cf0}
.home-benefits p{margin:0;padding:11px 0;border-bottom:1px solid #e0e7ef}.home-benefits b{display:block;font-size:17px;line-height:1.4;color:#173c65}.home-benefits span{display:block;font-size:15px;line-height:1.55;color:#597087;margin-top:4px}
.home-buy{padding:20px 17px 13px;border-radius:18px;background:#0c3159;color:white}.home-buy h2{color:white;font-size:23px}.home-buy p{font-size:16px;line-height:1.65;color:#d5e4f5;margin:0 0 17px}.home-buy .cta{font-size:20px;font-weight:800;min-height:60px;padding:15px;background:#ffbd3d;color:#071f3e;box-shadow:0 5px 16px #0003;margin:0}
.home-course-link{display:block;width:100%;min-height:44px;font:inherit;font-size:14px;border:0;background:none;color:#d8e9ff;font-weight:650;padding:10px 5px 3px}
.home-encouragement{text-align:center;color:#214e77;font-size:20px;font-weight:700;line-height:1.6;margin:23px 0}
.developer-credit{border-top:1px solid #d7e2ee;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.developer-credit>div{display:flex;align-items:center;gap:12px}.developer-credit span{font-size:13px;color:#6b7e92}.developer-credit strong{font-size:22px;color:#173c65;font-weight:750;letter-spacing:1px}.developer-credit p{font-size:14px;color:#49617b;margin:0;line-height:1.5}
.home-transparency{border-top:1px solid #e0e7ef;padding:12px 0;color:#63768a}.home-transparency summary{font-size:14px;line-height:1.5;cursor:pointer}.home-transparency>p{font-size:14px;line-height:1.65}.home-transparency .cta{font-size:14px;padding:11px;margin-top:10px}
@media(max-width:360px){.home-opening{padding:20px 17px 18px}.home-opening h1{font-size:27px}.home-opening .home-core{font-size:19px}.home-moment{grid-template-columns:57px 1fr;gap:8px}.home-syllable{gap:10px}.home-syllable-parts{gap:5px}.developer-credit{gap:8px}.developer-credit>div{gap:8px}}
html[data-language=en] .home-opening h1{font-size:30px;line-height:1.2;letter-spacing:-.6px}html[data-language=en] .home-moment{grid-template-columns:82px 1fr}html[data-language=en] .developer-credit>div{gap:8px}
.capstone-overview{background:#eef5fd;border:1px solid #d8e7f8;border-radius:16px;padding:13px 15px;margin-bottom:10px}.capstone-overview>strong{font-size:16px;line-height:1.45;display:block;color:#173956}.capstone-counts{display:flex;gap:22px;align-items:baseline;margin:9px 0 6px;color:#4d6277;font-size:12px}.capstone-counts b{font-size:25px;color:#14558b;margin-right:5px}.capstone-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.capstone-task{width:100%;display:grid;grid-template-columns:23px minmax(0,1fr) 8px;gap:6px;align-items:center;padding:12px 8px;min-height:75px;border:1px solid #dde6ef;border-radius:12px;background:#fff;text-align:left;color:#243c52;font:inherit;cursor:pointer}.capstone-task:disabled{opacity:.48;cursor:default}.capstone-number{font-weight:800;font-size:18px;color:#327bc0}.capstone-task.done .capstone-number{color:#178266}.capstone-task-copy{display:grid;gap:3px}.capstone-task-copy strong{font-size:16px;line-height:1.3;overflow-wrap:anywhere}.capstone-task-copy>span{font-size:13px;color:#596d80;line-height:1.4}.capstone-task-copy small{font-size:11px;color:#7c6535;line-height:1.45;overflow-wrap:anywhere}.capstone-directory .day-overview-progress{margin:0}.capstone-directory .day-progress-meta{font-size:11px}.capstone-sounds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;margin:4px 0}.capstone-sound{border:1px solid #dde5ef;border-radius:12px;padding:8px 2px;background:#f7faff;transition:background .15s}.capstone-sound strong{display:block;font-size:clamp(26px,calc(var(--reading-size)*1.25),48px);line-height:1.15;color:#2267ac}.capstone-sound span{display:block;font-size:11px;color:#627991;margin-top:4px}.capstone-sound.speaking{background:#d9eafa;border-color:#579ce0}.phone.learning .capstone-lesson-nav .lesson-sound{font-size:13px;min-height:32px;padding:4px;overflow-wrap:anywhere}.recall-context{font-size:13px;font-weight:700;color:#246cab;margin:20px 0 8px}.recall-prompt{color:#62758a;font-size:14px}.recall-meaning{font-size:23px;font-weight:650;line-height:1.55;color:#233f58;margin:12px 0 20px}.recall-model{border-top:1px solid #dae4ed;padding-top:17px;margin:15px 0}.recall-target{font-size:25px;font-weight:750;line-height:1.5;color:#183d5e}.recall-jyut{font-size:24px;color:#2676bd;line-height:1.5;overflow-wrap:anywhere;margin:10px 0}.recall-model p{font-size:13px;color:#796338;line-height:1.55;background:#fff8e8;padding:10px;border-radius:10px}.capstone-review .cta{margin-top:16px}.capstone-review .relisten{width:100%;min-height:48px}.capstone-review .lesson-navigation{margin-top:5px}.capstone-task:focus-visible,.capstone-review button:focus-visible{outline:3px solid #659fd5;outline-offset:2px}
/* Compact dictionary: large headwords, one search and clear type filters. */
.dictionary-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 16px}.dictionary-top .translator-status{margin:0;font-size:14px}.dictionary-top strong{font-size:28px;color:#123d65;font-variant-numeric:tabular-nums}.dictionary-top>span{font-size:13px;color:#496780;white-space:nowrap}.dictionary-filters{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:14px 0}.dictionary-filters button{display:grid;gap:3px;border:1px solid #d9e4ef;border-radius:11px;padding:9px 2px;background:#fff;color:#345670;font-size:14px;min-height:53px}.dictionary-filters button small{font-size:12px;color:#74889a}.dictionary-filters button.selected{background:#176cf0;border-color:#176cf0;color:white}.dictionary-filters button.selected small{color:#e0edff}.phrasebook-item .dictionary-result-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 4px}.dictionary-result-head em{font-size:12px;font-style:normal;color:#657e95;white-space:nowrap}.dictionary-entry .dictionary-character{font-size:72px;line-height:1.25;margin:12px 0}.dictionary-entry .translation-jyut{font-size:29px;font-weight:700}.dictionary-readings{margin-top:17px;border-top:1px solid #d9e4ef;padding-top:14px}.dictionary-readings summary{font-size:15px;color:#245a89;cursor:pointer}.dictionary-readings>div{display:grid;gap:4px;margin:12px 0;font-size:16px;line-height:1.5}.dictionary-readings b{color:#176cf0;font-size:21px}.dictionary-sources{margin:16px 0 8px;color:#61768b;font-size:14px;line-height:1.6}.dictionary-sources summary{cursor:pointer}.dictionary-sources a{color:#176cf0;margin-right:12px}.dictionary-credit{font-size:12px;color:#657e95;text-align:center}.dictionary-back{min-height:42px}.translation-input input[type=search]{width:100%;font-size:19px;min-height:54px;padding:12px 14px;border:1px solid #bdcde0;border-radius:13px;background:#fff;color:#142e4b;box-sizing:border-box}.translation-input input[type=search]::placeholder{font-size:16px}
/* Inline dictionary navigation: same category, no separate learning panel. */
.dictionary-entry .translation-card-top>h3{flex:0 0 auto;white-space:nowrap}
.dictionary-entry .translation-card-top>button{width:auto;flex:0 1 auto}
.dictionary-entry .translation-card-top{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
.dictionary-playback-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}
.dictionary-entry .dictionary-playback-controls>button{width:100%;min-width:0;min-height:44px;padding:8px 7px;border:1px solid #aac7e7;border-radius:11px;background:#eaf2ff;color:#174e8c;font-size:14px;line-height:1.25;font-weight:700;white-space:normal}
.dictionary-entry .dictionary-playback-controls>.dictionary-autoplay{background:#0c3159;border-color:#0c3159;color:#fff}
.dictionary-entry .dictionary-playback-controls>.dictionary-autoplay.is-playing{background:#b42318;border-color:#7a271a;color:#fff}
.dictionary-entry .dictionary-sequence-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-top:16px}
.dictionary-entry .dictionary-sequence-nav button{width:100%;min-width:0;min-height:46px;padding:10px 6px;border:1px solid #d6e2ee;border-radius:11px;background:#f4f8fd;color:#24577f;font:inherit;font-size:16px;font-weight:650;line-height:1.35;overflow-wrap:normal}
.dictionary-entry .dictionary-sequence-nav .dictionary-next{background:#176cf0;border-color:#176cf0;color:white}
.dictionary-entry .dictionary-sequence-nav>span{font-size:14px;color:#526c85;font-variant-numeric:tabular-nums;white-space:nowrap}
.dictionary-entry .dictionary-sequence-nav button:disabled{opacity:.45;cursor:default}
.dictionary-entry .dictionary-sequence-nav button:focus-visible{outline:3px solid #8ab6ef;outline-offset:3px}
html[data-language=en] .dictionary-entry .dictionary-sequence-nav button{font-size:14px}
@media(max-width:360px){.dictionary-entry .translation-card-top{grid-template-columns:1fr}.dictionary-entry .dictionary-playback-controls{margin-top:7px}.dictionary-entry .dictionary-playback-controls>button{font-size:14px}}
.usage-all-categories{display:grid;gap:18px}.usage-category-section{display:grid;gap:7px}.usage-category-section>h3{margin:5px 2px 0;color:#214d76;font-size:19px;line-height:1.4;border-left:4px solid #176cf0;padding-left:10px}
/* Forty-item practice uses four clear batches without crushing the reading. */
.after-batches{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:5px 0 9px}.after-batches button{min-height:35px;border:1px solid #cad9e9;border-radius:9px;background:#fff;color:#456681;font-size:14px;font-weight:650}.after-batches button.selected{background:#e5efff;border-color:#82aee8;color:#145dbd}.phone.learning.after-learning #content{overflow-y:auto;overflow-x:hidden;padding-bottom:10px}.phone.learning.after-learning .focus-reading{min-height:min-content}.phone.learning.after-learning #lesson-surface{min-height:465px}.phone.learning.after-learning .reading-content{min-height:155px}.phone.learning.after-learning .usage-focus .reading-copy .spoken-target{font-size:calc(var(--reading-size)*1.45);line-height:1.22;letter-spacing:0}.phone.learning.after-learning .usage-focus .reading-copy .spoken-target.medium{font-size:calc(var(--reading-size)*1.15)}.phone.learning.after-learning .usage-focus .reading-copy .spoken-target.long{font-size:var(--reading-size)}.phone.learning.after-learning .usage-focus .reading-copy .target-jyut,.phone.learning.after-learning .usage-focus .reading-copy .spoken-target.long+.target-jyut{font-size:var(--reading-size);line-height:1.35;margin:6px 0;word-break:normal;overflow-wrap:anywhere}.phone.learning.after-learning .usage-focus .reading-copy .usage-meaning b{font-size:max(16px,calc(var(--reading-size)*.72));line-height:1.4}.phone.learning.after-learning .usage-focus .usage-step{display:none}.phone.learning.after-learning .practice-picker .practice-pick{min-height:47px;padding:4px 3px}.phone.learning.after-learning .practice-picker .practice-pick b{font-size:13px;line-height:1.3}.phone.learning.after-learning .lesson-context .pagehead p{display:none}.phone.learning.after-learning .usage-meaning small{font-size:12px;margin:3px 0}.phone.learning.after-learning .focus-heading{font-size:13px}.phone.learning.after-learning .reading-copy{padding:5px 0}

/* The All view exposes every category and group in a compact directory. */
.usage-category-section>h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.usage-category-section>h3>small{font-size:14px;font-weight:500;color:#66758a;white-space:nowrap}
.usage-category-directory{display:grid;gap:0;border:1px solid #dce5ef;border-radius:14px;background:#fff;overflow:hidden}
.usage-directory-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:58px;width:100%;padding:9px 12px;border:0;border-bottom:1px solid #e6ebf2;background:#fff;color:#10233c;text-align:left;font:inherit}
.usage-directory-item:last-child{border-bottom:0}.usage-directory-item:not(:disabled):hover{background:#eaf3ff}
.usage-directory-number{font-size:14px;font-weight:700;color:#176cf0;font-variant-numeric:tabular-nums}
.usage-directory-item b{display:block;font-size:16px;line-height:1.4}.usage-directory-item small{display:block;font-size:14px;line-height:1.4;color:#66758a}
.usage-directory-status{font-size:18px;color:#24577f}.usage-directory-item:disabled .usage-directory-status{font-size:14px;color:#66758a}

