/**
 * 海坛AI 页（/haitanai/）样式
 *
 * 由 haitan-pages 插件提供，仅在 page-haitanai.php 模板下加载（句柄 haitan-pages-haitanai）。
 * 约定（与 fengguan.css、history.css、culture.css 等保持一致）：
 *   - 所有选择器都挂在 .pt-haitanai-page 下（<main> 上的根命名空间），不覆盖 JustNews 全局样式
 *   - 不复用主题的 .container / .row / .card 等通用类
 *   - 不引入任何第三方 CSS 框架，字体不写死、继承站点 body
 *   - 不用黑色科技背景 / 霓虹 / 粒子 / 机器人头像，目标是「平潭本地服务平台」而不是 AI 公司官网
 *
 * 设计目标：白底 + 浅蓝 + 圆角卡片 + 轻阴影，移动端优先，绝不出现横向溢出。
 *
 * 目录：
 *   1. 变量与基础
 *   2. 容器与分区
 *   3. Hero 与面包屑
 *   4. 输入框（composer）
 *   5. 快捷问题
 *   6. 能力卡与示例分组
 *   7. 对话区（气泡 / 回答块 / 加载 / 错误）
 *   7.5 微信小程序引导模块
 *   8. 站内入口
 *   9. 信息说明
 *   10. 响应式
 */

/* ------------------------------------------------------------------ 1. 变量 */

.pt-haitanai-page {
    --hai-blue: #1684d8;
    --hai-blue-deep: #0d6aa8;
    --hai-blue-soft: #eaf4fd;
    --hai-ink: #16324a;
    --hai-text: #46647a;
    --hai-muted: #7d97a9;
    --hai-line: #e2eef7;
    --hai-line-soft: #eef5fa;
    --hai-surface: #ffffff;
    --hai-surface-soft: #f5faff;
    --hai-good: #1f9d7a;
    --hai-warn: #b7791f;
    --hai-radius-l: 16px;
    --hai-radius-m: 12px;
    --hai-radius-s: 8px;
    --hai-shadow: 0 6px 22px rgba(22, 132, 216, 0.08);
    --hai-shadow-s: 0 2px 10px rgba(22, 132, 216, 0.06);

    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    padding-bottom: 24px;
    color: var(--hai-text);
    background: var(--hai-surface-soft);
}

.pt-haitanai-page,
.pt-haitanai-page *,
.pt-haitanai-page *::before,
.pt-haitanai-page *::after {
    box-sizing: border-box;
}

.pt-haitanai-page img {
    max-width: 100%;
}

/* 长中文/英文串（例如站内标题、URL）不允许把容器顶宽 */
.pt-haitanai-page .hai-hero-title,
.pt-haitanai-page .hai-hero-sub,
.pt-haitanai-page .hai-hero-lead,
.pt-haitanai-page .hai-title,
.pt-haitanai-page .hai-desc,
.pt-haitanai-page .hai-ability-title,
.pt-haitanai-page .hai-ability-desc,
.pt-haitanai-page .hai-ability-note,
.pt-haitanai-page .hai-block-text,
.pt-haitanai-page .hai-block-note,
.pt-haitanai-page .hai-kv-value,
.pt-haitanai-page .hai-list li,
.pt-haitanai-page .hai-poi-title,
.pt-haitanai-page .hai-poi-desc,
.pt-haitanai-page .hai-disclaimer-text {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* 屏幕阅读器专用文本（用于输入框的可访问标签） */
.pt-haitanai-page .hai-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* 按钮统一重置：主题对 button 有基础样式，这里全部接管 */
.pt-haitanai-page button {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    margin: 0;
    padding: 0;
    cursor: pointer;
    text-align: left;
    -webkit-appearance: none;
    appearance: none;
}

.pt-haitanai-page button:disabled {
    cursor: not-allowed;
}

.pt-haitanai-page :focus-visible {
    outline: 2px solid var(--hai-blue);
    outline-offset: 2px;
    border-radius: 4px;
}

/* ---------------------------------------------------------- 2. 容器与分区 */

.pt-haitanai-page .hai-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px;
}

