:root{--bg:#ebe6dc;--bg-panel:#f7f5f0;--bg-header:#e4ddd0;--ink:#1c1914;--ink-muted:#6b6458;--line:#cfc5b4;--accent:#3d5a45;--accent-soft:#d7e3d9;--page:#fffef9;--shadow:0 1px 0 #1c19140f;--error:#8a2b2b;--error-bg:#f3e0d8;--error-line:#e0c4bc;--note-low:#0072b2;--note-medium:#e69f00;--note-high:#d55e00;--font-ui:"Segoe UI", "Helvetica Neue", sans-serif;--font-script:"Courier New", Courier, monospace}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--ink);background:var(--bg)}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--bg-panel);color:var(--ink);border-radius:2px;padding:.4rem .85rem}button:hover{background:#fff;border-color:#b7ac98}button:disabled{opacity:.45;cursor:not-allowed}button:disabled:hover{background:var(--bg-panel);border-color:var(--line)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.toggle.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.app{flex-direction:column;height:100%;min-height:0;display:flex}.app-header{z-index:10;background:var(--bg-header);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;gap:0;padding:0;display:flex;position:relative}.titlebar{justify-content:space-between;align-items:center;gap:.5rem;min-height:2.35rem;padding:0 .45rem 0 .75rem;display:flex}.titlebar-left,.titlebar-right{align-items:center;gap:.35rem;min-width:0;display:flex}.titlebar-left{z-index:2;flex:1;position:relative}.titlebar-right{flex:0 auto;justify-content:flex-end}.brand-name{letter-spacing:.02em;white-space:nowrap;padding-right:.45rem;font-size:.82rem;font-weight:650}.project-title{min-width:0;max-width:100%;font:inherit;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:3px;align-items:baseline;gap:.45rem;padding:.2rem .55rem;line-height:1.2;display:inline-flex}.project-title:hover{border-color:var(--line);background:#ffffffb3}.project-title.editing{width:min(22rem,100%)}.project-title-name{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:650;overflow:hidden}.project-title-location{color:var(--ink-muted);white-space:nowrap;font-size:.72rem}.project-title-input{width:100%;font:inherit;text-align:left;color:var(--ink);border:1px solid var(--accent);background:#fff;border-radius:3px;padding:.2rem .45rem;font-size:.92rem;font-weight:650}.project-title-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.menubar{flex:none;align-items:center;gap:.1rem;min-width:0;display:flex}.menubar-slot{position:relative}.menubar-title{font:inherit;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:3px;padding:.28rem .45rem;font-size:.82rem;line-height:1}.menubar-title:hover,.menubar-title.open{border-color:var(--line);background:#ffffffb3}.menu{z-index:30;background:var(--bg-panel);border:1px solid var(--line);min-width:14.5rem;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;box-shadow:0 8px 24px #1c191424}.menu.submenu{top:-.25rem;left:100%}.menu-item-wrap{position:relative}.menu-separator{background:var(--line);height:1px;margin:.25rem 0}.menu-item{width:100%;font:inherit;text-align:left;color:var(--ink);background:0 0;border:none;border-radius:0;grid-template-columns:1.1rem 1fr auto;align-items:center;gap:.4rem;padding:.28rem .7rem .28rem .45rem;font-size:.82rem;display:grid}.menu-item:hover:not(:disabled),.menu-item.open{background:var(--accent-soft)}.menu-label{align-items:baseline;gap:.35rem;min-width:0;display:inline-flex}.ai-note{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.62rem;font-weight:700;line-height:1}.menu-shortcut,.menu-caret{color:var(--ink-muted);letter-spacing:.02em;font-size:.72rem}.titlebar-action{flex-shrink:0;padding:.28rem .55rem;font-size:.82rem;line-height:1}.modal-backdrop{z-index:50;background:#1c191447;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop.modal-confirm-backdrop{z-index:60}.modal{background:var(--bg-panel);border:1px solid var(--line);width:min(24rem,100vw - 2rem);padding:1rem 1.1rem .9rem;box-shadow:0 12px 32px #1c19142e}.modal.projects-modal{flex-direction:column;width:min(36rem,100vw - 2rem);max-height:min(32rem,100vh - 4rem);padding:.85rem .9rem;display:flex}.modal.reports-modal{flex-direction:column;width:min(46rem,100vw - 2rem);max-height:min(40rem,100vh - 4rem);display:flex}.reports-tabs{gap:.25rem;margin-bottom:.65rem;display:flex}.reports-tab{padding:.28rem .55rem;font-size:.82rem}.reports-tab.is-active{border-color:var(--ink);font-weight:650}.reports-table-wrap{border:1px solid var(--line);flex:1;min-height:12rem;margin-bottom:.75rem;overflow:auto}.reports-table{border-collapse:collapse;width:100%;font-size:.82rem}.reports-table th,.reports-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.28rem .45rem}.reports-table th{background:var(--bg-panel);font-weight:650;position:sticky;top:0}.reports-actions{justify-content:flex-start}.modal.versions-modal{flex-direction:column;width:min(46rem,100vw - 2rem);max-height:min(40rem,100vh - 4rem);display:flex}.versions-save{align-items:center;gap:.45rem;margin-bottom:.7rem;display:flex}.versions-save-label{color:var(--ink-muted);white-space:nowrap;font-size:.82rem}.versions-save-input{min-width:0;font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:2px;flex:1;padding:.35rem .5rem}.versions-body{flex:1;grid-template-columns:minmax(11rem,15rem) 1fr;gap:.65rem;min-height:14rem;margin-bottom:.75rem;display:grid;overflow:hidden}.versions-list{overflow:auto}.version-row{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;flex-direction:column;align-items:flex-start;gap:.12rem;width:100%;padding:.5rem .65rem;display:flex}.version-row:hover:not(:disabled),.version-row.is-current{background:var(--accent-soft)}.versions-preview-pane{border:1px solid var(--line);background:var(--page);min-width:0;min-height:0;overflow:hidden}.versions-preview{height:100%;font-family:var(--font-script);white-space:pre-wrap;word-break:break-word;margin:0;padding:.55rem .65rem;font-size:.78rem;line-height:1.35;overflow:auto}@media (width<=36rem){.versions-body{grid-template-columns:1fr}.versions-list{max-height:8rem}.versions-preview-pane{min-height:8rem}}.modal-title{margin:0 0 .45rem;font-size:.95rem;font-weight:650}.projects-modal .modal-title{margin:0}.modal-message{color:var(--ink-muted);white-space:pre-wrap;margin:0 0 1rem;font-size:.85rem;line-height:1.4}.modal-actions{justify-content:flex-end;gap:.45rem;display:flex}.modal-confirm{color:#fff;background:#8a2b2b;border-color:#7a2424}.modal-confirm:hover:not(:disabled){background:#732424;border-color:#5c1c1c}.projects-modal-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.7rem;display:flex}.projects-close{padding:.28rem .55rem;font-size:.82rem;line-height:1}.projects-empty{color:var(--ink-muted);margin:.35rem 0 0;font-size:.85rem;line-height:1.4}.projects-list{border:1px solid var(--line);background:var(--page);min-height:0;margin:0;padding:0;list-style:none;overflow:auto}.project-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .65rem;display:flex}.project-row:last-child{border-bottom:none}.project-row.is-current{background:var(--accent-soft)}.project-row-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.project-row-title{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.project-row-meta{color:var(--ink-muted);font-size:.72rem}.project-row-actions{flex-shrink:0;gap:.35rem;display:flex}.project-row-actions button{padding:.28rem .5rem;font-size:.78rem;line-height:1}.project-row-delete{color:#8a2b2b}.smart-format-panel{z-index:1;background:var(--page);flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.smart-format-toolbar{border-bottom:1px solid var(--line);background:var(--bg-panel);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;min-height:2.15rem;padding:0 .55rem 0 .65rem;display:flex}.smart-format-title{align-items:center;gap:.45rem;min-width:0;font-size:.78rem;font-weight:650;display:flex}.smart-format-source{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);flex-shrink:0;padding:.1rem .35rem;font-size:.68rem;font-weight:600}.smart-format-message{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-muted);margin:0;font-size:.72rem;font-weight:400;overflow:hidden}.smart-format-diff{background:var(--page);min-height:0;font-family:var(--font-script);flex:1;font-size:.8rem;line-height:1.45;overflow:auto}.smart-format-codelens{font-family:var(--font-ui);background:var(--bg-panel);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.15rem .2rem;padding:.28rem .65rem .2rem;font-size:.72rem;display:flex}.smart-format-codelens button{color:var(--accent);font-size:inherit;background:0 0;border:none;padding:.05rem .2rem;line-height:1.3}.smart-format-codelens button:hover:not(:disabled){background:var(--accent-soft);border-color:#0000;text-decoration:underline}.smart-format-codelens-sep{color:var(--ink-muted);-webkit-user-select:none;user-select:none}.smart-format-line{white-space:pre-wrap;word-break:break-word;cursor:default;grid-template-columns:2.4rem 2.4rem 1.1rem minmax(0,1fr);gap:.15rem;padding:0 .55rem 0 .65rem;display:grid}.smart-format-line-same{color:var(--ink)}.smart-format-line-removed{color:#6a2f2a;background:#f8e6e4}.smart-format-line-added{color:#2a4a34;background:#dff0e3}.smart-format-line-conflict.smart-format-line-removed{box-shadow:inset 3px 0 #c45c54}.smart-format-line-conflict.smart-format-line-added{box-shadow:inset 3px 0 #3d8a55}.smart-format-lineno{font-family:var(--font-ui);text-align:right;color:var(--ink-muted);-webkit-user-select:none;user-select:none;font-size:.68rem;line-height:1.7}.smart-format-line-removed .smart-format-lineno,.smart-format-line-added .smart-format-lineno{color:inherit;opacity:.7}.smart-format-marker{color:var(--ink-muted);-webkit-user-select:none;user-select:none}.smart-format-line-removed .smart-format-marker{color:#9a4a43}.smart-format-line-added .smart-format-marker{color:#3d6a4a}.smart-format-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.smart-format-accept{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.smart-format-accept:hover:not(:disabled){background:#cfe0d2}.auth-controls{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex;position:relative}.auth-controls>button{background:0 0;border:1px solid #0000;padding:.28rem .45rem;font-size:.82rem;line-height:1}.auth-controls>button:hover,.auth-controls>button.toggle.on{border-color:var(--line);background:#ffffffb3}.auth-email{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;color:var(--ink-muted);font-size:.8rem;overflow:hidden}.auth-panel{z-index:20;background:var(--bg-panel);border:1px solid var(--line);flex-direction:column;gap:.55rem;min-width:16rem;padding:.75rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 8px 24px #1c19141f}.auth-field{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:.2rem;font-size:.75rem;display:flex}.auth-field input{font:inherit;text-transform:none;letter-spacing:normal;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:2px;padding:.35rem .5rem;font-size:.9rem}.auth-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-message{color:var(--ink);text-transform:none;letter-spacing:normal;margin:0;font-size:.8rem}.auth-google{width:100%}.auth-actions{flex-wrap:wrap;gap:.35rem;display:flex}.cloud-load-field,.element-type-field{align-items:center;gap:.35rem;display:inline-flex}.element-type-label{color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem}.titlebar-left .element-type-field{flex-shrink:0;margin-left:.35rem}.element-type-select{font:inherit;color:var(--ink);background:var(--bg-panel);border:1px solid var(--line);border-radius:2px;min-width:9.5rem;padding:.2rem .4rem;font-size:.82rem}.element-type-select:hover:not(:disabled){background:#fff;border-color:#b7ac98}.element-type-select:disabled{opacity:.45;cursor:not-allowed}.element-type-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.formatter-select-wrap{position:relative}.formatter-trigger{cursor:pointer;text-align:left;align-items:center;gap:.35rem;min-width:8.5rem;display:inline-flex}.formatter-trigger.open{background:#fff;border-color:#b7ac98}.model-trigger{min-width:17.5rem}.formatter-menu{min-width:18rem}.formatter-submenu{min-width:12rem}.notes-flex-trigger{gap:.25rem;min-width:0}.notes-flex-trigger .menu-check{text-align:center;width:.85rem}.notes-flex-trigger.on{color:var(--ink)}.model-name{color:var(--ink-muted);margin-left:.4rem;font-size:.78em;font-weight:400}.ai-review-meter{z-index:1;text-align:left;cursor:pointer;isolation:isolate;flex-direction:column;flex-shrink:0;justify-content:center;gap:.12rem;min-width:8.5rem;min-height:2rem;margin-left:.15rem;padding:.2rem .5rem;display:inline-flex;position:relative}.ai-review-meter>*{pointer-events:none}.ai-review-meter-row{justify-content:space-between;align-items:baseline;gap:.45rem;display:flex}.ai-review-meter-label,.ai-review-meter-percent{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:.68rem}.ai-review-meter-percent{font-variant-numeric:tabular-nums}.ai-review-meter-track{background:#d9d1c3;border-radius:99px;height:.28rem;display:block;overflow:hidden}.ai-review-meter-fill{background:var(--accent);height:100%;transition:width .16s;display:block}.ai-review-meter.ready{border-color:var(--accent);background:var(--accent-soft)}.ai-review-meter.busy .ai-review-meter-fill{width:100%;animation:.9s ease-in-out infinite ai-review-busy}.cost-meter{cursor:default;min-width:7.5rem}.cost-meter .ai-review-meter-fill{background:#8a6d3b}@keyframes ai-review-busy{0%,to{opacity:.45}50%{opacity:1}}.sync-status{border:1px solid var(--line);white-space:nowrap;background:#ffffff73;border-radius:999px;align-items:center;gap:.35rem;min-width:0;max-width:14rem;margin:0;padding:.18rem .5rem .18rem .4rem;font-size:.72rem;line-height:1.2;display:inline-flex}.sync-status-dot{background:var(--ink-muted);border-radius:50%;flex-shrink:0;width:.48rem;height:.48rem}.sync-status.is-cloud .sync-status-dot{background:var(--accent)}.sync-status.is-busy .sync-status-dot{background:#8a6d3b;animation:.9s ease-in-out infinite ai-review-busy}.sync-status.is-unsigned .sync-status-dot{background:var(--note-medium)}.sync-status-label{font-weight:650}.sync-status-detail{color:var(--ink-muted);text-overflow:ellipsis;overflow:hidden}.error-banner{background:var(--error-bg);border-top:1px solid var(--error-line);color:var(--error);align-items:center;gap:.55rem;padding:.4rem .65rem .4rem .75rem;display:flex}.error-banner-icon{flex-shrink:0}.error-banner-message{flex:1;min-width:0;margin:0;font-size:.82rem;line-height:1.35}.error-banner-dismiss{width:1.6rem;height:1.6rem;color:var(--error);background:0 0;border:1px solid #0000;border-radius:3px;flex-shrink:0;padding:0;font-size:1.1rem;line-height:1}.error-banner-dismiss:hover{border-color:var(--error-line);background:#ffffff8c}.status-bar{z-index:4;background:var(--bg-header);border-top:1px solid var(--line);justify-content:space-between;align-items:stretch;gap:.5rem;min-height:1.7rem;font-size:.72rem;display:flex}.status-bar-left,.status-bar-right{align-items:stretch;min-width:0;display:flex}.status-bar-left{flex:1}.status-bar-right{flex:0 auto;justify-content:flex-end}.status-bar-item,.status-bar-message{color:var(--ink-muted);white-space:nowrap;align-items:center;margin:0;padding:0 .65rem;display:inline-flex}.status-bar-message{text-overflow:ellipsis;min-width:0;color:var(--ink);overflow:hidden}.status-bar-right>*{border-left:1px solid var(--line)}.status-bar .element-type-field{height:100%;padding:0 .15rem}.status-bar .formatter-select-wrap{height:100%;display:flex}.status-bar .element-type-label{padding-left:.45rem;font-size:.68rem}.status-bar .formatter-trigger,.status-bar .element-type-select{background:0 0;border:none;border-radius:0;min-width:0;height:100%;padding:0 .5rem;font-size:.72rem}.status-bar .model-trigger{min-width:0}.status-bar .formatter-menu.submenu,.status-bar .formatter-submenu{inset:auto 100% 0 auto}.status-bar .notes-flex-trigger{min-width:0}.status-bar .formatter-trigger:hover,.status-bar .element-type-select:hover:not(:disabled),.status-bar .formatter-trigger.open{background:#ffffff8c;border-color:#0000}.status-bar .menu{top:auto;bottom:calc(100% + 2px)}.status-bar .ai-review-meter{background:0 0;border:none;border-radius:0;flex-direction:row;align-items:center;gap:.45rem;min-width:0;min-height:0;margin:0;padding:0 .55rem}.status-bar .ai-review-meter:hover:not(:disabled){background:#ffffff8c;border-color:#0000}.status-bar .ai-review-meter-row{gap:.3rem}.status-bar .ai-review-meter-track{flex-shrink:0;width:2.4rem;height:.22rem}.workspace{grid-template-columns:var(--sidebar-width,220px) minmax(0, 1fr) 2.5rem;flex:1;gap:0;min-height:0;display:grid;position:relative}.workspace.preview-open{grid-template-columns:var(--sidebar-width,220px) minmax(0, 1fr) var(--preview-width,420px)}.workspace.sidebar-hidden{grid-template-columns:minmax(0,1fr) 2.5rem}.workspace.sidebar-hidden.preview-open{grid-template-columns:minmax(0, 1fr) var(--preview-width,420px)}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;min-height:2.15rem;display:flex}.panel-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);border-bottom:1px solid var(--line);background:0 0;margin:0;padding:.55rem .85rem;font-size:.72rem;font-weight:650}.panel-header .panel-title{border-bottom:none;flex:1;min-width:0}.editor-pane .panel-header .panel-title{flex:none}.editor-pane .panel-header{align-items:stretch;padding:0}.editor-tabs{flex:1;align-items:stretch;min-width:0;display:flex;overflow:hidden}.editor-tab-item{border-right:1px solid var(--line);background:0 0;align-items:stretch;min-width:0;display:flex}.editor-tab-item.is-active{z-index:1;background:var(--bg-panel);border-bottom:1px solid var(--bg-panel);margin-bottom:-1px;position:relative}.editor-tab{font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);background:0 0;border:none;border-radius:0;height:100%;padding:0 .85rem;font-size:.72rem;font-weight:650}.editor-tab-item.is-active .editor-tab{color:var(--ink)}.editor-tab:hover,.editor-tab-close:hover{background:#ffffff8c}.editor-tab-close{width:1.45rem;color:var(--ink-muted);background:0 0;border:1px solid #0000;border-radius:3px;flex-shrink:0;margin:.35rem .3rem .35rem 0;padding:0;font-size:1rem;line-height:1}.panel-close{width:1.45rem;height:1.45rem;color:var(--ink-muted);background:0 0;border:1px solid #0000;border-radius:3px;flex-shrink:0;margin:0 .15rem 0 0;padding:0;font-size:1rem;line-height:1}.panel-close:hover{border-color:var(--line);color:var(--ink);background:#ffffff8c}.editor-pane .project-title{flex:0 auto;justify-content:flex-start;align-self:center;margin-right:.55rem}.editor-pane .project-title.editing{width:auto}.status-toast{z-index:20;max-width:min(22rem,100% - 3rem);color:var(--ink);background:var(--page);border:1px solid var(--line);pointer-events:none;border-radius:6px;margin:0;padding:.55rem .8rem;font-size:.82rem;line-height:1.35;animation:.22s both status-toast-in;position:absolute;bottom:1.35rem;right:1.5rem;box-shadow:0 8px 24px #1c191424}@media (width>=961px){.workspace.preview-open .status-toast{right:min(calc(var(--preview-width,420px) + 1.35rem), max(1.5rem, calc(50vw - 22rem)))}}.status-toast.is-sticky{color:var(--ink-muted)}.status-toast.is-leaving{animation:.18s forwards status-toast-out}@keyframes status-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes status-toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.status-toast,.status-toast.is-leaving{animation:none}}.panel-toggle{width:1.7rem;height:1.7rem;color:var(--ink-muted);background:0 0;border:1px solid #0000;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;margin-right:.4rem;padding:0;display:inline-flex}.panel-toggle:hover{color:var(--ink);border-color:var(--line);background:#fff}.panel-toggle[aria-pressed=true]{color:var(--accent)}.screenplay-preview.collapsed .panel-header{justify-content:center}.screenplay-preview.collapsed .panel-toggle{margin-right:0}.panel-toggle-icon{display:block}.sidebar,.scene-list,.editor-pane,.screenplay-preview{background:var(--bg-panel);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.sidebar{min-width:0;min-height:0;position:relative}.sidebar-section{flex-direction:column;flex-shrink:1;flex-basis:0;min-width:0;min-height:4.5rem;display:flex;overflow:hidden}.sidebar-section .scene-list,.sidebar-section .continuity-panel,.sidebar-section .comments-panel{border-top:none;flex:auto;min-height:0;max-height:none}.sidebar-width-handle{width:6px;position:absolute;top:0;bottom:0;right:0;transform:translate(50%)}.sidebar-split-handle{flex:0 0 6px;align-self:stretch}.resize-handle{z-index:2;touch-action:none}.resize-handle-col{cursor:col-resize}.resize-handle-row{cursor:row-resize;position:relative}.resize-handle:after{content:"";background:0 0;transition:background .12s;position:absolute}.resize-handle-col:after{width:1px;top:0;bottom:0;left:50%;transform:translate(-50%)}.resize-handle-row:after{height:1px;top:50%;left:0;right:0;transform:translateY(-50%)}.sidebar-split-handle:after{background:var(--line)}.resize-handle:hover:after,.resize-handle:focus-visible:after,body.is-resizing-col .sidebar-width-handle:after,body.is-resizing-row .sidebar-split-handle:after{background:var(--accent)}.resize-handle:focus-visible{outline:none}body.is-resizing-col{cursor:col-resize;-webkit-user-select:none;user-select:none}body.is-resizing-row{cursor:row-resize;-webkit-user-select:none;user-select:none}body.is-resizing-col iframe,body.is-resizing-col .fountain-monaco,body.is-resizing-row iframe,body.is-resizing-row .fountain-monaco{pointer-events:none}.sidebar-tabs{border-bottom:1px solid var(--line);flex-shrink:0;align-items:stretch;min-height:2.15rem;display:flex}.sidebar-tab-list{flex:1;align-items:stretch;min-width:0;display:flex;overflow:hidden;container:navigator-tabs/inline-size}.sidebar-open-tab,.sidebar-tabs .panel-close{flex-shrink:0;align-self:center;margin:0 .3rem 0 .1rem}.sidebar-tab{min-width:0;font:inherit;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--ink-muted);border:none;border-right:1px solid var(--line);background:0 0;border-radius:0;flex:1;justify-content:center;align-items:center;padding:0 .55rem;font-size:.72rem;font-weight:650;display:inline-flex}.sidebar-tab:last-child{border-right:none}.sidebar-tab.is-active{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.sidebar-tab:hover{background:#ffffff8c}.sidebar-tab-icon{flex-shrink:0;display:none}.sidebar-tab-label{text-overflow:ellipsis;overflow:hidden}@container navigator-tabs (width<=11.75rem){.sidebar-tab-characters{flex:none;padding:0 .4rem}.sidebar-tab-characters .sidebar-tab-icon{display:block}.sidebar-tab-characters .sidebar-tab-label{display:none}}@container navigator-tabs (width<=7.75rem){.sidebar-tab-outline,.sidebar-tab-characters{flex:1 1 0;padding:0 .4rem}.sidebar-tab-outline .sidebar-tab-icon{display:block}.sidebar-tab-outline .sidebar-tab-label{display:none}}.scene-list{background:0 0;border-right:none;flex:58%;min-height:0}.editor-pane{border-right:1px solid var(--line)}.screenplay-preview{border-right:none;position:relative}.preview-resize-handle{z-index:2;cursor:col-resize;touch-action:none;width:6px;position:absolute;top:0;bottom:0;left:0;transform:translate(-50%)}.preview-resize-handle:after{content:"";background:0 0;width:1px;transition:background .12s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.preview-resize-handle:hover:after,.preview-resize-handle:focus-visible:after,body.is-resizing-preview .preview-resize-handle:after{background:var(--accent)}.preview-resize-handle:focus-visible{outline:none}body.is-resizing-preview{cursor:col-resize;-webkit-user-select:none;user-select:none}body.is-resizing-preview iframe,body.is-resizing-preview .fountain-monaco{pointer-events:none}.scene-list-empty{color:var(--ink-muted);margin:.85rem;font-size:.85rem}.scene-list-items{flex:1;margin:0;padding:.4rem;list-style:none;overflow:auto}.outline-row{align-items:flex-start;gap:.1rem;display:flex}.outline-row .scene-item{flex:1;min-width:0;margin-bottom:.15rem}.scene-item{text-align:left;background:0 0;border:none;border-radius:2px;grid-template-columns:1.5rem 1fr;align-items:start;gap:.45rem;width:100%;margin-bottom:.15rem;padding:.45rem .5rem;display:grid}.scene-item:hover{background:#efeae0;border-color:#0000}.scene-item.active{background:var(--accent-soft)}.outline-section .outline-section-title{font-family:var(--font-ui);letter-spacing:.02em;font-size:.78rem;font-weight:650}.outline-mark{font-family:var(--font-ui);letter-spacing:-.06em;color:var(--accent)}.outline-shot{padding-top:.28rem;padding-bottom:.28rem}.outline-shot-title{font-size:.8rem;font-weight:500}.outline-shot-mark{color:var(--ink);justify-content:center;align-items:center;padding-top:.12rem;display:flex}.outline-shot-icon{display:block}.scene-index{color:var(--ink-muted);padding-top:.1rem;font-size:.75rem}.scene-note-btn{color:#b45309;background:0 0;border:1px solid #0000;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:1.55rem;height:1.55rem;margin:.35rem .2rem 0 0;padding:0;display:inline-flex;position:relative}.scene-ai-btn{width:1.55rem;height:1.55rem;color:var(--accent);background:0 0;border:1px solid #0000;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin:.35rem .05rem 0 0;padding:0;display:inline-flex}.scene-ai-btn:hover:not(:disabled),.scene-note-btn:hover{border-color:var(--line);background:#efeae0}.scene-ai-btn:disabled{opacity:.45}.scene-ai-btn.is-active,.scene-note-btn.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.scene-ai-icon,.scene-note-icon{display:block}.scene-note-count{color:#fff;text-align:center;background:#b45309;border-radius:999px;min-width:.9rem;height:.9rem;padding:0 .15rem;font-size:.58rem;font-weight:700;line-height:.9rem;position:absolute;top:-.3rem;right:-.25rem}.continuity-panel{border-top:1px solid var(--line);flex-direction:column;flex:42%;min-height:7.5rem;max-height:48%;display:flex}.comments-panel{border-top:1px solid var(--line);flex-direction:column;flex:36%;min-height:7.5rem;max-height:42%;display:flex}.sidebar.notes-only .continuity-panel,.sidebar.notes-only .comments-panel{border-top:none;flex:auto;max-height:none}.sidebar.notes-only .comments-panel{border-top:1px solid var(--line)}.sidebar.notes-only .continuity-header{border-bottom:1px solid var(--line);min-height:2.15rem}.sidebar.navigator-only .scene-list{flex:auto}.sidebar.comments-only .comments-panel{border-top:none;flex:auto;max-height:none}.editor-aux-panel{z-index:1;background:var(--bg-panel);flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.editor-aux-panel .scene-list,.editor-aux-panel .continuity-panel,.editor-aux-panel .comments-panel,.editor-aux-panel .card-board{border-top:none;flex:auto;min-height:0;max-height:none}.card-board-panel{background:#d9cbb8}.card-board{flex-direction:column;height:100%;min-height:0;display:flex}.card-board-header{background:#f7f5f08c;border-bottom:1px solid #1c191414;flex-shrink:0;padding:.55rem .9rem .15rem}.card-board-hint{color:var(--ink-muted);margin:0;font-size:.75rem;line-height:1.4}.card-board-scroll{flex-direction:column;flex:1;gap:1.15rem;min-height:0;padding:.9rem 1rem 1.4rem;display:flex;overflow:auto}.card-stack{flex-direction:column;gap:.5rem;display:flex}.card-stack.is-nested{border-left:2px solid #1c19141a;margin-left:.5rem;padding-left:.75rem}.card-stack-label{align-items:center;gap:.4rem;min-width:0;display:flex}.card-stack-mark{letter-spacing:.04em;color:var(--ink-muted);flex-shrink:0;font-size:.72rem;font-weight:700}.card-stack-title{font:inherit;color:var(--ink);min-width:0;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:2px;flex:1;padding:.15rem .35rem;font-size:.92rem;font-weight:650}.card-stack-title:hover,.card-stack-title:focus{border-color:var(--line);background:#fff}.card-row{flex-wrap:wrap;align-items:stretch;gap:.75rem;display:flex}.scene-card{cursor:grab;background:#fffdf6;border:1px solid #c4b49a;border-radius:2px;flex-direction:column;gap:.25rem;width:12.75rem;min-height:10rem;padding:.4rem .5rem .45rem;display:flex;box-shadow:0 1px 2px #1c191414}.scene-card:active{cursor:grabbing}.scene-card.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.scene-card.is-drop-before{box-shadow:inset 3px 0 0 var(--accent)}.scene-card.is-omitted{opacity:.72;background:#f3eee4}.scene-card-top{justify-content:flex-end;display:flex}.scene-card-index{letter-spacing:.06em;min-width:1.6rem;color:var(--accent);background:var(--accent-soft);border-color:#0000;border-radius:2px;padding:.1rem .35rem;font-size:.68rem;font-weight:700}.scene-card-heading{font-family:var(--font-script);color:var(--ink);resize:none;background:0 0;border:1px solid #0000;border-radius:2px;width:100%;padding:.1rem .15rem;font-size:.78rem;font-weight:700;line-height:1.25}.scene-card-heading:hover,.scene-card-heading:focus,.scene-card-synopsis:hover,.scene-card-synopsis:focus{border-color:var(--line);background:#fff}.scene-card-omitted{font-family:var(--font-script);letter-spacing:.04em;margin:.15rem 0 0;font-size:.78rem;font-weight:700}.scene-card-synopsis{font:inherit;color:var(--ink);resize:none;background:0 0;border:1px solid #0000;border-radius:2px;flex:1;width:100%;min-height:4.5rem;padding:.15rem;font-size:.78rem;line-height:1.35}.scene-card-synopsis::placeholder{color:var(--ink-muted)}.card-add{width:12.75rem;min-height:10rem;color:var(--ink-muted);background:#fffdf659;border:1px dashed #b7ac98;font-size:.82rem}.card-add:hover,.card-add.is-drop{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.continuity-header-actions .panel-toggle{margin-right:.15rem}.continuity-header{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.continuity-header .panel-title{border-bottom:none;padding-right:0}.continuity-header-actions{align-items:center;gap:.1rem;margin-right:.2rem;display:flex}.continuity-refresh{color:var(--ink-muted);background:0 0;border:1px solid #0000;margin-right:.25rem;padding:.2rem .45rem;font-size:.72rem}.continuity-refresh:hover:not(:disabled){border-color:var(--line);background:#fff}.continuity-filters{gap:.15rem;padding:0 .65rem .25rem;display:flex}.continuity-filter{color:var(--ink-muted);background:0 0;border:1px solid #0000;border-radius:3px;padding:.15rem .45rem;font-size:.68rem}.continuity-filter:hover{border-color:var(--line);background:#fff}.continuity-filter.is-active{border-color:var(--line);background:var(--accent-soft);color:var(--ink)}.continuity-empty{color:var(--ink-muted);margin:0;padding:.35rem .85rem .75rem;font-size:.8rem;line-height:1.4}.continuity-error{color:#8a2b2b}.continuity-list{flex:1;margin:0;padding:0 .4rem .5rem;list-style:none;overflow:auto}.continuity-row{border-radius:2px;margin-bottom:.15rem}.continuity-row.is-read .continuity-message{color:var(--ink-muted)}.continuity-item{text-align:left;background:0 0;border:none;border-radius:2px;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;margin-bottom:.15rem;padding:.4rem .5rem;display:flex}.continuity-item:hover{background:#efeae0;border-color:#0000}.continuity-item-heading{text-align:left;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;margin:0;padding:0;display:flex}.continuity-item-heading:hover{background:0 0;border-color:#0000}.continuity-panel.in-editor .continuity-header,.continuity-panel.in-editor .continuity-item-heading{-webkit-user-select:none;user-select:none}.continuity-panel.in-editor .continuity-message{-webkit-user-select:text;user-select:text;cursor:text}.continuity-type{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:.65rem;font-weight:650}.continuity-meta{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;display:flex}.continuity-importance{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.28rem;font-size:.62rem;font-weight:650;display:inline-flex}.continuity-importance-shape{fill:currentColor;flex-shrink:0;display:block}.continuity-importance.is-low{color:var(--note-low)}.continuity-importance.is-medium{color:var(--note-medium)}.continuity-importance.is-high{color:var(--note-high)}.continuity-scene{color:var(--ink-muted);font-size:.7rem}.continuity-message{font-size:.78rem;line-height:1.35}.continuity-actioned{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:.62rem;font-weight:650}.continuity-row.is-actioned .continuity-message{color:var(--ink-muted)}.continuity-item-actions{gap:.25rem;padding:0 .5rem .35rem;display:flex}.continuity-note-action{border:1px solid var(--line);color:var(--ink-muted);background:#fff;border-radius:3px;padding:.15rem .45rem;font-size:.68rem}.continuity-note-action:hover:not(:disabled){color:var(--ink);background:#efeae0}.continuity-note-fix:disabled{opacity:.55}.scene-heading{font-size:.8rem;line-height:1.35;font-family:var(--font-script)}.character-aliases{font-size:.68rem;font-family:var(--font-ui);color:var(--ink-muted);letter-spacing:0;margin-top:.1rem;display:block}.character-scenes{margin:0 0 .35rem;padding:0 .35rem 0 1.85rem;list-style:none}.character-scene{text-align:left;width:100%;color:var(--ink-muted);background:0 0;border:none;border-radius:2px;padding:.2rem .35rem;font-size:.72rem;line-height:1.35}.character-scene:hover{color:var(--ink);background:#efeae0;border-color:#0000}.character-journey{flex-shrink:0;padding:.15rem .35rem .45rem 1.85rem}.character-journey-btn{width:100%;padding:.3rem .45rem;font-size:.72rem}.character-journey-btn[aria-pressed=true]{background:#efeae0}.character-journey-view{padding:0 .35rem .15rem 1.85rem}.character-journey-hint{color:var(--ink-muted);margin:0 0 .35rem;font-size:.7rem;line-height:1.35}.character-journey-nav{align-items:center;gap:.35rem;margin-bottom:.35rem;display:flex}.character-journey-step{padding:.15rem .4rem;font-size:.68rem}.character-journey-count{text-align:center;color:var(--ink-muted);flex:1;font-size:.68rem}.character-journey-now{background:#efeae0;border-radius:2px;margin:0 0 .35rem;padding:.3rem .4rem;font-size:.72rem;line-height:1.35}.character-journey-now p{margin:0}.character-journey-now p+p{margin-top:.15rem}.character-journey-kicker{letter-spacing:.08em;text-transform:uppercase;color:#b45309;margin-right:.4rem;font-size:.62rem;font-weight:650;display:inline-block}.character-journey-beats{padding-left:0}.character-journey-beat{flex-direction:column;align-items:flex-start;gap:.1rem;display:flex}.character-journey-beat.is-active{color:var(--ink);background:#efeae0}.character-journey-beat-title{font-size:.72rem}.character-journey-beat-meta{color:var(--ink-muted);font-size:.68rem}.character-journey-notes{margin:0 0 .25rem;padding:0 0 0 .35rem;list-style:none}.character-journey-note{text-align:left;background:0 0;border:none;border-radius:2px;flex-direction:column;gap:.05rem;width:100%;padding:.15rem .35rem;display:flex}.character-journey-note.is-unread .character-journey-unread{color:#b45309}.character-journey-unread{letter-spacing:.08em;text-transform:uppercase;color:#b45309;font-size:.58rem;font-weight:650}.character-journey-note:hover{background:#efeae0}.character-journey-note-text{color:var(--ink);font-size:.7rem;line-height:1.35}.editor-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.editor-frame{flex:1;min-height:0}.fountain-monaco{height:100%}.monaco-editor .find-widget,.monaco-editor .find-widget *{box-sizing:content-box}.monaco-editor .overlayWidgets{z-index:40}.monaco-editor .find-widget{overflow:visible}.monaco-editor .find-widget>.button.codicon-widget-close{z-index:2}:is(.workbench-hover-container,.context-view:has(.workbench-hover-container)){pointer-events:none!important}.monaco-hover.workbench-hover.compact .hover-contents{white-space:nowrap!important}.preview-scroll{background:#ddd6c8;flex:1;padding:1rem;overflow:auto}.preview-empty{text-align:center;color:var(--ink-muted);margin:2rem 1rem;font-size:.85rem;line-height:1.45}.preview-pages{--preview-scale:.5;width:100%}.preview-page-slot{width:calc(8.5in * var(--preview-scale,1));height:calc(11in * var(--preview-scale,1));background:var(--page);margin:0 auto 1rem;position:relative;overflow:hidden;box-shadow:0 2px 8px #1c19141f}.preview-page{background:var(--page);color:#111;width:8.5in;height:11in;font-family:var(--font-script);box-sizing:border-box;transform-origin:0 0;transform:scale(var(--preview-scale,1));padding:1in 1in 1in 1.5in;font-size:12pt;line-height:1.15;position:absolute;top:0;left:0}.preview-page-number{margin:0;line-height:1;position:absolute;top:.5in;right:.75in}.preview-title-page{position:absolute;inset:0}.preview-title-block{text-align:center;position:absolute;top:30%;left:0;right:0}.preview-title-name{text-underline-offset:.18em;text-decoration:underline}.preview-title-by,.preview-title-author{margin-top:1.15em}.preview-title-author{white-space:pre-wrap}.preview-title-meta{text-align:right;white-space:pre-wrap;max-width:45%;position:absolute;top:75%;left:auto;right:1in}.preview-title-extra{margin-top:1em}.sp-empty{height:1em}.sp-page-break{border-top:1px dashed #bbb;margin:1.5em 0}.sp-title-page{text-align:center;margin:.25em 0}.sp-scene-heading{text-transform:uppercase;margin:1.5em 0 1em;font-weight:700;position:relative}.sp-scene-num{font-weight:400;position:absolute;top:0}.sp-scene-num.is-left{left:-.85in}.sp-scene-num.is-right{right:-.55in}.sp-revision-mark{color:var(--revision-color,#111);position:absolute;right:-.28in}.is-revised{position:relative}.sp-shot{text-transform:uppercase;margin:1em 0 .75em;font-weight:700}.sp-action{white-space:pre-wrap;margin:0 0 1em}.sp-character{text-align:center;text-transform:uppercase;width:65%;margin:1em auto 0}.sp-parenthetical{text-align:center;width:50%;margin:0 auto;font-style:italic}.sp-dialogue{white-space:pre-wrap;width:65%;margin:0 auto .15em}.sp-transition{text-align:right;text-transform:uppercase;margin:1em 0}.sp-centered{text-align:center;margin:1em 0}.sp-section{color:#276749;margin:1em 0 .5em;font-weight:700}.sp-synopsis{color:#718096;margin:.25em 0 1em;font-style:italic}.sp-note{color:#6b46c1;margin:.5em 0;font-style:italic}.preview-page .is-clickable{cursor:pointer;border-radius:1px}.preview-page .is-clickable:hover{background:#3d5a451a}.preview-page .is-commented{background:var(--accent-soft)}.preview-page .is-commented.is-clickable:hover,.preview-page .is-commented.is-selected{background:#c5d8c9}.preview-page .is-selected:not(.is-commented){background:var(--accent-soft)}.comment-compose,.comment-reply-form{flex-direction:column;gap:.35rem;padding:.35rem .75rem .55rem;display:flex}.comment-reply-form{flex-direction:row;align-items:center}.comment-field{color:var(--ink-muted);flex-direction:column;gap:.15rem;font-size:.72rem;display:flex}.comment-field input,.comment-input{font:inherit;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:2px;padding:.35rem .5rem}.comment-compose-hint,.comment-excerpt{color:var(--ink-muted);margin:0;font-size:.72rem;line-height:1.35}.comment-thread{border-bottom:1px solid var(--line);margin-bottom:.35rem;padding:.2rem 0}.comment-thread.is-selected{background:var(--accent-soft)}.comment-item{text-align:left;background:0 0;border:none;border-radius:2px;flex-direction:column;align-items:flex-start;gap:.12rem;width:100%;padding:.35rem .5rem;display:flex}.comment-item:hover{background:#efeae0;border-color:#0000}.comment-item.is-reply{padding-left:1.1rem}.comment-meta{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:.45rem;font-size:.65rem;font-weight:650;display:flex}.comment-orphaned{color:var(--error)}.comment-body{white-space:pre-wrap;font-size:.82rem;line-height:1.4}.comment-resolve{align-self:flex-start;margin:0 .5rem .25rem;padding:.15rem .45rem;font-size:.72rem}.guest-app .guest-title{color:var(--ink-muted);border-left:1px solid var(--line);margin-left:.5rem;padding-left:.75rem;font-size:.92rem}.guest-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);border:1px solid var(--line);border-radius:2px;padding:.2rem .5rem;font-size:.72rem}.guest-workspace{flex:1;grid-template-columns:minmax(0,1fr) minmax(260px,22rem);min-height:0;display:grid}.guest-preview{background:#ddd6c8;padding:1rem;overflow:auto}.guest-workspace .comments-panel{border-top:none;border-left:1px solid var(--line);background:var(--bg-panel);max-height:none}@media (width<=960px){.titlebar{flex-wrap:wrap;min-height:0;padding-top:.25rem;padding-bottom:.25rem}.titlebar-left,.titlebar-right{justify-content:flex-start;width:100%}.menubar{flex-wrap:wrap}.sync-status{max-width:none}.status-bar{flex-wrap:wrap;min-height:0}.status-bar-left,.status-bar-right{width:100%}.workspace{grid-template-rows:minmax(160px,28vh) minmax(240px,1fr) 2.5rem;grid-template-columns:1fr}.workspace.preview-open{grid-template-rows:minmax(120px,22vh) minmax(240px,45vh) minmax(240px,1fr);grid-template-columns:1fr}.workspace.sidebar-hidden{grid-template-rows:minmax(240px,1fr) 2.5rem;grid-template-columns:1fr}.workspace.sidebar-hidden.preview-open{grid-template-rows:minmax(240px,1fr) minmax(240px,1fr);grid-template-columns:1fr}.sidebar,.scene-list,.editor-pane,.screenplay-preview{border-left:none;border-right:none;border-bottom:1px solid var(--line)}.screenplay-preview{border-bottom:none}.preview-resize-handle,.sidebar-width-handle,.sidebar-split-handle{display:none}.screenplay-preview.collapsed .panel-header{border-bottom:none}.guest-workspace{grid-template-rows:minmax(240px,1fr) minmax(220px,40vh);grid-template-columns:1fr}.guest-workspace .comments-panel{border-left:none;border-top:1px solid var(--line)}}
