*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#e6e8ee;-webkit-font-smoothing:antialiased;background:#0f1115;font-family:system-ui,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;max-width:860px;height:100%;margin:0 auto;padding:0 16px;display:flex}.header{border-bottom:1px solid #262a33;justify-content:space-between;align-items:center;padding:16px 0;display:flex}.header h1{margin:0;font-size:18px;font-weight:600}.header-title{align-items:baseline;gap:10px;display:flex}.hunt-name{color:#9aa1af;font-size:14px}.header-actions{align-items:center;gap:10px;display:flex}.progress{color:#9aa1af;white-space:nowrap;font-size:13px}.header select{color:#e6e8ee;background:#171a21;border:1px solid #2c313c;border-radius:8px;outline:none;padding:8px 10px;font-size:14px}.header select:focus{border-color:#5b7cfa}.header button{color:#cfd3dc;cursor:pointer;background:#2c313c;border:none;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600}.header button:disabled{opacity:.5;cursor:default}.messages{flex-direction:column;flex:1;gap:14px;padding:20px 0;display:flex;overflow-y:auto}.empty-state{color:#6b7280;text-align:center;margin:auto;font-size:15px}.message{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;max-width:75%;padding:10px 14px;font-size:15px;line-height:1.45}.message.user{color:#fff;background:#3b5bdb;border-bottom-right-radius:4px;align-self:flex-end}.message.assistant{background:#1c2029;border:1px solid #262a33;border-bottom-left-radius:4px;align-self:flex-start}.message-role{text-transform:uppercase;letter-spacing:.06em;opacity:.65;margin-bottom:4px;font-size:11px}.hint{color:#9aa1af;align-self:center;font-size:13px}.hint.completed{color:#7ddc8a;font-weight:600}.error{color:#f5b5b5;background:#3f1d1d;border:1px solid #7f2e2e;border-radius:10px;align-self:center;padding:8px 14px;font-size:14px}.composer{border-top:1px solid #262a33;gap:10px;padding:14px 0 18px;display:flex}.composer input{color:#e6e8ee;background:#171a21;border:1px solid #2c313c;border-radius:10px;outline:none;flex:1;padding:12px 14px;font-size:15px}.composer input:focus{border-color:#5b7cfa}.composer input:disabled{opacity:.6}.composer button{color:#fff;cursor:pointer;background:#5b7cfa;border:none;border-radius:10px;padding:0 22px;font-size:15px;font-weight:600}.composer button:disabled{opacity:.5;cursor:default}.composer button.secondary{color:#cfd3dc;background:#2c313c}.composer button.stop{background:#d64545}.composer button.stop:hover{background:#e05555}
