:root{--bg:#f4f2ee;--bg-panel:#faf9f6;--bg-page:#fff;--ink:#1f1d1a;--ink-soft:#5c574f;--ink-faint:#9a948a;--line:#e4e0d8;--line-strong:#cfc9bf;--accent:#8a5a2b;--accent-soft:#f1e7dc;--danger:#b2452f;--note:#6b7280;--todo:#c2410c;--question:#2563eb;--research:#0f766e;--continuity:#7e22ce;--status-idea:#b8b2a7;--status-draft:#d9a441;--status-revised:#4f8ad6;--status-final:#4f9d69;--ui-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius:6px;--topbar-h:46px;--toolbar-h:38px;--binder-w:260px;--inspector-w:320px;--settings-w:400px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--ui-font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:default;opacity:.4}.muted{color:var(--ink-soft)}.small{font-size:12px}.error{color:var(--danger)}.spacer{flex:1}.btn{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--bg-panel);color:var(--ink);white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;line-height:1.2;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--ink-faint)}.btn--primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn--primary:hover:not(:disabled){background:#000}.btn--ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){color:var(--ink);background:#0000000d;border-color:#0000}.btn--sm{padding:4px 8px;font-size:13px}.btn--icon{border-radius:var(--radius);width:30px;height:30px;color:var(--ink-soft);place-items:center;padding:0;font-size:15px;line-height:1;display:inline-grid}.btn--icon:hover,.btn--icon.is-on{color:var(--ink);background:#0000000f}.input{border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;outline:none;width:100%;padding:7px 9px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.input--lg{padding:10px 12px;font-size:18px}.input--sm{width:auto;padding:4px 6px;font-size:12.5px}.textarea{resize:vertical;line-height:1.45}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;display:inline-flex;overflow:hidden}.segmented>button{color:var(--ink-soft);border-right:1px solid var(--line);align-items:center;gap:5px;padding:5px 10px;font-size:12.5px;display:inline-flex}.segmented>button:last-child{border-right:none}.segmented>button.is-on{background:var(--ink);color:#fff}.segmented--block{width:100%;display:flex}.segmented--block>button{flex:1;justify-content:center}.check{color:var(--ink-soft);align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.badge{background:var(--accent);color:#fff;text-align:center;border-radius:9px;min-width:18px;margin-left:4px;padding:0 5px;font-size:11px;line-height:18px;display:inline-block}.status-dot{background:var(--status-draft);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot--idea{background:var(--status-idea)}.status-dot--draft{background:var(--status-draft)}.status-dot--revised{background:var(--status-revised)}.status-dot--final{background:var(--status-final)}.menu{position:relative}.menu>summary{list-style:none}.menu>summary::-webkit-details-marker{display:none}.menu__items{border:1px solid var(--line-strong);border-radius:var(--radius);z-index:20;background:#fff;flex-direction:column;min-width:220px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0000001a}.menu__items a{color:var(--ink);border-radius:4px;padding:7px 10px;font-size:13px;text-decoration:none}.menu__items a:hover{background:var(--bg)}.splash{height:100%;color:var(--ink-soft);place-items:center;display:grid}.library{justify-content:center;min-height:100%;padding:10vh 24px 40px;display:flex}.library__inner{width:100%;max-width:520px}.library__brand{letter-spacing:-.01em;margin:0 0 4px;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:400}.library__tagline{color:var(--ink-soft);margin:0 0 32px}.library__new{background:var(--bg-page);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;margin-bottom:28px;padding:18px;display:flex}.library__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.library__item{align-items:center;gap:8px;display:flex}.library__open{text-align:left;border:1px solid var(--line);background:var(--bg-page);border-radius:8px;flex-direction:column;flex:1;gap:3px;padding:12px 14px;display:flex}.library__open:hover{border-color:var(--line-strong)}.library__title{font-family:Georgia,serif;font-size:17px}.library__meta{color:var(--ink-soft);font-size:12.5px}.app{flex-direction:column;height:100%;display:flex}.topbar{height:var(--topbar-h);background:var(--bg-panel);border-bottom:1px solid var(--line);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 10px;display:grid}.topbar__left,.topbar__right{align-items:center;gap:6px;display:flex}.topbar__right{justify-content:flex-end}.topbar__center{align-items:baseline;gap:12px;display:flex}.topbar__title{color:var(--ink);border-radius:4px;padding:2px 6px;font-family:Georgia,serif;font-size:16px}.topbar__title:hover{background:#0000000d}.topbar__title-input{border:none;border-bottom:1px solid var(--accent);background:0 0;outline:none;min-width:240px;padding:2px 6px;font-family:Georgia,serif;font-size:16px}.topbar__words{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12.5px}.topbar__save{color:var(--ink-faint);min-width:52px;font-size:12px}.topbar__save.is-saving{color:var(--accent)}.toolbar{height:var(--toolbar-h);background:var(--bg-panel);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:14px;padding:0 14px;display:flex}.toolbar__group{align-items:center;gap:2px;display:flex}.toolbar__group--right{margin-left:auto}.toolbar button{min-width:28px;height:26px;color:var(--ink-soft);border-radius:4px;padding:0 8px;font-size:13px}.toolbar button:hover:not(:disabled){color:var(--ink);background:#0000000f}.toolbar button.is-on{background:var(--ink);color:#fff}.toolbar__note:not(:disabled){color:var(--accent);font-weight:500}.workspace{flex:1;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.workspace.has-binder{grid-template-columns:var(--binder-w) minmax(0, 1fr)}.workspace.has-inspector{grid-template-columns:minmax(0, 1fr) var(--inspector-w)}.workspace.has-binder.has-inspector{grid-template-columns:var(--binder-w) minmax(0, 1fr) var(--inspector-w)}.workspace.has-settings{grid-template-columns:minmax(0, 1fr) var(--settings-w)}.workspace.has-binder.has-settings{grid-template-columns:var(--binder-w) minmax(0, 1fr) var(--settings-w)}.binder{background:var(--bg-panel);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.binder__head{justify-content:space-between;align-items:center;padding:10px 8px 6px 14px;display:flex}.binder__heading{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.binder__list{padding:0 6px 20px;overflow-y:auto}.binder__chapter{margin-bottom:2px}.binder__row{border-radius:5px;align-items:center;display:flex;position:relative}.binder__row:hover{background:#0000000a}.binder__row--chapter{font-weight:500}.binder__chapter.is-open>.binder__row--chapter{background:var(--accent-soft)}.binder__row--scene{margin-left:14px;font-size:13px}.binder__row--scene.is-active{background:#0000000f}.binder__name{text-align:left;min-width:0;color:var(--ink);flex:1;align-items:center;gap:8px;padding:6px 8px;display:flex}.binder__num{color:var(--ink-faint);font-variant-numeric:tabular-nums;text-align:right;width:14px;font-size:12px}.binder__text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.binder__words{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:11px}.binder__actions{gap:1px;padding-right:4px;display:none}.binder__row:hover .binder__actions{display:flex}.binder__row:hover .binder__words{display:none}.binder__actions button{width:20px;height:20px;color:var(--ink-soft);border-radius:3px;font-size:11px}.binder__actions button:hover:not(:disabled){color:var(--ink);background:#00000014}.binder__rename{border:1px solid var(--accent);background:#fff;border-radius:4px;outline:none;flex:1;margin:3px 4px;padding:3px 6px}.binder__scenes{padding:2px 0 6px}.binder__add-scene{color:var(--ink-faint);border-radius:4px;margin-left:22px;padding:4px 8px;font-size:12.5px}.binder__add-scene:hover{color:var(--accent);background:#0000000a}.inspector{background:var(--bg-panel);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.inspector__tabs{border-bottom:1px solid var(--line);flex-shrink:0;padding:0 8px;display:flex}.inspector__tabs button{color:var(--ink-soft);border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:10px 10px 8px;font-size:13px;display:inline-flex}.inspector__tabs button.is-on{color:var(--ink);border-bottom-color:var(--ink)}.inspector__body{flex-direction:column;gap:14px;padding:14px;display:flex;overflow-y:auto}.field{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.field__label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.field-row{gap:10px;display:flex}.notes{flex-direction:column;flex:1;min-height:0;display:flex}.composer{border-bottom:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:8px;padding:12px 12px 10px;display:flex}.composer__quote,.note__excerpt{border-left:3px solid var(--accent);color:var(--ink-soft);background:var(--accent-soft);border-radius:0 4px 4px 0;margin:0;padding:4px 10px;font-family:Georgia,serif;font-size:13px;font-style:italic}.composer__row{align-items:center;gap:6px;display:flex}.composer__row select{flex:1;min-width:0}.notes__filters{border-bottom:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.notes__filters-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.notes__list{flex-direction:column;gap:8px;padding:10px 12px 24px;display:flex;overflow-y:auto}.notes__empty{padding:8px 2px;line-height:1.5}.note{border:1px solid var(--line);border-left:3px solid var(--note);cursor:default;background:#fff;border-radius:6px;flex-direction:column;gap:6px;padding:8px 10px 6px;display:flex}.note--todo{border-left-color:var(--todo)}.note--question{border-left-color:var(--question)}.note--research{border-left-color:var(--research)}.note--continuity{border-left-color:var(--continuity)}.note.is-selected{box-shadow:0 0 0 2px var(--accent-soft);border-color:var(--accent)}.note.is-resolved{opacity:.6}.note.is-resolved .note__body{text-decoration:line-through;-webkit-text-decoration-color:var(--ink-faint);text-decoration-color:var(--ink-faint)}.note__head{align-items:center;gap:8px;font-size:11.5px;display:flex}.note__type{text-transform:uppercase;letter-spacing:.06em;color:var(--note);font-size:10.5px;font-weight:600}.note__type--todo{color:var(--todo)}.note__type--question{color:var(--question)}.note__type--research{color:var(--research)}.note__type--continuity{color:var(--continuity)}.note__where{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.note__where:hover:not(:disabled){color:var(--accent);text-decoration:underline}.note__orphan{color:var(--danger);border:1px solid;border-radius:3px;padding:0 4px;font-size:10.5px}.note__excerpt{cursor:pointer;padding:3px 8px;font-size:12.5px}.note__body{white-space:pre-wrap;margin:0;font-size:13.5px;line-height:1.45}.note__actions{align-items:center;gap:4px;font-size:12px;display:flex}.note__actions button{color:var(--ink-faint);border-radius:3px;padding:2px 6px}.note__actions button:hover{color:var(--ink);background:#0000000d}.note__type-select{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:12px}.app--focus .page-area{padding-top:8vh}.focus-exit{border:1px solid var(--line-strong);color:var(--ink-faint);background:var(--bg-panel);opacity:.5;border-radius:4px;padding:4px 9px;font-size:11px;position:fixed;top:12px;right:14px}.focus-exit:hover{opacity:1}.avatar{color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:10.5px;font-weight:600;display:inline-grid;box-shadow:0 0 0 2px #fff}.avatar--btn{cursor:pointer;border:none;padding:0}.avatar--btn:disabled{cursor:default}.avatar--btn:not(:disabled):hover{filter:brightness(1.1)}.presence{align-items:center;padding-right:6px;display:inline-flex}.presence .avatar+.avatar{margin-left:-6px}.library__inner--narrow{max-width:400px}.library__who{color:var(--ink-soft);justify-content:flex-end;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.auth__tabs{border-bottom:1px solid var(--line);gap:2px;width:100%;margin-bottom:14px;display:inline-flex}.auth__tabs button{color:var(--ink-soft);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px}.auth__tabs button.is-active{color:var(--ink);border-bottom-color:var(--ink)}.auth__hint{font-size:12.5px}.menu--right .menu__items{right:0}.user-menu{flex-direction:column;gap:10px;min-width:240px;padding:10px;display:flex}.user-menu__who{flex-direction:column;line-height:1.3;display:flex}.user-menu__field{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.user-menu__field .input{width:100%}.user-menu__colors{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:20px;height:20px;padding:0}.swatch.is-on{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}.user-menu__action{text-align:left;border-radius:var(--radius);color:var(--ink-soft);padding:6px 8px}.user-menu__action:hover{color:var(--ink);background:#0000000d}.dialog-backdrop{z-index:50;background:#14100a59;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:10px;flex-direction:column;gap:14px;width:min(480px,100vw - 32px);padding:18px 20px 16px;display:flex;box-shadow:0 20px 60px #00000040}.dialog__head{justify-content:space-between;align-items:center;display:flex}.dialog__head h2{margin:0;font-family:Georgia,serif;font-size:18px;font-weight:400}.dialog__hint{margin:0;font-size:12.5px}.members{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.members__row{align-items:center;gap:10px;font-size:13.5px;display:flex}.members__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.members__user{color:var(--ink-faint);font-size:12px}.members__role{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px}.members__add{gap:8px;display:flex}.note-people{color:var(--ink-faint);align-items:center;gap:10px;margin:2px 0 6px;font-size:11.5px;display:flex}.note-people--compact{margin:4px 0 0;font-size:10.5px}.note-people__by{align-items:center;gap:5px;display:inline-flex}.note-people__by .dot{border-radius:50%;width:7px;height:7px;display:inline-block}.note-people__for{align-items:center;gap:4px;display:inline-flex}.note-people__for select{color:var(--ink-soft);font-size:inherit;cursor:pointer;background:0 0;border:none;max-width:120px;padding:0}.collaboration-carets__caret{word-break:normal;pointer-events:none;border-left:1px solid;border-right:1px solid;margin-left:-1px;margin-right:-1px;position:relative}.collaboration-carets__label{font-family:var(--ui-font);color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;border-radius:3px 3px 3px 0;padding:1px 5px;font-size:10.5px;font-weight:600;line-height:1.4;position:absolute;top:-1.35em;left:-1px}.collaboration-carets__selection{pointer-events:none}.drawer{background:var(--bg-panel);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.drawer__head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 10px 10px 16px;display:flex}.drawer__head h2{margin:0;font-family:Georgia,serif;font-size:17px;font-weight:400}.drawer__body{flex:1;min-height:0;padding:4px 16px 16px;overflow-y:auto}.drawer__foot{border-top:1px solid var(--line);flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.drawer__foot-row{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.dialog--wide{width:min(720px,100vw - 32px);max-height:calc(100vh - 48px)}.dialog--confirm{width:min(360px,100vw - 32px)}.dialog--confirm h2{margin:0;font-family:Georgia,serif;font-size:18px;font-weight:400}.dialog__scroll{min-height:0;margin:0 -20px;padding:0 20px;overflow-y:auto}.dialog__actions{align-items:center;gap:8px;padding-top:4px;display:flex}.style-editor{flex-direction:column;display:flex}.style-section{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:14px 0;display:flex}.style-section:last-child{border-bottom:none}.style-section h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:11.5px;font-weight:600}.style-section>.muted{margin:-6px 0 0}.style-row{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;display:flex}.style-row .check{padding-bottom:5px}.field--fit{flex:none}.field--grow{flex:140px}.field select.input--sm{width:100%}.field--fit select.input--sm{width:auto}.field input.input--sm{width:100%}.segmented--sm>button{padding:4px 8px;font-size:12px}.preset-row{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.preset{text-align:left;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.preset:hover{border-color:var(--accent)}.preset strong{font-size:13px;font-weight:600}.preset span{color:var(--ink-soft);font-size:11.5px;line-height:1.3}.tokens{flex-wrap:wrap;gap:4px 12px;margin:-6px 0 8px;display:flex}.tokens code{background:var(--bg);border-radius:3px;padding:1px 4px;font-size:11px}.glyph-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.glyph{border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;min-width:34px;padding:3px 7px;font-family:Georgia,serif;font-size:14px;line-height:1.3}.glyph.is-on{background:var(--ink);border-color:var(--ink);color:#fff}.glyph-custom{width:72px!important}.number-input{align-items:center;gap:4px;display:inline-flex}.number-input .input--sm{font-variant-numeric:tabular-nums;width:64px}.number-input__unit{color:var(--ink-faint);font-size:11.5px}.field-inline{color:var(--ink-soft);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.epigraph-editor{border:1px dashed var(--line-strong);border-radius:var(--radius);background:#fff;flex-direction:column;gap:10px;padding:10px;display:flex}.epigraph-editor__text{resize:vertical;min-height:72px;font-family:Georgia,serif;line-height:1.45}.epigraph-editor__image{align-items:flex-start;gap:10px;display:flex}.epigraph-editor__image img{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:4px;max-width:120px;max-height:120px}.epigraph-editor__image-controls{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.epigraph-editor__add{align-self:flex-start}.page-area{overflow-anchor:none;flex-direction:column;align-items:center;gap:18px;min-width:0;padding:32px 0 80px;display:flex;overflow-y:auto}.page-area--paged{background:#e9e6e0}.canvas{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex;position:relative}.canvas--paged{gap:28px}.page{color:#171512;z-index:1;width:100%;position:relative}.page__footer{z-index:2;opacity:.45;justify-content:center;transition:opacity .15s;display:flex;position:absolute;bottom:.3in;left:0;right:0}.page:hover .page__footer{opacity:1}.book-end{z-index:2;justify-content:center;padding:8px 0 24px;display:flex;position:relative}.chapter-pending{font-family:var(--ui-font);color:var(--ink-faint);letter-spacing:.05em;text-transform:uppercase;padding:24px 0 48px;font-size:12px}.empty{text-align:center;color:var(--ink-soft);flex-direction:column;align-items:center;gap:12px;padding:80px 0;display:flex}.scene{position:relative}.scene__label{width:var(--m-left,1in);text-align:right;min-width:.6in;font-family:var(--ui-font);color:var(--ink-faint);opacity:.55;pointer-events:none;flex-direction:column;align-items:flex-end;gap:1px;padding-right:10px;font-size:10.5px;line-height:1.3;transition:opacity .15s;display:flex;position:absolute;top:0;right:100%}.scene:hover .scene__label,.scene--active .scene__label{opacity:1}.scene__label>*{pointer-events:auto}.scene__title{color:var(--ink-soft);text-align:right;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;max-width:100%;font-size:11px;display:inline-flex;overflow:hidden}.scene__title:hover{color:var(--accent)}.scene__count{font-variant-numeric:tabular-nums}.page{font-family:var(--body-font,"Times New Roman", Times, serif);font-size:var(--body-size,12pt);line-height:var(--body-leading,2)}.chapter-head{text-align:var(--title-align,center);padding-top:calc(var(--title-drop,2.6in) + var(--pb,0px));margin-bottom:var(--title-after,1em);font-family:var(--title-font,inherit)}.chapter-head--after-epigraph{padding-top:var(--pb,0px)}.chapter-head__number{font-size:var(--number-size,12pt);text-transform:var(--number-transform,uppercase);font-variant-caps:var(--number-variant,normal);letter-spacing:var(--number-tracking,.05em);line-height:var(--body-leading,2)}.chapter-head__title{font-size:var(--title-size,12pt);font-weight:400;font-style:var(--title-style,normal);text-transform:var(--title-transform,none);font-variant-caps:var(--title-variant,normal);letter-spacing:var(--title-tracking,0);line-height:var(--body-leading,2);margin:0}.chapter-head__ornament{color:#6b655c;letter-spacing:.3em;margin-top:.6em;line-height:1.4}.epigraph{padding-top:var(--pb,0px);text-align:var(--epi-align,right);font-size:var(--epi-size,11pt);font-style:var(--epi-style,italic);flex-direction:column;align-items:flex-end;line-height:1.5;display:flex;position:relative}.epigraph--before{padding-top:calc(var(--title-drop,2.6in) + var(--pb,0px));margin-bottom:2em}.epigraph--after{margin:-.5em 0 var(--title-after,1em)}.epigraph__inner{width:var(--epi-width,70%);position:relative}.epigraph--left{align-items:flex-start}.epigraph--center{align-items:center}.epigraph--right{align-items:flex-end}.epigraph__text{white-space:pre-wrap;margin:0}.epigraph__attribution{margin:.4em 0 0;font-size:.9em;font-style:normal}.epigraph__attribution:before{content:"— "}.epigraph__image{max-width:100%;height:auto;margin:0 0 .6em;display:block}.epigraph__edit,.epigraph-slot{font-family:var(--ui-font);letter-spacing:.02em;color:var(--accent);opacity:0;z-index:2;border-radius:6px;font-size:12px;font-style:normal;line-height:1;transition:opacity .15s;position:absolute}.epigraph__edit>button,.epigraph-slot>button{width:100%;height:100%;color:inherit;cursor:pointer;place-items:center;display:grid}.epigraph__edit span,.epigraph-slot span{border:1px solid var(--accent);background:#fff;border-radius:999px;padding:5px 10px}.epigraph__edit{top:calc(var(--pb,0px) + 10px);background:#f1e7dcd9;bottom:-8px;left:-12px;right:-12px}.epigraph--after .epigraph__edit{top:calc(var(--pb,0px) - 8px)}.epigraph:hover .epigraph__edit{opacity:1}.epigraph-slot{top:calc(var(--flow-top,0px) + 10px);left:var(--flow-left,0px);right:var(--flow-right,0px);height:max(2.5em, calc(var(--title-drop,2.6in) - 20px));border:1px dashed var(--line-strong)}.page:hover .epigraph-slot{opacity:.55}.epigraph-slot:hover{opacity:1;border-color:var(--accent);background:#f1e7dc80}.flow{position:relative}.page--paged .flow{--flow-top:var(--m-top,1in);--flow-left:var(--m-left,1in);--flow-right:var(--m-right,1in)}.scene-break{text-align:center;-webkit-user-select:none;user-select:none;padding-top:var(--pb,0px);margin:var(--break-space,0) 0}.scene-break--blank{height:1em}.prose{min-height:2em;text-align:var(--body-align,left);hyphens:var(--hyphens,manual);outline:none}.prose p{margin:0 0 var(--para-space,0);text-indent:var(--para-indent,.5in)}.canvas--no-first-indent .prose>p:first-child,.canvas--no-first-indent .prose>p:first-of-type{text-indent:0}.prose p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ink-faint);pointer-events:none;float:left;height:0;font-style:italic}.prose blockquote{margin:0 1in}.prose blockquote p{text-indent:0}.prose strong{font-weight:700}.prose u{text-decoration:underline}.page--manuscript{max-width:var(--page-w,8.5in);min-height:var(--page-h,11in);padding:var(--m-top,1in) var(--m-right,1in) var(--m-bottom,1in) var(--m-left,1in);background:var(--bg-page);box-shadow:0 1px 2px #0000000f,0 10px 40px #3c280a14}.page--paged{width:var(--page-w,8.5in);background:0 0;max-width:none;padding:0}.page--paged .flow{padding:var(--m-top,1in) var(--m-right,1in) 0 var(--m-left,1in);z-index:1;position:relative}.sheets{pointer-events:none;position:absolute;inset:0}.sheet{width:var(--page-w,8.5in);height:var(--page-h,11in);background:#fff;position:absolute;left:0;box-shadow:0 1px 2px #00000014,0 12px 40px #281e0a1f}.running{left:var(--m-left,1in);right:var(--m-right,1in);color:#3a3631;white-space:nowrap;grid-template-columns:1fr auto 1fr;gap:1em;line-height:1.3;display:grid;position:absolute}.running--header{top:calc(var(--m-top,1in) / 2 - .65em);font-size:var(--header-size,12pt);font-style:var(--header-style,normal);text-transform:var(--header-transform,none);font-variant-caps:var(--header-variant,normal);letter-spacing:var(--header-tracking,0)}.running--footer{bottom:calc(var(--m-bottom,1in) / 2 - .65em);font-size:var(--footer-size,11pt);font-style:var(--footer-style,normal);text-transform:var(--footer-transform,none);font-variant-caps:var(--footer-variant,normal);letter-spacing:var(--footer-tracking,0)}.running>span:first-child{text-align:left}.running>span:nth-child(2){text-align:center}.running>span:nth-child(3){text-align:right}.page-spacer{vertical-align:top;pointer-events:none;width:100%;display:inline-block}.conform-fix{-webkit-text-decoration:underline dotted var(--ink-faint);text-decoration:underline dotted var(--ink-faint);text-underline-offset:3px;cursor:pointer}.conform-menu{z-index:30;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:var(--radius);width:max-content;max-width:280px;font-family:var(--ui-font);color:var(--ink);padding:6px;font-size:13px;position:fixed;box-shadow:0 8px 24px #1f1d1a1f}.conform-menu__change{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin:0;padding:4px 8px 6px;overflow:hidden}.conform-menu button{text-align:left;width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:6px 8px;display:block}.conform-menu button:hover,.spell-menu button:hover{background:var(--accent-soft)}.spell-flag{text-underline-offset:3px;cursor:pointer;-webkit-text-decoration:underline wavy #a33b32;text-decoration:underline wavy #a33b32}.spell-menu{z-index:30;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:var(--radius);width:max-content;max-width:320px;font-family:var(--ui-font);color:var(--ink);padding:6px;font-size:13px;position:fixed;box-shadow:0 8px 24px #1f1d1a1f}.spell-menu__message{color:var(--ink-soft);margin:0;padding:4px 8px 6px}.spell-menu button{text-align:left;width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:6px 8px;display:block}.spell-menu__dictionary{color:var(--ink-soft)}.annotation{--a:var(--note);background:color-mix(in srgb, var(--a) 16%, transparent);box-shadow:inset 0 -1.5px 0 color-mix(in srgb, var(--a) 60%, transparent);cursor:pointer;border-radius:2px;transition:background .15s}.annotation:hover{background:color-mix(in srgb, var(--a) 28%, transparent)}.annotation[data-note-type=todo]{--a:var(--todo)}.annotation[data-note-type=question]{--a:var(--question)}.annotation[data-note-type=research]{--a:var(--research)}.annotation[data-note-type=continuity]{--a:var(--continuity)}.annotation[data-resolved=true]{box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--a) 25%, transparent);background:0 0}.annotation.is-active{background:color-mix(in srgb, var(--a) 30%, transparent)}.annotation[data-highlight=false]{box-shadow:none;cursor:text;background:0 0}.annotation[data-highlight=false]:hover{background:0 0}.annotation[data-highlight=false].is-active{box-shadow:inset 0 -1.5px 0 color-mix(in srgb, var(--a) 70%, transparent);background:0 0}.annotation--flash{animation:1.2s ease-out annotation-flash}@keyframes annotation-flash{0%{background:color-mix(in srgb, var(--a) 55%, transparent)}to{background:color-mix(in srgb, var(--a) 16%, transparent)}}.margins{pointer-events:none;z-index:2;position:absolute;inset:0}.margin-zone{pointer-events:auto;cursor:copy;position:absolute;top:0;bottom:0}.margin-zone--left{left:0}.margin-zone:hover{background:#00000005}.margin-dot{background:var(--note);opacity:.6;pointer-events:none;border-radius:50%;width:6px;height:6px;margin-top:11px;position:absolute}.margin-dot--todo{background:var(--todo)}.margin-dot--question{background:var(--question)}.margin-dot--research{background:var(--research)}.margin-dot--continuity{background:var(--continuity)}.margin-dot.is-selected{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 20%, transparent)}.margin-note{pointer-events:auto;border:1px solid #ebe4cf;border-left:3px solid var(--note);font-family:var(--ui-font);color:var(--ink);cursor:default;background:#fffdf5;border-radius:4px;padding:7px 8px 4px 9px;font-size:12.5px;line-height:1.4;transition:top .12s ease-out;position:absolute;box-shadow:0 2px 8px #3c280a1a}.margin-note--todo{border-left-color:var(--todo)}.margin-note--question{border-left-color:var(--question)}.margin-note--research{border-left-color:var(--research)}.margin-note--continuity{border-left-color:var(--continuity)}.margin-note.is-selected{z-index:3;box-shadow:0 0 0 2px var(--accent-soft), 0 6px 18px #3c280a29;border-color:var(--accent)}.margin-note.is-resolved{opacity:.55}.margin-note.is-resolved .margin-note__body{text-decoration:line-through}.margin-note.is-shifted:before{content:"";background:#fff9;width:3px;height:10px;position:absolute;top:0;left:-3px}.margin-note__body{white-space:pre-wrap;word-break:break-word;min-height:1.4em;margin:0}.margin-note__input{resize:none;width:100%;font:inherit;line-height:inherit;color:inherit;background:0 0;border:none;outline:none;padding:0;display:block;overflow:hidden}.margin-note__foot{opacity:0;align-items:center;gap:2px;margin-top:4px;transition:opacity .12s;display:flex}.margin-note:hover .margin-note__foot,.margin-note.is-selected .margin-note__foot{opacity:1}.margin-note__foot button{width:20px;height:18px;color:var(--ink-faint);border-radius:3px;font-size:11px}.margin-note__foot button:hover{color:var(--ink);background:#0000000f}.margin-note__type{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:none;padding:0;font-size:10.5px}
