:root { --bg:#f3f4f6; --bd:#e5e7eb; --txt:#111827; --muted:#6b7280; }
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--txt)}
.bg{background:var(--bg)}
.wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px}
.wrap.wide{align-items:flex-start}
.panel{width:380px;max-width:94vw}
.brand{font-weight:800;font-size:18px;text-align:center;margin:12px 0}
.card{background:#fff;border:1px solid var(--bd);border-radius:18px;padding:16px}
h1{margin:10px 0 14px;font-size:30px}
.btn{width:100%;border:0;border-radius:999px;padding:14px 16px;font-size:16px;cursor:pointer}
.btn.light{background:#fff;border:1px solid var(--bd)}
.btn.dark{background:#111827;color:#fff}
.input{width:100%;border:1px solid var(--bd);border-radius:12px;padding:16px;font-size:16px;margin:12px 0;outline:none}
.or{position:relative;text-align:center;margin:14px 0;color:var(--muted)}
.or span{background:#fff;padding:0 10px}
.or:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--bd)}
.link{display:block;text-align:center;margin-top:12px;color:#2563eb;text-decoration:none}
.footer{margin-top:18px;text-align:center;color:var(--muted)}
/* admin */
.wide .panel{width:1100px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.box{border:1px solid var(--bd);border-radius:12px;background:#fafafa;padding:12px}
.log{height:260px;overflow:auto}
.line{padding:6px 0;border-bottom:1px dashed var(--bd);font-size:14px}
.row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--bd)}
.muted{color:var(--muted);font-size:12px}
.u-card{border:1px solid var(--bd);border-radius:12px;background:#fff;padding:10px;margin-bottom:10px}
.u-head{display:flex;justify-content:space-between;margin-bottom:8px}
.u-line{display:flex;gap:10px;padding:6px 0;border-top:1px dashed var(--bd)}
.k{width:64px;color:var(--muted)}
.v{flex:1;word-break:break-all}
@media (max-width: 900px){ .grid{grid-template-columns:1fr} }
.toast{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  padding: 12px 16px;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  transform: translateY(100%);
  transition: transform .2s ease;
  z-index: 9999;
  text-align: left;
}
.toast.show{
  transform: translateY(0);
}
/* ===== 手机端全屏登录样式 ===== */
body.fullscreen {
  background: #ffffff;   /* 整个屏幕白色 */
}

body.fullscreen .wrap {
  min-height: 100vh;
  align-items: flex-start;   /* 内容从顶部开始 */
  padding: 0;
}

body.fullscreen .panel {
  width: 100%;
  max-width: 100%;
}

body.fullscreen .card {
  border-radius: 0;          /* 去掉圆角 */
  border: none;              /* 去掉边框 */
  min-height: 100vh;         /* 卡片撑满屏幕 */
  padding-top: 16px;
}
/* ===== 解决第二页“重影 / 双层白卡”问题 ===== */

/* fullscreen 模式下，彻底移除 panel 的卡片效果 */
body.fullscreen .panel {
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin: 0;
}

/* fullscreen 模式下，card 变成纯内容容器 */
body.fullscreen .card {
  background: transparent;
  box-shadow: none;
}

/* 确保 wrap 不再制造居中留白 */
body.fullscreen .wrap {
  padding: 0;
}
.topbar{
  height: 56px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 12px;
}

.logo-img{
  height: 65px;
}
/* ===== 第三方登录按钮样式 ===== */
.oauth{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;              /* 图标和文字的距离 */
}

.oauth-icon{
  width: 26px;
  height: 26px;
}
/* =========================
   全站统一 Logo 样式
   ========================= */

.top-logo {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 20px;
  margin-bottom: 24px;
}

.top-logo img {
  width: 72px;          /* 统一 logo 大小（像 X 官方） */
  max-width: 72px;
  height: auto;
  display: block;
}
/* ===== 第四页：标题强制一行 ===== */
body.page4 .card h1 {
  font-size: 20px;        /* 稍微小一点，保证一行 */
  font-weight: 700;
  white-space: nowrap;    /* ⭐ 关键：禁止换行 */
  line-height: 1.2;
}
/* ===== 第四页标题强制一行显示 ===== */
.title-one-line{
  white-space: nowrap !important;   /* 不允许换行 */
  font-size: 20px;                  /* 字号稍微小一点 */
  line-height: 1.25;
}
