.pinyin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 4px}.pinyin-tab{border:1px solid var(--line);border-radius:999px;padding:11px 18px;background:var(--card);color:var(--ink);font:700 14px inherit;min-height:44px;cursor:pointer}.pinyin-tab.active{color:#fff;background:#2455d6;border-color:#2455d6}.pinyin-panel{max-width:970px;margin:auto}.pinyin-panel-intro{margin:22px 0}.pinyin-panel-intro h2{font-size:23px;margin:0 0 4px}.pinyin-panel-intro p{font-size:14px;color:var(--muted);line-height:1.7}.lesson-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lesson-item{width:100%;display:flex;text-align:left;align-items:center;gap:13px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:15px;padding:16px;min-height:86px;cursor:pointer}.lesson-item:hover{border-color:#2455d6}.lesson-item .number{display:grid;place-items:center;background:var(--soft);color:#2455d6;border-radius:13px;width:42px;height:42px;font-weight:800;flex:none}.lesson-item .label{flex:1}.lesson-item .label strong{font-size:14px}.lesson-item .label small{display:block;color:var(--muted);font-size:12px;line-height:1.5}.lesson-item .done{color:#178050}.pinyin-lesson-detail{background:var(--card);padding:clamp(16px,4vw,32px);border:1px solid var(--line);border-radius:18px;margin:15px 0}.pinyin-lesson-detail h2{font-size:24px;margin:18px 0 8px}.pinyin-lesson-detail p{line-height:1.8}.pinyin-lesson-head{display:flex;align-items:center;justify-content:space-between}.pinyin-small{font-size:13px;color:var(--muted)}.pinyin-tip{background:var(--soft);border-left:4px solid #2455d6;padding:14px 16px;line-height:1.8;border-radius:10px}.pinyin-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}.pinyin-example{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:14px;padding:14px}.pinyin-example b{font-size:30px;font-family:'Noto Sans SC',sans-serif}.pinyin-example small{display:block;color:var(--muted)}.pinyin-example button{min-width:48px;min-height:48px;background:var(--soft);border:1px solid var(--line);border-radius:12px;cursor:pointer}.pinyin-chart-tools{display:flex;gap:12px;margin:14px 0}.pinyin-chart-tools label{font-size:13px;color:var(--muted);flex:1}.pinyin-chart-tools input,.pinyin-chart-tools select{display:block;margin-top:5px;padding:12px;background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:11px;width:100%;min-height:46px}.pinyin-chart-details{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:17px;margin-bottom:14px}.pinyin-chart-details strong{font-size:22px}.pinyin-chart-details span{flex:1;color:var(--muted);font-size:12px;min-width:210px}.pinyin-chart-row{border-bottom:1px solid var(--line);padding:12px 0;display:grid;grid-template-columns:55px 1fr;gap:9px}.pinyin-row-initial{font-weight:800;color:#2455d6;font-size:16px}.pinyin-syllables{display:flex;flex-wrap:wrap;gap:5px}.pinyin-syllable{border:1px solid var(--line);border-radius:8px;padding:7px 9px;color:var(--ink);background:var(--card);font-size:14px;min-height:39px}.pinyin-syllable.active{border-color:#2455d6;background:var(--soft);font-weight:700}.pinyin-syllable.missing{opacity:.68}.pinyin-disclaimer{font-size:12px;line-height:1.7;color:var(--muted);margin-top:18px}.pinyin-setup{grid-template-columns:1fr 1fr auto}.pinyin-panel #pinyin-question{text-align:center;padding:20px 0}.pinyin-panel #pinyin-hint{text-align:center;margin:20px 0 0}.pinyin-panel #practice-hear{display:block;margin:0 auto 20px}.pinyin-panel #pinyin-options{margin:12px 0 18px}@media(max-width:640px){.lesson-items,.pinyin-examples{grid-template-columns:1fr}.pinyin-chart-tools{flex-direction:column}.pinyin-setup{grid-template-columns:1fr}.pinyin-chart-row{grid-template-columns:36px 1fr}.pinyin-syllable{padding:6px;min-height:42px}.pinyin-chart-details span{min-width:100%}}


/* AW Chinese V6.5 — mobile interaction and chart layout fixes */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:clip}
.game-main,.game-main>*{min-width:0}
.pinyin-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.pinyin-tab{min-width:0;white-space:normal;text-align:center;border-radius:12px;padding:12px 6px;font-family:inherit;font-size:clamp(12px,2.8vw,14px);line-height:1.35}
.pinyin-chart-details{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center}
.pinyin-chart-details strong{grid-column:1;font-size:clamp(22px,5vw,30px);overflow-wrap:anywhere}
.pinyin-chart-details span{grid-column:1;grid-row:2;min-width:0;line-height:1.6;overflow-wrap:anywhere}
.pinyin-chart-details .listen-btn{grid-column:2;grid-row:1/span 2;min-height:48px}
.pinyin-chart-row{grid-template-columns:45px minmax(0,1fr)}
.pinyin-syllables{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;min-width:0}
.pinyin-syllable{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:72px;padding:8px 4px;line-height:1.25;cursor:pointer;touch-action:manipulation}
.syllable-roman{font-size:14px;font-weight:750}
.syllable-hanzi{font-family:'Noto Sans SC',system-ui,sans-serif;font-size:22px;min-height:27px}
.pinyin-syllable.missing .syllable-hanzi{color:var(--muted)}
.pinyin-panel,.pinyin-lesson-detail,.pinyin-chart-rows,.pinyin-chart-row,.pinyin-syllables{max-width:100%;min-width:0}
.pinyin-setup select,.pinyin-chart-tools input,.pinyin-chart-tools select{font-size:16px;max-width:100%}
.pinyin-lesson-head{gap:8px;flex-wrap:wrap}
.pinyin-example{min-width:0}.pinyin-example>div{min-width:0;overflow-wrap:anywhere}
.pinyin-chart-tools{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.pinyin-chart-tools label{min-width:0}
.pinyin-setup{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
.pinyin-panel button:focus-visible,.game-main button:focus-visible,.game-main a:focus-visible{outline:3px solid #58b5f5;outline-offset:2px}
@media(max-width:640px){
 .game-header{height:auto;min-height:58px;padding:9px 12px;gap:6px}.game-header-links{min-width:0;gap:8px}
 .game-main{padding:14px 12px 78px;width:100%;max-width:100%}
 .game-top{display:block}.game-top h1{font-size:clamp(22px,6vw,28px);line-height:1.32}
 .game-top .back-link{display:inline-block;margin-top:8px}
 .pinyin-tabs{margin-top:14px;position:sticky;top:0;z-index:15;background:var(--bg,#f7f9fc);padding:6px 0}
 .pinyin-panel-intro{margin:15px 0 10px}.pinyin-panel-intro h2{font-size:20px}
 .pinyin-chart-tools{grid-template-columns:minmax(0,1fr) 118px;gap:8px}
 .pinyin-chart-row{grid-template-columns:1fr;gap:7px;padding:12px 0}
 .pinyin-row-initial{font-size:15px}
 .pinyin-syllables{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .pinyin-syllable{min-height:72px;padding:7px 2px;border-radius:10px}
 .pinyin-chart-details{padding:12px;grid-template-columns:1fr}
 .pinyin-chart-details strong,.pinyin-chart-details span,.pinyin-chart-details .listen-btn{grid-column:1;grid-row:auto}
 .pinyin-chart-details .listen-btn{width:100%}
 .pinyin-examples,.lesson-items{grid-template-columns:1fr}
 .pinyin-setup,.setup-card.pro-setup{display:grid;grid-template-columns:1fr!important}
 .pinyin-setup>*,.setup-card.pro-setup>*{grid-column:1/-1!important;grid-row:auto!important;min-width:0;width:100%}
 .play-card,.setup-card,.summary-card,.pinyin-lesson-detail{max-width:100%;min-width:0}
 .answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .answer-btn{overflow-wrap:anywhere;min-height:64px}
 #pinyin-question{overflow-wrap:anywhere}
}
@media(max-width:360px){.pinyin-syllables{grid-template-columns:repeat(3,minmax(0,1fr))}.pinyin-chart-tools{grid-template-columns:1fr}.pinyin-tab{font-size:12px}}
@media(prefers-reduced-motion:reduce){.pinyin-chart-details{scroll-behavior:auto}}
