  @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap');
  body { font-family: 'Noto Sans SC', system-ui, sans-serif; }

  .top-nav { border-bottom: 2px solid #1e40af; }

  .search-box {
    border-radius: 14px;
    box-shadow: 0 2px 20px rgba(30,64,175,0.10);
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
    border: 1.5px solid #e2e8f0;
  }
  .search-box:focus-within {
    box-shadow: 0 4px 28px rgba(30,64,175,0.16);
    border-color: #1e40af;
  }
  .search-input:focus { outline: none; }

  /* AI 标签 */
  .ai-tag {
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
    border: 1px solid #bfdbfe;
    transition: all 0.2s ease;
  }
  .ai-tag:hover { background: #dbeafe; border-color: #93c5fd; }

  /* 提问示例气泡 */
  .example-bubble {
    transition: all 0.2s ease;
    cursor: pointer;
  }
  .example-bubble:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(30,64,175,0.12);
  }

  /* 产品卡片 */
  .product-card {
    border-radius: 12px;
    transition: all 0.3s ease;
    position: relative; overflow: hidden;
  }
  .product-card::before {
    content: ''; position: absolute; inset: 0; border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.06); pointer-events: none;
  }
  .product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px -8px rgba(0,0,0,0.10);
  }
  .product-card .card-badge {
    position: absolute; top: 12px; left: 12px;
    padding: 2px 8px; border-radius: 4px;
    font-size: 11px; font-weight: 500; z-index: 2;
  }

  /* 产品图片 */
  .product-img {
    width: 100%; height: 160px; object-fit: cover;
    border-radius: 8px 8px 0 0; background: #f1f5f9;
  }

  /* 购物车/侧边栏通用 */
  .cart-sidebar, .slide-panel {
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .cart-sidebar.open, .slide-panel.open { transform: translateX(0); }
  .cart-overlay {
    opacity: 0; pointer-events: none;
    transition: opacity 0.3s ease;
  }
  .cart-overlay.open { opacity: 1; pointer-events: auto; }

  /* 数量按钮 */
  .qty-btn {
    width: 28px; height: 28px; border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.15s;
  }
  .qty-btn:hover { background: #e2e8f0; }

  /* 弹窗 */
  .modal-overlay {
    opacity: 0; pointer-events: none;
    transition: opacity 0.3s ease;
  }
  .modal-overlay.open { opacity: 1; pointer-events: auto; }
  .modal-box {
    transform: translateY(16px) scale(0.98);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .modal-overlay.open .modal-box { transform: translateY(0) scale(1); }

  /* 订单状态 */
  .status-badge { border-radius: 6px; padding: 2px 10px; font-size: 12px; font-weight: 500; }
  .status-pending   { background: #fef3c7; color: #92400e; }
  .status-paid      { background: #dbeafe; color: #1e40af; }
  .status-shipped   { background: #e0e7ff; color: #3730a3; }
  .status-delivered { background: #d1fae5; color: #065f46; }
  .status-cancelled { background: #fee2e2; color: #991b1b; }

  /* 滚动渐入 */
  .reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; }
  .reveal.visible { opacity: 1; transform: translateY(0); }

  /* AI 加载动画 */
  .ai-loading { display: none; }
  .ai-loading.active { display: flex; }
  .ai-dot {
    width: 6px; height: 6px; border-radius: 50%; background: #3b82f6;
    animation: aiPulse 1.2s ease-in-out infinite;
  }
  .ai-dot:nth-child(2) { animation-delay: 0.2s; }
  .ai-dot:nth-child(3) { animation-delay: 0.4s; }
  @keyframes aiPulse {
    0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
    40% { transform: scale(1); opacity: 1; }
  }

  /* AI 推理步骤动画 */
  .ai-step { opacity: 0; transform: translateY(8px); transition: all 0.4s ease; }
  .ai-step.show { opacity: 1; transform: translateY(0); }

  /* 支付成功 */
  .pay-success { animation: paySuccessAnim 0.5s ease forwards; }
  @keyframes paySuccessAnim {
    0% { transform: scale(0.8); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
  }

  .btn-primary { background: #1e40af; }
  .btn-primary:hover { background: #1e3a8a; }

  .login-input:focus { outline: none; border-color: #1e40af; box-shadow: 0 0 0 3px rgba(30,64,175,0.1); }

  /* 注册步骤指示器 */
  .step-indicator { display: flex; align-items: center; gap: 0; }
  .step-circle {
    width: 28px; height: 28px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 700; transition: all 0.3s ease;
  }
  .step-line { flex: 1; height: 2px; transition: background 0.3s ease; }
