/* Apple Liquid Glass — mini-program tokens (adapted from frontend-web) */
:root {
  --bg:        #f5f5f7;
  --surface:   #ffffff;
  --hover:     #fbfbfd;
  --text:      #1d1d1f;
  --text-body: #424245;
  --text-2:    #6e6e73;
  --text-3:    #86868b;
  --text-4:    #aeaeb2;
  --faint:     #d2d2d7;
  --hairline:  rgba(0, 0, 0, 0.07);
  --accent:      #0071e3;
  --accent-link: #0066cc;
  --indigo:      #5e5ce6;
  --heat:        #ff6b00;
  --heat-bg:     rgba(255, 107, 0, 0.1);
  --live:        #30d158;
  --live-bg:     rgba(48, 209, 88, 0.12);
  --danger:      #ff3b30;
  --danger-bg:   rgba(255, 59, 48, 0.1);
  --ok:          #30d158;
  --ok-bg:       rgba(48, 209, 88, 0.12);
  --grad-cta:  linear-gradient(135deg, #0071e3 0%, #5e5ce6 100%);
  --grad-header: linear-gradient(165deg, #0071e3 0%, #5e5ce6 72%, #7b61ff 100%);
  --font: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display',
          'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  --mono: ui-monospace, 'SF Mono', Menlo, monospace;

  --r-pill:  999px;
  --r-chip:  8px;
  --r-thumb: 8px;
  --r-card:  18px;
  --r-panel: 20px;
  --r-phone: 42px;
  --r-sheet: 16px;

  /* Elevation via transparent layered shadows (ring + lift + ambient) */
  --sh-border:
    0 0 0 1px rgba(0, 0, 0, 0.06),
    0 1px 2px -1px rgba(0, 0, 0, 0.06),
    0 2px 4px rgba(0, 0, 0, 0.04);
  --sh-border-hover:
    0 0 0 1px rgba(0, 0, 0, 0.08),
    0 1px 2px -1px rgba(0, 0, 0, 0.08),
    0 2px 4px rgba(0, 0, 0, 0.06);
  --sh-card:
    0 0 0 1px rgba(0, 0, 0, 0.05),
    0 1px 2px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.05);
  --sh-panel:
    0 0 0 1px rgba(0, 0, 0, 0.05),
    0 1px 3px rgba(0, 0, 0, 0.05),
    0 14px 40px rgba(0, 0, 0, 0.05);
  --sh-lift:    0 12px 32px rgba(0, 0, 0, 0.1);
  --sh-cta:     0 12px 32px rgba(0, 113, 227, 0.28);
  --sh-phone:   0 24px 64px rgba(0, 0, 0, 0.14), 0 4px 16px rgba(0, 0, 0, 0.06);

  --ease-out: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-press: ease-out;

  --track:  #e8e8ed;
  --pad-x:  16px;
  --phone-w: 390px;
  --phone-h: 844px;
  --status-h: 44px;
  --tab-h: 83px; /* 49 content + home indicator */
  --safe-b: 34px;
  /* 微信右上角胶囊按钮预留（约 87px 宽 + 右侧边距），顶栏文案勿侵入 */
  --capsule-right: 100px;

  --ease-spring: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
}

@keyframes pulse-dot {
  0%   { box-shadow: 0 0 0 0 rgba(48, 209, 88, 0.5); }
  70%  { box-shadow: 0 0 0 7px rgba(48, 209, 88, 0); }
  100% { box-shadow: 0 0 0 0 rgba(48, 209, 88, 0); }
}

@keyframes shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
