// 通用工具类 // 内容容器:设计稿内容宽 1780(x70→1850,specs2 全量复核) // 1920 视口下 padding 70 → 内容 1780;窄视口只收窄留白,不产生横向滚动。 // ⚠️ 不能用固定 70px 留白:窄视口下 1780+140 > 视口宽 → 横向滚动条。 .container { width: 100%; max-width: @container-width; margin: 0 auto; // 留白夹在 16 与 70 之间:(1920 − 1780) / 2 = 70 padding: 0 clamp(@spacing-base, calc((100% - @page-content) / 2), @page-gutter); } // 首页容器:首页设计稿单独基准(内容 1680,留白 120) .container--home { padding: 0 @home-gutter; @media (max-width: 1919px) { padding: 0 @spacing-lg; } } // ============ 登录 / 注册 / 找回密码(蓝湖设计稿 02·51·54·55) ============ // 三页共用外壳:左侧 784 品牌渐变面板 + 右侧白底表单区。 // 各页差异仅在「表单列起点 x」与「垂直顶 y」,由页面级 CSS 变量覆写。 // 设计稿锚点:面板 (0,0) 784×1080;主标 (257,304) 40/700;标语 (257,715) 22/600。 .auth-page { --auth-form-x: 1022px; // 表单列起点(账号密码登录) --auth-form-y: 306px; // 表单列垂直顶 position: relative; display: flex; min-height: 100vh; background: @white; &__brand { .flex(column, flex-start, flex-start); flex: 0 0 @login-brand-width; padding: 304px 0 0 257px; background: linear-gradient(160deg, @auth-gradient-from 0%, @auth-gradient-to 100%); color: @white; } &__logo { margin: 0; font-size: 40px; font-weight: 700; line-height: 58px; color: @white; } &__key { margin: 26px 0 0; font-size: 15px; font-weight: 400; letter-spacing: 0.5px; color: @white; } &__slogan { margin: 246px 0 0; font-size: 22px; font-weight: 600; line-height: 29px; letter-spacing: 8px; color: @white; } &__guest { position: absolute; top: 24px; right: 16px; font-size: 12px; font-weight: 400; color: #1f2937; text-decoration: none; transition: color 0.2s; &:hover { color: @primary-strong; } } &__main { .flex(column, flex-start, flex-start); flex: 1; min-width: 0; padding: var(--auth-form-y) 0 0 calc(var(--auth-form-x) - @login-brand-width); } &__card { .flex(column, flex-start, flex-start); width: 693px; } &__title { margin: 0; font-size: 34px; font-weight: 700; line-height: 45px; color: #1f2937; } &__link { color: @primary-strong; &:hover { color: @primary-hover; } } } .link { cursor: pointer; transition: color 0.2s; &:hover { color: @primary-color; } } .text-ellipsis { .ellipsis(); } .text-secondary { color: @text-color-secondary; }