/* Shared reading surfaces: printed paper, restrained performer controls. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.spread-nav{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:10px;align-items:center;margin:16px 0}
.spread-nav button{font-size:22px;padding:6px;min-height:48px}
.spread-nav label{min-width:0}.spread-nav select{margin:0;text-align:center}
.spread-actions{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:14px 0}
.spread-actions .caption{margin:0}.spread-actions button{flex-shrink:0}
.route-panel{background:#0a1018;border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0}
.route-tabs,.route-options{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.route-tabs button,.route-options button{min-height:42px;font-size:13px;padding:8px 12px}
.route-tabs button[aria-pressed=true],.route-options button[aria-pressed=true],#route-toggle[aria-pressed=true]{background:#b9d5f4;color:#132235;border-color:#b9d5f4}
.reader-sheet{position:relative;border-radius:7px;overflow:hidden;background:white;color:#262c32;box-shadow:0 12px 36px #0003}
.reader-sheet svg{display:block;width:100%;height:auto}
.reader-word{cursor:pointer;outline:none}.reader-word:hover text,.reader-word:focus-visible text{fill:#9a631d;text-decoration:underline;text-decoration-thickness:.8px}
.reader-word:focus-visible{outline:1px dotted #7c562e}
.route-options{margin-top:18px}.route-cues{border-top:1px solid var(--line);padding-top:16px}
.route-cues p{font-size:14px;line-height:1.6;margin-bottom:14px}.route-cues strong{display:block;color:var(--ink);font-weight:550;margin-bottom:4px}
.reader-exports,.share-panel{margin:24px 0}.reader-export-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 16px}
.reader-export-buttons button{min-width:0}.reader-exports>p,.share-panel>p{max-width:62ch}
.share-panel[open]{padding-bottom:20px}#share-ready{margin:18px 0}#share-url{font:13px/1.6 var(--mono);margin-bottom:12px}
.share-ready-actions{display:flex;gap:10px;flex-wrap:wrap}.share-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:14px 0;font-size:13px;color:var(--muted)}.share-row button{font-size:12px;padding:6px 12px;min-height:40px}
.file-save-dialog{color:var(--ink);background:#111923;border:1px solid #52677d;border-radius:18px;width:min(460px,calc(100% - 28px));max-height:90dvh;overflow:auto;padding:32px;box-shadow:0 30px 90px #0008}
dialog::backdrop{background:#03070bcc;backdrop-filter:blur(5px)}.file-save-dialog h2{font-size:24px;padding-right:16px}.file-save-dialog .file-close{position:absolute;top:8px;right:8px;border:0;background:transparent;font-size:25px;padding:5px;min-width:40px}
.file-save-dialog .file-message{font:13px/1.7 var(--mono);overflow-wrap:anywhere}.file-save-dialog .native-save,.file-save-dialog .attachment-save{width:100%;margin-bottom:12px}.file-save-dialog .native-save{background:#bed6f4;color:#111923}.file-save-dialog .save-help{margin:10px 0 0;font-size:13px}
.file-preview{display:block;max-width:100%;max-height:220px;margin:0 auto 18px;border-radius:7px;object-fit:contain}
.demo>header{max-width:1280px}.demo-main{max-width:1220px;margin:0 auto;padding:28px 32px 60px}.demo-heading{margin:8px 0 24px}.demo-heading h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.03em;max-width:none}.demo-heading .eyebrow{margin-bottom:10px}.demo-heading p{max-width:64ch}
.demo-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:36px;align-items:start}.demo-book{min-width:0}.demo-book .spread-nav{margin-top:0}.demo-book .spread-nav span{text-align:center;font-size:14px;color:var(--accent)}
#demo-zoom{overflow:auto;max-width:100%;border-radius:7px;overscroll-behavior:contain}.demo-zoom-toggle{display:block;margin:0 0 12px auto;font-size:13px;min-height:42px}.zoomed #demo-pages{min-width:1000px}
#demo-pages.single-page{max-width:330px;margin:0 auto}.demo-book .caption{margin:14px 0;font-size:13px}.demo-book details{margin-top:20px}#demo-cue{font-size:15px;line-height:1.7;padding-bottom:10px}
.demo-paper{background:#f9f5ed;color:#2d302f;box-shadow:0 18px 55px #0003;border:1px solid #e2d9c9;padding:26px 20px;border-radius:3px;min-height:300px;position:sticky;top:24px}
.paper-heading{font:italic 22px/1.4 Georgia,serif;color:#5d5447;padding-bottom:15px;border-bottom:1px solid #d4caba;margin-bottom:18px}.paper-empty{font:15px/1.8 Georgia,serif;color:#8a8174;max-width:22ch}.paper-word{display:flex;align-items:center;gap:12px;min-height:36px}.paper-word small{font:10px/1 var(--mono);color:#918673}.paper-word>span{font:17px/1.8 "Courier New",monospace;letter-spacing:.01em;color:#35312c;white-space:nowrap}.paper-word strong{font-weight:700;background:#ead09a;border-radius:4px;box-shadow:0 0 0 2px #ead09a;color:#47330f}.remove-word{margin-left:auto;background:transparent!important;color:#786f62!important;border:0;font-size:19px;padding:0;min-height:30px;min-width:25px}
.paper-actions{display:flex;gap:10px;margin-top:24px}.paper-actions button{font-size:13px;padding:9px 14px;color:#4e493f;background:#eee7db;border-color:#d7cbbb;flex:1}.paper-actions #demo-reveal{background:#222c36;color:#f3f0e9;border-color:#222c36}#demo-result{font:500 28px/1.4 var(--mono);letter-spacing:.08em;color:#77602e;margin:18px 0 0;overflow-wrap:anywhere}
.back-words{position:absolute;top:13%;left:12%;right:12%;color:#262c32}.back-words .paper-word>span{font-size:clamp(13px,2vw,19px)}.back-words .paper-word small{display:none}.demo-save{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 16px}#demo-status{color:var(--accent)}#demo-status:empty{display:none}
@media(max-width:740px){.demo-main{padding:20px 16px 40px}.demo-workspace{grid-template-columns:1fr;gap:24px}.demo-paper{position:static;min-height:160px}.demo-heading h1{font-size:32px}.demo>header{padding:20px 16px}.demo>header .brand{font-size:21px}.demo>header button{font-size:13px;padding:8px 12px}.route-panel{padding:10px}.spread-actions{align-items:flex-start}.spread-actions .caption{font-size:12px}.reader-export-buttons{grid-template-columns:1fr}.file-save-dialog{padding:28px 22px}.demo-save{display:grid;grid-template-columns:1fr}.share-row{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
