/* ============================================================================
   trialapply.css —— 移动端 / PC 试用申请公开页（/Account/TrialApply）自有样式
   契约：TrialApply.aspx + AccountController.TrialApply(Get/Post) +
         AccountController.GetTrialApplyCaptcha +
         SQL/ESY/submitTrialApply.sql

   视觉对齐：admin-phase1.pen 帧 BGCp5「试用申请」（375 × 1524，H5）
     · 头部 brand row（logo + 弈绘2D）+ 大标题 + 副标题（蓝青渐变底） —— 保留设计稿样式
     · body 三段 fieldset + 验证码 + 同意项 + 提交按钮 —— **对齐 admin.css 风格系**
       （与 /Admin/Login 共用同一品牌色 #165DFF / 字号 14-15 / 输入 40 高 / 圆角 6 /
        checkbox 自绘 16×16），不再用 H5 设计稿里的渐变+阴影
     · footer 公司全称 + 沪 ICP 备案号

   设计原则：
     · **全分辨率统一走手机端版式**（2026-10-11 用户要求「不同分辨率下都要保持手机端样式」）：
       整页钉在 max-width:480px 的手机列宽上水平居中；原「PC 分支」（26px 标题 / 13px chip /
       头部 22px 20px 28px 内边距）全部废弃，原 ≤480px 的手机分支已上提为基线。
       唯一的例外是验证码图宽度（保留 110px，手机分支是 100px）—— 那条不是版式是裁切，
       理由写在 .ta-captcha-image-wrap 的注释里。
       理由：本页是 H5 页（设计帧 BGCp5 = 375×1524），在 PC 上铺满宽度会得到 1408 宽的输入框、
       464 宽的单个 chip。列宽数字的选法见 .ta-page 的注释。
     · Chip 单选替代 <select> —— 避开 iOS native picker 与 Android Chrome picker 行为不一致
     · 触控目标 ≥ 44px（iOS HIG / WCAG 2.5.5 AAA）—— chip / 按钮 / 验证码图均满足
   ========================================================================= */

/* ---------- 0. 全局 / 重置 ---------- */
body {
    /* 浏览器默认 body 有 8px 外边距，叠在 .ta-page 上会形成 8px 灰色漏边；这里归零。 */
    margin: 0;
}

.ta-page {
    /* 本页是 H5 页（设计帧 BGCp5「试用申请」375×1524）。原先只有「移动优先」没有宽度上限，
       PC 上整页铺满：1440 视口实测 .ta-input 1408 宽、单个 .ta-chip 464×36。
       现在把整页钉在一个手机列宽上水平居中 —— 这就是「全分辨率保持手机端样式」的落点。

       列宽取 480，两个理由：
         · 480 就是本文件既有的手机/PC 分界（下面所有 @media 都是 max-width:480px），不引入新数字；
         · 480 ≥ 最宽常见手机的逻辑宽度（iPhone Pro Max 430），所以真机上 width:100% 先吃满、
           上限根本不生效，不会平白多出两侧白边（列宽若取设计帧的 375，在 414/430 的真机上就会漏白边）。
       想让桌面端更窄/更宽只改这一个数字，但改完要同步 .ta-modal-panel 的 max-width，
       并重新量最长的一个 chip（日文「200人以上」，.ta-chip-row 是 flex-wrap:nowrap）。 */
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #ffffff;
}

/* ---------- 1. 头部（$color-primary 纯色，对齐 admin.css 品牌主色） ---------- */
.ta-header {
    background: #165DFF;
    color: #ffffff;
    /* 22px 20px 28px 是原 PC 分支的值，18px 16px 24px 是手机分支的值 —— 现统一走手机端。
       顺带把原来只在 ≤768px 生效的 env(safe-area-inset-top) 并进来：桌面端 env() 求值为 0，无副作用。 */
    padding: max(env(safe-area-inset-top), 18px) 16px 24px;
}

.ta-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 24px;
    margin-bottom: 32px;
}

.ta-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #ffffff;
    border-radius: 8px;                /* 设计稿 Mark 的 cornerRadius = $r-lg = 8（此前误写成 4 = $r-sm） */
    flex-shrink: 0;
}

