/* portal.css —— 门户页专属样式 */
.hero {
  min-height: 78vh; display: flex; align-items: center;
  padding-top: clamp(40px, 8vh, 90px); padding-bottom: 40px;
}
.hero .eyebrow { display: inline-block; margin-bottom: 18px; }
.hero-sub { max-width: 540px; margin-top: 20px; font-size: clamp(16px, 2.2vw, 19px); }

.space-cat { margin-bottom: 40px; }
.space-cat h3 {
  font-size: 14px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--text-3); margin-bottom: 16px; display: flex; align-items: center; gap: 10px;
}
.space-cat h3::after { content: ''; flex: 1; height: 1px; background: var(--hairline); }

.space-card {
  position: relative; display: block; padding: 26px; border-radius: var(--lg-radius); overflow: hidden;
  background: linear-gradient(155deg, var(--lg-hi-side), transparent 46%), var(--lg-tint);
  border: 1px solid var(--lg-stroke);
  backdrop-filter: blur(var(--lg-blur)) saturate(var(--lg-sat)); -webkit-backdrop-filter: blur(var(--lg-blur)) saturate(var(--lg-sat));
  box-shadow:
    inset 0 1px 0 var(--lg-hi-top),
    inset 0 -1px 0 var(--lg-hi-bottom),
    inset 1px 0 0 var(--lg-hi-side),
    inset -1px 0 0 var(--lg-hi-side),
    var(--lg-shadow);
  transition: transform var(--dur-2) var(--ease-spring), border-color var(--dur-2), box-shadow var(--dur-2);
}
.space-card::before {
  content: ''; position: absolute; inset: 0; opacity: .14; pointer-events: none;
  background: radial-gradient(120% 120% at 0% 0%, var(--sc, var(--mango)), transparent 55%);
  transition: opacity var(--dur-2);
}
.space-card:hover { transform: translateY(-6px); border-color: var(--hairline-strong);
  box-shadow: inset 0 1px 0 var(--lg-hi-top), inset 0 -1px 0 var(--lg-hi-bottom),
              inset 1px 0 0 var(--lg-hi-side), inset -1px 0 0 var(--lg-hi-side), var(--lg-shadow-hi); }
.space-card:hover::before { opacity: .26; }
.space-card .ico {
  width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center;
  font-size: 26px; background: var(--bg-glass-2); border: 1px solid var(--hairline); margin-bottom: 16px;
  box-shadow: inset 0 0 20px color-mix(in srgb, var(--sc, var(--mango)) 18%, transparent);
}
.space-card h4 { font-size: 20px; font-weight: 700; margin-bottom: 2px; }
.space-card .sub { font-size: 12px; letter-spacing: 1.5px; color: var(--sc, var(--mango)); text-transform: uppercase; font-weight: 600; }
.space-card p { color: var(--text-2); font-size: 14px; margin-top: 12px; min-height: 40px; }
.space-card .foot { display: flex; align-items: center; gap: 8px; margin-top: 16px; }
.space-card .arrow { margin-left: auto; color: var(--text-3); transition: transform var(--dur-2) var(--ease-spring); }
.space-card:hover .arrow { transform: translateX(6px); color: var(--text-1); }

html[data-theme="light"] .space-card { background: linear-gradient(155deg, var(--lg-hi-side), transparent 46%), var(--lg-tint); }
