body{font-size:calc(18px * var(--text-scale,1));overflow-wrap:anywhere}
h1,.hero h1{font-size:calc(clamp(32px,7vw,56px) * var(--text-scale,1))}
h2,.card h2{font-size:1.28em}.card h3,h3{font-size:1.12em}
small,.sub{font-size:.83em}.source-link,nav button{font-size:.8em}.original-text{font-size:1.22em}.quizline span{font-size:.83em}
.tile i,nav b{font-size:1.17em}.word-link{font-size:inherit}
.card p,#reader p,.note-priority p,.word-note p,.card li{white-space:pre-line;line-height:1.85}
#prefs{width:min(94vw,480px);max-height:85vh;overflow-y:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.color-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.color-controls label{min-width:0}.color-controls input{height:46px;padding:3px;width:100%}
input[type=file]{min-width:0;max-width:100%}#appearance-controls{border-block:1px solid var(--line);padding:16px 0;margin:18px 0}#appearance-reset{margin-top:14px}
body.custom-background{background-color:var(--custom-background);background-image:var(--custom-pattern,url(cloud-silk.svg))}
body.custom-decoration:not(.custom-background){background-image:var(--custom-pattern),linear-gradient(156deg,var(--bg),var(--paper))}
.custom-decoration .hero:before{background-image:var(--custom-garden)}
.custom-decoration .tile{background-image:var(--custom-pattern)!important}
.row{flex-wrap:wrap}.row>*{min-width:0}nav button{min-width:0;flex:1;padding-inline:4px}.hero>div{min-width:0}
