.m-auth{
  display:flex;
  min-height:calc(var(--m-viewport-height,100dvh) - var(--m-topbar-height) - var(--m-nav-height) - var(--m-safe-top) - var(--m-safe-bottom) - 48px);
  flex-direction:column;
  padding:34px 8px 8px;
  color:#333;
}
.m-auth-intro{text-align:center}
.m-auth-intro img{display:block;width:176px;height:auto;max-height:46px;margin:0 auto;object-fit:contain}
.m-auth-intro h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}
.m-auth-intro p{margin:24px 0 0;color:#333;font-size:17px;letter-spacing:.03em}
.m-auth-notice{width:100%;max-width:420px;margin:24px auto 0;padding:11px 13px;border:1px solid #ead8a5;border-radius:12px;background:#fffaf0;color:#7c6119;font-size:12px;line-height:1.55}
.m-auth-method,.m-auth-phone{width:100%;max-width:420px;margin:clamp(80px,14vh,120px) auto 0}
.m-auth-method{display:grid;gap:12px;padding:0}
.m-auth-wechat,.m-auth-phone-choice,.m-auth-submit{display:flex;width:100%;min-height:54px;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.m-auth-wechat{background:#07c160;color:#fff}
.m-auth-wechat svg{width:25px;height:25px;fill:currentColor}
.m-auth-phone-choice{background:#f2f2f2;color:#222}
.m-auth-phone-choice svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.m-auth-phone{display:grid;gap:0;padding:0}
.m-auth-phone-title{margin:0;color:#171717;font-size:calc(var(--m-page-title-size) - 4px);line-height:1.3;letter-spacing:-.025em;text-align:center}
.m-auth-phone-entry .m-auth-phone-title{margin-bottom:6px}
.m-auth-phone-caption{margin:0 0 18px;color:#929292;font-size:11px;line-height:1.5;text-align:center}
.m-auth-phone-lead{margin:8px 0 22px;color:#929292;font-size:12px;line-height:1.6;text-align:center}
.m-auth-phone input{width:100%;min-height:52px;padding:0 14px;border:0;border-radius:0;background:transparent;color:#333;font:inherit;font-size:14px;outline:none}
.m-auth-phone input:focus{box-shadow:none}
.m-auth-phone-number{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;padding:0 14px;border:1px solid transparent;border-radius:14px;background:#f5f5f5;color:#222;font-size:16px;transition:border-color .16s ease,background .16s ease}
.m-auth-phone-number:focus-within{border-color:#c9c9c9;background:#fff;box-shadow:none}
.m-auth-phone-number>span{padding:0 15px 0 0;border-right:1px solid #dedede;font-weight:700}
.m-auth-phone-number input{min-height:56px;padding-right:0;padding-left:15px;font-size:16px}
.m-auth-phone-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden;border:1px solid #dedede;border-radius:16px;background:#fff}
.m-auth-phone-fields:focus-within{border-color:#999;box-shadow:none}
.m-auth-phone-fields button{min-width:104px;height:38px;margin-right:8px;padding:0 10px;border:0;border-radius:19px;background:#f3f3f3;color:#111;font:inherit;font-size:12px;font-weight:650}
.m-auth-submit{min-height:52px;margin-top:14px;border-radius:14px;background:#111;color:#fff;box-shadow:none;transition:transform .16s ease,background .16s ease}
.m-auth-submit:active:not(:disabled){background:#252525;transform:scale(.99)}
.m-auth-secondary-actions{display:flex;min-height:42px;align-items:center;justify-content:center;gap:3px;margin-top:8px}.m-auth-switch{min-height:38px;margin:0;padding:0 13px;border:0;border-radius:10px;background:transparent;color:#666;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .16s ease,color .16s ease}.m-auth-switch:active{background:#f1f1f1;color:#111}.m-auth-switch-divider{width:1px;height:14px;background:#dedede}
.m-auth-wechat:disabled,.m-auth-submit:disabled,.m-auth-phone-fields button:disabled{opacity:.55}
.m-auth-policy{display:block;width:100%;max-width:420px;margin:34px auto 0;padding:0;color:#8c8c8c;text-align:center}
.m-auth-policy-row{display:grid;grid-template-columns:15px minmax(0,1fr);align-items:start;gap:7px;padding:0 2px;text-align:left}
.m-auth-policy-row input{width:15px;height:15px;margin:2px 0 0;cursor:pointer}
.m-auth-policy-copy{min-width:0;color:#858585;font-size:11px;line-height:1.7}
.m-auth-policy-copy label{display:inline;color:#777;cursor:pointer}
.m-auth-policy-links{display:contents}
.m-auth-policy-links a{display:inline-block;margin-left:6px;color:#1a1a1a;font-size:11px;font-weight:500;line-height:1.6;text-decoration:none;white-space:nowrap}
.m-auth-policy-copy .m-auth-policy-tip{margin:4px 0 0;padding:0;color:#aaa;font-size:9.5px;line-height:1.6;text-align:left}
.m-auth [hidden]{display:none!important}
.m-auth-wechat:focus-visible,.m-auth-phone-choice:focus-visible,.m-auth-submit:focus-visible,.m-auth-switch:focus-visible,.m-auth-phone-fields button:focus-visible,.m-auth-policy-links a:focus-visible,.m-auth-policy-row input:focus-visible{outline:2px solid #111;outline-offset:2px}
.m-auth-app{background:#fff}
.m-auth-shell{background:#fff;box-shadow:none}
.m-main-auth{min-height:var(--m-viewport-height,100dvh);padding:0 0 calc(var(--m-nav-height) + var(--m-safe-bottom))}
.m-main-auth .m-auth{position:relative;min-height:calc(var(--m-viewport-height,100dvh) - var(--m-nav-height) - var(--m-safe-bottom));padding:calc(var(--m-safe-top) + 82px) 24px 28px}
@media (max-width:350px){
  .m-auth-intro img{width:156px}
  .m-auth-intro p{margin-top:18px;font-size:15px}
  .m-auth-method,.m-auth-phone{margin-top:72px}
  .m-auth-method{padding-top:0}
  .m-auth-phone{padding:0}
  .m-main-auth .m-auth{padding-top:calc(var(--m-safe-top) + 68px)}
  .m-auth-phone-title{font-size:calc(var(--m-page-title-size) - 5px)}
  .m-auth-policy-row{gap:6px}
  .m-auth-policy-links a{margin-left:4px;font-size:10px}
  .m-auth-policy-copy{font-size:10px}
  .m-auth-policy-copy .m-auth-policy-tip{font-size:9px}
}
@media (max-height:700px){
  .m-main-auth .m-auth{padding-top:calc(var(--m-safe-top) + 68px)}
  .m-auth-method,.m-auth-phone{margin:clamp(72px,12vh,92px) auto 0}
  .m-auth-method{padding-top:0}
  .m-auth-phone{padding:0}
  .m-auth-policy{margin-top:22px}
}
@media (prefers-reduced-motion:reduce){.m-auth *{scroll-behavior:auto!important}}
