/* Public conversational calculator using one centered Taihe content rail. */
.ai-page{width:min(100% - 2rem,940px);margin:0 auto clamp(4rem,8vw,7rem)}
.ai-hero{width:100%;padding:0 0 var(--page-intro-gap)}
.ai-hero h1{margin:.15em 0 .35em;font:500 var(--type-page-title)/1.12 Georgia,serif;letter-spacing:-.04em}
.ai-hero>p:last-child{max-width:760px;margin-bottom:0;color:var(--muted);font-size:1.18rem}
.ai-chat{position:relative;width:100%;margin:0;border:1px solid var(--line);border-radius:1.25rem;background:#f7f8f5;box-shadow:0 24px 70px rgba(16,64,54,.1);overflow:hidden}
.ai-chat-header{display:flex;align-items:center;gap:.8rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line);background:var(--card)}
.ai-chat-header h2{margin:0;font:500 var(--type-card)/1.2 Georgia,serif}
.ai-chat-header p{margin:.15rem 0 0;color:var(--muted);font-size:.82rem}
.ai-avatar{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:var(--jade);color:#fff;font:700 1rem Georgia,serif}
.ai-log{display:flex;flex-direction:column;gap:1rem;min-height:430px;max-height:min(68dvh,720px);padding:1.25rem;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:6rem}
.ai-message{max-width:min(720px,88%);padding:1rem 1.15rem;border:1px solid var(--line);border-radius:1rem;background:var(--card);overflow-wrap:anywhere}
.ai-message p{margin:.65rem 0;line-height:1.58}.ai-message p:first-child{margin-top:0}.ai-message p:last-child{margin-bottom:0}
.ai-message-user{align-self:flex-end;max-width:min(620px,82%);border-color:var(--jade);border-bottom-right-radius:.3rem;background:var(--jade);color:#fff}
.ai-message-assistant{align-self:flex-start;border-bottom-left-radius:.3rem}
.ai-message-typing{color:var(--muted)}.ai-message-typing::after{content:"…";display:inline-block;animation:ai-wait 1.2s ease-in-out infinite alternate}
@keyframes ai-wait{from{opacity:.25}to{opacity:1}}
.ai-message-list{margin:.8rem 0 .25rem;padding-left:1.25rem}.ai-message-list li{padding-left:.2rem;line-height:1.5}.ai-message-list li+li{margin-top:.5rem}
.ai-message-question{margin-top:1rem!important;padding-top:.85rem;border-top:1px solid var(--line);font-weight:750}
.ai-link{display:inline-flex;min-height:44px;align-items:center;margin:.3rem .8rem 0 0;font-weight:700;text-decoration:underline;text-underline-offset:.18em}
.ai-message-error{border-color:#dca49a;background:#fff6f4}
.ai-composer{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,253,248,.97);backdrop-filter:blur(12px)}
.ai-composer textarea{width:100%;min-height:48px;max-height:144px;padding:.75rem 1rem;border:1px solid var(--muted);border-radius:.8rem;background:#fff;color:var(--ink);font:inherit;resize:none}
.ai-composer button{min-width:112px;min-height:48px;padding:.7rem 1rem;border:0;border-radius:.8rem;background:var(--jade);color:#fff;font:750 1rem/1 inherit;cursor:pointer}
.ai-composer button:disabled{opacity:.58;cursor:not-allowed}.ai-composer :focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.ai-status{min-height:1.5rem;margin:.15rem 1.25rem;color:var(--muted);font-size:.88rem}.ai-boundary{margin:.25rem 1.25rem 1rem;color:var(--muted);font-size:.82rem}
.ai-seo{width:100%;margin:clamp(3.5rem,8vw,7rem) 0 0}.ai-seo>h2{max-width:760px;margin:.15em 0 1.5rem;font:500 var(--type-section)/1.18 Georgia,serif}
.ai-seo-grid{width:100%;border:1px solid var(--line);border-radius:1rem;overflow:hidden}.ai-seo-grid article{padding:1.15rem 1.25rem}.ai-seo-grid article+article{border-top:1px solid var(--line)}
.ai-seo-grid h3{margin:0 0 .55rem;font-size:var(--type-card-compact)}.ai-seo-grid p{margin:0;color:var(--muted)}
.ai-market{max-width:900px;margin:1.5rem 0;padding:1.15rem 1.3rem;border-left:4px solid var(--sun);background:#efe8d8;font-weight:650}
.ai-related{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem}.ai-related a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
@media(max-width:760px){.ai-log{min-height:58dvh;max-height:none;padding:1rem}.ai-message{max-width:94%}.ai-message-user{max-width:88%}.ai-composer{padding-inline:1rem}.ai-composer button{min-width:48px;font-size:0}.ai-composer button::after{content:"↑";font-size:1.25rem}.ai-hero>p:last-child{font-size:1.05rem}}
@media(max-width:380px){.ai-page{width:calc(100% - 1rem)}.ai-chat-header{padding-inline:.85rem}.ai-log{padding:.85rem}.ai-composer{padding-inline:.85rem}.ai-message{max-width:97%;padding:.85rem}}
@media(prefers-reduced-motion:reduce){.ai-log{scroll-behavior:auto}.ai-message-typing::after{animation:none}}
