:root{--hu-red: #CD2A3E;--hu-white: #FFFFFF;--hu-green: #477050;--hu-red-light: #f2c7cc;--hu-red-mid: #d86d79;--hu-green-light: #2f4336;--hu-green-mid: #5f7c64;--hu-green-dark: #27432d;--bg: #0f1115;--bg-card: #171a21;--text-primary: #eef1f6;--text-secondary: #b6becd;--text-muted: #8b93a5;--border: #2a2f3a;--border-focus: var(--hu-green);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 6px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .45);--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg);min-height:100vh}#root{min-height:100vh}a{color:var(--hu-green);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--hu-green-dark)}button{font-family:inherit;cursor:pointer;border:none;outline:none}textarea{font-family:inherit;outline:none}::selection{background:var(--hu-green);color:#0b0f0d}.flag-stripe{display:flex;height:6px;width:100%;position:sticky;top:0;z-index:100}.flag-red{flex:1;background:var(--hu-red)}.flag-white{flex:1;background:var(--hu-white);border-bottom:1px solid var(--border)}.flag-green{flex:1;background:var(--hu-green)}.container{max-width:780px;margin:0 auto;padding:48px 24px 64px}.header{text-align:center;margin-bottom:40px}.logo-icon{font-size:3rem;margin-bottom:8px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.08))}.header h1{font-size:2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px}.header h1 .accent{color:var(--hu-green)}.subtitle{font-size:1rem;color:var(--text-secondary);max-width:480px;margin:0 auto}.search-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-md);margin-bottom:32px;transition:box-shadow var(--transition),border-color var(--transition)}.search-card:focus-within{border-color:var(--hu-green);box-shadow:var(--shadow-lg),0 0 0 3px var(--hu-green-light)}.question-input{width:100%;border:none;resize:vertical;font-size:1rem;line-height:1.6;color:var(--text-primary);background:transparent;min-height:80px;padding:0}.question-input::placeholder{color:var(--text-muted)}.search-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.hint{font-size:.8rem;color:var(--text-muted);background:var(--bg);padding:2px 8px;border-radius:4px;font-weight:500}.send-btn{display:inline-flex;align-items:center;gap:8px;background:var(--hu-green);color:#fff;font-size:.95rem;font-weight:600;padding:10px 24px;border-radius:var(--radius-sm);transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.send-btn:hover:not(:disabled){background:var(--hu-green-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4770504d}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-icon{font-size:1.1rem}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-card{display:flex;align-items:center;gap:10px;background:var(--hu-red-light);color:var(--hu-red);padding:14px 20px;border-radius:var(--radius-md);border:1px solid var(--hu-red-mid);font-size:.95rem;font-weight:500;margin-bottom:28px;animation:fadeSlideIn .3s ease}.error-icon{font-size:1.2rem;flex-shrink:0}.section-title{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:600;color:var(--text-primary);margin-bottom:14px}.section-icon{font-size:1.25rem}.answer-section{margin-bottom:36px;animation:fadeSlideIn .4s ease}.answer-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);border-left:4px solid var(--hu-green)}.answer-text{font-size:1rem;line-height:1.8;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.citation-link{display:inline-flex;align-items:center;font-size:.75rem;font-weight:700;color:var(--hu-green);background:var(--hu-green-light);padding:1px 6px;border-radius:4px;vertical-align:super;line-height:1;margin:0 1px;transition:background var(--transition),color var(--transition);text-decoration:none}.citation-link:hover{background:var(--hu-green);color:#fff}.sources-section{margin-bottom:40px;animation:fadeSlideIn .5s ease}.sources-list{display:flex;flex-direction:column;gap:12px}.source-card{display:block;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);text-decoration:none;color:inherit}.source-card:hover{border-color:var(--hu-green-mid);box-shadow:var(--shadow-md);transform:translateY(-1px);color:inherit}.source-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.source-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--hu-green);color:#fff;font-size:.8rem;font-weight:700;border-radius:50%;flex-shrink:0}.source-filename{font-size:.85rem;font-weight:600;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-score{font-size:.75rem;font-weight:600;color:var(--hu-green);background:var(--hu-green-light);padding:2px 8px;border-radius:20px;white-space:nowrap}.source-text{font-size:.9rem;line-height:1.6;color:var(--text-secondary);margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.source-link-hint{font-size:.8rem;font-weight:600;color:var(--hu-green);opacity:0;transition:opacity var(--transition)}.source-card:hover .source-link-hint{opacity:1}.footer{text-align:center;padding-top:32px;border-top:1px solid var(--border)}.footer p{font-size:.85rem;color:var(--text-muted)}.footer a{font-weight:600;color:var(--hu-green);text-decoration:underline;text-underline-offset:2px}.footer a:hover{color:var(--hu-green-dark)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.container{padding:32px 16px 48px}.header h1{font-size:1.5rem}.subtitle{font-size:.9rem}.search-card{padding:16px}.answer-card{padding:18px}.source-header{flex-wrap:wrap}.hint{display:none}}
