/* =========================================================
   会员模块：登录 / 注册 / 个人中心
   ========================================================= */

/* ---------- 登录 / 注册 卡片 ---------- */
.auth{max-width:440px;margin:52px auto;background:var(--paper-2);border:1px solid var(--line);
  border-radius:12px;padding:34px 40px 30px;box-shadow:var(--shadow);position:relative;}
.auth::before{content:"";position:absolute;inset:8px;border:2px double var(--cinnabar);border-radius:8px;pointer-events:none;}
.auth .hd{text-align:center;margin-bottom:22px;position:relative;z-index:1;}
.auth .hd .seal{display:inline-block;width:56px;height:56px;line-height:1.1;border:2px solid var(--cinnabar);border-radius:10px;
  color:var(--cinnabar);font-family:var(--serif);font-size:16px;padding:7px 0;margin-bottom:12px;background:var(--paper);}
.auth h2{font-family:var(--serif);font-size:25px;letter-spacing:4px;margin:4px 0 4px;}
.auth .sub{font-size:13px;color:var(--ink-3);letter-spacing:1px;}
.field{margin-bottom:16px;position:relative;z-index:1;}
.field label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:6px;letter-spacing:1px;}
.field input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:#fffdf8;
  font-family:var(--serif);font-size:15px;color:var(--ink);transition:.2s;}
