:root{--bg:#faf8f5;--bg-elev:#fff;--bg-sunk:#f2efea;--bg-hover:#ece8e1;--fg:#23201c;--fg-muted:#6f675d;--fg-faint:#a39a8e;--border:#e3ddd4;--border-strong:#cfc6b9;--accent:#8a4b2a;--accent-fg:#fff;--accent-soft:#f3e4d9;--link:#8a4b2a;--link-unresolved:#b0a594;--tag:#4f6d7a;--danger:#b42318;--danger-soft:#fde8e6;--ok:#2f7d4f;--warn:#a15c00;--warn-soft:#fff2db;--shadow:0 8px 28px #23201c24, 0 1px 3px #23201c14;--radius:8px;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-prose:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-mono:ui-monospace, "Cascadia Code", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#1a1816;--bg-elev:#23201d;--bg-sunk:#151311;--bg-hover:#2e2a26;--fg:#ece6dd;--fg-muted:#a69d91;--fg-faint:#6e665c;--border:#36312c;--border-strong:#4a443d;--accent:#e0956a;--accent-fg:#1a1816;--accent-soft:#3a2a20;--link:#e7a47c;--link-unresolved:#7b7266;--tag:#8fb3c2;--danger:#f2877b;--danger-soft:#3b1f1c;--ok:#6fcf97;--warn:#f0b65a;--warn-soft:#3a2c14;--shadow:0 8px 28px #00000080, 0 1px 3px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:14px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--link)}.btn{border:1px solid var(--border-strong);background:var(--bg-elev);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;line-height:1.4;display:inline-flex}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn-ghost{background:0 0;border-color:#0000}.btn-danger{color:var(--danger)}.btn-sm{padding:1px 7px;font-size:12px}.btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.input,.select{border:1px solid var(--border-strong);background:var(--bg-elev);border-radius:6px;min-width:0;padding:4px 8px}.input:focus,.select:focus,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.input-bare{background:0 0;border:none;outline:none;width:100%;padding:0}.muted{color:var(--fg-muted)}.faint{color:var(--fg-faint)}.small{font-size:12px}.row{align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.chip{background:var(--bg-sunk);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:12px;display:inline-flex}.badge{background:var(--bg-sunk);color:var(--fg-muted);border-radius:4px;padding:0 6px;font-size:11px;display:inline-block}.badge-warn{background:var(--warn-soft);color:var(--warn)}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev)}.panel-head{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.panel-body{padding:10px 12px}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);margin:16px 0 6px;font-size:11px;font-weight:600}.list{margin:0;padding:0;list-style:none}.list-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 8px;display:flex}.list-item:hover,.list-item.selected{background:var(--bg-hover)}.view{height:100%;padding:24px 32px 80px;overflow:auto}.view-narrow{max-width:820px;margin:0 auto}.view-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.view-title{font-family:var(--font-prose);margin:0;font-size:28px;font-weight:600}input.view-title{background:0 0;border:none;outline:none;width:100%;padding:0}table.props{border-collapse:collapse;width:100%}table.props td,table.props th{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:4px 6px}table.props th{color:var(--fg-muted);width:30%;font-weight:500}.modal-backdrop{z-index:100;background:#14100c59;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.modal{background:var(--bg-elev);border:1px solid var(--border);width:min(620px,92vw);max-height:70vh;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.empty{text-align:center;color:var(--fg-muted);padding:24px}.side-group{margin-bottom:10px}.side-head{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;display:flex}.side-item{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:5px;align-items:center;gap:6px;padding:2px 8px;display:flex;overflow:hidden}.side-item:hover{background:var(--bg-hover)}.side-item.selected{background:var(--accent-soft);color:var(--accent)}.side-indent{padding-left:22px}.side-indent2{padding-left:36px}.toasts{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--bg-elev);border:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:var(--shadow);border-radius:8px;max-width:420px;padding:10px 14px}.toast-error{border-left-color:var(--danger)}.prose{font-family:var(--font-prose);font-size:17px;line-height:1.7}.prose h1,.prose h2,.prose h3{line-height:1.25}.wikilink,.cm-wikilink{color:var(--link);border-bottom:1px solid color-mix(in srgb, var(--link) 35%, transparent);cursor:pointer;text-decoration:none}.wikilink.unresolved,.cm-wikilink.unresolved{color:var(--link-unresolved);border-bottom-style:dashed}.tag,.cm-tag{color:var(--tag);background:color-mix(in srgb, var(--tag) 12%, transparent);cursor:pointer;border-radius:4px;padding:0 3px;text-decoration:none}.callout{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:6px;margin:12px 0;padding:8px 12px}.callout-warning{border-left-color:var(--warn);background:var(--warn-soft)}.callout-title{font-weight:600;font-family:var(--font-ui);font-size:14px}.embed{border:1px solid var(--border);border-left:3px solid var(--link);background:var(--bg-sunk);border-radius:6px;margin:12px 0;padding:6px 12px;font-size:15px}table.frontmatter{font-family:var(--font-ui);border-collapse:collapse;margin-bottom:12px;font-size:13px}table.frontmatter td{border:1px solid var(--border);padding:2px 8px}li.task{margin-left:-1.3em;list-style:none}.hovercard{z-index:150;background:var(--bg-elev);border:1px solid var(--border);width:300px;box-shadow:var(--shadow);border-radius:10px;padding:10px 12px;font-size:13px;position:fixed}.hovercard .hc-title{align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.hovercard .hc-time{color:var(--fg-muted);margin-bottom:6px;font-size:11px}.prop-line{flex-wrap:wrap;align-items:baseline;padding:1px 0;display:flex}.prop-line .badge{margin-left:6px}.prop-line .k{color:var(--fg-muted)}.prop-line .v{margin-left:4px;font-weight:500}.prop-line .src{color:var(--fg-faint);margin-left:auto;font-size:11px}.menu{background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow);z-index:120;border-radius:8px;flex-direction:column;min-width:210px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.menu-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:6px 10px}.menu-item:hover{background:var(--bg-hover)}.export-backdrop{padding-top:6vh}.modal.export-modal{width:min(1040px,96vw);height:min(720px,86vh);max-height:86vh}.export-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.export-heading{color:var(--fg);margin:0;font-size:15px;font-weight:600}.export-body{flex:1;grid-template-columns:minmax(280px,340px) minmax(0,1fr);min-height:0;display:grid}.export-options{border-right:1px solid var(--border);background:var(--bg-sunk);flex-direction:column;gap:4px;padding:14px 16px 18px;display:flex;overflow-y:auto}.export-section{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 0;display:flex}.export-section:last-child{border-bottom:none}.export-label{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);font-size:11px;font-weight:600}.export-field{flex-direction:column;gap:4px;min-width:0;display:flex}.export-field .select,.export-field .input{width:100%}.export-quick{flex-wrap:wrap;gap:6px;display:flex}.export-quick .btn{text-overflow:ellipsis;max-width:100%;overflow:hidden}.export-range{grid-template-columns:1fr 1fr;gap:8px;display:grid}.export-range .export-field .select{text-overflow:ellipsis;font-size:12.5px}.export-hint{color:var(--warn);margin:0;font-size:12px}.export-check,.export-radio{color:var(--fg);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.export-formats{flex-direction:column;gap:6px;display:flex}.export-preview-pane{background:var(--bg-elev);flex-direction:column;min-width:0;min-height:0;display:flex}.export-preview-head{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 8px;display:flex}.export-stats{color:var(--fg-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.export-pre{border:1px solid var(--border);background:var(--bg-sunk);min-height:0;color:var(--fg);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;border-radius:6px;flex:1;margin:0 16px 16px;padding:14px 16px;font-size:12.5px;line-height:1.55;overflow:auto}.export-frame{border:1px solid var(--border);background:#faf8f5;border-radius:6px;flex:1;width:calc(100% - 32px);min-height:0;margin:0 16px 16px}.export-foot{border-top:1px solid var(--border);background:var(--bg-elev);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.export-file{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);color:var(--fg-muted);font-size:12px;overflow:hidden}.export-actions{flex-shrink:0;gap:8px;display:flex}@media (width<=760px){.modal.export-modal{height:90vh;max-height:90vh}.export-body{grid-template-rows:auto minmax(240px,1fr);grid-template-columns:minmax(0,1fr);overflow:hidden}.export-options{border-right:none;border-bottom:1px solid var(--border);max-height:45vh}}.folder-sync{align-items:center;min-width:0;display:inline-flex;position:relative}.folder-sync-pill{color:var(--fg-muted);font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:6px;max-width:280px;padding:4px 8px;font-size:12px;overflow:hidden}.folder-sync-pill:hover{background:var(--bg-hover);color:var(--fg)}.folder-sync-pill.error{color:var(--danger)}.folder-sync-reconnect{color:var(--warn);border-color:var(--warn);text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.folder-sync-menu{min-width:260px;max-width:min(320px,100vw - 32px);padding:10px}.folder-sync-title{overflow-wrap:anywhere;font-size:13px;font-weight:600}.folder-sync-meta{color:var(--fg-muted);margin:2px 0 8px;font-size:12px}.folder-sync-error{color:var(--danger);overflow-wrap:anywhere;margin-bottom:8px;font-size:12px}.folder-sync-note{color:var(--fg-muted);margin:0 0 6px;font-size:12px;line-height:1.4}.aff-chips{flex-wrap:wrap;gap:6px;display:flex}.aff-chip-wrap{border:1px solid var(--border);background:var(--bg-elev);border-radius:999px;align-items:center;max-width:100%;transition:border-color .12s,background .12s;display:inline-flex}.aff-chip-wrap:hover,.aff-chip-wrap.is-leaving{border-color:var(--border-strong);background:var(--bg-hover)}.aff-chip{min-width:0;color:var(--fg);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:2px 8px 2px 7px;font-size:12px;line-height:1.5;display:inline-flex}.aff-chip:hover{text-decoration:underline}.aff-chip:focus-visible,.aff-x:focus-visible,.aff-member:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.aff-x{color:var(--fg-faint);cursor:pointer;background:0 0;border:none;padding:0 7px 0 1px;font-size:14px;line-height:1}.aff-x:hover{color:var(--danger)}.aff-dot{background:var(--fg-faint);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.aff-empty{margin:0}.aff-confirm{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunk);flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.aff-confirm b{font-weight:600}.aff-join{border-top:1px solid var(--border);padding-top:10px}.aff-when{max-width:100%}.aff-members{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.aff-member{width:100%;color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:inline-flex}.aff-member:hover{background:var(--bg-hover)}.cm-author-note{color:var(--fg-muted);background:var(--warn-soft);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:0 2px;font-style:italic}.cm-note-marker{background:var(--warn-soft);min-width:1.4em;color:var(--fg-muted);text-align:center;vertical-align:.1em;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;margin:0 2px;padding:0 4px;font-size:.8em;line-height:1.5;display:inline-block}.cm-note-marker:hover{color:var(--fg);box-shadow:inset 0 0 0 1px var(--border-strong)}.author-note{color:var(--fg-muted);background:var(--warn-soft);border-radius:4px;padding:0 2px;font-style:italic}.author-notes-panel .panel-head{justify-content:space-between}.author-notes-count{font-variant-numeric:tabular-nums;color:var(--fg-faint);font-weight:500}.author-notes-empty{margin:0;font-size:13px;line-height:1.5}.notes-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.notes-item{text-align:left;width:100%;font:inherit;color:var(--fg-muted);background:var(--warn-soft);cursor:pointer;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #0000;border-radius:6px;padding:6px 8px;font-size:13px;font-style:italic;line-height:1.45;display:block}.notes-item:hover{border-color:var(--border-strong)}.notes-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.notes-view{padding-bottom:80px}.notes-count{background:var(--bg-sunk);border:1px solid var(--border);color:var(--fg-muted);font-family:var(--font-ui);vertical-align:middle;font-variant-numeric:tabular-nums;border-radius:999px;margin-left:8px;padding:1px 9px;font-size:13px;font-weight:600;display:inline-block}.notes-intro{margin:4px 0 14px;font-size:12.5px}.notes-filter{box-sizing:border-box;width:100%;font-family:var(--font-ui);color:var(--fg);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-size:13px}.notes-filter::placeholder{color:var(--fg-faint)}.notes-filter:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.notes-empty{color:var(--fg-muted);margin-top:20px;font-size:13px}.notes-group{margin-top:22px}.notes-group-head{border-bottom:1px solid var(--border);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);align-items:center;gap:8px;margin:0 0 6px;padding-bottom:6px;font-size:11px;font-weight:600;display:flex}.notes-group-dot{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px}.notes-group-count{font-variant-numeric:tabular-nums;color:var(--fg-faint);font-weight:500}.notes-rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notes-row{text-align:left;width:100%;font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.notes-row:hover{background:var(--bg-hover)}.notes-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.notes-row-where{font-family:var(--font-ui);color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.notes-row-text{font-family:var(--font-prose);color:var(--fg-muted);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:14px;font-style:italic;line-height:1.5;display:-webkit-box;overflow:hidden}.scene-layout{height:100%}.scene-side{border-left:1px solid var(--border);background:var(--bg-sunk);flex-direction:column;gap:12px;padding:12px;display:flex;overflow:auto}.change-row{border-bottom:1px dashed var(--border);flex-direction:column;gap:4px;padding-bottom:8px;display:flex}.change-row:last-child{border-bottom:none}.place-row{gap:4px}.world-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:13px}.world-name{color:var(--fg);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.editor{min-height:60vh}.chapter-scene{border-top:1px solid var(--border);margin-top:1.8em;padding-top:.7em}.inspector{background:var(--bg-sunk);border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex;overflow:hidden auto}.inspector>*{flex:none}.insp-section{flex-direction:column;gap:8px;min-width:0;padding:12px;display:flex}.insp-scene{border-bottom:1px solid var(--border)}.insp-sec-head{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);align-items:center;gap:8px;padding-bottom:4px;font-size:11px;font-weight:600;display:flex}.insp-count{background:var(--bg-hover);min-width:20px;color:var(--fg-muted);letter-spacing:0;text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;margin-left:auto;padding:0 6px;font-size:11px}.insp-time{background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:8px;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.insp-time.is-writing{border-left-color:var(--accent)}.insp-time.is-playhead{border-left-color:var(--tl-playhead,#e5484d)}.insp-time-label{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);font-size:10px;font-weight:600}.insp-scene-title{font-family:var(--font-prose);overflow-wrap:anywhere;margin-top:2px;font-size:18px;font-weight:600;line-height:1.25}.insp-glyph{color:var(--fg-faint);margin-right:2px}.insp-time-sub{color:var(--fg-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.4}.insp-time-stat{color:var(--fg-faint);font-variant-numeric:tabular-nums;font-size:11px}.insp-open{align-self:flex-start}.insp-chips{flex-wrap:wrap;gap:6px;display:flex}.insp-chip{border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--fg-muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;line-height:1.6;display:inline-flex}.insp-chip:hover{background:var(--bg-hover);color:var(--fg)}.insp-chip.on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.insp-caret{opacity:.8;font-size:10px}.insp-drawer{border-left:2px solid var(--border);min-width:0;padding:2px 0 2px 10px}.inspector .panel{background:0 0;border:none;border-radius:0}.inspector .panel-head{letter-spacing:.06em;color:var(--fg-muted);background:0 0;border-bottom:none;padding:0 0 6px;font-size:11px}.inspector .panel-body{padding:6px 0 0}.inspector .place-row,.inspector .change-row{font-size:12.5px}.inspector .change-row{padding-bottom:6px}.insp-empty{color:var(--fg-faint);padding:4px 2px;font-size:12px;line-height:1.5}.insp-empty code{font-family:var(--font-mono);background:var(--bg-elev);border-radius:3px;padding:0 3px}.insp-cast{gap:4px}.insp-card{background:var(--bg-elev);border:1px solid var(--border);min-width:0;box-shadow:inset 3px 0 0 var(--type,var(--accent));border-radius:6px;padding:0 8px 0 10px;font-size:12.5px}.insp-card[data-open=true]{padding-bottom:7px}.insp-card-head{cursor:pointer;border-radius:6px;align-items:center;gap:6px;min-width:0;min-height:26px;margin:0 -8px 0 -10px;padding:0 8px 0 10px;display:flex}.insp-card-head:hover{background:var(--bg-hover)}.insp-card-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.insp-card-name{min-width:0;color:var(--fg);overflow-wrap:anywhere;font-weight:600;text-decoration:none}.insp-card-name:hover{text-decoration:underline}.insp-card-type{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.insp-card-delta{color:var(--accent);flex:none;font-size:11px;font-weight:600}.insp-card-caret{color:var(--fg-muted);flex:none;font-size:10px}.insp-card-summary{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;margin-top:2px;overflow:hidden}.insp-k{color:var(--fg-faint)}.insp-card .aff-chips{margin-top:4px}.insp-card-body{border-top:1px dashed var(--border);flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;display:flex}.insp-card-body .cast-here{border-top:none;margin-top:0;padding-top:0}.cast-log{border-left:2px solid color-mix(in srgb, var(--type,var(--accent)) 50%, transparent);margin:2px 0 4px;padding:0 0 0 10px;list-style:none}.cast-log li{padding:1px 0;font-size:12.5px;line-height:1.35}.cast-log-msg{font-family:var(--font-prose);font-style:italic}.cast-log-src{color:var(--fg-faint);font-size:11px}.cast-here{border-top:1px dashed var(--border);margin-top:4px;padding-top:4px}.cast-here-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-right:4px;font-size:10px;font-weight:700}.cast-commit-btn{border:1px dashed var(--border-strong);color:var(--fg-muted);cursor:pointer;text-align:left;background:0 0;border-radius:6px;width:100%;margin-top:6px;padding:3px 8px;font-size:12px}.cast-commit-btn:hover{color:var(--accent);border-color:var(--accent)}.cast-actions{gap:6px;min-width:0;display:flex}.cast-actions .cast-commit-btn{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;overflow:hidden}.commit-composer{flex-direction:column;gap:6px;margin-top:6px;display:flex}.commit-composer textarea{resize:vertical;font-family:var(--font-prose);font-size:14px}.cast-add{min-width:0;margin-top:2px;display:flex}.insp-scene-tools{align-items:center;gap:6px;min-width:0;display:flex}.anchor-note{line-height:1.4}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.insp-scope{text-transform:none;letter-spacing:0;min-width:0;max-width:150px;font-size:11px;font-weight:500}.cast-in{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.cast-in-scene{border:1px solid var(--border);color:var(--fg-muted);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:999px;max-width:140px;padding:0 7px;font-size:11px;overflow:hidden}.cast-in-scene:hover{color:var(--fg);border-color:var(--border-strong)}.sidebar-shell{--act-bg:color-mix(in srgb, var(--bg-sunk) 92%, #000);flex-direction:row;flex:auto;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.act-bar{box-sizing:border-box;background:var(--act-bg);border-right:1px solid var(--border);flex-direction:column;flex:none;align-items:center;gap:2px;width:44px;min-height:0;padding:6px 0;display:flex}.act-spacer{flex:1}.act-group{border-top:1px solid var(--border);scrollbar-width:none;flex-direction:column;align-items:center;gap:2px;width:100%;min-height:0;padding-top:6px;display:flex;overflow-y:auto}.type-glyph{place-items:center;display:inline-grid}.type-glyph-letter{border:1.6px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;line-height:1;display:grid}.act-btn{width:40px;height:40px;color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;padding:0;transition:background-color .12s,color .12s;display:grid;position:relative}.act-btn:hover{background:var(--bg-hover);color:var(--fg)}.act-btn[aria-pressed=true]{color:var(--fg)}.act-btn[aria-pressed=true]:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:9px;bottom:9px;left:0}.act-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.act-badge{background:var(--accent);min-width:15px;height:15px;color:var(--accent-fg);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 4px;font-size:9.5px;font-weight:600;line-height:15px;position:absolute;top:4px;right:3px}.sidebar.left-panel{box-sizing:border-box;flex-direction:column;flex:none;width:256px;min-width:0;height:100%;min-height:0;padding:0;font-size:13px;animation:.14s ease-out lp-in;display:flex;overflow:hidden}@keyframes lp-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sidebar.left-panel{animation:none}}.lp-body{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.lp-faint{color:var(--fg-faint)}.lp-small{font-size:12px}.lp-caret{text-align:center;width:10px;color:var(--fg-faint);flex:none;font-size:10px}.lp-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.lp-swatch{border-radius:3px;flex:none;width:10px;height:10px}.lp-badge{background:var(--bg-sunk);color:var(--fg-muted);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;flex:none;padding:1px 5px;font-size:10px}.lp-head{text-transform:uppercase;letter-spacing:.06em;height:34px;color:var(--fg-muted);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:4px;padding:0 8px 0 12px;font-size:11px;font-weight:600;display:flex}.lp-head-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lp-grow{flex:1}.lp-count{letter-spacing:0;color:var(--fg-faint);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:500}.lp-subhead{color:var(--fg-faint);white-space:nowrap;text-overflow:ellipsis;flex:none;padding:8px 12px 0;font-size:11px;overflow:hidden}.lp-add{width:24px;height:24px;color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:0;font-size:16px;line-height:1}.lp-add:hover{background:var(--bg-hover);color:var(--fg)}.lp-add:focus-visible,.lp-icon:focus-visible,.lp-picker:focus-visible,.lp-row:focus-visible,.lp-result:focus-visible,.lp-note:focus-visible,.lp-add-scene:focus-visible,.lp-input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lp-search{flex:none;padding:8px 10px 6px;position:relative}.lp-input{border:1px solid var(--border);background:var(--bg-elev);width:100%;height:28px;color:var(--fg);border-radius:6px;outline:none;padding:0 26px 0 9px;font-size:13px}.lp-input::placeholder{color:var(--fg-faint)}.lp-input:focus{border-color:var(--accent)}.lp-clear{color:var(--fg-faint);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:15px;line-height:1;position:absolute;top:50%;right:16px;transform:translateY(-60%)}.lp-clear:hover{color:var(--fg)}.lp-type{flex:none;padding:0 10px 6px;position:relative}.lp-type-trigger{border:1px solid var(--border-strong);background:var(--bg-elev);width:100%;height:28px;color:var(--fg);text-align:left;cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:0 8px 0 9px;font-size:13px;display:flex}.lp-type-trigger:hover{background:var(--bg-hover)}.lp-type-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.lp-type-trigger:focus-visible,.lp-type-opt:focus-visible,.lp-type-create:focus-visible,.lp-type-colour:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lp-type-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.lp-type-count{color:var(--fg-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:11px}.lp-type-pop{z-index:30;border:1px solid var(--border);background:var(--bg-elev);max-height:min(420px,62vh);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% - 2px);left:10px;right:10px;overflow-y:auto}.lp-type-pop:focus{outline:none}.lp-type-opt{width:100%;min-height:28px;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:4px 8px;font-size:13px;display:flex}.lp-type-opt:hover:not(:disabled),.lp-type-opt:focus-visible{background:var(--bg-hover)}.lp-type-opt[aria-checked=true]{background:var(--accent-soft);color:var(--accent)}.lp-type-opt:disabled{opacity:.5;cursor:default}.lp-type-accent{color:var(--accent);font-weight:600}.lp-type-faint{color:var(--fg-muted);font-size:12px}.lp-type-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lp-type-n{color:var(--fg-faint);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.lp-type-opt[aria-checked=true] .lp-type-n{color:var(--accent)}.lp-type-unused{color:var(--fg-faint);flex:none;font-size:10.5px;font-style:italic}.lp-type-div{background:var(--border);height:1px;margin:4px 2px}.lp-type-check{color:var(--accent);flex:none;font-size:12px}.lp-type-add{flex-direction:column;min-height:0;display:flex}.lp-type-head{align-items:center;gap:6px;padding:2px 4px 4px;display:flex}.lp-type-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);font-size:11px;font-weight:600}.lp-type-section{letter-spacing:.05em;text-transform:uppercase;color:var(--fg-faint);padding:8px 8px 4px;font-size:11px;font-weight:600}.lp-type-presets{margin:0;padding:0;list-style:none}.lp-type-preset{align-items:flex-start;padding:5px 8px}.lp-type-preset .lp-dot{margin-top:5px}.lp-type-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.lp-type-main .lp-type-name{align-items:center;gap:6px;display:flex}.lp-type-desc{text-overflow:ellipsis;white-space:nowrap;color:var(--fg-muted);font-size:11.5px;overflow:hidden}.lp-type-custom{border-top:1px solid var(--border);margin-top:4px;padding:0 4px 4px}.lp-type-custom-row{align-items:center;gap:4px;padding:0 4px;display:flex}.lp-type-custom-row .lp-input{flex:1;min-width:0;padding-right:9px}.lp-type-colour{border:1px solid var(--border-strong);background:var(--bg-elev);cursor:pointer;border-radius:6px;flex:none;width:30px;height:28px;padding:2px}.lp-type-create{border:1px solid var(--accent);background:var(--accent);height:28px;color:var(--accent-fg);cursor:pointer;border-radius:6px;flex:none;padding:0 10px;font-size:12px;font-weight:600}.lp-type-create:disabled{opacity:.45;cursor:default}.lp-list{flex:1;min-height:0;padding:4px 6px 6px;overflow-y:auto}.lp-row{width:100%;height:25px;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:7px;padding:0 8px;font-size:13px;display:flex}.lp-row:hover{background:var(--bg-hover)}.lp-row.on{background:var(--accent-soft);color:var(--accent)}.lp-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lp-row-type{text-overflow:ellipsis;white-space:nowrap;max-width:40%;color:var(--fg-faint);flex:none;font-size:11px;overflow:hidden}.lp-row-count{color:var(--fg-faint);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.lp-row-words{color:var(--fg-faint);opacity:.85;font-variant-numeric:tabular-nums;flex:none;font-size:11px}.lp-row-count+.lp-row-words:before{content:"·";margin:0 4px}.lp-more,.lp-empty{color:var(--fg-faint);padding:6px 8px;font-size:12px;line-height:1.45}.lp-foot{border-top:1px solid var(--border);flex:none;padding:6px 10px}.lp-link{color:var(--link);cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:12px}.lp-link:hover:not(:disabled){text-decoration:underline}.lp-link:disabled{color:var(--fg-faint);cursor:default}.lp-result{width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:3px;padding:7px 8px;display:flex}.lp-result:hover{background:var(--bg-hover)}.lp-result-head{align-items:center;gap:7px;min-width:0;display:flex}.lp-result-snippet{-webkit-line-clamp:2;color:var(--fg-muted);word-break:break-word;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.lp-mark{background:var(--accent-soft);color:var(--accent);border-radius:2px;padding:0 1px;font-weight:600}.lp-ngroup{margin-bottom:4px}.lp-ngroup-head{letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted);align-items:center;gap:6px;padding:10px 8px 4px;font-size:11px;font-weight:600;display:flex}.lp-note{width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.lp-note:hover{background:var(--bg-hover)}.lp-note-where{text-overflow:ellipsis;white-space:nowrap;color:var(--fg-faint);font-size:11px;overflow:hidden}.lp-note-text{-webkit-line-clamp:3;color:var(--fg-muted);word-break:break-word;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.lp-tag-row{color:var(--tag)}.lp-tag-row.on{background:color-mix(in srgb, var(--tag) 14%, transparent);color:var(--tag)}.lp-tag-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lp-tag-row .lp-row-count{color:var(--fg-faint)}.lp-picker-row{z-index:5;flex:none;align-items:center;gap:4px;padding:8px 8px 6px;display:flex;position:relative}.lp-picker-wrap{flex:1;min-width:0;position:relative}.lp-picker{border:1px solid var(--border-strong);background:var(--bg-elev);width:100%;height:32px;color:var(--fg);text-align:left;cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:0 8px 0 9px;font-size:13px;display:flex}.lp-picker:hover{background:var(--bg-hover)}.lp-picker[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.lp-picker-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.lp-picker-meta{color:var(--fg-muted);white-space:nowrap;flex:none;font-size:11px}.lp-icon{width:30px;height:32px;color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;padding:0;font-size:14px}.lp-icon:hover:not(:disabled){background:var(--bg-hover);color:var(--fg)}.lp-icon:disabled{opacity:.35;cursor:default}.lp-pop{z-index:30;border:1px solid var(--border);background:var(--bg-elev);max-height:min(360px,60vh);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.lp-pop-item{width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.lp-pop-item:hover{background:var(--bg-hover)}.lp-pop-item.on{background:var(--accent-soft);color:var(--accent)}.lp-pop-main{flex-direction:column;flex:1;min-width:0;display:flex}.lp-pop-sub{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.lp-pop-new{border-top:1px solid var(--border);color:var(--accent);border-radius:0 0 6px 6px;margin-top:4px}.lp-outline-btn{border:1px solid var(--border);background:var(--bg-elev);color:var(--fg);cursor:pointer;border-radius:5px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;display:inline-flex}.lp-outline-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.lp-outline-btn:disabled{opacity:.4;cursor:default}.lp-outline-btn:focus-visible,.lp-twisty:focus-visible,.lp-row-main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lp-split{gap:5px}.lp-twisty{border:1px solid var(--border);background:var(--bg-elev);width:20px;height:20px;color:var(--fg-muted);cursor:pointer;border-radius:4px;flex:none;place-items:center;padding:0;font-size:10px;display:grid}.lp-twisty:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.lp-row-main{min-width:0;height:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:7px;padding:0;display:flex}.lp-row-main:disabled{cursor:default}.lp-row-main:hover:not(:disabled) .lp-row-name{text-decoration:underline}.lp-outline-tools{justify-content:space-between;align-items:center;padding:2px 14px 0;font-size:12px;display:flex}.lp-outline{flex:1;min-height:0;padding:2px 6px 8px;overflow-y:auto}.lp-group{margin-bottom:2px}.lp-arc{letter-spacing:.05em;text-transform:uppercase;height:26px;color:var(--fg-muted);margin-top:6px;font-size:11px;font-weight:600}.lp-chapter{font-weight:600}.lp-scene{color:var(--fg-muted)}.lp-scene.on{color:var(--accent)}.lp-glyph{text-align:center;width:10px;color:var(--fg-faint);flex:none}.lp-add-row{border-top:1px solid var(--border);flex:none;padding:6px 8px}.lp-add-scene{border:1px dashed var(--border-strong);width:100%;height:28px;color:var(--fg-muted);cursor:pointer;background:0 0;border-radius:6px;font-size:12px}.lp-add-scene:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.lp-add-scene:disabled{opacity:.45;cursor:default}@media (prefers-reduced-motion:reduce){.act-btn{transition:none}}.lp-add-in-chapter{color:var(--fg-faint);cursor:pointer;font-size:12px}.lp-add-in-chapter:hover{color:var(--accent);background:var(--bg-hover)}.lp-twisty-gap{flex:none;width:20px;height:20px}.tl-tip{z-index:60;pointer-events:none;background:var(--bg-elev);border:1px solid var(--border-strong);min-width:160px;max-width:300px;box-shadow:var(--shadow);color:var(--fg);border-radius:8px;padding:7px 10px 6px;font-size:12px;line-height:1.4;position:fixed}.tl-tip-title{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.tl-tip-sub{color:var(--fg-muted);align-items:center;gap:6px;min-width:0;margin-top:1px;font-size:11px;display:flex}.tl-tip .dot{width:7px;height:7px}.tl-tip-story{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tl-tip-col{font-family:var(--font-mono);color:var(--fg-faint);flex:none;margin-left:auto;font-size:10.5px}.tl-tip-scenes{margin:5px 0 0;padding:0;list-style:none}.tl-tip-scenes li{white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-prose);overflow:hidden}.tl-tip-scenes li:before{content:"· ";color:var(--fg-faint)}.tl-tip-scenes li.tl-tip-more{font-family:var(--font-ui);color:var(--fg-faint);font-size:11px}.tl-tip-scenes li.tl-tip-more:before{content:none}.tl-tip-hint{border-top:1px solid var(--border);color:var(--fg-faint);margin-top:5px;padding-top:4px;font-size:11px}.tl-hover-line{background:color-mix(in srgb, var(--tl-text) 40%, transparent);pointer-events:none;z-index:3;width:1px;position:absolute;top:0;bottom:0}.tl-hl{align-items:center;gap:6px;min-width:0;display:flex}.tl-hl-anchor{flex:none;position:relative}.tl-hl-btn{align-items:center;gap:6px;display:inline-flex}.tl-hl-btn.active{border-color:var(--accent)}.tl-hl-count{background:var(--tl-btn-on);min-width:17px;height:16px;color:var(--tl-btn-on-fg);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10.5px;font-weight:600;line-height:1;display:inline-flex}.tl-hl-chips{align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.tl-hl-chip{border:1px solid var(--border-strong);background:var(--bg-elev);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;max-width:128px;height:22px;padding:0 2px 0 7px;font-size:11.5px;display:inline-flex}.tl-hl-chip .dot{width:7px;height:7px}.tl-hl-chip-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.tl-hl-x{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;height:18px;padding:0 4px;font-size:13px;line-height:1}.tl-hl-x:hover{color:var(--fg);background:var(--bg-hover)}.tl-hl-more{border:1px dashed var(--border-strong);height:22px;color:var(--tl-muted);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:0 8px;font-size:11.5px}.tl-hl-more:hover{color:var(--tl-text);border-style:solid}.tl-pop.tl-hl-pop{width:330px;padding:0;overflow:hidden}.tl-hl-search{border:1px solid var(--border-strong);background:var(--bg-sunk);color:var(--fg);-webkit-user-select:text;user-select:text;border-radius:6px;outline:none;margin:6px 6px 4px;padding:6px 9px;font-size:13px}.tl-hl-search:focus{outline:2px solid var(--accent);outline-offset:-1px}.tl-hl-list{max-height:340px;padding:2px 4px 4px;overflow-y:auto}.tl-hl-group{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);align-items:center;gap:6px;padding:8px 6px 3px;font-size:10px;font-weight:600;display:flex}.tl-hl-group .dot{width:8px;height:8px}.tl-hl-row{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:8px;padding:5px 8px;font-size:13px;display:flex}.tl-hl-row[data-active=true]{background:var(--bg-hover)}.tl-hl-row input{accent-color:var(--accent);pointer-events:none;flex:none;margin:0}.tl-hl-row .dot{width:8px;height:8px}.tl-hl-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tl-hl-match{color:var(--accent);font-weight:600}.tl-hl-row-count{color:var(--fg-faint);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.tl-hl-empty{text-align:center;color:var(--fg-muted);padding:14px 10px;font-size:12px}.tl-hl-foot{border-top:1px solid var(--border);color:var(--fg-muted);align-items:center;gap:8px;padding:6px 8px 6px 10px;font-size:11.5px;display:flex}:root{--tl-bg:#efebe4;--tl-panel:#e6e1d8;--tl-lane:#f6f3ee;--tl-lane-alt:#f1ede6;--tl-grid:#3c322812;--tl-text:#2a2621;--tl-muted:#7a7166;--tl-btn:#faf8f4;--tl-btn-on:#2a2621;--tl-btn-on-fg:#faf8f4;--tl-playhead:#e5484d}:root[data-theme=dark]{--tl-bg:#141210;--tl-panel:#1b1916;--tl-lane:#191714;--tl-lane-alt:#1d1b18;--tl-grid:#ffffff0b;--tl-text:#e9e3da;--tl-muted:#8a8175;--tl-btn:#26231f;--tl-btn-on:#e9e3da;--tl-btn-on-fg:#141210;--tl-playhead:#ff5a5f}.timeline{background:var(--tl-bg);height:100%;min-height:0;color:var(--tl-text);-webkit-user-select:none;user-select:none;outline:none;flex-direction:column;display:flex}.tl-toolbar{background:var(--tl-panel);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;padding:6px 10px;font-size:12px;display:flex;position:relative}.tl-minimize{z-index:1;border:1px solid var(--border-strong);background:var(--tl-btn);height:25px;color:var(--tl-text);white-space:nowrap;cursor:pointer;border-top:none;border-radius:0 0 8px 8px;align-items:center;gap:6px;padding:0 18px;font-size:12px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.tl-minimize:hover{background:var(--accent-soft);color:var(--accent)}@media (width<=1250px){.tl-minimize-long{display:none}}.tl-toolbar .tl-readout{flex:0 auto;min-width:160px;max-width:340px}.tl-readout{background:var(--tl-bg);border:1px solid var(--border);min-width:220px;max-width:420px;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:8px;padding:3px 10px;font-size:12px;display:flex;overflow:hidden}.tl-readout-dot{background:var(--tl-playhead);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--tl-playhead) 25%, transparent);border-radius:50%;flex:none}.tl-group{align-items:center;gap:4px;display:flex}.tl-seg{background:var(--tl-bg);border:1px solid var(--border);border-radius:7px;gap:2px;padding:2px}.tl-btn{background:var(--tl-btn);color:var(--tl-text);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;padding:2px 9px;font-size:12px;line-height:18px}.tl-seg .tl-btn{background:0 0}.tl-btn:hover{border-color:var(--border-strong)}.tl-btn.on{background:var(--tl-btn-on);color:var(--tl-btn-on-fg)}.tl-select{background:var(--tl-btn);color:var(--tl-text);border:1px solid var(--border);border-radius:5px;max-width:190px;padding:2px 6px;font-size:12px}.tl-scroll{flex:1;min-height:0;position:relative;overflow:auto}.tl-content{min-height:100%;position:relative}.tl-ruler{z-index:6;background:var(--tl-panel);border-bottom:1px solid var(--border);cursor:ew-resize;position:sticky;top:0}.tl-ruler-head{background:var(--tl-panel);border-right:1px solid var(--border);z-index:2;cursor:default;text-transform:uppercase;letter-spacing:.08em;align-items:center;height:100%;padding-left:12px;display:flex;position:sticky;left:0}.tl-tick{background:var(--tl-muted);opacity:.5;width:1px;height:6px;position:absolute;bottom:0}.tl-tick.major{opacity:.9;height:12px}.tl-tick-label{font-family:var(--font-mono);color:var(--tl-muted);white-space:nowrap;pointer-events:none;font-size:10px;position:absolute;top:3px}.tl-moment-label{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--tl-panel));height:16px;color:var(--tl-text);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:0 4px 4px 0;padding:0 6px;font-size:10.5px;line-height:15px;position:absolute;bottom:3px;overflow:hidden}.tl-track{border-bottom:1px solid var(--border);display:flex;position:relative}.tl-track:nth-of-type(2n) .tl-lane{background-color:var(--tl-lane-alt)}.tl-track-head{z-index:4;background:var(--tl-panel);border-right:1px solid var(--border);cursor:grab;flex:none;align-items:flex-start;gap:6px;padding:8px 8px 8px 0;display:flex;position:sticky;left:0}.tl-track-color{background:var(--story);border-radius:0 3px 3px 0;flex:none;align-self:stretch;width:4px}.tl-track-text{min-width:0}.tl-track-name{color:var(--tl-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;text-decoration:none;display:block;overflow:hidden}.tl-track-meta{color:var(--tl-muted);font-size:11px}.tl-icon{color:var(--tl-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 3px;font-size:13px}.tl-icon:hover{color:var(--tl-text);background:var(--tl-btn)}.tl-lane{background-color:var(--tl-lane);background-image:linear-gradient(to right, var(--tl-grid) 1px, transparent 1px);background-size:var(--col,150px) 100%;position:relative}.tl-span{cursor:pointer;white-space:nowrap;color:var(--tl-text);border-radius:4px;align-items:center;padding:0 6px;font-size:11px;display:flex;position:absolute;overflow:hidden}.tl-arc{background:color-mix(in srgb, var(--story) 34%, var(--tl-lane));border:1px solid color-mix(in srgb, var(--story) 55%, transparent);letter-spacing:.02em;font-weight:600}.tl-chapter{background:color-mix(in srgb, var(--story) 16%, var(--tl-lane));border:1px solid color-mix(in srgb, var(--story) 35%, transparent)}.tl-span:hover{filter:brightness(1.06);border-color:var(--story)}.tl-span.cont-before{border-left-style:dashed;border-top-left-radius:0;border-bottom-left-radius:0}.tl-span.cont-after{border-right-style:dashed;border-top-right-radius:0;border-bottom-right-radius:0}.tl-span-label{text-overflow:ellipsis;overflow:hidden}.tl-clip{background:color-mix(in srgb, var(--story) 22%, var(--bg-elev));border:1px solid color-mix(in srgb, var(--story) 45%, transparent);border-left:3px solid var(--story);cursor:pointer;border-radius:5px;transition:opacity .12s,box-shadow .12s;position:absolute;overflow:hidden}.tl-clip.narrow{background:var(--story);opacity:.85;border-width:0;border-radius:2px}.tl-clip:not(.narrow){padding:5px 20px 4px 7px}.tl-clip:hover{box-shadow:0 0 0 1px var(--story), var(--shadow);z-index:2}.tl-clip.active{box-shadow:0 0 0 2px var(--accent);z-index:2}.tl-clip.live:not(.narrow){background:color-mix(in srgb, var(--story) 34%, var(--bg-elev))}.tl-clip.selected{outline:2px dashed var(--accent);outline-offset:1px}.tl-clip.floating{border-style:dashed}.tl-clip.dim{opacity:.22}.tl-clip.involved.narrow{box-shadow:0 0 0 2px var(--accent)}.tl-clip.hint-before{box-shadow:inset 4px 0 0 var(--tl-playhead), -3px 0 0 var(--tl-playhead)}.tl-clip.hint-after{box-shadow:inset -4px 0 0 var(--tl-playhead), 3px 0 0 var(--tl-playhead)}.tl-clip.hint-same{box-shadow:0 0 0 2px var(--tl-playhead)}.tl-clip.flash{animation:.7s tl-flash}@keyframes tl-flash{0%,to{filter:none}40%{filter:brightness(1.4)saturate(2)hue-rotate(-30deg)}}.tl-clip-title{font-family:var(--font-prose);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.25;overflow:hidden}.tl-clip-meta{color:var(--tl-muted);white-space:nowrap;gap:6px;font-size:10.5px;display:flex;overflow:hidden}.tl-delta{color:var(--accent);font-weight:600}.tl-float{color:var(--warn)}.tl-insert{border:1px solid var(--border-strong);background:var(--bg-elev);width:16px;height:16px;color:var(--tl-muted);cursor:pointer;opacity:.4;border-radius:50%;padding:0;font-size:11px;line-height:13px;position:absolute;top:3px;right:3px}.tl-clip:hover .tl-insert{opacity:1}.tl-clip-resize{cursor:ew-resize;opacity:0;background:linear-gradient(to right, transparent, color-mix(in srgb, var(--story) 60%, transparent));width:6px;transition:opacity .12s;position:absolute;top:0;bottom:0;right:0}.tl-clip:hover .tl-clip-resize,.tl-clip.resizing .tl-clip-resize{opacity:1}.tl-clip.resizing{box-shadow:0 0 0 2px var(--accent);z-index:3}.tl-drop{background:var(--tl-playhead);pointer-events:none;z-index:6;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.tl-drop-label{background:var(--tl-playhead);color:var(--tl-btn-on-fg);font-family:var(--font-mono);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:10px;line-height:14px;position:absolute;top:0;left:6px}.tl-clip.hint-during{box-shadow:inset 0 0 0 2px var(--tl-playhead)}.tl-playhead{background:color-mix(in srgb, var(--tl-playhead) 18%, transparent);border-left:1px solid var(--tl-playhead);border-right:1px solid var(--tl-playhead);pointer-events:none;z-index:5;position:absolute;top:0;bottom:0}.tl-playhead-cap{text-align:center;background:var(--tl-playhead);height:18px;color:var(--tl-btn-on-fg);line-height:18px;font-family:var(--font-mono);z-index:7;font-size:11px;font-weight:700;position:sticky;top:0;overflow:hidden}.tl-empty{color:var(--tl-muted);padding:24px;position:sticky;left:0}.tl-rangebar{background:var(--tl-panel);border-top:1px solid var(--border);-webkit-user-select:none;user-select:none;flex:none;padding:6px 12px 6px 0;position:relative}.tl-range-head{text-transform:uppercase;letter-spacing:.08em;align-items:center;height:30px;padding-left:12px;display:flex;position:absolute;top:6px;left:0}.tl-range-inner{cursor:pointer;background:var(--tl-bg);touch-action:none;border-radius:4px;height:30px;position:relative}.tl-range-inner canvas{pointer-events:none;border-radius:4px;display:block}.tl-range-shade{background:color-mix(in srgb, var(--tl-text) 30%, transparent);pointer-events:none;z-index:1;position:absolute;top:0;bottom:0}.tl-range-window{box-sizing:border-box;border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);cursor:grab;z-index:1;border-radius:4px;min-width:6px;position:absolute;top:0;bottom:0}.tl-range-window[data-fit=true]{background:0 0;border-radius:0}.tl-range-inner:active .tl-range-window{cursor:grabbing}.tl-range-handle{z-index:2;cursor:ew-resize;justify-content:center;width:8px;display:flex;position:absolute;top:0;bottom:0}.tl-range-handle:after{content:"";background:var(--accent);border-radius:2px;width:3px;margin:5px 0}.tl-range-ph{background:var(--tl-playhead);pointer-events:none;z-index:3;width:2px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.tl-pop-wrap{position:relative}.tl-addtrack{z-index:8;padding:6px 8px;position:sticky;left:0}.tl-pop{z-index:30;background:var(--bg-elev);border:1px solid var(--border);min-width:230px;box-shadow:var(--shadow);border-radius:9px;flex-direction:column;padding:4px;display:flex;position:absolute}.tl-pop-up{bottom:calc(100% - 2px);left:8px}.tl-pop-right{width:290px;top:calc(100% + 4px);right:0}.tl-pop-title{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);padding:6px 10px 4px;font-size:10px;font-weight:600}.tl-pop-item{text-align:left;color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:flex-start;gap:8px;padding:6px 10px;font-size:13px;display:flex}.tl-pop-item:hover{background:var(--bg-hover)}.tl-pop-item.on .tl-pop-check{color:var(--accent)}.tl-pop-item .story-swatch{margin-top:4px}.tl-pop-check{width:12px;color:var(--fg-faint);flex:none}.tl-pop-label{font-weight:500;display:block}.tl-pop-hint{color:var(--fg-muted);font-size:11.5px;line-height:1.35;display:block}.tl-pop-note{padding:4px 10px}.tl-pop-sep{background:var(--border);height:1px;margin:4px 2px}.tl-pop-keys{width:330px;padding-bottom:6px}.tl-key-row{align-items:center;gap:10px;padding:4px 10px;font-size:12px;display:flex}.tl-key-keys{flex:none;align-items:center;gap:3px;min-width:96px;display:flex}.tl-key-plus{color:var(--fg-faint);font-size:11px}.tl-key-what{color:var(--fg);line-height:1.35}.tl-kbd{font-family:var(--font-mono);text-align:center;border:1px solid var(--border-strong);background:var(--bg-elev);min-width:18px;color:var(--fg);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:11px;line-height:16px}.tl-strip{background:var(--tl-panel);height:100%;color:var(--tl-text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:0 10px;font-size:12px;display:flex}.tl-strip:hover{background:var(--tl-bg)}.tl-strip .tl-readout{min-width:0;padding:1px 8px}.tl-strip-bar{background:var(--tl-bg);border-radius:3px;flex:1;height:6px;position:relative;overflow:hidden}.tl-strip-fill{background:color-mix(in srgb, var(--tl-playhead) 55%, transparent);border-radius:3px;position:absolute;inset:0 auto 0 0}.tl-ctx{z-index:60;background:var(--bg-elev);border:1px solid var(--border);min-width:230px;max-width:320px;box-shadow:var(--shadow);border-radius:9px;flex-direction:column;padding:4px;display:flex;position:fixed}.tl-ctx-item{text-align:left;color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px}.tl-ctx-item:hover:not(:disabled),.tl-ctx-item.active{background:var(--bg-hover)}.tl-ctx-item:disabled{color:var(--fg-faint);cursor:default}.tl-ctx-item.danger{color:var(--danger,#e5484d)}.rel-group{flex-direction:column;gap:6px;display:flex}.rel-label{color:var(--fg-muted);font-weight:600}.rel-add{align-self:flex-start;max-width:100%}.rel-when{border-top:1px solid var(--border);align-items:center;gap:8px;padding-top:6px}.entity-layout{grid-template-columns:minmax(0,1fr) 340px;gap:20px;max-width:1200px;margin:0 auto;display:grid}.entity-main,.entity-side{min-width:0}.time-label{text-transform:none;letter-spacing:0;color:var(--accent);font-weight:500}.time-slider{accent-color:var(--accent)}.entity-last-commit{padding:2px 0 6px}.commit-quote{font-style:italic}.commit-log{margin:0;padding:0 0 0 18px;list-style:none;position:relative}.commit-log:before{content:"";background:var(--border);width:2px;position:absolute;top:8px;bottom:8px;left:4px}.commit{padding-bottom:14px;position:relative}.commit:last-child{padding-bottom:0}.commit:before{content:"";background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 3px var(--bg-elev);border-radius:50%;position:absolute;top:5px;left:-18px}.commit-body{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:block}.commit-msg{overflow-wrap:anywhere;font-weight:600;line-height:1.35;display:block}.commit-body:hover .commit-msg{text-decoration:underline}.commit-generated{color:var(--fg-muted);font-weight:500}.commit-where,.commit-change{margin-top:2px}.commit-scene,.backlink a{font-weight:500}.page-time{color:var(--fg-muted)}.revision-text{resize:vertical;width:100%;min-height:180px;font-family:var(--font-prose);font-size:14px;line-height:1.5}.revision-bar{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunk);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.propagate-version{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding-bottom:4px;display:flex}.propagate-version:last-of-type{border-bottom:0}.revision-scene{font-weight:600}.commit-diff{margin-top:4px;font-size:12px}.commit-diff>summary{cursor:pointer;color:var(--fg-muted);list-style-position:outside}.diff-count-add{color:var(--ok);font-weight:600}.diff-count-del{color:var(--danger);font-weight:600}.diff{border-left:2px solid var(--border);font-family:var(--font-mono);margin-top:4px;font-size:12px;line-height:1.45;overflow-x:auto}.diff-line{white-space:pre-wrap;overflow-wrap:anywhere;gap:6px;padding:0 6px;display:flex}.diff-mark{width:10px;color:var(--fg-faint);-webkit-user-select:none;user-select:none;flex:none}.diff-add{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok)}.diff-add .diff-mark{color:var(--ok)}.diff-del{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--danger) 50%, transparent)}.diff-del .diff-mark{color:var(--danger)}.diff-same{color:var(--fg-muted)}.diff-gap{color:var(--fg-faint);padding:0 6px}@media (width<=1000px){.entity-layout{grid-template-columns:1fr}}.home-title{margin-top:24px;font-size:36px}.home-lede{font-size:18px}.home-hero{border:1px solid var(--border);border-left:4px solid var(--story,var(--accent));border-radius:var(--radius);background:var(--bg-elev);margin-top:8px;padding:20px 24px}.home-kicker{margin-top:0}.home-hero-story{font-family:var(--font-prose);font-size:28px;font-weight:600}.home-hero-place{color:var(--fg-muted);margin-top:2px;font-size:15px}.home-hero-actions{flex-wrap:wrap;gap:14px;margin-top:16px}.home-hero-actions .btn-primary{padding:7px 18px;font-size:14px}.home-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.home-card{border:1px solid var(--border);border-top:3px solid var(--story,var(--border-strong));border-radius:var(--radius);background:var(--bg-elev);flex-direction:column;display:flex}.home-card-main{color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:3px;padding:12px 14px 8px;display:flex}.home-card-main:hover{background:var(--bg-hover)}.home-card-main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.home-card-name{font-family:var(--font-prose);font-size:18px;font-weight:600}.home-card-place{color:var(--accent);margin-top:6px;font-size:13px}.home-card-tools{gap:4px;padding:2px 8px 8px;display:flex}.home-card-new{min-height:96px;color:var(--fg-muted);cursor:pointer;background:0 0;border-style:dashed;border-top-width:1px;justify-content:center;align-items:center}.home-card-new:hover{background:var(--bg-hover);color:var(--fg)}.home-foot{gap:14px;margin-top:28px}.home-help{margin-top:40px}.home-help summary{cursor:pointer;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:12px;font-weight:600}.list-button{text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;width:100%}.list-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.section-head{justify-content:space-between;align-items:center;gap:8px;margin-top:16px;display:flex}.section-head .section-title{margin:0}.field{flex-direction:column;gap:3px;min-width:0;display:flex}.field.grow{flex:1}.field-caption{letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted);font-size:11px;font-weight:600}.color-input{border:1px solid var(--border-strong);background:var(--bg-elev);cursor:pointer;border-radius:6px;width:36px;height:30px;padding:2px}.icon-input{width:72px}mark{background:color-mix(in srgb, var(--accent) 30%, transparent);color:inherit;border-radius:3px;padding:0 1px}.type-list{padding:6px}.type-list .list-item{padding:6px 8px}.type-icon{text-align:center;min-width:1.4em}.type-empty{padding:6px 8px}.type-entities{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);max-height:320px;padding:4px;overflow:auto}.create-type .panel-body{align-items:flex-end}.create-type .panel-body>.input{min-width:160px}.story-head{flex-wrap:wrap}.story-head .view-title{flex:200px;min-width:0}.chapter-list{flex-direction:column;gap:6px;display:flex}.chapter-row{align-items:center;gap:6px;display:flex}.add-chapter{margin-top:8px}.arc-list{flex-direction:column;gap:6px;display:flex}.add-arc{margin-top:8px}.arc-group{margin-bottom:20px}.arc-group-title{font-family:var(--font-prose);border-bottom:1px solid var(--border);margin:18px 0 0;padding-bottom:4px;font-size:18px;font-weight:600}.arc-group .scene-group{padding-left:12px}.scene-group{margin-bottom:14px}.scene-group-title{font-family:var(--font-prose);margin:14px 0 6px;font-size:16px;font-weight:600}.scene-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);margin:0;padding:0;list-style:none;overflow:hidden}.scene-row{border-top:1px solid var(--border);align-items:center;gap:2px;padding:2px 4px;display:flex}.scene-row:first-child{border-top:none}.scene-open{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.scene-open:hover{background:var(--bg-hover)}.scene-num{text-align:right;min-width:2em;color:var(--fg-faint);font-variant-numeric:tabular-nums}.scene-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.scene-empty{padding:4px 2px}.switcher{width:min(640px,94vw)}.switcher-input{border:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;outline:none;width:100%;padding:14px 16px;font-size:16px}.switcher-list{flex:1;min-height:0;margin:0;padding:6px;overflow:auto}.switcher-row{cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:7px 10px;display:flex}.switcher-row[aria-selected=true]{background:var(--accent-soft)}.switcher-footer{border-top:1px solid var(--border);color:var(--fg-muted);border-radius:0 0 6px 6px;margin-top:4px}.switcher-text{flex-direction:column;flex:1;min-width:0;display:flex}.switcher-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.switcher-snippet{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.switcher-hint{border-top:1px solid var(--border);color:var(--fg-faint);gap:14px;padding:6px 14px;font-size:11px;display:flex}.switcher-empty{padding:16px}.search-input{width:100%;padding:8px 12px;font-size:16px}.search-summary{margin:8px 0 12px}.search-results{flex-direction:column;gap:6px;display:flex}.search-result{border:1px solid var(--border);background:var(--bg-elev);border-radius:var(--radius);text-align:left;cursor:pointer;flex-direction:column;gap:4px;width:100%;padding:10px 12px;display:flex}.search-result:hover{background:var(--bg-hover)}.search-head{align-items:center;gap:8px;min-width:0;display:flex}.search-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.search-snippet{color:var(--fg-muted);overflow-wrap:anywhere;font-size:13px}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip-button{cursor:pointer;padding:2px 10px}.chip-button:hover{background:var(--bg-hover)}.tag-items{flex-direction:column;gap:2px;display:flex}.switcher{border-radius:12px;width:min(640px,94vw)}.switcher-search{border-bottom:1px solid var(--border);align-items:center;display:flex;position:relative}.switcher-search .switcher-glyph{width:16px;height:16px;color:var(--fg-faint);pointer-events:none;position:absolute;left:16px}.switcher .switcher-input{min-width:0;color:var(--fg);background:0 0;border-bottom:none;flex:1;padding:16px 12px 16px 44px;font-size:18px}.switcher .switcher-input::placeholder{color:var(--fg-faint)}.switcher-mode{background:var(--accent-soft);color:var(--accent);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;margin-right:14px;padding:3px 8px;font-size:11px;font-weight:600}.switcher .switcher-list{flex:0 auto;min-height:240px;max-height:min(420px,52vh);padding:4px 6px 6px}.switcher-group{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);-webkit-user-select:none;user-select:none;padding:10px 10px 4px;font-size:11px;font-weight:600;list-style:none}.switcher .switcher-row{box-sizing:border-box;height:36px;color:var(--fg);gap:10px;padding:0 10px;font-size:14px}.switcher .switcher-row.has-snippet{height:auto;min-height:44px;padding:6px 10px}.switcher .switcher-row[aria-selected=true]{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.switcher .switcher-label{flex:0 auto;min-width:0}.switcher .switcher-text{flex:auto}.switcher-dot{border-radius:50%;flex:none;width:9px;height:9px}.switcher-chip{text-align:center;width:16px;font-family:var(--font-mono);color:var(--fg-faint);flex:none;font-size:13px}.switcher-meta{text-overflow:ellipsis;white-space:nowrap;max-width:40%;color:var(--fg-muted);flex:0 auto;font-size:12px;overflow:hidden}.switcher-hit{color:var(--accent);background:0 0;font-weight:600}.switcher .switcher-action{border:1px solid var(--border-strong);background:var(--bg-elev);height:24px;color:var(--fg);cursor:pointer;border-radius:5px;flex:none;align-items:center;gap:6px;padding:0 6px 0 8px;font-size:12px;display:inline-flex}.switcher .switcher-action:hover{border-color:var(--accent)}.switcher kbd{border:1px solid var(--border-strong);background:var(--bg-sunk);min-width:18px;color:var(--fg-muted);font-family:var(--font-mono);text-align:center;border-bottom-width:2px;border-radius:4px;padding:2px 5px;font-size:11px;line-height:1.2;display:inline-block}.switcher-enter{opacity:.8;flex:none}.switcher-shortcut{flex:none}.switcher .switcher-hint{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;padding:8px 14px;font-size:12px}.switcher-hint>span{align-items:center;gap:12px;display:inline-flex}.switcher-hint>span>span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.switcher .switcher-empty{text-align:center;padding:24px 16px}.switcher-tip{border-bottom:1px solid var(--border);color:var(--fg-muted);padding:8px 16px;font-size:12px}.switcher-tip kbd{font-size:11px}.type-gallery .gallery-caption{margin:0}.preset-group .section-title{margin:14px 0 8px}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.preset-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);flex-direction:column;gap:6px;min-width:0;padding:14px 12px 12px;display:flex;position:relative}.preset-card:hover{border-color:var(--border-strong)}.preset-strip{border-radius:var(--radius) var(--radius) 0 0;height:4px;position:absolute;top:-1px;left:-1px;right:-1px}.preset-meta{align-items:center;gap:6px;min-height:18px;display:flex}.preset-icon{font-family:var(--font-mono);color:var(--fg-faint);font-size:11px}.preset-name{font-family:var(--font-prose);overflow-wrap:anywhere;font-size:17px;font-weight:600}.preset-desc{color:var(--fg-muted);flex:1;margin:0;font-size:13px;line-height:1.45}.preset-fields{gap:4px}.preset-fields .chip{color:var(--fg-muted);padding:0 6px;font-size:11px}.preset-foot{justify-content:flex-end;margin-top:2px;display:flex}.preset-added:disabled{opacity:1;color:var(--ok);border-color:var(--ok);background:0 0}.type-unused{color:var(--fg-faint);font-style:italic}.check-row{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.story-stats{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);font-variant-numeric:tabular-nums;flex-direction:column;gap:12px;margin:0 0 20px;padding:12px 14px;display:flex}.story-stats-main{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.story-stat{flex-direction:column;min-width:0;display:flex}.story-stat-value{color:var(--fg);font-size:18px;font-weight:600;line-height:1.2}.story-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);font-size:11px}.story-bars{flex-direction:column;gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.story-bar-row{grid-template-columns:minmax(72px,180px) minmax(0,1fr) auto;align-items:center;gap:10px;font-size:12px;display:grid}.story-bar-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--fg-muted);overflow:hidden}.story-bar-track{background:var(--bg-sunk);border-radius:3px;height:6px;overflow:hidden}.story-bar-fill{background:var(--accent);border-radius:3px;height:100%;display:block}.story-bar-num{text-align:right;min-width:3.5em;color:var(--fg-faint)}@media (width<=520px){.story-stats-main{grid-template-columns:repeat(2,minmax(0,1fr))}}.icon-picker{flex-wrap:wrap;gap:4px;display:flex}.icon-choice{border:1px solid var(--border);background:var(--bg-elev);cursor:pointer;border-radius:6px;place-items:center;width:34px;height:34px;padding:0;display:grid}.icon-choice:hover{border-color:var(--accent)}.icon-choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.type-template{width:100%;font-family:var(--font-mono);resize:vertical;font-size:12.5px}.app{grid-template-columns:minmax(0,1fr);height:100%;display:grid;overflow:hidden}.app.tl-max .workspace{display:none}.topbar{border-bottom:1px solid var(--border);background:var(--bg-elev);grid-column:auto;align-items:center;gap:6px;padding:0 8px;display:flex}.brand{font-family:var(--font-prose);color:var(--accent);cursor:pointer;white-space:nowrap;margin:0 14px 0 4px;font-size:17px;font-weight:700}.icon-btn{cursor:pointer;width:30px;height:28px;color:var(--fg-muted);background:0 0;border:1px solid #0000;border-radius:6px;font-size:15px}.icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--fg)}.icon-btn.on{color:var(--fg)}.icon-btn:disabled{opacity:.35;cursor:default}.palette-trigger{border:1px solid var(--border);background:var(--bg-sunk);width:min(440px,40vw);color:var(--fg-muted);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:4px 6px 4px 10px;font-size:13px;display:flex}.palette-trigger:hover{border-color:var(--border-strong)}.palette-trigger kbd{margin-left:auto}kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--fg-muted);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-size:11px}.save-dot{color:var(--fg-faint);align-items:center;gap:6px;margin-right:6px;font-size:12px;display:inline-flex}.save-dot:before{content:"";background:var(--ok);border-radius:50%;width:7px;height:7px}.save-dot.saving:before{background:var(--warn)}.save-dot.error:before{background:var(--danger)}.menu-sep{background:var(--border);height:1px;margin:4px 2px}.workspace{min-width:0;min-height:0;display:grid;overflow:hidden}.left-pane,.right-pane,.center{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.left-pane>.sidebar,.right-pane>.inspector{flex:1}.center{background:var(--bg)}.doc{flex:1;min-height:0;overflow:hidden}.sidebar{border-right:1px solid var(--border);background:var(--bg-sunk);padding:8px 6px 40px;overflow:auto}.side-story{margin-bottom:4px}.side-story.is-hidden>.side-story-row{opacity:.5}.side-story-row{font-weight:600}.side-label{text-overflow:ellipsis;overflow:hidden}.story-swatch{border-radius:3px;flex:none;width:10px;height:10px}.side-arc{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.side-chapter{color:var(--fg-muted);font-size:13px}.side-indent3{padding-left:50px}.side-empty{color:var(--fg-faint);padding:4px 10px 8px;font-size:12px}.tabbar{background:var(--bg-sunk);border-bottom:1px solid var(--border);flex:none;align-items:flex-end;gap:1px;height:34px;padding:0 6px;display:flex;overflow:auto hidden}.tabbar.empty-tabs{border-bottom:none;height:0}.tab{max-width:220px;height:29px;color:var(--fg-muted);cursor:pointer;border:1px solid #0000;border-bottom:none;border-radius:7px 7px 0 0;flex:none;align-items:center;gap:6px;padding:0 6px 0 10px;font-size:13px;display:flex;position:relative}.tab:hover{background:var(--bg-hover)}.tab.on{background:var(--bg);color:var(--fg);border-color:var(--border);height:30px;margin-bottom:-1px}.tab.on:before{content:"";background:var(--tab);border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:8px;right:8px}.tab-icon{color:var(--tab);font-size:12px}.tab-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tab-close{color:var(--fg-faint);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;width:18px;height:18px;padding:0;line-height:16px}.tab:hover .tab-close,.tab.on .tab-close{opacity:1}.tab-close:hover{background:var(--bg-hover);color:var(--fg)}.tabbar-close-all{background:var(--bg-sunk);color:var(--fg-faint);cursor:pointer;border:none;border-radius:4px;flex:none;margin:0 0 3px auto;padding:1px 8px;font-size:12px;position:sticky;right:0}.tabbar-close-all:hover{background:var(--bg-hover);color:var(--fg)}.dock{border-top:1px solid var(--border-strong);flex-direction:column;min-height:0;display:flex;position:relative}.dock>.timeline{flex:1}.dock-resizer{cursor:ns-resize;z-index:20;height:8px;position:absolute;top:-4px;left:0;right:0}.dock-resizer:hover{background:linear-gradient(transparent 3px, var(--accent) 3px, var(--accent) 5px, transparent 5px)}.app.zen .tabbar{opacity:.25;transition:opacity .2s}.app.zen .tabbar:hover{opacity:1}.app.zen .doc .view-narrow{max-width:720px}.app.zen .scene-layout .view{padding-top:48px}.layout-toggles{background:var(--bg-sunk);border:1px solid var(--border);border-radius:7px;gap:1px;padding:2px;display:flex}.layout-toggles .icon-btn{place-items:center;width:28px;height:24px;display:grid}.right-pane{position:relative}.qp-head{background:var(--bg-sunk);border-left:1px solid var(--border);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:6px;padding:4px 8px;display:flex}.qp-title{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);font-size:11px;font-weight:600}.pane-min{width:22px;height:22px;color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;line-height:18px}.pane-min:hover{background:var(--bg-hover);color:var(--fg);border-color:var(--border)}.right-rail{border:none;border-left:1px solid var(--border);background:var(--bg-sunk);color:var(--fg-muted);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:10px;padding:10px 0;display:flex}.right-rail:hover{color:var(--fg);background:var(--bg-hover)}.right-rail-label{writing-mode:vertical-rl;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}