.pt-haitanai-page .hai-section {
    padding: 34px 0;
}

.pt-haitanai-page .hai-section-alt {
    background: #ffffff;
}

.pt-haitanai-page .hai-head {
    margin-bottom: 18px;
}

.pt-haitanai-page .hai-title {
    margin: 0 0 6px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--hai-ink);
}

.pt-haitanai-page .hai-desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--hai-muted);
}

.pt-haitanai-page .hai-grid {
    display: grid;
    gap: 14px;
}

.pt-haitanai-page .hai-card {
    background: var(--hai-surface);
    border: 1px solid var(--hai-line);
    border-radius: var(--hai-radius-l);
    box-shadow: var(--hai-shadow-s);
}

/* ------------------------------------------------------ 3. Hero 与面包屑 */

.pt-haitanai-page .hai-hero {
    padding: 34px 0 30px;
    background:
        radial-gradient(120% 120% at 12% 0%, #e8f4ff 0%, rgba(232, 244, 255, 0) 58%),
        linear-gradient(180deg, #f2f9ff 0%, var(--hai-surface-soft) 100%);
    border-bottom: 1px solid var(--hai-line-soft);
}

.pt-haitanai-page .hai-hero-with-breadcrumb {
    padding-top: 20px;
}

.pt-haitanai-page .hai-breadcrumb {
    margin: 0 0 16px;
}

.pt-haitanai-page .hai-breadcrumb .breadcrumb {
    margin: 0;
}

.pt-haitanai-page .hai-hero-copy {
    max-width: 720px;
}

.pt-haitanai-page .hai-hero-kicker {
    display: inline-block;
    margin: 0 0 10px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--hai-blue-deep);
    background: var(--hai-blue-soft);
    border-radius: 999px;
}

.pt-haitanai-page .hai-hero-title {
    margin: 0 0 8px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--hai-ink);
}

.pt-haitanai-page .hai-hero-sub {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 600;
    color: var(--hai-blue-deep);
}

.pt-haitanai-page .hai-hero-lead {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--hai-text);
}

/* --------------------------------------------------------- 4. 输入框 */

.pt-haitanai-page .hai-composer {
    max-width: 720px;
    margin: 0 0 16px;
}

.pt-haitanai-page .hai-composer-box {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 6px 6px 14px;
    background: var(--hai-surface);
    border: 1px solid #cfe6f7;
    border-radius: 999px;
    box-shadow: var(--hai-shadow);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pt-haitanai-page .hai-composer-box:focus-within {
    border-color: var(--hai-blue);
    box-shadow: 0 0 0 3px rgba(22, 132, 216, 0.14), var(--hai-shadow);
}

.pt-haitanai-page .hai-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 38px;
    padding: 0;
    font-size: 15px;
    color: var(--hai-ink);
    background: transparent;
    border: 0;
    outline: none;
}

.pt-haitanai-page .hai-input::placeholder {
    color: #9db6c7;
}

.pt-haitanai-page .hai-send {
    flex: 0 0 auto;
    padding: 0 20px;
    height: 38px;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    background: var(--hai-blue);
    border-radius: 999px;
    transition: background 0.15s ease;
}

.pt-haitanai-page .hai-send:hover:not(:disabled) {
    background: var(--hai-blue-deep);
}

.pt-haitanai-page .hai-send:disabled {
    color: #ffffff;
    background: #b9d6ea;
}

.pt-haitanai-page .hai-composer-tip {
    margin: 8px 0 0;
    font-size: 12px;
    line-height: 1.6;
    color: var(--hai-muted);
}

/* ------------------------------------------------------- 5. 快捷问题 */

.pt-haitanai-page .hai-quick {
    max-width: 900px;
}

.pt-haitanai-page .hai-quick-label {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--hai-muted);
}

