/* ===== Reset ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;height:100%;overflow:hidden;position:fixed;width:100%}
body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Helvetica Neue',sans-serif;font-size:14px;color:#1a1a2e;background:#888;overflow:hidden;-webkit-font-smoothing:antialiased;height:100%;width:100%;position:fixed}

/* ===== PC端手机宽度限制 ===== */
.phone-wrap{
  max-width:375px;
  height:100vh;
  height:100dvh; /* 动态视口高度，适配移动端浏览器 */
  margin:0 auto;
  background:#f4f4f8;
  position:relative;
  overflow:hidden;
  box-shadow:0 0 40px rgba(0,0,0,.3);
  display:flex;
  flex-direction:column;
  width:100%;
}

/* ===== 触摸目标优化 ===== */
button, a, input, textarea, select {
  touch-action: manipulation;
  min-height: 44px;
  min-width: 44px;
}

/* ===== 响应式字体大小 ===== */
@media (max-width: 375px) {
  body { font-size: 13px; }
  .top-bar__title { font-size: 15px; }
  .nav-card__name { font-size: 14px; }
  .service-card__title { font-size: 14px; }
  .moment-item__name { font-size: 13px; }
  .profile-name { font-size: 16px; }
}

/* ===== 强制在所有设备上显示为手机宽度 ===== */
@media (min-width: 768px) {
  body {
    max-width: 100vw;
    overflow: hidden;
    background: #888;
    height: 100vh;
  }
  body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #888;
    z-index: -1;
  }
  .phone-wrap {
    max-width: 375px;
    margin: 0 auto;
    background: #f4f4f8;
    height: 100vh;
    position: relative;
    box-shadow: 0 0 40px rgba(0,0,0,.3);
    display: flex;
    flex-direction: column;
  }
  .top-bar {
    position: relative;
    flex-shrink: 0;
    z-index: 100;
  }
  .page-wrap {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
  }
  .bottom-nav {
    position: relative;
    flex-shrink: 0;
    left: 0;
    transform: none;
    max-width: 375px;
    z-index: 100;
  }
}

/* ===== 触摸反馈优化 ===== */
.btn-primary,
.btn-outline,
.btn-visit,
.btn-copy,
.moment-action-btn,
.nav-tab,
.banner-slide,
.nav-card {
  -webkit-tap-highlight-color: rgba(124, 58, 237, 0.2);
}

/* ===== 滚动优化 ===== */
/* 隐藏滚动条但保持滚动功能 */
::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

