:root{--primary-color: #6D4C41;--primary-color-hover: #5D4037;--bg-color: #FBF9F4;--card-bg-color: #ffffff;--text-color: #4E443C;--subtle-text-color: #8B837B;--border-color: #EAE3D9;--header-color: #4E342E;--error-bg-color: #f8d7da;--error-text-color: #721c24;--error-border-color: #f5c6cb;--user-msg-bg: #EFEBE9;--model-msg-bg: #F5F5F5;--card-shadow: 0 4px 15px rgba(0, 0, 0, .05);--card-shadow-hover: 0 6px 20px rgba(0, 0, 0, .07);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif: "Noto Serif SC", serif;--success-color: #28a745;--danger-color: #dc3545;--danger-color-hover: #c82333}*,*:before,*:after{box-sizing:border-box}html{background-color:var(--bg-color)}body{margin:0;font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.app-container{max-width:900px;margin:0 auto;padding:2.5rem 1.5rem}.card{background-color:var(--card-bg-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--card-shadow);transition:box-shadow .3s ease}.card:hover{box-shadow:var(--card-shadow-hover)}.header{margin-bottom:3rem;display:flex;justify-content:space-between;align-items:flex-start}.header-content{text-align:left}.header h1{font-family:var(--font-serif);font-size:2.8rem;font-weight:700;color:var(--header-color);margin:0 0 .25rem;letter-spacing:.5px}.header h2{font-size:1.2rem;font-weight:500;color:var(--primary-color);margin:0 0 .5rem}.header-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0;margin-left:1rem;margin-top:.5rem}.language-switcher{display:flex;gap:.25rem;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:4px}.language-switcher button{background-color:transparent;border:none;padding:.25rem .75rem;font-size:.85rem;font-weight:600;color:var(--subtle-text-color);cursor:pointer;border-radius:6px;transition:all .2s ease}.language-switcher button:active:not(.active){transform:scale(.97)}.language-switcher button.active{background-color:var(--card-bg-color);color:var(--primary-color);box-shadow:0 1px 3px #0000000d}.help-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--card-bg-color);color:var(--subtle-text-color);border:1px solid var(--border-color);border-radius:8px;font-family:var(--font-sans);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.help-button.icon-only{padding:.5rem;width:38px;height:38px;justify-content:center}.help-button:hover{background-color:var(--bg-color);color:var(--text-color);border-color:#ced4da;transform:translateY(-1px)}.help-button:active{transform:translateY(1px)}.help-button svg{color:var(--subtle-text-color)}.input-section{padding:2rem;margin-bottom:2.5rem}.input-section-description{font-size:1rem;color:var(--subtle-text-color);text-align:center;max-width:600px;margin:0 auto 2rem}.input-mode-selector{display:flex;justify-content:center;margin-bottom:2rem;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:4px;max-width:400px;margin-left:auto;margin-right:auto}.input-mode-selector button{flex:1;padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--subtle-text-color);background-color:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.input-mode-selector button.selected{background-color:#fff;color:var(--primary-color);box-shadow:0 1px 3px #0000001a}.input-mode-selector button:disabled{color:#adb5bd;cursor:not-allowed}.drop-zone{border:2px dashed var(--border-color);border-radius:8px;padding:2.5rem;text-align:center;color:var(--subtle-text-color);transition:border-color .3s,background-color .3s;cursor:pointer}.drop-zone.active{border-color:var(--primary-color);background-color:var(--user-msg-bg)}.drop-zone-text .upload-icon{color:var(--primary-color);margin-bottom:1rem;opacity:.7}.drop-zone-text p{margin:.25rem 0;font-size:1.1rem;font-weight:500;color:var(--text-color)}.drop-zone-text p.subtle{font-size:.9rem;color:var(--subtle-text-color);font-weight:400}.browse-button{font-size:1rem;font-weight:600;color:var(--primary-color);background:none;border:none;cursor:pointer;padding:0;text-decoration:none;border-bottom:2px solid transparent;transition:border-color .2s}.browse-button:hover{border-color:var(--primary-color)}.file-list{margin-top:2rem;border-top:1px solid var(--border-color);padding-top:1.5rem}.file-list h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--header-color)}.file-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.file-list li{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;font-size:.9rem}.file-list li svg{color:var(--primary-color);flex-shrink:0}.file-list li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.file-list li button{background:none;border:none;color:var(--subtle-text-color);font-size:1.5rem;cursor:pointer;padding:0 .25rem;line-height:1;margin-left:auto;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.file-list li button:hover{color:var(--error-text-color);background-color:var(--error-bg-color)}.paste-zone{width:100%}.pasted-papers-list{display:flex;flex-direction:column;gap:1.5rem}.pasted-paper-item{border:1px solid var(--border-color);border-radius:8px;padding:1rem;background-color:var(--bg-color)}.pasted-paper-header{display:flex;gap:.5rem;margin-bottom:.75rem;align-items:center}.pasted-paper-name-input{flex-grow:1;border:none;background:transparent;padding:.5rem;font-size:1rem;font-weight:600;color:var(--header-color);border-bottom:2px solid transparent}.pasted-paper-name-input:focus{outline:none;border-bottom-color:var(--primary-color)}.remove-pasted-paper-button{background:none;border:none;color:var(--subtle-text-color);font-size:1.5rem;cursor:pointer;padding:0 .25rem;line-height:1;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.remove-pasted-paper-button:hover{color:var(--error-text-color);background-color:var(--error-bg-color)}.pasted-paper-content-input{width:100%;border:1px solid var(--border-color);border-radius:8px;padding:1rem;font-family:var(--font-sans);font-size:1rem;line-height:1.6;background-color:#fff;color:var(--text-color);resize:vertical;transition:border-color .2s,box-shadow .2s}.pasted-paper-content-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.add-pasted-paper-button{margin-top:1rem;width:100%;padding:.75rem;font-size:.9rem;font-weight:600;color:var(--primary-color);background-color:var(--user-msg-bg);border:1px dashed var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.add-pasted-paper-button:hover:not(:disabled){background-color:color-mix(in srgb,var(--user-msg-bg) 80%,black);border-color:var(--primary-color)}.paper-type-selector{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:.75rem}.paper-type-selector label{font-size:.9rem;font-weight:600;color:var(--subtle-text-color)}.paper-type-selector select{padding:.55rem 2.5rem .55rem 1rem;font-size:.9rem;font-family:var(--font-sans);font-weight:600;color:var(--text-color);background-color:#fff;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;flex-grow:1}.paper-type-selector select:hover{border-color:#ccc}.paper-type-selector select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.edit-template-button{flex-shrink:0;width:38px;height:38px;border-radius:8px;border:1px solid var(--border-color);background-color:#fff;color:var(--subtle-text-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.edit-template-button:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background-color:var(--user-msg-bg)}.controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin:0 0 2.5rem}.controls-left{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}.controls-right{display:flex;align-items:center}.generation-mode-selector{display:inline-flex;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-color);padding:4px}.generation-mode-selector button{padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;color:var(--subtle-text-color);background-color:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.generation-mode-selector button:active:not(:disabled){transform:translateY(1px)}.generation-mode-selector button.selected{background-color:#fff;color:var(--primary-color);box-shadow:0 1px 3px #0000001a}.generation-mode-selector button:disabled{color:#adb5bd;cursor:not-allowed}.model-selector{display:flex;align-items:center;gap:.75rem}.model-selector label{font-size:.9rem;font-weight:600;color:var(--subtle-text-color)}.model-selector select{padding:.55rem 2.5rem .55rem 1rem;font-size:.9rem;font-family:var(--font-sans);font-weight:600;color:var(--text-color);background-color:#fff;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}.model-selector select:hover{border-color:#ccc}.model-selector select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.model-selector select:disabled{background-color:var(--bg-color);cursor:not-allowed;color:#adb5bd}.action-buttons{display:flex;gap:1rem}.generate-button,.secondary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:44px;min-width:120px;padding:0 2rem;font-size:1rem;font-weight:600;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.generate-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.icon-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 10px #00000014}.generate-button:active:not(:disabled),.secondary-button:active:not(:disabled),.icon-button:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 2px #0000000f}.generate-button{color:#fff;background-color:var(--primary-color)}.generate-button:hover:not(:disabled){background-color:var(--primary-color-hover)}.generate-button.stop-button{background-color:var(--danger-color);border-color:var(--danger-color)}.generate-button.stop-button:hover:not(:disabled){background-color:var(--danger-color-hover);border-color:var(--danger-color-hover)}.generate-button:disabled,.secondary-button:disabled,.icon-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.secondary-button{background-color:var(--card-bg-color);color:var(--primary-color);border-color:var(--primary-color)}.secondary-button:hover:not(:disabled){background-color:var(--user-msg-bg)}.icon-button{padding:0;width:44px;min-width:44px;background-color:var(--card-bg-color);color:var(--subtle-text-color);border-color:var(--border-color)}.icon-button:hover:not(:disabled){color:var(--primary-color);border-color:var(--primary-color)}.icon-button[aria-expanded=true]{background-color:var(--user-msg-bg);color:var(--primary-color);border-color:var(--primary-color)}.loader{width:1.2em;height:1.2em;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.loader-small{width:1.2em;height:1.2em;border:2px solid rgba(0,0,0,.1);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error-message{padding:1rem 1.5rem;margin:1.5rem 0;background-color:var(--error-bg-color);color:var(--error-text-color);border:1px solid var(--error-border-color);border-radius:8px;text-align:center}.progress-tracker-container{padding:1.5rem 2rem;margin-bottom:2rem}.progress-tracker{display:flex;flex-direction:column;gap:.75rem}.progress-step{display:flex;align-items:center;gap:1rem;transition:all .3s ease}.progress-label{font-size:.95rem;font-weight:500;transition:color .3s ease}.progress-step.pending .progress-label,.progress-step.error .progress-label{color:var(--subtle-text-color)}.progress-step.in-progress .progress-label{color:var(--primary-color);font-weight:600}.progress-step.completed .progress-label{color:var(--text-color)}.progress-icon{flex-shrink:0;transition:all .3s ease}.progress-icon.pending{color:var(--border-color)}.progress-icon.in-progress{color:var(--primary-color)}.progress-icon.completed{color:var(--success-color)}.progress-icon.error{color:var(--error-text-color)}.progress-step .loader-small.progress-icon{border-top-color:var(--primary-color);border-left-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.output-section{margin-top:2.5rem}.output-title{font-size:1.75rem;font-weight:600;color:var(--header-color);margin-bottom:1.5rem;text-align:center;font-family:var(--font-serif)}.output-content-wrapper{background-color:transparent;border:none;padding:0}.output-content{display:flex;flex-direction:column;gap:2rem}.output-placeholder-full{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;color:var(--subtle-text-color);text-align:center;border:2px dashed var(--border-color);border-radius:12px;padding:2rem}.output-placeholder-full svg{color:#ced4da;margin-bottom:1rem}.output-placeholder-full h3{margin:0 0 .5rem;color:var(--text-color);font-family:var(--font-serif)}.output-placeholder{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:150px;color:var(--subtle-text-color);text-align:center;width:100%}.note-wrapper{position:relative;padding:2rem 2.5rem}.markdown-body{line-height:1.7}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--header-color);font-weight:700;margin-top:1.75em;margin-bottom:1em;line-height:1.3;font-family:var(--font-serif)}.markdown-body h1{font-size:1.8rem;border-bottom:1px solid var(--border-color);padding-bottom:.3em}.markdown-body h2{font-size:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:.3em}.markdown-body h3{font-size:1.25rem}.markdown-body h4{font-size:1.1rem}.markdown-body p{margin:0 0 1rem}.markdown-body ul,.markdown-body ol{padding-left:2rem}.markdown-body li>p{margin-bottom:.25rem}.markdown-body strong{font-weight:600}.markdown-body blockquote{margin-left:0;padding:.5rem 1.5rem;border-left:4px solid var(--primary-color);background-color:var(--user-msg-bg);color:var(--text-color)}.markdown-body code{font-family:Menlo,Consolas,monospace;background-color:var(--model-msg-bg);padding:.2em .4em;border-radius:4px;font-size:.9em;border:1px solid #e0e0e0}.markdown-body pre{background-color:#2d3748;color:#e2e8f0;padding:1rem;border-radius:8px;overflow-x:auto}.markdown-body pre code{background-color:transparent;padding:0;border:none}.markdown-body hr{border:none;border-top:1px solid var(--border-color);margin:2rem 0}.markdown-body table{width:100%;border-collapse:collapse;margin:1.5rem 0}.markdown-body th,.markdown-body td{border:1px solid var(--border-color);padding:.75rem}.markdown-body th{background-color:var(--bg-color);font-weight:600}.markdown-body img{max-width:100%;height:auto;border-radius:8px;margin:1rem 0;box-shadow:0 4px 15px #0000001a}.note-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color)}.note-action-button{font-size:.85rem;font-weight:600;padding:.4rem 1rem;border:1px solid var(--border-color);background-color:#fff;color:var(--subtle-text-color);border-radius:6px;cursor:pointer;transition:all .2s ease}.note-action-button:hover:not(:disabled){background-color:var(--bg-color);color:var(--text-color);border-color:#ccc;transform:translateY(-1px)}.note-action-button:active:not(:disabled){transform:translateY(1px);background-color:#e9ecef}.note-action-button:disabled{opacity:.5;cursor:not-allowed}.note-action-button.save{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.note-action-button.save:hover:not(:disabled){background-color:var(--primary-color-hover);color:#fff}.note-action-button.delete{color:var(--danger-color);border-color:var(--border-color)}.note-action-button.delete:hover:not(:disabled){background-color:var(--danger-color);border-color:var(--danger-color);color:#fff}.note-reference{color:var(--primary-color);text-decoration:underline;cursor:pointer;font-weight:600}.note-reference:hover{color:var(--primary-color-hover)}.edit-textarea{width:100%;min-height:400px;border:1px solid var(--border-color);border-radius:8px;padding:1rem;font-family:Menlo,Consolas,monospace;font-size:.9em;line-height:1.6;background-color:#fff;color:var(--text-color);resize:vertical;transition:border-color .2s,box-shadow .2s}.edit-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}pre.frontmatter-block{background-color:var(--model-msg-bg);color:var(--subtle-text-color);padding:1rem 1.5rem;border:1px solid var(--border-color);border-radius:8px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;font-family:Menlo,Consolas,monospace;font-size:.85em;margin-bottom:2rem}pre.frontmatter-block code{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0}.chat-container{margin-top:1.5rem;border-top:1px solid var(--border-color);padding-top:1.5rem}.chat-messages{max-height:400px;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.chat-turn{position:relative;padding:1rem 3rem 1rem 0;display:flex;flex-direction:column;gap:1rem}.chat-turn:hover .chat-turn-actions{opacity:1}.message{display:flex;flex-direction:column;max-width:85%}.message-content{padding:.75rem 1rem;border-radius:18px;line-height:1.5;word-wrap:break-word}.message-content>*:first-child{margin-top:0}.message-content>*:last-child{margin-bottom:0}.message-content .markdown-body{line-height:1.5}.message.user{align-self:flex-end;align-items:flex-end}.message.user .message-content{background-color:var(--user-msg-bg);color:var(--primary-color-hover);border-bottom-right-radius:4px}.message.model{align-self:flex-start;align-items:flex-start}.message.model .message-content{background-color:var(--model-msg-bg);border:1px solid var(--border-color);border-bottom-left-radius:4px}.chat-turn-actions{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.5rem;opacity:.2;transition:opacity .2s ease-in-out}.chat-action-button{background-color:var(--card-bg-color);border:1px solid var(--border-color);color:var(--subtle-text-color);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.chat-action-button:hover:not(:disabled){color:var(--primary-color);border-color:var(--primary-color);transform:scale(1.1)}.chat-action-button:disabled{opacity:.5;cursor:not-allowed}.chat-input-form{display:flex;gap:.5rem;margin-top:1rem}.chat-input-form input{flex-grow:1;border:1px solid var(--border-color);border-radius:8px;padding:.65rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.chat-input-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.chat-input-form input:disabled{background-color:var(--bg-color)}.chat-input-form button{padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;color:#fff;background-color:var(--primary-color);border:none;border-radius:8px;cursor:pointer;transition:all .2s}.chat-input-form button:hover:not(:disabled){background-color:var(--primary-color-hover)}.chat-input-form button:active:not(:disabled){transform:translateY(1px)}.chat-input-form button:disabled{opacity:.6;cursor:not-allowed}.typing-indicator{display:inline-block;width:24px;height:6px;background:radial-gradient(circle at 3px 3px,currentColor 100%,transparent 0) 0 0,radial-gradient(circle at 3px 3px,currentColor 100%,transparent 0) 9px 0,radial-gradient(circle at 3px 3px,currentColor 100%,transparent 0) 18px 0;background-size:6px 6px;background-repeat:no-repeat;animation:typing 1s infinite}@keyframes typing{0%{background-position:0 50%,9px 50%,18px 50%}16.67%{background-position:0 0,9px 50%,18px 50%}33.33%{background-position:0 50%,9px 0,18px 50%}50%{background-position:0 50%,9px 50%,18px 0}66.67%{background-position:0 50%,9px 50%,18px 50%}to{background-position:0 50%,9px 50%,18px 50%}}.advanced-settings-container{position:relative}.advanced-popover{position:absolute;bottom:calc(100% + 10px);right:0;width:700px;z-index:10;background-color:var(--card-bg-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--card-shadow-hover);padding:1.5rem 2rem;animation:fadeIn .3s ease-in-out}.advanced-popover h4{margin-top:0;margin-bottom:1.5rem;font-family:var(--font-serif);font-weight:600;color:var(--header-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.advanced-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem 2rem}.control-group{display:flex;flex-direction:column}.control-group label{font-size:.9rem;font-weight:600;color:var(--text-color);margin-bottom:.75rem}.control-group input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:5px;outline:none;opacity:.8;transition:opacity .2s;cursor:pointer}.control-group input[type=range]:hover{opacity:1}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--primary-color);border-radius:50%;cursor:pointer;transition:background-color .2s}.control-group input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--primary-color);border-radius:50%;border:none;cursor:pointer;transition:background-color .2s}.control-group input[type=range]::-webkit-slider-thumb:hover{background-color:var(--primary-color-hover)}.control-group input[type=range]::-moz-range-thumb:hover{background-color:var(--primary-color-hover)}.control-group .number-input{padding:.55rem 1rem;font-size:.9rem;font-family:var(--font-sans);font-weight:500;color:var(--text-color);background-color:#fff;border:1px solid var(--border-color);border-radius:8px;transition:border-color .2s,box-shadow .2s}.control-group .number-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.control-description{font-size:.8rem;color:var(--subtle-text-color);margin:.75rem 0 0;line-height:1.4}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}.modal-content{background:var(--card-bg-color);padding:2.5rem;border-radius:12px;box-shadow:0 10px 30px #0003;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;position:relative;animation:slideIn .4s cubic-bezier(.25,.46,.45,.94)}@keyframes slideIn{0%{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:var(--subtle-text-color);cursor:pointer;line-height:1;padding:.5rem;transition:color .2s}.modal-close-button:hover{color:var(--text-color)}.modal-content h2,.template-editor-modal h2{margin-top:0;margin-bottom:1.5rem;font-size:1.75rem;color:var(--header-color);font-family:var(--font-serif)}.modal-content p,.template-editor-modal p{line-height:1.6;margin-bottom:1rem}.modal-content ol,.modal-content ul{padding-left:1.5rem;line-height:1.7}.modal-content li{margin-bottom:1rem}.modal-content strong{color:var(--text-color);font-weight:600}.modal-content ul{list-style-type:disc;margin-top:.5rem}.modal-disclaimer{font-size:.9rem;padding:1rem;background-color:var(--user-msg-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--subtle-text-color)}.api-key-form{display:flex;flex-direction:column;gap:1.25rem;margin-top:2rem}.api-key-group{display:flex;flex-direction:column}.api-key-group label{font-size:.95rem;font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.api-key-group input{padding:.75rem 1rem;font-size:1rem;font-family:var(--font-sans);border:1px solid var(--border-color);border-radius:8px;transition:border-color .2s,box-shadow .2s}.api-key-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.modal-actions{margin-top:2rem;display:flex;justify-content:flex-end}.save-keys-button{padding:.75rem 2rem;font-size:1rem;font-weight:600;color:#fff;background-color:var(--primary-color);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.save-keys-button:hover{background-color:var(--primary-color-hover);transform:translateY(-2px);box-shadow:0 4px 10px #00000014}.explore-container{padding:1rem 0}.search-form{display:flex;flex-direction:column;gap:1.5rem;align-items:stretch}.search-form-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.search-form-input{border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;font-size:1rem;height:48px;transition:border-color .2s,box-shadow .2s}.search-form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.search-form-row>.search-form-input{flex-grow:1}.search-form-group{display:flex;flex-direction:column;gap:.25rem;flex-grow:0}.search-form-group .search-form-input{padding:.5rem 1rem;height:48px}.search-form-input.count{width:90px}.search-form-input.time-range{width:150px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;background-color:#fff}.search-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:48px;min-width:120px;padding:0 2rem;font-size:1rem;font-weight:600;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#fff;background-color:var(--primary-color)}.search-button:hover:not(:disabled){background-color:var(--primary-color-hover);transform:translateY(-2px);box-shadow:0 4px 10px #00000014}.search-button:disabled{opacity:.6;cursor:not-allowed}.search-button.stop-button{background-color:var(--danger-color);border-color:var(--danger-color)}.search-button.stop-button:hover:not(:disabled){background-color:var(--danger-color-hover);border-color:var(--danger-color-hover)}.search-results-container{margin-top:2.5rem}.search-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.search-results-title{font-size:1.75rem;font-weight:600;color:var(--header-color);margin:0;font-family:var(--font-serif)}.download-metadata-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--primary-color);background-color:var(--card-bg-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.download-metadata-button svg{flex-shrink:0}.download-metadata-button:hover:not(:disabled){background-color:var(--user-msg-bg);border-color:var(--primary-color);transform:translateY(-1px)}.download-metadata-button:disabled{opacity:.6;cursor:not-allowed}.search-result-item{border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;background-color:var(--card-bg-color);overflow:hidden}.search-result-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 1.5rem .5rem;cursor:pointer;transition:background-color .2s ease}.search-result-header:hover{background-color:var(--user-msg-bg)}.search-result-item h4{margin:0;font-size:1.2rem;font-weight:600;color:var(--header-color)}.search-result-item h4 a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.search-result-item h4 a:hover{text-decoration:underline;color:var(--primary-color)}.external-link-icon{flex-shrink:0;width:1em;height:1em;opacity:.5;transition:opacity .2s}.search-result-item h4 a:hover .external-link-icon{opacity:1}.expand-icon{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--subtle-text-color)}.expand-icon svg{transition:transform .3s ease-in-out}.expand-icon.expanded svg{transform:rotate(180deg)}.search-result-meta{font-size:.85rem;color:var(--subtle-text-color);margin-bottom:1rem;padding:0 1.5rem}.search-result-meta span{margin-right:1rem}.search-result-abstract{font-size:.95rem;line-height:1.6;padding:.5rem 1.5rem 1.5rem;border-top:1px solid var(--border-color);margin-top:1rem;animation:fadeIn .5s ease}.search-sources-list{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.search-sources-list h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--header-color)}.search-sources-list ul{list-style:disc;padding-left:1.5rem;margin:0;font-size:.9rem;display:flex;flex-direction:column;gap:.5rem}.search-sources-list a{color:var(--primary-color);text-decoration:none}.search-sources-list a:hover{text-decoration:underline}.source-selector-container{display:flex;flex-direction:column;gap:.75rem}.source-selector-container h5{margin:0;font-size:.9rem;font-weight:600;color:var(--subtle-text-color)}.source-selector-list{display:flex;flex-wrap:wrap;gap:.75rem;padding:0;margin:0;list-style:none}.source-selector-item input[type=checkbox]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.source-selector-item label{display:inline-block;padding:.5rem 1rem;font-size:.9rem;font-weight:500;color:var(--subtle-text-color);background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:20px;cursor:pointer;transition:all .2s ease-in-out}.source-selector-item label:hover{border-color:var(--primary-color);color:var(--primary-color)}.source-selector-item input[type=checkbox]:checked+label{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);font-weight:600}.source-selector-item input[type=checkbox]:focus-visible+label{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 30%,transparent)}.source-selector-item input[type=checkbox]:disabled+label{opacity:.5;cursor:not-allowed;background-color:#f8f9fa;color:#adb5bd}.or-divider{display:flex;align-items:center;text-align:center;margin:2rem 0;color:var(--subtle-text-color);font-size:.9rem;font-weight:500}.or-divider:before,.or-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.or-divider:not(:empty):before{margin-right:.5em}.or-divider:not(:empty):after{margin-left:.5em}.template-editor-modal{background:var(--card-bg-color);padding:2.5rem;border-radius:12px;box-shadow:0 10px 30px #0003;width:90%;max-width:900px;height:90vh;display:flex;flex-direction:column;position:relative;animation:slideIn .4s cubic-bezier(.25,.46,.45,.94)}.template-editor-modal h2{flex-shrink:0}.template-editor-modal p{flex-shrink:0;font-size:.9rem;color:var(--subtle-text-color);margin-bottom:1.5rem}.template-editor-textarea{flex-grow:1;width:100%;border:1px solid var(--border-color);border-radius:8px;padding:1rem;font-family:Menlo,Consolas,monospace;font-size:.9em;line-height:1.6;background-color:#fff;color:var(--text-color);resize:none;transition:border-color .2s,box-shadow .2s}.template-editor-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 20%,transparent)}.template-editor-actions{gap:1rem;justify-content:flex-end}.two-pane-viewer{display:flex;flex-direction:column;height:100vh;width:100vw;position:fixed;top:0;left:0;background-color:var(--bg-color);z-index:2000}.two-pane-header{display:flex;align-items:center;padding:.75rem 1.5rem;background-color:var(--card-bg-color);border-bottom:1px solid var(--border-color);flex-shrink:0}.two-pane-header h3{margin:0;font-size:1.1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;flex-grow:1}.back-button{font-size:1rem;font-weight:600;color:var(--primary-color);background:none;border:none;cursor:pointer;padding:.5rem 1rem;border-radius:8px;margin-right:1rem;transition:background-color .2s;flex-shrink:0}.back-button:hover{background-color:var(--user-msg-bg)}.two-pane-main{display:flex;flex-grow:1;overflow:hidden}.pdf-pane{flex:1;overflow:hidden;position:relative;background-color:#525659;display:flex;flex-direction:column}.pdf-iframe{flex-grow:1;border:none;width:100%;height:100%}.note-pane{flex:1;overflow:auto;padding:2.5rem;background-color:var(--card-bg-color)}::selection{background:#0000ff4d}.footer{text-align:center;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border-color);color:var(--subtle-text-color);font-size:.9rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.footer a{color:var(--subtle-text-color);transition:color .2s ease;display:inline-flex;align-items:center}.footer a:hover{color:var(--text-color)}.footer p{margin:0}.github-icon{fill:currentColor}
