:root{--base-font-size: 17px;--base-line-height: 1.58;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--shadow-sm: 0 6px 18px rgba(15,23,42,.06);--shadow-lg: 0 18px 48px rgba(15, 23, 42, .08);--glass-blur: blur(16px);--bg: #f4f7fb;--bg-gradient: radial-gradient(circle at top left, rgba(37, 99, 235, .08), transparent 30%), radial-gradient(circle at bottom right, rgba(15, 23, 42, .03), transparent 30%), linear-gradient(180deg, #f8fafc 0%, #f4f7fb 100%);--panel: rgba(255, 255, 255, .85);--panel-alt: rgba(255, 255, 255, .5);--border: rgba(203, 213, 225, .8);--border-strong: rgba(148, 163, 184, .5);--text: #0f172a;--muted: #64748b;--accent: #2563eb;--accent-soft: rgba(37, 99, 235, .1);--success: #059669;--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .1)}html{font-size:var(--base-font-size)}body{font-family:Sora,ui-sans-serif,system-ui,sans-serif;background:var(--bg-gradient);color:var(--text);line-height:var(--base-line-height)}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%}body{margin:0;min-height:100vh;background:var(--bg-gradient);background-attachment:fixed;color:var(--text)}button,input,select,textarea{font:inherit}button{color:inherit}code,.mono{font-family:JetBrains Mono,ui-monospace,monospace}code.inline-code{background:var(--panel-alt);border:1px solid var(--border-strong);padding:.15rem .35rem;border-radius:6px;font-size:.88em;color:var(--text);word-break:break-word}#root{height:100dvh}.app-wrapper,.app-shell,.library-shell,.chat-app,.files-page,.settings-shell{min-height:100%}:root{--page-max-width: 1540px;--page-gutter: clamp(.75rem, 2vw, 1.5rem)}.chat-app{display:grid;grid-template-rows:auto minmax(0,1fr);gap:1rem;width:min(100%,var(--page-max-width));margin-inline:auto;padding:1rem var(--page-gutter) 1.15rem}.page-toolbar{display:flex;align-items:center;gap:1rem;padding:var(--space-2) var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.page-brand{display:flex;align-items:center;gap:.9rem;min-width:0}.page-brand .brand-block{margin:0;padding:0;border:none;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.page-toolbar-actions{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.page-subheader{padding:0 .35rem}.page-subheader h2{margin:.15rem 0 0;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:700;letter-spacing:-.03em}.top-nav{display:flex;gap:var(--space-2);margin-left:1rem}.nav-item{background:transparent;border:none;padding:8px 12px;border-radius:12px;color:var(--muted);font-weight:700;cursor:pointer;transition:all .16s ease;font-size:.95rem}.nav-item.is-active{color:var(--text);background:#2563eb0f;box-shadow:0 6px 18px #2563eb0f}.nav-item:hover{transform:translateY(-2px);color:var(--accent)}.files-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:1rem;width:min(100%,var(--page-max-width));margin-inline:auto;padding:1rem var(--page-gutter) 1.15rem;min-height:100%}.files-page .library-shell{padding:0;min-height:0}.icon-button{display:inline-flex;align-items:center;gap:.45rem;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-alt);font-size:.9rem;font-weight:600;color:var(--text);cursor:pointer;transition:all .18s ease;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.icon-button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb1a}.icon-button-glyph{font-size:1rem;line-height:1}.topbar-cta{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:.5rem;padding:calc(var(--space-1) + 4px) calc(var(--space-3) + 4px);border:none;border-radius:999px;font-size:.95rem;font-weight:600;line-height:1.25;letter-spacing:.01em;cursor:pointer;transition:all .15s ease}.topbar-cta--primary{background:linear-gradient(135deg,#1d4ed8,#3b82f6);color:#fff;box-shadow:0 8px 28px #2563eb38;padding:calc(var(--space-1) + 6px) calc(var(--space-4) + 4px);font-size:1rem}.topbar-cta--primary:hover:not(:disabled){background:linear-gradient(135deg,#1e40af,#2563eb);box-shadow:0 12px 36px #2563eb40;transform:translateY(-2px)}.topbar-cta--secondary{background:var(--panel-alt);color:var(--accent);border:1px solid var(--border-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.topbar-cta--secondary:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.topbar-cta:active:not(:disabled){transform:scale(.97)}.topbar-cta:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-workspace{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:1rem;min-height:0;align-items:start}.session-panel{display:flex;flex-direction:column;gap:1.1rem;align-self:start;position:sticky;top:1.1rem;padding:var(--space-4)}.session-actions{display:flex;flex-direction:column;gap:.65rem;margin-top:.4rem;padding-top:.9rem;border-top:1px solid var(--border)}.session-actions .topbar-cta{width:100%}.sidebar-label-group{display:flex;align-items:center;gap:.5rem;color:var(--muted)}.sidebar-icon{color:var(--accent);opacity:.95}.sidebar-row-icon{color:var(--muted);opacity:.75;transition:color .2s ease}.header-panel-row:hover .sidebar-row-icon{color:var(--accent);opacity:.95}.sidebar-select{border:1px solid var(--border);border-radius:8px;background:var(--panel-alt);color:var(--text);font-size:.82rem;font-weight:600;padding:.35rem 1.6rem .35rem .6rem;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .45rem center;background-size:.75em;transition:all .2s ease;max-width:170px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-select:hover,.sidebar-select:focus{border-color:var(--accent);background-color:var(--panel);box-shadow:0 2px 8px #2563eb14}.toast{position:fixed;bottom:1.5rem;left:50%;z-index:1000;transform:translate(-50%);padding:.75rem 1.25rem;border-radius:999px;background:#0f172ae6;color:#fff;font-size:.875rem;font-weight:600;box-shadow:0 10px 28px #00000080;pointer-events:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.1);animation:fadeInUp .3s ease}.chat-main{display:grid;grid-template-rows:auto minmax(0,1fr);gap:1rem;min-height:0}.settings-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:1.1rem;width:min(100%,var(--page-max-width));margin-inline:auto;padding:1rem var(--page-gutter) 1.15rem;min-height:100%}.settings-header h2{margin:.15rem 0 0;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:700;letter-spacing:-.03em}.settings-content{min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,420px));gap:1rem;align-content:start;justify-content:start}.settings-content .sidebar-card{padding:1.5rem;gap:1.1rem}.settings-brand{margin:0}.app-shell,.library-shell{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:1rem;padding:0}.workspace-sidebar,.library-sidebar,.workspace-main,.library-main{min-height:0;min-width:0}.workspace-sidebar,.library-sidebar{display:flex;flex-direction:column;gap:1rem}.brand-block,.sidebar-card,.workspace-header,.library-header,.prompt-bar,.chat-shell,.library-toolbar,.document-card,.welcome-panel,.empty-state,.composer{background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.brand-block{display:flex;align-items:center;gap:.9rem;padding:var(--space-3)}.brand-mark{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:#0f172a;border:1px solid #1e293b}.brand-logo img{width:2.2rem;height:auto}.brand-title,.workspace-header h2,.library-header h2,.welcome-hero h3,.empty-title,.document-card h3{margin:0;font-family:Sora,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.03em}.brand-title{font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.brand-copy,.section-copy,.upload-status,.empty-copy,.recent-item-meta,.document-card-meta,.composer-meta,.header-description{margin:0;color:var(--muted)}.eyebrow,.field-label,.panel-label,.scope-label,.message-label,.message-subtitle{margin:0;font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.sidebar-card{display:flex;flex-direction:column;gap:.75rem;padding:var(--space-3)}.section-heading,.header-panel-row,.citation-block-header,.document-card-top,.document-card-actions,.document-card-meta,.filter-row,.message-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.section-heading{padding-bottom:.6rem;border-bottom:1px solid var(--border)}.header-panel-row{padding:.55rem 0;border-bottom:1px solid var(--border)}.header-panel-row:last-child{border-bottom:0;padding-bottom:0}.panel-value{text-align:right;font-weight:600;font-size:.85rem;color:var(--text)}.select,.composer-input,.toolbar-search,.composer-textarea{width:100%;border:1px solid var(--border-strong);border-radius:12px;background:#fff9;color:var(--text);outline:none;transition:all .2s ease;padding:.8rem .9rem}.select{min-height:2.75rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em}.select:focus,.composer-input:focus,.toolbar-search:focus,.composer-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26;background:#ffffffe6}.helper-chip,.status-pill,.doc-type-badge,.doc-visibility,.filter-chip,.prompt-chip,.secondary-button,.danger-button{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--panel-alt);font-size:.78rem;font-weight:600;color:var(--muted);text-decoration:none;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:all .2s ease}.status-pill.is-online{color:var(--success);border-color:#0596694d;background:#0596691a}.status-dot{width:.5rem;height:.5rem;border-radius:999px;background:var(--success);box-shadow:0 0 8px #05966980}.scope-banner{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;background:var(--accent-soft);padding:.8rem 1rem}.scope-banner strong{display:block;margin-top:.3rem;color:var(--text);font-size:.82rem;font-weight:600;line-height:1.4}.mini-stat,.recent-item,.welcome-card,.citation-block{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-alt);padding:var(--space-2)}.upload-button{display:inline-flex;justify-content:center;align-items:center;min-height:calc(var(--space-3) + .9rem);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px dashed var(--border-strong);background:#fff6;color:var(--text);font-weight:600;cursor:pointer;transition:all .18s ease}.upload-button:hover,.prompt-chip:hover,.filter-chip:hover,.secondary-button:hover,.link-button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.file-input{display:none}.link-button{padding:0;border:none;background:transparent;color:var(--accent);font-weight:600;cursor:pointer;transition:color .2s}.mini-stat-grid,.welcome-grid,.document-grid{display:grid;gap:.75rem}.mini-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-stat{position:relative;overflow:hidden}.mini-stat:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent);border-radius:4px 0 0 4px;opacity:.8}.mini-stat-value{display:block;font-size:1.5rem;font-weight:800;letter-spacing:-.03em}.mini-stat-label{display:block;margin-top:.15rem;font-size:.8rem;color:var(--muted)}.recent-list{display:flex;flex-direction:column;gap:.6rem}.recent-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;transition:transform .2s ease}.recent-item:hover{transform:translate(4px);border-color:var(--border-strong)}.recent-item-main{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1 1 auto}.recent-item-info{min-width:0;display:flex;flex-direction:column;gap:.15rem;flex:1 1 auto}.recent-item-title{margin:0;font-size:.9rem;font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.recent-item-date{font-size:.75rem;color:var(--muted);white-space:nowrap}.workspace-main,.library-main{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.9rem}.workspace-header,.library-header{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:1rem;padding:1.05rem 1.1rem}.workspace-header h2,.library-header h2,.welcome-hero h3,.empty-title{font-size:clamp(1.4rem,2vw,2rem);font-weight:700}.header-panel{display:flex;flex-direction:column;gap:.7rem}.prompt-bar{display:flex;flex-wrap:wrap;gap:.6rem;padding:.9rem}.prompt-chip,.filter-chip{cursor:pointer;line-height:1.25;border:1px solid var(--border-strong)}.filter-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.chat-shell{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;overflow:hidden;padding:0;border:none;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.chat-list{min-height:0;overflow-y:auto;padding:1rem 1rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.welcome-panel{margin:auto;width:min(100%,52rem);padding:2rem;border:1px solid var(--border);border-radius:24px;background:var(--panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);text-align:center}.welcome-hero h3{background:linear-gradient(135deg,#0f172a,#334155);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.welcome-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2rem;text-align:left}.welcome-card{border:1px solid var(--border-strong);background:#fff9;transition:transform .2s ease,border-color .2s ease}.welcome-card:hover{transform:translateY(-4px);border-color:var(--accent)}.welcome-card strong{display:block;margin-bottom:.35rem;color:var(--text)}.welcome-card p{margin:0;color:var(--muted);font-size:.9rem}.message-row{display:flex;animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) forwards}.message-row.is-user{justify-content:flex-end}.message-card{display:flex;flex-direction:column;gap:.5rem;max-width:min(48rem,92%)}.message-card.is-assistant{max-width:min(64rem,95%)}.message-card.is-user{align-items:flex-end}.message-label{color:var(--text);font-weight:600;font-size:.85rem}.message-subtitle{color:var(--muted);font-size:.7rem}.message-content{padding:1rem 1.25rem;border-radius:20px;border:1px solid var(--border);background:var(--panel);white-space:pre-wrap;line-height:1.65;box-shadow:0 4px 12px #0f172a0d}.message-row.is-user .message-content{background:linear-gradient(135deg,#1d4ed8,#3b82f6);border-color:transparent;color:#fff;border-bottom-right-radius:4px}.message-row.is-assistant .message-content{border-bottom-left-radius:4px;border:1px solid var(--border-strong)}.message-paragraph{margin:0 0 .5rem}.message-paragraph:last-child{margin-bottom:0}.message-list{margin:0 0 .5rem;padding-left:1.2rem}.message-list:last-child{margin-bottom:0}.message-h1,.message-h2,.message-h3{color:var(--text);font-family:inherit;margin:1.1rem 0 .5rem}.message-h1{font-size:1.25rem;font-weight:700}.message-h2{font-size:1.15rem;font-weight:700}.message-h3{font-size:1.02rem;font-weight:600}.message-content>*:first-child{margin-top:0}.message-content>*:last-child{margin-bottom:0}.typing-indicator{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem}.typing-dot{width:.4rem;height:.4rem;border-radius:999px;background:var(--accent);animation:typingPulse 1.4s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.citation-block{background:#fff6;border:1px solid var(--border-strong);margin-top:.5rem}.citation-block-header{margin-bottom:.55rem;font-size:.78rem;font-weight:700;color:var(--muted)}.citation-row{display:flex;flex-wrap:wrap;gap:.5rem}.citation-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--panel);font-size:.78rem;font-weight:600;color:var(--muted);text-decoration:none;transition:all .2s ease}.citation-pill:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb1a}.citation-index{color:var(--accent);font-weight:700}.citation-score{opacity:.7;font-size:.7rem}.composer{display:flex;flex-direction:column;gap:.45rem;padding:var(--space-3);border-top:1px solid var(--border);background:var(--panel);border-radius:var(--radius-lg);box-shadow:0 -4px 24px #0f172a0d;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);margin:0 1rem;border:1px solid var(--border-strong)}.composer-frame{display:flex;flex-direction:column;gap:.45rem}.composer-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem}.composer-hint{margin:0;font-size:.78rem;color:var(--muted);line-height:1.35}.composer-hint--left{justify-self:start;text-align:left}.composer-hint--right{justify-self:end;text-align:right}.composer-footer .composer-button{justify-self:center}.composer-textarea{min-height:3.75rem;max-height:12rem;resize:vertical;padding:var(--space-2) var(--space-3);line-height:1.55;border:1px solid var(--border-strong);background:#fff9}.composer-button{flex-shrink:0;min-width:6.5rem;min-height:3rem;padding:.6rem 1.4rem;border:none;border-radius:14px;background:linear-gradient(135deg,#165ed8,#2b8af6);color:#fff;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;box-shadow:0 10px 30px #2563eb2e}.composer-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 36px #2563eb33}.composer-button:active:not(:disabled){transform:scale(.97)}.composer-button:disabled,.danger-button:disabled{opacity:.5;cursor:not-allowed;background:var(--panel-alt);box-shadow:none;color:var(--muted);border:1px solid var(--border)}.library-toolbar{display:flex;flex-direction:column;gap:.8rem;padding:.95rem 1rem}.filter-row{flex-wrap:wrap;justify-content:flex-start}.document-grid{grid-template-columns:repeat(auto-fit,minmax(260px,320px));justify-content:start;align-content:start}.document-card{display:flex;flex-direction:column;gap:.9rem;transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .2s ease,box-shadow .28s ease;padding:1.25rem;box-shadow:var(--shadow-sm)}.document-card:hover{transform:translateY(-6px);border-color:#1665eb1f;box-shadow:var(--shadow-lg)}.document-card h3{margin:.35rem 0 0;font-size:1.05rem;line-height:1.35;color:var(--text)}.doc-type-badge{color:var(--accent);background:var(--accent-soft);border-color:#2563eb33}.danger-button{color:var(--danger);background:var(--danger-soft);border-color:#dc262633;cursor:pointer}.danger-button:hover:not(:disabled){background:#dc262626}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a0f73;display:grid;place-items:center;z-index:10000}.modal-dialog{width:min(540px,calc(100% - 48px));background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-lg)}.modal-title{margin:0 0 var(--space-2) 0;font-size:1.05rem;font-weight:700}.modal-desc{margin:0 0 var(--space-3) 0;color:var(--muted)}.modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.subheader-title{display:flex;align-items:center;gap:.65rem;margin-top:.25rem!important}.subheader-icon{color:var(--accent);opacity:.95;flex-shrink:0}.section-title-group{display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:.95rem;color:var(--text)}.section-title-icon{color:var(--accent);opacity:.85;flex-shrink:0}.mini-stat{position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .2s ease,box-shadow .25s ease!important}.mini-stat:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 6px 20px #2563eb1f}.mini-stat-label{display:flex;align-items:center;gap:.35rem;margin-top:.25rem;font-size:.8rem;color:var(--muted);text-transform:capitalize}.mini-stat-icon{color:var(--muted);opacity:.8;flex-shrink:0;transition:color .2s ease}.mini-stat:hover .mini-stat-icon{color:var(--accent);opacity:1}.recent-item-main{display:flex;align-items:center;gap:.75rem;min-width:0}.recent-item-info{min-width:0;display:flex;flex-direction:column;gap:.15rem}.recent-item>div:last-child{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;white-space:nowrap}.recent-item-icon{display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:10px;background:var(--panel-alt);border:1px solid var(--border);flex-shrink:0;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.recent-item:hover .recent-item-icon{background:var(--accent-soft);border-color:#2563eb33;transform:scale(1.05)}.recent-icon{width:1.1rem;height:1.1rem;flex-shrink:0}.recent-icon.pdf-color{color:var(--danger)}.recent-icon.md-color{color:var(--success)}.upload-button{gap:.5rem;transition:all .2s ease}.upload-btn-icon{color:var(--muted);flex-shrink:0;transition:color .2s ease,transform .2s ease}.upload-button:hover .upload-btn-icon{color:var(--accent);transform:translateY(-1px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes typingPulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1;box-shadow:0 0 6px var(--accent)}}.document-card-header{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.document-card-title-group{min-width:0;display:flex;flex-direction:column;gap:.15rem;width:100%}.document-card h3{margin:0}.loading-spinner-icon{animation:spin 1.8s linear infinite;color:var(--accent);flex-shrink:0}.empty-state-icon{color:var(--muted);flex-shrink:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.welcome-hero-title{display:flex;align-items:center;justify-content:center;gap:.65rem;margin:0 0 .65rem}.welcome-hero-icon{color:var(--accent);opacity:.95;flex-shrink:0}.welcome-hero-text{background:linear-gradient(135deg,#0f172a,#334155);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:700;letter-spacing:-.03em;line-height:1.25}.welcome-card{display:flex;flex-direction:column;gap:.85rem;padding:1.4rem!important;border-radius:18px;background:var(--panel-alt);border:1px solid var(--border);transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .2s ease,box-shadow .25s ease!important}.welcome-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 24px #2563eb14}.welcome-card-icon{display:flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:12px;background:var(--panel);border:1px solid var(--border);flex-shrink:0;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.welcome-card:hover .welcome-card-icon{background:var(--accent-soft);border-color:#2563eb33;transform:scale(1.05)}.welcome-icon{width:1.15rem;height:1.15rem;color:var(--muted);transition:color .2s ease}.welcome-card:hover .welcome-icon{color:var(--accent)}.welcome-card strong{display:block;font-size:1.05rem;font-weight:700;margin-bottom:.15rem;color:var(--text);letter-spacing:-.02em}.welcome-card p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.5}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;gap:.75rem;margin:2rem auto;width:min(100%,36rem)}.empty-title{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;color:var(--text)}.citation-header-label{display:inline-flex;align-items:center;gap:.35rem}.citation-header-icon{color:var(--muted);flex-shrink:0}.grounding-verified{display:inline-flex;align-items:center;gap:.35rem;color:var(--success);font-weight:600}.grounding-icon{color:var(--success);flex-shrink:0}.visibility-badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:8px;font-size:.78rem;font-weight:600;border:1px solid var(--border);transition:all .2s ease}.visibility-badge.is-public{color:var(--accent);background:var(--accent-soft);border-color:#2563eb26}.visibility-badge.is-private{color:#d97706;background:#d9770614;border-color:#d9770633}.header-panel-row{transition:background-color .2s ease,padding-left .2s ease}.header-panel-row:hover{padding-left:.25rem}.sidebar-select{border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);font-size:.82rem;font-weight:600;padding:.4rem 1.8rem .4rem .75rem;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .55rem center;background-size:.75em;transition:all .25s cubic-bezier(.16,1,.3,1);max-width:170px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-shadow:0 1px 2px #0f172a0d}.sidebar-select:hover{border-color:var(--accent);background-color:var(--panel-alt);box-shadow:0 4px 12px #2563eb14}.citation-tooltip-wrapper{position:relative;display:inline-block;vertical-align:baseline}.inline-citation{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:1px 5px;font-size:.72rem;font-weight:600;line-height:1.1;text-decoration:none;border:1px solid rgba(37,99,235,.15);margin:0 3px;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 2px #2563eb0d}.inline-citation:hover{background:#2563eb2e;border-color:var(--accent);box-shadow:0 3px 8px #2563eb26;transform:translateY(-1px)}.citation-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:130%;left:50%;transform:translate(-50%) translateY(4px);background:#0f172a;color:#f8fafc;border:1px solid rgba(255,255,255,.08);padding:6px 12px;border-radius:8px;font-size:.75rem;font-weight:550;white-space:nowrap;box-shadow:0 8px 24px #0f172a4d;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),visibility .2s cubic-bezier(.16,1,.3,1);z-index:1000;pointer-events:none}.citation-tooltip .tooltip-name{font-family:inherit;font-weight:600;color:#f1f5f9}.citation-tooltip .tooltip-score{font-family:var(--font-mono, monospace);font-weight:700;color:#38bdf8;margin-left:8px;background:#38bdf81f;padding:1px 5px;border-radius:4px;font-size:.68rem}.citation-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:#0f172a transparent transparent transparent}.citation-tooltip-wrapper:hover .citation-tooltip{visibility:visible;opacity:1;transform:translate(-50%) translateY(0)}.search-wrapper{position:relative;width:100%}.search-wrapper .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;transition:color .2s ease}.search-wrapper .toolbar-search{padding-left:2.6rem!important}.search-wrapper:focus-within .search-icon{color:var(--accent)}.visibility-toggle-group{display:flex;gap:.4rem;background:var(--panel-alt);padding:.25rem;border-radius:12px;border:1px solid var(--border);margin-bottom:.5rem}.visibility-toggle-group .toggle-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .75rem;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.visibility-toggle-group .toggle-button:hover{color:var(--text);background:#fff6}.visibility-toggle-group .toggle-button.is-selected{background:var(--panel);color:var(--text);border-color:var(--border-strong);box-shadow:0 2px 8px #0f172a0a}.visibility-toggle-group .toggle-button.is-selected.is-public{color:var(--accent);border-color:#2563eb33;background:var(--accent-soft)}.visibility-toggle-group .toggle-button.is-selected.is-private{color:#d97706;border-color:#d9770633;background:#d977060f}.toggle-button-icon{width:12px;height:12px;flex-shrink:0}.document-card-body{display:flex;flex-direction:column;gap:.75rem}.document-card-info{display:flex;align-items:center;gap:.75rem;min-width:0}.document-filename{font-size:1.05rem;font-weight:600;line-height:1.4;color:var(--text);margin:0;overflow:hidden;text-overflow:ellipsis;line-clamp:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-all}.document-card-badges{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.badge-icon{width:12px;height:12px;flex-shrink:0}.doc-type-badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:8px;font-size:.78rem;font-weight:600;border:1px solid var(--border);color:var(--accent);background:var(--accent-soft);border-color:#2563eb26;transition:all .2s ease}.document-card-actions .secondary-button,.document-card-actions .danger-button{border-radius:10px;font-size:.8rem;padding:.5rem .85rem;flex:1;justify-content:center}.filter-chip-count{font-size:.72rem;opacity:.75;background:#0f172a0d;padding:1px 5px;border-radius:4px;margin-left:.35rem}.filter-chip.is-active .filter-chip-count{background:#fff3;color:#fff}.upload-status{font-size:.8rem!important;font-weight:550;padding:.6rem .8rem;border-radius:10px;border:1px solid var(--border);background:var(--panel-alt);margin-top:.5rem;line-height:1.4;transition:all .2s ease}.upload-status.is-loading{color:var(--accent)!important;background:var(--accent-soft)!important;border-color:#2563eb26!important}.upload-status.is-success{color:var(--success)!important;background:#0596690d!important;border-color:#05966926!important}.upload-status.is-error{color:var(--danger)!important;background:var(--danger-soft)!important;border-color:#dc262626!important}@media(max-width:1100px){.app-shell,.library-shell,.chat-workspace{grid-template-columns:1fr}.session-panel{position:static}.page-toolbar{flex-wrap:wrap}.top-nav{margin-left:0;width:100%;flex-wrap:wrap}.page-toolbar-actions{margin-left:0;width:100%}.workspace-header,.library-header{grid-template-columns:1fr}.workspace-main,.library-main{grid-template-rows:auto auto auto minmax(0,1fr)}.settings-content{grid-template-columns:1fr}.document-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media(max-width:760px){#root,.app-wrapper,.app-shell,.library-shell{height:auto;min-height:100vh}.app-shell,.library-shell,.chat-app,.settings-shell,.files-page{padding:.75rem}.mini-stat-grid,.welcome-grid{grid-template-columns:1fr}.chat-shell{min-height:70vh}.message-card{max-width:100%}.composer-button{min-height:3rem}.workspace-header,.library-header{padding:1rem}.page-toolbar-actions,.top-nav{width:100%}.nav-item{flex:1 1 auto}.document-grid{grid-template-columns:1fr}.recent-item{flex-direction:column}.recent-item>div:last-child{width:100%;justify-content:flex-start}}
