/* ===== 设计变量 ===== */
:root{
  --brand:#0e9c7a;
  --brand-2:#12b18a;
  --brand-dark:#0a7f63;
  --brand-soft:#e9f7f2;
  --ink:#12181f;
  --ink-2:#5a6472;
  --ink-3:#98a1ae;
  --line:#eef1f4;
  --bg:#f5f7f8;
  --card:#ffffff;
  --price:#f04430;
  --gold:#c99a3f;
  --r-lg:18px;
  --r-md:14px;
  --r-sm:10px;
  --sd:0 2px 12px rgba(18,24,31,.06);
  --sd-lg:0 10px 30px rgba(18,24,31,.10);
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;margin:0;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(900px 500px at 15% 0%, #e6f5ef 0%, rgba(230,245,239,0) 70%),
    radial-gradient(700px 500px at 90% 100%, #eef1fb 0%, rgba(238,241,251,0) 70%),
    #f2f4f6;
  -webkit-font-smoothing:antialiased;
}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0;}
input,textarea,select{font:inherit;color:inherit;border:0;outline:none;background:none;}
img{display:block;max-width:100%;}
.ic{flex:0 0 auto;}
.ic.fill{fill:currentColor;stroke:none;}

/* ===== 舞台 / 设备 ===== */
.stage{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:26px 16px;}
.device{
  position:relative;
  width:390px;height:844px;
  background:var(--card);
  border-radius:42px;
  box-shadow:0 40px 90px -20px rgba(16,24,40,.35), 0 0 0 1px rgba(16,24,40,.07), inset 0 0 0 1px #fff;
  display:flex;flex-direction:column;
  overflow:hidden;
  isolation:isolate;
}
.stage-tip{margin:0;font-size:12.5px;color:#8b94a1;letter-spacing:.3px;}

@media (max-width:520px){
  .stage{padding:0;gap:0;}
  .device{width:100vw;height:100dvh;border-radius:0;box-shadow:none;}
  .stage-tip{display:none;}
}

/* 状态栏 */
.statusbar{
  flex:0 0 auto;height:30px;display:flex;align-items:center;justify-content:space-between;
  padding:0 22px 0 26px;background:#fff;color:var(--ink);position:relative;z-index:60;font-size:13px;font-weight:600;
}
.sb-time{letter-spacing:.4px;}
.sb-icons{display:flex;align-items:center;gap:5px;}
.sb-notch{position:absolute;left:50%;top:6px;transform:translateX(-50%);width:78px;height:18px;border-radius:12px;background:#0e1319;opacity:.9;}

/* 胶囊 */
.capsule{
  position:absolute;top:36px;right:12px;z-index:70;
  height:30px;padding:0 9px;display:flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(18,24,31,.07);
  border-radius:16px;backdrop-filter:blur(10px);
  box-shadow:0 2px 8px rgba(18,24,31,.06);
}
.capsule-dots{display:flex;gap:2.5px;}
.capsule-dots i{width:3.4px;height:3.4px;border-radius:50%;background:#2b3440;}
.capsule-line{width:1px;height:13px;background:rgba(18,24,31,.12);}
.capsule-ring{width:13px;height:13px;border-radius:50%;border:1.6px solid #2b3440;display:grid;place-items:center;}
.capsule-ring i{width:4.5px;height:4.5px;border-radius:50%;background:#2b3440;}

/* 页面区 */
.pages{position:relative;flex:1 1 auto;overflow:hidden;background:var(--bg);}
.page{
  position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;
  background:var(--bg);
  animation:pageIn .24s cubic-bezier(.22,.7,.3,1);
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.page::-webkit-scrollbar{display:none;}
.page.back{animation:pageBack .24s cubic-bezier(.22,.7,.3,1);}
@keyframes pageIn{from{opacity:.3;transform:translateX(22px);}to{opacity:1;transform:none;}}
@keyframes pageBack{from{opacity:.3;transform:translateX(-22px);}to{opacity:1;transform:none;}}

/* ===== 通用组件 ===== */
.pad{padding:0 15px;}
.card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--sd);}
.sec{margin:14px 15px 0;}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px;}
.sec-title{font-size:16px;font-weight:700;letter-spacing:.2px;display:flex;align-items:center;gap:6px;}
.sec-title::before{content:"";width:3px;height:15px;border-radius:2px;background:var(--brand);}
.sec-more{font-size:12.5px;color:var(--ink-3);display:flex;align-items:center;gap:2px;}
.muted{color:var(--ink-3);}
.tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:5px;font-size:11px;line-height:1;background:var(--brand-soft);color:var(--brand-dark);white-space:nowrap;}
.tag.gray{background:#f3f5f7;color:var(--ink-2);}
.tag.gold{background:#fdf4e3;color:#a8792a;}
.tag.red{background:#feeceb;color:#d93a22;}

/* 顶部渐变头 */
.hero-head{
  background:linear-gradient(160deg,#0b8d6f 0%,#12ab86 45%,#37c39c 100%);
  padding:14px 15px 62px;color:#fff;position:relative;
}
.hero-head::after{
  content:"";position:absolute;right:-40px;top:-50px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 65%);
}
.hh-row{display:flex;align-items:center;gap:10px;position:relative;z-index:2;}
.hh-city{display:flex;align-items:center;gap:3px;font-size:15px;font-weight:700;}
.searchbox{
  flex:1;height:36px;border-radius:18px;background:rgba(255,255,255,.94);
  display:flex;align-items:center;gap:7px;padding:0 13px;color:var(--ink-3);font-size:13px;
}
.hh-msg{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;position:relative;}
.hh-msg .dot{position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;background:#ff5a3c;border:1px solid #12ab86;}

/* 轮播 */
.banner-wrap{margin:-50px 15px 0;position:relative;z-index:3;}
.banner{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px;}
.banner::-webkit-scrollbar{display:none;}
.banner-item{
  flex:0 0 100%;scroll-snap-align:center;height:132px;border-radius:var(--r-lg);
  padding:18px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:0 8px 22px -8px rgba(10,70,55,.55);position:relative;overflow:hidden;
}
.banner-item h4{margin:0;font-size:18px;letter-spacing:.5px;}
.banner-item p{margin:6px 0 0;font-size:12px;opacity:.86;}
.banner-item .bi-btn{align-self:flex-start;font-size:11.5px;padding:5px 12px;border-radius:20px;background:rgba(255,255,255,.95);color:#0b6b55;font-weight:600;}
.banner-item::after{content:"";position:absolute;right:-30px;bottom:-50px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.12);}
.dots{display:flex;justify-content:center;gap:5px;margin-top:8px;}
.dots i{width:5px;height:5px;border-radius:3px;background:#cfd6dd;transition:.25s;}
.dots i.on{width:14px;background:var(--brand);}

/* 快捷入口 */
.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px 4px;}
.qe{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11.5px;color:var(--ink-2);}
.qe-ic{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-dark);}
.qe:nth-child(5n+2) .qe-ic{background:#eaf1ff;color:#3b6fd4;}
.qe:nth-child(5n+3) .qe-ic{background:#fdf1e3;color:#c2812c;}
.qe:nth-child(5n+4) .qe-ic{background:#f3edff;color:#7551c9;}
.qe:nth-child(5n+5) .qe-ic{background:#ffeef0;color:#d9536b;}

/* 房源卡片 */
.prop{overflow:hidden;margin-bottom:11px;}
.prop-img{position:relative;height:168px;}
.prop-badge{position:absolute;left:10px;top:10px;font-size:11px;padding:3px 8px;border-radius:6px;background:rgba(10,20,18,.55);color:#fff;backdrop-filter:blur(4px);}
.prop-badge.green{background:rgba(14,156,122,.9);}
.fav{
  position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.88);display:grid;place-items:center;color:#8b94a1;
  backdrop-filter:blur(4px);transition:.2s;
}
.fav.on{color:#f04430;}
.fav.on .ic{fill:currentColor;stroke:currentColor;}
.prop-body{padding:11px 13px 13px;}
.prop-title{font-size:15px;font-weight:650;letter-spacing:.2px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.prop-sub{font-size:12px;color:var(--ink-2);margin-top:5px;}
.prop-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;}
.prop-foot{display:flex;align-items:flex-end;justify-content:space-between;margin-top:10px;}
.prop-price{color:var(--price);font-size:18px;font-weight:800;letter-spacing:-.2px;}
.prop-price small{font-size:11.5px;font-weight:600;margin-left:2px;}
.prop-price .sub{color:var(--ink-3);font-size:11.5px;font-weight:500;margin-left:6px;}
.prop-side{font-size:11.5px;color:var(--ink-3);text-align:right;line-height:1.5;}

/* 图片占位 */
.ph{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;}
.ph::before{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.5) 0 1px,transparent 1px 26px);
  opacity:.55;
}
.ph svg{position:relative;opacity:.42;color:#2c4a44;}
.ph-lb{position:absolute;left:10px;bottom:9px;font-size:11px;color:rgba(20,40,36,.55);letter-spacing:1px;}

/* 列表行 */
.cell{display:flex;align-items:center;gap:12px;padding:14px 15px;position:relative;}
.cell + .cell::before{content:"";position:absolute;left:15px;right:0;top:0;height:1px;background:var(--line);}
.cell-ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-dark);}
.cell-t{flex:1;font-size:14.5px;}
.cell-v{font-size:12.5px;color:var(--ink-3);display:flex;align-items:center;gap:3px;}

/* 底部 tab */
.tabbar{
  flex:0 0 auto;height:62px;display:flex;align-items:center;
  background:rgba(255,255,255,.94);backdrop-filter:blur(14px);
  border-top:1px solid rgba(18,24,31,.06);position:relative;z-index:50;
  padding-bottom:4px;
}
.tabbar.hide{display:none;}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;color:#98a1ae;padding-top:6px;transition:.2s;}
.tab.on{color:var(--brand);font-weight:650;}
.tab.on .ic{transform:translateY(-1px);}
.tab-pub{flex:0 0 68px;}
.tab-pub .pubbtn{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(150deg,var(--brand-2),var(--brand-dark));
  box-shadow:0 8px 18px -6px rgba(14,156,122,.85);margin-top:-16px;
}

/* 详情页 */
.hero-img{position:relative;height:280px;background:#dfe7e4;}
.navbar{
  position:absolute;left:0;right:0;top:0;height:44px;display:flex;align-items:center;
  padding:0 82px 0 12px;z-index:20;
}
.navbtn{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.85);backdrop-filter:blur(8px);color:var(--ink);
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.navbar .navbtn + .navbtn{margin-left:auto;}
.gallery{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.gallery::-webkit-scrollbar{display:none;}
.gal-item{flex:0 0 100%;scroll-snap-align:center;height:100%;}
.gal-num{
  position:absolute;right:12px;bottom:34px;font-size:11px;color:#fff;
  background:rgba(10,20,18,.5);padding:3px 9px;border-radius:20px;backdrop-filter:blur(4px);
}
.detail-head{margin:-20px 0 0;border-radius:20px 20px 0 0;background:var(--card);position:relative;padding:16px 15px 14px;}
.detail-name{font-size:20px;font-weight:800;letter-spacing:.3px;}
.detail-price{display:flex;align-items:baseline;gap:10px;margin-top:8px;}
.detail-price b{color:var(--price);font-size:26px;letter-spacing:-.5px;}
.detail-price span{font-size:12.5px;color:var(--ink-3);}
.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 8px;padding:14px 0;border-top:1px solid var(--line);margin-top:14px;}
.kv-item{text-align:center;}
.kv-item b{display:block;font-size:15px;font-weight:700;}
.kv-item span{font-size:11.5px;color:var(--ink-3);}
.row-block{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 0;border-top:1px solid var(--line);font-size:13.5px;}
.row-block .k{color:var(--ink-3);flex:0 0 68px;}
.row-block .v{flex:1;text-align:right;line-height:1.55;}

.bottom-bar{
  position:sticky;bottom:0;z-index:30;display:flex;align-items:center;gap:10px;
  padding:9px 14px 12px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
  border-top:1px solid var(--line);
}
.bb-ic{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--ink-2);width:42px;}
.btn{
  height:42px;border-radius:22px;display:inline-flex;align-items:center;justify-content:center;gap:5px;
  font-size:14px;font-weight:650;padding:0 20px;transition:transform .12s;
}
.btn:active{transform:scale(.97);}
.btn-primary{background:linear-gradient(135deg,var(--brand-2),var(--brand-dark));color:#fff;box-shadow:0 8px 16px -8px rgba(14,156,122,.9);}
.btn-ghost{background:var(--brand-soft);color:var(--brand-dark);}
.btn-line{border:1px solid var(--line);color:var(--ink-2);background:#fff;}
.btn-block{width:100%;}
.btn-lg{height:46px;font-size:15px;border-radius:24px;}

/* 页头 */
.pagehead{
  display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;background:#fff;
  position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);flex:0 0 auto;
}
.pagehead .pt{flex:1;text-align:center;font-size:16px;font-weight:700;letter-spacing:.2px;}
.shead{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#fff;position:sticky;top:0;z-index:30;}
.sinput{
  flex:1;height:34px;background:#f4f6f8;border-radius:17px;display:flex;align-items:center;
  gap:7px;padding:0 12px;color:var(--ink-3);
}
.sinput input{flex:1;font-size:13.5px;color:var(--ink);}

/* 筛选栏 */
.filterbar{
  position:sticky;top:0;z-index:25;background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;padding:0 8px;height:44px;
}
.fitem{flex:1;text-align:center;font-size:13.5px;color:var(--ink-2);display:flex;align-items:center;justify-content:center;gap:3px;height:100%;}
.fitem.on{color:var(--brand);font-weight:650;}
.fitem .caret{width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid currentColor;opacity:.55;}

/* 分段 */
.seg{display:flex;gap:6px;padding:10px 15px;background:#fff;position:sticky;top:0;z-index:25;}
.seg-item{flex:1;height:34px;border-radius:10px;display:grid;place-items:center;font-size:13px;color:var(--ink-2);background:#f4f6f8;transition:.2s;}
.seg-item.on{background:var(--brand);color:#fff;font-weight:650;box-shadow:0 6px 14px -8px rgba(14,156,122,.9);}

/* 地图 */
.mapwrap{position:relative;height:100%;background:#e9efe9;overflow:hidden;}
.mapgrid{
  position:absolute;inset:-20%;
  background-image:
    linear-gradient(rgba(255,255,255,.85) 3px, transparent 3px),
    linear-gradient(90deg, rgba(255,255,255,.85) 3px, transparent 3px);
  background-size:88px 88px;
}
.mapriver{position:absolute;left:-10%;top:36%;width:130%;height:66px;background:linear-gradient(#bfe0f2,#a9d5ee);transform:rotate(-9deg);opacity:.9;}
.mappark{position:absolute;width:120px;height:90px;border-radius:16px;background:#cfe8ce;opacity:.85;}
.pin{
  position:absolute;transform:translate(-50%,-100%);background:#fff;border-radius:10px;
  padding:6px 9px;font-size:11.5px;font-weight:700;color:var(--brand-dark);
  box-shadow:0 6px 14px rgba(18,24,31,.18);white-space:nowrap;
}
.pin::after{content:"";position:absolute;left:50%;bottom:-5px;width:9px;height:9px;background:#fff;transform:translateX(-50%) rotate(45deg);}
.pin.hot{background:var(--brand);color:#fff;}
.pin.hot::after{background:var(--brand);}
.mapbtns{position:absolute;right:12px;bottom:160px;display:flex;flex-direction:column;gap:8px;}
.mapbtn{width:38px;height:38px;border-radius:12px;background:#fff;display:grid;place-items:center;box-shadow:var(--sd);color:var(--ink-2);}
.mapcard{position:absolute;left:12px;right:12px;bottom:12px;background:#fff;border-radius:16px;box-shadow:var(--sd-lg);padding:10px;display:flex;gap:10px;}

/* 表单 */
.field{padding:13px 15px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);}
.field:last-child{border-bottom:0;}
.field label{flex:0 0 78px;font-size:13.5px;color:var(--ink-2);}
.field input,.field textarea{flex:1;font-size:14px;width:100%;}
.field textarea{resize:none;line-height:1.6;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  height:32px;padding:0 14px;border-radius:16px;background:#f4f6f8;color:var(--ink-2);
  font-size:12.5px;display:inline-flex;align-items:center;transition:.18s;border:1px solid transparent;
}
.chip.on{background:var(--brand-soft);color:var(--brand-dark);border-color:rgba(14,156,122,.35);font-weight:650;}

/* 空状态 */
.empty{padding:60px 20px;text-align:center;color:var(--ink-3);font-size:13px;}
.empty svg{margin-bottom:12px;opacity:.35;}

/* 价格/行情 */
.stat-row{display:flex;gap:10px;}
.stat{flex:1;background:#fff;border-radius:14px;padding:12px;box-shadow:var(--sd);}
.stat b{display:block;font-size:19px;letter-spacing:-.3px;}
.stat span{font-size:11.5px;color:var(--ink-3);}
.up{color:var(--price);}
.down{color:#0aa06a;}
.bar-row{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:13px;}
.bar-track{display:block;flex:1;height:7px;border-radius:4px;background:#f0f3f5;overflow:hidden;}
.bar-fill{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#8fe0c9,var(--brand));}

/* 消息 */
.msg-item{display:flex;gap:11px;padding:14px 15px;position:relative;}
.msg-item + .msg-item::before{content:"";position:absolute;left:60px;right:0;top:0;height:1px;background:var(--line);}
.avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:16px;flex:0 0 auto;}
.msg-body{flex:1;min-width:0;}
.msg-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.msg-name{font-size:14.5px;font-weight:650;}
.msg-time{font-size:11px;color:var(--ink-3);}
.msg-text{font-size:12.5px;color:var(--ink-3);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.unread{background:#f04430;color:#fff;font-size:10px;height:16px;min-width:16px;padding:0 4px;border-radius:8px;display:grid;place-items:center;}

/* 聊天 */
.chat-wrap{background:#eff2f5;padding:14px 12px 12px;min-height:100%;display:flex;flex-direction:column;gap:12px;}
.chat-day{text-align:center;font-size:11px;color:var(--ink-3);}
.bubble-row{display:flex;gap:8px;align-items:flex-start;}
.bubble-row.me{flex-direction:row-reverse;}
.bubble{max-width:74%;padding:10px 12px;border-radius:14px;background:#fff;font-size:13.5px;line-height:1.55;box-shadow:0 1px 3px rgba(18,24,31,.05);}
.bubble-row.me .bubble{background:linear-gradient(135deg,#3ecfa6,#0e9c7a);color:#fff;}
.chat-input{display:flex;gap:8px;align-items:center;padding:10px 12px;background:#fff;border-top:1px solid var(--line);}
.chat-input input{flex:1;height:38px;background:#f4f6f8;border-radius:19px;padding:0 14px;font-size:13.5px;}
.quick-reply{display:flex;gap:7px;overflow-x:auto;padding:8px 12px;background:#fff;scrollbar-width:none;}
.quick-reply::-webkit-scrollbar{display:none;}
.qr{flex:0 0 auto;font-size:12px;padding:6px 12px;border-radius:16px;background:#f4f6f8;color:var(--ink-2);}

/* 浮层 */
.mask{position:absolute;inset:0;background:rgba(12,18,24,.45);opacity:0;pointer-events:none;transition:.25s;z-index:80;}
.mask.on{opacity:1;pointer-events:auto;}
.sheet{
  position:absolute;left:0;right:0;bottom:0;z-index:90;background:#fff;
  border-radius:20px 20px 0 0;transform:translateY(102%);transition:transform .3s cubic-bezier(.3,.8,.3,1);
  max-height:82%;display:flex;flex-direction:column;
}
.sheet.on{transform:none;}
.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px;}
.sheet-title{font-size:16px;font-weight:700;}
.sheet-body{overflow-y:auto;padding:4px 16px 8px;}
.sheet-foot{padding:12px 16px 20px;display:flex;gap:10px;}
.sheet-foot .btn{flex:1;}

.toast{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);
  background:rgba(18,24,31,.86);color:#fff;font-size:13px;padding:11px 18px;border-radius:12px;
  opacity:0;pointer-events:none;transition:.22s;z-index:120;max-width:78%;text-align:center;line-height:1.5;
  backdrop-filter:blur(6px);
}
.toast.on{opacity:1;transform:translate(-50%,-50%) scale(1);}

/* 杂项 */
.hr{height:1px;background:var(--line);margin:0 15px;}
.pill-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;}
.pill-row::-webkit-scrollbar{display:none;}
.pill{flex:0 0 auto;padding:7px 13px;border-radius:16px;background:#fff;border:1px solid var(--line);font-size:12.5px;color:var(--ink-2);}
.pill.on{background:var(--brand);color:#fff;border-color:var(--brand);}
.num-input{display:flex;align-items:center;gap:6px;font-size:20px;font-weight:800;}
.tips{font-size:11.5px;color:var(--ink-3);line-height:1.7;}
.notice{display:flex;gap:8px;align-items:center;background:#fffaf0;color:#a8792a;font-size:12px;padding:9px 12px;border-radius:10px;}
