/* 睿思熊猫官网 · 弹窗样式（登录 / 开通会员）
   官网首页（index.html）与会员页（member.html）共用；配合 assets/ruisi-auth.js 使用。 */

[hidden] { display: none !important; }

/* 弹窗自带盒模型重置：不依赖宿主页面的全局 reset（会员页/首页各自的 reset 范围不同） */
.ruisi-mask, .ruisi-mask *, .ruisi-mask *::before, .ruisi-mask *::after { box-sizing: border-box; }

.ruisi-mask {
  position: fixed; inset: 0; z-index: 130; display: grid; place-items: center; padding: 22px;
  background: #06121ad9; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.ruisi-card {
  position: relative; width: min(440px, 94vw); max-height: 92svh; overflow: auto;
  background: #fff; color: #202124; border-radius: 24px; padding: 30px 28px 26px;
  box-shadow: 0 30px 70px rgba(3, 12, 20, .5);
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  font-size: 14px; line-height: 1.8; text-align: left;
}
.ruisi-card.wide { width: min(520px, 94vw); }
.ruisi-close {
  position: absolute; right: 16px; top: 6px; border: 0; background: transparent;
  color: #98a4ae; font-size: 32px; line-height: 1; font-weight: 200; cursor: pointer;
}
.ruisi-close:hover { color: #202124; }
.ruisi-eyebrow { margin: 0 0 10px; font-size: 10px; font-weight: 800; letter-spacing: .2em; color: #ff7a45; }
.ruisi-card h2 { margin: 0 0 8px; font-size: 25px; letter-spacing: -.02em; line-height: 1.3; }
.ruisi-sub { margin: 0 0 20px; font-size: 12.5px; line-height: 1.75; color: #6f747a; }
.ruisi-field { display: block; margin-bottom: 13px; }
.ruisi-field > span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: #39424b; }
.ruisi-field input, .ruisi-field select {
  width: 100%; height: 47px; border: 1px solid #dfe3e8; border-radius: 13px; padding: 0 14px;
  font-size: 14px; color: #202124; background: #fbfcfd; outline: none; transition: .2s;
  font-family: inherit;
}
.ruisi-field input:focus, .ruisi-field select:focus {
  border-color: #3478f6; background: #fff; box-shadow: 0 0 0 3px rgba(52, 120, 246, .12);
}
.ruisi-error { min-height: 17px; margin: 0; font-size: 12px; color: #e34b36; }
.ruisi-submit {
  width: 100%; height: 49px; margin-top: 4px; border: 0; border-radius: 99px;
  background: #101c26; color: #d8ff63; font-size: 14px; font-weight: 800; cursor: pointer;
  font-family: inherit;
}
.ruisi-submit:hover { background: #1c3140; }
.ruisi-submit[disabled] { opacity: .6; cursor: default; }
.ruisi-tip {
  margin-top: 15px; padding: 12px 14px; border: 1px dashed #ccd4cc; border-radius: 13px;
  background: #f7f8f3; font-size: 11.5px; line-height: 1.85; color: #5d6b74;
}
.ruisi-tip b { color: #101c26; }
.ruisi-tip button {
  margin-top: 9px; border: 1px solid #101c26; background: #fff; border-radius: 99px;
  padding: 6px 13px; font-size: 11px; font-weight: 700; cursor: pointer; font-family: inherit;
}
.ruisi-tip button:hover { background: #101c26; color: #fff; }
.ruisi-actions { display: grid; gap: 9px; }
.ruisi-actions a, .ruisi-actions button {
  height: 45px; border: 0; border-radius: 99px; display: grid; place-items: center;
  font-size: 13px; font-weight: 800; cursor: pointer; font-family: inherit;
}
.ruisi-actions .primary { background: #3478f6; color: #fff; }
.ruisi-actions .ghost { background: #f1f2ee; color: #101c26; }
.ruisi-actions .ghost:hover { background: #e6e8e1; }
.ruisi-ok {
  width: 58px; height: 58px; margin: 0 auto 12px; border-radius: 50%; background: #e9f7ea;
  color: #2f9e51; font-size: 27px; display: grid; place-items: center;
}
.ruisi-center { text-align: center; }
.ruisi-center h3 { margin: 0 0 7px; font-size: 20px; }
.ruisi-center p { margin: 0 0 18px; font-size: 12.5px; line-height: 1.75; color: #6f747a; }

/* 用户/会员信息块 */
.ruisi-user { display: flex; align-items: center; gap: 12px; margin: 4px 0 16px; }
.ruisi-avatar {
  width: 46px; height: 46px; flex: none; border-radius: 50%; background: linear-gradient(145deg, #ffe46e, #ffc928);
  color: #1e1e1e; font-weight: 900; font-size: 18px; display: grid; place-items: center;
}
.ruisi-user b { display: block; font-size: 15px; }
.ruisi-user small { display: block; color: #6f747a; font-size: 12px; }
.ruisi-badge {
  display: inline-block; margin-top: 5px; padding: 2px 10px; border-radius: 99px;
  font-size: 11px; font-weight: 800; background: #eef4ff; color: #3478f6;
}
.ruisi-badge.on { background: #e9f7ea; color: #2f9e51; }

/* 订单行 / 结果块 */
.ruisi-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 0; border-bottom: 1px dashed #f0ece3; font-size: 13.5px;
}
.ruisi-row:last-of-type { border-bottom: 0; }
.ruisi-row span { color: #6f747a; }
.ruisi-row b { font-weight: 800; }
.ruisi-row b.amount { color: #ff7a45; font-size: 18px; }
.ruisi-order {
  margin: 12px 0 4px; padding: 13px 15px; border-radius: 14px; background: #f7f9fc;
  border: 1px solid #e5ecf6; font-size: 12.5px; line-height: 1.9; color: #4a5460; word-break: break-all;
}
.ruisi-order b { color: #101c26; }
.ruisi-loading { padding: 14px 0; text-align: center; color: #6f747a; font-size: 12.5px; }

/* 支付接入中提示 */
.ruisi-notice {
  margin: 12px 0 4px; padding: 13px 15px; border-radius: 14px; background: #fff8e8;
  border: 1px solid #f3dfae; font-size: 12.5px; line-height: 1.9; color: #6b5c2a;
}
.ruisi-notice b { display: block; margin-bottom: 2px; color: #b9611a; font-size: 14px; }
