@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}@layer tokens{:root{--close-inline-size:16px;--close-rest-size:5px;--standard-padding:1.4rem;--editing-font:"Georgia", serif;--display-font:"Cormorant Garamond", serif;--label-font:"Jost", sans-serif;--ui-font:var(--display-font);--controls-font:var(--label-font);--logo-font:var(--display-font);--label-letter-spacing:.11em;--normal-weight:200;--bold-weight:600;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-1:.25rem;--radius-2:.35rem;--radius-3:.45rem;--radius-round:999px;--text-badge:.46rem;--text-2xs:.58rem;--text-status:.625rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:var(--text-base);--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.75rem;--text-4xl:3.5rem;--text-5xl:5.25rem;--leading-tight:1.15;--leading-normal:1.75;--leading-loose:1.85;--hover-transition-speed:.15s;--motion-fast:.12s;--motion-standard:.18s;--motion-slow:.26s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.2, 0, 0, 1.2);--z-below:-1;--z-base:1;--z-raised:10;--z-overlay:100;--z-modal:1000;--overlay-dark-35:oklch(0% 0 0/.35);--overlay-light-05:oklch(100% 0 0/.05);--overlay-light-10:oklch(100% 0 0/.1);--overlay-light-14:oklch(100% 0 0/.14);--overlay-light-28:oklch(100% 0 0/.28);--overlay-light-32:oklch(100% 0 0/.32);--overlay-light-34:oklch(100% 0 0/.34);--overlay-light-50:oklch(100% 0 0/.5);--overlay-light-58:oklch(100% 0 0/.58);--overlay-light-62:oklch(100% 0 0/.62);--overlay-light-82:oklch(100% 0 0/.82);--surface-white:oklch(100% 0 0);--browser-gate-background:oklch(96% .014 74);--browser-gate-card-border:oklch(78% .026 68);--browser-gate-card-fill:oklch(99% .006 75);--browser-gate-kicker-color:oklch(39% .082 54);--browser-gate-shadow:0 1rem 3rem oklch(30% .03 65/.16);--browser-gate-text:oklch(24% .018 64);--shadow-ring-subtle:inset 0 0 0 1px color-mix(in oklch, var(--content-primary) 14%, transparent);--shadow-ring-strong:inset 0 0 0 1px color-mix(in oklch, var(--content-primary) 20%, transparent);--shadow-ring-accent:inset 0 0 0 1px color-mix(in oklch, var(--brand-subtle-fill) 40%, transparent);--shadow-ring-focus:inset 0 0 0 1px color-mix(in oklch, var(--brand-subtle-fill) 42%, transparent), 0 0 0 2px color-mix(in oklch, var(--brand-subtle-fill) 18%, transparent);--shadow-ring-highlight:inset 0 0 0 1px color-mix(in oklch, var(--brand-subtle-fill) 34%, transparent), inset 0 -.18rem 0 color-mix(in oklch, var(--brand-subtle-fill) 46%, transparent);--shadow-close-horizontal:inset 0 1px 0 var(--close-inset-line-color), inset 0 -1px 0 var(--close-inset-line-color);--shadow-close-vertical:inset 1px 0 0 var(--close-inset-line-color), inset -1px 0 0 var(--close-inset-line-color);--shadow-accent-edge:inset .35rem 0 0 var(--brand-subtle-fill);--icon-size:1.1rem;--icon-fill:0;--icon-weight:400;--icon-grade:0;--icon-opsz:24;--surface-auto-raised:var(--lightningcss-light,oklch(99% .004 75))var(--lightningcss-dark,oklch(22% .012 270));--text-auto-strong:var(--lightningcss-light,oklch(24% .015 65))var(--lightningcss-dark,oklch(96% .006 85));--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-novelist-theme=warm],[data-novelist-theme=cool]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-novelist-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--global-bg:var(--palette-base);--content-primary:var(--palette-ink);--content-secondary:var(--palette-muted);--text-emphasis:var(--palette-emphasis);--brand-fill:var(--palette-emphasis);--brand-subtle-fill:var(--palette-accent);--brand-on-fill:var(--palette-on-emphasis);--status-danger:var(--palette-danger);--status-success:var(--palette-success);--focus-ring:color-mix(in oklch, var(--palette-emphasis) 68%, var(--palette-ink));--focus-ring-forced-color:Highlight;--focus-ring-width:2px;--focus-ring-offset:2px;--input-focus-outline-offset:-1px;--surface-panel:var(--palette-surface);--surface-muted:var(--palette-surface-muted);--surface-control-hover:color-mix(in oklch, var(--palette-surface) 92%, var(--palette-emphasis));--button-border:color-mix(in oklch, var(--surface-panel) 18%, transparent);--button-hover-border:color-mix(in oklch, var(--brand-fill) 44%, var(--line-subtle));--button-hover-ring-size:1px;--button-hover-ring-color:color-mix(in oklch, var(--brand-fill) 18%, transparent);--button-primary-hover-border:color-mix(in oklch, var(--brand-on-fill) 36%, var(--brand-fill));--button-primary-hover-ring-size:2px;--button-primary-hover-ring-color:color-mix(in oklch, var(--brand-fill) 24%, transparent);--line-default:var(--palette-border);--line-subtle:color-mix(in oklch, var(--line-default) 72%, transparent);--line-strong:var(--palette-border-strong);--line-focus:color-mix(in oklch, var(--palette-emphasis) 72%, var(--palette-ink));--surface-page-border:color-mix(in oklch, var(--line-strong) 58%, transparent);--shadow-popover:var(--shadow-lg);--shadow-active:0 0 0 2px color-mix(in oklch, var(--brand-fill) 34%, transparent);--floating-action-surface-background:var(--surface-panel);--floating-action-surface-border:1px solid color-mix(in oklch, var(--content-primary) 16%, transparent);--floating-action-surface-shadow:var(--shadow-popover);--browser-accent-color:var(--brand-fill);--sidebar-row-accent-border:.35rem solid transparent;--tab-active-fill:color-mix(in oklch, var(--brand-fill) 82%, var(--content-primary));--overlay-backdrop:color-mix(in oklch, var(--content-primary) 26%, transparent);--scroll-affordance-shadow:color-mix(in oklch, var(--content-primary) 18%, transparent);--scroll-affordance-surface:var(--surface-panel);--scrollbar-track:transparent;--scrollbar-thumb:color-mix(in oklch, var(--content-primary) 42%, transparent);--media-selection-accent:oklch(56% .18 254);--surface-page:color-mix(in oklch, var(--palette-surface) 92%, var(--palette-base));--find-highlight:color-mix(in oklch, var(--palette-warning) 68%, transparent);--find-current-highlight:color-mix(in oklch, var(--palette-warning) 78%, var(--palette-danger));--highlight-default-color:color-mix(in oklch, var(--palette-warning) 48%, var(--surface-page));--document-canvas-review-delete-fill:color-mix(in oklch, var(--palette-danger) 24%, transparent);--document-canvas-review-delete-fill-selected:color-mix(in oklch, var(--palette-danger) 34%, transparent);--document-canvas-review-delete-widget-fill:color-mix(in oklch, var(--palette-danger) 14%, transparent);--document-canvas-review-delete-widget-border:color-mix(in oklch, var(--palette-danger) 46%, transparent);--document-canvas-review-delete-widget-border-selected:color-mix(in oklch, var(--palette-danger) 74%, transparent);--document-canvas-review-insert-fill:color-mix(in oklch, var(--palette-success) 22%, transparent);--document-canvas-review-insert-fill-selected:color-mix(in oklch, var(--palette-success) 32%, transparent);--document-canvas-review-insert-widget-fill:color-mix(in oklch, var(--palette-success) 14%, transparent);--document-canvas-review-insert-widget-border:color-mix(in oklch, var(--palette-success) 46%, transparent);--document-canvas-review-insert-widget-border-selected:color-mix(in oklch, var(--palette-success) 74%, transparent);--document-canvas-review-replace-fill:color-mix(in oklch, var(--palette-warning) 22%, transparent);--document-canvas-review-replace-fill-selected:color-mix(in oklch, var(--palette-warning) 34%, transparent);--document-page-shadow-color:color-mix(in oklch, var(--content-primary) 36%, transparent);--document-anchor-color:var(--palette-anchor);--document-anchor-hover-color:var(--palette-anchor-hover);--document-anchor-selected-outline-color:color-mix(in oklch, var(--brand-fill) 60%, var(--surface-panel));--document-anchor-outline-color:color-mix(in oklch, var(--content-primary) 38%, transparent);--document-anchor-range-color:color-mix(in oklch, var(--palette-anchor) 16%, transparent);--document-anchor-range-selected-color:color-mix(in oklch, var(--palette-emphasis) 22%, transparent);--theme-cool-swatch-start:oklch(97.276% .00574 264.533);--theme-cool-swatch-end:oklch(54.615% .21521 262.881)}[data-novelist-theme=cool]{--palette-base:oklch(97.276% .00574 264.533);--palette-surface:oklch(98.789% .00286 264.542);--palette-surface-muted:oklch(95.487% .00992 267.358);--palette-border:oklch(91.449% .0163 262.75);--palette-border-strong:oklch(82.509% .03014 264.397);--palette-ink:oklch(19.532% .02421 262.216);--palette-muted:oklch(39.253% .04825 267.09);--palette-muted-soft:oklch(63.053% .03736 253.816);--palette-accent:oklch(96.386% .01695 267.792);--palette-emphasis:oklch(54.615% .21521 262.881);--palette-attention:var(--palette-emphasis);--palette-success:oklch(45% .13 154);--palette-warning:oklch(76% .16 61);--palette-danger:oklch(47% .16 29);--palette-selection:color-mix(in oklch, var(--palette-emphasis) 22%, transparent);--palette-anchor:oklch(43% .11 196);--palette-anchor-hover:oklch(42% .15 263);--palette-on-accent:var(--palette-ink);--palette-on-emphasis:oklch(99% .004 264);--shadow-sm:0 1px 3px oklch(39% .06 265/.08), 0 0 0 1px oklch(39% .06 265/.04);--shadow-md:0 4px 16px oklch(39% .06 265/.1), 0 1px 4px oklch(39% .06 265/.06);--shadow-lg:0 12px 40px oklch(39% .06 265/.12), 0 2px 8px oklch(39% .06 265/.06);--surface-page:oklch(99% .003 264);--shadow-header:0 1px 3px oklch(39% .06 265/.1), 0 8px 24px oklch(39% .06 265/.05);--document-page-shadow-color:oklch(39% .06 265/.13);--find-highlight:oklch(91% .15 99/.68);--find-current-highlight:oklch(76% .16 61/.78);--document-anchor-color:var(--palette-anchor);--document-anchor-hover-color:var(--palette-anchor-hover)}:root{--theme-dark-swatch-start:oklch(17.833% .01281 270.602);--theme-dark-swatch-end:oklch(65.454% .15621 262.502)}[data-novelist-theme=dark]{--palette-base:oklch(17.833% .01281 270.602);--palette-surface:oklch(22.294% .02475 266.888);--palette-surface-muted:oklch(24.862% .04101 271.04);--palette-border:oklch(27.242% .03429 262.745);--palette-border-strong:oklch(33.448% .04896 264.89);--palette-ink:oklch(94.462% .01204 259.823);--palette-muted:oklch(68.293% .04396 260.894);--palette-muted-soft:oklch(45.815% .04312 261.098);--palette-accent:oklch(26.9% .05287 266.154);--palette-emphasis:oklch(65.454% .15621 262.502);--palette-attention:var(--palette-emphasis);--palette-success:oklch(72% .12 153);--palette-warning:oklch(70% .16 57);--palette-danger:oklch(69% .16 31);--palette-selection:color-mix(in oklch, var(--palette-emphasis) 28%, transparent);--palette-anchor:oklch(68% .08 144);--palette-anchor-hover:oklch(77% .12 260);--palette-on-accent:var(--palette-ink);--palette-on-emphasis:oklch(98% .005 264);--shadow-sm:0 0 0 1px oklch(65% .16 263/.08);--shadow-md:0 4px 20px oklch(0% 0 0/.4), 0 0 0 1px oklch(65% .16 263/.06);--shadow-lg:0 16px 48px oklch(0% 0 0/.5), 0 0 0 1px oklch(65% .16 263/.08);--tab-active-fill:var(--brand-fill);--status-danger:var(--palette-danger);--surface-page:oklch(24% .018 76);--surface-page-border:color-mix(in oklch, var(--line-strong) 82%, var(--content-primary));--shadow-header:0 1px 3px oklch(0% 0 0/.48), 0 8px 24px oklch(65% .16 263/.08);--document-page-shadow-color:oklch(0% 0 0/.46);--overlay-backdrop:oklch(0% 0 0/.54);--find-highlight:oklch(76% .14 96/.5);--find-current-highlight:oklch(70% .16 57/.68);--document-anchor-color:var(--palette-anchor);--document-anchor-hover-color:var(--palette-anchor-hover)}:root{--theme-warm-swatch-start:oklch(96.585% .00793 73.744);--theme-warm-swatch-end:oklch(57.764% .15747 38.016)}:root:not([data-novelist-theme]),[data-novelist-theme=warm]{--palette-base:oklch(96.585% .00793 73.744);--palette-surface:oklch(98.657% .00511 67.765);--palette-surface-muted:oklch(94.806% .01079 76.597);--palette-border:oklch(90.33% .01915 67.582);--palette-border-strong:oklch(79.162% .02873 67.393);--palette-ink:oklch(19.722% .01258 55.546);--palette-muted:oklch(37.332% .02354 61.811);--palette-muted-soft:oklch(63.847% .03192 63.858);--palette-accent:oklch(94.405% .01445 50.801);--palette-emphasis:oklch(57.764% .15747 38.016);--palette-attention:var(--palette-emphasis);--palette-success:oklch(45% .12 150);--palette-warning:oklch(70% .14 79);--palette-danger:oklch(54% .17 29);--palette-selection:color-mix(in oklch, var(--palette-emphasis) 22%, transparent);--palette-anchor:oklch(43% .09 112);--palette-anchor-hover:oklch(39% .09 252);--palette-on-accent:var(--palette-ink);--palette-on-emphasis:oklch(99% .004 67);--shadow-sm:0 1px 3px oklch(42% .05 55/.08), 0 0 0 1px oklch(42% .05 55/.04);--shadow-md:0 4px 16px oklch(42% .05 55/.1), 0 1px 4px oklch(42% .05 55/.06);--shadow-lg:0 12px 40px oklch(42% .05 55/.12), 0 2px 8px oklch(42% .05 55/.06);--shadow-header:0 1px 3px oklch(42% .05 55/.1), 0 8px 24px oklch(42% .05 55/.05);--surface-page:oklch(99.1% .004 69);--find-highlight:oklch(90% .16 92/.68);--find-current-highlight:oklch(75% .17 55/.78);--highlight-default-color:oklch(94% .09 95)}@media (prefers-contrast:more){:root{--button-hover-ring-size:2px;--content-secondary:var(--content-primary);--focus-ring-width:3px;--line-subtle:var(--line-strong);--scrollbar-track:color-mix(in oklch, var(--content-primary) 10%, transparent);--scrollbar-thumb:color-mix(in oklch, var(--content-primary) 68%, transparent)}}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@layer base{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-block-size:100svh}:where(img,picture,svg,canvas,video){max-inline-size:100%;display:block}:where(h1,h2,h3,h4,h5,h6,p){margin:0}p{padding-block:.5rem}input,textarea{background:var(--global-bg);width:100%}:where(input,textarea,select,button,.btn){font:inherit}:where(input,textarea){outline-offset:var(--input-focus-outline-offset)}:where(select,button,.btn){outline-offset:var(--focus-ring-offset)}.btn{border:1px solid var(--button-border);background:var(--surface-panel);color:var(--content-primary);font-family:var(--label-font);font-size:var(--text-sm);letter-spacing:var(--label-letter-spacing);text-transform:none;transition:background var(--hover-transition-speed) ease, border-color var(--hover-transition-speed) ease, box-shadow var(--hover-transition-speed) ease, color var(--hover-transition-speed) ease;cursor:pointer;border-radius:.25rem;justify-content:center;align-items:center;padding:.35rem .75rem;font-weight:200;text-decoration:none;display:inline-flex;position:relative}.btn:hover,.btn:focus-visible{border-color:var(--button-hover-border);background:var(--surface-panel);box-shadow:0 0 0 var(--button-hover-ring-size) var(--button-hover-ring-color);color:var(--content-primary);outline:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:default}button{transition:background var(--hover-transition-speed) ease, border-color var(--hover-transition-speed) ease, box-shadow var(--hover-transition-speed) ease, color var(--hover-transition-speed) ease;position:relative}select{padding-right:2rem}button{border:1px solid var(--button-border);background:var(--surface-panel);color:var(--content-primary);font-family:var(--label-font);font-size:var(--text-sm);letter-spacing:var(--label-letter-spacing);text-transform:none;cursor:pointer;border-radius:.25rem;justify-content:center;align-items:center;padding:.35rem .75rem;font-weight:200;text-decoration:none;display:inline-flex}.btn-primary{background:var(--brand-fill);border-color:var(--brand-fill);color:var(--brand-on-fill)}.btn-primary:hover,.btn-primary:focus-visible{border-color:var(--button-primary-hover-border);background:var(--brand-fill);box-shadow:0 0 0 var(--button-primary-hover-ring-size) var(--button-primary-hover-ring-color);color:var(--brand-on-fill)}[data-novelist-theme=dark] .btn-primary{color:var(--palette-base)}.btn-danger{border-color:var(--status-danger);color:var(--status-danger)}html{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin;font-family:var(--controls-font);font-size:var(--text-base);font-style:normal;font-weight:var(--normal-weight,400);accent-color:var(--browser-accent-color)}:where(nav a,h1,h2,h3,h4,h5,h6){font-family:var(--ui-font);font-style:normal;font-weight:300}nav a,select{font-family:var(--label-font);letter-spacing:var(--label-letter-spacing);text-transform:none;font-weight:200}ul,ol{margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto}}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/ui/cormorant-garamond-300-latin.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:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/ui/cormorant-garamond-300-italic-latin.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:Jost;font-style:normal;font-weight:200;font-display:swap;src:url(/fonts/ui/jost-200-latin.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:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ui/jost-600-latin.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:Material Symbols Outlined;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ui/material-symbols-outlined-400.woff2)format("woff2")}@font-face{font-family:Material Symbols Outlined Filled;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ui/material-symbols-outlined-filled-400.woff2)format("woff2")}.material-symbols-outlined{block-size:1em;inline-size:1em;font-family:Material Symbols Outlined;font-size:var(--icon-size);letter-spacing:0;text-transform:none;white-space:nowrap;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";font-variation-settings:"FILL" var(--icon-fill), "wght" var(--icon-weight), "GRAD" var(--icon-grade), "opsz" var(--icon-opsz);word-wrap:normal;-webkit-font-smoothing:antialiased;direction:ltr;font-style:normal;font-weight:400;line-height:1;display:inline-block;overflow:clip}.material-symbols-outlined.material-symbols-filled{--icon-fill:1;font-variation-settings:"FILL" 1, "wght" var(--icon-weight), "GRAD" var(--icon-grade), "opsz" var(--icon-opsz);font-family:Material Symbols Outlined Filled}.control-reset{color:inherit;font:inherit;line-height:inherit;background:0 0;border:0;padding:0}.dialog-surface{border:1px solid color-mix(in oklch, var(--surface-panel) 18%, transparent);background:var(--surface-panel);box-shadow:var(--shadow-popover);color:var(--content-primary);font:inherit;border-radius:.35rem;padding:0;position:relative}.dialog-surface::backdrop{background:var(--overlay-backdrop)}.dialog-form{gap:1rem;padding:1rem;display:grid}.dialog-title{font-size:var(--text-base);margin:0}.dialog-field{font-size:var(--text-sm);gap:.35rem;display:grid}.dialog-field input,.dialog-field textarea{box-sizing:border-box;border:1px solid color-mix(in oklch, var(--surface-panel) 18%, transparent);inline-size:100%;font:inherit;border-radius:.25rem;padding:.5rem}.dialog-actions{justify-content:end;gap:.5rem;display:flex}.dialog-actions .btn{padding:.35rem .75rem}.sidebar-settings-dialog-close{block-size:2rem;inline-size:2rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid;position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem}.sidebar-settings-dialog-close:where(:hover,:focus-visible){background:color-mix(in oklch, var(--content-primary) 10%, transparent);outline:none}.app-session-expired-dialog{inline-size:min(24rem,100dvi - 2rem)}.close{--close-visual-size:var(--close-rest-size);--close-bar-inline-size:var(--close-visual-size);--close-bar-block-size:100%;--close-shield-inline-size:var(--close-inline-size);--close-shield-block-size:100%;--close-dots-image:none;--close-dots-width:auto;--close-dots-height:auto;--arrow-size:2.5px;--arrow-gap:3px;--close-inset-line-color:var(--content-primary);--arrows-line-color:oklch(from var(--close-inset-line-color) l c h / .4);width:var(--close-inline-size);will-change:transform;pointer-events:auto;-webkit-user-select:none;user-select:none;background-color:#0000;justify-content:center;align-items:center;height:100%;display:flex;overflow:visible;transform:translateZ(0)}.close:before{content:"";z-index:var(--z-base);inline-size:var(--close-shield-inline-size);block-size:var(--close-shield-block-size);pointer-events:auto;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.close:where(:hover,:focus-visible,.is-dragging){--close-visual-size:var(--close-inline-size)}.close:where(:hover,:focus-visible,.is-dragging) .arrows{opacity:1}.close-bar{z-index:var(--z-base);width:var(--close-bar-inline-size);height:var(--close-bar-block-size);background:var(--line-strong);background-image:var(--close-dots-image);background-position:50%;background-size:var(--close-dots-width) var(--close-dots-height);transition:width var(--motion-standard) var(--ease-standard), height var(--motion-standard) var(--ease-standard), box-shadow var(--motion-standard) var(--ease-standard);background-repeat:no-repeat;justify-content:center;align-items:center;display:flex;position:relative;overflow:clip}.arrows{justify-content:center;align-items:center;gap:var(--arrow-gap);z-index:var(--z-base);border-style:solid;border-color:var(--arrows-line-color);opacity:0;color:var(--surface-white);transition:opacity var(--motion-standard) var(--ease-standard);display:flex;position:relative}.close-vertical .close-bar{width:var(--close-bar-inline-size);height:100%;box-shadow:var(--shadow-close-vertical)}.close-vertical .arrow-start{border-top:var(--arrow-size) solid transparent;border-bottom:var(--arrow-size) solid transparent;border-right:calc(var(--arrow-size) + 2px) solid currentColor}.close-vertical .arrow-end{border-top:var(--arrow-size) solid transparent;border-bottom:var(--arrow-size) solid transparent;border-left:calc(var(--arrow-size) + 2px) solid currentColor}.close-horizontal{--close-shield-inline-size:100%;--close-shield-block-size:var(--close-inline-size)}.close-horizontal .close-bar{width:100%;height:var(--close-bar-block-size);box-shadow:var(--shadow-close-horizontal)}.close-horizontal .arrows{flex-direction:column}.close-horizontal .arrow-start{border-right:var(--arrow-size) solid transparent;border-left:var(--arrow-size) solid transparent;border-bottom:calc(var(--arrow-size) + 2px) solid currentColor}.close-horizontal .arrow-end{border-right:var(--arrow-size) solid transparent;border-left:var(--arrow-size) solid transparent;border-top:calc(var(--arrow-size) + 2px) solid currentColor}.arrow{width:0;height:0;display:block}.app-skip-link{z-index:var(--z-overlay);padding:var(--space-2) var(--space-3);border:2px solid var(--brand-on-fill);border-radius:var(--radius-1);background:var(--brand-fill);color:var(--brand-on-fill);font-family:var(--label-font);font-size:var(--text-sm);translate:0 calc(-100% - var(--space-3));transition:translate var(--motion-fast) var(--ease-standard);text-decoration:none;position:fixed;inset-block-start:var(--space-2);inset-inline-start:var(--space-2)}.app-skip-link:focus{translate:0}html,body{background:var(--global-bg);inline-size:100%}html{--close-collapsed-size:8px;--close-handle-open-size:8px;--app-social-rail-default-width:250px;--app-social-rail-min-width:96px;--app-social-rail-max-width:480px;--app-social-rail-max-share:.48;min-block-size:100%;min-inline-size:100%;overflow:auto hidden}body{isolation:isolate;min-height:100svh;min-inline-size:280px;max-height:100svh;color:var(--content-primary);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"header""main""footer";margin:0;display:grid;overflow:hidden}body:before{content:"";z-index:var(--z-below);background:var(--global-bg);pointer-events:none;position:fixed;inset:0}.app-main{inline-size:100%;min-height:0;background:var(--global-bg);grid-area:main;min-inline-size:0;display:flex;overflow:hidden}:where(){animation:none}.browser-support-gate{display:none}html[data-browser-supported=checking] [data-app-content],html[data-public-fonts=loading] [data-app-content]{visibility:hidden}html[data-browser-supported=unsupported] body{background:var(--browser-gate-background);min-block-size:100dvh;max-block-size:none;color:var(--browser-gate-text);place-items:center;padding:1.5rem;display:grid;overflow:auto}html[data-browser-supported=unsupported] [data-app-content]{display:none}html[data-browser-supported=unsupported] .browser-support-gate,.browser-support-noscript{place-items:center;min-block-size:100dvh;inline-size:100%;display:grid}.browser-support-card{border:1px solid var(--browser-gate-card-border);background:var(--browser-gate-card-fill);inline-size:min(100%,31rem);box-shadow:var(--browser-gate-shadow);color:inherit;border-radius:.55rem;justify-items:start;gap:.75rem;padding:2rem;font-family:system-ui,sans-serif;display:grid}.browser-support-card img{block-size:auto;inline-size:2.625rem}.browser-support-card h1{font-family:Georgia,serif;font-size:var(--text-3xl);font-weight:400;line-height:1.05}.browser-support-card p{font-size:var(--text-base);padding:0;line-height:1.55}.browser-support-card strong{font-weight:700}.browser-support-kicker{color:var(--browser-gate-kicker-color);padding:0;font-weight:700}:root{--app-header-block-size:2.375rem}.novelist-beta-badge{border:1px solid color-mix(in oklch, var(--brand-on-fill) 52%, transparent);border-radius:var(--radius-round);background:color-mix(in oklch, var(--brand-on-fill) 18%, transparent);color:var(--brand-on-fill);font-family:var(--label-font);font-size:var(--text-badge);letter-spacing:.16em;text-transform:uppercase;flex:none;align-items:center;margin-block-start:-.125rem;padding-block:.0625rem;padding-inline:.325rem;font-weight:400;line-height:1.15;display:inline-flex}.app-chrome-icon-button,.app-panel-toggle{block-size:1.75rem;inline-size:1.75rem;min-inline-size:1.75rem;color:var(--brand-on-fill);place-items:center;padding:0;display:grid}.app-header{block-size:var(--app-header-block-size);min-block-size:var(--app-header-block-size);flex-direction:row;align-items:center;gap:.5rem;padding-block:.5rem}.app-header .novelist-logo{font-family:var(--logo-font);align-items:center;gap:.175rem;padding-inline-end:.325rem;font-style:normal;font-weight:300;text-decoration:none;display:flex}.app-header .novelist-logo img{align-self:normal;height:1.25rem;margin-inline-end:.5rem}.app-header .novelist-wordmark-wrap{align-items:flex-start;gap:var(--space-1);block-size:100%;display:inline-flex;position:relative}.app-header .novelist-wordmark{font-size:var(--text-lg);letter-spacing:.025em;align-items:flex-end;margin-top:-.175rem;display:inline-flex}.app-header .novelist-slogan{opacity:.9;font-family:var(--display-font);font-size:var(--text-xs);justify-self:flex-start;margin:0;font-style:italic;font-weight:300}.app-header .app-nav{flex:none;justify-content:flex-end;align-items:center;min-inline-size:max-content;margin-inline-start:auto;display:flex;position:relative;overflow:visible}.app-header ul{flex-direction:row;gap:.35rem;min-inline-size:max-content;list-style:none;display:flex;overflow:visible}.app-header li{padding-inline:.35rem}.app-header a{font-size:var(--text-xs)}.app-header .app-auth-actions a[aria-current=page]{border-color:var(--brand-on-fill);background:var(--brand-on-fill);color:var(--content-primary)}.app-header .app-auth-actions a{padding-block:.25rem;padding-inline:.95rem}.app-header .app-auth-actions .btn{background:color-mix(in oklch, var(--brand-on-fill) 16%, transparent);color:var(--brand-on-fill)}.app-header .app-auth-actions .btn-primary{border-color:var(--brand-on-fill);background:var(--brand-on-fill);color:var(--content-primary)}.app-header .app-auth-actions .btn-primary:where(:hover,:focus-visible){border-color:var(--button-primary-hover-border);background:var(--brand-on-fill);color:var(--content-primary)}.app-header-inner{display:contents}.app-auth-actions{--button-border:color-mix(in oklch, var(--brand-on-fill) 32%, transparent);--button-hover-border:color-mix(in oklch, var(--brand-on-fill) 62%, transparent);--button-hover-ring-color:color-mix(in oklch, var(--brand-on-fill) 24%, transparent);--button-primary-hover-border:var(--brand-on-fill);--button-primary-hover-ring-color:color-mix(in oklch, var(--brand-on-fill) 28%, transparent);flex:none;align-items:center;gap:.4rem;margin-left:auto;display:flex}.app-auth-actions a{min-block-size:1.75rem;font-size:var(--text-xs);padding-block:.25rem;padding-inline:.95rem}.app-menu{z-index:var(--z-base);flex:none;align-items:center;margin-inline-start:.25rem;display:flex;position:relative}.app-menu-solo{margin-inline-start:auto}.app-menu-button{border-color:color-mix(in oklch, var(--brand-on-fill) 32%, transparent);background:color-mix(in oklch, var(--brand-on-fill) 16%, transparent)}.app-menu-button:hover,.app-menu-button:focus-visible{border-color:color-mix(in oklch, var(--brand-on-fill) 62%, transparent);background:color-mix(in oklch, var(--brand-on-fill) 24%, transparent)}.app-account-button{border-radius:50%;place-items:center;display:grid;overflow:clip}.app-account-button:hover,.app-account-button:active{border-color:color-mix(in oklch, var(--brand-on-fill) 32%, transparent);background:color-mix(in oklch, var(--brand-on-fill) 16%, transparent)}:is(.app-account-button:hover,.app-account-button:active):before{content:none}.app-account-button:focus-visible{border-color:color-mix(in oklch, var(--brand-on-fill) 48%, transparent);background:color-mix(in oklch, var(--brand-on-fill) 19%, transparent)}.app-account-button img{width:100%;height:100%;object-fit:cover;object-position:center;block-size:100%;inline-size:100%;max-inline-size:none;margin:0;display:block;position:absolute;inset:0}.app-account-fallback{width:100%;height:100%;border-radius:inherit;block-size:100%;inline-size:100%;font-size:var(--text-xs);place-items:center;font-weight:400;display:grid}.app-menu-panel{z-index:var(--z-overlay);inline-size:15rem;max-inline-size:min(15rem, calc(100dvi - var(--space-4)));padding:var(--space-1);border:1px solid var(--line-subtle);background:var(--surface-auto-raised,var(--surface-panel));box-shadow:var(--shadow-popover);opacity:1;color:var(--content-primary);transition:opacity var(--motion-fast) var(--ease-standard), translate var(--motion-fast) var(--ease-standard);transition-behavior:allow-discrete;border-radius:.45rem;gap:.25rem;display:grid;position:absolute;inset-block-start:calc(100% + .45rem);inset-inline-end:0;translate:0}.app-menu-panel[hidden]{opacity:0;display:none;translate:0 -.2rem}.app-menu-panel a,.app-menu-panel button{padding:var(--space-1) var(--space-2);color:var(--content-primary);text-align:start;text-transform:none;background:0 0;border:0;justify-content:start;align-items:center;gap:.55rem;display:grid}:is(.app-menu-panel a,.app-menu-panel button):hover,:is(.app-menu-panel a,.app-menu-panel button):focus-visible{outline:1px solid var(--line-focus);background:var(--surface-control-hover);color:var(--content-primary)}.app-menu-panel a,.app-menu-panel button{grid-template-columns:minmax(0,1fr);inline-size:100%;text-decoration:none}.app-menu-panel a,.app-menu-panel form button{padding:var(--space-1) var(--space-2);line-height:var(--leading-tight);text-align:start;display:block}.app-menu-panel form button{margin-block-start:calc(var(--space-1) / 2)}@starting-style{.app-menu-panel:not([hidden]){opacity:0;translate:0 -.2rem}}@media (prefers-reduced-motion:reduce){.app-menu-panel{transition:none}}.app-menu-summary{padding:.375rem var(--space-1);color:var(--content-secondary);font-size:var(--text-xs);line-height:var(--leading-tight);gap:.1rem;display:grid}.app-menu-summary span,.app-menu-summary strong{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;font-size:var(--text-xs);line-height:var(--leading-tight);overflow:clip}.app-menu-summary strong{color:var(--content-primary);font-weight:400}.app-menu-divider{block-size:1px;margin-block:calc(var(--space-1) / 4);background:var(--line-subtle)}.app-panel-toggles{z-index:var(--z-base);flex:none;align-items:center;gap:.25rem;margin-inline-start:.25rem;display:flex;position:relative}.app-panel-toggle{border-color:color-mix(in oklch, var(--brand-on-fill) 32%, transparent);background:color-mix(in oklch, var(--brand-on-fill) 16%, transparent)}.app-panel-toggle:hover,.app-panel-toggle:focus-visible{border-color:color-mix(in oklch, var(--brand-on-fill) 62%, transparent);background:color-mix(in oklch, var(--brand-on-fill) 24%, transparent)}.app-panel-toggle:active{border-color:color-mix(in oklch, var(--brand-on-fill) 58%, transparent);background:color-mix(in oklch, var(--brand-on-fill) 28%, transparent)}.app-panel-toggle .icon-sidebar{transform:rotate(90deg)}.app-panel-toggle .icon-minimap{transform:rotate(-90deg)}@media (width<=760px){.app-header{gap:.375rem}.app-header .novelist-logo img{height:1.1rem;margin-inline-end:.25rem}.app-header .novelist-beta-badge{display:none}.app-panel-toggles{margin-left:auto}}@media (width<=430px){.app-header{gap:.25rem;padding-inline:.35rem}.app-header .novelist-logo{padding-inline-end:0}.app-header .novelist-logo img{height:1rem;margin-inline-end:0}.app-header .novelist-wordmark-wrap{display:none}.app-panel-toggles{gap:.175rem}.app-menu-button,.app-panel-toggle{block-size:1.55rem;inline-size:1.55rem;min-inline-size:1.55rem}.app-menu-panel{max-inline-size:min(15rem,100dvi - .7rem)}}@media (width<=320px){.app-header{padding-inline:.25rem}.app-panel-toggles{gap:.125rem}.app-menu-button,.app-panel-toggle{block-size:1.45rem;inline-size:1.45rem;min-inline-size:1.45rem}}.novelist-dev-pill{z-index:var(--z-modal);border:1px solid color-mix(in oklch, var(--content-primary) 72%, transparent);border-radius:var(--radius-round);background:color-mix(in oklch, var(--content-primary) 92%, transparent);min-block-size:1.5rem;inline-size:max-content;color:var(--brand-on-fill);justify-content:center;align-items:center;padding-block:.125rem;padding-inline:.5rem;line-height:1;display:inline-flex;position:fixed;inset-block-end:max(.75rem, env(safe-area-inset-bottom));inset-inline-start:max(.75rem, env(safe-area-inset-left))}body[data-studio-route=true]>.novelist-dev-pill{display:none}.novelist-dev-pill:is(:hover,:focus-visible,.is-active){border-color:var(--content-primary);background:var(--content-primary)}:root[data-dev-touch-simulation=true] .novelist-dev-pill{border-color:color-mix(in oklch, var(--status-danger) 72%, transparent);background:var(--status-danger)}:root[data-dev-touch-simulation=true] .novelist-dev-pill:is(:hover,:focus-visible,.is-active){border-color:var(--status-danger);background:color-mix(in oklch, var(--status-danger) 88%, var(--content-primary))}.document-panel>.novelist-dev-pill{z-index:var(--studio-dev-pill-z-index,var(--z-modal));position:absolute;inset-block-end:var(--studio-dev-pill-inset-block-end,max(.75rem, env(safe-area-inset-bottom)));inset-inline-start:max(.75rem, env(safe-area-inset-left));inset-inline-end:auto}.document-panel.tools-open{--studio-dev-pill-inset-block-end:calc(max(.75rem, env(safe-area-inset-bottom)) + var(--editor-toolbar-button-size) + .32rem);--studio-dev-pill-z-index:calc(var(--z-modal) + 1)}.document-panel.tools-open>.novelist-dev-pill{z-index:var(--studio-dev-pill-z-index);inset-block-end:var(--studio-dev-pill-inset-block-end)}.studio-main.is-editor-chrome-collapsed{--studio-dev-pill-inset-block-end:max(.75rem, env(safe-area-inset-bottom));--studio-dev-pill-z-index:var(--z-modal)}.app-dev-console{z-index:var(--z-modal);inline-size:min(28rem,100dvi - 1.5rem);max-block-size:min(42rem, calc(100dvh - var(--app-header-block-size) - 1.5rem));border:1px solid color-mix(in oklch, var(--line-subtle) 82%, transparent);border-radius:var(--radius-3);background:color-mix(in oklch, var(--surface-panel) 96%, transparent);box-shadow:var(--shadow-lg);color:var(--content-primary);gap:.75rem;padding:.875rem;display:grid;position:fixed;inset-block-start:calc(var(--app-header-block-size) + .5rem);inset-inline-end:.75rem;overflow:auto}.app-dev-console[hidden]{display:none}.app-dev-console-head{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.app-dev-console-head :where(a,button,input,select,textarea){cursor:auto}:where(.app-dev-console-head h2,.app-dev-console-kicker,.app-dev-console-preview,.app-dev-section-title){margin:0}.app-dev-console-head h2{font-size:var(--text-lg);line-height:1.1}.app-dev-console-kicker{color:var(--content-secondary)}.app-dev-console-close{place-items:center;block-size:1.75rem;inline-size:1.75rem;padding:0;display:grid}.app-dev-console-section{gap:.625rem;display:grid}.app-dev-primary-section{border-bottom:1px solid var(--line-subtle);padding-block-end:.75rem}.app-dev-section-title{color:var(--content-secondary);font-family:var(--label-font);font-size:var(--text-sm);align-items:center;gap:.35rem;line-height:1.2;display:inline-flex}.app-dev-console-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.app-dev-console-metrics div{border:1px solid var(--line-subtle);border-radius:var(--radius-1);background:var(--surface-muted);grid-template-columns:minmax(0,1fr) auto;gap:.25rem;min-inline-size:0;padding:.5rem;display:grid;position:relative}.app-dev-console-metrics dt{color:var(--content-secondary);grid-column:1}.app-dev-console-metrics dd{grid-column:1/-1;margin:0}:where(.app-dev-console-metrics dd,.app-dev-console-trace,.app-dev-console-preview,.app-dev-console-nearby){font-family:Menlo,Consolas,Liberation Mono,monospace;font-size:var(--text-xs);overflow-wrap:anywhere}.app-dev-console-trace{gap:.375rem;max-block-size:7rem;margin:0;padding-inline-start:1.25rem;display:grid;overflow:auto}.app-dev-console-preview{border-radius:var(--radius-1);background:var(--surface-muted);padding:.5rem}.app-dev-console-controls{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.5rem;display:grid}.app-dev-console-command{border:1px solid var(--line-subtle);border-radius:var(--radius-1);background:var(--surface-muted);min-block-size:1.75rem;inline-size:100%;color:var(--content-primary);text-align:start;grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:.35rem;padding-block:.25rem;padding-inline:.625rem;font-weight:600;line-height:1.2;text-decoration:none;display:grid}.app-dev-console-command:is(:hover,:focus-visible){border-color:color-mix(in oklch, var(--brand-fill) 68%, var(--line-subtle));background:color-mix(in oklch, var(--brand-fill) 16%, var(--surface-muted))}.app-dev-console-command>span:first-child{overflow-wrap:anywhere;min-inline-size:0}.app-dev-console-command:nth-child(odd)>span:last-child:after{inset-inline:0 auto}.app-dev-console-toggle[aria-pressed=true]{border-color:var(--brand-fill);background:var(--brand-fill);box-shadow:var(--shadow-active);color:var(--brand-on-fill)}.app-dev-console-toggle[aria-pressed=true]>span:last-child{border-color:color-mix(in oklch, var(--brand-on-fill) 72%, transparent);color:var(--brand-on-fill)}.app-dev-console-info{border:1px solid color-mix(in oklch, var(--content-secondary) 68%, transparent);border-radius:var(--radius-round);min-block-size:1rem;min-inline-size:1rem;color:var(--content-secondary);place-items:center;display:inline-grid;position:relative}.app-dev-console-info:after{content:attr(aria-label);z-index:calc(var(--z-modal) + 1);opacity:0;border:1px solid var(--line-subtle);background:var(--surface-panel);inline-size:max-content;max-inline-size:10rem;box-shadow:var(--shadow-popover);color:var(--content-primary);text-align:start;text-transform:none;white-space:normal;pointer-events:none;padding:.4rem .5rem;font-weight:500;line-height:1.25;position:absolute;inset-block-end:calc(100% + .35rem);inset-inline-end:0}.app-dev-console-info:is(:hover,:focus-visible):after{opacity:1}.app-dev-primary-section .app-dev-console-info:after{inset-block:calc(100% + .35rem) auto}.app-dev-section-title .app-dev-console-info:after,.app-dev-console-metrics div:nth-child(odd) .app-dev-console-info:after{inset-inline:0 auto}.app-dev-console-nearby{gap:.375rem;max-block-size:8rem;margin:0;padding-inline-start:1.25rem;display:grid;overflow:auto}.dev-vblock-overlay{z-index:calc(var(--z-overlay) + 1);pointer-events:none;position:absolute;inset:0}.dev-vblock-outline{border:1px solid color-mix(in oklch, var(--brand-fill) 76%, transparent);background:color-mix(in oklch, var(--brand-fill) 8%, transparent);position:absolute;inset-block-start:0;inset-inline-start:0}.dev-vblock-outline.dev-vblock-outline-caret{border-color:color-mix(in oklch, var(--status-danger) 82%, transparent);background:color-mix(in oklch, var(--status-danger) 12%, transparent)}.dev-vblock-outline.dev-vblock-outline-cold{opacity:.68;border-style:dashed}.app-footer{justify-content:space-between;gap:var(--space-3)}.footer-links{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;min-inline-size:0;display:flex}.footer-links a{opacity:.82;font-family:var(--label-font);font-size:var(--text-xs);letter-spacing:.12em;transition:opacity var(--motion-fast) var(--ease-standard)}.footer-links a:is(:hover,:focus-visible){opacity:1}.footer-links .footer-version{color:color-mix(in oklch, var(--content-primary) 46%, transparent);font-size:var(--text-2xs);letter-spacing:.08em}@media (width<=34rem){.app-footer{flex-direction:column;align-items:flex-start}.footer-links{justify-content:flex-start}}.app-footer{padding-block:.375rem;padding-inline:var(--standard-padding);background:var(--content-primary);color:var(--brand-on-fill);font-size:var(--text-xs);grid-area:footer;align-items:center;display:flex;position:relative}.app-footer a,.app-footer p,.app-footer .novelist-slogan{color:var(--brand-on-fill);padding:0;text-decoration:none}.app-footer:before{content:none}.app-header{padding-inline:var(--standard-padding);background:var(--content-primary);color:var(--brand-on-fill);display:flex;position:relative}.app-header a,.app-header p,.app-header .novelist-slogan{color:var(--brand-on-fill);padding:0;text-decoration:none}.app-header:before{content:none}.app-header{z-index:var(--z-overlay);box-shadow:var(--shadow-header);grid-area:header}.app-header .app-menu-panel{color:var(--content-primary)}.app-header .app-menu-panel :is(a,button){color:var(--content-primary)}.app-header .app-menu-panel :is(a,button):visited,.app-header .app-menu-panel :is(a,button):hover,.app-header .app-menu-panel :is(a,button):focus-visible{color:var(--content-primary)}.app-header .app-menu-panel :is(a[role=menuitem],button[role=menuitem]){padding-block:var(--space-1);padding-inline:var(--space-2);line-height:var(--leading-tight);text-align:start;display:block}.app-header .app-menu-panel form button[role=menuitem]{margin-block-start:calc(var(--space-1) / 2)}.app-header .app-nav ul{align-items:center;gap:0}.app-header .app-nav li{padding-inline:.35rem}.app-header .app-nav a{opacity:.42;color:var(--brand-on-fill);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;transition:opacity .4s var(--ease-standard);padding-block:.35rem .55rem;padding-inline:0;text-decoration:none;display:block;position:relative}.app-header .app-nav a:hover,.app-header .app-nav a:focus-visible{opacity:.72}.app-header .app-nav a[aria-current=page]{opacity:1}.app-header .novelist-slogan{font-style:italic}:where([data-novelist-theme=dark]) .app-header .app-auth-actions .btn.btn-primary{color:var(--palette-base)}.app-nav-line{background:var(--brand-fill);opacity:0;transform-origin:0;block-size:2px;inline-size:1px;transition:transform .45s var(--ease-standard), opacity .2s var(--ease-standard);position:absolute;inset-block-end:0;inset-inline-start:0;transform:translate(0,0)scaleX(0)}.app-nav:not([data-app-route-nav-ready=true]) .app-nav-line{transition:none}@media (width<=760px){.app-header .novelist-slogan{display:none}.app-header a{font-size:var(--text-xs)}}@media (width<=430px){.app-header{padding-inline:.35rem}.app-header .novelist-logo{padding-inline-end:0}.app-header .novelist-logo img{height:1rem;margin-inline-end:0}.app-header .novelist-wordmark-wrap{display:none}}@media (width<=320px){.app-header{padding-inline:.25rem}}}@layer layout{.flow>:where(:not(:first-child)){margin-block-start:var(--flow-space,var(--space-4))}.cluster{align-items:var(--cluster-align,center);justify-content:var(--cluster-justify,flex-start);gap:var(--cluster-gap,var(--space-3));flex-wrap:wrap;display:flex}.repel{align-items:var(--repel-align,center);justify-content:space-between;gap:var(--repel-gap,var(--space-3));flex-wrap:wrap;display:flex}.grid-auto-fit,.card-grid{grid-template-columns:repeat(auto-fit, minmax(min(var(--grid-min,14rem), 100%), 1fr));gap:var(--grid-gap,var(--space-4));display:grid}.content-grid{grid-template-columns:minmax(var(--content-gutter,var(--space-4)), 1fr) minmax(0, min(var(--content-max,72rem), calc(100% - (var(--content-gutter,var(--space-4)) * 2)))) minmax(var(--content-gutter,var(--space-4)), 1fr);display:grid}.content-grid>*{grid-column:2}.center{place-items:center;display:grid}.switcher{gap:var(--switcher-gap,var(--space-3));flex-wrap:wrap;display:flex}.switcher>*{flex-grow:1;flex-basis:calc((var(--switcher-threshold,30rem) - 100%) * 999)}.scroll-x{gap:var(--scroll-gap,var(--space-3));overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;display:flex;overflow-x:auto}.scroll-x>*{scroll-snap-align:start;flex:none}.scroll-y{--scroll-y-affordance-size:1rem;--scroll-y-affordance-shadow-size:.55rem;--scroll-y-affordance-top:top;--scroll-y-affordance-bottom:bottom;overscroll-behavior-block:contain;scrollbar-gutter:stable;background-attachment:local,local,scroll,scroll;background-image:linear-gradient(var(--scroll-affordance-surface) 30%, transparent), linear-gradient(transparent, var(--scroll-affordance-surface) 70%), radial-gradient(farthest-side at 50% 0, var(--scroll-affordance-shadow), transparent), radial-gradient(farthest-side at 50% 100%, var(--scroll-affordance-shadow), transparent);background-position:var(--scroll-y-affordance-top), var(--scroll-y-affordance-bottom), var(--scroll-y-affordance-top), var(--scroll-y-affordance-bottom);background-repeat:no-repeat;background-size:100% var(--scroll-y-affordance-size), 100% var(--scroll-y-affordance-size), 100% var(--scroll-y-affordance-shadow-size), 100% var(--scroll-y-affordance-shadow-size);overflow:clip auto}.scroll-inline-contained{overscroll-behavior-inline:contain;scrollbar-gutter:stable;overflow:auto clip}.scroll-contained{overscroll-behavior:contain;scrollbar-gutter:stable;overflow:auto}.clip-box{overflow:clip}@supports (content-visibility:auto){.deferred-render-region{content-visibility:auto;contain-intrinsic-size:auto var(--deferred-render-inline-size,none) auto var(--deferred-render-block-size,20rem)}}}@layer utilities{.visually-hidden{white-space:nowrap;clip:rect(0 0 0 0);border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:clip}.truncate{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:clip}.icon-sm{--icon-size:1rem;block-size:1rem;inline-size:1rem}.label-caps{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.type-display{font-family:var(--display-font);font-style:normal;font-weight:300}.type-label{font-family:var(--label-font);text-transform:uppercase;font-weight:200}.type-kicker{color:var(--brand-fill);font-size:var(--text-sm);letter-spacing:.16em}.type-label-xs{font-size:var(--text-xs);letter-spacing:.12em}.type-label-sm{font-size:var(--text-sm);letter-spacing:.12em}.type-badge-label{font-family:var(--label-font);font-size:var(--text-badge);letter-spacing:0;text-transform:uppercase;font-weight:600}.type-plain-sm{font-size:var(--text-sm);letter-spacing:0;text-transform:none}:where(.pricing-hero p:not(.pricing-kicker),.pricing-discount,.plan-card span,.plan-yearly,.studio-document-empty-content p),:where(.public-hero p:not(.public-kicker),.public-note,.public-content p,.faq-group p,.faq-group li){color:var(--content-secondary);font-size:var(--text-base);margin:0}:where(.pricing-hero p:not(.pricing-kicker),.pricing-discount,.plan-card span,.plan-yearly),:where(.public-hero p:not(.public-kicker),.public-note,.public-content p,.faq-group p,.faq-group li){line-height:var(--leading-normal)}:where(.studio-format-slider-scale,.studio-format-slider-value){font-family:var(--ui-font);font-variant-numeric:tabular-nums;line-height:1}:where(.app-dev-console-info,.editor-font-family-menu button,.editor-font-size-menu button,.review-change-group-count,.studio-format-slider-value,.studio-format-slider-reset,.label){font-size:var(--text-xs);font-weight:700;line-height:1}:where(.app-dev-console-info,.canvas-large-operation-cancel){font-family:var(--label-font);font-size:var(--text-xs);text-transform:none}:where(.app-dev-console-command,.public-content kbd){border-radius:var(--radius-1);font-family:var(--label-font);font-size:var(--text-xs)}:where(.document-context-menu button,.font-control select,.font-size-control select){inline-size:100%;color:inherit;text-transform:none}:where(.card-primary-action){color:inherit;line-height:inherit;padding:0}:where(.auth-heading h1,.plan-card h2,.public-content h2,.faq-group h2){color:var(--content-primary);font-size:var(--text-2xl);line-height:var(--leading-tight);margin:0}:where(.studio-page-placement-handle,.studio-page-ruler-handle,.vertical-ruler-handle){color:var(--ruler-handle-color);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;padding:0}.icon-button{--icon-size:var(--icon-button-icon-size,1rem);inline-size:var(--icon-button-size,2rem);block-size:var(--icon-button-size,2rem);place-items:center;padding:0;display:inline-grid}.surface{border:1px solid var(--surface-border,var(--line-subtle));border-radius:var(--surface-radius,var(--radius-3));background:var(--surface-fill,var(--surface-panel));box-shadow:var(--surface-shadow,none)}:where(a[href],button,.btn,input,textarea,select,summary,[tabindex]:not([tabindex="-1"],[data-canvas-editor-root])):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}:where(input,textarea):focus-visible{outline-offset:var(--input-focus-outline-offset)}.text-balance{text-wrap:balance}:where(.studio-find-form button:hover,.studio-find-form button:focus-visible,.studio-format-slider-reset:not(:disabled):hover,.studio-format-slider-reset:not(:disabled):focus-visible,.studio-icon-control-button:where(:hover,:focus-visible,.is-active)){background:var(--surface-control-hover);color:var(--content-primary)}:where(.document-context-menu-title,.document-context-menu-message,.document-proofing-menu-empty,.document-context-menu-diagnostics,.studio-page-format-option){font-size:var(--text-xs);letter-spacing:0;text-transform:none}:where(.studio-format-dialog,.editor-block-style-menu,.editor-inline-style-menu,.editor-justify-menu,.editor-list-menu){font-family:var(--controls-font);font-weight:var(--normal-weight);letter-spacing:0}:where(.studio-page-format-option,.editor-list-menu button,.editor-justify-menu button){font-size:var(--text-xs);padding-block:.42rem;padding-inline:.5rem}:where(.settings-nav button,.settings-style-list button,.settings-field :where(input,select,textarea),.settings-recommendation){border-radius:var(--radius-1);padding-block:.65rem;padding-inline:.75rem}@media (forced-colors:active){:where(a[href],button,.btn,input,textarea,select,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline-color:var(--focus-ring-forced-color);box-shadow:none}:where(input,textarea):focus-visible{outline-offset:var(--input-focus-outline-offset)}}}@layer components{body[data-page-public=true]{--public-content-max:64rem;--public-gutter:clamp(var(--space-5), 5vw, 5rem);--public-header-block-size:4.75rem;--public-texture-noise-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.84' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='0.07' filter='url(%23n)'/%3E%3C/svg%3E");--public-texture-background:var(--public-texture-noise-image) center / 320px 320px repeat, radial-gradient(circle at 18% 0%, color-mix(in oklch, var(--surface-panel) 54%, transparent) 0, transparent 38rem) center / auto no-repeat, linear-gradient(180deg, var(--global-bg) 0%, color-mix(in oklch, var(--global-bg) 88%, var(--surface-control-hover)) 52%, var(--global-bg) 100%) center / auto no-repeat;--home-content-max:var(--public-content-max);--home-gutter:var(--public-gutter);--home-header-block-size:var(--public-header-block-size);max-height:none;overflow:visible}body[data-page-public=true]:before{background:var(--public-texture-background)}html[data-page-public=true]{overflow-y:auto}.app-main.public-main{background:0 0;flex-direction:column;display:flex;overflow:visible}.app-main.public-main>.app-footer{flex:none;inline-size:100%;margin-block-start:auto}body[data-page-public=true] .app-header{block-size:auto;min-block-size:var(--public-header-block-size);box-shadow:none;padding:0}body[data-page-public=true] .app-header:after{content:"";background:linear-gradient(to right, transparent, color-mix(in oklch, var(--brand-on-fill) 24%, transparent), transparent);block-size:1px;position:absolute;inset-block-end:0;inset-inline:0}body[data-page-public=true] .app-header-inner{align-items:center;gap:var(--space-2);inline-size:100%;min-inline-size:0;padding-block:var(--space-4);padding-inline:max(var(--public-gutter), calc((100% - var(--public-content-max)) / 2));display:flex}body[data-page-public=true] .app-footer{padding-block:var(--space-4);padding-inline:max(var(--public-gutter), calc((100% - var(--public-content-max)) / 2))}:where(.public-page,.pricing-page){overflow:visible}@media (forced-colors:active){body[data-page-public=true]:before{background:var(--global-bg)}}@media (width<=52rem){body[data-page-public=true]{--public-header-block-size:4.25rem}body[data-page-public=true] .novelist-slogan{display:none}body[data-page-public=true] .app-header-inner{padding-block:var(--space-3)}}@media (width<=42rem){body[data-page-public=true]{--public-gutter:var(--space-4)}body[data-page-public=true] .app-header .novelist-beta-badge{display:none}body[data-page-public=true] .app-header .app-auth-actions a{padding-inline:var(--space-3)}}@media (width<=23rem){body[data-page-public=true] .app-header .novelist-wordmark{font-size:var(--text-base)}body[data-page-public=true] .app-header .app-auth-actions{gap:var(--space-1)}body[data-page-public=true] .app-header .app-auth-actions a{padding-inline:var(--space-2)}}.settings-dialog{border-color:color-mix(in oklch, var(--line-strong) 82%, transparent);border-radius:var(--radius-2);background:var(--global-bg);block-size:min(90dvh,100dvh - 2rem);max-block-size:calc(100dvh - 2rem);inline-size:min(72rem,100dvi - 2rem);max-inline-size:calc(100dvi - 2rem);box-shadow:var(--shadow-lg);overflow:clip}.settings-dialog::backdrop{background:color-mix(in oklch, var(--overlay-backdrop) 82%, oklch(0% 0 0/.72))}.settings-shell{grid-template-rows:auto minmax(0,1fr);block-size:100%;display:grid}.settings-header{border-block-end:1px solid var(--line-default);background:var(--content-primary);color:var(--brand-on-fill);align-items:center;gap:1rem;padding-block:1.25rem;padding-inline:1.5rem;display:flex}.studio-app-settings-header{min-block-size:4.75rem;padding-block:.875rem;padding-inline:max(var(--standard-padding), 1.5rem);box-shadow:var(--shadow-header);border-block-end:0;justify-content:flex-start}.studio-app-settings-header .novelist-logo{color:var(--brand-on-fill);font-family:var(--logo-font);flex:none;align-items:center;gap:.175rem;padding-inline-end:.325rem;font-style:normal;font-weight:300;text-decoration:none;display:flex}.studio-app-settings-header .novelist-logo img{align-self:normal;height:1.25rem;margin-inline-end:.5rem}.studio-app-settings-header .novelist-wordmark-wrap{align-items:flex-start;gap:var(--space-1);block-size:100%;display:inline-flex;position:relative}.studio-app-settings-header .novelist-wordmark{color:var(--brand-on-fill);font-size:var(--text-lg);letter-spacing:.025em;align-items:flex-end;margin-top:-.175rem;display:inline-flex}.studio-app-settings-header .novelist-slogan{opacity:.9;color:var(--brand-on-fill);font-family:var(--display-font);font-size:var(--text-xs);margin:0;font-style:italic;font-weight:300}.studio-app-settings-header .settings-close{margin-inline-start:auto}.settings-close{border:1px solid color-mix(in oklch, var(--brand-on-fill) 18%, transparent);border-radius:var(--radius-1);background:color-mix(in oklch, var(--brand-on-fill) 10%, transparent);cursor:pointer}.settings-layout{grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);min-block-size:0;display:grid}.settings-sidebar{border-inline-end:1px solid var(--line-default);background:var(--surface-panel);grid-template-rows:auto minmax(0,1fr);min-block-size:0;display:grid}.settings-search{border-block-end:1px solid var(--line-default);background:var(--surface-muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.75rem;display:grid}.settings-search input{min-inline-size:0;color:var(--content-primary);font:inherit;background:0 0;border:0}.settings-search input:focus-visible{outline:none}.settings-nav{align-content:start;gap:.25rem;padding:.75rem;display:grid}.settings-nav button{inline-size:100%;color:var(--content-secondary);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;display:flex}.settings-nav button[aria-pressed=true]{background:color-mix(in oklch, var(--brand-fill) 22%, var(--surface-panel));color:var(--content-primary)}.settings-style-list{border-inline-end:1px solid var(--line-default);align-content:start;gap:.25rem;padding:0;display:grid}.settings-style-list button{inline-size:100%;color:var(--content-secondary);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;display:flex}.settings-style-list button[aria-pressed=true]{background:color-mix(in oklch, var(--brand-fill) 22%, var(--surface-panel));color:var(--content-primary)}:where(.settings-nav,.settings-style-list) button:where(:hover,:focus-visible){background:color-mix(in oklch, var(--brand-fill) 10%, transparent);color:var(--content-primary);outline:none}.settings-content{min-block-size:0;padding:1.5rem;overflow:auto}.settings-section{align-content:start;gap:1.25rem;display:grid}.settings-section[hidden]{display:none}.settings-section p{max-inline-size:60ch;color:var(--content-secondary);margin:0}.settings-style-controls{gap:1rem;min-inline-size:0;display:grid}.settings-style-controls h4{font-size:var(--text-lg);margin:0}.settings-section h3{font-size:var(--text-lg);margin:0}.settings-form{gap:1rem;display:grid}.settings-field{gap:.4rem;display:grid}.settings-field span{color:var(--content-secondary);font-size:var(--text-sm)}.settings-field :where(input,select,textarea){box-sizing:border-box;border:1px solid var(--line-strong);background:var(--surface-panel);inline-size:100%;color:var(--content-primary);font:inherit}.settings-fieldset{border:1px solid var(--line-default);border-radius:var(--radius-1);gap:.75rem;min-inline-size:0;margin:0;padding:1rem;display:grid}.settings-fieldset legend{color:var(--content-primary);font-size:var(--text-sm);padding-inline:.4rem;font-weight:600}.settings-check-field{color:var(--content-secondary);font-size:var(--text-sm);grid-template-columns:1rem minmax(0,1fr);align-items:center;column-gap:.6rem;display:grid}.settings-check-field input{block-size:1rem;inline-size:1rem;accent-color:var(--browser-accent-color);justify-self:start;margin:0}.settings-check-field label{color:var(--content-secondary);justify-self:start;line-height:1.35}.settings-recommendation{border:1px solid var(--line-default);background:color-mix(in oklch, var(--brand-fill) 8%, var(--surface-panel));color:var(--content-secondary);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.settings-recommendation .btn{min-block-size:2rem}.settings-actions{flex-wrap:wrap;justify-content:end;gap:.75rem;display:flex}.settings-account-card{border:1px solid var(--line-default);border-radius:var(--radius-2);background:var(--surface-panel);align-items:center;gap:.85rem;padding:1rem;display:flex}.settings-account-card strong,.settings-account-card p{margin:0;display:block}.settings-storage-status{border:1px solid var(--line-default);border-radius:var(--radius-2);background:var(--surface-panel);justify-items:start;gap:.65rem;padding:1rem;display:grid}.settings-storage-status p{margin:0}.settings-danger-zone{border-block-start:1px solid var(--line-default);margin-block-start:1rem;padding-block-start:1rem}.settings-danger-zone summary{color:var(--status-danger);cursor:pointer;font-weight:600}.settings-danger-zone>div{gap:1rem;padding-block-start:1rem;display:grid}.settings-danger-zone h4{font-size:var(--text-lg);margin:0}.account-status-notice{inline-size:min(calc(100% - 2 * var(--standard-padding)), 72rem);border-inline-start:3px solid var(--brand-fill);background:var(--surface-control-hover);color:var(--content-primary);margin:1rem auto 0;padding:.75rem 1rem}.settings-page-links ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.settings-page-links a{border:1px solid var(--line-default);border-radius:var(--radius-1);background:var(--surface-panel);min-block-size:3rem;color:var(--content-primary);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.75rem;text-decoration:none;display:grid}.settings-page-links a:where(:hover,:focus-visible){border-color:var(--line-strong);background:color-mix(in oklch, var(--brand-fill) 10%, var(--surface-panel))}.settings-page-links a .material-symbols-outlined:last-child{color:var(--content-secondary);font-size:var(--text-base)}.settings-style-editor{grid-template-columns:minmax(10rem,14rem) minmax(0,1fr);gap:1rem;display:grid}@media (width<=48rem){.settings-dialog{block-size:min(90dvh,100dvh - 1rem);inline-size:calc(100dvi - 1rem)}.settings-layout,.settings-style-editor{grid-template-columns:1fr}.settings-sidebar{border-inline-end:0;border-block-end:1px solid var(--line-default)}.studio-app-settings-header{min-block-size:4.25rem;padding-block:.75rem;padding-inline:max(var(--standard-padding), 1rem)}.settings-nav,.settings-style-list{grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.settings-style-list{border-inline-end:0}.settings-page-links ul{grid-template-columns:minmax(0,1fr)}}}@layer overrides{@media (hover:none) and (pointer:coarse){:where(input:not([type=hidden]),textarea,select){font-size:var(--text-base)}}}
