/* Touch targets and safe areas for phones and tablets. */
@font-face{font-family:'Noto Sans';src:url('/assets/fonts/NotoSans-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}.listening{font-family:'Noto Sans','Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif}.listening button,.listening select{font-family:inherit}
.sentence,.sentence.active{border-left:0}
.listening .workspace{min-height:100vh}
.icon{width:22px;height:22px;display:block;flex-shrink:0}.controls button{display:flex;align-items:center;justify-content:center}.controls .primary{display:flex;justify-content:center;min-height:52px}.controls button[aria-pressed=true]{background:#ffe5ce;border-radius:3px}
.hidden-text{display:block;font-size:20px;line-height:1.7;letter-spacing:0;font-style:normal;overflow-wrap:anywhere;color:var(--ink);filter:blur(7px);opacity:.55;user-select:none;pointer-events:none;min-height:58px}.hidden-text:before{display:none}
@media (pointer:coarse){.sentence-actions button,.sentence-jump{min-height:44px}.controls button{min-height:44px}select{min-height:44px}}
@media(max-width:650px){.controls{top:0;bottom:0;right:0;width:112px;height:100dvh;min-height:0;border-left:1px solid var(--line);border-top:0;padding:20px 10px calc(16px + env(safe-area-inset-bottom));display:flex;overflow-y:auto;gap:32px}.controls>div:first-child{display:block}.controls .eyebrow{display:block;font-size:9px;letter-spacing:1px}.controls .rule{display:block;margin:14px 0}#count{font-size:24px;margin:22px 0}.controls .primary{padding:13px 4px;margin-bottom:14px;font-size:11px;white-space:nowrap}.controls button{font-size:12px;padding:13px 2px}.step-buttons{display:block}.control-bottom{display:block}.control-bottom p{display:none}.control-bottom label{font-size:10px}.control-bottom select{width:100%;margin:6px 0 20px;padding:8px 0}.control-bottom a{font-size:10px}.workspace{margin-right:112px;padding:24px 10px 32px}.page-header{margin-right:112px;padding:0 16px}.brand{font-size:20px}.lesson-heading{padding:0 6px}.lesson-heading h1{font-size:27px;line-height:1.2}.selectors{gap:12px;flex-wrap:wrap}.selectors label:first-child{flex-basis:100%;min-width:0}.selectors label:last-child{width:100%}.sentence{padding:14px 10px 8px;scroll-margin-bottom:20px}.text{font-size:17px}.sentence-top{font-size:9px;letter-spacing:0;flex-wrap:wrap;gap:4px}.sentence-actions{gap:12px;flex-wrap:wrap}.sentence-actions button{font-size:11px}.hidden-text{font-size:11px}.source{margin:32px 10px;line-height:1.8}.toast{left:calc((100% - 112px)/2);bottom:24px;width:calc(100% - 140px);font-size:11px;text-align:center}.blank-space{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:650px){.hidden-text{font-size:17px}}
