/* 供求大市场 SPA（SUPPLY-DEMAND-MARKET-20261029）
   风格对齐悟空总站：浅灰底 + 蓝主色 + 干净表格/卡片，无花哨动效 */
:root{
  --blue:#1b57d6; --blue-d:#0f3fa8; --blue-l:#eaf1ff; --blue-b:#c9dbff;
  --red:#e5484d; --red-d:#c93338; --red-l:#fee9e9;
  --ink:#0f2f6b; --ink2:#344054; --mut:#667085; --mut2:#98a2b3;
  --line:#e6eaf2; --bg:#f5f7fb; --card:#fff;
  --ok:#12b76a; --warn:#f79009;
  --r:12px; --sh:0 2px 8px rgba(16,24,40,.05),0 12px 28px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--ink2);
  font:15px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--blue);text-decoration:none}
h1,h2,h3,b{color:var(--ink)}
.wrap{max-width:1180px;margin:0 auto;padding:24px 20px 64px}

/* 顶栏 */
.hd{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hd-in{max-width:1180px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink)}
.brand img{height:32px;width:auto;border-radius:6px}
.brand-tx{display:flex;flex-direction:column;line-height:1.25}
.brand-tx b{font-size:17px;letter-spacing:.5px}
.brand-tx i{font-style:normal;font-size:11.5px;color:var(--mut2)}
.nav{display:flex;gap:6px;margin-left:6px}
.nav a{padding:7px 12px;border-radius:9px;color:var(--ink2);font-size:14px}
.nav a:hover{background:var(--blue-l);color:var(--blue)}
.nav a.on{background:var(--blue-l);color:var(--blue);font-weight:700}
.hd-act{margin-left:auto;display:flex;align-items:center;gap:12px}
.who{font-size:13px;color:var(--mut)}
.who b{font-weight:700}
.btn-pub{background:linear-gradient(135deg,#1b57d6,#2f7bff);color:#fff;padding:9px 16px;border-radius:10px;font-weight:700;font-size:14px;box-shadow:0 6px 16px rgba(27,87,214,.24)}
.btn-pub:hover{filter:brightness(1.06)}

/* hero */
.hero{display:flex;gap:28px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#f0f5ff 0%,#fff 58%);border:1px solid var(--blue-b);border-radius:16px;padding:26px 28px;margin-bottom:18px}
.hero h1{margin:0 0 8px;font-size:24px;line-height:1.35;letter-spacing:.3px}
.hero p{margin:0;color:var(--mut);font-size:14px;max-width:640px}
.hero p b{color:var(--blue)}
.hero-stat{display:flex;gap:22px;flex:0 0 auto}
.hero-stat div{text-align:center;min-width:76px}
.hero-stat b{display:block;font-size:26px;color:var(--blue);font-variant-numeric:tabular-nums}
.hero-stat i{font-style:normal;font-size:12px;color:var(--mut2)}

/* 搜索 */
.searchbar{display:flex;gap:10px;margin-bottom:20px}
.searchbar input{flex:1;height:46px;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:14.5px;outline:none}
.searchbar input:focus{border-color:var(--blue-b);box-shadow:0 0 0 3px rgba(27,87,214,.10)}
.btn-blue{background:var(--blue);color:#fff;border:0;border-radius:12px;height:46px;padding:0 26px;font-size:15px;font-weight:700;cursor:pointer}
.btn-blue:hover{background:var(--blue-d)}
.btn-blue.big{height:48px;padding:0 34px;font-size:16px}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 22px;border:1px solid var(--blue-b);border-radius:12px;color:var(--blue);background:#fff;font-size:14px;font-weight:700}
.btn-ghost:hover{background:var(--blue-l)}

/* 双栏分类 */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.col{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--sh)}
.col-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.col-h b{font-size:15.5px}
.col-h i{font-style:normal;font-size:12px;color:var(--mut2)}
.dot{width:8px;height:8px;border-radius:50%}
.dot-s{background:var(--blue)}
.dot-d{background:var(--red)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:#fbfcfe;color:var(--ink2);font-size:13.5px;cursor:pointer;transition:.15s}
.chip:hover{border-color:var(--blue-b);background:var(--blue-l);color:var(--blue)}
.chip.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}
.chip.s.on{background:var(--blue);border-color:var(--blue)}
.chip.d.on{background:var(--red);border-color:var(--red)}
.chip em{font-style:normal;font-size:11px;color:var(--mut2)}
.chip.on em{color:rgba(255,255,255,.8)}

/* 列表栏 */
.listbar{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.tabs{display:flex;gap:6px;background:#eef2f9;padding:4px;border-radius:11px}
.tab{border:0;background:none;padding:7px 16px;border-radius:8px;font-size:14px;color:var(--ink2);cursor:pointer}
.tab.on{background:#fff;color:var(--blue);font-weight:700;box-shadow:0 1px 4px rgba(16,24,40,.08)}
.sortbox{margin-left:auto;display:flex;gap:8px}
.sortbox select{height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px;color:var(--ink2);font-size:13.5px}
.filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;font-size:13px;color:var(--mut)}
.filterbar .pill{display:inline-flex;gap:6px;align-items:center;background:#fff;border:1px solid var(--blue-b);color:var(--blue);padding:4px 10px;border-radius:999px}
.filterbar .pill b{color:var(--blue)}
.filterbar button{border:0;background:none;color:var(--mut2);cursor:pointer;font-size:12.5px;text-decoration:underline}

/* 信息卡 */
.list{display:grid;gap:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--sh);cursor:pointer;transition:.16s;position:relative}
.card:hover{border-color:var(--blue-b);transform:translateY(-1px);box-shadow:0 6px 18px rgba(27,87,214,.10)}
.card-h{display:flex;align-items:center;gap:8px;margin-bottom:7px;flex-wrap:wrap}
.tag{font-size:11.5px;padding:2px 8px;border-radius:6px;font-weight:700;letter-spacing:.3px}
.tag.s{background:var(--blue-l);color:var(--blue)}
.tag.d{background:var(--red-l);color:var(--red-d)}
.tag.c{background:#f2f4f7;color:var(--mut)}
.tag.seed{background:#e8f0ff;color:#1b4fd6;border:1px solid #c9dbff}
.card-t{font-size:16px;font-weight:700;color:var(--ink);line-height:1.5;margin:0 0 6px}
.card-b{margin:0;color:var(--mut);font-size:13.5px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-m{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:10px;font-size:12.5px;color:var(--mut2)}
.card-m b{color:var(--ink2);font-weight:600}
.card-m .price{color:var(--red-d);font-weight:700}
.empty{background:#fff;border:1px dashed var(--line);border-radius:14px;padding:56px 20px;text-align:center;color:var(--mut2)}
.empty b{display:block;font-size:16px;color:var(--ink2);margin-bottom:6px}

.pager{display:flex;gap:8px;justify-content:center;margin-top:22px}
.pager button{min-width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:10px;color:var(--ink2);cursor:pointer}
.pager button.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}
.pager button:disabled{opacity:.45;cursor:not-allowed}

/* 详情 */
.back{display:inline-block;margin-bottom:14px;font-size:14px;color:var(--mut)}
.back:hover{color:var(--blue)}
.post-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 30px;box-shadow:var(--sh)}
.post-box h1{margin:6px 0 12px;font-size:23px;line-height:1.45}
.post-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--mut2);padding-bottom:16px;border-bottom:1px dashed var(--line);margin-bottom:18px}
.post-body{font-size:15.5px;line-height:1.95;color:var(--ink2);white-space:pre-wrap;word-break:break-word}
.post-side{margin-top:24px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;background:linear-gradient(135deg,#f7faff,#fff);border:1px solid var(--blue-b);border-radius:14px;padding:16px 18px}
.contact-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.contact-num{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:1px;font-variant-numeric:tabular-nums}
.contact-tip{font-size:12.5px;color:var(--mut2)}
.post-act{margin-left:auto;display:flex;gap:10px}
.btn-line{border:1px solid var(--line);background:#fff;color:var(--mut);border-radius:10px;padding:9px 16px;font-size:13.5px;cursor:pointer}
.btn-line:hover{border-color:var(--red);color:var(--red)}

/* 发布表单 */
.form-wrap{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}
.form-main{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 28px;box-shadow:var(--sh)}
.fh{font-size:20px;margin:0 0 18px}
.frow{margin-bottom:18px}
.frow>label,.frow>div>label{display:block;font-size:13.5px;font-weight:700;color:var(--ink2);margin-bottom:8px}
.frow label em{color:var(--red);font-style:normal;margin-left:2px}
.frow label .tip{font-weight:400;color:var(--mut2);font-size:12px;margin-left:6px}
.frow label .cnt{float:right;font-weight:400;color:var(--mut2);font-size:12px}
.frow input,.frow textarea,.frow select{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 14px;font-size:14.5px;font-family:inherit;color:var(--ink2);outline:none;background:#fff}
.frow input:focus,.frow textarea:focus,.frow select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(27,87,214,.09)}
.frow textarea{resize:vertical;line-height:1.8}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fbtns{display:flex;gap:12px;align-items:center;margin:24px 0 0}
.seg{display:inline-flex;background:#eef2f9;padding:4px;border-radius:12px;gap:4px}
.sg{border:0;background:none;padding:9px 20px;border-radius:9px;font-size:14.5px;color:var(--ink2);cursor:pointer;font-weight:600}
.sg.on{background:#fff;color:var(--blue);box-shadow:0 1px 4px rgba(16,24,40,.09)}
.chips-form .chip{padding:9px 15px}
.checkbar{margin-top:6px;padding:11px 14px;border-radius:11px;font-size:13.5px;background:#f7f9fc;border:1px solid var(--line);color:var(--mut)}
.checkbar.ok{background:#effaf4;border-color:#b7ecd0;color:#087443}
.checkbar.bad{background:#fff4f4;border-color:#fbd0d1;color:#b42318}
.form-side{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:var(--sh);position:sticky;top:78px}
.form-side h3{margin:0 0 12px;font-size:15px}
.form-side ol{margin:0;padding-left:18px;color:var(--mut);font-size:13px;line-height:1.8}
.form-side li{margin-bottom:7px}
.side-note{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
.side-note b{font-size:13.5px}
.side-note p{margin:6px 0 0;font-size:12.5px;color:var(--mut2);line-height:1.75}

/* 我的发布 */
.mine-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;font-size:13.5px;color:var(--mut)}
.mine-bar b{color:var(--ink)}
.mine-item{display:flex;gap:14px;align-items:flex-start}
.mine-item .grow{flex:1;min-width:0}
.st{font-size:11.5px;padding:2px 8px;border-radius:6px;font-weight:700}
.st-1{background:#effaf4;color:#087443}
.st-0{background:#f2f4f7;color:var(--mut)}
.st-2{background:#fff7e8;color:#b54708}
.st-3{background:var(--red-l);color:var(--red-d)}

/* 浮层提示 */
.toast{position:fixed;left:50%;top:24px;transform:translateX(-50%);background:#0f2f6b;color:#fff;padding:11px 20px;border-radius:11px;font-size:14px;z-index:2147483000;box-shadow:0 12px 30px rgba(15,47,107,.28);max-width:80vw}
.toast.bad{background:#b42318}

/* 右下角红色「发布 + 我的」 */
.mkf{position:fixed;right:22px;bottom:22px;z-index:2147482400;display:flex;flex-direction:column;align-items:center;gap:10px;font-family:inherit}
.mkf a{display:flex;align-items:center;justify-content:center;border-radius:50%;text-decoration:none;transition:.18s}
/* ★ MK-FLOAT-LABEL-20261102：白字「发布」两字，13px/800，58 圆内留白均匀 */
.mkf-pub{width:58px;height:58px;background:linear-gradient(135deg,#ff5a5f,#e5484d);color:#fff;font-size:13px;letter-spacing:.5px;line-height:1;box-shadow:0 10px 24px rgba(229,72,77,.38);font-weight:800}
.mkf-pub span{margin-top:0}
.mkf-pub:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 30px rgba(229,72,77,.45)}
.mkf-me{width:46px;height:46px;background:#fff;border:2px solid var(--red);color:var(--red);font-size:12px;letter-spacing:.3px;font-weight:800;box-shadow:0 6px 16px rgba(229,72,77,.18)}
.mkf-me:hover{background:var(--red);color:#fff}
.mkf-lb{position:absolute;right:70px;top:50%;transform:translateY(-50%);background:#0f2f6b;color:#fff;font-size:12px;padding:5px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:.16s}
.mkf a:hover .mkf-lb{opacity:1}

/* 页脚 */
.ft{border-top:1px solid var(--line);background:#fff;margin-top:20px}
.ft-in{max-width:1180px;margin:0 auto;padding:22px 20px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--mut2)}
.ft-in b{display:block;font-size:13.5px;color:var(--ink2);margin-bottom:4px}
.ft-lnk{display:flex;gap:16px}
.ft-lnk a{color:var(--mut2)}
.ft-lnk a:hover{color:var(--blue)}

/* 响应式 */
@media (max-width:900px){
  .hero{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}
  .hero h1{font-size:20px}
  .cols{grid-template-columns:1fr}
  .form-wrap{grid-template-columns:1fr}
  .form-side{position:static;order:-1}
  .f2{grid-template-columns:1fr}
  .nav{display:none}
  .wrap{padding:16px 14px 76px}
  .post-box{padding:20px}
  .mkf{right:12px;bottom:16px}
  .mkf-pub{width:52px;height:52px;font-size:12px}
  .mkf-me{width:42px;height:42px;font-size:11px}
}

/* ★ XC-EXCHANGE-20261031：联系方式交换块 */
.xc-box{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.xc-line{display:flex;align-items:center;gap:6px;font-size:16px}
.xc-k{color:#64748b}
.xc-mask{font-weight:700;letter-spacing:1px;color:#111827}
.xc-tip{width:100%;font-size:12.5px;color:#8a94a6;line-height:1.6}
.xc-req{width:100%;margin-top:6px}
.xc-req-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;padding:5px 0;border-top:1px dashed #eef1f6}

/* ★ MK-CHAT-20261031：站内会话面板 */
.mkchat{position:fixed;right:92px;bottom:22px;width:360px;height:460px;background:#fff;border-radius:14px;
  box-shadow:0 12px 40px rgba(15,23,42,.22);display:none;flex-direction:column;z-index:2147483000;overflow:hidden}
.mkchat.on{display:flex}
.mkchat-hd{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #eef1f6;
  font-size:13.5px;color:#1f2937;background:#f8fafc}
.mkchat-x{border:0;background:transparent;font-size:20px;line-height:1;color:#94a3b8;cursor:pointer}
.mkchat-bd{flex:1;overflow-y:auto;padding:12px;background:#f7f9fc}
.mkchat-empty{color:#94a3b8;font-size:13px;text-align:center;margin-top:40px}
.mkchat-msg{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:10px}
.mkchat-msg.mine{align-items:flex-end}
.mkchat-b{max-width:80%;background:#fff;border:1px solid #e8edf5;padding:8px 10px;border-radius:10px;font-size:13.5px;
  line-height:1.6;color:#1f2937;word-break:break-word}
.mkchat-msg.mine .mkchat-b{background:#2b6ef6;border-color:#2b6ef6;color:#fff}
.mkchat-t{font-size:11px;color:#9aa4b2;margin-top:3px}
.mkchat-ft{display:flex;gap:8px;padding:10px;border-top:1px solid #eef1f6;background:#fff;align-items:flex-end}
.mkchat-ft textarea{flex:1;resize:none;border:1px solid #e2e8f0;border-radius:8px;padding:7px 9px;font-size:13px;
  font-family:inherit;outline:none}
.mkchat-row{display:flex;align-items:center;gap:8px;padding:9px 6px;border-bottom:1px dashed #eef1f6;cursor:pointer;font-size:13px}
.mkchat-row b{color:#1f2937;font-weight:600;flex:0 0 auto}
.mkchat-row span{color:#8a94a6;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mkchat-badge{background:#ef4444;color:#fff;font-size:11px;border-radius:999px;padding:1px 6px;font-style:normal}
.mkchat-fab{position:fixed;right:92px;bottom:22px;display:none;align-items:center;gap:4px;height:40px;padding:0 16px;
  border:0;border-radius:999px;background:#2b6ef6;color:#fff;font-size:13.5px;cursor:pointer;z-index:2147482999;
  box-shadow:0 8px 22px rgba(43,110,246,.34)}
.mkchat-fab.on{display:inline-flex}
.mkchat-fab-badge{background:#ef4444;color:#fff;font-size:11px;border-radius:999px;padding:0 5px;
  font-style:normal;line-height:16px;min-width:16px;text-align:center}
@media(max-width:560px){
  .mkchat{right:8px;left:8px;bottom:8px;width:auto;height:70vh}
  .mkchat-fab{right:80px;bottom:12px;height:36px;padding:0 12px;font-size:13px}
}
