:root{--font-sans:"Geist Sans", "Geist", -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Segoe UI", sans-serif;--font-mono:"Geist Mono", "SF Mono", "JetBrains Mono", "Fira Code", monospace;--bg-primary:#f8f7f2;--bg-secondary:#fffefb;--bg-tertiary:#f1f3ee;--bg-elevated:#fff;--bg-glass:#fffefbdb;--border-color:#1c28231a;--border-hover:#1c282329;--border-active:#12645657;--text-primary:#151719;--text-secondary:#5a625e;--text-muted:#949b95;--accent-color:#126456;--accent-hover:#0c4f44;--accent-light:#12645617;--accent-light-border:#12645638;--brand-ink:#0e243d;--brand-sea:#7fb5b7;--brand-paper:#f6f0e4;--brand-coral:#f17655;--brand-graphite:#5f5f5a;--danger-color:#ef4444;--danger-hover:#dc2626;--success-color:#10b981;--warning-color:#f59e0b;--shadow-sm:0 1px 3px #232d2812;--shadow-md:0 2px 10px #232d281a;--shadow-lg:0 12px 32px #232d281f;--shadow-glow:0 0 0 1px #12645629, 0 0 20px #1264560f;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.32, .72, 0, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--transition-fast:.15s var(--ease-out-expo);--transition-normal:.3s var(--ease-out-expo);--transition-slow:.5s var(--ease-spring)}[data-theme=classic]{--bg-primary:#f8f9fb;--bg-secondary:#fff;--bg-tertiary:#f1f3f5;--bg-elevated:#fff;--bg-glass:#fffc;--border-color:#00000014;--border-hover:#00000024;--border-active:#3b82f64d;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#a1a1aa;--accent-color:#3b82f6;--accent-hover:#2563eb;--accent-light:#3b82f61f;--accent-light-border:#3b82f647;--brand-ink:#0e243d;--brand-sea:#7fb5b7;--brand-paper:#f7f3ea;--brand-coral:#f17655;--brand-graphite:#5f5f5a;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 2px 10px #0000001f;--shadow-lg:0 8px 30px #00000029;--shadow-glow:0 0 0 1px #3b82f633, 0 0 20px #3b82f60d}[data-theme=green]{--bg-primary:#f8f7f2;--bg-secondary:#fffefb;--bg-tertiary:#f1f3ee;--bg-elevated:#fff;--bg-glass:#fffefbdb;--border-color:#1c28231a;--border-hover:#1c282329;--border-active:#12645657;--text-primary:#151719;--text-secondary:#5a625e;--text-muted:#949b95;--accent-color:#126456;--accent-hover:#0c4f44;--accent-light:#12645617;--accent-light-border:#12645638;--brand-ink:#0e243d;--brand-sea:#7fb5b7;--brand-paper:#f6f0e4;--brand-coral:#f17655;--brand-graphite:#5f5f5a;--shadow-sm:0 1px 3px #232d2812;--shadow-md:0 2px 10px #232d281a;--shadow-lg:0 12px 32px #232d281f;--shadow-glow:0 0 0 1px #12645629, 0 0 20px #1264560f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal), color var(--transition-normal);line-height:1.5;overflow-x:hidden}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.title-large{color:var(--text-primary);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.title-medium{color:var(--text-primary);letter-spacing:-.01em;font-size:1.15rem;font-weight:600}.text-small{color:var(--text-secondary);font-size:.8rem}.text-mono{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;font-size:.75rem}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px)saturate(1.2);border:1px solid var(--border-color)}.app-container{min-height:100dvh;display:flex;overflow:hidden}.app-layout-top{flex-direction:column}.main-content{background-color:var(--bg-primary);flex-direction:column;flex-grow:1;display:flex;overflow:hidden}.brand-logo{color:var(--brand-ink);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.brand-logo-mark{object-fit:contain;border-radius:.35rem;width:auto;height:1.6rem;display:block}.brand-logo-wordmark{gap:.55rem}.brand-logo-text{flex-direction:column;justify-content:center;min-width:0;line-height:1.02;display:flex}.brand-logo-text strong{letter-spacing:0;color:var(--text-primary);font-size:.95rem;font-weight:760}.brand-logo-text small{letter-spacing:.12em;color:var(--text-secondary);margin-top:.16rem;font-size:.64rem;font-weight:650}.app-brand-mark .brand-logo-mark{height:1.2rem}.nav-item{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;text-align:left;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.82rem;font-weight:500;text-decoration:none;display:flex}.nav-button-top{border-radius:var(--radius-sm);padding:.4rem .65rem;font-size:.8rem}.nav-item:hover{color:var(--text-primary);background-color:#ffffff0a}.nav-item.active{color:var(--accent-color);background-color:var(--accent-light);border-color:var(--accent-light-border)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.82rem;font-weight:500;line-height:1.4;display:inline-flex}.btn:active{transition:transform .1s var(--ease-spring);transform:scale(.98)translateY(1px)}.btn-primary{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{border-color:var(--border-color);color:var(--text-secondary);background-color:#0000}.btn-secondary:hover{border-color:var(--border-hover);color:var(--text-primary);background-color:#ffffff08}.btn-danger{color:var(--danger-color);background-color:#ef44441a;border-color:#ef444433}.btn-danger:hover{background-color:#ef444426;border-color:#ef444459}.btn-ghost{color:var(--text-muted);background:0 0;border:none;padding:.3rem}.btn-ghost:hover{color:var(--text-primary)}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:500}.form-input,.form-textarea,.form-select{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.55rem .75rem;font-size:.85rem}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-color) 12%, transparent)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted);opacity:.6}.form-textarea{resize:vertical;min-height:120px;line-height:1.6}.badge{border-radius:var(--radius-xs);letter-spacing:.02em;align-items:center;padding:.15rem .4rem;font-size:.68rem;font-weight:600;line-height:1.4;display:inline-flex}.badge-tag{background-color:var(--accent-light);color:var(--accent-color)}.badge-stale{color:var(--warning-color);background-color:#f59e0b1f}.badge-success{color:var(--success-color);background-color:#10b9811f}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;animation:modal-overlay-in .3s var(--ease-out-expo);background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:90%;max-width:850px;max-height:90vh;box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff0a;animation:modal-content-in .4s var(--ease-out-expo);flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex;overflow-y:auto}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-content-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-dual-layout{gap:1.5rem;width:100%;display:flex;overflow:hidden}.modal-sidebar{border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;gap:.75rem;width:200px;max-height:70vh;padding-right:1.25rem;display:flex;overflow-y:auto}.modal-main-content{flex-direction:column;flex-grow:1;gap:.75rem;display:flex}.timeline-viewport{flex-grow:1;position:relative;overflow:auto}.timeline-grid{min-width:100%;display:inline-grid;position:relative}.timeline-header-row{z-index:10;background-color:var(--bg-primary);padding-bottom:.25rem;display:flex;position:sticky;top:0}.timeline-corner-cell{background-color:var(--bg-primary);z-index:12;flex-shrink:0;justify-content:center;align-items:center;width:180px;padding:.75rem;display:flex;position:sticky;left:0}.timeline-header-cell{background-color:var(--bg-primary);text-align:center;flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.35rem;width:220px;padding:.6rem .75rem;display:flex}.timeline-row{align-items:stretch;display:flex;position:relative}.timeline-row:nth-child(2n) .timeline-grid-cell,.timeline-row:nth-child(2n) .timeline-row-label-cell{background-color:var(--bg-elevated)}.timeline-row-label-cell{background-color:var(--bg-primary);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;width:180px;padding:.75rem;font-size:.82rem;font-weight:500;display:flex;position:sticky;left:0}.timeline-grid-cell{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:220px;min-height:100px;padding:.5rem;display:flex;position:relative}.plottr-act-label{color:#f87171;border-radius:var(--radius-sm);letter-spacing:.02em;background:#ef44440f;border:1.5px solid #ef444480;padding:.15rem 1rem;font-size:.72rem;font-weight:600}.plottr-chapter-label{border:1.5px dashed color-mix(in srgb, var(--accent-color) 40%, transparent);color:var(--accent-color);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent-color) 5%, transparent);letter-spacing:.02em;padding:.15rem 1rem;font-size:.72rem;font-weight:600}.plottr-scene-label{color:var(--text-primary);background:0 0;font-size:.78rem;font-weight:600}.scene-card{border-radius:var(--radius-md);background-color:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;width:100%;transition:all var(--transition-fast);z-index:2;flex-direction:column;gap:.35rem;padding:.65rem .75rem;display:flex;position:relative}.scene-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.scene-card.stale{border:1.5px dashed var(--warning-color)}.card-emotion-tag{font-size:.62rem;font-family:var(--font-mono);color:#5eead4;border-radius:var(--radius-xs);text-overflow:ellipsis;white-space:nowrap;background:#5eead414;align-items:center;gap:.2rem;max-width:100%;padding:.1rem .3rem;display:inline-flex;overflow:hidden}.card-verbatim-count{font-size:.6rem;font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:.15rem;display:inline-flex}.timeline-row-connector,.timeline-col-connector{z-index:1;pointer-events:none;border-radius:0;position:absolute}.card-hover-tooltip{background:var(--bg-elevated);background:color-mix(in srgb, var(--bg-elevated) 94%, var(--tooltip-line-color));border:1px solid color-mix(in srgb, var(--border-color) 78%, var(--tooltip-line-color));border-radius:var(--radius-md);width:220px;max-height:calc(100vh - 24px);box-shadow:var(--shadow-lg), 0 0 0 1px #ffffff09 inset;z-index:50;pointer-events:none;animation:tooltip-in .16s var(--ease-out-expo);flex-direction:column;gap:0;padding:.85rem .9rem .75rem;display:flex;position:fixed;overflow-y:auto}.card-hover-tooltip:before{content:"";background:var(--tooltip-line-color);border-radius:var(--radius-md) var(--radius-md) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.card-hover-tooltip-title{color:var(--text-primary);margin:0;font-size:.92rem;font-weight:700;line-height:1.35}.card-hover-tooltip-description{border-top:1px solid color-mix(in srgb, var(--border-color) 84%, transparent);color:var(--text-secondary);white-space:pre-wrap;text-overflow:ellipsis;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:.62rem 0 0;padding-top:.58rem;font-size:.8rem;line-height:1.55;display:-webkit-box;overflow:hidden}.card-hover-tooltip-status{border-top:1px solid color-mix(in srgb, var(--border-color) 84%, transparent);color:var(--accent-color);margin-top:.7rem;padding-top:.55rem;font-size:.72rem;font-weight:700;line-height:1.35}@keyframes tooltip-in{0%{opacity:0}to{opacity:1}}.filter-popover{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:560px;box-shadow:var(--shadow-lg);z-index:60;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.25rem;display:grid;position:absolute;top:105%;left:0}.filter-popover-col{flex-direction:column;gap:.4rem;max-height:240px;padding-right:.5rem;display:flex;overflow-y:auto}.filter-option{cursor:pointer;color:var(--text-secondary);transition:color var(--transition-fast);align-items:center;gap:.35rem;font-size:.8rem;display:flex}.filter-option:hover{color:var(--text-primary)}.filter-option input[type=checkbox]{cursor:pointer;accent-color:var(--accent-color)}.outline-board-column{background-color:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:260px;max-height:100%;display:flex}.outline-column-header{text-align:center;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);border-radius:var(--radius-md) var(--radius-md) 0 0;flex-direction:column;gap:.15rem;padding:.6rem .85rem;display:flex}.outline-column-cards{flex-direction:column;flex-grow:1;gap:.4rem;padding:.6rem;display:flex;overflow-y:auto}.outline-board-card{border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:var(--bg-secondary);transition:all var(--transition-fast);padding:.65rem;font-size:.8rem;font-weight:500;line-height:1.4;position:relative}.outline-board-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover);transform:translateY(-1px)}.outline-card-hover{transition:all var(--transition-fast)!important}.outline-card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--border-hover)!important}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f 50%,#ffffff08 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@keyframes stale-pulse{0%,to{border-color:#f59e0b66}50%{border-color:#f59e0bb3}}.stale-pulse{animation:stale-pulse 2s var(--ease-spring) infinite}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-home{background:var(--bg-primary);min-height:100dvh;color:var(--text-primary);flex-direction:column;display:flex}.project-home-header{border-bottom:1px solid var(--border-color);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px)saturate(1.2);z-index:20;flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 1.25rem;display:flex;position:relative}.project-brand,.project-home-actions{align-items:center;display:flex}.project-brand{gap:.55rem;font-size:.92rem;font-weight:650}.project-brand .brand-logo-mark{height:1.35rem}.project-home-actions{gap:.45rem}.project-home-main{flex-direction:column;gap:1.5rem;width:min(1120px,100vw - 48px);margin:0 auto;padding:2.25rem 0 3rem;display:flex}.project-home-titlebar{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.project-home-titlebar h1{letter-spacing:0;font-size:1.55rem;font-weight:720;line-height:1.2}.project-home-titlebar p{color:var(--text-secondary);margin-top:.35rem;font-size:.86rem}.project-create-inline{width:min(320px,36vw)}.project-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;display:grid}.project-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;min-height:148px;transition:border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);flex-direction:column;justify-content:space-between;padding:1rem;display:flex}.project-card:hover{border-color:var(--border-hover);background:var(--bg-tertiary);transform:translateY(-1px)}.project-card-main{gap:.85rem;min-width:0;display:flex}.project-card-icon{border-radius:var(--radius-sm);background:var(--accent-light);width:34px;height:34px;color:var(--accent-color);flex-shrink:0;place-items:center;display:grid}.project-card-copy{flex:1;min-width:0}.project-card-copy h2{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:650;line-height:1.35;overflow:hidden}.project-card-copy p{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-size:.76rem;overflow:hidden}.project-title-input{width:100%;height:34px}.project-card-footer{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;font-size:.72rem;display:flex}.project-card-buttons{align-items:center;gap:.15rem;display:flex}.project-delete-btn:hover{color:var(--danger-color)}.project-empty{border:1px dashed var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:360px;display:flex}.project-empty svg{color:var(--text-muted)}.project-empty h2{letter-spacing:0;font-size:1rem;font-weight:650}.project-empty p{color:var(--text-secondary);font-size:.82rem}@media (width<=720px){.project-home-header,.project-home-titlebar{flex-direction:column;align-items:stretch}.project-home-header{gap:.75rem;height:auto;padding:.9rem 1rem}.project-home-main{width:calc(100vw - 28px);padding-top:1.25rem}.project-home-actions,.project-create-inline{width:100%}.project-home-actions .btn{flex:1;justify-content:center}}.project-card-cloud{border-style:dashed;border-color:var(--accent-color,#6c47ff)}.project-card-cloud .project-card-icon{background:var(--accent-light,#6c47ff1f);color:var(--accent-color,#6c47ff)}.project-cloud-error{border:1px solid var(--danger-color,#e5484d);border-radius:var(--radius-sm);color:var(--danger-color,#e5484d);background:var(--danger-light,#e5484d14);margin:0 0 .75rem;padding:.55rem .8rem;font-size:.82rem}.project-sync-btn{color:var(--text-secondary);align-items:center;gap:.3rem;font-size:.76rem;display:inline-flex}.project-sync-btn:hover{color:var(--accent-color,#6c47ff)}.project-sync-btn:disabled{opacity:.6;cursor:default}.app-header{border-bottom:1px solid var(--border-color);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);z-index:200;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 1.25rem;display:flex;position:relative}.nav-tabs{gap:.15rem;display:flex}.nav-divider{background-color:var(--border-color);width:1px;height:20px}.nav-divider-sm{background-color:var(--border-color);width:1px;height:14px;margin:auto .35rem}.nav-button-writing.active{color:var(--accent-color)!important;background:var(--accent-light)!important}.nav-button-writing:not(.active):hover{color:var(--accent-color)}:root{--top-toolbar-height:48px}.main-content-global{flex-grow:1;height:calc(100vh - 48px);display:flex;overflow:hidden}.main-tab-area{flex-direction:column;flex-grow:1;min-width:0;display:flex;overflow:hidden}.global-chat-panel{border-left:1px solid var(--border-color);background:var(--bg-secondary);flex-direction:column;flex-shrink:0;width:340px;min-width:280px;max-width:60vw;display:flex;position:relative;overflow:hidden}@media (width<=900px){.global-chat-panel{top:var(--top-toolbar-height);z-index:100;max-width:min(90vw,420px);position:fixed;bottom:0;right:0;box-shadow:-4px 0 16px #0000001f}.prose-editor-toolbar{z-index:101;position:relative}}.global-chat-resize-handle{z-index:20;cursor:col-resize;width:8px;position:absolute;top:0;bottom:0;left:-4px}.global-chat-resize-handle:after{content:"";width:1px;transition:background .16s var(--ease-out-expo);background:0 0;position:absolute;top:0;bottom:0;left:3px}.global-chat-resize-handle:hover:after{background:var(--accent-color)}.writing-layout{flex-grow:1;height:100%;display:flex;overflow:hidden}.writing-sidebar{border-right:1px solid var(--border-color);background:var(--bg-secondary);flex-direction:column;flex-shrink:0;width:220px;min-width:180px;max-width:300px;display:flex;overflow:hidden}.writing-editor{background:var(--bg-primary);flex-direction:column;flex-grow:1;min-width:320px;display:flex;overflow:hidden}.chapter-sidebar{flex-direction:column;height:100%;display:flex}.chapter-sidebar-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:.65rem .85rem;display:flex}.chapter-sidebar-count{font-size:.65rem;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-tertiary);border-radius:8px;padding:.1rem .45rem}.chapter-sidebar-list{flex-grow:1;padding:.35rem;overflow-y:auto}.chapter-sidebar-item{width:100%;color:var(--text-secondary);font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:.55rem;margin-bottom:1px;padding:.5rem .6rem;font-size:.78rem;transition:all .15s;display:flex}.chapter-sidebar-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.chapter-sidebar-item.active{background:var(--accent-light);color:var(--accent-color)}.chapter-sidebar-item-icon{opacity:.5;flex-shrink:0}.chapter-sidebar-item.active .chapter-sidebar-item-icon{opacity:1}.chapter-sidebar-item-info{flex-direction:column;flex-grow:1;gap:.1rem;min-width:0;display:flex}.chapter-sidebar-item-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chapter-sidebar-item-count{font-size:.65rem;font-family:var(--font-mono);color:var(--text-muted)}.chapter-sidebar-footer{border-top:1px solid var(--border-color);flex-direction:column;flex-shrink:0;gap:.2rem;padding:.5rem .85rem;display:flex}.prose-editor-container{flex-direction:column;height:100%;display:flex;overflow:hidden}.prose-editor-toolbar{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;min-height:40px;padding:.5rem 1rem;display:flex}.prose-editor-toolbar-left{align-items:center;gap:.5rem;display:flex}.prose-editor-toolbar-right{align-items:center;gap:.75rem;display:flex}.prose-chapter-select{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.78rem;font-family:var(--font-sans);cursor:pointer;border-radius:6px;outline:none;min-width:160px;padding:.3rem .6rem;transition:border-color .2s}.prose-chapter-select:focus{border-color:var(--accent-color)}.prose-word-count{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono)}.prose-editor-area{background:var(--bg-primary);flex-grow:1;overflow:auto}.prose-editor-area .cm-editor{height:100%}.prose-editor-area .cm-scroller{padding:0 2rem;overflow:auto}.prose-editor-empty{background:var(--bg-primary);flex-direction:column;flex-grow:1;justify-content:center;align-items:center;display:flex}.chat-panel{background:var(--bg-secondary);flex-direction:column;height:100%;display:flex}.chat-header{border-bottom:1px solid var(--border-color);min-height:var(--top-toolbar-height);height:var(--top-toolbar-height);box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 1rem;display:flex}.chat-session-switcher{flex-shrink:0;display:inline-flex;position:relative}.chat-session-toggle{max-width:180px;color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-family:inherit;font-size:.7rem;display:inline-flex;overflow:hidden}.chat-session-toggle:hover{color:var(--text-secondary);background:var(--bg-tertiary);border-color:var(--border-color)}.chat-session-toggle.expanded{color:var(--accent-color);border-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 8%, transparent)}.chat-session-toggle-title{text-overflow:ellipsis;max-width:130px;overflow:hidden}.chat-session-menu{background:var(--bg-primary);border:1px solid var(--border-color);z-index:100;border-radius:8px;flex-direction:column;gap:.35rem;width:340px;max-width:calc(100vw - 40px);margin-top:4px;padding:.45rem;display:flex;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0000002e}.chat-session-new{width:100%;color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 8%, transparent);border:1px dashed color-mix(in srgb, var(--accent-color) 40%, transparent);cursor:pointer;text-align:left;border-radius:5px;align-items:center;gap:.35rem;padding:.4rem .55rem;font-family:inherit;font-size:.72rem;font-weight:600;display:flex}.chat-session-new:hover{background:color-mix(in srgb, var(--accent-color) 14%, transparent)}.chat-session-new:disabled{opacity:.45;cursor:not-allowed;background:color-mix(in srgb, var(--accent-color) 4%, transparent);border-color:color-mix(in srgb, var(--accent-color) 15%, transparent)}.chat-session-new:disabled:hover{background:color-mix(in srgb, var(--accent-color) 4%, transparent)}.chat-session-list{overscroll-behavior:contain;flex-direction:column;gap:.15rem;max-height:min(360px,100vh - 180px);padding-right:.15rem;display:flex;overflow-y:auto}.chat-session-empty{color:var(--text-tertiary);text-align:center;padding:.6rem .55rem;font-size:.7rem}.chat-session-item{cursor:pointer;box-sizing:border-box;border:1px solid #0000;border-radius:5px;grid-template-columns:18px minmax(0,1fr) 26px;align-items:center;column-gap:.45rem;min-height:48px;padding:.42rem .35rem .42rem .55rem;transition:background .12s,border-color .12s;display:grid}.chat-session-item:hover{background:var(--bg-tertiary)}.chat-session-item.active{background:color-mix(in srgb, var(--accent-color) 10%, transparent);border-color:color-mix(in srgb, var(--accent-color) 30%, transparent)}.chat-session-item-icon{color:var(--text-tertiary);flex-shrink:0}.chat-session-item.active .chat-session-item-icon{color:var(--accent-color)}.chat-session-item-main{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.chat-session-item-title{color:var(--text-primary);align-items:center;gap:.3rem;min-width:0;font-size:.74rem;font-weight:600;display:flex}.chat-session-item-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-session-item-badge{color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:3px;flex-shrink:0;padding:0 .25rem;font-size:.6rem;font-weight:500;line-height:1.3}.chat-session-item-meta{color:var(--text-tertiary);align-items:center;gap:.3rem;min-width:0;font-size:.66rem;line-height:1.35;display:flex}.chat-session-item-count{flex:none}.chat-session-item-count:after{content:"·";margin-left:.3rem}.chat-session-item-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-session-item-delete{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:.2rem;transition:opacity .12s,background .12s,color .12s,border-color .12s;display:flex}.chat-session-item:hover .chat-session-item-delete,.chat-session-item-delete:focus-visible{opacity:1}.chat-session-item-delete:hover{color:var(--danger-color,#e5534b);background:color-mix(in srgb, var(--danger-color,#e5534b) 10%, transparent);border-color:color-mix(in srgb, var(--danger-color,#e5534b) 30%, transparent)}.chat-session-load-more{width:100%;min-height:32px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;margin-top:.1rem;font-family:inherit;font-size:.68rem}.chat-session-load-more:hover:not(:disabled){color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 8%, transparent);border-color:color-mix(in srgb, var(--accent-color) 20%, transparent)}.chat-session-load-more:disabled{cursor:wait;opacity:.6}.ai-settings-panel{flex-shrink:0;position:relative}.ai-settings-toggle{color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:.32rem;padding:.18rem .42rem;font-family:inherit;font-size:.7rem;display:flex}.ai-settings-toggle:hover{color:var(--text-secondary);background:var(--bg-tertiary);border-color:var(--border-color)}.ai-settings-panel.expanded .ai-settings-toggle{color:var(--accent-color);border-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 8%, transparent)}.ai-settings-toggle-count{background:var(--bg-tertiary);min-width:1.75rem;height:1rem;color:var(--text-tertiary);border-radius:999px;justify-content:center;align-items:center;padding:0 .25rem;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex}.ai-settings-toggle-count.is-ready{color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 12%, transparent)}.ai-settings-body{background:var(--bg-primary);border:1px solid var(--border-color);z-index:100;border-radius:8px;flex-direction:column;gap:.75rem;width:420px;max-width:calc(100vw - 40px);margin-top:6px;padding:.8rem;display:flex;position:absolute;top:100%;right:0;box-shadow:0 14px 36px #0003}.ai-settings-popover-head{flex-direction:column;gap:.65rem;padding-bottom:.15rem;display:flex}.ai-settings-popover-title{color:var(--text-secondary);align-items:flex-start;gap:.5rem;display:flex}.ai-settings-popover-title>svg{color:var(--accent-color);margin-top:.1rem}.ai-settings-popover-title strong{color:var(--text-primary);font-size:.8rem;display:block}.ai-settings-popover-title span{color:var(--text-tertiary);margin-top:.12rem;font-size:.68rem;display:block}.ai-settings-status-grid{flex-wrap:wrap;gap:.35rem;display:flex}.ai-settings-status-pill{border:1px solid var(--border-color);background:var(--bg-secondary);min-height:1.2rem;color:var(--text-tertiary);border-radius:999px;align-items:center;gap:.2rem;padding:.12rem .45rem;font-size:.64rem;font-weight:600;display:inline-flex}.ai-settings-status-pill.is-filled{color:var(--accent-color);border-color:color-mix(in srgb, var(--accent-color) 28%, transparent);background:color-mix(in srgb, var(--accent-color) 8%, transparent)}.ai-settings-fields{flex-direction:column;gap:.65rem;display:flex}.ai-settings-field{flex-direction:column;gap:.3rem;display:flex}.ai-settings-label-row{color:var(--text-secondary);justify-content:space-between;align-items:flex-start;gap:.75rem;font-size:.68rem;display:flex}.ai-settings-label-row strong,.ai-settings-label-row em,.ai-settings-label-row>span:last-child{display:block}.ai-settings-label-row strong{color:var(--text-secondary);font-size:.7rem}.ai-settings-label-row em{color:var(--text-tertiary);margin-top:.08rem;font-size:.62rem;font-style:normal;line-height:1.35}.ai-settings-label-row>span:last-child{color:var(--text-tertiary);flex-shrink:0;font-size:.62rem;line-height:1.2}.ai-settings-input{resize:vertical;border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:6px;min-height:58px;padding:.5rem .6rem;font-family:inherit;font-size:.75rem;line-height:1.5}.ai-settings-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-color) 16%, transparent);outline:none}.ai-settings-input::placeholder{color:var(--text-tertiary);font-size:.7rem}.ai-settings-footer{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:.5rem;padding-top:.65rem;display:flex}.ai-settings-dirty-note{color:var(--text-tertiary);margin-right:auto;font-size:.66rem}.ai-settings-dirty-note.is-dirty{color:var(--accent-color);font-weight:600}.ai-settings-cancel-btn,.ai-settings-save-btn{cursor:pointer;white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:.28rem;height:1.8rem;padding:0 .75rem;font-family:inherit;font-size:.72rem;font-weight:600;display:inline-flex}.ai-settings-cancel-btn{color:var(--text-secondary);border:1px solid var(--border-color);background:0 0}.ai-settings-cancel-btn:hover{background:var(--bg-tertiary)}.ai-settings-save-btn{color:#fff;background:var(--accent-color);border:1px solid var(--accent-color)}.ai-settings-save-btn:hover{filter:brightness(1.1)}.ai-settings-save-btn:disabled{cursor:default;opacity:.45;filter:none}.chat-messages{flex-direction:column;flex-grow:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.chat-welcome{text-align:center;flex-direction:column;flex-grow:1;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.chat-message{gap:.6rem;animation:.25s ease-out chatFadeIn;display:flex}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-message-user{flex-direction:row-reverse}.chat-message-avatar{background:var(--bg-tertiary);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-message-user .chat-message-avatar{background:var(--accent-light);color:var(--accent-color)}.chat-message-content{border-radius:12px;max-width:85%;padding:.6rem .85rem;font-size:.8rem;line-height:1.6}.chat-message-content p{white-space:pre-wrap;margin:0}.chat-message-assistant .chat-message-content{background:var(--bg-tertiary);color:var(--text-primary);border-top-left-radius:4px;position:relative}.chat-message-user .chat-message-content{background:var(--accent-color);color:#fff;border-top-right-radius:4px;max-width:100%}.chat-message-content-editable{cursor:pointer;transition:box-shadow .15s,filter .15s}.chat-message-content-editable:hover{filter:brightness(1.06);box-shadow:inset 0 0 0 1px #ffffff59}.chat-message{content-visibility:auto;contain-intrinsic-size:auto 80px}.chat-load-more-area{justify-content:center;padding:.25rem 0 .5rem;display:flex}.chat-load-more-btn{appearance:none;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-tertiary);cursor:pointer;border-radius:16px;padding:.3rem 1rem;font-size:.72rem;transition:all .2s}.chat-load-more-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--accent-color);border-color:var(--accent-color)}.chat-load-more-btn:disabled{opacity:.5;cursor:default}.chat-message-content-wrapper{max-width:85%;position:relative}.user-action-bar-wrap{opacity:0;align-items:center;transition:opacity .15s;display:flex;position:absolute;top:50%;left:-2rem;transform:translateY(-50%)}.chat-message-user:hover .user-action-bar-wrap{opacity:1}.user-action-bar{display:flex}.user-action-edit-btn{appearance:none;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-tertiary);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;width:24px;height:24px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.user-action-edit-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-tertiary)}.edit-composer-message{width:100%}.edit-composer-content{border:1px solid var(--border-color);flex:1;background:var(--bg-secondary)!important;max-width:100%!important;color:var(--text-primary)!important;border-radius:12px!important}.edit-composer-root{flex-direction:column;gap:.5rem;display:flex}.edit-composer-input{resize:none;border:1px solid var(--border-color);width:100%;min-height:3rem;color:var(--text-primary);background:var(--bg-primary);border-radius:8px;outline:none;padding:.55rem .7rem;font-family:inherit;font-size:.84rem;line-height:1.5}.edit-composer-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-color) 16%, transparent)}.edit-composer-actions{justify-content:flex-end;gap:.4rem;display:flex}.edit-composer-cancel,.edit-composer-send{appearance:none;cursor:pointer;border:none;border-radius:999px;padding:.35rem .85rem;font-size:.76rem;font-weight:500;transition:background .15s}.edit-composer-cancel{background:var(--bg-hover,#0000000f);color:var(--text-secondary)}.edit-composer-cancel:hover{background:var(--bg-tertiary);color:var(--text-primary)}.edit-composer-send{background:var(--accent-color);color:#fff}.edit-composer-send:hover{filter:brightness(1.1)}.chat-typing{align-items:center;gap:.3rem;display:flex;padding:.75rem 1rem!important}.chat-typing-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both typingBounce}.chat-typing-dot:first-child{animation-delay:0s}.chat-typing-dot:nth-child(2){animation-delay:.16s}.chat-typing-dot:nth-child(3){animation-delay:.32s}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.chat-input-area{border-top:1px solid var(--border-color);flex-shrink:0;padding:.75rem}.chat-readonly-hint{text-align:center;color:var(--text-tertiary);background:var(--bg-tertiary);border:1px dashed var(--border-color);border-radius:10px;padding:.9rem 1rem;font-size:.78rem;line-height:1.5}.chat-input-wrapper{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;align-items:flex-end;gap:.5rem;padding:.5rem .5rem .5rem .75rem;transition:border-color .2s;display:flex}.chat-input-wrapper:focus-within{border-color:var(--accent-color)}.chat-input{color:var(--text-primary);font-size:.8rem;font-family:var(--font-sans);resize:none;background:0 0;border:none;outline:none;flex-grow:1;min-height:22px;max-height:100px;line-height:1.5}.chat-input::placeholder{color:var(--text-muted)}.chat-send-btn{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:all .2s;display:flex}.chat-send-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn.is-hidden{display:none}.chat-input-hint{color:var(--text-muted);text-align:right;margin-top:.35rem;padding-right:.25rem;font-size:.65rem}[data-theme=green] .app-header,[data-theme=green] .prose-editor-toolbar,[data-theme=green] .global-chat-panel,[data-theme=green] .chat-panel,[data-theme=green] .writing-sidebar{background:#fffefbeb}[data-theme=green] .writing-editor,[data-theme=green] .prose-editor-area,[data-theme=green] .prose-editor-empty{background:#faf9f5}[data-theme=green] .chat-message-assistant .chat-message-content{background:#f7f5ee;box-shadow:inset 0 0 0 1px #1c282309}[data-theme=green] .chat-input-wrapper{background:#fffefb;border-color:#1264563d;box-shadow:0 8px 24px #232d280f}[data-theme=green] .chat-message-avatar{background:#eef1ec}[data-theme=green] .chapter-sidebar-item.active{background:#12645616}[data-theme=green] .prose-chapter-select,[data-theme=green] .chapter-sidebar-count,[data-theme=green] .chat-load-more-btn,[data-theme=green] .chat-header-mock-btn{background:#f1f3ee}.btn-sm{padding:.2rem .4rem;font-size:.72rem}:root{--text-tertiary:#5e616c}[data-theme=classic]{--text-tertiary:#9ca3af}[data-theme=green]{--text-tertiary:#8e928a}.chat-cursor-blink{color:var(--accent-color);margin-left:1px;font-size:.85em;animation:1s step-end infinite cursorBlink;display:inline-block}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.chat-streaming-indicator{background:var(--accent-color);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite streamPulse;display:inline-block}.chat-header-mock-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-muted);cursor:pointer;transition:all .18s var(--ease-out-expo);border-radius:6px;padding:.2rem .45rem;font-size:.65rem;font-weight:600}.chat-header-mock-btn:hover{color:var(--accent-color);border-color:var(--accent-light-border);background:var(--accent-light)}@keyframes streamPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.chat-stop-btn{position:relative;background:var(--danger-color,#ef4444)!important}.chat-stop-btn:hover{background:#dc2626!important}.chat-stop-btn:active{transform:scale(.94)}.chat-stop-btn.is-stopping{opacity:.62;cursor:wait;animation:.8s ease-in-out infinite stopButtonPulse}@keyframes stopButtonPulse{50%{opacity:.38}}.chat-message-content p{margin:.15rem 0}.chat-message-content strong{color:var(--text-primary);font-weight:600}.assistant-chat-panel{min-height:0}.assistant-thread-root{flex-direction:column;flex:1;min-height:0;display:flex}.assistant-thread-viewport{min-height:0}.assistant-ui-message{width:100%}.assistant-ui-message-root{display:contents}.assistant-ui-message.chat-message-user,.assistant-ui-message.chat-message-assistant{justify-content:flex-start}.assistant-ui-message-content [data-part=text],.assistant-ui-message-content p{white-space:pre-wrap}.assistant-markdown{color:var(--text-primary);max-width:100%;font-size:.84rem;line-height:1.65;overflow-x:auto}.assistant-markdown p{margin:.35rem 0}.assistant-markdown p:first-child{margin-top:0}.assistant-markdown p:last-child{margin-bottom:0}.assistant-markdown ul,.assistant-markdown ol{margin:.45rem 0;padding-left:1.2rem}.assistant-markdown li{margin:.18rem 0}.assistant-markdown table{border-collapse:separate;border-spacing:0;table-layout:fixed;border:1px solid var(--border-color);background:var(--bg-primary);border-radius:8px;width:100%;min-width:min(560px,100%);margin:.55rem 0;font-size:.78rem;line-height:1.55;overflow:hidden}.assistant-markdown th,.assistant-markdown td{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);vertical-align:top;text-align:left;white-space:normal;word-break:break-word;overflow-wrap:anywhere;padding:.5rem .6rem}.assistant-markdown th{color:var(--text-primary);background:var(--bg-secondary);font-weight:650}.assistant-markdown td{color:var(--text-secondary)}.assistant-markdown tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--bg-secondary) 54%, transparent)}.assistant-markdown tbody tr:hover td{background:color-mix(in srgb, var(--accent-color) 7%, var(--bg-primary))}.assistant-markdown th:first-child,.assistant-markdown td:first-child{width:7.2em;color:var(--text-primary);font-weight:650}.assistant-markdown th:nth-child(2),.assistant-markdown td:nth-child(2){width:7em}.assistant-markdown th:last-child,.assistant-markdown td:last-child{border-right:0}.assistant-markdown tr:last-child td{border-bottom:0}.assistant-markdown code{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:4px;padding:.04rem .24rem;font-size:.78rem}.assistant-markdown pre{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;max-width:100%;padding:.65rem;font-size:.78rem;overflow:auto}.assistant-markdown pre code{background:0 0;border:0;padding:0}.assistant-tool-sequence{flex-direction:column;gap:.35rem;margin:.35rem 0;display:flex}.scroll-progress-box{min-height:0;position:relative;overflow:hidden}.scroll-progress-content{height:100%;overflow:auto}.scroll-progress-track{z-index:5;background:color-mix(in srgb, var(--border-color) 62%, transparent);pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0}.scroll-progress-fill{transform-origin:0;background:color-mix(in srgb, var(--accent-color) 72%, transparent);width:100%;height:100%}.scroll-marker-track{z-index:6;pointer-events:none;width:8px;position:absolute;top:8px;bottom:8px;right:4px}.scroll-marker-track:before{content:"";background:color-mix(in srgb, var(--border-color) 72%, transparent);border-radius:999px;width:1px;position:absolute;top:0;bottom:0;right:3px}.scroll-marker{appearance:none;background:var(--accent-color);cursor:pointer;pointer-events:auto;border:0;border-radius:999px;width:6px;height:3px;margin:0;padding:0;position:absolute;right:1px;transform:translateY(-50%)}.scroll-marker-thumb{background:color-mix(in srgb, var(--accent-color) 86%, transparent);width:12px;height:2px;box-shadow:0 0 0 2px color-mix(in srgb, var(--bg-primary) 86%, transparent);border-radius:999px;position:absolute;right:-2px;transform:translateY(-50%)}.scroll-marker:before{content:"";position:absolute;inset:-5px -3px}.scroll-marker.is-before{background:#ef444480}.scroll-marker.is-after{background:#22c55e8f}.scroll-marker:hover{width:12px}.todo-tool-card{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 78%, transparent);border-radius:8px;margin:.35rem 0;padding:.55rem .65rem}.todo-tool-card.is-running{border-color:var(--accent-light-border);background:color-mix(in srgb, var(--accent-light) 44%, var(--bg-primary))}.todo-tool-card.is-snapshot{background:color-mix(in srgb, var(--bg-secondary) 62%, transparent)}.todo-tool-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.todo-tool-title{min-width:0;color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;display:inline-flex}.todo-tool-title svg{color:var(--accent-color);flex:none}.todo-tool-summary{color:var(--text-tertiary);flex:none;font-size:.72rem}.todo-tool-list{flex-direction:column;gap:.34rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.todo-tool-item{color:var(--text-secondary);grid-template-columns:16px minmax(0,1fr) auto;align-items:start;gap:.45rem;font-size:.78rem;line-height:1.45;display:grid}.todo-tool-status-icon{height:1.1rem;color:var(--text-tertiary);justify-content:center;align-items:center;display:inline-flex}.todo-tool-item.is-in-progress .todo-tool-status-icon,.todo-tool-item.is-in-progress .todo-tool-status-label{color:var(--accent-color)}.todo-tool-card.is-snapshot .todo-tool-item.is-in-progress .todo-tool-status-icon,.todo-tool-card.is-snapshot .todo-tool-item.is-in-progress .todo-tool-status-label,.todo-tool-item.is-completed{color:var(--text-tertiary)}.todo-tool-item.is-completed .todo-tool-item-title{text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--text-tertiary) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--text-tertiary) 50%, transparent)}.todo-tool-item.is-completed .todo-tool-status-icon,.todo-tool-item.is-completed .todo-tool-status-label{color:var(--color-success)}.todo-tool-item-title{overflow-wrap:anywhere;min-width:0}.todo-tool-status-label{color:var(--text-tertiary);white-space:nowrap;font-size:.68rem}.todo-tool-empty{color:var(--text-tertiary);margin-top:.45rem;font-size:.74rem}.assistant-reasoning{color:var(--text-tertiary);margin:.35rem 0;font-size:.78rem}.assistant-reasoning-trigger{appearance:none;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:.35rem;padding:.15rem 0;display:inline-flex}.assistant-reasoning-trigger:hover{color:var(--text-secondary)}.assistant-reasoning.is-running .assistant-reasoning-trigger svg{color:var(--accent-color);animation:.9s linear infinite chat-spin}.assistant-reasoning-content{border-left:1px solid var(--border-color);margin-top:.3rem;padding-left:.75rem}.assistant-reasoning-part{color:var(--text-tertiary);margin:.3rem 0 .45rem;font-size:.78rem}.assistant-reasoning-part-label{align-items:center;gap:.3rem;margin-bottom:.2rem;display:inline-flex}.assistant-reasoning-part .assistant-markdown{border-left:1px solid var(--border-color);padding-left:.75rem}.assistant-stream-indicator{color:var(--accent-color);animation:1s ease-in-out infinite assistant-pulse;display:inline-block}.assistant-message-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:.45rem;padding:.5rem .65rem;font-size:.78rem}.agent-run-change-summary{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 72%, transparent);border-radius:10px;margin-top:.65rem;padding:.55rem .65rem}.agent-run-change-title{color:var(--text-secondary);align-items:center;gap:.35rem;margin-bottom:.45rem;font-size:.74rem;font-weight:650;display:inline-flex}.agent-run-change-title svg{color:var(--accent-color)}.agent-run-change-list{flex-wrap:wrap;gap:.35rem;display:flex}.agent-run-change-chip{appearance:none;border:1px solid var(--border-color);background:var(--bg-primary);max-width:100%;color:var(--text-primary);cursor:pointer;border-radius:999px;align-items:center;gap:.32rem;padding:.18rem .48rem;font-size:.73rem;line-height:1.35;display:inline-flex}.agent-run-change-chip:hover{border-color:var(--accent-color);color:var(--accent-color)}.agent-run-change-version{color:var(--text-tertiary);font-size:.68rem}.agent-run-diff-backdrop{z-index:1000;background:#0f172a57;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.agent-run-diff-modal{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:16px;width:min(980px,96vw);max-height:min(760px,88vh);overflow:hidden;box-shadow:0 24px 80px #0f172a38}.agent-run-diff-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:start;gap:1rem;padding:.9rem 1rem;display:flex}.agent-run-diff-eyebrow{color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem}.agent-run-diff-header h3{color:var(--text-primary);margin:.14rem 0 0;font-size:.96rem}.agent-run-diff-close{appearance:none;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.28rem .7rem;font-size:.74rem}.agent-run-diff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-height:calc(min(760px,88vh) - 74px);padding:.9rem;display:grid;overflow:auto}.agent-run-diff-grid.has-current{grid-template-columns:repeat(3,minmax(0,1fr))}.agent-run-diff-pane{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px;min-width:0;overflow:hidden}.agent-run-diff-pane.before{border-color:#fecaca}.agent-run-diff-pane.after{border-color:#bbf7d0}.agent-run-diff-pane.current{border-color:var(--accent-light-border)}.agent-run-diff-pane-title{border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:.42rem .58rem;font-size:.72rem;font-weight:650}.agent-run-diff-pane pre{white-space:pre-wrap;word-break:break-word;max-height:520px;color:var(--text-primary);margin:0;padding:.65rem;font-family:inherit;font-size:.78rem;line-height:1.72;overflow:auto}.markdown-prose-preview{color:var(--text-primary);font-family:Noto Serif SC,Source Han Serif CN,Georgia,Times New Roman,serif;font-size:.86rem;line-height:1.88}.markdown-prose-preview p{margin:0 0 .78rem}.markdown-prose-preview p:last-child{margin-bottom:0}.markdown-prose-preview h1,.markdown-prose-preview h2,.markdown-prose-preview h3,.markdown-prose-preview h4,.markdown-prose-preview h5,.markdown-prose-preview h6{color:var(--text-primary);margin:.2rem 0 .75rem;font-family:inherit;font-size:.95rem;font-weight:700;line-height:1.55}.markdown-prose-preview ul,.markdown-prose-preview ol{margin:.45rem 0 .78rem;padding-left:1.25rem}.markdown-prose-preview blockquote{border-left:3px solid var(--border-color);color:var(--text-secondary);margin:.5rem 0 .78rem;padding-left:.75rem}.markdown-prose-preview code{font-family:inherit;font-size:.84rem}.agent-run-diff-prose{padding:.85rem 1.25rem .85rem .9rem}.agent-run-diff-prose-box{height:min(520px,88vh - 180px)}.agent-run-diff-grid.history-diff-grid>.agent-run-diff-pane{flex-direction:column;min-height:0;display:flex}.agent-run-diff-grid.history-diff-grid>.agent-run-diff-pane>.agent-run-diff-prose-box{flex:1 1 0;height:auto;min-height:0;max-height:none}.agent-run-diff-marker-track{top:12px;bottom:12px;right:5px}.agent-run-diff-highlighted{white-space:pre-wrap;word-break:break-word}.agent-run-diff-mark{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;padding:.02rem .04rem}.agent-run-diff-mark.is-before{color:var(--text-primary);background:#ef44441f;-webkit-text-decoration:line-through #b91c1c94;text-decoration:line-through #b91c1c94}.agent-run-diff-mark.is-after{color:var(--text-primary);background:#22c55e2e}.agent-run-diff-empty-text{color:var(--text-tertiary)}.history-prose-preview{margin-top:.65rem;font-size:.92rem;line-height:1.82}.history-scroll-box{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;height:100%}.history-scroll-content{padding:1rem}.editor-diff-scroll-box{flex:1;min-height:0}.editor-diff-prose-pane{color:var(--text-primary);white-space:pre-wrap;padding:1.25rem;font-family:Noto Serif SC,Source Han Serif CN,Georgia,Times New Roman,serif;font-size:15.5px;line-height:1.9}.prose-editor-progress-shell>.scroll-progress-track,.prose-modal-body>.scroll-progress-track{top:0}.user-action-rollback-btn{color:var(--text-tertiary)}.user-action-rollback-btn:hover{color:#dc2626}.user-action-rollback-btn:disabled{opacity:.5;cursor:not-allowed}.card-diff-modal .agent-run-diff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-diff-modal .agent-run-diff-grid.has-current{grid-template-columns:repeat(3,minmax(0,1fr))}.card-diff-fields{flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.card-diff-field{flex-direction:column;gap:.2rem;display:flex}.card-diff-field-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:650}.card-diff-field-value{color:var(--text-primary);font-size:.8rem;line-height:1.55}.card-diff-field-desc{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:280px;font-size:.76rem;line-height:1.6;overflow:auto}.card-diff-empty{color:var(--text-tertiary);text-align:center;padding:1.5rem .75rem;font-size:.78rem}.card-diff-changes{flex-direction:column;gap:.85rem;padding:.75rem;display:flex}.card-diff-change-item{flex-direction:column;gap:.2rem;display:flex}.card-diff-change-item.changed .card-diff-field-label{color:#f59e0b}.card-diff-change-rows{flex-direction:column;gap:.1rem;display:flex}.card-diff-change-old{color:#dc2626;font-size:.76rem;-webkit-text-decoration:line-through #dc262659;text-decoration:line-through #dc262659}.card-diff-change-new{color:#16a34a;font-size:.76rem}.card-diff-no-change{color:var(--text-tertiary);font-size:.74rem;font-style:italic}.agent-run-change-chip-card{border-style:dashed}.risk-confirm-backdrop{z-index:1100;background:#0f172a66;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.risk-confirm-modal{border:1px solid var(--border-color);background:var(--bg-primary);text-align:center;border-radius:14px;width:min(420px,100%);padding:1.25rem;box-shadow:0 24px 80px #0f172a47}.risk-confirm-icon{color:#dc2626;background:#dc26261f;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto .6rem;display:flex}.risk-confirm-title{color:var(--text-primary);margin:0 0 .5rem;font-size:.94rem;font-weight:650}.risk-confirm-desc{color:var(--text-secondary);margin:0 0 1.1rem;font-size:.8rem;line-height:1.6}.risk-confirm-actions{justify-content:center;gap:.5rem;display:flex}.risk-confirm-btn{appearance:none;cursor:pointer;border:1px solid var(--border-color);border-radius:8px;flex:1;padding:.5rem .8rem;font-size:.8rem;font-weight:550;transition:background .15s,border-color .15s,color .15s}.risk-confirm-btn-cancel{background:var(--bg-secondary);color:var(--text-secondary)}.risk-confirm-btn-cancel:hover{background:var(--bg-tertiary);color:var(--text-primary)}.risk-confirm-btn-danger{color:#fff;background:#dc2626;border-color:#dc2626}.risk-confirm-btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.assistant-action-bar{color:var(--text-tertiary);opacity:0;z-index:1;gap:.25rem;transition:opacity .15s;display:flex;position:absolute;top:.35rem;right:.35rem}.chat-message-assistant:hover .assistant-action-bar{opacity:1}.assistant-action-btn{appearance:none;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.assistant-action-btn:hover{border-color:var(--border-color);background:var(--bg-secondary);color:var(--text-secondary)}.character-template-menu{z-index:9999;border:1px solid var(--border-color);background:var(--bg-primary);border-radius:8px;width:360px;max-width:calc(100vw - 48px);padding:.65rem;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 14px 36px #00000029}.character-template-head{border-bottom:1px solid var(--border-color);align-items:flex-start;gap:.55rem;padding:.2rem .2rem .65rem;display:flex}.character-template-head-icon{width:1.75rem;height:1.75rem;color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 10%, transparent);border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.character-template-head strong{color:var(--text-primary);font-size:.82rem;line-height:1.3;display:block}.character-template-head span{color:var(--text-tertiary);margin-top:.12rem;font-size:.68rem;line-height:1.35;display:block}.character-template-option{appearance:none;border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:7px;grid-template-columns:1.75rem minmax(0,1fr);align-items:start;gap:.55rem;margin-top:.45rem;padding:.62rem;font-family:inherit;display:grid}.character-template-option:hover{border-color:color-mix(in srgb, var(--accent-color) 34%, var(--border-color));background:color-mix(in srgb, var(--accent-color) 7%, var(--bg-secondary))}.character-template-option-icon{width:1.75rem;height:1.75rem;color:var(--accent-color);background:var(--bg-primary);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.character-template-option-main{flex-direction:column;gap:.28rem;min-width:0;display:flex}.character-template-option-title{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.character-template-option-title strong{color:var(--text-primary);font-size:.78rem;line-height:1.25}.character-template-option-title em{background:var(--bg-primary);color:var(--text-tertiary);border-radius:999px;flex-shrink:0;padding:.08rem .38rem;font-size:.62rem;font-style:normal;font-weight:700}.character-template-option-desc{color:var(--text-secondary);font-size:.7rem;line-height:1.45}.character-template-foot{color:var(--text-tertiary);margin-top:.55rem;padding:.2rem .25rem 0;font-size:.66rem;line-height:1.4}.chat-run-step{min-height:1.55rem;color:var(--text-tertiary);grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:.45rem;display:grid;position:relative}.chat-run-step-icon{z-index:1;width:18px;height:18px;color:var(--text-tertiary);background:var(--bg-secondary);justify-content:center;align-items:center;display:inline-flex;position:relative}.chat-run-step-main{flex-wrap:wrap;align-items:baseline;gap:.35rem;min-width:0;line-height:1.45;display:flex}.chat-run-step-label{color:var(--text-secondary)}.chat-run-step-detail{color:var(--text-tertiary)}.chat-run-step-status{width:16px;height:16px;color:var(--success-color);justify-content:center;align-items:center;display:inline-flex}.chat-run-step-running .chat-run-step-status,.chat-run-step-running .chat-run-step-icon{color:var(--accent-color)}.chat-run-step-failed .chat-run-step-status,.chat-run-step-failed .chat-run-step-label{color:#ef4444}.chat-run-step-spinner{animation:.9s linear infinite chat-spin}@keyframes chat-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes assistant-pulse{0%,to{opacity:.35}50%{opacity:1}}.tlk-row{align-items:center;gap:.45rem;width:100%;padding:.2rem 0;font-size:.78rem;display:flex}.tlk-running{color:var(--accent-color,#126456)}.tlk-done{color:var(--text-secondary,#6b7280)}.tlk-error{color:#ef4444}.tlk-icon{flex-shrink:0;align-items:center;width:13px;height:13px;display:inline-flex}.tlk-icon-spin{animation:.9s linear infinite chat-spin}.tlk-label{text-overflow:ellipsis;white-space:nowrap;line-height:1.4;overflow:hidden}.tlk-detail{color:var(--text-tertiary,#9ca3af);text-overflow:ellipsis;white-space:nowrap;margin-left:.25rem;overflow:hidden}.assistant-composer{align-items:flex-end;gap:.45rem;display:flex}.assistant-composer-input{resize:none;border:none;outline:none}.assistant-dropzone{flex:1;min-width:0}.assistant-dropzone-content{flex-direction:column;gap:.35rem;width:100%;display:flex}.assistant-dropzone[data-dragging=true] .assistant-dropzone-content{outline:1px dashed var(--accent-color);outline-offset:4px;border-radius:8px}.assistant-dropzone-hint{color:var(--accent-color);align-items:center;gap:.35rem;font-size:.72rem;display:none}.assistant-dropzone[data-dragging=true] .assistant-dropzone-hint{display:inline-flex}.assistant-composer-row{align-items:flex-end;gap:.35rem;display:flex}.assistant-composer-row.no-attachments{flex:1;min-width:0}.assistant-composer-row.no-attachments .assistant-composer-input{min-width:0}.assistant-attach-btn,.assistant-attachment-remove,.assistant-action-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none}.assistant-attach-btn{border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:.1rem;display:inline-flex}.assistant-attach-btn:hover,.assistant-attachment-remove:hover{background:var(--bg-hover,#0000000f);color:var(--text-primary)}.assistant-composer-attachments,.assistant-user-attachments{flex-wrap:wrap;gap:.4rem;display:flex}.assistant-attachment{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:7px;align-items:center;gap:.4rem;max-width:180px;padding:.28rem .45rem;font-size:.72rem;display:inline-flex;position:relative}.assistant-attachment.is-error{border-color:#ef4444}.assistant-attachment-thumb{background:var(--bg-primary);width:22px;height:22px;color:var(--text-tertiary);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.assistant-attachment-image{object-fit:cover;width:100%;height:100%}.assistant-attachment-loading{background:#ffffff8c;position:absolute;inset:0}.assistant-attachment-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assistant-attachment-remove{border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.assistant-message-image{border:1px solid var(--border-color);border-radius:8px;max-width:220px;max-height:160px}.assistant-followups{flex-wrap:wrap;gap:.4rem;margin-bottom:.55rem;display:flex}.assistant-suggestion-chip{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.32rem .62rem;font-size:.72rem}.assistant-suggestion-chip:hover{border-color:var(--accent-color);color:var(--accent-color)}.assistant-suggestion-description{display:none}.assistant-tool-group{margin:.25rem 0}.assistant-tool-group-trigger,.assistant-tool-fallback-trigger{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.15rem 0;font-size:.76rem;display:flex}.assistant-tool-group.is-running .assistant-tool-group-trigger,.assistant-tool-fallback.is-running .assistant-tool-fallback-trigger{color:var(--accent-color)}.assistant-tool-group-content{border-left:1px solid var(--border-color);margin-left:1.05rem;padding-left:.65rem}.assistant-tool-fallback{flex-direction:column;margin:.15rem 0;display:flex}.assistant-tool-fallback.is-done .assistant-tool-fallback-trigger,.assistant-tool-fallback.is-error .assistant-tool-fallback-trigger,.assistant-tool-fallback-title{color:var(--text-secondary)}.assistant-tool-fallback-meta{color:var(--text-tertiary)}.assistant-tool-fallback-body{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:7px;margin:.35rem 0 .45rem 1.05rem;padding:.55rem}.assistant-tool-fallback-section+.assistant-tool-fallback-section{margin-top:.55rem}.assistant-tool-fallback-label{color:var(--text-tertiary);margin-bottom:.25rem;font-size:.68rem}.assistant-tool-fallback pre{white-space:pre-wrap;max-height:180px;margin:0;font-size:.68rem;line-height:1.45;overflow:auto}.prose-cell{background:color-mix(in srgb, var(--accent-color) 2%, transparent)!important}.prose-card{border:1px solid var(--accent-light-border);background:color-mix(in srgb, var(--accent-color) 4%, transparent);cursor:pointer;border-radius:8px;flex-direction:column;gap:.3rem;width:100%;padding:.5rem .6rem;transition:all .2s;display:flex;overflow:hidden}.prose-card:hover{border-color:color-mix(in srgb, var(--accent-color) 40%, transparent);background:var(--accent-light);box-shadow:0 2px 8px color-mix(in srgb, var(--accent-color) 10%, transparent);transform:translateY(-1px)}.prose-card-empty{border-style:dashed;justify-content:center;align-items:center;min-height:60px}.prose-card-empty:hover{border-style:solid}.prose-card-header{justify-content:space-between;align-items:center;display:flex}.prose-card-badge{font-size:.62rem;font-family:var(--font-mono);color:var(--accent-color);background:var(--accent-light);border-radius:6px;padding:.05rem .35rem}.prose-card-preview{color:var(--text-secondary);text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-family:Noto Serif SC,Georgia,serif;font-size:.72rem;line-height:1.45;display:-webkit-box;overflow:hidden}.prose-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.prose-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;flex-direction:column;width:90%;max-width:720px;height:min(720px,85vh);max-height:85vh;animation:.2s ease-out slideUp;display:flex;overflow:hidden;box-shadow:0 24px 48px #00000040}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.prose-modal-header{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.prose-modal-body{flex-grow:1;min-height:0;padding:0;position:relative;overflow:hidden}.prose-modal-body>.scroll-progress-track{z-index:8;top:0}.prose-modal-body>.scroll-progress-track .scroll-progress-fill{background:color-mix(in srgb, var(--accent-color) 76%, transparent)}.prose-modal-editor{height:100%;min-height:200px}.prose-modal-editor .cm-editor{background:0 0;height:100%;min-height:0}.prose-modal-editor .cm-scroller{min-height:0;overflow:auto}.prose-modal-textarea{width:100%;min-height:300px;color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;font-family:Noto Serif SC,Georgia,serif;font-size:.92rem;line-height:1.85}.prose-modal-textarea::placeholder{color:var(--text-muted)}.prose-modal-empty{flex-direction:column;justify-content:center;align-items:center;min-height:250px;display:flex}.prose-modal-footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.auth-gate-loading{background:var(--bg-primary);min-height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:.85rem;display:flex}.auth-loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.lp{min-height:100dvh;color:var(--text-primary);background:#f4f1ea;flex-direction:column;display:flex;position:relative;overflow-x:hidden}.lp-bg{z-index:0;pointer-events:none;background:linear-gradient(#12141609 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#12141608 1px,#0000 1px) 0 0/28px 28px,radial-gradient(42% 28% at 82% 0,#20806e29,#0000 68%),radial-gradient(36% 24% at 4% 24%,#5d44301c,#0000 72%);position:fixed;inset:0}.lp:after{content:"";z-index:0;pointer-events:none;opacity:.28;background-image:radial-gradient(circle at 10% 20%,#0000002e 0 1px,#0000 1px),radial-gradient(circle at 80% 70%,#0000001f 0 1px,#0000 1px);background-size:36px 36px,52px 52px;position:fixed;inset:0}.lp-nav{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-color);width:min(1080px,100% - 2rem);transition:border-color var(--transition-fast);background:#faf8f2d1;border-radius:14px;justify-content:space-between;align-items:center;margin:1rem auto 0;padding:.55rem .6rem .55rem 1rem;display:flex;position:sticky;top:0;box-shadow:0 14px 42px #2d261c1f}.lp-nav-brand{align-items:center;gap:.6rem;display:flex}.lp-nav-logo{width:54px;height:34px;box-shadow:none;background:0 0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.lp-nav-logo .brand-logo-mark{height:1.65rem}.lp-nav-name{letter-spacing:0;font-size:.95rem;font-weight:750}.lp-nav-tag{color:var(--text-muted);border-left:1px solid var(--border-color);padding-left:.6rem;font-size:.72rem}.lp-nav-login{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);border-radius:10px;padding:.45rem 1.15rem;font-size:.82rem;font-weight:600}.lp-nav-login:hover{border-color:var(--accent-color);background:var(--accent-light);transform:translateY(-1px)}.lp-nav-login:active{transform:scale(.98)}.lp-nav-actions{align-items:center;gap:.55rem;display:flex}.lp-theme-toggle{border:1px solid var(--border-color);background:var(--bg-tertiary);width:34px;height:34px;color:var(--text-primary);cursor:pointer;transition:transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);border-radius:10px;justify-content:center;align-items:center;display:flex}.lp-theme-toggle:hover{border-color:var(--accent-color);background:var(--accent-light);color:var(--accent-color);transform:translateY(-1px)}.lp-theme-toggle:active{transform:scale(.96)}.lp-main{z-index:1;flex:1;width:min(1120px,100%);margin:0 auto;padding:0 1.5rem;position:relative}.lp-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.86fr);align-items:center;gap:3rem;min-height:calc(100dvh - 96px);padding:2.8rem 0 4rem;display:grid}@media (width<=860px){.lp-hero{grid-template-columns:1fr;gap:2.5rem;padding:2.5rem 0 2rem}}.lp-hero-left{flex-direction:column;align-items:flex-start;gap:0;display:flex}.lp-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:#126456;background:#12645614;border:1px solid #1264562e;border-radius:6px;align-items:center;gap:.4rem;margin-bottom:1.15rem;padding:.35rem .85rem;font-size:.7rem;font-weight:600;display:inline-flex}.lp-brand-kicker{color:#126456;margin:0 0 .45rem;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:650}.lp-hero-title{letter-spacing:0;color:#151719;text-wrap:balance;margin:0;font-size:clamp(2.45rem,5.35vw,4.86rem);font-weight:800;line-height:1}.lp-hero-title span{color:#126456}.lp-hero-sub{color:#5d625c;text-wrap:pretty;max-width:36rem;margin:1.05rem 0 0;font-size:.98rem;line-height:1.72}.lp-hero-cta{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.55rem;display:flex}.lp-link-ghost{color:#126456;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:10px;align-items:center;gap:.45rem;padding:.6rem .85rem;font-size:.88rem;font-weight:600;display:inline-flex}.lp-link-ghost:hover{color:#0d5247;background:#12645617}.lp-hero-tags{flex-wrap:wrap;gap:.5rem;margin-top:1.35rem;display:flex}.lp-hero-tags span{color:var(--text-secondary);background:#fffcf59e;border:1px solid #191c1e1a;border-radius:8px;align-items:center;gap:.4rem;padding:.38rem .8rem;font-size:.76rem;display:inline-flex}.lp-hero-tags svg{color:#126456;flex-shrink:0}.lp-btn{cursor:pointer;color:#f8f2e8;transition:transform var(--transition-normal), box-shadow var(--transition-normal);background:#121416;border:none;border-radius:12px;align-items:center;gap:.65rem;padding:.8rem .85rem .8rem 1.5rem;font-size:.95rem;font-weight:600;display:inline-flex;box-shadow:0 12px 28px #12141633}.lp-btn:hover{transform:translateY(-2px);box-shadow:0 18px 36px #1214163d}.lp-btn:active{transform:scale(.97)}.lp-btn-icon{width:32px;height:32px;transition:transform var(--transition-fast);background:#ffffff38;border-radius:9px;justify-content:center;align-items:center;display:flex}.lp-btn:hover .lp-btn-icon{transform:translate(2px)}.lp-hero-right{flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.lp-product-shot{color:#f7f2e8;background:#151719;border-radius:18px;width:min(430px,100%);min-height:270px;padding:1rem;position:relative;overflow:hidden;box-shadow:0 30px 70px #231e1847}.lp-product-shot:before{content:"";background-color:#0000;background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.lp-product-shot img{opacity:.52;width:210px;position:absolute;bottom:-64px;right:-42px;transform:rotate(-7deg)}.lp-shot-header,.lp-shot-body{z-index:1;position:relative}.lp-shot-header{color:#f7f2e89e;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;font-size:.75rem;display:flex}.lp-shot-brand{color:#f7f2e8;align-items:center;gap:.4rem;font-weight:650;display:inline-flex}.lp-shot-brand .brand-logo-mark{height:1.15rem}.lp-shot-body{grid-template-columns:104px minmax(0,1fr);gap:.8rem;display:grid}.lp-shot-outline,.lp-shot-editor,.lp-shot-chat{background:#ffffff0e;border:1px solid #ffffff1c;border-radius:10px}.lp-shot-outline{color:#f7f2e894;flex-direction:column;gap:.7rem;min-height:132px;padding:.8rem;font-size:.72rem;display:flex}.lp-shot-outline strong{color:#f7f2e8;font-size:.84rem}.lp-shot-editor{min-height:132px;padding:1rem}.lp-shot-editor div{background:#f7f2e8d1;border-radius:999px;height:8px;margin-bottom:.8rem}.lp-shot-editor div:nth-child(2){background:#f7f2e873;width:78%}.lp-shot-editor div:nth-child(3){background:#126456cc;width:88%}.lp-shot-editor div:nth-child(4){background:#f7f2e857;width:55%}.lp-shot-chat{color:#f7f2e8c7;grid-column:1/-1;align-items:center;gap:.55rem;padding:.75rem .9rem;font-size:.8rem;display:flex}.lp-auth-shell{background:0 0;border:0;border-radius:16px;width:min(400px,100%);padding:0;box-shadow:0 18px 48px #2d261c21}.lp-auth-core{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border-color);background:#fffcf5e6;border-radius:16px;flex-direction:column;gap:1.05rem;padding:1.35rem 1.45rem 1.2rem;display:flex;box-shadow:inset 0 1px 1px #ffffff14}.lp-auth-head h2{letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:700}.lp-auth-head p{color:var(--text-muted);margin:.3rem 0 0;font-size:.8rem}.lp-auth-note{color:var(--text-muted);text-align:center;margin:0;font-size:.72rem}.lp-features{padding:3rem 0 4.5rem}.lp-features-head{text-align:left;margin-bottom:2.6rem}.lp-features-head .lp-eyebrow{margin-bottom:1rem}.lp-features-head h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.65rem,3.6vw,2.6rem);font-weight:700}.lp-features-grid{grid-template-columns:1.2fr .8fr;gap:1.25rem;display:grid}@media (width<=860px){.lp-features-grid{grid-template-columns:1fr}}.lp-feature-card{min-height:210px;box-shadow:none;transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);background:#fffcf5b3;border:1px solid #191c1e14;border-radius:14px;padding:1.7rem 1.5rem}.lp-feature-card:hover{border-color:#1264563d;transform:translateY(-4px);box-shadow:0 18px 44px #2d261c1a}.lp-feature-card-large{background:linear-gradient(#fffcf52e,#fffcf5d1),linear-gradient(90deg,#1264562e 1px,#0000 1px) 0 0/34px 34px,linear-gradient(#12645624 1px,#0000 1px) 0 0/34px 34px;flex-direction:column;grid-row:span 2;justify-content:flex-start;min-height:445px;display:flex}.lp-feature-media{background:#fff;border:1px solid #191c1e14;border-radius:10px;margin-bottom:1.3rem;overflow:hidden;box-shadow:0 12px 30px #2d261c1a}.lp-feature-media img{object-fit:cover;aspect-ratio:16/9;width:100%;height:auto;display:block}.lp-feature-icon{color:#126456;width:44px;height:44px;transition:transform var(--transition-fast);background:#12645617;border-radius:10px;justify-content:center;align-items:center;margin-bottom:1.15rem;display:flex}.lp-feature-card:hover .lp-feature-icon{transform:scale(1.06)}.lp-feature-card h3{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:600}.lp-feature-card p{color:var(--text-secondary);margin:.55rem 0 0;font-size:.86rem;line-height:1.7}.lp-bottom{text-align:center;padding:2.4rem 0 5rem}.lp-bottom h2{letter-spacing:-.02em;margin:0 0 1.8rem;font-size:clamp(1.4rem,2.8vw,1.9rem);font-weight:700}.lp-footer{z-index:1;color:var(--text-muted);border-top:1px solid var(--border-color);justify-content:center;align-items:center;gap:.6rem;padding:1.4rem 1rem;font-size:.74rem;display:flex;position:relative}.lp-footer-dot{opacity:.45}.lp-footer-link{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:color var(--transition-fast);background:0 0;border:none;padding:.15rem .25rem;font-size:.74rem}.lp-footer-link:hover{color:#126456;text-decoration:underline}@keyframes lp-fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.lp-nav,.lp-hero-left>*,.lp-hero-right,.lp-features-head,.lp-feature-card,.lp-bottom,.lp-footer{animation:.85s cubic-bezier(.32,.72,0,1) both lp-fade-up}.lp-hero-left>:first-child{animation-delay:50ms}.lp-hero-left>:nth-child(2){animation-delay:.13s}.lp-hero-left>:nth-child(3){animation-delay:.21s}.lp-hero-left>:nth-child(4){animation-delay:.29s}.lp-hero-left>:nth-child(5){animation-delay:.37s}.lp-hero-right{animation-delay:.2s}.lp-features-head{animation-delay:50ms}.lp-feature-card:first-child{animation-delay:.1s}.lp-feature-card:nth-child(2){animation-delay:.2s}.lp-feature-card:nth-child(3){animation-delay:.3s}.lp-bottom{animation-delay:.1s}.lp-footer{animation-delay:.2s}.auth-form{flex-direction:column;gap:.7rem;display:flex}.auth-input{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-tertiary);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.65rem .85rem;font-size:.9rem}.auth-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #3b82f61a}.auth-input::placeholder{color:var(--text-muted);opacity:.6}.auth-code-input{letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.05rem}.auth-submit{justify-content:center;width:100%;padding:.65rem;font-size:.9rem;font-weight:600}.auth-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-actions{justify-content:center;gap:1.2rem;display:flex}.auth-link{color:var(--accent-color);cursor:pointer;border-radius:var(--radius-xs);transition:color var(--transition-fast);background:0 0;border:none;padding:.15rem .2rem;font-size:.78rem}.auth-link:hover:not(:disabled){color:var(--accent-hover);text-decoration:underline}.auth-link:disabled{opacity:.5;cursor:not-allowed}.auth-note{color:var(--text-secondary);text-align:center;font-size:.8rem}.auth-error{color:var(--danger-color);font-size:.78rem;line-height:1.5}[data-theme=classic] .lp{background:#f8f9fb}[data-theme=classic] .lp-bg{background-color:#0000;background-image:radial-gradient(55% 40% at 12% 0,#3b82f61a,#0000 65%),radial-gradient(40% 35% at 88% 12%,#8b5cf614,#0000 65%),radial-gradient(50% 42% at 50% 108%,#10b9810d,#0000 65%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}[data-theme=classic] .lp:after{opacity:0}[data-theme=classic] .lp-nav{background:#ffffffd1;box-shadow:0 14px 42px #0f172a1a}[data-theme=classic] .lp-btn,[data-theme=classic] .auth-submit{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 12px 28px #3b82f63d}[data-theme=classic] .lp-nav-logo{box-shadow:none;color:inherit;background:0 0}[data-theme=classic] .auth-submit:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 14px 30px #3b82f647}[data-theme=classic] .lp-eyebrow,[data-theme=classic] .lp-feature-icon{color:#3b82f6;background:#3b82f61a;border-color:#3b82f638}[data-theme=classic] .lp-brand-kicker,[data-theme=classic] .lp-hero-title span,[data-theme=classic] .lp-hero-tags svg{color:#3b82f6}[data-theme=classic] .lp-hero-title{color:#18181b}[data-theme=classic] .lp-hero-sub,[data-theme=classic] .lp-feature-card p{color:#52525b}[data-theme=classic] .lp-hero-tags span,[data-theme=classic] .lp-auth-core,[data-theme=classic] .lp-feature-card{background:#ffffffbd}[data-theme=classic] .auth-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}[data-theme=classic] .lp-feature-card-large{background:linear-gradient(#fff3,#ffffffd6),linear-gradient(90deg,#3b82f624 1px,#0000 1px) 0 0/34px 34px,linear-gradient(#3b82f61a 1px,#0000 1px) 0 0/34px 34px}[data-theme=classic] .lp-feature-media{border-color:#3b82f62e;box-shadow:0 12px 30px #3b82f624}.guide-page{background:var(--bg-primary);height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.guide-header{border-bottom:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;height:54px;padding:0 1rem;display:flex}.guide-header-title{align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.guide-header-sub{color:var(--text-tertiary);font-size:.72rem;font-weight:400}.guide-body{flex:1;min-height:0;display:flex}.guide-sidebar{border-right:1px solid var(--border-color);background:var(--bg-secondary);flex-direction:column;flex-shrink:0;gap:2px;width:232px;padding:.9rem .6rem;display:flex;overflow-y:auto}.guide-sidebar-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);padding:.2rem .55rem .5rem;font-size:.7rem;font-weight:700}.guide-toc-item{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.45rem;padding:.42rem .55rem;font-size:.82rem;transition:background .15s,color .15s;display:flex}.guide-toc-item:hover{background:color-mix(in srgb, var(--accent-color) 8%, transparent);color:var(--text-primary)}.guide-toc-item.active{background:color-mix(in srgb, var(--accent-color) 14%, transparent);color:var(--accent-color);font-weight:650}.guide-toc-item svg{opacity:.7;flex-shrink:0}.guide-toc-num{color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.68rem}.guide-toc-item.active .guide-toc-num{color:var(--accent-color)}.guide-content{flex:1;min-width:0;padding:2.2rem clamp(1.2rem,5vw,3.5rem) 3rem;overflow-y:auto}.guide-markdown{max-width:760px;margin:0 auto;font-size:.9rem;line-height:1.75}.guide-markdown h1{border-bottom:1px solid var(--border-color);color:var(--text-primary);margin:0 0 1.2rem;padding-bottom:.6rem;font-size:1.5rem;font-weight:750}.guide-markdown h2{color:var(--text-primary);margin:1.6rem 0 .6rem;font-size:1.12rem;font-weight:700}.guide-markdown h3{color:var(--text-primary);margin:1.3rem 0 .5rem;font-size:.98rem;font-weight:650}.guide-markdown p{margin:.5rem 0}.guide-markdown strong{color:var(--text-primary);font-weight:650}.guide-markdown code{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:5px;padding:.08rem .32rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em}.guide-markdown pre{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin:.8rem 0;padding:.85rem 1rem;overflow-x:auto}.guide-markdown pre code{background:0 0;border:none;padding:0}.guide-markdown blockquote{border-left:3px solid var(--accent-color);background:color-mix(in srgb, var(--accent-color) 6%, transparent);color:var(--text-secondary);border-radius:0 8px 8px 0;margin:.8rem 0;padding:.5rem .9rem}.guide-markdown table{border-collapse:separate;border-spacing:0;border:1px solid var(--border-color);border-radius:8px;width:100%;margin:.8rem 0;font-size:.82rem;line-height:1.6;overflow:hidden}.guide-markdown th,.guide-markdown td{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);vertical-align:top;text-align:left;word-break:break-word;padding:.5rem .7rem}.guide-markdown th{background:var(--bg-secondary);color:var(--text-primary);font-weight:650}.guide-markdown td{color:var(--text-secondary)}.guide-markdown th:last-child,.guide-markdown td:last-child{border-right:0}.guide-markdown tr:last-child td{border-bottom:0}.guide-markdown hr{border:none;border-top:1px solid var(--border-color);margin:1.2rem 0}.guide-markdown img{border:1px solid var(--border-color);border-radius:10px;max-width:100%;margin:1rem auto;display:block;box-shadow:0 2px 10px #00000014}.guide-pager{border-top:1px solid var(--border-color);justify-content:space-between;gap:.75rem;max-width:760px;margin:2.2rem auto 0;padding-top:1.1rem;display:flex}.guide-pager .btn{text-overflow:ellipsis;white-space:nowrap;max-width:48%;font-size:.82rem;overflow:hidden}.guide-pager .btn:disabled{opacity:.4;cursor:not-allowed}@media (width<=720px){.guide-sidebar{width:168px}.guide-content{padding:1.2rem 1rem 2rem}}@keyframes pulse-dot{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}to{opacity:.8;transform:scale(.95)}}.status-dot-pulse{animation:2s ease-in-out infinite pulse-dot}@keyframes sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-spin{animation:1.2s linear infinite sync-spin}
