/* Medium deliberately retains every existing book font size. No CSS zoom or text transforms. */
.reader-v2{--reader-font-scale:1}
.reader-v2[data-font-size="small"]{--reader-font-scale:.85}
.reader-v2[data-font-size="large"]{--reader-font-scale:1.4}
.reader-v2 .leaf-content{overflow-anchor:none}
.reader-v2 .reader-document{overflow-anchor:none}
.reader-v2:not([data-font-size="medium"]) .leaf h2{font-size:calc(clamp(30px,3.2vw,48px) * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .leaf-body{font-size:calc(clamp(17px,1.4vw,20px) * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .document-leaf .leaf-body{font-size:calc(19px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .leaf-content.title .leaf-body{font-size:calc(clamp(16px,1.5vw,21px) * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .leaf-subtitle{font-size:calc(10px * var(--reader-font-scale))!important}
.reader-v2:not([data-font-size="medium"]) .leaf-content>p:not([class]),.reader-v2:not([data-font-size="medium"]) .author-index p{font-size:calc(14px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .poetry-note{font-size:calc(16px * var(--reader-font-scale))!important}
.reader-v2:not([data-font-size="medium"]) .contents-entry{font-size:calc(24px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .contents-subsections button{font-size:calc(17px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .poem-entry strong{font-size:calc(23px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .poem-entry small,.reader-v2:not([data-font-size="medium"]) .shelf-refresh,.reader-v2:not([data-font-size="medium"]) .remove-poem{font-size:calc(10px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .poetry-filters button{font-size:calc(12px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .expanded-contents .atlas-invitation{font-size:calc(clamp(17px,1.5vw,22px) * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .atlas-note{font-size:calc(13px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .atlas-numeral,.reader-v2:not([data-font-size="medium"]) .atlas-page,.reader-v2:not([data-font-size="medium"]) .atlas-planned-label{font-size:calc(12px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .atlas-title{font-size:calc(clamp(19px,1.7vw,25px) * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .atlas-shelf{font-size:calc(17px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .atlas-planned,.reader-v2:not([data-font-size="medium"]) .atlas-collections dd{font-size:calc(14px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .atlas-collections h3{font-size:calc(28px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .atlas-collections dt{font-size:calc(18px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .creators-directory{font-size:calc(16px * var(--reader-font-scale))}
.reader-v2:not([data-font-size="medium"]) .creators-directory h3{font-size:calc(26px * var(--reader-font-scale))}
.reader-v2 .atlas-title,.reader-v2 .atlas-shelf>span:first-child{min-width:0;overflow-wrap:anywhere}
.reader-v2 .leaf-content.title>*,.reader-v2 .leaf-content.chapter>*{flex-shrink:0}
.reader-font-dialog{color-scheme:light}
.reader-font-dialog fieldset{margin:0;padding:0;border:0}
.reader-font-dialog legend{font:16px/1.5 Georgia,serif;margin-bottom:10px}
.reader-font-dialog fieldset label{display:flex;align-items:center;gap:12px;min-height:56px;margin:8px 0;padding:12px;border:1px solid #947545;border-radius:5px;font:18px/1.4 Georgia,serif;cursor:pointer}
.reader-font-dialog fieldset label:has(:checked){background:#e4d1ab;border-color:#5e431f}
.reader-font-dialog fieldset label:has(:focus-visible){outline:2px solid #5e431f;outline-offset:3px}
.reader-font-dialog input[type="radio"]{display:block;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:#5e431f}
.reader-font-dialog small{display:block;font:14px/1.5 Georgia,serif;color:#624b30}
.reader-font-dialog p{font:15px/1.5 Georgia,serif;letter-spacing:normal;color:#4c3824}
.reader-font-dialog .reader-font-status{min-height:1.5em}
.reader-v2 .reader-toolbar :is(button,select):focus-visible{outline:2px solid #f5d18c;outline-offset:3px}
@media(max-width:700px){
 .reader-v2:not([data-font-size="medium"]) .leaf h2{font-size:calc(34px * var(--reader-font-scale))}
 .reader-v2:not([data-font-size="medium"]) .leaf-body,.reader-v2:not([data-font-size="medium"]) .document-leaf .leaf-body{font-size:calc(17px * var(--reader-font-scale))}
 .reader-v2:not([data-font-size="medium"]) .leaf-content.title .leaf-body{font-size:calc(16px * var(--reader-font-scale))}
 .reader-v2:not([data-font-size="medium"]) .atlas-title{font-size:calc(19px * var(--reader-font-scale))}
 .reader-v2:not([data-font-size="medium"]) .atlas-shelf{font-size:calc(16px * var(--reader-font-scale))}
 .reader-v2:not([data-font-size="medium"]) .atlas-shortcuts button{font-size:calc(12px * var(--reader-font-scale))}
}
/* Phone navigation uses a single quiet row; secondary tools live in More. */
.reader-v2 .reader-more-toggle,.reader-v2 .reader-option-caption{display:none}
.reader-v2 .reader-more-panel[hidden]{display:none!important}
@media(max-width:700px), (max-width:950px) and (pointer:coarse){
 .reader-v2 .reader-toolbar{position:relative;height:44px;min-height:44px;display:flex;padding:0 0 0 52px;gap:0;margin-bottom:8px;z-index:6}
 .reader-v2 .reader-tools{width:100%;min-width:0;display:grid;grid-template-columns:max-content max-content minmax(44px,1fr) 44px;align-items:center;gap:4px}
 .reader-v2 .reader-toolbar button{position:relative;min-width:44px;min-height:44px;height:44px;padding:6px 8px;border:0;background:transparent;border-radius:5px;font-size:12px;line-height:1.3}
 .reader-v2 .reader-toolbar button:hover,.reader-v2 .reader-toolbar button[aria-expanded="true"]{background:#efdfc014}
 .reader-v2 .reader-tools>.reader-close{border-left:1px solid #a38b6255;border-radius:0;font-size:22px}
 .reader-v2 .reader-more-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;justify-self:end}
 .reader-v2 .reader-more-toggle::after{content:'';width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
 .reader-v2 .reader-more-toggle[aria-expanded="true"]::after{transform:translateY(1px) rotate(225deg)}
 .reader-v2 .reader-more-panel{position:absolute;top:calc(100% + 6px);right:0;width:min(280px,100%);max-height:calc(100dvh - 100px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;padding:8px 14px 12px;border:1px solid #a38b6277;border-radius:9px;background:#272117;box-shadow:0 12px 30px #0008;color:#efdfc0;text-align:left}
 .reader-v2 .reader-option-group+ .reader-option-group{border-top:1px solid #a38b6244;margin-top:8px;padding-top:4px}
 .reader-v2 .reader-option-group>p{margin:8px 0 4px;color:#c0ab85;font:10px/1.4 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:1.2px}
 .reader-v2 .reader-more-panel label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font:13px/1.4 Inter,Arial,sans-serif;letter-spacing:normal}
 .reader-v2 .reader-more-panel select{width:132px;max-width:65%;height:44px;font-size:13px;background:#201b14;border-color:#a38b6277;padding:6px 10px}
 .reader-v2 .reader-more-panel button{display:flex;width:100%;height:auto;min-height:44px;padding:8px 0;gap:10px;justify-content:flex-start;align-items:center;font-size:13px;text-align:left;white-space:normal}
 .reader-v2 .reader-more-panel .reader-option-caption{display:inline}
 .reader-v2 .reader-more-panel .narration-toggle svg{width:18px;height:18px;flex-shrink:0}
}
@media(forced-colors:active){
 .reader-font-dialog fieldset label:has(:checked){border:2px solid Highlight;background:Canvas}
 .reader-font-dialog fieldset label:has(:focus-visible){outline-color:Highlight}
}
