/* One reading surface for ordinary prose and both kinds of participation. */
.specimen[data-panel=home],.specimen[data-panel=play]{display:none}
body.focus .specimen.is-focused{display:block}
.device[data-reading=true]{color:var(--r-ink);background:var(--paper)}
.device[data-reading=true][data-stage] .reader-scroll{top:134px;bottom:28px;display:block;background:var(--paper);padding:8px 26px 64px;overflow:auto;scrollbar-width:none}
.device[data-reading=true].controls-hidden .reader-scroll{top:78px}
.reader-head{background:var(--paper);left:12px;right:12px;height:48px}
.reader-head .reader-book{font:12px/1.4 'Avenir Next',-apple-system,sans-serif;font-weight:400;color:var(--r-muted);max-width:252px}
.reading-chapter{position:relative}
.reading-chapter+.reading-chapter{margin-top:60px;padding-top:32px;border-top:1px solid var(--r-line)}
.reader-scroll .chapter-label{font:12px/1.5 'Avenir Next',-apple-system,sans-serif;color:var(--r-muted);margin:0 0 10px}
.reader-scroll .reading-chapter>h1{font:26px/1.35 Georgia,serif;font-weight:400;letter-spacing:-.4px;text-wrap:initial;margin:0 0 28px}
.device .reader-scroll .prose{font:var(--read-size)/1.85 Georgia,serif;color:var(--r-ink)}
.reader-scroll .prose p{margin:0 0 21px}
.reading-node{margin:30px 0 0;padding-top:24px;border-top:1px solid var(--r-line)}
.node-label{font:12px/1.5 'Avenir Next',-apple-system,sans-serif;font-weight:500;color:var(--r-muted);margin:0 0 16px}
.node-invitation{font:italic var(--read-size)/1.75 Georgia,serif;color:var(--r-ink);margin:0 0 22px}
.choice-node .choice-rows{display:flex;flex-direction:column;gap:12px}
.device .choice-node .choice-option{display:flex;align-items:flex-start;gap:12px;width:100%;height:auto;min-height:78px;border:1px solid var(--r-line);border-radius:10px;padding:15px 14px;margin:0;background:transparent;box-shadow:none;font:var(--read-size)/1.65 Georgia,serif;color:var(--r-ink);text-align:left;transition:background .15s,border-color .15s}
.device .choice-node .choice-option[aria-checked=true]{border-color:var(--r-accent);background:var(--r-surface);padding:15px 14px}
.choice-dot{display:grid;place-items:center;width:18px;height:18px;border:1px solid var(--r-line);border-radius:50%;flex:0 0 18px;margin-top:6px;color:var(--r-on-action)}
.choice-dot svg{width:12px;height:12px;stroke-width:2}
.choice-option[aria-checked=true] .choice-dot{background:var(--r-action);border-color:var(--r-action)}
.choice-commit{border:0;background:var(--r-action);color:var(--r-on-action);font:500 14px/1.5 'Avenir Next',-apple-system,sans-serif;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;margin-top:18px;padding:12px 16px;border-radius:10px}
.choice-commit svg{width:18px;height:18px}
.reply-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;width:100%;min-height:58px;border:1px solid var(--r-line);border-radius:10px;background:transparent;padding:14px;color:var(--r-muted);font-size:15px}
.reply-entry svg{width:18px;height:18px;color:var(--r-accent)}
.node-editor{border:1px solid var(--r-line);border-radius:12px;padding:0 14px 12px;background:transparent}
.node-editor:focus-within{border-color:var(--r-accent)}
.node-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -8px 2px 0;min-height:44px;font-size:12px;color:var(--r-muted)}
.node-editor-head .icon-btn{width:36px;height:44px;min-width:36px;color:var(--r-muted)}
.node-editor-head .icon-btn svg{width:16px;height:16px}
.node-editor textarea{border:0;outline:0!important;resize:none;width:100%;height:88px;min-height:88px;max-height:168px;padding:3px 0;background:transparent;color:var(--r-ink);font:16px/1.7 'Avenir Next',-apple-system,sans-serif}
.node-editor textarea::placeholder{color:var(--r-muted)}
.node-editor-foot{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-top:4px;gap:12px}
.node-editor .char-count{font:11px/1.5 'Avenir Next',-apple-system,sans-serif;color:var(--r-muted)}
.node-editor .node-send{margin-left:auto;display:flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:86px;height:44px;border:0;border-radius:8px;padding:9px 12px;background:var(--r-action);color:var(--r-on-action);font:500 14px/1.5 'Avenir Next',-apple-system,sans-serif}
.node-editor .node-send svg{width:16px;height:16px}
.node-editor .node-send:disabled{background:var(--r-line);color:var(--r-muted)}
.node-editor .node-send:disabled:has(.spinner){background:var(--r-action);color:var(--r-on-action)}
.node-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:5px}
.node-tools button,.chapter-next button{border:0;background:none;color:var(--r-accent);font:14px/1.5 'Avenir Next',-apple-system,sans-serif;min-height:44px;padding:8px 0;display:flex;align-items:center;gap:8px;text-align:left}
.node-tools button:first-child{font-size:12px;color:var(--r-muted)}
.node-tools button svg,.chapter-next button svg{width:16px;height:16px}
.node-tools button:disabled{opacity:.45}
.node-ideas{padding:10px 0 0;display:flex;flex-direction:column}
.node-ideas button{text-align:left;min-height:48px;border:0;border-top:1px solid var(--r-line);background:transparent;padding:12px 0;font:14px/1.65 'Avenir Next',-apple-system,sans-serif;color:var(--r-ink)}
.node-status{font:12px/1.7 'Avenir Next',-apple-system,sans-serif;display:flex;align-items:center;gap:9px;color:var(--r-muted);margin:4px 0 14px;flex-wrap:wrap}
.node-status .spinner{width:14px;height:14px}
.node-status button{border:0;background:transparent;min-height:34px;padding:0;color:var(--r-accent);font:inherit;text-decoration:underline;text-underline-offset:3px}
.story-exchange{margin:27px 0 0}
.reader-contribution{font:italic var(--read-size)/1.85 Georgia,serif;color:var(--r-ink);margin:0 0 22px;padding-left:14px;border-left:2px solid var(--r-line);white-space:pre-wrap;overflow-wrap:anywhere}
.chapter-next{margin-top:26px;padding-top:15px;border-top:1px solid var(--r-line);display:flex;justify-content:flex-end}
.sample-end{font:12px/1.7 'Avenir Next',-apple-system,sans-serif;color:var(--r-muted);padding-top:24px;border-top:1px solid var(--r-line);margin-top:28px}
.end-preview{font-size:14px;justify-content:flex-start;min-height:44px}
@media(prefers-reduced-motion:reduce){.device .choice-node .choice-option{transition:none}}
