/* 登录/注册公用样式：左右分栏 + 移动端自适应；左上角为 logo 预留位 */
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body.auth-body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:#f5f7fa;color:#1f2329;-webkit-font-smoothing:antialiased}
.auth-wrap{display:flex;min-height:100vh}
.auth-visual{position:relative;width:50%;min-width:0;background:linear-gradient(165deg,#f0f6ff 0%,#e6effd 48%,#dde8fb 100%);overflow:hidden}
.auth-visual::before{content:"";position:absolute;right:-150px;top:-170px;width:440px;height:440px;border-radius:50%;background:#b9cdf5}
.auth-visual::after{content:"";position:absolute;left:13%;top:11%;width:42px;height:42px;border:2px solid #c9d8f8;border-radius:50%}
.auth-dot{position:absolute;right:24%;top:15%;width:10px;height:10px;border-radius:50%;background:#fff}
.auth-art{position:absolute;left:0;right:0;top:20%;bottom:0;background:url(../images/auth_illust.jpg) center 78%/cover no-repeat;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%);mask-image:linear-gradient(to bottom,transparent 0,#000 14%)}
.auth-logo{position:absolute;left:42px;top:34px;z-index:2;display:block}
.auth-logo img{height:40px;display:block}
.auth-panel{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:48px 24px}
.auth-box{width:100%;max-width:400px}
.auth-mlogo{display:none;margin:0 0 28px}
.auth-mlogo img{height:36px;display:block}
.auth-title{font-size:30px;font-weight:700;margin:0 0 12px;letter-spacing:.5px}
.auth-sub{font-size:14px;color:#9aa0a6;margin:0 0 36px}
.auth-field{position:relative;margin-bottom:18px}
.auth-field input{width:100%;height:46px;border:0;border-radius:4px;background:#ececec;padding:0 16px;font-size:14px;color:#333;outline:none;transition:box-shadow .15s,background .15s}
.auth-field input::placeholder{color:#b4b9c0}
.auth-field input:focus{background:#e7e7e7;box-shadow:0 0 0 2px rgba(47,107,255,.18)}
.auth-field.has-r input{padding-right:104px}
.auth-field.has-eye input{padding-right:44px}
.auth-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;color:#b4b9c0;font-size:15px;line-height:1;padding:6px}
.auth-eye.on{color:#2f6bff}
.auth-cap{position:absolute;right:5px;top:5px;height:36px;width:88px;border-radius:3px;background:#fff;cursor:pointer}
.auth-send{position:absolute;right:5px;top:5px;height:36px;padding:0 12px;border:0;border-radius:3px;background:#e2e5e9;color:#5f6672;font-size:13px;cursor:pointer}
.auth-send:disabled{opacity:.65;cursor:default}
.auth-btn{width:100%;height:46px;border:0;border-radius:6px;background:#2f6bff;color:#fff;font-size:15px;letter-spacing:2px;cursor:pointer;margin-top:8px;transition:background .15s}
.auth-btn:hover{background:#245ae6}
.auth-btn:active{background:#1d4fd0}
.auth-foot{margin:28px 0 0;text-align:center;font-size:13px;color:#9aa0a6}
.auth-foot a{color:#2f6bff;text-decoration:none}
.auth-foot a:hover{text-decoration:underline}
.auth-copy{margin:44px 0 0;text-align:center;font-size:12px;color:#b4b9c0}
.auth-copy a{color:#b4b9c0;text-decoration: none;}
.auth-toast{position:fixed;left:50%;top:16%;transform:translateX(-50%);max-width:80vw;background:rgba(28,32,38,.9);color:#fff;font-size:14px;line-height:1.5;padding:10px 22px;border-radius:6px;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s;z-index:99}
.auth-toast.on{opacity:1}
@media (max-width:900px){
.auth-visual{display:none}
.auth-panel{padding:32px 20px}
.auth-mlogo{display:block}
.auth-title{font-size:26px}
.auth-sub{margin-bottom:28px}
}
.auth-agree a{color:#b4b9c0;text-decoration: none;}

/* ===================================================================
   TP8 迁移增强（§76）：更完整的自适应 —— 原文件仅处理 ≤900px 隐藏插画区，
   以下补齐「短视口 / 手机 / 超窄屏 / 横屏 / 深色跟随」五类边界
   =================================================================== */
.auth-panel{overflow-y:auto;-webkit-overflow-scrolling:touch}

/* ① 桌面短视口（笔记本 768 高）：压缩纵向留白，保证按钮与页脚可见 */
@media (max-height:720px) and (min-width:901px){
  .auth-panel{padding:32px 24px}
  .auth-sub{margin-bottom:26px}
  .auth-copy{margin-top:26px}
  .auth-logo{top:26px}
}

/* ② 平板竖屏及以下：隐藏插画区，顶部露出 logo */
@media (max-width:900px){
  .auth-wrap{display:block}
  .auth-panel{min-height:100vh}
}

/* ③ 手机：输入框/按钮加高便于点按，间距收紧 */
@media (max-width:600px){
  .auth-panel{padding:28px 18px}
  .auth-box{max-width:100%}
  .auth-mlogo{margin-bottom:20px}
  .auth-title{font-size:23px;margin-bottom:8px}
  .auth-sub{font-size:13px;color:#a3a9b0;margin-bottom:22px}
  .auth-field{margin-bottom:14px}
  .auth-field input{height:48px;font-size:15px}
  .auth-btn{height:48px;font-size:16px}
  .auth-foot{margin-top:20px}
  .auth-copy{margin-top:26px}
  .auth-cap{height:38px;width:92px}
  .auth-field.has-r input{padding-right:108px}
  .auth-field.has-eye input{padding-right:48px}
  .auth-toast{top:12%;font-size:13px;padding:9px 16px;max-width:88vw}
}

/* ④ 超窄屏（iPhone SE 等 ≤360px） */
@media (max-width:360px){
  .auth-title{font-size:21px}
  .auth-sub{font-size:12px}
  .auth-field input{height:44px;font-size:14px}
  .auth-btn{height:44px;font-size:15px}
  .auth-cap{height:34px;width:84px}
  .auth-field.has-r input{padding-right:100px}
}

/* ⑤ 横屏矮视口（手机横屏 ≤480px 高）：进一步压缩，隐藏次要文案 */
@media (max-height:480px){
  .auth-panel{padding:16px 18px}
  .auth-mlogo{margin-bottom:10px}
  .auth-mlogo img{height:30px}
  .auth-title{font-size:19px;margin-bottom:6px}
  .auth-sub{display:none}
  .auth-field{margin-bottom:10px}
  .auth-field input{height:42px}
  .auth-btn{height:42px;margin-top:4px}
  .auth-foot{margin-top:12px}
  .auth-copy{display:none}
}

/* ⑥ 深色模式跟随系统（无切换按钮，零干扰） */
@media (prefers-color-scheme:dark){
  body.auth-body{background:#12151a;color:#e8eaed}
  .auth-panel{background:#12151a}
  .auth-visual{background:linear-gradient(165deg,#161c26 0%,#141a24 48%,#121821 100%)}
  .auth-visual::before{background:#1f2c44}
  .auth-visual::after{border-color:#2a3a58}
  .auth-dot{background:#3b4a63}
  .auth-art{opacity:.86;filter:brightness(.82) saturate(.92)}
  .auth-title{color:#e8eaed}
  .auth-sub{color:#8b9099}
  .auth-field input{background:#1e222a;color:#e8eaed}
  .auth-field input::placeholder{color:#6b7280}
  .auth-field input:focus{background:#232832;box-shadow:0 0 0 2px rgba(47,107,255,.32)}
  .auth-eye{color:#6b7280}
  .auth-cap{background:#2a2f38}
  .auth-foot{color:#8b9099}
  .auth-copy{color:#5f6672}
}