:root{--color-bg: #0D0D0F;--color-surface: #1A1A1E;--color-surface-alt: #222228;--color-surface-raised: #28282E;--color-border: #2E2E35;--color-border-light: #232329;--color-text: #E8E6E1;--color-text-muted: #8A8880;--color-text-light: #5A5852;--color-accent: #D4A017;--color-accent-hover: #E8B82A;--color-accent-light: #2A2418;--color-accent-subtle: #1E1C16;--color-danger: #E04B3D;--color-danger-light: #2A1215;--color-success: #2ECC71;--color-success-light: #122A1A;--color-warning: #F5AB35;--color-warning-light: #2A2010;--color-info: #3498DB;--color-info-light: #0E1A2A;--color-universe: #7D3C98;--color-series: #2E86C1;--color-book: #239B56;--color-act: #C87533;--color-chapter: #E04B3D;--color-sequence: #E8971A;--color-scene: #6CB4E8;--color-beat: #8E9BA8;--color-thread: #A04CC2;--color-narrativethread: #A04CC2;--color-blueprint: #0C1220;--color-blueprint-line: #1E2D42;--color-blueprint-line-bright: #2A3F5A;--color-blueprint-text: #7A8FA8;--moonlight-color: 180, 195, 215;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", monospace;--font-size-xs: .7rem;--font-size-sm: .8rem;--font-size-base: .9rem;--font-size-md: 1rem;--font-size-lg: 1.15rem;--font-size-xl: 1.35rem;--font-size-2xl: 1.6rem;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 2px 8px rgba(0,0,0,.4);--shadow-lg: 0 4px 16px rgba(0,0,0,.5);--header-height: 48px;--story-tree-collapsed: 36px;--story-tree-medium: 280px;--story-tree-expanded: calc(100vh - var(--header-height) - 60px);--tension-collapsed: 32px;--tension-thin: 80px;--tension-expanded: 50vh}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden;overscroll-behavior-x:none}body{font-family:var(--font-ui);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-blueprint);background-image:url(/blueprint-lined.png);background-size:902px 600px;background-repeat:repeat;background-attachment:fixed;line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 120% 120% at 50% 40%,#080c14c7,#05080ee0,#020408f2)}#root{position:relative;z-index:1}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.app-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-md);background:#1a1a1ee6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-blueprint-line);box-shadow:0 1px 4px #0000004d;flex-shrink:0;z-index:100;gap:var(--space-md)}.app-header__menus{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.app-header__title{font-family:var(--font-body);font-size:var(--font-size-lg);font-weight:300;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text);cursor:pointer;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:100px}.app-header__title:hover{color:var(--color-accent)}.app-header__right{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.app-header__nav{display:flex;gap:2px;align-items:center}.app-header__history-nav{display:flex;gap:2px;align-items:center;margin-left:var(--space-sm)}.app-header__history-nav-divider{width:1px;height:20px;background:var(--color-border);margin:0 4px}.header-dropdown{position:relative}.header-dropdown__trigger{font-family:var(--font-ui);font-size:var(--font-size-sm);padding:4px 8px;border:none;background:transparent;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap}.header-dropdown__trigger:hover,.header-dropdown__trigger--active{background:var(--color-surface-alt);color:var(--color-accent)}.header-dropdown__menu{position:absolute;top:100%;left:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-xs) 0;z-index:1000}.header-dropdown__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 12px;border:none;background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--font-size-sm);cursor:pointer;text-align:left;white-space:nowrap}.header-dropdown__item:hover{background:var(--color-accent-light);color:var(--color-accent)}.header-dropdown__item:disabled{opacity:.4;cursor:default}.header-dropdown__item--submenu{position:relative}.header-dropdown__shortcut{font-size:var(--font-size-xs);color:var(--color-text-light);margin-left:var(--space-lg)}.header-dropdown__separator{height:1px;background:var(--color-border-light);margin:var(--space-xs) 0}.header-dropdown__submenu{position:absolute;left:100%;top:-4px;min-width:180px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-xs) 0;z-index:1001}.story-tree{background:var(--color-blueprint);border-bottom:1px solid var(--color-blueprint-line);overflow:hidden;transition:height .3s ease;flex-shrink:0;position:relative;display:flex;flex-direction:column}.story-tree--collapsed{height:var(--story-tree-collapsed)}.story-tree--medium{height:var(--story-tree-medium)}.story-tree--expanded{height:var(--story-tree-expanded)}.story-tree--expanded .story-tree__unit,.story-tree--expanded .story-tree__layer-row,.story-tree--expanded .story-tree__layer-label{min-height:56px}.story-tree--expanded .story-tree__lateral-btn{height:56px}.story-tree__panel-controls{position:absolute;right:20px;top:var(--space-xs);z-index:10;display:flex;gap:2px}.story-tree__state-btn{width:20px;height:20px;border:1px solid var(--color-blueprint-line);border-radius:3px;background:rgba(var(--moonlight-color),.08);color:var(--color-blueprint-text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .15s;padding:0}.story-tree__state-btn:hover{background:var(--color-surface);border-color:var(--color-text-light)}.story-tree__state-btn--active{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent)}.story-tree__collapsed-bar{display:flex;align-items:center;height:100%;padding:0 var(--space-lg);cursor:pointer;gap:var(--space-sm)}.story-tree__collapsed-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500}.story-tree__collapsed-arrow{font-size:10px;color:var(--color-text-light)}.story-tree__content{flex:1;overflow:auto;padding:0}.story-tree__empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);font-size:var(--font-size-sm)}.story-tree__tree-wrapper{display:flex;min-height:100%}.story-tree__layer-labels{width:70px;min-width:70px;flex-shrink:0;display:flex;flex-direction:column;gap:1px;padding:0 0 0 var(--space-xs)}.story-tree__layer-label{min-height:28px;display:flex;align-items:center;font-size:9px;font-weight:600;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.04em;padding-right:var(--space-xs);-webkit-user-select:none;user-select:none}.story-tree__layer-label--active{color:var(--color-accent)}.story-tree__color-indicator{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.2);cursor:pointer;flex-shrink:0;padding:0;transition:transform .1s}.story-tree__color-indicator:hover{transform:scale(1.3)}.story-tree__color-popup{position:absolute;left:0;top:100%;z-index:100;display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;width:120px}.story-tree__swatch{width:12px;height:12px;border-radius:50%;border:2px solid transparent;cursor:pointer;flex-shrink:0;transition:border-color .15s,transform .1s;padding:0;background-color:inherit}.story-tree__swatch:hover{transform:scale(1.2)}.story-tree__swatch--active{border-color:var(--color-text);box-shadow:0 0 3px #0000004d}.story-tree__layer-label{position:relative}.story-tree__tree{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;overflow-y:auto}.story-tree__layer-row{display:flex;align-items:flex-start;gap:0;min-height:28px;min-width:0}.story-tree__lateral{width:80px;min-width:80px;flex-shrink:0;display:flex;align-items:center}.story-tree__lateral--left{justify-content:flex-end;padding-right:4px}.story-tree__lateral--right{justify-content:flex-start;padding-left:4px}.story-tree__lateral-btn{font-size:9px;padding:4px 6px;border:none;border-radius:var(--radius-sm);background:var(--color-surface);color:#fff;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:76px;width:100%;height:28px;transition:all .15s;font-weight:600;display:flex;align-items:center;justify-content:center;opacity:.65}.story-tree__lateral-btn:hover{opacity:1;box-shadow:0 0 6px #00000026}.story-tree__layer-row--above-scope{position:relative}.story-tree__layer-row--above-scope>.story-tree__lateral{position:absolute;top:0;z-index:5}.story-tree__layer-row--above-scope>.story-tree__lateral--left{left:0}.story-tree__layer-row--above-scope>.story-tree__lateral--right{right:0}.story-tree__layer-row--above-scope .story-tree__layer-content--pad-left{padding-left:84px}.story-tree__layer-row--above-scope .story-tree__layer-content--pad-right{padding-right:84px}.story-tree__layer-content{flex:1;display:flex;gap:1px;min-width:0}.story-tree__scoped-unit{flex:1 1 0;display:flex;flex-direction:column;min-width:0;overflow:hidden}.story-tree__unit-col{display:flex;flex-direction:column;flex:1;min-width:0}.story-tree__unit-col--root{flex:1}.story-tree__unit-col--beyond-scope{overflow-x:auto;min-width:fit-content}.story-tree__unit{min-height:28px;padding:2px var(--space-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center;position:relative;transition:opacity .2s,box-shadow .15s,border-color .15s,margin .15s;border:2px solid transparent;-webkit-user-select:none;user-select:none;opacity:1}.story-tree__unit--inactive{opacity:.35}.story-tree__unit--inactive:hover{opacity:.7;border-color:#ffffff4d}.story-tree__unit--in-path{opacity:1;border-color:#ffffff80}.story-tree__unit--selected{opacity:1;border-color:#fff!important;box-shadow:0 0 0 2px var(--color-text),0 0 12px #0003;font-weight:600;z-index:2}.story-tree__unit:hover{border-color:#fff6}.story-tree__unit--universe-bar{background:transparent!important;color:var(--color-text);border-top:2px solid var(--color-universe);border-left:none;border-right:none;border-bottom:none;border-radius:0;min-height:24px;font-size:11px;font-weight:500}.story-tree__unit--universe-bar:hover{color:var(--color-text);border-top-color:var(--color-universe)}.story-tree__unit--universe-bar.story-tree__unit--selected{color:var(--color-text);border-top:2px solid var(--color-universe);box-shadow:none;font-weight:600}.story-tree__unit--universe-bar.story-tree__unit--inactive{opacity:.5}.story-tree__unit--dragging{opacity:.25!important}.story-tree__unit--drop-before{margin-left:18px!important;opacity:1!important}.story-tree__unit--drop-before:before{content:"";position:absolute;left:-11px;top:3px;bottom:3px;width:4px;background:var(--color-accent);border-radius:2px;pointer-events:none}.story-tree__unit--drop-after{margin-right:18px!important;opacity:1!important}.story-tree__unit--drop-after:after{content:"";position:absolute;right:-11px;top:3px;bottom:3px;width:4px;background:var(--color-accent);border-radius:2px;pointer-events:none}.story-tree__unit--universe{background:var(--color-universe);color:#fff}.story-tree__unit--series{background:var(--color-series);color:#fff}.story-tree__unit--book{background:var(--color-book);color:#fff}.story-tree__unit--act{background:var(--color-act);color:#fff}.story-tree__unit--chapter{background:var(--color-chapter);color:#fff}.story-tree__unit--sequence{background:var(--color-sequence);color:#fff}.story-tree__unit--scene{background:var(--color-scene);color:#fff}.story-tree__unit--beat{background:var(--color-beat);color:#fff}.story-tree__unit--narrativethread{background:var(--color-narrativethread);color:#fff}.story-tree__unit--multi-selected{box-shadow:inset 0 0 0 2px #3498db}.story-tree__outline-row--multi-selected{background:#3498db1a;border-left:3px solid #3498db;padding-left:calc(24 - 3px)!important}.story-tree__unit-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-xs)}.story-tree__add-sibling{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:none;border-radius:3px;background:#fff3;color:#fff;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s;padding:0}.story-tree__unit:hover .story-tree__add-sibling{opacity:1}.story-tree__add-sibling:hover{background:#fff6}.story-tree__add-child-below{width:100%;min-height:18px;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-light);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,border-color .15s;padding:0;margin-top:1px}.story-tree__unit-col:hover>.story-tree__add-child-below,.story-tree__scoped-unit:hover>.story-tree__add-child-below{opacity:.6}.story-tree__add-child-below:hover{opacity:1!important;background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.story-tree__unit-children{display:flex;gap:1px}.story-tree__thread-sublayer{display:flex;flex-direction:column;gap:1px;margin-top:1px}.story-tree__bottom-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);background:var(--color-surface-alt);border-top:1px solid var(--color-border-light);flex-shrink:0;min-height:28px;gap:var(--space-md)}.story-tree__breadcrumbs{display:flex;align-items:center;gap:2px;font-size:var(--font-size-xs);overflow:hidden;min-width:0;flex:1}.story-tree__bc{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:color .15s}.story-tree__bc:hover{color:var(--color-accent)}.story-tree__bc--active{color:var(--color-text);font-weight:600}.story-tree__bc-sep{color:var(--color-text-light);font-size:10px}.story-tree__bar-controls{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.story-tree__scope-label{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:500;color:var(--color-text-muted);cursor:default;white-space:nowrap}.story-tree__scope-select{font-size:9px;padding:1px 4px;border:1px solid var(--color-border);border-radius:3px;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-family:var(--font-body);font-weight:600}.story-tree__scope-select:hover{border-color:var(--color-accent)}.story-tree__toggle-label-btn{font-size:9px;padding:2px 6px;border:1px solid var(--color-border);border-radius:3px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font-weight:600;transition:all .15s;font-family:var(--font-mono)}.story-tree__toggle-label-btn:hover{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent)}.story-tree__ctx-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;padding:var(--space-xs) 0;animation:ctxFadeIn .1s ease}.story-tree__ctx-item{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);cursor:pointer;transition:background .1s;color:var(--color-text)}.story-tree__ctx-item:hover{background:var(--color-accent-subtle)}.story-tree__ctx-item--danger{color:var(--color-danger)}.story-tree__ctx-item--danger:hover{background:var(--color-danger-light)}.story-tree__ctx-item--disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.6}.story-tree__ctx-item--disabled:hover{background:transparent}.story-tree__ctx-divider{height:1px;background:var(--color-border-light);margin:var(--space-xs) 0}@keyframes ctxFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.story-tree__tip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-sm) var(--space-md);max-width:260px;pointer-events:none;animation:tooltipFadeIn .15s ease}.story-tree__tip-id{font-family:var(--font-mono);font-size:10px;color:var(--color-text-light);margin-bottom:2px}.story-tree__tip-name{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:2px}.story-tree__tip-logline{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic;line-height:1.4}.story-tree__reorder-overlay{position:fixed;inset:0;background:#00000080;z-index:3000;display:flex;align-items:center;justify-content:center}.story-tree__reorder-dialog{background:var(--color-surface);border-radius:var(--radius-md);padding:20px 24px;max-width:440px;box-shadow:0 8px 32px #0000004d}.story-tree__reorder-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-danger);margin-bottom:12px}.story-tree__reorder-body{font-size:var(--font-size-sm);color:var(--color-text);line-height:1.5}.story-tree__reorder-body ul{margin:8px 0;padding-left:20px}.story-tree__reorder-body li{margin-bottom:4px}.story-tree__reorder-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.story-tree__search-bar{display:flex;align-items:center;padding:4px 8px;gap:4px;background:var(--color-surface);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.story-tree__search-input{flex:1;border:1px solid var(--color-border-light);border-radius:var(--radius-sm, 4px);padding:3px 8px;font-size:var(--font-size-xs);background:var(--color-bg, white);color:var(--color-text);outline:none}.story-tree__search-input:focus{border-color:var(--color-accent, #4A90D9);box-shadow:0 0 0 2px #4a90d926}.story-tree__search-clear{background:none;border:none;cursor:pointer;font-size:12px;color:var(--color-text-muted);padding:2px 4px;line-height:1}.story-tree__search-clear:hover{color:var(--color-text)}.batch-toolbar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:linear-gradient(135deg,#e8f4fd,#f0f8ff);border-bottom:1px solid #3498db;flex-shrink:0}.batch-toolbar__count{font-weight:600;color:#2c3e50;min-width:100px}.batch-toolbar__action{padding:var(--space-sm) var(--space-md);border:1px solid #3498db;border-radius:var(--radius-md);background:#fff;color:#3498db;cursor:pointer;font-size:var(--font-size-sm);transition:background .2s,color .2s}.batch-toolbar__action:hover{background:#3498db;color:#fff}.batch-toolbar__action:active{transform:scale(.98)}.story-tree__unit--search-dim{opacity:.3}.story-tree__unit--search-hit{box-shadow:inset 0 0 0 2px var(--color-accent, #4A90D9)}.minimap{flex-shrink:0;background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-light);padding:8px;max-height:150px;overflow:hidden}.minimap__svg{display:block;width:100%;height:auto;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm)}.minimap__unit{cursor:pointer;transition:filter .15s ease-out}.minimap__unit:hover{filter:brightness(1.1)}.minimap__unit--selected{stroke:gold!important;stroke-width:1.5!important;filter:brightness(1.15)}.minimap__viewport{fill:#4a90d926;stroke:#4a90d966;stroke-width:1;stroke-dasharray:2,2}.story-tree__collapse-toggle{background:none;border:none;cursor:pointer;font-size:10px;color:var(--color-text-muted);padding:0 2px;line-height:1;flex-shrink:0}.story-tree__collapse-toggle:hover{color:var(--color-text)}.story-tree__layer-color-picker{width:14px;height:14px;border:none;padding:0;cursor:pointer;background:transparent;vertical-align:middle;margin-right:3px;flex-shrink:0}.story-tree__layer-color-picker::-webkit-color-swatch-wrapper{padding:0}.story-tree__layer-color-picker::-webkit-color-swatch{border:1px solid rgba(0,0,0,.15);border-radius:2px}.story-tree__outline{padding:4px 0;overflow-y:auto;flex:1}.story-tree__outline-row{display:flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;min-height:22px;transition:background .1s}.story-tree__outline-row:hover{background:#0000000a}.story-tree__outline-row--selected{background:var(--color-accent, #4A90D9);color:#fff}.story-tree__outline-row--selected:hover{background:var(--color-accent, #4A90D9)}.story-tree__outline-row--in-path{background:#4a90d914}.story-tree__outline-row--dim{opacity:.3}.story-tree__outline-row--hit{background:#4a90d91f}.story-tree__outline-bullet{font-size:8px;color:var(--color-text-muted);width:14px;text-align:center;flex-shrink:0}.story-tree__outline-type{font-weight:700;font-size:10px;width:12px;text-align:center;flex-shrink:0}.story-tree__outline-name{overflow:hidden;text-overflow:ellipsis}.story-tree__outline-row--selected .story-tree__outline-type,.story-tree__outline-row--selected .story-tree__outline-bullet,.story-tree__outline-row--selected .story-tree__collapse-toggle{color:#fff}.story-tree__divider{flex-shrink:0;height:7px;background:var(--color-surface-alt);border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);cursor:row-resize;display:flex;align-items:center;justify-content:center}.story-tree__divider-handle{width:32px;height:3px;border-radius:2px;background:var(--color-border);transition:background .15s}.story-tree__divider:hover .story-tree__divider-handle{background:var(--color-accent, #4A90D9)}.story-tree__toggle-label-btn--active{background:var(--color-accent, #4A90D9);color:#fff}.subway-map{display:flex;overflow:hidden;background:var(--color-surface, #faf8f5);flex-shrink:0}.subway-map--empty{display:flex;align-items:center;justify-content:center}.subway-map__empty-text{font-size:var(--font-size-xs);color:var(--color-text-muted)}.subway-map__labels{flex-shrink:0;width:110px;overflow:hidden;border-right:1px solid var(--color-border-light);padding-left:6px}.subway-map__label{display:flex;align-items:center;gap:5px;overflow:hidden}.subway-map__label-swatch{flex-shrink:0;width:8px;height:8px;border-radius:50%}.subway-map__label-text{font-size:10px;color:var(--color-text-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subway-map__scroll{flex:1;overflow-x:auto;overflow-y:hidden}.subway-map__svg{display:block}.subway-map__tip{background:var(--color-surface, white);border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);padding:6px 10px;box-shadow:var(--shadow-lg, 0 4px 12px rgba(0,0,0,.15));max-width:240px;font-size:var(--font-size-xs, 11px);line-height:1.4}.subway-map__tip-title{font-weight:600;color:var(--color-text, #222);margin-bottom:2px}.subway-map__tip-desc{color:var(--color-text-muted, #888);font-style:italic}.subway-map__tip-beat,.subway-map__tip-threads{color:var(--color-text-secondary, #666);margin-bottom:2px}.subway-map__tip-pp{color:var(--color-text, #333)}.subway-map__tip-pp-type{color:var(--color-text-muted, #999);font-style:italic}.context-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:transparent}.context-panel__breadcrumbs{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);flex-shrink:0}.breadcrumb{color:var(--color-text-muted);cursor:pointer;text-decoration:none}.breadcrumb:hover{color:var(--color-accent)}.breadcrumb--active{color:var(--color-text);font-weight:600}.breadcrumb__separator{color:var(--color-text-light);font-size:var(--font-size-xs)}.context-panel__nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.context-panel__nav-arrows{display:flex;gap:var(--space-sm);align-items:center}.context-panel__scope-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.context-panel__scope-jump{font-size:var(--font-size-xs)}.context-panel__content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0;min-height:0}.workspace-rows{display:flex;flex-direction:column;min-height:100%;overflow:visible}.workspace-row{display:flex;overflow-x:auto;overflow-y:hidden;gap:1px;background:transparent}.workspace-row--prev{flex-shrink:0;opacity:.55;background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);cursor:pointer;transition:opacity .15s;max-height:75%;overflow:hidden}.workspace-row--next{height:60px;flex-shrink:0;opacity:.35;background:var(--color-surface-alt);border-top:1px solid var(--color-border);cursor:pointer;transition:opacity .15s}.workspace-row--prev:hover{opacity:.75}.workspace-row--next:hover{opacity:.55}.workspace-row--placeholder{flex-shrink:0;display:flex;align-items:center;justify-content:center;height:44px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin:var(--space-xs) var(--space-sm)}.workspace-row__placeholder-text{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text-light);font-style:italic;letter-spacing:.3px}.workspace-row--current{flex:1;min-height:0;overflow-y:auto;overflow-x:auto;background:transparent;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex-wrap:nowrap}.workspace-row--current::-webkit-scrollbar{height:8px;width:8px}.workspace-row--current::-webkit-scrollbar-track{background:transparent}.workspace-row--current::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.workspace-row--current::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}.workspace-row__label{writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center;padding:var(--space-xs);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);background:var(--color-surface);flex-shrink:0;min-width:20px;border-right:1px solid var(--color-border-light)}.workspace-row__label:hover{color:var(--color-accent)}.workspace-row__label--current{color:var(--color-accent);background:var(--color-accent-light)}.workspace-row-preview{display:flex;gap:1px;flex:1;overflow:hidden;align-items:stretch}.workspace-row-preview__block{flex:1;padding:6px 8px;background:var(--color-surface);min-width:0;overflow:hidden}.workspace-row-preview__name{font-size:9px;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.workspace-row-preview__detail{font-size:10px;color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-blocks{display:flex;flex-wrap:wrap;flex:1;min-width:0;overflow:auto;gap:0;align-content:flex-start;padding-bottom:var(--space-sm)}.workspace-block{flex-shrink:0;min-width:240px;max-width:400px;width:280px;background:#1a1a1ee0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-right:1px solid var(--color-blueprint-line);border-bottom:1px solid var(--color-blueprint-line);display:flex;flex-direction:column;overflow:hidden;height:fit-content;box-shadow:inset 1px 1px rgba(var(--moonlight-color),.08),-1px -1px 3px rgba(var(--moonlight-color),.04),3px 3px 10px #00000080;transition:box-shadow .2s ease}.workspace-block:hover{box-shadow:inset 1px 1px rgba(var(--moonlight-color),.12),-1px -1px 4px rgba(var(--moonlight-color),.06),4px 4px 14px #0009}.workspace-block--wide{min-width:300px;width:340px;max-width:500px}.workspace-block--narrow{min-width:160px;width:200px;max-width:280px}.workspace-block__header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-sm);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-light);flex-shrink:0;height:32px;overflow:hidden}.workspace-block__title{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.workspace-block__actions{display:flex;gap:2px;align-items:center}.workspace-block__content{padding:var(--space-sm);overflow-y:auto;flex:1}.block-view-mode-btn{width:24px;height:24px;padding:0;border:1px solid var(--color-border-light);background:var(--color-surface-alt);border-radius:var(--radius-sm);font-size:12px;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:background .15s,border-color .15s}.block-view-mode-btn:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.block-view-mode-btn--active{border-color:var(--color-accent);background:var(--color-accent);color:#fff;font-weight:700}.block-field{margin-bottom:var(--space-sm)}.block-field:last-child{margin-bottom:0}.block-field__label{font-size:10px;font-weight:500;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;display:flex;align-items:center;gap:4px}.block-field__value{font-size:var(--font-size-sm);color:var(--color-text)}.block-field__readonly{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;padding:3px var(--space-sm);background:var(--color-surface-alt, rgba(0,0,0,.02));border-radius:var(--radius-sm);border:1px solid var(--color-border-light);line-height:1.4}.block-field input[type=text],.block-field input[type=number],.block-field textarea,.block-field select{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm)}.block-field textarea{min-height:36px;font-size:var(--font-size-sm)}.block-input{width:100%;padding:var(--space-xs) var(--space-sm);font-family:var(--font-ui);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .15s}.block-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.block-input--readonly{background:transparent;border:none;padding:var(--space-xs) 0;color:var(--color-text);cursor:default;font-weight:500}.block-input--sm{font-size:10px;padding:2px var(--space-sm)}.auto-expand-textarea{width:100%;font-family:var(--font-body);font-size:var(--font-size-sm);line-height:1.5;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);transition:border-color .15s;resize:none;overflow:hidden}.auto-expand-textarea:focus{border-color:var(--color-accent);outline:none}.block-textarea{width:100%;padding:var(--space-xs) var(--space-sm);font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;min-height:36px;line-height:1.4;transition:border-color .15s}.block-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.rich-text-editor{display:flex;flex-direction:column;width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);transition:border-color .15s}.rich-text-editor:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.rich-text-editor__toolbar{display:flex;align-items:center;gap:2px;padding:4px;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap}.rich-text-editor__toolbar-divider{width:1px;height:16px;background:var(--color-border);margin:0 2px}.rich-text-editor__btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:8px;font-weight:600;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all .15s}.rich-text-editor__btn:hover{background:var(--color-surface-alt);border-color:var(--color-border)}.rich-text-editor__btn--active{background:var(--color-accent);color:var(--color-surface);border-color:var(--color-accent)}.rich-text-editor__content{padding:var(--space-xs) var(--space-sm);font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text);line-height:1.4;outline:none;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap}.rich-text-editor__content:empty:before{content:attr(data-placeholder);color:var(--color-text-muted);pointer-events:none}.block-select{width:100%;padding:var(--space-xs) var(--space-sm);font-family:var(--font-ui);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s}.block-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.workspace-block__resize-handle{width:4px;cursor:col-resize;background:transparent;transition:background .15s;flex-shrink:0;position:relative}.workspace-block__resize-handle:hover,.workspace-block__resize-handle--active{background:var(--color-accent)}.workspace-block__reorder{display:flex;gap:2px;margin-right:4px}.workspace-block__reorder-btn{padding:0;width:18px;height:18px;border:none;background:transparent;color:var(--color-text-light);cursor:pointer;font-size:9px;line-height:1;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.workspace-block__reorder-btn:hover:not(:disabled){color:var(--color-accent);background:var(--color-accent-light)}.workspace-block__reorder-btn:disabled{opacity:.25;cursor:default}.workspace-block--collapsed{width:40px!important;min-width:40px!important;max-height:300px;align-self:flex-start;position:relative;overflow:hidden}.workspace-block--collapsed .workspace-block__content{display:none}.workspace-block--collapsed .workspace-block__header{writing-mode:vertical-rl;text-orientation:mixed;height:auto;min-height:120px;padding:32px 0 var(--space-xs);justify-content:center}.workspace-block--collapsed .workspace-block__title{transform:rotate(180deg)}.workspace-block--collapsed .workspace-block__reorder,.workspace-block--collapsed .workspace-block__actions{display:none}.workspace-block--collapsed .workspace-block__minimize-btn{writing-mode:horizontal-tb;position:absolute;top:4px;left:50%;transform:translate(-50%);font-size:16px;font-weight:700;width:24px;height:24px;z-index:2}.workspace-block__collapse-flag{position:absolute;top:32px;left:50%;transform:translate(-50%);width:10px;height:10px;border-radius:50%;background:var(--color-warning);border:1px solid rgba(0,0,0,.1);z-index:2}.workspace-block__minimize-btn{padding:0;width:18px;height:18px;border:none;background:transparent;color:var(--color-text-light);cursor:pointer;font-size:10px;line-height:1;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:color .15s}.workspace-block__minimize-btn:hover{color:var(--color-accent)}.workspace-block[draggable=true] .workspace-block__header{cursor:grab}.workspace-block[draggable=true] .workspace-block__header:active{cursor:grabbing}.workspace-block--dragging{opacity:.4;border:2px dashed var(--color-accent);background:var(--color-surface)}.workspace-block--drop-left{border-left:3px solid var(--color-accent);padding-left:calc(var(--space-sm) - 3px)}.workspace-block--drop-right{border-right:3px solid var(--color-accent);padding-right:calc(var(--space-sm) - 3px)}.workspace-block--preview-collapsed{width:40px!important;min-width:40px!important;flex-shrink:0;background:var(--color-surface-alt);border-right:1px solid var(--color-border-light)}.workspace-block--preview{flex-shrink:0;pointer-events:none}.workspace-block--preview .workspace-block__header{height:20px;padding:0 var(--space-xs)}.workspace-block--preview .workspace-block__title{font-size:8px}.workspace-block--preview .workspace-block__content{padding:var(--space-xs) var(--space-sm)}.preview-field{display:flex;flex-direction:column;gap:1px;margin-bottom:3px}.preview-field__label{font-size:8px;font-weight:600;text-transform:uppercase;color:var(--color-text-light);letter-spacing:.3px}.preview-field__value{font-size:10px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-arc{margin:2px 0 4px;border-top:1px solid var(--color-border-light);padding-top:2px}.character-arc__toggle{padding:0;border:none;background:none;font-size:9px;color:var(--color-text-light);cursor:pointer;font-family:var(--font-ui);transition:color .15s}.character-arc__toggle:hover{color:var(--color-accent)}.character-arc__timeline{display:flex;gap:3px;overflow-x:auto;padding:3px 0;scrollbar-width:thin}.character-arc__chip{flex-shrink:0;display:flex;align-items:center;gap:3px;padding:2px 6px;background:var(--color-surface-alt);border-radius:3px;font-size:9px;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s;border:1px solid transparent}.character-arc__chip:hover{background:var(--color-accent-light);color:var(--color-accent)}.character-arc__chip--current{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.character-arc__chip-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-arc__chip-delta{color:var(--color-success);font-size:7px}.validate-badge{display:inline-block;min-width:16px;height:16px;line-height:16px;text-align:center;background:var(--color-warning);color:#fff;border-radius:8px;font-size:9px;font-weight:600;margin-left:4px}.validate-mode-label{display:block;font-size:8px;color:var(--color-accent);text-transform:uppercase;letter-spacing:.5px;text-align:center;margin-top:1px}.validate-menu{position:absolute;top:100%;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;box-shadow:var(--shadow-md, 0 4px 12px rgba(0,0,0,.1));z-index:50;min-width:180px;padding:4px 0}.validate-menu__item{display:block;width:100%;padding:6px 12px;border:none;background:none;text-align:left;font-size:var(--font-size-sm);font-family:var(--font-ui);color:var(--color-text);cursor:pointer;transition:background .1s}.validate-menu__item:hover{background:var(--color-accent-light)}.field--flagged{border-left:3px solid var(--color-warning)!important;background:var(--color-warning-light)!important;padding:var(--space-xs) var(--space-sm)!important;border-radius:var(--radius-sm);margin-left:-2px}.field--flagged-red{border-left:3px solid var(--color-danger)!important;background:var(--color-danger-light)!important;padding:var(--space-xs) var(--space-sm)!important;border-radius:var(--radius-sm);margin-left:-2px}.field--flagged-orange{border-left:3px solid var(--color-warning)!important;background:var(--color-warning-light)!important;padding:var(--space-xs) var(--space-sm)!important;border-radius:var(--radius-sm);margin-left:-2px}.field--flagged-yellow{border-left:3px solid #daa520!important;background:#fffacd!important;padding:var(--space-xs) var(--space-sm)!important;border-radius:var(--radius-sm);margin-left:-2px}.field-guidance{font-size:9px;color:var(--color-text-light);font-style:italic;margin-top:2px}.validate-todo-item{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-light)}.validate-todo-item--red{background:#c0392b0a}.validate-todo-item--orange{background:#f39c120a}.validate-todo-item--yellow{background:#daa5200a}.validate-todo-item__header{font-size:var(--font-size-sm);color:var(--color-text);display:flex;align-items:center;gap:6px}.validate-todo-item__tip{font-size:10px;color:var(--color-text-light);font-style:italic;margin-top:2px}.thread-chip{background:var(--color-surface-alt);border-radius:3px;font-size:10px;border-left:3px solid var(--color-narrativethread, #8b5cf6);padding:2px 4px;margin-bottom:2px}.thread-chip__header{display:flex;align-items:center;gap:4px}.thread-chip__swatch{width:8px;height:8px;border-radius:50%;flex-shrink:0}.thread-chip__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.thread-chip__count{font-size:9px;color:var(--color-text-light);background:var(--color-border-light);padding:0 4px;border-radius:6px;flex-shrink:0}.thread-chip__remove{font-size:11px}.thread-chip__view-toggle{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-light);cursor:pointer;font-size:10px;flex-shrink:0;transition:all .15s}.thread-chip__view-toggle:hover{background:#0000000d;color:var(--color-text)}.thread-chip__medium{padding:4px 0 2px 12px;border-top:1px solid var(--color-border-light);margin-top:3px}.thread-chip__desc{font-size:10px;color:var(--color-text-muted);margin-bottom:4px;line-height:1.3}.thread-chip__section-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-light);margin-bottom:2px}.thread-chip__shared-pps{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:4px}.thread-chip__shared-pp{display:inline-block;padding:1px 5px;font-size:9px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;white-space:nowrap}.thread-chip__no-shared{font-size:9px;color:var(--color-text-light);font-style:italic;margin-bottom:4px}.thread-chip__expanded{padding:4px 0 2px 12px;border-top:1px solid var(--color-border-light);margin-top:3px}.thread-chip__convergence-list{display:flex;flex-wrap:wrap;gap:3px}.thread-chip__convergence-tag{display:inline-block;padding:1px 6px;font-size:9px;background:var(--color-accent-light, rgba(59, 130, 246, .1));color:var(--color-accent);border-radius:8px;cursor:pointer;transition:background .15s;white-space:nowrap}.thread-chip__convergence-tag:hover{background:var(--color-accent);color:#fff}.thread-chip__convergence-detail{font-size:9px;color:var(--color-text-light);font-style:italic}.society-hierarchy-tooltip{margin-top:4px;padding:4px 6px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:10px}.society-hierarchy-tooltip__label{font-weight:600;font-size:9px;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-muted);margin-bottom:2px}.society-hierarchy-tooltip__tree{color:var(--color-text-light);line-height:1.4;font-style:italic;margin-bottom:2px}.society-hierarchy-tooltip__parent{margin-top:3px;padding-top:3px;border-top:1px solid var(--color-border-light)}.society-hierarchy-tooltip__parent-label{font-weight:600;color:var(--color-text-muted)}.asset-insert-between{display:flex;justify-content:center;min-height:8px;opacity:0;transition:opacity .15s}.workspace-block__content:hover .asset-insert-between{opacity:1}.asset-insert-between__btn{background:none;border:1px dashed var(--color-border);color:var(--color-text-light);cursor:pointer;font-size:10px;padding:0 8px;line-height:14px;border-radius:4px;transition:all .15s}.asset-insert-between__btn:hover{background:var(--color-accent-light, rgba(59, 130, 246, .1));border-color:var(--color-accent);color:var(--color-accent)}.note-chip{border-radius:var(--radius-sm);background:var(--color-surface-alt);padding:3px 4px;font-size:10px;margin-bottom:2px}.note-chip--mystery{border-left:3px solid var(--color-info, #3b82f6)}.note-chip--ttb{border-left:3px solid var(--color-danger)}.note-chip--seed{border-left:3px solid var(--color-success)}.note-chip--general{border-left:3px solid var(--color-text-light)}.note-chip--resolved{opacity:.6}.note-chip__header{display:flex;align-items:center;gap:4px}.note-chip__icon{font-size:11px;flex-shrink:0}.note-chip__title{flex:1;min-width:0}.note-chip__view-toggle{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-light);cursor:pointer;font-size:10px;flex-shrink:0;transition:all .15s}.note-chip__view-toggle:hover{background:#0000000d;color:var(--color-text)}.note-chip__medium{padding:4px 0 2px 18px;border-top:1px solid var(--color-border-light);margin-top:3px}.dashboard-section{margin-bottom:var(--space-lg)}.dashboard-section__title{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm)}.dashboard-section__count{font-size:9px;background:var(--color-warning);color:#fff;padding:0 5px;border-radius:8px;font-weight:600}.dashboard-row{display:flex;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border-light);align-items:flex-start;font-size:var(--font-size-sm)}.dashboard-row__unit{flex-shrink:0;color:var(--color-accent);cursor:pointer;font-weight:500;min-width:80px}.dashboard-row__unit:hover{text-decoration:underline}.dashboard-row__desc{flex:1;color:var(--color-text)}.notes-header-badge{font-size:9px;color:var(--color-warning);font-weight:600;margin-left:4px}.asset-toolbar{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border-light)}.asset-toolbar__dropdown{flex:1;min-width:0}.asset-toolbar__actions{display:flex;gap:2px;flex-shrink:0}.asset-toolbar__btn{width:24px;height:24px;padding:0;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-light);border-radius:var(--radius-sm);cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;transition:all .15s}.asset-toolbar__btn:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-light)}.asset-toolbar__btn:disabled{opacity:.3;cursor:default}.workspace-block__footer{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);margin-top:var(--space-sm);border-top:1px solid var(--color-border-light)}.workspace-block__footer-dropdown{width:100%}.workspace-block__footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm)}.workspace-block__footer-btn{font-size:10px;padding:2px 8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-light);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:3px;white-space:nowrap}.workspace-block__footer-btn:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-light)}.workspace-block__footer-btn:disabled{opacity:.3;cursor:default}.block-plot-point__drag-handle{cursor:grab;color:var(--color-text-light);font-size:12px;flex-shrink:0;padding:2px;-webkit-user-select:none;user-select:none;opacity:.5;transition:opacity .15s}.block-plot-point__drag-handle:hover{opacity:1;color:var(--color-accent)}.block-plot-point--dragging{opacity:.4}.block-plot-point--drag-over{border-top:2px solid var(--color-accent)}.smart-dropdown__item--with-desc{flex-direction:column;align-items:flex-start;gap:1px}.smart-dropdown__item-desc{display:block;font-size:10px;color:var(--color-text-light);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;width:100%}.block-plot-point__insert{min-height:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.block-plot-point__insert:hover,.block-plot-point__insert:has(.block-plot-point__insert-picker){opacity:1;height:auto}.block-plot-point__insert button{padding:0 8px;height:12px;border:1px dashed var(--color-border);background:transparent;color:var(--color-text-light);cursor:pointer;font-size:9px;border-radius:2px;width:100%}.block-plot-point__insert button:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-light)}.block-plot-point__insert-picker{display:flex;align-items:center;gap:4px;padding:2px 0;width:100%}.block-plot-point__insert-picker .smart-dropdown{flex:1;min-width:0}.template-dialog{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1500}.template-dialog__box{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-lg);max-width:360px;width:100%}.template-dialog__title{font-family:var(--font-body);font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--space-md)}.template-dialog__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.block-character{padding:var(--space-xs) var(--space-sm);background:var(--color-surface-alt);border-radius:var(--radius-sm);margin-bottom:var(--space-xs);border-left:3px solid var(--color-accent)}.block-character--secondary{border-left-color:var(--color-text-muted)}.block-character--tertiary{border-left-color:var(--color-text-light)}.block-character__name{font-size:var(--font-size-sm);font-weight:600;display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.block-character__fields{display:flex;flex-direction:column;gap:2px}.block-plot-point{border-radius:var(--radius-sm);margin-bottom:2px;font-size:var(--font-size-sm);overflow:hidden}.block-plot-point--fulcrum{background:var(--color-accent-light);border-left:3px solid var(--color-accent)}.block-plot-point--lever{background:var(--color-surface-alt);border-left:3px solid var(--color-text-light)}.block-plot-point__header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);-webkit-user-select:none;user-select:none}.block-plot-point__header:hover{filter:brightness(.97)}.block-plot-point__view-toggle{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;font-size:14px;color:var(--color-text-muted);background:#0000000a;transition:background .1s,color .1s;line-height:1}.block-plot-point__view-toggle:hover{background:#0000001a;color:var(--color-text)}.block-plot-point__icon{font-weight:600;flex-shrink:0;width:16px;text-align:center;line-height:1}.block-plot-point__icon--fulcrum{color:var(--color-accent)}.block-plot-point__icon--lever{color:var(--color-text-muted)}.block-plot-point__name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto;cursor:pointer;border-bottom:1px dashed transparent;transition:border-color .15s}.block-plot-point__name:hover{border-bottom-color:var(--color-text-muted)}.block-plot-point__stable-id{flex-shrink:0;font-size:9px;font-family:var(--font-mono);padding:1px 5px;border-radius:6px;background:var(--color-accent-muted, rgba(212, 160, 23, .15));color:var(--color-accent);cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.3px;transition:background .15s}.block-plot-point__stable-id:hover{background:var(--color-accent-muted, rgba(212, 160, 23, .3))}.block-plot-point__type-label{flex-shrink:1;font-size:10px;padding:1px 5px;border-radius:8px;background:#0000000f;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-plot-point__user-desc{display:flex;align-items:flex-start;gap:var(--space-xs);padding:0 var(--space-sm) var(--space-xs) var(--space-sm)}.block-plot-point__user-desc .block-plot-point__icon{margin-top:3px}.block-plot-point__desc-input{font-style:italic;color:var(--color-text-muted);flex:1;min-width:0;cursor:text}.block-plot-point__desc-input:focus{font-style:normal;color:var(--color-text)}.block-plot-point__medium{padding:var(--space-xs) var(--space-sm) var(--space-sm);border-top:1px solid rgba(0,0,0,.06)}.block-plot-point__system-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic;margin-bottom:var(--space-xs);line-height:1.4}.block-plot-point__ref-table{display:flex;gap:var(--space-sm);font-size:var(--font-size-xs)}.block-plot-point__ref-col{flex:1;min-width:0}.block-plot-point__ref-heading{font-size:10px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px;border-bottom:1px solid var(--color-border-light);padding-bottom:2px}.block-plot-point__ref-text{color:var(--color-text-light);line-height:1.4;padding-top:2px}.block-plot-point__convention-list{margin:0;padding:0 0 0 14px;list-style:disc;font-size:var(--font-size-xs);color:var(--color-text-light);line-height:1.5}.block-plot-point__convention-list li{margin-bottom:1px}.block-plot-point__field{margin-bottom:var(--space-xs)}.block-plot-point__field-label{font-size:10px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.block-plot-point__expanded{padding:var(--space-xs) var(--space-sm) var(--space-sm);border-top:1px solid rgba(0,0,0,.06)}.block-plot-point__field-row{display:flex;gap:var(--space-sm);align-items:flex-start;margin-bottom:var(--space-xs)}.block-plot-point__convergence-detail{font-size:var(--font-size-xs);color:var(--color-text-muted)}.block-plot-point__convergence-list{display:flex;flex-wrap:wrap;gap:3px}.block-plot-point__convergence-tag{display:inline-block;font-size:var(--font-size-xs);padding:1px 6px;border-radius:8px;background:var(--color-accent-light);color:var(--color-accent);cursor:pointer;white-space:nowrap;transition:background .1s}.block-plot-point__convergence-tag:hover{background:var(--color-accent);color:var(--color-surface)}.block-plot-point__actions{display:flex;gap:var(--space-xs);margin-top:var(--space-xs)}.block-plot-point__push-picker{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:4px;padding:4px 6px;background:var(--color-surface-alt);border-radius:var(--radius-sm)}.block-plot-point__push-picker-label{font-size:10px;color:var(--color-text-muted);margin-right:2px}.block-plot-point__push-error{padding:6px 10px;margin:4px 0;font-size:var(--font-size-sm);color:var(--color-danger);background:#dc354514;border-radius:var(--radius-sm);border:1px solid rgba(220,53,69,.2)}.block-plot-point__archetype-picker{border-top:1px solid rgba(0,0,0,.08);background:var(--color-surface);max-height:240px;overflow-y:auto}.block-plot-point__archetype-list{padding:2px 0}.block-plot-point__archetype-option{display:flex;align-items:center;gap:var(--space-xs);padding:4px var(--space-sm);cursor:pointer;font-size:var(--font-size-sm);transition:background .1s}.block-plot-point__archetype-option:hover{background:var(--color-accent-subtle)}.block-plot-point__archetype-option--active{background:var(--color-accent-light);font-weight:600}.block-plot-point__archetype-icon{flex-shrink:0;width:16px;text-align:center}.block-plot-point__archetype-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-plot-point__ace-error{background:var(--color-danger-light, #fef2f2);color:var(--color-danger, #dc2626);border:1px solid var(--color-danger, #dc2626);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);margin-bottom:var(--space-xs);cursor:pointer;animation:aceErrorFade 4s ease-out forwards}@keyframes aceErrorFade{0%,80%{opacity:1}to{opacity:0}}.block-plot-point__tooltip{position:absolute;left:0;right:0;top:100%;z-index:400;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-sm) var(--space-md);min-width:320px;max-width:480px;pointer-events:none}.block-plot-point__tooltip-name{font-weight:700;font-size:var(--font-size-base);margin-bottom:2px}.block-plot-point__tooltip-type{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:var(--space-xs)}.block-plot-point__tooltip-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;margin-bottom:var(--space-xs);line-height:1.4}.block-plot-point__tooltip-table{display:flex;gap:var(--space-sm);font-size:var(--font-size-xs)}.block-plot-point__tooltip-col{flex:1;min-width:0}.block-plot-point__tooltip-heading{font-size:10px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px;border-bottom:1px solid var(--color-border-light);padding-bottom:2px}.block-plot-point__tooltip-text{color:var(--color-text-light);line-height:1.4;padding-top:2px}.block-plot-point__tension{font-weight:600;flex-shrink:0;font-size:var(--font-size-xs)}.block-plot-point__tension--positive{color:var(--color-danger)}.block-plot-point__tension--negative{color:var(--color-success)}.block-plot-point__tension--neutral{color:var(--color-text-light)}.block-reference__chip{display:flex;align-items:center;gap:6px;padding:4px 8px;margin-bottom:3px;background:var(--color-surface-alt);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.block-reference__name{flex:1;font-weight:500;color:var(--color-text)}.block-reference__category{font-size:10px;padding:1px 5px;border-radius:6px;background:#0000000f;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px}.block-reference__remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:14px;padding:0 2px;opacity:.5}.block-reference__remove:hover{opacity:1;color:var(--color-danger)}.block-mystery{padding:var(--space-xs) var(--space-sm);background:var(--color-surface-alt);border-radius:var(--radius-sm);margin-bottom:2px;font-size:var(--font-size-sm);display:flex;align-items:flex-start;gap:var(--space-xs)}.block-mystery--resolved{opacity:.5;text-decoration:line-through}.block-mystery__icon{flex-shrink:0;color:var(--color-warning)}.compact-badge{display:inline-block;padding:1px 6px;font-size:9px;border-radius:8px;background:var(--color-surface-alt);color:var(--color-text-muted);font-weight:500}.block-toggle{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer;padding:var(--space-xs) 0}.block-toggle__switch{width:28px;height:16px;background:var(--color-border);border-radius:8px;position:relative;transition:background .2s;flex-shrink:0}.block-toggle__switch:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .2s}.block-toggle--active .block-toggle__switch{background:var(--color-accent)}.block-toggle--active .block-toggle__switch:after{transform:translate(12px)}.workspace-row-preview{display:flex;flex:1;min-width:0;overflow:hidden}.workspace-row-preview__block{flex-shrink:0;padding:var(--space-xs) var(--space-sm);border-right:1px solid var(--color-border-light);min-width:100px;max-width:200px;overflow:hidden}.workspace-row-preview__name{font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-row-preview__detail{font-size:9px;color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-row--current::-webkit-scrollbar{height:6px}.workspace-row--current::-webkit-scrollbar-track{background:var(--color-surface-alt)}.workspace-row--current::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.workspace-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-sm)}.workspace-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border-light)}.workspace-card__title{font-family:var(--font-body);font-size:var(--font-size-md);font-weight:600}.workspace-card__badge{font-size:var(--font-size-xs);padding:2px 8px;border-radius:12px;font-weight:500}.field-row{display:flex;gap:var(--space-md);margin-bottom:var(--space-md);align-items:flex-start}.field-row--full{flex-direction:column}.field-group{flex:1;min-width:0}.field-group--narrow{flex:0 0 160px}.field-group--medium{flex:0 0 240px}.field-label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.field-label__info{cursor:help;color:var(--color-text-light);font-size:var(--font-size-xs)}.field-label__info:hover{color:var(--color-accent)}.field-tooltip{position:relative;display:inline-flex}.field-tooltip__content{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--color-text);color:#fff;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-xs);white-space:normal;width:240px;z-index:1000;box-shadow:var(--shadow-lg);line-height:1.4}.field-tooltip:hover .field-tooltip__content{display:block}input[type=text],input[type=number],textarea,select{width:100%;padding:var(--space-sm) var(--space-md);font-family:var(--font-ui);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);caret-color:var(--color-accent);transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}textarea{resize:vertical;min-height:60px;font-family:var(--font-body);line-height:1.6}input[type=text]::placeholder,textarea::placeholder{color:var(--color-text-light)}input:disabled,input[readonly],textarea:disabled,textarea[readonly],select:disabled{background:var(--color-bg);color:var(--color-text-muted);border-color:transparent}.smart-dropdown{position:relative}.smart-dropdown__trigger{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:border-color .15s}.smart-dropdown__trigger:hover{border-color:var(--color-accent)}.smart-dropdown__menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:320px;overflow-y:auto}.smart-dropdown__section-label{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-light);position:sticky;top:0}.smart-dropdown__item{padding:var(--space-sm) var(--space-md);cursor:pointer;display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);transition:background .1s}.smart-dropdown__item:hover{background:var(--color-accent-subtle)}.smart-dropdown__item--selected{background:var(--color-accent-light);font-weight:500}.smart-dropdown__item-add{color:var(--color-accent);font-weight:500;border-top:1px solid var(--color-border-light)}.block-field--auto-import{background:var(--color-surface-alt, rgba(0,0,0,.02));border-radius:4px;padding:6px 8px;margin-bottom:var(--space-sm)}.auto-import__row{display:flex;flex-direction:column;gap:4px}.auto-import__chip{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:3px 6px;border-radius:3px;border-left:3px solid var(--color-border);background:var(--color-surface);line-height:1.4}.auto-import__chip--action{border-left-color:var(--color-accent)}.auto-import__chip--crisis{border-left-color:var(--color-danger)}.auto-import__chip--event{border-left-color:var(--color-success)}.auto-import__label{font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-right:4px}.thread-overlay__section{margin-bottom:10px}.thread-overlay__section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:4px}.thread-overlay__chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.thread-overlay__chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:var(--font-size-sm);background:var(--color-surface-alt, rgba(0,0,0,.04));border:1px solid var(--color-border-light)}.thread-overlay__chip--character{border-left:3px solid var(--color-accent)}.thread-overlay__chip--location{border-left:3px solid var(--color-success)}.thread-overlay__chip-remove{border:none;background:none;color:var(--color-text-light);cursor:pointer;font-size:12px;padding:0 2px;line-height:1}.thread-overlay__chip-remove:hover{color:var(--color-danger)}.thread-overlay__note{display:flex;align-items:center;gap:4px;margin-bottom:4px;padding:3px 4px;border-left:3px solid var(--color-border);border-radius:2px}.thread-overlay__note--mystery{border-left-color:#5b9bd5}.thread-overlay__note--seed{border-left-color:#70ad47}.thread-overlay__note--ttb{border-left-color:#ff6b6b}.thread-overlay__note-type{font-size:10px;padding:2px 4px;border:1px solid var(--color-border-light);border-radius:3px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;flex-shrink:0}.smart-dropdown__divider{height:1px;background:var(--color-border-light);margin:var(--space-xs) 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);font-family:var(--font-ui);font-size:var(--font-size-sm);font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;background:var(--color-surface);color:var(--color-text);white-space:nowrap}.btn:hover{background:var(--color-surface-alt);border-color:var(--color-text-light)}.btn--primary{background:linear-gradient(135deg,#e8c847,#d4a017,#b8920e);color:#1a1a1e;border:1px solid rgba(0,0,0,.2);border-top-color:#ffffff26;border-left-color:#ffffff1a;text-shadow:0 1px 0 rgba(255,255,255,.2)}.btn--primary:hover{background:linear-gradient(135deg,#f0d050,#e8b82a,#d4a017)}.btn--danger:hover{background:var(--color-danger-light)}.btn--ghost{border:none;background:transparent;color:var(--color-text-muted)}.btn--ghost:hover{color:var(--color-text);background:var(--color-surface-alt)}.btn--sm{padding:2px var(--space-sm);font-size:var(--font-size-xs)}.btn--icon{padding:var(--space-xs);width:28px;height:28px}.notifications{position:fixed;top:calc(var(--header-height) + var(--space-sm));right:var(--space-lg);z-index:1000;display:flex;flex-direction:column;gap:var(--space-sm);max-width:360px}.notification{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;align-items:flex-start;gap:var(--space-sm);animation:slideIn .3s ease;font-size:var(--font-size-sm)}.notification--info{background:var(--color-info-light);border:1px solid var(--color-info);color:var(--color-info)}.notification--warning{background:var(--color-warning-light);border:1px solid var(--color-warning);color:#7d6608}.notification--success{background:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success)}.notification--danger{background:var(--color-danger-light);border:1px solid var(--color-danger);color:var(--color-danger)}.notification__dismiss{cursor:pointer;opacity:.6;margin-left:auto;flex-shrink:0}.notification__dismiss:hover{opacity:1}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.tension-chart{background:var(--color-blueprint);border-top:1px solid var(--color-blueprint-line);overflow:hidden;transition:height .3s ease;flex-shrink:0;position:relative}.tension-chart--collapsed{height:var(--tension-collapsed)}.tension-chart--thin{height:var(--tension-thin)}.tension-chart--expanded{height:var(--tension-expanded)}.tension-chart__toggle{position:absolute;right:var(--space-md);top:var(--space-xs);z-index:10;display:flex;gap:var(--space-xs)}.tension-chart__label{position:absolute;left:var(--space-md);top:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500}.tension-chart__content{height:100%;padding:var(--space-xl) var(--space-md) var(--space-sm);display:flex;flex-direction:column}.tension-chart__empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-light);font-size:var(--font-size-sm)}.tension-chart__toolbar{display:flex;align-items:center;gap:var(--space-lg);padding:0 var(--space-xs) var(--space-xs);flex-shrink:0;flex-wrap:wrap}.tension-chart__toolbar-group{display:flex;align-items:center;gap:var(--space-xs)}.tension-chart__toolbar-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500;white-space:nowrap}.tension-chart__toolbar-btn{font-size:var(--font-size-xs);padding:2px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:all .15s ease;white-space:nowrap}.tension-chart__toolbar-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.tension-chart__toolbar-btn--active{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.tension-chart__toolbar-select{font-size:var(--font-size-xs);padding:2px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;max-width:160px}.tension-chart__toolbar-select:focus{outline:none;border-color:var(--color-accent)}.tension-chart__pacing-stats{display:flex;gap:var(--space-lg);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-surface-alt);border-radius:var(--radius-sm);flex-shrink:0;margin-bottom:var(--space-xs)}.tension-chart__pacing-stats strong{color:var(--color-text)}.tension-chart__chart-area{flex:1;min-height:0}.tension-chart__tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-md);font-size:var(--font-size-sm);max-width:260px}.tension-chart__tooltip-title{font-weight:600;margin-bottom:2px}.tension-chart__tooltip-subtitle{color:var(--color-text-muted);font-size:var(--font-size-xs)}.tension-chart__tooltip-context{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-bottom:4px}.tension-chart__tooltip-row{margin-top:4px}.tension-chart__tooltip-change--up{margin-left:8px;color:var(--color-success)}.tension-chart__tooltip-change--down{margin-left:8px;color:var(--color-danger)}.tension-chart__tooltip-change--flat{margin-left:8px;color:var(--color-text-muted)}.tension-chart__tooltip-markers{margin-top:6px;padding-top:4px;border-top:1px solid var(--color-border-light)}.tension-chart__tooltip-marker{font-size:var(--font-size-xs);padding:1px 0}.tension-chart__tooltip-marker-desc{font-size:10px;color:var(--color-text-muted);font-style:italic;margin-top:1px;margin-left:14px;max-width:200px}.tension-chart__marker-icon--fulcrum{color:var(--color-warning);margin-right:4px}.tension-chart__marker-icon--lever{color:var(--color-accent);margin-right:4px}.tension-chart__tooltip-threads{margin-top:4px;font-size:var(--font-size-xs);color:var(--color-text-muted)}.tension-chart__legend{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-sm) 0;flex-shrink:0;flex-wrap:wrap}.tension-chart__legend-item{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-text-muted)}.tension-chart__legend-swatch{display:inline-block;width:14px;height:3px;border-radius:2px}.tension-chart__legend-swatch--dashed{background:none;border-top:2px dashed #bbb;height:0}.floating-overlay{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:inset 1px 1px rgba(var(--moonlight-color),.1),-2px -2px 6px rgba(var(--moonlight-color),.05),6px 6px 20px #0009,0 0 40px #0000004d;display:flex;flex-direction:column;overflow:hidden;min-width:280px}.floating-overlay__titlebar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-light);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.floating-overlay__titlebar:active{cursor:grabbing}.floating-overlay__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-overlay__controls{display:flex;gap:2px;flex-shrink:0}.floating-overlay__btn{width:24px;height:24px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.floating-overlay__btn:hover{background:var(--color-border-light);color:var(--color-text)}.floating-overlay__btn--close:hover{background:var(--color-danger-light);color:var(--color-danger)}.floating-overlay__btn--bind{font-size:16px;width:28px;height:28px}.floating-overlay__btn--bind:hover{background:var(--color-accent-light);color:var(--color-accent)}.floating-overlay__content{flex:1;overflow-y:auto;padding:var(--space-sm) var(--space-md);min-height:0}.floating-overlay__resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--color-border) 50%);opacity:.5;transition:opacity .15s}.floating-overlay__resize:hover{opacity:1}.validate-overlay{display:flex;flex-direction:column;height:100%;gap:var(--space-sm)}.validate-overlay__dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-sm);padding:var(--space-sm);background:var(--color-surface-alt);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.validate-overlay__stat{text-align:center;padding:var(--space-sm)}.validate-overlay__stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.validate-overlay__stat-value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-accent)}.validate-overlay__validation{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-md)}.validate-overlay__success{text-align:center;padding:var(--space-lg);color:var(--color-success);font-weight:600}.validate-overlay__section{border-left:4px solid var(--color-border);padding-left:var(--space-sm)}.validate-overlay__section-title{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.validate-overlay__section-title--red{color:var(--color-danger);border-left-color:var(--color-danger)}.validate-overlay__section-title--orange{color:var(--color-warning);border-left-color:var(--color-warning)}.validate-overlay__section-title--yellow{color:#990;border-left-color:#990}.validate-overlay__issue{display:flex;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.validate-overlay__issue:hover{background:var(--color-surface-alt)}.validate-overlay__issue--red{border-left:3px solid var(--color-danger)}.validate-overlay__issue--orange{border-left:3px solid var(--color-warning)}.validate-overlay__issue--yellow{border-left:3px solid #999900}.validate-overlay__issue-icon{font-size:14px;flex-shrink:0}.validate-overlay__issue-content{flex:1;min-width:0}.validate-overlay__issue-unit{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:2px}.validate-overlay__issue-problem{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:4px}.validate-overlay__issue-tip{font-size:var(--font-size-xs);color:var(--color-text-light);font-style:italic}.dropdown-ordering{display:flex;flex-direction:column;height:100%;gap:var(--space-md)}.dropdown-ordering__description{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--space-sm);background:var(--color-surface-alt);border-radius:var(--radius-sm);line-height:1.5}.dropdown-ordering__list{flex:1;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.dropdown-ordering__item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--color-border-light)}.dropdown-ordering__item:last-child{border-bottom:none}.dropdown-ordering__item-left{flex:1}.dropdown-ordering__toggle{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.dropdown-ordering__toggle input[type=checkbox]{cursor:pointer}.dropdown-ordering__label{font-family:var(--font-ui);font-size:var(--font-size-sm);color:var(--color-text);font-weight:500}.dropdown-ordering__item-right{display:flex;gap:4px}.dropdown-ordering__btn{font-family:var(--font-ui);font-size:var(--font-size-xs);padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-text);cursor:pointer;transition:all .15s ease}.dropdown-ordering__btn:hover:not(:disabled){background:var(--color-accent-light);border-color:var(--color-accent)}.dropdown-ordering__btn:disabled{opacity:.4;cursor:not-allowed}.dropdown-ordering__btn--move{min-width:28px;padding:4px 6px}.dropdown-ordering__footer{display:flex;justify-content:center;padding:var(--space-sm);border-top:1px solid var(--color-border)}.dropdown-ordering__reset-btn{font-family:var(--font-ui);font-size:var(--font-size-sm);padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.dropdown-ordering__reset-btn:hover{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger)}.dropdown-ordering__note{font-size:var(--font-size-xs);color:var(--color-text-light);padding:var(--space-sm);background:var(--color-surface-alt);border-radius:var(--radius-sm);line-height:1.5}.asset-page{flex:1;display:flex;flex-direction:column;overflow:hidden;background:transparent}.asset-page__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.asset-page__title{font-family:var(--font-body);font-size:var(--font-size-xl);font-weight:600}.asset-page__content{display:flex;flex:1;overflow:hidden}.asset-page__subtabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:0 var(--space-lg)}.asset-page__subtab{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm);font-weight:500;border:none;background:none;cursor:pointer;color:var(--color-text-light);border-bottom:2px solid transparent;transition:all .15s}.asset-page__subtab:hover{color:var(--color-text)}.asset-page__subtab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.asset-page__templates{display:flex;flex:1;overflow:hidden;gap:1px;background:var(--color-border)}.asset-page__templates-col{flex:1;overflow-y:auto;background:var(--color-bg);padding:var(--space-md)}.asset-page__templates-heading{font-family:var(--font-body);font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--space-md);color:var(--color-text);position:sticky;top:0;background:var(--color-bg);padding-bottom:var(--space-sm);z-index:1}.asset-page__template-card{padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}.asset-page__template-name{font-weight:600;font-size:var(--font-size-sm);margin-bottom:2px}.asset-page__template-desc{font-size:var(--font-size-xs);color:var(--color-text-light);margin-bottom:4px}.asset-page__template-conventions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.asset-page__template-convention{font-size:10px;padding:1px 6px;background:var(--color-accent-light);color:var(--color-accent);border-radius:3px}.asset-page__template-card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:2px}.asset-page__template-type-badge{font-size:9px;padding:1px 6px;background:var(--color-surface-alt);color:var(--color-text-muted);border-radius:3px;border:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.3px;font-weight:600;white-space:nowrap}.asset-page__template-extra{font-size:var(--font-size-xs);color:var(--color-text-light);margin-top:4px;font-style:italic;line-height:1.4}.asset-page__template-extra-label{font-weight:600;font-style:normal;color:var(--color-text-muted)}.asset-list{width:260px;border-right:1px solid var(--color-blueprint-line);overflow-y:auto;background:#1a1a1ed9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);flex-shrink:0}.asset-list__item{padding:var(--space-md) var(--space-lg);cursor:pointer;border-bottom:1px solid var(--color-border-light);transition:background .1s}.asset-list__item:hover{background:var(--color-surface-alt)}.asset-list__item--selected{background:var(--color-accent-light);border-left:3px solid var(--color-accent)}.asset-list__item-name{font-weight:500;font-size:var(--font-size-base)}.asset-list__item-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.asset-detail{flex:1;overflow-y:auto;padding:var(--space-xl);background:#0d0d0fd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lifecycle-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);padding:2px 8px;border-radius:12px;font-weight:500}.lifecycle-badge--active{background:var(--color-success-light);color:var(--color-success)}.lifecycle-badge--inactive{background:var(--color-surface-alt);color:var(--color-text-muted)}.lifecycle-badge--killed{background:var(--color-danger-light);color:var(--color-danger)}.lifecycle-badge--reintroduced{background:var(--color-warning-light);color:var(--color-warning)}.lifecycle-badge--resolved{background:var(--color-info-light);color:var(--color-info)}.nav-tab{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all .15s}.nav-tab:hover{color:var(--color-text)}.nav-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.character-slot{display:flex;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-sm);background:var(--color-surface-alt)}.character-slot__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.character-slot__role{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.character-slot__role--primary{color:var(--color-accent)}.character-slot__role--secondary{color:var(--color-text-muted)}.character-slot__role--tertiary{color:var(--color-text-light)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--color-text-muted);text-align:center;height:100%}.empty-state__icon{font-size:48px;margin-bottom:var(--space-lg);opacity:.3}.empty-state__title{font-family:var(--font-body);font-size:var(--font-size-lg);margin-bottom:var(--space-sm)}.empty-state__description{font-size:var(--font-size-sm);max-width:400px;margin-bottom:var(--space-lg)}.empty-state--list{padding:var(--space-lg)}.empty-state--list .empty-state__icon{font-size:32px;margin-bottom:var(--space-sm)}.empty-state--list .empty-state__title{font-size:var(--font-size-sm);margin-bottom:var(--space-xs)}.empty-state--list .empty-state__description{font-size:var(--font-size-xs);margin-bottom:var(--space-sm);max-width:200px}.empty-state__stats{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-md)}.smart-tooltip{animation:tooltipFadeIn .15s ease}.smart-tooltip a,.smart-tooltip span[style*="cursor: pointer"]{color:#90caf9!important}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,-100%) translateY(4px)}to{opacity:1;transform:translate(-50%,-100%) translateY(0)}}@media print{.app-header,.story-tree,.tension-chart,.context-panel__nav,.btn,.notifications,.story-tree__toggle,.tension-chart__toggle{display:none!important}.app-layout{height:auto;overflow:visible}.context-panel{overflow:visible}.context-panel__content{overflow:visible;padding:0}.workspace-card{break-inside:avoid;box-shadow:none;border:1px solid #ccc;page-break-inside:avoid}body{font-size:10pt;color:#000;background:#fff}@page{size:letter portrait;margin:.75in}}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.font-body{font-family:var(--font-body)}.font-bold{font-weight:600}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.importance-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:var(--font-size-xs);font-weight:600;text-transform:capitalize}.importance-badge--primary{background:var(--color-accent);color:#fff}.importance-badge--secondary{background:var(--color-info-light);color:var(--color-info)}.importance-badge--tertiary{background:var(--color-surface-alt);color:var(--color-text-muted)}.block-prop{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:var(--space-sm);margin-bottom:var(--space-xs);background:var(--color-surface)}.block-prop__name{display:flex;align-items:center;gap:6px;font-weight:600;font-size:var(--font-size-sm);margin-bottom:var(--space-xs)}.block-prop__fields{display:flex;flex-direction:column;gap:2px}.block-sticky{border-radius:var(--radius-md);padding:var(--space-sm);margin-bottom:var(--space-xs);border:1px solid rgba(0,0,0,.08)}.block-sticky--yellow{background:#fff9c4}.block-sticky--blue{background:#bbdefb}.block-sticky--green{background:#c8e6c9}.block-sticky--pink{background:#f8bbd0}.block-sticky--orange{background:#ffe0b2}.block-sticky__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.block-sticky__colors{display:flex;gap:3px}.block-sticky__color-btn{width:14px;height:14px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.block-sticky__color-btn--yellow{background:#fff9c4}.block-sticky__color-btn--blue{background:#bbdefb}.block-sticky__color-btn--green{background:#c8e6c9}.block-sticky__color-btn--pink{background:#f8bbd0}.block-sticky__color-btn--orange{background:#ffe0b2}.block-sticky__color-btn--active{border-color:var(--color-text)}.block-sticky__text{width:100%;border:none;background:transparent;resize:vertical;font-family:var(--font-body);font-size:var(--font-size-sm);outline:none;min-height:40px}.export-category-card{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);cursor:pointer;transition:border-color .15s,background .15s}.export-category-card:hover{border-color:var(--color-accent);background:var(--color-surface-alt)}.export-category-card__title{font-weight:600;font-size:var(--font-size-md);margin-bottom:4px}.export-category-card__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:4px}.export-category-card__count{font-size:var(--font-size-xs);color:var(--color-text-light)}.export-format-card{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);margin-bottom:var(--space-xs);cursor:pointer;display:flex;align-items:center;gap:var(--space-sm);transition:border-color .15s,background .15s}.export-format-card:hover{border-color:var(--color-accent);background:var(--color-surface-alt)}.export-format-card__name{font-weight:600;font-size:var(--font-size-sm);min-width:130px}.export-format-card__desc{font-size:var(--font-size-xs);color:var(--color-text-muted);flex:1}.export-format-card__ext{font-size:var(--font-size-xs);font-family:monospace;color:var(--color-text-light);background:var(--color-surface-alt);padding:1px 6px;border-radius:3px}.export-preview{flex:1;overflow:auto;padding:var(--space-md);margin:0;font-family:var(--font-mono, "SF Mono", "Fira Code", monospace);font-size:var(--font-size-xs);white-space:pre-wrap;word-wrap:break-word;background:var(--color-surface-alt);border:none;line-height:1.5}.template-card{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);cursor:pointer;transition:border-color .15s,background .15s}.template-card:hover{border-color:var(--color-accent);background:var(--color-surface-alt)}.template-card__name{font-weight:600;font-size:var(--font-size-md);margin-bottom:4px}.template-card__desc{font-size:var(--font-size-sm);color:var(--color-text-muted)}.version-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-light)}.version-row:hover{background:var(--color-surface-alt)}.version-row--compare{background:var(--color-info-light)}.version-row__info{flex:1;min-width:0}.version-row__name{font-weight:600;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-row__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.version-row__actions{display:flex;gap:4px;flex-shrink:0}.matrix-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border-light);flex-wrap:wrap;gap:var(--space-xs)}.matrix-toolbar__filter{display:flex;align-items:center;gap:4px}.matrix-toolbar__cols{display:flex;gap:var(--space-sm);flex-wrap:wrap}.matrix-scroll{flex:1;overflow:auto}.matrix-table{width:100%;border-collapse:collapse;font-size:var(--font-size-xs)}.matrix-table th{position:sticky;top:0;background:var(--color-surface);border-bottom:2px solid var(--color-border);padding:4px 8px;text-align:left;font-weight:700;white-space:nowrap;z-index:1}.matrix-table td{padding:3px 8px;border-bottom:1px solid var(--color-border-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.matrix-row{cursor:pointer}.matrix-row:hover{background:var(--color-surface-alt)}.matrix-row--selected{background:var(--color-accent-light)!important}.matrix-row--beat td:first-child{font-weight:600;color:var(--color-beat, var(--color-text))}.matrix-row--scene td:first-child{color:var(--color-scene, var(--color-text-muted))}.matrix-footer{padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--color-border-light);font-size:var(--font-size-xs);color:var(--color-text-muted)}.chip-overlay{width:260px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000026;overflow:hidden}.chip-overlay__header{display:flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-light)}.chip-overlay__name{font-weight:600;font-size:var(--font-size-sm);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-overlay__link{background:none;border:none;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-accent);padding:0 2px}.chip-overlay__close{background:none;border:none;cursor:pointer;font-size:var(--font-size-md);color:var(--color-text-muted);padding:0 2px;line-height:1}.chip-overlay__fields{padding:var(--space-sm) var(--space-md)}.chip-overlay__field{display:flex;gap:6px;margin-bottom:4px;font-size:var(--font-size-xs)}.chip-overlay__field-label{color:var(--color-text-muted);flex-shrink:0;font-weight:500}.chip-overlay__field-value{color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-overlay__empty{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs);color:var(--color-text-light);text-align:center}.pin-toggle{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:0;font-size:12px;opacity:.6;transition:opacity .2s ease}.pin-toggle:hover,.pin-toggle--active{opacity:1}.filter-bar{display:flex;gap:var(--space-sm);align-items:center;padding:var(--space-sm);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-light)}.filter-bar__toggle{padding:4px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text);transition:all .2s ease;white-space:nowrap}.filter-bar__toggle:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.filter-bar__toggle--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.shortcuts-panel{display:flex;flex-direction:column;gap:var(--space-lg)}.shortcuts-section{border-bottom:1px solid var(--color-border-light);padding-bottom:var(--space-md)}.shortcuts-section:last-child{border-bottom:none}.shortcuts-section__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin:0 0 var(--space-md) 0;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.shortcuts-section__items{display:flex;flex-direction:column;gap:var(--space-xs)}.shortcut-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) 0;font-size:var(--font-size-sm)}.shortcut-keys{display:flex;gap:4px;flex-shrink:0;min-width:120px}.shortcut-key{display:inline-block;padding:2px 6px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text);white-space:nowrap;box-shadow:var(--shadow-sm);font-weight:500}.shortcut-desc{flex:1;color:var(--color-text-muted);line-height:1.4}.block-ttb{padding:var(--space-xs) var(--space-sm);background:var(--color-surface-alt);border-radius:var(--radius-sm);margin-bottom:2px;font-size:var(--font-size-sm);border-left:3px solid var(--color-danger)}.block-ttb__header{display:flex;gap:var(--space-xs);align-items:center;margin-bottom:6px}.ttb-status{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;font-size:14px;flex-shrink:0}.ttb-status--ticking{background-color:#f443;color:var(--color-danger);animation:pulse-ttb 1.5s ease-in-out infinite}.ttb-status--detonated{background-color:#0000001a;color:#666}.ttb-status--defused{background-color:#2ecc7133;color:var(--color-success)}@keyframes pulse-ttb{0%,to{opacity:1}50%{opacity:.6}}.ttb-countdown-bar{transition:background-color .2s ease}.prop-lifecycle{padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}.prop-lifecycle__link{color:var(--color-accent);cursor:pointer;text-decoration:underline;transition:opacity .2s ease}.prop-lifecycle__link:hover{opacity:.8}.prop-lifecycle__timeline{display:flex;gap:var(--space-xs);align-items:center;margin-top:var(--space-sm);flex-wrap:wrap}.prop-lifecycle__dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-accent);flex-shrink:0}.prop-first-appearance{background-color:var(--color-success)!important;color:#fff!important;padding:2px 6px!important;border-radius:3px!important;font-size:8px!important;margin-left:4px!important}.collab-status__button{position:relative;display:flex;align-items:center;gap:var(--space-xs);padding:4px 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs);transition:all .2s ease;flex-shrink:0}.collab-status__button:hover{background:var(--color-surface-alt);color:var(--color-text)}.collab-status__indicator{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--color-info);animation:collab-pulse 2s ease-in-out infinite}.collab-status__count{font-weight:600;min-width:24px;text-align:center}@keyframes collab-pulse{0%,to{opacity:1}50%{opacity:.5}}.collab-status__section{display:flex;flex-direction:column;gap:var(--space-xs)}.collab-status__label{font-weight:600;color:var(--color-text);font-size:var(--font-size-sm)}.collab-status__value{color:var(--color-accent);font-size:var(--font-size-md);font-weight:600}.asset-overlay__title-row{display:flex;align-items:center;gap:var(--space-xs)}.asset-overlay__scope-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 4px;cursor:pointer;font-size:12px;line-height:1}.asset-overlay__scope-btn:hover{background:var(--color-surface-alt)}.asset-overlay{display:flex;flex-direction:column;height:100%;gap:0}.asset-overlay__panels{display:flex;flex:1;overflow:hidden;gap:0}.asset-overlay--single .asset-overlay__panels{flex-direction:column}.asset-overlay__panel{flex:1;overflow-y:auto;padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs)}.asset-overlay__panel--global{border-right:1px solid var(--color-border)}.asset-overlay--single .asset-overlay__panel--global{border-right:none}.asset-overlay__panel-label{font-family:var(--font-ui);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);margin-bottom:var(--space-xs)}.asset-overlay__actions{display:flex;gap:var(--space-xs);padding:var(--space-sm);border-top:1px solid var(--color-border);background:var(--color-surface-alt)}.asset-overlay__btn{font-family:var(--font-ui);font-size:var(--font-size-sm);padding:4px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;transition:all .15s ease}.asset-overlay__btn:hover{background:var(--color-surface-alt)}.asset-overlay__btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.asset-overlay__btn--primary:hover{background:var(--color-accent-hover)}.asset-overlay__btn--danger{color:var(--color-danger);border-color:var(--color-danger-light)}.asset-overlay__btn--danger:hover{background:var(--color-danger-light)}.compact-field{margin-bottom:2px}.compact-field__header{display:flex;align-items:center;gap:4px;margin-bottom:2px}.compact-field__label{font-family:var(--font-ui);font-size:10px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.compact-field__tip{font-size:9px;color:var(--color-text-light);cursor:help;width:12px;height:12px;border-radius:50%;border:1px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center}.compact-field__toggle{background:none;border:none;cursor:pointer;font-size:10px;color:var(--color-text-light);padding:0 2px;margin-left:auto}.compact-field__toggle:hover{color:var(--color-text)}.compact-field__input,.compact-field__textarea,.compact-field__select{width:100%;font-family:var(--font-body);font-size:var(--font-size-sm);padding:3px 6px;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);transition:border-color .15s ease}.compact-field__input:focus,.compact-field__textarea:focus,.compact-field__select:focus{outline:none;border-color:var(--color-accent)}.compact-field__textarea{resize:vertical;min-height:60px}.compact-field__value{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 0}.tag-input{display:flex;flex-wrap:wrap;gap:3px;padding:3px 4px;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface);min-height:28px;align-items:center}.tag-input:focus-within{border-color:var(--color-accent)}.tag-input__tag{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;background:var(--color-accent-light);border-radius:10px;font-family:var(--font-ui);font-size:11px;color:var(--color-text)}.tag-input__remove{background:none;border:none;cursor:pointer;font-size:11px;color:var(--color-text-muted);padding:0 1px;line-height:1}.tag-input__remove:hover{color:var(--color-danger)}.tag-input__input{border:none;outline:none;background:none;font-family:var(--font-body);font-size:var(--font-size-sm);flex:1;min-width:60px;padding:1px 2px}.trait-selector{position:relative}.trait-selector__selected{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface);min-height:32px;align-items:center}.trait-selector__selected:focus-within{border-color:var(--color-accent)}.trait-selector__empty{flex:1;color:var(--color-text-light);font-family:var(--font-body);font-size:var(--font-size-sm);font-style:italic}.trait-selector__chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-accent-light);border:1px solid var(--color-accent);border-radius:12px;font-family:var(--font-ui);font-size:var(--font-size-xs);color:var(--color-text)}.trait-selector__chip-name{font-weight:500}.trait-selector__chip-remove{background:none;border:none;cursor:pointer;font-size:12px;color:var(--color-text-muted);padding:0 1px;line-height:1}.trait-selector__chip-remove:hover{color:var(--color-danger)}.trait-selector__add-btn{font-family:var(--font-ui);font-size:var(--font-size-xs);padding:2px 6px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface-alt);color:var(--color-text);cursor:pointer;transition:all .15s ease}.trait-selector__add-btn:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.trait-selector__dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);max-height:240px;overflow-y:auto;z-index:1000}.trait-selector__option{padding:8px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--color-border-light)}.trait-selector__option:last-child{border-bottom:none}.trait-selector__option:hover{background:var(--color-accent-light)}.trait-selector__option--disabled{cursor:default;color:var(--color-text-light);pointer-events:none}.trait-selector__option-name{font-family:var(--font-ui);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:2px}.trait-selector__option-desc{font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--color-text-light);line-height:1.4}.chip-overlay__edit-btn{display:block;width:100%;padding:4px 8px;margin-top:4px;background:var(--color-accent-light);border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-accent);font-family:var(--font-ui);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;text-align:center;transition:all .15s ease}.chip-overlay__edit-btn:hover{background:var(--color-accent);color:#fff}.plot-point-overlay__list{display:flex;flex-direction:column;gap:var(--space-sm)}.plot-point-overlay__item{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:var(--space-sm);background:var(--color-surface)}.plot-point-overlay__header{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.plot-point-overlay__badge{font-size:14px;font-weight:700}.plot-point-overlay__badge--fulcrum{color:var(--color-accent)}.plot-point-overlay__badge--lever{color:var(--color-text-muted)}.plot-point-overlay__name{flex:1;font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:600}.plot-point-overlay__tension{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.plot-point-overlay__remove{background:none;border:none;cursor:pointer;color:var(--color-text-light);font-size:14px}.plot-point-overlay__remove:hover{color:var(--color-danger)}.notes-overlay__list{display:flex;flex-direction:column;gap:var(--space-sm)}.notes-overlay__section-label{font-family:var(--font-ui);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);margin-top:var(--space-xs)}.notes-overlay__item{border-left:3px solid var(--color-border);padding:var(--space-xs) var(--space-sm);background:var(--color-surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.notes-overlay__item-header{display:flex;align-items:center;gap:var(--space-xs)}.notes-overlay__icon{font-weight:700;font-size:14px;flex-shrink:0}.notes-overlay__name-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text);padding:2px 0}.notes-overlay__name-input:focus{border-bottom:1px solid var(--color-accent)}.notes-overlay__remove{background:none;border:none;cursor:pointer;color:var(--color-text-light);font-size:14px}.notes-overlay__remove:hover{color:var(--color-danger)}.search-overlay{display:flex;flex-direction:column;height:100%}.search-overlay__bar{display:flex;gap:var(--space-xs);padding:var(--space-sm);border-bottom:1px solid var(--color-border)}.search-overlay__input{flex:1;font-family:var(--font-body);font-size:var(--font-size-base);padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.search-overlay__input:focus{outline:none;border-color:var(--color-accent)}.search-overlay__filter{font-family:var(--font-ui);font-size:var(--font-size-sm);padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.search-overlay__results{flex:1;overflow-y:auto;padding:var(--space-xs)}.search-overlay__hint{color:var(--color-text-light);font-family:var(--font-body);font-size:var(--font-size-sm);text-align:center;padding:var(--space-lg)}.search-overlay__result{display:flex;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.search-overlay__result:hover{background:var(--color-accent-light)}.search-overlay__result-icon{font-size:16px;flex-shrink:0;padding-top:2px}.search-overlay__result-info{flex:1;min-width:0}.search-overlay__result-name{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.search-overlay__result-snippet{font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-overlay__result-field{font-weight:600;color:var(--color-text-light);text-transform:capitalize}.search-overlay__filters{display:flex;flex-wrap:wrap;gap:4px;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border)}.search-overlay__filter-btn{font-family:var(--font-ui);font-size:var(--font-size-sm);padding:4px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all .15s ease}.search-overlay__filter-btn:hover{background:var(--color-surface-alt);border-color:var(--color-accent)}.search-overlay__filter-btn--active{background:var(--color-accent);color:var(--color-text-inverse, white);border-color:var(--color-accent);font-weight:600}.asset-chip{position:relative;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface);margin-bottom:var(--space-xs);overflow:visible;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:inset 1px 1px rgba(var(--moonlight-color),.06),2px 2px 6px #0000004d}.asset-chip:hover{border-color:var(--color-border)}.asset-chip--character{border-left:3px solid var(--color-accent)}.asset-chip--society{border-left:3px solid var(--color-info)}.asset-chip--prop{border-left:3px solid var(--color-warning)}.asset-chip--location{border-left:3px solid var(--color-success)}.asset-chip__header{display:flex;align-items:center;gap:4px;padding:4px 6px;background:var(--color-surface-alt);-webkit-user-select:none;user-select:none}.asset-chip__header:hover{background:var(--color-accent-subtle)}.asset-chip__drag-handle{font-size:10px;color:var(--color-text-light);cursor:grab;line-height:1;flex-shrink:0}.asset-chip__icon{font-size:12px;flex-shrink:0}.asset-chip__name{flex:1;font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.asset-chip__name:hover{text-decoration:underline;color:var(--color-accent)}.asset-chip__lifecycle{font-family:var(--font-ui);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:3px;background:var(--color-surface);border:1px solid currentColor;flex-shrink:0}.asset-chip__controls{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.asset-chip__view-toggle{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;font-size:14px;color:var(--color-text-muted);background:#0000000a;transition:background .1s,color .1s;line-height:1;margin-left:auto}.asset-chip__view-toggle:hover{background:#0000001a;color:var(--color-text)}.asset-chip__tooltip{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm);box-shadow:var(--shadow-md, 0 4px 12px rgba(0,0,0,.15));font-size:var(--font-size-sm);min-width:280px;max-width:480px;pointer-events:none}.asset-chip__tooltip-name{font-weight:600;margin-bottom:2px}.asset-chip__tooltip-type{font-size:9px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:4px}.asset-chip__tooltip-desc{color:var(--color-text-muted);font-size:10px;line-height:1.4;margin-bottom:4px}.asset-chip__tooltip-section{font-size:10px;color:var(--color-text-light)}.asset-chip__tooltip-label{font-weight:600;color:var(--color-text-muted)}.asset-chip__convergence-list{display:flex;flex-wrap:wrap;gap:3px}.asset-chip__convergence-tag{display:inline-block;padding:1px 6px;font-size:9px;background:var(--color-accent-light, rgba(59, 130, 246, .1));color:var(--color-accent);border-radius:8px;cursor:pointer;transition:background .15s;white-space:nowrap}.asset-chip__convergence-tag:hover{background:var(--color-accent);color:#fff}.asset-chip__convergence-detail{font-size:9px;color:var(--color-text-light);font-style:italic}.asset-chip__star{background:none;border:none;cursor:pointer;font-size:14px;color:var(--color-text-light);padding:0 2px;line-height:1;transition:color .15s ease}.asset-chip__star:hover,.asset-chip__star--active{color:var(--color-accent)}.asset-chip__pov{background:transparent;border:1px solid var(--color-border);border-radius:3px;font-family:var(--font-ui);font-size:8px;font-weight:700;padding:1px 4px;cursor:pointer;color:var(--color-text-light);transition:all .15s ease}.asset-chip__pov:hover{border-color:var(--color-accent);color:var(--color-accent)}.asset-chip__pov--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.asset-chip__body{padding:4px 8px 6px}.asset-chip__field{margin-bottom:2px}.asset-chip__field--flagged{border-left:2px solid var(--color-danger);padding-left:4px}.asset-chip__field-label{font-family:var(--font-ui);font-size:9px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:1px}.asset-chip__field-readonly{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text-muted)}.asset-chip__field-row{display:flex;gap:2px}.asset-chip__field-row>*{flex:1}.asset-chip__footer{display:flex;gap:4px;padding:4px 8px;border-top:1px solid var(--color-border-light)}.asset-chip__edit-btn{flex:1;padding:3px 8px;background:var(--color-accent-light);border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-accent);font-family:var(--font-ui);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;text-align:center;transition:all .15s ease}.asset-chip__edit-btn:hover{background:var(--color-accent);color:#fff}.asset-chip__remove-btn{flex:1;padding:3px 8px;background:transparent;border:1px solid var(--color-danger-light);border-radius:var(--radius-sm);color:var(--color-danger);font-family:var(--font-ui);font-size:var(--font-size-xs);cursor:pointer;text-align:center;transition:all .15s ease}.asset-chip__remove-btn:hover{background:var(--color-danger-light)}.asset-chip__twocol{display:flex;gap:var(--space-sm);margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.asset-chip__twocol-col{flex:1;min-width:0}.asset-chip__library-chip{padding:4px 6px;margin-bottom:3px;border-radius:var(--radius-sm);border-left:3px solid var(--color-border);background:var(--color-surface-alt);font-size:var(--font-size-xs);cursor:default}.asset-chip__library-chip--primary{border-left-color:var(--color-accent)}.asset-chip__library-chip--secondary{border-left-color:var(--color-text-muted)}.asset-chip__library-chip--tertiary{border-left-color:var(--color-border)}.asset-chip__library-chip-name{font-weight:600;display:block;line-height:1.3}.asset-chip__library-chip-hint{display:block;color:var(--color-text-light);font-size:10px;line-height:1.3;margin-top:1px}.asset-chip__field-empty{color:var(--color-text-light);font-size:var(--font-size-xs);font-style:italic}.ref-popup-anchor{position:relative;display:inline-block}.ref-popup{position:absolute;bottom:calc(100% + 6px);left:0;z-index:1000;min-width:260px;max-width:360px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #00000026;padding:var(--space-sm);font-size:var(--font-size-xs);line-height:1.45;color:var(--color-text);pointer-events:none}.ref-popup__name{font-weight:700;font-size:var(--font-size-sm);margin-bottom:4px;color:var(--color-text)}.ref-popup__desc{color:var(--color-text-light);margin-bottom:var(--space-xs);line-height:1.5}.ref-popup__section{margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.ref-popup__label{font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-accent);margin-bottom:3px}.ref-popup__list{margin:0;padding-left:16px;list-style:disc}.ref-popup__list li{margin-bottom:2px;color:var(--color-text)}.ref-popup__text{color:var(--color-text)}.ref-popup__text--italic{font-style:italic;color:var(--color-text-light);white-space:pre-line}.asset-chip__field--state-change{margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--color-border-light)}.importance-badge{padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;text-transform:capitalize;white-space:nowrap}.importance-badge--primary{background:var(--color-accent-light);color:var(--color-accent)}.importance-badge--secondary{background:var(--color-surface-alt);color:var(--color-text-muted)}.importance-badge--tertiary{background:var(--color-surface-alt);color:var(--color-text-light)}.image-attachment{margin-bottom:8px}.image-attachment__preview{width:100%;max-height:120px;object-fit:cover;border-radius:4px;border:1px solid var(--color-border-light)}.image-attachment__actions{display:flex;gap:4px;margin-top:4px}.image-attachment__upload-btn{width:100%;padding:8px;border:2px dashed var(--color-border);background:transparent;color:var(--color-text-light);cursor:pointer;border-radius:4px;font-size:12px;text-align:center}.image-attachment__upload-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.image-attachment__remove-btn{border:none;background:none;color:var(--color-text-light);cursor:pointer;font-size:10px;padding:2px 4px}.image-attachment__remove-btn:hover{color:var(--color-danger)}.asset-attachment{margin-bottom:var(--space-sm)}.asset-attachment__label{font-size:var(--font-size-sm);font-weight:500;margin-bottom:4px;color:var(--color-text-light)}.asset-attachment__chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.asset-attachment__chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:3px;font-size:var(--font-size-xs)}.asset-attachment__chip-icon{font-size:11px}.asset-attachment__chip-name{font-weight:500}.asset-attachment__chip-type{color:var(--color-text-muted);font-size:10px}.asset-attachment__chip-remove{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:11px;padding:0 2px;margin-left:2px}.asset-attachment__chip-remove:hover{color:var(--color-danger)}.asset-attachment__select{width:100%;font-size:var(--font-size-sm);padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.uchip{position:relative;display:flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:4px;background:var(--color-surface);font-size:var(--font-size-sm);transition:box-shadow .15s}.uchip:hover{box-shadow:0 1px 3px #00000014}.uchip__bar{width:3px;flex-shrink:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.uchip__body{flex:1;min-width:0;padding:4px 8px}.uchip__header{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:22px}.uchip__header-left{display:flex;align-items:center;gap:4px;min-width:0;flex:1}.uchip__header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.uchip__chevron{font-size:11px;color:var(--color-text-muted);width:12px;text-align:center;flex-shrink:0;-webkit-user-select:none;user-select:none}.uchip__view-toggle{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;font-size:14px;color:var(--color-text-muted);background:#0000000a;transition:background .1s,color .1s;line-height:1}.uchip__view-toggle:hover{background:#0000001a;color:var(--color-text)}.uchip__name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uchip__desc{font-size:var(--font-size-xs);color:var(--color-text-light);line-height:1.4;margin-top:2px;word-wrap:break-word;overflow-wrap:break-word}.uchip__desc--editing{margin-top:4px}.uchip__medium,.uchip__expanded{margin-top:6px;padding-top:6px;border-top:1px solid var(--color-border-light)}.uchip-field{margin-bottom:4px}.uchip-field__label{font-size:10px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:1px}.uchip-field__text{font-size:var(--font-size-xs);color:var(--color-text);line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.uchip-textarea{width:100%;border:1px solid var(--color-border-light);border-radius:3px;padding:3px 6px;font-size:var(--font-size-xs);font-family:var(--font-body);line-height:1.4;background:var(--color-surface-alt);resize:none;overflow:hidden;min-height:24px}.uchip-textarea:focus{outline:none;border-color:var(--color-accent);background:#fff}.uchip-select{width:100%;font-size:var(--font-size-xs);padding:2px 4px;border:1px solid var(--color-border-light);border-radius:3px;background:var(--color-surface-alt)}.uchip-twocol{display:flex;gap:8px;margin-bottom:4px}.uchip-twocol__col{flex:1;min-width:0}.uchip-chiplist{display:flex;flex-direction:column;gap:2px;margin-top:2px}.uchip__icon-btn{border:none;background:none;cursor:pointer;font-size:12px;padding:0 2px;color:var(--color-text-muted);line-height:1}.uchip__icon-btn:hover{color:var(--color-accent)}.uchip__actions{display:flex;gap:4px;margin-top:6px;padding-top:6px;border-top:1px solid var(--color-border-light)}.uchip-tooltip{position:absolute;top:100%;left:0;z-index:200;width:280px;max-height:300px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;padding:8px 10px;font-size:var(--font-size-xs);pointer-events:none}.uchip-tooltip__desc{color:var(--color-text);margin-bottom:6px;line-height:1.4}.uchip-tooltip__section{margin-bottom:4px}.uchip-tooltip__heading{font-weight:600;font-size:10px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:2px}.uchip-tooltip__item{color:var(--color-text-light);line-height:1.4;padding-left:6px}.uchip-master-toggle{display:inline-flex;align-items:center;gap:4px;border:none;background:none;cursor:pointer;font-size:11px;color:var(--color-text-muted);padding:2px 4px}.uchip-master-toggle:hover{color:var(--color-accent)}.uchip-master-toggle__icon{font-size:13px}.uchip-master-toggle__label{font-size:10px;text-transform:uppercase;letter-spacing:.3px}.annotation-indicator{display:inline-flex;align-items:center;position:relative}.annotation-indicator__btn{border:none;background:none;cursor:pointer;font-size:0;padding:0;opacity:0;width:12px;height:12px;position:relative;transition:opacity .15s}.annotation-indicator__btn:after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 10px 10px 0;border-color:transparent var(--color-text-muted) transparent transparent;opacity:0;transition:opacity .15s}.annotation-indicator__btn:hover{opacity:1}.annotation-indicator__btn:hover:after{opacity:.5}.annotation-indicator__btn--has-notes{opacity:1}.annotation-indicator__btn--has-notes:after{opacity:1;border-color:transparent var(--color-warning) transparent transparent}.annotation-indicator__count{position:absolute;top:-4px;right:-4px;font-size:8px;font-weight:700;background:var(--color-warning);color:#fff;width:12px;height:12px;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none}.annotation-popover{position:absolute;top:100%;left:0;z-index:100;width:260px;max-height:320px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:8px;font-size:var(--font-size-sm)}.annotation-popover__header{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:11px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.annotation-popover__close{border:none;background:none;cursor:pointer;font-size:14px;color:var(--color-text-light)}.annotation-popover__note{border-radius:4px;padding:6px;margin-bottom:6px;border-left:3px solid var(--color-border)}.annotation-popover__note--yellow{background:#fff9e6;border-left-color:#f5d623}.annotation-popover__note--green{background:#e6f9e6;border-left-color:#70ad47}.annotation-popover__note--blue{background:#e6f0ff;border-left-color:#5b9bd5}.annotation-popover__note--pink{background:#ffe6f0;border-left-color:#e91e63}.annotation-popover__note--orange{background:#fff0e6;border-left-color:#f39c12}.annotation-popover__note-header{display:flex;align-items:center;gap:4px;margin-bottom:4px}.annotation-popover__colors{display:flex;gap:2px}.annotation-popover__color-btn{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.15);cursor:pointer}.annotation-popover__color-btn--yellow{background:#f5d623}.annotation-popover__color-btn--green{background:#70ad47}.annotation-popover__color-btn--blue{background:#5b9bd5}.annotation-popover__color-btn--pink{background:#e91e63}.annotation-popover__color-btn--orange{background:#f39c12}.annotation-popover__color-btn--active{border:2px solid var(--color-text)}.annotation-popover__scope{font-size:9px;padding:1px 4px;border:1px solid var(--color-border-light);border-radius:3px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;margin-left:auto}.annotation-popover__delete{border:none;background:none;cursor:pointer;color:var(--color-text-light);font-size:12px;padding:0 2px}.annotation-popover__delete:hover{color:var(--color-danger)}.annotation-popover__text{width:100%;border:1px solid var(--color-border-light);border-radius:3px;padding:4px;font-size:11px;font-family:var(--font-body);resize:none;background:transparent;color:var(--color-text)}.annotation-popover__text:focus{outline:none;border-color:var(--color-accent)}.onboarding-wizard-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.onboarding-wizard-modal{background:var(--color-surface-raised);border-radius:var(--radius-lg);box-shadow:inset 1px 1px rgba(var(--moonlight-color),.1),-2px -2px 6px rgba(var(--moonlight-color),.05),6px 6px 20px #0009,0 0 40px #0000004d;max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.onboarding-wizard-close{position:absolute;top:var(--space-md);right:var(--space-md);background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-light);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s ease}.onboarding-wizard-close:hover{background:var(--color-surface-alt);color:var(--color-text)}.onboarding-wizard-steps{display:flex;gap:var(--space-sm);padding:var(--space-lg) var(--space-lg) 0;justify-content:center}.onboarding-wizard-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border-light);transition:all .3s ease}.onboarding-wizard-dot.active{background:var(--color-accent);transform:scale(1.3)}.onboarding-wizard-dot.completed{background:var(--color-success)}.onboarding-wizard-content{flex:1;padding:var(--space-2xl) var(--space-xl);overflow-y:auto}.onboarding-wizard-step{display:flex;flex-direction:column;gap:var(--space-lg)}.onboarding-wizard-title{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text);margin:0;font-family:var(--font-body)}.onboarding-wizard-subtitle{font-size:var(--font-size-md);color:var(--color-text-muted);margin:0;font-family:var(--font-ui)}.onboarding-wizard-text{font-size:var(--font-size-base);color:var(--color-text-muted);margin:0;line-height:1.6;font-family:var(--font-ui)}.onboarding-wizard-icon{font-size:3rem;text-align:center;margin:var(--space-md) 0}.onboarding-wizard-options{display:flex;flex-direction:column;gap:var(--space-md)}.onboarding-wizard-option{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);border:2px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface-alt);cursor:pointer;transition:all .2s ease;text-align:left;font-family:var(--font-ui);font-size:var(--font-size-base)}.onboarding-wizard-option:hover{border-color:var(--color-accent-light);background:var(--color-accent-subtle)}.onboarding-wizard-option.selected{border-color:var(--color-accent);background:var(--color-accent-light);box-shadow:0 0 0 3px #b8860b1a}.onboarding-wizard-option-title{font-weight:600;color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-md)}.onboarding-wizard-option-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-ui)}.onboarding-wizard-form{display:flex;flex-direction:column;gap:var(--space-lg)}.onboarding-wizard-form label{display:flex;flex-direction:column;gap:var(--space-sm);font-family:var(--font-ui)}.onboarding-wizard-form label span{font-weight:600;color:var(--color-text);font-size:var(--font-size-base)}.onboarding-wizard-form input,.onboarding-wizard-form select,.onboarding-wizard-form textarea{padding:var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--font-size-base);background:var(--color-surface);color:var(--color-text);transition:all .2s ease}.onboarding-wizard-form input:focus,.onboarding-wizard-form select:focus,.onboarding-wizard-form textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #b8860b1a}.onboarding-wizard-form textarea{resize:vertical;min-height:100px;font-family:var(--font-body)}.onboarding-wizard-help{font-size:var(--font-size-sm);color:var(--color-text-light);margin:0;font-family:var(--font-ui)}.onboarding-wizard-checkbox{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;font-family:var(--font-ui);padding:var(--space-md);border-radius:var(--radius-md);transition:all .2s ease}.onboarding-wizard-checkbox:hover{background:var(--color-surface-alt)}.onboarding-wizard-checkbox input{width:18px;height:18px;cursor:pointer;margin:0}.onboarding-wizard-checkbox span{color:var(--color-text);font-size:var(--font-size-base)}.onboarding-wizard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-2xl) 0}.onboarding-wizard-spinner{width:40px;height:40px;border:3px solid var(--color-border-light);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.onboarding-wizard-loading p{color:var(--color-text-muted);font-size:var(--font-size-base);margin:0;font-family:var(--font-ui)}.onboarding-wizard-navigation{display:flex;gap:var(--space-lg);padding:var(--space-lg);border-top:1px solid var(--color-border-light);background:var(--color-surface-alt)}.onboarding-wizard-btn{flex:1;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-ui)}.onboarding-wizard-btn:disabled{opacity:.5;cursor:not-allowed}.onboarding-wizard-btn-primary{background:var(--color-accent);color:#fff}.onboarding-wizard-btn-primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.onboarding-wizard-btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-light)}.onboarding-wizard-btn-secondary:hover:not(:disabled){background:var(--color-surface-alt);border-color:var(--color-border)}.onboarding-wizard-options--scrollable{max-height:340px;overflow-y:auto;padding-right:var(--space-xs)}.onboarding-wizard-final-actions{display:flex;gap:var(--space-md);justify-content:flex-end}.onboarding-wizard-intro{display:flex;flex-direction:column;gap:var(--space-md);text-align:left;margin-top:var(--space-md)}.onboarding-wizard-intro-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.onboarding-wizard-intro-icon{font-size:24px;flex-shrink:0;margin-top:2px}.onboarding-wizard-intro-item strong{display:block;margin-bottom:4px;font-size:14px}.onboarding-wizard-intro-item p{margin:0;font-size:13px;color:var(--color-text-light);line-height:1.5}.onboarding-wizard-input{width:100%;padding:8px 12px;font-size:14px;font-family:inherit;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);box-sizing:border-box}.onboarding-wizard-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.tutorial__overlay{position:fixed;inset:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center}.tutorial__modal{background:var(--color-surface);border-radius:12px;box-shadow:0 8px 32px #00000040;width:90vw;max-width:680px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.tutorial__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-light)}.tutorial__title{font-size:18px;font-weight:600;margin:0}.tutorial__close{border:none;background:none;font-size:20px;cursor:pointer;color:var(--color-text-light);padding:4px 8px}.tutorial__close:hover{color:var(--color-text)}.tutorial__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:20px;overflow-y:auto}.tutorial__topic-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-surface);cursor:pointer;transition:all .15s;text-align:center}.tutorial__topic-card:hover{border-color:var(--color-accent);background:var(--color-accent-light, rgba(74,144,226,.05));transform:translateY(-1px)}.tutorial__topic-icon{font-size:28px}.tutorial__topic-title{font-size:12px;font-weight:600}.tutorial__topic-desc{font-size:10px;color:var(--color-text-muted);line-height:1.3}.tutorial__step-view{padding:20px;flex:1;display:flex;flex-direction:column}.tutorial__progress{margin-bottom:16px}.tutorial__progress-bar{height:4px;background:var(--color-border-light);border-radius:2px;overflow:hidden;margin-bottom:6px}.tutorial__progress-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .3s ease}.tutorial__step-counter{font-size:11px;color:var(--color-text-muted)}.tutorial__step-content{flex:1}.tutorial__step-title{font-size:16px;font-weight:600;margin:0 0 10px}.tutorial__step-text{font-size:13px;line-height:1.6;color:var(--color-text);margin:0}.tutorial__step-hint{margin-top:10px;font-size:11px;color:var(--color-text-muted);background:var(--color-surface-alt, rgba(0,0,0,.03));padding:6px 10px;border-radius:4px}.tutorial__step-hint code{font-family:monospace;color:var(--color-accent)}.tutorial__step-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:20px;padding-top:12px;border-top:1px solid var(--color-border-light)}.notification-toast{position:fixed;bottom:20px;right:20px;z-index:9000;display:flex;align-items:flex-start;gap:10px;max-width:400px;padding:12px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);animation:notification-slide-in .3s ease-out}@keyframes notification-slide-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.notification-toast__icon{font-size:20px;flex-shrink:0;line-height:1;margin-top:2px}.notification-toast__body{flex:1;min-width:0}.notification-toast__title{font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:3px}.notification-toast__message{font-size:12px;color:var(--color-text-light);line-height:1.4}.notification-toast__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.notification-toast__close{width:20px;height:20px;border:none;background:none;color:var(--color-text-muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s}.notification-toast__close:hover{background:var(--color-surface-alt, rgba(0,0,0,.05));color:var(--color-text)}.encyclopedia-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:12px}.encyclopedia-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.encyclopedia-card:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #00000014}.encyclopedia-card__name{font-weight:600;font-size:13px;margin-bottom:4px}.encyclopedia-card__tags{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:6px}.encyclopedia-card__tag{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--color-accent-light);color:var(--color-accent)}.encyclopedia-card__desc{font-size:11px;color:var(--color-text-light);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.encyclopedia-filters{display:flex;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--color-border);flex-wrap:wrap}.encyclopedia-toggle{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--color-text-light);cursor:pointer}.welcome-modal__backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.welcome-modal{background:var(--color-surface-raised);border-radius:16px;padding:48px 56px;max-width:480px;width:90%;text-align:center;box-shadow:inset 1px 1px rgba(var(--moonlight-color),.1),-2px -2px 6px rgba(var(--moonlight-color),.05),6px 6px 20px #0009,0 0 40px #0000004d;animation:welcome-enter .35s ease-out}@keyframes welcome-enter{0%{transform:translateY(24px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.welcome-modal__icon{font-size:48px;margin-bottom:12px;line-height:1}.welcome-modal__title{font-size:24px;font-weight:700;color:var(--color-text);margin:0 0 8px;letter-spacing:-.3px}.welcome-modal__subtitle{font-size:14px;color:var(--color-text-muted);margin:0 0 32px;line-height:1.5}.welcome-modal__actions{display:flex;flex-direction:column;gap:12px}.welcome-modal__btn{display:flex;align-items:center;gap:16px;width:100%;padding:16px 20px;border:2px solid var(--color-border);border-radius:12px;background:var(--color-surface);cursor:pointer;text-align:left;transition:border-color .2s,background .2s,box-shadow .2s}.welcome-modal__btn:hover{border-color:var(--color-accent);background:var(--color-accent-subtle);box-shadow:0 4px 16px #b8860b1f}.welcome-modal__btn--primary{border-color:var(--color-accent);background:var(--color-accent-subtle)}.welcome-modal__btn--primary:hover{background:var(--color-accent-light);box-shadow:0 4px 20px #b8860b2e}.welcome-modal__btn-icon{font-size:24px;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--color-surface-alt)}.welcome-modal__btn--primary .welcome-modal__btn-icon{background:var(--color-accent-light)}.welcome-modal__btn-text{display:flex;flex-direction:column;gap:2px}.welcome-modal__btn-text strong{font-size:15px;font-weight:600;color:var(--color-text)}.welcome-modal__btn-text span:last-child{font-size:12px;color:var(--color-text-muted)}.tree-node__boundary-start:before{content:"▸";color:var(--color-warning);margin-right:2px}.tree-node__boundary-end:after{content:"◂";color:var(--color-warning);margin-left:2px}.society-hierarchy{display:flex;flex-direction:column;height:100%;overflow:hidden}.society-hierarchy__toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--color-border);flex-shrink:0}.society-hierarchy__count{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-right:auto}.society-hierarchy__tree{flex:1;overflow-y:auto;padding:16px 12px;background-color:var(--color-blueprint);background-image:url(/blueprint-lined.png);background-size:902px 600px;background-repeat:repeat}.society-hierarchy__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:32px 16px;text-align:center}.society-hierarchy__empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.society-hierarchy__empty-text{font-size:var(--font-size-base);color:var(--color-text-primary);margin-bottom:6px}.society-hierarchy__empty-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.hierarchy-node{position:relative;margin-left:calc(var(--depth, 0) * 24px);margin-bottom:4px}.hierarchy-node__connector{position:absolute;left:-16px;top:0;width:16px;height:14px;border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-radius:0 0 0 4px}.hierarchy-node__chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;font-size:var(--font-size-sm);transition:background .15s,border-color .15s;max-width:100%}.hierarchy-node__chip:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.hierarchy-node__type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.hierarchy-node__label{font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hierarchy-node__linked-name{font-size:var(--font-size-xs);color:var(--color-accent);opacity:.8}.hierarchy-node__actions{display:none;align-items:center;gap:2px;margin-left:4px}.hierarchy-node__chip:hover .hierarchy-node__actions{display:inline-flex}.hierarchy-node__action-btn{background:none;border:none;cursor:pointer;font-size:11px;color:var(--color-text-muted);padding:0 3px;border-radius:3px;line-height:1}.hierarchy-node__action-btn:hover{color:var(--color-accent);background:var(--color-bg-hover)}.hierarchy-node__action-btn--delete:hover{color:var(--color-danger)}.hierarchy-node__children{padding-top:2px;padding-left:8px;border-left:1px solid var(--color-border);margin-left:12px}.hierarchy-edit-panel{position:absolute;bottom:0;left:0;right:0;background:var(--color-bg-primary);border-top:2px solid var(--color-accent);padding:12px 16px;z-index:10;box-shadow:0 -4px 12px #0000004d}.hierarchy-edit-panel__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.hierarchy-edit-panel__field{margin-bottom:8px}.hierarchy-edit-panel__field label{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:3px}.hierarchy-edit-panel__field input,.hierarchy-edit-panel__field select,.hierarchy-edit-panel__field textarea{width:100%;padding:4px 8px;font-size:var(--font-size-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary)}.hierarchy-edit-panel__actions{display:flex;gap:8px;margin-top:8px}.btn--danger{color:var(--color-danger);border-color:var(--color-danger)}.btn--danger:hover{background:var(--color-danger);color:#fff}.thread-workspace{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.thread-workspace__section{margin-bottom:var(--space-md)}.thread-workspace__chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px;min-height:24px}.thread-workspace__chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-accent-light, rgba(74, 144, 217, .15));color:var(--color-accent);border-radius:10px;font-size:var(--font-size-xs);font-weight:500}.thread-workspace__chip--location{background:#27ae6026;color:var(--color-success, #27AE60)}.thread-workspace__chip-remove{background:none;border:none;cursor:pointer;color:inherit;opacity:.6;font-size:12px;padding:0;line-height:1}.thread-workspace__chip-remove:hover{opacity:1}.thread-workspace__note{display:flex;align-items:flex-start;gap:6px;padding:4px 8px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:4px;font-size:var(--font-size-sm)}.thread-workspace__note-text{flex:1;color:var(--color-text-secondary)}.toggle-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch--disabled{opacity:.5;pointer-events:none}.toggle-switch__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.toggle-switch__track{position:relative;display:inline-block;width:36px;height:20px;border-radius:10px;background:var(--color-border);transition:background .2s ease;flex-shrink:0}.toggle-switch__track--on{background:var(--color-accent)}.toggle-switch__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--color-text-muted);transition:transform .2s ease,background .2s ease}.toggle-switch__track--on .toggle-switch__thumb{transform:translate(16px);background:var(--color-bg)}.toggle-switch__label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:400}.toggle-switch--sm .toggle-switch__track{width:28px;height:16px;border-radius:8px}.toggle-switch--sm .toggle-switch__thumb{width:12px;height:12px}.toggle-switch--sm .toggle-switch__track--on .toggle-switch__thumb{transform:translate(12px)}.toggle-switch--sm .toggle-switch__label{font-size:var(--font-size-xs)}.template-section-toggle{display:flex;padding:var(--space-sm) var(--space-md);gap:0;border-bottom:1px solid var(--color-border)}.template-section-toggle__btn{flex:1;padding:6px 12px;font-size:var(--font-size-sm);font-weight:500;background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.template-section-toggle__btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.template-section-toggle__btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:none}.template-section-toggle__btn--active{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.template-section-toggle__btn--active+.template-section-toggle__btn{border-left-color:var(--color-accent)}.ctx-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 32px #0000008c,0 2px 8px #0000004d;min-width:200px;max-width:300px;padding:var(--space-xs) 0;animation:ctxFadeIn .1s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ctx-menu__item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);cursor:pointer;transition:background .1s;color:var(--color-text);-webkit-user-select:none;user-select:none}.ctx-menu__item:hover{background:var(--color-accent-subtle)}.ctx-menu__item--danger{color:var(--color-danger)}.ctx-menu__item--danger:hover{background:var(--color-danger-light)}.ctx-menu__item--disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.6}.ctx-menu__item--disabled:hover{background:transparent}.ctx-menu__item--active{color:var(--color-accent)}.ctx-menu__icon{width:16px;text-align:center;flex-shrink:0;font-size:var(--font-size-xs)}.ctx-menu__label{flex:1}.ctx-menu__shortcut{font-size:var(--font-size-xs);color:var(--color-text-light);margin-left:var(--space-lg)}.ctx-menu__check{width:16px;text-align:center;flex-shrink:0;color:var(--color-accent);font-size:var(--font-size-xs)}.ctx-menu__divider{height:1px;background:var(--color-border-light);margin:var(--space-xs) 0}.data-table-wrap{display:flex;width:50%;min-width:360px;max-width:75%;flex-direction:column;border:1px solid var(--color-blueprint-line-bright);border-radius:var(--radius-md);overflow:hidden;background-image:url(/blueprint-plain.png);background-size:cover;background-position:center;background-color:#080e1a;outline:none}.data-table-wrap:focus-visible{border-color:var(--color-accent)}.data-table-toolbar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px dashed var(--color-blueprint-line-bright);background:#0c1220b3}.data-table-toolbar__search{flex:1;background:#ffffff0f;border:1px solid var(--color-blueprint-line);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);color:var(--color-text);font-size:var(--font-size-sm);outline:none;transition:border-color .15s}.data-table-toolbar__search:focus{border-color:var(--color-accent)}.data-table-toolbar__search::placeholder{color:var(--color-blueprint-text)}.data-table-toolbar__btn{background:none;border:1px solid var(--color-blueprint-line);border-radius:var(--radius-sm);color:var(--color-blueprint-text);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all .15s;white-space:nowrap}.data-table-toolbar__btn:hover,.data-table-toolbar__btn--accent{border-color:var(--color-accent);color:var(--color-accent)}.data-table-toolbar__btn--accent:hover{background:var(--color-accent);color:var(--color-bg)}.data-table-scroll{flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--color-blueprint-line-bright) transparent}.data-table-scroll::-webkit-scrollbar{width:6px;height:6px}.data-table-scroll::-webkit-scrollbar-track{background:transparent}.data-table-scroll::-webkit-scrollbar-thumb{background:var(--color-blueprint-line-bright);border-radius:3px}.data-table{width:100%;border-collapse:collapse;table-layout:auto}.data-table thead{position:sticky;top:0;z-index:2}.data-table th{background:#080e1aeb;border-bottom:1px solid var(--color-blueprint-line-bright);border-right:1px solid var(--color-blueprint-line-bright);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);font-weight:500;color:var(--color-blueprint-text);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .15s;position:relative}.data-table th:hover{color:var(--color-text)}.data-table th--sorted{color:var(--color-accent)}.data-table th--locked{position:sticky;left:0;z-index:3;background:#0c1220f2}.data-table__sort-icon{margin-left:4px;font-size:9px;opacity:.6}.data-table__col-drag{cursor:grab;opacity:.4;margin-right:4px}.data-table__col-drag:active{cursor:grabbing}.data-table td{border-bottom:1px solid var(--color-blueprint-line);border-right:1px solid var(--color-blueprint-line-bright);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;transition:color .1s,font-weight .1s}.data-table td--locked{position:sticky;left:0;z-index:1;background:#080e1aeb}.data-table tr{cursor:pointer}.data-table tbody tr:hover td{color:var(--color-text);font-weight:600}.data-table tr--selected td{color:var(--color-text);font-weight:600}.data-table tr--selected td:first-child{box-shadow:inset 3px 0 0 var(--color-accent)}.data-table__tag{display:inline-block;padding:1px 6px;border-radius:10px;font-size:var(--font-size-xs);background:var(--color-accent-subtle);color:var(--color-accent);margin-right:3px;margin-bottom:1px}.data-table__user-defined{display:inline-block;width:14px;height:14px;text-align:center;line-height:14px;font-size:10px;border-radius:50%}.data-table__user-defined--yes{color:var(--color-accent)}.data-table__user-defined--no{color:var(--color-text-light);opacity:.4}.data-table__empty{padding:var(--space-xl);text-align:center;color:var(--color-blueprint-text);font-size:var(--font-size-sm);font-style:italic}.data-table__tag-filters{display:flex;flex-wrap:wrap;gap:4px;padding:var(--space-xs) var(--space-md);border-bottom:1px dashed var(--color-blueprint-line);background:#0c122080}.data-table__tag-chip{padding:2px 8px;border-radius:10px;font-size:var(--font-size-xs);border:1px solid var(--color-blueprint-line);background:transparent;color:var(--color-blueprint-text);cursor:pointer;transition:all .15s}.data-table__tag-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.data-table__tag-chip--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.data-table__ghost-row{cursor:pointer}.data-table__ghost-cell{border-bottom:1px solid var(--color-blueprint-line);border-right:none!important;padding:var(--space-sm) var(--space-md);text-align:left}.data-table__ghost-label{color:var(--color-blueprint-text);font-size:var(--font-size-sm);opacity:.6;transition:opacity .15s,color .15s}.data-table__ghost-row:hover .data-table__ghost-label{opacity:1;color:var(--color-accent)}.data-table__fill-row{pointer-events:none}.data-table__fill-row td{padding:var(--space-xs) var(--space-sm)!important;border-bottom:1px solid var(--color-blueprint-line)!important;border-right:1px solid var(--color-blueprint-line-bright)!important;color:transparent!important;font-size:var(--font-size-sm);-webkit-user-select:none;user-select:none}.data-table__secondary-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--color-blueprint-line);background:#080e1a99}.data-table__subtab-bar{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.data-table__subtab{background:none;border:none;color:var(--color-blueprint-text);font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm);cursor:pointer;transition:color .15s;border-bottom:2px solid transparent;font-weight:400}.data-table__subtab:hover{color:var(--color-text)}.data-table__subtab--active{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:500}.blueprint-bg{background-color:var(--color-blueprint);background-image:url(/blueprint-lined.png);background-size:902px 600px;background-repeat:repeat}.blueprint-bg--no-lines{background-color:var(--color-blueprint);background-image:url(/blueprint-plain.png);background-size:cover;background-repeat:no-repeat}.coach-welcome-banner{position:fixed;top:52px;left:50%;transform:translate(-50%);z-index:9000;background:var(--color-surface-raised, #1e1e3a);border:1px solid var(--color-border);border-left:3px solid var(--color-accent, #4A90D9);border-radius:var(--radius-md, 6px);padding:10px 16px;display:flex;align-items:center;gap:16px;font-size:var(--font-size-sm, 13px);color:var(--color-text, #e0e0e0);box-shadow:0 4px 16px #0006;animation:coach-banner-enter .3s ease-out;max-width:600px}.coach-welcome-banner__dismiss{background:var(--color-accent, #4A90D9);color:#fff;border:none;border-radius:var(--radius-sm, 4px);padding:4px 12px;font-size:var(--font-size-xs, 11px);cursor:pointer;white-space:nowrap;font-weight:600}.coach-welcome-banner__dismiss:hover{opacity:.9}@keyframes coach-banner-enter{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.story-coach__section{margin-bottom:12px}.story-coach__section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-muted, #888);margin-bottom:4px}.story-coach__text{font-size:var(--font-size-sm, 13px);color:var(--color-text, #e0e0e0);line-height:1.5}.story-coach__example{font-style:italic;color:var(--color-text-light, #aaa);padding:8px 12px;background:var(--color-surface-alt, #1a1a2e);border-radius:var(--radius-sm, 4px);border-left:2px solid var(--color-accent, #4A90D9)}.story-coach__link{display:inline-block;margin-top:8px;color:var(--color-accent, #4A90D9);cursor:pointer;font-size:var(--font-size-sm, 13px);font-weight:500}.story-coach__link:hover{text-decoration:underline}.file-lock-warning__backdrop{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}.file-lock-warning__modal{background:var(--color-surface);border:2px solid var(--color-danger, #e74c3c);border-radius:var(--radius-lg, 12px);padding:32px;max-width:460px;text-align:center;box-shadow:0 8px 32px #00000080}.file-lock-warning__icon{font-size:48px;margin-bottom:12px}.file-lock-warning__title{font-size:20px;font-weight:700;color:var(--color-danger, #e74c3c);margin:0 0 12px}.file-lock-warning__message{font-size:15px;color:var(--color-text);margin:0 0 8px}.file-lock-warning__time{color:var(--color-text-muted);font-size:13px}.file-lock-warning__detail{font-size:13px;color:var(--color-text-muted);margin:0 0 24px;line-height:1.5}.file-lock-warning__actions{display:flex;gap:12px;justify-content:center}.btn--danger{background:var(--color-danger, #e74c3c);color:#fff;border:none;padding:8px 20px;border-radius:var(--radius-sm, 4px);cursor:pointer;font-weight:600}.btn--danger:hover{opacity:.9}
