/* Responsive reading: preserve source sentences, paragraphs and intentional breaks. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
main{width:100%;max-width:52.5rem;margin-inline:auto;overflow-wrap:anywhere}
main :is(section,article,.card,.q,.sc,.grammar-unit,.dialogue-script){min-width:0}
.book-brand,.hero,.map,footer{min-width:0;max-width:min(100%,60rem)}
.book-brand>a,.curriculum-body,.week>div,.example>div,.ex>div,.line>div,.video-wrap>.vnotes{min-width:0}
main .passage,main .rd-zh{width:100%;max-width:42rem;margin-inline:auto;height:auto;max-height:none;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
main .passage{font-size:19px;line-height:1.95;padding:22px;overflow:visible}
main .passage p{margin-block:0 1em}
main .passage p:last-child{margin-bottom:0}
main :is(.say,.sc-kr,.line .k,.ex .k,.rule .f){max-width:100%;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
main .line>div:last-child{flex:1;min-width:0}
main :is(table.t,table.nu){width:100%;max-width:100%}
main :is(table.t,table.nu) :is(th,td){overflow-wrap:anywhere}
main table.t .kr,main table.t [lang=ko],main table.nu [lang=ko]{overflow-wrap:anywhere;word-break:keep-all}
.recall li{grid-template-columns:minmax(0,120px) minmax(0,1fr)}
.recall li>*,.sentence-parts>div>*{min-width:0;overflow-wrap:anywhere}
.sentence-parts>div{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
main textarea,main input,main select,main audio{max-width:100%;min-width:0;box-sizing:border-box}
main textarea{resize:vertical}
.vbox{max-height:none}
@media(max-width:600px){
 main{padding:26px 16px 56px}
 main .card{padding:18px 14px}
 main .passage{font-size:18px;line-height:1.9;padding:16px 14px}
 main .rd-zh{font-size:15px;line-height:1.85}
 main .say,main .line .k,main .ex .k{font-size:17px;line-height:1.85}
 main .read-say,main .sc-kr{font-size:18px;line-height:1.9}
 main .rule .d,main .section-intro{font-size:15px;line-height:1.85}
 main :is(table.t,table.nu){table-layout:fixed}
 .recall li{grid-template-columns:minmax(0,95px) minmax(0,1fr)}
 .sentence-parts>div{grid-template-columns:minmax(0,1fr)}
 .book-brand{gap:10px;padding-inline:16px}
 .brand-edition{white-space:normal;text-align:center}
 .hero,.map{padding-inline:16px}
 .sc-head{padding:18px 14px}
 .acc summary{padding-inline:14px}
 .acc .ab{padding-inline:14px}
}
