/* 协议类长文排版：/legal/<doc> 全屏页与注册页弹层共用同一套样式。
   注册页那边只 fetch 正文片段（不带样式），所以两处都必须引这个文件，
   改这里会同时影响两处——这是故意的，别把样式复制回模板里。 */
.lg-doc {
    font-size: 14px;
    line-height: 1.85;
    color: #3b4655;
    -webkit-text-size-adjust: 100%;
}
.lg-doc h2 {
    font-size: 15.5px;
    font-weight: 800;
    color: #1f2d3d;
    margin: 26px 0 10px;
    padding-left: 10px;
    border-left: 3px solid #2f7bea;
    line-height: 1.4;
}
.lg-doc h3 {
    font-size: 14.2px;
    font-weight: 700;
    color: #2b3a4c;
    margin: 18px 0 6px;
}
.lg-doc p { margin: 8px 0; }
.lg-doc b { color: #1f2d3d; font-weight: 700; }
.lg-doc ul { margin: 8px 0; padding-left: 20px; }
.lg-doc li { margin: 6px 0; }

/* 版本/日期行 */
.lg-doc .lg-meta {
    font-size: 12.2px;
    color: #8592a3;
    margin: 14px 0 0;
}
/* 开头的重点提示块 */
.lg-doc .lg-tip {
    margin: 14px 0 4px;
    padding: 13px 14px;
    border-radius: 12px;
    background: linear-gradient(135deg, #eef4fd, #e6f7f3);
    border: 1px solid #d8e6fb;
}
.lg-doc .lg-tip p { margin: 6px 0; }
.lg-doc .lg-tip ul { margin: 6px 0; }
/* 待确认的占位联系方式，视觉上不突兀但可被检索到 */
.lg-doc .lg-ph { white-space: nowrap; }

/* 第三方共享清单：窄屏下让表格自己横向滚，别把整页撑出横向滚动条 */
.lg-doc .lg-tablewrap { overflow-x: auto; margin: 10px 0; -webkit-overflow-scrolling: touch; }
.lg-doc .lg-table {
    border-collapse: collapse;
    width: 100%;
    min-width: 460px;
    font-size: 12.8px;
    line-height: 1.6;
}
.lg-doc .lg-table th,
.lg-doc .lg-table td {
    border: 1px solid #e2e8f0;
    padding: 7px 9px;
    text-align: left;
    vertical-align: top;
}
.lg-doc .lg-table th { background: #f3f7fc; color: #33404f; font-weight: 700; }

/* ===== 注册页弹层 ===== */
.lg-mask {
    position: fixed; inset: 0; z-index: 900;
    background: rgba(20, 32, 48, .5);
    display: flex; align-items: flex-end; justify-content: center;
}
.lg-mask.hidden { display: none; }
.lg-sheet {
    width: 100%; max-width: 560px; max-height: 86vh;
    background: #fff;
    border-radius: 16px 16px 0 0;
    display: flex; flex-direction: column;
    animation: lgUp .22s ease-out;
}
@keyframes lgUp { from { transform: translateY(18px); opacity: .6; } to { transform: none; opacity: 1; } }
.lg-sheet-head {
    flex: 0 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 16px 10px;
    border-bottom: 1px solid #eef2f7;
}
.lg-sheet-head h2 { margin: 0; font-size: 15px; font-weight: 800; color: #1f2d3d; }
.lg-sheet-close {
    border: none; background: none; font-size: 20px; line-height: 1;
    color: #8592a3; padding: 2px 6px; cursor: pointer;
}
.lg-sheet-body {
    flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch;
    padding: 0 16px 16px;
}
.lg-sheet-body .lg-doc-loading { color: #8592a3; font-size: 13px; padding: 20px 0; text-align: center; }
.lg-sheet-foot {
    flex: 0 0 auto; padding: 10px 16px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid #eef2f7;
}
.lg-sheet-foot button {
    width: 100%; border: none; border-radius: 12px; padding: 12px;
    font-size: 15px; font-weight: 700; color: #fff; cursor: pointer;
    background: linear-gradient(100deg, #2f7bea, #1aa5c8 55%, #12b39a);
}
