/* Native top-layer reader; every selector is scoped to this component. */
.mpss-reading-dialog {
 --mpss-reader-ready:1; --mr-surface:#faf6f0;--mr-article:#fffcf7;--mr-text:#171717;--mr-muted:#655e53;
 --mr-footer:#171717;--mr-footer-text:#faf6f0;--mr-backdrop:rgba(0,0,0,.42);--mr-radius:26px;--mr-max-width:560px;
 --mr-safe-top:env(safe-area-inset-top,0px);--mr-safe-bottom:env(safe-area-inset-bottom,0px);
 position:fixed;inset:auto;margin:0;box-sizing:border-box;
 left:var(--mr-left,12px);top:var(--mr-top,30vh);width:var(--mr-width,calc(100% - 24px));height:var(--mr-height,60dvh);
 max-width:none;max-height:none;padding:0;overflow:hidden;border:1px solid #d1c7b7;border-top-color:#fffdf8;
 border-radius:var(--mr-radius);background:var(--mr-surface);color:var(--mr-text);
 box-shadow:inset 0 1px 0 #ffffffcc,0 2px 0 #e2d9cb,0 5px 0 #a79a8738,0 20px 70px #0005;
 font:400 1rem/1.5 var(--mtp-sans,'Inter',Arial,sans-serif);text-align:left;overflow-wrap:anywhere;
 overscroll-behavior:none;touch-action:pan-y pinch-zoom;
}
.mpss-reading-dialog:not([open]) {display:none!important}
.mpss-reading-dialog::backdrop {background:var(--mr-backdrop);backdrop-filter:none}
.mpss-reading-dialog[open][data-motion="true"] {animation:mr-arrive .2s ease-out both}
@keyframes mr-arrive {from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
.mpss-reading-dialog * {box-sizing:border-box}
.mpss-reading-dialog [hidden] {display:none!important}
.mpss-reading-dialog h2,.mpss-reading-dialog h3,.mpss-reading-dialog h4,.mpss-reading-dialog p {color:inherit}
.mpss-reading-dialog button {font:inherit;letter-spacing:normal;text-transform:none;min-width:44px;min-height:44px;color:inherit;cursor:pointer;touch-action:manipulation}
.mpss-reading-dialog button:focus-visible,.mpss-reading-dialog a:focus-visible,.mpss-reading-dialog [tabindex]:focus-visible {outline:3px solid #8c704c;outline-offset:-3px}
.mpss-reader-frame {height:100%;min-height:0;display:flex;flex-direction:column;container-type:inline-size;container-name:mpss-sheet;padding:8px;gap:0}
.mpss-reader-toolbar {flex-shrink:0;display:flex;flex-wrap:wrap;align-items:stretch;gap:4px;padding:2px 2px 8px;border-bottom:1px solid #ded5c9}
.mpss-reader-toolbar button {display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:0;border-radius:12px;background:transparent;line-height:1.3}
.mpss-reader-toolbar button:hover,.mpss-reader-back:hover {background:#e9dfd1;color:var(--mr-text)}
.mpss-reader-toolbar [data-reader-close]>span:first-child {font-size:1.4em;line-height:1}
.mpss-reader-toolbar [data-reader-related] {margin-left:auto;text-align:left}
.mpss-reader-back {flex-shrink:0;background:none;border:0;border-bottom:1px solid #ded5c9;border-radius:0;text-align:left;padding:8px 12px;line-height:1.35}
.mpss-reader-layout {flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);padding-top:8px}
.mpss-reading-info {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 12px 10px;color:var(--mr-muted);font-size:.8125rem;line-height:1.35;min-width:0}
.mpss-reader-estimate {margin:0;max-width:18ch}
.mpss-reader-progress-group {min-width:60px;max-width:48%;text-align:right}
.mpss-reader-progress {height:3px;background:#dfd5c7;border-radius:4px;margin-top:5px;overflow:hidden}
.mpss-reader-progress>span {display:block;width:var(--mr-progress,0%);height:100%;background:#837159;border-radius:inherit}
.mpss-reader-scroll {min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#b5a894 transparent;scroll-behavior:auto;padding:18px;background:var(--mr-article);border:1px solid #e5dcd0;border-radius:16px;touch-action:pan-y pinch-zoom;scroll-padding:18px}
.mpss-reader-title {font:500 1.75rem/1.16 var(--mtp-serif,'Spectral',Georgia,serif);letter-spacing:-.03em;margin:0 0 10px}
.mpss-reader-summary {font-size:1rem;line-height:1.5;margin:0 0 22px;color:var(--mr-muted)!important}
.mpss-reader-body {font-size:1.0625rem;line-height:1.7;text-align:left;user-select:text}
.mpss-reader-body p {margin:0 0 1.15em}.mpss-reader-body>:last-child {margin-bottom:0}
.mpss-reader-body h2,.mpss-reader-body h3,.mpss-reader-body h4 {font:500 1.4em/1.3 var(--mtp-serif,'Spectral',Georgia,serif);margin:1.25em 0 .65em}
.mpss-reader-body ul,.mpss-reader-body ol {padding-inline-start:1.4em}.mpss-reader-body li {margin-bottom:.45em}
.mpss-reader-body a {color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.mpss-reader-body pre {white-space:pre-wrap;font-size:.9em}.mpss-reader-body blockquote {margin:1em 0;padding-inline-start:1em;border-inline-start:2px solid #b6a488}
.mpss-reader-body figure {margin:1.25em 0}.mpss-reader-body img {display:block;max-width:100%;height:auto;border-radius:12px}.mpss-reader-body figcaption {font-size:.85em;color:var(--mr-muted);margin-top:8px}
.mpss-reader-related {flex:0 1 auto;min-height:0;max-height:32%;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #ded5c9;padding:6px 8px 8px;margin-top:8px}
.mpss-related-heading {display:flex;align-items:center;gap:8px;justify-content:space-between}
.mpss-related-heading h3 {font:500 1.0625rem/1.3 var(--mtp-serif,'Spectral',Georgia,serif);margin:5px 0}
.mpss-related-heading button {background:none;border:0;font-size:1.4em;flex-shrink:0;border-radius:10px}
.mpss-related-items {display:grid;gap:6px}
.mpss-related-items button,.mpss-related-items a {display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;text-align:left;border:1px solid #d9cdbb;border-radius:12px;padding:10px 12px;background:#f2ebe1;font-size:.9375rem;line-height:1.4;color:var(--mr-text);text-decoration:none}
.mpss-related-items small {display:block;color:var(--mr-muted);font-size:.8em}
.mpss-related-empty {font-size:.9375rem;margin:8px 0}
.mpss-reader-footer {flex-shrink:0;padding-top:8px}
.mpss-reader-footer button {display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;padding:12px 18px;color:var(--mr-footer-text);background:var(--mr-footer);border:1px solid #655c4f;border-radius:18px;box-shadow:inset 0 1px 1px #ffffff35,0 3px 6px #0002;text-align:left}
.mpss-reader-footer button>span:last-child {margin-left:auto;font-size:1.35em}
.mpss-reader-footer svg {flex:0 0 22px;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3}
.mpss-question-status {flex-shrink:0;display:flex;align-items:center;gap:8px;padding:6px 12px;margin-top:8px;border:1px solid #d9cdbb;border-radius:12px;font-size:.875rem;line-height:1.4}
.mpss-question-status p {margin:0}.mpss-question-status button {border:0;background:none;font-size:1.3em;margin-left:auto}
.mpss-reading-dialog[data-dense="true"] .mr-control-label {display:none}
.mpss-reading-dialog[data-dense="true"] .mpss-reader-toolbar {gap:0;padding-bottom:4px}
.mpss-reading-dialog[data-dense="true"] .mpss-reader-toolbar button {padding:6px}
.mpss-reading-dialog[data-dense="true"] .mpss-reader-footer {padding-top:5px}
.mpss-reading-dialog[data-dense="true"] .mpss-reader-related {max-height:24%}
.mpss-reading-dialog[data-dense="true"] .mpss-question-status {max-height:24%;overflow:auto;flex-shrink:1}
.mpss-reading-dialog[data-information="false"] .mpss-reader-layout {grid-template-rows:minmax(0,1fr)}
@container mpss-sheet (min-width:24em) {
 .mpss-reading-dialog:not([data-information="false"]) .mpss-reader-layout {grid-template-columns:64px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
 .mpss-reading-info {display:block;padding:10px 8px 0 2px;text-align:center}
 .mpss-reader-estimate {max-width:none}.mpss-reader-progress-group {max-width:none;min-width:0;text-align:center;margin-top:22px}
}
@media(prefers-reduced-motion:reduce) {.mpss-reading-dialog[open][data-motion="true"] {animation:none}}

.mpss-reading-dialog[data-dense="true"] .mpss-reader-footer svg,.mpss-reading-dialog[data-dense="true"] .mpss-reader-footer button>span:last-child {display:none}
.mpss-reading-dialog[data-dense="true"] .mpss-reader-footer button {padding:10px 12px;gap:0;text-align:center}
/* Reserve the full-passage label's space to avoid progress/layout oscillation near the fit threshold. */
.mpss-position-wrap {display:grid}
.mpss-position-wrap::before {content:"Full passage visible";visibility:hidden;grid-area:1/1}
.mpss-reading-dialog[data-dense="true"] .mpss-position-wrap::before {content:"Passage fits"}
.mpss-position-wrap>[data-reader-position] {grid-area:1/1}
.mpss-reading-dialog .mpss-reader-progress[hidden] {display:block!important;visibility:hidden}
