.follow.followed {
  border: 1px solid #ddd;
  background: #fff;
  color: #888;
}

.small-action.active {
  color: #ff2442;
}

.small-action.disabled {
  color: #c8c8c8;
  pointer-events: none;
}

.profile-library {
  margin: 0 10px 12px;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
}

.profile-service-actions {
  display: flex;
  gap: 8px;
  margin: 0 10px 12px;
}

.profile-service-button {
  display: flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  padding: 12px 10px;
  border: 0;
  border-radius: 10px;
  background: #fff;
  text-align: left;
}

.profile-service-icon {
  display: flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-right: 8px;
  border-radius: 10px;
  background: #e9f4ff;
  color: #2474d2;
  font-size: 15px;
  font-weight: 800;
}

.profile-service-button strong {
  display: block;
  color: #333;
  font-size: 13px;
  white-space: nowrap;
}

.profile-service-button small {
  display: block;
  overflow: hidden;
  margin-top: 4px;
  color: #999;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gift-modal {
  position: fixed;
  inset: 0;
  z-index: 1450;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(0, 0, 0, .45);
}

.gift-modal.hidden { display: none; }

.gift-sheet {
  width: min(100%, 500px);
  padding: 22px 20px calc(22px + env(safe-area-inset-bottom));
  border-radius: 18px 18px 0 0;
  background: #fff;
}

.gift-sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #222;
  font-size: 18px;
}

.gift-sheet-head button {
  width: 36px;
  height: 36px;
  border: 0;
  background: none;
  color: #999;
  font-size: 28px;
  line-height: 1;
}

.gift-sheet .gift-row { margin-top: 16px; }

.web-search-page {
  min-height: 100vh;
  background: #f5f5f5;
}

.web-search-header {
  position: sticky;
  top: 0;
  z-index: 100;
  padding: max(10px, env(safe-area-inset-top)) 12px 10px;
  background: #fff;
}

.web-search-bar {
  display: flex;
  align-items: center;
}

.web-search-input-wrap {
  display: flex;
  flex: 1;
  height: 36px;
  align-items: center;
  padding: 0 13px;
  border-radius: 99px;
  background: #f3f3f3;
}

.web-search-input-wrap input {
  min-width: 0;
  height: 100%;
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  color: #333;
  font-size: 14px;
}

.web-search-clear,
.web-search-cancel,
.web-search-block-head button {
  border: 0;
  background: none;
}

.web-search-clear {
  padding: 4px;
  color: #aaa;
  font-size: 20px;
}

.web-search-cancel {
  flex: none;
  margin-left: 12px;
  padding: 6px 0 6px 8px;
  color: #333;
  font-size: 14px;
}

.web-search-content { padding: 12px; }

.web-search-block { margin-bottom: 24px; }

.web-search-block-head {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
}

