.discovery-entry-page .personal-drawer-trigger {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0;
  border: 0;
  border-radius: 14px;
  color: #514b5e;
  background: #f3f0f6;
  transform: translateY(-50%);
}

.personal-drawer-trigger span { width: 20px; height: 2px; border-radius: 2px; background: currentColor; }
.personal-drawer-trigger span:nth-child(2) { width: 15px; margin-right: 5px; }

.personal-drawer-scrim {
  position: fixed;
  z-index: 500;
  inset: 0;
  border: 0;
  background: rgba(39, 33, 42, .46);
}

.personal-drawer {
  position: fixed;
  z-index: 510;
  top: 0;
  bottom: 0;
  left: max(0px, calc(50% - 260px));
  width: min(86vw, 430px);
  overflow: hidden;
  border-radius: 0 28px 28px 0;
  color: #302c34;
  background: #fffdfb;
  box-shadow: 16px 0 52px rgba(36, 30, 39, .18);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
}

.personal-drawer-view { height: 100%; display: flex; flex-direction: column; }
.personal-drawer-head { padding: max(16px, env(safe-area-inset-top)) 18px 20px; border-bottom: 1px solid #eee7e2; }
.personal-drawer-head > button { width: 48px; height: 48px; display: block; margin-left: auto; border: 0; border-radius: 50%; color: #6f6871; background: #f2eef3; font-size: 34px; font-weight: 300; }
.personal-drawer-head > div { display: flex; align-items: center; gap: 16px; margin-top: 10px; }
.personal-drawer-head > div > i { width: 66px; height: 66px; display: flex; flex: 0 0 66px; align-items: center; justify-content: center; border-radius: 22px; color: #fff; background: linear-gradient(145deg,#7654f4,#5937d8); font-size: 32px; font-style: normal; font-weight: 850; box-shadow: 0 14px 30px rgba(105,73,231,.22); }
.personal-drawer h2 { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.4; }
.personal-drawer p { margin: 6px 0 0; color: #655e6c; font-size: 12px; font-weight: 400; line-height: 1.5; }
.personal-drawer-scroll, .personal-drawer-list { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.personal-drawer-scroll { padding: 22px 14px calc(28px + env(safe-area-inset-bottom)); }
.personal-section-label { display: flex; justify-content: space-between; gap: 10px; padding: 0 5px 9px; color: #655e6c; font-size: 12px; font-weight: 400; line-height: 1.5; }
.personal-section-label:not(:first-child) { margin-top: 24px; }
.personal-section-label span:last-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-align: right; }
.personal-entry-list { overflow: hidden; border: 1px solid #ece5e1; border-radius: 19px; background: #fff; }
.personal-entry-list > button { width: 100%; min-height: 76px; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 10px 14px; border: 0; border-bottom: 1px solid #eee8e4; color: inherit; background: #fff; text-align: left; }
.personal-entry-list > button:last-child { border-bottom: 0; }
.personal-entry-list > button > i { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 16px; color: #6042d8; background: #f0ecff; font-size: 25px; font-style: normal; font-weight: 700; }
.personal-entry-list-family > button > i { color: #cf651c; background: #fff0e4; }
.personal-entry-list b, .personal-entry-list small { display: block; }
.personal-entry-list b { font-size: 15px; font-weight: 600; line-height: 1.5; }
.personal-entry-list small { margin-top: 2px; color: #655e6c; font-size: 12px; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.personal-entry-list em { display: flex; align-items: center; gap: 8px; color: #756d7a; font-size: 22px; font-style: normal; }
.personal-entry-list mark { padding: 7px 10px; border-radius: 12px; color: #5635ca; background: #f0ebff; font-size: 12px; font-weight: 400; line-height: 1.5; }
.personal-settings-link { width: 100%; min-height: 66px; display: flex; align-items: center; justify-content: space-between; margin-top: 24px; padding: 0 18px; border: 0; border-radius: 18px; color: #655e6c; background: #f7f4f3; font-size: 15px; font-weight: 400; line-height: 1.5; }

.personal-drawer-subhead { min-height: 84px; display: grid; grid-template-columns: 48px minmax(0,1fr) 48px; align-items: center; gap: 8px; padding: max(10px, env(safe-area-inset-top)) 14px 10px; border-bottom: 1px solid #eee7e2; }
.personal-drawer-subhead > button { width: 48px; height: 48px; border: 0; border-radius: 50%; color: #655e69; background: #f2eef3; font-size: 34px; }
.personal-drawer-subhead > span { min-width: 0; }
.personal-drawer-subhead h2 { font-size: 20px; font-weight: 700; line-height: 1.5; }
.personal-drawer-subhead p { margin-top: 2px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; font-weight: 400; line-height: 1.5; }
.personal-history-controls { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 18px; border-bottom: 1px solid #eee8e4; }
.personal-history-controls button { min-height: 44px; border: 0; background: none; color: #655e6c; font-size: 15px; font-weight: 400; line-height: 1.5; }
.personal-history-controls button:last-child { color: #c15245; }
.personal-history-controls button:disabled { opacity: .4; }
.personal-record-toggle { display: flex; align-items: center; gap: 12px; }
.personal-record-toggle i { width: 42px; height: 24px; position: relative; border-radius: 20px; background: #6c4cf1; }
.personal-record-toggle i::after { content: ""; width: 18px; height: 18px; position: absolute; top: 3px; right: 3px; border-radius: 50%; background: #fff; }
.personal-record-toggle.is-paused i { background: #cbc5cd; }
.personal-record-toggle.is-paused i::after { right: 21px; }
.personal-paused-note { margin: 0 !important; padding: 10px 18px; color: #6a596f !important; background: #f7f1ff; font-size: 12px !important; }
.personal-drawer-list { flex: 1; padding: 12px 14px calc(28px + env(safe-area-inset-bottom)); }
.personal-record-group h3 { margin: 12px 5px 8px; color: #655e6c; font-size: 12px; font-weight: 400; line-height: 1.5; }
.personal-record { min-height: 72px; display: grid; grid-template-columns: minmax(0,1fr) 44px; align-items: center; border-bottom: 1px solid #eee8e4; }
.personal-record-main { min-width: 0; display: grid; grid-template-columns: 50px minmax(0,1fr); align-items: center; gap: 12px; padding: 8px 0; border: 0; color: inherit; background: none; text-align: left; }
.personal-record-main > i { width: 50px; height: 50px; overflow: hidden; display: flex; align-items: center; justify-content: center; border-radius: 14px; color: #6244da; background: #f0ecff; font-style: normal; font-weight: 800; }
.personal-record-main img { width: 100%; height: 100%; object-fit: cover; }
.personal-record-main b, .personal-record-main small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.personal-record-main b { font-size: 15px; font-weight: 600; line-height: 1.5; }
.personal-record-main small { margin-top: 2px; color: #655e6c; font-size: 12px; font-weight: 400; line-height: 1.5; }
.personal-record-more { width: 44px; height: 44px; border: 0; color: #746c78; background: none; font-size: 16px; letter-spacing: 2px; }
.personal-drawer-empty, .personal-login-state { min-height: 320px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px; text-align: center; }
.personal-drawer-empty b, .personal-login-state b { font-size: 16px; font-weight: 600; line-height: 1.5; }
.personal-drawer-empty button, .personal-login-state button { min-height: 46px; margin-top: 22px; padding: 0 24px; border: 0; border-radius: 15px; color: #fff; background: #6c4cf1; font-weight: 750; }
.personal-login-state > i { width: 78px; height: 78px; display: flex; align-items: center; justify-content: center; margin-bottom: 22px; border-radius: 26px; color: #6548eb; background: #f0ebff; font-size: 42px; font-style: normal; }

.personal-delete-backdrop { position: fixed; z-index: 540; inset: 0; display: flex; align-items: flex-end; justify-content: center; padding: 18px; background: rgba(39,33,42,.5); }
.personal-delete-backdrop > section { width: min(100%, 430px); padding: 24px; border-radius: 24px; background: #fff; text-align: center; }
.personal-delete-backdrop h3 { margin: 0; font-size: 21px; }
.personal-delete-backdrop p { margin: 10px 0 20px; color: #756d7a; line-height: 1.55; }
.personal-delete-backdrop button { width: 100%; min-height: 48px; margin-top: 9px; border: 0; border-radius: 15px; color: #514b58; background: #f2eef1; font-weight: 750; }
.personal-delete-backdrop button.danger { color: #fff; background: #d65449; }
.personal-delete-backdrop section > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

@media (max-width: 375px) {
  .discovery-entry-page .personal-drawer-trigger { width: 40px; height: 40px; }
  .personal-drawer { width: 89vw; }
  .personal-entry-list > button { padding-inline: 11px; }
}

/* 抽屉：紧凑版（2026-09-27），与小程序 personal-drawer.wxss 一致（1px ≈ 2rpx） */
.personal-drawer { width: min(84vw, 330px); background: #faf8f6; border-radius: 0 20px 20px 0; }
.pd-head { display: flex; align-items: center; gap: 9px; padding: max(12px, env(safe-area-inset-top)) 12px 11px; background: #fffdfb; border-bottom: 1px solid #eee7e2; }
.pd-avatar { width: 38px; height: 38px; flex: 0 0 38px; display: flex; align-items: center; justify-content: center; border-radius: 12px; color: #fff; background: linear-gradient(145deg,#7654f4,#5937d8); font-size: 18px; font-style: normal; font-weight: 800; }
.pd-head-copy { flex: 1; min-width: 0; }
.pd-head-copy > b, .pd-head-copy > small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pd-head-copy > b { font-size: 15px; font-weight: 700; line-height: 1.4; }
.pd-head-copy > b small { color: #6d6574; font-size: 12px; font-weight: 500; }
.pd-head-copy > small { margin-top: 1px; color: #8a8290; font-size: 10.5px; line-height: 1.4; }
.pd-close { width: 30px; height: 30px; flex: 0 0 30px; padding: 0; border: 0; border-radius: 50%; color: #6f6871; background: #f2eef3; font-size: 20px; font-weight: 300; line-height: 1; }
.personal-drawer-scroll { flex: 1; padding: 10px 10px calc(20px + env(safe-area-inset-bottom)); }
.pd-card { width: 100%; display: block; margin-bottom: 8px; padding: 9px 10px; box-sizing: border-box; border: 1px solid #ece5e1; border-radius: 12px; color: inherit; background: #fff; text-align: left; font: inherit; cursor: pointer; }
.pd-card-head { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.pd-card-head b { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; font-weight: 650; line-height: 1.5; }
.pd-card-head b small { margin-left: 5px; color: #8a8290; font-size: 10.5px; font-weight: 400; }
.pd-card-head em { flex: 0 0 auto; color: #6042d8; font-size: 11px; font-style: normal; line-height: 1.5; }
.pd-member-row { display: flex; gap: 5px; margin-top: 7px; }
.pd-member { width: 42px; flex: 0 0 42px; display: flex; flex-direction: column; align-items: center; }
.pd-member img, .pd-member > i { width: 32px; height: 32px; border-radius: 50%; background: #f2eeff; object-fit: cover; }
.pd-member.is-me img { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #7a5cf0; }
.pd-member > small { width: 100%; margin-top: 3px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #5d5664; font-size: 10px; line-height: 1.4; text-align: center; }
.pd-member > i { box-sizing: border-box; display: flex; align-items: center; justify-content: center; color: #6042d8; font-size: 17px; font-style: normal; font-weight: 300; }
.pd-member-more > i { font-size: 11px; font-weight: 600; }
.pd-member-invite > i { border: 1px dashed #b9a8f4; background: #fff; }
.pd-quota { background: linear-gradient(135deg,#f6f2ff,#fffdfb); border-color: #e6ddff; }
.pd-card-head mark { margin-left: 5px; padding: 1px 6px; border-radius: 999px; color: #5635ca; background: #ebe4ff; font-size: 10px; font-weight: 500; }
.pd-quota-soon .pd-card-head mark { color: #b0561a; background: #ffeedd; }
.pd-quota-expired .pd-card-head mark { color: #a33d33; background: #fde9e6; }
.pd-quota-main { display: flex; align-items: baseline; gap: 3px; margin-top: 4px; }
.pd-quota-main small { color: #655e6c; font-size: 11px; }
.pd-quota-main b { margin-left: 3px; color: #4d31c4; font-size: 23px; font-weight: 800; line-height: 1.15; }
.pd-quota-main em { color: #4d31c4; font-size: 11px; font-style: normal; font-weight: 600; }
.pd-quota-main span { margin-left: auto; color: #6d6574; font-size: 10.5px; white-space: nowrap; }
.pd-quota-bar { height: 4px; margin-top: 5px; overflow: hidden; border-radius: 4px; background: #e7e0f8; }
.pd-quota-bar i { display: block; height: 100%; border-radius: 4px; background: #7a5cf0; }
.personal-drawer .pd-quota-note { margin: 4px 0 0; color: #8a8290; font-size: 10px; line-height: 1.5; }
.pd-section { display: flex; justify-content: space-between; gap: 8px; margin: 11px 3px 5px; color: #7a7280; font-size: 10.5px; line-height: 1.5; }
.pd-section span:last-child { max-width: 56%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pd-grid { display: grid; gap: 6px; }
.pd-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.pd-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.pd-tile { min-width: 0; display: flex; align-items: center; gap: 6px; padding: 8px 7px; box-sizing: border-box; border: 1px solid #ece5e1; border-radius: 11px; color: inherit; background: #fff; text-align: left; font: inherit; cursor: pointer; }
.pd-tile > i { width: 26px; height: 26px; flex: 0 0 26px; display: flex; align-items: center; justify-content: center; border-radius: 8px; color: #6042d8; background: #f0ecff; font-size: 14px; font-style: normal; font-weight: 700; }
.pd-tile > span { min-width: 0; }
.pd-tile b, .pd-tile small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pd-tile > span b { font-size: 12.5px; font-weight: 600; line-height: 1.45; }
.pd-tile > span small { color: #8a8290; font-size: 10px; line-height: 1.4; }
.pd-tile-family { flex-direction: column; gap: 4px; padding: 9px 4px 7px; text-align: center; }
.pd-tile-family > i { color: #cf651c; background: #fff0e4; }
.pd-tile-family > b { width: 100%; font-size: 11.5px; font-weight: 600; line-height: 1.4; }
.pd-settings { width: 100%; min-height: 38px; display: flex; align-items: center; justify-content: space-between; margin-top: 11px; padding: 0 11px; border: 0; border-radius: 11px; color: #655e6c; background: #f1edec; font-size: 12px; line-height: 1.5; cursor: pointer; }
/* 子页面同步收紧 */
.personal-drawer-subhead { min-height: 0; grid-template-columns: 30px minmax(0,1fr) 30px; padding: max(11px, env(safe-area-inset-top)) 11px 9px; background: #fffdfb; }
.personal-drawer-subhead > button { width: 30px; height: 30px; padding: 0; font-size: 20px; line-height: 1; }
.personal-drawer-subhead > span { text-align: center; }
.personal-drawer-subhead h2 { font-size: 15px; line-height: 1.4; }
.personal-drawer-subhead p { margin-top: 1px; color: #8a8290; font-size: 10.5px; }
.personal-history-controls { min-height: 40px; padding: 3px 12px; background: #fffdfb; }
.personal-history-controls button { min-height: 36px; font-size: 12px; }
.personal-record-toggle i { width: 32px; height: 18px; }
.personal-record-toggle i::after { width: 14px; height: 14px; top: 2px; right: 2px; }
.personal-record-toggle.is-paused i::after { right: 16px; }
.personal-drawer-list { padding: 4px 10px calc(20px + env(safe-area-inset-bottom)); }
.personal-record-group h3 { margin: 9px 3px 3px; color: #7a7280; font-size: 10.5px; }
.personal-record { min-height: 52px; grid-template-columns: minmax(0,1fr) 32px; }
.personal-record-main { grid-template-columns: 36px minmax(0,1fr); gap: 8px; padding: 6px 0; }
.personal-record-main > i { width: 36px; height: 36px; border-radius: 9px; font-size: 13px; }
.personal-record-main b { font-size: 13px; }
.personal-record-main small { margin-top: 1px; color: #8a8290; font-size: 10.5px; }
.personal-record-more { width: 32px; height: 32px; font-size: 11px; }
.personal-drawer-empty, .personal-login-state { min-height: 240px; padding: 20px; }
.personal-drawer-empty b, .personal-login-state b { font-size: 14px; }
.personal-drawer-empty button, .personal-login-state button { min-height: 34px; margin-top: 14px; padding: 0 16px; border-radius: 11px; font-size: 12px; }
.personal-login-state > i { width: 52px; height: 52px; margin-bottom: 14px; border-radius: 17px; font-size: 28px; }
@media (max-width: 350px) { .personal-drawer { width: 88vw; } .pd-member { width: 38px; flex-basis: 38px; } }
