* { box-sizing: border-box; }

[hidden] { display: none !important; }

html { background: var(--ink-0); }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--paper);
  background: var(--ink-0);
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* 极光与噪点背景层（对应 demo .aurora / .noise） */
.aurora { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.aurora span { position: absolute; border-radius: 50%; filter: blur(110px); opacity: .3; animation: aurora-float 24s infinite alternate ease-in-out; }
.aurora .g1 { top: -12%; left: 20%; width: 430px; height: 430px; background: var(--aurora-gold); }
.aurora .g2 { top: 36%; right: -14%; width: 470px; height: 470px; background: var(--aurora-violet); opacity: .18; animation-delay: -7s; }
.aurora .g3 { bottom: -14%; left: -8%; width: 440px; height: 440px; background: var(--aurora-ember); animation-delay: -13s; }
@keyframes aurora-float {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(46px, -44px) scale(1.12); }
}

.noise {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}

#app { position: relative; z-index: 2; }

button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }

h1, h2, h3 { font-weight: 900; line-height: 1.35; }
h1, h2, h3, p { margin-top: 0; }

::selection { color: var(--on-gold); background: var(--gold-1); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--ink-1); }
::-webkit-scrollbar-thumb { background: #35313f; border: 2px solid var(--ink-1); border-radius: 99px; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.muted { color: var(--muted); }
.eyebrow {
  margin: 0 0 10px;
  color: var(--gold-1);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

/* 渐变金句文本（对应 demo .gradient-text） */
.gradient-text {
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.display-title {
  margin: 0;
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 900;
  letter-spacing: -.02em;
  line-height: 1.25;
}

.page-title {
  margin-bottom: 8px;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 900;
  letter-spacing: 0;
}

.page-subtitle { max-width: 680px; color: var(--muted); line-height: 1.8; }

@keyframes slide-up {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .aurora span { animation: none; }
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
