@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/ebgaramond-400-italic-latin-ext-CdgAgyov.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/ebgaramond-400-italic-latin-DZ6Y73dF.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ebgaramond-400-normal-latin-ext-CNqezuK5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ebgaramond-400-normal-latin-CD3uH4V5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/spectral-400-italic-latin-ext-GDW041Hh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/spectral-400-italic-latin-C3GEohay.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/spectral-300-normal-latin-ext-CAlK0IWw.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/spectral-300-normal-latin-x8zSl3Cj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/spectral-400-normal-latin-ext-VbSs_Pnq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/spectral-400-normal-latin-Com8ZUEe.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Caslon Text;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/librecaslon-400-italic-latin-ext-BzMe2M71.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Caslon Text;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/librecaslon-400-italic-latin-BfdV659q.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Caslon Text;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/librecaslon-400-normal-latin-ext-D0RdRsOI.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Caslon Text;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/librecaslon-400-normal-latin-DjPIUP3c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.preview{background:var(--preview-ground,#2a2723);z-index:40;flex-direction:column;display:flex;position:fixed;inset:0}@media (prefers-color-scheme:light){.preview{--preview-ground:#3a3733}}.preview-boot{background:#2a2723;position:fixed;inset:0}.preview-scroller{padding-top:env(safe-area-inset-top,0px);padding:0 calc(50% - var(--page-w) / 2);scroll-snap-type:x mandatory;scroll-behavior:smooth;flex:1;align-items:center;display:flex;overflow:auto hidden}.preview-stack{height:var(--page-h);flex:none;position:relative}.sheet{width:var(--page-w);height:var(--page-h);background:var(--paper);scroll-snap-align:center;position:absolute;top:0;box-shadow:0 2px 24px #00000057}.sheet-head,.sheet-folio{left:var(--margin-x);right:var(--margin-x);color:var(--ink);opacity:.45;font-family:var(--face);font-size:calc(var(--font-size) * .72);text-align:center;letter-spacing:.06em;font-variant-caps:small-caps;position:absolute}.sheet-head{top:calc(var(--margin-y) * .42)}.sheet-folio{bottom:calc(var(--margin-y) * .38);font-variant-numeric:oldstyle-nums}.preview-flow{top:var(--margin-y);left:var(--margin-x);width:calc(var(--page-w) - var(--margin-x) * 2);height:calc(var(--page-h) - var(--margin-y) * 2);column-width:calc(var(--page-w) - var(--margin-x) * 2);column-gap:calc(var(--margin-x) * 2 + var(--page-gap));column-fill:auto;font-family:var(--face);font-size:var(--font-size);line-height:var(--leading);color:var(--ink);text-align:justify;-webkit-hyphens:auto;hyphens:auto;orphans:2;widows:2;position:absolute}.chapter--break{break-before:column}.opener{break-after:avoid;text-align:center;padding-top:calc(var(--font-size) * 3);margin-bottom:calc(var(--font-size) * 1.6)}.chapter-name{font-size:calc(var(--font-size) * 1.05);letter-spacing:.13em;text-align:center;margin:0;font-variant-caps:small-caps;font-weight:400}.opener-art{width:62%;margin:calc(var(--font-size) * .6) auto 0;color:var(--accent);opacity:.75;display:block}[data-theme=victorian] .opener-art{width:78%;margin-bottom:calc(var(--font-size) * .5)}[data-theme=victorian] .opener{padding-top:calc(var(--font-size) * 2)}.para{text-indent:1.35em;break-inside:auto;margin:0}.para--flush{text-indent:0}.para--dropped:first-letter{float:left;font-size:calc(var(--font-size) * var(--drop-cap) * 1.02);color:var(--accent);padding:.06em .07em 0 0;line-height:.82}.sc{letter-spacing:.04em;font-variant-caps:small-caps}blockquote{margin:calc(var(--font-size) * .7) calc(var(--font-size) * 1.6);font-size:calc(var(--font-size) * .94);text-indent:0}.scene-break{break-inside:avoid;text-align:center;margin:calc(var(--font-size) * .9) 0}.scene-art{width:calc(var(--font-size) * 4.5);color:var(--accent);opacity:.7;display:inline-block}.preview-count{text-align:center;color:#fff6;font-variant-numeric:tabular-nums;flex:none;padding:.5rem 0 .9rem;font-size:.72rem}@media (prefers-reduced-motion:reduce){.preview-scroller{scroll-behavior:auto}}@media print{@page{size:5.5in 8.5in;margin:.75in .7in}html,body{background:#fff!important}.app,.preview-bar,.preview-count,.preview-loading,.sheet{display:none!important}.preview,.preview-shell{background:#fff;display:block;position:static;inset:auto}.preview-scroller{scroll-snap-type:none;padding:0;display:block;overflow:visible}.preview-stack{height:auto;position:static;width:auto!important}.preview-flow{columns:auto;column-width:auto;color:#000;orphans:2;widows:2;column-gap:normal;width:auto;height:auto;font-size:11pt;position:static}.chapter--break{break-before:page}.opener{break-after:avoid;padding-top:2.2em}.scene-break{break-inside:avoid}.para--dropped:first-letter{color:#000}.opener-art,.scene-art{color:#000;opacity:1}}:root{--paper:#e6e7e3;--paper-raised:#f0f1ed;--ink:#17181a;--ink-soft:#4b4d51;--ink-faint:#7b7d82;--rule:#cbccc5;--rule-strong:#b3b4ad;--madder:#8f2d2d;--ok:#3f6b4a;--shadow:#17181a24;--serif:"Iowan Old Style", "Palatino Linotype", Georgia, serif;--ui:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}@media (prefers-color-scheme:dark){:root{--paper:#131417;--paper-raised:#1b1d21;--ink:#e5e4de;--ink-soft:#a9a9a3;--ink-faint:#77787c;--rule:#2c2f34;--rule-strong:#3d4148;--madder:#c4666c;--ok:#7fae8b;--shadow:#00000073}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);--inset-top:env(safe-area-inset-top,0px);--inset-bottom:env(safe-area-inset-bottom,0px);--inset-left:env(safe-area-inset-left,0px);--inset-right:env(safe-area-inset-right,0px);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;margin:0}.boot{height:100%;color:var(--ink-faint);place-items:center;display:grid}.app{touch-action:manipulation;grid-template-columns:17rem 1fr;height:100%;display:grid}.canvas,.notes-canvas,.chapter-title,.meta-title,.meta-author,input{-webkit-user-select:text;user-select:text}.app--side{grid-template-columns:17rem 1fr 20rem}.app--focus{grid-template-columns:1fr}.app--focus .rail,.app--focus .side,.app--focus .stage-head{display:none}.app--focus .stage{padding-top:calc(8vh + var(--inset-top))}.app--focus .canvas{font-size:1.24rem}.focus-exit{width:auto;right:calc(1.25rem + var(--inset-right));bottom:calc(1.25rem + var(--inset-bottom));background:var(--paper-raised);border:1px solid var(--rule-strong,var(--rule));min-height:44px;box-shadow:0 2px 12px var(--shadow,#00000024);color:var(--ink-soft);font:inherit;cursor:pointer;border-radius:22px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.82rem;transition:color .18s,border-color .18s;display:flex;position:fixed}.focus-exit:hover,.focus-exit:focus-visible{color:var(--ink);border-color:var(--ink-faint)}@media (hover:none){.focus-exit .preview-esc{display:none}}.rail-actions{gap:.35rem;display:flex}.rail-toggle{border:1px solid var(--rule);min-height:0;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:3px;flex:1;padding:.4rem;font-size:.76rem}.rail-toggle:hover{color:var(--ink);border-color:var(--ink-faint)}.rail-toggle.is-on{color:var(--ink);border-color:var(--ink-faint);background:#7f7f7f24}.side{border-left:1px solid var(--rule);background:var(--paper-raised);padding:var(--inset-top) var(--inset-right) var(--inset-bottom) 0;flex-direction:column;display:flex;overflow:hidden}.side-tabs{border-bottom:1px solid var(--rule);flex:none;align-items:stretch;display:flex}.side-close{border:none;border-left:1px solid var(--rule);width:2.4rem;color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;flex:none;font-size:1rem}.side-close:hover{color:var(--ink);background:#7f7f7f1f}.side-tab{color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.6rem .4rem;font-size:.76rem}.side-tab.is-on{color:var(--ink);border-bottom-color:var(--madder)}.side-badge{background:var(--madder);color:var(--paper-raised);font-variant-numeric:tabular-nums;border-radius:8px;margin-left:.35rem;padding:.05rem .32rem;font-size:.62rem}.side-body{flex:1;overflow-y:auto}.notes{flex-direction:column;height:100%;display:flex}.notes-tools{border-bottom:1px solid var(--rule);flex:none;gap:1px;padding:.5rem .6rem;display:flex}.notes-tools button{width:1.7rem;height:1.7rem;color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:3px;place-items:center;font-size:.78rem;display:grid}.notes-tools button:hover{color:var(--ink);background:#7f7f7f24}.notes-tools button.is-on{color:var(--ink);background:#7f7f7f33}.notes-canvas{color:var(--ink-soft);outline:none;flex:1;padding:.9rem;font-size:.86rem;line-height:1.6;overflow-y:auto}.notes-canvas:focus{color:var(--ink)}.notes-canvas p{margin:0 0 .5em}.notes-canvas h2,.notes-canvas h3{color:var(--ink);margin:1em 0 .4em;font-size:.86rem;font-weight:600}.notes-canvas h3{font-size:.8rem}.notes-canvas ul,.notes-canvas ol{margin:0 0 .5em;padding-left:1.15rem}.notes-canvas li{margin-bottom:.2em}.notes-canvas li::marker{color:var(--madder)}.notes-canvas blockquote{border-left:2px solid var(--rule);margin:.5em 0;padding-left:.7em}.notes-canvas hr{border:none;border-top:1px solid var(--rule);margin:.9em 0}.notes-canvas p.is-editor-empty:first-child:before{content:"Research, character sketches, things you know happen but have not written yet.";color:var(--ink-faint);float:left;pointer-events:none;height:0}.grammar{flex-direction:column;gap:.6rem;padding:.9rem;display:flex}.grammar--intro p{color:var(--ink-soft);margin:0;font-size:.78rem;line-height:1.5}.grammar-weight{color:var(--ink-faint)!important;font-size:.72rem!important}.grammar-error{color:var(--madder)!important;font-size:.72rem!important}.grammar-enable{border:1px solid var(--madder);color:var(--madder);font:inherit;cursor:pointer;background:0 0;border-radius:3px;padding:.45rem;font-size:.78rem}.grammar-enable:hover{background:var(--madder);color:var(--paper)}.grammar-summary{color:var(--ink-faint);justify-content:space-between;align-items:baseline;font-size:.74rem;display:flex}.grammar-off{color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:none;font-size:.7rem;text-decoration:underline}.grammar-off:hover{color:var(--ink)}.grammar-list{flex-direction:column;gap:.5rem;display:flex}.finding{border:1px solid var(--rule);border-radius:3px;flex-direction:column;gap:.3rem;padding:.5rem;display:flex}.finding-head{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.finding-kind{letter-spacing:.1em;text-transform:uppercase;color:var(--madder);font-size:.6rem}.finding-text{color:var(--ink);background:#7f7f7f24;border-radius:2px;padding:.02em .3em;font-size:.74rem}.finding-message{color:var(--ink-soft);margin:0;font-size:.74rem;line-height:1.42}.finding-fixes{flex-wrap:wrap;gap:.25rem;display:flex}.finding-fix{border:1px solid var(--rule);color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:2px;padding:.15rem .4rem;font-size:.72rem}.finding-fix:hover{color:var(--ink);border-color:var(--madder)}.grammar-note{color:var(--ink-faint);margin:0;font-size:.68rem;font-style:italic;line-height:1.45}.lint{-webkit-text-decoration:underline wavy var(--madder);text-decoration:underline wavy var(--madder);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:3px}.lint--spelling,.lint--typo{-webkit-text-decoration-color:var(--madder);text-decoration-color:var(--madder)}.lint--style,.lint--readability,.lint--enhancement,.lint--wordchoice{-webkit-text-decoration-color:var(--ink-faint);text-decoration-color:var(--ink-faint)}@media (width<=62rem){.app--side{grid-template-columns:17rem 1fr}.side{z-index:30;border-left:1px solid var(--rule);width:min(22rem,86vw);box-shadow:-8px 0 32px var(--shadow,#0000002e);animation:.18s cubic-bezier(.22,1,.36,1) side-in;position:fixed;top:0;bottom:0;right:0}}@keyframes side-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.side{animation:none}}.rail{border-right:1px solid var(--rule);background:var(--paper-raised);padding:calc(1.25rem + var(--inset-top)) 1rem calc(1.25rem + var(--inset-bottom)) calc(1rem + var(--inset-left));flex-direction:column;gap:1rem;display:flex;overflow-y:auto}.rail-head{flex-direction:column;gap:.2rem;display:flex}.meta-fields{flex-direction:column;gap:.1rem;display:flex}.meta-title,.meta-author{width:100%;color:var(--ink);font:inherit;background:0 0;border:none;border-bottom:1px solid #0000;padding:.1rem 0}.meta-title{font-family:var(--serif);font-size:1.15rem}.meta-author{color:var(--ink-faint);font-size:.76rem}.meta-title:hover,.meta-author:hover{border-bottom-color:var(--rule)}.meta-title:focus,.meta-author:focus{border-bottom-color:var(--madder);outline:none}.meta-title::placeholder,.meta-author::placeholder{color:var(--ink-faint);opacity:.65}.progress{font-variant-numeric:tabular-nums;flex-direction:column;gap:.35rem;display:flex}.progress-total{color:var(--ink-soft);font-size:.82rem}.progress-total strong{color:var(--ink);font-size:1.05rem;font-weight:600}.progress-track{background:var(--rule);border-radius:2px;height:3px;overflow:hidden}.progress-fill{background:var(--madder);border-radius:2px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1)}.progress-goal{color:var(--ink-faint);font-size:.7rem}.stage-meta{white-space:nowrap;flex-wrap:nowrap;flex:none;align-items:baseline;gap:.9rem;display:flex}.counts{color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:.35rem;font-size:.74rem;display:flex}.counts-primary{color:var(--ink-soft)}.counts-sep{opacity:.5}@media (prefers-reduced-motion:reduce){.progress-fill{transition:none}}.toc{flex-direction:column;gap:1px;display:flex}.toc-row{border-radius:3px;align-items:stretch;display:flex;overflow:hidden}.toc-row.is-current{box-shadow:inset 2px 0 0 var(--madder);background:#7f7f7f24}.toc-item{min-width:0;color:var(--ink-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.5rem .6rem;font-size:.88rem;display:flex}.toc-row:not(.is-current) .toc-item:hover{background:#7f7f7f17}.toc-row.is-current .toc-item{color:var(--ink)}.toc-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toc-controls{align-items:center;gap:1px;padding-right:.25rem;display:flex}.toc-ctrl{width:1.4rem;height:1.6rem;color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:3px;place-items:center;font-size:.8rem;line-height:1;display:grid}.toc-ctrl:hover:not(:disabled){color:var(--ink);background:#7f7f7f29}.toc-ctrl:disabled{opacity:.28;cursor:default}.toc-ctrl--danger:hover:not(:disabled){color:var(--madder)}.toc-words{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:.72rem}.add-chapter{border:1px dashed var(--rule);color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border-radius:3px;padding:.5rem;font-size:.82rem}.add-chapter:hover{color:var(--ink);border-color:var(--ink-faint)}.rail-warn{color:var(--madder);margin:0;font-size:.74rem;line-height:1.45}.stage{flex-direction:column;align-items:center;display:flex;overflow-y:auto}.stage>:not(.focus-exit){flex:none;width:min(100%,42rem)}.stage-head{padding:calc(2rem + var(--inset-top)) 1.5rem 0;flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.chapter-title{font-family:var(--serif);min-width:8rem;color:var(--ink);background:0 0;border:none;border-bottom:1px solid #0000;flex:1;margin:0;padding:0 0 .15rem;font-size:1.35rem;font-weight:500}.chapter-title:hover{border-bottom-color:var(--rule)}.chapter-title:focus{border-bottom-color:var(--madder);outline:none}.goal-line{font:inherit;color:var(--ink-faint);text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px dotted #0000;align-self:flex-start;padding:0;font-size:.7rem}.goal-line:hover{color:var(--ink-soft);border-bottom-color:var(--rule)}.goal-line--muted{font-style:italic}.goal-edit{flex-direction:column;gap:.4rem;display:flex}.goal-input{background:var(--paper);border:1px solid var(--rule);width:100%;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;border-radius:3px;padding:.3rem .4rem;font-size:.82rem}.goal-input:focus{border-color:var(--madder);outline:none}.goal-actions{gap:.35rem;display:flex}.goal-btn{border:1px solid var(--rule);color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:3px;flex:1;padding:.28rem .4rem;font-size:.7rem}.goal-btn:hover{color:var(--ink);border-color:var(--ink-faint)}.goal-btn--primary{border-color:var(--madder);color:var(--madder)}.rail-button{border:1px solid var(--rule);color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:3px;flex:none;padding:.55rem;font-size:.82rem}.rail-button:hover{color:var(--ink);border-color:var(--ink-faint)}.preview-open{border:1px solid var(--madder);color:var(--madder);font:inherit;cursor:pointer;background:0 0;border-radius:3px;flex:none;padding:.55rem;font-size:.82rem;transition:background .16s}.preview-open:hover{background:var(--madder);color:var(--paper)}.preview-shell{z-index:50;position:fixed;inset:0}.preview-bar{z-index:60;padding:calc(.6rem + env(safe-area-inset-top,0px)) 1rem .6rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#ffffffbf;background:#141311d1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:absolute;top:0;left:0;right:0}.preview-tabs,.preview-themes{gap:.3rem;display:flex}.preview-tab,.theme-chip,.preview-close,.preview-print{color:#ffffffa8;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:3px;padding:.3rem .6rem;font-size:.74rem;transition:color .14s,border-color .14s,background .14s}.preview-tab:hover,.theme-chip:hover,.preview-close:hover,.preview-print:hover{color:#fff;border-color:#fff6}.preview-tab.is-on,.theme-chip.is-on{color:#fff;background:#ffffff17;border-color:#ffffff9e}.preview-esc{opacity:.7;border:1px solid #ffffff38;border-radius:2px;margin-left:.4rem;padding:.05rem .28rem;font-size:.62rem}.preview-loading{z-index:55;color:#ffffff8c;background:#2a2723;place-items:center;font-size:.84rem;display:grid;position:absolute;inset:0}.account{border-top:1px solid var(--rule);flex-direction:column;gap:.45rem;padding-top:.85rem;display:flex}.account-who{color:var(--ink-soft);font-size:.74rem;line-height:1.4}.account-who strong{color:var(--ink);word-break:break-all;font-weight:600}.account-warn{color:var(--madder);margin:0;font-size:.72rem;line-height:1.45}.account-note{color:var(--ink-faint);margin:0;font-size:.68rem;line-height:1.4}.account-error{color:var(--madder);margin:0;font-size:.68rem;line-height:1.4}.account-claim{border:1px solid var(--madder);color:var(--madder);font:inherit;cursor:pointer;background:0 0;border-radius:3px;padding:.42rem;font-size:.76rem}.account-claim:hover:not(:disabled){background:var(--madder);color:var(--paper)}.account-claim:disabled{opacity:.55;cursor:default}.account-link{color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.7rem;text-decoration:underline}.account-link:hover{color:var(--ink)}.account-form{flex-direction:column;gap:.4rem;display:flex}.account-modes{gap:.25rem;display:flex}.account-modes button{border:1px solid var(--rule);color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border-radius:3px;flex:1;padding:.24rem;font-size:.68rem}.account-modes button.is-on{color:var(--ink);border-color:var(--ink-faint)}.account-input{background:var(--paper);border:1px solid var(--rule);color:var(--ink);font:inherit;border-radius:3px;padding:.35rem .45rem;font-size:.78rem}.account-input:focus{border-color:var(--madder);outline:none}.account-actions{flex-direction:column;gap:.3rem;display:flex}.exports{border-top:1px solid var(--rule);flex-direction:column;gap:2px;padding-top:.9rem;display:flex}.exports-head{letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .35rem;font-size:.62rem;font-weight:600}.export-btn{color:var(--ink-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.42rem .5rem;font-size:.82rem;display:flex}.export-btn:hover:not(:disabled){color:var(--ink);background:#7f7f7f1f}.export-btn:disabled{opacity:.5;cursor:default}.export-hint{color:var(--ink-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem}.export-btn--quiet{color:var(--ink-faint);font-size:.74rem}.export-error{color:var(--madder);margin:.3rem 0 0;font-size:.7rem;line-height:1.4}.keys{color:var(--ink-faint);flex-direction:column;gap:.28rem;margin:auto 0 0;font-size:.68rem;display:flex}.keys>div{align-items:baseline;gap:.5rem;display:flex}.keys dt{width:3.4rem;color:var(--ink-soft);flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.keys dd{margin:0}.save-indicator{color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.4rem;min-width:12.5rem;font-size:.74rem;display:flex}.save-dot{background:var(--ink-faint);border-radius:50%;flex:none;width:6px;height:6px}.save-indicator--saved .save-dot{background:var(--ok)}.save-indicator--dirty .save-dot,.save-indicator--saving .save-dot{background:var(--madder)}.save-indicator--error{color:var(--madder)}.save-indicator--error .save-dot{background:var(--madder)}.save-sep{opacity:.5}.save-muted{opacity:.8}.sync{color:var(--ink-faint);white-space:nowrap;align-items:center;gap:.4rem;min-width:9rem;font-size:.74rem;display:flex}.sync-dot{background:var(--ink-faint);border-radius:50%;flex:none;width:6px;height:6px}.sync--synced .sync-dot{background:var(--ok)}.sync--syncing .sync-dot,.sync--connecting .sync-dot{background:var(--ink-faint)}.sync--offline .sync-dot{background:#b8860b}.sync--error{color:var(--madder)}.sync--error .sync-dot{background:var(--madder)}.sync--off .sync-dot{box-shadow:inset 0 0 0 1px var(--ink-faint);background:0 0}.canvas{width:100%;min-height:60vh;font-family:var(--serif);outline:none;padding:1.5rem 1.5rem 45vh;font-size:1.18rem;line-height:1.72}.canvas--loading{min-height:12rem}.canvas p{text-indent:1.6em;margin:0}.canvas p:first-child,.canvas hr[data-scene-break]+p{text-indent:0}.canvas blockquote{border-left:2px solid var(--rule);color:var(--ink-soft);margin:1em 0;padding-left:1.2em}.canvas hr[data-scene-break]{text-align:center;border:none;margin:1.6em 0}.canvas hr[data-scene-break]:after{content:"❦";color:var(--madder);opacity:.75;font-size:1rem}@media (width<=64rem){.stage-head{flex-direction:column;align-items:flex-start;gap:.3rem}.chapter-title{width:100%}.save-muted,.save-sep,.counts-session,.counts-sep{display:none}.save-indicator{min-width:8.5rem}}@media (width<=46rem){.app{grid-template-rows:auto 1fr;grid-template-columns:1fr}.stage-head{padding-top:1.25rem}.rail{border-right:none;border-bottom:1px solid var(--rule)}.toc{flex-direction:row;overflow-x:auto}.rail-warn{margin-top:.5rem}}
