@import "writing-app-appearance-cnI4cnJ.css";
.document-workspace { --document-accent:var(--primary-text); --document-top:var(--header-height); isolation:isolate; }
.writing-focus .document-workspace { --document-top:0px; }
.document-workspace [hidden] { display:none!important; }
.document-heading { margin-bottom:12px; }
.document-navigation { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.document-identity { min-width:0; }
.document-back { display:inline-flex; align-items:center; gap:10px; min-height:44px; min-width:0; max-width:100%; padding:8px 12px; border:1px solid var(--document-accent); border-radius:8px; background:var(--sage); color:var(--document-accent); font-size:var(--text-base); font-weight:600; text-decoration:none; }
.document-back:hover { background:color-mix(in srgb,var(--document-accent) 15%,var(--paper)); }
.document-back .icon { flex:none; }
.document-back span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.document-heading h1 { display:inline; font-size:var(--text-title); margin:0; overflow-wrap:anywhere; }
.document-privacy { display:inline-flex; align-items:center; gap:6px; margin-left:16px; font-size:var(--text-small); color:var(--document-accent); }
.document-actions { display:flex; gap:10px; flex-shrink:0; }
.document-header-menu { position:relative; }
.document-header-menu > summary { display:flex; align-items:center; justify-content:center; width:44px; min-height:44px; padding:10px; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--document-accent); cursor:pointer; list-style:none; }
.document-header-menu > summary::-webkit-details-marker { display:none; }
.document-header-menu > summary:hover,.document-header-menu[open] > summary { background:var(--sage); border-color:var(--document-accent); }
.document-header-options { position:absolute; z-index:40; top:calc(100% + 8px); right:0; display:grid; gap:2px; width:max-content; min-width:200px; max-width:calc(100vw - 32px); padding:6px; border:1px solid var(--line); border-radius:10px; background:var(--paper); box-shadow:0 8px 24px color-mix(in srgb,var(--shadow-color) 12.5%,transparent); }
.document-header-options :is(a,button) { display:flex; align-items:center; gap:10px; width:100%; min-height:44px; padding:10px 12px; border:0; border-radius:6px; background:transparent; color:var(--ink); font:inherit; font-size:var(--text-base); font-weight:500; text-align:left; text-decoration:none; cursor:pointer; }
.document-header-options :is(a,button):hover { background:var(--sage); color:var(--document-accent); }
.document-header-options .icon { flex:none; width:1.2em; color:var(--document-accent); text-align:center; }
.document-workspace .button { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.document-workspace .button--forest { background:var(--primary); color:var(--primary-ink); border-color:var(--primary); }
.document-workspace .button:hover { translate:none; }
.document-workspace .button--forest:hover { background:var(--primary-hover); border-color:var(--primary-hover); color:var(--primary-hover-ink); }
.document-workspace > [data-draft-save-target=status] { font-size:var(--text-small); margin:0 12px 12px 0; color:var(--muted); }
.document-workspace .writing-save-detail { font-size:var(--text-small); margin:0 0 8px; }
.document-menu { display:flex; flex-wrap:wrap; align-items:center; gap:4px; padding:8px; background:var(--paper); border:1px solid var(--line); border-radius:12px; margin-bottom:24px; }
.document-menu :is(button,a.desktop-mode-entry,a.document-return),.document-icon,.document-link-list button { display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:8px 12px; background:transparent; color:var(--ink); border:0; border-radius:7px; font:inherit; font-size:var(--text-base); cursor:pointer; }
.document-menu :is(button,a.desktop-mode-entry,a.document-return):hover,.document-menu :is(button,a.desktop-mode-entry,a.document-return)[aria-expanded=true],.document-menu :is(button,a.desktop-mode-entry,a.document-return)[aria-pressed=true] { background:var(--sage); color:var(--document-accent); }
.document-menu .icon { color:var(--document-accent); }
.document-menu-label { white-space:nowrap; }
.document-menu-spacer { flex:1; }
.document-menu .document-pressure { color:var(--error); background:var(--error-bg); }
.document-menu .document-preview-tool { display:none; }
.document-menu .document-menu-extra { display:none; flex-wrap:wrap; gap:4px; width:100%; padding-top:6px; border-top:1px solid var(--line); }
.document-menu--expanded .document-menu-extra { display:flex; }
.writing-focus .document-menu .document-preview-tool { display:inline-flex; }
.writing-focus .document-navigation { display:none; }
.document-layout { display:grid; grid-template-columns:minmax(0,var(--atelier-width,900px)); justify-content:center; align-items:start; gap:24px; }
.document-tools-open .document-layout { grid-template-columns:minmax(300px,360px) minmax(0,var(--atelier-width,900px)); }
.document-manuscript { min-width:0; }
.document-sheet { min-width:0; background:var(--paper); border:1px solid var(--line); box-shadow:0 8px 28px color-mix(in srgb,var(--shadow-color) 6.3%,transparent); border-radius:10px; overflow:clip; }
.document-manuscript > form,.document-sheet form { margin:0; }
.document-sheet .story-editor-bar { border-radius:9px 9px 0 0; }
.document-page-content { background-color:var(--atelier-background,#fffdf8); background-image:var(--atelier-image,none); background-size:cover; background-position:center; color:var(--atelier-color,var(--ink)); }
.document-title { margin-bottom:20px; }
.document-title > div { margin:0; }
.document-title label { display:block; margin:0 0 8px; font-size:var(--text-small); font-weight:600; }
.document-workspace .document-title input[type=text] { width:100%; min-height:48px; margin:0; border:1px solid var(--line); border-radius:8px; padding:10px 14px; background:var(--surface-white); color:var(--ink); font:400 var(--text-base)/1.5 var(--font-ui); box-shadow:none; }
.document-workspace .document-title input[type=text]:hover { border-color:var(--document-accent); }
.document-workspace .document-title input[type=text]:focus-visible { outline:2px solid var(--document-accent); outline-offset:2px; border-color:var(--document-accent); }
.document-title .help-text { margin:6px 0 0; }
.document-workspace.atelier-personalized .document-sheet .ql-editor { background:transparent; }
.document-sheet .manuscript-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:4px; padding:8px 14px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:var(--paper); margin:0; }
.document-sheet .manuscript-toolbar button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:36px; min-height:36px; padding:8px; border:0; border-radius:6px; font-size:var(--text-base); }
.document-sheet .manuscript-toolbar button:hover,.document-sheet .manuscript-toolbar button[aria-pressed=true] { color:var(--document-accent); background:var(--sage); }
.document-tool-divider { height:22px; border-left:1px solid var(--line); margin:0 6px; }
.document-sheet .manuscript-toolbar .document-resume { margin-left:auto; font-size:var(--text-base); font-weight:500; }
.document-sheet .manuscript-surface { border:0; border-radius:0; }
.document-sheet .manuscript-surface .ql-editor { min-height:60vh; padding:20px 48px 80px; border:0; border-radius:0; }
.document-sheet-footer { display:flex; justify-content:space-between; gap:12px; padding:12px 24px; border-top:1px solid var(--line); font-size:var(--text-small); color:var(--muted); }
.document-statistics { display:var(--atelier-statistics-display,block); position:fixed; z-index:30; left:max(24px,env(safe-area-inset-left)); bottom:calc(20px + env(safe-area-inset-bottom)); max-width:calc(100vw - 110px); padding:10px 14px; border:1px solid var(--line); border-radius:12px; background:var(--paper); color:var(--ink); box-shadow:0 4px 18px color-mix(in srgb,var(--shadow-color) 9.4%,transparent); font:var(--text-small)/1.5 var(--font-ui); font-variant-numeric:tabular-nums; pointer-events:none; }
@media(min-width:1101px) { .has-social-rails .document-statistics { left:max(88px,env(safe-area-inset-left)); } }
@media(max-width:760px) { .document-statistics { left:max(12px,env(safe-area-inset-left)); bottom:calc(82px + env(safe-area-inset-bottom)); max-width:calc(100vw - 84px); padding:8px 12px; } }
.writing-focus .document-statistics { left:max(12px,env(safe-area-inset-left)); bottom:calc(12px + env(safe-area-inset-bottom)); }
@media print { .document-statistics { display:none; } }
.document-tools { position:sticky; top:calc(var(--document-top) + 16px); min-width:0; max-height:calc(100dvh - var(--document-top) - 32px); overflow:auto; overscroll-behavior:contain; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.document-tools > header { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); margin-bottom:20px; padding-bottom:12px; }
.document-tools h2 { margin:0; font-size:var(--text-card); }
.document-tools .card { border:0; padding:0; margin:0; box-shadow:none; background:transparent; }
.document-tools .writing-context { padding:0; }
.document-tools .writing-context .story-result { display:block; margin:0; padding:14px; border-radius:12px; }
.document-tools .writing-context .story-card-preview small { display:block; margin-top:6px; }
.document-tools [data-writing-workspace-target=view] > details > summary { display:none; }
.document-tools :is(p,label,select,input,summary) { font-size:var(--text-base); }
.document-tools p { line-height:1.65; }
.document-tools label { display:block; margin:14px 0 6px; }
.document-tools fieldset { border:0; padding:0; margin:18px 0; }
.document-tools label:has(input[type=checkbox]) { display:flex; align-items:center; gap:10px; margin:10px 0; }
.document-tools input[type=checkbox] { margin:0; flex:none; }
.document-tools .writing-tools { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.document-tools .practice-session-options { display:grid; grid-template-columns:1fr; }
.document-tools details details { padding:12px 0; border-top:1px solid var(--line); }
.document-tools details details summary { font-weight:600; padding:8px 0; }
.document-link-list { display:grid; gap:8px; }
.document-link-list a,.document-link-list button,.document-tools .writing-context .writing-tools a { display:flex; align-items:center; gap:10px; padding:14px; border:1px solid var(--line); border-radius:8px; text-decoration:none; font-size:var(--text-base); }
.document-workspace :is(button,a,summary):focus-visible { outline:1px solid var(--document-accent); outline-offset:2px; box-shadow:0 0 0 4px color-mix(in srgb,var(--document-accent) 15%,transparent); }
.document-workspace :is(.document-tools,.writing-companion) :is(input:not([type=checkbox],[type=radio]),select,textarea):focus-visible { outline:none; border-color:var(--document-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--document-accent) 14%,transparent); }
.document-tools > header h2:focus { outline:none; }
/* The native text caret identifies the focused editor without a full-height stripe. */
.document-workspace .ql-editor:focus-visible { outline:none; box-shadow:none; }
@media(forced-colors:active) {
 .document-workspace .document-title input[type=text]:focus-visible,.document-workspace .ql-editor:focus-visible,.document-workspace :is(.document-tools,.writing-companion) :is(input,select,textarea):focus-visible { outline:2px solid Highlight; outline-offset:2px; }
}
.writing-focus .document-back,.writing-focus .document-privacy { display:none; }
.writing-focus .page-content:has(.document-workspace) { max-width:var(--page-width-wide); }
.writing-focus .document-tools .writing-outline,.writing-focus .document-tools .writing-context { display:block; }
@media(min-width:1101px) {
 .writing-focus .document-menu .document-menu-extra { display:contents; }
 .writing-focus .document-menu .document-more { display:none; }
 .writing-focus .page-content:has(.document-workspace) { --document-dock-width:60px; width:100%; max-width:var(--page-width-wide); padding:24px 24px 80px calc(var(--document-dock-width) + 40px); }
 .writing-focus .document-workspace.writing-workbench { max-width:none; }
 .writing-focus .document-menu { position:fixed; z-index:30; left:max(16px,calc((100vw - var(--page-width-wide))/2 + 16px)); top:calc(50dvh - 28px); transform:translateY(-50%); display:grid; grid-template-columns:repeat(var(--document-dock-columns,1),44px); align-content:start; justify-content:center; gap:4px; width:var(--document-dock-width); max-height:calc(100dvh - 112px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; margin:0; padding:7px; box-shadow:0 8px 24px color-mix(in srgb,var(--shadow-color) 7.8%,transparent); }
 .writing-focus .document-menu :is(button,a.desktop-mode-entry,a.document-return) { justify-content:center; width:44px; min-height:44px; padding:10px; gap:0; }
 .writing-focus .document-menu .icon { font-size:1.15rem; }
 .writing-focus .document-menu-label,.writing-focus .document-menu-spacer { display:none; }
 .writing-focus .document-menu .document-pressure .icon { color:var(--error); }
 .writing-focus .document-statistics { left:max(16px,calc((100vw - var(--page-width-wide))/2 + 16px)); }
}
@media(min-width:1101px) and (max-height:650px) {
 .writing-focus .page-content:has(.document-workspace) { --document-dock-width:108px; --document-dock-columns:2; }
}
@media(max-width:900px) {
 .document-heading h1 { font-size:var(--text-title); }
 .document-privacy { display:flex; margin:8px 0 0; }
 .document-tools-open .document-layout { grid-template-columns:minmax(0,1fr); }
 .document-tools { position:fixed; inset:auto 12px calc(90px + env(safe-area-inset-bottom)); max-height:min(65dvh,calc(100dvh - var(--document-top) - 106px - env(safe-area-inset-bottom))); z-index:90; box-shadow:0 12px 50px color-mix(in srgb,var(--shadow-color) 20.8%,transparent); }
 .writing-focus .document-tools { bottom:16px; max-height:min(65dvh,calc(100dvh - 32px)); }
 .document-menu { gap:2px; margin-bottom:16px; }
 .document-menu :is(button,a.desktop-mode-entry,a.document-return) { font-size:var(--text-base); padding:8px; }
 .document-menu-spacer { display:none; }
 .document-title { margin-bottom:16px; }
 .document-sheet .manuscript-surface .ql-editor { padding:16px 22px 70px; }
 .document-sheet .manuscript-toolbar .document-resume { font-size:0; }
 .document-sheet .manuscript-toolbar .document-resume .icon { font-size:.85rem; }
}
@media(max-width:480px) { .document-menu :is(button,a.desktop-mode-entry,a.document-return) { flex:1 0 auto; }.document-sheet-footer { padding:12px; } }

.document-sheet .manuscript-toolbar { position:sticky; top:var(--document-top); z-index:10; }
.document-tools .button:not(.button--outline) { background:var(--primary); border-color:var(--primary); color:var(--primary-ink); }
.document-tools .button:not(.button--outline):hover { background:var(--primary-hover); border-color:var(--primary-hover); color:var(--primary-hover-ink); }
.document-tools .practice-clock { margin:16px 0 8px; }

.document-collaboration-status { display:flex; flex-wrap:wrap; gap:6px 20px; margin:0 0 12px; color:var(--muted); font-size:var(--text-small); }
.document-collaboration-status p { margin:0; }
.document-workspace .writing-shared-surface { margin:0; }
@media(max-width:600px) {
 .document-menu { padding:4px; gap:2px; margin-bottom:12px; }
 .document-menu > :is(button,a.desktop-mode-entry,a.document-return) { flex:1 0 auto; min-width:0; min-height:60px; flex-direction:column; justify-content:center; gap:4px; padding:6px 2px; font-size:.75rem; line-height:1.25; text-align:center; }
 .document-menu-extra button { min-height:44px; white-space:nowrap; }
 .document-privacy { font-size:var(--text-small); }
 .document-workspace .story-editor-bar { padding:6px 10px; }
 .document-workspace .story-editor-bar .story-editor-search { width:44px; padding:8px; }
 .document-workspace .story-editor-search span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
 .document-workspace .story-feedback:empty { display:none; }
 .document-workspace .document-sheet .manuscript-surface .ql-editor { padding:16px 18px 60px; }
 .writing-focus .document-identity,.writing-focus .document-sheet-footer { display:none; }
 .writing-focus .document-menu { margin-bottom:8px; }
 .writing-focus .document-menu:not(.document-menu--expanded) > :is(button,a.desktop-mode-entry,a.document-return):not([data-writing-focus-target~=toggle],.document-more,.document-return) { display:none; }
 .writing-focus .document-menu > :is(button,a.desktop-mode-entry,a.document-return) { min-height:44px; flex-direction:row; gap:8px; padding:8px; font-size:var(--text-small); }
 .writing-focus .document-title,.writing-focus .story-editor-bar,.writing-focus .story-selection,.writing-focus .writing-companion { display:none; }
}

@media(max-width:600px) { .document-sheet .manuscript-toolbar { flex-wrap:nowrap; overflow-x:auto; }.document-sheet .manuscript-toolbar > * { flex:none; } }

.document-tools [data-writing-excerpt-target="quote"]:empty { display:none; }
@media print { .document-menu { display:none; } }

.document-save-bar { position:sticky; bottom:calc(12px + max(env(safe-area-inset-bottom),var(--document-navigation-inset,0px),var(--document-keyboard-inset,0px))); z-index:25; display:flex; align-items:center; justify-content:space-between; gap:16px; margin:20px 0 0; padding:12px 16px; border:1px solid var(--line); border-radius:12px; background:var(--paper); box-shadow:0 4px 24px color-mix(in srgb,var(--shadow-color) 12.5%,transparent); }
.document-save-info { min-width:0; font-size:var(--text-small); line-height:1.5; color:var(--muted); }
.document-save-info p,.document-save-info .writing-save-detail { margin:0; font-size:inherit; }
.document-save-info p:empty { display:none; }
.document-save-bar .document-statistics { position:static; max-width:none; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.document-save-bar .document-save-buttons { width:auto; margin:0; flex-wrap:nowrap; }
.document-save-bar .document-save-buttons > .button { min-height:44px; font-weight:700; }
.document-workspace .document-publish-button { background:var(--primary); border-color:var(--primary); color:var(--primary-ink); }
.document-workspace .document-publish-button:hover { background:var(--primary-hover); border-color:var(--primary-hover); color:var(--primary-hover-ink); }
.editor-publication-dialog > [role=status]:empty { display:none; }
.editor-publication-dialog .story-fields { min-width:0; }
.document-workspace:has(.document-save-bar) .writing-companion { --companion-bottom:var(--document-companion-clearance,calc(var(--document-actions-height,120px) + 24px + max(env(safe-area-inset-bottom),var(--document-navigation-inset,0px),var(--document-keyboard-inset,0px)))); }
.document-workspace .writing-companion .writing-companion-restore { bottom:var(--companion-bottom); }
.document-workspace:has(.document-save-bar) .story-selection { bottom:var(--document-companion-clearance,calc(var(--document-actions-height,120px) + 24px + max(env(safe-area-inset-bottom),var(--document-navigation-inset,0px),var(--document-keyboard-inset,0px)))); }
.document-workspace :is(.ql-editor,textarea) { scroll-margin-bottom:calc(var(--document-actions-height,120px) + 32px); }
@media(max-width:760px) {
 .document-save-bar { flex-direction:column; align-items:stretch; gap:8px; padding:10px 12px; }
 .document-save-bar .document-save-buttons { display:flex; justify-content:stretch; gap:8px; }
 .document-save-bar .document-save-buttons .button { flex:1; min-width:0; padding:8px; font-size:var(--text-small); line-height:1.35; }
}
@media(max-width:600px) {
 .document-workspace .document-save-bar { flex-direction:row; align-items:center; gap:8px; padding:8px; }
 .document-save-info { flex:1; }
 .document-save-bar .document-save-buttons { flex:none; gap:4px; }
 .document-save-bar .document-save-buttons .button:has(.document-action-label) { flex:none; width:44px; padding:8px; }
 .document-save-bar .document-action-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
}
@media print { .document-save-bar { display:none; } }
/* A session shares the save row; it never reserves a second toolbar. */
.document-save-bar:has(.practice-ribbon) .document-save-info { flex:1; }
.document-save-bar:has(.practice-ribbon) .document-save-buttons { order:2; }
.practice-ribbon { order:1; flex:none; min-width:0; display:flex; align-items:center; border:1px solid var(--line); border-radius:8px; font-size:var(--text-small); }
.practice-ribbon [hidden] { display:none!important; }
.practice-ribbon-summary,.practice-ribbon-pause { min-height:44px; padding:6px 10px; border:0; border-radius:7px; background:transparent; color:var(--ink); font:inherit; cursor:pointer; }
.practice-ribbon-summary { display:grid; align-content:center; gap:4px; min-width:0; }
.practice-ribbon-summary:hover,.practice-ribbon-pause:hover { background:var(--sage); }
.practice-ribbon-metrics { display:flex; align-items:center; gap:8px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.practice-ribbon-progress { display:flex; gap:4px; }
.practice-ribbon progress { display:block; flex:1; min-width:0; width:0; height:3px; margin:0; accent-color:var(--primary); }
.practice-ribbon-pause { display:grid; place-items:center; width:44px; flex:none; border-left:1px solid var(--line); border-radius:0 7px 7px 0; }
.practice-ribbon-resume-icon,.practice-ribbon[data-phase=paused] .practice-ribbon-pause-icon { display:none; }
.practice-ribbon[data-phase=paused] .practice-ribbon-resume-icon { display:inline; }
.practice-ribbon-state { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.practice-ribbon--mobile { display:none; }
@media(max-width:900px) {
 .mobile-editor-ready > .practice-ribbon--mobile { position:fixed; z-index:80; left:12px; bottom:var(--mobile-editor-bottom); display:flex; max-width:calc(100% - 84px); background:var(--paper); box-shadow:0 3px 12px color-mix(in srgb,var(--shadow-color) 14.9%,transparent); }
 .practice-ribbon--mobile .practice-ribbon-summary { padding-inline:8px; }
 .practice-ribbon--mobile .practice-ribbon-metrics { gap:6px; font-size:12px; }
 .mobile-editor-menu-open > .practice-ribbon--mobile { display:none; }
 .mobile-editor-ready:has(> .practice-ribbon--mobile:not([hidden])) .document-page-content { padding-bottom:64px; }
 .mobile-editor-ready:has(> .practice-ribbon--mobile:not([hidden])) :is(.ql-editor,textarea) { scroll-margin-bottom:76px; }
}
@media print { .practice-ribbon { display:none!important; } }

.document-menu :is(a.desktop-mode-entry,a.document-return) { text-decoration:none; }