* {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

a{text-decoration:none;color:inherit}
button{cursor:pointer;border:none;background:none;font-family:inherit;-webkit-appearance:none}
input,textarea,select{-webkit-appearance:none;font-family:inherit}

/* ===== 主题变量 ===== */
:root{
  --c1:#7c3aed;
  --c2:#a855f7;
  --accent:#e91e8c;
  --bg:#f4f4f8;
  --card:#fff;
  --border:#ebebf0;
  --text:#1a1a2e;
  --sub:#888;
  --r:12px;
  --shadow:0 2px 8px rgba(0,0,0,.06);
}

/* ===== 顶部导航 ===== */
.top-bar{
  position:relative;z-index:100;flex-shrink:0;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:10px 14px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--border);
}
.top-bar__left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.top-bar__logo{
  width:44px;height:44px;border-radius:10px;object-fit:cover;
  flex-shrink:0;background:#ebebf0;
}
.top-bar__logo--placeholder{background:linear-gradient(135deg,var(--c1),var(--c2))}
.top-bar__info{display:flex;flex-direction:column;min-width:0}
.top-bar__title{font-size:16px;font-weight:700;color:var(--text);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-bar__sub{font-size:11px;color:#ff0000;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.share-btn{
  flex-shrink:0;
  background:linear-gradient(135deg,var(--c1),var(--c2));
  color:#fff;border-radius:20px;padding:7px 14px;
  font-size:13px;font-weight:600;
  display:flex;align-items:center;gap:5px;
  white-space:nowrap;
  box-shadow:0 2px 8px rgba(124,58,237,.3);
}

/* ===== 页面容器 ===== */
.page-wrap{
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  position:relative;
  min-height:0;
  overscroll-behavior:contain;
  animation:pageFadeIn .18s ease-out;
  transition:opacity .15s ease-out;
}
@keyframes pageFadeIn{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}

/* ===== 底部导航 ===== */
.bottom-nav{
  position:relative;z-index:100;flex-shrink:0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  display:flex;
  border-top:1px solid var(--border);
  min-height:58px;
  padding-top:8px;
  padding-bottom:calc(8px + env(safe-area-inset-bottom, 0px)); /* 适配iPhone刘海屏 */
  width:100%;
}
.bottom-nav__item{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;font-size:10px;color:#bbb;transition:color .2s;
  position:relative;
}
.bottom-nav__item svg{transition:stroke .2s}
.bottom-nav__item.active{color:var(--c1)}
.bottom-nav__item.active svg{stroke:var(--c1)}
.bottom-nav__item.active::after{
  content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:20px;height:2px;border-radius:1px;background:var(--c1);
}



/* ===== 弹窗 ===== */
.modal-mask{
  position:fixed;inset:0;z-index:200;
  background:rgba(0,0,0,.4);
  display:flex;align-items:flex-end;justify-content:center;
  padding:0;
}
@media(min-width:376px){
  .modal-mask{
    max-width:375px;
    left:50%;
    transform:translateX(-50%);
    width:100%;
  }
}
@media(max-width:375px){
  .modal-mask{left:0;transform:none;max-width:100%}
}
.modal-box{
  background:#fff;border-radius:16px 16px 0 0;
  width:100%;max-width:100%;
  overflow:hidden;
  animation:slideUp .22s cubic-bezier(.4,0,.2,1);
}

/* ===== 登录注册弹窗样式 ===== */
#authModal{
  align-items:center !important;
  padding:16px !important;
}
@media(min-width:376px){
  #authModal{
    max-width:100vw !important;
    left:0 !important;
    transform:none !important;
  }
}
.auth-modal-box{
  border-radius:16px !important;
  max-width:340px !important;
  width:100% !important;
  max-height:85vh !important;
  display:flex !important;
  flex-direction:column !important;
  animation:authModalFadeIn .3s cubic-bezier(.4,0,.2,1) !important;
}
@keyframes authModalFadeIn{
  from{transform:scale(0.9);opacity:0}
  to{transform:scale(1);opacity:1}
}
.auth-modal-box .modal-head{
  flex-shrink:0;
  padding:14px 16px;
  border-bottom:1px solid var(--border);
}
.auth-modal-box .modal-body{
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  padding:16px;
  /* 隐藏滚动条 */
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.auth-modal-box .modal-body::-webkit-scrollbar{
  display:none;
  width:0;
  height:0;
}
.auth-modal-box .modal-footer{
  flex-shrink:0;
  padding:12px 16px;
  border-top:1px solid var(--border);
  background:#fff;
}

@keyframes slideUp{from{transform:translateY(100%);opacity:.5}to{transform:translateY(0);opacity:1}}

/* 弹窗公告特殊样式：居中显示 - 使用 !important 确保优先级 */
#popupNotice{
  align-items:center !important;
  padding:16px !important;
}
@media(min-width:376px){
  #popupNotice{
    max-width:100vw !important;
    left:0 !important;
    transform:none !important;
  }
}
#popupNotice .modal-box{
  border-radius:16px !important;
  max-width:340px !important;
  animation:popupFadeIn .3s cubic-bezier(.4,0,.2,1) !important;
}
@keyframes popupFadeIn{
  from{
    transform:scale(0.9);
    opacity:0;
  }
  to{
    transform:scale(1);
    opacity:1;
  }
}
.modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 16px 12px;
  font-weight:700;font-size:16px;color:var(--text);
}
.modal-close{
  width:28px;height:28px;border-radius:50%;
  background:#f4f4f8;display:flex;align-items:center;justify-content:center;
  color:#888;font-size:14px;line-height:1;
  transition:background .15s;
  flex-shrink:0;
}
.modal-close:active{background:#e8e8f0}
.modal-body{padding:0 16px 20px}

/* ===== 分享弹窗 ===== */
.share-label{font-size:12px;color:var(--sub);margin-bottom:8px;font-weight:500}
.share-copy-row{display:flex;gap:8px}
.share-input{
  flex:1;padding:9px 12px;
  border:1.5px solid var(--border);border-radius:8px;
  font-size:13px;color:var(--c1);outline:none;min-width:0;
  background:#f9f9fc;
}

/* ===== 弹窗公告 ===== */
.popup-notice-logo{text-align:center;margin-bottom:14px}
.popup-notice-logo img{width:64px;height:64px;border-radius:14px;margin:0 auto;object-fit:cover;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.popup-notice-content{font-size:14px;color:#444;line-height:1.75;margin-bottom:18px;white-space:pre-wrap}

/* ===== 轮播图 ===== */
.banner-wrap{
  position:relative;overflow:hidden;
  margin:12px;border-radius:14px;
  background:#ebebf0;
  box-shadow:0 4px 16px rgba(0,0,0,.08);
}
.banner-slider{display:flex;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform}
.banner-slide{min-width:100%;cursor:pointer;overflow:hidden;position:relative}
.banner-slide img{width:100%;height:180px;object-fit:cover;display:block}
.banner-link{display:block;width:100%;height:100%;text-decoration:none}
.banner-dots{
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);
  display:flex;gap:5px;
}
.banner-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.5);cursor:pointer;
  transition:all .25s;
  position:relative;overflow:hidden;
}

