/* ==========================================================================
   GIPWEAR — share card modal
   ========================================================================== */

.share-modal {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s var(--ease);
}
.share-modal.is-open { opacity: 1; pointer-events: auto; }

.share-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 15, 21, .82);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.share-modal__panel {
  position: relative;
  width: min(92vw, 460px);
  max-height: 92vh;
  overflow-y: auto;
  padding: 22px 22px 20px;
  border-radius: 20px;
  background: linear-gradient(180deg, #0b2b39, #061a24);
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .9);
  transform: translateY(14px) scale(.98);
  transition: transform .32s var(--ease);
  color: #fff;
}
.share-modal.is-open .share-modal__panel { transform: none; }

.share-modal__close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 22px;
  line-height: 1;
  color: rgba(255, 255, 255, .6);
  transition: color .2s, background .2s;
}
.share-modal__close:hover { color: #fff; background: rgba(255, 255, 255, .08); }

.share-modal__title {
  font-family: var(--serif);
  font-size: 18px;
  letter-spacing: .08em;
  color: #fff;
  margin-bottom: 16px;
  text-align: center;
}

.share-modal__preview {
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 255, 255, .04);
  aspect-ratio: 3 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
}
.share-modal__preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.share-modal__hint {
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.7;
  text-align: center;
  color: rgba(255, 255, 255, .48);
}

.share-modal__actions {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 16px;
}
.share-modal__actions .btn { padding: 10px 18px; font-size: 12.5px; letter-spacing: .06em; }
.share-modal__system { background: var(--coral); }
.share-modal__save {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .26);
  color: #fff;
  box-shadow: none;
}
.share-modal__save:hover { background: rgba(255, 255, 255, .08); }
.share-modal__copy {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .26);
  color: #fff;
  box-shadow: none;
}
.share-modal__copy:hover { background: rgba(255, 255, 255, .08); }

@media (max-width: 480px) {
  .share-modal__panel { width: 100%; padding: 18px 16px 16px; }
  .share-modal__actions { gap: 6px; }
  .share-modal__actions .btn { padding: 9px 14px; font-size: 12px; }
}

/* ---------------------------------------------------------------------------
   分享按钮 = 品牌标记（替代文字按钮）
   --------------------------------------------------------------------------- */
.logo-share {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .22);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition: background .25s var(--ease), border-color .25s var(--ease), transform .2s var(--ease);
  flex-shrink: 0;
}
.logo-share img {
  width: 21px;
  height: auto;
  display: block;
  opacity: .88;
  transition: opacity .25s;
}
.logo-share:hover {
  background: rgba(255, 255, 255, .15);
  border-color: rgba(255, 255, 255, .4);
  transform: translateY(-1px);
}
.logo-share:hover img { opacity: 1; }
.logo-share:active { transform: translateY(0) scale(.96); }

/* 放在羊皮纸上时换成墨色 */
.logo-share--dark {
  background: rgba(59, 47, 34, .06);
  border-color: rgba(59, 47, 34, .3);
}
.logo-share--dark:hover {
  background: rgba(59, 47, 34, .13);
  border-color: rgba(59, 47, 34, .5);
}
.logo-share--dark img { opacity: .72; }
.logo-share--dark:hover img { opacity: .95; }

/* 答案之书里按钮排得紧凑些 */
.book .logo-share { width: 42px; height: 42px; }
.book .logo-share img { width: 18px; }

/* 塔罗结果区与「重新抽牌」并排 */
.t-again .logo-share { margin-left: 4px; }

@media (max-width: 560px) {
  .logo-share { width: 44px; height: 44px; }
  .logo-share img { width: 19px; }
}
