:root { --pt-ai-blue:#006aa0; --pt-ai-blue-dark:#00557f; --pt-ai-pale:#eef8fd; --pt-ai-line:#dceaf0; --pt-ai-text:#18313d; }
* { box-sizing:border-box; }
body { margin:0; color:var(--pt-ai-text); background:#f7fbfd; font-family:Poppins,"PingFang SC","Microsoft YaHei",sans-serif; }
a { color:inherit; text-decoration:none; }
.pt-ai-shell { min-height:100dvh; padding:42px max(4vw,32px) 54px; background:radial-gradient(circle at 80% 0,rgba(82,179,217,.17),transparent 28%),linear-gradient(180deg,#f5fbfe 0%,#fff 58%); }
.pt-ai-heading { max-width:1160px; margin:0 auto 25px; display:flex; align-items:end; justify-content:space-between; gap:24px; }.pt-ai-eyebrow { margin:0 0 9px; color:#1681b4; font-size:13px; font-weight:700; letter-spacing:.09em; }
.pt-ai-heading h1 { margin:0; color:#0a577c; font-size:clamp(28px,3.4vw,42px); line-height:1.18; letter-spacing:.01em; }.pt-ai-heading > p { max-width:460px; margin:0; color:#57717e; font-size:14px; line-height:1.7; }
.pt-ai-layout { max-width:1160px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 292px; gap:22px; align-items:stretch; }
.pt-ai-chat-card { height:min(760px,calc(100dvh - 150px)); min-height:620px; display:flex; flex-direction:column; overflow:hidden; background:#fff; border:1px solid var(--pt-ai-line); border-radius:12px; box-shadow:0 18px 42px rgba(23,97,129,.11); }
.pt-ai-chat-top { min-height:76px; padding:16px 22px; display:flex; align-items:center; gap:13px; border-bottom:1px solid #e6f0f4; }.pt-ai-bot-mark { width:42px; height:42px; display:grid; place-items:center; padding:4px; background:#eaf7fc; border-radius:50%; box-shadow:0 6px 14px rgba(0,106,160,.16); }.pt-ai-bot-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.pt-ai-bot-name { color:#0e5c82; font-size:16px; font-weight:700; }.pt-ai-bot-status { margin-top:3px; color:#6f8a97; font-size:12px; }.pt-ai-new-chat { margin-left:auto; padding:9px 12px; color:#0e6d9d; border:1px solid #b9ddea; border-radius:4px; background:#f9fdff; cursor:pointer; font:inherit; font-size:13px; }.pt-ai-new-chat:hover { background:#edf8fc; }
.pt-ai-chat-log { flex:1; padding:28px clamp(18px,3vw,34px); overflow:auto; }.pt-ai-welcome { max-width:640px; margin:6px auto 26px; text-align:center; }.pt-ai-welcome h2 { margin:0 0 11px; color:#135e82; font-size:22px; }.pt-ai-welcome p { margin:0; color:#66808d; font-size:14px; line-height:1.75; }
.pt-ai-prompt-list { max-width:680px; margin:0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.pt-ai-prompt { padding:13px 14px; color:#2e6177; border:1px solid #d6eaf2; border-radius:6px; background:#fbfeff; cursor:pointer; font:inherit; font-size:13px; line-height:1.45; text-align:left; transition:.15s ease; }.pt-ai-prompt:hover { transform:translateY(-1px); color:var(--pt-ai-blue); border-color:#8ac8df; box-shadow:0 6px 14px rgba(0,106,160,.08); }
.pt-ai-message { display:flex; gap:10px; max-width:760px; margin:0 auto 22px; }.pt-ai-message.user { justify-content:flex-end; }.pt-ai-message-avatar { flex:0 0 30px; width:30px; height:30px; display:grid; place-items:center; color:transparent; background:#eaf7fc url('../img/Fl8ALXOnV25URCub4TOLAZNUcKEI-ba6bcd.png') center/20px no-repeat; border-radius:50%; font-size:14px; }.pt-ai-message.user .pt-ai-message-avatar { order:2; color:#fff; background:#6a8590; }.pt-ai-bubble { max-width:78%; padding:14px 16px; color:#294b5a; background:#eff8fc; border:1px solid #d8edf5; border-radius:4px 14px 14px; font-size:14px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }.pt-ai-message.user .pt-ai-bubble { color:#fff; background:#0b6f9f; border-color:#0b6f9f; border-radius:14px 4px 14px 14px; }
.pt-ai-prompt-list + .pt-ai-message { margin-top:32px; }
.pt-ai-markdown { white-space:normal; }.pt-ai-markdown p { margin:0 0 12px; }.pt-ai-markdown p:last-child { margin-bottom:0; }.pt-ai-markdown h2,.pt-ai-markdown h3,.pt-ai-markdown h4,.pt-ai-markdown h5 { margin:0 0 10px; color:#155d78; line-height:1.45; }.pt-ai-markdown h2 { font-size:20px; }.pt-ai-markdown h3 { font-size:17px; }.pt-ai-markdown ul,.pt-ai-markdown ol { margin:0 0 12px; padding-left:22px; }.pt-ai-markdown li { margin:4px 0; }.pt-ai-markdown strong { color:#164f68; }.pt-ai-markdown code { padding:1px 4px; color:#155d78; background:#dff0f6; border-radius:3px; font-size:.92em; }.pt-ai-markdown a { color:#0875ac; text-decoration:underline; }.pt-ai-markdown hr { margin:14px 0; border:0; border-top:1px solid #cfe4ec; }.pt-ai-markdown blockquote { margin:12px 0; padding:8px 12px; color:#365c6c; background:#e5f3f8; border-left:3px solid #35a1ce; border-radius:0 6px 6px 0; }
.pt-ai-bubble.has-table { width:100%; max-width:92%; }.pt-ai-table-wrap { width:max-content; max-width:100%; margin:10px 0 14px; overflow-x:auto; border:1px solid #c9e1eb; border-radius:8px; background:#fff; -webkit-overflow-scrolling:touch; }.pt-ai-table-wrap table { width:auto; min-width:420px; border-collapse:collapse; color:#294b5a; font-size:13px; line-height:1.55; }.pt-ai-table-wrap th,.pt-ai-table-wrap td { max-width:340px; padding:10px 12px; border-right:1px solid #d8e9f0; border-bottom:1px solid #d8e9f0; overflow-wrap:anywhere; text-align:left; vertical-align:top; }.pt-ai-table-wrap th:last-child,.pt-ai-table-wrap td:last-child { border-right:0; }.pt-ai-table-wrap tbody tr:last-child td { border-bottom:0; }.pt-ai-table-wrap th { color:#0b6087; background:#dff1f8; font-weight:700; white-space:nowrap; }.pt-ai-table-wrap tbody tr:nth-child(even) { background:#f7fbfd; }
.pt-ai-input-wrap { padding:16px 20px 18px; border-top:1px solid #e4eff3; background:#fff; }.pt-ai-notice { margin:0 0 10px; color:#78909b; font-size:11px; line-height:1.55; }.pt-ai-composer { display:flex; align-items:end; gap:10px; padding:8px 8px 8px 14px; border:1px solid #b9dce9; border-radius:6px; background:#fbfeff; }.pt-ai-composer:focus-within { border-color:#168fc4; box-shadow:0 0 0 3px rgba(22,143,196,.11); }
.pt-ai-composer textarea { flex:1; min-height:42px; max-height:110px; resize:vertical; padding:8px 0; border:0; outline:0; color:#234654; background:transparent; font:inherit; font-size:14px; line-height:1.55; }.pt-ai-send,.pt-ai-stop { height:42px; border:0; border-radius:4px; cursor:pointer; font:inherit; }.pt-ai-send { width:42px; color:#fff; background:var(--pt-ai-blue); font-size:18px; }.pt-ai-send:hover { background:var(--pt-ai-blue-dark); }.pt-ai-stop { padding:0 13px; color:#0d6b97; background:#e7f5fa; font-size:13px; }
.pt-ai-side-panel { align-self:start; padding:24px; background:#fff; border:1px solid var(--pt-ai-line); border-radius:10px; box-shadow:0 12px 30px rgba(23,97,129,.07); }.pt-ai-side-panel h2 { margin:0 0 14px; color:#105d80; font-size:18px; }.pt-ai-side-panel p { margin:0 0 18px; color:#607a87; font-size:13px; line-height:1.75; }.pt-ai-suggestion-list { display:grid; gap:0; }.pt-ai-suggestion-list button { position:relative; width:100%; padding:11px 0 11px 15px; color:#315766; border:0; border-top:1px solid #e7f0f4; background:transparent; cursor:pointer; font:inherit; font-size:13px; line-height:1.5; text-align:left; transition:color .15s ease, padding-left .15s ease; }.pt-ai-suggestion-list button::before { content:""; position:absolute; top:20px; left:0; width:6px; height:6px; background:#1a94c8; border-radius:50%; }.pt-ai-suggestion-list button:hover,.pt-ai-suggestion-list button:focus-visible { padding-left:19px; color:#006aa0; outline:0; }.pt-ai-beta { display:inline-block; margin-top:19px; padding:5px 8px; color:#1477a5; background:#edf8fc; border-radius:3px; font-size:11px; font-weight:700; letter-spacing:.05em; }
@media (max-width:900px) { .pt-ai-shell { padding:34px 18px 38px; }.pt-ai-heading { display:block; margin-bottom:20px; }.pt-ai-heading > p { margin-top:12px; }.pt-ai-layout { display:block; }.pt-ai-chat-card { min-height:640px; }.pt-ai-side-panel { margin-top:16px; } }
@media (max-width:520px) { .pt-ai-chat-top { padding:14px 15px; }.pt-ai-new-chat { padding:8px; font-size:12px; }.pt-ai-chat-log { padding:23px 14px; }.pt-ai-prompt-list { grid-template-columns:1fr; }.pt-ai-welcome h2 { font-size:20px; }.pt-ai-bubble { max-width:86%; font-size:13px; }.pt-ai-bubble.has-table { max-width:calc(100% - 40px); padding:12px; }.pt-ai-table-wrap table { min-width:420px; font-size:12px; }.pt-ai-table-wrap th,.pt-ai-table-wrap td { max-width:220px; padding:9px 10px; }.pt-ai-input-wrap { padding:13px; } }
