*{box-sizing:border-box;margin:0;padding:0}body{color:#e2e8f0;background:#0f172a;min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app-container{justify-content:center;align-items:center;min-height:100vh;display:flex}.card{background:#1e293b;border-radius:12px;width:100%;max-width:400px;padding:2rem;box-shadow:0 10px 30px #0006}h1{margin-bottom:1.5rem;font-size:1.5rem}input{color:#fff;background:#0f172a;border:1px solid #334155;border-radius:8px;width:100%;margin-bottom:1rem;padding:.75rem}input:focus{border-color:#3b82f6;outline:none}button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;width:100%;padding:.75rem;font-weight:500;transition:all .2s}button:hover{background:#2563eb}button.secondary{background:#334155}button.secondary:hover{background:#475569}p{color:#94a3b8;margin-top:1rem;font-size:.9rem}.settings-card{max-width:420px;margin:0 auto;padding:32px}.settings-actions{flex-direction:column;gap:12px;margin-top:20px;display:flex}.full{width:100%}.dialog-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.dialog-box{background:#fff;border-radius:10px;width:400px;max-width:90%;padding:20px;box-shadow:0 10px 30px #0003}.dialog-header{justify-content:space-between;align-items:center;display:flex}.dialog-header h2{color:#000;margin:0;font-size:1.2rem;font-weight:600}.close-button{cursor:pointer;background-color:#0d43ad;border:none;border-radius:6px;justify-content:center;align-items:center;width:96px;height:24px;padding:0;font-size:14px;line-height:1;display:flex}.close-button:hover{background-color:#d1d1db}.dialog-footer{justify-content:flex-end;margin-top:16px;display:flex}.dialog-content-grid{grid-template-columns:repeat(2,1fr);gap:16px 24px;display:grid}.form-group-grid{flex-direction:column;display:flex}.form-group-grid label{color:#374151;margin-bottom:4px;font-size:.85rem}.form-group-grid select{cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;font-size:.9rem}.form-group-grid select:focus{border-color:#2563eb;outline:none}.chat-shell{box-sizing:border-box;flex-direction:column;height:100vh;min-height:100vh;padding:16px;display:flex}.chat-topbar{background:#ffffff0a;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:16px 20px;display:flex}.chat-topbar-left h1{margin:0 0 4px}.chat-main{flex:1;min-height:0;display:flex}.chat-card{background:#ffffff0a;border-radius:24px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-messages{flex:1;min-height:0;padding:24px;overflow-y:auto}.chat-results{flex-direction:column;gap:16px;display:flex}.chat-panel{background:#ffffff0a;border-radius:18px;padding:18px}.chat-panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.chat-panel-header h3{margin:0}.chat-question{white-space:pre-wrap;word-break:break-word;margin:0}.chat-answer pre,.retrieval-text{white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit;line-height:1.5}.retrieval-list{flex-direction:column;gap:14px;display:flex}.retrieval-item{background:#ffffff08;border-radius:14px;padding:14px}.retrieval-meta{opacity:.9;margin-bottom:8px;font-size:.95rem}.chat-warning{background:#ffc8001f;border-radius:12px;margin-bottom:12px;padding:10px 12px}.chat-error{background:#ff000014}.chat-empty h2{margin-top:0}.chat-inputbar{border-top:1px solid #ffffff0f;align-items:flex-end;gap:12px;padding:16px 24px 24px;display:flex}.chat-input{resize:vertical;width:auto;min-width:0;min-height:72px;color:inherit;font:inherit;box-sizing:border-box;background:#ffffff0f;border:0;border-radius:16px;flex:auto;padding:14px 16px}.chat-send-button{white-space:nowrap;border-radius:12px;align-self:flex-end;min-width:120px;height:44px;padding:0 18px;flex:none!important;width:auto!important}.chat-input:focus{outline:2px solid #ffffff2e}.small{opacity:.8;word-break:break-word}.muted{opacity:.75;margin:0}@media (width<=700px){.chat-shell{padding:10px}.chat-topbar{flex-direction:column;align-items:flex-start;padding:14px}.chat-messages{padding:16px}.chat-inputbar{flex-direction:column;align-items:stretch;padding:12px 16px 16px}.chat-input{min-height:88px}}