.pt-haitanai-page .hai-quick-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pt-haitanai-page .hai-chip {
    display: inline-block;
    padding: 8px 14px;
    font-size: 13px;
    line-height: 1.4;
    color: var(--hai-blue-deep);
    background: var(--hai-surface);
    border: 1px solid #cfe6f7;
    border-radius: 999px;
    transition: all 0.15s ease;
}

.pt-haitanai-page .hai-chip:hover {
    color: #ffffff;
    background: var(--hai-blue);
    border-color: var(--hai-blue);
}

/* --------------------------------------------- 6. 能力卡与示例分组 */

.pt-haitanai-page .hai-grid-abilities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pt-haitanai-page .hai-grid-ask {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pt-haitanai-page .hai-ability {
    padding: 18px 18px 16px;
}

.pt-haitanai-page .hai-ability-emoji {
    display: block;
    margin-bottom: 8px;
    font-size: 22px;
    line-height: 1;
}

.pt-haitanai-page .hai-ability-title {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 600;
    color: var(--hai-ink);
}

.pt-haitanai-page .hai-ability-desc {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.65;
    color: var(--hai-text);
}

.pt-haitanai-page .hai-ability-note {
    margin: 10px 0 0;
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.6;
    color: var(--hai-warn);
    background: #fdf7ec;
    border-radius: var(--hai-radius-s);
}

.pt-haitanai-page .hai-ask-group {
    padding: 16px 18px;
}

.pt-haitanai-page .hai-ask-label {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 600;
    color: var(--hai-ink);
}

.pt-haitanai-page .hai-samples {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pt-haitanai-page .hai-sample {
    display: inline-block;
    padding: 7px 12px;
    font-size: 13px;
    line-height: 1.4;
    color: var(--hai-text);
    background: var(--hai-surface-soft);
    border: 1px solid var(--hai-line);
    border-radius: var(--hai-radius-s);
    transition: all 0.15s ease;
}

.pt-haitanai-page .hai-sample:hover {
    color: var(--hai-blue-deep);
    background: var(--hai-blue-soft);
    border-color: #bfdcf3;
}

/* --------------------------------------------------------- 7. 对话区 */

.pt-haitanai-page .hai-chat-section[hidden] {
    display: none;
}

.pt-haitanai-page .hai-chat-section {
    padding-top: 28px;
    background: var(--hai-surface-soft);
    scroll-margin-top: 80px;
}

.pt-haitanai-page .hai-chat-log {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.pt-haitanai-page .hai-msg {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    /* 滚动到最新一条时给固定头部留出空间 */
    scroll-margin-top: 90px;
}

.pt-haitanai-page .hai-msg-user {
    justify-content: flex-end;
}

.pt-haitanai-page .hai-avatar {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    font-size: 14px;
    font-weight: 600;
    line-height: 32px;
    text-align: center;
    color: #ffffff;
    background: var(--hai-blue);
    border-radius: 50%;
}

.pt-haitanai-page .hai-bubble {
    max-width: min(760px, 82%);
    min-width: 0;
}

.pt-haitanai-page .hai-bubble-user {
    padding: 10px 14px;
    font-size: 14px;
    line-height: 1.65;
    color: #ffffff;
    background: var(--hai-blue);
    border-radius: 14px 14px 4px 14px;
    overflow-wrap: anywhere;
}

.pt-haitanai-page .hai-answer {
    padding: 16px 18px;
    background: var(--hai-surface);
    border: 1px solid var(--hai-line);
    border-radius: 4px 14px 14px 14px;
    box-shadow: var(--hai-shadow-s);
}

.pt-haitanai-page .hai-answer-title {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 600;
    color: var(--hai-ink);
}

.pt-haitanai-page .hai-block + .hai-block {
    margin-top: 12px;
}

.pt-haitanai-page .hai-block-text {
    margin: 0;
    font-size: 14px;
    line-height: 1.75;
    color: var(--hai-text);
}

.pt-haitanai-page .hai-block-title {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--hai-ink);
}

/* 键值块：窄屏单列，宽屏两列 */
.pt-haitanai-page .hai-kv {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
    margin: 0;
    padding: 12px 14px;
    background: var(--hai-surface-soft);
    border-radius: var(--hai-radius-m);
}

.pt-haitanai-page .hai-kv-item {
    display: flex;
    gap: 8px;
    align-items: baseline;
    min-width: 0;
    font-size: 13px;
    line-height: 1.6;
}

.pt-haitanai-page .hai-kv-label {
    flex: 0 0 auto;
    color: var(--hai-muted);
}

.pt-haitanai-page .hai-kv-value {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 600;
    color: var(--hai-ink);
}

.pt-haitanai-page .hai-list {
    margin: 0;
    padding-left: 18px;
    font-size: 13px;
    line-height: 1.75;
    color: var(--hai-text);
}

.pt-haitanai-page .hai-list li {
    margin-bottom: 4px;
}

.pt-haitanai-page .hai-list li:last-child {
    margin-bottom: 0;
}

/* 站内内容卡（POI 等） */
.pt-haitanai-page .hai-poi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px;
}

.pt-haitanai-page .hai-poi {
    display: block;
    padding: 12px 14px;
    color: inherit;
    background: var(--hai-surface-soft);
    border: 1px solid var(--hai-line);
    border-radius: var(--hai-radius-m);
    transition: all 0.15s ease;
}

.pt-haitanai-page .hai-poi:hover {
    border-color: #bfdcf3;
    box-shadow: var(--hai-shadow-s);
    transform: translateY(-1px);
}

.pt-haitanai-page .hai-poi-meta {
    display: inline-block;
    margin-bottom: 5px;
    padding: 1px 8px;
    font-size: 11px;
    color: var(--hai-blue-deep);
    background: var(--hai-blue-soft);
    border-radius: 999px;
}

.pt-haitanai-page .hai-poi-title {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
    font-weight: 600;
    color: var(--hai-ink);
}

.pt-haitanai-page .hai-poi-desc {
    display: block;
    font-size: 12px;
    line-height: 1.6;
    color: var(--hai-muted);
}

.pt-haitanai-page .hai-block-note {
    margin: 0;
    padding: 10px 12px;
    font-size: 12px;
    line-height: 1.7;
    color: var(--hai-muted);
    background: var(--hai-line-soft);
    border-left: 3px solid #cfe6f7;
    border-radius: 0 var(--hai-radius-s) var(--hai-radius-s) 0;
}

/* 相关内容入口 */
.pt-haitanai-page .hai-related {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed var(--hai-line);
}

.pt-haitanai-page .hai-related-label {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--hai-muted);
}