.ta-logo {
    /* 品牌标：内联矢量（<use href="#i-logo">，填充 #lg-logo-grad 渐变），不是位图。
       几何 = 设计稿 path，viewBox [2,1,101,124]（宽高比 0.8145）；13×16 的宽高比 0.8125
       ⇒ preserveAspectRatio 默认 meet 下刚好铺满，不会非等比拉伸。

       原先这里放 <img src="esy_drawing_logo.png">：那张图是 205×45 的**横版全称** logo，
       塞进 13×16 的盒子里 object-fit:contain 只按宽度铺满，实际只画出 13×2.85
       （= 盒面积的 6.4%）—— 白盒里一条细缝，这就是"品牌标看不见"的真正原因，
       跟盒模型/对位都无关。换成矢量后与 Admin/Login 左上角 div.adm-login-logo 同源
       （同一个 symbol + 同一条渐变），两页品牌标逐点相同。 */
    display: block;
    width: 13px;
    height: 16px;
    fill: url(#lg-logo-grad);           /* 与 admin.css:141 .adm-logo-mark 同一条规则 */
    stroke: none;
}

.ta-wordmark {
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: 0.5px;
}

.ta-title {
    margin: 0 0 10px;
    font-size: 22px;                  /* 原 26px 是 PC 分支的值，22px 是手机分支的值 */

    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
}

.ta-sub {
    margin: 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.5;
}

/* ---------- 2. 主体（无 card，sections 直接落在白底） ---------- */
.ta-body {
    flex: 1;
    padding: 16px 16px 0;
    box-sizing: border-box;
}

/* ---------- 3. 分段（fieldset） ---------- */
.ta-section {
    border: none;
    border-top: 1px solid #f0f0f0;
    margin: 0 0 0;
    padding: 16px 0 4px;
    box-sizing: border-box;
}

.ta-section:first-of-type {
    border-top: none;
    padding-top: 0;
}

.ta-section-title {
    font-size: 15px;
    font-weight: 600;
    color: #002F41;
    margin: 0 0 12px;
    padding: 0;
    display: flex;
    align-items: center;
}

    .ta-section-title::before {
        content: '';
        display: inline-block;
        width: 3px;
        height: 14px;
        background: #165DFF;
        border-radius: 2px;
        margin-right: 8px;
    }

/* ---------- 4. 字段（对齐 admin.css 输入框：40 高 / 圆角 6 / 边框 1） ---------- */
.ta-field {
    margin-bottom: 14px;
}

.ta-label {
    display: block;
    font-size: 13px;
    color: #4a6b78;
    margin-bottom: 6px;
    font-weight: 500;
}

    .ta-label--required::after {
        content: ' *';
        color: #ea400a;
        font-weight: 700;
    }

.ta-input,
.ta-textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 40px;                  /* 与 admin.css .adm-input 一致 */
    padding: 0 12px;
    border: 1px solid #E5E6EB;
    border-radius: 6px;                /* 与 admin.css 一致 */
    background: #ffffff;
    color: #002F41;
    font-size: 14px;
    line-height: 20px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    -webkit-appearance: none;
    appearance: none;
    font-family: inherit;
}

.ta-textarea {
    min-height: 80px;
    padding: 10px 12px;
    line-height: 1.6;
    resize: vertical;
}

.ta-input:focus,
.ta-textarea:focus {
    outline: none;
    border-color: #165DFF;
    box-shadow: 0 0 0 2px rgba(22, 93, 255, 0.1);
}

.ta-input:invalid:not(:placeholder-shown) {
    border-color: #ea400a;
}

/* iOS 输入框默认圆角压不住 */
@supports (-webkit-touch-callout: none) {
    .ta-input,
    .ta-textarea {
        border-radius: 6px;
    }
}

/* ---------- 5. Chip 单选组（设计稿是 3+3 / 2+2 两行） ---------- */
.ta-chip-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-bottom: 8px;
}

.ta-chip-row:last-child {
    margin-bottom: 0;
}

.ta-chip {
    flex: 1;
    min-width: 0;
    appearance: none;
    background: #ffffff;
    border: 1px solid #E5E6EB;
    color: #4a6b78;
    /* 13px / 9px 8px 是原 PC 分支的值，12px / 9px 6px 是手机分支的值 —— 现统一走手机端。
       ⚠ chip 是 flex:1、行是 flex-wrap:nowrap，所以 chip 宽度是列宽反推出来的，
       改 .ta-page 的列宽后必须重量一遍最长的一个（日文「200人以上」）有没有被 nowrap 顶出去。 */
    font-size: 12px;
    line-height: 1;
    padding: 9px 6px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
    min-height: 36px;
    font-family: inherit;
    white-space: nowrap;
    text-align: center;
}

    .ta-chip:hover {
        border-color: #165DFF;
        color: #165DFF;
    }

    .ta-chip--active {
        background: #165DFF;
        border-color: #165DFF;
        color: #ffffff;
        font-weight: 500;
    }

    .ta-chip:focus-visible {
        outline: 2px solid #165DFF;
        outline-offset: 2px;
    }

