/* Reading controls are progressively enhanced; native device advice remains without JavaScript. */
.reading-js-controls{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.4rem}
.reading-js-controls>p,.reading-persistence,.reading-voice,.reading-fallback-links{grid-column:1/-1}
.reading-js-controls label,.reading-voice label{display:block;font-weight:700;margin-bottom:.45rem}
.reading-tools button,.reading-tools select{max-width:100%;min-width:44px;overflow-wrap:anywhere}
.reading-persistence{border-top:1px solid var(--line);padding-top:1rem}
.reading-persistence input,.reading-save input{min-width:1.3em;min-height:1.3em;vertical-align:middle}
.reading-voice{border-top:1px solid var(--line);padding-top:1rem}
.reading-voice select{max-width:100%;margin:0 0 .8rem;min-height:44px}
.reading-dialog{position:fixed;max-width:min(960px,calc(100vw - 2rem));width:960px;max-height:calc(100dvh - 2rem);padding:0;border:2px solid var(--blue);color:var(--ink);background:var(--paper);overscroll-behavior:contain}
.reading-dialog::backdrop{background:rgba(0,0,0,.5)}
.reading-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:var(--paper);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line)}
.reading-dialog-top h2{font-size:1.3rem;margin:0;line-height:1.3;min-width:0;overflow-wrap:anywhere}
.reading-dialog-top button{max-width:50%;min-width:44px;overflow-wrap:anywhere}
.reading-dialog .reading-panel{margin:0;border:0;max-width:none}
.reading-dialog .reading-tools{border-top:0}
.reading-dock{position:fixed;bottom:0;inset-inline:0;z-index:20;display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem;padding:.25rem max(.3rem,env(safe-area-inset-right)) calc(.25rem + env(safe-area-inset-bottom));background:var(--paper);color:var(--blue);border-top:2px solid var(--blue);box-shadow:0 -2px 12px #0001;font-size:.85rem}
.reading-dock a,.reading-dock button{display:inline-flex;align-items:center;justify-content:center;flex:1 0 auto;max-width:100%;overflow-wrap:anywhere;padding:.5rem .75rem;min-height:44px;min-width:44px;color:var(--blue);background:transparent;border:0;text-decoration:underline;font:inherit;font-weight:700;cursor:pointer;line-height:1.25;text-align:center}
.reading-dock .reading-dock-urgency{color:var(--red)}
.reading-nojs-urgency{position:fixed;bottom:.5rem;right:.5rem;z-index:20;display:inline-flex;align-items:center;min-height:44px;max-width:calc(100vw - 1rem);padding:.6rem 1rem;border:2px solid var(--red);background:var(--paper);color:var(--red);font-weight:700;overflow-wrap:anywhere}
body:has(.reading-nojs-urgency){padding-bottom:6rem}
.reading-dock a:hover,.reading-dock button:hover{background:var(--soft)}
.has-reading-dock{padding-bottom:calc(var(--reading-dock-height,4rem) + .5rem)}
.header-actions>a{min-height:44px;display:inline-flex;align-items:center;padding-block:.5rem}
.simple-reading .full-details{display:none}
.simple-reading .article-body>.toc{display:none}
.reading-dialog [hidden],.reading-dock [hidden]{display:none!important}
@media(max-width:600px){.reading-js-controls{grid-template-columns:minmax(0,1fr)}.reading-dialog{max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.reading-dialog-top{padding:.75rem;flex-direction:column;align-items:stretch;gap:.5rem}.reading-dialog-top h2{font-size:1.1rem}.reading-dialog-top button{align-self:flex-end;max-width:100%}.reading-dock{font-size:.75rem}.reading-dock a,.reading-dock button{padding:.5rem .4rem}.reading-persistence label,.reading-save label{font-size:.92rem}.header-actions>a{min-width:44px}}
@media print{.reading-dialog,.reading-dock,.reading-nojs-urgency{display:none!important}.has-reading-dock,body:has(.reading-nojs-urgency){padding-bottom:0}.simple-reading .full-details,.simple-reading .article-body>.toc{display:block!important}}