.pt-haitanai-page .hai-related-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pt-haitanai-page .hai-related-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    font-size: 13px;
    color: var(--hai-blue-deep);
    background: var(--hai-surface-soft);
    border: 1px solid #cfe6f7;
    border-radius: var(--hai-radius-s);
    transition: all 0.15s ease;
}

.pt-haitanai-page .hai-related-link:hover {
    color: #ffffff;
    background: var(--hai-blue);
    border-color: var(--hai-blue);
}

/* 回答来源 */
.pt-haitanai-page .hai-answer-source {
    margin: 12px 0 0;
    font-size: 11px;
    line-height: 1.6;
    color: #9db6c7;
}

/* 「正在思考」 */
.pt-haitanai-page .hai-typing {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 14px 18px;
    background: var(--hai-surface);
    border: 1px solid var(--hai-line);
    border-radius: 4px 14px 14px 14px;
}

.pt-haitanai-page .hai-typing-text {
    margin-left: 6px;
    font-size: 13px;
    color: var(--hai-muted);
}

.pt-haitanai-page .hai-dot {
    width: 6px;
    height: 6px;
    background: #b9d6ea;
    border-radius: 50%;
    animation: hai-bounce 1.2s infinite ease-in-out;
}

.pt-haitanai-page .hai-dot:nth-child(2) { animation-delay: 0.15s; }
.pt-haitanai-page .hai-dot:nth-child(3) { animation-delay: 0.3s; }

