.matching {
  background: linear-gradient(180deg, rgba(243, 250, 255, 1) 0%, rgba(243, 250, 255, 0) 100%);
  background-size: 100% 77.067rem;
  background-repeat: no-repeat;
  padding-bottom: 5.333rem;
}

/* ===== Header ===== */
.matching-header {
  text-align: center;
  padding: 6.667rem 4.267rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.133rem;
}

.matching-header__tagline {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 2.133rem;
  color: rgba(0, 102, 255, 1);
}

.matching-header__title {
  font-size: 4.267rem;
  font-weight: 500;
  letter-spacing: -0.043rem;
  line-height: 5.333rem;
  color: rgba(26, 27, 31, 1);
}

.matching-header__subtitle {
  font-size: 3.467rem;
  font-weight: 400;
  line-height: 4.267rem;
  color: rgba(66, 70, 86, 1);
  height: 5.333rem;
}

/* ===== Form Card ===== */
.matching-form {
  margin: 2.133rem 4.267rem 0;
  background: rgba(255, 255, 255, 1);
  border-radius: 1.067rem;
  box-shadow: 0 0.533rem 2.667rem 0 rgba(0, 0, 0, 0.05);
  border: 0.133rem solid rgba(213, 213, 213, 1);
  position: relative;
}

/* ===== Filter Tags Area ===== */
.matching-form__filters {
  padding: 0 4.667rem 0;
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 2.133rem;
}

.matching-form__filter-row {
  display: flex;
  flex-direction: row;
  gap: 2.133rem;
}

.matching-form__filter-btn {
  display: flex;
  flex-direction: row;
  gap: 1.067rem;
  align-items: center;
  padding: 1.6rem 3.2rem;
  border-radius: 0.8rem;
  border: 0.133rem solid rgba(229, 231, 235, 1);
  background: rgba(255, 255, 255, 1);
  flex-shrink: 0;
}