.web-search-block-head strong { font-size: 15px; }
.web-search-block-head button { color: #999; font-size: 18px; }

.web-search-words {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.web-search-word {
  padding: 7px 15px;
  border: 0;
  border-radius: 99px;
  background: #fff;
  color: #333;
  font-size: 13px;
}

.web-search-word.hot {
  background: #fff0f2;
  color: #ff2442;
}

.web-search-results { margin: -5px; }

.web-search-placeholder {
  padding: 75px 20px;
  color: #aaa;
  text-align: center;
}

.wechat-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(0, 0, 0, .48);
}

.wechat-sheet {
  width: min(100%, 500px);
  padding: 10px 24px calc(22px + env(safe-area-inset-bottom));
  border-radius: 18px 18px 0 0;
  background: #fff;
  text-align: center;
  animation: wechat-sheet-in .22s ease-out;
}

.wechat-sheet-handle {
  width: 36px;
  height: 4px;
  margin: 0 auto 16px;
  border-radius: 99px;
  background: #ddd;
}

.wechat-sheet h2 {
  margin: 0;
  color: #222;
  font-size: 19px;
}

.wechat-sheet p {
  margin: 7px 0 14px;
  color: #999;
  font-size: 12px;
}

.wechat-sheet img {
  display: block;
  width: min(76vw, 300px);
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 9px;
}

.wechat-sheet-close {
  width: 100%;
  height: 42px;
  margin-top: 12px;
  border: 0;
  background: none;
  color: #888;
}

@keyframes wechat-sheet-in {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

.store-page {
  min-height: 100vh;
  background: #f5f5f5;
}

.store-card,
.store-checkout {
  margin: 12px;
  padding: 17px 15px;
  border-radius: 12px;
  background: #fff;
}

.store-card h2 {
  margin: 0 0 11px;
  color: #333;
  font-size: 14px;
}

.store-card h2:not(:first-child) {
  margin-top: 20px;
}

.store-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.store-option {
  height: 40px;
  padding: 0 6px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: #f7f7f7;
  color: #555;
  font-size: 12px;
}

.store-option.active {
  border-color: #ff2442;
  background: #fff1f3;
  color: #ff2442;
  font-weight: 700;
}

.store-option:disabled {
  border-color: transparent;
  background: transparent;
  color: #d2d2d2;
}

.store-price {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 14px;
}

.store-checkout small {
  color: #999;
}

.store-checkout strong {
  color: #ff2442;
  font-size: 20px;
}

.store-checkout h2 {
  margin: 0 0 9px;
  color: #555;
  font-size: 13px;
}

.payment-option {
  display: flex;
  align-items: center;
  min-height: 44px;
  border-top: 1px solid #f1f1f1;
  color: #333;
  font-size: 13px;
}

.payment-option input {
  width: 17px;
  height: 17px;
  margin: 0 10px 0 0;
  accent-color: #ff2442;
}

.payment-option span {
  flex: 1;
}

.payment-option small {
  color: #bbb;
  font-size: 10px;
}

.payment-option.disabled {
  color: #bbb;
}

.store-checkout > button.confirm-pay {
  width: 100%;
  height: 45px;
  margin-top: 14px;
  border: 0;
  border-radius: 99px;
  background: #ff2442;
  color: #fff;
  font-weight: 700;
}

.store-checkout p {
  margin: 12px 0 0;
  color: #aaa;
  font-size: 10px;
  text-align: center;
}

.store-wechat {
  margin: 12px;
  padding: 17px 15px 24px;
  border-radius: 12px;
  background: #fff;
  text-align: center;
}

.store-wechat p {
  margin: 0 0 12px;
  color: #777;
  font-size: 12px;
}

.store-wechat img {
  display: block;
  width: min(62vw, 230px);
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 8px;
}

.store-bonus-mask {
  position: fixed;
  inset: 0;
  z-index: 1600;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(0, 0, 0, .48);
}

.store-bonus-modal {
  width: min(100%, 350px);
  padding: 24px 20px 18px;
  border-radius: 16px;
  background: #fff;
  text-align: center;
}

.store-bonus-modal > span {
  display: flex;
  width: 48px;
  height: 48px;
  margin: 0 auto 12px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff1c8;
  color: #a66f06;
  font-size: 21px;
  font-weight: 800;
}

.store-bonus-modal h2 {
  margin: 0;
  font-size: 18px;
}

.store-bonus-modal p {
  margin: 10px 0 18px;
  color: #777;
  font-size: 13px;
  line-height: 1.65;
}

.store-bonus-modal button {
  width: 100%;
  height: 42px;
  border: 0;
  border-radius: 99px;
  background: #ff2442;
  color: #fff;
  font-weight: 700;
}

.profile-tabs {
  display: flex;
  height: 48px;
  border-bottom: 1px solid #eee;
}

.profile-tabs button {
  position: relative;
  flex: 1;
  border: 0;
  background: none;
  color: #888;
}

.profile-tabs button.active {
  color: #222;
  font-weight: 700;
}

.profile-tabs button.active::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 24px;
  height: 3px;
  content: '';
  transform: translateX(-50%);
  border-radius: 99px;
  background: #ff2442;
}

.profile-notes {
  padding: 7px;
}

.quick-item[data-action='messages'] {
  position: relative;
}

.web-menu-badge,
.web-tab-badge {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 99px;
  background: #ff2442;
  color: #fff;
  font-size: 10px;
  line-height: 1;
}

.web-menu-badge {
  top: 4px;
  right: 8px;
}

.tabs button {
  overflow: visible;
}

.web-tab-badge {
  top: 5px;
  right: calc(50% - 52px);
}

.messages-page {
  min-height: 100vh;
  background: #f5f5f5;
}

.message-list {
  margin-top: 10px;
  background: #fff;
}

.message-item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 76px;
  padding: 12px 14px;
  border-bottom: 1px solid #eee;
}

.message-item.unread {
  background: #fffafb;
}

.message-icon {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-right: 11px;
  border-radius: 50%;
  background: #fff0d0;
  color: #a66b00;
  font-weight: 800;
}

.message-icon.dark_ready {
  background: #ffe8ec;
  color: #ff2442;
}

.message-body {
  min-width: 0;
  flex: 1;
}

.message-title-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.message-title-row strong {
  overflow: hidden;
  flex: 1;
  color: #333;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.message-title-row time {
  color: #bbb;
  font-size: 10px;
}

.message-body p {
  overflow: hidden;
  margin: 6px 0 0;
  color: #888;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.unread-dot {
  flex: none;
  width: 7px;
  height: 7px;
  margin-left: 8px;
  border-radius: 50%;
  background: #ff2442;
}