@keyframes hai-bounce {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.6; }
    30%           { transform: translateY(-4px); opacity: 1; }
}

/* 错误态 */
.pt-haitanai-page .hai-error {
    padding: 14px 16px;
    font-size: 13px;
    line-height: 1.7;
    color: #a4541a;
    background: #fdf3e8;
    border: 1px solid #f4dcc2;
    border-radius: 4px 14px 14px 14px;
}

.pt-haitanai-page .hai-retry {
    margin-top: 8px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--hai-blue-deep);
    background: var(--hai-surface);
    border: 1px solid #cfe6f7;
    border-radius: 999px;
}

.pt-haitanai-page .hai-retry:hover {
    color: #ffffff;
    background: var(--hai-blue);
    border-color: var(--hai-blue);
}

/* 空回答的友好提示 */
.pt-haitanai-page .hai-empty {
    padding: 14px 16px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--hai-text);
    background: var(--hai-surface);
    border: 1px dashed var(--hai-line);
    border-radius: 4px 14px 14px 14px;
}

/* ------------------------------------- 7.5 微信小程序引导模块（增量） */

.pt-haitanai-page .hai-mp-section {
    padding-top: 30px;
}

.pt-haitanai-page .hai-mp-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 26px;
    align-items: center;
    padding: 26px 28px;
    background:
        radial-gradient(120% 130% at 100% 0%, #eaf4fd 0%, rgba(234, 244, 253, 0) 55%),
        linear-gradient(135deg, #f7fbff 0%, var(--hai-surface) 60%);
    border: 1px solid var(--hai-line);
    border-radius: var(--hai-radius-l);
    box-shadow: var(--hai-shadow);
}

.pt-haitanai-page .hai-mp-copy {
    min-width: 0;
}

.pt-haitanai-page .hai-mp-kicker {
    display: inline-block;
    margin: 0 0 8px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--hai-blue-deep);
    background: var(--hai-blue-soft);
    border-radius: 999px;
}

.pt-haitanai-page .hai-mp-title {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--hai-ink);
    overflow-wrap: anywhere;
}

.pt-haitanai-page .hai-mp-desc {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.75;
    color: var(--hai-text);
    overflow-wrap: anywhere;
}

.pt-haitanai-page .hai-mp-action {
    margin: 0;
}

.pt-haitanai-page .hai-mp-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    color: #ffffff;
    background: var(--hai-blue);
    border-radius: 999px;
    box-shadow: 0 4px 14px rgba(22, 132, 216, 0.22);
    transition: background 0.15s ease, transform 0.15s ease;
}

.pt-haitanai-page .hai-mp-btn:hover {
    color: #ffffff;
    background: var(--hai-blue-deep);
    transform: translateY(-1px);
}

.pt-haitanai-page .hai-mp-hint {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.7;
    color: var(--hai-blue-deep);
    overflow-wrap: anywhere;
}

.pt-haitanai-page .hai-mp-hint[hidden] {
    display: none;
}

.pt-haitanai-page .hai-mp-foot {
    margin: 16px 0 0;
    padding-top: 12px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--hai-muted);
    border-top: 1px dashed var(--hai-line);
}

/* 小程序码：正方形占位，禁止变形 */
.pt-haitanai-page .hai-mp-qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px;
    background: var(--hai-surface);
    border: 1px solid var(--hai-line);
    border-radius: var(--hai-radius-m);
    transition: border-color 0.15s ease;
}

.pt-haitanai-page .hai-mp-code {
    display: block;
    width: 100%;
    max-width: 200px;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    border-radius: var(--hai-radius-s);
}

.pt-haitanai-page .hai-mp-qr-cap {
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
    color: var(--hai-muted);
    text-align: center;
}

/* 点按钮时的提示高亮（呼吸两下，不夸张） */
.pt-haitanai-page .hai-mp-qr.is-hint {
    border-color: var(--hai-blue);
    animation: hai-mp-pulse 1.1s ease 2;
}