.matching-form__filter-btn .filter-icon {
  width: 2.667rem;
  height: 2.667rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

.matching-form__filter-btn .filter-text {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 3.2rem;
  color: rgba(102, 102, 102, 1);
  white-space: nowrap;
}

.matching-form__filter-select {
  display: flex;
  flex-direction: row;
  gap: 1.067rem;
  align-items: center;
  padding: 1.6rem 3.2rem;
  border-radius: 0.8rem;
  border: 0.133rem solid rgba(229, 231, 235, 1);
  background: rgba(255, 255, 255, 1);
  flex-shrink: 0;
  cursor: pointer;
  min-width: 20rem;
  justify-content: center;
}

.matching-form__filter-select .select-text {
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 3.2rem;
  color: rgba(51, 51, 51, 1);
  white-space: nowrap;
}

.matching-form__filter-select .select-arrow {
  width: 2.591rem;
  height: 1.391rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  flex-shrink: 0;
  transition: transform 0.2s;
  margin-left: 1rem;
}

/* ===== Paper Content Area ===== */
.matching-form__content {
  padding: 0 4.667rem 0;
  margin-top: 3.333rem;
  display: flex;
  flex-direction: column;
  gap: 2.133rem;
}

.matching-form__section {
  display: flex;
  flex-direction: column;
  gap: 2.133rem;
}

.matching-form__label {
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 2.133rem;
  color: rgba(153, 153, 153, 1);
}

.matching-form__text {
  font-size: 3.467rem;
  font-weight: 400;
  line-height: 4.267rem;
  color: rgba(51, 51, 51, 1);
}

.matching-form__divider {
  width: 100%;
  height: 0.133rem;
  background: rgba(0, 0, 0, 0.1);
}

.matching-form__label-row {
  display: flex;
  flex-direction: row;
  gap: 2.133rem;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem;
}

.matching-form__label-desc {
  font-size: 3.2rem;
  font-weight: 400;
  color: rgba(153, 153, 153, 1);
  white-space: nowrap;
}

.matching-form__label-desc .highlight {
  color: rgba(0, 102, 255, 1);
  margin-right: 1rem;
}

/* ===== Action Buttons (清空 / AI 匹配) ===== */
.matching-form__actions {
  display: flex;
  flex-direction: row;
  gap: 3.2rem;
  align-items: center;
  justify-content: flex-end;
  padding: 0 4.667rem 6.533rem;
  margin-top: 1.867rem;
}

.matching-form__btn-clear {
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 2.667rem;
  color: rgba(153, 153, 153, 1);
  background: none;
  border: none;
  cursor: pointer;
}

.matching-form__btn-submit {
  width: 18.533rem;
  height: 6.4rem;
  background: rgba(0, 102, 255, 1);
  border-radius: 0.8rem;
  box-shadow: 0 1.333rem 2rem -0.4rem rgba(191, 219, 254, 1), 0 0.533rem 0.8rem -0.533rem rgba(191, 219, 254, 1);
  border: none;
  color: rgba(255, 255, 255, 1);
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 3.2rem;
  text-align: center;
  cursor: pointer;
}

/* ===== Features Bar ===== */
.matching-features {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  align-items: center;
  justify-content: center;
  padding: 0.533rem 0 0;
  margin-top: 2.267rem;
}

.matching-features__item {
  display: flex;
  flex-direction: row;
  gap: 0.533rem;
  align-items: center;
}

.matching-features__icon {
  width: 3.467rem;
  height: 3.467rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

.matching-features__text {
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 2rem;
  color: rgba(153, 153, 153, 1);
  white-space: nowrap;
}

/* ===== Login Prompt ===== */
.matching-login-prompt {
  margin: 3.667rem 4.267rem 0;
  height: 10.667rem;
  background: rgba(230, 240, 255, 0.3);
  border-radius: 0.8rem;
  border: 0.133rem solid rgba(230, 240, 255, 1);
  display: flex;
  align-items: center;
  justify-content: center;
}

.matching-login-prompt__text {
  font-size: 3.467rem;
  font-weight: 500;
  line-height: 2.133rem;
  color: rgba(0, 102, 255, 1);
  text-align: center;
}

.matching-login-prompt__link {
  text-decoration: underline;
  cursor: pointer;
}

/* ===== AI Results Header ===== */
.matching-results {
  padding: 0 4.267rem;
  margin-top: 4.267rem;
}

.matching-results__header {
  display: flex;
  flex-direction: row;
  gap: 2.133rem;
  align-items: center;
}

.matching-results__label {
  position: relative;
  padding-left: 1.067rem;
  border-left: 0.267rem solid rgba(0, 102, 255, 1);
  font-size: 3.2rem;
  font-weight: 400;
  letter-spacing: 0.16rem;
  line-height: 2.133rem;
  color: rgba(0, 102, 255, 1);
  white-space: nowrap;
}

.matching-results__title {
  font-size: 3.733rem;
  font-weight: 700;
  line-height: 3.733rem;
  color: rgba(51, 51, 51, 1);
}

.matching-results__title .count {
  color: rgba(0, 102, 255, 1);
}

/* ===== Sort Row ===== */
.matching-results__sort {
  display: flex;
  flex-direction: row;
  gap: 1.067rem;
  align-items: center;
  margin-top: 2.133rem;
}

.matching-results__sort-label {
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 2.133rem;
  color: rgba(153, 153, 153, 1);
}

.matching-results__sort-select {
  position: relative;
  border: 0.133rem solid rgba(229, 231, 235, 1);
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 1);
  display: flex;
  align-items: center;
}

.matching-results__sort-select .sort-arrow {
  position: absolute;
  right: 2.267rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.743rem;
  height: 0.828rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.matching-results__sort-value {
  font-size: 3.467rem;
  font-weight: 400;
  line-height: 2.133rem;
  color: rgba(51, 51, 51, 1);
  padding: 2.133rem 2.533rem;
  padding-right: 5.333rem;
  white-space: nowrap;
}

/* ===== Journal Card List ===== */
.matching-results__list {
  display: flex;
  flex-direction: column;
  gap: 2.667rem;
  margin-top: 4.667rem;
}

/* ===== Journal Card ===== */
.journal-card {
  position: relative;
  background: rgba(255, 255, 255, 1);
  border-radius: 2.667rem;
  border: 0.133rem solid rgba(0, 0, 0, 0.1);
  padding: 5.867rem 4.133rem 0;
  padding-bottom: 2.667rem;
}

.journal-card__name {
  font-size: 3.733rem;
  font-weight: 700;
  line-height: 3.733rem;
  color: rgba(51, 51, 51, 1);
  width: 70%;
  display: block;
}

.journal-card__publisher {
  font-size: 3.2rem;
  font-weight: 400;
  color: rgba(152, 152, 152, 1);
  margin-top: 1.33rem;
  width: 70%;
}

.journal-card__badges {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  max-width: 70%;
  gap: 2.133rem;
  margin-top: 2.133rem;
}

.journal-card__badge {
  padding: .5rem 1.33rem;
  border-radius: 0.533rem;
  font-size: 3.2rem;
  font-weight: 500;
  white-space: nowrap;
  /*max-width: 17rem;*/
}

.journal-card__badge--blue {
  background: rgba(0, 102, 255, 1);
  color: rgba(255, 255, 255, 1);
}

.journal-card__badge--gray {
  background: rgba(243, 244, 246, 1);
  border: 0.133rem solid rgba(222, 222, 222, 1);
  color: rgba(102, 102, 102, 1);
}

.journal-card__stats {
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
  align-items: center;
  padding-top: 1rem;
  flex-wrap: wrap;
}

.journal-card__stat {
  display: flex;
  flex-direction: row;
  gap: 0.533rem;
  align-items: center;
  margin-top: 1.33rem;
}

.journal-card__stat-label {
  font-size: 3.2rem;
  font-weight: 400;
  color: rgba(102, 102, 102, 1);
}

.journal-card__stat-value {
  font-size: 3.2rem;
  font-weight: 700;
  color: rgba(31, 41, 55, 1);
}

.journal-card__oa {
  font-size: 3.2rem;
  font-weight: 400;
  color: rgba(102, 102, 102, 1);
  padding-top: 1.333rem;
}

.journal-card__rights {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 2.133rem;
  align-items: center;
  padding-top: 2rem;
}

.journal-card__rights-label {
  font-size: 3.2rem;
  font-weight: 400;
  color: rgba(153, 153, 153, 1);
}

.journal-card__right-item {
  display: flex;
  flex-direction: row;
  gap: 0.533rem;
  align-items: center;
}

.journal-card__right-dot {
  width: 0.8rem;
  height: 0.8rem;
  background: #F97316;
  border-radius: 50%;
  flex-shrink: 0;
}

.journal-card__right-text {
  font-size: 3.2rem;
  font-weight: 400;
  color: #F97316;
}

/* ===== Match Score ===== */
.journal-card__score {
  position: absolute;
  right: 4.133rem;
  top: 5.867rem;
}

.journal-card__score-label {
  font-size: 3.2rem;
  font-weight: 400;
  color: rgba(153, 153, 153, 1);
}

.journal-card__score-value {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: end;
  margin-top: .5rem;
}

.journal-card__score-num {
  font-size: 5.333rem;
  font-weight: 700;
  line-height: 5.333rem;
  color: rgba(0, 102, 255, 1);
}

.journal-card__score-total {
  font-size: 3.2rem;
  font-weight: 400;
  color: rgba(153, 153, 153, 1);
}

.journal-card__score-stars {
  font-size: 3.2rem;
  color: #FB923C;
  margin-top: 0.533rem;
  display: flex;
  justify-content: end;
}

/* ===== AI Analysis ===== */
.journal-card__analysis {
  margin-top: 2.667rem;
  background: rgba(248, 250, 255, 1);
  border-radius: 1.067rem;
  padding: 2.133rem;
  position: relative;
  display: flex;
  align-items: start;
}

.journal-card__analysis-badge {
  background: rgba(0, 102, 255, 0.1);
  border-radius: 50px;
  font-size: 3.2rem;
  font-weight: 500;
  color: rgba(0, 102, 255, 1);
  flex: 0 0 4.8rem;
  height: 4.8rem;
  width: 4.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 2.67rem;
  position: relative;
  top: .7rem;
}

.journal-card__analysis-text {
  font-size: 3.4rem;
  font-weight: 500;
  color: rgba(102, 102, 102, 1);
}

/* ===== Card Actions ===== */
.journal-card__actions {
  display: flex;
  flex-direction: row;
  gap: 2.133rem;
  margin-top: 2.667rem;
  justify-content: end;
}

.journal-card__btn-detail {
  height: 6.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 1);
  box-sizing: border-box;
  border: 1px solid rgba(229, 231, 235, 1);
  border-radius: 50px;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 3.2rem;
  color: #666666;
  padding: 0 3.2rem;
}

.journal-card__btn-presubmit {
  height: 6.4rem;
  display: flex;
  flex-direction: row;
  gap: 1.067rem;
  align-items: center;
  justify-content: center;
  background: rgba(0, 102, 255, 1);
  border: none;
  font-size: 3.2rem;
  line-height: 3.2rem;
  color: rgba(255, 255, 255, 1);
  font-weight: 500;
  border-radius: 50px;
  padding: 0 3.2rem;
}

.journal-card__btn-arrow {
  width: 2.533rem;
  height: 1.333rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

/* ===== Bottom CTA ===== */
.matching-cta {
  margin-top: 3rem;
  padding: 0 4.267rem;
}
.matching-cta__inner {
  margin-top: 5.333rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.133rem;
}

.matching-cta__text {
  font-size: 3.733rem;
  font-weight: 400;
  line-height: 3.733rem;
  color: rgba(102, 102, 102, 1);
}

.matching-cta__btn {
  width: 19.2rem;
  height: 6.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  font-size: 3.2rem;
  font-weight: 500;
  height: 6.4rem;
  color: #fff;
  background: #ff7b00;
  border: 1px solid #ff7b00;
}

/* ===== Textarea Input ===== */
.matching-form__textarea {
  width: 100%;
  font-size: 3.467rem;
  font-weight: 400;
  line-height: 4.267rem;
  color: rgba(51, 51, 51, 1);
  border: none;
  outline: none;
  resize: none;
  background: transparent;
  padding: 0;
  font-family: inherit;
}

.matching-form__textarea::placeholder {
  color: rgba(153, 153, 153, 0.6);
}

.matching-form__char-count {
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 2.133rem;
  color: rgba(153, 153, 153, 1);
  text-align: right;
  margin-top: 0.533rem;
}

/* ===== Active Filter Button ===== */
.matching-form__filter-btn--active {
  border-color: rgba(0, 102, 255, 1);
  background: rgba(0, 102, 255, 0.05);
}

.matching-form__filter-btn--active .filter-text {
  color: rgba(0, 102, 255, 1);
  font-weight: 500;
}

/* ===== Disabled Submit Button ===== */
.matching-form__btn-submit:disabled {
  background: rgba(0, 102, 255, 0.5);
  cursor: not-allowed;
}

/* ===== Inline Dropdown ===== */
.matching-form__filter-dropdown {
  position: relative;
  flex-shrink: 0;
  max-width: 37rem;
}

.matching-form__filter-dropdown .select-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.matching-form__filter-select--open {
  border-color: rgba(0, 102, 255, 1);
}

.matching-form__filter-select--open .select-arrow {
  transform: rotate(180deg);
}

.matching-form__filter-select--selected {
  border-color: rgba(0, 102, 255, 1);
  background: rgba(0, 102, 255, 0.05);
}

.matching-form__filter-select--selected .select-text {
  color: rgba(0, 102, 255, 1);
  font-weight: 500;
}

/* Dropdown Menu */
.matching-form__dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0.8rem;
  min-width: 100%;
  background: rgba(255, 255, 255, 1);
  border-radius: 0.8rem;
  border: 0.133rem solid rgba(229, 231, 235, 1);
  box-shadow: 0 0.533rem 2.667rem 0 rgba(0, 0, 0, 0.1);
  z-index: 100;
  padding: 1.6rem 0;
}

.matching-form__dropdown-menu--open {
  display: block;
}

.matching-form__dropdown-list {
  padding: 0 2.133rem;
  max-height: 40rem;
  overflow-y: auto;
  max-width: 50vw;
}

.matching-form__dropdown-item {
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 8.667rem;
  color: rgba(51, 51, 51, 1);
  padding: 0 2.133rem;
  border-radius: 0.533rem;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  box-sizing: border-box;
}

.matching-form__dropdown-item--active {
  color: rgba(0, 102, 255, 1);
  background: rgba(0, 102, 255, 0.05);
  font-weight: 500;
}

/* ===== Consult Modal ===== */
.consult-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
}