/* ---------- 6. 验证码（图贴在输入框右侧） ---------- */
.ta-captcha-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.ta-captcha-input {
    flex: 1;
    min-width: 0;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.ta-captcha-image-wrap {
    /* ⚠ 这里是「全分辨率统一走手机端」的唯一例外：宽度保留 PC 分支的 110px，不跟着降成手机分支的 100px。
       不是审美问题，是尺寸算术 —— 服务端图固定 130×48（GetTrialApplyCaptcha 实测），盒子高 40，
       而 .ta-captcha-image 是 object-fit: cover，缩放取 max(盒宽/130, 40/48)：
         · 盒宽 110 → 0.846，画出 110×40.6，只**纵向**裁 0.3px（看不见）
         · 盒宽 100 → 0.833，画出 108.3×40，**横向每边裁 5 个原图像素**
       而墨迹是贴左右边的（三张样图 canvas 实测：左边距 2/0/2、右边距 4/3/0），
       5px 会切掉最外侧字符的笔画。验证码是本页唯一「看不清就真的用不了」的元素，不能裁。
       （手机上原本就是 100px，也就是说手机一直在切；统一到 110 反而修掉了它。）
       动这个宽度之前，先把图重下一张、量一遍墨迹外边距 —— 探针见本目录对 #ta-captcha-image 的 canvas 分析。 */
    flex: 0 0 110px;
    width: 110px;
    height: 40px;
    border: 1px solid #E5E6EB;
    border-radius: 6px;
    background: #f8f9fa;
    cursor: pointer;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

    .ta-captcha-image-wrap:hover {
        border-color: #165DFF;
        background: #f0f0f0;
    }

    .ta-captcha-image-wrap:active {
        transform: scale(0.98);
    }

.ta-captcha-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}

/* ---------- 7. 同意项 + 复选框（直接复用 admin.css 的 .adm-checkbox，与 UserRole 抽屉同一 class） ---------- */
.ta-consents {
    margin: 18px 0 16px;
    padding: 0;
    background: transparent;
    border-radius: 0;
    border: none;
}

.ta-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 13px;
    color: #4a6b78;
    line-height: 1.5;
    cursor: pointer;
    user-select: none;
}

/* .adm-checkbox —— 复刻 admin.css:333-349 的同名 class。
   H5 页没引 admin.css（避免 admin 全套组件污染公开页），故同名 class 在 trialapply.css
   里再写一份，规则集与 admin 完全一致：16×16 圆角 4、灰边 $color-gray-300、选中 $color-primary 蓝底白勾。
   UserRole 抽屉里的复选框也用 .adm-checkbox —— 三处样式 100% 同源。

   ⚠ 勾的对位**依赖 box-sizing:border-box**：admin.css:44 有
   `*,*::before,*::after{ box-sizing:border-box; }` 全局重置，本页没有（怕顺手改掉公开页
   其他盒子的宽度），所以必须在这条 ::after 上单独补一个 box-sizing:border-box。
   少了它，4×8 的 L（含 2px 右下边框）会按 content-box 渲染成 6×10 —— 勾整体右偏 + 下偏
   各 1px、笔画变粗，「h5 的勾没像 UserRole 一样居中」的根因就在这里。
   补上后 left:5 / top:2 与 admin.css:347 逐字相同：L 的视觉包围盒中心天然比盒心低 0.71px，
   故包围盒中心落在 (8, 7.71)，admin 取整到 2px 留 0.29px 残差，H5 与之逐像素同款。 */