@keyframes hai-mp-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(22, 132, 216, 0); }
    50%      { box-shadow: 0 0 0 6px rgba(22, 132, 216, 0.16); }
}

/* 没有小程序码资源时的说明块：不画假二维码，只占位说明 */
.pt-haitanai-page .hai-mp-code-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    max-width: 200px;
    aspect-ratio: 1 / 1;
    padding: 16px;
    text-align: center;
    background: var(--hai-surface-soft);
    border: 1px dashed #cfe6f7;
    border-radius: var(--hai-radius-s);
}

.pt-haitanai-page .hai-mp-code-empty-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--hai-ink);
}

.pt-haitanai-page .hai-mp-code-empty-note {
    font-size: 12px;
    line-height: 1.6;
    color: var(--hai-muted);
}

/* ------------------------------------------------------- 8. 站内入口 */

.pt-haitanai-page .hai-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.pt-haitanai-page .hai-link-group {
    padding: 16px 18px;
    background: var(--hai-surface);
    border: 1px solid var(--hai-line);
    border-radius: var(--hai-radius-l);
    box-shadow: var(--hai-shadow-s);
}

.pt-haitanai-page .hai-link-group-title {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--hai-ink);
}

.pt-haitanai-page .hai-link-list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pt-haitanai-page .hai-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    font-size: 13px;
    color: var(--hai-text);
    background: var(--hai-surface-soft);
    border-radius: var(--hai-radius-s);
    transition: all 0.15s ease;
}

.pt-haitanai-page .hai-link:hover {
    color: var(--hai-blue-deep);
    background: var(--hai-blue-soft);
}

.pt-haitanai-page .hai-link-label {
    flex: 1 1 auto;
    min-width: 0;
}

.pt-haitanai-page .hai-link-arrow {
    flex: 0 0 auto;
    color: #b9d6ea;
}

/* ------------------------------------------------------ 9. 信息说明 */

.pt-haitanai-page .hai-disclaimer {
    padding: 20px 0 6px;
}

.pt-haitanai-page .hai-disclaimer-text {
    margin: 0;
    font-size: 12px;
    line-height: 1.8;
    color: var(--hai-muted);
}

/* ------------------------------------------------------- 10. 响应式 */

@media (max-width: 991px) {
    .pt-haitanai-page .hai-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .pt-haitanai-page .hai-hero {
        padding: 24px 0 22px;
    }

    .pt-haitanai-page .hai-hero-title {
        font-size: 26px;
    }

    .pt-haitanai-page .hai-section {
        padding: 26px 0;
    }

    /* 小程序引导：移动端自然上下排列（文案在上、码在下），不产生横向溢出 */
    .pt-haitanai-page .hai-mp-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
        padding: 20px 18px;
    }

    .pt-haitanai-page .hai-mp-qr {
        justify-self: stretch;
    }

    .pt-haitanai-page .hai-mp-code,
    .pt-haitanai-page .hai-mp-code-empty {
        max-width: 180px;
    }

    .pt-haitanai-page .hai-grid-abilities,
    .pt-haitanai-page .hai-grid-ask {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-haitanai-page .hai-links {
        grid-template-columns: minmax(0, 1fr);
    }

    /* 快捷问题横向滑动，避免换行把 Hero 顶高 */
    .pt-haitanai-page .hai-quick-list {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .pt-haitanai-page .hai-quick-list::-webkit-scrollbar {
        display: none;
    }

    .pt-haitanai-page .hai-quick-list > li {
        flex: 0 0 auto;
    }

    .pt-haitanai-page .hai-bubble {
        max-width: 88%;
    }

    .pt-haitanai-page .hai-answer {
        padding: 14px 14px;
    }

    .pt-haitanai-page .hai-kv {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 374px) {
    .pt-haitanai-page .hai-container {
        padding: 0 12px;
    }

    .pt-haitanai-page .hai-send {
        padding: 0 16px;
    }
}

/* 尊重「减少动效」系统偏好 */
@media (prefers-reduced-motion: reduce) {
    .pt-haitanai-page * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
