/* Reader 1.1: bottom tools remain within the reader so settings/events stay shared. */
.reader-control-sentinel{display:block;position:absolute;width:1px;height:1px;pointer-events:none}
.reader-mobile-dock[hidden]{display:none!important}
.reader-mobile-dock{display:none}
.reader-bottom-sheet{box-sizing:border-box;position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,620px);max-width:100%;max-height:82vh;max-height:82dvh;padding:0;border:1px solid var(--reader-ui-line,var(--tr-border,#d9dfdc));border-bottom:0;border-radius:20px 20px 0 0;background:var(--reader-ui-surface,var(--tr-panel,#f0f2f0));color:var(--reader-ui-ink,var(--tr-ui,#26332e));overflow:hidden;font:16px/1.6 var(--font-body,system-ui,sans-serif)}
.reader-bottom-sheet::backdrop{background:#0005}
.reader-bottom-sheet[open]{display:flex;flex-direction:column}
.reader-sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--reader-ui-line,var(--tr-border,#d9dfdc));flex:none}
.reader-sheet-heading button{background:transparent;color:inherit;border:0;min-width:44px;min-height:44px;padding:8px;font:inherit;cursor:pointer}
.reader-sheet-body{overflow:auto;overscroll-behavior:contain;padding:16px max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));min-height:0}
.reader-sheet-body :is(.reader-sidebar,.reader-outline,.reader-sidebar-inner,.tr-controls){position:static!important;max-height:none!important;width:100%;overflow:visible}
.reader-sheet-body .reader-settings{border:0}.reader-sheet-body .reader-settings>summary{display:none}.reader-sheet-body .reader-settings-body{border:0;padding:0}.reader-sheet-body .reader-contents{margin:0}.reader-sheet-body .reader-contents>summary{display:none}.reader-sheet-body .reader-contents ol{max-height:none;overflow:visible}
.reader-sheet-body :is(button,a,summary){min-height:44px}.reader-sheet-body input[type=text]{font-size:16px}.reader-sheet-body :is(a,button,input):focus-visible,.reader-mobile-dock button:focus-visible{outline:3px solid var(--reader-ui-accent,var(--tr-accent,#146b52));outline-offset:3px}
html.reader-sheet-open{overflow:hidden}
.reader-block-outline{grid-column:1;grid-row:2;padding:18px;border:1px solid var(--tr-border);border-radius:12px;background:var(--tr-panel);color:var(--tr-ui)}
.reader-block-outline ol{list-style:none;margin:8px 0 0;padding:0}.reader-block-outline a{display:block;padding:9px 0;color:inherit;overflow-wrap:anywhere}.tr-lesson :is(h2,h3,h4,h5,h6,.reader-heading,[role=heading]){scroll-margin-top:calc(var(--header-offset,70px) + 20px)}
@media(max-width:959px){.tr-reader>.reader-block-outline{grid-row:2}.tr-reader:has(>.reader-block-outline)>.tr-lesson{grid-row:3}}
@media(max-width:860px){
 .reader-mobile-dock{display:flex;align-items:center;gap:10px;position:fixed;z-index:1000;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
 .reader-mobile-dock button{display:grid;place-items:center;width:48px;height:48px;min-width:48px;border:1px solid var(--reader-ui-line,var(--tr-border,#d9dfdc));border-radius:50%;background:var(--reader-ui-surface,var(--tr-panel,#f0f2f0));color:var(--reader-ui-ink,var(--tr-ui,#26332e));box-shadow:0 2px 12px #0002;padding:0;font:600 15px/1 var(--font-body,system-ui,sans-serif);cursor:pointer;touch-action:manipulation}
 .reader-mobile-dock .reader-mobile-settings{font-size:19px}
 .reader-sheet-body .tr-controls{padding:0;border:0}.reader-sheet-body .tr-settings{grid-template-columns:1fr}.reader-sheet-body .reader-settings-body{display:block}.reader-sheet-body .reader-field input[type=range]{height:44px}
 .reader-colour-dialog :is(button,input[type=range]){min-height:44px}.reader-colour-dialog input[type=text]{font-size:16px}.reader-colour-dialog{padding-bottom:max(18px,env(safe-area-inset-bottom))}
}
.reader-palette-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.reader-colour-dialog .reader-palette-heading button{width:44px;height:44px}.reader-colour-dialog [hidden]{display:none!important}
/* Opt-in chrome colors. Logos and explicitly styled content images retain their artwork. */
body.reader-site-theme :is(.site-header,.site-footer){--ink:var(--reader-site-ink);--muted:var(--reader-site-ink);--brand:var(--reader-site-accent);--line:color-mix(in srgb,var(--reader-site-ink) 20%,var(--reader-site-background));--footer-background:var(--reader-site-background);--footer-color:var(--reader-site-ink);--footer-border:var(--reader-site-accent);background:var(--reader-site-background);color:var(--reader-site-ink);border-color:var(--line)}
body.reader-site-theme :is(.site-header,.site-footer) :is(a,h1,h2,h3,.site-description,.footer-bottom){color:var(--reader-site-ink)}
body.reader-site-theme .site-header :is(.sub-menu,.header-search-panel,.search-popover,.header-navigation,.search-form input){background:var(--reader-site-background);color:var(--reader-site-ink);border-color:var(--line)}
body.reader-site-theme .site-header :is(.menu-toggle,.submenu-toggle,.header-search summary){color:var(--reader-site-ink);background:transparent}
body.reader-site-theme .site-header :is(.header-button,.wp-block-button__link){background:var(--reader-site-accent);color:var(--reader-site-background)}
body.reader-site-theme .main-navigation .sub-menu a:hover{background:color-mix(in srgb,var(--reader-site-ink) 10%,var(--reader-site-background))}
@media print{.reader-mobile-dock,.reader-bottom-sheet,.reader-block-outline,.reader-colour-dialog{display:none!important}}

body.reader-site-theme .site-footer :is(.footer-row-bottom,.footer-lower-blocks){border-color:var(--line)}

.reader-sheet-body :is(.tr-brand,[data-tr-toggle]){display:none!important}
/* Independent panel scrollbars follow the user's current palette, including custom colors. */
:is(.reader-settings-body,.reader-sidebar-inner,.reader-outline,.reader-contents ol,.tr-controls,.reader-block-outline,.reader-sheet-body,.reader-colour-dialog){
 --reader-scroll-thumb:var(--reader-ui-muted,var(--tr-ui,#62706a));
 --reader-scroll-track:var(--reader-ui-surface,var(--tr-panel,#f0f2f0));
 scrollbar-width:thin;scrollbar-color:var(--reader-scroll-thumb) var(--reader-scroll-track);
 scrollbar-gutter:auto;overscroll-behavior:contain;
}
:is(.reader-settings-body,.reader-sidebar-inner,.reader-outline,.reader-contents ol,.tr-controls,.reader-block-outline,.reader-sheet-body,.reader-colour-dialog)::-webkit-scrollbar{width:9px;height:9px}
:is(.reader-settings-body,.reader-sidebar-inner,.reader-outline,.reader-contents ol,.tr-controls,.reader-block-outline,.reader-sheet-body,.reader-colour-dialog)::-webkit-scrollbar-track{background:var(--reader-scroll-track);border-radius:8px}
:is(.reader-settings-body,.reader-sidebar-inner,.reader-outline,.reader-contents ol,.tr-controls,.reader-block-outline,.reader-sheet-body,.reader-colour-dialog)::-webkit-scrollbar-thumb{background:var(--reader-scroll-thumb);border:2px solid var(--reader-scroll-track);border-radius:8px}
:is(.reader-settings-body,.reader-sidebar-inner,.reader-outline,.reader-contents ol,.tr-controls,.reader-block-outline,.reader-sheet-body,.reader-colour-dialog)::-webkit-scrollbar-corner{background:var(--reader-scroll-track)}
/* One scroll surface per panel: avoid nested chapter scrollbars at tablet widths. */
@media(min-width:861px){.reader-outline .reader-contents ol{max-height:none;overflow:visible}.reader-block-outline{max-height:calc(100dvh - var(--header-offset,70px) - 40px);overflow:auto}}
@media(max-width:860px){.reader-sidebar-inner{max-height:none;overflow:visible}.tr-reader>.tr-controls{max-height:60vh;max-height:60dvh;overflow:auto}.reader-block-outline{max-height:240px;overflow:auto}}
/* The sheet body owns scrolling when a panel moves into the mobile dialog. */
.reader-sheet-body :is(.reader-settings-body,.reader-sidebar-inner,.tr-controls,.reader-outline,.reader-block-outline,.reader-contents ol){max-height:none!important;overflow:visible;scrollbar-gutter:auto}
@media(forced-colors:active){:is(.reader-settings-body,.reader-sidebar-inner,.reader-outline,.reader-contents ol,.tr-controls,.reader-block-outline,.reader-sheet-body,.reader-colour-dialog){scrollbar-color:auto}}
.reader-colour-dialog{box-sizing:border-box}.reader-colour-dialog .reader-palette-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.reader-colour-dialog .reader-palette-swatch{min-height:44px}
@media(max-width:860px){.reader-colour-dialog{left:50%!important;top:auto!important;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%)}}
