:root{--coral:#ff6b4a;--coral-dark:#d4502e;--coral-hover:#e85a3a;--navy:#090a49;--sage:#7a9278;--sage-dark:#5c7459;--bg-primary:#fafaf8;--bg-secondary:#f2f0ed;--bg-tertiary:#e8e5e0;--bg-hover:#edeae5;--bg-active:#e0ddd7;--surface-user:#eae6de;--surface-pip:#fff;--surface-tool:#f2f0ed;--text-primary:#1a1a1a;--text-secondary:#6b6b6b;--text-muted:#9b9b9b;--text-on-dark:#fff;--text-accent:#e85a3a;--accent:var(--coral);--accent-soft:rgba(255,107,74,.1);--accent-soft-strong:rgba(255,107,74,.18);--accent-hover:var(--coral-hover);--accent-dim:rgba(255,107,74,.15);--accent-glow:rgba(255,107,74,.12);--accent-claude:#7b8ba8;--accent-claude-soft:rgba(123,139,168,.12);--border:#e0ddd7;--border-light:#edeae5;--success:#34c759;--warning:#f5a623;--error:#ff3b30;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:17px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:36px;--space-3xl:48px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.03);--shadow-md:0 4px 12px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.04);--shadow-lg:0 12px 32px rgba(0,0,0,.08),0 4px 8px rgba(0,0,0,.04);--shadow-bubble:0 1px 4px rgba(0,0,0,.06);--font-sans:"SF Pro Rounded","SF Pro Text","Inter",system-ui,-apple-system,sans-serif;--font-mono:"SF Mono","JetBrains Mono",ui-monospace,monospace;--titlebar-height:52px;--sidebar-width:280px;--rail-width:84px;--transition-fast:100ms ease;--transition-normal:150ms ease;--transition-slow:300ms ease;--z-content:1;--z-scroll-fade:2;--z-resize-handle:30;--z-floating-toolbar:40;--z-titlebar:100;--z-sidebar-toggle:101;--z-panel-toggle:102;--z-dropdown:200;--z-context-menu:500}[data-theme=dark]{--bg-primary:#1c1b1a;--bg-secondary:#242320;--bg-tertiary:#2e2d29;--bg-hover:#2a2926;--bg-active:#34322e;--surface-user:#3a3833;--surface-pip:#2e2d29;--surface-tool:#2e2d29;--text-primary:#e8e5e0;--text-secondary:#a0a0a0;--text-muted:#6b6b6b;--text-accent:#ff7f5c;--accent:#ff7f5c;--accent-soft:rgba(255,127,92,.12);--accent-soft-strong:rgba(255,127,92,.2);--accent-dim:rgba(255,127,92,.18);--accent-glow:rgba(255,127,92,.15);--accent-claude:#8fa0bd;--accent-claude-soft:rgba(143,160,189,.15);--border:#34322e;--border-light:#2a2926;--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.35);--shadow-lg:0 12px 32px rgba(0,0,0,.45);--shadow-bubble:0 1px 4px rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-primary:#1c1b1a;--bg-secondary:#242320;--bg-tertiary:#2e2d29;--bg-hover:#2a2926;--bg-active:#34322e;--surface-user:#3a3833;--surface-pip:#2e2d29;--surface-tool:#2e2d29;--text-primary:#e8e5e0;--text-secondary:#a0a0a0;--text-muted:#6b6b6b;--text-accent:#ff7f5c;--accent:#ff7f5c;--accent-soft:rgba(255,127,92,.12);--accent-soft-strong:rgba(255,127,92,.2);--accent-dim:rgba(255,127,92,.18);--accent-glow:rgba(255,127,92,.15);--accent-claude:#8fa0bd;--accent-claude-soft:rgba(143,160,189,.15);--border:#34322e;--border-light:#2a2926;--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.35);--shadow-lg:0 12px 32px rgba(0,0,0,.45);--shadow-bubble:0 1px 4px rgba(0,0,0,.3)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafaf8;background:var(--bg-primary);color:#1a1a1a;color:var(--text-primary);font-family:SF Pro Rounded,SF Pro Text,Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);font-size:15px;font-size:var(--text-base);line-height:1.5}.app-container{display:flex;height:100vh}.titlebar-drag{-webkit-app-region:drag;height:52px;height:var(--titlebar-height);left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:100;z-index:var(--z-titlebar)}[role=button],a,button,input,textarea{-webkit-app-region:no-drag}.editor-title-input{field-sizing:content;cursor:text;max-width:100%;min-width:4ch;width:auto}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e0ddd7;background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9b9b9b;background:var(--text-muted)}.pip-editor::-webkit-scrollbar-thumb{background:transparent}.pip-editor:hover::-webkit-scrollbar-thumb{background:#e0ddd7;background:var(--border)}.pip-editor:hover::-webkit-scrollbar-thumb:hover{background:#9b9b9b;background:var(--text-muted)}.pip-editor .ProseMirror{padding-bottom:70px}::-moz-selection{background:rgba(255,107,74,.15);background:var(--accent-dim);color:#1a1a1a;color:var(--text-primary)}::selection{background:rgba(255,107,74,.15);background:var(--accent-dim);color:#1a1a1a;color:var(--text-primary)}:focus-visible{outline:2px solid #ff6b4a;outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}@keyframes pip-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pip-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes pip-think{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes halo-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.15;transform:scale(1.12)}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes thinking-dot{0%,80%,to{opacity:.3;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.fade-in{animation:fade-up .22s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes blink{50%{opacity:0}}.pip-thinking-dot{animation:thinking-bounce 1.2s ease-in-out infinite;background:#ff6b4a;background:var(--accent);border-radius:50%;display:inline-block;height:5px;margin:0 2px;width:5px}.pip-thinking-dot:nth-child(2){animation-delay:.15s}.pip-thinking-dot:nth-child(3){animation-delay:.3s}@keyframes thinking-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.list-panel-wrap{overflow:hidden;transition:width .18s ease-out}body.resizing .list-panel-wrap{transition:none!important}:hover>.resize-handle-line{opacity:1!important}.pip-pill:hover{background:rgba(255,107,74,.1)!important;background:var(--accent-soft)!important;border-color:#ff6b4a!important;border-color:var(--accent)!important;color:#e85a3a!important;color:var(--text-accent)!important}.pip-input{background:#fff;background:var(--surface-pip);border:1px solid #edeae5;border:1px solid var(--border-light);border-radius:20px;border-radius:var(--radius-lg);color:#1a1a1a;color:var(--text-primary);font-family:SF Pro Rounded,SF Pro Text,Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);font-size:13px;font-size:var(--text-sm);line-height:1.5;outline:none;padding:10px 16px;transition:border-color .15s ease,box-shadow .15s ease}.pip-input::-moz-placeholder{color:#9b9b9b;color:var(--text-muted)}.pip-input::placeholder{color:#9b9b9b;color:var(--text-muted)}.pip-input:focus{border-color:#ff6b4a;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,107,74,.1);box-shadow:0 0 0 3px var(--accent-soft)}.pip-input--compact{border-radius:14px;border-radius:var(--radius-md);padding:4px 10px}.pip-chat-wrap{align-items:flex-end;background:#fff;background:var(--surface-pip);border:1px solid #edeae5;border:1px solid var(--border-light);border-radius:20px;border-radius:var(--radius-lg);display:flex;gap:8px;gap:var(--space-sm);transition:border-color .15s ease,box-shadow .15s ease}.pip-chat-wrap--focused,.pip-chat-wrap:focus-within{border-color:#ff6b4a;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,107,74,.1);box-shadow:0 0 0 3px var(--accent-soft)}.pip-chat-textarea{background:transparent;border:none;color:#1a1a1a;color:var(--text-primary);flex:1 1;font-family:SF Pro Rounded,SF Pro Text,Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);line-height:1.5;outline:none;resize:none}.pip-chat-textarea::-moz-placeholder{color:#9b9b9b;color:var(--text-muted)}.pip-chat-textarea::placeholder{color:#9b9b9b;color:var(--text-muted)}@media (max-width:640px){:root{--space-xl:16px;--space-2xl:24px;--space-3xl:32px;--text-2xl:24px;--text-3xl:28px}}@media (max-width:480px){:root{--rail-width:56px;--space-lg:12px;--space-xl:12px}}.pip-btn{align-items:center;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:SF Pro Rounded,SF Pro Text,Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);font-weight:500;gap:8px;gap:var(--space-sm);justify-content:center;outline:none;transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease,transform .15s ease,box-shadow .15s ease;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal),opacity var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal);white-space:nowrap}.pip-btn:focus-visible{outline:2px solid #ff6b4a;outline:2px solid var(--accent);outline-offset:2px}.pip-btn:disabled{cursor:not-allowed;opacity:.35;pointer-events:none}.pip-btn--primary{background:#ff6b4a;background:var(--accent);border-radius:14px;border-radius:var(--radius-md);color:#fff;color:var(--text-on-dark);font-size:13px;font-size:var(--text-sm);padding:8px 16px;padding:var(--space-sm) var(--space-lg)}.pip-btn--primary:hover:not(:disabled){background:#e85a3a;background:var(--accent-hover)}.pip-btn--primary:active:not(:disabled){transform:scale(.97)}.pip-btn--secondary{background:transparent;border:1px solid #e0ddd7;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-md);color:#6b6b6b;color:var(--text-secondary);font-size:13px;font-size:var(--text-sm);padding:8px 16px;padding:var(--space-sm) var(--space-lg)}.pip-btn--secondary:hover:not(:disabled){background:#edeae5;background:var(--bg-hover);border-color:#e0ddd7;border-color:var(--border);color:#1a1a1a;color:var(--text-primary)}.pip-btn--ghost{background:transparent;border-radius:14px;border-radius:var(--radius-md);color:#6b6b6b;color:var(--text-secondary);font-size:13px;font-size:var(--text-sm);padding:8px 16px;padding:var(--space-sm) var(--space-lg)}.pip-btn--ghost:hover:not(:disabled){background:#edeae5;background:var(--bg-hover);color:#1a1a1a;color:var(--text-primary)}.pip-btn--danger{background:transparent;border:1px solid #e0ddd7;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-md);color:#6b6b6b;color:var(--text-secondary);font-size:13px;font-size:var(--text-sm);padding:8px 16px;padding:var(--space-sm) var(--space-lg)}.pip-btn--danger:hover:not(:disabled){background:rgba(239,68,68,.08);border-color:#ff3b30;border-color:var(--error);color:#ff3b30;color:var(--error)}.pip-btn--pill{background:transparent;border:1px solid #e0ddd7;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-full);color:#6b6b6b;color:var(--text-secondary);font-size:13px;font-size:var(--text-sm);padding:4px 12px;padding:var(--space-xs) var(--space-md)}.pip-btn--pill:hover:not(:disabled){background:rgba(255,107,74,.1);background:var(--accent-soft);border-color:#ff6b4a;border-color:var(--accent);color:#e85a3a;color:var(--text-accent)}.pip-btn--sm{font-size:11px;font-size:var(--text-xs);gap:4px;gap:var(--space-xs);padding:4px 8px;padding:var(--space-xs) var(--space-sm)}.pip-btn--lg{font-size:15px;font-size:var(--text-base);padding:12px 24px;padding:var(--space-md) var(--space-xl)}.pip-icon-btn{align-items:center;background:transparent;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#6b6b6b;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;padding:0;transition:background .1s ease,color .1s ease;transition:background var(--transition-fast),color var(--transition-fast)}.pip-icon-btn:hover:not(:disabled){background:#edeae5;background:var(--bg-hover);color:#1a1a1a;color:var(--text-primary)}.pip-icon-btn:disabled{cursor:not-allowed;opacity:.35}.pip-icon-btn--sm{height:28px;width:28px}.pip-icon-btn--md{height:32px;width:32px}.pip-icon-btn--lg{height:36px;width:36px}.pip-icon-btn--circle{border-radius:50%}.pip-icon-btn--accent{background:#ff6b4a;background:var(--accent);color:#fff;color:var(--text-on-dark)}.pip-icon-btn--accent:hover:not(:disabled){background:#e85a3a;background:var(--accent-hover);transform:scale(1.06)}.pip-icon-btn--accent:active:not(:disabled){transform:scale(.95)}.pip-surface{border-radius:20px;border-radius:var(--radius-lg);font-family:SF Pro Rounded,SF Pro Text,Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans)}.pip-surface--flat{background:#f2f0ed;background:var(--bg-secondary)}.pip-surface--raised{box-shadow:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.03);box-shadow:var(--shadow-sm)}.pip-surface--elevated,.pip-surface--raised{background:#fff;background:var(--surface-pip)}.pip-surface--elevated{box-shadow:0 4px 12px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.04);box-shadow:var(--shadow-md)}.pip-surface--bubble-user{background:#eae6de;background:var(--surface-user);border-bottom-right-radius:8px;border-bottom-right-radius:var(--radius-sm);color:#1a1a1a;color:var(--text-primary)}.pip-surface--bubble-pip{background:#fff;background:var(--surface-pip);box-shadow:0 1px 4px rgba(0,0,0,.06);box-shadow:var(--shadow-bubble)}.pip-surface--tool{background:#f2f0ed;background:var(--surface-tool)}.pip-surface--interactive,.pip-surface--tool{border:1px solid #edeae5;border:1px solid var(--border-light)}.pip-surface--interactive{background:#fff;background:var(--surface-pip);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease;transition:border-color var(--transition-normal),background var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}.pip-surface--interactive:hover{background:rgba(255,107,74,.1);background:var(--accent-soft);border-color:#ff6b4a;border-color:var(--accent);box-shadow:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.03);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.pip-surface--pad-sm{padding:8px;padding:var(--space-sm)}.pip-surface--pad-md{padding:12px 16px;padding:var(--space-md) var(--space-lg)}.pip-surface--pad-lg{padding:16px 24px;padding:var(--space-lg) var(--space-xl)}.pip-context-menu{animation:fade-up .12s ease-out;background:#fff;background:var(--surface-pip);border:1px solid #edeae5;border:1px solid var(--border-light);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 12px 32px rgba(0,0,0,.08),0 4px 8px rgba(0,0,0,.04);box-shadow:var(--shadow-lg);min-width:150px;padding:4px;position:fixed;z-index:500;z-index:var(--z-context-menu)}.pip-context-menu,.pip-context-menu__item{font-family:SF Pro Rounded,SF Pro Text,Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans)}.pip-context-menu__item{align-items:center;background:transparent;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#1a1a1a;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;font-size:var(--text-sm);gap:8px;padding:8px 12px;transition:background .1s ease;transition:background var(--transition-fast);width:100%}.pip-context-menu__item:hover{background:#edeae5;background:var(--bg-hover)}.pip-context-menu__item--danger{color:#ff3b30;color:var(--error)}.pip-context-menu__item--danger:hover{background:rgba(239,68,68,.1)}.pip-context-menu__divider{background:#edeae5;background:var(--border-light);height:1px;margin:4px 0}.pip-context-menu__label{color:#9b9b9b;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:.04em;padding:6px 12px;text-transform:uppercase}.pip-list-row{align-items:center;border-radius:14px;border-radius:var(--radius-md);display:flex;margin-bottom:2px;position:relative;transition:background .1s ease;transition:background var(--transition-fast)}.pip-list-row:hover{background:#edeae5;background:var(--bg-hover)}.pip-list-row:hover .pip-list-row__action{opacity:1}.pip-list-row__btn{background:transparent;border:none;color:inherit;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:SF Pro Rounded,SF Pro Text,Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);gap:2px;min-width:0;padding:10px 12px;padding:10px var(--space-md);text-align:left}.pip-list-row__btn,.pip-list-row__title{font-size:13px;font-size:var(--text-sm);overflow:hidden}.pip-list-row__title{color:#1a1a1a;color:var(--text-primary);display:block;font-weight:500;line-height:1.35;text-overflow:ellipsis;white-space:nowrap;width:100%}.pip-list-row__meta{color:#9b9b9b;color:var(--text-muted);font-size:11px;font-size:var(--text-xs);line-height:1.3;margin-top:2px}.pip-list-row__action{opacity:0;transition:opacity .15s ease;transition:opacity var(--transition-normal)}.pip-list-row__action.is-open{opacity:1}.pip-thinking-dots{align-items:center;display:flex;gap:4px;padding:8px 0;padding:var(--space-sm) 0}.pip-thinking-dots__dot{animation:thinking-bounce 1.2s ease-in-out infinite;background:#ff6b4a;background:var(--accent);border-radius:50%;display:inline-block;height:7px;width:7px}.pip-thinking-dots__dot:nth-child(2){animation-delay:.15s}.pip-thinking-dots__dot:nth-child(3){animation-delay:.3s}.pip-badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-family:SF Pro Rounded,SF Pro Text,Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);font-size:11px;font-size:var(--text-xs);font-weight:500;gap:4px;gap:var(--space-xs);padding:2px 8px;white-space:nowrap}.pip-badge--neutral{background:#e8e5e0;background:var(--bg-tertiary);color:#6b6b6b;color:var(--text-secondary)}.pip-badge--accent{background:rgba(255,107,74,.1);background:var(--accent-soft);color:#e85a3a;color:var(--text-accent)}.pip-badge--success{background:rgba(52,199,89,.12);color:#34c759;color:var(--success)}.pip-badge--warning{background:rgba(245,166,35,.12);color:#f5a623;color:var(--warning)}.pip-badge--error{background:rgba(255,59,48,.12);color:#ff3b30;color:var(--error)}.pip-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pip-visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}