:root{--black: #080808;--deep: #111111;--charcoal: #1c1c1c;--mid: #2e2e2e;--smoke: #4a4a4a;--ash: #7a7a7a;--silver: #a8a8a8;--pearl: #d4d4d4;--white: #f5f5f5;--pure: #ffffff;--grad-panel: linear-gradient(160deg, #0e0e0e 0%, #161616 60%, #1a1a1a 100%);--grad-chat: linear-gradient(180deg, #0a0a0a 0%, #121212 100%);--grad-bubble: linear-gradient(135deg, #1e1e1e 0%, #252525 100%);--grad-user: linear-gradient(135deg, #2a2a2a 0%, #222222 100%);--grad-input: linear-gradient(90deg, #161616 0%, #1a1a1a 100%);--grad-send: linear-gradient(135deg, #c8c8c8 0%, #e8e8e8 100%);--serif: "Cormorant Garamond", Georgia, serif;--serif-alt: "Cormorant", Georgia, serif;--sans: "Jost", system-ui, sans-serif;--radius: 2px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--black);font-family:var(--sans);font-weight:300;color:var(--pearl);-webkit-font-smoothing:antialiased;overflow:hidden}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E")}.app{height:100vh;display:flex;align-items:center;justify-content:center}.chat-container{width:100%;max-width:1440px;height:100vh;display:flex}.brand-sidebar{width:380px;flex-shrink:0;background:var(--grad-panel);border-right:1px solid rgba(255,255,255,.05);padding:52px 44px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.brand-sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;opacity:.6}.brand-sidebar:after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.08),transparent)}.brand-ornament{display:flex;align-items:center;gap:10px;margin-bottom:48px}.ornament-line{flex:1;height:1px;background:linear-gradient(to right,transparent,var(--ash))}.ornament-line:last-child{background:linear-gradient(to left,transparent,var(--ash))}.ornament-diamond{width:6px;height:6px;border:1px solid var(--silver);transform:rotate(45deg);flex-shrink:0}.brand-logo-wrap{margin-bottom:10px}.brand-logo-img{width:100%;max-width:220px;display:block;filter:brightness(1.3);opacity:.92}.brand-tagline{font-family:var(--sans);font-weight:200;font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--smoke);text-align:center;margin-top:14px}.brand-rule{width:40px;height:1px;background:linear-gradient(to right,transparent,var(--mid),transparent);margin:36px 0}.brand-desc{font-family:var(--serif-alt);font-style:italic;font-weight:300;font-size:15px;line-height:1.85;color:var(--smoke);letter-spacing:.01em}.brand-footer{border-top:1px solid rgba(255,255,255,.05);padding-top:20px}.brand-footer-label{font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--mid);margin-bottom:5px}.brand-footer-value{font-family:var(--sans);font-weight:200;font-size:12px;letter-spacing:.12em;color:var(--ash)}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;background:var(--grad-chat)}.chat-header{padding:22px 48px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.chat-header-left{display:flex;align-items:center;gap:14px}.status-dot{width:6px;height:6px;background:var(--silver);border-radius:50%;box-shadow:0 0 8px #c8c8c866;flex-shrink:0}.chat-header-text{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--ash);font-weight:300}.progress-steps{display:flex;align-items:center;gap:8px}.step{display:flex;align-items:center;gap:6px;font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mid);font-weight:300;white-space:nowrap}.step.active{color:var(--silver)}.step-dot{width:5px;height:5px;border-radius:50%;border:1px solid var(--mid);flex-shrink:0}.step.active .step-dot{background:var(--silver);border-color:var(--silver);box-shadow:0 0 6px #b4b4b44d}.step-connector{width:20px;height:1px;background:var(--mid);flex-shrink:0}.messages{flex:1;overflow-y:auto;padding:48px 48px 24px;display:flex;flex-direction:column;gap:24px;scrollbar-width:thin;scrollbar-color:var(--mid) transparent}.messages::-webkit-scrollbar{width:4px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:var(--mid);border-radius:2px}.message{display:flex;flex-direction:column;gap:0}.message.bot{align-items:flex-start}.message.user{align-items:flex-end}.message-inner{display:flex;flex-direction:column;gap:0;max-width:640px}.message.user .message-inner{align-items:flex-end;max-width:320px}.message-label{display:flex;align-items:center;gap:8px;margin-bottom:-10px}.message-label-dot{width:5px;height:5px;border-radius:50%;background:var(--silver);box-shadow:0 0 6px #c8c8c84d;flex-shrink:0}.message-label-text{font-size:8.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ash);font-weight:300}.message-bubble{background:var(--grad-bubble);border:1px solid rgba(255,255,255,.07);border-radius:0 12px 12px;padding:24px 28px;position:relative;font-family:var(--serif);font-weight:400;font-size:16px;line-height:1.8;color:var(--pearl);letter-spacing:.01em}.message-bubble:before{content:"";position:absolute;top:-1px;left:-1px;width:24px;height:24px;border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.message.user .message-bubble{background:var(--grad-user);border:1px solid rgba(255,255,255,.09);border-radius:12px 0 12px 12px;padding:14px 20px;font-family:var(--sans);font-weight:300;font-size:14px;line-height:1.6;color:var(--white);letter-spacing:.03em}.message.user .message-bubble:before{display:none}.typing-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:0}.typing-label{display:flex;align-items:center;gap:8px;margin-bottom:-10px}.typing-bubble{background:var(--grad-bubble);border:1px solid rgba(255,255,255,.07);border-radius:0 12px 12px;padding:18px 24px;display:flex;align-items:center;gap:5px;position:relative}.typing-bubble:before{content:"";position:absolute;top:-1px;left:-1px;width:24px;height:24px;border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.typing-dot{width:5px;height:5px;border-radius:50%;background:var(--ash)}.products-section{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.product-card{display:flex;background:var(--charcoal);border:1px solid rgba(255,255,255,.07);overflow:hidden;border-radius:4px;transition:border-color .3s ease}.product-card:hover{border-color:#ffffff26}.product-img-wrap{width:90px;height:90px;flex-shrink:0;overflow:hidden}.product-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.product-card:hover .product-img-wrap img{transform:scale(1.06)}.product-info{padding:.85rem 1.1rem;display:flex;flex-direction:column;justify-content:space-between;flex:1;min-width:0}.product-name{font-family:var(--serif);font-size:1rem;font-style:italic;font-weight:400;color:var(--pearl);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-material{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--smoke);margin-top:.2rem}.product-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.product-price{font-family:var(--serif);font-size:.95rem;color:var(--silver)}.product-link{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--smoke);text-decoration:none;transition:color .2s;display:flex;align-items:center;gap:.3rem}.product-link:hover{color:var(--silver)}.website-cta-wrap{margin-top:1rem}.website-cta{display:inline-flex;align-items:center;gap:.75rem;padding:.875rem 2rem;background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--silver);font-family:var(--sans);font-size:.65rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .3s ease;border-radius:var(--radius)}.website-cta:hover{background:#ffffff0a;border-color:#ffffff40}.cta-arrow{transition:transform .3s}.website-cta:hover .cta-arrow{transform:translate(4px)}.input-bar{padding:24px 48px 36px;border-top:1px solid rgba(255,255,255,.05);flex-shrink:0;position:relative}.input-bar:before{content:"";position:absolute;top:-40px;left:0;right:0;height:40px;background:linear-gradient(to top,#0a0a0a,transparent);pointer-events:none}.input-row{display:flex;align-items:center}.input-wrapper{flex:1;display:flex;align-items:center;background:var(--grad-input);border:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:0 20px 0 28px;transition:border-color .3s ease}.input-wrapper:focus-within{border-color:#ffffff1f;border-bottom-color:#c8c8c880}.input-field{flex:1;background:transparent;border:none;outline:none;font-family:var(--serif);font-weight:400;font-size:17px;letter-spacing:.03em;color:var(--white);padding:20px 0;caret-color:var(--silver);min-width:0}.input-field::placeholder{color:var(--smoke);font-style:italic;font-size:16px}.input-field:disabled{opacity:.35;cursor:not-allowed}.send-btn{width:38px;height:38px;background:var(--grad-send);border:none;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:12px;transition:opacity .2s,transform .15s;touch-action:manipulation}.send-btn svg{width:14px;height:14px}.send-btn:hover:not(:disabled){opacity:.85;transform:translate(1px)}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{opacity:.25;cursor:not-allowed}.streaming-cursor{display:inline-block;width:2px;height:.9em;background:var(--silver);margin-left:2px;vertical-align:text-bottom;animation:blink .9s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (max-width: 960px){.brand-sidebar{width:280px;padding:40px 32px}.brand-logo-sawai{font-size:44px}.brand-logo-homes{font-size:26px}.chat-header{padding:18px 32px}.messages{padding:32px 32px 20px}.input-bar{padding:20px 32px 28px}}@media (max-width: 680px){.app{height:100vh;height:100dvh;align-items:stretch}.chat-container{height:100vh;height:100dvh;flex-direction:column}.brand-sidebar{width:100%;padding:.875rem 1.25rem;flex-direction:row;align-items:center;justify-content:space-between;flex-shrink:0;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.brand-sidebar:after{display:none}.brand-ornament,.brand-rule,.brand-desc{display:none}.brand-footer{border:none;padding:0}.brand-footer-label{display:none}.brand-footer-value{font-size:9px;letter-spacing:.2em}.brand-logo-wrap{margin:0}.brand-logo-img{width:auto;max-width:110px}.brand-tagline{display:none}.step{font-size:0;gap:0}.step-dot{margin:0}.step-connector{width:12px}.chat-header{padding:.75rem 1.25rem}.messages{padding:1.25rem 1rem .75rem;gap:1rem}.message-inner{max-width:88%}.message.user .message-inner{max-width:80%}.message-bubble{padding:16px 18px;font-size:15px}.input-bar{padding:.875rem 1rem;padding-bottom:max(.875rem,env(safe-area-inset-bottom))}.input-bar:before{display:none}.input-wrapper{padding:0 8px 0 16px}.input-field{font-size:1rem;padding:14px 0}.send-btn{width:44px;height:44px;margin-left:8px}.product-img-wrap{width:76px;height:76px}.website-cta-wrap{width:100%}.website-cta{width:100%;justify-content:center}}