/* ===== 轮播图点点击效果 ===== */
.banner-dot::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transform: translate(-50%, -50%);
  transition: width 0.3s, height 0.3s;
}

.banner-dot:active::after {
  width: 50px;
  height: 50px;
}
.banner-dot.active{width:20px;border-radius:3px;background:#fff}

/* ===== 滚动公告 ===== */
.scroll-notice{
  display:flex;align-items:center;gap:8px;
  background:#1a1a2e;color:#fff;
  padding:9px 14px;margin:10px 12px 4px;border-radius:10px;
  overflow:hidden;
  min-height:36px;
}
.scroll-notice__icon{flex-shrink:0;display:flex;align-items:center}
/* 所有公告：统一使用JS控制的无缝滚动 */
.scroll-notice .scroll-notice__track{
  flex:1;
  overflow:hidden;
  white-space:nowrap;
  position:relative;
  height:20px;
  line-height:20px;
}
.scroll-notice .scroll-notice__track span{
  display:inline-block;
  font-size:13px;
  white-space:nowrap;
  will-change:transform;
  position:relative;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}

/* ===== 页面公告条 ===== */
.page-notice{
  background:linear-gradient(135deg,var(--c1),var(--c2));
  color:#fff;text-align:center;
  padding:8px 14px;font-size:13px;font-weight:500;
  margin:0 12px 8px;border-radius:10px;
  box-shadow:0 2px 8px rgba(124,58,237,.2);
}

/* ===== 导航分类 ===== */
.nav-section{margin:8px 12px 4px}
.nav-tabs{
  display:flex;gap:6px;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:2px;
  margin-bottom:10px;
  /* 隐藏滚动条 */
  scrollbar-width:none;
  -ms-overflow-style:none;
  /* 平滑滚动 */
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  /* 防止滚动穿透 */
  overscroll-behavior-x:contain;
}
.nav-tabs::-webkit-scrollbar{
  display:none;
  width:0;
  height:0;
}
.nav-tab{
  flex-shrink:0;padding:7px 18px;border-radius:20px;
  font-size:13px;font-weight:500;color:var(--sub);
  background:#fff;border:1.5px solid var(--border);
  transition:all .18s;white-space:nowrap;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}
.nav-tab.active{
  background:linear-gradient(135deg,var(--c1),var(--c2));
  color:#fff;border-color:transparent;
  box-shadow:0 2px 8px rgba(124,58,237,.25);
}
.nav-list{display:none}
.nav-list.active{display:flex;flex-direction:column;gap:10px}
.nav-card{
  background:#fff;border-radius:var(--r);
  padding:12px 14px;
  display:flex;align-items:center;gap:12px;
  box-shadow:var(--shadow);
  transition:transform .15s,box-shadow .2s;
  position:relative;overflow:hidden;
}
.nav-card:active{transform:scale(.98);box-shadow:0 1px 4px rgba(0,0,0,.1)}

/* ===== 导航卡片点击效果 ===== */
.nav-card::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(124, 58, 237, 0.1);
  transform: translate(-50%, -50%);
  transition: width 0.3s, height 0.3s;
}

