.upload-section{background:var(--input-bg);border:2.5px dashed var(--border-color-dashed);border-radius:36px 80px/60px 36px 80px;padding:40px 0 30px;text-align:center;box-shadow:0 4px 24px 0 var(--shadow-md);margin-bottom:24px;transition:border-color .2s,background .2s,box-shadow .2s;position:relative;z-index:1}.upload-section.dragover{border-color:var(--border-color-hover);background:var(--header-bg);box-shadow:0 8px 32px 0 var(--shadow-xl)}.upload-btn{background:var(--interactive-bg);color:var(--text-color);padding:12px 30px;border:2.5px solid var(--border-color);border-radius:24px 48px/36px 24px 48px;font-size:16px;cursor:pointer;font-weight:700;box-shadow:0 2px 8px 0 var(--shadow-md);display:inline-block;margin:10px;transition:box-shadow .2s,color .2s,border-color .2s,background .2s}.upload-btn:hover{color:var(--interactive-text-hover);background:var(--interactive-bg-hover);border-color:var(--interactive-bg-hover);box-shadow:0 8px 32px 0 var(--shadow-xl)}.url-input-group{display:flex;gap:10px;margin-top:20px}.url-input{flex:1;margin-top:0;padding:12px 20px;border:2.5px solid var(--border-color);border-radius:24px 48px/36px 24px 48px;font-size:16px;transition:border-color .2s,box-shadow .2s;background:var(--input-bg);color:var(--text-color);box-shadow:0 1.5px 6px 0 var(--shadow-sm)}.url-input:focus{outline:none;border-color:var(--border-color-hover);box-shadow:0 4px 16px 0 var(--shadow-lg)}.submit-btn:hover{color:var(--interactive-text-hover);background:var(--interactive-bg-hover);border-color:var(--interactive-bg-hover);box-shadow:0 8px 32px 0 var(--shadow-xl)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.file-list,.url-list{margin:20px 0;text-align:left}.file-list h4,.url-list h4{color:var(--text-color);margin-bottom:10px;font-size:16px}.file-item,.url-item{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--box-bg);border:1.5px solid var(--border-color);border-radius:16px 32px/24px 16px 32px;margin:8px 0;box-shadow:0 1px 4px 0 var(--shadow-sm)}.file-item span,.url-item span{flex:1;font-size:14px;color:var(--text-color);word-break:break-all}.remove-btn{background:var(--error-color);color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0;padding:0;transition:background .2s}.remove-btn:hover{background:#a00}.status-message{padding:15px 0;border-radius:24px 48px/36px 24px 48px;margin:20px 0;display:none;border:2.5px solid var(--border-color);background:var(--input-bg);color:var(--text-color);font-weight:600;box-shadow:0 1.5px 6px 0 var(--shadow-sm);text-align:center}.status-message.show{display:block}.status-message.success{background:var(--input-bg);color:var(--text-color);border-color:var(--border-color)}.status-message.error{background:var(--input-bg);color:var(--error-color);border-color:var(--error-border-color)}.process-results{margin:20px 0;text-align:left}.process-results h4{color:var(--text-color);margin-bottom:12px;font-size:16px}.result-item{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;margin:8px 0;border-radius:16px 32px/24px 16px 32px;box-shadow:0 1px 4px 0 var(--shadow-sm);border:1.5px solid}.result-item.success{background:var(--box-bg);border-color:var(--border-color)}.result-item.error{background:var(--input-bg);border-color:var(--error-border-color)}.result-info{display:flex;align-items:center;gap:8px;flex:1}.result-icon{font-size:16px}.result-name{font-weight:600;color:var(--text-color);word-break:break-all}.result-type{font-size:12px;color:var(--text-color-subtle);font-style:italic}.result-doc-id{font-size:12px;color:var(--text-color-light);font-family:monospace}.result-error{font-size:12px;color:var(--error-color);max-width:200px;word-break:break-word}.query-prompt{margin-top:20px;padding:16px;background:var(--results-bg);border:2px solid var(--border-color);border-radius:24px 48px/36px 24px 48px;text-align:center;box-shadow:0 2px 8px 0 var(--shadow-md)}.query-prompt p{margin:0 0 12px;color:var(--text-color);font-weight:600}.go-to-query-btn{background:var(--interactive-bg);color:var(--text-color);border:2px solid var(--border-color);border-radius:20px 40px/30px 20px 40px;padding:10px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin:0}.go-to-query-btn:hover{background:var(--interactive-bg-hover);color:var(--interactive-text-hover);border-color:var(--interactive-bg-hover);box-shadow:0 6px 20px 0 var(--shadow-lg);transform:translateY(-1px)}@media (max-width: 600px){.upload-section{padding-bottom:20px}.upload-btn{width:100%;margin:10px 0 0;display:block;font-size:16px}.url-input-group{flex-direction:column;gap:10px}.url-input{width:100%;margin-bottom:0}}.query-section{margin-top:30px}.query-input{width:100%;padding:15px 20px;border:2.5px solid var(--border-color);border-radius:24px 48px/36px 24px 48px;font-size:16px;transition:border-color .2s,box-shadow .2s;resize:vertical;min-height:60px;background:var(--input-bg);color:var(--text-color);box-shadow:0 1.5px 6px 0 var(--shadow-sm)}.submit-btn{background:var(--interactive-bg);color:var(--text-color);padding:12px 40px;border:2.5px solid var(--border-color);border-radius:24px 48px/36px 24px 48px;font-size:16px;cursor:pointer;font-weight:700;margin-top:15px;display:block;margin-left:auto;box-shadow:0 2px 8px 0 var(--shadow-md);transition:box-shadow .2s,color .2s,border-color .2s,background .2s}.example-queries{margin-top:20px;padding:15px 0 0;background:none;border:none;border-top:2.5px solid var(--border-color);border-radius:0}.example-queries h4{color:var(--text-color);margin-bottom:10px}.example-query{display:inline-block;padding:8px 18px;background:var(--interactive-bg);border:2.5px solid var(--border-color);border-radius:24px 48px/36px 24px 48px;margin:5px 10px 5px 0;cursor:pointer;font-size:14px;color:var(--text-color);font-weight:600;box-shadow:0 1.5px 6px 0 var(--shadow-sm);transition:box-shadow .2s,color .2s,border-color .2s,background .2s}.example-query:hover{color:var(--interactive-text-hover);background:var(--interactive-bg-hover);border-color:var(--interactive-bg-hover);box-shadow:0 8px 32px 0 var(--shadow-xl)}.results-section{margin-top:40px;padding:32px 32px 0;background:var(--results-bg);border-radius:36px 80px/60px 36px 80px;box-shadow:0 4px 24px 0 var(--shadow-md);position:relative;z-index:1}.result-header{font-size:18px;font-weight:700;color:var(--text-color);margin-bottom:15px;border-bottom:2.5px solid var(--border-color);padding-bottom:5px}.answer-box{background:var(--box-bg);padding:24px;border-radius:24px 48px/36px 24px 48px;margin-bottom:20px;box-shadow:0 1.5px 6px 0 var(--shadow-sm)}.answer-text{font-size:16px;line-height:1.6;color:var(--text-color);white-space:pre-wrap}.sources-box{background:var(--box-bg);padding:16px;border-radius:24px 48px/36px 24px 48px;box-shadow:0 1.5px 6px 0 var(--shadow-sm)}.source-item{padding:12px 16px;margin:8px 0;background:var(--input-bg);border:1.5px solid var(--border-color);border-radius:16px 32px/24px 16px 32px;box-shadow:0 1px 4px 0 var(--shadow-sm)}.source-text{font-size:14px;line-height:1.5;color:var(--text-color);font-style:italic;margin-bottom:6px}.source-meta{font-size:12px;color:var(--text-color-subtle);font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:8px}.source-doc{color:var(--text-color-light);font-weight:500}.loader{display:flex;justify-content:center;align-items:center;text-align:center;margin:20px 0}.spinner{border:6px solid var(--spinner-bg);border-top:6px solid var(--spinner-fg);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.history-section{margin:20px 0}.history-toggle{background:var(--interactive-bg);color:var(--text-color);border:2px solid var(--border-color);border-radius:20px 40px/30px 20px 40px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;margin:0}.history-toggle:hover{background:var(--interactive-bg-hover);color:var(--interactive-text-hover);border-color:var(--interactive-bg-hover)}.history-list{margin-top:12px;max-height:200px;overflow-y:auto}.history-item{padding:10px 16px;background:var(--input-bg);border:1.5px solid var(--border-color);border-radius:12px 24px/18px 12px 24px;margin:6px 0;cursor:pointer;transition:all .2s}.history-item:hover{background:var(--interactive-bg-hover);color:var(--interactive-text-hover);border-color:var(--interactive-bg-hover)}.history-question{font-size:14px;font-weight:600;margin-bottom:4px}.history-time{font-size:12px;color:var(--text-color-subtle)}.documents-section h3{color:var(--text-color);margin-bottom:20px;font-size:1.5rem}.documents-list{margin-top:20px}.doc-item{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:var(--input-bg);border-radius:24px 48px/36px 24px 48px;margin:16px 0;box-shadow:0 1.5px 6px 0 var(--shadow-sm);border:2.5px solid var(--border-color);transition:box-shadow .2s,border-color .2s}.doc-item:hover{box-shadow:0 4px 16px 0 var(--shadow-lg);border-color:var(--border-color-hover)}.doc-details{flex:1}.doc-name{font-weight:700;color:var(--text-color);font-size:16px;margin-bottom:4px;word-break:break-word}.doc-info{color:var(--text-color-light);font-size:14px}.delete-btn{background:var(--interactive-bg);color:var(--text-color);border:2px solid var(--border-color);border-radius:16px 32px/24px 16px 32px;padding:8px 12px;cursor:pointer;font-size:16px;transition:all .2s;margin:0;min-width:44px;display:flex;align-items:center;justify-content:center}.delete-btn:hover:not(:disabled){background:var(--error-color);border-color:var(--error-color);color:#fff;box-shadow:0 4px 12px #cc00004d}.delete-btn:disabled{opacity:.6;cursor:not-allowed;background:var(--interactive-bg)}.error-message{background:var(--input-bg);color:var(--error-color);border:2px solid var(--error-border-color);border-radius:16px 32px/24px 16px 32px;padding:12px 16px;margin:16px 0;font-size:14px;box-shadow:0 1px 4px 0 var(--shadow-sm)}.language-switcher{position:relative}.language-switcher-button{display:flex;align-items:center;background:var(--interactive-bg);border:2.5px solid var(--border-color);border-radius:24px 48px/36px 24px 48px;cursor:pointer;padding:8px 16px;color:var(--text-color);font-weight:600;box-shadow:0 1.5px 6px 0 var(--shadow-sm);transition:box-shadow .2s,color .2s,border-color .2s,background .2s;margin:0}.language-switcher-button:hover{color:var(--interactive-text-hover);background:var(--interactive-bg-hover);border-color:var(--interactive-bg-hover);box-shadow:0 8px 32px 0 var(--shadow-xl)}.globe-icon{font-size:1.2rem;margin-right:.5rem}.language-short,.language-full{font-weight:600}.language-options{position:absolute;top:100%;right:0;background:var(--results-bg);border:2.5px solid var(--border-color);border-radius:24px 48px/36px 24px 48px;padding:8px;display:flex;flex-direction:column;gap:4px;box-shadow:0 4px 24px 0 var(--shadow-md);z-index:10;margin-top:4px}.language-options button{background:var(--interactive-bg);border:1.5px solid var(--border-color);border-radius:16px 32px/24px 16px 32px;padding:6px 12px;font-size:14px;margin:0;min-width:80px}.theme-toggle{background:var(--interactive-bg);border:2.5px solid var(--border-color);border-radius:24px 48px/36px 24px 48px;cursor:pointer;padding:8px 12px;color:var(--text-color);font-size:1.2rem;box-shadow:0 1.5px 6px 0 var(--shadow-sm);transition:box-shadow .2s,color .2s,border-color .2s,background .2s;margin:0;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{color:var(--interactive-text-hover);background:var(--interactive-bg-hover);border-color:var(--interactive-bg-hover);box-shadow:0 8px 32px 0 var(--shadow-xl)}.session-status{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--input-bg);border:1.5px solid var(--border-color);border-radius:16px 32px/24px 16px 32px;font-size:12px;color:var(--text-color-subtle)}.session-status.warning{border-color:var(--error-color);color:var(--error-color)}.session-info{font-weight:600}.refresh-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:2px;margin:0;transition:transform .2s}.refresh-btn:hover{transform:scale(1.1)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}html{color-scheme:light dark}:root{--bg-color: #fff;--text-color: #111;--text-color-subtle: #666;--text-color-light: #444;--primary-accent: #111;--primary-accent-hover: #000;--container-bg: rgba(255, 255, 255, .85);--header-bg: rgba(255, 255, 255, .92);--interactive-bg: rgba(255, 255, 255, .85);--interactive-bg-hover: #111;--interactive-text-hover: #fff;--input-bg: rgba(255, 255, 255, .7);--box-bg: rgba(255, 255, 255, .7);--results-bg: rgba(255, 255, 255, .92);--border-color: #111;--border-color-dashed: #111;--border-color-hover: #000;--error-color: #c00;--error-border-color: #c00;--spinner-bg: #fff;--spinner-fg: #111;--shadow-sm: rgba(0, 0, 0, .04);--shadow-md: rgba(0, 0, 0, .07);--shadow-lg: rgba(0, 0, 0, .1);--shadow-xl: rgba(0, 0, 0, .13);--header-line-color: #111;--header-line-opacity: .18;--svg-bg-url: url('data:image/svg+xml;utf8,<svg width="100%25" height="100%25" xmlns="http://www.w3.org/2000/svg"><path d="M0,100 Q200,200 400,100 T800,100 T1200,100" stroke="%23111" stroke-width="3" fill="none" opacity="0.08"/><path d="M0,300 Q300,400 600,300 T1200,300" stroke="%23111" stroke-width="2" fill="none" opacity="0.06"/><path d="M0,500 Q200,600 400,500 T800,500 T1200,500" stroke="%23111" stroke-width="2" fill="none" opacity="0.05"/></svg>')}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--svg-bg-url);background-repeat:no-repeat;background-size:cover}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-color);color:var(--text-color);min-height:100vh;padding:20px}.container{width:100%;max-width:1400px;margin:40px auto 0;background:var(--container-bg);border-radius:36px 80px/60px 36px 80px;box-shadow:0 12px 40px 0 var(--shadow-xl),0 1.5px 0 var(--border-color),0 0 0 6px var(--bg-color);overflow:visible;padding:0 20px 30px;position:relative;z-index:1}.header{background:var(--header-bg);color:var(--text-color);border-bottom:0;border-radius:36px 80px 0 0/60px 36px 0 0;box-shadow:0 2px 16px 0 var(--shadow-md);padding:36px 40px 24px;margin-bottom:0;position:relative}.header-content{display:flex;justify-content:space-between;align-items:center;text-align:center;width:100%}.header-content>div{flex:1}.header-controls{display:flex;gap:12px;align-items:center}.header:after{content:"";display:block;width:80px;height:4px;background:linear-gradient(90deg,var(--header-line-color) 60%,transparent 100%);border-radius:2px;margin:24px auto 0;opacity:var(--header-line-opacity)}.header h1{font-size:2.5em;margin-bottom:10px}.header p{font-size:1.1em;opacity:.9}nav{display:flex;gap:18px;margin-bottom:36px;border-bottom:none;background:none;position:relative;z-index:2;padding:40px 0 0;justify-content:center}nav ul{list-style-type:none;margin:0;padding:0;display:flex;gap:18px}nav a{padding:14px 36px 12px;background:var(--interactive-bg);border:none;border-radius:24px 48px/36px 24px 48px;font-size:17px;cursor:pointer;color:var(--text-color);font-weight:700;box-shadow:0 2px 8px 0 var(--shadow-md);margin-bottom:-18px;position:relative;z-index:2;outline:none;border-bottom:3px solid transparent;transition:box-shadow .2s,color .2s,border-bottom .2s;text-decoration:none}nav a.active{color:var(--primary-accent);border-bottom:3px solid var(--primary-accent);box-shadow:0 6px 24px 0 var(--shadow-lg),0 2px 8px 0 var(--shadow-md)}nav a:hover{color:var(--primary-accent-hover);border-bottom:3px solid var(--primary-accent-hover);box-shadow:0 8px 32px 0 var(--shadow-xl)}main{padding:0;position:relative;background:none;box-shadow:none;border-radius:0}button{background:var(--interactive-bg);color:var(--text-color);padding:12px 30px;border:2.5px solid var(--border-color);border-radius:24px 48px/36px 24px 48px;font-size:16px;cursor:pointer;font-weight:700;box-shadow:0 2px 8px 0 var(--shadow-md);display:inline-block;margin:10px;transition:box-shadow .2s,color .2s,border-color .2s,background .2s}button:hover{color:var(--interactive-text-hover);background:var(--interactive-bg-hover);border-color:var(--interactive-bg-hover);box-shadow:0 8px 32px 0 var(--shadow-xl)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{width:100%;padding:15px 20px;border:2.5px solid var(--border-color);border-radius:24px 48px/36px 24px 48px;font-size:16px;transition:border-color .2s,box-shadow .2s;resize:vertical;min-height:60px;background:var(--input-bg);color:var(--text-color);box-shadow:0 1.5px 6px 0 var(--shadow-sm);box-sizing:border-box}input:focus,textarea:focus{outline:none;border-color:var(--border-color-hover);box-shadow:0 4px 16px 0 var(--shadow-lg)}@media (max-width: 768px){.header h1{font-size:2em}.header-content{flex-direction:column;gap:16px}.header-controls{justify-content:center}.container{border-radius:0;margin:20px auto 0}nav ul{flex-direction:column;align-items:center;gap:10px;width:100%}nav a{width:100%;max-width:340px;text-align:center;font-size:16px}}[data-theme=dark]{--bg-color: #121212;--text-color: #f5f5f5;--text-color-subtle: #a0a0a0;--text-color-light: #bbbbbb;--primary-accent: #bb86fc;--primary-accent-hover: #d1c4e9;--container-bg: rgba(24, 26, 27, .85);--header-bg: rgba(30, 32, 33, .92);--interactive-bg: rgba(40, 42, 43, .85);--interactive-bg-hover: #bb86fc;--interactive-text-hover: #121212;--input-bg: rgba(40, 42, 43, .7);--box-bg: rgba(40, 42, 43, .7);--results-bg: rgba(30, 32, 33, .92);--border-color: #bb86fc;--border-color-dashed: #777;--border-color-hover: #d1c4e9;--error-color: #cf6679;--error-border-color: #cf6679;--spinner-bg: #121212;--spinner-fg: #bb86fc;--shadow-sm: rgba(255, 255, 255, .05);--shadow-md: rgba(255, 255, 255, .08);--shadow-lg: rgba(255, 255, 255, .12);--shadow-xl: rgba(255, 255, 255, .15);--header-line-color: #bb86fc;--header-line-opacity: .3;--svg-bg-url: url('data:image/svg+xml;utf8,<svg width="100%25" height="100%25" xmlns="http://www.w3.org/2000/svg"><path d="M0,100 Q200,200 400,100 T800,100 T1200,100" stroke="%23f5f5f5" stroke-width="3" fill="none" opacity="0.08"/><path d="M0,300 Q300,400 600,300 T1200,300" stroke="%23f5f5f5" stroke-width="2" fill="none" opacity="0.06"/><path d="M0,500 Q200,600 400,500 T800,500 T1200,500" stroke="%23f5f5f5" stroke-width="2" fill="none" opacity="0.05"/></svg>')}
