:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text-on-dark:#fff;--text-on-dark-soft:#ddd;--text-on-dark-muted:#aaa;--text-on-dark-faint:#888;--border-on-dark:#ffffff2e;--brand:#e94560;--brand-dark:#0f3460;--brand-cta-end:#c73652;--gradient-brand:linear-gradient(135deg, var(--brand), var(--brand-dark));--gradient-cta:linear-gradient(135deg, var(--brand), var(--brand-cta-end));--bg-app:#f0f2f5;--bg-surface:#fff;--bg-surface-muted:#fafbfc;--bg-surface-subtle:#f5f5f5;--bg-hover:#eaeaea;--bg-header:#1a1a2e;--bg-user-bubble:#1a1a2e;--text-primary:#333;--text-strong:#1a1a2e;--text-secondary:#666;--text-muted:#888;--text-faint:#aaa;--text-placeholder:#bbb;--border-subtle:#e8eaf0;--border-default:#e0e0e0;--border-hover:#ccc;--divider:#ddd;--success-bg:#e8f5e9;--success-border:#4caf50;--danger-bg:#ffebee;--danger-border:#f44336;--danger-text:#f44336;--chip-info-bg:#e8f4fd;--chip-info-text:#0f3460;--chip-muted-bg:#f0f2f5;--chip-muted-text:#888;--shadow-soft:0 2px 10px #0000000f;--shadow-medium:0 8px 32px #0000001a;--shadow-code:0 1px 4px #0000001f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#14151f;--bg-surface:#1e2030;--bg-surface-muted:#242638;--bg-surface-subtle:#2a2c40;--bg-hover:#323550;--bg-header:#0d0e17;--bg-user-bubble:#0d0e17;--text-primary:#e4e4ea;--text-strong:#fff;--text-secondary:#b8bac5;--text-muted:#8a8c9c;--text-faint:#71738a;--text-placeholder:#5c5e70;--border-subtle:#2f3146;--border-default:#383a52;--border-hover:#4a4c68;--divider:#383a52;--success-bg:#4caf5029;--success-border:#5fc164;--danger-bg:#f4433629;--danger-border:#f4695c;--danger-text:#f4796c;--chip-info-bg:#0f346066;--chip-info-text:#7fb8f5;--chip-muted-bg:#2a2c40;--chip-muted-text:#8a8c9c;--shadow-soft:0 2px 10px #00000059;--shadow-medium:0 8px 32px #00000073;--shadow-code:0 1px 4px #0006}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#14151f;--bg-surface:#1e2030;--bg-surface-muted:#242638;--bg-surface-subtle:#2a2c40;--bg-hover:#323550;--bg-header:#0d0e17;--bg-user-bubble:#0d0e17;--text-primary:#e4e4ea;--text-strong:#fff;--text-secondary:#b8bac5;--text-muted:#8a8c9c;--text-faint:#71738a;--text-placeholder:#5c5e70;--border-subtle:#2f3146;--border-default:#383a52;--border-hover:#4a4c68;--divider:#383a52;--success-bg:#4caf5029;--success-border:#5fc164;--danger-bg:#f4433629;--danger-border:#f4695c;--danger-text:#f4796c;--chip-info-bg:#0f346066;--chip-info-text:#7fb8f5;--chip-muted-bg:#2a2c40;--chip-muted-text:#8a8c9c;--shadow-soft:0 2px 10px #00000059;--shadow-medium:0 8px 32px #00000073;--shadow-code:0 1px 4px #0006}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-app);color:var(--text-primary);min-height:100vh;font-family:Segoe UI,sans-serif}#root,.app{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--bg-header);color:var(--text-on-dark);flex-shrink:0;align-items:center;gap:12px;padding:14px 28px;display:flex}.header-logo{background:var(--gradient-brand);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.header-title h1{font-size:16px;font-weight:600}.header-title p{color:var(--text-on-dark-muted);margin-top:1px;font-size:11px}.header-user{align-items:center;gap:10px;margin-left:auto;display:flex}.user-avatar{background:var(--brand);width:32px;height:32px;color:var(--text-on-dark);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.user-name{color:var(--text-on-dark-soft);font-size:13px}.user-name span{color:var(--text-on-dark-faint);font-size:10px;font-weight:400;display:block}.theme-switch{border:1px solid var(--border-on-dark);background:#ffffff0f;border-radius:8px;gap:2px;padding:2px;display:flex}.theme-switch-btn{color:var(--text-on-dark-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px 8px;font-family:inherit;font-size:10.5px;font-weight:500;transition:background .15s,color .15s}.theme-switch-btn:hover{color:var(--text-on-dark)}.theme-switch-btn.selected{background:var(--brand);color:var(--text-on-dark)}.chat-scroll{flex:1;overflow-y:auto}.chat-container{flex-direction:column;gap:16px;width:100%;max-width:800px;margin:0 auto;padding:28px 16px 16px;display:flex}.welcome{background:var(--bg-surface);box-shadow:var(--shadow-soft);border-radius:16px;align-items:flex-start;gap:14px;padding:24px;display:flex}.assistant-avatar{background:var(--gradient-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.welcome-text h2{color:var(--text-strong);margin-bottom:6px;font-size:15px}.welcome-text p{color:var(--text-secondary);font-size:13px;line-height:1.6}.message{align-items:flex-start;gap:12px;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.msg-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:flex}.message.user .msg-avatar{background:var(--brand);color:var(--text-on-dark)}.message.assistant .msg-avatar{background:var(--gradient-brand);color:var(--text-on-dark);font-size:16px}.msg-bubble{overflow-wrap:anywhere;border-radius:16px;min-width:0;max-width:85%;padding:14px 18px;font-size:14px;line-height:1.7}.message.user .msg-bubble{background:var(--bg-user-bubble);color:var(--text-on-dark);border-top-right-radius:4px}.message.assistant .msg-bubble{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-soft);border-top-left-radius:4px}.id-chip{color:var(--text-on-dark);background:#ffffff24;border-radius:4px;padding:1px 7px;font-family:monospace;font-size:12px;display:inline-block}.msg-bubble h2{color:var(--text-strong);border-bottom:2px solid var(--border-subtle);margin:16px 0 8px;padding-bottom:5px;font-size:15px}.msg-bubble h2:first-child{margin-top:0}.msg-bubble h3{color:var(--brand);margin:12px 0 6px;font-size:13px}.msg-bubble p{margin-bottom:8px}.msg-bubble p:last-child{margin-bottom:0}.msg-bubble strong{color:var(--text-strong)}.msg-bubble code{background:var(--bg-surface-subtle);color:var(--brand);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:12px}.msg-bubble :not(pre)>code{word-break:break-all;overflow-wrap:anywhere;white-space:normal;max-width:100%}.ticket-ref{background:var(--chip-info-bg);color:var(--chip-info-text);border-radius:4px;padding:1px 7px;font-size:12px;font-weight:600;display:inline-block}.error-value{background:var(--bg-surface-subtle);border:1px solid var(--border-default);color:var(--text-primary);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:6px;margin-top:4px;padding:8px 10px;font-family:monospace;font-size:12px;display:block}.error-value code{color:inherit;background:0 0;padding:0}.msg-bubble ul,.msg-bubble ol{margin:8px 0;padding-left:22px}.msg-bubble li{margin-bottom:4px}.msg-bubble blockquote{border-left:3px solid var(--brand);background:var(--bg-surface-muted);color:var(--text-secondary);border-radius:0 8px 8px 0;margin:10px 0;padding:8px 14px}.answer-meta{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.chip{background:var(--chip-info-bg);color:var(--chip-info-text);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 9px;font-size:11px;font-weight:600;display:inline-flex}.chip-muted{background:var(--chip-muted-bg);color:var(--chip-muted-text);font-weight:500}.narration{color:var(--text-muted);margin-bottom:8px;font-size:12.5px;font-style:italic}.code-block{box-sizing:border-box;max-width:100%;box-shadow:var(--shadow-code);border-radius:10px;margin:12px 0;overflow:hidden}.code-block-header{background:#21252b;border-bottom:1px solid #3a3f4b;justify-content:space-between;align-items:center;padding:7px 12px;display:flex}.code-block-lang{letter-spacing:.04em;text-transform:uppercase;color:#9aa2b1;font-family:monospace;font-size:11px;font-weight:600}.code-copy-btn{color:#e6e6e6;cursor:pointer;background:#3a3f4b;border:none;border-radius:6px;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s,color .15s}.code-copy-btn:hover{background:var(--brand);color:var(--text-on-dark)}.code-block pre{box-sizing:border-box;white-space:pre;max-width:100%;overflow-x:auto}.typing{align-items:center;gap:12px;display:flex}.typing .msg-avatar{background:var(--gradient-brand);color:var(--text-on-dark);font-size:16px}.dots{background:var(--bg-surface);box-shadow:var(--shadow-soft);border-radius:16px;align-items:center;gap:5px;padding:16px 20px;display:flex}.bubble-dots{align-items:center;gap:5px;padding:2px 0;display:flex}.dot{background:var(--border-hover);border-radius:50%;width:8px;height:8px;animation:1.2s infinite bounce}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{background:var(--border-hover);transform:translateY(0)}30%{background:var(--brand);transform:translateY(-6px)}}.input-wrapper{background:var(--bg-surface);border-top:1px solid var(--border-subtle);flex-shrink:0;padding:16px}.input-inner{align-items:flex-end;gap:12px;max-width:800px;margin:0 auto;display:flex}.input-inner textarea{border:2px solid var(--border-subtle);resize:none;min-height:48px;max-height:140px;color:var(--text-primary);text-align:left;background:var(--bg-surface);direction:ltr;border-radius:12px;outline:none;flex:1;padding:12px 16px;font-family:inherit;font-size:14px;line-height:1.5;transition:border .2s}.input-inner textarea:focus{border-color:var(--brand)}.input-inner textarea::placeholder{color:var(--text-placeholder)}.btn-send{background:var(--gradient-cta);color:var(--text-on-dark);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;transition:opacity .2s;display:flex}.btn-send:hover{opacity:.9}.btn-send:disabled{opacity:.4;cursor:not-allowed}.hint{text-align:center;color:var(--text-placeholder);padding:6px 0 2px;font-size:11px}.btn-change-name{border:1px solid var(--border-on-dark);color:var(--text-on-dark-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:4px 10px;font-size:11px;transition:border-color .2s,color .2s}.btn-change-name:hover{border-color:var(--brand);color:var(--brand)}.login-page{background:var(--bg-app);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--bg-surface);width:100%;max-width:400px;box-shadow:var(--shadow-medium);text-align:center;border-radius:20px;flex-direction:column;align-items:center;padding:48px 40px 36px;display:flex}.login-logo{background:var(--gradient-brand);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:20px;font-size:32px;display:flex}.login-title{color:var(--text-strong);margin-bottom:6px;font-size:24px;font-weight:700}.login-subtitle{color:var(--text-muted);margin-bottom:36px;font-size:12px;line-height:1.5}.login-form{flex-direction:column;gap:12px;width:100%;margin-bottom:24px;display:flex}.login-form label{color:var(--text-primary);text-align:left;font-size:13px;font-weight:600}.login-form input{border:2px solid var(--border-subtle);width:100%;color:var(--text-primary);background:var(--bg-surface);border-radius:12px;outline:none;padding:13px 16px;font-family:inherit;font-size:14px;transition:border-color .2s}.login-form input:focus{border-color:var(--brand)}.login-form input::placeholder{color:var(--text-placeholder)}.login-form button{background:var(--gradient-cta);color:var(--text-on-dark);cursor:pointer;border:none;border-radius:12px;margin-top:4px;padding:14px;font-family:inherit;font-size:15px;font-weight:600;transition:opacity .2s}.login-form button:hover:not(:disabled){opacity:.88}.login-form button:disabled{opacity:.35;cursor:not-allowed}.login-footer{color:var(--text-placeholder);font-size:11px}.error-page{background:var(--bg-app);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.error-card{background:var(--bg-surface);width:100%;max-width:400px;box-shadow:var(--shadow-medium);text-align:center;border-radius:20px;flex-direction:column;align-items:center;padding:48px 40px 36px;display:flex}.error-logo{background:var(--gradient-brand);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:20px;font-size:32px;display:flex}.error-code{color:var(--text-strong);margin-bottom:10px;font-size:64px;font-weight:800;line-height:1}.error-title{color:var(--text-strong);margin-bottom:10px;font-size:20px;font-weight:600}.error-message{color:var(--text-muted);margin-bottom:28px;font-size:13px;line-height:1.6}.error-btn{background:var(--gradient-cta);color:var(--text-on-dark);cursor:pointer;border:none;border-radius:12px;padding:13px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .2s}.error-btn:hover{opacity:.88}.msg-content{flex-direction:column;min-width:0;max-width:85%;display:flex}.msg-content .msg-bubble{max-width:100%}.feedback-wrapper{flex-direction:column;gap:6px;margin-top:8px;padding-left:2px;display:flex}.feedback-groups{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.feedback-group{flex-direction:column;gap:4px;display:flex}.feedback-group-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:10px;font-weight:600}.feedback-group-buttons{align-items:center;gap:6px;display:flex}.feedback-group-divider{background:var(--divider);align-self:stretch;width:1px;margin-top:18px}.feedback-btn{background:var(--bg-surface-subtle);border:1px solid var(--border-default);cursor:pointer;border-radius:6px;transition:background .15s,border-color .15s}.feedback-btn.thumb{justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:14px;display:flex}.feedback-btn.text{color:var(--text-secondary);padding:6px 10px;font-family:inherit;font-size:11px;font-weight:500}.feedback-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.feedback-btn.selected-positive{background:var(--success-bg);border-color:var(--success-border)}.feedback-btn.selected-negative{background:var(--danger-bg);border-color:var(--danger-border)}.feedback-btn:disabled{opacity:.6;cursor:default}.feedback-error{color:var(--danger-text);margin-left:8px;font-size:11px}.feedback-comment{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.feedback-comment-box{flex-direction:column;flex:1;gap:4px;max-width:560px;display:flex}.feedback-comment-label{color:var(--text-secondary);font-size:11px;font-weight:500}.feedback-comment-input{border:1px solid var(--border-default);width:100%;min-height:66px;max-height:300px;color:var(--text-primary);background:var(--bg-surface);resize:vertical;border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:12px;line-height:1.4;transition:border-color .15s;overflow-y:auto}.feedback-comment-input:focus{border-color:var(--border-hover)}.feedback-comment-input::placeholder{color:var(--text-faint)}.feedback-comment-input:disabled{opacity:.75}.comment-counter{color:var(--text-faint);align-self:flex-end;font-size:10.5px}.comment-counter.at-limit{color:var(--danger-text);font-weight:600}.feedback-comment-actions{align-items:center;gap:8px;display:flex}.feedback-comment-saved{color:var(--success-border);font-size:11px;font-weight:600}.answer-footer-row{align-items:center;gap:12px;margin-top:8px;display:flex}.sources-toggle,.copy-answer-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px;font-weight:500}.sources-toggle:hover,.copy-answer-btn:hover{color:var(--text-primary)}.sources-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.source-item{border:1px solid var(--border-default);background:var(--bg-surface-muted);border-radius:6px;overflow:hidden}.source-item-header{background:var(--bg-surface-subtle);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:6px 10px;font-family:inherit;display:flex}.source-item-header:hover{background:var(--bg-hover)}.source-name{color:var(--text-strong);word-break:break-all;font-family:monospace;font-size:11px}.source-score{color:var(--text-muted);flex-shrink:0;font-size:10px}.source-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;max-height:300px;margin:0;padding:8px 10px;font-family:monospace;font-size:11.5px;line-height:1.5;overflow-y:auto}@media (width>=1200px){.chat-container,.input-inner{max-width:900px}}.header-link{border:1px solid var(--border-on-dark);color:var(--text-on-dark-muted);white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:11px;text-decoration:none;transition:border-color .2s,color .2s}.header-link:hover{border-color:var(--brand);color:var(--brand)}.review-page{height:100vh}.review-bar{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:10px 28px;font-size:13px;display:flex}.review-bar-title{color:var(--text-strong);margin-right:8px;font-weight:600}.review-tab{border:1px solid var(--border-default);color:var(--text-primary);border-radius:8px;padding:4px 12px;text-decoration:none}.review-tab:hover{border-color:var(--brand)}.review-tab-active{background:var(--brand-dark);border-color:var(--brand-dark);color:var(--text-on-dark)}.review-bar-week{color:var(--text-secondary)}.review-bar-back{color:var(--text-secondary);margin-left:auto;text-decoration:none}.review-bar-back:hover{color:var(--brand)}.review-note{color:var(--text-primary);padding:24px 28px}.review-frame{background:#fff;border:0;flex:1;width:100%}