.nav-card:active::after {
  width: 300px;
  height: 300px;
}
.nav-card__img{
  width:50px;height:50px;border-radius:10px;
  object-fit:cover;flex-shrink:0;background:#ebebf0;
}
.nav-card__info{flex:1;min-width:0}
.nav-card__name{
  font-size:15px;font-weight:600;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.nav-card__sub{
  font-size:12px;color:#ff0000;margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.btn-visit{
  flex-shrink:0;
  background:linear-gradient(135deg,var(--c1),var(--c2));
  color:#fff;padding:8px 14px;border-radius:20px;
  font-size:12px;font-weight:600;white-space:nowrap;
  display:inline-flex;align-items:center;gap:3px;
  box-shadow:0 2px 6px rgba(124,58,237,.25);
}

/* ===== 客服卡片 ===== */
.service-list{padding:8px 12px;display:flex;flex-direction:column;gap:14px}
.service-card{
  background:#fff;border-radius:14px;padding:16px;
  box-shadow:var(--shadow);
}
.service-card__head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.service-card__icon{
  width:52px;height:52px;border-radius:12px;
  border:2.5px solid #fff;overflow:hidden;
  flex-shrink:0;background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.1);
}
.service-card__icon img{width:100%;height:100%;object-fit:cover}
.service-card__title{font-size:15px;font-weight:700;color:var(--text)}
.service-card__intro{font-size:12px;color:#ff0000;margin-top:3px}
.service-card__content{
  display:flex;align-items:center;justify-content:space-between;
  background:#f9f9fc;border-radius:10px;
  padding:11px 14px;margin-bottom:12px;gap:10px;
}
.service-card__account{font-size:15px;font-weight:600;color:var(--text);word-break:break-all}
.btn-copy{
  background:linear-gradient(135deg,var(--c1),var(--c2));
  color:#fff;padding:7px 14px;border-radius:8px;
  font-size:12px;font-weight:600;flex-shrink:0;white-space:nowrap;
  transition:opacity .15s;
}
.btn-copy:active{opacity:.8}
.service-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* ===== 朋友圈 ===== */
.moments-header{position:relative;height:226px;overflow:visible;margin-bottom:8px}
.moments-header__bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transition:filter .3s;
  height:210px;
}
.moments-header__info{
  position:absolute;bottom:0;right:16px;
  display:flex;flex-direction:row;align-items:flex-start;gap:10px;
}
.moments-header__title{
  color:#fff;font-size:15px;font-weight:700;
  text-shadow:0 1px 6px rgba(0,0,0,.5);
  order:1;
  padding-top:2px;
}
.moments-header__avatar{
  width:64px;height:64px;border-radius:12px;
  object-fit:cover;border:2.5px solid rgba(255,255,255,.9);
  box-shadow:0 4px 12px rgba(0,0,0,.3);background:#ebebf0;
  order:2;
}
.moments-list{background:#f4f4f8;padding:8px 0}
.moment-item{
  display:flex;gap:10px;padding:14px;
  background:#fff;margin-bottom:8px;
}
.moment-item__avatar{flex-shrink:0}
.moment-item__avatar img{
  width:42px;height:42px;border-radius:8px;
  object-fit:cover;background:#ebebf0;
}
.moment-item__body{flex:1;min-width:0}
.moment-item__name{font-size:14px;font-weight:600;color:#576b95;margin-bottom:5px}
.moment-item__text{font-size:14px;color:#333;line-height:1.7;word-break:break-all}
.moment-item__text.is-long{
  display:-webkit-box;-webkit-line-clamp:5;
  -webkit-box-orient:vertical;overflow:hidden;
}
.expand-link{font-size:13px;color:#576b95;margin-top:3px;display:inline-block}
.moment-imgs{display:grid;gap:6px;margin-top:8px}
.moment-imgs.cols-1{grid-template-columns:1fr;max-width:200px}
.moment-imgs.cols-2{grid-template-columns:1fr 1fr;max-width:260px}
.moment-imgs.cols-3{grid-template-columns:1fr 1fr 1fr}
.moment-img-item{cursor:zoom-in;overflow:hidden;border-radius:8px;aspect-ratio:1;background:#ebebf0;position:relative}
.moment-img-item img{
  width:100%;height:100%;object-fit:cover;
  border-radius:8px;display:block;transition:opacity .2s;
}
.moment-img-item:active img{opacity:.85}
/* 媒体混合网格（图片+视频统一） */
.moment-media-grid{display:grid;gap:6px;margin-top:8px}
.moment-media-grid.cols-1{grid-template-columns:1fr;max-width:200px}
.moment-media-grid.cols-2{grid-template-columns:1fr 1fr;max-width:260px}
.moment-media-grid.cols-3{grid-template-columns:1fr 1fr 1fr}
.moment-media-item{
  position:relative;aspect-ratio:1;
  border-radius:8px;overflow:hidden;
  background:#ebebf0;cursor:pointer;
}
.moment-media-item img,.moment-media-item video{
  width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;
}
.moment-media-item .play-btn{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.28);
}
.moment-media-item .play-btn::after{
  content:'';width:0;height:0;
  border-style:solid;border-width:10px 0 10px 18px;
  border-color:transparent transparent transparent rgba(255,255,255,.9);
  margin-left:4px;
}
/* 全屏视频播放器样式（已改为内嵌方案，CSS由行内样式控制） */
.moment-videos{display:none}
.moment-item__meta{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:10px;
}
.moment-time{font-size:12px;color:#ccc}
.moment-actions{display:flex;gap:6px}
.moment-action-btn{
  display:flex;align-items:center;gap:4px;
  font-size:13px;color:#bbb;
  padding:5px 10px;border-radius:8px;background:#f4f4f8;
  transition:color .15s,background .15s;
}
.moment-action-btn:active{background:#ebebf0}
.moment-action-btn.liked{color:var(--accent)}
.moment-likes-bar{
  font-size:13px;color:#576b95;
  background:#f4f4f8;border-radius:8px;
  padding:7px 10px;margin-top:8px;line-height:1.6;
}
.moment-comments{
  list-style:none;background:#f4f4f8;
  border-radius:8px;padding:7px 10px;margin-top:8px;
}
.moment-comment{font-size:13px;color:#333;padding:3px 0;line-height:1.55}
.moment-comment__user{color:#576b95;font-weight:600}

/* 官方标识 */
.official-badge{
  display:inline-block;
  padding:1px 6px;
  margin-left:4px;
  background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);
  color:#fff;
  font-size:10px;
  font-weight:600;
  border-radius:3px;
  vertical-align:middle;
  line-height:1.4;
  transform:scale(0.9);
}
.moment-likes-bar .official-badge{
  font-size:9px;
  padding:1px 4px;
}

.comment-box{display:flex;gap:8px;margin-top:10px;align-items:flex-end}
.comment-input{
  flex:1;padding:9px 10px;
  border:1.5px solid var(--border);border-radius:10px;
  font-size:13px;resize:none;outline:none;
  font-family:inherit;min-height:58px;
  transition:border-color .15s;background:#fff;
}
.comment-input:focus{border-color:var(--c1)}

/* ===== 我的页面 ===== */
.profile-header{
  background:#fff;padding:28px 16px 20px;
  text-align:center;margin-bottom:8px;
}
.profile-avatar-wrap{position:relative;display:inline-block;margin-bottom:12px}
.profile-avatar{
  width:76px;height:76px;border-radius:50%;
  object-fit:cover;border:3px solid var(--c1);background:#ebebf0;
}
.profile-avatar--default{
  width:76px;height:76px;border-radius:50%;
  background:linear-gradient(135deg,var(--c1),var(--c2));
  color:#fff;font-size:30px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  border:3px solid var(--c1);
}
.profile-avatar-edit{
  position:absolute;bottom:0;right:0;
  width:26px;height:26px;border-radius:50%;
  background:var(--c1);color:#fff;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2);
}
.profile-name{font-size:18px;font-weight:700;color:var(--text);margin-bottom:6px}
.profile-meta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}
.profile-meta__item{font-size:12px;color:#999}
.profile-tabs{
  display:flex;background:#fff;
  border-bottom:1px solid var(--border);margin-bottom:8px;
}
.profile-tab{
  flex:1;padding:13px;font-size:14px;color:#bbb;
  border-bottom:2px solid transparent;
  transition:color .15s,border-color .15s;
}
.profile-tab.active{color:var(--c1);border-bottom-color:var(--c1);font-weight:600}
.profile-tab-content{display:none;padding:8px 12px}
.profile-tab-content.active{display:block}
.profile-record{
  background:#fff;border-radius:10px;padding:13px;
  margin-bottom:8px;box-shadow:var(--shadow);
}
.profile-record__title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}
.profile-record__sub,.profile-record__content{font-size:13px;color:#666;margin-bottom:4px;line-height:1.5}
.profile-record__time{font-size:12px;color:#ccc}

/* ===== 通用按钮 ===== */
.btn-primary{
  background:linear-gradient(135deg,var(--c1),var(--c2));
  color:#fff;padding:11px 22px;border-radius:10px;
  font-size:14px;font-weight:600;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  transition:opacity .15s,transform .1s,box-shadow .2s;cursor:pointer;border:none;
  box-shadow:0 2px 8px rgba(124,58,237,.25);
  position:relative;overflow:hidden;
}
.btn-primary:active{opacity:.85;transform:scale(.97);box-shadow:0 1px 4px rgba(124,58,237,.3)}
.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn-outline{
  border:1.5px solid var(--c1);color:var(--c1);
  padding:9px 18px;border-radius:10px;
  font-size:13px;font-weight:600;
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  background:#fff;cursor:pointer;
  transition:background .15s,transform .1s,border-color .2s;
  position:relative;overflow:hidden;
}
.btn-outline:active{background:#f5f0ff;transform:scale(.97)}
.btn-block{width:100%;display:flex}
.btn-half{flex:1;justify-content:center}
.btn-sm{padding:7px 14px;font-size:12px;border-radius:8px}

/* ===== 按钮点击效果 ===== */
.btn-primary::after,
.btn-outline::after,
.btn-visit::after,
.btn-copy::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.3s, height 0.3s;
}

.btn-primary:active::after,
.btn-outline:active::after,
.btn-visit:active::after,
.btn-copy:active::after {
  width: 300px;
  height: 300px;
}

/* ===== 表单 ===== */
.form-group{margin-bottom:14px}
.form-group:last-child{margin-bottom:0}
.form-input{
  width:100%;padding:11px 13px;
  border:1.5px solid var(--border);border-radius:10px;
  font-size:14px;outline:none;
  transition:border-color .15s,box-shadow .15s;
  font-family:inherit;background:#fff;color:var(--text);
}
.form-input:focus{
  border-color:var(--c1);
  box-shadow:0 0 0 3px rgba(124,58,237,.1);
}
.form-err{color:#e53e3e;font-size:13px;margin-bottom:10px;min-height:18px}
.form-switch{text-align:center;font-size:13px;color:var(--sub);margin-top:12px;margin-bottom:0}
.form-switch a{color:var(--c1);font-weight:600}
.empty-tip{text-align:center;color:#ccc;padding:36px 0;font-size:14px}

/* ===== 补充样式 ===== */
.profile-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:4px}
.tab-count{font-size:11px;background:#f0f0f5;color:#888;border-radius:10px;padding:1px 6px;margin-left:4px}
.nav-card__img--empty{background:linear-gradient(135deg,#ebebf0,#ddd)}

/* ===== 表单错误提示 ===== */
.form-err{
  display:none;
  padding:8px 12px;
  background:#fef2f2;
  border:1px solid #fecaca;
  border-radius:8px;
  color:#b91c1c;
  font-size:13px;
  margin-bottom:12px;
  line-height:1.5;
}

/* ===== Toast ===== */
#toast{
  transition:opacity .3s;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}

/* ===== 返回顶部按钮 ===== */
.back-to-top{
  position:fixed;
  right:16px;
  bottom:calc(74px + env(safe-area-inset-bottom, 0px)); /* 底部导航栏上方，增加距离避免与评论按钮重叠 */
  width:40px;
  height:40px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--c1),var(--c2));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(124,58,237,.4);
  z-index:99; /* 低于导航栏的z-index，确保不会遮挡导航 */
  opacity:0;
  visibility:hidden;
  transform:translateY(20px);
  transition:opacity .3s,visibility .3s,transform .3s;
  -webkit-tap-highlight-color:transparent;
}
.back-to-top.visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:active{
  transform:scale(0.95);
}
.back-to-top svg{
  width:18px;
  height:18px;
  stroke:white;
  fill:none;
}

/* ===== 移动端适配优化 ===== */
@media(max-width:480px){
  .phone-wrap{
    max-width:100%;
    width:100%;
  }
  .back-to-top{
    right:16px;
  }
}

/* ===== PC端适配 ===== */
@media(min-width:481px){
  .back-to-top{
    right:calc(50% - 187.5px + 16px); /* 定位到.phone-wrap的右下角 */
  }
}

/* ===== iPhone 安全区域适配 ===== */
@supports(padding:max(0px)){
  .bottom-nav{
    padding-bottom:calc(8px + max(env(safe-area-inset-bottom), 8px));
    min-height:calc(58px + max(env(safe-area-inset-bottom), 0px));
  }
  .back-to-top{
    bottom:calc(84px + max(env(safe-area-inset-bottom), 0px));
  }
}

/* ===== 安卓设备适配 ===== */
@media screen and (max-height: 640px) {
  .top-bar {
    padding: 8px 14px;
  }
  .bottom-nav {
    min-height: 54px;
  }
}

/* ===== 小屏幕设备适配 ===== */
@media screen and (max-width: 360px) {
  .top-bar__title {
    font-size: 15px;
  }
  .top-bar__sub {
    font-size: 10px;
  }
  .bottom-nav__item {
    font-size: 9px;
  }
}

/* ===== PC端背景 ===== */
@media(min-width:481px){
  html,body{ background:#888; }
}
