:root{
  --ink:#14171a; --ink-2:#3d454c; --ink-3:#6b7580; --ink-4:#9aa3ac;
  --bg:var(--card-soft); --card:#fff; --line:#e8e3d9;
  --forest:#2f6b4f; --forest-l:#eaf1ec;
  --price:#b3412b; --warn:#c07a1e;
  --r:14px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--ink);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  padding-bottom:56px;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:720px;margin:0 auto;padding:0 18px}

/* ---------- 顶栏 ---------- */
.nav{
  position:sticky;top:0;z-index:20;background:var(--nav-bg);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);
}
.nav-in{max-width:720px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:14px}
.logo{font-weight:800;letter-spacing:.14em;font-size:17px}
.logo small{display:block;font-weight:500;font-size:11px;letter-spacing:.28em;color:var(--ink-3)}
.nav-links{margin-left:auto;display:flex;gap:16px;font-size:14px;color:var(--ink-2)}
.nav-links a:active{color:var(--forest)}

/* ---------- hero ---------- */
.hero{padding:38px 0 26px}
.hero h1{
  margin:0 0 14px;font-size:30px;line-height:1.32;font-weight:800;letter-spacing:-.01em;
}
.hero h1 em{font-style:normal;color:var(--forest)}
.hero p{margin:0;color:var(--ink-2);font-size:15.5px}
.hero-stats{display:flex;gap:22px;margin-top:22px;flex-wrap:wrap}
.hero-stats div b{display:block;font-size:19px;font-variant-numeric:tabular-nums}
.hero-stats div span{font-size:12.5px;color:var(--ink-3)}

/* ---------- 区块标题 ---------- */
.sec{padding:30px 0 6px}
.sec-h{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.sec-h h2{margin:0;font-size:18px;font-weight:700}
.sec-h span{font-size:12.5px;color:var(--ink-3)}
.sec-h a{margin-left:auto;font-size:13.5px;color:var(--forest)}

/* ---------- 商品卡 ---------- */
.cards{display:grid;gap:14px}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:14px;display:flex;gap:14px;align-items:flex-start;
}
.card:active{border-color:#d7d0c2}
.thumb{
  width:92px;height:92px;flex:0 0 92px;border-radius:10px;overflow:hidden;
  background:var(--ph);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  font-size:10.5px;color:var(--ink-3);text-align:center;line-height:1.3;
}
.card-b{flex:1;min-width:0}
.card-b h3{margin:0 0 4px;font-size:15.5px;font-weight:650;line-height:1.4}
.meta{font-size:12.5px;color:var(--ink-3);margin-bottom:8px}
.price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price{color:var(--price);font-weight:800;font-size:19px;font-variant-numeric:tabular-nums}
.price::before{content:"¥";font-size:13px;font-weight:600;margin-right:1px}
.origin{color:var(--ink-4);text-decoration:line-through;font-size:12.5px}
.chip{
  display:inline-block;padding:2px 8px;border-radius:999px;font-size:11.5px;
  background:var(--forest-l);color:var(--forest);margin-right:6px
}
.chip.warn{background:var(--chip-warn);color:var(--warn)}
.chip.out{background:var(--chip-out);color:var(--ink-3)}
.stock{margin-top:8px;font-size:12.5px;color:var(--ink-3)}
.stock b{color:var(--price);font-variant-numeric:tabular-nums}
.bar{height:3px;background:var(--bar-bg);border-radius:2px;margin-top:6px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--price);border-radius:2px}

/* ---------- 面料档案 ---------- */
.fab-list{display:grid;gap:10px}
.fab{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;display:flex;align-items:center;gap:12px
}
.fab b{font-size:15px;font-weight:650}
.fab span{display:block;font-size:12.5px;color:var(--ink-3)}
.fab i{margin-left:auto;color:var(--ink-4);font-style:normal}
.fab-body{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;font-size:15px;color:var(--ink-2)}
.fab-body h3{margin:0 0 6px;font-size:19px;color:var(--ink)}
.fab-body .spec{font-size:13px;color:var(--forest);margin-bottom:14px}

