*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  :root{
    --bg:#f4f6fa;
    --card:#ffffff;
    --line:#e8ecf2;
    --line-2:#dfe5ee;
    --ink:#111827;
    --ink-2:#39434f;
    --muted:#8b95a5;
    --muted-2:#a8b1bf;
    --blue:#2563eb;
    --blue-soft:#eef4ff;
    --spring:cubic-bezier(.34,1.56,.64,1);
    --soft:cubic-bezier(.22,.9,.28,1);
  }
  html,body{margin:0;padding:0}
  body{
    background:
      radial-gradient(900px 520px at 82% -8%, #ffffff 0%, rgba(255,255,255,0) 62%),
      radial-gradient(760px 420px at 4% 4%, #eef3fc 0%, rgba(238,243,252,0) 60%),
      linear-gradient(180deg,#f7f9fc 0%,#f1f4f9 100%);
    color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;
    -webkit-font-smoothing:antialiased;min-height:100vh;position:relative;
  }
  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.34;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.22'/%3E%3C/svg%3E");
    mix-blend-mode:multiply;
  }
  body>*{position:relative;z-index:1}

/* hidden 属性要真的隐藏：.login-btn / #homePage 等有 display 规则会盖掉 UA 的 [hidden] */
[hidden]{display:none !important}

  a{color:inherit;text-decoration:none}
  button{font-family:inherit}
  h1,h2,h3,p,ul{margin:0}
  .ico{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-2px}

  /* ---------- 顶栏 ---------- */
  .nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav-in{max-width:1200px;margin:0 auto;height:60px;padding:0 20px;display:flex;align-items:center;gap:22px}
  .brand{display:flex;align-items:center;gap:9px;flex:none}
  .mark{width:30px;height:30px;border-radius:8px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;letter-spacing:-.5px}
  .brand b{font-size:15.5px;font-weight:700;letter-spacing:-.2px}
  .menu{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
  .menu::-webkit-scrollbar{display:none}
  .menu a{font-size:14px;color:var(--ink-2);padding:7px 10px;border-radius:6px;white-space:nowrap;transition:background .2s var(--soft),color .2s var(--soft)}
  .menu a:hover{background:#f2f5fa;color:var(--blue)}
  .menu a.on{color:var(--blue);font-weight:600;background:var(--blue-soft)}
  .nav-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex:none}
  .login-btn{display:flex;align-items:center;gap:7px;height:34px;padding:0 13px;border:1px solid var(--line-2);background:#fff;border-radius:7px;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .2s var(--soft),transform .35s var(--spring),color .2s var(--soft)}
  .login-btn:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}
  .user-btn{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px 0 4px;border:1px solid transparent;background:transparent;border-radius:7px;cursor:pointer;font-size:13.5px;font-weight:600}
  .user-btn:hover{background:#f2f5fa}
  .ava{width:26px;height:26px;border-radius:50%;overflow:hidden;flex:none;background:#dbe4f2;color:#4b5563;display:grid;place-items:center;font-size:11px;font-weight:700}
  .ava img{width:100%;height:100%;object-fit:cover;display:block}

  /* ---------- 布局 ---------- */
  .layout{max-width:1200px;margin:0 auto;padding:22px 20px 60px;display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}

  .card{background:var(--card);border:1px solid var(--line);border-radius:10px}

  /* 帖子流 */
  .feed-head{display:flex;align-items:center;gap:6px;padding:10px 14px;margin-bottom:12px}
  .feed-tabs{display:flex;gap:4px}
  .feed-tabs button{border:0;background:transparent;font-size:13.5px;font-weight:600;color:var(--muted);padding:6px 10px;border-radius:6px;cursor:pointer;transition:background .2s var(--soft),color .2s var(--soft)}
  .feed-tabs button.on{background:var(--blue-soft);color:var(--blue)}
  .feed-head .write{margin-left:auto;display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--line-2);background:#fff;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s var(--soft),color .2s var(--soft),transform .35s var(--spring)}
  .feed-head .write:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}

  .post{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px 12px;margin-bottom:12px;transition:box-shadow .3s var(--soft),border-color .2s var(--soft),transform .45s var(--spring)}
  .post:hover{border-color:var(--line-2);box-shadow:0 10px 26px rgba(17,24,39,.06);transform:translateY(-2px)}

  .post-head{display:flex;align-items:center;gap:9px;margin-bottom:11px}
  .p-avatar{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:#4b6a8f}
  .who{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);min-width:0;flex-wrap:wrap}
  .who b{font-weight:600;color:var(--ink)}
  .who .role{font-size:11.5px;color:var(--muted);background:#f3f6fa;border-radius:4px;padding:1px 6px}
  .who .dot{color:var(--muted-2)}
  .who time{color:var(--muted);font-size:12.5px}
  .post-head .follow{margin-left:auto;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);font-size:12px;font-weight:600;padding:4px 11px;border-radius:6px;cursor:pointer;transition:border-color .2s var(--soft),color .2s var(--soft)}
  .post-head .follow:hover{border-color:var(--blue);color:var(--blue)}

  .post h3{font-size:17px;line-height:1.45;font-weight:700;letter-spacing:-.2px;margin-bottom:6px}
  .post h3:hover{color:var(--blue)}
  .post .excerpt{font-size:13.5px;line-height:1.75;color:#5b6472;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .post .read{display:inline-block;margin-top:7px;font-size:12.5px;color:var(--blue);font-weight:600}

  .quote{margin-top:11px;background:#f7f9fc;border-left:2px solid #dbe3ef;border-radius:0 6px 6px 0;padding:9px 12px;font-size:12.5px;color:#5b6472;line-height:1.7}
  .quote b{color:var(--ink-2);font-weight:600}

  .post-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
  .tag{font-size:11.5px;color:#5b6472;background:#f3f6fa;border-radius:4px;padding:2px 7px}
  .tag:hover{background:#e9eff8;color:var(--blue)}

  .post-foot{display:flex;align-items:center;gap:18px;margin-top:12px;padding-top:10px;border-top:1px solid #f2f5f9;font-size:12.5px;color:var(--muted)}
  .post-foot span{display:flex;align-items:center;gap:5px}
  .post-foot .share{margin-left:auto;cursor:pointer}
  .post-foot .share:hover,.post-foot span:hover{color:var(--blue)}

  /* 侧栏 */
  .side{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px}
  .compose{padding:14px}
  .compose textarea{
    width:100%;min-height:74px;resize:none;border:1px solid var(--line);border-radius:8px;background:#fafbfd;
    padding:10px 11px;font-size:13.5px;line-height:1.7;color:var(--ink);outline:none;font-family:inherit;
    transition:border-color .2s var(--soft),background .2s var(--soft);
  }
  .compose textarea::placeholder{color:var(--muted-2)}
  .compose textarea:focus{border-color:#bfd3f7;background:#fff}
  .compose-bar{display:flex;align-items:center;gap:10px;margin-top:9px;font-size:12.5px;color:var(--muted)}
  .compose-bar .tool{display:flex;align-items:center;gap:4px;cursor:pointer}
  .compose-bar .tool:hover{color:var(--blue)}
  .compose-bar .pub{margin-left:auto;border:0;background:var(--blue);color:#fff;font-size:12.5px;font-weight:600;padding:6px 16px;border-radius:6px;cursor:pointer;transition:transform .35s var(--spring),background .2s var(--soft)}
  .compose-bar .pub:hover{transform:translateY(-1px);background:#1d4fd8}

  .side-card{padding:14px}
  .side-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:10px;display:flex;align-items:center;gap:6px}
  .topics{display:flex;gap:7px;flex-wrap:wrap}
  .topic{font-size:12px;color:#5b6472;background:#f3f6fa;border-radius:5px;padding:4px 9px;transition:background .2s var(--soft),color .2s var(--soft)}
  .topic:hover{background:var(--blue-soft);color:var(--blue)}

  .about-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px dashed #eef1f6;font-size:12.5px;color:#5b6472}
  .about-row:first-of-type{border-top:0}
  .about-row .k{color:var(--muted)}
  .about-row .v{margin-left:auto;color:var(--ink-2)}

  /* ---------- 个人主页 ---------- */
  .ph{padding:22px 0 0}
  .ph-top{display:flex;gap:18px;align-items:flex-start;padding:18px}
  .p-ava{width:80px;height:80px;border-radius:50%;overflow:hidden;flex:none;background:#dbe4f2;color:#4b5563;display:grid;place-items:center;font-size:26px;font-weight:700}
  .p-ava img{width:100%;height:100%;object-fit:cover;display:block}
  .p-name{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
  .p-name h2{font-size:21px;font-weight:700;letter-spacing:-.3px}
  .p-badge{font-size:11px;font-weight:700;color:var(--blue);background:var(--blue-soft);border-radius:4px;padding:2px 7px}
  .p-bio{font-size:12.5px;color:var(--muted);margin-top:6px}
  .p-chip{display:inline-block;margin-top:10px;font-size:11.5px;color:#5b6472;background:#f3f6fa;border-radius:5px;padding:3px 9px}
  .p-acts{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
  .btn-s{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--line-2);background:#fff;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:border-color .2s var(--soft),color .2s var(--soft),transform .35s var(--spring)}
  .btn-s:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}
  .btn-s.solid{background:var(--blue);border-color:var(--blue);color:#fff}
  .btn-s.solid:hover{background:#1d4fd8;border-color:#1d4fd8;color:#fff}

  .p-stats{display:flex;gap:34px;padding:0 18px 16px;flex-wrap:wrap}
  .p-stat b{display:block;font-size:19px;font-weight:700;letter-spacing:-.3px}
  .p-stat span{display:block;margin-top:2px;font-size:11.5px;color:var(--muted)}

  .p-cols{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start;margin-top:16px}
  .p-tabs{display:flex;gap:20px;padding:0 16px;border-bottom:1px solid var(--line)}
  .p-tabs button{border:0;background:transparent;padding:13px 0 11px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:color .2s var(--soft),border-color .2s var(--soft)}
  .p-tabs button.on{color:var(--ink);border-bottom-color:var(--blue)}
  .p-empty{padding:56px 18px 62px}
  .p-empty .box{width:46px;height:46px;border:1.5px dashed var(--line-2);border-radius:9px;display:grid;place-items:center;color:var(--muted-2);margin-bottom:13px}
  .p-empty p{font-size:13px;color:var(--muted)}
  .p-empty small{display:block;margin-top:5px;font-size:12px;color:var(--muted-2)}

  .stool{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px dashed #eef1f6;font-size:12.5px;color:#5b6472}
  .stool:first-child{border-top:0}
  .stool i{width:5px;height:5px;border-radius:50%;background:#9db4d0;flex:none}
  .stool em{margin-left:auto;font-style:normal;font-size:11px;color:var(--muted-2)}
  .fl{display:flex;align-items:center;gap:9px;padding:9px 0;border-top:1px dashed #eef1f6}
  .fl:first-child{border-top:0}
  .fl .fa{width:28px;height:28px;border-radius:50%;background:#eaf0f9;color:#4b6a8f;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
  .fl .fn{font-size:12.5px;font-weight:600}
  .fl .fd{font-size:11px;color:var(--muted);margin-top:1px}
  .fl button{margin-left:auto;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);font-size:11px;font-weight:600;padding:4px 9px;border-radius:5px;cursor:pointer}
  .fl button:hover{border-color:var(--blue);color:var(--blue)}

  footer{border-top:1px solid var(--line);background:rgba(255,255,255,.6)}
  .foot-in{max-width:1200px;margin:0 auto;padding:18px 20px 30px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted)}
  .foot-in a:hover{color:var(--blue)}
  .foot-in .spacer{margin-left:auto}

  /* ---------- 抽屉 ---------- */
  .mask{position:fixed;inset:0;background:rgba(17,24,39,.3);display:none;justify-content:flex-end;z-index:80;backdrop-filter:blur(2px)}
  .mask.on{display:flex}
  .sheet{width:min(400px,100%);height:100%;background:#fff;border-left:1px solid var(--line);padding:22px;overflow:auto;box-shadow:-20px 0 50px rgba(17,24,39,.14);animation:slide .38s var(--spring)}
  @keyframes slide{from{transform:translateX(26px);opacity:.5}to{transform:none;opacity:1}}
  .sheet-head{display:flex;align-items:flex-start;margin-bottom:4px}
  .sheet-head h3{font-size:17px;font-weight:700}
  .x{margin-left:auto;width:28px;height:28px;border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:transform .35s var(--spring),border-color .2s var(--soft)}
  .x:hover{transform:rotate(90deg);border-color:var(--ink-2);color:var(--ink)}
  .sheet-sub{font-size:12px;color:var(--muted);margin:8px 0 18px;line-height:1.7}

  .tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:18px}
  .tabs button{border:0;background:transparent;padding:9px 0;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}
  .tabs button.on{color:var(--ink);border-bottom-color:var(--blue)}

  .field{margin-bottom:14px}
  .field label{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:6px}
  .input{width:100%;height:40px;border:1px solid var(--line-2);border-radius:7px;background:#fafbfd;padding:0 11px;font-size:13.5px;outline:none;color:var(--ink);transition:border-color .2s var(--soft),background .2s var(--soft)}
  .input:focus{border-color:#bfd3f7;background:#fff}
  .btn{width:100%;height:42px;border:0;border-radius:7px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:transform .35s var(--spring),background .2s var(--soft)}
  .btn:hover{background:#1d4fd8;transform:translateY(-1px)}
  .btn[disabled]{opacity:.6;transform:none}
  .btn.ghost{background:#fff;color:var(--ink-2);border:1px solid var(--line-2)}
  .btn.ghost:hover{background:#f7f9fc;color:var(--blue);border-color:var(--blue)}
  .tip{font-size:11.5px;color:var(--muted-2);margin-top:11px;line-height:1.7}

  .ed-ava{width:64px;height:64px;border-radius:50%;overflow:hidden;background:#dbe4f2;display:grid;place-items:center;color:#4b5563;font-size:20px;font-weight:700;margin-bottom:9px}
  .ed-ava img{width:100%;height:100%;object-fit:cover;display:block}
  .ed-nick{font-size:11.5px;color:var(--muted);margin-bottom:15px}
  .up-hint{font-size:11.5px;color:var(--muted-2);margin-top:7px;line-height:1.5;word-break:break-all}

  .toast{position:fixed;left:20px;bottom:22px;transform:translateY(8px);background:#111827;color:#fff;font-size:12.5px;padding:10px 15px;border-radius:7px;opacity:0;pointer-events:none;transition:opacity .25s var(--soft),transform .4s var(--spring);z-index:99;max-width:74vw;box-shadow:0 14px 30px rgba(17,24,39,.2)}
  .toast.on{opacity:1;transform:none}
  .toast.bad{background:#b3261e}
  .toast.ok{background:#166534}

  .logbox{position:fixed;left:0;right:0;bottom:0;background:#0f172a;color:#a7bdd6;z-index:90;max-height:38vh;overflow:auto;padding:11px 14px calc(13px + env(safe-area-inset-bottom));font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;line-height:1.6;white-space:pre-wrap;word-break:break-all;display:none}
  .logbox.on{display:block}
  .logbox .err{color:#f2a1a1}
  .logbox .bar{display:flex;justify-content:space-between;color:#7c8ea6;margin-bottom:7px}
  .logbox .bar button{background:#1e293b;color:#a7bdd6;border:0;border-radius:5px;padding:3px 9px;font-size:10.5px;cursor:pointer}

  @media (max-width:900px){
    .layout{grid-template-columns:1fr;padding:16px 14px 40px}
    .side{position:static;order:2}
    .p-cols{grid-template-columns:1fr}
    .nav-in{padding:0 14px;gap:14px}
    .p-stats{gap:24px}
  }

/* ---------- 头像下拉菜单 ---------- */
.user-wrap{position:relative}
.user-menu{
  position:absolute;right:0;top:calc(100% + 10px);width:230px;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px;
  box-shadow:0 18px 44px rgba(17,24,39,.14);
  opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;
  transform-origin:top right;
  transition:opacity .18s var(--soft),transform .32s var(--spring);
  z-index:60;
}
.user-menu.on{opacity:1;transform:none;pointer-events:auto}
.menu-card{
  display:flex;align-items:center;gap:10px;padding:10px 11px;margin-bottom:6px;
  background:#f7f9fc;border:1px solid var(--line);border-radius:9px;
}
.menu-card .ava{width:36px;height:36px;border-radius:50%;font-size:13px}
.menu-card .mc-name{font-size:14px;font-weight:600;color:var(--ink-2)}
.menu-card .mc-sub{font-size:11px;color:var(--muted);margin-top:2px}
.menu-item{
  display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;
  padding:11px 11px;border-radius:8px;font-size:14px;color:var(--ink-2);cursor:pointer;
  text-align:left;transition:background .18s var(--soft),color .18s var(--soft);
}
.menu-item:hover{background:#f2f5fa;color:var(--ink)}
.menu-item .ico{width:17px;height:17px;color:#8b95a5}
.menu-item:hover .ico{color:var(--ink-2)}
.menu-item.danger{color:#d9433a}
.menu-item.danger .ico{color:#d9433a}
.menu-item.danger:hover{background:#fdf0ef}
.menu-sep{height:1px;background:var(--line);margin:6px 4px}

/* ---------- 修改信息（整页表单） ---------- */
.form-page{padding:24px 0 60px}
.fp-inner{max-width:940px;margin:0 auto;padding:0 20px}
.fp-head h2{font-size:22px;font-weight:700;letter-spacing:-.3px}
.fp-head p{font-size:12.5px;color:var(--muted);margin-top:6px}
.fp-body{margin-top:20px;border-top:1px solid var(--line)}
.frow{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line);align-items:start}
.flabel{font-size:14px;color:var(--ink-2);padding-top:11px}
.fctrl{min-width:0}
.finput{width:100%;max-width:760px;height:42px;border:1px solid #dcdfe6;border-radius:6px;background:#fff;padding:0 12px;font-size:14px;color:var(--ink);outline:none;font-family:inherit;transition:border-color .18s var(--soft),box-shadow .18s var(--soft)}
.finput::placeholder{color:#b3bbc8}
.finput:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.09)}
.farea{height:112px;padding:10px 12px;resize:vertical;line-height:1.7}
.fselect{appearance:none;-webkit-appearance:none;max-width:420px;padding-right:34px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239aa3b2' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center}
.fdate{max-width:220px}
.fcounter{font-size:12px;color:var(--muted-2);margin-top:6px;max-width:760px;text-align:right}
.fp-hint{font-size:11.5px;color:var(--muted);margin-top:6px}
.radios{display:flex;gap:24px;padding-top:9px}
.radio{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--ink-2);cursor:pointer}
.radio input{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid #c8ced8;border-radius:50%;position:relative;margin:0;transition:border-color .18s var(--soft)}
.radio input:checked{border-color:var(--blue)}
.radio input:checked::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--blue)}
.fstatic{display:inline-block;font-size:14px;color:var(--ink-2);padding-top:10px}
.flink{border:0;background:transparent;color:var(--blue);font-size:13.5px;cursor:pointer;padding:9px 0 0 10px}
.avatar-row{display:flex;gap:16px;align-items:center;padding-top:2px}
.fp-ava{width:72px;height:72px;border-radius:50%;overflow:hidden;flex:none;background:#dbe4f2;display:grid;place-items:center;color:#4b5563;font-size:24px;font-weight:700}
.fp-ava img{width:100%;height:100%;object-fit:cover;display:block}
.fp-foot{display:flex;gap:12px;align-items:center;margin-top:24px}
.fp-save{width:128px;height:40px;font-size:14px}

@media (max-width:700px){
  .fp-inner{padding:0 16px}
  .frow{grid-template-columns:80px 1fr;gap:12px;padding:13px 0}
  .flabel{font-size:13px;padding-top:12px}
  .finput{height:40px;font-size:13.5px}
  .fcount{font-size:11px}
}

/* ---------- 个人主页头像：点击即可更换 ---------- */
.p-ava-wrap{position:relative;flex:none}
.p-ava-wrap .p-ava{cursor:pointer;transition:box-shadow .25s var(--soft),transform .35s var(--spring)}
.p-ava-wrap:hover .p-ava{box-shadow:0 0 0 3px rgba(37,99,235,.18)}
.p-ava-wrap:active .p-ava{transform:scale(.98)}
.p-ava-edit{
  position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;
  background:#fff;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--blue);
  cursor:pointer;box-shadow:0 2px 8px rgba(17,24,39,.12);transition:transform .35s var(--spring);
}
.p-ava-edit:hover{transform:scale(1.08)}

/* ---------- 资料卡：修改资料按钮 + 四个统计 ---------- */
.p-edit-btn{
  margin-left:auto;align-self:flex-start;flex:none;display:inline-flex;align-items:center;gap:7px;
  height:34px;padding:0 15px;border:1px solid var(--line-2);background:#fff;
  color:var(--ink-2);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;
  transition:border-color .2s var(--soft),color .2s var(--soft),transform .35s var(--spring);
}
.p-edit-btn:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}

.p-stats{display:flex;align-items:center;flex-wrap:wrap;gap:0}
.p-stat{display:flex;align-items:baseline;gap:7px}
.p-stat span{font-size:13px;color:#4b5563}
.p-stat b{font-size:17px;font-weight:700;color:var(--ink)}
.p-stat + .p-stat{border-left:1px solid var(--line);margin-left:22px;padding-left:22px}

/* ---------- 可点击的统计 ---------- */
.p-stat{
  border:0;background:transparent;padding:0;cursor:pointer;font:inherit;
  transition:color .18s var(--soft),transform .3s var(--spring);
}
.p-stat:hover{transform:translateY(-1px)}
.p-stat:hover span,.p-stat:hover b{color:var(--blue)}

/* ---------- 用户列表 ---------- */
.ulist{display:flex;flex-direction:column}
.uitem{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--line)}
.uitem:first-child{border-top:0}
.uitem .uava{width:38px;height:38px;border-radius:50%;overflow:hidden;flex:none;background:#dbe4f2;color:#4b5563;display:grid;place-items:center;font-size:14px;font-weight:700}
.uitem .uava img{width:100%;height:100%;object-fit:cover;display:block}
.uitem .uname{font-size:13.5px;font-weight:600;color:var(--ink)}
.uitem .utime{font-size:11.5px;color:var(--muted);margin-top:2px}
.uitem .ubtn{margin-left:auto;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:5px;cursor:pointer}
.uitem .ubtn:hover{border-color:var(--blue);color:var(--blue)}
.uempty{padding:40px 0;text-align:center;color:var(--muted-2);font-size:12.5px}

/* ---------- 顶栏会员入口 ---------- */
.vip-btn{
  display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;
  border:1px solid var(--line-2);background:#fff;border-radius:7px;
  font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;
  transition:border-color .2s var(--soft),color .2s var(--soft),transform .3s var(--spring),background .2s var(--soft);
}
.vip-btn .ico{color:#b9c0cc}
.vip-btn:hover{transform:translateY(-1px);border-color:#e6cf9d}
.vip-btn.on{background:#fff8e8;border-color:#e8d3a5;color:#a8762a}
.vip-btn.on .ico{color:#c08a2e}

/* ---------- 会员页 ---------- */
.vip-banner{background:linear-gradient(135deg,#3b78f0,#2559d6)}
.vip-banner h2{margin:0;max-width:1200px;margin:0 auto;padding:26px 20px;color:#fff;font-size:22px;font-weight:700;letter-spacing:-.3px}
.vip-wrap{max-width:1200px;margin:22px auto 40px;padding:0 20px}
.vip-top{display:grid;grid-template-columns:390px 1fr;gap:20px;align-items:start}

.vip-card{
  position:relative;overflow:hidden;border-radius:12px;padding:22px 24px 18px;color:#f2e7d1;
  background:linear-gradient(155deg,#3c3a35 0%,#26241f 100%);
  box-shadow:0 18px 40px rgba(24,21,16,.28);
}
.vip-card::after{content:"VIP";position:absolute;right:-10px;bottom:-24px;font-size:120px;font-weight:900;color:rgba(255,255,255,.035);letter-spacing:-6px}
.vip-tag{position:absolute;right:0;top:18px;background:#e0462d;color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:4px 0 0 4px}
.vip-card-head{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700}
.vip-medal{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.09);display:grid;place-items:center;color:#e6c78d}
.vip-card-sub{color:#a89e8c;font-size:12.5px;margin-top:16px}
.vip-price{display:flex;align-items:baseline;gap:5px;margin:8px 0 18px}
.vip-price b{font-size:34px;font-weight:800;color:#f0d49a;letter-spacing:-1px}
.vip-price em{font-style:normal;font-size:13px;color:#c9bd9e}
.vip-price del{font-size:12.5px;color:#877f70;margin-left:8px}
.vip-actions{display:flex;align-items:center;gap:16px}
.vip-buy{
  flex:1;height:44px;border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(180deg,#f4dcaa,#e2bb74);color:#3a2f1a;
  font-size:15px;font-weight:800;letter-spacing:.5px;
  transition:transform .3s var(--spring),filter .2s var(--soft);
}
.vip-buy:hover{transform:translateY(-1px);filter:brightness(1.04)}
.vip-redeem{border:0;background:none;color:#cbbd9d;font-size:13px;cursor:pointer;padding:0;white-space:nowrap}
.vip-redeem:hover{color:#f0d49a}
.vip-note{margin:14px 0 0;font-size:11.5px;color:#837a6b}

.vip-right{border-radius:12px;padding:20px 22px;background:linear-gradient(135deg,#eaf3ff,#f6faff);border:1px solid #dbe8fb}
.vip-right-head{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:#1e3a8a}
.vip-v{width:26px;height:26px;border-radius:6px;background:#fff;color:#2563eb;display:grid;place-items:center;font-weight:900;font-size:14px}
.vip-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.benefit{display:flex;align-items:center;gap:9px;font-size:13px;color:#334155;background:#fff;border:1px solid #e6eefb;border-radius:8px;padding:12px 12px}
.benefit .ico{color:#3b78f0}

.vip-status{display:flex;align-items:center;gap:30px;margin-top:18px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:10px;flex-wrap:wrap}
.vs-item span{display:block;font-size:11.5px;color:var(--muted)}
.vs-item b{display:block;font-size:15px;margin-top:4px;font-weight:700}
#vipBack{margin-left:auto}

/* ---------- 兑换弹窗 ---------- */
.dialog{
  width:min(460px,100%);background:#fff;border-radius:10px;padding:22px 24px 24px;
  box-shadow:0 30px 70px rgba(17,24,39,.28);animation:pop .28s var(--spring);
}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.dial-head{display:flex;align-items:center;margin-bottom:6px}
.dial-head h3{margin:0;font-size:16px;font-weight:700}
.dial-head .x{margin-left:auto;width:28px;height:28px;border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.dial-sub{font-size:12px;color:var(--muted);margin:6px 0 18px}
#redeemMask .field label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:6px}
#redeemMask .input{width:100%;height:40px;border:1px solid var(--line-2);border-radius:6px;padding:0 11px;font-size:13.5px;outline:none;background:#fafbfd}
#redeemMask .input:focus{border-color:var(--blue);background:#fff}

@media (max-width:900px){
  .vip-top{grid-template-columns:1fr}
  .vip-benefits{grid-template-columns:1fr 1fr}
  .vip-banner h2{padding:20px 14px;font-size:18px}
  .vip-wrap{padding:0 14px}
}

/* ---------- 兑换会员弹窗（对齐参考站样式） ---------- */
.redeem-dialog{
  width:min(640px,100%);background:#fff;border-radius:8px;
  box-shadow:0 30px 70px rgba(17,24,39,.26);
  animation:pop .26s var(--spring);
}
.rd-head{display:flex;align-items:center;padding:18px 22px 4px}
.rd-head h3{margin:0;font-size:17px;font-weight:700;color:#1f2329}
.rd-x{margin-left:auto;width:26px;height:26px;border:1px solid #e8ebf0;background:#fff;border-radius:4px;color:#9aa3b2;cursor:pointer;display:grid;place-items:center}
.rd-x:hover{color:#333;border-color:#cfd6e0}
.rd-body{display:flex;align-items:center;gap:10px;padding:20px 22px 24px}
.rd-body label{font-size:14px;color:#1f2329;white-space:nowrap}
.rd-body input{
  flex:1;height:40px;border:1px solid #dcdfe6;border-radius:6px;background:#fff;
  padding:0 12px;font-size:14px;color:#1f2329;outline:none;font-family:inherit;
  transition:border-color .2s var(--soft),box-shadow .2s var(--soft);
}
.rd-body input::placeholder{color:#b7bfcc}
.rd-body input:focus{border-color:#7aa7f5;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.rd-foot{display:flex;justify-content:flex-end;padding:0 22px 22px}
.rd-submit{
  height:36px;padding:0 20px;border:0;border-radius:5px;background:#2563eb;color:#fff;
  font-size:14px;font-weight:600;cursor:pointer;
  transition:background .2s var(--soft),transform .3s var(--spring);
}
.rd-submit:hover{background:#1d4fd8;transform:translateY(-1px)}
.rd-submit[disabled]{opacity:.6;transform:none}

/* 兑换弹窗要居中，而不是像抽屉那样贴右 */
#redeemMask{justify-content:center;align-items:center;padding:20px}
#redeemMask .redeem-dialog{max-height:90vh;overflow:auto}

/* 已开通状态的按钮 */
.vip-buy.done{background:linear-gradient(180deg,#6f6a5f,#4c4840);color:#e9e2d2;cursor:default}
.vip-buy.done:hover{transform:none;filter:none}

/* ---------- 开通会员支付弹窗 ---------- */
#payMask{justify-content:center;align-items:center;padding:20px}
.pay-dialog{width:min(400px,92vw);background:#fff;border-radius:10px;box-shadow:0 30px 70px rgba(17,24,39,.28);animation:pop .26s var(--spring)}
.pd-head{display:flex;align-items:center;padding:14px 18px 2px}
.pd-head h3{margin:0;font-size:16.5px;font-weight:700}
.pd-body{padding:4px 18px 0}
.pd-row{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:13px;line-height:1.5;color:#475569}
.pd-row > span:first-child{width:58px;color:var(--muted);flex:none}
.pd-row b{color:#111827;font-weight:700}
.pd-amount{color:#e2452f;font-size:16px;font-weight:800}
.pd-ways{display:flex;gap:10px}
.way{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border:1px solid #dcdfe6;background:#fff;border-radius:6px;font-size:13px;color:#334155;cursor:pointer;transition:border-color .2s var(--soft),color .2s var(--soft)}
.way.on{border-color:#2563eb;color:#2563eb;background:#f5f9ff}
.pd-qr{margin-top:10px;text-align:center;padding:10px;background:#fafbfd;border:1px dashed #e2e8f0;border-radius:8px}
.pd-qr img{width:168px;height:168px;background:#fff;border-radius:6px}
.pd-qr p{margin:10px 0 0;font-size:12px;color:var(--muted)}
.pd-foot{display:flex;justify-content:flex-end;padding:10px 18px 14px}

/* ---------- 我的帖子 / 发帖按钮 ---------- */
.p-pub{margin-left:auto;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 11px;border:1px solid var(--line-2);background:#fff;border-radius:6px;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer}
.p-pub:hover{border-color:var(--blue);color:var(--blue)}
.p-tabs{display:flex;align-items:center}
.p-posts{padding:8px 16px 16px}
.pitem{padding:14px 0;border-top:1px solid var(--line);cursor:pointer}
.pitem:first-child{border-top:0}
.pitem h3{font-size:15px;font-weight:700;margin-bottom:6px}
.pitem:hover h3{color:var(--blue)}
.pitem p{font-size:12.5px;color:var(--muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pitem .pi-meta{margin-top:8px;font-size:11.5px;color:var(--muted-2);display:flex;gap:14px}

/* ---------- 帖子详情 ---------- */
.post-wrap{max-width:920px;margin:0 auto;padding:18px 20px 50px}
.back-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line-2);background:#fff;border-radius:6px;height:28px;padding:0 11px;font-size:12.5px;color:var(--ink-2);cursor:pointer;margin-bottom:13px}
.back-btn:hover{border-color:var(--blue);color:var(--blue)}
.post-detail{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px 8px}
.post-detail h1{font-size:21px;font-weight:800;line-height:1.4;letter-spacing:-.3px}
.pd-meta{display:flex;gap:14px;margin-top:9px;font-size:12px;color:var(--muted)}
.post-body{margin-top:16px;font-size:14.5px;line-height:1.9;color:#374151;white-space:pre-wrap;word-break:break-word}
.pd-actions{display:flex;margin-top:18px;border-top:1px solid #f1f5f9;padding:10px 0;gap:0}
.pd-actions .pa{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;border:0;background:none;font-size:13px;color:#64748b;cursor:pointer;padding:8px 0;border-left:1px solid #f1f5f9}
.pd-actions .pa:first-child{border-left:0}
.pd-actions .pa:hover{color:var(--blue)}
.pd-actions .pa.on{color:var(--blue);font-weight:700}

/* ---------- 评论区 ---------- */
.cm-card{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 0 18px}
.cm-tabs{display:flex;gap:24px;padding:0 22px;border-bottom:1px solid var(--line)}
.cm-tabs button{border:0;background:none;padding:14px 2px 12px;font-size:15px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:2.5px solid transparent}
.cm-tabs button.on{color:var(--blue);border-bottom-color:var(--blue)}
.cm-head{display:flex;align-items:center;padding:16px 22px 0}
.cm-head b{font-size:16px;font-weight:800}
.cm-sort{margin-left:auto;display:flex;align-items:center;gap:0}
.cm-sort .cm-all{font-size:13px;color:var(--muted);margin-right:12px}
.cm-sort button{border:1px solid #e2e8f0;background:#fff;font-size:13px;color:#475569;padding:6px 14px;cursor:pointer;margin-left:-1px}
.cm-sort button:first-of-type{border-radius:5px 0 0 5px}
.cm-sort button:last-of-type{border-radius:0 5px 5px 0}
.cm-sort button.on{background:#2563eb;border-color:#2563eb;color:#fff}

.cm-editor{display:flex;gap:12px;padding:16px 22px 0}
.cm-ava{width:38px;height:38px;border-radius:50%;overflow:hidden;flex:none;background:#dbe4f2;color:#4b5563;display:grid;place-items:center;font-size:13px;font-weight:700}
.cm-ava img{width:100%;height:100%;object-fit:cover;display:block}
.cm-box{flex:1;min-width:0}
.cm-box textarea{width:100%;min-height:78px;border:1px solid #e9edf3;background:#f7f9fc;border-radius:8px;padding:12px 14px;font-size:13.5px;line-height:1.7;resize:vertical;outline:none;font-family:inherit;color:#374151}
.cm-box textarea:focus{border-color:#bfd3f7;background:#fff}
.cm-bar{display:flex;align-items:center;gap:18px;margin-top:9px;font-size:12.5px;color:#64748b}
.cm-bar span{display:flex;align-items:center;gap:5px;cursor:pointer}
.cm-bar span:hover{color:var(--blue)}
.cm-bar button{margin-left:auto;height:34px;padding:0 22px;border:0;border-radius:999px;background:#2563eb;color:#fff;font-size:13.5px;font-weight:600;cursor:pointer}
.cm-bar button:hover{background:#1d4fd8}

.cm-list{padding:8px 22px 0}
.cm-item{display:flex;gap:12px;padding:16px 0;border-top:1px solid #f1f5f9}
.cm-item .ca{width:36px;height:36px;border-radius:50%;overflow:hidden;flex:none;background:#e8eef8;color:#4b5563;display:grid;place-items:center;font-size:13px;font-weight:700}
.cm-item .ca img{width:100%;height:100%;object-fit:cover;display:block}
.cm-item .cn{font-size:13px;font-weight:700;color:#1f2937}
.cm-item .ct{font-size:11.5px;color:var(--muted-2);margin-left:8px}
.cm-item .cc{margin-top:6px;font-size:13.5px;line-height:1.75;color:#374151;white-space:pre-wrap;word-break:break-word}
.cm-item .cbar{margin-top:8px;display:flex;gap:16px;font-size:12px;color:var(--muted)}
.cm-item .cbar span{cursor:pointer}
.cm-item .cbar span:hover{color:var(--blue)}
.cm-empty{padding:30px 0 10px;text-align:center;font-size:12.5px;color:var(--muted-2)}
@media (max-width:700px){
  .post-wrap{padding:14px 12px 40px}
  .post-detail{padding:16px 16px 6px}
  .cm-tabs,.cm-head,.cm-editor,.cm-list{padding-left:14px;padding-right:14px}
  .cm-head{flex-wrap:wrap;gap:10px}
  .cm-sort{margin-left:0}
}

/* ---------- 发帖卡片（随便聊 / 写文章） ---------- */
.cp-tabs{display:flex;gap:10px;margin-bottom:12px}
.cp-tabs button{height:34px;padding:0 18px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:13.5px;font-weight:600;color:#374151;cursor:pointer;transition:.2s}
.cp-tabs button.on{background:#2563eb;border-color:#2563eb;color:#fff}
.compose textarea{width:100%;min-height:96px;border:1px solid #e9edf3;background:#f5f7fa;border-radius:8px;padding:12px 14px;font-size:13.5px;line-height:1.75;color:#374151;resize:vertical;outline:none;font-family:inherit}
.compose textarea:focus{background:#fff;border-color:#bfd3f7}
.compose-bar{display:flex;align-items:center;gap:16px;margin-top:10px;font-size:12.5px;color:#475569}
.compose-bar .tool{display:flex;align-items:center;gap:5px;cursor:pointer}
.compose-bar .tool:hover{color:var(--blue)}
.compose-bar .pub{margin-left:auto;height:34px;padding:0 20px;border:0;border-radius:999px;background:#2563eb;color:#fff;font-size:13.5px;font-weight:600;cursor:pointer}
.compose-bar .pub:hover{background:#1d4fd8}

/* ---------- 写文章编辑器 ---------- */
.ed-wrap{padding:16px 0 40px}
.ed-head{display:flex;align-items:center;gap:10px;padding:0 2px 12px}
.ed-head input{flex:1;border:0;outline:none;font-size:22px;font-weight:700;letter-spacing:-.3px;color:#111827;background:transparent;padding:6px 0}
.ed-head input::placeholder{color:#c0c7d2;font-weight:600}
.ed-draft{height:34px;padding:0 14px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:13px;color:#475569;cursor:pointer}
.ed-submit{height:34px;padding:0 20px;border:0;border-radius:6px;background:#2563eb;color:#fff;font-size:13.5px;font-weight:600;cursor:pointer}
.ed-submit:hover{background:#1d4fd8}
.ed-ava{width:34px;height:34px;border-radius:50%;overflow:hidden;background:#dbe4f2;display:grid;place-items:center;font-size:12px;font-weight:700;color:#4b5563;flex:none}
.ed-ava img{width:100%;height:100%;object-fit:cover;display:block}
.ed-toolbar{display:flex;align-items:center;gap:2px;padding:8px 2px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto}
.ed-toolbar button{min-width:32px;height:30px;border:0;background:transparent;border-radius:5px;font-size:14px;color:#334155;cursor:pointer;padding:0 8px}
.ed-toolbar button:hover{background:#f1f5f9;color:#111827}
.ed-body{width:100%;min-height:52vh;border:0;outline:none;resize:vertical;padding:18px 2px;font-size:15px;line-height:1.9;color:#1f2937;font-family:inherit;background:transparent}
.ed-body::placeholder{color:#c0c7d2}
.ed-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font-size:12px;color:var(--muted)}
.ed-back{border:1px solid var(--line-2);background:#fff;border-radius:6px;height:28px;padding:0 12px;font-size:12.5px;color:var(--ink-2);cursor:pointer}
.ed-back:hover{border-color:var(--blue);color:var(--blue)}

/* 移动端：只显示支付链接 */
.pd-h5{margin-top:10px;padding:12px;background:#f7f9fc;border:1px dashed #dbe3ef;border-radius:8px}
.h5-tip{margin:0 0 8px;font-size:12px;color:#64748b;line-height:1.6}
.h5-url{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.6;color:#1f2937;background:#fff;border:1px solid #e5eaf2;border-radius:6px;padding:9px 10px;word-break:break-all;max-height:74px;overflow:auto}
.h5-acts{display:flex;gap:8px;margin-top:10px}
.h5-btn{flex:1;height:34px;border:1px solid #dcdfe6;background:#fff;border-radius:6px;font-size:13px;color:#334155;cursor:pointer}
.h5-btn.primary{background:#07c160;border-color:#07c160;color:#fff;font-weight:600}
.h5-btn:hover{opacity:.92}

/* 资料卡背景（仅背景，不改布局） */
.ph-top{background:linear-gradient(180deg,#e9f2ff 0%,#f3f8ff 58%,#ffffff 100%);border-radius:9px 9px 0 0}

/* 手机端：资料卡背景铺满整屏宽度 */
@media (max-width:900px){
  #profilePage{padding-left:0;padding-right:0}
  #profilePage .ph{padding:0}
  #profilePage .ph > .card{
    margin:0;border-radius:0;border-left:0;border-right:0;
    background:#fff;
  }
  #profilePage .ph > .card .ph-top{
    border-radius:0;
    background:linear-gradient(180deg,#e9f2ff 0%,#f3f8ff 58%,#ffffff 100%);
  }
  #profilePage .p-cols{padding:0 14px}
}

/* 手机端：帖子卡 / 侧栏卡 / 页脚也铺满 */
@media (max-width:900px){
  #profilePage .p-cols{padding:0;gap:10px;margin-top:10px}
  #profilePage .p-cols > .card,
  #profilePage .p-cols aside .side-card{
    margin:0 0 10px;border-radius:0;border-left:0;border-right:0;background:#fff;
  }
  #profilePage .p-cols aside{margin:0}
  #profilePage .p-side{gap:10px}
  footer{margin-top:10px}
  .foot-in{padding:16px 16px 26px}
}

/* 所有屏幕：资料卡 / 帖子卡 / 侧栏卡铺满内容区 */
#profilePage{padding-left:0;padding-right:0}
#profilePage .ph{padding:0}
#profilePage .ph > .card{margin:0;border-radius:0;border-left:0;border-right:0;background:#fff}
#profilePage .ph > .card .ph-top{border-radius:0;background:linear-gradient(180deg,#e9f2ff 0%,#f3f8ff 58%,#ffffff 100%)}
#profilePage .p-cols{padding:0;gap:10px;margin-top:10px}
#profilePage .p-cols > .card,
#profilePage .p-cols aside .side-card{margin:0 0 10px;border-radius:0;border-left:0;border-right:0;background:#fff}
#profilePage .p-cols aside{margin:0}
#profilePage .p-side{gap:10px}

/* ---------- 分类帖子列表 ---------- */
.cat-wrap{padding:18px 0 40px}
.cat-head{display:flex;align-items:baseline;gap:12px;padding:0 2px 12px;border-bottom:1px solid var(--line)}
.cat-head h2{font-size:20px;font-weight:800;letter-spacing:-.3px}
.cat-head span{font-size:12.5px;color:var(--muted)}
.cat-list{padding:4px 2px}
.cat-item{display:block;padding:16px 2px;border-bottom:1px solid var(--line);cursor:pointer}
.cat-item:hover .ci-title{color:var(--blue)}
.ci-title{font-size:16px;font-weight:700;line-height:1.5;color:#1f2937}
.ci-ex{margin-top:6px;font-size:13px;line-height:1.75;color:#64748b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ci-meta{margin-top:9px;font-size:11.5px;color:var(--muted-2);display:flex;gap:14px;align-items:center}
.ci-meta .tag{font-size:11px;color:#5b6472;background:#f3f6fa;border-radius:4px;padding:2px 7px}
.cat-empty{padding:60px 0;text-align:center;color:var(--muted-2);font-size:13px}

/* 资料页去掉侧栏后单列铺满 */
#profilePage .p-cols{grid-template-columns:1fr}

/* ---------- 帖子卡片（参考样式） ---------- */
.post{padding:20px 20px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:12px}
.post-head{display:flex;gap:12px;align-items:center}
.post .p-avatar{width:46px;height:46px;border-radius:50%;font-size:15px;overflow:hidden;background:#dbe4f2;color:#4b5563;display:grid;place-items:center;font-weight:700}
.post .p-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.post .who{display:block}
.post .who-top b{font-size:15.5px;font-weight:700;color:#111827}
.post .who-sub{margin-top:4px;font-size:12.5px;color:#8b95a5}
.post h3{margin-top:16px;font-size:21px;font-weight:800;letter-spacing:-.3px;line-height:1.4;color:#111827}
.post .excerpt{margin-top:10px;font-size:14.5px;line-height:1.8;color:#5b6472;-webkit-line-clamp:2}
.post .read{display:inline-block;margin-top:10px;font-size:14px;color:#2563eb}
.post .post-tags{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.post .post-tags .tag{font-size:12.5px;color:#5b6472;background:#f3f6fa;border-radius:5px;padding:4px 11px}
.post .post-foot{margin-top:16px;display:flex;align-items:center;gap:26px;font-size:13px;color:#64748b;border-top:0;padding-top:0}
.post .post-foot .share{margin-left:0}

/* ---------- 评论区（参考样式） ---------- */
.cm-editor{align-items:flex-start;gap:14px;padding:18px 22px 6px}
.cm-editor .cm-ava{width:44px;height:44px}
.cm-editor-box{flex:1;min-width:0;border:1px solid #edf1f7;border-radius:10px;padding:14px;background:#fff}
.cm-box textarea{min-height:84px;border:0;background:#f6f8fb;border-radius:8px;padding:14px 16px;font-size:14px}
.cm-box textarea:focus{background:#f6f8fb;border:0;box-shadow:inset 0 0 0 1px #dbe6fb}
.cm-bar{margin-top:12px;gap:22px}
.cm-bar span{font-size:13.5px;color:#475569}
.cm-bar button{height:36px;padding:0 22px;font-size:14px;border-radius:999px;background:#2563eb}

.cm-list{padding:6px 22px 6px}
.cm-item{display:flex;gap:14px;padding:20px 0;border-top:1px solid #f2f5f9;align-items:flex-start}
.cm-item:first-child{border-top:0}
.cm-item .ca{width:44px;height:44px;font-size:15px}
.cm-main{flex:1;min-width:0}
.cm-nick{font-size:14.5px;font-weight:700;color:#1f2937}
.cm-text{margin-top:7px;font-size:14px;line-height:1.8;color:#374151;white-space:pre-wrap;word-break:break-word}
.cm-meta{margin-top:10px;display:flex;align-items:center;gap:22px;font-size:12.5px;color:#94a3b8}
.cm-meta .m-act{display:flex;align-items:center;gap:5px;cursor:pointer}
.cm-meta .m-act:hover{color:#2563eb}
.cm-dots{border:0;background:none;color:#cbd5e1;font-size:16px;cursor:pointer;padding:0 2px}
.cm-dots:hover{color:#64748b}

.cm-replies{margin-top:14px;border-left:2px solid #eef2f7;padding-left:14px}
.cm-reply{display:flex;gap:10px;padding:8px 0}
.cr-ava{width:32px;height:32px;border-radius:50%;overflow:hidden;background:#e8eef8;color:#4b5563;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
.cr-ava img{width:100%;height:100%;object-fit:cover;display:block}
.cr-main{flex:1;min-width:0}
.cr-line{font-size:13.5px;line-height:1.75;color:#374151;word-break:break-word}
.cr-line b{font-weight:700;color:#1f2937;margin-right:2px}
.cr-meta{margin-top:5px;display:flex;gap:16px;font-size:12px;color:#a8b1bf}
.cm-more{margin-top:8px;border:0;background:none;color:#2563eb;font-size:12.5px;cursor:pointer;padding:0}

/* ---------- 用户卡片 ---------- */
.uc-mask{position:fixed;inset:0;background:rgba(15,23,42,.28);display:none;align-items:center;justify-content:center;z-index:85;padding:20px}
.uc-mask.on{display:flex}
.uc-card{position:relative;width:min(380px,100%);background:#fff;border-radius:14px;padding:18px 18px 16px;box-shadow:0 24px 60px rgba(15,23,42,.28);animation:pop .26s var(--spring)}
.uc-x{position:absolute;right:10px;top:10px;width:24px;height:24px;border:0;background:transparent;color:#c0c7d2;font-size:14px;cursor:pointer}
.uc-head{display:flex;align-items:flex-start;justify-content:space-between}
.uc-ava{width:74px;height:74px;border-radius:50%;overflow:hidden;background:#dbe4f2;display:grid;place-items:center;color:#4b5563;font-size:24px;font-weight:700}
.uc-ava img{width:100%;height:100%;object-fit:cover;display:block}
.uc-acts{display:flex;gap:8px;margin-top:6px}
.uc-msg{height:32px;padding:0 14px;border:1px solid #dcdfe6;background:#fff;border-radius:6px;font-size:13px;color:#334155;cursor:pointer}
.uc-follow{height:32px;padding:0 16px;border:0;border-radius:6px;background:#2563eb;color:#fff;font-size:13px;font-weight:600;cursor:pointer}
.uc-follow.on{background:#eef4ff;color:#2563eb;border:1px solid #cfe0ff}
.uc-name{margin-top:12px;display:flex;align-items:center;gap:8px}
.uc-name b{font-size:18px;font-weight:800}
.uc-badge{font-size:11px;font-weight:700;color:#2563eb;background:#eef4ff;border-radius:4px;padding:2px 7px}
.uc-bio{margin-top:8px;font-size:13px;line-height:1.7;color:#5b6472;white-space:pre-wrap}
.uc-tags{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.uc-tags span{font-size:12px;color:#475569;background:#f3f6fa;border-radius:5px;padding:4px 10px}
.uc-counts{margin-top:14px;display:flex;gap:26px;font-size:13px;color:#64748b}
.uc-counts b{color:#111827;font-size:15px;font-weight:800;margin-left:4px}

/* ---------- 帖子卡片：铺满、无卡片边框（参考样式） ---------- */
#homePage .feed-head{border-bottom:1px solid #eef2f7;margin-bottom:0}
#homePage .feed .post,
#homePage .feed .cat-empty{
  margin:0 -20px;border:0;border-radius:0;border-bottom:8px solid #f2f5f9;
  background:#fff;box-shadow:none;padding:20px;
}
#homePage .feed .post:hover{transform:none;box-shadow:none}
@media (max-width:900px){
  #homePage .feed .post,
  #homePage .feed .cat-empty{margin:0 -14px;padding:16px 14px}
}
#catPage .cat-wrap{padding-top:0}
#catPage .cat-item{margin:0 -20px;padding:18px 20px;border-bottom:1px solid #eef2f7}
#catPage .cat-head{margin:0 -20px;padding:16px 20px;border-bottom:1px solid #eef2f7}
@media (max-width:900px){
  #catPage .cat-item{margin:0 -14px;padding:16px 14px}
  #catPage .cat-head{margin:0 -14px;padding:14px 14px}
}

/* 发帖卡片：防止发布按钮溢出 */
.compose{overflow:hidden}
.compose-bar{flex-wrap:wrap;row-gap:10px}
.compose-bar .pub{margin-left:auto;flex:none;max-width:100%}
.compose textarea{max-width:100%}

/* ---------- 发帖卡片移到顶部后的布局 ---------- */
.feed .compose{width:100%;margin:0 0 12px;padding:16px 18px 14px;border-radius:10px}
.feed .compose textarea{min-height:110px}
.feed .compose .cp-tabs{margin-bottom:14px}
.feed .compose .compose-bar{margin-top:12px}
.feed .compose .compose-bar .pub{height:36px;padding:0 22px}
@media (max-width:900px){
  .feed .compose{margin:0 0 10px;padding:14px}
  .feed .compose textarea{min-height:96px}
}

/* ---------- 主页落地页 ---------- */
#landingPage{background:#fff}
.hero{
  padding:70px 20px 50px;text-align:center;
  background:
    radial-gradient(900px 420px at 50% -10%, #eef5ff 0%, #ffffff 70%),
    linear-gradient(180deg,#f7fbff 0%,#ffffff 100%);
  border-bottom:1px solid #f1f5f9;
}
.hero-inner{max-width:960px;margin:0 auto}
.hero h1{margin:0 0 16px;font-size:clamp(30px,5vw,54px);font-weight:900;letter-spacing:-1px;line-height:1.2;color:#0f172a}
.hero h1 .hl{color:#2563eb}
.hero p{margin:0;font-size:clamp(14px,1.6vw,18px);color:#64748b}
.hero-search{
  margin:32px auto 0;max-width:720px;display:flex;align-items:center;gap:10px;
  background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:8px 8px 8px 18px;
  box-shadow:0 14px 36px rgba(15,23,42,.08);
}
.hero-search input{flex:1;border:0;outline:none;font-size:15px;padding:8px 0;background:transparent;color:#0f172a;min-width:0}
.hero-search input::placeholder{color:#a8b1bf}
.hero-search button{height:44px;padding:0 28px;border:0;border-radius:999px;background:#2563eb;color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.hero-search button:hover{background:#1d4fd8}
.hot{margin-top:20px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;font-size:13.5px;color:#94a3b8}
.hot a{color:#2563eb;font-weight:500}
.hot a:hover{text-decoration:underline}

.land-wrap{max-width:1200px;margin:0 auto;padding:26px 20px 50px}
.land-head{display:flex;align-items:baseline;gap:12px;margin:26px 0 16px}
.land-head h2{margin:0;font-size:22px;font-weight:800;letter-spacing:-.3px}
.land-head a{margin-left:auto;font-size:13px;color:#64748b}
.land-head a:hover{color:#2563eb}
.land-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1000px){.land-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.land-grid{grid-template-columns:repeat(2,1fr)}}
.land-card{border:1px solid #eef2f7;border-radius:10px;overflow:hidden;background:#fff;cursor:pointer;transition:.18s}
.land-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(15,23,42,.08);border-color:#dbe6fb}
.land-thumb{aspect-ratio:16/10;background:linear-gradient(135deg,#dbeafe,#eef4ff);display:grid;place-items:center;color:#93a5c4;font-size:28px;font-weight:800}
.land-body{padding:12px 14px 14px}
.land-body h3{margin:0;font-size:14.5px;font-weight:700;line-height:1.45;color:#1f2937;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.land-meta{margin-top:7px;font-size:11.5px;color:#94a3b8;display:flex;gap:10px}
.land-cats{display:flex;gap:10px;flex-wrap:wrap}
.land-cats a{font-size:13px;color:#475569;background:#f3f6fa;border-radius:6px;padding:8px 14px}
.land-cats a:hover{background:#eef4ff;color:#2563eb}

/* ---------- 卡片铺满 + 按钮直角 ---------- */
#homePage .feed .compose{
  margin:0 -20px;border-radius:0;border-left:0;border-right:0;
}
#homePage .side .side-card{margin:0 -20px;border-radius:0;border-left:0;border-right:0}
#homePage .side{gap:10px}
.cp-tabs button,.compose-bar .pub,.feed-head .write,.p-pub,.btn-s,.p-edit-btn,.uc-msg,.uc-follow,.way,.h5-btn,.rd-submit{
  border-radius:0 !important;
}
@media (max-width:900px){
  #homePage .feed .compose{margin:0 -14px}
  #homePage .side .side-card{margin:0 -14px}
}

/* 表情面板 */
.emoji-panel{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px;padding:10px;background:#f7f9fc;border:1px solid #e9edf3}
.emoji-panel span{width:30px;height:30px;display:grid;place-items:center;font-size:18px;cursor:pointer;border-radius:4px}
.emoji-panel span:hover{background:#eef4ff}

/* ---------- 帖子底部操作按钮：加大 ---------- */
.post .post-foot{gap:34px;font-size:15px;margin-top:18px;padding-top:12px;border-top:1px solid #f2f5f9;color:#64748b}
.post .post-foot .act{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 2px}
.post .post-foot .act .ico{width:20px;height:20px}
.post .post-foot .act:hover{color:#2563eb}
.post .post-foot .act.on{color:#ef4444}
.post .post-foot .act.on .ico{fill:currentColor}

/* ---------- 卡片内嵌评论 ---------- */
.post-comments{margin-top:14px;border-top:1px solid #f2f5f9;padding-top:16px}
.pc-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.pc-head b{font-size:15px;font-weight:800}
.pc-sort{margin-left:auto;display:flex;align-items:center;gap:0}
.pc-sort button{border:1px solid #e2e8f0;background:#fff;font-size:12.5px;color:#475569;padding:5px 12px;cursor:pointer;margin-left:-1px}
.pc-sort button.on{background:#2563eb;border-color:#2563eb;color:#fff}
.pc-editor{display:flex;gap:12px;margin-bottom:6px}
.pc-editor .cm-ava{width:40px;height:40px}
.pc-box{flex:1;min-width:0;border:1px solid #edf1f7;border-radius:8px;padding:10px;background:#fff}
.pc-box textarea{width:100%;min-height:64px;border:0;background:#f6f8fb;border-radius:6px;padding:10px 12px;font-size:13.5px;resize:vertical;outline:none;font-family:inherit;color:#374151}
.pc-box .pc-bar{display:flex;align-items:center;gap:16px;margin-top:8px;font-size:12.5px;color:#64748b}
.pc-box .pc-bar button{margin-left:auto;height:32px;padding:0 18px;border:0;border-radius:6px;background:#2563eb;color:#fff;font-size:13px;font-weight:600;cursor:pointer}

/* 修正：计数不使用斜体 */
.post-foot .act i,.post-foot .act em{font-style:normal;font-weight:400;font-size:15px}
.post .post-foot .act{font-style:normal}

/* 展开的评论不要无限拉长，避免把其他帖子挤走 */
.post-comments{max-height:520px;overflow:auto}
.post-comments .pc-list{max-height:360px;overflow:auto;padding-right:4px}
.post-comments .cm-item{padding:14px 0}

/* 操作菜单 */
.pd-actions{position:relative}
.ops-menu{position:absolute;right:8px;bottom:52px;background:#fff;border:1px solid #e8ecf2;border-radius:8px;box-shadow:0 12px 30px rgba(15,23,42,.14);padding:6px;min-width:180px;z-index:20}
.ops-menu button{width:100%;border:0;background:none;padding:9px 12px;font-size:13px;color:#dc2626;text-align:left;cursor:pointer;border-radius:6px}
.ops-menu button:hover:enabled{background:#fef2f2}
.ops-menu button:disabled{color:#c0c7d2;cursor:not-allowed}

/* 删除确认弹窗 */
#delMask{justify-content:center;align-items:center;padding:20px}
.del-dialog{width:min(360px,100%);background:#fff;border-radius:10px;padding:20px;box-shadow:0 24px 60px rgba(15,23,42,.28);animation:pop .24s var(--spring)}
.del-dialog h3{margin:0;font-size:16.5px;font-weight:700}
.del-dialog p{margin:10px 0 18px;font-size:13.5px;color:#64748b;line-height:1.7}
.del-acts{display:flex;gap:10px;justify-content:flex-end}
.del-cancel{height:34px;padding:0 16px;border:1px solid #dcdfe6;background:#fff;border-radius:6px;font-size:13.5px;color:#475569;cursor:pointer}
.del-ok{height:34px;padding:0 16px;border:0;border-radius:6px;background:#dc2626;color:#fff;font-size:13.5px;font-weight:600;cursor:pointer}
.del-ok:disabled{background:#f3d3d3;color:#fff;cursor:not-allowed}

/* ---------- 他人主页 ---------- */
#userPage{background:#fff}
.up-banner{height:58px;background:linear-gradient(180deg,#cfe4ff,#e8f2ff)}
.up-wrap{max-width:1200px;margin:0 auto;padding:0 20px 40px}
.up-head{display:flex;align-items:flex-start;gap:16px;margin-top:-38px}
.up-ava{width:96px;height:96px;border-radius:50%;border:4px solid #fff;overflow:hidden;background:#dbe4f2;display:grid;place-items:center;color:#4b5563;font-size:30px;font-weight:700;flex:none}
.up-ava img{width:100%;height:100%;object-fit:cover;display:block}
.up-info{flex:1;min-width:0;padding-top:44px}
.up-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.up-name b{font-size:24px;font-weight:800;letter-spacing:-.3px}
.up-badge{font-size:11px;font-weight:700;color:#2563eb;background:#eef4ff;border-radius:4px;padding:2px 7px}
.up-vip{font-size:11px;font-weight:700;color:#111827;background:#fde68a;border-radius:4px;padding:2px 7px}
.up-bio{margin-top:8px;font-size:13.5px;color:#64748b}
.up-tags{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.up-tags span{font-size:12.5px;color:#475569;background:#f3f6fa;border-radius:6px;padding:4px 11px}
.up-acts{display:flex;gap:10px;padding-top:48px}
.up-msg{height:34px;padding:0 16px;border:1px solid #dcdfe6;background:#fff;border-radius:6px;font-size:13.5px;color:#334155;cursor:pointer}
.up-follow{height:34px;padding:0 18px;border:0;border-radius:6px;background:#2563eb;color:#fff;font-size:13.5px;font-weight:600;cursor:pointer}
.up-follow.on{background:#eef4ff;color:#2563eb;border:1px solid #cfe0ff}
.up-stats{display:flex;align-items:center;gap:18px;margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9;font-size:13.5px;color:#64748b;flex-wrap:wrap}
.up-stats b{color:#111827;font-size:17px;font-weight:800;margin-left:4px}
.up-stats i{width:1px;height:14px;background:#e8edf3}
.up-cols{display:grid;grid-template-columns:1fr 300px;gap:20px;margin-top:20px;align-items:start}
.up-tabs{display:flex;gap:26px;border-bottom:1px solid #eef2f7;padding:0 4px}
.up-tabs button{border:0;background:none;padding:14px 2px 12px;font-size:15px;font-weight:700;color:#64748b;cursor:pointer;border-bottom:2.5px solid transparent}
.up-tabs button.on{color:#2563eb;border-bottom-color:#2563eb}
.up-list{padding:6px 4px}
@media (max-width:900px){
  .up-wrap{padding:0 14px 30px}
  .up-cols{grid-template-columns:1fr}
  .up-side{order:2}
  .up-head{flex-wrap:wrap}
  .up-acts{padding-top:0;width:100%}
}
.up-cols{grid-template-columns:1fr}

/* ---------- 积分中心 ---------- */
#pointPage{background:#f6f8fb;min-height:70vh}
.pt-wrap{max-width:720px;margin:0 auto;padding:22px 16px 50px}
.pt-head{background:linear-gradient(135deg,#2563eb,#4f8bff);border-radius:12px;padding:20px 22px;color:#fff}
.pt-label{font-size:13px;opacity:.85}
.pt-num{font-size:38px;font-weight:900;letter-spacing:-1px;line-height:1.2}
.pt-sub{font-size:12.5px;opacity:.85;margin-top:6px}
.pt-tabs{display:flex;gap:0;margin:18px 0 0;background:#fff;border-radius:10px;padding:5px;border:1px solid #eef2f7}
.pt-tabs button{flex:1;border:0;background:none;height:38px;border-radius:7px;font-size:14px;font-weight:700;color:#64748b;cursor:pointer}
.pt-tabs button.on{background:#2563eb;color:#fff}
.pt-panel{background:#fff;border:1px solid #eef2f7;border-radius:10px;margin-top:12px;padding:18px}
.pt-card-row{display:flex;gap:10px}
.pt-card-row input{flex:1;height:44px;border:1px solid #e2e8f0;border-radius:8px;padding:0 14px;font-size:14px;outline:none;min-width:0}
.pt-card-row input:focus{border-color:#2563eb}
.pt-card-row button{height:44px;padding:0 22px;border:0;border-radius:8px;background:#2563eb;color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.pt-tip{margin-top:12px;font-size:12.5px;color:#94a3b8}
.pt-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pt-amounts button{border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:14px 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:#0f172a}
.pt-amounts button b{font-size:17px;font-weight:800}
.pt-amounts button span{font-size:11.5px;color:#94a3b8}
.pt-amounts button.on{border-color:#2563eb;background:#eef4ff}
.pt-amounts button.on span{color:#2563eb}
.pt-custom{margin-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pt-custom label{font-size:13px;color:#475569}
.pt-custom input{width:130px;height:38px;border:1px solid #e2e8f0;border-radius:8px;padding:0 12px;font-size:14px;outline:none}
.pt-calc{font-size:12.5px;color:#2563eb}
.pt-pay{margin-top:20px;width:100%;height:46px;border:0;border-radius:9px;background:#2563eb;color:#fff;font-size:15px;font-weight:700;cursor:pointer}
.pt-pay:disabled{background:#a9c1f5;cursor:not-allowed}
@media (max-width:520px){.pt-amounts{grid-template-columns:repeat(2,1fr)}}

/* 签到 / 商城按钮 */
.p-tool{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px;margin-left:10px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:13px;color:#475569;cursor:pointer}
.p-tool:hover{border-color:#cfe0ff;color:#2563eb}
.p-tool+.p-pub{margin-left:auto}

/* 弹窗通用 */
#signMask,#mallMask{justify-content:center;align-items:center;padding:20px}
.pt-dialog{position:relative;width:min(420px,100%);background:#fff;border-radius:12px;padding:20px;box-shadow:0 24px 60px rgba(15,23,42,.28);animation:pop .24s var(--spring)}
.pt-dialog.wide{width:min(560px,100%)}
.pt-dclose{position:absolute;right:12px;top:12px;border:0;background:none;color:#b8c0cc;font-size:14px;cursor:pointer}
.pt-dialog h3{margin:0 0 8px;font-size:17px;font-weight:800}
.pt-dsub{margin:0 0 14px;font-size:13px;color:#64748b}
.sign-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:16px}
.sign-cell{border:1px solid #eef2f7;border-radius:8px;padding:10px 4px;text-align:center;background:#fafcff}
.sign-cell.done{background:#eef4ff;border-color:#cfe0ff;color:#2563eb}
.sign-cell.today{box-shadow:0 0 0 2px #2563eb inset}
.sign-cell b{display:block;font-size:13px}
.sign-cell span{font-size:11px;color:#94a3b8}
.pt-dbtn{width:100%;height:44px;border:0;border-radius:8px;background:#2563eb;color:#fff;font-size:15px;font-weight:700;cursor:pointer}
.pt-dbtn:disabled{background:#b9cbf3;cursor:not-allowed}
.mall-list{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow:auto}
.mall-item{display:flex;align-items:center;gap:12px;border:1px solid #eef2f7;border-radius:10px;padding:12px}
.mall-item .mi-main{flex:1;min-width:0}
.mall-item .mi-name{font-size:14px;font-weight:700}
.mall-item .mi-desc{margin-top:4px;font-size:12px;color:#94a3b8}
.mall-item .mi-pts{font-size:13px;font-weight:800;color:#2563eb;white-space:nowrap}
.mall-item button{height:32px;padding:0 14px;border:0;border-radius:6px;background:#2563eb;color:#fff;font-size:13px;cursor:pointer}
.mall-item button:disabled{background:#dbe4f2;color:#94a3b8;cursor:not-allowed}

/* ---------- 签到 / 商城：简约风 ---------- */
.pt-dialog{border-radius:8px;box-shadow:0 10px 30px rgba(15,23,42,.12);padding:22px 22px 20px}
.pt-dialog h3{font-size:16px;font-weight:700;margin-bottom:6px}
.pt-dsub{color:#8b95a5;font-size:12.5px;margin-bottom:16px}
.sign-grid{gap:0;border-top:1px solid #eef1f5;margin-bottom:18px}
.sign-cell{border:0;border-bottom:1px solid #eef1f5;border-right:1px solid #eef1f5;border-radius:0;background:#fff;padding:12px 4px;color:#8b95a5}
.sign-cell:last-child{border-right:0}
.sign-cell b{font-size:13px;font-weight:600;color:#475569}
.sign-cell span{font-size:11px;color:#a8b1bf}
.sign-cell.done{background:#f6f9ff;color:#2563eb}
.sign-cell.done b{color:#2563eb}
.sign-cell.today{box-shadow:none;background:#eef4ff}
.pt-dbtn{border-radius:0;height:42px;background:#2563eb;font-weight:600}
.pt-dbtn:disabled{background:#e8edf5;color:#a8b1bf}

.mall-list{gap:0;border-top:1px solid #eef1f5}
.mall-item{border:0;border-bottom:1px solid #eef1f5;border-radius:0;padding:14px 2px}
.mall-item .mi-name{font-size:14px;font-weight:600;color:#1f2937}
.mall-item .mi-desc{margin-top:3px;font-size:12px;color:#a8b1bf}
.mall-item .mi-pts{font-size:13px;font-weight:600;color:#475569}
.mall-item button{border-radius:0;height:30px;background:#2563eb;font-weight:500}
.mall-item button:disabled{background:#f1f4f9;color:#b6bdc9}

/* 提现弹窗 */
.cash-rows{border-top:1px solid #eef1f5;margin-bottom:14px}
.cash-row{display:flex;align-items:center;justify-content:space-between;padding:11px 2px;border-bottom:1px solid #eef1f5;font-size:13.5px;color:#64748b}
.cash-row b{font-weight:700;color:#1f2937}
.cash-row.net b{color:#2563eb;font-size:15px}
.cash-input{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.cash-input label{width:70px;font-size:13px;color:#475569;flex:none}
.cash-input input{flex:1;height:38px;border:1px solid #e2e8f0;border-radius:0;padding:0 12px;font-size:13.5px;outline:none;min-width:0}
.cash-input input:focus{border-color:#2563eb}
#cashBtn{margin-top:8px}
.cash-select{flex:1;height:38px;border:1px solid #e2e8f0;border-radius:0;padding:0 10px;font-size:13.5px;outline:none;background:#fff;color:#334155}

/* 提现记录 */
.cash-hist{margin-top:18px;border-top:1px solid #eef1f5;padding-top:12px}
.cash-hist-title{font-size:13px;font-weight:600;color:#475569;margin-bottom:6px}
.cash-rec{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid #f4f6fa;font-size:12.5px;color:#8b95a5}
.cash-rec b{font-weight:600;color:#1f2937}
.cash-rec .cr-status{margin-left:auto;font-size:12px}
.cash-rec .cr-status.s0{color:#d97706}
.cash-rec .cr-status.s1{color:#16a34a}
.cash-rec .cr-status.s2{color:#dc2626}

/* 微信收款二维码 */
.cash-qr{margin:6px 0 10px}
.cash-qr-head{font-size:13px;color:#475569;margin-bottom:8px}
.cash-qr-head span{color:#a8b1bf;font-size:12px}
.cash-qr-body{display:flex}
.cash-qr-prev{width:110px;height:110px;border:1px dashed #d7dee8;display:grid;place-items:center;cursor:pointer;background:#fafcff;color:#a8b1bf;font-size:12.5px;overflow:hidden}
.cash-qr-prev img{width:100%;height:100%;object-fit:cover}
.cash-qr-prev:hover{border-color:#2563eb;color:#2563eb}

/* 编辑器附件 */
.ed-files{margin-top:14px;border:1px solid #eef2f7;padding:14px 16px;background:#fff}
.ed-files-head{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#475569}
.ed-files-head button{margin-left:auto;height:30px;padding:0 12px;border:1px solid #dbe3ee;background:#fff;border-radius:0;font-size:12.5px;color:#2563eb;cursor:pointer}
.ed-file-tip{margin-top:6px;font-size:12px;color:#a8b1bf}
.ed-file-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f4f6fa;font-size:13px;color:#334155}
.ed-file-item .ef-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-file-item .ef-size{color:#a8b1bf;font-size:12px}
.ed-file-item input{width:78px;height:30px;border:1px solid #dbe3ee;border-radius:0;padding:0 8px;font-size:12.5px;outline:none}
.ed-file-item .ef-del{border:0;background:none;color:#c0c7d2;font-size:13px;cursor:pointer}

/* 帖子附件 */
.post-files{margin:16px 0 0}
.pf-title{font-size:13px;font-weight:600;color:#475569;margin-bottom:8px}
.pf-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #eef2f7;background:#fafcff;margin-bottom:8px;font-size:13px;color:#334155}
.pf-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-size{color:#a8b1bf;font-size:12px}
.pf-pts{color:#2563eb;font-size:12.5px;font-weight:600}
.pf-item button{height:28px;padding:0 12px;border:0;border-radius:0;background:#2563eb;color:#fff;font-size:12.5px;cursor:pointer}
.pf-item button:disabled{background:#dbe4f2;cursor:not-allowed}

/* 发帖弹窗附件 */
.np-files-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.np-files-head button{height:28px;padding:0 12px;border:1px solid #dbe3ee;background:#fff;border-radius:0;font-size:12.5px;color:#2563eb;cursor:pointer}
.np-files-head span{font-size:11.5px;color:#a8b1bf}
.np-file-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f4f6fa;font-size:12.5px;color:#334155}
.np-file-item .nf-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.np-file-item input{width:70px;height:28px;border:1px solid #dbe3ee;border-radius:0;padding:0 8px;font-size:12.5px;outline:none}
.np-file-item .nf-del{border:0;background:none;color:#c0c7d2;cursor:pointer;font-size:13px}

/* ---------- 会员协议 ---------- */
#agreeMask{justify-content:center;align-items:center;padding:20px}
.agree-dialog{width:min(680px,100%);max-height:86vh;background:#fff;border-radius:8px;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(15,23,42,.22)}
.agree-head{flex:none;display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #eef2f7}
.agree-head h3{margin:0;font-size:16px;font-weight:700;color:#1f2937}
.agree-head .rd-x{margin-left:auto;border:0;background:none;color:#b8c0cc;cursor:pointer}
.agree-body{flex:1;overflow:auto;padding:18px 22px;font-size:13.5px;line-height:1.85;color:#4b5563}
.agree-body h4{margin:18px 0 8px;font-size:14px;font-weight:700;color:#1f2937}
.agree-body h4:first-of-type{margin-top:4px}
.agree-body p{margin:0 0 8px}
.agree-body strong{color:#b91c1c}
.agree-upd{color:#94a3b8;font-size:12px;margin-bottom:6px}
.agree-foot{flex:none;padding:14px 20px;border-top:1px solid #eef2f7;display:flex;justify-content:flex-end}
.agree-ok{height:38px;padding:0 22px;border:0;border-radius:6px;background:#2563eb;color:#fff;font-size:14px;font-weight:600;cursor:pointer}

/* ---------- 登录注册页（参考样式） ---------- */
.auth-mask{
  align-items:center;justify-content:center;
  background:linear-gradient(135deg,#3b5bff 0%,#5b3bff 55%,#7b3bff 100%);
}
.auth-panel{position:relative;width:min(430px,100%);background:#fff;border-radius:14px;padding:28px 28px 22px;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.auth-x{position:absolute;right:12px;top:12px;border:0;background:none;color:#b8c0cc;cursor:pointer}
.auth-tabs{display:flex;gap:26px;border-bottom:1px solid #eef1f5;margin-bottom:22px}
.auth-tabs button{border:0;background:none;padding:0 2px 12px;font-size:16px;font-weight:600;color:#8b95a5;cursor:pointer;border-bottom:2px solid transparent}
.auth-tabs button.on{color:#2563eb;border-bottom-color:#2563eb}
.auth-form{display:flex;flex-direction:column;gap:14px}
.auth-input{height:46px;border:1px solid #e2e8f0;border-radius:8px;padding:0 14px;font-size:14px;color:#1f2937;outline:none;background:#fff;width:100%}
.auth-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.auth-input::placeholder{color:#a8b1bf}
.auth-field{display:flex;gap:10px}
.auth-field .auth-input{flex:1;min-width:0}
.auth-code{flex:none;height:46px;padding:0 14px;border:1px solid #dbe3ee;background:#f8fafc;border-radius:8px;font-size:13px;color:#475569;cursor:pointer;white-space:nowrap}
.auth-captcha{flex:none;height:46px;min-width:96px;border:1px solid #e2e8f0;border-radius:8px;background:#eef4ff;display:grid;place-items:center;font-size:18px;font-weight:700;letter-spacing:3px;color:#2563eb;cursor:pointer;user-select:none;font-family:monospace}
.auth-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#64748b;margin-top:-2px}
.auth-remember{display:flex;align-items:center;gap:6px;cursor:pointer}
.auth-submit{height:48px;border:0;border-radius:8px;background:#2563eb;color:#fff;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px}
.auth-submit:hover{background:#1d4fd8}
.auth-submit:disabled{background:#a9c1f5;cursor:not-allowed}
.auth-links{display:flex;align-items:center;justify-content:center;gap:14px;font-size:13px;color:#8b95a5;flex-wrap:wrap}
.auth-links a{color:#2563eb}
.auth-links i{width:1px;height:12px;background:#e2e8f0}
.auth-agree{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:#64748b;line-height:1.6;cursor:pointer}
.auth-agree a{color:#2563eb}
.auth-agree input{margin-top:2px}
@media (max-width:520px){
  .auth-panel{width:100%;border-radius:14px 14px 0 0;align-self:flex-end;padding:24px 20px 20px}
  .auth-mask{align-items:flex-end;padding:0}
}

/* ---------- 登录注册 v2 ---------- */
.auth-mask{flex-direction:column;justify-content:flex-start;padding:0;overflow:auto}
.auth-brand{width:100%;max-width:460px;margin:0 auto;padding:54px 28px 30px;color:#fff;text-align:center}
.auth-logo{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;margin:0 auto 14px;font-weight:800;font-size:19px;letter-spacing:.5px;backdrop-filter:blur(6px)}
.auth-brand h2{margin:0 0 8px;font-size:21px;font-weight:800;letter-spacing:-.3px}
.auth-brand p{margin:0;font-size:13px;opacity:.85}

.auth-panel{width:100%;max-width:460px;margin:0 auto;background:#fff;border-radius:20px;padding:24px 22px 20px;box-shadow:0 -8px 40px rgba(20,20,80,.18);flex:1 0 auto}
.auth-x{position:absolute;right:14px;top:14px;border:0;background:none;color:#c3c9d4;cursor:pointer}
.auth-tabs{display:flex;gap:24px;border-bottom:1px solid #f0f2f6;margin-bottom:20px}
.auth-tabs button{border:0;background:none;padding:2px 2px 12px;font-size:17px;font-weight:700;color:#9aa4b2;cursor:pointer;border-bottom:2.5px solid transparent}
.auth-tabs button.on{color:#2563eb;border-bottom-color:#2563eb}

.auth-form{display:flex;flex-direction:column;gap:12px}
.auth-input-wrap{position:relative;display:flex;align-items:center;background:#f7f9fc;border:1px solid transparent;border-radius:12px;transition:.18s}
.auth-input-wrap:focus-within{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.auth-ico{width:18px;height:18px;margin-left:14px;color:#9aa4b2;flex:none;stroke:currentColor;fill:none;stroke-width:1.8}
.auth-input{flex:1;min-width:0;height:50px;border:0;background:transparent;padding:0 14px;font-size:15px;color:#1f2937;outline:none}
.auth-input::placeholder{color:#adb6c4;font-size:14.5px}
.auth-eye{border:0;background:none;padding:0 12px;color:#adb6c4;cursor:pointer;display:grid;place-items:center;height:50px}
.auth-eye .ico{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}
.auth-eye:hover{color:#2563eb}

.auth-field{display:flex;gap:10px;align-items:stretch}
.auth-field .auth-input-wrap{flex:1;min-width:0}
.auth-code{flex:none;padding:0 14px;height:50px;border:1px solid #e2e8f0;background:#fff;border-radius:12px;font-size:13px;color:#475569;cursor:pointer}
.auth-captcha{flex:none;height:50px;min-width:104px;border-radius:12px;background:#eef4ff;display:grid;place-items:center;font-size:18px;font-weight:700;letter-spacing:4px;color:#2563eb;cursor:pointer;user-select:none;font-family:ui-monospace,monospace}

.auth-remember{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#64748b;cursor:pointer;padding:2px 2px 0}
.auth-remember input{width:17px;height:17px;accent-color:#2563eb}
.auth-submit{height:50px;border:0;border-radius:12px;background:linear-gradient(90deg,#2563eb,#4f7dff);color:#fff;font-size:16px;font-weight:700;cursor:pointer;margin-top:8px;box-shadow:0 8px 18px rgba(37,99,235,.24)}
.auth-submit:active{transform:translateY(1px)}
.auth-submit:disabled{background:#b9cbf3;box-shadow:none}
.auth-links{display:flex;align-items:center;justify-content:center;gap:14px;font-size:13px;color:#8b95a5;flex-wrap:wrap;margin-top:4px}
.auth-links a{color:#2563eb;font-weight:500}
.auth-links i{width:1px;height:12px;background:#e2e8f0}
.auth-agree{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:#64748b;line-height:1.6;cursor:pointer;padding:2px}
.auth-agree a{color:#2563eb}
.auth-agree input{margin-top:2px;width:16px;height:16px;accent-color:#2563eb}

@media (min-width:600px){
  .auth-mask{justify-content:center}
  .auth-brand{padding:0 28px 18px}
  .auth-panel{flex:0 0 auto;border-radius:18px;margin-bottom:40px}
}
@media (max-width:599px){
  .auth-brand{padding:44px 24px 26px}
  .auth-panel{border-radius:22px 22px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom))}
}

/* ---------- 登录注册：简约直角版 ---------- */
.auth-mask{background:#f2f4f7;justify-content:center;align-items:center;padding:24px 16px}
.auth-brand{display:none}
.auth-panel{width:min(420px,100%);background:#fff;border:1px solid #e4e8ef;border-radius:0;box-shadow:none;padding:30px 26px 24px;flex:0 0 auto;margin:0}
.auth-x{color:#b8c0cc}
.auth-tabs{gap:28px;border-bottom:1px solid #eef1f5;margin-bottom:22px}
.auth-tabs button{font-size:16px;font-weight:600;color:#9aa4b2;padding:0 1px 12px;border-bottom:2px solid transparent;border-radius:0}
.auth-tabs button.on{color:#2563eb;border-bottom-color:#2563eb}

.auth-input-wrap{background:#fff;border:1px solid #dfe3ea;border-radius:0}
.auth-input-wrap:focus-within{border-color:#2563eb;box-shadow:none;background:#fff}
.auth-ico{color:#aab2bf}
.auth-input{height:48px;border-radius:0;font-size:14.5px}
.auth-input::placeholder{color:#aab2bf}
.auth-eye{height:48px;border-radius:0}
.auth-code,.auth-captcha{border-radius:0;height:48px}
.auth-remember{font-size:13px}
.auth-submit{height:48px;border-radius:0;background:#2563eb;box-shadow:none;font-size:15px;font-weight:600}
.auth-submit:hover{background:#1d4fd8}
.auth-submit:active{transform:none}
.auth-links{font-size:13px;color:#98a2b3}
.auth-links a{font-weight:400}
.auth-agree{font-size:12.5px}
@media (max-width:599px){
  .auth-mask{align-items:center;padding:16px}
  .auth-panel{border-radius:0;padding:24px 20px;margin:0}
}
.auth-note{font-size:12px;color:#98a2b3;margin:-4px 0 2px}
.auth-note a{color:#2563eb}

/* ---------- 广告位 ---------- */
.ad-slot{margin:0 0 12px}
.ad-links{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #eef1f5;background:#fff}
.ad-links a{display:block;padding:12px 10px;font-size:13px;color:#2563eb;text-align:center;border-right:1px solid #f1f4f8;border-bottom:1px solid #f1f4f8;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-links a:nth-child(4n){border-right:0}
.ad-links a:hover{background:#f7faff}
.ad-banners{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.ad-banners a{display:block;border:1px solid #eef1f5;overflow:hidden}
.ad-banners img{width:100%;display:block}
@media (max-width:900px){
  .ad-links{grid-template-columns:repeat(2,1fr)}
  .ad-links a:nth-child(4n){border-right:1px solid #f1f4f8}
  .ad-links a:nth-child(2n){border-right:0}
  .ad-banners{grid-template-columns:1fr}
}

/* ---------- 广告轮播 ---------- */
.ad-carousel{position:relative;overflow:hidden;border:1px solid #eef1f5;background:#fff}
.ad-track{display:flex;transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.ad-slide{flex:0 0 100%;display:block}
.ad-slide img{width:100%;display:block;aspect-ratio:1000/260;object-fit:cover}
.ad-dots{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:6px}
.ad-dots i{width:16px;height:3px;background:rgba(255,255,255,.55);cursor:pointer;transition:.2s}
.ad-dots i.on{background:#fff;width:24px}
@media (max-width:900px){.ad-slide img{aspect-ratio:16/7}}

/* 落地页广告区 */
#landingPage .land-wrap{padding-top:22px}
#landingPage .ad-slot{margin:0}
#landingPage .ad-links{grid-template-columns:repeat(5,1fr)}
@media (max-width:900px){#landingPage .ad-links{grid-template-columns:repeat(2,1fr)}}
#searchPage .cat-head{display:flex;align-items:baseline;gap:12px}

/* ---------- 落地页精简：只有搜索框 ---------- */
.hero.hero-min{padding:26px 16px 20px;border-bottom:0}
.hero.hero-min .hero-search{margin:0 auto;max-width:640px}
#landingPage .land-wrap{padding:8px 16px 40px}
/* 广告图片更小，适配手机 */
.ad-slide img{aspect-ratio:auto;height:150px;object-fit:cover}
.ad-carousel{max-height:150px}
@media (max-width:900px){
  .hero.hero-min{padding:14px 12px 12px}
  .hero.hero-min .hero-search{border-radius:10px;padding:6px 6px 6px 14px}
  .hero.hero-min .hero-search input{font-size:14px;height:38px}
  .hero.hero-min .hero-search button{height:38px;padding:0 18px;font-size:13.5px}
  .ad-slide img{height:96px}
  .ad-carousel{max-height:96px}
  #landingPage .land-wrap{padding:6px 12px 30px}
}

/* ---------- 首页：山景背景 + 居中搜索 ---------- */
.hero.hero-min{
  padding:0 !important;background-color:#dfe6ee !important;
  background-image:url("/banners/hero-bg.png") !important;
  background-size:cover;background-position:center 35%;background-repeat:no-repeat;
  min-height:300px;display:flex;align-items:center;justify-content:center;
}
.hero.hero-min .hero-inner{width:100%;max-width:820px;margin:0 auto;padding:34px 18px}
.hero.hero-min .hero-search{
  margin:0 auto;max-width:760px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;
  padding:6px 6px 6px 18px;box-shadow:0 10px 30px rgba(15,23,42,.14);gap:8px;
}
.hero.hero-min .hero-search input{height:46px;font-size:15px;color:#334155}
.hero.hero-min .hero-search input::placeholder{color:#94a3b8}
.hero.hero-min .hero-search button{
  height:46px;padding:0 30px;border-radius:4px;background:#2563eb;color:#fff;
  font-size:15px;font-weight:600;letter-spacing:1px;
}
.hero.hero-min .hero-search button:hover{background:#1d4fd8}
#landingPage .land-wrap{background:#f4f6f9;padding:14px 16px 46px}
@media (max-width:900px){
  .hero.hero-min{min-height:190px;background-position:center 30%}
  .hero.hero-min .hero-inner{padding:22px 12px}
  .hero.hero-min .hero-search{max-width:100%;border-radius:5px;padding:4px 4px 4px 12px}
  .hero.hero-min .hero-search input{height:40px;font-size:14px}
  .hero.hero-min .hero-search button{height:40px;padding:0 18px;font-size:14px}
  #landingPage .land-wrap{padding:10px 10px 30px}
}

/* ---------- 手机端：抽屉菜单 ---------- */
.hamb{display:none;width:38px;height:34px;border:1px solid #e2e8f0;background:#fff;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer;margin-right:8px}
.hamb span{display:block;width:16px;height:1.5px;background:#334155}
.drawer-mask{position:fixed;inset:0;background:rgba(15,23,42,.35);opacity:0;pointer-events:none;transition:.2s;z-index:90}
.drawer-mask.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;left:0;top:0;bottom:0;width:76%;max-width:320px;background:#fff;transform:translateX(-102%);transition:transform .24s ease;z-index:91;display:flex;flex-direction:column}
.drawer.on{transform:none}
.drawer-head{height:56px;display:flex;align-items:center;padding:0 18px;border-bottom:1px solid #eef1f5}
.drawer-head .mark{background:#2563eb;color:#fff;border-radius:8px;width:32px;height:32px;display:grid;place-items:center;font-size:14px;font-weight:700}
.drawer-nav{flex:1;overflow:auto;padding:8px 0}
.drawer-nav a{display:block;padding:14px 20px;font-size:15px;color:#1f2937;border-bottom:1px solid #f4f6fa}
.drawer-nav a.on{color:#2563eb;background:#f6f9ff;font-weight:600}
@media (max-width:900px){
  .hamb{display:flex}
  .brand-text{display:none}
  .menu{display:none}
}

/* ---------- 抽屉选中项 & 汉堡按钮（参考样式） ---------- */
.drawer-nav a.on{color:#2563eb;background:transparent;font-weight:400}
.hamb{display:none;width:34px;height:32px;border:0;background:transparent;border-radius:0;padding:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;cursor:pointer;margin-right:10px}
.hamb span{display:block;width:22px;height:2px;background:#1f2937;border-radius:0}
@media (max-width:900px){
  .hamb{display:flex}
}

/* ---------- 个人主页：去掉统计分隔线与横向分割线 ---------- */
.p-stat + .p-stat{border-left:0 !important;margin-left:26px !important;padding-left:0 !important}
.p-stats{border-top:0 !important;border-bottom:0 !important}
#profilePage .p-tabs{border-bottom:0 !important}
#profilePage .p-card{border-bottom:0 !important}
#profilePage .p-head{border-bottom:0 !important}
.p-tabs + *{border-top:0 !important}
.p-loc{margin:6px 0 0;font-size:12.5px;color:#94a3b8}

/* 定位行：IP 标记 + 地区 */
.p-loc{display:flex;align-items:center;gap:6px}
.p-loc .ip-tag{font-size:10.5px;font-weight:700;letter-spacing:.5px;color:#2563eb;background:#eef4ff;border:1px solid #dbe7ff;border-radius:3px;padding:0 5px;line-height:16px}

/* 定位行：纯文字，无标签样式 */
.p-loc{color:#94a3b8;font-size:12.5px;margin-top:6px}
.p-loc .ip-tag{background:none;border:0;padding:0;color:inherit;font-size:inherit;font-weight:400;letter-spacing:0}
.p-loc .loc-fix{margin-left:6px;font-size:12px;color:#2563eb}

/* ---------- 封禁悬浮提示 ---------- */
.ban-bar{
  position:fixed;left:50%;top:14px;transform:translateX(-50%);
  z-index:120;display:flex;align-items:center;gap:8px;
  background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;
  padding:10px 16px;border-radius:8px;font-size:13.5px;
  box-shadow:0 10px 30px rgba(185,28,28,.18);max-width:92vw;
  animation:banIn .3s ease;
}
@keyframes banIn{from{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%,0)}}
@media (max-width:900px){.ban-bar{top:10px;font-size:13px;padding:9px 12px}}

/* 4 位数字验证码框 */
.auth-captcha{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:6px;font-weight:800;color:#1d4ed8;background:linear-gradient(135deg,#eef4ff,#e7f0ff);border-color:#dbe7ff;text-shadow:1px 1px 0 rgba(37,99,235,.12)}
