/* Interactive Layer v1: quiet, local reading cues. */
.reader-progress{position:absolute;bottom:0;left:0;right:0;height:2px;overflow:hidden;pointer-events:none}
.reader-progress[hidden]{display:none}
.reader-progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 160ms ease-out}
.read-marker{display:block;min-height:1.35em;margin-top:8px;font-size:.73rem!important;line-height:1.35;color:var(--text-secondary);visibility:hidden;opacity:0;transition:opacity 180ms ease-out}
.read-marker.is-read{visibility:visible;opacity:1}
.path-card-title{display:block}
.reader-path-status{margin:16px 0 10px;color:var(--text-secondary);font-size:.82rem}
.reader-path-status p{margin:0 0 9px}
.reader-path-status progress{display:block;appearance:none;width:100%;max-width:450px;height:3px;border:0;border-radius:3px;background:var(--border);overflow:hidden;color:var(--accent)}
.reader-path-status progress::-webkit-progress-bar{background:var(--border);border-radius:3px}
.reader-path-status progress::-webkit-progress-value{background:var(--accent);border-radius:3px;transition:width 180ms ease-out}
.reader-path-status progress::-moz-progress-bar{background:var(--accent);border-radius:3px}
[data-path-continue]{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.reading-path .is-current::before{color:var(--text-primary)}
.reading-path [data-step-state]{display:block;color:var(--text-secondary);font-size:.78rem;margin-top:12px}
.reading-path .is-current [data-step-state]{color:var(--accent)}
.reading-path .is-current h2{color:var(--accent)}
.path-resume{font-size:.86rem;color:var(--text-secondary);margin:14px 0}
.path-resume a{display:inline-block;min-height:44px;padding-top:10px;color:var(--text-primary)}
.route-step-links{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;margin-top:20px}
.route-step-links a{display:block;min-height:44px;overflow-wrap:anywhere}
.route-step-links small{display:block;color:var(--text-secondary);font-size:.78rem;margin-bottom:7px}
.route-step-links .route-next{color:var(--accent)}
.route-step-links .read-marker{margin-top:8px}
.related-preview{border-bottom:1px solid var(--border);padding-bottom:12px}
.related-preview summary{display:inline-flex;align-items:center;gap:7px;min-height:44px;cursor:pointer;color:var(--text-secondary);font-size:.8rem;list-style:none}
.related-preview summary::-webkit-details-marker{display:none}
.related-preview summary::before{content:'▸';transition:transform 200ms ease-out}
.related-preview.is-expanded summary::before{transform:rotate(90deg)}
.related-preview-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 200ms ease-out,opacity 180ms ease-out}
.related-preview.is-expanded .related-preview-body{grid-template-rows:1fr;opacity:1}
.related-preview[open]:not([data-preview-enhanced]) .related-preview-body{grid-template-rows:1fr;opacity:1}
.related-preview-body>div{min-height:0;overflow:hidden}
.related-preview p{color:var(--text-reading);font-size:.94rem;line-height:1.65;max-width:700px;margin:8px 0 14px}
.reader-local-data{border-top:1px solid var(--border);margin-top:40px;padding-top:24px}
.reader-local-data h2{font-size:1.4rem}
.reader-local-data p{font-size:.88rem;color:var(--text-secondary)}
.reader-local-data button{min-height:44px;border:0;background:none;color:var(--text-secondary);font:inherit;font-size:.85rem;padding:8px 0;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.reader-reset-actions{display:flex;flex-wrap:wrap;gap:12px 24px}
.reader-reset-actions button{min-width:80px}
.reader-reset-actions [data-confirm-reset]{color:var(--accent)}
:is([data-path-continue],.route-step-links a,.related-preview summary,[data-reset-reading]):focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
@media(max-width:650px){.route-step-links{grid-template-columns:1fr;gap:18px}.reader-path-status{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.reader-progress span,.read-marker,.reader-path-status progress::-webkit-progress-value,.related-preview summary::before,.related-preview-body{transition:none}}
