:root {
          --primary: #00c6ff;
          --accent: #0072ff;
          --bg-dark: #0a0f1c;
          --panel-bg: rgba(255, 255, 255, 0.08);
          --text-light: #e5e9f0;
          --text-muted: #a0aec0;
        }
    
        * {
          box-sizing: border-box;
        }
    
        body {
          margin: 0;
          height: 100vh;
          display: flex;
          align-items: center;
          justify-content: center;
          background: radial-gradient(circle at top right, var(--accent), var(--bg-dark) 60%);
          color: var(--text-light);
          font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
          overflow: hidden;
        }
    
        /* 动态粒子背景 */
        body::before {
          content: "";
          position: absolute;
          width: 100%;
          height: 100%;
          background: radial-gradient(circle at 50% 50%, rgba(0,255,255,0.15) 0%, transparent 70%),
                      radial-gradient(circle at 80% 20%, rgba(0,100,255,0.1) 0%, transparent 70%);
          animation: moveBg 15s linear infinite alternate;
        }
    
        @keyframes moveBg {
          0% { transform: translate(0, 0) scale(1); }
          100% { transform: translate(-20%, -10%) scale(1.2); }
        }
    
        .login-container {
          position: relative;
          z-index: 2;
          width: 380px;
          padding: 40px 30px 50px;
          background: var(--panel-bg);
          border: 1px solid rgba(255,255,255,0.15);
          border-radius: 16px;
          box-shadow: 0 0 10px rgba(0,255,255,0.08);
          text-align: center;
          animation: fadeIn 1.2s ease;
        }
    
        @keyframes fadeIn {
          from { opacity: 0; transform: scale(0.95); }
          to { opacity: 1; transform: scale(1); }
        }
    
        .login-container h2 {
          font-size: 1.6em;
          margin-bottom: 20px;
          letter-spacing: 1px;
          background: linear-gradient(90deg, #00e0ff, #00bfff, #0099ff);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
        }
    
        label {
          display: block;
          text-align: left;
          font-size: 0.9em;
          margin-top: 10px;
          margin-bottom: 6px;
          color: var(--text-muted);
        }
    
        input {
          width: 100%;
          padding: 10px 14px;
          border: 1px solid rgba(255,255,255,0.2);
          border-radius: 8px;
          font-size: 1em;
          color: var(--text-light);
          background: rgba(255,255,255,0.05);
          outline: none;
          transition: border-color 0.3s, box-shadow 0.3s;
        }
    
        input:focus {
          border-color: var(--primary);
          box-shadow: 0 0 8px var(--primary);
        }
    
        .login-btn {
          width: 100%;
          margin-top: 25px;
          padding: 12px;
          font-size: 1.05em;
          border: none;
          border-radius: 8px;
          cursor: pointer;
          color: white;
          background: linear-gradient(90deg, var(--accent), var(--primary));
          box-shadow: 0 0 10px var(--accent);
          transition: all 0.3s ease;
        }
    
        .login-btn:hover {
          transform: scale(1.03);
          box-shadow: 0 0 18px var(--primary);
        }
    
        .footer {
          margin-top: 20px;
          font-size: 0.85em;
          color: var(--text-muted);
        }
    
        .footer span {
          color: var(--primary);
        }
    
        @media (max-width: 420px) {
          .login-container {
            width: 90%;
            padding: 30px 20px;
          }
        }
        /* 滑块验证码整体遮罩 */
    	.captcha-modal{
    		position:fixed;
    		left:0;top:0;
    		width:100%;height:100%;
    		display:flex;
    		align-items:center;
    		justify-content:center;
    		background:rgba(0,0,0,.45);
    		z-index:9999;
    		backdrop-filter:blur(4px);
    	}
    
    	/* 弹窗盒子：从小到大缩放动画 */
    	.captcha-box{
    	    position: relative;
    		width:380px;
    		height: 360px;
    		background:#fff;
    		border-radius:7px;
    		box-shadow:0 12px 35px rgba(0,0,0,.25);
    		padding:10px 14px 12px;
    		font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
    		animation:captchaZoom .22s ease-out;
    	}
    
    	@keyframes captchaZoom{
    		from{transform:scale(.85);opacity:0;}
    		to{transform:scale(1);opacity:1;}
    	}
    
    	/* 错误时的左右摇摆 */
    	.captcha-wrapper.shake{
    		animation:shake .4s ease;
    	}
    
    	@keyframes shake{
    		0%{transform:translateX(0);}
    		20%{transform:translateX(-10px);}
    		40%{transform:translateX(10px);}
    		60%{transform:translateX(-8px);}
    		80%{transform:translateX(8px);}
    		100%{transform:translateX(0);}
    	}
        
        .captcha-wrapper {
            overflow: hidden; /* 防止整体外溢 */
        }
        /* 顶部状态条 */
        .captcha-topbar {
            margin-top: -10px;
            margin-left: -15px;
            width: 120%;
            height: 7px;
            background: #1e9fff; /* 默认蓝色（layui 蓝 / 极验类似蓝） */
            transition: background 0.25s ease;
        }
        
        .captcha-topbar.error {
            background: #ff4d4f;  /* 错误时红色 */
        }
        .captcha-box {
            overflow: hidden; /* 防止图片左移时露出外部区域 */
        }
    
    	.captcha-header{
    		font-size:18px;
    		font-weight:600;
    		color:#333;
    		padding:4px 4px 0;
    		text-align: center;
    		margin: 10px 0 10px 0;
    	}
    
    	.captcha-img-area{
    		position:relative;
    		width:330px;
    		height:200px;
    		margin:8px auto 6px;
    		border-radius:6px;
    		overflow:hidden;
    		background:#f5f5f5;
    	}
    
    	#captchaMain{
    		position:absolute;
    		left:0;top:0;
    		/* 核心增强：明显的浮动阴影 */
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.45); /* 提升阴影强度和模糊度 */
            z-index: 10; /* 确保它在 mainCanvas 上方 */
    	}
    	#captchaBlock{
    		position:absolute;
    		left:0;top:0;
    		/* 核心增强：明显的浮动阴影 */
            z-index: 10;}
    
    	/* 切换图片时的轻微左滑动画（错误后） */
    		/* 错误时：只左右摇晃，不缩放大小 */
    	.captcha-box.shake{
    		animation: captchaShake .4s ease;
    	}
    
    	@keyframes captchaShake{
    		0%{transform:translateX(0);}
    		20%{transform:translateX(-10px);}
    		40%{transform:translateX(10px);}
    		60%{transform:translateX(-8px);}
    		80%{transform:translateX(8px);}
    		100%{transform:translateX(0);}
    	}
    
    	/* 切换图片时：只让图片区域 + 滑块区域左滑一点 */
    	.captcha-img-area.swap,
    	.captcha-slider.swap{
    		animation: captchaImgSwap 0.5s ease forwards;
    	}
    
    	@keyframes captchaImgSwap{
            from { transform: translateX(0); }
            to   { transform: translateX(-100%); }
        }
    
    	/* 提示浮层，从图片底部往上弹 */
    	.captcha-toast{
    		position:absolute;
    		left:50%;
    		bottom:0px;
    		width:103%;
    		padding:4px 10px;
    		font-size:14px;
    		text-align:center;
    		color:#fff;
    		opacity:0;
    		pointer-events:none;
    		z-index: 999;
    	}
    
    	.captcha-toast.show{
    		animation:toastPop .85s ease;
    	}
    
    	@keyframes toastPop{
    		0%{transform:translate(-50%,10px);opacity:0;}
    		20%{transform:translate(-50%,0);opacity:1;}
    		80%{transform:translate(-50%,0);opacity:1;}
    		100%{transform:translate(-50%,-10px);opacity:0;}
    	}
    
    	.captcha-toast.success{
    		background:#52c41a;
    	}
    	.captcha-toast.error{
    		background:#ff4d4f;
    	}
    
    	/* 滑块区域 */
    	.captcha-slider{
    		position:relative;
    		width:330px;
    		height:40px;
    		margin:6px auto 4px;
    		border-radius:20px;
    		background:#dee3eb;
    		overflow:hidden;
    	}
    
    	.slider-track{
    		position:absolute;
    		left:0;top:0;
    		height:100%;
    		width:0;
    		background:linear-gradient(90deg,#cfe5ff,#e6f0ff);
    		transition:width .2s;
    	}
    
    	.slider-bar{
    		position:absolute;
    		left:0;top:0;
    		width:40px;height:40px;
    		border-radius:50%;
    		background:#4c9dff;
    		box-shadow:0 0 12px rgba(76,157,255,.6);
    		display:flex;
    		align-items:center;
    		justify-content:center;
    		color:#fff;
    		cursor:pointer;
    		user-select:none;
    		transition:background .2s,box-shadow .2s;
    	}
    
    	.slider-bar.success{
    		background:#52c41a;
    		box-shadow:0 0 10px rgba(82,196,26,.65);
    	}
    	.slider-bar.fail{
    		background:#ff4d4f;
    		box-shadow:0 0 10px rgba(255,77,79,.65);
    	}
    
    	.slider-arrow{
    		font-size:18px;
    	}
        .captcha-footer{
    		display:flex;
    		align-items:center;
    		justify-content:space-between;
    		margin-top:17px;
    	}
    
    	.footer-left{
    		display:flex;
    		gap:10px;
    	}
    
    	.footer-btn{
    		width: 25px;
            height: 25px;
            border: none;
            background: #ffffff00;
        	}
    	.footer-btn:hover{
    		background:#ffffff00;
    	}
    
    	/* 右下角 Holiday 水印更明显 */
    	.footer-right .captcha-watermark{
    		font-size:14px;
    		font-weight:600;
    		color:#9c9c9c;
    		user-select:none;
    	}
        .holiday_logo {
            margin-right: 0;
            background-image: url(https://holiday.ailcc.com/static/image/system/sprite.png);
            background-size: 1054.1666666667% 6137.5%;
            background-position: 0 29.7446514838%;
        }
        .holiday_close {
            margin-right: 0;
            background-image: url(https://holiday.ailcc.com/static/image/system/sprite.png);
            background-size: 1054.1666666667% 6137.5%;
            background-position: 0 29.7446514838%;
        }
        .holiday_close:hover {
            margin-right: 0;
            background-image: url(https://holiday.ailcc.com/static/image/system/sprite.png);
            background-size: 1054.1666666667% 6137.5%;
            background-position: 0 27.3982056591%;
            
        }
    	.holiday_refresh {
            background-image: url(https://holiday.ailcc.com/static/image/system/sprite.png);
            background-size: 1054.1666666667% 6137.5%;
            background-position: 0 48.5162180814%;
        }
    	.holiday_refresh:hover {
            background-image: url(https://holiday.ailcc.com/static/image/system/sprite.png);
            background-size: 1054.1666666667% 6137.5%;
            background-position: 0 46.1697722567%;
        }