html{width:100%;max-width:100%;overflow-x:hidden}:root{color-scheme:light;font-family:Pretendard Variable,Pretendard,Noto Sans KR,sans-serif;line-height:1.5;font-weight:400;background:#f7f3ea;color:#171717}*{box-sizing:border-box}body{margin:0;width:100%;max-width:100%;min-height:100dvh;overflow-x:hidden}#root{width:100%;max-width:100%;min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden}.app-shell{display:flex;flex-direction:column;min-height:100dvh;max-width:720px;margin:0 auto;width:100%;overflow-x:hidden}.header{padding:16px 20px;border-bottom:1px solid #e0d9cc;background:#fffcf5f2;position:sticky;top:0;z-index:10;backdrop-filter:blur(8px);display:flex;align-items:start}.header-brand{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 auto;min-width:0}.header-title-row{display:inline-flex;align-items:flex-start;gap:8px;width:max-content;max-width:100%;min-width:0}.header h1{display:block;margin:0;min-width:0;flex:0 1 auto;font-size:1.25rem;line-height:1.2;letter-spacing:-.02em;color:#8b6a3d}.status-badge{flex:0 0 auto;align-self:flex-start;min-height:28px;padding:6px 10px;border-radius:999px;border:1px solid #d9d2c4;background:#fffcf5f2;color:#7a7064;font-size:.72rem;font-weight:700;line-height:1.2;white-space:nowrap}.header .subtitle{margin:2px 0 0;font-size:.75rem;color:#9a9084}.messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.empty-state{flex:1;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9a9084;text-align:center}.empty-state h2{margin:0 0 8px;font-size:1.125rem;line-height:1.35;color:#6b6058}.empty-state p{margin:0;max-width:560px;font-size:.875rem;word-break:keep-all}.message{max-width:85%;padding:12px 16px;border-radius:16px;font-size:.9375rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.message p{margin:0}.message p+p{margin-top:8px}.message.user{align-self:flex-end;background:#4a3f2f;color:#faf8f4;border-bottom-right-radius:4px}.message.assistant{align-self:flex-start;background:#fffcf5eb;border:1px solid #e0d9cc;border-bottom-left-radius:4px;color:#2a2520}.contact-list{margin:12px 0 0;padding-top:10px;border-top:1px solid #e0d9cc;display:flex;flex-direction:column;gap:6px}.contact-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:baseline}.contact-row dt{color:#7a7064;font-size:.8rem;font-weight:700}.contact-row dd{margin:0;color:#8b6a3d;font-size:.9rem;overflow-wrap:anywhere}.input-area{padding:12px 20px;border-top:1px solid #e0d9cc;background:#fffcf5f2;position:sticky;bottom:0;backdrop-filter:blur(8px)}.input-row{display:flex;gap:8px}.input-row textarea{flex:1;min-width:0;padding:10px 14px;border:1px solid #d9d2c4;border-radius:12px;background:#fff;color:#171717;font-family:inherit;font-size:1rem;line-height:1.5;resize:none;outline:none;min-height:44px;max-height:120px}.input-row button{padding:0 18px;border:none;border-radius:12px;background:#4a3f2f;color:#faf8f4;font-family:inherit;font-size:.9375rem;font-weight:700;white-space:nowrap;min-height:44px}.input-row textarea:disabled,.input-row button:disabled{cursor:not-allowed;opacity:.5}.input-meta{display:flex;justify-content:flex-end;margin:6px 0 0;font-size:.75rem;color:#9a9084}@media (max-width: 640px){.app-shell{max-width:100%}.header{width:100%}.header,.messages,.input-area{padding-left:16px;padding-right:16px}.header-title-row{flex-wrap:wrap}.message{max-width:92%}.input-row textarea{font-size:16px}}
