.chat-page{display:flex;flex-direction:column;height:100vh;padding-top:70px;background:var(--cream);overflow:hidden}.chat-header-bar{background:var(--white);border-bottom:1px solid var(--line);padding:10px 24px}.chat-header-inner{max-width:760px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.chat-header-info h1{font-family:var(--font-h);font-size:1.15rem;font-weight:700;margin:0;color:var(--ink)}.chat-header-info p{font-size:.82rem;color:var(--ink-light);margin:2px 0 0}.chat-header-actions{display:flex;gap:8px}.chat-header-btn{padding:6px 14px;font-size:.82rem;border-radius:50px}.chat-container{flex:1;display:flex;flex-direction:column;max-width:760px;width:100%;margin:0 auto;padding:24px 24px 0;min-height:0;overflow:hidden}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding-bottom:16px;padding-right:6px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.18) transparent}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#0000002e;border-radius:8px;border:2px solid transparent;background-clip:padding-box}.chat-messages::-webkit-scrollbar-thumb:hover{background:#00000052;background-clip:padding-box;border:2px solid transparent}.msg{max-width:80%;padding:14px 18px;border-radius:18px;font-size:.92rem;line-height:1.6;animation:fadeUp .25s var(--ease)}.msg-bot{align-self:flex-start;background:var(--white);color:var(--ink);border-bottom-left-radius:4px;box-shadow:0 2px 8px #0000000a}.msg-user{align-self:flex-end;background:var(--green);color:var(--white);border-bottom-right-radius:4px}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.msg-bot a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px;transition:color .2s var(--ease)}.msg-bot a:hover{color:var(--green-dark)}.suggestion-chips{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;animation:fadeUp .35s var(--ease)}.suggestion-chip{padding:10px 16px;border:1.5px solid var(--green-light);border-radius:20px;background:var(--white);color:var(--green);font-family:var(--font-b);font-size:.82rem;font-weight:500;line-height:1.4;cursor:pointer;transition:all .2s var(--ease);text-align:left}.suggestion-chip:hover{background:var(--green);color:var(--white);border-color:var(--green);transform:translateY(-1px)}.typing{align-self:flex-start;display:flex;gap:5px;padding:14px 20px;background:var(--white);border-radius:18px 18px 18px 4px;box-shadow:0 2px 8px #0000000a}.typing span{width:7px;height:7px;background:var(--ink-lighter);border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.typing.thinking-phrase{gap:0;padding:12px 18px;background:transparent;box-shadow:none;border-radius:0;animation:fadeInPhrase .4s ease}.thinking-text{font-size:.85rem;color:var(--ink-lighter);font-style:italic;white-space:nowrap;animation:fadeInPhrase .4s ease}@keyframes fadeInPhrase{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.tool-status{align-self:flex-start;padding:10px 16px;background:var(--white);border-left:3px solid var(--orange);border-radius:12px;font-size:.82rem;color:var(--ink-light);font-style:italic;animation:fadeUp .25s var(--ease)}.msg-blurred{filter:blur(6px);user-select:none;pointer-events:none;transition:filter .35s ease}.service-unavailable{align-self:stretch;max-width:560px;background:var(--white);border:1px solid var(--line, rgba(15, 23, 42, .1));border-radius:16px;padding:16px 18px;font-size:.9rem;line-height:1.55;color:var(--ink-light)}.service-unavailable-title{font-weight:700;color:var(--ink);margin-bottom:4px}.service-unavailable-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.service-unavailable-links a{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border-radius:10px;border:1px solid var(--line, rgba(15, 23, 42, .12));background:var(--cream);color:var(--green);font-weight:600;text-decoration:none}.service-unavailable-links a:hover{background:#1b5e4b14}.service-unavailable-retry{margin-top:10px;padding:8px 4px;border:0;background:none;font:inherit;font-size:.84rem;font-weight:600;color:var(--ink-light);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.service-unavailable-retry:disabled{cursor:wait;opacity:.7}.msg-error{background:#fff5f5!important;color:#8b1a1a!important;border:1px solid #f5c2c2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;white-space:pre-wrap;word-break:break-word;max-width:100%!important}.chat-restart svg{width:18px;height:18px}.chat-input-bar{display:flex;align-items:flex-end;gap:10px;padding:16px 0 24px;border-top:1px solid var(--line);background:var(--cream)}.chat-input-bar textarea{flex:1;resize:none;border:1.5px solid var(--line);border-radius:14px;padding:12px 16px;font-family:var(--font-b);font-size:.92rem;line-height:1.5;color:var(--ink);background:var(--white);outline:none;max-height:120px;overflow-y:hidden;transition:border-color .2s;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.18) transparent}.chat-input-bar textarea::-webkit-scrollbar{width:8px}.chat-input-bar textarea::-webkit-scrollbar-track{background:transparent}.chat-input-bar textarea::-webkit-scrollbar-thumb{background:#0000002e;border-radius:8px;border:2px solid transparent;background-clip:padding-box}.chat-input-bar textarea:focus{border-color:var(--green)}.chat-input-bar textarea::placeholder{color:var(--ink-lighter)}.chat-send{width:44px;height:44px;border-radius:50%;border:none;background:var(--orange);color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s var(--ease)}.chat-send:hover{background:var(--orange-hover);transform:scale(1.05)}.chat-send:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-send svg{width:18px;height:18px}.contact-card{align-self:flex-start;max-width:380px;background:var(--white);border:1.5px solid var(--green-light);border-radius:18px 18px 18px 4px;padding:24px;box-shadow:0 4px 16px #1b5e4b14;animation:fadeUp .35s var(--ease)}.contact-card h3{font-size:1.05rem;margin-bottom:4px;color:var(--green)}.contact-card p a{color:inherit;text-decoration:underline}.contact-card p{font-size:.82rem;color:var(--ink-light);margin-bottom:16px;line-height:1.5}.contact-card .tab-row{display:flex;gap:0;margin-bottom:14px;border:1.5px solid var(--line);border-radius:10px;overflow:hidden}.contact-card .tab-btn{flex:1;padding:8px 0;font-size:.82rem;font-weight:600;border:none;background:var(--cream);color:var(--ink-light);cursor:pointer;transition:all .2s;font-family:var(--font-b)}.contact-card .tab-btn.active{background:var(--green);color:var(--white)}.contact-card .input-wrap{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;background:var(--white);transition:border-color .2s}.contact-card .input-wrap:focus-within{border-color:var(--green)}.contact-card .input-prefix{padding:0 12px;font-size:.85rem;font-weight:600;color:var(--ink-lighter);background:var(--cream);height:42px;display:flex;align-items:center;border-right:1.5px solid var(--line)}.contact-card input{flex:1;border:none;outline:none;padding:10px 12px;font-family:var(--font-b);font-size:.9rem;color:var(--ink);background:transparent}.contact-card input::placeholder{color:var(--ink-lighter)}.contact-card .submit-btn{width:100%;padding:11px;margin-top:12px;border:none;border-radius:10px;background:var(--orange);color:var(--white);font-family:var(--font-b);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s var(--ease)}.contact-card .submit-btn:hover{background:var(--orange-hover);transform:translateY(-1px)}.contact-card .contact-skip{display:block;width:100%;margin-top:6px;padding:10px 8px;border:0;background:none;font:inherit;font-size:.82rem;font-weight:600;text-align:center;color:var(--ink-light);text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color .2s}.contact-card .contact-skip:hover{color:var(--ink-light)}.contact-card .error-msg{font-size:.78rem;color:#dc2626;margin-top:6px}@media(max-width:768px){.chat-container{padding:16px 16px 0}.msg{max-width:90%}.contact-card{max-width:100%}.chat-input-bar textarea,.contact-card input{font-size:16px}}