.field input:focus{outline:none;border-color:var(--cinnabar);box-shadow:0 0 0 3px rgba(158,43,37,.1);}
.field .code{display:flex;gap:10px;align-items:flex-start;}
.field .code input{flex:1;}
.field .code img{cursor:pointer;border-radius:8px;border:1px solid var(--line);height:44px;flex:0 0 auto;}
.auth .btn{display:block;width:100%;text-align:center;padding:12px;border-radius:10px;background:var(--cinnabar);
  color:#f6efe2;font-size:16px;letter-spacing:4px;border:none;cursor:pointer;transition:.2s;margin-top:8px;font-family:var(--serif);}
.auth .btn:hover{background:var(--cinnabar-d);}
.auth .alt{display:flex;justify-content:space-between;margin-top:16px;font-size:13px;color:var(--ink-3);position:relative;z-index:1;}
.auth .alt a{color:var(--cinnabar);}
.auth .alt a:hover{text-decoration:underline;}
.auth .tip{font-size:12px;color:var(--ink-3);margin-top:10px;text-align:center;position:relative;z-index:1;}

/* ---------- 登錄頁卡內公告（方案F·朱帛流光 · 後台 admin_notice.php 開關） ---------- */
.site-notice.in-auth{position:relative;z-index:1;overflow:hidden;background:linear-gradient(90deg,#9e2b25,#a8342c,#9e2b25);color:#f8f0dd;border:1px solid #c99a5b;border-radius:8px;margin:0 0 18px;padding:11px 14px;box-shadow:0 3px 10px rgba(158,43,37,.22);}
.site-notice.in-auth::after{content:"";position:absolute;top:-10px;bottom:-10px;left:-90px;width:70px;background:linear-gradient(105deg,transparent,rgba(255,241,205,.28),transparent);animation:ntSweep 3.6s ease-in-out infinite;}
@keyframes ntSweep{60%,100%{left:calc(100% + 90px);}}
@media (prefers-reduced-motion:reduce){.site-notice.in-auth::after{animation:none;display:none;}}
.site-notice.in-auth .wrap{display:block;max-width:none;padding:0;font-size:12.5px;line-height:1.8;text-align:justify;}
.site-notice.in-auth .nt-label{display:inline;color:#f0d49a;font-size:12.5px;font-weight:700;letter-spacing:2px;background:none;border-radius:0;padding:0;margin-right:2px;}
.site-notice.in-auth .nt-label::after{content:"·";margin:0 8px 0 10px;color:rgba(240,212,154,.75);}
.site-notice.in-auth .nt-txt{font-size:12.5px;color:#f8f0dd;white-space:pre-line;}
/* 登錄/註冊 印章改線描圖案（SVG） */
.auth .hd .seal{display:flex;align-items:center;justify-content:center;margin:0 auto 12px;padding:0;}
.auth .hd .seal svg{width:30px;height:30px;color:var(--cinnabar);}

/* ---------- 个人中心 ---------- */
.uc{display:grid;grid-template-columns:1fr 300px;gap:28px;margin:30px 0;}
.uc-main{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:26px 30px;min-width:0;}
.uc-side{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:22px;align-self:start;position:sticky;top:84px;}
.uc-side .mcard{text-align:center;border-bottom:1px dashed var(--line);padding-bottom:16px;margin-bottom:16px;}
.uc-side .mcard .ava{width:74px;height:74px;border-radius:50%;border:2px solid var(--cinnabar);margin:0 auto 10px;
  background:var(--paper) center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:var(--cinnabar);font-family:var(--serif);font-size:30px;}
.uc-side .mcard .un{font-family:var(--serif);font-size:19px;letter-spacing:2px;}
.uc-side .mcard .gd{display:inline-block;margin-top:6px;font-size:12px;color:#f6efe2;background:var(--cinnabar);padding:2px 12px;border-radius:10px;letter-spacing:1px;}
.uc-side .mstat{display:flex;justify-content:space-around;text-align:center;margin:14px 0;font-size:12px;color:var(--ink-3);}
.uc-side .mstat b{display:block;font-size:18px;color:var(--ink);font-weight:600;margin-bottom:2px;}
.uc-side .mact{display:flex;flex-direction:column;gap:9px;}
.uc-side .mact a{flex:1;text-align:center;padding:9px;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--ink-2);background:var(--paper);transition:.2s;}
.uc-side .mact a:hover{border-color:var(--cinnabar);color:var(--cinnabar);}
.uc-side .mact a.out{color:var(--ink-3);}

.uc-sec{margin-bottom:26px;}
.uc-sec h3{font-family:var(--serif);font-size:19px;letter-spacing:2px;margin:0 0 14px;padding-left:12px;border-left:3px solid var(--cinnabar);}
.uc-fav{display:flex;flex-direction:column;gap:10px;}
.uc-fav .row{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px 14px;}
.uc-fav .row .cv{width:46px;height:60px;border-radius:4px;border:1px solid var(--line);background:var(--paper-3);
  display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font-family:var(--serif);font-size:13px;color:var(--ink-2);letter-spacing:2px;}
.uc-fav .row .t{font-size:14px;color:var(--ink);line-height:1.5;}
.uc-fav .row .t span{display:block;font-size:12px;color:var(--ink-3);margin-top:3px;}
.uc-fav .row .go{font-size:12px;color:var(--cinnabar);white-space:nowrap;}

/* 内容页：會員專享區（基礎版 · 登錄可見） */
.vipzone{margin:18px 0;border:1px dashed var(--cinnabar);border-radius:10px;padding:16px 18px;background:rgba(158,43,37,.05);}
.vipzone .tag{display:inline-block;background:var(--cinnabar);color:#f6efe2;font-size:12px;padding:2px 12px;border-radius:10px;letter-spacing:1px;margin-bottom:8px;}
.vipzone p{margin:0 0 10px;font-size:14px;color:var(--ink-2);line-height:1.7;}
.vipzone .btn{display:inline-block;}

@media(max-width:780px){.uc{grid-template-columns:1fr;}.uc-side{position:static;}}
@media(max-width:560px){.auth{padding:26px 22px;margin:30px 16px;}}

/* 内容页：每日下載剩餘次數提示 */
.dl-limit{display:inline-block;margin-left:8px;font-size:12px;color:var(--cinnabar);letter-spacing:1px;vertical-align:middle;}
.dl-limit.full{color:var(--ink-3);}

/* 返回舊版入口（登錄頁卡片底部） */
.auth .legacy-row{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);text-align:center;}
.auth .legacy-row a{display:inline-block;font-family:var(--serif);font-size:12.5px;letter-spacing:2.5px;color:#8a6f3c;border:1px solid #c2ab7e;padding:7px 24px;border-radius:5px;text-decoration:none;transition:.2s;background:transparent;line-height:1;}
.auth .legacy-row a:hover{color:#6e5728;border-color:#a8884e;background:rgba(168,136,78,.08);}