.consult-modal__mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.consult-modal__dialog {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 68vw;
  background: rgba(255, 255, 255, 1);
  border-radius: 1.067rem;
  overflow: hidden;
  z-index: 1;
}

.consult-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.667rem 3.2rem;
  border-bottom: 0.133rem solid rgba(229, 231, 235, 1);
}

.consult-modal__title {
  font-size: 3.733rem;
  font-weight: 500;
  color: rgba(51, 51, 51, 1);
}

.consult-modal__close {
  font-size: 5.333rem;
  color: rgba(153, 153, 153, 1);
  cursor: pointer;
  line-height: 1;
}

.consult-modal__body {
  padding: 4rem 3.2rem;
  text-align: center;
}

.consult-modal__qrcode {
  width: 36rem;
  height: 36rem;
  object-fit: contain;
}

.consult-modal__tip {
  font-size: 3.2rem;
  color: rgba(102, 102, 102, 1);
}

/* ===== Empty State ===== */
.matching-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8rem 0 6rem;
}

.matching-empty__image {
  width: 33.333rem;
  height: 33.333rem;
  object-fit: contain;
}

.matching-empty__text {
  font-size: 3.733rem;
  font-weight: 500;
  line-height: 4.267rem;
  color: rgba(51, 51, 51, 1);
  text-align: center;
}
