:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14161a;--bg-raised:#1b1e24;--bg-hover:#232730;--border:#2c313c;--text:#d8dbe2;--text-dim:#8b93a3;--accent:#7aa2f7;--status-draft:#b3831f;--status-revised:#4f83d6;--status-final:#3f9e60}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Segoe UI,system-ui,sans-serif}#root{height:100vh}.app{height:100%;display:flex}.app.loading{color:var(--text-dim);justify-content:center;align-items:center}button{background:var(--bg-hover);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.3rem .7rem;font-size:.82rem}button:hover{border-color:var(--accent)}.sidebar{border-right:1px solid var(--border);background:var(--bg-raised);flex-direction:column;flex-shrink:0;gap:1.25rem;width:250px;padding:1rem .85rem;display:flex;overflow-y:auto}.project-title{color:var(--text);background:0 0;border:none;border-bottom:1px dashed #0000;outline:none;padding:.2rem .1rem;font-size:1.05rem;font-weight:600}.project-title:hover,.project-title:focus{border-bottom-color:var(--border)}.sidebar-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.72rem;display:flex}.add-chapter{padding:0 .45rem;font-size:.95rem;line-height:1.3}.chapter-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.chapter-list li{cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .55rem;font-size:.9rem;display:flex}.chapter-list li:hover{background:var(--bg-hover)}.chapter-list li.selected{background:var(--bg-hover);color:var(--accent)}.chapter-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.chapter-list li input{background:var(--bg);border:1px solid var(--accent);min-width:0;color:var(--text);border-radius:4px;outline:none;flex:1;padding:.1rem .3rem;font-size:.88rem}.chapter-delete{color:var(--text-dim);opacity:0;background:0 0;border:none;padding:0 .25rem;font-size:.95rem}.chapter-list li:hover .chapter-delete{opacity:1}.chapter-delete:hover{color:#f7768e}.sidebar-section.dim{opacity:.55}.sidebar-placeholder{color:var(--text-dim);margin:0;font-size:.8rem}.main{flex-direction:column;flex:1;min-width:0;display:flex}.workspace-loading{color:var(--text-dim);flex:1;justify-content:center;align-items:center;gap:.6rem;display:flex}.project-header{border-bottom:1px solid var(--border);background:var(--bg-raised);justify-content:flex-end;align-items:center;gap:.9rem;padding:.4rem 1rem;display:flex}.presence-chip{align-items:center;gap:.4rem;display:inline-flex}.presence-dots{gap:3px;display:inline-flex}.presence-dot{border-radius:50%;width:8px;height:8px}.workspace-row{flex:1;min-height:0;display:flex;position:relative}.workspace-col,.pane{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.pane-divider{background:var(--border);touch-action:none;z-index:5;background-clip:content-box;flex-shrink:0}.divider-x{cursor:col-resize;width:7px;margin:0 -3px;padding:0 3px}.divider-y{cursor:row-resize;height:7px;margin:-3px 0;padding:3px 0}.pane-divider:hover,.pane-divider:active{background-color:var(--accent)}.row-drop{border-top:2px dashed var(--accent);height:46px;color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}@media (width<=900px){.workspace-row{flex-direction:column;overflow-y:auto}.workspace-col,.pane{flex:auto!important}.pane-divider,.row-drop{display:none}.workspace-col+.workspace-col,.workspace-col .pane+.pane{border-top:1px solid var(--border)}}.tab-strip{background:var(--bg-raised);border-bottom:1px solid var(--border);flex-shrink:0;align-items:stretch;gap:2px;min-height:2.1rem;padding:.3rem .5rem 0;display:flex;overflow-x:auto}.tab{max-width:14rem;color:var(--text-dim);background:0 0;border:1px solid #0000;border-bottom:none;border-radius:7px 7px 0 0;align-items:center;gap:.45rem;padding:.28rem .65rem;font-size:.82rem;display:inline-flex}.tab:hover{background:var(--bg-hover);border-color:#0000}.tab.active{background:var(--bg);border-color:var(--border);color:var(--text)}.pane.focused .tab.active{color:var(--accent)}.tab-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tab-close{color:var(--text-dim);border-radius:4px;padding:0 .2rem;line-height:1.1}.tab-close:hover{color:#f7768e;background:var(--bg-hover)}.split-drop{border-left:2px dashed var(--accent);width:52px;color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.layout-notice{background:var(--bg-hover);border:1px solid var(--status-draft);z-index:30;border-radius:8px;padding:.45rem .9rem;font-size:.85rem;position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%)}.pane-content{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.doc-stats{color:var(--text-dim);white-space:nowrap;font-size:.82rem}.view-toggle{gap:.25rem;margin-left:.5rem;display:inline-flex}.view-toggle button.active{border-color:var(--accent);color:var(--accent)}.conn-chip{text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.72rem}.conn-chip.conn-connected{color:var(--status-final);border-color:var(--status-final)}.conn-chip.conn-disconnected{color:var(--status-draft);border-color:var(--status-draft)}.pane-chrome{background:color-mix(in srgb, var(--bg-raised) 90%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:15;opacity:0;pointer-events:none;border-radius:9px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;max-width:calc(100% - 56px);padding:.35rem .55rem;transition:opacity .14s;display:flex;position:absolute;top:.55rem;right:34px}.pane:hover .pane-chrome,.pane-chrome:focus-within{opacity:1;pointer-events:auto}.pane-chrome.muted,.pane:hover .pane-content .pane-chrome.muted{opacity:0;pointer-events:none}.chrome-title{white-space:nowrap;text-overflow:ellipsis;max-width:11rem;font-size:.85rem;font-weight:600;overflow:hidden}.editor-pane{flex-direction:column;flex:1;min-height:0;display:flex}.editor-scroll{flex:1;grid-template-columns:1fr;min-height:0;display:grid;position:relative;overflow-y:auto}.editor-content{grid-area:1/1;min-width:0;min-height:100%}.ProseMirror{outline:none;max-width:68ch;min-height:100%;margin:0 auto;padding:2.5rem 3rem 40vh;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.75}.ProseMirror p{margin:0 0 1em}.scene{padding:.25rem 0;position:relative}.scene+.scene:before{content:"· · ·";text-align:center;color:var(--text-dim);opacity:.45;letter-spacing:.6em;margin:.75rem 0 1.5rem;font-size:.8rem;display:block}.scene:hover:after{content:attr(data-synopsis);max-width:12rem;color:var(--text-dim);pointer-events:none;font-family:Segoe UI,system-ui,sans-serif;font-size:.72rem;position:absolute;top:0;right:-1rem;transform:translate(100%)}.collaboration-carets__caret{word-break:normal;pointer-events:none;border-left:1px solid;border-right:1px solid;margin-left:-1px;margin-right:-1px;position:relative}.collaboration-carets__label{color:#14161a;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:3px 3px 3px 0;padding:.05rem .35rem;font-family:Segoe UI,system-ui,sans-serif;font-size:.62rem;font-weight:600;position:absolute;top:-1.35em;left:-1px}.scene-gutter{pointer-events:none;grid-area:1/1;justify-self:end;width:22px;position:relative}.gutter-scene{opacity:.55;cursor:pointer;pointer-events:auto;border-radius:3px;width:5px;position:absolute;right:7px}.gutter-scene.draggable{cursor:grab}.gutter-scene:hover{opacity:1;width:8px}.gutter-scene.dragging{opacity:.25}.gutter-scene.drop-target{box-shadow:0 -3px 0 0 var(--accent);opacity:1}.gutter-scene.status-draft{background:var(--status-draft)}.gutter-scene.status-revised{background:var(--status-revised)}.gutter-scene.status-final{background:var(--status-final)}.scene-cards{background:color-mix(in srgb, var(--bg-raised) 40%, var(--bg));flex-direction:column;flex:1;min-height:0;display:flex}.cards-scroll{flex-direction:column;flex:1;gap:.9rem;padding:1.25rem;display:flex;overflow-y:auto}.scene-card{background:var(--bg-raised);border:1px solid var(--border);cursor:grab;border-radius:10px;padding:.8rem 1rem;transition:border-color .12s,opacity .12s}.scene-card.dragging{opacity:.45}.scene-card.drop-target{border-color:var(--accent)}.card-header{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.card-grip{color:var(--text-dim);cursor:grab}.card-index{font-size:.85rem;font-weight:600}.card-words{color:var(--text-dim);margin-left:auto;font-size:.78rem}.status-chip{text-transform:uppercase;letter-spacing:.05em;color:#fff;border:none;border-radius:999px;padding:.1rem .6rem;font-size:.72rem}.status-chip.status-draft{background:var(--status-draft)}.status-chip.status-revised{background:var(--status-revised)}.status-chip.status-final{background:var(--status-final)}.card-synopsis{border:none;border-bottom:1px dashed var(--border);width:100%;color:var(--accent);background:0 0;outline:none;padding:.15rem 0;font-size:.88rem}.card-synopsis::placeholder{color:var(--text-dim);opacity:.6}.card-excerpt{color:var(--text-dim);cursor:pointer;margin:.55rem 0 0;font-family:Georgia,serif;font-size:.85rem;line-height:1.5}.card-excerpt:hover{color:var(--text)}.auth-screen{justify-content:center;align-items:center}.auth-card{background:var(--bg-raised);border:1px solid var(--border);text-align:center;border-radius:12px;flex-direction:column;gap:.9rem;width:340px;padding:2rem 1.8rem;display:flex}.auth-card h1{color:var(--accent);margin:0;font-size:1.6rem}.auth-tagline{color:var(--text-dim);margin:0 0 .6rem;font-size:.88rem}.auth-card form{flex-direction:column;gap:.6rem;display:flex}.auth-card input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;padding:.55rem .7rem;font-size:.9rem}.auth-card input:focus{border-color:var(--accent)}.auth-card button{padding:.5rem .7rem}.auth-divider{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.auth-sent{color:var(--text);font-size:.9rem;line-height:1.5}.auth-error{color:#f7768e;margin:0;font-size:.82rem}.dashboard{flex-direction:column;align-items:stretch}.dashboard-header{border-bottom:1px solid var(--border);background:var(--bg-raised);justify-content:space-between;align-items:center;padding:.9rem 1.6rem;display:flex}.dashboard-header h1{color:var(--accent);margin:0;font-size:1.2rem}.dashboard-user{color:var(--text-dim);align-items:center;gap:.6rem;font-size:.88rem;display:flex}.dashboard-notice{color:var(--text-dim);margin:.8rem 1.6rem 0;font-size:.85rem}.dashboard-main{width:100%;max-width:640px;margin:0 auto;padding:2rem 1.6rem}.dashboard-heading{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.dashboard-heading h2{margin:0;font-size:1.05rem}.dashboard-empty{color:var(--text-dim);font-size:.9rem}.project-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.project-list li{background:var(--bg-raised);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:.8rem 1rem;transition:border-color .12s;display:flex}.project-list li:hover{border-color:var(--accent)}.project-name{font-size:.95rem}.project-date{color:var(--text-dim);font-size:.8rem}.back-link{color:var(--text-dim);background:0 0;border:none;align-self:flex-start;padding:0;font-size:.82rem}.back-link:hover{color:var(--accent);border:none}.sidebar-user{border-top:1px solid var(--border);color:var(--text-dim);justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.8rem;font-size:.82rem;display:flex}.sidebar-user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conn-chip button{margin-left:.5rem;padding:.05rem .45rem;font-size:.75rem}.share-button{margin-left:auto;padding:.15rem .7rem;font-size:.8rem}.project-header .share-button{order:9}.role-chip{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-dim)}.guest-marker{color:var(--text-dim);font-size:.75rem}.project-role{border:1px solid var(--border);color:var(--text-dim);border-radius:999px;margin-left:.5rem;padding:.05rem .45rem;font-size:.72rem}.dialog-backdrop{z-index:60;background:#0000008c;justify-content:center;align-items:flex-start;padding-top:9vh;display:flex;position:fixed;inset:0}.dialog{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;width:min(560px,92vw);max-height:78vh;padding:1rem 1.2rem 1.2rem;overflow-y:auto;box-shadow:0 18px 48px #00000080}.dialog-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.dialog-header h2{margin:0;font-size:1.05rem}.dialog-close{padding:0 .45rem;font-size:1rem}.dialog-error{color:#f7768e;font-size:.85rem}.share-section{margin-top:.9rem}.share-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:0 0 .45rem;font-size:.8rem}.share-invite-form,.share-link-form,.share-fresh-link{gap:.45rem;display:flex}.share-invite-form input,.share-link-form input,.share-fresh-link input{flex:1;min-width:0}.share-fresh-link{margin-top:.5rem}.share-fresh-link input{color:var(--accent);font-size:.8rem}.share-notice{color:var(--text-dim);margin:.45rem 0 0;font-size:.8rem}.share-list{margin:.35rem 0 0;padding:0;list-style:none}.share-list li{border-bottom:1px solid var(--border);align-items:center;gap:.55rem;padding:.4rem .1rem;font-size:.88rem;display:flex}.share-list li:last-child{border-bottom:none}.share-who{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.share-how{color:var(--text-dim);font-size:.72rem}.share-pending .share-who{opacity:.75}.share-remove{color:var(--text-dim);padding:.1rem .45rem;font-size:.78rem}.share-remove:hover{color:#f7768e}
