@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Outfit:wght@300;400;500;600&display=swap");:root{--bg-primary:#0a0a0b;--bg-secondary:#111113;--bg-tertiary:#18181b;--bg-elevated:#1f1f23;--accent:#4c68ff;--accent-dim:#3a52d6;--accent-glow:rgba(76,104,255,0.18);--text-on-accent:#ffffff;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#52525b;--border:#27272a;--border-hover:#3f3f46;--success:#22c55e;--tooltip-bg:#1f1f23;--tooltip-text:#f4f4f5;--tooltip-border:#2f2f35;--tooltip-shadow:0 12px 28px rgba(0,0,0,0.4);--reactions-connection-stroke:rgba(255,255,255,0.35);--font-mono:"JetBrains Mono",monospace;--font-sans:"Outfit",system-ui,sans-serif;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--rt-z-index:1200}:root[data-theme=light]{--bg-primary:#f9f9fb;--bg-secondary:#f1f1f4;--bg-tertiary:#e8e8ec;--bg-elevated:#ffffff;--accent:#4c68ff;--accent-dim:#3a52d6;--accent-glow:rgba(76,104,255,0.22);--text-on-accent:#ffffff;--text-primary:#1b1b1f;--text-secondary:#4b4b55;--text-muted:#7a7a86;--border:#d8d8de;--border-hover:#c2c2cc;--success:#22c55e;--tooltip-bg:#ffffff;--tooltip-text:#1b1b1f;--tooltip-border:#d8d8de;--tooltip-shadow:0 12px 28px rgba(15,15,20,0.12);--reactions-connection-stroke:rgba(22,22,26,0.6)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.intake-app{position:relative;display:grid;grid-template-columns:1fr;height:100vh;width:100vw;overflow:hidden}.intake-app.chat-open{grid-template-columns:1fr 400px}.intake-background{position:relative;width:100%;height:100%;overflow:hidden}.intake-layer{position:absolute;inset:0;transition:opacity .25s ease;display:flex}.intake-layer--dropzone{z-index:0}.intake-layer--dropzone .drop-zone{width:100%;height:100%}.intake-layer--map{z-index:1;opacity:0;pointer-events:none}.intake-background.is-map-visible .intake-layer--map{opacity:1;pointer-events:auto}.intake-background.is-map-visible .intake-layer--dropzone{opacity:0;pointer-events:none}.swap-view-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);color:var(--text-primary);text-transform:uppercase;letter-spacing:.08em;pointer-events:none;z-index:20;animation:swap-view-fade .8s ease forwards}:root[data-chat-panel-open=right] .swap-view-overlay{right:var(--chat-panel-width,0)}:root[data-chat-panel-open=left] .swap-view-overlay{left:var(--chat-panel-width,0)}.swap-view-overlay__label{font-size:clamp(48px,12vw,180px);font-weight:600;transform:scale(1);animation:swap-view-scale .8s ease forwards}@keyframes swap-view-fade{0%{opacity:1}80%{opacity:1}to{opacity:.009}}@keyframes swap-view-scale{0%{transform:scale(1)}to{transform:scale(.9)}}.map-view,.map-view__container{width:100%;height:100%}.map-view{position:relative}.map-view__container{position:relative;z-index:1}.map-view__overlay{position:absolute;inset:0;pointer-events:none;z-index:2}.map-view__center-controls{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:3;pointer-events:none}.map-view__search{display:flex;align-items:center;gap:8px;width:min(420px,82vw);padding:8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-elevated);box-shadow:0 10px 24px rgba(0,0,0,.3);pointer-events:auto}.map-view__search-input{flex:1 1;border:none;background:transparent;color:var(--text-primary);font-size:13px;outline:none}.map-view__search-input::placeholder{color:var(--text-muted)}.map-view__search-input::-webkit-search-cancel-button{-webkit-appearance:none;width:14px;height:14px;margin-left:6px;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cline x1='6' y1='6' x2='18' y2='18' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='18' y1='6' x2='6' y2='18' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cline x1='6' y1='6' x2='18' y2='18' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='18' y1='6' x2='6' y2='18' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");mask-repeat:no-repeat;mask-position:center;mask-size:contain}:root[data-theme=dark] .map-view__search-input::-webkit-search-cancel-button,:root[data-theme=light] .map-view__search-input::-webkit-search-cancel-button{color:var(--accent)}.map-view__search-button{border:1px solid transparent;border-radius:999px;padding:6px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--text-on-accent);background:var(--accent);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.map-view__search-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.map-view__search-icon{width:16px;height:16px}.map-view__search-status{max-width:min(420px,82vw);min-height:16px;font-size:12px;color:var(--text-muted);text-align:center;pointer-events:none}.map-view__search-popup{display:flex;flex-direction:column;gap:2px;max-width:240px}.map-view__search-marker{width:30px;height:30px;border-radius:999px;background:var(--accent);border:2px solid var(--bg-primary);box-shadow:0 0 12px rgba(0,0,0,.35);position:relative;display:inline-flex;align-items:center;justify-content:center}.map-view__search-marker:after{content:"";position:absolute;inset:-12px;border-radius:999px;border:2px solid var(--accent);animation:map-search-pulse 1.6s ease-out infinite}.map-view__search-marker-icon{width:14px;height:14px;color:var(--bg-primary)}@keyframes map-search-pulse{0%{transform:scale(.2);opacity:.9}to{transform:scale(1.6);opacity:0}}.map-view .maplibregl-popup-content{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border);border-radius:12px;padding:10px 12px;box-shadow:0 12px 28px rgba(0,0,0,.35)}.map-view .maplibregl-popup-tip{display:none}.map-view .maplibregl-popup-close-button{color:var(--text-muted);font-size:14px;padding:4px 8px;left:auto;right:6px}.map-view__search-popup-title{font-size:12px;font-weight:600;color:var(--text-primary)}.map-view__search-popup-coords{margin-top:4px;font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.map-view__search-popup-copy{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:6px;padding:2px 4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s ease,color .15s ease,background .15s ease}.map-view__search-popup-copy:hover{border-color:var(--accent);color:var(--text-primary)}.map-view__search-popup-copy.is-copied{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.map-view__search-popup-copy-icon{width:12px;height:12px}.map-view__search-popup-meta{margin-top:6px;display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text-muted)}.map-view__search-popup-meta-item{display:flex;gap:6px}.map-view__search-popup-meta-label{color:var(--text-primary);font-weight:600}.map-view__search-popup-details{margin-top:8px}.map-view__search-popup-details-button{width:100%;border-radius:8px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:11px;font-weight:600;padding:6px 8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.map-view__search-popup-details-button:disabled{cursor:not-allowed;opacity:.6}.map-view__search-popup-details-button.is-scrape,:root[data-theme=dark] .map-view__search-popup-details-button.is-scrape,:root[data-theme=light] .map-view__search-popup-details-button.is-scrape{border-color:var(--accent);background:var(--accent);color:#ffffff}.map-view__search-popup-details-icon{width:14px;height:14px}.map-view__search-popup-details-body{margin-top:6px;display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text-secondary)}.map-view__search-popup-details-item{display:flex;gap:6px}.map-view__search-popup-details-label{color:var(--text-primary);font-weight:600}.map-view__search-popup-details-value{word-break:break-word;color:var(--text-primary)}.map-view__search-popup-details-link{color:var(--accent);text-decoration:none;word-break:break-word}.map-view__search-popup-details-link:hover{text-decoration:underline}.map-view__bookmarks{top:160px;bottom:16px;left:16px;flex-direction:column}.map-view__bookmarks,.map-view__compass{position:absolute;display:flex;gap:8px;z-index:4;pointer-events:auto}.map-view__compass{top:10px;left:50%;transform:translateX(-50%);flex-direction:row;align-items:center}.map-view__compass-button{width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 8px 18px rgba(0,0,0,.35);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,color .15s ease,transform .15s ease}.map-view__compass-button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.map-view__weather-toggle{width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 8px 18px rgba(0,0,0,.35);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,color .15s ease,transform .15s ease}.map-view__weather-toggle:hover{transform:translateY(-1px)}.map-view__weather-toggle.is-active,.map-view__weather-toggle:hover{border-color:var(--accent);color:var(--accent)}:root[data-theme=dark] .map-view__weather-toggle{color:#ffffff}:root[data-theme=light] .map-view__weather-toggle{color:#111827}.map-view__weather-icon{width:18px;height:18px}.map-view__compass-icon{width:18px;height:18px;transform:rotate(var(--map-compass-rotation,0deg));transform-origin:50% 50%;transition:transform .18s ease}.map-view__compass-base{fill:currentColor}.map-view__bookmark{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(0,0,0,.35);transition:border-color .15s ease,color .15s ease,transform .15s ease;cursor:pointer}.map-view__bookmark:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.map-view__bookmark[data-disabled=true]{cursor:not-allowed;opacity:.5;transform:none}.map-view__bookmark[data-disabled=true]:hover{border-color:var(--border);color:var(--text-muted);transform:none}.map-view__bookmark.is-empty{color:var(--text-muted)}.map-view__bookmark-add{font-size:14px}.map-view__bookmarks.is-clear-mode .map-view__bookmark:not(.map-view__bookmark-add):not(.map-view__bookmark-remove){border-color:#ffffff;color:#ffffff;background:#ef4444}.map-view__bookmarks.is-clear-mode .map-view__bookmark:not(.map-view__bookmark-add):not(.map-view__bookmark-remove):hover{border-color:#ffffff;color:#ffffff;background:#f87171}.map-view__bookmark-remove{font-size:14px;border-color:#ef4444;color:#ef4444;background:#3f1d1d;box-shadow:0 8px 18px rgba(239,68,68,.28)}.map-view__bookmark-remove.is-active{border-color:#f87171;color:#f87171;background:#4c1d1d}:root[data-theme=light] .map-view__bookmark-remove{border-color:#dc2626;color:#b91c1c;background:#fee2e2;box-shadow:0 8px 18px rgba(220,38,38,.2)}:root[data-theme=light] .map-view__bookmark-remove.is-active{border-color:#ef4444;color:#991b1b;background:#fecaca}.map-bookmark-marker{width:26px;height:26px;border-radius:999px;background:#111827;color:#ffffff;border:2px solid #f97316;box-shadow:0 6px 12px rgba(0,0,0,.35);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;pointer-events:none;z-index:3}:root[data-chat-handedness=left] .map-view__bookmarks{left:auto;right:16px}.map-ping{position:absolute;left:0;top:0;transform:translate(var(--map-ping-x),var(--map-ping-y)) translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center}.map-ping__ripple{position:absolute;width:22px;height:22px;border-radius:999px;border:3px solid #d946ef;opacity:.9;box-shadow:0 0 14px rgba(217,70,239,.6);animation:map-ping-ripple 1.2s ease-out infinite}.map-ping__presence.chat-presence-item{width:28px;height:28px;font-size:11px}.map-weather-marker{position:absolute;left:0;top:0;transform:translate(var(--map-weather-x),var(--map-weather-y)) translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;opacity:1}.map-weather-marker__bubble{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 8px 18px rgba(0,0,0,.35);position:relative}.map-weather-marker__bubble.is-error{border-color:rgba(239,68,68,.4)}.map-weather-marker__icon{width:26px;height:26px;flex:0 0 auto;border-radius:6px;object-fit:cover}.map-weather-marker__icon.is-fallback{width:20px;height:20px;border-radius:999px;background:var(--accent);box-shadow:0 0 12px rgba(217,70,239,.45)}.map-weather-marker__text{display:flex;flex-direction:column;gap:2px;min-width:0}.map-weather-marker__temp{font-size:11px;font-weight:600;line-height:1.1}.map-weather-marker__summary{font-size:10px;color:var(--text-muted);line-height:1.2;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-weather-marker__time{font-size:10px;color:var(--text-muted);line-height:1.1}:root[data-theme=dark] .map-weather-marker__bubble .map-weather-marker__summary,:root[data-theme=dark] .map-weather-marker__bubble .map-weather-marker__time{color:#f8fafc}.map-weather-marker__label{font-size:10px;color:var(--text-muted);text-align:center;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-view__drag-lock{display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.map-view__drag-countdown{width:140px;height:6px;border-radius:999px;background-image:linear-gradient(to right,#d946ef 0,#d946ef var(--map-lock-progress,0),rgba(255,255,255,.25) var(--map-lock-progress,0),rgba(255,255,255,.25) 100%);box-shadow:0 0 12px rgba(217,70,239,.55)}.map-view__drag-lock-icon{width:20px;height:20px;color:#d946ef;filter:drop-shadow(0 0 8px rgba(217,70,239,.7))}@keyframes map-ping-ripple{0%{transform:scale(.2);opacity:.9}to{transform:scale(2.6);opacity:0}}.drop-zone{position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);cursor:pointer;transition:background .2s ease;overflow:hidden;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}.drop-zone:before{content:"";background:radial-gradient(ellipse at center,transparent 0,var(--bg-secondary) 70%);z-index:1}.drop-zone-background,.drop-zone:before{position:absolute;inset:0;pointer-events:none}.drop-zone-background{display:flex;align-items:center;justify-content:center;z-index:0}.drop-zone-disk{width:min(70vw,520px);height:min(70vw,520px);opacity:.3;filter:drop-shadow(0 0 40px rgba(255,255,255,.15))}.drop-zone.dragging,.drop-zone:hover{background-color:var(--bg-tertiary)}.drop-zone.dragging:after{content:"";position:absolute;inset:24px;border:2px dashed var(--accent);border-radius:var(--radius-lg);pointer-events:none;animation:pulse-border 1.5s ease-in-out infinite}@keyframes pulse-border{0%,to{opacity:.5}50%{opacity:1}}.file-input{display:none}.drop-content{position:relative;z-index:2;flex-direction:column;text-align:center;padding:40px;max-width:500px;width:100%}.drop-content,.drop-icon{display:flex;align-items:center}.drop-icon{width:80px;height:80px;justify-content:center;background:var(--accent-glow);border-radius:50%;margin-bottom:24px;color:var(--accent);transition:transform .2s ease,background .2s ease}.drop-zone:hover .drop-icon{transform:translateY(-4px);background:rgba(229,168,59,.2)}.drop-zone.dragging .drop-icon{transform:scale(1.1)}.drop-icon svg{width:36px;height:36px}.drop-content h2{font-size:28px;font-weight:500;letter-spacing:-.02em;margin-bottom:8px;color:var(--text-primary)}.drop-content>p{color:var(--text-secondary);font-size:15px}.file-list{width:100%;background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border);overflow:hidden}.file-list-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);font-weight:500;font-size:14px;color:var(--text-secondary)}.clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-sans);cursor:pointer;transition:all .15s ease}.clear-btn:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-tertiary)}.file-items{max-height:300px;overflow-y:auto;padding:8px}.file-items::-webkit-scrollbar{width:6px}.file-items::-webkit-scrollbar-track{background:transparent}.file-items::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.file-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-sm);transition:background .15s ease}.file-item:hover{background:var(--bg-tertiary)}.file-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--accent);flex-shrink:0}.file-icon svg{width:18px;height:18px}.file-info{display:flex;flex-direction:column;min-width:0;flex:1 1}.file-name{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:12px;color:var(--text-muted)}.file-actions{display:flex;gap:12px;margin-top:24px;width:100%}.add-more-btn{flex:1 1;padding:14px 20px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.add-more-btn:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-tertiary)}.add-more-btn:disabled{opacity:.5;cursor:not-allowed}.upload-btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--bg-primary);font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.upload-btn:hover:not(:disabled){background:var(--accent-dim);transform:translateY(-1px)}.upload-btn:active:not(:disabled){transform:translateY(0)}.upload-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner,.upload-btn svg{width:18px;height:18px}.spinner{border:2px solid transparent;border-top:2px solid var(--bg-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.drag-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,10,11,.85);z-index:10}.drag-overlay span{font-size:20px;font-weight:500;color:var(--accent);padding:16px 32px;background:var(--accent-glow);border-radius:var(--radius-md);border:1px solid var(--accent-dim)}.chat-panel{position:fixed;top:0;right:0;bottom:0;width:440px;display:flex;flex-direction:column;background:var(--bg-primary);border-left:1px solid var(--border);transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1),width .35s ease;z-index:100}.chat-panel--fullscreen{width:100vw;border-left:none;border-right:none}:root[data-chat-handedness=right] .chat-panel--fullscreen{left:auto;right:0}.chat-panel.is-resizing{transition:none}.chat-panel--fullscreen .chat-map-toggle,.chat-panel--fullscreen .chat-panel-resizer{display:none}.chat-panel--fullscreen .chat-presence{left:12px;right:auto}.chat-presence{position:absolute;top:180px;left:-46px;display:flex;flex-direction:column;gap:8px;z-index:3}.chat-map-toggle{position:absolute;bottom:92px;left:-56px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;box-shadow:0 10px 20px rgba(0,0,0,.35);transition:border-color .15s ease,color .15s ease,transform .15s ease;z-index:3}.chat-map-toggle:hover{transform:translateY(-1px)}.chat-map-toggle.is-active,.chat-map-toggle:hover{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.chat-map-toggle-icon{width:18px;height:18px}.chat-panel--left .chat-presence{left:auto;right:-46px}.chat-presence-item{position:relative;width:32px;height:32px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(0,0,0,.35)}.chat-presence-item.is-clickable{cursor:pointer}.chat-presence-item.is-clickable:hover{border-color:var(--accent);color:var(--accent)}.chat-presence-item.is-admin-observer{background:#2563eb;border-color:rgba(37,99,235,.9);color:#ffffff}.chat-presence-admin-icon{width:18px;height:18px;color:inherit}.chat-presence-count{position:absolute;bottom:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#111827;color:#ffffff;font-size:10px;font-weight:700;line-height:16px;text-align:center;border:1px solid rgba(255,255,255,.6);box-shadow:0 4px 10px rgba(0,0,0,.3)}.chat-presence-item.is-pending{border-color:var(--text-muted);box-shadow:0 0 0 2px rgba(82,82,91,.35),0 0 14px rgba(82,82,91,.5)}.chat-presence-item.is-streaming{border-color:var(--accent);box-shadow:0 0 0 2px rgba(229,168,59,.35),0 0 16px rgba(229,168,59,.6);animation:presence-glow 1.2s ease-in-out infinite}.chat-presence-item.is-reasoning:after{content:"";position:absolute;inset:-6px;border-radius:999px;border:1px solid rgba(229,168,59,.6);box-shadow:0 0 12px rgba(229,168,59,.6);animation:presence-pulse .9s ease-out infinite;pointer-events:none}@keyframes presence-glow{0%,to{box-shadow:0 0 0 2px rgba(229,168,59,.2),0 0 12px rgba(229,168,59,.5)}50%{box-shadow:0 0 0 3px rgba(229,168,59,.5),0 0 20px rgba(229,168,59,.85)}}@keyframes presence-pulse{0%{transform:scale(.9);opacity:.8}to{transform:scale(1.15);opacity:0}}.chat-presence-typing{right:-6px;border:1px solid var(--border);padding:2px 4px;gap:2px}.chat-presence-typing,.chat-presence-upload{position:absolute;top:-6px;background:var(--bg-primary);border-radius:999px;display:inline-flex;align-items:center;box-shadow:0 6px 14px rgba(0,0,0,.25)}.chat-presence-upload{left:-6px;width:16px;height:16px;border:1px solid var(--border);color:var(--text-secondary);justify-content:center}.chat-presence-upload svg{width:10px;height:10px}.chat-presence-upload.is-uploading{color:var(--accent);border-color:rgba(229,168,59,.6);box-shadow:0 0 12px rgba(229,168,59,.45)}.chat-presence-upload.is-uploading svg{animation:upload-bounce .9s ease-in-out infinite}.chat-presence-map{position:absolute;bottom:-6px;left:-6px;width:16px;height:16px;border-radius:999px;background:var(--bg-primary);border:1px solid var(--border);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(0,0,0,.25)}.chat-presence-map-icon{width:10px;height:10px}.chat-presence-flow{position:absolute;top:-6px;left:-6px;width:16px;height:16px;border-radius:999px;background:var(--bg-primary);border:1px solid var(--border);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(0,0,0,.25)}.chat-presence-flow-icon{width:10px;height:10px}.chat-presence-reaction{position:absolute;bottom:-6px;right:-6px;width:16px;height:16px;border-radius:999px;background:var(--bg-primary);border:1px solid var(--border);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(0,0,0,.25)}.chat-presence-reaction-icon{width:10px;height:10px}.chat-presence-ping{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:999px;background:var(--bg-primary);border:1px solid var(--border);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(0,0,0,.25);pointer-events:none}.chat-presence-ping-icon{width:10px;height:10px}.chat-presence-typing-dot{width:3px;height:3px;border-radius:999px;background:var(--text-secondary)}.chat-presence-typing.is-typing .chat-presence-typing-dot{animation:typing-dot 1s ease-in-out infinite}.chat-presence-typing.is-typing .chat-presence-typing-dot:nth-child(2){animation-delay:.2s}.chat-presence-typing.is-typing .chat-presence-typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-dot{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes upload-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.chat-panel.open{transform:translateX(0)}:root[data-chat-handedness=left] .intake-app.chat-open{grid-template-columns:400px 1fr}:root[data-chat-handedness=left] .intake-app.chat-open .intake-background{grid-column:2}:root[data-chat-handedness=left] .chat-panel{left:0;right:auto;border-right:1px solid var(--border);border-left:none;transform:translateX(-100%)}:root[data-chat-handedness=left] .chat-panel--fullscreen{left:0;right:auto}:root[data-chat-handedness=left] .chat-map-toggle{left:auto;right:-56px}:root[data-chat-handedness=left] .chat-panel--fullscreen .chat-map-toggle{display:none}:root[data-chat-handedness=left] .chat-panel.open{transform:translateX(0)}:root[data-chat-handedness=left] .chat-panel-resizer{left:auto;right:0}:root[data-chat-handedness=left] .chat-panel-resizer:before{left:auto;right:2px}:root[data-chat-handedness=left] .chat-panel--fullscreen .chat-presence{left:auto;right:12px}:root[data-chat-handedness=left] .chat-header-actions,:root[data-chat-handedness=left] .chat-header-row,:root[data-chat-handedness=left] .chat-title{flex-direction:row-reverse}:root[data-chat-handedness=left] .chat-user-details{align-items:flex-end;text-align:right}:root[data-chat-handedness=left] .conversation-title,:root[data-chat-handedness=left] .conversation-title-button,:root[data-chat-handedness=left] .conversation-title-input{text-align:right}:root[data-chat-handedness=left] .chat-panel-actions{flex-direction:row-reverse}:root[data-chat-handedness=left] .chat-input-area{flex-direction:row}:root[data-chat-handedness=left] .chat-toggle,:root[data-chat-handedness=left] .chat-toggle-wrapper{left:24px;right:auto}.chat-panel-resizer{position:absolute;top:0;left:0;bottom:0;width:8px;cursor:ew-resize;z-index:2}.chat-panel-resizer:before{content:"";position:absolute;top:0;left:2px;bottom:0;width:2px;background:transparent;transition:background .15s ease}.chat-panel-resizer:hover:before,.chat-panel.is-resizing .chat-panel-resizer:before{background:var(--border-hover)}.chat-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:20px}.chat-header-row{display:flex;align-items:center;justify-content:space-between;width:100%}.chat-header-actions{display:flex;align-items:center;gap:10px}.chat-header-conversation{gap:12px}.conversation-new-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-primary);font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.conversation-new-btn:hover{border-color:var(--accent);color:var(--accent)}.conversation-new-btn:disabled{cursor:not-allowed;opacity:.5}.conversation-title{flex:1 1;min-width:0}.conversation-title-button{background:transparent;border:none;padding:0;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.conversation-title-button:hover{color:var(--accent)}.conversation-title-button:disabled{cursor:default;color:var(--text-secondary)}.conversation-title-input{width:100%;background:transparent;border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font:inherit}.conversation-title-input:focus{outline:none;border-color:var(--accent)}.chat-panel-actions{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border);justify-content:space-between}.chat-panel-actions-left,.chat-panel-actions-right{display:inline-flex;align-items:center;gap:8px}.chat-api-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);opacity:.5;transition:opacity .2s ease}.chat-api-toggle.is-active,.chat-api-toggle:hover{opacity:1}.chat-api-option{position:relative;display:inline-flex;align-items:center;cursor:pointer}.chat-api-option input{position:absolute;opacity:0;pointer-events:none}.chat-api-button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.04em;transition:all .15s ease}.chat-api-option input:checked+.chat-api-button{background:var(--bg-elevated);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-hover)}.chat-api-option:hover .chat-api-button{color:var(--text-primary)}.chat-api-icon{display:inline-flex;align-items:center;justify-content:center}.chat-api-icon svg{width:14px;height:14px}.chat-api-logo{width:16px;height:16px;display:block;filter:drop-shadow(0 0 6px rgba(0,0,0,.35))}.chat-title{display:flex;align-items:center;gap:10px;font-weight:500;font-size:14px;letter-spacing:.01em;min-width:0}.chat-user-details{display:flex;flex-direction:column;min-width:0;gap:2px}.chat-user-button{background:transparent;border:none;padding:0;color:var(--text-primary);font:inherit;cursor:pointer;transition:color .15s ease;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.chat-user-button:hover{color:var(--accent)}.chat-user-name{color:var(--text-primary);max-width:100%}.chat-history-button,.chat-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-button{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;font-size:12px;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;max-width:180px}.chat-reactions-button{position:relative;overflow:visible}.chat-history-button svg{width:18px;height:29px;flex-shrink:0;display:block}.chat-reactions-button svg{color:var(--accent)}.chat-reaction-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:999px;background:#e24b4b;color:#fff;font-size:11px;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--bg-primary);pointer-events:none}.chat-history-button:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-tertiary)}.chat-history-button:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.close-chat-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease;flex-shrink:0}.close-chat-btn:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-tertiary)}.close-chat-btn svg{width:18px;height:18px}.chat-toggle{position:fixed;bottom:24px;right:24px;width:64px;height:64px;display:flex;align-items:flex-start;justify-content:center;padding-top:14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:50%;cursor:pointer;z-index:50;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 24px rgba(0,0,0,.4);animation:chat-toggle-enter .4s cubic-bezier(.16,1,.3,1)}@keyframes chat-toggle-enter{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.chat-toggle:hover{transform:scale(1.08);border-color:var(--border-hover);box-shadow:0 6px 32px rgba(0,0,0,.5)}.chat-toggle:active{transform:scale(.98)}.chat-toggle img{width:48px;height:48px;opacity:.25}.status-dot{width:8px;height:8px;background:var(--border);border-radius:50%;box-shadow:none}.status-dot.is-connected{background:var(--success);box-shadow:0 0 10px rgba(34,197,94,.75);animation:status-glow 1.4s ease-in-out infinite}.status-dot.is-connecting{background:var(--accent);box-shadow:0 0 10px rgba(229,168,59,.65);animation:status-glow 1.4s ease-in-out infinite}.status-dot.is-error{background:#ef4444;box-shadow:0 0 10px rgba(239,68,68,.6)}@keyframes status-glow{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.2);opacity:1}}.chat-messages{flex:1 1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:30px;position:relative;--chat-shadow-top:none;--chat-shadow-bottom:none;box-shadow:var(--chat-shadow-top),var(--chat-shadow-bottom)}.chat-messages[data-shadow-top=true]{--chat-shadow-top:inset 0 22px 42px -40px rgba(0,0,0,0.6)}.chat-messages[data-shadow-bottom=true]{--chat-shadow-bottom:inset 0 -22px 42px -40px rgba(0,0,0,0.6)}:root[data-chat-handedness=left] .chat-messages{direction:rtl}:root[data-chat-handedness=left] .chat-messages>*{direction:ltr}:root[data-chat-handedness=left] .chat-messages .message.assistant{align-self:flex-end}:root[data-chat-handedness=left] .chat-messages .message.user{align-self:flex-start}.chat-panel--fullscreen .chat-messages{padding-left:60px;padding-right:60px}.chat-remote-typing{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:16px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);box-shadow:0 8px 18px rgba(0,0,0,.2)}.chat-remote-typing-dot{width:6px;height:6px;border-radius:999px;background:currentColor;animation:typing-dot 1s ease-in-out infinite}.chat-remote-typing-dot:nth-child(2){animation-delay:.2s}.chat-remote-typing-dot:nth-child(3){animation-delay:.4s}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.message{max-width:90%;position:relative;animation:message-in .3s ease}.message.has-reactions{padding-bottom:0}.message.clickable{cursor:pointer;transition:transform .2s ease,opacity .2s ease}.message.clickable:hover{opacity:.95}.message.clickable:active{transform:translateY(0)}@keyframes message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.assistant{align-self:flex-start}.message.user{align-self:flex-end}.message-content{position:relative;padding:14px 18px;border-radius:var(--radius-md);font-size:14px;line-height:1.5}.message-presence{font-size:10px;font-weight:600}.message-ai-score,.message-presence{position:absolute;top:-8px;left:-8px;width:22px;height:22px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(0,0,0,.25);pointer-events:none}.message-ai-score{cursor:pointer;transition:opacity .15s ease,border-color .15s ease,background .15s ease;opacity:0}.message-ai-score svg{width:12px;height:12px}.message-ai-score:hover{border-color:var(--border-hover);background:var(--bg-secondary)}.message:hover .message-ai-score{opacity:1;pointer-events:auto}.message-ai-score.pending{opacity:.7}.message-ai-score.error{color:var(--danger)}.message.assistant .message-content{background:var(--bg-elevated);border:1px solid var(--border);border-bottom-left-radius:var(--radius-sm)}.message.user .message-content{background:var(--accent);color:var(--text-on-accent);border-bottom-right-radius:var(--radius-sm)}.message-reasoning{margin-top:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary)}.message-reasoning-summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;font-size:12px;color:var(--text-secondary);font-family:var(--font-mono)}.message-reasoning-summary::-webkit-details-marker{display:none}.message-reasoning-indicator{width:8px;height:8px;border-radius:999px;background:var(--border)}.message-reasoning-indicator.is-streaming{background:var(--accent);animation:reasoning-pulse 1s ease-in-out infinite}.message-reasoning-preview{padding:0 12px 8px;font-size:12px;color:var(--text-secondary);display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.message-reasoning-content{padding:8px 12px 12px;font-size:12px;color:var(--text-secondary)}@keyframes reasoning-pulse{0%,to{opacity:.5;box-shadow:0 0 0 0 rgba(229,168,59,.35)}50%{opacity:1;box-shadow:0 0 8px 2px rgba(229,168,59,.55)}}.message-tools{margin-top:12px;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border)}.message-tools-summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;font-size:12px;font-family:var(--font-mono);color:var(--text-secondary)}.message-tools-summary::-webkit-details-marker{display:none}.message-tools-indicator{width:8px;height:8px;border-radius:999px;background:var(--border)}.message-tools-indicator.completed{background:var(--success)}.message-tools-indicator.error{background:#ef4444}.message-tools-list{display:flex;flex-direction:column;gap:10px;padding:0 12px 12px}.message-tool-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.message-tool-name{font-weight:600;font-size:13px;color:var(--text-primary)}.message-tool-status{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.message-tool-status.completed{color:var(--success)}.message-tool-status.error{color:#ef4444}.message-tool-args,.message-tool-result{margin:0;border-radius:var(--radius-sm);background:var(--bg-tertiary)}.message-tool-summary{cursor:pointer;padding:6px 10px;font-size:12px;color:var(--text-secondary);font-family:var(--font-mono)}.message-tool-summary::-webkit-details-marker{display:none}.message-tool-args pre,.message-tool-result pre{margin:0;padding:8px 10px;color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word}.message-tool-args{margin-bottom:8px;background:var(--bg-elevated)}.message.detection.assistant .message-content{position:relative;border:2px solid var(--accent)!important;animation:detection-border-pulse 2s ease-in-out infinite;box-shadow:0 0 0 0 rgba(76,104,255,.4)}@keyframes detection-border-pulse{0%{border-color:var(--accent);box-shadow:0 0 0 0 rgba(76,104,255,.4)}50%{border-color:var(--accent);box-shadow:0 0 12px 4px rgba(76,104,255,.6)}to{border-color:var(--accent);box-shadow:0 0 0 0 rgba(76,104,255,.4)}}.message-meta{flex-wrap:wrap;font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.message-meta,.message-reaction-bar{display:flex;gap:8px;align-items:center;margin-top:6px}.message-reaction-bar{position:relative;width:100%;margin-bottom:4px;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.message:focus-within .message-reaction-bar,.message:hover .message-reaction-bar{opacity:1;transform:translateY(0);pointer-events:auto}.message.has-reactions .message-reaction-bar{opacity:1;transform:translateY(0);pointer-events:auto}.message-reaction-trigger{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);border-radius:999px;padding:4px 8px;font-size:14px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.18);opacity:0;transition:opacity .2s ease}.message-reaction-trigger-icon{width:16px;height:16px;display:block}.message:focus-within .message-reaction-trigger,.message:hover .message-reaction-trigger{opacity:1}.message.has-reactions .message-reaction-trigger{opacity:0}.message.has-reactions:focus-within .message-reaction-trigger,.message.has-reactions:hover .message-reaction-trigger{opacity:1}.message-reaction-list{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:calc(100% - 52px)}.message-reaction-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);font-size:12px;color:var(--text-primary);cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.message-reaction-pill:hover{background:var(--bg-muted);border-color:var(--border-strong);transform:translateY(-1px)}.message-reaction-pill.is-used{opacity:1;cursor:pointer;transform:none}.message-reaction-pill.is-used,.message-reaction-pill.is-used:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.message-reaction-pill.is-new{animation:reaction-pop .45s ease}@keyframes reaction-pop{0%{transform:scale(1)}45%{transform:scale(1.18)}to{transform:scale(1)}}.message-reaction-count{font-size:11px;color:var(--text-muted)}.message-reaction-picker{position:absolute;left:0;bottom:100%;margin-bottom:8px;display:flex;flex-direction:column;gap:8px;padding:10px;width:280px;max-width:90vw;border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 12px 24px rgba(0,0,0,.28);z-index:2;opacity:0;transform:translateY(6px);animation:reaction-picker-in .2s ease forwards}.message.user .message-reaction-picker{right:0;left:auto}@keyframes reaction-picker-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-reaction-search input{width:100%;border-radius:8px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-primary);font-size:12px;padding:6px 8px}.message-reaction-search input:focus{outline:1px solid var(--accent);border-color:var(--accent)}.message-reaction-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:6px;gap:6px}.message-reaction-option{border:none;background:transparent;font-size:18px;line-height:1;cursor:pointer;padding:4px;border-radius:8px;transition:background .15s ease,transform .15s ease}.message-reaction-option:focus-visible,.message-reaction-option:hover{background:var(--bg-muted);transform:translateY(-1px) scale(1.12);box-shadow:0 0 0 2px var(--accent)}.message-reaction-option.is-used{opacity:.35;cursor:not-allowed}.message-reaction-option.is-used:focus-visible,.message-reaction-option.is-used:hover{background:transparent;transform:none;box-shadow:none}.message-reaction-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-muted)}.message-reaction-pagination button{border:1px solid var(--border);background:var(--bg-muted);color:var(--text-primary);border-radius:999px;padding:4px 8px;font-size:11px;cursor:pointer}.message-reaction-pagination button:disabled{opacity:.5;cursor:not-allowed}.message.user .message-meta{justify-content:flex-end}.message-author,.message-time{white-space:nowrap}.message-bot{font-weight:600;text-transform:uppercase;letter-spacing:.02em}.message-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.message-file{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:100%}.message-file-preview{width:64px;height:64px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-secondary)}.message-file-preview img{width:100%;height:100%;object-fit:cover}.image-with-segments{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.image-with-segments img{width:100%;height:100%;object-fit:contain;display:block}.segments-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.message-segments-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;max-width:100%}.segment-badge{display:flex;align-items:center;gap:4px;padding:2px 6px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;font-size:9px}.segment-label{color:var(--text-primary);font-weight:500}.segment-score{color:var(--accent);font-weight:600}.message-file:has(.message-segments-list) .message-file-preview{width:100%;max-width:400px;height:auto;min-height:200px;max-height:500px}.message-files .message-file{flex:0 0 auto}.message-files .message-file .message-file-preview{flex-shrink:0}.fullscreen-message-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:rgba(0,0,0,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in .2s ease;overflow-y:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fullscreen-message-content{position:relative;width:100%;max-width:95vw;max-height:90vh;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;animation:slide-up .3s ease;box-shadow:0 20px 60px rgba(0,0,0,.5)}@media (min-width:1400px){.fullscreen-message-content{max-width:1600px}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fullscreen-close-btn{position:absolute;top:16px;right:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;z-index:10001;transition:all .2s ease}.fullscreen-close-btn:hover{background:var(--bg-tertiary);border-color:var(--border-hover);transform:scale(1.05)}.fullscreen-close-btn:active{transform:scale(.95)}.fullscreen-close-btn svg{width:20px;height:20px}.fullscreen-message-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.message-type-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.message-type-badge.assistant{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.message-type-badge.user{background:var(--accent);color:var(--bg-primary)}.fullscreen-message-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--text-muted);font-size:12px;font-family:var(--font-mono);margin-right:50px}.fullscreen-message-author,.fullscreen-message-time{white-space:nowrap}.fullscreen-message-bot{font-weight:600;text-transform:uppercase;letter-spacing:.02em}.ai-score-modal{width:min(420px,90vw)}.ai-score-state{font-size:13px;color:var(--text-secondary)}.ai-score-list{display:flex;flex-direction:column;gap:12px}.ai-score-item{display:grid;grid-template-columns:1fr auto;grid-gap:6px 12px;gap:6px 12px;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary)}.ai-score-label{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-primary)}.ai-score-label-icon{width:16px;height:16px;color:var(--accent)}.ai-score-value{font-family:var(--font-mono);color:var(--text-secondary)}.ai-score-reason{grid-column:1/-1;font-size:12px;color:var(--text-secondary)}.ai-score-meta{font-size:11px;color:var(--text-secondary)}.fullscreen-message-body{padding:40px 48px;overflow-y:auto;flex:1 1}.fullscreen-text-content{color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word}.fullscreen-message-body .markdown-content,.fullscreen-text-content{font-size:16px;line-height:1.7}.fullscreen-message-body .markdown-content h1,.fullscreen-message-body .markdown-content h2,.fullscreen-message-body .markdown-content h3{margin-top:24px;margin-bottom:12px}.fullscreen-message-body .markdown-content p{margin-bottom:16px}.fullscreen-message-files{display:flex;flex-direction:column;gap:32px;margin-top:32px;width:100%}.fullscreen-message-file{display:flex;flex-direction:column;gap:16px;width:100%}.fullscreen-message-file-preview{width:100%;max-width:100%;height:auto;min-height:500px;max-height:75vh;border-radius:var(--radius-md);overflow:hidden;position:relative}.fullscreen-message-file-icon,.fullscreen-message-file-preview{background:var(--bg-tertiary);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.fullscreen-message-file-icon{width:120px;height:120px;border-radius:var(--radius-md);color:var(--text-muted);margin:0 auto}.fullscreen-message-file-icon svg{width:48px;height:48px}.fullscreen-message-file-info{display:flex;flex-direction:column;gap:16px;align-items:flex-start;width:100%}.fullscreen-message-file-name{font-size:16px;color:var(--text-primary);font-weight:500}.fullscreen-message-segments-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;margin-top:8px;width:100%}.fullscreen-message-segments-list .segment-badge{padding:8px 14px;font-size:13px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.message-file-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-muted)}.message-file-icon svg{width:28px;height:28px}.message-file-name{font-size:10px;color:var(--text-muted);text-align:center;word-break:break-all;line-height:1.2;max-height:2.4em;overflow:hidden}.message.user .message-file-icon,.message.user .message-file-preview{background:rgba(0,0,0,.2)}.message.user .message-file-icon{color:var(--text-on-accent)}.message.user .message-file-name{color:var(--text-on-accent);opacity:.85}.message.assistant:not(.complete) .message-content:after{content:"";display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;animation:cursor-blink .8s ease-in-out infinite;vertical-align:text-bottom}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.markdown-content{word-wrap:break-word;overflow-wrap:break-word}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p{margin:0 0 .75em;line-height:1.6}.markdown-content p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin:1.25em 0 .5em;font-weight:600;line-height:1.3;color:var(--text-primary)}.markdown-content h1{font-size:1.4em}.markdown-content h2{font-size:1.25em}.markdown-content h3{font-size:1.1em}.markdown-content h4,.markdown-content h5,.markdown-content h6{font-size:1em}.markdown-content code{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:.15em .4em;font-family:var(--font-mono);font-size:.85em;color:var(--accent)}.markdown-content pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;margin:.75em 0;overflow-x:auto}.markdown-content pre code{background:none;border:none;padding:0;font-size:.85em;color:var(--text-primary);line-height:1.5}.markdown-content pre::-webkit-scrollbar{height:6px}.markdown-content pre::-webkit-scrollbar-track{background:transparent}.markdown-content pre::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.markdown-content ol,.markdown-content ul{margin:.5em 0;padding-left:1.5em}.markdown-content li{margin:.25em 0;line-height:1.5}.markdown-content li>ol,.markdown-content li>ul{margin:.25em 0}.markdown-content input[type=checkbox]{margin-right:.5em;accent-color:var(--accent)}.markdown-content blockquote{margin:.75em 0;padding:.5em 1em;border-left:3px solid var(--accent);background:var(--bg-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary)}.markdown-content blockquote p{margin:0}.markdown-content a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}.markdown-content a:hover{border-bottom-color:var(--accent)}.markdown-content strong{font-weight:600;color:var(--text-primary)}.markdown-content em{font-style:italic}.markdown-content del{text-decoration:line-through;color:var(--text-muted)}.markdown-content hr{margin:1em 0;border:none;border-top:1px solid var(--border)}.markdown-content table{width:100%;border-collapse:collapse;margin:.75em 0;font-size:.9em}.markdown-content td,.markdown-content th{border:1px solid var(--border);padding:.5em .75em;text-align:left}.markdown-content th{font-weight:600}.markdown-content th,.markdown-content tr:nth-child(2n){background:var(--bg-secondary)}.markdown-content img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:.5em 0}.chat-input-area{position:relative;padding:20px 24px;border-top:1px solid var(--border);display:flex;gap:12px}.chat-panel--fullscreen .chat-input-area{justify-content:center}.chat-input-body{position:relative;flex:1 1;display:flex;transition:width .35s ease,max-width .35s ease,flex .35s ease}.chat-panel--fullscreen .chat-input-body{flex:0 1 auto;width:min(33vw,520px);max-width:33vw}.chat-command-menu{position:absolute;left:0;right:0;bottom:calc(100% + 8px);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 12px 24px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:4px;padding:8px;max-height:240px;overflow-y:auto;scrollbar-width:none;z-index:5}.chat-command-menu::-webkit-scrollbar{width:0;height:0}.chat-command-item{background:transparent;border:1px solid transparent;border-radius:var(--radius-md);padding:8px 10px;text-align:left;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color .15s ease,background .15s ease,color .15s ease}.chat-command-item.is-active,.chat-command-item:hover{border-color:var(--accent);background:var(--accent-glow);color:var(--text-primary)}.chat-command-name{font-weight:600;font-size:13px}.chat-command-description{color:var(--text-secondary);font-size:12px}.chat-input-area.is-multiline{align-items:flex-end}.chat-input-area.flicker .chat-input{animation:chat-input-flicker .6s ease-in-out}@keyframes chat-input-flicker{0%{box-shadow:0 0 0 0 rgba(229,168,59,0);border-color:var(--border)}35%{box-shadow:0 0 0 4px rgba(229,168,59,.25);border-color:var(--accent)}70%{box-shadow:0 0 0 2px rgba(229,168,59,.1);border-color:var(--border-hover)}to{box-shadow:0 0 0 0 rgba(229,168,59,0);border-color:var(--border)}}.chat-input{flex:1 1;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 18px;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;outline:none;transition:border-color .15s ease;min-height:48px;max-height:140px;resize:none;line-height:1.4;overflow-y:hidden;scrollbar-width:none}.chat-input::-webkit-scrollbar{width:0;height:0}.chat-input::placeholder{color:var(--text-muted)}.chat-input:focus{border-color:var(--border-hover)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.send-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-on-accent);cursor:pointer;transition:all .15s ease;flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--accent-dim);transform:scale(1.02)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn svg{width:20px;height:20px}@media (max-width:900px){.intake-app,.intake-app.chat-open{grid-template-columns:1fr}.chat-panel{width:100%;border-left:none}:root[data-chat-handedness=left] .chat-panel{border-right:none}.chat-toggle{bottom:16px;right:16px;width:56px;height:56px}:root[data-chat-handedness=left] .chat-toggle{left:16px;right:auto}.chat-toggle img{width:42px;height:42px}}@media (max-width:480px){.drop-content h2{font-size:22px}.chat-input-area,.chat-messages{padding:16px}}.splash-screen{position:fixed;inset:0;z-index:1000;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;transition:opacity .5s cubic-bezier(.4,0,.2,1)}.splash-screen.fading{opacity:0;pointer-events:none}.splash-content{display:flex;flex-direction:column;align-items:center;gap:24px;animation:splash-enter .6s cubic-bezier(.16,1,.3,1)}@keyframes splash-enter{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.splash-icon{width:360px;height:360px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:50%;color:var(--text-secondary);animation:splash-pulse 2s ease-in-out infinite}@keyframes splash-pulse{0%,to{box-shadow:0 0 0 0 var(--border-hover)}50%{box-shadow:0 0 0 20px transparent}}.splash-icon img,.splash-icon svg{width:300px;height:300px}.splash-icon img{transform:translateY(45px)}.splash-text{font-family:var(--font-sans);font-size:40px;font-weight:600;line-height:1.2;min-height:1.2em;letter-spacing:-.03em;color:var(--text-primary)}.splash-typing{display:inline-flex;align-items:center;gap:2px}.splash-typing__text{transition:opacity .45s ease}.splash-typing__text.fading{opacity:0}.splash-typing__cursor{display:inline-block;animation:splash-cursor-blink 1s step-end infinite}@keyframes splash-cursor-blink{0%,49%{opacity:1}50%,to{opacity:.2}}.login-form{display:flex;flex-direction:column;gap:16px;margin-top:32px;width:100%;max-width:320px;opacity:0;transform:translateY(20px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}.login-form.visible{opacity:1;transform:translateY(0)}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left}.login-field input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 18px;color:var(--text-primary);font-family:var(--font-sans);font-size:15px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.login-field input::placeholder{color:var(--text-muted)}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.login-field input:disabled{opacity:.6;cursor:not-allowed}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}.login-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;margin-top:8px;background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-on-accent);font-family:var(--font-sans);font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease}.login-btn:hover:not(:disabled){background:var(--accent-dim);transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-btn .spinner{width:16px;height:16px;border-width:2px}.splash-icon.success{background:rgba(34,197,94,.15);color:var(--success);animation:success-pop .4s cubic-bezier(.16,1,.3,1)}@keyframes success-pop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.intake-app.hidden{opacity:0}.intake-app.visible{opacity:1;animation:app-enter .4s cubic-bezier(.16,1,.3,1)}@keyframes app-enter{0%{opacity:0}to{opacity:1}}.drop-zone.success{background-color:rgba(34,197,94,.05)}.drop-zone.success:before{background:radial-gradient(ellipse at center,rgba(34,197,94,.1) 0,var(--bg-secondary) 70%)}.drop-content.success-exit{animation:success-exit 1.8s cubic-bezier(.4,0,.2,1) forwards}@keyframes success-exit{0%{opacity:1;transform:scale(1)}15%{opacity:1;transform:scale(1.03)}60%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(.95) translateY(-10px)}}.success-particles{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}.particle{position:absolute;width:8px;height:8px;background:var(--success);border-radius:50%;animation:particle-burst 1.5s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i) * .04s)}@keyframes particle-burst{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(calc(cos(calc(var(--i) * 30deg)) * 120px),calc(sin(calc(var(--i) * 30deg)) * 120px)) scale(0)}}.particle:first-child{animation-name:particle-1}.particle:nth-child(2){animation-name:particle-2}.particle:nth-child(3){animation-name:particle-3}.particle:nth-child(4){animation-name:particle-4}.particle:nth-child(5){animation-name:particle-5}.particle:nth-child(6){animation-name:particle-6}.particle:nth-child(7){animation-name:particle-7}.particle:nth-child(8){animation-name:particle-8}.particle:nth-child(9){animation-name:particle-9}.particle:nth-child(10){animation-name:particle-10}.particle:nth-child(11){animation-name:particle-11}.particle:nth-child(12){animation-name:particle-12}@keyframes particle-1{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100px) scale(0)}}@keyframes particle-2{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(86px,50px) scale(0)}}@keyframes particle-3{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(50px,86px) scale(0)}}@keyframes particle-4{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translateY(100px) scale(0)}}@keyframes particle-5{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-50px,86px) scale(0)}}@keyframes particle-6{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-86px,50px) scale(0)}}@keyframes particle-7{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-100px) scale(0)}}@keyframes particle-8{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-86px,-50px) scale(0)}}@keyframes particle-9{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-50px,-86px) scale(0)}}@keyframes particle-10{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translateY(-100px) scale(0)}}@keyframes particle-11{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(50px,-86px) scale(0)}}@keyframes particle-12{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(86px,-50px) scale(0)}}.help-btn{position:fixed;top:24px;left:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:50%;color:var(--text-secondary);font-family:var(--font-sans);font-size:18px;font-weight:600;cursor:pointer;z-index:50;transition:all .2s cubic-bezier(.4,0,.2,1);animation:help-btn-enter .4s cubic-bezier(.16,1,.3,1)}@keyframes help-btn-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.help-btn:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.08)}.help-btn:active{transform:scale(.95)}.react-tooltip{z-index:2000!important;background:var(--tooltip-bg)!important;color:var(--tooltip-text)!important;border:1px solid var(--tooltip-border);box-shadow:var(--tooltip-shadow);font-size:13px;line-height:1.4}.react-tooltip .react-tooltip-arrow{color:var(--tooltip-bg)}.chat-toggle-wrapper{position:fixed;bottom:24px;right:24px;z-index:50}.tour-tooltip{position:absolute;display:flex;align-items:flex-start;gap:12px;z-index:200;animation:tour-enter .4s cubic-bezier(.16,1,.3,1)}@keyframes tour-enter{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tour-tooltip--bottom{bottom:40%;left:50%;transform:translateX(-50%);flex-direction:column;align-items:center}.tour-tooltip--left{right:calc(100% + 20px);bottom:0;flex-direction:column;align-items:flex-end}.tour-arrow{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.tour-arrow svg{width:32px;height:32px;filter:drop-shadow(0 0 8px var(--accent-glow))}.tour-tooltip--bottom .tour-arrow{animation:arrow-bounce-down 1s ease-in-out infinite}.tour-tooltip--left .tour-arrow{animation:arrow-bounce-right 1s ease-in-out infinite;align-self:flex-end;margin-right:8px}@keyframes arrow-bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes arrow-bounce-right{0%,to{transform:translateX(0)}50%{transform:translateX(8px)}}.tour-content{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;min-width:280px;max-width:320px;box-shadow:0 8px 32px rgba(0,0,0,.4)}.tour-content h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.tour-content p{font-size:14px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.tour-actions{display:flex;gap:12px;margin-bottom:12px}.tour-skip{flex:1 1;padding:10px 16px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-sans);font-size:13px;cursor:pointer;transition:all .15s ease}.tour-skip:hover{border-color:var(--border-hover);color:var(--text-primary)}.tour-next{flex:1 1;padding:10px 16px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--bg-primary);font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.tour-next:hover{background:var(--accent-dim)}.tour-progress{display:flex;justify-content:center;gap:6px}.tour-dot{width:6px;height:6px;background:var(--border);border-radius:50%;transition:all .2s ease}.tour-dot.active{background:var(--accent);width:18px;border-radius:3px}.tour-infographic{width:100%;height:80px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:16px;overflow:hidden}.tour-infographic svg{width:100%;height:100%}.tour-infographic--drag .drop-target{color:var(--text-muted);animation:drop-target-pulse 2s ease-in-out infinite}@keyframes drop-target-pulse{0%,to{opacity:.5}50%{opacity:1}}.tour-infographic--drag .dragged-file{animation:drag-file 2.5s ease-in-out infinite}@keyframes drag-file{0%{transform:translate(10px,5px)}40%{transform:translate(48px,30px)}50%{transform:translate(48px,30px);opacity:1}60%{transform:translate(48px,35px);opacity:.5}70%{transform:translate(48px,35px);opacity:0}to{transform:translate(10px,5px);opacity:1}}.tour-infographic--drag .drag-cursor{animation:drag-cursor 2.5s ease-in-out infinite}@keyframes drag-cursor{0%{transform:translate(30px,20px)}40%{transform:translate(68px,45px)}50%{transform:translate(68px,45px)}60%{transform:translate(68px,45px)}70%{transform:translate(68px,45px)}to{transform:translate(30px,20px)}}.tour-infographic--click .click-cursor{animation:click-cursor-move 2s ease-in-out infinite}@keyframes click-cursor-move{0%{transform:translate(85px,55px)}30%{transform:translate(50px,55px)}40%{transform:translate(50px,55px) scale(.9)}50%{transform:translate(50px,55px)}to{transform:translate(85px,55px)}}.tour-infographic--click .click-ripple{opacity:0;animation:click-ripple 2s ease-in-out infinite}@keyframes click-ripple{0%,35%{opacity:0;r:4}40%{opacity:1;r:4}60%{opacity:0;r:16}to{opacity:0;r:16}}.tour-infographic--click .typing-dot{animation:typing-bounce 1.4s ease-in-out infinite}.tour-infographic--click .typing-dot-1{animation-delay:0s}.tour-infographic--click .typing-dot-2{animation-delay:.2s}.tour-infographic--click .typing-dot-3{animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-toggle-wrapper .chat-toggle{position:relative;bottom:auto;right:auto}@media (max-width:900px){.chat-toggle-wrapper{bottom:16px;right:16px}:root[data-chat-handedness=left] .chat-toggle-wrapper{left:16px;right:auto}.tour-tooltip--left{right:calc(100% + 12px)}.tour-content{min-width:240px;max-width:280px;padding:16px}}@media (max-width:480px){.tour-tooltip--bottom{bottom:30%}.tour-content{min-width:200px;max-width:260px}}.chat-menu-btn,.history-btn,.logout-btn,.torch-btn,.uploads-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.history-btn:hover,.uploads-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.chat-menu-btn:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-tertiary)}.logout-btn:hover{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,.1)}.torch-btn:hover{border-color:#ff6b35;color:#ff6b35;background:rgba(255,107,53,.15);transform:scale(1.05)}.chat-menu-btn svg,.history-btn svg,.logout-btn svg,.torch-btn svg,.uploads-btn svg{width:18px;height:18px}.chat-menu-list{list-style:none;margin:0;padding:0;gap:10px}.chat-menu-option{display:flex;align-items:center;width:100%;height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;justify-content:space-between}.chat-menu-option:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-hover)}.chat-menu-option:disabled{opacity:.6;cursor:not-allowed}.chat-menu-option svg{width:18px;height:18px;flex-shrink:0}.chat-menu-option.danger{border-color:#ef4444;color:#fff;background:#ef4444}.chat-menu-option.danger:hover{border-color:#dc2626;background:#dc2626}.chat-menu-tabs{margin-bottom:12px;justify-content:center}.chat-menu-section{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.chat-menu-audio-row{display:flex;align-items:center;gap:12px}.chat-menu-audio-label{flex:1 1;font-size:13px;color:var(--text-primary)}.chat-menu-audio-controls{flex:1 1;justify-content:flex-end}.chat-menu-theme{display:flex;gap:8px}.chat-menu-theme-button{flex:1 1;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.chat-menu-theme-button.is-active{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-tertiary)}.chat-menu-theme-button.is-on.is-active{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent,#0b0b0f)}.chat-menu-theme-button:disabled{opacity:.6;cursor:not-allowed}.chat-menu-label{font-size:12px;letter-spacing:.02em;text-transform:uppercase;font-style:italic;color:var(--text-secondary)}.chat-menu-row{display:flex;gap:8px}.chat-menu-input{flex:1 1;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);padding:0 12px;font-size:14px}.chat-menu-input:focus{outline:none;border-color:var(--accent)}.chat-menu-textarea{width:100%;min-height:80px;border-radius:10px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);padding:10px 12px;font-size:14px;resize:vertical}.chat-menu-textarea:focus{outline:none;border-color:var(--accent)}.chat-menu-action{height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:14px}.chat-menu-action:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-hover)}.chat-menu-action:disabled{opacity:.6;cursor:not-allowed}.history-item.is-active{border:1px solid var(--accent);background:var(--accent-glow);box-shadow:0 0 0 2px var(--accent-glow)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:500;animation:modal-overlay-enter .2s ease}.chat-panel-overlay{position:absolute;inset:0;background:rgba(10,10,11,.9);z-index:200}.modal-overlay.chat-panel-overlay{align-items:flex-end;justify-content:center;padding-bottom:20px}.modal-overlay.chat-panel-overlay.chat-panel-overlay-top{align-items:flex-start;padding-top:20px;padding-bottom:0}.chat-panel .chat-menu-modal{max-width:320px}.chat-panel .command-modal{width:min(480px,90vw)}.command-modal-description{margin:0 0 16px;color:var(--text-secondary);font-size:13px}.command-modal-fields{display:grid;grid-gap:16px;gap:16px}.command-field{display:grid;grid-gap:6px;gap:6px}.command-field-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.command-field-input{width:100%;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);font-size:13px}.command-field-input:focus{outline:none;border-color:var(--border-hover)}.command-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.command-modal-actions .button-primary,.command-modal-actions .button-secondary{border-radius:var(--radius-md);padding:10px 14px;border:1px solid transparent;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.command-modal-actions .button-primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent,#0b0b0f)}.command-modal-actions .button-primary:hover:not(:disabled){background:var(--accent-dim);border-color:var(--accent-dim)}.command-modal-actions .button-secondary{background:transparent;border-color:var(--border);color:var(--text-secondary)}.command-modal-actions .button-secondary:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-hover)}.command-modal-actions .button-primary:disabled,.command-modal-actions .button-secondary:disabled{opacity:.6;cursor:not-allowed}.chat-panel .conversation-access-modal .chat-menu-input{height:auto;padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-elevated)}.chat-panel .conversation-access-modal .chat-menu-action{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent,#0b0b0f)}.chat-panel .conversation-access-modal .chat-menu-action:hover:not(:disabled){border-color:var(--accent-dim);background:var(--accent-dim)}.conversation-access-copy{display:flex;justify-content:flex-end;margin-top:12px}.conversation-access-copy-btn{width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.conversation-access-copy-btn:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-tertiary)}.conversation-access-copy-btn:disabled{opacity:.5;cursor:not-allowed}.conversation-access-copy-icon{width:16px;height:16px}.reactions-overlay{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.85);animation:fade-in .3s ease}.reactions-shell{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg-primary)}.reactions-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px}.reactions-header-actions{display:inline-flex;align-items:center;gap:12px}.reactions-run{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.reactions-run:focus-visible,.reactions-run:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.reactions-run:disabled{opacity:.6;cursor:not-allowed}.reactions-run svg{width:14px;height:14px}.reactions-title{display:inline-flex;align-items:center;gap:10px}.reactions-title-input{height:36px;min-width:220px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-primary);font-family:var(--font-sans);font-size:16px;padding:0 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.reactions-title-input:focus{border-color:transparent;box-shadow:none}.reactions-tabs{display:flex;gap:8px;flex-wrap:wrap}.reactions-tab{height:32px;padding:0 10px;border-radius:4px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);font-size:12px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.reactions-tab,.reactions-tab-button{display:inline-flex;align-items:center;gap:8px}.reactions-tab-button{border:none;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer}.reactions-tab-open{width:36px;justify-content:center;padding:0}.reactions-tab-open svg{width:16px;height:16px}.reactions-tab-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reactions-tab-close{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:inherit;padding:0;cursor:pointer}.reactions-tab-close:disabled{opacity:.4;cursor:not-allowed}.reactions-tab-close svg{width:14px;height:14px}.reactions-tab.is-active{border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 0 2px var(--accent-glow)}.reactions-title svg{width:20px;height:20px;color:var(--accent)}.reactions-header h2{font-size:18px;font-weight:600;margin:0}.reactions-title-context{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-top:2px}.reaction-node{width:220px;max-width:220px;min-width:220px;padding:12px;border:none;border-radius:0;background:transparent;color:var(--text-primary);box-shadow:none;position:relative}.reaction-node.trigger-node.is-disabled{opacity:.45;filter:grayscale(.3)}.reaction-node-presence{position:absolute;top:-6px;right:-6px;display:flex;gap:4px;z-index:2}.reaction-node-presence-badge{width:22px;height:22px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);text-transform:uppercase;transition:opacity 4s ease,transform 4s ease,box-shadow .2s ease,border-color .2s ease}.reaction-node-presence-badge.is-active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent),0 0 10px var(--accent)}.reaction-node-presence-badge.is-fading{opacity:0;transform:scale(.9)}.reaction-node-presence-badge.is-overflow{background:var(--accent);color:var(--text-on-accent,#0b0b0f);border-color:transparent}.reaction-node-label{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reaction-node-row{display:flex;align-items:center;gap:10px}.reaction-node-row.is-media{align-items:flex-start}.reaction-node-text{max-width:150px;overflow:hidden;padding-right:4px}.reaction-node-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-primary);flex-shrink:0}.reaction-node-icon svg{width:18px;height:18px}.reaction-node-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.reaction-node.is-media .reaction-node-text{max-width:100%;padding-right:0}.reaction-node-media-preview{margin-top:10px;width:100%;height:120px;border-radius:12px;overflow:hidden;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center}.reaction-node-media-image{width:100%;height:100%;object-fit:cover}.reaction-node-media-placeholder{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-primary)}.reaction-node-media-placeholder svg{width:22px;height:22px}.reaction-node-handle{width:10px;height:10px;border-radius:999px;border:2px solid var(--border);background:var(--bg-primary)}.reaction-node-handle.is-target{left:-7px;border-color:#60a5fa;background:#60a5fa}.reaction-node-handle.is-target.is-ontology-target{top:20%;border-color:#8b5cf6;background:#8b5cf6}.reaction-node-handle.is-target.is-secondary{top:70%;border-color:var(--accent);background:var(--accent)}.reaction-node-handle.is-source{right:-7px;border-color:var(--accent);background:var(--accent)}.reaction-node-handle.is-source.is-source-trigger{border-color:#ec4899;background:#ec4899}.reaction-node-handle.is-source.is-source-ontology{border-color:#8b5cf6;background:#8b5cf6}.reaction-node-handle.is-target.is-action-target{border-color:#ec4899;background:#ec4899}.reaction-node-handle.is-source.is-source-access{border-color:#60a5fa;background:#60a5fa}.reaction-node.action-node,.reaction-node.trigger-node{min-width:180px}.reaction-node-meta{margin-top:6px;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.reaction-node-delete{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;background:var(--bg-secondary);color:var(--text-muted);cursor:pointer}.reaction-node-delete:hover{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,.12)}.reaction-node-delete svg{width:16px;height:16px}.reactions-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.reactions-close:hover{border-color:var(--border-hover);color:var(--text-primary)}.reactions-close svg{width:18px;height:18px}.reactions-body{flex:1 1;display:flex;flex-direction:column;gap:12px;padding:16px 24px 24px}.reactions-workspace{display:flex;flex-direction:row;gap:16px;flex:1 1;min-height:0}.reactions-sidebar-stack{display:flex;flex-direction:column;align-items:center;gap:12px;width:120px;flex:0 0 120px}.reactions-view-toggle{width:100%;justify-content:center}.reactions-view-toggle .chat-api-option{flex:1 1}.reactions-view-toggle .chat-api-button{min-width:0;width:100%;justify-content:center;padding:6px 8px}.reactions-view-toggle .chat-api-text{font-size:11px;letter-spacing:.02em}:root[data-chat-handedness=right] .reactions-workspace{flex-direction:row-reverse}.reactions-sidebar{display:flex;flex-direction:column;gap:16px;width:80px;flex:0 0 80px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);overflow:visible}.reactions-sidebar-left{border-color:var(--accent)}.reactions-sidebar-right{align-items:center}.reactions-sidebar-section{display:flex;flex-direction:column;gap:10px}.reactions-sidebar-title{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);font-weight:600;text-align:center}.reactions-tile{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:44px;height:44px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:-webkit-grab;cursor:grab;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease}.reactions-tile:focus-visible,.reactions-tile:hover{border-color:var(--accent);background:var(--accent-glow);color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.reactions-tile.reactions-tile-accent{border-color:transparent;background:var(--accent);color:var(--text-on-accent);box-shadow:none}.reactions-tile.reactions-tile-accent:focus-visible,.reactions-tile.reactions-tile-accent:hover{filter:brightness(1.05);border-color:transparent;background:var(--accent);color:var(--text-on-accent);box-shadow:none}.reactions-tile:disabled{opacity:.6;cursor:not-allowed}.reactions-mcp-icon,.reactions-tile svg{width:18px;height:18px}.reactions-mcp-icon{object-fit:contain}.reactions-tile-label{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600;letter-spacing:.01em;white-space:nowrap;opacity:0;pointer-events:none;box-shadow:0 6px 20px rgba(0,0,0,.18);transition:opacity .15s ease;z-index:2}.reactions-tile.reactions-tile-reverse .reactions-tile-label{left:auto;right:calc(100% + 10px)}.reactions-tile:focus-visible .reactions-tile-label,.reactions-tile:hover .reactions-tile-label{opacity:1}.reactions-tile:active{cursor:-webkit-grabbing;cursor:grabbing}.reactions-label{font-size:12px;color:var(--text-secondary);font-weight:600}.reactions-input,.reactions-select{height:40px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;padding:0 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.reactions-input:focus,.reactions-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.reactions-button{height:40px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .15s ease}.reactions-button:hover{border-color:var(--border-hover);background:var(--bg-elevated)}.reactions-button.primary{border-color:transparent;background:var(--accent);color:var(--text-on-accent)}.reactions-button.primary:hover{filter:brightness(1.05)}.reactions-list-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:960;display:flex;align-items:center;justify-content:center;padding:24px}.reactions-list-modal{width:min(480px,90vw);max-height:80vh;background:var(--bg-primary);border-radius:var(--radius-md);padding:20px;border:1px solid var(--border);color:var(--text-primary);display:flex;flex-direction:column;gap:16px}.reactions-list-modal-header{display:flex;align-items:center;justify-content:space-between}.reactions-list-modal-title{display:flex;flex-direction:column;gap:4px}.reactions-list-modal-title-main{display:flex;align-items:center;gap:10px}.reactions-list-modal-title-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-primary)}.reactions-list-modal-title-icon svg{width:18px;height:18px}.reactions-list-modal-title-text{margin:0;font-size:16px;font-weight:600}.reactions-list-modal-title-sub{color:var(--text-secondary);font-size:12px}.reactions-list-modal-header h3{margin:0;font-size:16px;font-weight:600}.reactions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.reactions-list-button{width:100%;border:1px solid transparent;background:transparent;color:inherit;text-align:left;cursor:pointer}.reactions-list-button.is-active{border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 0 2px var(--accent-glow)}.reactions-pagination{margin-top:12px}.reactions-copy{font-size:13px;color:var(--text-secondary)}.reactions-flow{flex:1 1;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);overflow:hidden;position:relative}.reactions-lock{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;z-index:5}.reactions-lock.reactions-lock-flow{bottom:48px}.reactions-lock-countdown{width:160px;height:6px;border-radius:999px;background-image:linear-gradient(to right,var(--accent) 0,var(--accent) var(--reactions-lock-progress,0),rgba(255,255,255,.25) var(--reactions-lock-progress,0),rgba(255,255,255,.25) 100%);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 60%,transparent)}.reactions-lock-icon{width:20px;height:20px;color:var(--accent);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 70%,transparent))}.reactions-node-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:950;display:flex;align-items:center;justify-content:center;padding:24px}.reactions-node-modal{width:min(420px,90vw);background:var(--bg-primary);border-radius:var(--radius-md);padding:20px;border:1px solid var(--border);color:var(--text-primary);display:flex;flex-direction:column;gap:12px}.reactions-node-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.reactions-node-modal-header h3{margin:0;font-size:16px;font-weight:600}.reactions-node-modal-close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.reactions-node-modal-close:hover{border-color:var(--border-hover);color:var(--text-primary)}.reactions-node-modal-close svg{width:16px;height:16px}.reactions-node-modal p{margin:0;color:var(--text-secondary)}.reactions-node-modal-options{display:flex;align-items:center;gap:8px;padding:6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated)}.reactions-node-modal-option{flex:1 1;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.reactions-node-modal-option:hover{color:var(--text-primary)}.reactions-node-modal-option.is-active{border-color:var(--accent);background:var(--accent-glow);color:var(--text-primary);box-shadow:0 0 0 2px var(--accent-glow)}.reactions-flow .react-flow__node{color:var(--text-primary);border-color:var(--border);background:var(--bg-primary)}.reactions-flow .react-flow__node.reaction-item-node{border-radius:18px;border:1px solid var(--border);background:var(--bg-primary)}.reactions-flow .react-flow__node.reaction-action-node,.reactions-flow .react-flow__node.reaction-trigger-node{border-radius:16px;border:1px solid var(--border);background:var(--bg-primary)}.reactions-flow .react-flow__connection-path{stroke:var(--reactions-connection-stroke);stroke-linecap:round;animation:reactions-connection-dash .8s linear infinite}@keyframes reactions-connection-dash{to{stroke-dashoffset:-12}}.reactions-flow .react-flow__edge.reactions-temp-edge path{stroke:var(--reactions-connection-stroke);stroke-dasharray:6 6;animation:reactions-connection-dash .8s linear infinite}.reactions-presence-bar{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:4}.reactions-presence-bar .chat-presence{position:static;flex-direction:row;gap:10px}.reactions-node-details{display:flex;flex-direction:column;gap:12px}.reactions-node-details-media{width:100%;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--bg-secondary)}.reactions-node-details-media img{width:100%;height:auto;display:block}.reactions-node-details-row{display:flex;flex-direction:column;gap:4px}.reactions-node-details-label{font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary)}.reactions-node-details-value{font-size:14px;color:var(--text-primary);word-break:break-word}.reactions-table-view{flex:1 1;display:flex;min-height:0;padding:50px 8px 8px}.reactions-table-card{flex:1 1;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);min-height:0}.reactions-table-controls{display:flex;align-items:center;gap:12px}.reactions-table-search{flex:1 1;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);padding:0 10px;font-size:12px;font-family:var(--font-sans);outline:none}.reactions-table-search::placeholder{color:var(--text-secondary)}.reactions-table{width:100%;border-collapse:collapse;font-size:13px}.reactions-table th{text-align:left;padding:8px 12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border)}.reactions-table-sort{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:inherit;font:inherit;padding:0;cursor:pointer}.reactions-table-sort-indicator{font-size:11px;color:var(--text-secondary)}.reactions-table-sort.is-active .reactions-table-sort-indicator{color:var(--accent)}.reactions-table-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.reactions-table-badge-icon svg{width:12px;height:12px}.reactions-table td{padding:10px 12px;border-bottom:1px solid var(--border)}.reactions-table tr.is-selected td{background:var(--accent-glow)}.reactions-table tr.is-selected-remote td{background:rgba(236,72,153,.18)}.reactions-table tr.is-selected.is-selected-remote td{background:color-mix(in srgb,var(--accent-glow) 60%,rgba(236,72,153,.18) 40%)}.reactions-table-cell{position:relative;cursor:pointer}.reactions-table-cell:hover{background:var(--bg-secondary)}.reactions-table-value{display:inline-block;max-width:260px;padding-right:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reactions-table-state{padding:24px;text-align:center;color:var(--text-secondary)}.reactions-table-pagination{justify-content:center}.reaction-node-presence.is-table{position:absolute;top:6px;right:6px}.reaction-node-presence.is-table .reaction-node-presence-badge{width:18px;height:18px;font-size:9px}.reactions-node-details-input{height:36px;width:100%;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);padding:0 10px;font-size:13px;font-family:var(--font-sans);outline:none}.reactions-node-details-input.is-compact{height:32px;font-size:12px}.reactions-node-details-row-column{gap:10px}.reactions-node-details-label-row{display:flex;align-items:center;justify-content:space-between}.reactions-node-details-add{border:none;background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer}.reactions-node-payload{display:flex;flex-direction:column;gap:8px}.reactions-node-payload-row{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:8px;gap:8px;align-items:center}.reactions-node-payload-remove{border:none;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer}.reactions-node-toggle{align-self:flex-start;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);gap:6px}.reactions-node-toggle .chat-menu-theme-button{min-width:48px;padding:6px 10px;font-size:12px}.reactions-flow .react-flow__node-default,.reactions-flow .react-flow__node-input,.reactions-flow .react-flow__node-output{color:var(--text-primary);background:var(--bg-primary)}.reactions-flow .react-flow__node.selected,.reactions-flow .react-flow__node:focus{border-color:#ffffff;box-shadow:0 0 0 2px rgba(255,255,255,.2)}.reactions-flow .react-flow__controls button{color:var(--text-primary)}.reactions-flow .react-flow__controls button,.reactions-flow .react-flow__minimap{background:var(--bg-primary);border-color:var(--border)}@media (max-width:900px){.reactions-toolbar{grid-template-columns:1fr}.reactions-toolbar-actions{justify-content:flex-start}}@keyframes modal-overlay-enter{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;animation:modal-enter .3s cubic-bezier(.16,1,.3,1);box-shadow:0 16px 64px rgba(0,0,0,.5)}.upload-modal{max-width:520px;position:relative;z-index:1}:root[data-chat-panel-open=right] .modal-overlay:has(.upload-modal){padding-right:var(--chat-panel-width,0)}:root[data-chat-panel-open=left] .modal-overlay:has(.upload-modal){padding-left:var(--chat-panel-width,0)}:root[data-chat-panel-open] .modal-overlay:has(.upload-modal) .upload-modal{max-width:min(520px,calc(100vw - var(--chat-panel-width, 0px) - 48px))}.upload-modal-content{display:flex;flex-direction:column;gap:16px}.upload-modal-panel{display:flex;flex-direction:column;gap:12px}.upload-modal-copy{margin:0;color:var(--text-secondary)}.upload-modal-actions{display:flex;justify-content:flex-end;gap:12px}.camera-panel{display:flex;flex-direction:column;gap:12px}.camera-stream{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border)}.camera-stream video{width:100%;height:100%;object-fit:cover;display:block}.camera-capture-btn{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:56px;height:56px;border-radius:50%;border:2px solid var(--text-primary);background:var(--bg-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.35);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.camera-capture-btn:hover{transform:translateX(-50%) scale(1.02);box-shadow:0 12px 28px rgba(0,0,0,.4)}.camera-capture-btn:active{transform:translateX(-50%) scale(.98)}.camera-capture-btn:disabled{cursor:not-allowed;opacity:.6}.camera-capture-inner{width:26px;height:26px;border-radius:50%;background:var(--accent)}.camera-error,.camera-help{margin:0;font-size:13px;color:var(--text-secondary)}.camera-error{color:var(--danger)}.scrape-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.scrape-input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.scrape-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.scrape-input:disabled{opacity:.6;cursor:not-allowed}@keyframes modal-enter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.add-content-header,.history-header{display:flex;flex-direction:column;gap:12px}.add-content-title,.history-title{display:inline-flex;align-items:center;gap:10px}.add-content-title-icon,.history-title-icon{width:18px;height:18px;color:var(--accent)}.add-content-tabs,.history-tabs{display:inline-flex;gap:8px;padding:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm)}.add-content-tab,.history-tab{padding:6px 12px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .15s ease}.add-content-tab svg,.history-tab svg{width:16px;height:16px;display:block}.add-content-tab.add-content-tab-icon,.history-tab.icon-tab{padding:6px 10px}.add-content-tab:hover,.history-tab:hover{color:var(--text-primary)}.add-content-tab.active,.history-tab.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-hover)}.modal-header h2{font-size:18px;font-weight:600;margin:0}.modal-header-actions{display:flex;align-items:center;gap:12px}.modal-primary{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.modal-primary:hover{filter:brightness(1.05);box-shadow:0 0 0 2px var(--accent-glow)}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.modal-close:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-tertiary)}.modal-close svg{width:18px;height:18px}.modal-content{flex:1 1;overflow-y:auto;padding:16px 24px}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border)}.admin-settings-modal{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}.admin-settings-form{display:flex;flex-direction:column;gap:16px}.admin-settings-field{display:flex;flex-direction:column;gap:6px}.admin-settings-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.admin-settings-field input,.admin-settings-field textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.admin-settings-field textarea{resize:vertical;line-height:1.4}.admin-settings-field input:focus,.admin-settings-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.admin-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px}.admin-settings-error,.admin-settings-success{padding:10px 12px;border-radius:var(--radius-sm);font-size:13px}.admin-settings-footer{display:flex;justify-content:flex-end;gap:12px}.admin-settings-cancel,.admin-settings-save{border-radius:var(--radius-md);font-size:14px;font-weight:600;padding:10px 16px;cursor:pointer;transition:all .15s ease}.admin-settings-cancel{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.admin-settings-cancel:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-tertiary)}.admin-settings-save{background:var(--accent);border:none;color:var(--bg-primary)}.admin-settings-save:hover:not(:disabled){background:var(--accent-dim);transform:translateY(-1px)}.admin-settings-cancel:disabled,.admin-settings-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--text-secondary)}.history-loading .spinner{border-top-color:var(--accent)}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--text-muted)}.history-empty svg{width:48px;height:48px}.history-empty p{margin:0;font-size:14px}.history-list{list-style:none;margin:0;padding:0}.history-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-sm);transition:background .15s ease}.conversation-history-item{padding:0;border:1px solid transparent}.conversation-history-button{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:12px;background:transparent;border:none;color:inherit;text-align:left;cursor:pointer}.conversation-history-item.active{border:1px solid var(--border);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.conversation-history-title{font-weight:600;font-size:14px;color:var(--text-primary)}.conversation-history-meta{font-size:12px;color:var(--text-secondary)}.history-item:hover{background:var(--bg-tertiary)}.history-item-preview{width:56px;height:56px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--bg-elevated)}.history-item-preview img{width:100%;height:100%;object-fit:cover}.history-item-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-sm);color:var(--accent);flex-shrink:0}.reaction-node-toolbar{display:flex;gap:8px}.reaction-node-delete.is-edit:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.history-item-icon svg{width:24px;height:24px}.history-item-info{display:flex;flex-direction:column;min-width:0;flex:1 1}.history-item-name{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item-meta{font-size:12px;color:var(--text-muted)}.pagination{gap:16px}.pagination,.pagination-btn{display:flex;align-items:center;justify-content:center}.pagination-btn{width:36px;height:36px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.pagination-btn:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn svg{width:18px;height:18px}.pagination-info{font-size:13px;color:var(--text-secondary);font-family:var(--font-mono)}.history-item-delete{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0}.history-item:hover .history-item-delete{opacity:1}.history-item-delete:hover{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,.1)}.history-item-delete svg{width:18px;height:18px}.history-item.deleting{animation:file-delete .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes file-delete{0%{opacity:1;transform:scale(1) translateX(0);max-height:100px;margin-bottom:0;padding-top:12px;padding-bottom:12px}50%{opacity:.5;transform:scale(.95) translateX(-20px)}to{opacity:0;transform:scale(.9) translateX(-40px);max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;overflow:hidden}}.confirm-overlay{z-index:600}.confirm-modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;width:90%;max-width:360px;text-align:center;animation:modal-enter .3s cubic-bezier(.16,1,.3,1);box-shadow:0 16px 64px rgba(0,0,0,.5)}.confirm-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgba(239,68,68,.1);border-radius:50%;margin:0 auto 20px;color:#ef4444}.confirm-icon svg{width:32px;height:32px}.confirm-modal h3{font-size:20px;font-weight:600;margin:0 0 12px}.confirm-filename{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary);margin:0 0 8px;word-break:break-all}.confirm-warning{font-size:13px;color:var(--text-muted);margin:0 0 24px}.confirm-actions{display:flex;gap:12px}.confirm-cancel{flex:1 1;padding:12px 20px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.confirm-cancel:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary)}.confirm-cancel:disabled{opacity:.5;cursor:not-allowed}.confirm-delete{flex:1 1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:#ef4444;border:none;border-radius:var(--radius-md);color:white;font-family:var(--font-sans);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.confirm-delete:hover:not(:disabled){background:#dc2626}.confirm-delete:disabled{opacity:.7;cursor:not-allowed}.confirm-delete .spinner{border-top-color:white}.similar-items-bar{padding:12px 16px;background:linear-gradient(135deg,var(--bg-elevated) 0,var(--bg-tertiary) 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border);animation:similar-bar-enter .3s cubic-bezier(.16,1,.3,1)}@keyframes similar-bar-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.similar-items-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.similar-items-header svg{width:14px;height:14px;color:var(--accent)}.similar-items-label{flex:1 1}.similar-items-header .spinner.small{width:12px;height:12px;border-width:1.5px;border-top-color:var(--accent)}.similar-items-list{display:flex;gap:8px}.similar-item{position:relative;width:72px;height:72px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-secondary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:2px solid transparent;flex-shrink:0}.similar-item:hover{transform:scale(1.05);border-color:var(--accent);box-shadow:0 4px 12px rgba(0,0,0,.3)}.similar-item img{width:100%;height:100%;object-fit:cover}.similar-item-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));padding:16px 6px 4px;display:flex;justify-content:flex-end}.similar-item-score{font-size:10px;font-weight:600;font-family:var(--font-mono);color:var(--accent);background:rgba(0,0,0,.6);padding:2px 4px;border-radius:3px}.similar-items-bar:before{content:"Suggested";position:absolute;top:12px;right:16px;font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;opacity:.7}.similar-items-bar{position:relative}.fire-animation{position:fixed;inset:0;z-index:9999;background:#000;pointer-events:none}.fire-animation,.fire-container{display:flex;align-items:center;justify-content:center}.fire-container{position:relative;width:100%;height:100%}.fire-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;color:#ff6b35;filter:drop-shadow(0 0 20px rgba(255,107,53,.8)) drop-shadow(0 0 40px rgba(255,107,53,.6)) drop-shadow(0 0 60px rgba(255,107,53,.4));animation:logo-pulse .5s ease-in-out infinite alternate}.fire-logo svg{width:120px;height:120px;stroke:#ff6b35;fill:none}@keyframes logo-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.9}to{transform:translate(-50%,-50%) scale(1.1);opacity:1}}.fire{position:absolute;bottom:0;width:200px;height:300px;filter:blur(1px)}.fire-right{left:60%;transform:scaleX(-1)}.fire-left{right:60%}.flame{position:absolute;bottom:0;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(ellipse at center,rgba(255,200,0,.8) 0,rgba(255,100,0,.8) 30%,rgba(255,50,0,.6) 60%,rgba(200,0,0,.4) 100%);box-shadow:0 0 20px rgba(255,100,0,.8),0 0 40px rgba(255,50,0,.6),0 0 60px rgba(255,0,0,.4);animation:flicker .3s infinite alternate}.flame-1{width:60px;height:120px;left:50%;animation-delay:0s}.flame-1,.flame-2{transform:translateX(-50%)}.flame-2{width:50px;height:100px;left:30%;animation-delay:.1s}.flame-3{width:45px;height:90px;left:70%;animation-delay:.2s}.flame-3,.flame-4{transform:translateX(-50%)}.flame-4{width:40px;height:80px;left:20%;animation-delay:.05s}.flame-5{width:35px;height:70px;left:80%;animation-delay:.15s}.flame-5,.flame-6{transform:translateX(-50%)}.flame-6{width:30px;height:60px;left:10%;animation-delay:.25s}.flame-7{width:25px;height:50px;left:90%;animation-delay:.08s}.flame-7,.flame-8{transform:translateX(-50%)}.flame-8{width:20px;height:40px;left:5%;animation-delay:.18s}@keyframes flicker{0%{transform:translateX(-50%) scaleY(1) scaleX(1) rotate(-2deg);opacity:.9}25%{transform:translateX(-50%) scaleY(1.1) scaleX(.95) rotate(1deg);opacity:1}50%{transform:translateX(-50%) scaleY(.95) scaleX(1.05) rotate(-1deg);opacity:.95}75%{transform:translateX(-50%) scaleY(1.05) scaleX(.98) rotate(2deg);opacity:1}to{transform:translateX(-50%) scaleY(1) scaleX(1) rotate(-1deg);opacity:.9}}.fire-left .flame,.fire-right .flame{animation:flicker-alt .35s infinite alternate}@keyframes flicker-alt{0%{transform:translateX(-50%) scaleY(1) scaleX(1) rotate(2deg);opacity:.85}25%{transform:translateX(-50%) scaleY(1.15) scaleX(.9) rotate(-1deg);opacity:1}50%{transform:translateX(-50%) scaleY(.9) scaleX(1.1) rotate(1deg);opacity:.9}75%{transform:translateX(-50%) scaleY(1.1) scaleX(.95) rotate(-2deg);opacity:1}to{transform:translateX(-50%) scaleY(1) scaleX(1) rotate(1deg);opacity:.85}}