:root{--bg:#0d0d0d;--surface:#161616;--surface-2:#1f1f1f;--border:#2a2a2a;--text:#e8e8e8;--text-muted:#888;--accent:#c9a96e;--accent-hover:#dbbf87;--error:#e05c5c;--success:#4caf7d;--radius:8px;--font:"Georgia", "Times New Roman", serif;--font-ui:system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);min-height:100vh}input,button{font-family:inherit}.auth-container{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:400px;padding:40px 36px}.auth-logo{text-align:center;margin-bottom:12px;font-size:32px}.auth-title{font-family:var(--font);text-align:center;color:var(--accent);letter-spacing:.02em;font-size:22px;font-weight:400}.auth-subtitle{text-align:center;color:var(--text-muted);margin-top:6px;margin-bottom:28px;font-size:13px}.auth-tabs{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px;display:flex;overflow:hidden}.auth-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:10px;font-size:13px;transition:all .15s}.auth-tab.active{background:var(--surface-2);color:var(--accent)}.auth-form{flex-direction:column;gap:18px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.form-group input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;padding:10px 14px;font-size:14px;transition:border-color .15s}.form-group input:focus{border-color:var(--accent)}.auth-error{color:var(--error);border-radius:var(--radius);background:#e05c5c14;border:1px solid #e05c5c33;padding:10px 14px;font-size:13px}.btn-primary{background:var(--accent);color:#0d0d0d;border-radius:var(--radius);cursor:pointer;border:none;padding:12px;font-size:14px;font-weight:600;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.dashboard-container{flex-direction:column;min-height:100vh;display:flex}.dashboard-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:10px;display:flex}.header-logo{font-size:20px}.header-left h1{font-family:var(--font);color:var(--accent);font-size:18px;font-weight:400}.header-right{align-items:center;gap:16px;display:flex}.header-email{color:var(--text-muted);font-size:13px}.btn-logout{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;padding:6px 14px;font-size:13px;transition:all .15s}.btn-logout:hover{border-color:var(--error);color:var(--error)}.dashboard-main{width:100%;max-width:1000px;margin:0 auto;padding:36px 32px}.dashboard-top{justify-content:space-between;align-items:baseline;margin-bottom:24px;display:flex}.dashboard-top h2{font-family:var(--font);font-size:20px;font-weight:400}.doc-count{color:var(--text-muted);font-size:13px}.state-msg{color:var(--text-muted);font-size:14px}.empty-state{text-align:center;border:1px dashed var(--border);color:var(--text-muted);border-radius:12px;padding:60px 24px}.empty-hint{margin-top:8px;font-size:13px}.doc-grid{flex-direction:column;gap:10px;display:flex}.doc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:default;align-items:center;gap:14px;padding:16px 20px;transition:border-color .15s;display:flex}.doc-info{flex:1;min-width:0}.doc-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.doc-meta{color:var(--text-muted);margin-top:3px;font-size:12px}.doc-status{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:500}.doc-status.ready{color:var(--success);background:#4caf7d1f}.doc-status.uploaded{color:var(--accent);background:#c9a96e1f}.doc-status.processing{color:#6495ed;background:#6495ed1f}.doc-status.failed{color:var(--error);background:#e05c5c1f}.page-container{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:14px 28px;display:flex;position:sticky;top:0}.topbar-left,.topbar-right{align-items:center;gap:12px;display:flex}.logo-mark{font-size:18px}.topbar h1{font-family:var(--font);color:var(--accent);font-size:17px;font-weight:400}.user-email{color:var(--text-muted);font-size:12px}.btn-ghost{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;padding:6px 12px;font-size:12px;transition:all .15s}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost.danger:hover{border-color:var(--error);color:var(--error)}.main-content{flex:1;width:100%;max-width:860px;margin:0 auto;padding:32px 28px}.main-content.narrow{max-width:560px}.section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.section-header h2{font-family:var(--font);font-size:18px;font-weight:400}.page-sub{color:var(--text-muted);margin:4px 0 24px;font-size:13px}.state-msg{color:var(--text-muted);margin:20px 0;font-size:14px}.state-msg.error{color:var(--error)}.state-msg.centered{text-align:center}.hint{color:var(--text-muted);margin-top:6px;font-size:12px}.empty-state{text-align:center;border:1px dashed var(--border);color:var(--text-muted);border-radius:12px;padding:60px 24px;font-size:14px}.status-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;flex-shrink:0;padding:3px 9px;font-size:10px;font-weight:500}.status-pill.ready{color:var(--success);background:#4caf7d1a}.status-pill.uploaded{color:var(--accent);background:#c9a96e1a}.status-pill.processing{color:#6495ed;background:#6495ed1a}.status-pill.failed{color:var(--error);background:#e05c5c1a}.doc-list{flex-direction:column;gap:8px;display:flex}.doc-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:14px;padding:14px 18px;transition:border-color .15s,background .15s;display:flex}.doc-row:hover{border-color:var(--accent);background:var(--surface-2)}.doc-icon{flex-shrink:0;font-size:20px}.doc-meta{flex:1;min-width:0}.doc-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.doc-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.row-arrow{color:var(--text-muted);flex-shrink:0;font-size:14px}.drop-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:12px;margin-bottom:20px;padding:48px 24px;transition:border-color .15s,background .15s}.drop-zone:hover,.drop-zone.active{border-color:var(--accent);background:#c9a96e0a}.drop-icon{margin-bottom:10px;font-size:28px;display:block}.drop-zone p{color:var(--text-muted);font-size:14px}.link-text{color:var(--accent);text-decoration:underline}.file-list{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.file-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:10px 14px;display:flex}.file-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.file-size{color:var(--text-muted);flex-shrink:0;font-size:11px}.btn-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 6px;font-size:13px}.btn-remove:hover{color:var(--error)}.full-width{width:100%}.query-layout{height:100vh;overflow:hidden}.query-body{flex-direction:column;height:calc(100vh - 53px);display:flex}.doc-bar{background:var(--surface-2);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:12px 28px;display:flex}.doc-bar-name{font-size:13px;font-weight:500}.doc-bar-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.chat-history{flex-direction:column;flex:1;gap:20px;padding:24px 28px;display:flex;overflow-y:auto}.chat-pair{flex-direction:column;gap:10px;display:flex}.bubble{white-space:pre-wrap;border-radius:10px;max-width:75%;padding:12px 16px;font-size:14px;line-height:1.6}.bubble.user{background:var(--accent);color:#0d0d0d;border-radius:10px 10px 2px;align-self:flex-end}.bubble.ai{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px 10px 10px 2px;align-self:flex-start}.thinking{color:var(--text-muted);font-style:italic}.query-form{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:16px 28px}.query-input-row{gap:10px;display:flex}.query-input-row input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;flex:1;padding:10px 14px;font-size:14px;transition:border-color .15s}.query-input-row input:focus{border-color:var(--accent)}.query-form .btn-primary{flex-shrink:0;padding:10px 22px}.doc-row.disabled,button:disabled{opacity:.5;cursor:not-allowed}.compare-para{color:var(--text);margin-bottom:4px;font-size:14px;line-height:1.7}.compare-citation{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;width:fit-content;margin:0 0 16px 4px;padding:6px 12px;font-size:12px;display:flex}.citation-icon{font-size:12px}.citation-text{color:var(--accent);font-weight:500}.answer-card{background:#fff;border-radius:12px;margin-top:8px;padding:18px}.citation-box{border-top:1px solid #eee;margin-top:15px;padding-top:10px}.citation-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.citation-chip{background:#000;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.source-chip{background:#242424;border:1px solid #343434;border-radius:20px;margin-top:8px;margin-right:8px;padding:6px 12px;font-size:13px;display:inline-flex}.section-title{border-bottom:1px solid #2e2e2e;margin-top:30px;margin-bottom:20px;padding-bottom:8px;font-size:28px;font-weight:700}.card-title{margin-bottom:12px;font-size:18px;font-weight:600}.compare-description{margin:16px 0;line-height:1.8}.summary-box{background:#171717;border:1px solid #2e2e2e;border-radius:12px;margin-top:30px;padding:20px}.compare-result{margin-top:35px}.section-title{color:#fff;margin:30px 0 18px;font-size:24px;font-weight:700}.compare-card{background:#171717;border:1px solid #2d2d2d;border-radius:12px;margin-bottom:18px;padding:18px}.card-title{color:#fff;margin-bottom:10px;font-size:17px;font-weight:600}.compare-description{color:#d8d8d8;line-height:1.8}.compare-sources{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.source-chip{color:#d9d9d9;background:#232323;border:1px solid #343434;border-radius:20px;padding:6px 12px;font-size:12px}.summary-box{color:#ddd;background:#171717;border:1px solid #2d2d2d;border-radius:12px;padding:18px;line-height:1.8}.compare-heading{color:#f3f3f3;margin-top:30px;margin-bottom:15px;font-size:24px}.compare-subheading{color:#fff;margin-top:20px;margin-bottom:10px;font-size:19px}.compare-para{margin-bottom:12px;line-height:1.7}.source-chip{background:#2b2b2b;border:1px solid #444;border-radius:20px;margin:5px 8px 18px 0;padding:6px 12px;font-size:14px;display:inline-block}.doc-card{cursor:pointer;border:1px solid #333;border-radius:8px;align-items:center;gap:12px;margin-bottom:10px;padding:12px;transition:all .2s;display:flex}.doc-card:hover{border-color:#666}.doc-card.selected{background:#181818;border-color:#c8a96a}.doc-card small{color:#999}.compare-input{color:#fff;background:#1b1b1b;border:1px solid #333;border-radius:8px;width:100%;margin:10px 0 20px;padding:12px}.btn-primary{border-radius:8px;padding:12px 20px;font-weight:600}
