body{
	
}
#introCon{
	width:100%;
	overflow: hidden;
}
/* ═══ 随机 banner(2026-08-08)═══
   背景由 PHP 每次请求随机注入两个自定义属性(见 common.php loginBannerVariant()):
     --login-art  美术图 1920x552,8 张里随机
     --login-bar  底部步骤条 1920x96,按语言 zh / en
   var() 带 fallback → 属性没注入时页面绝不会白。
   🔴 fallback 目标 2026-09-05 换掉了,别改回去:原先回落的是 ./web/sign_in_1920_648.png ——
      那是 blue_gaztano 那家客户的皮,图里烤着「GAZTANO SDN BHD」「info@gaztano.com」和
      整段英文营销文案。default 一旦回落就会对外露出别家品牌 + 一段翻不动的英文,而且
      不报错、看起来完全正常。实测今天不可达(三个消费页 login / register / thirdpartreg
      全走 assignThemeVars() 单点注入,art 恒非空),但那是"当前配置",不是结构保证:
      有人新写登录类页面忘了那段 style、或放开 index_* 里那 5 处被注释掉的 #introCon,
      它立刻就会出现。改成 8 张随机图里固定的一张(中性、无品牌、无文案)。
      blue_gaztano 侧原样不动 —— 那张图在它那里是直接 background,是预期的。
   🔴 .dlg 表单恒落在背景图 x1100 起(登录 x1100-1442 / 注册 x1100-1595,banner 内坐标,实测)。
      .dlg 是 left:50% + margin-left:140px、背景图是 center 对齐 —— 两者相对关系与视口宽无关,
      所以窄屏裁掉的只是图的外缘,表单永远落在同一片留白上。
      ⇒ 换图务必守住:主体与标题压在 x<1080,右侧留干净浅底给白色表单框。 */
#introCon .banner{
	position:relative;
	height:648px;
	background-color:#c3b6a8;                    /* >1920 视口两侧兜底 = 8 张图左右边缘平均色(实测) */
	background-image:
		linear-gradient(to bottom, rgba(255,252,246,.46) 0, rgba(255,252,246,0) 100%),
		var(--login-art, url(/Public/images/login/art_stack.jpg)),
		var(--login-bar, none);
	background-repeat:no-repeat, no-repeat, no-repeat;
	background-position:center top, center top, center bottom;
	background-size:100% 178px, auto 552px, auto 96px;
}
/* 文案层。特异性 (1,2,0) 压过共享模板里的 `#introCon .bannerCopy{display:none}` (1,1,0) ——
   那条写在 default/Index/login_body.html 的 <style> 里,好让 default 保持原样、只有本主题打开。
   定位与 .dlg 同源:锚 left:50% 再左移,跟背景图(center 对齐)的相对位置与视口宽无关。
   盒宽 880、中心落在设计坐标 x545(中线左 415px),右缘 x985 < 1080 安全线。 */
#introCon .banner .bannerCopy{
	display:block;
	position:absolute;
	left:50%;
	margin-left:-855px;
	top:30px;
	width:880px;
	z-index:2;
	text-align:center;
	pointer-events:none;                         /* 纯装饰,不挡背后任何可点元素 */
}
#introCon .banner .bannerCopy h2,
#introCon .banner .bannerCopy p{                 /* 提特异性:common.css 有全局 h2 / p 规则会压掉单类 */
	margin:0;
	color:#7f5c26;
	text-shadow:0 1px 0 #fffdf8, 0 -1px 0 #fffdf8, 1px 0 0 #fffdf8, -1px 0 0 #fffdf8;
}
#introCon .banner .bannerCopy p{
	margin-top:20px;
	color:#60503e;
	font-size:17px;
	line-height:1.6;
}
/* 🔴 中文必须显式点名 **PingFang SC**:PingFang.ttc 里 HK / TC 子集走港台排版惯例、
   全角标点**居中**(比汉字底高 13px),SC 才是标点靠下。之前把文案烤进图片时就是栽在这 ——
   PIL 取了 index=1(HK),逗号句号整个飘起来。交给浏览器按 font-family 选就没这个坑。 */
#introCon .banner .bc-zh h2{
	font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;
	font-size:48px; line-height:1.18; font-weight:600;
	letter-spacing:.10em; text-indent:.10em;     /* 字距会给末字加尾空,text-indent 补回居中 */
}
#introCon .banner .bc-zh p{
	font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
	letter-spacing:.02em;
}
#introCon .banner .bc-en h2{
	font-family:Georgia,"Times New Roman",serif;
	font-size:44px; line-height:1.2; font-weight:400;
}
#introCon .banner .bc-en p{ font-family:Arial,Helvetica,sans-serif; }
#backToTopBtn{
	display:none;
}

.dlg{
	position: absolute;
	left: 50%;
	margin-left: 140px;
	background: #FFF;
	margin-top: 20px;
}
.dlg>.content{
	padding: 20PX 35px 30px;
}
.dlg>.content.align_center{
	text-align:center;
}
.dlg a{
	margin:0 3px;
	color:#444;
}
.dlg a:hover{
	color:#666;
}
.dlg .loginForm .title{
	display:inline-block;
	font-size: 16px;
	line-height: 35px;
}
.dlg .regForm .title{
	display:inline-block;
	width:160px;
	font-size: 16px;
	line-height: 35px;
}
.dlg .loginForm .title .btn1{
	color:#0192b5;
}
.dlg .regForm .title .btn2{
	color:#0192b5;
}
.dlg img.code{
	height: 30px;
	width: 80px;
	margin-left:10px;
}
.dlg .hint{
	color:red;
}
.dlg .loginForm .divider{
	height:3px;
}
.dlg .regForm .divider{
	height:10px;
}
.dlg input{
	margin-right:10px;
}
.dlg input.m{
	height:10px;
}
.dlg input.span_xs{
	width:50px;
}
.dlg input.span_s{
	width:80px;
}
.dlg input.span_m{
	 width:110px;
}
.dlg input.span_l{
	width:140px;
}
.dlg input.span_xl{
	 width:170px;
}
.dlg .content .opt{
	text-align:right;
	line-height:35px;
}
.dlg .loginForm input[type="text"], .dlg .loginForm input[type="password"]{
	padding: 7px 20px;
	font-size: 16px;
	width:220px;
}
.dlg .regForm input[type="text"], .dlg .regForm input[type="password"]{
	padding: 7px 20px;
	font-size: 16px;
	width:130px;
}
.dlg .content #loginDlg_loginBtn:hover, .dlg .content #regDlg_regBtn:hover{
	background: #ffa010;
}
.dlg .content #loginDlg_code{
	width: 105px;
}
.dlg .content #regDlg_code{
	width: 45px;
}
.dlg .content #loginDlg_loginBtn, .dlg .content #regDlg_regBtn{
	display: block;
	background: #ff9000;
	line-height: 40px;
	color: #fff;
	font-size: 16px;
	text-align: center;
	margin-top: 15px;
}