:root{color-scheme:light;--bg: #f5f6f8;--surface: #ffffff;--surface-soft: rgba(255, 255, 255, .52);--surface-quiet: rgba(255, 255, 255, .38);--glass: rgba(255, 255, 255, .62);--glass-strong: rgba(255, 255, 255, .78);--line: rgba(21, 23, 29, .11);--line-strong: rgba(21, 23, 29, .18);--text: #15171d;--muted: rgba(21, 23, 29, .64);--faint: rgba(21, 23, 29, .42);--accent: #0071e3;--accent-hover: #0067cf;--accent-soft: rgba(0, 113, 227, .1);--blue: #0071e3;--red: #ff3b30;--success: #34c759;--warning: #ff9500;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 10px 24px rgba(22, 29, 42, .06);--shadow-md: 0 18px 42px rgba(22, 29, 42, .08);--shadow-lg: 0 26px 70px rgba(22, 29, 42, .12);--inset-highlight: inset 0 1px 0 rgba(255, 255, 255, .86);--blur: blur(22px) saturate(1.45);--radius: 14px;--radius-control: 14px;--z-modal-backdrop: 30;--z-modal: 40;--z-toast: 50;--font: Inter, "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", sans-serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--text);background:var(--bg);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,p{margin:0}.shell{min-height:100svh;padding:8px 20px;background:linear-gradient(90deg,rgba(255,255,255,.34),transparent 28%),var(--bg);overflow-x:hidden}.shell:not(.chat-mode){height:100svh;overflow:hidden}.shell.chat-mode{padding-bottom:16px}.upload-entry,.info-entry,.primary-button,.query-composer button,.segmented button,.evidence-item button,.corpus-state button,.icon-button{border:0}.toast{position:relative;z-index:var(--z-toast);display:flex;gap:12px;align-items:center;max-width:540px;margin:16px auto 0;padding:14px 16px;color:var(--red);background:#fff2f1e6;border:1px solid rgba(255,59,48,.2);border-radius:var(--radius-control);box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);animation:slideDown .24s cubic-bezier(.16,1,.3,1) both}.toast>svg{flex-shrink:0}.toast span{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.toast button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:0;color:inherit;cursor:pointer;opacity:.6;transition:opacity .16s ease}.toast button:hover{opacity:1}.home{display:grid;align-content:center;gap:10px;justify-items:center;max-width:860px;min-height:calc(100svh - 16px);margin:0 auto;padding-top:0}.hero{display:grid;justify-items:center;gap:11px;width:100%;text-align:center}h1{color:var(--text);font-size:3.25rem;font-weight:700;letter-spacing:0;line-height:1.02;text-wrap:balance}h2{color:var(--text);font-size:1.18rem;line-height:1.25}.hero-copy{display:grid;gap:7px;max-width:680px;color:var(--muted);line-height:1.3}.hero-copy h1{font-size:clamp(2rem,2.6vw,2.45rem);line-height:1.12}.hero-copy p{color:var(--muted);font-size:.98rem}.query-composer{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:center;width:min(800px,100%);min-height:60px;padding:8px 10px 8px 18px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--inset-highlight),var(--shadow-sm);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.query-composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #0071e31f,var(--inset-highlight),var(--shadow-md);transform:translateY(-1px)}.query-composer>input[type=text]{width:100%;min-width:0;color:var(--text);background:transparent;border:0;outline:0;font-size:1.02rem;line-height:1.45}.query-composer>input[type=text]::placeholder,.upload-form input::placeholder,.upload-form textarea::placeholder{color:var(--faint)}.send-button,.upload-entry,.info-entry,.primary-button,.icon-button{display:inline-flex;justify-content:center;align-items:center;border-radius:999px;transition:background .16s ease,color .16s ease,opacity .16s ease,transform .16s ease,box-shadow .16s ease}.send-button{width:44px;height:44px;color:#fff;background:var(--accent);box-shadow:0 8px 18px #0071e33d}.send-button svg,.primary-button svg,.upload-entry svg,.info-entry svg,.icon-button svg{color:currentColor}.send-button:hover:not(:disabled),.primary-button:hover:not(:disabled),.upload-entry:hover:not(:disabled),.info-entry:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.send-button.stop-button{color:#fff;background:var(--red)}.send-button.stop-button:hover{background:#d92d26}.send-button:disabled,.primary-button:disabled{opacity:.68}.eval-toggle{grid-column:1 / -1;display:inline-flex;gap:8px;align-items:center;justify-self:start;min-height:26px;color:var(--muted);font-size:.78rem;font-weight:760;cursor:pointer}.eval-toggle input{width:16px;height:16px;accent-color:var(--accent)}.eval-toggle input:disabled{cursor:not-allowed}.home-status-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;width:min(760px,100%)}.home-actions{display:inline-flex;flex-wrap:wrap;gap:10px;justify-content:center}.example-questions{display:grid;gap:8px;width:min(760px,100%);text-align:left}.example-title{color:var(--muted);font-size:.76rem;font-weight:700;text-align:center}.example-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.example-list button{display:grid;gap:6px;min-height:58px;padding:10px 12px;color:var(--text);text-align:left;background:var(--glass);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--inset-highlight);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.example-list button:hover:not(:disabled){background:var(--glass-strong);border-color:var(--line-strong);box-shadow:var(--inset-highlight),var(--shadow-sm);transform:translateY(-1px)}.example-list button:disabled{opacity:.62}.example-list span{font-size:.83rem;font-weight:700}.example-list small{min-width:0;color:var(--muted);font-size:.76rem;line-height:1.28;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.corpus-state{display:flex;flex-wrap:wrap;gap:2px;padding:5px;color:var(--muted);background:var(--glass);border:1px solid var(--line);border-radius:999px;box-shadow:var(--inset-highlight),var(--shadow-sm);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.corpus-state span,.corpus-state button{padding:7px 11px;color:var(--muted);background:transparent;white-space:nowrap;border-radius:999px;font-size:.8rem}.corpus-state button:hover{color:var(--text);background:#ffffffb8}.corpus-state strong{color:var(--text);font-weight:760}.upload-entry,.info-entry,.primary-button{gap:8px;min-height:40px;padding:0 16px;color:#fff;background:var(--accent);font-weight:700;box-shadow:0 10px 24px #0071e329}.info-entry{color:var(--text);background:var(--glass);border:1px solid var(--line);box-shadow:var(--inset-highlight),var(--shadow-sm);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.info-entry:hover:not(:disabled){color:#fff;border-color:var(--accent-hover);box-shadow:0 10px 24px #0071e329}.chat-view{display:grid;gap:22px;max-width:980px;margin:0 auto;padding-top:42px}.chat-thread{display:grid;gap:16px;animation:rise .22s ease-out both}.message{max-width:74ch}.user-message{justify-self:end;display:grid;gap:6px;width:min(680px,100%);padding:14px 16px;background:var(--glass);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--inset-highlight);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.user-message span{color:var(--muted);font-size:.78rem;font-weight:760}.user-message p{color:var(--text);line-height:1.6;overflow-wrap:anywhere}.rag-flow{display:grid;grid-template-columns:minmax(220px,276px) minmax(0,1fr);gap:14px;align-items:start}.composer-dock{position:fixed;right:22px;bottom:20px;left:22px;display:flex;justify-content:center;padding:10px 0;background:transparent;pointer-events:none}.composer-dock .query-composer{pointer-events:auto}.stage-rail,.answer-panel,.upload-form,.upload-result{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--inset-highlight);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.stage-rail{padding:16px}.rail-title,.answer-head{color:var(--muted);font-size:.78rem;font-weight:700}.stage-list{display:grid;gap:3px;margin-top:12px}.stage-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;min-height:44px;padding:6px 8px;color:var(--muted);border-radius:var(--radius);transition:color .18s ease,background .18s ease}.stage-item.running{color:var(--text);background:#ffffff85}.stage-item.done{color:var(--success)}.stage-item.error{color:var(--red)}.stage-mark{display:grid;place-items:center;width:16px;height:16px;border:1px solid var(--line-strong);border-radius:50%}.stage-item.running .stage-mark{border-color:var(--blue);background:#0071e31a}.stage-item.done .stage-mark{color:#fff;background:var(--accent);border-color:var(--accent)}.stage-copy{display:grid;gap:3px;min-width:0}.stage-main{display:flex;gap:8px;justify-content:space-between;align-items:baseline;min-width:0}.stage-main span{min-width:0;overflow-wrap:anywhere}.stage-main small{flex:0 0 auto;color:var(--faint);font-size:.72rem}.stage-description,.stage-detail{font-size:.72rem;line-height:1.38;overflow-wrap:anywhere}.stage-description{color:var(--muted)}.stage-detail{color:var(--faint);font-family:var(--mono)}.answer-panel{padding:20px}.answer-head{display:flex;justify-content:space-between;align-items:center}.retrieval-query{margin-top:12px;color:var(--muted);font-size:.82rem}.answer-text{margin-top:16px;color:var(--text);line-height:1.72;white-space:pre-wrap}.citation-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px;color:var(--muted);font-size:.78rem}code{font-family:var(--mono)}.citation-row code,.source-line code,.citation-badge{color:var(--blue)}.citation-badge{min-height:30px;padding:4px 10px;background:#ffffff8a;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:.76rem;transition:background .16s ease,border-color .16s ease,transform .16s ease}.citation-badge:hover{background:var(--accent-soft);border-color:var(--line-strong);transform:translateY(-1px)}.answer-head-meta{display:inline-flex;gap:10px;align-items:center}.confidence-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;font-size:.72rem;font-weight:760}.confidence-badge.high{color:var(--success);background:#34c7591f}.confidence-badge.medium{color:var(--warning);background:#ff95001f}.confidence-badge.low{color:var(--red);background:#fbeceb}.inline-citation{display:inline-flex;align-items:center;min-height:19px;margin:0 1px;padding:0 5px;color:var(--blue);background:var(--surface-soft);border:1px solid var(--line);border-radius:5px;font-family:var(--mono);font-size:.74em;font-weight:720;vertical-align:baseline;transition:background .14s ease,border-color .14s ease,color .14s ease}.inline-citation:hover,.inline-citation:focus-visible{color:#fff;background:var(--blue);border-color:var(--blue)}.unsupported-claims{display:grid;gap:8px;margin-top:16px;padding:12px 14px;background:#ff3b3014;border:1px solid rgba(255,59,48,.16);border-radius:var(--radius-control)}.unsupported-head{display:inline-flex;gap:7px;align-items:center;color:var(--red);font-size:.78rem;font-weight:760}.unsupported-claims ul{display:grid;gap:5px;margin:0;padding-left:18px;color:#7a4a44;font-size:.84rem;line-height:1.5}.eval-panel{display:grid;gap:12px;margin-top:18px;padding:13px 14px;background:#ffffff6b;border:1px solid var(--line);border-radius:var(--radius-control)}.eval-head,.eval-section{display:grid;gap:8px}.eval-head{grid-template-columns:minmax(0,1fr) auto;align-items:center}.eval-head span,.eval-section strong{color:var(--text);font-size:.82rem;font-weight:800}.eval-head code{color:var(--muted);font-size:.7rem}.eval-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.eval-score{display:grid;gap:3px;min-width:0;padding:8px 9px;background:#ffffff8f;border:1px solid var(--line);border-radius:var(--radius-control)}.eval-score span,.eval-check-list span,.eval-notes{color:var(--muted);font-size:.76rem;line-height:1.45}.eval-score strong{color:var(--text);font-size:.95rem}.eval-check-list{display:flex;flex-wrap:wrap;gap:6px}.eval-check-list span{min-height:26px;padding:4px 8px;border-radius:999px;font-weight:720}.eval-check-list .passed{color:var(--success);background:var(--accent-soft)}.eval-check-list .failed{color:var(--red);background:#fbeceb}.eval-notes{margin:0;overflow-wrap:anywhere}.retrieval-detail{margin-top:18px;border:1px solid var(--line);border-radius:var(--radius-control);background:#ffffff6b;overflow:hidden}.retrieval-detail summary{display:flex;gap:10px;justify-content:space-between;align-items:center;min-height:42px;padding:0 12px;color:var(--text);cursor:pointer;font-size:.82rem;font-weight:760}.retrieval-detail summary small{color:var(--muted);font-weight:680}.candidate-list{display:grid;gap:6px;padding:0 10px 10px}.candidate-row{display:grid;grid-template-columns:92px minmax(0,1fr) minmax(180px,auto);gap:8px;align-items:start;min-height:44px;padding:10px 12px;background:#ffffff8f;border:1px solid var(--line);border-radius:var(--radius)}.candidate-rank,.candidate-row strong{display:inline-flex;gap:6px;align-items:center;font-family:var(--mono)}.candidate-rank{flex-wrap:wrap}.candidate-main{min-width:0}.candidate-title{display:flex;gap:8px;align-items:center;min-width:0}.candidate-title span{min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.candidate-main p{display:-webkit-box;margin:5px 0 0;overflow:hidden;color:var(--muted);font-size:.74rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.candidate-meta{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.candidate-row small{color:var(--muted);font-size:.72rem}.rank-delta,.source-stage,.evidence-marker{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;color:var(--blue);background:#0071e31a;border-radius:999px;font-size:.7rem;font-weight:760}.evidence-marker{flex:0 0 auto;color:var(--success);background:#34c7591f}.source-stage.lexical_candidate{color:var(--accent);background:var(--accent-soft)}.evidence-list{display:grid;gap:6px;margin-top:22px}.evidence-item{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-control);background:#ffffff6b;transition:border-color .16s ease,background .16s ease}.evidence-item.open{background:#ffffffa8;border-color:var(--line-strong)}.evidence-item.selected{border-color:var(--accent);box-shadow:0 0 0 3px #0071e31f}.evidence-item button{display:grid;grid-template-columns:48px minmax(0,1fr) auto 18px;gap:8px;align-items:center;width:100%;min-height:44px;padding:0 10px;color:var(--text);text-align:left;background:transparent}.evidence-item button:hover{background:#ffffffa3}.evidence-item strong{font-weight:760}.evidence-item span,.evidence-item small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.evidence-item svg{color:var(--muted);transition:transform .16s ease}.evidence-item.open svg{transform:rotate(180deg)}.evidence-score{min-width:0}.evidence-body{display:grid;gap:8px;margin:0 10px 10px 58px}.evidence-mode-toggle{display:inline-flex;gap:4px;width:max-content;padding:3px;background:#ffffff8a;border:1px solid var(--line);border-radius:var(--radius)}.evidence-mode-toggle button{min-height:28px;padding:0 9px;color:var(--muted);background:transparent;border:0;border-radius:6px;font-size:.74rem;font-weight:760}.evidence-mode-toggle button.active{color:#fff;background:var(--accent)}.evidence-text{margin:0;padding:10px 12px;color:#15171dc7;background:#ffffff80;border-radius:var(--radius);line-height:1.58;overflow-wrap:anywhere}.evidence-meta{color:var(--muted);font-family:var(--mono);font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}.empty-answer{color:var(--muted)}.about-panel{z-index:var(--z-modal);display:grid;gap:14px;width:min(640px,100%);max-height:min(760px,calc(100vh - 44px));overflow:auto;padding:18px;background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);animation:rise .2s ease-out both}.about-body{display:grid;gap:16px}.about-lead{margin:0;color:var(--text);font-size:.92rem;line-height:1.6}.about-section{display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--line)}.about-section h3{color:var(--text);font-size:.84rem;font-weight:760}.about-section p{color:var(--muted);font-size:.82rem;line-height:1.55}.about-pipeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 0;padding:0;list-style:none}.about-pipeline-node{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 8px;align-items:center;min-width:0;padding:8px 9px;background:#ffffff7a;border:1px solid var(--line);border-radius:var(--radius-control)}.about-pipeline-index{grid-row:span 2;display:grid;place-items:center;width:26px;height:26px;color:var(--accent);background:var(--accent-soft);border-radius:999px;font-family:var(--mono);font-size:.66rem;font-weight:800}.about-pipeline-node strong,.about-pipeline-node small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.about-pipeline-node strong{color:var(--text);font-size:.76rem;font-weight:800}.about-pipeline-node small{color:var(--muted);font-size:.68rem}.about-metrics,.about-stream-metrics{display:grid;gap:8px;margin-top:2px}.about-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.about-stream-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.about-metric{display:grid;gap:2px;min-width:0;padding:9px 10px;background:#ffffff85;border:1px solid var(--line);border-radius:var(--radius-control)}.about-metric strong{color:var(--text);font-size:.96rem;font-weight:800;line-height:1.1}.about-metric span{color:var(--muted);font-size:.68rem;font-weight:760;text-transform:uppercase}.about-stream-runtime{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;margin-top:2px;padding:8px 10px;color:var(--muted);background:#ffffff7a;border:1px solid var(--line);border-radius:var(--radius-control);font-size:.72rem}.about-stream-runtime strong{min-width:0;overflow:hidden;color:var(--text);font-family:var(--mono);font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.about-stream-runtime small{color:var(--accent);font-size:.68rem;font-weight:800;text-transform:uppercase}.about-evidence-links{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}.about-evidence-links span{flex-basis:100%;color:var(--muted);font-size:.7rem;font-weight:760}.about-evidence-links a{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;color:var(--text);background:#ffffff80;border:1px solid var(--line);border-radius:var(--radius-control);font-size:.72rem;font-weight:760;text-decoration:none}.about-evidence-links a:hover{color:var(--blue);border-color:var(--blue-soft)}.about-link{display:inline-flex;align-items:center;min-height:36px;width:max-content;max-width:100%;margin-top:4px;padding:0 11px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--line-strong);border-radius:var(--radius-control);font-size:.78rem;font-weight:760;text-decoration:none;overflow-wrap:anywhere;transition:background .16s ease,border-color .16s ease,transform .16s ease}.about-link:hover{background:var(--surface);border-color:var(--accent);transform:translateY(-1px)}.query-history{display:grid;gap:5px;width:min(800px,100%);max-height:88px;text-align:left}.history-head{display:flex;gap:10px;justify-content:space-between;align-items:baseline}.history-head span{color:var(--muted);font-size:.78rem;font-weight:760}.history-head button{padding:0;background:transparent;border:0;color:var(--faint);font-size:.76rem;cursor:pointer;transition:color .16s ease}.history-head button:hover{color:var(--red)}.history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:60px;overflow-y:auto;padding-right:2px}.history-list button{display:flex;gap:7px;align-items:center;min-height:33px;padding:6px 11px;color:var(--text);background:var(--glass);border:1px solid var(--line);border-radius:999px;text-align:left;box-shadow:var(--inset-highlight);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:border-color .16s ease,background .16s ease,transform .16s ease}.history-list button:hover:not(:disabled){background:var(--glass-strong);border-color:var(--line-strong);transform:translateY(-1px)}.history-list button:disabled{opacity:.62}.history-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}@media(max-width:820px){.about-panel{align-self:end;max-height:70vh;border-bottom-left-radius:0;border-bottom-right-radius:0}.about-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.about-pipeline{grid-template-columns:1fr}.history-list{grid-template-columns:1fr;max-height:72px}}.loading-panel{display:grid;gap:12px}.loading-panel span{height:16px;background:#ffffff8f;border-radius:var(--radius);animation:shimmer 1.2s ease-in-out infinite}.loading-panel span:nth-child(1){width:44%}.loading-panel span:nth-child(2){width:92%}.loading-panel span:nth-child(3){width:72%}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal-backdrop);display:grid;place-items:center;padding:22px;background:#15171d33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-modal{z-index:var(--z-modal);display:grid;gap:14px;width:min(640px,100%);max-height:min(760px,calc(100vh - 44px));overflow:auto;padding:18px;background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);animation:modalIn .18s ease-out both}.source-browser{z-index:var(--z-modal);display:grid;gap:14px;width:min(720px,100%);max-height:min(760px,calc(100vh - 44px));overflow:auto;padding:18px;background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);animation:modalIn .18s ease-out both}.source-list{display:grid;gap:8px}.source-empty{display:grid;justify-items:center;gap:8px;padding:34px 18px;color:var(--muted);text-align:center;background:#ffffff6b;border:1px dashed var(--line-strong);border-radius:var(--radius-control)}.source-empty strong{color:var(--text);font-size:.95rem}.source-empty p{max-width:420px;color:var(--muted);font-size:.82rem;line-height:1.5}.source-card{display:grid;gap:8px;padding:14px 16px;background:#ffffff80;border:1px solid var(--line);border-radius:var(--radius-control);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.source-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.source-card-head{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;min-width:0}.source-card-head strong{min-width:0;color:var(--text);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-kind{flex-shrink:0;padding:2px 7px;border-radius:999px;font-size:.68rem;font-weight:760}.source-kind-user_url,.source-kind-user_text{color:var(--accent);background:var(--accent-soft)}.source-card-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.source-status{padding:1px 7px;border-radius:999px;font-size:.68rem;font-weight:760}.source-status-ok{color:var(--success);background:#34c7591f}.source-status-error{color:var(--red);background:#fbeceb}.source-card-meta small{color:var(--faint);font-size:.72rem}.source-card-meta code{color:var(--muted);font-size:.7rem}.source-card-url{min-width:0;color:var(--blue);font-size:.72rem;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .14s ease}.source-card-url:hover{color:var(--accent);text-decoration:underline}.modal-head{display:flex;gap:16px;justify-content:space-between;align-items:start}.modal-head p{margin-top:5px;color:var(--muted);font-size:.88rem}.icon-button{width:44px;height:44px;color:var(--muted);background:#ffffff80}.icon-button:hover{color:var(--text);background:#ffffffc7}.upload-form{display:grid;gap:12px;padding:0;border:0}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:#15171d0f;border:1px solid var(--line);border-radius:999px}.segmented button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:38px;color:var(--muted);background:transparent;border-radius:999px;font-weight:700}.segmented button.active{color:#fff;background:var(--accent)}.upload-form input,.upload-form textarea{width:100%;color:var(--text);background:#ffffffb8;border:1px solid var(--line);border-radius:var(--radius-control);outline:0}.upload-form input{height:46px;padding:0 14px}.upload-form textarea{min-height:170px;padding:14px;line-height:1.55;resize:vertical}.upload-form input:focus,.upload-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0071e31f}.primary-button{min-height:46px;padding:0 18px}.upload-result{padding:14px}.source-line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:12px;padding-top:12px;color:var(--muted);border-top:1px solid var(--line);font-size:.82rem}.source-line code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-line strong{color:var(--text)}.muted{color:var(--muted)}button:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid rgba(0,113,227,.8);outline-offset:2px}.query-composer input:focus-visible,.upload-form input:focus-visible,.upload-form textarea:focus-visible{outline:0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:720px){.shell{padding:8px 14px}.home{gap:8px;padding-top:0}.hero{gap:12px}h1{font-size:2.2rem}.hero-copy{line-height:1.3}.hero-copy p{font-size:.9rem}.rag-flow{grid-template-columns:1fr}.example-questions{gap:6px}.example-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.example-list button,.query-composer,.upload-entry,.primary-button{min-height:44px}.example-list button{gap:2px;padding:7px 8px}.example-list span{font-size:.76rem}.example-list small{font-size:.7rem;line-height:1.22;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.corpus-state span,.corpus-state button{padding:5px 8px;font-size:.76rem}.upload-entry,.info-entry,.primary-button{min-height:38px;padding:0 12px}.composer-dock{right:16px;left:16px}}@keyframes shimmer{50%{opacity:.55}}@media(max-width:820px){.shell{padding:8px 14px}.shell.chat-mode{padding-bottom:16px}.home{padding-top:0}h1{font-size:2.2rem}.rag-flow{grid-template-columns:1fr}.chat-view{padding-top:24px}.query-composer{grid-template-columns:minmax(0,1fr) 44px;min-height:56px;padding:7px 8px 7px 12px}.send-button{width:44px;height:44px}.composer-dock{left:14px;right:14px}.stage-rail,.answer-panel{min-width:0}.retrieval-detail summary{align-items:flex-start}.home-status-row,.corpus-state{justify-content:center}.home-status-row{gap:8px}.hero{gap:13px}.example-list{gap:7px}.stage-item{grid-template-columns:18px minmax(0,1fr)}.stage-item small{grid-column:2}.evidence-item button,.candidate-row,.source-line{grid-template-columns:1fr}.evidence-item p{padding-left:0}.evidence-body{margin-left:10px}.modal-backdrop{align-items:end;padding:14px}.upload-modal,.source-browser{max-height:calc(100vh - 28px)}.source-card{gap:10px}.source-card-head{flex-direction:column}.source-card-url{grid-column:1}.eval-score-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
