.header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:56px;padding:0 20px;display:flex}.header__brand{align-items:center;gap:10px;display:flex}.header__logo{background:var(--accent);color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.header__logo svg{width:16px;height:16px}.header__title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:16px;font-weight:600;line-height:1.2}.header__subtitle{color:var(--text-muted);margin:0;font-size:12px;line-height:1.2}.header__new-chat{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:14px;transition:background .15s;display:inline-flex}.header__new-chat:hover{background:var(--bg)}@media (width<=640px){.header{height:52px;padding:0 16px}}.message-input{padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(180deg, transparent, var(--bg) 28%);flex-shrink:0}.message-input__form{border:1px solid var(--border);background:var(--surface);width:min(760px,100%);box-shadow:var(--input-shadow);border-radius:24px;align-items:flex-end;gap:10px;margin:0 auto;padding:8px 8px 8px 16px;display:flex}.message-input__field{resize:none;min-width:0;max-height:160px;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:10px 0;line-height:1.45}.message-input__field::placeholder{color:var(--text-muted)}.message-input__send{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.message-input__send:hover:not(:disabled){background:var(--accent-hover)}.message-input__send:disabled{cursor:not-allowed;opacity:.45}.message-input__send svg{width:18px;height:18px}.message-input__stop{border:1px solid var(--border);background:var(--surface);height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:14px;display:flex}.message-input__stop:hover{border-color:var(--text-muted)}.message-input__stop-icon{background:currentColor;border-radius:2px;width:10px;height:10px}@media (width<=640px){.message-input{padding:8px 12px calc(12px + env(safe-area-inset-bottom))}.message-input__form{border-radius:22px;padding:6px 6px 6px 14px}.message-input__send{width:36px;height:36px}.message-input__stop{height:36px;padding:0 12px 0 10px}}.apartment-cards{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.apartment-card{border:1px solid var(--border);background:var(--bg);border-radius:14px;justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.apartment-card__main{min-width:0}.apartment-card__title{margin:0;font-size:14px;font-weight:600}.apartment-card__complex{color:var(--text);margin:4px 0 0;font-size:13px}.apartment-card__address,.apartment-card__meta{color:var(--text-muted);margin:4px 0 0;font-size:12px}.apartment-card__side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.apartment-card__price{white-space:nowrap;margin:0;font-size:14px;font-weight:600}.apartment-card__price-base{color:var(--text-muted);white-space:nowrap;margin:0;font-size:12px;text-decoration:line-through}.apartment-card__link{color:var(--accent);margin-top:4px;font-size:13px;text-decoration:none}.apartment-card__link:hover{text-decoration:underline}@media (width<=640px){.apartment-card{flex-direction:column;gap:10px}.apartment-card__side{flex-flow:wrap;align-items:center;gap:8px 12px}.apartment-card__link{margin-top:0}}.message{align-items:flex-start;gap:12px;max-width:100%;display:flex}.message--user{flex-direction:row-reverse;align-self:flex-end}.message--assistant{align-self:flex-start}.message__avatar{border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;line-height:1;display:grid}.message--assistant .message__avatar{background:var(--accent-soft);color:var(--accent)}.message--user .message__avatar{background:var(--user-avatar-bg);color:var(--user-avatar-fg)}.message__body{overflow-wrap:anywhere;word-break:break-word;border-radius:18px;min-width:0;max-width:min(640px,100% - 44px);padding:12px 16px}.message--assistant .message__body{background:var(--assistant-bg);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:6px}.message--user .message__body{background:var(--user-bg);color:var(--user-text);border-bottom-right-radius:6px}.message__error{color:var(--error-text);white-space:pre-wrap;margin:0}.message__markdown+.message__error,.apartment-cards+.message__error{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.message__text{white-space:pre-wrap;margin:0}.message__markdown{font-size:15px;line-height:1.6}.message__markdown>:first-child{margin-top:0}.message__markdown>:last-child{margin-bottom:0}.message__markdown p{margin:0 0 .75em}.message__markdown ul,.message__markdown ol{margin:0 0 .75em;padding-left:1.25em}.message__markdown pre{background:var(--code-bg);color:var(--code-text);border-radius:10px;margin:.5em 0 .85em;padding:12px 14px;overflow-x:auto}.message__markdown pre code{color:inherit;white-space:pre;background:0 0;padding:0;font-size:13px;line-height:1.5}.message__markdown :not(pre)>code{background:var(--inline-code-bg);border-radius:6px;padding:1px 6px;font-size:.9em}.message__markdown a{color:var(--accent)}.typing{gap:5px;padding:4px 2px;display:flex}.typing span{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.message__retry{color:var(--error-text);font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;margin-top:10px;padding:6px 12px;font-size:13px}.message__retry:hover{opacity:.8}@keyframes typing{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media (width<=640px){.message{gap:8px}.message__avatar{width:28px;height:28px;font-size:11px}.message__body{border-radius:16px;max-width:min(640px,100% - 36px);padding:10px 12px}}.message-list{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.message-list__inner{flex-direction:column;gap:18px;width:min(760px,100%);margin:0 auto;padding:28px 20px 12px;display:flex}@media (width<=640px){.message-list__inner{gap:14px;padding:16px 12px 8px}}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.app{background:var(--bg);flex-direction:column;height:100dvh;min-height:100dvh;display:flex}:root{--bg:#f4f6f5;--surface:#fff;--text:#14201c;--text-muted:#6b7a74;--border:#e2e8e5;--accent:#1a5f4a;--accent-hover:#144c3b;--accent-soft:#e5f2ed;--assistant-bg:#fff;--user-bg:#1a2a24;--user-text:#fff;--user-avatar-bg:#e8eeeb;--user-avatar-fg:#1a2a24;--error-bg:#fdecec;--error-text:#8a1f1f;--code-bg:#1e1e1e;--code-text:#f5f5f5;--inline-code-bg:#e8eeeb;--input-shadow:0 8px 24px #14201c0f;--sans:"Segoe UI", ui-sans-serif, system-ui, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}button,textarea{font-family:inherit}code{font-family:var(--mono)}
