*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green-900:#0f1e0f;--green-800:#1a2e1a;--green-700:#2d4a2d;--green-600:#3d6b3d;--green-100:#e8f0e8;--green-50:#f2f5f2;--orange:#e8651a;--orange-light:#fdf3ed;--orange-dark:#b84e12;--text:#1a1a1a;--text-secondary:#5a5a5a;--text-tertiary:#8a8a8a;--bg:#fafaf8;--surface:#fff;--surface-alt:#f5f5f3;--border:#00000014;--border-strong:#00000024;--radius:10px;--radius-lg:14px;--radius-xl:18px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f;--shadow-lg:0 4px 20px #00000014;--font-body:"DM Sans",system-ui,sans-serif;--font-display:"Fraunces","Georgia",serif;--transition:.2s cubic-bezier(.4,0,.2,1)}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.6}.header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;padding:0 40px;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1100px;height:64px;margin:0 auto;display:flex}.logo-area{align-items:center;gap:14px;display:flex}.logo-mark{background:var(--green-900);width:38px;height:38px;font-family:var(--font-display);color:var(--orange);border-radius:10px;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.logo-text h1{font-family:var(--font-display);color:var(--green-900);letter-spacing:-.02em;font-size:18px;font-weight:500}.logo-text p{color:var(--text-tertiary);letter-spacing:.02em;margin-top:-1px;font-size:11px}.header-right{align-items:center;gap:16px;display:flex}.header-stat{text-align:right}.header-stat .num{color:var(--green-900);font-size:14px;font-weight:600}.header-stat .label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.avatar{background:var(--green-700);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:flex}.tab-nav{background:var(--surface);border-bottom:1px solid var(--border);padding:0 40px}.tab-nav-inner{gap:0;max-width:1100px;margin:0 auto;display:flex}.tab-btn{font-family:var(--font-body);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition);letter-spacing:.01em;background:0 0;border:none;padding:14px 24px;font-size:13px;font-weight:500;position:relative}.tab-btn:hover{color:var(--text-secondary)}.tab-btn.active{color:var(--green-900)}.tab-btn.active:after{content:"";background:var(--orange);border-radius:1px;height:2px;position:absolute;bottom:-1px;left:24px;right:24px}.tab-btn .tab-icon{vertical-align:-2px;opacity:.5;margin-right:6px;display:inline-block}.tab-btn.active .tab-icon{opacity:1}.main{max-width:1100px;margin:0 auto;padding:32px 40px 80px}.tab-content{animation:.3s fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.search-hero{margin-bottom:28px}.search-hero h2{font-family:var(--font-display);color:var(--green-900);letter-spacing:-.02em;margin-bottom:6px;font-size:28px;font-weight:500}.search-hero p{color:var(--text-secondary);font-size:14px}.search-bar-area{gap:10px;margin-bottom:20px;display:flex}.search-input-wrap{flex:1;position:relative}.search-input-wrap svg{opacity:.35;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input{width:100%;font-size:14px;font-family:var(--font-body);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition);outline:none;padding:13px 16px 13px 42px}.search-input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #e8651a1a}.search-input::placeholder{color:var(--text-tertiary)}.search-btn{background:var(--green-900);color:#fff;border-radius:var(--radius-lg);font-family:var(--font-body);cursor:pointer;transition:background var(--transition),transform .1s;border:none;padding:13px 28px;font-size:14px;font-weight:500}.search-btn:hover{background:var(--green-800)}.search-btn:active{transform:scale(.98)}.search-btn:disabled{opacity:.6;cursor:not-allowed}.filters{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.filter-chip{font-size:12px;font-family:var(--font-body);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);appearance:none;border-radius:20px;padding:7px 14px}.filter-chip:hover{border-color:var(--border-strong);background:var(--surface-alt)}.filter-chip:focus{border-color:var(--orange);outline:none}.results-label{color:var(--text-tertiary);letter-spacing:.02em;text-transform:uppercase;margin-bottom:14px;font-size:12px;font-weight:500}.thread{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.msg{align-items:flex-start;gap:12px;display:flex}.msg-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:600;display:flex}.msg-avatar.user{background:var(--green-700)}.msg-avatar.ai{background:var(--green-900)}.msg-avatar.ai svg{width:16px;height:16px}.msg-body{flex:1}.msg-meta{color:var(--text-tertiary);margin-bottom:4px;font-size:11px}.msg-text{color:var(--text);font-size:14px;line-height:1.65}.result-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition),box-shadow var(--transition);margin-bottom:12px;padding:18px 22px}.result-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.result-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{letter-spacing:.01em;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500}.tag.section{background:var(--green-50);color:var(--green-700)}.tag.vertical{background:var(--orange-light);color:var(--orange)}.tag.service{color:#4338ca;background:#eef2ff}.copy-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:11px;font-family:var(--font-body);transition:all var(--transition);white-space:nowrap;border-radius:20px;padding:5px 14px;font-weight:500}.copy-btn:hover{background:var(--green-900);color:#fff;border-color:var(--green-900)}.result-text{color:var(--text);margin-bottom:10px;font-size:14px;line-height:1.7}.result-footer{justify-content:space-between;align-items:center;display:flex}.result-source{color:var(--text-tertiary);font-size:12px}.result-source a{color:var(--green-700);cursor:pointer;-webkit-text-decoration:underline #2d4a2d4d;text-decoration:underline #2d4a2d4d}.result-source a:hover{-webkit-text-decoration-color:var(--green-700);text-decoration-color:var(--green-700)}.context-toggle{color:var(--text-tertiary);cursor:pointer;font-size:12px;font-family:var(--font-body);background:0 0;border:none}.context-toggle:hover{color:var(--text-secondary)}.upload-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}@media (width<=768px){.upload-grid{grid-template-columns:1fr}}.upload-source-area{flex-direction:column;gap:0;display:flex}.upload-mode-toggle{gap:0;margin-bottom:0;display:flex}.mode-btn{font-size:13px;font-weight:500;font-family:var(--font-body);border:1px solid var(--border-strong);background:var(--surface-alt);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition);flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 16px;display:flex}.mode-btn:first-child{border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-right:none}.mode-btn:last-child{border-radius:0 var(--radius-xl) 0 0;border-bottom:none}.mode-btn:first-child:not(.active){border-bottom:none}.mode-btn.active{background:var(--surface);color:var(--green-900);border-bottom-color:#0000}.mode-btn:hover:not(.active){background:var(--surface);color:var(--text-secondary)}.mode-btn svg{opacity:.5}.mode-btn.active svg{opacity:1;color:var(--orange)}.upload-zone{border:2px dashed var(--border-strong);border-radius:0 0 var(--radius-xl) var(--radius-xl);text-align:center;background:var(--surface);transition:border-color var(--transition),background var(--transition);cursor:pointer;border-top:none;padding:48px 32px}.upload-zone:hover,.upload-zone.drag-active{border-color:var(--orange);background:var(--orange-light)}.upload-zone svg{color:var(--orange);margin-bottom:12px}.upload-zone h3{font-family:var(--font-display);color:var(--green-900);margin-bottom:4px;font-size:17px;font-weight:500}.upload-zone p{color:var(--text-tertiary);font-size:13px}.upload-zone .formats{justify-content:center;gap:8px;margin-top:16px;display:flex}.upload-zone .format-badge{letter-spacing:.03em;border-radius:6px;padding:4px 12px;font-size:11px;font-weight:600}.upload-zone .selected-file{color:var(--green-900);margin-top:14px;font-size:13px;font-weight:500}.fb-pdf{color:#a32d2d;background:#fcebeb}.fb-doc{color:#185fa5;background:#e6f1fb}.fb-ppt{background:var(--orange-light);color:var(--orange)}.fb-url{color:#534ab7;background:#eeedfe}.url-zone{cursor:default;border-style:solid;border-color:var(--border-strong)}.url-zone:hover{border-color:var(--border-strong);background:var(--surface)}.url-inputs{flex-direction:column;gap:10px;width:100%;max-width:420px;margin-top:20px;margin-left:auto;margin-right:auto;display:flex}.url-input{text-align:left}.meta-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px}.meta-form h3{font-family:var(--font-display);color:var(--green-900);margin-bottom:16px;font-size:17px;font-weight:500}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-group{flex-direction:column;gap:5px;display:flex}.form-group.full{grid-column:1/-1}.form-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.form-input{font-size:13px;font-family:var(--font-body);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color var(--transition);outline:none;padding:10px 14px}.form-input:focus{border-color:var(--orange)}select.form-input{appearance:auto}.library-section h2{font-family:var(--font-display);color:var(--green-900);letter-spacing:-.01em;margin-bottom:16px;font-size:22px;font-weight:500}.library-table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;overflow:hidden}.library-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);background:var(--surface-alt);border-bottom:1px solid var(--border);padding:12px 18px;font-size:11px;font-weight:600}.library-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 18px;font-size:13px}.library-table tr:last-child td{border-bottom:none}.library-table tr:hover td{background:#00000003}.file-info{align-items:center;gap:10px;display:flex}.file-icon{letter-spacing:.03em;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:10px;font-weight:700;display:flex}.file-name{color:var(--text);font-weight:500}.file-detail{color:var(--text-tertiary);margin-top:1px;font-size:11px}.status-badge{border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-flex}.status-ready{color:#3b6d11;background:#eaf3de}.status-processing{color:#854f0b;background:#faeeda}.status-error{color:#a32d2d;background:#fcebeb}.status-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.status-ready .status-dot{background:#639922}.status-processing .status-dot{background:#ef9f27;animation:1.5s infinite pulse}.status-error .status-dot{background:#a32d2d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.rfp-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.rfp-header h2{font-family:var(--font-display);color:var(--green-900);letter-spacing:-.02em;font-size:28px;font-weight:500}.rfp-source{color:var(--text-secondary);margin-top:4px;font-size:13px}.rfp-source strong{color:var(--text);font-weight:500}.export-btn{background:var(--green-900);color:#fff;border-radius:var(--radius-lg);font-family:var(--font-body);cursor:pointer;transition:background var(--transition);border:none;padding:11px 24px;font-size:13px;font-weight:500}.export-btn:hover{background:var(--green-800)}.rfp-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px;display:grid}.rfp-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;padding:16px 18px}.rfp-stat .val{letter-spacing:-.02em;font-size:26px;font-weight:600}.rfp-stat .val.green{color:var(--green-900)}.rfp-stat .val.orange{color:var(--orange)}.rfp-stat .val.teal{color:#0f6e56}.rfp-stat .val.amber{color:#854f0b}.rfp-stat .lbl{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:11px}.rfp-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition);margin-bottom:14px;overflow:hidden}.rfp-section.selected{border-color:#e8651a59}.rfp-section-header{cursor:pointer;align-items:flex-start;gap:12px;padding:18px 22px;display:flex}.rfp-checkbox{border:2px solid var(--border-strong);width:20px;height:20px;transition:all var(--transition);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.rfp-section.selected .rfp-checkbox{background:var(--green-900);border-color:var(--green-900)}.rfp-section.selected .rfp-checkbox:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:10px;margin-top:-2px;display:block;transform:rotate(45deg)}.rfp-section-info{flex:1}.rfp-section-title{color:var(--text);margin-bottom:3px;font-size:15px;font-weight:500}.rfp-question{color:var(--text-tertiary);font-size:12px;font-style:italic;line-height:1.5}.rfp-section-status{white-space:nowrap;border-radius:20px;align-self:flex-start;margin-top:2px;padding:4px 12px;font-size:11px;font-weight:500}.rfp-status-ready{color:#3b6d11;background:#eaf3de}.rfp-status-selected{background:var(--orange-light);color:var(--orange)}.rfp-status-thin{color:#854f0b;background:#faeeda}.rfp-drafts{padding:0 22px 18px 54px}.rfp-draft{background:var(--surface-alt);border-radius:var(--radius);border-left:3px solid var(--border);transition:border-color var(--transition);margin-bottom:10px;padding:14px 18px}.rfp-draft.primary{border-left-color:var(--orange)}.rfp-draft-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.rfp-draft-label{color:var(--orange);letter-spacing:.02em;font-size:11px;font-weight:600}.rfp-draft:not(.primary) .rfp-draft-label{color:var(--text-tertiary)}.rfp-draft-actions{gap:6px;display:flex}.rfp-draft-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:11px;font-family:var(--font-body);transition:all var(--transition);border-radius:20px;padding:4px 12px}.rfp-draft-btn:hover{border-color:var(--border-strong);background:var(--surface-alt)}.rfp-draft-text{color:var(--text);margin-bottom:8px;font-size:13px;line-height:1.7}.rfp-draft-sources{color:var(--text-tertiary);font-size:11px}.rfp-draft-sources a{color:var(--green-700);-webkit-text-decoration:underline #2d4a2d4d;text-decoration:underline #2d4a2d4d}.rfp-coverage-warning{border-radius:var(--radius);color:#854f0b;background:#faeeda;align-items:flex-start;gap:8px;margin:0 22px 18px 54px;padding:12px 18px;font-size:12px;line-height:1.5;display:flex}.rfp-coverage-warning svg{flex-shrink:0;margin-top:1px}.rfp-upload-zone{border:2px dashed var(--border-strong);border-radius:var(--radius-xl);text-align:center;background:var(--surface);transition:border-color var(--transition),background var(--transition);cursor:pointer;margin-bottom:28px;padding:56px 32px}.rfp-upload-zone:hover,.rfp-upload-zone.drag-active{border-color:var(--orange);background:var(--orange-light)}.rfp-upload-zone svg{color:var(--orange);margin-bottom:14px}.rfp-upload-zone h3{font-family:var(--font-display);color:var(--green-900);margin-bottom:6px;font-size:18px;font-weight:500}.rfp-upload-zone p{color:var(--text-tertiary);max-width:440px;margin:0 auto;font-size:13px}.rfp-recent-list{margin-top:8px}.rfp-recent-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition);justify-content:space-between;align-items:center;margin-bottom:10px;padding:14px 18px;display:flex}.rfp-recent-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.auth-gate{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);text-align:center;max-width:400px;box-shadow:var(--shadow-lg);padding:48px}.auth-card h1{font-family:var(--font-display);color:var(--green-900);margin-bottom:8px;font-size:24px;font-weight:500}.auth-card p{color:var(--text-secondary);margin-bottom:28px;font-size:14px}.google-btn{background:var(--green-900);color:#fff;border-radius:var(--radius-lg);font-family:var(--font-body);cursor:pointer;transition:background var(--transition);border:none;align-items:center;gap:10px;padding:12px 28px;font-size:14px;font-weight:500;display:inline-flex}.google-btn:hover{background:var(--green-800)}.auth-error{color:#a32d2d;margin-top:16px;font-size:13px}.loading-spinner{border:2px solid var(--border-strong);border-top-color:var(--orange);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-area{color:var(--text-secondary);justify-content:center;align-items:center;gap:12px;padding:40px;font-size:14px;display:flex}
