*{margin:0;padding:0;box-sizing:border-box}:root{--neutral5: #ebebfa;--neutral10: #dadaee;--neutral20: #bbbbda;--neutral40: #6b6b99;--neutral60: #2d2d56;--neutral70: #1a1a3b;--neutral80: #0d0d26;--neutral90: #060619;--neon-blue: #0bdff9;--neon-green: #67f97c;--neon-lime: #e3f12f;--neon-indigo: #5252e0}body{font-family:Albert Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--neutral90);color:var(--neutral5);height:100dvh;overflow:hidden}.app{display:flex;flex-direction:column;height:100dvh;max-width:900px;margin:0 auto}.app-header{padding:20px 5%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-header h1{font-size:16px;font-weight:600;color:var(--neutral20);letter-spacing:.02em}.chat{display:flex;flex-direction:column;flex:1;overflow:hidden}.messages{flex:1;overflow-y:auto;padding:16px 5%;display:flex;flex-direction:column;gap:16px}.welcome{text-align:center;margin-top:80px}.welcome p:first-child{font-size:20px;font-weight:600;color:var(--neutral5);margin-bottom:10px}.welcome p:last-child{font-size:15px;color:var(--neutral40);line-height:1.5}.message{max-width:80%;padding:16px 20px;border-radius:16px;font-size:16px;line-height:24px;word-wrap:break-word;animation:chatFadeIn .3s ease-out;cursor:pointer;transition:opacity .15s}.message.user:active,.message.assistant:active{opacity:.7}.message.copied{outline:2px solid var(--neon-green);outline-offset:-2px}.message.user{white-space:pre-wrap;align-self:flex-end;background:var(--neon-indigo);color:var(--neutral5);border-bottom-right-radius:4px}.message.assistant{align-self:flex-start;background:var(--neutral70);color:var(--neutral10);border-bottom-left-radius:4px}.message.assistant strong{color:var(--neutral5)}.message.assistant p{margin:0}.message.assistant p+p{margin-top:8px}.message.assistant ul,.message.assistant ol{margin:6px 0;padding-left:20px}.message.assistant li{margin:2px 0}.message.assistant code{background:var(--neutral60);padding:1px 5px;border-radius:4px;font-size:14px}.message.assistant pre{background:var(--neutral60);padding:10px 14px;border-radius:8px;overflow-x:auto;margin:8px 0}.message.assistant pre code{background:none;padding:0}.message.assistant a{color:var(--neon-blue);text-decoration:none}.message.assistant a:hover{text-decoration:underline}.message.tool-status{align-self:flex-start;background:transparent;border:none;padding:4px 20px;color:var(--neutral40);font-size:13px;font-style:italic}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.typing-indicator{align-self:flex-start;display:flex;gap:6px;padding:16px 20px;background:var(--neutral70);border-radius:16px 16px 16px 4px;animation:chatFadeIn .3s ease-out}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--neutral40);animation:typingBounce 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);background:var(--neutral40)}30%{transform:translateY(-4px);background:var(--neutral20)}}.cards-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:170px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:12px;padding:8px 0 4px;max-width:85%;align-self:flex-start;flex-shrink:0;animation:chatFadeIn .3s ease-out}.cards-scroll>*{scroll-snap-align:start}.cards-scroll::-webkit-scrollbar{height:4px}.cards-scroll::-webkit-scrollbar-thumb{background:var(--neutral60);border-radius:2px}.product-card,.cart-card{background:var(--neutral70);border:1px solid var(--neutral60);border-radius:12px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:border-color .2s}.product-card:hover,.cart-card:hover{border-color:var(--neutral40)}.product-card img,.cart-card img{width:80px;height:80px;min-height:80px;object-fit:contain;border-radius:8px;background:#fff;padding:4px}.product-card .product-name,.cart-card .cart-name{font-size:13px;text-align:center;line-height:1.3;color:var(--neutral10);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-card .product-brand,.cart-card .cart-brand{font-size:11px;color:var(--neutral40)}.product-card .product-price,.cart-card .cart-price{font-size:15px;font-weight:700;color:var(--neon-green)}.product-card .product-out-of-stock{font-size:11px;color:#e74c3c;font-weight:600}.product-add-btn{width:100%;padding:6px 0;border:1px solid var(--neon-green);border-radius:8px;background:transparent;color:var(--neon-green);font-family:Albert Sans,sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s,color .2s;margin-top:4px}.product-add-btn:hover:not(:disabled){background:var(--neon-green);color:var(--neutral90)}.product-add-btn:disabled{cursor:default}.product-qty-stepper{display:flex;align-items:center;gap:0;width:100%;margin-top:4px;border:1px solid var(--neon-green);border-radius:8px;overflow:hidden}.product-qty-stepper button{flex:1;padding:6px 0;background:transparent;border:none;color:var(--neon-green);font-family:Albert Sans,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s}.product-qty-stepper button:hover:not(:disabled){background:#67f97c1a}.product-qty-stepper button:disabled{opacity:.4;cursor:default}.product-qty-stepper span{padding:6px 0;min-width:28px;text-align:center;font-size:13px;font-weight:700;color:var(--neutral5)}.cart-card .cart-qty{font-size:13px;font-weight:600;color:var(--neon-blue)}.chat-input-wrap{flex-shrink:0;padding:16px 5% 24px;background:linear-gradient(transparent,var(--neutral90) 40%)}.chat-input-border{background:linear-gradient(90deg,var(--neon-blue),var(--neon-green) 50%,var(--neon-lime));border-radius:41px;padding:1px}.chat-input-inner{display:flex;align-items:center;gap:8px;background:var(--neutral80);border-radius:40px;padding:6px 6px 6px 20px}.chat-input-inner input{flex:1;background:transparent;border:none;outline:none;color:var(--neutral5);font-family:Albert Sans,sans-serif;font-size:18px;line-height:28px;padding:8px 0}.chat-input-inner input::placeholder{color:var(--neutral40)}.chat-send-btn{width:48px;height:48px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--neon-blue),var(--neon-green));cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s,transform .1s}.chat-send-btn:hover{opacity:.85}.chat-send-btn:active{transform:scale(.95)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn svg{width:20px;height:20px;fill:var(--neutral90)}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:var(--neutral60);border-radius:3px}.login-screen{display:flex;align-items:center;justify-content:center;height:100dvh;padding:24px}.login-card{width:100%;max-width:360px;text-align:center}.login-card h2{font-size:20px;font-weight:600;color:var(--neutral10);margin-bottom:32px}.login-card form{display:flex;flex-direction:column;gap:16px}.login-input-border{background:linear-gradient(90deg,var(--neon-blue),var(--neon-green) 50%,var(--neon-lime));border-radius:14px;padding:1px}.login-input-border input{width:100%;background:var(--neutral80);border:none;border-radius:13px;padding:14px 18px;color:var(--neutral5);font-family:Albert Sans,sans-serif;font-size:16px;outline:none}.login-input-border input::placeholder{color:var(--neutral40)}.login-card button{padding:14px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--neon-blue),var(--neon-green));color:var(--neutral90);font-family:Albert Sans,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .2s}.login-card button:hover:not(:disabled){opacity:.85}.login-card button:disabled{opacity:.4;cursor:not-allowed}.login-error{color:#e74c3c;font-size:14px}@media(max-width:767px){.messages{padding:16px}.message{max-width:90%;font-size:15px;line-height:22px;padding:12px 16px}.chat-input-wrap{padding:12px 16px 20px}.chat-input-border{border-radius:33px}.chat-input-inner{border-radius:32px;padding:4px 4px 4px 16px}.chat-input-inner input{font-size:16px}.chat-send-btn{width:42px;height:42px}.cards-scroll{max-width:100%;grid-auto-columns:155px}.app-header{padding:16px}}
