.editor.svelte-1ctqrjb{height:100%;width:100%;position:relative;display:flex;justify-content:center;background:var(--canvas);overflow-y:auto;padding:var(--space-12) var(--space-6)}.editor-preview.svelte-1ctqrjb{width:70vw;max-width:640px;min-height:100%;height:max-content;padding:var(--space-16);border:none;border-radius:var(--radius-button);font-family:var(--font-serif);font-size:19px;line-height:var(--leading-read);color:var(--ink);background:var(--paper);caret-color:var(--ember);outline:none;box-shadow:var(--shadow-page);cursor:text;white-space:pre-wrap;word-wrap:break-word}.editor-preview.svelte-1ctqrjb:empty:before{content:attr(data-placeholder);color:var(--ink-faint);pointer-events:none}.editor-preview.typewriter.svelte-1ctqrjb{padding-top:42vh;padding-bottom:42vh}.editor-preview.svelte-1ctqrjb h1{font-family:var(--font-serif);font-size:2.5em;margin:1.5em 0 .5em;font-weight:500;text-align:center;letter-spacing:.1em;color:var(--ink)}.editor-preview.svelte-1ctqrjb h2{font-family:var(--font-serif);font-size:2em;margin:1.2em 0 .5em;font-weight:500;color:var(--ink)}.editor-preview.svelte-1ctqrjb h3{font-family:var(--font-serif);font-size:1.5em;margin:1em 0 .5em;font-weight:500;color:var(--ink)}.editor-preview.svelte-1ctqrjb .chapter-subtitle{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint);text-align:center}.editor-preview.svelte-1ctqrjb p{margin:1em 0;text-align:justify;background:transparent!important;background-color:transparent!important;color:inherit!important}.editor-preview.svelte-1ctqrjb div,.editor-preview.svelte-1ctqrjb span{background:transparent!important;background-color:transparent!important;color:inherit!important}.editor-preview.svelte-1ctqrjb strong,.editor-preview.svelte-1ctqrjb b{font-weight:700}.editor-preview.svelte-1ctqrjb em{font-style:italic}.editor-preview.svelte-1ctqrjb u{text-decoration:underline}.editor-preview.svelte-1ctqrjb hr{border:none;border-top:1px solid var(--ink-soft);margin:2rem 0}.editor-preview.svelte-1ctqrjb blockquote{border-left:3px solid var(--border-strong);padding-left:1em;margin:1em 0;color:var(--ink-soft);font-style:italic}.editor-preview.svelte-1ctqrjb ul,.editor-preview.svelte-1ctqrjb ol{margin:1em 0;padding-left:2em}.editor-preview.svelte-1ctqrjb li{margin:.5em 0}.editor-preview.svelte-1ctqrjb code{background:var(--canvas-2);padding:.2em .4em;border-radius:var(--radius-input);font-family:var(--font-mono);font-size:.9em;color:var(--ink)}.editor-preview.svelte-1ctqrjb pre{background:var(--canvas-2);padding:1em;border-radius:var(--radius-card);overflow-x:auto;margin:1em 0;color:var(--ink)}.editor-preview.svelte-1ctqrjb pre code{background:none;padding:0}.no-session.svelte-1ctqrjb{display:flex;align-items:center;justify-content:center;height:100%;width:100%;font-family:var(--font-ui);color:var(--ink-muted)}.context-menu.svelte-1ctqrjb,.mention-menu.svelte-1ctqrjb{position:fixed;font-family:var(--font-ui);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-overlay);padding:var(--space-2) 0;min-width:180px;z-index:1000}.mention-menu.svelte-1ctqrjb{max-height:200px;overflow-y:auto}.mention-menu.svelte-1ctqrjb button:where(.svelte-1ctqrjb){width:100%;padding:var(--space-2) var(--space-4);background:none;border:none;text-align:left;cursor:pointer;color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.mention-menu.svelte-1ctqrjb button.active:where(.svelte-1ctqrjb),.mention-menu.svelte-1ctqrjb button:where(.svelte-1ctqrjb):hover{background:var(--canvas);color:var(--ink)}.mention-type.svelte-1ctqrjb{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--canvas-2);padding:2px 4px;border-radius:var(--radius-input);color:var(--ink-muted);font-weight:600;width:20px;text-align:center}.mention-type-character.svelte-1ctqrjb{background:var(--entity-character-tint);color:var(--entity-character-text)}.mention-type-location.svelte-1ctqrjb{background:var(--entity-location-tint);color:var(--entity-location-text)}.mention-type-item.svelte-1ctqrjb{background:var(--entity-item-tint);color:var(--entity-item-text)}.no-mentions.svelte-1ctqrjb{padding:var(--space-2) var(--space-4);color:var(--ink-muted);font-style:italic;font-size:var(--text-sm)}.context-menu.svelte-1ctqrjb button:where(.svelte-1ctqrjb){width:100%;padding:var(--space-2) var(--space-4);background:none;border:none;text-align:left;cursor:pointer;color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.context-menu.svelte-1ctqrjb button:where(.svelte-1ctqrjb):hover{background:var(--canvas);color:var(--ink)}.menu-divider.svelte-1ctqrjb{height:1px;background:var(--border);margin:var(--space-1) 0}.note-form.svelte-1ctqrjb{padding:var(--space-3)}.note-form.svelte-1ctqrjb input[type=text]:where(.svelte-1ctqrjb){width:100%;padding:var(--space-2);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);margin-bottom:var(--space-2);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink);outline:none;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.note-form.svelte-1ctqrjb input[type=text]:where(.svelte-1ctqrjb):focus{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.color-picker.svelte-1ctqrjb{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.color-label.svelte-1ctqrjb{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-muted)}.color-picker.svelte-1ctqrjb input[type=color]:where(.svelte-1ctqrjb){width:40px;height:30px;background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);cursor:pointer}.form-buttons.svelte-1ctqrjb{display:flex;gap:var(--space-2)}.form-buttons.svelte-1ctqrjb button:where(.svelte-1ctqrjb){flex:1;padding:var(--space-2);border:1px solid transparent;border-radius:var(--radius-button);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.btn-add.svelte-1ctqrjb{background:var(--ember);color:var(--ember-contrast)}.btn-add.svelte-1ctqrjb:hover{background:var(--ember-strong)}.btn-cancel.svelte-1ctqrjb{background:var(--canvas);color:var(--ink-soft);border-color:var(--border-strong)}.btn-cancel.svelte-1ctqrjb:hover{background:var(--canvas-2);color:var(--ink)}.editor-preview.svelte-1ctqrjb .text-note{position:relative;display:inline;border-bottom:2px solid var(--highlight)!important;background:var(--highlight-bg)!important}.editor-preview.svelte-1ctqrjb .note-delete{display:none;position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:var(--radius-pill);background:var(--danger);color:var(--ember-contrast);border:none;cursor:pointer;font-size:12px;line-height:1;padding:0;z-index:10}.editor-preview.svelte-1ctqrjb .text-note:hover .note-delete{display:block}.editor-preview.svelte-1ctqrjb .mention{color:var(--entity-item-text)!important;background:var(--entity-item-tint)!important;border-radius:3px;padding:1px 5px;font-weight:500;cursor:pointer;text-decoration:none}.editor-preview.svelte-1ctqrjb .mention-character{color:var(--entity-character-text)!important;background:var(--entity-character-tint)!important}.editor-preview.svelte-1ctqrjb .mention-location{color:var(--entity-location-text)!important;background:var(--entity-location-tint)!important}.editor-preview.svelte-1ctqrjb .mention-item{color:var(--entity-item-text)!important;background:var(--entity-item-tint)!important}@media(max-width:768px){.editor.svelte-1ctqrjb{padding:var(--space-4)}.editor-preview.svelte-1ctqrjb{width:100%;max-width:100%;padding:var(--space-6) var(--space-4);font-size:16px}.editor-preview.svelte-1ctqrjb h1{font-size:2em}.editor-preview.svelte-1ctqrjb h2{font-size:1.75em}}.modal-backdrop.svelte-vl93pb{position:fixed;top:0;left:0;width:100%;height:100%;background:#16140f73;display:flex;align-items:center;justify-content:center;z-index:2000}.modal.svelte-vl93pb{background:var(--paper);border-radius:var(--radius-modal);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-overlay)}.modal-header.svelte-vl93pb{padding:var(--space-6);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}h2.svelte-vl93pb{margin:0;display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-serif);font-size:var(--text-heading);font-weight:500;color:var(--ink)}.close-icon.svelte-vl93pb{background:none;border:none;cursor:pointer;color:var(--ink-muted);padding:0;display:flex;align-items:center;line-height:1;transition:color var(--dur-fast) var(--ease)}.close-icon.svelte-vl93pb:hover{color:var(--ink)}.create-snapshot.svelte-vl93pb{padding:var(--space-6);background:var(--canvas-2);border-bottom:1px solid var(--border);display:flex;gap:var(--space-2)}input.svelte-vl93pb{flex:1;padding:var(--space-3);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}input.svelte-vl93pb::placeholder{color:var(--ink-faint)}input.svelte-vl93pb:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.save-btn.svelte-vl93pb{padding:var(--space-3) var(--space-6);background:var(--ember);color:var(--ember-contrast);border:none;border-radius:var(--radius-button);font-family:var(--font-ui);font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease)}.save-btn.svelte-vl93pb:hover:not(:disabled){background:var(--ember-strong)}.save-btn.svelte-vl93pb:disabled{opacity:.6;cursor:not-allowed}.snapshot-list.svelte-vl93pb{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.snapshot-item.svelte-vl93pb{padding:var(--space-4);background:var(--paper-2);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);transition:border-color var(--dur-fast) var(--ease)}.snapshot-item.svelte-vl93pb:hover{border-color:var(--ember)}.snapshot-desc.svelte-vl93pb{font-family:var(--font-ui);font-weight:500;color:var(--ink);margin-bottom:var(--space-1)}.snapshot-meta.svelte-vl93pb{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint)}.separator.svelte-vl93pb{margin:0 var(--space-2)}.restore-btn.svelte-vl93pb{padding:var(--space-2) var(--space-4);background:var(--paper);border:1px solid var(--border-strong);border-radius:var(--radius-button);color:var(--ink);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);white-space:nowrap;transition:border-color var(--dur-fast) var(--ease)}.restore-btn.svelte-vl93pb:hover{border-color:var(--ember)}.loading.svelte-vl93pb,.empty.svelte-vl93pb{padding:var(--space-8);text-align:center;font-family:var(--font-ui);color:var(--ink-muted)}.toolbar.svelte-1ld6r3r{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);background:var(--paper);border-bottom:1px solid var(--border);gap:var(--space-4);flex-wrap:wrap;position:sticky;top:0;z-index:100;margin:auto;font-family:var(--font-ui);color:var(--ink)}.toolbar-section.svelte-1ld6r3r{display:flex;align-items:center;gap:var(--space-2)}.project-name.svelte-1ld6r3r{background:var(--paper);border:1px solid var(--border-strong);padding:var(--space-2) var(--space-3);border-radius:var(--radius-button);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--ink);transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.project-name.svelte-1ld6r3r:hover{border-color:var(--ember)}.stats.svelte-1ld6r3r{gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-sm)}.stat-value.svelte-1ld6r3r{font-weight:500;color:var(--ink)}.stat-label.svelte-1ld6r3r{color:var(--ink-faint)}.stat-sep.svelte-1ld6r3r{color:var(--ink-faint);margin:0 var(--space-1)}.formatting.svelte-1ld6r3r{gap:var(--space-1)}.font-selector.svelte-1ld6r3r{padding:var(--space-2) var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);background:var(--paper-2);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);max-width:150px}.font-selector.svelte-1ld6r3r:hover{border-color:var(--ember)}.font-selector.svelte-1ld6r3r:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.font-size-controls.svelte-1ld6r3r{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2)}.font-size-value.svelte-1ld6r3r{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint);min-width:40px;text-align:center}.divider.svelte-1ld6r3r{width:1px;height:20px;background:var(--border);margin:0 var(--space-1)}.format-btn.svelte-1ld6r3r{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--paper);border:1px solid var(--border-strong);padding:var(--space-2);border-radius:var(--radius-button);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-soft);min-width:32px;justify-content:center;transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.format-btn.svelte-1ld6r3r:hover{border-color:var(--ember);color:var(--ink)}.format-btn.svelte-1ld6r3r:active{background:var(--canvas)}.chapter-btn.svelte-1ld6r3r{font-weight:500;color:var(--ember)}.chapter-btn.svelte-1ld6r3r:hover{color:var(--ember-strong);border-color:var(--ember)}.save-btn.svelte-1ld6r3r{font-weight:500;min-width:80px;background:var(--ember);border-color:var(--ember);color:var(--ember-contrast)}.save-btn.svelte-1ld6r3r:hover{background:var(--ember-strong);border-color:var(--ember-strong);color:var(--ember-contrast)}.save-btn.svelte-1ld6r3r:disabled{cursor:not-allowed;opacity:.7}.save-btn.saving.svelte-1ld6r3r{animation:svelte-1ld6r3r-pulse 1s infinite}.save-btn.saved.svelte-1ld6r3r{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.save-btn.error.svelte-1ld6r3r{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}@keyframes svelte-1ld6r3r-pulse{0%,to{opacity:1}50%{opacity:.7}}@media(max-width:768px){.toolbar.svelte-1ld6r3r{padding:var(--space-2);gap:var(--space-2);overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:none}.toolbar.svelte-1ld6r3r::-webkit-scrollbar{display:none}.toolbar-section.svelte-1ld6r3r{flex-shrink:0}.stats.svelte-1ld6r3r{display:none}.project-name.svelte-1ld6r3r{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-selector.svelte-1ld6r3r{max-width:100px}}.chapter-menu-overlay.svelte-1ld6r3r{position:fixed;inset:0;z-index:998}.chapter-menu.svelte-1ld6r3r{position:fixed;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-overlay);padding:var(--space-2) 0;min-width:250px;z-index:999;font-family:var(--font-ui);color:var(--ink)}.chapter-menu-header.svelte-1ld6r3r{padding:var(--space-3) var(--space-4) var(--space-2);font-family:var(--font-mono);font-weight:500;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-muted);border-bottom:1px solid var(--border);margin-bottom:var(--space-1)}.chapter-menu-item.svelte-1ld6r3r{width:100%;padding:var(--space-3) var(--space-4);border:none;background:transparent;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-ui);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);color:var(--ink)}.chapter-menu-item.svelte-1ld6r3r:hover{background:var(--canvas)}.chapter-menu-item.selected.svelte-1ld6r3r{background:var(--ember-soft);color:var(--ember)}.chapter-menu-item.selected.svelte-1ld6r3r .style-name:where(.svelte-1ld6r3r){font-weight:600}.style-name.svelte-1ld6r3r{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm)}.style-example.svelte-1ld6r3r{font-size:var(--text-sm);color:var(--ink-muted);font-style:italic}.chapter-menu-divider.svelte-1ld6r3r{height:1px;background:var(--border);margin:var(--space-1) 0}.custom-style.svelte-1ld6r3r{color:var(--ember);font-weight:500}.toolbar-dropdown.svelte-1ld6r3r{position:relative}.export-menu-overlay.svelte-1ld6r3r{position:fixed;inset:0;z-index:999;background:transparent}.export-menu.svelte-1ld6r3r{position:absolute;top:calc(100% + var(--space-2));right:0;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-overlay);z-index:1000;min-width:200px;padding:var(--space-2) 0;font-family:var(--font-ui)}.export-section.svelte-1ld6r3r{padding:var(--space-1) 0}.export-section-title.svelte-1ld6r3r{padding:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;color:var(--ink-muted);letter-spacing:var(--tracking-caps)}.export-item.svelte-1ld6r3r{width:100%;padding:var(--space-2) var(--space-4);border:none;background:transparent;text-align:left;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink);transition:background-color var(--dur-fast) var(--ease);display:flex;align-items:center;gap:var(--space-2)}.export-item.svelte-1ld6r3r:hover{background:var(--canvas)}.export-divider.svelte-1ld6r3r{height:1px;background:var(--border);margin:var(--space-2) 0}.wordmark.svelte-10y6uor{display:inline-flex;align-items:baseline;gap:2px;line-height:1;-webkit-user-select:none;user-select:none}.word.svelte-10y6uor{font-family:var(--font-serif);font-weight:300;letter-spacing:var(--tracking-display)}.tolkien-caret.svelte-10y6uor{position:relative;top:.04em}.sidebar-overlay.svelte-129hoe0{position:fixed;inset:0;background:#16140f73;z-index:999;animation:svelte-129hoe0-fadeIn var(--dur-base) var(--ease)}@keyframes svelte-129hoe0-fadeIn{0%{opacity:0}to{opacity:1}}.sidebar.svelte-129hoe0{position:fixed;top:0;left:0;bottom:0;width:350px;max-width:85vw;background:var(--paper);color:var(--ink);z-index:1000;display:flex;flex-direction:column;border-right:1px solid var(--border);box-shadow:var(--shadow-overlay);animation:svelte-129hoe0-slideIn var(--dur-slow) var(--ease)}@keyframes svelte-129hoe0-slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-header.svelte-129hoe0{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6);border-bottom:1px solid var(--border)}.close-btn.svelte-129hoe0{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--ink-soft);padding:var(--space-1);border-radius:var(--radius-button);line-height:1;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.close-btn.svelte-129hoe0:hover{background:var(--canvas);color:var(--ink)}.tabs.svelte-129hoe0{display:flex;border-bottom:1px solid var(--border)}.tab.svelte-129hoe0{flex:1;padding:var(--space-3) var(--space-4);background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--ink-soft);border-bottom:2px solid transparent;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.tab.svelte-129hoe0:hover{color:var(--ink)}.tab.active.svelte-129hoe0{color:var(--ember);border-bottom-color:var(--ember)}.sidebar-content.svelte-129hoe0{flex:1;overflow-y:auto;padding:var(--space-6)}.section.svelte-129hoe0{margin-bottom:var(--space-8)}.section-header.svelte-129hoe0{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.section.svelte-129hoe0 h3:where(.svelte-129hoe0){margin:0 0 var(--space-4);font-family:var(--font-serif);font-size:var(--text-heading);font-weight:500;color:var(--ink)}.section-header.svelte-129hoe0 h3:where(.svelte-129hoe0){margin:0}.btn-primary.svelte-129hoe0{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--ember);color:var(--ember-contrast);border:1px solid var(--ember);border-radius:var(--radius-button);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.btn-primary.svelte-129hoe0:hover{background:var(--ember-strong);border-color:var(--ember-strong)}.btn-secondary.svelte-129hoe0{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--paper);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius-button);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn-secondary.svelte-129hoe0:hover{border-color:var(--ember);color:var(--ember)}.btn-danger.svelte-129hoe0{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:transparent;color:var(--danger);border:1px solid var(--danger-border);border-radius:var(--radius-button);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;transition:background-color var(--dur-fast) var(--ease)}.btn-danger.svelte-129hoe0:hover{background:var(--danger-bg)}.sessions-list.svelte-129hoe0{display:flex;flex-direction:column;gap:var(--space-2)}.session-item.svelte-129hoe0{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);background:var(--paper-2);border:1px solid var(--border);border-radius:var(--radius-card);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) var(--ease)}.session-item.svelte-129hoe0:hover,.session-item.active.svelte-129hoe0{border-color:var(--ember)}.session-info.svelte-129hoe0{display:flex;flex-direction:column;gap:var(--space-1)}.session-info.svelte-129hoe0 strong:where(.svelte-129hoe0){font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;color:var(--ink)}.session-meta.svelte-129hoe0,.session-timestamp.svelte-129hoe0{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint)}.session-saved.svelte-129hoe0{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ember-strong)}.badge.svelte-129hoe0{flex-shrink:0;padding:var(--space-1) var(--space-2);background:var(--ember-soft);border:1px solid var(--ember-soft-border);color:var(--ember-strong);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600}.empty.svelte-129hoe0{text-align:center;color:var(--ink-muted);padding:var(--space-8)}.project-info.svelte-129hoe0{display:flex;flex-direction:column;gap:var(--space-4)}.info-item.svelte-129hoe0{display:flex;flex-direction:column;gap:var(--space-1)}.info-label.svelte-129hoe0{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-muted)}.info-item.svelte-129hoe0 p:where(.svelte-129hoe0){margin:0;color:var(--ink)}.info-value.svelte-129hoe0{font-family:var(--font-mono);color:var(--ink-soft)}.btn-logout.svelte-129hoe0{width:100%;padding:var(--space-3);margin-top:var(--space-4);background:transparent;color:var(--danger);border:1px solid var(--danger-border);border-radius:var(--radius-button);cursor:pointer;font-family:var(--font-ui);font-weight:600;transition:background-color var(--dur-fast) var(--ease)}.btn-logout.svelte-129hoe0:hover{background:var(--danger-bg)}.profile-section.svelte-129hoe0{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--border)}.profile-section.svelte-129hoe0:last-of-type{border-bottom:none}.kicker.svelte-129hoe0{margin:0 0 var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--ink-muted);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.api-keys.svelte-129hoe0{display:flex;flex-direction:column;gap:var(--space-3)}.api-keys.svelte-129hoe0 details:where(.svelte-129hoe0){border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-3);background:var(--paper-2)}.api-keys.svelte-129hoe0 summary:where(.svelte-129hoe0){cursor:pointer;font-family:var(--font-ui);font-weight:500;color:var(--ink);-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:var(--space-2)}.api-keys.svelte-129hoe0 summary:where(.svelte-129hoe0)::-webkit-details-marker{display:none}.api-keys.svelte-129hoe0 summary:where(.svelte-129hoe0) svg:first-child{color:var(--ink-muted);transition:transform var(--dur-fast) var(--ease)}.api-keys.svelte-129hoe0 details[open]:where(.svelte-129hoe0) summary:where(.svelte-129hoe0) svg:first-child{transform:rotate(90deg)}.summary-label.svelte-129hoe0{flex:1}.key-set.svelte-129hoe0{display:inline-flex;align-items:center;color:var(--success)}.api-keys.svelte-129hoe0 details[open]:where(.svelte-129hoe0) summary:where(.svelte-129hoe0){margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.key-form.svelte-129hoe0{display:flex;flex-direction:column;gap:var(--space-2)}.key-form.svelte-129hoe0 input:where(.svelte-129hoe0){width:100%;padding:var(--space-2) var(--space-3);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.key-form.svelte-129hoe0 input:where(.svelte-129hoe0)::placeholder{color:var(--ink-faint)}.key-form.svelte-129hoe0 input:where(.svelte-129hoe0):focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.key-actions.svelte-129hoe0{display:flex;gap:var(--space-2)}.preference-section.svelte-129hoe0{margin-top:var(--space-6);padding:var(--space-4);border:1px solid var(--border);background:var(--paper-2);border-radius:var(--radius-card)}.preference-group.svelte-129hoe0{margin-bottom:var(--space-4)}.preference-group.svelte-129hoe0:last-child{margin-bottom:0}.preference-group.svelte-129hoe0 label:where(.svelte-129hoe0){display:block;margin-bottom:var(--space-2);font-family:var(--font-ui);font-weight:600;color:var(--ink);font-size:var(--text-sm)}.preference-select.svelte-129hoe0{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-input);font-family:var(--font-ui);font-size:var(--text-sm);background:var(--paper-2);color:var(--ink);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.preference-select.svelte-129hoe0:hover{border-color:var(--ember)}.preference-select.svelte-129hoe0:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.preference-select.svelte-129hoe0 option:where(.svelte-129hoe0):disabled{color:var(--ink-faint);font-style:italic}.checkbox-label.svelte-129hoe0{display:flex!important;align-items:center;gap:var(--space-2);cursor:pointer;margin-bottom:var(--space-2)!important}.checkbox-label.svelte-129hoe0 input[type=checkbox]:where(.svelte-129hoe0){width:18px;height:18px;cursor:pointer;accent-color:var(--ember)}.checkbox-label.svelte-129hoe0 span:where(.svelte-129hoe0){font-family:var(--font-ui);font-weight:600;color:var(--ink);font-size:var(--text-sm)}.preference-hint.svelte-129hoe0{margin:var(--space-1) 0 0 0;font-size:var(--text-sm);color:var(--ink-muted);line-height:var(--leading-ui)}.preference-hint.error.svelte-129hoe0{color:var(--danger)}.model-label-row.svelte-129hoe0{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.model-label-row.svelte-129hoe0 label:where(.svelte-129hoe0){margin-bottom:0}.btn-link.svelte-129hoe0{display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;color:var(--ink-muted);transition:color var(--dur-fast) var(--ease)}.btn-link.svelte-129hoe0:hover:not(:disabled){color:var(--ember)}.btn-link.svelte-129hoe0:disabled{opacity:.6;cursor:not-allowed}.create-project-form.svelte-129hoe0{background:var(--paper-2);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-6)}.create-project-form.svelte-129hoe0 .form-group:where(.svelte-129hoe0){margin-bottom:var(--space-4)}.create-project-form.svelte-129hoe0 .form-group:where(.svelte-129hoe0):last-of-type{margin-bottom:var(--space-6)}.create-project-form.svelte-129hoe0 label:where(.svelte-129hoe0){display:block;margin-bottom:var(--space-2);font-family:var(--font-ui);font-weight:600;color:var(--ink);font-size:var(--text-sm)}.create-project-form.svelte-129hoe0 input:where(.svelte-129hoe0),.create-project-form.svelte-129hoe0 textarea:where(.svelte-129hoe0){width:100%;padding:var(--space-2) var(--space-3);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.create-project-form.svelte-129hoe0 input:where(.svelte-129hoe0)::placeholder,.create-project-form.svelte-129hoe0 textarea:where(.svelte-129hoe0)::placeholder{color:var(--ink-faint)}.create-project-form.svelte-129hoe0 input:where(.svelte-129hoe0):focus,.create-project-form.svelte-129hoe0 textarea:where(.svelte-129hoe0):focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.form-actions.svelte-129hoe0{display:flex;gap:var(--space-2)}.btn-cancel.svelte-129hoe0,.btn-submit.svelte-129hoe0{flex:1;padding:var(--space-2) var(--space-3);border-radius:var(--radius-button);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn-cancel.svelte-129hoe0{background:var(--paper);color:var(--ink);border:1px solid var(--border-strong)}.btn-cancel.svelte-129hoe0:hover:not(:disabled){border-color:var(--ember);color:var(--ember)}.btn-submit.svelte-129hoe0{background:var(--ember);color:var(--ember-contrast);border:1px solid var(--ember)}.btn-submit.svelte-129hoe0:hover:not(:disabled){background:var(--ember-strong);border-color:var(--ember-strong)}.btn-cancel.svelte-129hoe0:disabled,.btn-submit.svelte-129hoe0:disabled{opacity:.6;cursor:not-allowed}.auth-container.svelte-e0s7ou{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--canvas);padding:var(--space-6)}.auth-card.svelte-e0s7ou{background:var(--paper);padding:var(--space-12);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);width:100%;max-width:420px;border:1px solid var(--border)}.auth-header.svelte-e0s7ou{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--space-8)}.subtitle.svelte-e0s7ou{margin:var(--space-3) 0 0;font-family:var(--font-serif);font-style:italic;color:var(--ink-soft);font-size:var(--text-base)}.form-group.svelte-e0s7ou{margin-bottom:var(--space-4)}label.svelte-e0s7ou{display:block;margin-bottom:var(--space-1);color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500}input.svelte-e0s7ou{width:100%;padding:11px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-input);font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink);background:var(--paper-2);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}input.svelte-e0s7ou:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}input.svelte-e0s7ou::placeholder{color:var(--ink-faint)}.submit-btn.svelte-e0s7ou{width:100%;padding:12px;background:var(--ember);color:var(--ember-contrast);border:none;border-radius:var(--radius-button);font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background-color var(--dur-fast) var(--ease);display:flex;justify-content:center;align-items:center;margin-top:var(--space-2)}.submit-btn.svelte-e0s7ou:hover:not(:disabled){background:var(--ember-strong)}.submit-btn.svelte-e0s7ou:disabled{opacity:.6;cursor:not-allowed}.error-message.svelte-e0s7ou{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);padding:var(--space-3);border-radius:var(--radius-input);margin-bottom:var(--space-4);font-family:var(--font-ui);font-size:var(--text-sm)}.auth-footer.svelte-e0s7ou{margin-top:var(--space-6);text-align:center;border-top:1px solid var(--border);padding-top:var(--space-6)}.auth-footer.svelte-e0s7ou p:where(.svelte-e0s7ou){margin:0;color:var(--ink-muted);font-family:var(--font-ui);font-size:var(--text-sm)}.toggle-btn.svelte-e0s7ou{background:none;border:none;color:var(--ember);font-family:var(--font-ui);font-weight:600;cursor:pointer;padding:0;margin-left:var(--space-1);font-size:inherit;transition:color var(--dur-fast) var(--ease)}.toggle-btn.svelte-e0s7ou:hover{text-decoration:underline;color:var(--ember-strong)}.spinner.svelte-e0s7ou{width:20px;height:20px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:svelte-e0s7ou-spin .8s linear infinite}@keyframes svelte-e0s7ou-spin{to{transform:rotate(360deg)}}.project-selector.svelte-t4k058{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--canvas);padding:var(--space-8)}.selector-box.svelte-t4k058{max-width:640px;width:100%}.selector-header.svelte-t4k058{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--space-8)}.subtitle.svelte-t4k058{margin:var(--space-3) 0 0;font-family:var(--font-serif);font-style:italic;color:var(--ink-soft);font-size:var(--text-base)}.projects-list.svelte-t4k058{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.project-row.svelte-t4k058{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px;text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease)}.project-row.svelte-t4k058:hover:not(:disabled){border-color:var(--ember)}.project-row.svelte-t4k058:disabled{opacity:.6;cursor:not-allowed}.row-top.svelte-t4k058{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.project-row.svelte-t4k058 h3:where(.svelte-t4k058){margin:0;font-family:var(--font-serif);font-weight:500;font-size:19px;color:var(--ink)}.genre.svelte-t4k058{flex-shrink:0;background:var(--ember-soft);border:1px solid var(--ember-soft-border);color:var(--ember-strong);padding:2px 10px;border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:12px}.description.svelte-t4k058{margin:var(--space-2) 0 0;color:var(--ink-soft);font-family:var(--font-ui);font-size:13px;line-height:var(--leading-ui);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-meta.svelte-t4k058{margin-top:var(--space-3);font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}.empty-state.svelte-t4k058{text-align:center;font-family:var(--font-serif);font-style:italic;color:var(--ink-muted);padding:var(--space-8);margin:0 0 var(--space-6)}.btn-create.svelte-t4k058{width:100%;padding:18px;background:transparent;border:1px dashed var(--border-strong);border-radius:var(--radius-card);color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-base);font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn-create.svelte-t4k058:hover{border-color:var(--ember);color:var(--ember)}.create-form.svelte-t4k058{border-top:1px solid var(--border);padding-top:var(--space-8);margin-top:var(--space-8)}.create-form.svelte-t4k058 h2:where(.svelte-t4k058){margin:0 0 var(--space-6);font-family:var(--font-serif);font-weight:500;font-size:var(--text-heading);color:var(--ink)}.form-group.svelte-t4k058{margin-bottom:var(--space-6)}label.svelte-t4k058{display:block;margin-bottom:var(--space-2);color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500}input.svelte-t4k058,textarea.svelte-t4k058{width:100%;padding:11px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-input);font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink);background:var(--paper-2);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}textarea.svelte-t4k058{resize:vertical}input.svelte-t4k058:focus,textarea.svelte-t4k058:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}input.svelte-t4k058::placeholder,textarea.svelte-t4k058::placeholder{color:var(--ink-faint)}.error.svelte-t4k058{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);padding:var(--space-3);border-radius:var(--radius-input);margin-bottom:var(--space-4);font-family:var(--font-ui);font-size:var(--text-sm)}.form-actions.svelte-t4k058{display:flex;gap:var(--space-4)}.btn-cancel.svelte-t4k058,.btn-submit.svelte-t4k058{flex:1;padding:12px;border-radius:var(--radius-button);font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.btn-cancel.svelte-t4k058{background:var(--paper);color:var(--ink);border:1px solid var(--border-strong)}.btn-cancel.svelte-t4k058:hover:not(:disabled){border-color:var(--ember)}.btn-submit.svelte-t4k058{background:var(--ember);color:var(--ember-contrast);border:none}.btn-submit.svelte-t4k058:hover:not(:disabled){background:var(--ember-strong)}.btn-cancel.svelte-t4k058:disabled,.btn-submit.svelte-t4k058:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.project-selector.svelte-t4k058{padding:var(--space-4)}.form-actions.svelte-t4k058{flex-direction:column}}.worldbuilding-container.svelte-qrz4k{height:100%;display:flex;flex-direction:column;background:var(--canvas);color:var(--ink)}.worldbuilding-header.svelte-qrz4k{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-6) var(--space-8);border-bottom:1px solid var(--border)}.worldbuilding-header.svelte-qrz4k h2:where(.svelte-qrz4k){margin:0 0 var(--space-2) 0;font-family:var(--font-serif);font-size:var(--text-title);font-weight:500;letter-spacing:var(--tracking-tight);color:var(--ink)}.subtitle.svelte-qrz4k{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-muted)}.tabs.svelte-qrz4k{display:flex;gap:var(--space-2);padding:var(--space-4) var(--space-8) 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.tab.svelte-qrz4k{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:transparent;color:var(--ink-soft);border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.tab.svelte-qrz4k:hover{color:var(--ink)}.tab.active.svelte-qrz4k{color:var(--ember);border-bottom-color:var(--ember)}.content.svelte-qrz4k{flex:1;overflow-y:auto;padding:var(--space-8)}.section.svelte-qrz4k{max-width:1200px;margin:0 auto}.empty-state.svelte-qrz4k{text-align:center;padding:var(--space-16) var(--space-8);color:var(--ink-muted)}.empty-state.svelte-qrz4k p:where(.svelte-qrz4k){margin:var(--space-2) 0}.empty-title.svelte-qrz4k{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink-soft)}.hint.svelte-qrz4k{font-size:var(--text-sm);color:var(--ink-muted)}.items-grid.svelte-qrz4k{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-6)}.item-card.svelte-qrz4k{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);transition:border-color var(--dur-fast) var(--ease)}.item-card.svelte-qrz4k:hover{border-color:var(--border-strong)}.item-header.svelte-qrz4k{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.item-heading.svelte-qrz4k{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.item-header.svelte-qrz4k h3:where(.svelte-qrz4k){margin:0;font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--ink)}.origin.svelte-qrz4k{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint)}.avatar.svelte-qrz4k{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:18px;font-weight:500;text-transform:uppercase;border:1px solid var(--border)}.avatar-character.svelte-qrz4k{background:var(--entity-character-tint);border-color:var(--entity-character);color:var(--entity-character-text)}.avatar-location.svelte-qrz4k{background:var(--entity-location-tint);border-color:var(--entity-location);color:var(--entity-location-text)}.avatar-item.svelte-qrz4k{background:var(--entity-item-tint);border-color:var(--entity-item);color:var(--entity-item-text)}.badge.svelte-qrz4k{flex-shrink:0;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:capitalize;background:var(--paper);border:1px solid var(--border);color:var(--ink-muted)}.badge-main.svelte-qrz4k{border:1px solid var(--border);color:var(--ink)}.badge-supporting.svelte-qrz4k{border:1px solid var(--border);color:var(--ink-muted)}.badge-backdrop.svelte-qrz4k{border:1px solid var(--border);color:var(--ink-faint)}.description.svelte-qrz4k{margin:0 0 var(--space-4) 0;color:var(--ink-soft);line-height:var(--leading-ui);font-size:var(--text-sm)}.backstory.svelte-qrz4k{margin:var(--space-4) 0;border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-3)}.backstory.svelte-qrz4k summary:where(.svelte-qrz4k){cursor:pointer;font-family:var(--font-ui);font-weight:600;font-size:var(--text-sm);color:var(--ember);-webkit-user-select:none;user-select:none}.backstory.svelte-qrz4k p:where(.svelte-qrz4k){margin:var(--space-3) 0 0 0;color:var(--ink-soft);line-height:var(--leading-ui);font-size:var(--text-sm)}.item-actions.svelte-qrz4k{display:flex;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.btn-edit.svelte-qrz4k,.btn-delete.svelte-qrz4k,.btn-save.svelte-qrz4k,.btn-cancel.svelte-qrz4k{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-button);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;background:var(--paper);color:var(--ink);transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn-edit.svelte-qrz4k:hover{border-color:var(--ember)}.btn-delete.svelte-qrz4k{color:var(--danger);border-color:var(--danger-border);background:var(--paper)}.btn-delete.svelte-qrz4k:hover{background:var(--danger-bg);border-color:var(--danger)}.btn-save.svelte-qrz4k{background:var(--ember);color:var(--ember-contrast);border-color:var(--ember)}.btn-save.svelte-qrz4k:hover{background:var(--ember-strong);border-color:var(--ember-strong)}.btn-cancel.svelte-qrz4k{background:var(--paper);color:var(--ink);border-color:var(--border-strong)}.btn-cancel.svelte-qrz4k:hover{border-color:var(--ember)}.edit-form.svelte-qrz4k{display:flex;flex-direction:column;gap:var(--space-4)}.edit-input.svelte-qrz4k,.edit-textarea.svelte-qrz4k,.edit-select.svelte-qrz4k{width:100%;padding:var(--space-3);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);color:var(--ink);font-size:var(--text-sm);font-family:var(--font-ui)}.edit-input.svelte-qrz4k::placeholder,.edit-textarea.svelte-qrz4k::placeholder{color:var(--ink-faint)}.edit-input.svelte-qrz4k:focus,.edit-textarea.svelte-qrz4k:focus,.edit-select.svelte-qrz4k:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.edit-textarea.svelte-qrz4k{resize:vertical}.edit-actions.svelte-qrz4k{display:flex;gap:var(--space-2)}.section-header.svelte-qrz4k{display:flex;justify-content:flex-end;margin-bottom:var(--space-4)}.btn-add.svelte-qrz4k{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--ember);color:var(--ember-contrast);border:1px solid var(--ember);border-radius:var(--radius-button);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;transition:background-color var(--dur-fast) var(--ease)}.btn-add.svelte-qrz4k:hover{background:var(--ember-strong);border-color:var(--ember-strong)}.add-form-card.svelte-qrz4k{background:var(--paper-2);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);margin-bottom:var(--space-6)}.add-form-card.svelte-qrz4k h3:where(.svelte-qrz4k){margin:0 0 var(--space-4) 0;font-family:var(--font-serif);font-weight:500;color:var(--ink);font-size:var(--text-heading)}.form-fields.svelte-qrz4k{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.form-input.svelte-qrz4k,.form-textarea.svelte-qrz4k,.form-select.svelte-qrz4k{padding:var(--space-3);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);color:var(--ink);font-size:var(--text-sm);font-family:var(--font-ui)}.form-input.svelte-qrz4k::placeholder,.form-textarea.svelte-qrz4k::placeholder{color:var(--ink-faint)}.form-input.svelte-qrz4k:focus,.form-textarea.svelte-qrz4k:focus,.form-select.svelte-qrz4k:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.form-textarea.svelte-qrz4k{resize:vertical}.form-actions.svelte-qrz4k{display:flex;gap:var(--space-2)}.form-actions.svelte-qrz4k .btn-save:where(.svelte-qrz4k),.form-actions.svelte-qrz4k .btn-cancel:where(.svelte-qrz4k){padding:var(--space-3) var(--space-4);border-radius:var(--radius-button)}.reports-section.svelte-qrz4k{max-width:1200px;margin:0 auto}.reports-header.svelte-qrz4k{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-8);gap:var(--space-4);flex-wrap:wrap}.reports-header.svelte-qrz4k h3:where(.svelte-qrz4k){margin:0 0 var(--space-2) 0;font-family:var(--font-serif);font-weight:500;font-size:var(--text-heading);color:var(--ink)}.reports-subtitle.svelte-qrz4k{margin:0;font-size:var(--text-sm);color:var(--ink-muted)}.reports-controls.svelte-qrz4k{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.session-limit-selector.svelte-qrz4k{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink)}.session-limit-selector.svelte-qrz4k label:where(.svelte-qrz4k){font-family:var(--font-ui);font-weight:500;color:var(--ink-muted)}.session-limit-selector.svelte-qrz4k select:where(.svelte-qrz4k){padding:var(--space-2) var(--space-3);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease)}.session-limit-selector.svelte-qrz4k select:where(.svelte-qrz4k):hover:not(:disabled){border-color:var(--ember)}.session-limit-selector.svelte-qrz4k select:where(.svelte-qrz4k):focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.session-limit-selector.svelte-qrz4k select:where(.svelte-qrz4k):disabled{opacity:.5;cursor:not-allowed}.btn-generate.svelte-qrz4k{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--ember);color:var(--ember-contrast);border:1px solid var(--ember);border-radius:var(--radius-button);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;transition:background-color var(--dur-fast) var(--ease);white-space:nowrap}.btn-generate.svelte-qrz4k:hover:not(:disabled){background:var(--ember-strong);border-color:var(--ember-strong)}.btn-generate.svelte-qrz4k:disabled{opacity:.6;cursor:not-allowed}.loading-state.svelte-qrz4k{text-align:center;padding:var(--space-12);color:var(--ink-muted)}.reports-list.svelte-qrz4k{display:flex;flex-direction:column;gap:var(--space-4)}.report-card.svelte-qrz4k{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;transition:border-color var(--dur-fast) var(--ease)}.report-card.svelte-qrz4k:hover{border-color:var(--border-strong)}.report-header.svelte-qrz4k{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease)}.report-header.svelte-qrz4k:hover{background:var(--canvas-2)}.report-info.svelte-qrz4k h4:where(.svelte-qrz4k){margin:0 0 2px;font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;color:var(--ink)}.report-session.svelte-qrz4k{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint)}.report-actions.svelte-qrz4k{display:flex;align-items:center;gap:var(--space-4)}.btn-delete-report.svelte-qrz4k{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:var(--space-1);color:var(--danger);opacity:.8;transition:opacity var(--dur-fast) var(--ease)}.btn-delete-report.svelte-qrz4k:hover{opacity:1}.expand-icon.svelte-qrz4k{display:inline-flex;align-items:center;color:var(--ember)}.report-content.svelte-qrz4k{padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--border)}.feedback-text.svelte-qrz4k{padding:var(--space-4);background:var(--paper-2);border-radius:var(--radius-card);color:var(--ink);line-height:var(--leading-read);font-size:var(--text-sm);white-space:pre-wrap}.feedback-text.svelte-qrz4k br{margin:var(--space-2) 0}.generator-bar.svelte-qrz4k{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--rule, rgba(0, 0, 0, .1))}.generator-controls.svelte-qrz4k{display:flex;flex-wrap:wrap;gap:var(--space-2)}.gen-select.svelte-qrz4k{padding:6px 8px;border:1px solid var(--rule, rgba(0, 0, 0, .15));border-radius:var(--radius-sm, 6px);background:var(--canvas);color:var(--ink);font-size:var(--text-sm)}.btn-generate-small.svelte-qrz4k{padding:6px 12px;border:1px solid var(--accent, #6b5bd2);border-radius:var(--radius-sm, 6px);background:transparent;color:var(--accent, #6b5bd2);font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap}.btn-generate-small.svelte-qrz4k:hover{background:var(--accent, #6b5bd2);color:#fff}.birthplace.svelte-qrz4k{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--ink-muted, var(--ink-faint))}.goals-container.svelte-vjptnw{padding:var(--space-6);max-width:1200px;margin:0 auto;font-family:var(--font-ui);color:var(--ink)}.goals-header.svelte-vjptnw{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.goals-header.svelte-vjptnw h2:where(.svelte-vjptnw){margin:0;display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-serif);font-size:var(--text-heading);font-weight:500;letter-spacing:var(--tracking-tight);color:var(--ink)}.analytics-grid.svelte-vjptnw{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card.svelte-vjptnw{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4);text-align:center}.stat-label.svelte-vjptnw{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-muted);margin-bottom:var(--space-2)}.stat-value.svelte-vjptnw{font-family:var(--font-mono);font-size:28px;font-weight:600;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.streak-icon.svelte-vjptnw{display:inline-flex;color:var(--ember)}.create-form.svelte-vjptnw{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);margin-bottom:var(--space-6)}.create-form.svelte-vjptnw h3:where(.svelte-vjptnw){margin-top:0;margin-bottom:var(--space-4);font-family:var(--font-serif);font-size:var(--text-heading);font-weight:500;color:var(--ink)}.form-group.svelte-vjptnw{margin-bottom:var(--space-4)}.form-row.svelte-vjptnw{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4)}.form-group.svelte-vjptnw label:where(.svelte-vjptnw){display:block;margin-bottom:var(--space-2);font-family:var(--font-ui);font-weight:500;font-size:var(--text-sm);color:var(--ink-soft)}.form-group.svelte-vjptnw input:where(.svelte-vjptnw),.form-group.svelte-vjptnw select:where(.svelte-vjptnw),.form-group.svelte-vjptnw textarea:where(.svelte-vjptnw){width:100%;padding:var(--space-2) var(--space-3);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.form-group.svelte-vjptnw input:where(.svelte-vjptnw)::placeholder,.form-group.svelte-vjptnw textarea:where(.svelte-vjptnw)::placeholder{color:var(--ink-faint)}.form-group.svelte-vjptnw input:where(.svelte-vjptnw):focus,.form-group.svelte-vjptnw select:where(.svelte-vjptnw):focus,.form-group.svelte-vjptnw textarea:where(.svelte-vjptnw):focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.goals-list.svelte-vjptnw{display:grid;gap:var(--space-4)}.goal-card.svelte-vjptnw{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6)}.goal-header.svelte-vjptnw{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.goal-header.svelte-vjptnw h3:where(.svelte-vjptnw){margin:0 0 var(--space-2) 0;font-family:var(--font-serif);font-size:var(--text-lg);font-weight:500;color:var(--ink)}.goal-type-badge.svelte-vjptnw{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--ember-soft);border:1px solid var(--ember-soft-border);color:var(--ember-strong);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.goal-description.svelte-vjptnw{color:var(--ink-soft);font-size:var(--text-sm);margin:var(--space-2) 0}.goal-progress.svelte-vjptnw{margin:var(--space-4) 0}.progress-info.svelte-vjptnw{display:flex;justify-content:space-between;margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-soft)}.progress-percentage.svelte-vjptnw{color:var(--ink-muted)}.progress-bar.svelte-vjptnw{height:12px;background:var(--canvas-2);border-radius:var(--radius-pill);overflow:hidden}.progress-fill.svelte-vjptnw{height:100%;border-radius:var(--radius-pill);transition:width var(--dur-slow) var(--ease),background-color var(--dur-base) var(--ease)}.streak-info.svelte-vjptnw{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--ember)}.completed-badge.svelte-vjptnw{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--success-bg);border:1px solid var(--success-border);color:var(--success);border-radius:var(--radius-button);font-weight:500;text-align:center}.btn-primary.svelte-vjptnw{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--ember);color:var(--ember-contrast);border:none;border-radius:var(--radius-button);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;transition:background-color var(--dur-fast) var(--ease)}.btn-primary.svelte-vjptnw:hover:not(:disabled){background:var(--ember-strong)}.btn-primary.svelte-vjptnw:disabled{opacity:.6;cursor:not-allowed}.btn-icon.svelte-vjptnw{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:var(--space-1);color:var(--ink-soft);transition:color var(--dur-fast) var(--ease)}.btn-icon.svelte-vjptnw:hover{color:var(--danger)}.loading.svelte-vjptnw,.empty-state.svelte-vjptnw{text-align:center;padding:var(--space-12) var(--space-6);color:var(--ink-muted)}.empty-hint.svelte-vjptnw{font-size:var(--text-sm);margin-top:var(--space-2)}.error-message.svelte-vjptnw{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);padding:var(--space-3);border-radius:var(--radius-button);margin-bottom:var(--space-4)}.pomodoro-container.svelte-h1y0qs{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;transition:all var(--dur-slow) var(--ease)}.pomodoro-container.minimized.svelte-h1y0qs .pomodoro-timer:where(.svelte-h1y0qs){padding:10px 14px}.pomodoro-timer.svelte-h1y0qs{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-modal);padding:var(--space-4);box-shadow:var(--shadow-overlay);width:220px;transition:padding var(--dur-base) var(--ease)}.timer-header.svelte-h1y0qs{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.timer-header.svelte-h1y0qs h3:where(.svelte-h1y0qs){margin:0;display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--ink)}.phase-icon.svelte-h1y0qs{display:flex;align-items:center}.header-actions.svelte-h1y0qs{display:flex;gap:2px}.btn-icon.svelte-h1y0qs{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);transition:color var(--dur-fast) var(--ease)}.btn-icon.svelte-h1y0qs:hover{color:var(--ink)}.settings-panel.svelte-h1y0qs{background:var(--canvas-2);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-3);margin-bottom:var(--space-3)}.settings-panel.svelte-h1y0qs h4:where(.svelte-h1y0qs){margin:0 0 var(--space-3) 0;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;color:var(--ink)}.settings-grid.svelte-h1y0qs{display:grid;grid-template-columns:1fr;gap:var(--space-2);margin-bottom:var(--space-3)}.setting-item.svelte-h1y0qs label:where(.svelte-h1y0qs){display:block;font-family:var(--font-ui);font-size:10px;margin-bottom:3px;color:var(--ink-muted)}.setting-item.svelte-h1y0qs input:where(.svelte-h1y0qs){width:100%;padding:5px 7px;background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.setting-item.svelte-h1y0qs input:where(.svelte-h1y0qs)::placeholder{color:var(--ink-faint)}.setting-item.svelte-h1y0qs input:where(.svelte-h1y0qs):focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.timer-display.svelte-h1y0qs{position:relative;width:110px;height:110px;margin:var(--space-4) auto var(--space-2)}.progress-ring.svelte-h1y0qs{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.progress-ring-bg.svelte-h1y0qs{stroke:var(--border)}.progress-ring-fill.svelte-h1y0qs{transition:stroke-dashoffset var(--dur-slow) var(--ease)}.time-text.svelte-h1y0qs{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px;font-weight:500;font-family:var(--font-mono);color:var(--ink)}.phase-sub.svelte-h1y0qs{text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted);margin-bottom:var(--space-3)}.timer-controls.svelte-h1y0qs{display:flex;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-3)}.btn-control.svelte-h1y0qs{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);border:none}.btn-play.svelte-h1y0qs{background:var(--ember);color:var(--ember-contrast)}.btn-play.svelte-h1y0qs:hover{background:var(--ember-strong)}.btn-primary.svelte-h1y0qs{background:var(--ember);color:var(--ember-contrast);border:none;border-radius:var(--radius-button);padding:var(--space-2) var(--space-3);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;cursor:pointer;width:100%;transition:background-color var(--dur-fast) var(--ease)}.btn-primary.svelte-h1y0qs:hover{background:var(--ember-strong)}.btn-outline.svelte-h1y0qs{background:var(--paper);color:var(--ink);border:1px solid var(--border-strong)}.btn-outline.svelte-h1y0qs:hover{border-color:var(--ember)}.sessions-info.svelte-h1y0qs{text-align:center}.sessions-count.svelte-h1y0qs{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted);margin-bottom:var(--space-2)}.sessions-dots.svelte-h1y0qs{display:flex;gap:5px;justify-content:center}.session-dot.svelte-h1y0qs{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background var(--dur-base) var(--ease)}.session-dot.completed.svelte-h1y0qs{background:var(--ember)}.show-timer-btn.svelte-h1y0qs{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;width:52px;height:52px;border-radius:50%;background:var(--ember);color:var(--ember-contrast);border:none;cursor:pointer;box-shadow:var(--shadow-overlay);transition:background-color var(--dur-fast) var(--ease);display:flex;align-items:center;justify-content:center}.show-timer-btn.svelte-h1y0qs:hover{background:var(--ember-strong)}.timeline-container.svelte-112n2zp{padding:var(--space-8);max-width:900px;margin:0 auto;color:var(--ink)}.timeline-header.svelte-112n2zp{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8)}.timeline-header.svelte-112n2zp h2:where(.svelte-112n2zp){display:flex;align-items:center;gap:var(--space-2);margin:0;font-family:var(--font-serif);font-size:var(--text-title);font-weight:400;letter-spacing:var(--tracking-tight);color:var(--ink)}.timeline-filters.svelte-112n2zp{display:flex;gap:var(--space-6);margin-bottom:var(--space-8);padding:var(--space-4);background:var(--canvas-2);border:1px solid var(--border);border-radius:var(--radius-card)}.filter-group.svelte-112n2zp{display:flex;align-items:center;gap:var(--space-2)}.filter-group.svelte-112n2zp label:where(.svelte-112n2zp){font-family:var(--font-ui);font-weight:500;font-size:var(--text-sm);color:var(--ink-soft)}.filter-group.svelte-112n2zp select:where(.svelte-112n2zp){padding:var(--space-2) var(--space-3);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.filter-group.svelte-112n2zp select:where(.svelte-112n2zp):focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.loading.svelte-112n2zp,.empty-state.svelte-112n2zp{text-align:center;padding:var(--space-24) var(--space-8);color:var(--ink-muted);font-family:var(--font-ui)}.empty-hint.svelte-112n2zp{font-size:var(--text-sm);color:var(--ink-faint);margin-top:var(--space-2)}.timeline.svelte-112n2zp{position:relative;padding-left:40px}.timeline-line.svelte-112n2zp{position:absolute;left:20px;top:0;bottom:0;width:2px;background:var(--ember)}.timeline-event.svelte-112n2zp{position:relative;margin-bottom:var(--space-8)}.timeline-dot.svelte-112n2zp{position:absolute;left:-27px;top:8px;width:16px;height:16px;background:var(--event-color, var(--ember));border:3px solid var(--paper);border-radius:50%;z-index:1}.event-card.svelte-112n2zp{background:var(--paper);border:1px solid var(--border);border-left:4px solid var(--event-color, var(--ember));border-radius:var(--radius-card);padding:var(--space-4);transition:border-color var(--dur-fast) var(--ease)}.event-card.svelte-112n2zp:hover{border-color:var(--border-strong)}.event-header.svelte-112n2zp{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.event-title-row.svelte-112n2zp{display:flex;align-items:center;gap:var(--space-3);flex:1}.event-card.svelte-112n2zp h3:where(.svelte-112n2zp){margin:0;font-family:var(--font-serif);font-size:var(--text-heading);font-weight:500;color:var(--ink)}.event-category.svelte-112n2zp{padding:var(--space-1) var(--space-3);background:var(--ember-soft);border:1px solid var(--ember-soft-border);color:var(--ember-strong);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;white-space:nowrap}.event-importance.svelte-112n2zp{display:inline-flex;align-items:center;gap:2px;color:var(--ember)}.event-date.svelte-112n2zp{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ember);font-weight:500;margin-bottom:var(--space-3)}.event-description.svelte-112n2zp{color:var(--ink-soft);font-family:var(--font-ui);line-height:var(--leading-ui);margin:var(--space-3) 0}.event-tags.svelte-112n2zp{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-muted);margin-top:var(--space-2)}.event-tags.svelte-112n2zp strong:where(.svelte-112n2zp){color:var(--ink-soft);font-family:var(--font-ui);font-weight:600}.entity-pill.svelte-112n2zp{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500}.entity-pill--character.svelte-112n2zp{background:var(--entity-character-tint);color:var(--entity-character-text)}.entity-pill--location.svelte-112n2zp{background:var(--entity-location-tint);color:var(--entity-location-text)}.event-actions.svelte-112n2zp{display:flex;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.btn-icon.svelte-112n2zp{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2);border:none;background:transparent;color:var(--ink-soft);cursor:pointer;border-radius:var(--radius-button);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn-icon.svelte-112n2zp:hover{background:var(--canvas-2);color:var(--ink)}.btn-icon--danger.svelte-112n2zp:hover{background:var(--danger-bg);color:var(--danger)}.btn-primary.svelte-112n2zp{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--ember);color:var(--ember-contrast);border:none;border-radius:var(--radius-button);font-family:var(--font-ui);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.btn-primary.svelte-112n2zp:hover{background:var(--ember-strong)}.btn-secondary.svelte-112n2zp{padding:var(--space-3) var(--space-4);background:var(--paper);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius-button);font-family:var(--font-ui);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease)}.btn-secondary.svelte-112n2zp:hover{border-color:var(--ember)}.modal-overlay.svelte-112n2zp{position:fixed;inset:0;background:#16140f73;z-index:1000}.modal.svelte-112n2zp{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-modal);box-shadow:var(--shadow-overlay);z-index:1001;width:90%;max-width:600px;max-height:90vh;overflow:auto;color:var(--ink)}.modal-header.svelte-112n2zp{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);border-bottom:1px solid var(--border)}.modal-header.svelte-112n2zp h3:where(.svelte-112n2zp){margin:0;font-family:var(--font-serif);font-size:var(--text-heading);font-weight:500;color:var(--ink)}.btn-close.svelte-112n2zp{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--ink-muted);line-height:1;padding:0;width:32px;height:32px;border-radius:var(--radius-button);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn-close.svelte-112n2zp:hover{background:var(--canvas-2);color:var(--ink)}.modal-body.svelte-112n2zp{padding:var(--space-6)}.form-group.svelte-112n2zp{margin-bottom:var(--space-4)}.form-group.svelte-112n2zp label:where(.svelte-112n2zp){display:block;margin-bottom:var(--space-1);font-family:var(--font-ui);font-weight:500;font-size:var(--text-sm);color:var(--ink)}.form-group.svelte-112n2zp input:where(.svelte-112n2zp),.form-group.svelte-112n2zp textarea:where(.svelte-112n2zp),.form-group.svelte-112n2zp select:where(.svelte-112n2zp){width:100%;padding:var(--space-3);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-input);font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.form-group.svelte-112n2zp input:where(.svelte-112n2zp)::placeholder,.form-group.svelte-112n2zp textarea:where(.svelte-112n2zp)::placeholder{color:var(--ink-faint)}.form-group.svelte-112n2zp input[type=color]:where(.svelte-112n2zp){padding:var(--space-1);height:42px;cursor:pointer}.form-group.svelte-112n2zp input:where(.svelte-112n2zp):focus,.form-group.svelte-112n2zp textarea:where(.svelte-112n2zp):focus,.form-group.svelte-112n2zp select:where(.svelte-112n2zp):focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.form-row.svelte-112n2zp{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4)}.modal-footer.svelte-112n2zp{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-6);border-top:1px solid var(--border)}.graph-container.svelte-g6zi3e{padding:var(--space-8);height:100%;display:flex;flex-direction:column;color:var(--ink)}.graph-header.svelte-g6zi3e{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.graph-header.svelte-g6zi3e h2:where(.svelte-g6zi3e){display:flex;align-items:center;gap:var(--space-2);margin:0;font-family:var(--font-serif);font-size:var(--text-title);font-weight:400;letter-spacing:var(--tracking-tight);color:var(--ink)}.graph-controls.svelte-g6zi3e{display:flex;gap:var(--space-2)}.btn-control.svelte-g6zi3e{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);background:var(--paper);border:1px solid var(--border-strong);border-radius:var(--radius-button);color:var(--ink);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn-control.svelte-g6zi3e:hover{border-color:var(--ember)}.loading.svelte-g6zi3e,.empty-state.svelte-g6zi3e{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink-muted);font-family:var(--font-ui)}.empty-hint.svelte-g6zi3e{font-size:var(--text-sm);color:var(--ink-faint);margin-top:var(--space-2)}.canvas-container.svelte-g6zi3e{position:relative;flex:1;background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}canvas.svelte-g6zi3e{display:block;cursor:grab}canvas.svelte-g6zi3e:active{cursor:grabbing}.node-info.svelte-g6zi3e{position:absolute;top:var(--space-4);right:var(--space-4);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4);box-shadow:var(--shadow-raised);max-width:250px;z-index:10}.node-info.svelte-g6zi3e h4:where(.svelte-g6zi3e){margin:0 0 var(--space-2) 0;font-family:var(--font-serif);font-size:var(--text-heading);font-weight:500;color:var(--ink)}.node-type.svelte-g6zi3e{margin:0 0 var(--space-2) 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted);letter-spacing:var(--tracking-caps);font-weight:500;text-transform:uppercase}.node-description.svelte-g6zi3e{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-soft);line-height:var(--leading-ui)}.graph-legend.svelte-g6zi3e{display:flex;gap:var(--space-6);margin-top:var(--space-4);padding:var(--space-4);background:var(--canvas-2);border:1px solid var(--border);border-radius:var(--radius-card);justify-content:center}.legend-item.svelte-g6zi3e{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-soft)}.legend-dot.svelte-g6zi3e{width:16px;height:16px;border-radius:50%;border:2px solid var(--paper)}.search-container.svelte-1ytcet{padding:var(--space-8);max-width:800px;margin:0 auto}.search-input-wrapper.svelte-1ytcet{position:relative;display:flex;align-items:center;gap:var(--space-3);background:var(--paper-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-4);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.search-input-wrapper.svelte-1ytcet:focus-within{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-ring)}.search-icon.svelte-1ytcet{display:flex;align-items:center;color:var(--ink-muted)}.search-input.svelte-1ytcet{flex:1;border:none;outline:none;font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink);background:transparent}.search-input.svelte-1ytcet::placeholder{color:var(--ink-faint)}.clear-btn.svelte-1ytcet{background:none;border:none;color:var(--ink-muted);cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.clear-btn.svelte-1ytcet:hover{background:var(--canvas-2);color:var(--ink)}.search-options.svelte-1ytcet{margin-top:var(--space-4);display:flex;justify-content:flex-end}.search-results.svelte-1ytcet{margin-top:var(--space-6)}.loading-state.svelte-1ytcet{text-align:center;padding:var(--space-12);color:var(--ink-muted);font-family:var(--font-ui)}.spinner.svelte-1ytcet{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--ember);border-radius:50%;animation:svelte-1ytcet-spin .8s linear infinite;margin:0 auto var(--space-4)}@keyframes svelte-1ytcet-spin{to{transform:rotate(360deg)}}.empty-state.svelte-1ytcet{text-align:center;padding:var(--space-12);color:var(--ink-muted);font-family:var(--font-ui)}.empty-hint.svelte-1ytcet{font-size:var(--text-sm);color:var(--ink-faint);margin-top:var(--space-2)}.results-header.svelte-1ytcet{padding:var(--space-3) 0;color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);border-bottom:1px solid var(--border);margin-bottom:var(--space-4)}.results-list.svelte-1ytcet{display:flex;flex-direction:column;gap:var(--space-3)}.result-card.svelte-1ytcet{display:flex;gap:var(--space-4);padding:var(--space-4);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-card);cursor:pointer;transition:border-color var(--dur-fast) var(--ease);text-align:left;width:100%}.result-card.svelte-1ytcet:hover{border-color:var(--ember)}.result-icon.svelte-1ytcet{display:flex;align-items:flex-start;flex-shrink:0;color:var(--ink-muted)}.result-icon.entity-character.svelte-1ytcet{color:var(--entity-character)}.result-icon.entity-location.svelte-1ytcet{color:var(--entity-location)}.result-icon.entity-item.svelte-1ytcet{color:var(--entity-item)}.result-content.svelte-1ytcet{flex:1;min-width:0}.result-header.svelte-1ytcet{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.result-type.svelte-1ytcet{display:inline-block;padding:2px var(--space-2);background:var(--ember-soft);border:1px solid var(--ember-soft-border);color:var(--ember-strong);border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600}.result-type.entity-character.svelte-1ytcet{background:var(--entity-character-tint);border-color:var(--entity-character-tint);color:var(--entity-character-text)}.result-type.entity-location.svelte-1ytcet{background:var(--entity-location-tint);border-color:var(--entity-location-tint);color:var(--entity-location-text)}.result-type.entity-item.svelte-1ytcet{background:var(--entity-item-tint);border-color:var(--entity-item-tint);color:var(--entity-item-text)}.result-project.svelte-1ytcet{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted)}.result-title.svelte-1ytcet{margin:0 0 var(--space-2) 0;font-family:var(--font-serif);font-size:var(--text-heading);color:var(--ink);font-weight:500}.result-preview.svelte-1ytcet{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-soft);line-height:var(--leading-ui);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.result-title mark,.result-preview mark{background:var(--highlight-bg);color:var(--ink);padding:.1rem .2rem;border-radius:var(--radius-input);font-weight:600}.corkboard.svelte-1sfvlbz{height:100%;width:100%;background-color:var(--canvas);padding:var(--space-8);overflow-y:auto;font-family:var(--font-ui)}.board.svelte-1sfvlbz{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-8);max-width:1600px;margin:0 auto}.card.svelte-1sfvlbz{background:var(--paper-2);border:1px solid var(--border);border-radius:var(--radius-card);height:200px;padding:var(--space-6);box-shadow:var(--shadow-raised);position:relative;transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);cursor:pointer;display:flex;flex-direction:column;transform:rotate(-1deg)}.card.svelte-1sfvlbz:nth-child(2n){transform:rotate(1deg)}.card.svelte-1sfvlbz:nth-child(3n){transform:rotate(2deg)}.card.svelte-1sfvlbz:nth-child(5n){transform:rotate(-2deg)}.card.svelte-1sfvlbz:hover{transform:rotate(0);border-color:var(--ember);z-index:10}.pin.svelte-1sfvlbz{position:absolute;top:-5px;left:50%;transform:translate(-50%);width:10px;height:10px;border-radius:var(--radius-pill);background:var(--ember);z-index:5}h3.svelte-1sfvlbz{margin:var(--space-2) 0 var(--space-2);font-family:var(--font-serif);font-size:var(--text-lg);font-weight:500;color:var(--ink);border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.card-content.svelte-1sfvlbz{flex:1;overflow:hidden;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-soft);line-height:var(--leading-ui)}.preview.svelte-1sfvlbz{color:var(--ink-muted);font-style:italic}.card-footer.svelte-1sfvlbz{margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint);text-align:right}.add-card.svelte-1sfvlbz{background:transparent;border:1px dashed var(--border-strong);border-radius:var(--radius-card);display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;cursor:pointer;color:var(--ink-soft);font-family:var(--font-ui);font-weight:500;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.add-card.svelte-1sfvlbz:hover{border-color:var(--ember);color:var(--ember)}.add-icon.svelte-1sfvlbz{display:inline-flex;margin-bottom:var(--space-2)}.overlay.svelte-whooly{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#00000080;padding:var(--space-4)}.modal.svelte-whooly{width:100%;max-width:640px;max-height:80vh;display:flex;flex-direction:column;background:var(--paper, var(--canvas));color:var(--ink);border:1px solid var(--border, rgba(0, 0, 0, .15));border-radius:var(--radius-card, 10px);box-shadow:var(--shadow-overlay, 0 20px 60px rgba(0, 0, 0, .3));overflow:hidden}.modal-header.svelte-whooly{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border, rgba(0, 0, 0, .1))}.warn-icon.svelte-whooly{font-size:24px;line-height:1}.modal-header.svelte-whooly h2:where(.svelte-whooly){margin:0;font-size:var(--text-lg, 1.15rem)}.sub.svelte-whooly{margin:2px 0 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint)}.modal-body.svelte-whooly{padding:var(--space-4);overflow-y:auto}.report-text.svelte-whooly{font-size:var(--text-sm);line-height:1.6;white-space:normal}.modal-actions.svelte-whooly{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border, rgba(0, 0, 0, .1))}.btn-secondary.svelte-whooly,.btn-primary.svelte-whooly{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-button, 6px);font-size:var(--text-sm);font-weight:600;cursor:pointer}.btn-secondary.svelte-whooly{background:transparent;color:var(--ink-soft, var(--ink));border:1px solid var(--border, rgba(0, 0, 0, .2))}.btn-primary.svelte-whooly{background:var(--ember, #6b5bd2);color:var(--ember-contrast, #fff);border:1px solid var(--ember, #6b5bd2)}.btn-secondary.svelte-whooly:disabled,.btn-primary.svelte-whooly:disabled{opacity:.6;cursor:default}.sprint-strip.svelte-pgyzbx{display:flex;align-items:center;gap:var(--space-3);padding:8px var(--space-4);background:var(--paper);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-soft)}.time.svelte-pgyzbx{font-weight:700;color:var(--ink)}.time.low.svelte-pgyzbx{color:var(--ember)}.bar.svelte-pgyzbx{flex:1;height:6px;background:var(--canvas-2, rgba(0, 0, 0, .08));border-radius:var(--radius-pill);overflow:hidden;min-width:80px}.bar-fill.svelte-pgyzbx{height:100%;background:var(--ember);transition:width .25s var(--ease)}.metric.svelte-pgyzbx strong:where(.svelte-pgyzbx){color:var(--ink)}.hardcore-tag.svelte-pgyzbx{text-transform:uppercase;letter-spacing:.1em;font-size:var(--text-xs);color:var(--danger, #c0392b);border:1px solid currentColor;border-radius:var(--radius-pill);padding:1px 6px}.stop.svelte-pgyzbx{padding:4px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-button);background:transparent;color:var(--ink-soft);cursor:pointer;font-family:var(--font-ui)}.stop.svelte-pgyzbx:hover{border-color:var(--ember);color:var(--ember)}.debrief-overlay.svelte-pgyzbx{position:fixed;inset:0;z-index:1800;display:flex;align-items:center;justify-content:center;background:#00000073}.debrief.svelte-pgyzbx{background:var(--paper);color:var(--ink);border-radius:var(--radius-card, 12px);box-shadow:var(--shadow-overlay);padding:var(--space-6);width:min(440px,90vw);text-align:center}.debrief.svelte-pgyzbx h3:where(.svelte-pgyzbx){margin:0 0 var(--space-4);font-family:var(--font-serif);font-size:1.4rem}.debrief-grid.svelte-pgyzbx{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.stat.svelte-pgyzbx{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);background:var(--canvas);border-radius:var(--radius-button)}.num.svelte-pgyzbx{font-family:var(--font-mono);font-size:1.6rem;font-weight:700;color:var(--ember)}.lbl.svelte-pgyzbx{font-size:var(--text-xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em}.done-btn.svelte-pgyzbx{padding:10px 20px;border:none;border-radius:var(--radius-pill);background:var(--ember);color:var(--ember-contrast);font-weight:600;cursor:pointer}.done-btn.svelte-pgyzbx:hover{background:var(--ember-strong)}.scenes.svelte-jxlurf{padding:var(--space-3)}ul.svelte-jxlurf{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.scene.svelte-jxlurf{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;padding:7px var(--space-2);background:none;border:none;border-radius:var(--radius-button);cursor:pointer;color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-sm)}.scene.svelte-jxlurf:hover{background:var(--canvas);color:var(--ink)}.l2.svelte-jxlurf{padding-left:var(--space-4);font-size:.85rem}.l3.svelte-jxlurf{padding-left:var(--space-6);font-size:.8rem;color:var(--ink-muted)}.dot.svelte-jxlurf{width:6px;height:6px;border-radius:50%;background:var(--ember);flex-shrink:0}.txt.svelte-jxlurf{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted.svelte-jxlurf{color:var(--ink-muted);font-size:var(--text-sm)}.notes.svelte-c8xqf3{padding:var(--space-3)}.explainer.svelte-c8xqf3{font-size:var(--text-xs);color:var(--ink-muted);margin:0 0 var(--space-3);line-height:1.5}code.svelte-c8xqf3{font-family:var(--font-mono);background:var(--canvas-2, rgba(0, 0, 0, .06));padding:1px 4px;border-radius:3px}ul.svelte-c8xqf3{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}button.svelte-c8xqf3{display:flex;align-items:flex-start;gap:var(--space-2);width:100%;text-align:left;padding:7px var(--space-2);background:none;border:none;border-radius:var(--radius-button);cursor:pointer;color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.4}button.svelte-c8xqf3:hover{background:var(--canvas);color:var(--ink)}.idx.svelte-c8xqf3{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ember);font-weight:700;flex-shrink:0;margin-top:1px}.muted.svelte-c8xqf3{color:var(--ink-muted);font-size:var(--text-sm)}.readability.svelte-1aza970{padding:var(--space-4)}.stat-grid.svelte-1aza970{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin-bottom:var(--space-4)}.stat.svelte-1aza970{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);background:var(--canvas);border-radius:var(--radius-button)}.num.svelte-1aza970{font-family:var(--font-mono);font-size:1.3rem;font-weight:700;color:var(--ember)}.lbl.svelte-1aza970{font-size:var(--text-xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em}h4.svelte-1aza970{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-sm);color:var(--ink-soft)}.long-list.svelte-1aza970{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.long-list.svelte-1aza970 li:where(.svelte-1aza970){font-size:var(--text-sm);line-height:1.5;color:var(--ink-soft);padding-left:var(--space-2);border-left:2px solid var(--border-strong)}.count.svelte-1aza970{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ember);font-weight:700;margin-right:4px}.muted.svelte-1aza970{color:var(--ink-muted)}.hint.svelte-1aza970{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--ink-faint)}.reference.svelte-ohfhb7{display:flex;flex-direction:column;height:100%;min-height:0}.ref-select.svelte-ohfhb7{margin:var(--space-3);padding:8px;border:1px solid var(--border-strong);border-radius:var(--radius-button);background:var(--canvas);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-sm)}.ref-body.svelte-ohfhb7{flex:1;overflow-y:auto;padding:0 var(--space-4) var(--space-4)}.ref-content.svelte-ohfhb7{font-family:var(--font-serif);font-size:15px;line-height:1.7;color:var(--ink-soft)}.ref-content.svelte-ohfhb7 h1,.ref-content.svelte-ohfhb7 h2,.ref-content.svelte-ohfhb7 h3{font-family:var(--font-serif);color:var(--ink)}.muted.svelte-ohfhb7{color:var(--ink-muted);font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.streak.svelte-1a96gim{padding:var(--space-4)}.streak-header.svelte-1a96gim{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.streak-header.svelte-1a96gim h3:where(.svelte-1a96gim){margin:0;font-family:var(--font-serif);font-size:1.2rem}.sub.svelte-1a96gim{margin:2px 0 0;font-size:var(--text-xs);color:var(--ink-faint)}.streak-stats.svelte-1a96gim{display:flex;gap:var(--space-4)}.big.svelte-1a96gim{display:flex;flex-direction:column;text-align:right}.num.svelte-1a96gim{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--ember);line-height:1}.lbl.svelte-1a96gim{font-size:var(--text-xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em}.heatmap.svelte-1a96gim{display:flex;gap:3px;overflow-x:auto;padding-bottom:var(--space-2)}.col.svelte-1a96gim{display:flex;flex-direction:column;gap:3px}.cell.svelte-1a96gim{width:11px;height:11px;border-radius:2px;background:var(--canvas-2, rgba(0, 0, 0, .06))}.l0.svelte-1a96gim{background:var(--canvas-2, rgba(0, 0, 0, .06))}.l1.svelte-1a96gim{background:color-mix(in srgb,var(--ember) 25%,transparent)}.l2.svelte-1a96gim{background:color-mix(in srgb,var(--ember) 50%,transparent)}.l3.svelte-1a96gim{background:color-mix(in srgb,var(--ember) 75%,transparent)}.l4.svelte-1a96gim{background:var(--ember)}.lx.svelte-1a96gim{background:transparent}.legend.svelte-1a96gim{display:flex;align-items:center;gap:3px;margin-top:var(--space-3);font-size:var(--text-xs);color:var(--ink-muted)}.legend.svelte-1a96gim .cell:where(.svelte-1a96gim){width:11px;height:11px}.muted.svelte-1a96gim{color:var(--ink-muted)}.rail.svelte-1jxbzal{position:fixed;top:50%;right:var(--space-3);transform:translateY(-50%);z-index:850;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-overlay)}.rail-btn.svelte-1jxbzal{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.rail-btn.svelte-1jxbzal:hover{background:var(--canvas);color:var(--ink)}.rail-btn.active.svelte-1jxbzal{background:var(--ember);color:var(--ember-contrast)}.rail-status.svelte-1jxbzal{display:flex;justify-content:center;padding-top:var(--space-1);margin-top:var(--space-1);border-top:1px solid var(--border)}.dot.svelte-1jxbzal{width:8px;height:8px;border-radius:50%}.dot.online.svelte-1jxbzal{background:var(--success, #2e8b57)}.dot.saving.svelte-1jxbzal{background:var(--warning, #d6a000)}.dot.offline.svelte-1jxbzal{background:var(--danger, #c0392b)}.offline-banner.svelte-1jxbzal{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);z-index:860;background:var(--danger, #c0392b);color:#fff;padding:8px 16px;border-radius:var(--radius-pill);font-size:var(--text-sm);box-shadow:var(--shadow-overlay)}.drawer.svelte-1jxbzal{position:fixed;top:0;right:64px;height:100vh;width:340px;max-width:calc(100vw - 80px);z-index:840;display:flex;flex-direction:column;background:var(--paper);border-left:1px solid var(--border);box-shadow:var(--shadow-overlay)}.drawer.wide.svelte-1jxbzal{width:460px}.drawer-head.svelte-1jxbzal{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.drawer-head.svelte-1jxbzal h3:where(.svelte-1jxbzal){margin:0;font-family:var(--font-serif);font-size:1.05rem}.close.svelte-1jxbzal{display:flex;background:none;border:none;color:var(--ink-soft);cursor:pointer}.close.svelte-1jxbzal:hover{color:var(--ember)}.drawer-body.svelte-1jxbzal{flex:1;overflow-y:auto;min-height:0}.sprint-form.svelte-1jxbzal,.sound-form.svelte-1jxbzal{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.sprint-form.svelte-1jxbzal label:where(.svelte-1jxbzal),.sound-form.svelte-1jxbzal label:where(.svelte-1jxbzal){display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);color:var(--ink-soft)}.sprint-form.svelte-1jxbzal label.check:where(.svelte-1jxbzal),.sound-form.svelte-1jxbzal label.check:where(.svelte-1jxbzal){flex-direction:row;align-items:center;gap:var(--space-2)}.sprint-form.svelte-1jxbzal input[type=number]:where(.svelte-1jxbzal),.sound-form.svelte-1jxbzal select:where(.svelte-1jxbzal){padding:8px;border:1px solid var(--border-strong);border-radius:var(--radius-button);background:var(--canvas);color:var(--ink);font-family:var(--font-ui)}.start.svelte-1jxbzal{padding:10px;border:none;border-radius:var(--radius-button);background:var(--ember);color:var(--ember-contrast);font-weight:600;cursor:pointer}.start.svelte-1jxbzal:hover{background:var(--ember-strong)}.muted.svelte-1jxbzal{color:var(--ink-muted);padding:var(--space-4)}@media(max-width:768px){.drawer.svelte-1jxbzal{right:56px;width:calc(100vw - 70px)}}.loading.svelte-1uha8ag{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:var(--space-4);background:var(--canvas)}.loading-sub.svelte-1uha8ag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-faint);margin:0}.app.svelte-1uha8ag{position:relative;height:100vh;display:flex;flex-direction:column;background:var(--canvas)}.hamburger.svelte-1uha8ag{position:fixed;top:var(--space-3);left:var(--space-3);z-index:1000;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-button);padding:var(--space-2);cursor:pointer;display:flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--ink-soft);transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.hamburger.svelte-1uha8ag:hover{border-color:var(--ember);color:var(--ember)}.main-tabs.svelte-1uha8ag{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-4) 0 56px;background:var(--paper);border-bottom:1px solid var(--border);overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.main-tabs.svelte-1uha8ag::-webkit-scrollbar{display:none}.tab-group.svelte-1uha8ag{display:flex;align-items:center;gap:2px}.main-tab.svelte-1uha8ag{display:flex;align-items:center;gap:7px;padding:13px 14px;background:transparent;color:var(--ink-soft);border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-family:var(--font-ui);font-size:13px;font-weight:500;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.main-tab.svelte-1uha8ag:hover{color:var(--ink)}.main-tab.active.svelte-1uha8ag{color:var(--ember);border-bottom-color:var(--ember);font-weight:600}.tab-bar-right.svelte-1uha8ag{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.current-project.svelte-1uha8ag{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted);max-width:220px;overflow:hidden}.project-name-label.svelte-1uha8ag{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-dot.svelte-1uha8ag{width:8px;height:8px;border-radius:var(--radius-pill);flex-shrink:0}.focus-btn.svelte-1uha8ag{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;color:var(--ink-soft);border:none;border-radius:var(--radius-button);cursor:pointer;transition:color var(--dur-fast) var(--ease)}.focus-btn.svelte-1uha8ag:hover{color:var(--ember)}.editor-container.svelte-1uha8ag,.worldbuilding-container.svelte-1uha8ag{flex:1;overflow:hidden}.surface-container.svelte-1uha8ag{flex:1;overflow-y:auto;background:var(--canvas)}.focus-pill.svelte-1uha8ag{position:fixed;bottom:var(--space-6);left:var(--space-6);z-index:900;display:flex;align-items:center;gap:var(--space-2);padding:10px 18px;background:var(--ember);color:var(--ember-contrast);border:none;border-radius:var(--radius-pill);box-shadow:var(--shadow-overlay);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;transition:background var(--dur-fast) var(--ease)}.focus-pill.svelte-1uha8ag:hover{background:var(--ember-strong)}@media(max-width:768px){.main-tabs.svelte-1uha8ag{justify-content:flex-start;padding-left:52px}.tab-bar-right.svelte-1uha8ag{margin-left:auto}.current-project.svelte-1uha8ag{display:none}}