.adm-checkbox {
    flex: none;
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    position: relative;
    border: 1px solid #C9CDD4;
    border-radius: 4px;
    background: #ffffff;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}
.adm-checkbox:checked {
    background: #165DFF;
    border-color: #165DFF;
}
.adm-checkbox:checked::after {
    content: "";
    position: absolute;
    box-sizing: border-box;               /* 关键：见上方注释，admin.css:44 的全局重置本页没有 */
    left: 5px;                            /* 与 admin.css:347 逐字相同 */
    top: 2px;                             /* 与 admin.css:347 逐字相同 */
    width: 4px;
    height: 8px;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(45deg);
}
.adm-checkbox:disabled {
    background: #C9CDD4;
    border-color: #C9CDD4;
    cursor: not-allowed;
}

.ta-consent-required {
    color: #002F41;
    font-weight: 500;
}

/* ---------- 7b. 同意文案里的条款入口（内联蓝字，点击开弹框） ---------- */
.ta-doc-link {
    /* 真 <button>，这里压成内联文本：去掉边框/背景/内边距，字号行高都跟同意文案一致，
       只把颜色换成品牌蓝、加下划线。
       ⚠ 点它**不会**勾选复选框：<button> 是 interactive content，按 HTML 规范
       「label 的激活行为对 interactive content 后代不生效」；这点必须靠实测（四家引擎），
       见 tests/e2e/admin/e2e_doc_modal.js 的 B8/B8b。 */
    display: inline-block;                /* inline 的 button 在老 Firefox 上排版有坑 */
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    color: #165DFF;                       /* 品牌主色，与 admin.css --color-primary 一致 */
    text-decoration: none;                /* 按用户要求**不加下划线**，只靠颜色区分 */
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

    .ta-doc-link:hover,
    .ta-doc-link:active {
        color: #0F4ED8;
    }

    .ta-doc-link:focus-visible {
        outline: 2px solid #165DFF;
        outline-offset: 2px;
        border-radius: 2px;
    }

/* ---------- 8. 提交按钮（对齐 admin.css .adm-btn--primary：44 高 / 圆角 6 / 纯色） ---------- */
.ta-submit-wrap {
    margin-top: 18px;
    margin-bottom: 0;
}

.ta-submit {
    width: 100%;
    min-height: 44px;
    padding: 8px 16px;                  /* 与 admin.css .adm-btn 一致 */
    background: #165DFF;                /* 品牌主色（admin.css --color-primary 计算值） */
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-size: 15px;
    line-height: 20px;
    font-weight: 500;                  /* 与 admin.css 一致 */
    cursor: pointer;
    transition: background-color 0.15s ease;
    -webkit-tap-highlight-color: transparent;
    font-family: inherit;
}

    .ta-submit:hover {
        background: #0F4ED8;
    }

    .ta-submit:active {
        background: #0A3FB8;
    }

    .ta-submit:disabled,
    .ta-submit.ta-submit--loading {
        opacity: 0.4;                  /* 与 admin.css 一致（画稿 CNW4R 实测 0.4） */
        cursor: not-allowed;
    }

.ta-foot-note {
    margin: 14px 0 0;
    font-size: 12px;
    color: #94a8b3;
    line-height: 1.6;
    text-align: center;
}

/* ---------- 9. Toast 提示（顶部内嵌）---------- */
.ta-toast {
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 90vw;
    padding: 12px 18px;
    background: rgba(40, 60, 75, 0.92);
    color: #ffffff;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.4;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    z-index: 9999;
    text-align: center;
    animation: taToastIn 0.25s ease;
}

    .ta-toast--err {
        background: rgba(220, 50, 50, 0.92);
    }

@keyframes taToastIn {
    from { opacity: 0; transform: translate(-50%, -10px); }
    to   { opacity: 1; transform: translate(-50%, 0); }
}

/* ---------- 9b. 条款弹框（隐私政策 / 服务条款） ---------- */
/* 正文源块：页内隐藏，只作为弹框的内容来源（JS 取 innerHTML）。
   带 hidden 属性本来就不显示，这里再显式写一条，防的是别的全局 div 规则把它顶出来。 */
.ta-doc-src {
    display: none;
}

.ta-modal {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;                        /* 高于 .ta-toast 的 9999 */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;                    /* 上下留边，面板 max-height:100% 靠它撑出间距 */
    box-sizing: border-box;
}

.ta-modal-mask {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.45);
}

.ta-modal-panel {
    position: relative;                    /* 压在 mask 之上并接收点击 */
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 480px;                 /* 与 .ta-page 的列宽一致：>480 的视口上，弹框居中落在手机列内而非越出列外 */
    max-height: 100%;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

.ta-modal-head {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid #f0f0f0;
}

.ta-modal-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #002F41;
}

.ta-modal-close {
    flex: none;
    width: 32px;
    height: 32px;
    margin: -4px -4px -4px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: none;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1;
    color: #94a8b3;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

    .ta-modal-close:hover {
        background: #f5f6f7;
        color: #002F41;
    }

    .ta-modal-close:focus-visible {
        outline: 2px solid #165DFF;
        outline-offset: 2px;
    }

.ta-modal-body {
    flex: 1 1 auto;
    min-height: 0;                         /* 少了它 flex 子项不肯收缩，长正文会把面板顶爆 */
    overflow-y: auto;
    overscroll-behavior: contain;          /* 滚到底不把滚动条传给背景页面 */
    -webkit-overflow-scrolling: touch;
    padding: 16px 18px 20px;
    font-size: 13px;
    line-height: 1.75;
    color: #4a6b78;
    -webkit-text-size-adjust: 100%;
}

/* 正文区自己就是滚动容器，且打开时会被 .focus() 聚焦（为了方向键/PageDown 能滚它）。
   焦点环收在盒内（outline-offset 负值）—— 盒外会被面板的 overflow:hidden 切掉。 */
.ta-modal-body:focus-visible {
    outline: 2px solid #165DFF;
    outline-offset: -2px;
}

    .ta-modal-body h3 {
        margin: 18px 0 6px;
        font-size: 14px;
        font-weight: 600;
        color: #002F41;
    }

        .ta-modal-body h3:first-child {
            margin-top: 0;
        }

    .ta-modal-body p {
        margin: 0 0 10px;
    }

    /* 两条规则的特异性要压过上面的 .ta-modal-body p，故带上祖先 */
    .ta-modal-body .ta-doc-note {
        margin: 16px 0 0;
        font-size: 12px;
        color: #94a8b3;
    }

/* 窄屏：改成底部抽屉（拇指可及、长正文更好滚） */
@media (max-width: 480px) {
    .ta-modal {
        align-items: flex-end;
        padding: 16px 12px 0;
    }

    .ta-modal-panel {
        max-height: 84vh;
        border-radius: 12px 12px 0 0;
    }

    .ta-modal-body {
        padding-bottom: calc(20px + env(safe-area-inset-bottom));
    }
}

/* ---------- 10. 成功页（按钮也走纯色 #165DFF） ---------- */
.ta-success {
    flex: 1;
    margin: 16px;
    padding: 32px 24px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 6px 24px rgba(18, 124, 190, 0.08);
    text-align: center;
    box-sizing: border-box;
}

.ta-success-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #165DFF;
    color: #ffffff;
    font-size: 40px;
    font-weight: 700;
    line-height: 72px;
    margin: 12px auto 16px;
}

.ta-success-title {
    margin: 0 0 8px;
    font-size: 22px;
    color: #002F41;
    font-weight: 700;
}

.ta-success-text {
    margin: 0 0 22px;
    font-size: 14px;
    color: #6b8a99;
    line-height: 1.6;
}

.ta-success-meta {
    background: #fafcfd;
    border: 1px solid #e8eef1;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 22px;
    text-align: left;
}

.ta-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 14px;
    border-bottom: 1px dashed #e8eef1;
}

    .ta-meta-row:last-child {
        border-bottom: none;
    }