/* ---------- 详情页 ---------- */
.detail-hd{padding-top:22px}
.back{font-size:13.5px;color:var(--ink-3);display:inline-block;margin-bottom:14px}
.detail-hd h1{margin:0 0 8px;font-size:23px;line-height:1.35}
.detail-img{
  height:220px;border-radius:var(--r);background:var(--ph);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--ink-4);font-size:12.5px;margin:16px 0
}
.kv{border-top:1px solid var(--line);margin-top:6px}
.kv div{display:flex;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.kv span{width:76px;flex:0 0 76px;color:var(--ink-3)}
.kv b{font-weight:500}

/* ---------- 表单 ---------- */
.field{margin-bottom:16px}
.field label{display:block;font-size:13.5px;color:var(--ink-2);margin-bottom:6px}
.field input,.field select,.field textarea{
  width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:11px;
  background:var(--card);font-size:16px;color:var(--ink);font-family:inherit
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--forest)}
.field.half{display:flex;gap:12px}
.field.half > div{flex:1}
.btn{
  width:100%;padding:15px;border:none;border-radius:12px;background:var(--forest);
  color:#fff;font-size:16px;font-weight:650;font-family:inherit;cursor:pointer
}
.btn:active{opacity:.85}
.btn.ghost{background:var(--card);color:var(--forest);border:1px solid var(--forest)}
.btn[disabled]{background:#c9cdc9;cursor:not-allowed}
.hint{font-size:12.5px;color:var(--ink-3);margin-top:10px;text-align:center}
.note{background:var(--note-bg);border:1px solid #f0e4c8;border-radius:11px;padding:13px;font-size:13.5px;color:#7a6428;margin-bottom:18px}

/* ---------- 结果 ---------- */
.done{text-align:center;padding:48px 0}
.done .ico{width:56px;height:56px;border-radius:50%;background:var(--forest-l);color:var(--forest);
  display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 18px}
.done h2{margin:0 0 10px;font-size:21px}
.done p{color:var(--ink-2);font-size:14.5px;margin:0 0 6px}
.done .code{font-family:ui-monospace,Menlo,monospace;font-size:15px;color:var(--forest);

  background:var(--forest-l);padding:6px 12px;border-radius:8px;display:inline-block;margin:12px 0}

/* ---------- 底部 CTA + 二维码抽屉 ---------- */
.fabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:var(--nav-bg);backdrop-filter:saturate(180%) blur(12px);
  border-top:1px solid var(--line)
}
.fabbar-btn{
  width:100%;padding:14px;border:none;border-radius:12px;
  background:var(--ink);color:#fff;font-size:15px;font-weight:650;font-family:inherit;cursor:pointer
}
.fabbar-btn:active{opacity:.86}

.backdrop{
  position:fixed;inset:0;background:rgba(20,23,26,.42);z-index:70;
  opacity:0;pointer-events:none;transition:opacity .18s
}
.backdrop.on{opacity:1;pointer-events:auto}

.sheet{
  position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--card);
  border-radius:18px 18px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom));
  transform:translateY(102%);transition:transform .22s ease;
  box-shadow:0 -8px 34px rgba(0,0,0,.16)
}
.sheet.on{transform:translateY(0)}
.sheet-h{display:flex;align-items:center;margin-bottom:10px}
.sheet-h b{font-size:17px}
.sheet-x{margin-left:auto;border:none;background:var(--btn-soft);width:32px;height:32px;border-radius:50%;
  font-size:16px;color:#3d454c;cursor:pointer;font-family:inherit}
.sheet-p{margin:0 0 16px;font-size:13.5px;color:var(--ink-2);line-height:1.6}
.sheet-p2{margin:12px 0 0;font-size:12.5px;color:var(--ink-3);text-align:center}
.qr-box{background:var(--card-soft);border:1px solid var(--line);border-radius:12px;height:210px;
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.qr-img{width:100%;height:100%;object-fit:contain}
.qr-tip{font-size:12.5px;color:var(--ink-4);text-align:center;padding:0 24px;line-height:1.6;display:none}

/* ---------- 页脚 ---------- */
.foot{margin-top:44px;padding:22px 0 10px;border-top:1px solid var(--line);
  font-size:12px;color:var(--ink-4);line-height:1.9}
.foot b{color:var(--ink-3);font-weight:500}

@media (max-width:380px){
  .hero h1{font-size:26px}
  .thumb{width:78px;height:78px;flex-basis:78px}
}

/* ---------- 颜色 / 尺码 / 尺码表 ---------- */
.dots{display:flex;align-items:center;gap:5px;margin:8px 0 2px;flex-wrap:wrap}
.dot{width:11px;height:11px;border-radius:50%;display:block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.dot-n{font-size:11.5px;color:var(--ink-4);margin-left:2px;white-space:nowrap}
.ask{font-size:15px;font-weight:700;color:var(--forest)}

.sw-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.sw{
  display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;padding:10px 12px;border-radius:11px;white-space:nowrap;
  border:1px solid var(--line);background:var(--card);font-size:13.5px;color:var(--ink);font-family:inherit;cursor:pointer
}
.sw.on{border-color:var(--forest);background:var(--forest-l);color:var(--forest);font-weight:600}
.sw[disabled]{opacity:.4;cursor:not-allowed}
.sw i{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.sw em{font-style:normal;font-size:11.5px;color:var(--ink-4)}
.sw.on em{color:var(--forest)}

.sz-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sz{
  min-width:52px;padding:10px 0;border-radius:10px;border:1px solid var(--line);background:var(--card);
  font-size:14px;color:var(--ink);font-family:inherit;cursor:pointer;position:relative
}
.sz em{display:block;font-style:normal;font-size:10.5px;color:var(--ink-4);line-height:1.2}
.sz.off{background:#f4f1ea;color:var(--ink-4);border-style:dashed;cursor:not-allowed}
.sz.off em{color:transparent}

.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{border-collapse:collapse;width:100%;table-layout:fixed;background:var(--card);font-size:13px;border-radius:10px;overflow:hidden}
.tbl th:first-child,.tbl td:first-child{width:22%}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:9px 8px;text-align:center;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl th{background:#f3efe7;font-weight:600;color:var(--ink-2)}
.tbl td:first-child,.tbl th:first-child{text-align:left;color:var(--ink-3);font-weight:500}

.duanma{background:var(--chip-warn);color:var(--warn);font-size:10.5px;font-weight:600;
  padding:1px 5px;border-radius:4px;margin-left:2px}

/* ---------- 内联下单区 ---------- */
.buy-box{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:16px 16px 18px;margin:6px 0 18px
}
.buy-h{font-size:15px;font-weight:700;margin-bottom:14px}
.lbl{font-size:12.5px;color:var(--ink-3);margin-bottom:8px}
.lbl-n{color:var(--ink-4);font-weight:400;margin-left:6px}
.sz.on{border-color:var(--forest);background:var(--forest-l);color:var(--forest);font-weight:700}
.sz.on em{color:var(--forest)}

/* 底栏作为链接时的排版 */
a.fabbar-btn{display:block;text-align:center;text-decoration:none;
  padding:14px;border-radius:12px;background:var(--ink);color:#fff;
  font-size:15px;font-weight:650;line-height:1.4}
a.fabbar-btn:active{opacity:.86}

/* 为什么便宜三点 */
.why{display:grid;gap:10px}
.why-i{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.why-i b{display:block;font-size:15px;margin-bottom:3px}
.why-i span{font-size:13px;color:var(--ink-2);line-height:1.6}

/* 货源区块 */
.src{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.src-hd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.src-hd b{font-size:15.5px}
.src-hd span{font-size:11.5px;color:var(--forest);background:var(--forest-l);padding:2px 7px;border-radius:5px}
.src-p{margin:0 0 14px;font-size:14px;color:var(--ink-2);line-height:1.65}
.src-cl{font-size:12.5px;color:var(--ink-3);margin-bottom:8px}
.src-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.src-tag{font-size:12.5px;letter-spacing:.06em;padding:5px 10px;border:1px solid var(--line);
  border-radius:7px;background:var(--card-soft);color:var(--ink-2);font-weight:600}
.src-note{margin:0 0 12px;font-size:12.5px;color:var(--ink-3);line-height:1.65}
.src-dis{margin:0;padding-top:11px;border-top:1px dashed var(--line);font-size:11.5px;color:var(--ink-4);line-height:1.6}

.sheet-alt{margin:14px 0 0;text-align:center;font-size:12.5px;color:var(--ink-4)}
.sheet-alt a{color:var(--ink-3);text-decoration:underline}

/* 数量步进器 */
.stepper{display:flex;align-items:center;gap:0;width:150px;border:1px solid var(--line);
  border-radius:11px;overflow:hidden;background:var(--card)}
.stepper .stp{width:46px;height:46px;border:none;background:var(--card-soft);color:var(--ink);
  font-size:19px;line-height:1;cursor:pointer;font-family:inherit}
.stepper .stp:active{background:var(--ph)}
.stepper input{flex:1;width:100%;border:none;text-align:center;font-size:16px;font-weight:600;
  color:var(--ink);background:var(--card);font-family:inherit}
.stepper input:focus{outline:none}

/* 面料条目的款数 */
.fab-n{font-style:normal;font-size:12px;color:var(--ink-3);margin-left:auto;margin-right:8px;white-space:nowrap}

/* 技术出处小字 */
.tech-src{display:block;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);
  font-size:11.5px;color:var(--ink-4);line-height:1.7}

/* 面料卡片带摘要 */
.fab{align-items:flex-start}
.fab-main{flex:1;min-width:0}
.fab-brief{margin:7px 0 0;font-size:12.5px;color:var(--ink-2);line-height:1.6}
.fab-wide{padding:16px}
.fab-wide .fab-brief{font-size:13.5px;margin-top:8px}
.fab-more{display:block;margin-top:9px;font-style:normal;font-size:12.5px;color:var(--forest)}

/* ================= 全屏视差 ================= */
.hero-photo{
  position:relative;min-height:86vh;display:flex;align-items:flex-end;
  background-size:cover;background-position:center 32%;background-attachment:fixed;
  padding:0 0 8vh;
}
.hero-veil{position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(8,10,14,.55) 0%, rgba(8,10,14,.15) 38%, rgba(8,10,14,.82) 100%)}
.hero-in{position:relative;max-width:720px;margin:0 auto;width:100%;padding:0 22px;color:#fff}
.hero-kick{font-size:12.5px;letter-spacing:.22em;color:rgba(255,255,255,.9);margin-bottom:14px}
.hero-in h1{margin:0 0 16px;font-size:34px;line-height:1.28;font-weight:800;letter-spacing:-.01em;text-wrap:balance;
  text-shadow:0 2px 26px rgba(0,0,0,.45)}
.hero-in p{margin:0;font-size:15.5px;line-height:1.72;color:rgba(255,255,255,.94);max-width:30em}
.hero-btns{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}
.btn-hero{display:inline-block;padding:13px 22px;border-radius:999px;background:#eef1f4;color:#0e1114;
  font-size:14.5px;font-weight:700;text-decoration:none}
.btn-hero.ghost{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.5)}
.nav-on-photo{background:transparent;border-bottom:none;position:fixed;left:0;right:0}
.nav-on-photo .logo,.nav-on-photo .nav-links a{color:#fff}

.band{
  position:relative;min-height:64vh;display:flex;align-items:center;justify-content:center;
  background-size:cover;background-position:center;background-attachment:fixed;
  margin:34px 0;
}
.band-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,14,.34),rgba(8,10,14,.62))}
.band-in{position:relative;max-width:640px;padding:0 24px;color:#fff;text-align:center}
.band-kick{font-size:12px;letter-spacing:.2em;color:rgba(255,255,255,.88);margin-bottom:12px}
.band-t{margin:0 0 14px;font-size:26px;line-height:1.42;font-weight:750;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.band-s{margin:0 auto;font-size:14.5px;line-height:1.78;color:rgba(255,255,255,.93);
  max-width:32em;text-align:left}

/* 手机：iOS 不支持 background-attachment:fixed，降级为滚动 + 略矮 */
@media (max-width: 820px){
  .hero-photo{min-height:78vh;background-attachment:scroll;background-position:center 30%;padding-bottom:7vh}
  .hero-in h1{font-size:29px;text-wrap:balance;letter-spacing:-.015em}
  .band{min-height:52vh;background-attachment:scroll;margin:24px 0}
  .band-t{font-size:21px}
  .nav-on-photo{position:sticky;background:rgba(20,23,26,.55);backdrop-filter:blur(8px)}
}
@supports (-webkit-touch-callout: none){
  .hero-photo,.band{background-attachment:scroll}
}
@media (prefers-reduced-motion: reduce){
  .hero-photo,.band{background-attachment:scroll}
}

/* ================= 桌面端尺度 ================= */
@media (min-width: 900px){
  .wrap{max-width:1040px}
  .nav-in{max-width:1040px}
  .hero-in{max-width:1040px;padding:0 40px}
  .hero-in h1{font-size:42px;line-height:1.22;max-width:19em}
  .hero-in p{font-size:16.5px;color:rgba(255,255,255,.95);max-width:40em}
  .hero-kick{color:rgba(255,255,255,.93);font-size:13px;font-weight:500}
  .band-t{font-size:31px;max-width:22em;margin-left:auto;margin-right:auto}
  .band-s{font-size:15.5px;color:rgba(255,255,255,.92);max-width:34em;text-align:left}
  .fabbar{left:50%;transform:translateX(-50%);max-width:1040px;border-radius:14px 14px 0 0;
    padding-left:40px;padding-right:40px}
  .card{padding:18px}
  .thumb{width:120px;height:120px;flex-basis:120px}
  .card-b h3{font-size:17px}
  .cards{grid-template-columns:1fr 1fr}
  .price{font-size:21px}
  .sheet{max-width:520px;left:50%;transform:translateX(-50%) translateY(102%);border-radius:18px 18px 0 0}
  .sheet.on{transform:translateX(-50%) translateY(0)}
}

/* 底栏：滚过首屏才出现，避免和首屏 CTA 抢注意力 */
.fabbar{transition:transform .22s ease, opacity .22s ease}
.fabbar.up{transform:translateY(110%);opacity:0;pointer-events:none}
@media (min-width:900px){ .fabbar.up{transform:translateX(-50%) translateY(110%)} }

/* ================= 视差背景层（移动端也生效） ================= */
.parallax{position:relative;overflow:hidden}
.parallax .pbg{
  position:absolute;left:0;right:0;top:-50%;bottom:-50%;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  will-change:transform;transform:translate3d(0,0,0);
  pointer-events:none;
}
.hero-photo .pbg{background-position:center 38%}
.hero-photo,.band{background-image:none !important;background-attachment:scroll !important}
.hero-photo .hero-veil,.band .band-veil{z-index:1}
.hero-in,.band-in{z-index:2;position:relative}

/* ================= 右侧悬浮按钮组 ================= */
.fabs{
  position:fixed;right:14px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;
  display:flex;flex-direction:column;gap:10px;align-items:flex-end;
  transition:transform .22s ease, opacity .22s ease;
}
.fabs.up{transform:translateY(24px);opacity:0;pointer-events:none}
.fab-ic{
  position:relative;width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.18);text-decoration:none;
  transition:transform .15s ease;font-family:inherit;
}
.fab-ic:active{transform:scale(.94)}
.fab-ic svg{width:27px;height:27px;fill:currentColor}
.fab-ic.wx{background:#07c160;color:#fff}
.fab-ic.kf{background:#1c1f24;color:#fff}
.fab-lb{
  position:absolute;right:60px;top:50%;transform:translateY(-50%);
  background:rgba(20,23,26,.9);color:#fff;font-size:12px;line-height:1;
  padding:6px 9px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;
  transition:opacity .15s ease;
}
@media (hover:hover){ .fab-ic:hover .fab-lb{opacity:1} }
@media (max-width:820px){ .fab-lb{display:none} }


/* ================= 全站深色（唯一主题） ================= */
:root{
  --ink:#eef1f4; --ink-2:#c5cbd2; --ink-3:#98a1aa; --ink-4:#79828c;
  --bg:#0e1114; --card:#161a1f; --card-soft:#1b2026; --ph:#20262d;
  --line:#272e36; --chip-out:#1d2228; --bar-bg:#20262d;
  --chip-warn:#2a2213; --note-bg:#221d10; --btn-soft:#242a31;
  --forest:#7fbf9b; --forest-l:rgba(127,191,155,.14);
  --price:#f0987b; --warn:#e5b573;
  --nav-bg:rgba(14,17,20,.9);
  --r:14px;
  color-scheme:dark;
}
body{background:var(--bg);color:var(--ink)}
a{color:inherit}

/* 卡片/输入/表格在深色下重设 */
.card,.fab,.buy-box,.fab-body,.src,.tbl,.stepper,.sheet,.fab-panel{background:var(--card);border-color:var(--line)}
.tbl th{background:var(--card-soft);color:var(--ink-2)}
.field input,.field select,.field textarea,.row input,.stock th{background:var(--card-soft);color:var(--ink);border-color:var(--line)}
.stepper input{background:var(--card)}
.stepper .stp{background:var(--card-soft);color:var(--ink)}
.stepper .stp:active{background:var(--ph)}
.thumb{background:var(--ph)}
.detail-img{background:var(--ph)}
.qr-box{background:var(--card-soft);border-color:var(--line)}
.sheet-x{background:var(--btn-soft);color:var(--ink-2)}
.sw{background:var(--card);border-color:var(--line);color:var(--ink)}
.sw.on{background:var(--forest-l);border-color:var(--forest);color:var(--forest)}
.sz{background:var(--card);border-color:var(--line);color:var(--ink)}
.sz.off{background:var(--card-soft);color:var(--ink-4)}
.sz.on{background:var(--forest-l);border-color:var(--forest);color:var(--forest)}
.btn{background:var(--forest);color:#0e1114}
.btn.ghost{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn[disabled]{background:var(--ph);color:var(--ink-4)}
.note{background:var(--note-bg);border-color:#3a3016;color:#d8c084}
.chip{background:var(--forest-l);color:var(--forest)}
.chip.warn{background:var(--chip-warn);color:var(--warn)}
.chip.out{background:var(--chip-out);color:var(--ink-3)}
.duanma{background:var(--chip-warn);color:var(--warn)}
.src-tag{background:var(--card-soft);border-color:var(--line);color:var(--ink-2)}
.why-i{background:var(--card);border-color:var(--line)}
.fab-ic.wx{background:#07c160}
.fab-ic.kf{background:#2b323a;color:#fff}
.backdrop{background:rgba(0,0,0,.6)}
.foot{color:var(--ink-4);border-color:var(--line)}
.foot b{color:var(--ink-3)}
.hint,.meta,.stock{color:var(--ink-3)}
.bar{background:var(--card-soft)}
.bar i{background:var(--price)}
.price{color:var(--price)}
.ask{color:var(--forest)}
