@import '../../styles/variables.scss'; @import '../../styles/mixins.scss'; // 登录页 — 全部使用 design token,原型参考 docs/design/mp-01-login.html .login-page { min-height: 100vh; background: $bg; display: flex; flex-direction: column; padding: 80px 28px 40px; } /* ─── 品牌区 ─── */ .login-brand { display: flex; flex-direction: column; align-items: center; margin-bottom: 56px; } .login-logo { width: 80px; height: 80px; border-radius: 40px; background: linear-gradient(135deg, var(--tk-pri-l) 0%, var(--tk-pri) 100%); @include flex-center; margin-bottom: 20px; box-shadow: 0 4px 16px rgba($pri, 0.25); } .login-logo-letter { font-family: 'Georgia', 'Times New Roman', serif; font-size: 36px; font-weight: 700; color: $white; line-height: 1; } .login-title { font-family: 'Georgia', 'Times New Roman', serif; font-size: var(--tk-font-h1); font-weight: 700; color: $tx; margin-bottom: 8px; } .login-subtitle { font-size: var(--tk-font-body-sm); color: $tx3; } /* ─── 输入框 ─── */ .login-field { height: 56px; background: $card; border: 1.5px solid $bd; border-radius: $r; display: flex; align-items: center; padding: 0 16px; margin-bottom: 12px; } .login-input { flex: 1; height: 100%; font-size: var(--tk-font-body); color: $tx; } .login-placeholder { color: $tx3; font-size: var(--tk-font-body); } .login-eye { font-size: var(--tk-font-body-sm); color: var(--tk-pri); font-weight: 500; padding: 6px 0; flex-shrink: 0; } /* ─── 登录按钮 ─── */ .login-submit { height: 54px; border-radius: $r; background: var(--tk-pri); @include flex-center; margin-top: 12px; margin-bottom: 16px; box-shadow: 0 4px 16px rgba($pri, 0.3); &:active { opacity: var(--tk-touch-feedback-opacity); } } .login-submit-text { font-size: var(--tk-font-body-lg); font-weight: 600; color: $white; } /* ─── 分隔线 ─── */ .login-divider { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; } .login-divider-line { flex: 1; height: 1px; background: $bd-l; } .login-divider-text { font-size: var(--tk-font-cap); color: $tx3; } /* ─── 微信登录 ─── */ .login-wechat-btn { height: 54px; border-radius: $r; background: $wechat; display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 24px; &:active { opacity: var(--tk-touch-feedback-opacity); } } .login-wechat-icon { font-size: var(--tk-font-body); color: $white; font-weight: bold; } .login-wechat-text { font-size: var(--tk-font-body-lg); font-weight: 600; color: $white; } /* ─── 手机号绑定(微信登录后) ─── */ .login-bind-section { width: 100%; } .login-btn-bind { width: 100%; height: 54px; background: var(--tk-pri); color: $white; font-size: var(--tk-font-body-lg); font-weight: 600; border-radius: $r; border: none; @include flex-center; box-shadow: 0 4px 16px rgba($pri, 0.25); padding: 0; line-height: 1; &::after { border: none; } } /* ─── 协议 ─── */ .agreement-row { display: flex; align-items: flex-start; gap: 10px; } .agreement-check { width: 24px; height: 24px; border: 1.5px solid $bd; border-radius: 6px; @include flex-center; flex-shrink: 0; margin-top: 1px; &.checked { background: var(--tk-pri); border-color: var(--tk-pri); } } .agreement-check-mark { font-size: var(--tk-font-body-sm); color: $white; font-weight: bold; line-height: 1; } .agreement-text { font-size: var(--tk-font-cap); color: $tx3; line-height: 1.8; } .agreement-link { color: var(--tk-pri); font-weight: 500; } /* ─── 开发模式 ─── */ .login-dev-btn { text-align: center; padding: 12px; border: 1px dashed $bd; border-radius: $r-sm; margin-top: 16px; &:active { opacity: var(--tk-touch-feedback-opacity); } } .login-dev-btn-text { font-size: var(--tk-font-cap); color: $tx3; }