.message-arrow {
  margin-left: 8px;
  color: #bbb;
  font-size: 23px;
  font-weight: 300;
}
.stock-dropdown{display:none;margin:-1px 0 12px;border:1px solid #eee;border-radius:0 0 10px 10px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.08);overflow:hidden}.stock-dropdown.visible{display:block}.stock-dropdown.error{color:#ff2442}.stock-dropdown-row{display:flex;min-height:48px;padding:0 14px;align-items:center;gap:12px;font-size:13px}.stock-dropdown-row strong{font-size:15px;letter-spacing:1px}.stock-dropdown-row span,.stock-dropdown-row.muted{color:#777}.stock-dropdown.error .stock-dropdown-row{color:#ff2442}.web-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px 12px}.web-pagination button{min-width:68px;height:32px;padding:0 12px;border:1px solid #ddd;border-radius:16px;background:#fff;color:#555}.web-pagination button:disabled{color:#bbb;background:#f6f6f6}.web-pagination span{color:#888;font-size:12px}.dark-refresh-primary{border-color:#ff2442!important;background:#ff2442!important;color:#fff!important;font-weight:700}.history-title-row{display:flex;align-items:center;justify-content:space-between}.gold-refresh-button{height:34px;padding:0 16px;border:0;border-radius:17px;background:#ff2442;color:#fff;font-size:13px;font-weight:700}.gold-refresh-button:disabled{opacity:.65}
.query-actions .close-query { flex:1; min-height:44px; color:#ff2442; font-weight:700; background:#fff5f7; border:1px solid #ff2442; border-radius:999px; }
.query-actions .dark-query-button { display:flex; min-height:56px; padding:7px 12px; flex-direction:column; align-items:center; justify-content:center; line-height:1.2; }
.dark-query-button .dark-query-label { font-size:15px; font-weight:800; }
.dark-query-button small { margin-top:4px; font-size:11px; font-weight:500; white-space:nowrap; opacity:.88; }
.query-card .trade-date { display:none; }
.dark-service-actions { margin:12px 0 0; }
.close-result-page { min-height:100vh; padding-bottom:40px; font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; background:#f5f5f5; }
.close-result-hero,.close-result-card { margin:12px; padding:18px; background:#fff; border-radius:14px; }
.close-result-hero { display:flex; align-items:flex-end; justify-content:space-between; }
.close-result-hero strong { font-size:22px; }
.close-result-hero span { margin-left:8px; color:#999; font-size:13px; }
.close-result-hero small { color:#777; }
.close-result-card h3 { display:flex; align-items:center; justify-content:space-between; margin:0 0 16px; font-size:17px; }
.close-result-card h3.close-flow-title { justify-content:flex-start; min-height:32px; color:#222; font-size:19px; font-weight:800; }
.close-flow-title>i { width:4px; height:23px; margin-right:10px; background:#ff3b30; }
.close-flow-title>b { width:0; height:0; margin-left:12px; border-top:8px solid #666; border-right:7px solid transparent; border-left:7px solid transparent; }
.close-result-card h3 small { color:#aaa; font-size:12px; font-weight:400; }
.close-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.close-summary { grid-template-columns:repeat(2,1fr); }
.close-summary div { display:flex; min-height:90px; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:14px 4px; background:#f6f6f6; }
.close-summary div:first-child { border-radius:7px 0 0 7px; }
.close-summary div:last-child { border-radius:0 7px 7px 0; }
.close-summary span { color:#777; font-size:14px; font-weight:400; }
.close-summary b { font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif; font-size:16px; font-weight:700; line-height:1; transform:scaleX(.86); }
.money-up { color:#e53935!important; }
.money-down { color:#08a045!important; }
.close-chart { position:relative; display:flex; align-items:flex-end; justify-content:space-around; min-height:170px; padding-top:18px; border-bottom:1px solid #eee; }
.close-day-chart { min-height:165px; margin-top:14px; font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif; }
.close-bar-column { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:flex-end; min-width:46px; }
.close-bar-column small { width:100%; margin-bottom:5px; overflow:hidden; font-size:10px; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.close-day-chart .close-bar-column small { width:44px; overflow:visible; font-size:14px; font-weight:700; transform:scaleX(.86); }
.close-bar-column i { display:block; width:22px; min-height:12px; border-radius:5px 5px 0 0; }
.close-day-chart .close-bar-column i { width:18px; border-radius:2px 2px 0 0; }
.close-bar-column i.up { background:linear-gradient(#ff776f,#e53935); }
.close-bar-column i.down { background:linear-gradient(#38c777,#08a045); }
.close-bar-column span { margin:6px 0 -22px; color:#999; font-size:10px; }
.close-day-chart .close-bar-column span { margin-top:30px; color:#555; font-size:14px; font-weight:400; }
.close-table-scroll { width:100%; overflow-x:auto; }
.close-table { width:100%; min-width:520px; border-collapse:collapse; }
.close-table th,.close-table td { padding:11px 5px; font-size:14px; text-align:center; border-top:1px solid #f0f0f0; white-space:nowrap; }
.close-table th { color:#999; }
.close-table tbody td { font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif; font-size:14px; font-weight:700; line-height:1; }
.close-disclaimer { padding:4px 18px 30px; color:#aaa; font-size:11px; line-height:1.6; text-align:center; }
.order-stock-name { display:flex; align-items:baseline; gap:6px; min-width:0; }
.order-stock-name strong { overflow:hidden; font-size:16px; letter-spacing:1px; text-overflow:ellipsis; white-space:nowrap; }
.order-stock-name span { flex:none; color:#999; font-size:10px; font-weight:400; letter-spacing:0; }
