:root,html[data-theme=dark]{--bg:#0a0a0a;--bg-secondary:#141414;--bg-tertiary:#1a1a1a;--border:#2a2a2a;--border-hover:#3a3a3a;--text:#ededed;--text-secondary:#a0a0a0;--text-muted:#666;--accent:#3b82f6;--accent-hover:#2563eb;--accent-subtle:#1e3a5f;--success:#22c55e;--warning:#eab308;--danger:#ef4444;--danger-hover:#e04040;--danger-bg:#2a1a18;--danger-border:#4a2a22;--radius:8px;--radius-lg:12px}html[data-theme=light]{--bg:#ffffff;--bg-secondary:#f8f9fa;--bg-tertiary:#f0f1f3;--border:#e0e0e0;--border-hover:#c0c0c0;--text:#1a1a1a;--text-secondary:#555555;--text-muted:#888888;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-subtle:#dbeafe;--success:#16a34a;--warning:#ca8a04;--danger:#dc2626;--danger-hover:#c42f2f;--danger-bg:#fef6f4;--danger-border:#e8c4bc}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}button{cursor:pointer}button,input,textarea{font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:400px}.login-box h1{font-size:1.5rem;margin-bottom:.5rem}.login-box p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.875rem}.login-box input{width:100%;padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1rem;margin-bottom:1rem;outline:none}.login-box input:focus{border-color:var(--accent)}.login-box button{width:100%;padding:.75rem;background:var(--accent);color:white;border:none;border-radius:var(--radius);font-size:1rem;font-weight:500}.login-box button:hover{background:var(--accent-hover)}.login-error{color:var(--danger);font-size:.875rem;margin-bottom:1rem}.login-box button.google-signin-button{background:var(--bg);color:var(--text);border:1px solid var(--border);margin-bottom:1rem}.login-box button.google-signin-button:hover{background:var(--bg-elevated,var(--bg));border-color:var(--accent)}.login-divider{display:flex;align-items:center;text-align:center;color:var(--text-muted,var(--text));font-size:.8rem;margin:0 0 1rem;opacity:.7}.login-divider:after,.login-divider:before{content:"";flex:1 1;border-bottom:1px solid var(--border)}.login-divider span{padding:0 .75rem}.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;padding:.75rem 1.5rem;background:var(--accent);color:white;border-radius:var(--radius);font-size:.875rem;font-weight:500;text-decoration:none;white-space:nowrap}.skip-link:focus{top:.75rem}.app-container{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-secondary);gap:.5rem;flex-wrap:wrap}.app-header h1{font-size:1.125rem;font-weight:600;white-space:nowrap}.tab-bar{display:flex;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab-button{padding:.5rem 1rem;background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;transition:background .15s,color .15s;white-space:nowrap;min-height:44px;display:flex;align-items:center;justify-content:center}.tab-button:hover{color:var(--text);background:var(--bg-tertiary)}.tab-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tab-button.active{color:var(--text);background:var(--accent-subtle)}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.logout-button{border:1px solid var(--border);border-radius:var(--radius)}.current-account,.logout-button{padding:.5rem .75rem;background:transparent;color:var(--text-muted);font-size:.8rem;min-height:44px;display:flex;align-items:center}.current-account{border:1px dashed var(--border);border-radius:var(--radius);white-space:nowrap;cursor:pointer}.current-account:hover{border-color:var(--accent);color:var(--text)}.account-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;z-index:1000;overflow-y:auto}.account-modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:520px;padding:1.25rem 1.5rem 1.5rem}.account-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.account-modal-header h2{margin:0;font-size:1.25rem}.account-close{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .25rem}.account-section{border-top:1px solid var(--border);padding:1rem 0 .5rem}.account-section h3{margin:0 0 .5rem;font-size:.95rem}.account-section label{display:block;font-size:.8rem;color:var(--text-muted);margin:.5rem 0 .25rem}.account-section input[type=email],.account-section input[type=password],.account-section input[type=text]{width:100%;padding:.5rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;outline:none}.account-section input:disabled{opacity:.6}.account-row{display:flex;align-items:center;gap:.5rem;margin-top:.6rem;flex-wrap:wrap}.account-row input[type=text]{flex:1 1;min-width:180px}.account-section button{padding:.5rem .9rem;background:var(--accent);color:white;border:none;border-radius:var(--radius);font-size:.85rem;cursor:pointer}.account-section button:disabled{opacity:.5;cursor:default}.account-hint{font-size:.78rem;color:var(--text-muted);margin:.25rem 0}.account-msg{font-size:.8rem;color:var(--text-muted)}.account-fresh-key{background:var(--bg-elevated,var(--bg));border:1px solid var(--accent);border-radius:var(--radius);padding:.6rem;margin:.5rem 0;font-size:.8rem;display:flex;flex-direction:column;gap:.4rem}.account-fresh-key code{word-break:break-all;font-family:monospace;background:var(--bg);padding:.35rem .5rem;border-radius:var(--radius)}.account-key-list{list-style:none;padding:0;margin:.5rem 0}.account-key-list li{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.85rem}.account-key-meta{color:var(--text-muted);font-family:monospace;font-size:.75rem}.account-revoke{background:transparent!important;color:var(--danger)!important;border:1px solid var(--border)!important}.account-checkbox{display:flex!important;align-items:center;gap:.5rem;font-size:.85rem!important;color:var(--text)!important;margin:.5rem 0!important}.account-checkbox input{width:auto!important}.login-account-hint{font-size:.75rem;color:var(--text-muted);margin-top:-.5rem}.logout-button:hover{color:var(--text);border-color:var(--border-hover)}.logout-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-content{flex:1 1;overflow:hidden}.app-content>[role=tabpanel]{height:100%;overflow:hidden}.directory-container{display:flex;height:100%}.directory-list{width:420px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.directory-search{padding:1rem;border-bottom:1px solid var(--border)}.search-input{width:100%;padding:.625rem .875rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;outline:none}.search-input:focus{border-color:var(--accent)}.filter-row{display:flex;gap:.5rem;flex-wrap:wrap}.filter-chip{display:inline-flex;align-items:center;padding:.25rem .625rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.filter-chip.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--text)}.filter-chip.event-prep-toggle{border-style:dashed;cursor:pointer;transition:background .15s,border-color .15s}.filter-chip.event-prep-toggle.active{background:var(--bg-tertiary);border-color:var(--text-muted);border-style:dashed;color:var(--text-muted)}.filter-chip.event-prep-toggle:not(.active){background:var(--accent-subtle);border-color:var(--accent);border-style:solid;color:var(--text)}.directory-count{padding:.5rem 1rem;color:var(--text-muted);font-size:.75rem;border-bottom:1px solid var(--border)}.person-list{flex:1 1;overflow-y:auto}.person-card{display:flex;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.person-card:hover{background:var(--bg-tertiary)}.person-card.selected{background:var(--accent-subtle)}.person-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;color:var(--text-secondary)}.person-avatar img{width:100%;height:100%;object-fit:cover}.person-avatar.org-avatar img{object-fit:contain;padding:6px}.person-card-info{flex:1 1;min-width:0}.person-card-name{font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.closeness-pill{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.65rem;font-weight:500;white-space:nowrap}.closeness-pill.unassessed{background:#333;color:var(--text-muted)}.closeness-pill.none{background:#2a1a1a;color:#b07070}.closeness-pill.met{background:#2d2215;color:#d4a057}.closeness-pill.working{background:var(--accent-subtle,#1a2744);color:var(--accent)}.closeness-pill.friendly{background:#0a2e1a;color:var(--success,#22c55e)}.closeness-indicator{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle;flex-shrink:0}.closeness-indicator.level-0{background:var(--text-muted)}.closeness-indicator.level-1{background:#b07070}.closeness-indicator.level-2{background:#d4a057}.closeness-indicator.level-3{background:var(--accent)}.closeness-indicator.level-4{background:var(--success,#22c55e)}.person-card-role{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-card-tags{display:flex;gap:.25rem;margin-top:.375rem;flex-wrap:wrap}.tag{padding:.125rem .5rem;background:var(--bg);border:1px solid var(--border);font-size:.675rem;color:var(--text-secondary)}.source-badge,.tag{border-radius:999px}.source-badge{display:inline-block;padding:.0625rem .375rem;font-size:.625rem;font-weight:600;letter-spacing:.02em;margin-left:.375rem;vertical-align:middle}.source-badge.remote{background:rgba(59,130,246,.15);color:rgb(96,165,250);border:1px solid rgba(59,130,246,.3)}.person-card.remote-source{border-left:2px solid rgba(59,130,246,.4)}.research-badge{display:inline-block;padding:.0625rem .375rem;border-radius:999px;font-size:.6rem;font-weight:600;letter-spacing:.02em;margin-left:.375rem;vertical-align:middle;text-transform:lowercase}.research-badge.researched{background:rgba(34,197,94,.15);color:rgb(74,222,128);border:1px solid rgba(34,197,94,.3)}.research-badge.partial{background:rgba(245,158,11,.15);color:rgb(251,191,36);border:1px solid rgba(245,158,11,.3)}.research-badge.unresearched{background:#333;color:var(--text-muted);border:1px solid var(--border)}.author-pill{display:inline-block;padding:.0625rem .375rem;border-radius:999px;font-size:.6rem;font-weight:600;letter-spacing:.02em;vertical-align:middle}.author-pill.llm{background:rgba(168,85,247,.15);color:rgb(192,132,252);border:1px solid rgba(168,85,247,.3)}.author-pill.human{background:rgba(59,130,246,.15);color:rgb(96,165,250);border:1px solid rgba(59,130,246,.3)}.author-pill.imported{background:#333;color:var(--text-muted);border:1px solid var(--border)}.author-pill-imported-from{margin-left:.375rem;font-size:.7rem;color:var(--text-muted)}.raw-input-list{display:flex;flex-direction:column;gap:.5rem}.raw-input-item{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;font-size:.8rem}.raw-input-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem;font-size:.7rem;color:var(--text-muted)}.raw-input-text{white-space:pre-wrap;color:var(--text-secondary);font-size:.78rem;line-height:1.4}.raw-input-source-link{color:var(--text-muted);text-decoration:none;border-bottom:1px dotted var(--border);word-break:break-all}.raw-input-source-link:hover{color:var(--accent,#60a5fa);border-bottom-color:var(--accent,#60a5fa)}.cited-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.625rem}.cited-item{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;font-size:.85rem;line-height:1.45}.cited-topic{font-weight:600;color:var(--text-primary);margin-bottom:.2rem}.cited-topic a{color:var(--accent,#60a5fa)}.cited-year{font-weight:400;color:var(--text-muted);font-size:.78rem}.cited-claim{color:var(--text-secondary);margin-bottom:.3rem;white-space:pre-wrap}.cited-source{display:inline-block;font-size:.72rem;color:var(--text-muted);text-decoration:none;border-bottom:1px dotted var(--border)}.cited-source:hover{color:var(--accent,#60a5fa);border-bottom-color:var(--accent,#60a5fa)}.sources-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem;font-size:.78rem}.sources-list a{color:var(--text-muted);text-decoration:none;word-break:break-all}.sources-list a:hover{color:var(--accent,#60a5fa);text-decoration:underline}.collab-row{display:flex;gap:.5rem;font-size:.85rem;margin-bottom:.25rem}.collab-label{color:var(--text-muted);min-width:7rem}.collab-values{color:var(--text-secondary)}.location-row{display:flex;gap:.5rem;font-size:.85rem;margin-bottom:.2rem;align-items:baseline}.location-label{display:inline-block;font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:5rem}.location-value{color:var(--text-primary)}.detail-section.trip-context{background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.35);border-radius:8px;padding:.75rem 1rem;margin-top:.5rem}.detail-section.trip-context h3{display:flex;align-items:center;gap:.5rem}.trip-context-tag{display:inline-block;background:rgba(124,58,237,.25);color:rgb(196,181,253);border:1px solid rgba(124,58,237,.45);border-radius:4px;padding:.05rem .4rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.trip-context-row{margin-bottom:.5rem}.trip-context-row:last-child{margin-bottom:0}.trip-context-label{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem}.trip-context-text{margin:0;color:var(--text-primary);font-size:.9rem;line-height:1.45;white-space:pre-wrap}.trip-context-list{margin:0;padding-left:1.25rem;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.detail-section.other-trips{font-size:.85rem}.detail-section.other-trips summary{cursor:pointer;color:var(--text-muted)}.other-trip-block{margin:.5rem 0 .75rem;padding-left:.75rem;border-left:2px solid var(--border)}.other-trip-block h4{margin:0 0 .25rem;font-size:.8rem;color:var(--text-muted)}.person-detail{flex:1 1;overflow-y:auto;padding:1.5rem}.person-detail-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.875rem}.detail-header{display:flex;gap:1.25rem;margin-bottom:1.5rem}.detail-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;color:var(--text-secondary)}.detail-avatar img{width:100%;height:100%;object-fit:cover}.detail-avatar.org-avatar img{object-fit:contain;padding:10px}.detail-header-info h2{font-size:1.375rem;margin-bottom:.25rem}.detail-header-info .role-org{color:var(--text-secondary);font-size:.875rem}.detail-header-info .closeness-badge{display:inline-block;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;margin-top:.5rem;text-transform:capitalize}.closeness-badge.unassessed{background:#333;color:var(--text-muted)}.closeness-badge.none{background:#2a1a1a;color:#b07070}.closeness-badge.met{background:#2d2215;color:#d4a057}.closeness-badge.working{background:var(--accent-subtle,#1a2744);color:var(--accent)}.closeness-badge.friendly{background:#0a2e1a;color:var(--success,#22c55e)}.detail-section{margin-bottom:1.5rem}.detail-section h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}.detail-section p,.detail-section ul{font-size:.875rem;line-height:1.6;color:var(--text-secondary)}.detail-section ul{padding-left:1.25rem}.detail-section a{color:var(--accent);text-decoration:none}.detail-section a:hover{text-decoration:underline}.contact-grid{display:grid;grid-template-columns:auto 1fr;grid-gap:.375rem 1rem;gap:.375rem 1rem;font-size:.875rem}.contact-label{color:var(--text-muted);text-transform:capitalize}.interaction-item{padding:.625rem 0;border-bottom:1px solid var(--border)}.interaction-date{font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.interaction-content{font-size:.875rem;color:var(--text-secondary)}.personal-toggle{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem}.personal-toggle .toggle-switch{font-size:.875rem}.tags-list{display:flex;gap:.375rem;flex-wrap:wrap}.intro-container{height:100%;overflow-y:auto;padding:2rem}.intro-content{max-width:720px;margin:0 auto}.intro-section{margin-bottom:2.5rem}.intro-section h2{font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:.75rem}.intro-section-desc{color:var(--text-secondary);font-size:.875rem;margin-bottom:.75rem}.use-case-list{display:flex;flex-direction:column;gap:.75rem}.use-case-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.use-case-card:hover{border-color:var(--border-hover)}.use-case-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.use-case-header h3{font-size:.95rem;font-weight:600;color:var(--text)}.use-case-badge{font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.use-case-badge-available{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.use-case-badge-partial{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.use-case-badge-planned{background:var(--bg-tertiary);color:var(--text-muted)}.use-case-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.5rem}.use-case-howto{font-size:.8rem;color:var(--text-muted);line-height:1.5}.intro-lead,.use-case-howto strong{color:var(--text-secondary)}.intro-lead{font-size:.9rem;line-height:1.6;margin-bottom:.75rem}.intro-lead strong{color:var(--text)}.intro-note{font-size:.825rem;color:var(--text-muted);line-height:1.55;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius)}.schema-list{display:flex;flex-direction:column;gap:.75rem}.schema-entity{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.schema-entity-name{font-size:.95rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.schema-tag{font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.1rem .4rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.schema-entity-blurb{font-size:.825rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.6rem}.schema-field-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.schema-field{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-gap:.75rem;gap:.75rem;align-items:baseline}.schema-field-name{font-family:var(--font-mono,ui-monospace,monospace);font-size:.74rem;color:var(--text);background:var(--bg-tertiary);padding:.12rem .35rem;border-radius:4px;line-height:1.4;word-break:break-word}.schema-field-purpose{font-size:.8rem;color:var(--text-muted);line-height:1.45}@media (max-width:560px){.schema-field{grid-template-columns:1fr;gap:.2rem}}.howto-path{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:.75rem}.howto-path-title{font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.howto-path-desc{font-size:.8rem;color:var(--text-muted);line-height:1.5;margin-bottom:.6rem}.howto-bullets{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.5rem}.howto-bullets li{font-size:.825rem;color:var(--text-secondary);line-height:1.5}.howto-bullets strong{color:var(--text)}.howto-skill-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.howto-skill{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr);grid-gap:.75rem;gap:.75rem;align-items:baseline}.howto-skill-cmd{font-family:var(--font-mono,ui-monospace,monospace);font-size:.78rem;color:var(--accent);background:var(--bg-tertiary);padding:.12rem .4rem;border-radius:4px;white-space:nowrap}.howto-skill-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.45}@media (max-width:560px){.howto-skill{grid-template-columns:1fr;gap:.2rem}}.chat-container{display:flex;flex-direction:column;height:100%;width:100%;max-width:800px;margin:0 auto;min-width:0;min-height:0}.chat-container>*{min-width:0}.chat-messages{flex:1 1;overflow-y:auto;padding:1.5rem}.chat-mount{display:none}.chat-mount.chat-mount-visible{display:block}.chat-mount-tab.chat-mount-visible{left:0;z-index:5}.chat-mount-panel.chat-mount-visible,.chat-mount-tab.chat-mount-visible{position:fixed;top:var(--app-header-h,60px);right:0;bottom:0;background:var(--bg)}.chat-mount-panel.chat-mount-visible{width:var(--chat-panel-w,440px);max-width:100vw;min-width:280px;z-index:200;border-left:1px solid var(--border);box-shadow:-8px 0 24px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}.chat-mount-panel.chat-mount-visible>.chat-container{flex:1 1;min-height:0;width:100%;max-width:100%}.chat-panel-resize-handle{position:fixed;top:var(--app-header-h,60px);bottom:0;width:6px;right:calc(var(--chat-panel-w, 440px) - 3px);cursor:col-resize;z-index:201;background:transparent}.chat-panel-resize-handle.dragging,.chat-panel-resize-handle:hover{background:var(--accent);opacity:.4}body.chat-panel-resizing{cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chat-floating-placeholder{padding:1.5rem;font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center}.chat-bubble-launcher{position:fixed;right:1.25rem;bottom:1.25rem;width:52px;height:52px;border-radius:50%;background:var(--accent);color:white;border:none;font-size:1.5rem;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35);z-index:250;display:flex;align-items:center;justify-content:center}.chat-bubble-launcher:hover{background:var(--accent-hover)}.chat-session-bar{position:relative;display:flex;gap:.375rem;padding:.375rem .75rem;border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;align-items:center}.chat-session-btn{background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:.25rem .625rem;font-size:.75rem;color:var(--text-secondary);cursor:pointer}.chat-session-btn.active,.chat-session-btn:hover{border-color:var(--border-hover);color:var(--text)}.chat-session-btn.active{background:var(--bg-secondary)}.chat-session-count{margin-left:.25rem;color:var(--text-muted)}.chat-session-bar-spacer{flex:1 1}.chat-session-dropdown{position:absolute;top:100%;left:.75rem;right:.75rem;max-width:480px;margin-top:.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.35);max-height:60vh;overflow-y:auto;z-index:60}.chat-session-empty{padding:.75rem 1rem;font-size:.8rem;color:var(--text-muted)}.chat-session-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);cursor:pointer}.chat-session-item:last-child{border-bottom:none}.chat-session-item:hover{background:var(--bg-tertiary)}.chat-session-item.current{background:var(--accent-subtle)}.chat-session-item-main{flex:1 1;min-width:0}.chat-session-item-title{font-size:.85rem;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-session-item-meta{font-size:.7rem;color:var(--text-muted);margin-top:.125rem}.chat-session-item-delete{background:transparent;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:.125rem .375rem;line-height:1;border-radius:var(--radius)}.chat-session-item-delete:hover{background:var(--bg);color:var(--danger,#ef4444)}.chat-message{margin-bottom:1.75rem;display:flex;gap:.75rem;min-width:0}.chat-message+.chat-message{margin-top:.5rem}.chat-message.user{flex-direction:row-reverse}.chat-bubble{max-width:85%;padding:.75rem 1rem;border-radius:var(--radius-lg);font-size:.875rem;line-height:1.6;overflow-wrap:anywhere;word-break:break-word}.chat-message.user .chat-bubble{background:var(--accent);color:white;border-bottom-right-radius:4px}.chat-message.assistant .chat-bubble{background:var(--bg-secondary);border:1px solid var(--border);border-bottom-left-radius:4px}.tool-call-indicator{font-size:.75rem;color:var(--text-muted);padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius);margin-bottom:.5rem;display:inline-block}.chat-message-inner{display:flex;flex-direction:column;gap:.5rem;max-width:85%;min-width:0}.chat-message.user .chat-message-inner{align-items:flex-end}.chat-message.assistant .chat-message-inner{align-items:flex-start}.chat-message-inner>.chat-bubble{max-width:100%}.tool-call-inline{width:100%;max-width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);font-size:.75rem;color:var(--text-secondary);overflow:hidden}.tool-call-inline-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .625rem;background:none;border:none;color:inherit;text-align:left;cursor:pointer;font:inherit}.tool-call-inline-header:hover{background:var(--bg-secondary)}.tool-call-inline-chevron{font-size:.7rem;color:var(--text-muted);width:.8rem;flex-shrink:0}.tool-call-inline-name{font-weight:600;color:var(--text);white-space:nowrap}.tool-call-inline-summary{color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.tool-call-inline-body{border-top:1px solid var(--border);padding:.5rem .625rem .625rem;display:flex;flex-direction:column;gap:.375rem}.tool-call-inline-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.tool-call-inline-pre{margin:0;padding:.5rem .625rem;background:var(--bg);border-radius:var(--radius);font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:.72rem;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto;color:var(--text-secondary)}.composer-area{border-top:1px solid var(--border);background:var(--bg);padding:.5rem .75rem}.config-panel-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.config-panel-wrapper.expanded{grid-template-rows:1fr}.config-panel-content{overflow:hidden}.config-summary{display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem;background:var(--bg-secondary);border-radius:.375rem;font-size:.75rem;color:var(--text-muted);cursor:pointer;margin-bottom:.5rem}.config-summary:hover{background:var(--bg-tertiary)}.config-summary-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-summary-expand{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;font-size:.75rem}.composer-notes-field{margin-top:.5rem}.chat-input-area{padding:1rem 1.5rem 2rem;border-top:1px solid var(--border)}.chat-input-row{display:flex;gap:.5rem}.chat-input{flex:1 1;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;outline:none;resize:none;min-height:44px;max-height:120px}.chat-input:focus{border-color:var(--accent)}.chat-send{padding:.75rem 1.25rem;background:var(--accent);color:white;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500}.chat-send:hover{background:var(--accent-hover)}.chat-send:disabled{opacity:.5;cursor:not-allowed}.reports-container{max-width:900px;margin:0 auto;padding:1.5rem}.report-list{display:flex;flex-direction:column;gap:.5rem}.report-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s}.report-item:hover{border-color:var(--border-hover)}.report-item.selected{border-color:var(--accent)}.report-date{padding:.25rem .5rem;background:var(--accent-subtle);color:var(--accent);border-radius:var(--radius);font-size:.75rem;font-weight:500;white-space:nowrap}.report-content,.report-name{font-size:.875rem}.report-content{margin-top:1.5rem;padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);line-height:1.7;color:var(--text-secondary)}.report-content h1,.report-content h2,.report-content h3{color:var(--text);margin-top:1.25rem;margin-bottom:.5rem}.report-content h1{font-size:1.375rem}.report-content h2{font-size:1.125rem}.report-content h3{font-size:1rem}.report-content p{margin-bottom:.75rem}.report-content ol,.report-content ul{padding-left:1.5rem;margin-bottom:.75rem}.report-content code{background:var(--bg);padding:.125rem .375rem;border-radius:3px;font-size:.8rem}.report-content pre{background:var(--bg);padding:1rem;border-radius:var(--radius);overflow-x:auto;margin-bottom:.75rem}.edit-input{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;outline:none}.edit-input:focus{border-color:var(--accent)}.edit-textarea{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;outline:none;resize:vertical;min-height:80px;font-family:inherit}.edit-textarea:focus{border-color:var(--accent)}.edit-actions{display:flex;gap:.5rem;margin-left:auto;align-self:flex-start}.btn-cancel,.btn-edit,.btn-prep-meeting,.btn-save{padding:.375rem .875rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.8rem;font-weight:500;background:transparent;color:var(--text-secondary);cursor:pointer}.btn-cancel:hover,.btn-edit:hover{border-color:var(--border-hover);color:var(--text)}.btn-prep-meeting{background:var(--accent);border-color:var(--accent);color:white}.btn-prep-meeting:hover{background:var(--accent-hover)}.btn-save{background:var(--accent);border-color:var(--accent);color:white}.btn-save:hover{background:var(--accent-hover)}.btn-cancel:disabled,.btn-save:disabled{opacity:.5;cursor:not-allowed}.editable-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:.675rem;color:var(--text-secondary)}.chip-remove{cursor:pointer;color:var(--text-muted);font-size:.8rem;line-height:1;padding:0 .125rem;background:none;border:none}.chip-remove:hover{color:var(--danger)}.add-input-row{display:flex;gap:.375rem;margin-top:.375rem}.add-input-row input{flex:1 1;padding:.25rem .5rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.75rem;outline:none}.add-input-row input:focus{border-color:var(--accent)}.expertise-edit-row{display:flex;gap:.5rem;align-items:flex-start;padding:.5rem;background:var(--bg-tertiary);border-radius:var(--radius);margin-bottom:.375rem;flex-wrap:wrap}.expertise-edit-row input{flex:1 1;min-width:120px}.expertise-edit-row input,.expertise-edit-row select{padding:.375rem .5rem;color:var(--text);outline:none}.expertise-edit-row input,.expertise-edit-row select,.expertise-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:.8rem}.expertise-item{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;line-height:1.4}.expertise-topic{font-weight:600}.expertise-desc{color:var(--text-secondary);font-size:.75rem}.expertise-contactable{color:var(--text-muted);font-size:.7rem;font-style:italic}.depth-badge{display:inline-block;padding:.0625rem .375rem;border-radius:9999px;font-size:.65rem;font-weight:600;line-height:1.4;white-space:nowrap}.depth-deep_expert{background:rgba(34,197,94,.15);color:#22c55e}.depth-practitioner{background:rgba(59,130,246,.15);color:#3b82f6}.depth-familiar{background:rgba(245,158,11,.15);color:#f59e0b}.depth-mentioned{background:rgba(156,163,175,.15);color:#9ca3af}.depth-unknown{background:rgba(209,213,219,.15);color:#d1d5db}.interaction-edit-row{padding:.625rem;background:var(--bg-tertiary);border-radius:var(--radius);margin-bottom:.375rem}.interaction-edit-row .row-header{display:flex;gap:.5rem;margin-bottom:.375rem}.interaction-edit-row input,.interaction-edit-row textarea{padding:.375rem .5rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.8rem;outline:none;font-family:inherit}.btn-add{padding:.25rem .75rem;background:transparent;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.75rem;cursor:pointer;margin-top:.375rem}.btn-add:hover{border-color:var(--accent);color:var(--accent)}.detail-avatar.editable{position:relative;cursor:pointer}.detail-avatar.editable:after{content:"\01F4F7";position:absolute;bottom:0;right:0;width:24px;height:24px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.avatar-edit-wrapper{position:relative}.btn-remove-photo{top:-4px;right:-4px;width:20px;height:20px;border-radius:50%;background:var(--danger);color:white;border:none;font-size:12px;line-height:1;align-items:center;justify-content:center;cursor:pointer}.btn-remove-photo,.photo-menu{position:absolute;display:flex}.photo-menu{top:100%;left:0;margin-top:.5rem;background:var(--surface,#fff);border:1px solid var(--border,#ddd);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.12);z-index:20;flex-direction:column;min-width:180px;overflow:hidden}.photo-menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;text-align:left;padding:.5rem .75rem;font-size:.875rem;color:var(--text,inherit);cursor:pointer}.photo-menu-item:focus,.photo-menu-item:hover{background:var(--surface-hover,rgba(0,0,0,.05));outline:none}.contact-edit-grid{display:grid;grid-template-columns:auto 1fr;grid-gap:.375rem .75rem;gap:.375rem .75rem;align-items:center;font-size:.875rem}.contact-edit-grid label{color:var(--text-muted);text-transform:capitalize;font-size:.8rem}.closeness-select,.contact-edit-grid input{padding:.375rem .5rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.8rem;outline:none}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.theme-toggle{padding:.375rem .5rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;line-height:1;cursor:pointer}.theme-toggle:hover{color:var(--text);border-color:var(--border-hover)}.sort-row{display:flex;align-items:center;gap:.5rem}.sort-select{flex:1 1;padding:.25rem .5rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.75rem;outline:none}.sort-select:focus{border-color:var(--accent)}.strength-bar-container{display:flex;align-items:center;gap:.375rem;margin-top:.25rem}.strength-bar{width:48px;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.strength-bar-fill{height:100%;border-radius:2px;transition:width .2s}.strength-label{font-size:.625rem;color:var(--text-muted)}.followup-row{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.followup-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:500}.followup-badge.overdue{background:rgba(239,68,68,.15);color:var(--danger);border:1px solid rgba(239,68,68,.3)}.followup-badge.upcoming{background:rgba(234,179,8,.15);color:var(--warning);border:1px solid rgba(234,179,8,.3)}.followup-badge.future{background:rgba(34,197,94,.15);color:var(--success);border:1px solid rgba(34,197,94,.3)}.cost-info{display:flex;gap:.75rem;padding:.25rem .5rem;font-size:.675rem;color:var(--text-muted);margin-top:.25rem}.cost-info span{white-space:nowrap}.pending-merges-trigger{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);font-size:.8rem}.pending-merges-trigger:hover{color:var(--text);border-color:var(--border-hover)}.pending-merges-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--danger);color:white;border-radius:999px;font-size:.675rem;font-weight:600;line-height:1}.pending-merges-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:100}.pending-merges-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.pending-merges-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.pending-merges-header h2{font-size:1rem;font-weight:600}.pending-merges-close{background:none;border:none;color:var(--text-muted);font-size:1.25rem;padding:.25rem;line-height:1}.pending-merges-close:hover{color:var(--text)}.pending-merges-error{padding:.75rem 1.25rem;background:rgba(239,68,68,.1);color:var(--danger);font-size:.8rem;border-bottom:1px solid var(--border)}.pending-merges-empty{padding:3rem;text-align:center;color:var(--text-muted);font-size:.875rem;display:flex;align-items:center;justify-content:center}.pending-merges-list{overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.merge-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.merge-card-body{padding:1rem}.merge-entities{display:flex;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.merge-entity{flex:1 1;min-width:0}.merge-entity-label{font-size:.675rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.25rem}.merge-entity-name{font-size:.9rem;font-weight:600;color:var(--text)}.merge-entity-role{margin-top:.125rem}.merge-entity-role,.merge-entity-summary{font-size:.8rem;color:var(--text-secondary)}.merge-entity-summary{margin-top:.375rem;line-height:1.4}.merge-arrow{flex-shrink:0;color:var(--text-muted);font-size:1.25rem;padding-top:1rem}.merge-meta{font-size:.8rem;color:var(--text-secondary);line-height:1.5}.merge-meta-label{color:var(--text-muted);font-weight:500}.merge-confidence{margin-bottom:.25rem}.merge-raw-text{margin-top:.75rem;font-size:.8rem}.merge-raw-text-content{margin-top:.375rem;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:.775rem;line-height:1.5;white-space:pre-wrap;max-height:120px;overflow-y:auto}.merge-card-actions{display:flex;border-top:1px solid var(--border)}.merge-action-btn{flex:1 1;padding:.5rem;border:none;font-size:.8rem;font-weight:500;background:transparent;transition:background .15s}.merge-action-btn:disabled{opacity:.5;cursor:not-allowed}.merge-approve{color:var(--success);border-right:1px solid var(--border)}.merge-approve:hover:not(:disabled){background:rgba(34,197,94,.1)}.merge-reject{color:var(--danger)}.merge-reject:hover:not(:disabled){background:rgba(239,68,68,.1)}.meeting-prep-field{display:flex;flex-direction:column;gap:.5rem}.meeting-prep-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:500}.meeting-prep-chips{display:flex;gap:.375rem;flex-wrap:wrap}.meeting-prep-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--accent-subtle);border:1px solid var(--accent);border-radius:999px;font-size:.8rem;color:var(--text)}.meeting-prep-search-wrapper{position:relative}.meeting-prep-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);margin-top:.25rem;max-height:240px;overflow-y:auto;z-index:50;box-shadow:0 4px 12px rgba(0,0,0,.3)}.meeting-prep-dropdown-item{display:flex;flex-direction:column;gap:.125rem;width:100%;padding:.625rem .875rem;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);text-align:left;font-size:.875rem;cursor:pointer}.meeting-prep-dropdown-item:last-child{border-bottom:none}.meeting-prep-dropdown-item:hover{background:var(--bg-tertiary)}.meeting-prep-dropdown-name{font-weight:500}.meeting-prep-dropdown-detail{font-size:.75rem;color:var(--text-secondary)}.meeting-prep-hover-preview{position:fixed;z-index:100;width:320px;pointer-events:auto}.meeting-prep-hover-preview .grid-card{margin:0;cursor:default}.meeting-prep-hover-preview .grid-card:hover{transform:none}.team-familiarity-grid{display:flex;flex-direction:column;gap:.375rem}.team-familiarity-row{display:flex;align-items:center;gap:.5rem}.team-member-label{font-size:.8125rem;font-weight:600;width:2rem;flex-shrink:0;color:var(--text-secondary)}.team-familiarity-slider{flex:1 1;height:4px;accent-color:var(--accent);cursor:pointer}.team-familiarity-value{font-size:.75rem;font-weight:600;width:1.5rem;text-align:right;color:var(--text)}.team-familiarity-bar-bg{flex:1 1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.team-familiarity-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .2s ease}.source-grounding-item{margin-bottom:.75rem}.source-grounding-field{font-size:.8125rem;color:var(--text);margin-bottom:.25rem}.source-grounding-quote{margin:0;padding:.375rem .75rem;border-left:3px solid var(--accent);background:var(--bg-tertiary);font-size:.75rem;color:var(--text-secondary);font-style:italic;border-radius:0 var(--radius) var(--radius) 0}.search-row-with-toggle,.upload-row{display:flex;align-items:center;gap:.5rem}.search-row-with-toggle .search-input{flex:1 1}.search-scope-row{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.375rem;align-items:center}.search-scope-chip{padding:.2rem .6rem;font-size:.75rem;line-height:1.2;background:var(--bg);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:color .12s,background .12s,border-color .12s}.search-scope-chip:hover{color:var(--text);background:var(--bg-tertiary)}.search-scope-chip.active{color:var(--bg);background:var(--text);border-color:var(--text)}.filters-collapse-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:color .15s,background .15s}.filters-collapse-btn:hover{color:var(--text);background:var(--bg-tertiary)}.directory-filters{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;overflow:visible;transition:max-height .2s ease,margin-top .2s ease,opacity .15s ease;max-height:500px;opacity:1}.directory-filters.collapsed{max-height:0;margin-top:0;opacity:0;pointer-events:none;overflow:hidden}.view-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;flex-shrink:0}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--bg);border:none;color:var(--text-muted);transition:all .15s;cursor:pointer}.view-toggle-btn:first-child{border-right:1px solid var(--border)}.view-toggle-btn:hover{color:var(--text);background:var(--bg-tertiary)}.view-toggle-btn.active{color:var(--accent);background:var(--accent-subtle)}.directory-container-grid{display:flex;flex-direction:column;height:100%;overflow:hidden}.directory-container-grid .directory-search{border-bottom:1px solid var(--border)}.directory-container-grid .directory-count{flex-shrink:0}.person-grid-scroll{flex:1 1;overflow-y:auto;padding:1rem}.person-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));grid-gap:1rem;gap:1rem}.grid-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;flex-direction:column;gap:.75rem}.grid-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.2);border-color:var(--border-hover)}.grid-card.remote-source{border-left:3px solid rgba(59,130,246,.4)}.grid-card-header{display:flex;gap:.875rem;align-items:center}.grid-card-avatar{width:92px;height:92px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:600;color:var(--text-secondary)}.grid-card-avatar img{width:100%;height:100%;object-fit:cover}.grid-card-avatar.org-avatar img{object-fit:contain;padding:12px}.grid-card-title{flex:1 1;min-width:0}.grid-card-name{font-size:.9375rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:.375rem}.grid-card-role{font-size:.8rem;color:var(--text-secondary);margin-top:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid-card-meta{display:flex;align-items:center;gap:.5rem}.grid-card-summary{font-size:.8125rem;line-height:1.5;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.grid-card-tags{display:flex;gap:.25rem;flex-wrap:wrap}.grid-card-footer{font-size:.7rem;color:var(--text-muted);margin-top:auto;padding-top:.25rem}.person-detail-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:200}.person-detail-modal-content{position:relative;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.4)}.person-detail-modal-close{position:absolute;top:.75rem;right:.75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text-muted);cursor:pointer;z-index:10;line-height:1;transition:all .15s}.person-detail-modal-close:hover{color:var(--text);border-color:var(--border-hover);background:var(--bg)}.person-detail-modal-body{flex:1 1;overflow-y:auto}.person-detail-modal-body .person-detail{flex:unset;height:auto;overflow-y:visible}.person-detail-modal-body .person-detail-empty{height:auto;padding:3rem}html[data-theme=light] .grid-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1)}html[data-theme=light] .person-detail-modal-overlay{background:rgba(0,0,0,.35)}html[data-theme=light] .person-detail-modal-content{box-shadow:0 8px 32px rgba(0,0,0,.15)}.image-lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:300;cursor:zoom-out}.image-lightbox-img{max-width:min(90vw,800px);max-height:90vh;min-width:400px;min-height:400px;border-radius:var(--radius-lg);object-fit:contain;box-shadow:0 8px 40px rgba(0,0,0,.6);cursor:default}.image-lightbox-close{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.15);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;cursor:pointer;transition:background .15s;z-index:1}.image-lightbox-close:hover{background:rgba(255,255,255,.3)}.detail-avatar.clickable{cursor:zoom-in}.detail-avatar.clickable:hover{opacity:.85;transition:opacity .15s}.danger-zone{margin-top:1.5rem;border:1px solid var(--danger-border);border-radius:var(--radius);overflow:hidden}.danger-zone-header{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;background:var(--danger-bg);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.9rem;font-weight:600;color:var(--danger);transition:opacity .2s}.danger-zone-header:hover{opacity:.85}.danger-zone-chevron{font-size:.75em;transition:transform .2s}.danger-zone.open .danger-zone-chevron{transform:rotate(90deg)}.danger-zone-body{display:none;padding:16px;background:var(--danger-bg);border-top:1px solid var(--danger-border)}.danger-zone.open .danger-zone-body{display:block}.danger-zone-description{font-size:.85rem;color:var(--text-secondary);margin-bottom:12px}.danger-btn{padding:8px 18px;background:var(--danger);color:white;border:none;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.danger-btn:hover{background:var(--danger-hover)}.danger-btn:disabled{opacity:.5;cursor:not-allowed}.chat-mode-tabs{display:flex;gap:.25rem;padding:0 .75rem;border-bottom:1px solid var(--border)}.chat-mode-tab{position:relative;padding:.375rem .625rem .5rem;background:none;border:none;color:var(--text-muted);font-size:.8125rem;cursor:pointer;transition:color .15s}.chat-mode-tab:hover:not(.active){color:var(--text)}.chat-mode-tab.active{color:var(--accent);font-weight:500}.chat-mode-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);border-radius:1px 1px 0 0}.mode-panel{padding:.75rem 1rem;background:var(--bg-secondary);margin-bottom:.5rem}.ask-mode-panel{display:flex;flex-direction:column;gap:.5rem;background:none;border:none}.toggle-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;gap:.5rem;font-size:.8125rem;color:var(--text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.25rem 0}.toggle-switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:relative;width:36px;height:20px;background:var(--bg-tertiary,#374151);border:1px solid var(--border);border-radius:10px;transition:background .2s,border-color .2s;flex-shrink:0}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--text-muted,#9ca3af);border-radius:50%;transition:transform .2s,background .2s}.toggle-switch input:checked+.toggle-track{background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6)}.toggle-switch input:checked+.toggle-track:after{transform:translateX(16px);background:white}.file-drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.8125rem;cursor:pointer;transition:all .15s;margin-bottom:.5rem}.file-drop-zone.drag-over,.file-drop-zone:hover{border-color:var(--accent);background:rgba(59,130,246,.05);color:var(--text-secondary)}.file-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}.file-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);font-size:.75rem;color:var(--text-secondary)}.file-tag-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;font-size:.875rem;line-height:1}.file-tag-remove:hover,.update-textarea{color:var(--text)}.update-textarea{width:100%;min-height:80px;max-height:200px;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);font-size:.8125rem;font-family:inherit;resize:vertical;margin-bottom:.5rem}.update-textarea:focus{border-color:var(--accent);outline:none}.pipeline-progress{padding:.75rem;margin-top:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);font-size:.8125rem}.pipeline-stage-header{font-weight:600;margin-bottom:.5rem;color:var(--text)}.pipeline-entity{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;color:var(--text-secondary)}.pipeline-entity-status{width:1rem;text-align:center}.meeting-prep-mode-panel .meeting-prep-field{margin-bottom:.5rem}.meeting-prep-mode-panel .meeting-prep-label{font-size:.75rem}.meeting-prep-mode-panel .meeting-prep-search-wrapper{position:relative}.meeting-prep-mode-panel .meeting-prep-dropdown{position:absolute;bottom:100%;left:0;right:0;z-index:10;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);max-height:200px;overflow-y:auto;margin-bottom:.25rem}.meeting-prep-mode-panel .meeting-prep-dropdown.meeting-prep-dropdown-fixed{position:fixed;top:auto;bottom:auto;left:auto;right:auto;margin-bottom:0;max-height:240px;height:auto;z-index:100;box-shadow:0 4px 16px rgba(0,0,0,.35)}.meeting-prep-mode-panel .meeting-prep-fields-row{display:flex;flex-direction:column;gap:.75rem}@media (min-width:720px){.meeting-prep-mode-panel .meeting-prep-fields-row{flex-direction:row;gap:1rem}.meeting-prep-mode-panel .meeting-prep-fields-row>.meeting-prep-field{flex:1 1 50%;min-width:0}}.select-checkbox{position:absolute;top:.5rem;left:.5rem;z-index:2;cursor:pointer}.select-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.person-card{position:relative}.grid-select-checkbox{position:absolute;top:.75rem;right:.75rem;z-index:2;cursor:pointer}.grid-select-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.grid-card{position:relative}.btn-select-mode{padding:.375rem .75rem;font-size:.75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;white-space:nowrap}.btn-select-mode:hover{background:var(--bg-hover)}.btn-select-mode.active{background:var(--accent);color:white;border-color:var(--accent)}.selection-action-bar{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.3);z-index:50;font-size:.875rem}.btn-merge{padding:.5rem 1rem;font-size:.8rem;font-weight:600;border:none;border-radius:6px;background:var(--accent);color:white;cursor:pointer}.btn-merge:disabled{opacity:.5;cursor:not-allowed}.btn-merge:hover:not(:disabled){filter:brightness(1.1)}.aliases-editor{display:flex;flex-direction:column;gap:.5rem}.aliases-chips{display:flex;flex-wrap:wrap;gap:.375rem}.alias-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;font-size:.8rem;color:var(--text-primary)}.alias-chip-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 .125rem}.alias-chip-remove:hover{color:var(--danger)}.merge-pipeline-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:100}.merge-pipeline-modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;width:min(90vw,900px);max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}.merge-pipeline-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.merge-pipeline-header h2{margin:0;font-size:1.1rem}.merge-pipeline-error{padding:.75rem 1.25rem;background:rgba(255,0,0,.1);color:var(--danger);font-size:.85rem;border-bottom:1px solid var(--border)}.merge-pipeline-body{padding:1.25rem}.merge-pipeline-section{margin-bottom:1.5rem}.merge-pipeline-section h3{margin:0 0 .75rem;font-size:.9rem;color:var(--text-muted)}.merge-source-list{display:flex;flex-direction:column;gap:.5rem}.merge-source-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer}.merge-source-item:hover{background:var(--bg-hover)}.merge-source-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.merge-source-info{flex:1 1}.merge-source-name{font-weight:600;font-size:.9rem}.merge-source-role,.merge-source-summary{font-size:.8rem;color:var(--text-muted)}.merge-source-summary{margin-top:.25rem}.merge-primary-badge{display:inline-block;padding:.125rem .5rem;font-size:.7rem;font-weight:600;background:var(--accent);color:white;border-radius:4px;margin-left:.5rem}.merge-hint{font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.merge-note-input{width:100%;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.85rem;font-family:inherit;resize:vertical}.merge-note-input:focus{outline:none;border-color:var(--accent)}.merge-pipeline-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.merge-preview-grid{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:1.5rem;gap:1.5rem}@media (max-width:700px){.merge-preview-grid{grid-template-columns:1fr}}.merge-preview-result h3,.merge-preview-sources h3{margin:0 0 .75rem;font-size:.9rem;color:var(--text-muted)}.merge-source-card{padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem}.merge-edit-fields{display:flex;flex-direction:column;gap:.75rem}.merge-edit-fields label{display:flex;flex-direction:column;gap:.25rem}.merge-edit-fields label span{font-size:.75rem;color:var(--text-muted);font-weight:500}.merge-edit-fields textarea{font-family:inherit;resize:vertical}.merge-photo-picker{margin-bottom:1rem}.merge-photo-picker h4{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem}.merge-photo-options{display:flex;gap:.75rem;flex-wrap:wrap}.merge-photo-option{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.5rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--bg-tertiary);cursor:pointer;transition:border-color .15s}.merge-photo-option:hover{border-color:var(--text-muted)}.merge-photo-option.selected{border-color:var(--accent,#3b82f6)}.merge-photo-option img{width:64px;height:64px;border-radius:50%;object-fit:cover}.merge-photo-option span{font-size:.75rem;color:var(--text-secondary)}.merge-section-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-bottom:1px solid var(--border);margin-bottom:.75rem;margin-top:1rem}.merge-section-header:first-child{margin-top:0}.merge-section-header h4{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0}.merge-section-toggle{font-size:.7rem;color:var(--text-muted);transition:transform .15s}.merge-section-content{display:flex;flex-direction:column;gap:.5rem}.merge-readonly-field{font-size:.85rem;color:var(--text-secondary);padding:.375rem 0}.merge-readonly-field span{color:var(--text-muted);font-size:.75rem;display:block;margin-bottom:.125rem}.merge-field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.tf-quick-edit{margin-bottom:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.tf-quick-edit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.tf-quick-edit-header h3{margin:0;font-size:.85rem;display:flex;align-items:center}.tf-info-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;padding:0 .25rem;opacity:.7;transition:opacity .15s}.tf-info-btn:hover{opacity:1;color:var(--accent)}.tf-info-tooltip{background:var(--bg-primary,#1a1a2e);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;margin-bottom:.75rem;font-size:.75rem}.tf-info-row{display:flex;flex-direction:column;padding:.3rem 0;border-bottom:1px solid var(--border)}.tf-info-row:last-child{border-bottom:none}.tf-info-row strong{color:var(--text-primary,#fff)}.tf-info-meaning{color:var(--text-muted);font-size:.7rem}.tf-info-action{color:var(--accent);font-size:.7rem;font-style:italic}.tf-members{display:flex;flex-direction:column;gap:.5rem}.tf-member-row{display:flex;align-items:center;gap:.5rem}.tf-member-label{font-size:.75rem;color:var(--text-secondary,#ccc);min-width:80px;white-space:nowrap}.tf-segment-group{display:flex;align-items:center;gap:2px;flex:1 1}.tf-segment{flex:1 1;padding:.25rem .35rem;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.65rem;cursor:pointer;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-segment:first-child{border-radius:4px 0 0 4px}.tf-segment:last-child{border-radius:0 4px 4px 0}.tf-segment:hover{background:var(--bg-hover,#2a2a3e);color:var(--text-primary,#fff)}.tf-segment.active.level-unknown{background:#333;color:var(--text-muted);border-color:#555}.tf-segment.active.level-0{background:#2a1a1a;color:#b07070;border-color:#b07070}.tf-segment.active.level-1{background:#2d2215;color:#d4a057;border-color:#d4a057}.tf-segment.active.level-2{background:var(--accent-subtle,#1a2744);color:var(--accent);border-color:var(--accent)}.tf-segment.active.level-3{background:#0a2e1a;color:var(--success,#22c55e);border-color:var(--success,#22c55e)}.events-list-container{height:100%;display:flex;flex-direction:column;overflow:hidden;max-width:900px;margin:0 auto;padding:0 1rem}.events-list-header{display:flex;gap:.75rem;padding:1rem 0;align-items:center}.events-list-header .search-input{flex:1 1}.events-list-scroll{flex:1 1;overflow-y:auto}.btn-create-event{padding:.5rem 1rem;background:var(--accent);color:white;border:none;border-radius:var(--radius);font-size:.8rem;font-weight:500;white-space:nowrap;transition:background .15s}.btn-create-event:hover{background:var(--accent-hover)}.btn-create-event:disabled{opacity:.5;cursor:not-allowed}.event-card{padding:.875rem 1rem;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem;cursor:pointer;transition:background .1s,border-color .1s;background:var(--bg-secondary)}.event-card:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.event-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.375rem}.event-card-name{font-size:.9375rem;font-weight:600;color:var(--text)}.event-card-badges{display:flex;gap:.375rem;flex-shrink:0}.event-type-badge{border-radius:999px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border)}.event-status-badge,.event-type-badge{display:inline-block;padding:.125rem .5rem;font-size:.675rem;font-weight:500;text-transform:capitalize}.event-status-badge{border-radius:999px}.event-status-badge.status-planning{background:rgba(59,130,246,.15);color:rgb(96,165,250);border:1px solid rgba(59,130,246,.3)}.event-status-badge.status-prep-in-progress{background:rgba(234,179,8,.15);color:rgb(250,204,21);border:1px solid rgba(234,179,8,.3)}.event-status-badge.status-ready{background:rgba(34,197,94,.15);color:rgb(74,222,128);border:1px solid rgba(34,197,94,.3)}.event-status-badge.status-attended{background:rgba(160,160,160,.15);color:var(--text-secondary);border:1px solid rgba(160,160,160,.3)}.event-status-badge.status-archived{background:rgba(100,100,100,.1);color:var(--text-muted);border:1px solid rgba(100,100,100,.2)}.event-card-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--text-secondary);margin-bottom:.25rem}.event-card-footer{font-size:.75rem;color:var(--text-muted)}.event-detail{height:100%;overflow-y:auto;padding:1.5rem 2rem;max-width:900px;margin:0 auto}.event-back-button{background:none;border:none;color:var(--accent);font-size:.875rem;padding:0;margin-bottom:1rem;cursor:pointer}.event-back-button:hover{text-decoration:underline}.event-detail-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.event-detail-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.event-detail-title-row h2{font-size:1.5rem;font-weight:600;margin:0}.event-detail-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.event-detail-meta a{color:var(--accent);text-decoration:none}.event-detail-meta a:hover{text-decoration:underline}.event-detail-description{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-top:.5rem}.event-section{margin-bottom:1.5rem}.event-section h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}.event-section p,.event-section ul{font-size:.875rem;line-height:1.6;color:var(--text-secondary)}.event-section ul{padding-left:1.25rem}.event-team-list{display:flex;gap:.5rem;flex-wrap:wrap}.event-team-member{display:inline-block;padding:.25rem .625rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);font-size:.8rem;color:var(--text-secondary)}.prep-checklist{display:flex;flex-direction:column;gap:.375rem}.prep-checklist-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:.375rem 0}.prep-checklist-icon{font-size:.875rem;width:1.25rem;text-align:center;flex-shrink:0}.prep-checklist-item.done,.prep-checklist-item.done .prep-checklist-icon{color:var(--success)}.prep-checklist-item.pending{color:var(--text-secondary)}.prep-checklist-item.pending .prep-checklist-icon{color:var(--text-muted)}.prep-checklist-item.future{color:var(--text-muted);font-style:italic}.prep-checklist-item.future .prep-checklist-icon{color:var(--text-muted);opacity:.5}.prep-checklist-todo{display:inline-block;padding:.0625rem .375rem;border-radius:999px;font-size:.625rem;font-weight:600;background:rgba(160,160,160,.1);color:var(--text-muted);margin-left:.5rem;font-style:normal}.event-attendees-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:.5rem;gap:.5rem;max-height:400px;overflow-y:auto}.event-attendee-card{padding:.625rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);transition:background .1s}.event-attendee-card:hover{background:var(--bg-tertiary)}.event-attendee-name{font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:.125rem}.event-attendee-role{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scoring-table{width:100%;border-collapse:collapse;font-size:.8rem}.scoring-table td,.scoring-table th{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.scoring-table th{font-weight:600;color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.scoring-table td{color:var(--text-secondary)}.event-scoring-note{margin-top:.5rem;font-size:.75rem;color:var(--text-muted);font-style:italic}.instructions-container{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.instructions-actions{display:flex;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.instructions-content{padding:1rem;max-height:500px;overflow-y:auto}.instructions-content pre{font-family:inherit;font-size:.8rem;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;margin:0}.create-event-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:100}.create-event-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.create-event-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.create-event-header h2{font-size:1rem;font-weight:600;margin:0}.create-event-error{padding:.75rem 1.25rem;background:rgba(239,68,68,.1);color:var(--danger);font-size:.8rem;border-bottom:1px solid var(--border)}.create-event-body{padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:.875rem}.create-event-field{display:flex;flex-direction:column;gap:.25rem}.create-event-field label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.create-event-field input,.create-event-field select,.create-event-field textarea{padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;outline:none}.create-event-field input:focus,.create-event-field select:focus,.create-event-field textarea:focus{border-color:var(--accent)}.create-event-field textarea{resize:vertical;min-height:3rem}.create-event-field select{cursor:pointer}.create-event-row{display:flex;gap:.75rem}.create-event-row .create-event-field{flex:1 1}.create-event-team-checkboxes{display:flex;flex-direction:column;gap:.375rem}.create-event-checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);cursor:pointer}.create-event-checkbox-label input[type=checkbox]{accent-color:var(--accent)}.create-event-derived{padding:.625rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.25rem}.create-event-derived-row{display:flex;gap:.5rem;font-size:.75rem;align-items:center}.create-event-derived-label{color:var(--text-muted);white-space:nowrap}.create-event-derived code{color:var(--text-secondary);font-family:SF Mono,Fira Code,monospace;font-size:.7rem;background:var(--bg);padding:.125rem .375rem;border-radius:3px}.create-event-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}html[data-theme=light] .event-status-badge.status-planning{background:rgba(37,99,235,.1);color:rgb(37,99,235);border-color:rgba(37,99,235,.3)}html[data-theme=light] .event-status-badge.status-prep-in-progress{background:rgba(202,138,4,.1);color:rgb(161,98,7);border-color:rgba(202,138,4,.3)}html[data-theme=light] .event-status-badge.status-ready{background:rgba(22,163,74,.1);color:rgb(22,163,74);border-color:rgba(22,163,74,.3)}html[data-theme=light] .event-status-badge.status-attended{background:rgba(100,100,100,.1);color:var(--text-secondary);border-color:rgba(100,100,100,.2)}html[data-theme=light] .event-status-badge.status-archived{background:rgba(100,100,100,.05);color:var(--text-muted);border-color:rgba(100,100,100,.15)}html[data-theme=light] .create-event-overlay{background:rgba(0,0,0,.5)}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:768px){.app-header{flex-direction:column;align-items:stretch;padding:.5rem .75rem;gap:.5rem}.app-header h1{font-size:1rem}.tab-bar{order:1;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;margin:0 -.75rem;padding-left:.75rem;padding-right:.75rem;gap:.125rem}.tab-button{padding:.5rem .75rem;font-size:.8125rem;min-height:44px;flex-shrink:0}.header-actions{position:absolute;top:.5rem;right:.75rem}.app-header{position:relative}.app-content{overflow-y:auto;overflow-x:hidden}.directory-container{flex-direction:column}.directory-list{width:100%;border-right:none;border-bottom:1px solid var(--border);max-height:50vh}.pending-merges-trigger{padding:.375rem .625rem;font-size:.75rem}.theme-toggle{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.logout-button{min-height:44px;padding:.5rem .625rem;font-size:.75rem}}@media (max-width:375px){.app-header{padding:.375rem .5rem}.app-header h1{font-size:.875rem}.tab-button{padding:.375rem .625rem;font-size:.75rem}.tab-bar{margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem}}@media (min-width:769px) and (max-width:1024px){.tab-button{padding:.5rem .75rem;font-size:.8125rem}.app-header{padding:.625rem 1rem}}.chat-message-content>:first-child{margin-top:0}.chat-message-content>:last-child{margin-bottom:0}.chat-message-content h1{font-size:1.25rem;font-weight:600;margin:1rem 0 .5rem;line-height:1.3}.chat-message-content h2{font-size:1.1rem;font-weight:600;margin:.875rem 0 .375rem;line-height:1.3}.chat-message-content h3{font-size:1rem;font-weight:600;margin:.75rem 0 .375rem;line-height:1.4}.chat-message-content h4,.chat-message-content h5,.chat-message-content h6{font-size:.875rem;font-weight:600;margin:.625rem 0 .25rem;line-height:1.4}.chat-message-content p{margin:.5rem 0;line-height:1.6}.chat-message-content ol,.chat-message-content ul{margin:.5rem 0;padding-left:1.5rem}.chat-message-content li{margin:.25rem 0;line-height:1.5}.chat-message-content li>ol,.chat-message-content li>ul{margin:.125rem 0}.chat-message-content blockquote{border-left:3px solid var(--accent);padding:.375rem .75rem;margin:.5rem 0;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:0 var(--radius) var(--radius) 0}.chat-message-content blockquote p{margin:.25rem 0}.chat-message-content code{background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:3px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8125em}.chat-message-content pre{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;margin:.5rem 0;overflow-x:auto;line-height:1.5}.chat-message-content pre code{background:none;padding:0;font-size:.8125rem}.chat-message-content table{width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.8125rem}.chat-message-content td,.chat-message-content th{border:1px solid var(--border);padding:.375rem .625rem;text-align:left}.chat-message-content th{background:var(--bg-tertiary);font-weight:600}.chat-message-content tr:nth-child(2n){background:var(--bg-secondary)}.chat-message.user .chat-message-content tr:nth-child(2n){background:rgba(255,255,255,.1)}.chat-message.user .chat-message-content th{background:rgba(255,255,255,.15)}.chat-message.user .chat-message-content td,.chat-message.user .chat-message-content th{border-color:rgba(255,255,255,.2)}.chat-message.user .chat-message-content code{background:rgba(255,255,255,.15)}.chat-message.user .chat-message-content pre{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.chat-message.user .chat-message-content blockquote{background:rgba(255,255,255,.1);border-left-color:rgba(255,255,255,.5);color:rgba(255,255,255,.8)}.chat-message-content hr{border:none;border-top:1px solid var(--border);margin:.75rem 0}.chat-message-content a{color:var(--accent);text-decoration:none}.chat-message-content a:hover{text-decoration:underline}.chat-message.user .chat-message-content a{color:rgba(255,255,255,.9);text-decoration:underline}.chat-message-content strong{font-weight:600}.chat-message-content del{text-decoration:line-through;color:var(--text-muted)}.chat-message-content img{max-width:100%;border-radius:var(--radius)}.chat-stop-btn{padding:.75rem 1.25rem;background:var(--danger);color:white;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer}.chat-stop-btn:hover{background:var(--danger-hover)}.chat-message-actions{display:flex;gap:.5rem;margin-top:.375rem;padding-left:0}.chat-regenerate-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .15s}.chat-regenerate-btn:hover{color:var(--text);border-color:var(--border-hover);background:var(--bg-secondary)}.chat-mode-description{padding:.375rem .75rem;font-size:.75rem;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-secondary)}.add-to-directory-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .15s}.add-to-directory-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-subtle)}.add-to-directory-form{margin-top:.5rem;padding:.75rem;background:var(--bg-secondary)}.add-to-directory-form,.add-to-directory-form textarea{border:1px solid var(--border);border-radius:var(--radius)}.add-to-directory-form textarea{width:100%;min-height:60px;padding:.5rem;background:var(--bg);color:var(--text);font-size:.8125rem;font-family:inherit;resize:vertical;margin-bottom:.5rem}.add-to-directory-form textarea:focus{border-color:var(--accent);outline:none}.add-to-directory-form-actions{display:flex;gap:.5rem;justify-content:flex-end}.add-to-directory-form-actions button{padding:.375rem .75rem;border-radius:var(--radius);font-size:.75rem;cursor:pointer}.add-to-directory-submit{background:var(--accent);color:white;border:none;font-weight:500}.add-to-directory-submit:hover{background:var(--accent-hover)}.add-to-directory-submit:disabled{opacity:.5;cursor:not-allowed}.add-to-directory-cancel{background:none;border:1px solid var(--border);color:var(--text-secondary)}.add-to-directory-cancel:hover{background:var(--bg-tertiary)}.location-autocomplete-wrapper{position:relative}.location-autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);max-height:200px;overflow-y:auto;margin-top:2px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.location-autocomplete-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;cursor:pointer;font-size:.8125rem;border:none;background:none;width:100%;text-align:left;color:var(--text)}.location-autocomplete-item:hover{background:var(--bg-secondary)}.location-autocomplete-item-name{flex:1 1}.location-autocomplete-item-count{color:var(--text-muted);font-size:.75rem;margin-left:.5rem;white-space:nowrap}.error-message{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;margin-bottom:.75rem;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius);color:var(--danger);font-size:.875rem;line-height:1.4}.error-dismiss{background:none;border:none;color:var(--danger);font-size:1.25rem;padding:0 .25rem;margin-left:.5rem;flex-shrink:0;line-height:1;opacity:.7}.error-dismiss:hover{opacity:1}.hidden-file-input{display:none}.followup-empty{font-size:.875rem;color:var(--text-muted)}.followup-date-input{max-width:200px}.followup-section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.followup-section-header h3{margin:0}.followup-add-btn{font-size:.8rem;padding:.15rem .5rem;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;cursor:pointer}.followup-add-btn:hover{background:var(--bg-hover)}.followup-error{font-size:.85rem;color:var(--danger,#c0392b);margin-bottom:.5rem}.followup-list{list-style:none;padding:0;margin:0 0 .5rem;display:flex;flex-direction:column;gap:.4rem}.followup-item{justify-content:space-between;padding:.4rem .5rem;background:var(--bg-subtle,rgba(0,0,0,.03));border-radius:4px}.followup-item,.followup-item-main{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.followup-item-main{flex:1 1 auto;min-width:0}.followup-action{font-weight:500}.followup-trigger{font-size:.85rem;color:var(--text-muted)}.followup-mode{font-size:.75rem;color:var(--text-muted);font-style:italic}.followup-item-actions{display:flex;gap:.3rem}.followup-item-actions button{font-size:.75rem;padding:.15rem .45rem;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:3px;cursor:pointer}.followup-item-actions button:hover{background:var(--bg-hover)}.followup-item-actions button.danger{color:var(--danger,#c0392b)}.followup-add-form{display:flex;flex-direction:column;gap:.4rem;padding:.5rem;background:var(--bg-subtle,rgba(0,0,0,.03));border-radius:4px}.followup-add-row{display:flex;gap:.75rem;font-size:.85rem}.followup-add-row label{display:flex;align-items:center;gap:.25rem}.followup-add-actions{display:flex;gap:.4rem;justify-content:flex-end}.followup-add-actions button{padding:.25rem .75rem}.followups-tab{padding:1rem;max-width:900px;margin:0 auto}.followups-tab-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.followups-tab-header h2{margin:0;flex:0 0 auto}.edit-name-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.375rem;gap:.375rem;margin-bottom:.375rem}.edit-input-name{font-size:1.1rem;font-weight:600}.edit-input-spaced{margin-bottom:.375rem}.detail-header-info-flex{flex:1 1}.aliases-display{font-size:.8rem;color:var(--text-muted);margin-top:2px}.bio-text{white-space:pre-wrap}.tag-muted{opacity:.7}.markdown-text-block{font-size:.875rem;line-height:1.6;color:var(--text-secondary)}.md-bold-line{display:block;margin-bottom:.25rem;color:var(--text)}.md-list-item{padding-left:1rem;position:relative}.md-bullet{position:absolute;left:0}.file-list{display:flex;flex-direction:column;gap:.375rem}.file-list-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;color:var(--accent);font-size:.875rem;text-decoration:none;transition:background .15s}.file-list-item:hover{background:var(--bg-secondary)}.file-list-button{background:none;cursor:pointer;text-align:left}.file-list-date{color:var(--text-secondary);font-size:.8rem;margin-left:.5rem;flex-shrink:0}.research-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.research-modal-content{background:var(--bg);border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;border:1px solid var(--border);box-shadow:0 20px 60px rgba(0,0,0,.3)}.research-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.research-modal-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text)}.research-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0 .25rem;line-height:1}.research-modal-body{padding:1.25rem;overflow-y:auto;font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.research-modal-loading{display:flex;justify-content:center;padding:2rem}.research-hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.research-h1{font-size:1.5rem;font-weight:700;color:var(--text);margin:1.25rem 0 .5rem;line-height:1.3}.research-h2{font-size:1.2rem;margin:1rem 0 .4rem}.research-h2,.research-h3{font-weight:600;color:var(--text);line-height:1.3}.research-h3{font-size:1.05rem;margin:.75rem 0 .3rem}.research-bold-line{display:block;margin-bottom:.25rem;color:var(--text)}.research-list-item{padding-left:1.25rem;position:relative;line-height:1.6}.research-bullet{position:absolute;left:.25rem}.research-paragraph{margin:.2rem 0;line-height:1.6}.research-spacer{height:.5rem}.tf-closeness-pill{margin-left:8px;vertical-align:middle}.tf-spinner{margin-left:8px}.interaction-date-input{flex:0 0 auto}.interaction-context-input{flex:1 1}.interaction-content-textarea{width:100%;resize:vertical}.expertise-remove{margin-top:.375rem}.btn-delete-spaced{margin-left:.5rem}.btn-disabled-muted{opacity:.6}.regenerate-hint{font-size:.75rem;color:var(--text-muted);margin-left:.5rem}.quick-add-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:100}.quick-add-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:96%;max-width:900px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.quick-add-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.quick-add-header h2{font-size:1rem;font-weight:600}.quick-add-close{border:none;font-size:1.5rem}.quick-add-close:hover{color:var(--text)}.quick-add-error{padding:.75rem 1.25rem;background:rgba(239,68,68,.1);color:var(--danger);font-size:.8rem;border-bottom:1px solid var(--border);white-space:pre-wrap}.quick-add-stage{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;flex:1 1;overflow:hidden;min-height:0}.quick-add-hint{font-size:.85rem;color:var(--text-muted)}.quick-add-textarea{width:100%;min-height:180px;font-family:inherit;font-size:.9rem;background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;resize:vertical}.quick-add-shared-row{display:flex;gap:.5rem;flex-wrap:wrap}.quick-add-shared-row label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--text-muted);flex:1 1;min-width:140px}.quick-add-shared-row input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .5rem;color:var(--text);font-size:.85rem}.quick-add-actions{display:flex;gap:.5rem;flex-wrap:wrap}.quick-add-primary{background:var(--accent,#3b82f6);color:white;border:none;border-radius:var(--radius);padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer}.quick-add-primary:hover:not(:disabled){opacity:.9}.quick-add-primary:disabled{opacity:.5;cursor:not-allowed}.quick-add-secondary{background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem 1rem;font-size:.875rem;cursor:pointer}.quick-add-stage-running{align-items:center;justify-content:center;padding:2.5rem 1.25rem}.quick-add-running-text{color:var(--text-muted);font-size:.875rem}.quick-add-live-text{font-size:.75rem;color:var(--text-muted);white-space:pre-wrap;max-width:100%;max-height:200px;overflow:auto;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;margin-top:.5rem;width:100%}.quick-add-stage-preview{display:grid;grid-template-rows:1fr auto auto auto;grid-gap:.5rem;gap:.5rem}.quick-add-proposals{overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;max-height:50vh}.quick-add-empty{padding:2rem;text-align:center;color:var(--text-muted);font-size:.875rem}.quick-add-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.quick-add-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.quick-add-kind-badge{font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:.15rem .4rem;border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-muted)}.quick-add-kind-new-org,.quick-add-kind-new-person{color:#10b981}.quick-add-kind-update-org,.quick-add-kind-update-person{color:#3b82f6}.quick-add-kind-new-interaction{color:#f59e0b}.quick-add-kind-new-follow-up{color:#a855f7}.quick-add-followup-meta{display:flex;gap:.5rem;align-items:center;font-size:.75rem;color:var(--text-muted)}.quick-add-followup-kind{font-weight:600}.quick-add-followup-mode{font-style:italic}.quick-add-followup-target{font-size:.75rem;color:var(--text-muted)}.quick-add-card-title{font-weight:600;color:var(--text);font-size:.9rem}.quick-add-card-ref{font-size:.7rem;color:var(--text-muted);margin-left:auto}.quick-add-card-rationale{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem;font-style:italic}.quick-add-match-block{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius);padding:.5rem;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.3rem}.quick-add-match-label{font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.quick-add-match-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:.25rem 0}.quick-add-match-name strong{font-size:.85rem}.quick-add-match-conf{font-size:.7rem;color:var(--text-muted);margin-left:.25rem}.quick-add-match-reason{font-size:.75rem;color:var(--text-secondary);flex:1 1;min-width:200px}.quick-add-match-block button{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:.3rem .6rem;font-size:.75rem;color:var(--text);cursor:pointer}.quick-add-match-block button.quick-add-match-picked{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.5);color:#10b981}.quick-add-card-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.5rem;gap:.5rem}.quick-add-field{display:flex;flex-direction:column;gap:.2rem}.quick-add-field-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.quick-add-field-label em{text-transform:none;font-style:normal;color:#10b981;font-size:.7rem;margin-left:.25rem}.quick-add-field input,.quick-add-field textarea{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .5rem;font-size:.85rem;font-family:inherit}.quick-add-field-touched input,.quick-add-field-touched textarea{border-color:rgba(16,185,129,.5)}.quick-add-chips{display:flex;flex-wrap:wrap;background:var(--bg-secondary);border:1px solid var(--border);padding:.25rem}.quick-add-chip,.quick-add-chips{gap:.25rem;align-items:center;border-radius:var(--radius)}.quick-add-chip{background:var(--bg-tertiary);padding:.15rem .5rem;font-size:.75rem;display:inline-flex}.quick-add-chip button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;line-height:1}.quick-add-chips input{border:none;background:transparent;padding:.15rem .25rem;font-size:.75rem;color:var(--text);outline:none;min-width:40px}.quick-add-chat{max-height:180px;overflow-y:auto;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;display:flex;flex-direction:column;gap:.3rem}.quick-add-chat-msg{font-size:.8rem;line-height:1.4}.quick-add-chat-role{font-size:.65rem;text-transform:uppercase;color:var(--text-muted);margin-right:.3rem}.quick-add-chat-streaming{opacity:.7}.quick-add-chat-input{display:flex;gap:.4rem}.quick-add-chat-input input{flex:1 1;padding:.5rem .6rem}.quick-add-chat-input button,.quick-add-chat-input input{background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.quick-add-chat-input button{padding:.5rem .8rem;cursor:pointer}.quick-add-stage-done{padding:2rem 1.25rem}.quick-add-stage-done ul{list-style:none;padding:0;margin:.5rem 0 1rem}.quick-add-stage-done li{font-size:.85rem;color:var(--text-secondary);margin:.25rem 0}@media (max-width:640px){.quick-add-modal{width:100%;max-height:100vh;border-radius:0}.quick-add-card-fields{grid-template-columns:1fr}}.quick-add-trigger{background:var(--accent,#3b82f6);color:white;border:none;border-radius:var(--radius);padding:.4rem .8rem;font-size:.8rem;font-weight:500;cursor:pointer}.quick-add-trigger:hover{opacity:.9}.quick-add-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary);cursor:pointer}.quick-add-toggle-inline{margin-left:auto}.spinner-sm{width:14px;height:14px;border-width:2px}.quick-add-bg-banner{display:flex;align-items:center;gap:.5rem;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);border-radius:var(--radius);padding:.5rem .75rem;font-size:.8rem;color:var(--text-secondary)}.quick-add-bg-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.4rem}.quick-add-bg-loading{flex-direction:row;align-items:center;font-size:.8rem;color:var(--text-muted)}.quick-add-bg-error{font-size:.8rem;color:var(--danger);background:rgba(239,68,68,.05)}.quick-add-photo-picker{display:flex;gap:.5rem;align-items:center}.quick-add-photo-active img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius);border:2px solid rgba(16,185,129,.5)}.quick-add-photo-alts{display:flex;gap:.3rem}.quick-add-photo-alt{background:none;border:1px solid var(--border);border-radius:var(--radius);padding:0;cursor:pointer;overflow:hidden}.quick-add-photo-alt img{width:40px;height:40px;object-fit:cover;display:block}.quick-add-photo-alt:hover{border-color:var(--text-muted)}.quick-add-bg-summary{font-size:.75rem;color:var(--text-secondary)}.quick-add-bg-summary summary{cursor:pointer;color:var(--text-muted)}.quick-add-bg-summary pre{white-space:pre-wrap;font-family:inherit;margin:.3rem 0 0;padding:.5rem;background:var(--bg-tertiary);border-radius:var(--radius);max-height:240px;overflow-y:auto}.quick-add-header-actions{display:flex;gap:.25rem}.quick-add-minimise{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);width:28px;height:28px;font-size:1.1rem;cursor:pointer;line-height:1}.quick-add-minimise:hover{color:var(--text);border-color:var(--text-muted)}.quick-add-resume{background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .7rem;font-size:.75rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}.quick-add-resume-working{border-color:rgba(59,130,246,.5);color:#3b82f6}.quick-add-resume-ready{border-color:rgba(16,185,129,.5);color:#10b981}.quick-add-resume-countdown{border-color:rgba(245,158,11,.6);color:#f59e0b;animation:quickAddPulse 1.5s ease-in-out infinite}@keyframes quickAddPulse{0%,to{opacity:1}50%{opacity:.65}}.quick-add-resume-paused{border-color:var(--text-muted);color:var(--text-muted)}.quick-add-addedby-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.quick-add-addedby-row label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary)}.quick-add-addedby-row select{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.35rem .5rem;font-size:.85rem}.quick-add-addedby-hint{font-size:.7rem;color:var(--text-muted);flex:1 1;min-width:200px}.quick-add-section-heading{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-top:1px solid var(--border);padding-top:.6rem;margin-top:.2rem}.quick-add-date-input{display:flex;gap:.3rem;align-items:stretch}.quick-add-date-input input{flex:1 1;min-width:0}.quick-add-today-btn{background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:0 .6rem;font-size:.75rem;cursor:pointer;white-space:nowrap}.quick-add-today-btn:hover{border-color:var(--text-muted)}.quick-add-toggles{display:flex;flex-direction:column;gap:.3rem}.quick-add-action-hint,.quick-add-toggle-sub{color:var(--text-muted);font-size:.75rem}.quick-add-action-hint{align-self:center}.quick-add-countdown{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.4);border-radius:var(--radius);padding:.5rem .75rem;font-size:.85rem}.quick-add-countdown-paused{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-muted)}.quick-add-countdown strong{font-weight:600}.quick-add-countdown-time{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;font-weight:600}.quick-add-countdown-actions{display:flex;gap:.3rem;margin-left:auto}.quick-add-countdown-actions button{background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.25rem .5rem;font-size:.75rem;cursor:pointer}.quick-add-countdown-actions button:hover{border-color:var(--text-muted)}.quick-add-context-field{flex:2 1 320px!important}.quick-add-field-hint{font-size:.7rem;color:var(--text-muted);margin-top:.2rem;font-style:italic}.quick-add-close{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);width:28px;height:28px;font-size:1.2rem;cursor:pointer;line-height:1}.quick-add-close:hover{color:var(--danger);border-color:var(--danger)}.quick-add-bg-error-banner{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.4);border-radius:var(--radius);padding:.6rem .75rem;font-size:.85rem;color:var(--text);display:flex;flex-direction:column;gap:.3rem}.quick-add-bg-error-banner ul{margin:0;padding-left:1.25rem}.quick-add-bg-error-banner li{margin:.15rem 0;display:flex;align-items:flex-start;gap:.4rem}.quick-add-bg-error-banner li>button{margin-left:auto;background:none;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;line-height:1;padding:0 .2rem}.quick-add-bg-error-hint{font-size:.75rem;color:var(--text-muted);font-style:italic}.quick-add-chat-content>*{margin:0}.quick-add-chat-content p{margin:.15rem 0}.quick-add-chat-content p:first-child{margin-top:0}.quick-add-chat-content p:last-child{margin-bottom:0}.quick-add-chat-content ol,.quick-add-chat-content ul{margin:.25rem 0;padding-left:1.25rem}.quick-add-chat-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background:var(--bg-secondary);padding:.05rem .3rem;border-radius:3px}.quick-add-chat-content pre{background:var(--bg-secondary);padding:.4rem .5rem;border-radius:var(--radius);overflow-x:auto;font-size:.75rem;margin:.25rem 0}.quick-add-chat-content strong{font-weight:600}.quick-add-field-wide{grid-column:1/-1}.quick-add-field-wide textarea{width:100%;resize:vertical;min-height:4em;font-family:inherit}.quick-add-entity-link{background:none;border:none;padding:0;font:inherit;font-size:.75rem;color:var(--accent,#3b82f6);margin-left:auto;cursor:pointer;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:2px}.quick-add-entity-link:hover{-webkit-text-decoration-style:solid;text-decoration-style:solid}.filter-dropdown{position:relative;display:inline-block}.filter-dropdown-trigger{display:inline-flex;align-items:center;gap:.4rem;height:30px;padding:0 .7rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:.78rem;line-height:1;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.filter-dropdown-trigger:hover{border-color:var(--border-hover);color:var(--text)}.filter-dropdown-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filter-dropdown-trigger.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--text)}.filter-dropdown-label{font-weight:500}.filter-dropdown-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 .35rem;background:var(--accent);color:white;border-radius:999px;font-size:.65rem;font-weight:600}.filter-dropdown-caret{color:currentColor;transition:transform .15s ease}.filter-dropdown-caret.open{transform:rotate(180deg)}.filter-dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:220px;max-width:320px;max-height:60vh;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.4);overflow:hidden}.filter-dropdown-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--border);background:var(--bg)}.filter-dropdown-panel-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.filter-dropdown-clear{background:none;border:none;color:var(--accent);font-size:.72rem;cursor:pointer;padding:0}.filter-dropdown-clear:hover{text-decoration:underline}.filter-dropdown-search{margin:.5rem .625rem .25rem;padding:.4rem .625rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.8rem;outline:none}.filter-dropdown-search:focus{border-color:var(--accent)}.filter-dropdown-options{flex:1 1;overflow-y:auto;padding:.25rem}.filter-dropdown-option{width:100%;display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:.8rem;text-align:left;cursor:pointer;transition:background .1s,color .1s}.filter-dropdown-option:hover{background:var(--bg-tertiary);color:var(--text)}.filter-dropdown-option.active{color:var(--text)}.filter-dropdown-option.active .filter-dropdown-option-check{background:var(--accent);border-color:var(--accent);color:white}.filter-dropdown-option-check{flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:transparent}.filter-dropdown-option-label{flex:1 1;display:inline-flex;align-items:center;gap:.4rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.filter-dropdown-empty{padding:.75rem .5rem;text-align:center;color:var(--text-muted);font-size:.8rem}.filter-bar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}@media (max-width:768px){body,html{max-width:100vw;overflow-x:hidden}.app-header h1{white-space:normal;overflow-wrap:anywhere;min-width:0}.header-actions{position:static!important;flex-wrap:wrap;justify-content:flex-end;gap:.375rem;min-width:0}.tab-bar{min-width:0;max-width:100%}.current-account{display:none}.logout-button,.pending-merges-trigger,.quick-add-trigger{padding:.375rem .625rem;font-size:.75rem;min-height:36px}.theme-toggle{min-height:36px;min-width:36px}.directory-container,.directory-container-grid{flex-direction:column;overflow-y:auto}.directory-list{width:100%!important;max-height:none;flex-shrink:0;border-right:none;border-bottom:1px solid var(--border)}.person-detail,.person-list{overflow-y:visible}.person-detail{flex:none!important;height:auto;padding:1rem .875rem}.person-detail-empty,.person-detail:has(.person-detail-empty){display:none}.directory-search{padding:.625rem .75rem}.person-grid-scroll{padding:.75rem}.person-grid{grid-template-columns:minmax(0,1fr);gap:.625rem}.grid-card{padding:.875rem;gap:.5rem}.grid-card,.grid-card-header,.grid-card-meta,.grid-card-title{min-width:0}.grid-card-name{min-width:0}.grid-card-name,.grid-card-summary{overflow-wrap:anywhere}.grid-card-avatar{width:64px;height:64px;font-size:1.25rem}.view-toggle{display:none!important}.directory-search{position:relative}.filter-dropdown{position:static}.filter-dropdown-panel{position:absolute;top:100%;left:.5rem;right:.5rem;margin-top:6px;width:auto;max-width:none;min-width:0;max-height:55vh}.detail-header{gap:.875rem;margin-bottom:1rem;flex-wrap:wrap}.detail-header .edit-actions{flex-basis:100%;margin-left:0;order:2}.person-detail-modal-body .detail-header{padding-right:2.25rem}.detail-avatar{width:64px;height:64px;font-size:1.25rem}.detail-header-info h2{font-size:1.125rem}.contact-grid{grid-template-columns:1fr;gap:.125rem 0}.contact-grid .contact-label{margin-top:.5rem;font-size:.75rem}.contact-grid .contact-label:first-child{margin-top:0}.edit-name-grid{grid-template-columns:1fr}.person-detail-modal-content{width:100%;max-width:100vw;max-height:100vh;height:100vh;border-radius:0;border:none}.person-detail-modal-body .person-detail{padding:.875rem}.person-detail-modal-close{top:.5rem;right:.5rem}.chat-mount-panel.chat-mount-visible{width:100vw!important;min-width:0;border-left:none;box-shadow:none}.chat-panel-resize-handle{display:none}.chat-bubble-launcher{right:.875rem;bottom:.875rem;width:48px;height:48px}.event-detail{padding:1rem .875rem}.event-detail-title-row h2{font-size:1.2rem}.merge-preview-grid{gap:.875rem}.image-lightbox-img{min-width:0;min-height:0;max-width:100vw;max-height:100vh}.quick-add-card-fields{grid-template-columns:1fr!important}.quick-add-shared-row label{min-width:0}.edit-input-row{grid-template-columns:1fr!important}.tf-member-row{flex-direction:column;align-items:stretch;gap:.25rem}.tf-member-label{min-width:0}.tf-segment{min-width:0;padding:.25rem .2rem;font-size:.6rem}.app-content{-webkit-overflow-scrolling:touch}}@media (max-width:380px){.app-header h1{font-size:.875rem}.logout-button,.quick-add-trigger{padding:.375rem .5rem;font-size:.7rem}.grid-card{padding:.75rem}.grid-card-avatar{width:56px;height:56px}}.roadmap-container{height:100%;overflow-y:auto;padding:2rem}.roadmap-content{max-width:880px;margin:0 auto}.roadmap-head{margin-bottom:1.5rem}.roadmap-head-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.roadmap-head h2{font-size:1.4rem;font-weight:600;color:var(--text)}.roadmap-hide-toggle{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.roadmap-hide-toggle input{accent-color:var(--accent);cursor:pointer}.roadmap-sub{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:.5rem 0 1rem}.roadmap-progress{display:flex;align-items:center;gap:.75rem}.roadmap-progress-bar{flex:1 1;height:8px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden}.roadmap-progress-bar.small{height:5px}.roadmap-progress-bar>span{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.roadmap-progress-label{font-size:.78rem;color:var(--text-secondary);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.roadmap-legend{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.roadmap-legend-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;padding:.2rem .55rem;border-radius:999px}.roadmap-badge{font-size:.68rem;font-weight:500;padding:.15rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.roadmap-badge-done{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.roadmap-badge-in-progress{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.roadmap-badge-planned{background:var(--bg-tertiary);color:var(--text-muted)}.roadmap-node-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--text-muted)}.roadmap-badge-done .roadmap-node-dot,.roadmap-node-done .roadmap-node-dot{background:var(--success)}.roadmap-badge-in-progress .roadmap-node-dot,.roadmap-node-in-progress .roadmap-node-dot{background:var(--warning)}.roadmap-badge-planned .roadmap-node-dot,.roadmap-node-planned .roadmap-node-dot{background:var(--text-muted)}.roadmap-graph-wrap{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1.5rem;background:var(--bg-secondary)}.roadmap-graph-wrap>summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--text)}.roadmap-graph-hint{font-size:.75rem;color:var(--text-muted);margin:.5rem 0}.roadmap-graph-scroll{overflow-x:auto;padding-bottom:.5rem}.roadmap-graph{position:relative}.roadmap-graph-svg{position:absolute;inset:0;pointer-events:none;overflow:visible}.roadmap-edge{fill:none;stroke:var(--border-hover);stroke-width:1.5}.roadmap-arrow-head{fill:var(--border-hover)}.roadmap-node{position:absolute;display:flex;align-items:center;gap:.4rem;padding:0 .55rem;border-radius:var(--radius);border:1px solid var(--border);border-left-width:3px;background:var(--bg);color:var(--text);cursor:pointer;text-align:left;font-size:.72rem;line-height:1.15;overflow:hidden}.roadmap-node:hover{border-color:var(--accent)}.roadmap-node-done{border-left-color:var(--success)}.roadmap-node-in-progress{border-left-color:var(--warning)}.roadmap-node-planned{border-left-color:var(--text-muted)}.roadmap-node-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.roadmap-epics{display:flex;flex-direction:column;gap:1rem}.roadmap-epic{background:var(--bg-secondary);border-left:1px solid var(--border);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);padding:1rem 1.25rem;scroll-margin-top:1rem}.roadmap-epic-done{border-left-color:var(--success)}.roadmap-epic-in-progress{border-left-color:var(--warning)}.roadmap-epic-planned{border-left-color:var(--text-muted)}.roadmap-epic-flash{animation:roadmap-flash 1.6s ease-out}@keyframes roadmap-flash{0%{background:color-mix(in srgb,var(--accent) 22%,var(--bg-secondary))}to{background:var(--bg-secondary)}}.roadmap-epic-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.4rem}.roadmap-epic-head h3{font-size:1rem;font-weight:600;color:var(--text)}.roadmap-epic-summary{font-size:.84rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.6rem}.roadmap-deps{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.roadmap-deps-label{font-size:.72rem;color:var(--text-muted)}.roadmap-dep-chip{font-size:.72rem;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer}.roadmap-dep-chip:before{content:"↳ ";color:var(--text-muted)}.roadmap-dep-chip:hover{border-color:var(--accent);color:var(--text)}.roadmap-epic-progress{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.roadmap-tasks{list-style:none;display:flex;flex-direction:column;gap:.3rem;margin:0;padding:0}.roadmap-check{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;cursor:pointer;padding:.15rem 0}.roadmap-check input{margin-top:.2rem;accent-color:var(--accent);cursor:pointer;flex:none}.roadmap-check-title{color:var(--text);line-height:1.4}.roadmap-check.checked .roadmap-check-title{color:var(--text-muted);text-decoration:line-through}.roadmap-tag{font-size:.62rem;padding:.05rem .4rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;align-self:center}.roadmap-epic-head-badges{display:inline-flex;align-items:center;gap:.4rem;flex:none}.roadmap-priority{font-size:.62rem;font-weight:600;padding:.05rem .4rem;border-radius:999px;letter-spacing:.03em;white-space:nowrap;align-self:center;flex:none;border:1px solid transparent}.roadmap-priority-high{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.roadmap-priority-medium{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.roadmap-priority-low{background:var(--bg-tertiary);color:var(--text-muted);border-color:var(--border)}.roadmap-node-pri{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;flex:none}.roadmap-node-pri.roadmap-priority-high{background:var(--danger)}.roadmap-node-pri.roadmap-priority-medium{background:var(--warning)}.roadmap-node-pri.roadmap-priority-low{background:var(--text-muted)}.roadmap-subtasks{margin:.15rem 0 .25rem 1.65rem}.roadmap-subtasks>summary{font-size:.75rem;color:var(--text-secondary);cursor:pointer;display:flex;gap:.4rem;align-items:center;list-style:none}.roadmap-subtasks>summary::-webkit-details-marker{display:none}.roadmap-subtasks>summary:before{content:"▸";color:var(--text-muted);font-size:.7rem}.roadmap-subtasks[open]>summary:before{content:"▾"}.roadmap-sub-count{color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.roadmap-subtasks ul{list-style:none;margin:.3rem 0 .3rem .3rem;padding-left:.6rem;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:.2rem}.roadmap-subtasks .roadmap-check{font-size:.78rem}.roadmap-empty{color:var(--text-secondary);text-align:center;padding:2rem}@media (max-width:640px){.roadmap-container{padding:1rem}.roadmap-epic{padding:.85rem .9rem}}.roadmap-graph-summary-row{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}.roadmap-map-modes{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--bg)}.roadmap-map-mode{font-size:.72rem;font-weight:500;padding:.22rem .7rem;border:none;background:transparent;color:var(--text-secondary);cursor:pointer}.roadmap-map-mode:hover{color:var(--text)}.roadmap-map-mode.active{background:var(--accent);color:#fff}.roadmap-canvas-viewport{position:relative;height:65vh;margin-top:.5rem;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);background-image:radial-gradient(color-mix(in srgb,var(--border) 60%,transparent) 1px,transparent 1px);background-size:22px 22px;cursor:-webkit-grab;cursor:grab;touch-action:none;overscroll-behavior:contain}.roadmap-canvas-viewport.panning{cursor:-webkit-grabbing;cursor:grabbing}.roadmap-canvas-layer{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.roadmap-canvas-box{position:absolute;background:var(--bg-secondary);border-left:1px solid var(--border);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);box-shadow:0 1px 3px color-mix(in srgb,#000 12%,transparent)}.roadmap-canvas-box.roadmap-epic-done{border-left-color:var(--success)}.roadmap-canvas-box.roadmap-epic-in-progress{border-left-color:var(--warning)}.roadmap-canvas-box.roadmap-epic-planned{border-left-color:var(--text-muted)}.roadmap-canvas-box-inner{padding:.9rem 1rem;cursor:auto}.roadmap-canvas-box-inner .roadmap-epic-head h3{font-size:.95rem}.roadmap-canvas-zoom{position:absolute;right:.75rem;bottom:.75rem;display:flex;gap:.35rem;align-items:center;z-index:2}.roadmap-canvas-zoom button{min-width:30px;height:30px;padding:0 .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text);font-size:1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.roadmap-canvas-zoom button:hover{border-color:var(--accent)}.roadmap-canvas-zoom .roadmap-canvas-reset{font-size:.74rem;width:auto;padding:0 .6rem}.roadmap-plandocs{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.roadmap-plandocs-label{font-size:.72rem;color:var(--text-muted)}.roadmap-plandoc-chip{font-size:.7rem;font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:default}.roadmap-plandoc-chip:before{content:"📄 "}