.ta-meta-label {
    color: #6b8a99;
}

.ta-meta-value {
    color: #002F41;
    font-weight: 600;
    font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
}

.ta-success-actions {
    display: flex;
    flex-direction: column;           /* 手机分支原本就是堆叠；统一后桌面端也堆叠 */
    gap: 12px;
}

    .ta-success-actions button {
        flex: 1;
        min-height: 44px;
        border-radius: 6px;
        font-size: 15px;
        font-weight: 500;
        cursor: pointer;
        font-family: inherit;
        border: none;
        transition: background-color 0.15s ease;
    }

.ta-btn-primary {
    background: #165DFF;
    color: #ffffff;
}

    .ta-btn-primary:hover {
        background: #0F4ED8;
    }

.ta-btn-secondary {
    background: #ffffff;
    color: #165DFF;
    border: 1px solid #165DFF !important;
}

    .ta-btn-secondary:hover {
        background: #F0F4FF;
    }

/* ---------- 11. 底部公司信息 + ICP ---------- */
.ta-footer {
    padding: 16px 20px 24px;
    text-align: center;
    background: #fafcfd;
    border-top: 1px solid #f0f0f0;
}

.ta-company {
    font-size: 12px;
    color: #6b8a99;
    line-height: 1.6;
    margin-bottom: 2px;
}

.ta-icp {
    font-size: 11px;
    color: #94a8b3;
    line-height: 1.6;
}

/* ---------- 12. （空）----------
   原「移动端微调（≤ 480px）」整块已上提为基线 —— 现在所有分辨率都走手机端版式，
   留在 @media 里恰恰会在桌面端失效（那正是这次要修的病）。
   各条的上提位置：.ta-header / .ta-title / .ta-chip / .ta-success-actions，见各自规则上的注释。
   （.ta-captcha-image-wrap 没有上提 —— 它留在基线的 110px，见该规则上的注释。）.ta-captcha-row{gap:8px} 与基线逐字相同，属空操作，直接丢掉。
   注意 626 行那个 @media (max-width:480px) 是**弹框**的窄屏形态（底部抽屉），与页面版式无关，保留。 */

/* ---------- 13. 打印 ---------- */
@media print {
    .ta-captcha-image-wrap,
    .ta-submit-wrap,
    .ta-success-actions,
    .ta-foot-note,
    .ta-modal {
        display: none;
    }
}