/* 登录 / 注册：居中小卡片，其余页面元素让位 */

.pg_logging .klp-rail, .pg_register .klp-rail { display: none; }
.klp-auth-page { display: flex; justify-content: center; padding: 32px 0 48px; }
.klp-auth { width: 400px; max-width: 100%; padding: 36px 32px 28px; border-radius: 20px; box-shadow: 0 12px 40px rgba(17,20,19,.06); }
html[data-theme="dark"] .klp-auth { box-shadow: none; }
.klp-auth-body { display: flex; flex-direction: column; }
.klp-auth-head { display: flex; flex-direction: column; gap: 4px; margin-bottom: 18px; }
.klp-auth-logo { width: 44px; height: 44px; border-radius: 11px; margin-bottom: 12px; }
.klp-auth-head .flb { padding: 0; margin: 0; height: auto; border: 0; background: none; display: flex; align-items: center; justify-content: space-between; }
.klp-auth-head .flb em { font-style: normal; font-size: 22px; font-weight: 600; color: var(--text); }
.klp-auth-head .flb em.onerror, .klp-auth-head .flb em.xi1 { font-size: 14px; font-weight: 500; color: var(--danger); }
.klp-auth-sub { margin: 0; font-size: 13.5px; color: var(--text-3); }
.klp-auth-sub a { color: var(--text); font-weight: 500; }
.klp-auth-form { display: flex; flex-direction: column; gap: 14px; }
.klp-auth-lbl { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.klp-auth-lbl label { font-size: 13px; font-weight: 500; color: var(--text-2); }
.klp-auth-select { height: 26px; padding: 0 6px; border: 0; border-radius: 7px; background: var(--hover); color: var(--text-2); font-size: 12px; }
.klp-auth-form .k-inp { height: 42px; border-radius: 11px; }
.klp-auth-more summary { cursor: pointer; list-style: none; width: max-content; }
.klp-auth-more summary::-webkit-details-marker { display: none; }
.klp-auth-more[open] { display: flex; flex-direction: column; gap: 10px; }
.klp-auth-check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-3); }
.klp-auth-submit { width: 100%; margin-top: 4px; }
.klp-auth-back { align-self: center; }
.klp-auth-or { display: flex; align-items: center; gap: 12px; font-size: 12px; color: var(--text-3); margin-top: 4px; }
.klp-auth-or::before, .klp-auth-or::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.klp-auth-methods { display: flex; flex-wrap: wrap; gap: 8px; }
.klp-auth-methods > p, .klp-auth-methods > div { display: contents; margin: 0; }
.klp-auth-methods img { max-height: 24px; vertical-align: middle; }
/* 由 klp_login_methods() 转换出来的统一按钮 */
.klp-lm { flex: 1 1 0; min-width: 96px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 40px; padding: 0 12px; border-radius: 11px; border: 1px solid var(--line); background: var(--surface); color: var(--text-2); font-size: 13px; font-weight: 500; transition: background .15s ease, border-color .15s ease; }
.klp-lm:hover { background: var(--hover); color: var(--text); }
.klp-lm .k-ic { color: var(--text-3); }
.klp-lm-qq:hover .k-ic { color: #1E88E5; }
.klp-lm-wx:hover .k-ic { color: #1AAD19; }
.klp-lm-sms:hover .k-ic { color: var(--ink); }
.klp-auth-sec > div { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* 弹窗里的登录 */
.fwin .klp-auth-body { width: 360px; padding: 28px 28px 20px; }
.fwin .klp-auth-head .flb { padding: 0; }

/* 注册页：沿用原生结构，排成单列 */
.pg_register #ct { display: flex; justify-content: center; }
.pg_register #ct > .mn, .pg_register #main_messaqge { width: 460px; max-width: 100%; float: none; }
.pg_register .bm { padding: 28px 32px; border-radius: 20px; }
.pg_register .bm_h { border: 0; padding: 0; min-height: 0; line-height: 1.4; margin-bottom: 16px; }
.pg_register .bm_h h3 { font-size: 22px; font-weight: 600; }
.pg_register .bm_h .y { font-size: 13px; }
.pg_register .rfm { border: 0; margin: 0 0 12px; padding: 0; width: auto; }
.pg_register .rfm table, .pg_register .rfm tbody, .pg_register .rfm tr { display: block; width: 100%; }
.pg_register .rfm th, .pg_register .rfm td { display: block; width: auto; padding: 0; text-align: left; }
.pg_register .rfm th { margin-bottom: 6px; font-size: 13px; font-weight: 500; color: var(--text-2); }
.pg_register .rfm .px { width: 100%; height: 42px; border-radius: 11px; }
.pg_register .rfm .p_tip, .pg_register .rfm .tipcol { font-size: 12px; color: var(--text-3); margin-top: 4px; }
.pg_register .rfm .p_chk { color: var(--danger); font-size: 12px; }
.pg_register #layer_reginfo_t, .pg_register .blr .rfm .pn { width: 100%; }
.pg_register button.pn.pnc { width: 100%; height: 44px; border-radius: 12px; font-size: 15px; }
.pg_register .nfl, .pg_register .rfm.bw0 { background: none; }
.pg_register #reginfo_a .rfm th .rq { color: var(--danger); margin-right: 2px; }
