
.typewriter[data-v-a1e3153d] {
  display: inline;
  font-family: inherit;
}
.text-wrapper[data-v-a1e3153d] {
  display: inline;
}
.char[data-v-a1e3153d] {
  display: inline;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.char.visible[data-v-a1e3153d] {
  opacity: 1;
  transform: translateY(0);
}
.char.cursor[data-v-a1e3153d] {
  position: relative;
}
.char.cursor[data-v-a1e3153d]::after {
  content: '|';
  position: absolute;
  left: 100%;
  color: #fff;
  font-weight: bold;
  animation: blink-a1e3153d 1s step-end infinite;
}
@keyframes blink-a1e3153d {
0%, 100% { opacity: 1;
}
50% { opacity: 0;
}
}

.background-tags[data-v-1a074f2f] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
  opacity: 0.7;
}
.tag-row[data-v-1a074f2f] {
  position: absolute;
  left: 0;
  width: -moz-max-content;
  width: max-content;
  display: flex;
  align-items: center;
  white-space: nowrap;
  animation: scroll-left-1a074f2f 80s linear infinite;
  will-change: transform;
}
.floating-tag[data-v-1a074f2f] {
  display: inline-block;
  padding: 8px 20px;
  margin: 0 12px;
  background: rgba(99, 102, 241, 0.1);
  border: 1px solid rgba(99, 102, 241, 0.2);
  border-radius: 24px;
  font-size: 14px;
  color: rgba(99, 102, 241, 0.7);
  backdrop-filter: blur(8px);
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.1);
  white-space: nowrap;
}
@keyframes scroll-left-1a074f2f {
0% {
    transform: translateX(0);
}
100% {
    transform: translateX(-50%);
}
}

/* 不同行的变化和可见性增强 */
.tag-row[data-v-1a074f2f]:nth-child(1) {
  top: 10% !important;
}
.tag-row[data-v-1a074f2f]:nth-child(2) {
  top: 35% !important;
}
.tag-row[data-v-1a074f2f]:nth-child(3) {
  top: 60% !important;
}
.tag-row[data-v-1a074f2f]:nth-child(4) {
  top: 85% !important;
}

.home-container[data-v-ab63eeb4] {
  min-height: 100vh;
  background: linear-gradient(135deg, #0a0a0f 0%, #1a1a2e 50%, #0f0f1a 100%);
  position: relative;
  overflow-x: hidden;
}

/* CRT 扫描线效果 */
.scanlines[data-v-ab63eeb4] {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 100;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.1) 0px,
    rgba(0, 0, 0, 0.1) 1px,
    transparent 1px,
    transparent 2px
  );
  opacity: 0.15;
}

/* 粒子系统 */
.particles-container[data-v-ab63eeb4] {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.particle[data-v-ab63eeb4] {
  position: absolute;
  border-radius: 50%;
  animation: particleFloat-ab63eeb4 linear infinite;
  opacity: 0.6;
}
@keyframes particleFloat-ab63eeb4 {
0%, 100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.3;
}
25% {
    transform: translate(30px, -50px) scale(1.2);
    opacity: 0.8;
}
50% {
    transform: translate(-20px, -100px) scale(0.8);
    opacity: 0.5;
}
75% {
    transform: translate(40px, -50px) scale(1.1);
    opacity: 0.7;
}
}

/* 鼠标跟随光晕 */
.cursor-glow[data-v-ab63eeb4] {
  position: fixed;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.15) 0%, transparent 70%);
  pointer-events: none;
  z-index: 2;
  transform: translate(-50%, -50%);
  transition: transform 0.1s ease-out;
}

/* 动态网格 */
.dynamic-grid[data-v-ab63eeb4] {
  position: absolute;
  inset: -50px;
  background-image:
    linear-gradient(rgba(139, 92, 246, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(139, 92, 246, 0.03) 1px, transparent 1px);
  background-size: 50px 50px;
  transition: transform 0.3s ease-out;
}

/* 背景装饰 */
.bg-decoration[data-v-ab63eeb4] {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.glow-orb[data-v-ab63eeb4] {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.4;
}
.orb-1[data-v-ab63eeb4] {
  width: 500px;
  height: 500px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  top: -150px;
  right: -100px;
  animation: float-ab63eeb4 20s ease-in-out infinite;
}
.orb-2[data-v-ab63eeb4] {
  width: 400px;
  height: 400px;
  background: linear-gradient(135deg, #f093fb, #f5576c);
  bottom: 20%;
  left: -100px;
  animation: float-ab63eeb4 25s ease-in-out infinite reverse;
}
.orb-3[data-v-ab63eeb4] {
  width: 300px;
  height: 300px;
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  bottom: -50px;
  right: 20%;
  animation: float-ab63eeb4 18s ease-in-out infinite;
}
.grid-overlay[data-v-ab63eeb4] {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 80px 80px;
}
@keyframes float-ab63eeb4 {
0%, 100% { transform: translate(0, 0) scale(1);
}
50% { transform: translate(40px, -40px) scale(1.1);
}
}

/* Hero Section */
.hero-section[data-v-ab63eeb4] {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  text-align: center;
}

/* Avatar */
.avatar-wrapper[data-v-ab63eeb4] {
  position: relative;
  width: 140px;
  height: 140px;
  margin: 0 auto 2rem;
}
.avatar-ring[data-v-ab63eeb4] {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea, #764ba2, #f093fb);
  animation: rotate-ab63eeb4 4s linear infinite;
}
@keyframes rotate-ab63eeb4 {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
.avatar-glow[data-v-ab63eeb4] {
  position: absolute;
  inset: -20px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea, #764ba2);
  filter: blur(30px);
  opacity: 0.5;
  animation: pulse-ab63eeb4 3s ease-in-out infinite;
}
@keyframes pulse-ab63eeb4 {
0%, 100% { opacity: 0.3; transform: scale(1);
}
50% { opacity: 0.5; transform: scale(1.1);
}
}
.avatar-img[data-v-ab63eeb4] {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 4px solid #1a1a2e;
  background: #1a1a2e;
}
.status-dot[data-v-ab63eeb4] {
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 20px;
  height: 20px;
  background: #22c55e;
  border-radius: 50%;
  border: 3px solid #1a1a2e;
  animation: blink-ab63eeb4 2s ease-in-out infinite;
}
@keyframes blink-ab63eeb4 {
0%, 100% { opacity: 1;
}
50% { opacity: 0.5;
}
}

/* Title */
.title-section[data-v-ab63eeb4] {
  margin-bottom: 2.5rem;
}
.hero-title[data-v-ab63eeb4] {
  font-size: 3.5rem;
  font-weight: 800;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #fff 0%, #a78bfa 50%, #60a5fa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-subtitle[data-v-ab63eeb4] {
  font-size: 1.25rem;
  color: #9ca3af;
  letter-spacing: 0.5px;
}
.char-animate[data-v-ab63eeb4] {
  display: inline-block;
  opacity: 0;
  animation: fadeInChar-ab63eeb4 0.5s ease-out forwards;
}
@keyframes fadeInChar-ab63eeb4 {
from {
    opacity: 0;
    transform: translateY(10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/* CTA Buttons */
.cta-buttons[data-v-ab63eeb4] {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-bottom: 3rem;
}
.btn[data-v-ab63eeb4] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  border-radius: 9999px;
  font-weight: 500;
  font-size: 0.9rem;
  transition: all 0.3s ease;
  cursor: pointer;
  text-decoration: none;
}
.btn-primary[data-v-ab63eeb4] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  box-shadow: 0 4px 20px rgba(102, 126, 234, 0.4);
}
.btn-primary[data-v-ab63eeb4]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(102, 126, 234, 0.5);
}
.btn-secondary[data-v-ab63eeb4] {
  background: rgba(255, 255, 255, 0.05);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.btn-secondary[data-v-ab63eeb4]:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(139, 92, 246, 0.5);
}
.btn-glass[data-v-ab63eeb4] {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(10px);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.btn-glass[data-v-ab63eeb4]:hover {
  background: rgba(255, 255, 255, 0.08);
}
.btn-game[data-v-ab63eeb4] {
  background: linear-gradient(135deg, #8b5cf6 0%, #3b82f6 100%);
  color: white;
  border: none;
  box-shadow: 0 4px 20px rgba(139, 92, 246, 0.4);
}
.btn-game[data-v-ab63eeb4]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(139, 92, 246, 0.6);
}
.btn-lg[data-v-ab63eeb4] {
  padding: 1rem 2rem;
  font-size: 1rem;
}
.btn-icon[data-v-ab63eeb4] {
  width: 1.25rem;
  height: 1.25rem;
  transition: transform 0.3s ease;
}
.btn:hover .btn-icon[data-v-ab63eeb4] {
  transform: translateX(4px);
}
.btn-icon-sm[data-v-ab63eeb4] {
  width: 1rem;
  height: 1rem;
}

/* Scroll Indicator */
.scroll-indicator[data-v-ab63eeb4] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  animation: bounce 2s ease-in-out infinite;
}
.mouse[data-v-ab63eeb4] {
  width: 24px;
  height: 40px;
  border-radius: 12px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  display: flex;
  justify-content: center;
  padding-top: 8px;
}
.wheel[data-v-ab63eeb4] {
  width: 4px;
  height: 8px;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 2px;
  animation: scroll-ab63eeb4 2s ease-in-out infinite;
}
@keyframes scroll-ab63eeb4 {
0%, 100% { transform: translateY(0); opacity: 1;
}
50% { transform: translateY(6px); opacity: 0.5;
}
}
.scroll-indicator span[data-v-ab63eeb4] {
  font-size: 0.75rem;
  color: #6b7280;
}

/* Sections */
.projects-section[data-v-ab63eeb4],
.skills-section[data-v-ab63eeb4],
.stats-section[data-v-ab63eeb4],
.terminal-section[data-v-ab63eeb4] {
  padding: 6rem 0;
  position: relative;
  z-index: 1;
}

/* Glitch Text Effect */
.glitch-text[data-v-ab63eeb4] {
  position: relative;
}
.glitch-text[data-v-ab63eeb4]::before,
.glitch-text[data-v-ab63eeb4]::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.glitch-text[data-v-ab63eeb4]::before {
  left: 2px;
  text-shadow: -2px 0 #ff00ff;
  clip: rect(44px, 450px, 56px, 0);
  animation: glitch-anim-ab63eeb4 5s infinite linear alternate-reverse;
}
.glitch-text[data-v-ab63eeb4]::after {
  left: -2px;
  text-shadow: -2px 0 #00ffff;
  clip: rect(44px, 450px, 56px, 0);
  animation: glitch-anim2-ab63eeb4 5s infinite linear alternate-reverse;
}
@keyframes glitch-anim-ab63eeb4 {
0% { clip: rect(31px, 9999px, 94px, 0);
}
5% { clip: rect(70px, 9999px, 71px, 0);
}
10% { clip: rect(29px, 9999px, 24px, 0);
}
15% { clip: rect(69px, 9999px, 56px, 0);
}
20% { clip: rect(14px, 9999px, 82px, 0);
}
25% { clip: rect(97px, 9999px, 34px, 0);
}
30% { clip: rect(47px, 9999px, 10px, 0);
}
35% { clip: rect(23px, 9999px, 98px, 0);
}
40% { clip: rect(56px, 9999px, 38px, 0);
}
45% { clip: rect(78px, 9999px, 87px, 0);
}
50% { clip: rect(9px, 9999px, 43px, 0);
}
55% { clip: rect(65px, 9999px, 12px, 0);
}
60% { clip: rect(34px, 9999px, 76px, 0);
}
65% { clip: rect(89px, 9999px, 23px, 0);
}
70% { clip: rect(45px, 9999px, 67px, 0);
}
75% { clip: rect(12px, 9999px, 89px, 0);
}
80% { clip: rect(67px, 9999px, 45px, 0);
}
85% { clip: rect(23px, 9999px, 78px, 0);
}
90% { clip: rect(56px, 9999px, 34px, 0);
}
95% { clip: rect(89px, 9999px, 12px, 0);
}
100% { clip: rect(34px, 9999px, 67px, 0);
}
}
@keyframes glitch-anim2-ab63eeb4 {
0% { clip: rect(65px, 9999px, 23px, 0);
}
5% { clip: rect(12px, 9999px, 89px, 0);
}
10% { clip: rect(78px, 9999px, 45px, 0);
}
15% { clip: rect(34px, 9999px, 67px, 0);
}
20% { clip: rect(89px, 9999px, 12px, 0);
}
25% { clip: rect(45px, 9999px, 78px, 0);
}
30% { clip: rect(23px, 9999px, 56px, 0);
}
35% { clip: rect(67px, 9999px, 34px, 0);
}
40% { clip: rect(89px, 9999px, 23px, 0);
}
45% { clip: rect(12px, 9999px, 78px, 0);
}
50% { clip: rect(56px, 9999px, 45px, 0);
}
55% { clip: rect(34px, 9999px, 89px, 0);
}
60% { clip: rect(78px, 9999px, 12px, 0);
}
65% { clip: rect(23px, 9999px, 67px, 0);
}
70% { clip: rect(45px, 9999px, 34px, 0);
}
75% { clip: rect(89px, 9999px, 56px, 0);
}
80% { clip: rect(12px, 9999px, 23px, 0);
}
85% { clip: rect(67px, 9999px, 89px, 0);
}
90% { clip: rect(34px, 9999px, 12px, 0);
}
95% { clip: rect(78px, 9999px, 45px, 0);
}
100% { clip: rect(56px, 9999px, 78px, 0);
}
}
.section-header[data-v-ab63eeb4] {
  text-align: center;
  margin-bottom: 4rem;
}
.section-tag[data-v-ab63eeb4] {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: rgba(139, 92, 246, 0.1);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 9999px;
  font-size: 0.75rem;
  color: #a78bfa;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 1rem;
}
.section-title[data-v-ab63eeb4] {
  font-size: 2.5rem;
  font-weight: 700;
  color: white;
  margin-bottom: 0.5rem;
}
.section-desc[data-v-ab63eeb4] {
  color: #6b7280;
  font-size: 1rem;
}

/* Project Cards */
.projects-grid[data-v-ab63eeb4] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2rem;
  margin-bottom: 3rem;
}
.project-card[data-v-ab63eeb4] {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.5rem;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.4s ease;
}
.project-card[data-v-ab63eeb4]:hover {
  transform: translateY(-8px);
  border-color: rgba(139, 92, 246, 0.3);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}
.card-image[data-v-ab63eeb4] {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
}
.card-image img[data-v-ab63eeb4] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.project-card:hover .card-image img[data-v-ab63eeb4] {
  transform: scale(1.1);
}
.card-overlay[data-v-ab63eeb4] {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.project-card:hover .card-overlay[data-v-ab63eeb4] {
  opacity: 1;
}
.view-btn[data-v-ab63eeb4] {
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
}
.card-content[data-v-ab63eeb4] {
  padding: 1.5rem;
}
.card-category[data-v-ab63eeb4] {
  font-size: 0.75rem;
  color: #a78bfa;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.card-title[data-v-ab63eeb4] {
  font-size: 1.25rem;
  font-weight: 600;
  color: white;
  margin: 0.5rem 0;
}
.card-desc[data-v-ab63eeb4] {
  color: #9ca3af;
  font-size: 0.875rem;
  line-height: 1.5;
}
.section-footer[data-v-ab63eeb4] {
  text-align: center;
}
.link-more[data-v-ab63eeb4] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #a78bfa;
  font-weight: 500;
  transition: all 0.3s ease;
}
.link-more[data-v-ab63eeb4]:hover {
  color: #c4b5fd;
}
.link-icon[data-v-ab63eeb4] {
  width: 1.25rem;
  height: 1.25rem;
  transition: transform 0.3s ease;
}
.link-more:hover .link-icon[data-v-ab63eeb4] {
  transform: translateX(4px);
}

/* Skills */
.skills-grid[data-v-ab63eeb4] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
.skill-tag[data-v-ab63eeb4] {
  padding: 0.75rem 1.5rem;
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 9999px;
  color: #d1d5db;
  font-size: 0.875rem;
  transition: all 0.3s ease;
  animation: fadeInUp-ab63eeb4 0.5s ease-out forwards;
  opacity: 0;
}
@keyframes fadeInUp-ab63eeb4 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.skill-tag[data-v-ab63eeb4]:hover {
  background: rgba(139, 92, 246, 0.1);
  border-color: rgba(139, 92, 246, 0.3);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 0 20px rgba(139, 92, 246, 0.3);
}
.skill-icon[data-v-ab63eeb4] {
  margin-right: 0.5rem;
}

/* Stats Section */
.stats-grid[data-v-ab63eeb4] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
}
.stat-card[data-v-ab63eeb4] {
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 1rem;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.stat-card[data-v-ab63eeb4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #667eea, #764ba2, transparent);
}
.stat-card[data-v-ab63eeb4]:hover {
  transform: translateY(-5px);
  border-color: rgba(139, 92, 246, 0.3);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.stat-value[data-v-ab63eeb4] {
  font-size: 2.5rem;
  font-weight: 800;
  background: linear-gradient(135deg, #667eea, #a78bfa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.stat-suffix[data-v-ab63eeb4] {
  font-size: 1.5rem;
}
.stat-label[data-v-ab63eeb4] {
  color: #6b7280;
  font-size: 0.875rem;
  margin-top: 0.5rem;
}
.stat-bar[data-v-ab63eeb4] {
  margin-top: 1rem;
  height: 3px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
}
.stat-bar-fill[data-v-ab63eeb4] {
  height: 100%;
  background: linear-gradient(90deg, #667eea, #a78bfa);
  border-radius: 2px;
  transition: width 2s ease-out;
}

/* Terminal Section */
.terminal-window[data-v-ab63eeb4] {
  background: rgba(0, 0, 0, 0.85);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow:
    0 20px 60px rgba(0, 0, 0, 0.5),
    0 0 40px rgba(139, 92, 246, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.terminal-header[data-v-ab63eeb4] {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
  padding: 0.875rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.terminal-dots[data-v-ab63eeb4] {
  display: flex;
  gap: 8px;
}
.dot[data-v-ab63eeb4] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transition: transform 0.2s ease;
}
.dot[data-v-ab63eeb4]:hover {
  transform: scale(1.2);
}
.dot.red[data-v-ab63eeb4] { background: linear-gradient(135deg, #ff5f56, #e0443e);
}
.dot.yellow[data-v-ab63eeb4] { background: linear-gradient(135deg, #ffbd2e, #dea123);
}
.dot.green[data-v-ab63eeb4] { background: linear-gradient(135deg, #27ca40, #1aab2d);
}
.terminal-title[data-v-ab63eeb4] {
  color: #6b7280;
  font-size: 0.75rem;
  margin-left: auto;
  font-family: 'SF Mono', 'Fira Code', monospace;
}
.terminal-body[data-v-ab63eeb4] {
  padding: 1.5rem;
  font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
  font-size: 0.9rem;
  line-height: 2;
  min-height: 280px;
}
.terminal-line[data-v-ab63eeb4] {
  margin-bottom: 0.25rem;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s ease;
}
.terminal-line.visible[data-v-ab63eeb4] {
  opacity: 1;
  transform: translateY(0);
}
.prompt[data-v-ab63eeb4] {
  color: #27ca40;
  margin-right: 0.75rem;
  font-weight: 600;
}
.command[data-v-ab63eeb4] {
  color: #667eea;
  font-weight: 500;
}
.terminal-output[data-v-ab63eeb4] {
  color: #9ca3af;
  margin-left: 1.5rem;
  margin-bottom: 1rem;
  opacity: 0;
  transform: translateX(-10px);
  transition: all 0.4s ease;
}
.terminal-output.visible[data-v-ab63eeb4] {
  opacity: 1;
  transform: translateX(0);
}
.output-highlight[data-v-ab63eeb4] {
  color: #f472b6;
  font-weight: 600;
}
.skills-output[data-v-ab63eeb4] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.skill-chip[data-v-ab63eeb4] {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: rgba(139, 92, 246, 0.15);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 9999px;
  color: #c4b5fd;
  font-size: 0.8rem;
  opacity: 0;
  transform: scale(0.8);
  animation: popIn-ab63eeb4 0.3s ease forwards;
}
@keyframes popIn-ab63eeb4 {
to {
    opacity: 1;
    transform: scale(1);
}
}
.cursor-blink[data-v-ab63eeb4] {
  color: #667eea;
  animation: blink-cursor 0.8s infinite;
  font-weight: 300;
}

/* Card Shine Effect */
.card-shine[data-v-ab63eeb4] {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 40%,
    rgba(255, 255, 255, 0.05) 45%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(255, 255, 255, 0.05) 55%,
    transparent 60%
  );
  transform: translateX(-100%);
  transition: transform 0.6s ease;
  pointer-events: none;
  z-index: 10;
}
.project-card:hover .card-shine[data-v-ab63eeb4] {
  transform: translateX(100%);
}

/* CTA Section */
.cta-section[data-v-ab63eeb4] {
  padding: 6rem 1.5rem;
  position: relative;
  z-index: 1;
}
.cta-card[data-v-ab63eeb4] {
  max-width: 800px;
  margin: 0 auto;
  padding: 4rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1), rgba(118, 75, 162, 0.1));
  backdrop-filter: blur(20px);
  border: 1px solid rgba(139, 92, 246, 0.2);
  border-radius: 2rem;
  text-align: center;
}
.cta-title[data-v-ab63eeb4] {
  font-size: 2rem;
  font-weight: 700;
  color: white;
  margin-bottom: 1rem;
}
.cta-desc[data-v-ab63eeb4] {
  color: #9ca3af;
  margin-bottom: 2rem;
}

/* Responsive */
@media (max-width: 768px) {
.hero-title[data-v-ab63eeb4] {
    font-size: 2.5rem;
}
.hero-subtitle[data-v-ab63eeb4] {
    font-size: 1rem;
}
.cta-buttons[data-v-ab63eeb4] {
    flex-direction: column;
    align-items: center;
}
.btn[data-v-ab63eeb4] {
    width: 100%;
    max-width: 280px;
    justify-content: center;
}
.section-title[data-v-ab63eeb4] {
    font-size: 2rem;
}
.cta-card[data-v-ab63eeb4] {
    padding: 2rem;
}
.cta-title[data-v-ab63eeb4] {
    font-size: 1.5rem;
}
}

/* 游戏预加载对话框 */
.dialog-overlay[data-v-ab63eeb4] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  animation: fadeIn-ab63eeb4 0.2s ease-out;
}
@keyframes fadeIn-ab63eeb4 {
from { opacity: 0;
}
to { opacity: 1;
}
}
.dialog-content[data-v-ab63eeb4] {
  background: linear-gradient(135deg, rgba(30, 30, 46, 0.98) 0%, rgba(15, 15, 26, 0.98) 100%);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 1.5rem;
  padding: 2.5rem;
  max-width: 480px;
  margin: 1.5rem;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5), 0 0 40px rgba(139, 92, 246, 0.2);
  animation: slideUp-ab63eeb4 0.3s ease-out;
}
@keyframes slideUp-ab63eeb4 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.dialog-title[data-v-ab63eeb4] {
  font-size: 1.5rem;
  font-weight: 700;
  color: white;
  margin-bottom: 1rem;
  text-align: center;
}
.dialog-text[data-v-ab63eeb4] {
  color: #9ca3af;
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  text-align: center;
}
.dialog-buttons[data-v-ab63eeb4] {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.dialog-btn[data-v-ab63eeb4] {
  padding: 0.875rem 1.5rem;
  border-radius: 0.75rem;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
}
.dialog-btn.primary[data-v-ab63eeb4] {
  background: linear-gradient(135deg, #8b5cf6 0%, #3b82f6 100%);
  color: white;
  box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4);
}
.dialog-btn.primary[data-v-ab63eeb4]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(139, 92, 246, 0.5);
}
.dialog-btn.primary[data-v-ab63eeb4]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.dialog-btn.secondary[data-v-ab63eeb4] {
  background: rgba(255, 255, 255, 0.05);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.dialog-btn.secondary[data-v-ab63eeb4]:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(139, 92, 246, 0.5);
}
.progress-bar[data-v-ab63eeb4] {
  margin-top: 1.5rem;
  height: 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 9999px;
  overflow: hidden;
}
.progress-fill[data-v-ab63eeb4] {
  height: 100%;
  background: linear-gradient(90deg, #8b5cf6, #3b82f6);
  border-radius: 9999px;
  transition: width 0.3s ease;
}
.progress-text[data-v-ab63eeb4] {
  margin-top: 0.75rem;
  color: #9ca3af;
  font-size: 0.85rem;
  text-align: center;
}
@media (min-width: 640px) {
.dialog-buttons[data-v-ab63eeb4] {
    flex-direction: row;
    justify-content: center;
}
.dialog-btn[data-v-ab63eeb4] {
    min-width: 140px;
}
}

.about-page[data-v-8f7b9695] {
  min-height: 100vh;
  background: linear-gradient(135deg, #0a0a0f 0%, #1a1a2e 50%, #0f0f1a 100%);
  position: relative;
  overflow: hidden;
}

/* 背景装饰 */
.bg-decoration[data-v-8f7b9695] {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.glow-orb[data-v-8f7b9695] {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.3;
}
.orb-1[data-v-8f7b9695] {
  width: 400px;
  height: 400px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  top: -100px;
  right: -100px;
  animation: float-8f7b9695 20s ease-in-out infinite;
}
.orb-2[data-v-8f7b9695] {
  width: 300px;
  height: 300px;
  background: linear-gradient(135deg, #f093fb, #f5576c);
  bottom: 20%;
  left: -50px;
  animation: float-8f7b9695 15s ease-in-out infinite reverse;
}
.grid-overlay[data-v-8f7b9695] {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 60px 60px;
}
@keyframes float-8f7b9695 {
0%, 100% { transform: translate(0, 0) scale(1);
}
50% { transform: translate(30px, -30px) scale(1.1);
}
}

/* 玻璃卡片 */
.glass-card[data-v-8f7b9695] {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  transition: all 0.4s ease;
}
.glass-card[data-v-8f7b9695]:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(139, 92, 246, 0.2);
}

/* Avatar */
.avatar-container[data-v-8f7b9695] {
  position: relative;
  width: 160px;
  height: 160px;
  margin: 0 auto;
}
.avatar-ring[data-v-8f7b9695] {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea, #764ba2, #f093fb, #667eea);
  background-size: 300% 300%;
  animation: gradient-rotate-8f7b9695 4s ease infinite;
  padding: 4px;
}
.avatar-img[data-v-8f7b9695] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  background: #1a1a2e;
}
.avatar-glow[data-v-8f7b9695] {
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea, #764ba2);
  filter: blur(30px);
  opacity: 0.4;
  z-index: -1;
  animation: pulse-glow-8f7b9695 3s ease-in-out infinite;
}
@keyframes gradient-rotate-8f7b9695 {
0%, 100% { background-position: 0% 50%;
}
50% { background-position: 100% 50%;
}
}
@keyframes pulse-glow-8f7b9695 {
0%, 100% { opacity: 0.4; transform: scale(1);
}
50% { opacity: 0.6; transform: scale(1.05);
}
}

/* Timeline */
.timeline-container[data-v-8f7b9695] {
  position: relative;
}
.timeline-item[data-v-8f7b9695] {
  display: flex;
  gap: 24px;
  margin-bottom: 24px;
  animation: fadeInUp-8f7b9695 0.6s ease-out forwards;
  opacity: 0;
}
.timeline-marker[data-v-8f7b9695] {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}
.marker-dot[data-v-8f7b9695] {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea, #764ba2);
  box-shadow: 0 0 20px rgba(102, 126, 234, 0.5);
  flex-shrink: 0;
}
.marker-line[data-v-8f7b9695] {
  width: 2px;
  flex: 1;
  background: linear-gradient(to bottom, rgba(102, 126, 234, 0.5), transparent);
  margin-top: 8px;
}
.timeline-item:last-child .marker-line[data-v-8f7b9695] {
  display: none;
}
.timeline-content[data-v-8f7b9695] {
  flex: 1;
  margin-bottom: 0;
}
.timeline-content[data-v-8f7b9695]:hover {
  transform: translateX(8px);
  border-color: rgba(139, 92, 246, 0.3);
}
@keyframes fadeInUp-8f7b9695 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/* Skills */
.skill-tag[data-v-8f7b9695] {
  background: rgba(139, 92, 246, 0.1);
  border: 1px solid rgba(139, 92, 246, 0.2);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  color: #c4b5fd;
  transition: all 0.3s ease;
}
.skill-tag[data-v-8f7b9695]:hover {
  background: rgba(139, 92, 246, 0.2);
  border-color: rgba(139, 92, 246, 0.4);
  color: #fff;
}

/* Contact Button */
.contact-btn[data-v-8f7b9695] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: white;
  padding: 12px 24px;
  border-radius: 50px;
  font-weight: 500;
  transition: all 0.3s ease;
  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
.contact-btn[data-v-8f7b9695]:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px -10px currentColor;
}

/* Story Content */
.story-content p[data-v-8f7b9695] {
  position: relative;
  padding-left: 16px;
}
.story-content p[data-v-8f7b9695]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea, #764ba2);
}

/* Philosophy */
.phosophy-section[data-v-8f7b9695] {
  position: relative;
}

/* Hero Section */
.hero-section[data-v-8f7b9695] {
  position: relative;
}

.projects-page[data-v-4144e6fc] {
  min-height: 100vh;
  background: linear-gradient(135deg, #1a1a2e 0%, #2a2a3e 100%);
}

.blog-page[data-v-85f9eeef] {
  min-height: 100vh;
  background: linear-gradient(135deg, #0a0a0f 0%, #1a1a2e 50%, #0f0f1a 100%);
  position: relative;
  overflow: hidden;
}

/* 背景装饰 */
.bg-decoration[data-v-85f9eeef] {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.glow-orb[data-v-85f9eeef] {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.3;
}
.orb-1[data-v-85f9eeef] {
  width: 400px;
  height: 400px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  top: -100px;
  right: -100px;
  animation: float-85f9eeef 20s ease-in-out infinite;
}
.orb-2[data-v-85f9eeef] {
  width: 300px;
  height: 300px;
  background: linear-gradient(135deg, #f093fb, #f5576c);
  bottom: 20%;
  left: -50px;
  animation: float-85f9eeef 15s ease-in-out infinite reverse;
}
.grid-overlay[data-v-85f9eeef] {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 60px 60px;
}
@keyframes float-85f9eeef {
0%, 100% { transform: translate(0, 0) scale(1);
}
50% { transform: translate(30px, -30px) scale(1.1);
}
}

/* 玻璃卡片 */
.glass-card[data-v-85f9eeef] {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  transition: all 0.4s ease;
}
.glass-card[data-v-85f9eeef]:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(139, 92, 246, 0.3);
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 60px rgba(139, 92, 246, 0.1);
  transform: translateY(-4px);
}

/* 特色文章 */
.featured-post .glass-card[data-v-85f9eeef]:hover {
  transform: translateY(-8px);
}

/* 文章卡片动画 */
.post-card[data-v-85f9eeef] {
  animation: fadeInUp-85f9eeef 0.6s ease-out forwards;
  opacity: 0;
}
@keyframes fadeInUp-85f9eeef {
from {
    opacity: 0;
    transform: translateY(30px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/* 行数限制 */
.line-clamp-2[data-v-85f9eeef] {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-3[data-v-85f9eeef] {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Modal 动画 */
.modal-enter-active[data-v-85f9eeef],
.modal-leave-active[data-v-85f9eeef] {
  transition: all 0.3s ease;
}
.modal-enter-from[data-v-85f9eeef],
.modal-leave-to[data-v-85f9eeef] {
  opacity: 0;
}
.modal-enter-from .modal-content[data-v-85f9eeef],
.modal-leave-to .modal-content[data-v-85f9eeef] {
  transform: scale(0.95) translateY(20px);
}

/* 文章内容样式 */
.article-content[data-v-85f9eeef] p {
  color: #d1d5db;
  line-height: 1.9;
  margin-bottom: 1.5rem;
  font-size: 1.05rem;
}
.article-content[data-v-85f9eeef] p:first-of-type {
  font-size: 1.15rem;
  color: #e5e7eb;
}
.article-content[data-v-85f9eeef] .signature {
  text-align: right;
  color: #9ca3af;
  font-style: italic;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.shop-page[data-v-82077832] { background: transparent;
}
.service-card[data-v-82077832]:hover { transform: translateY(-4px);
}

.templates-page[data-v-c2eab7bd] {
  min-height: 100vh;
  background: linear-gradient(135deg, #0a0a0f 0%, #1a1a2e 100%);
}

/* UI Showcase Entry */
.ui-showcase-entry[data-v-c2eab7bd] {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  padding: 1.5rem 2rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.15) 0%, rgba(167, 139, 250, 0.1) 50%, rgba(244, 114, 182, 0.1) 100%);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 20px;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  backdrop-filter: blur(10px);
}
.ui-showcase-entry[data-v-c2eab7bd]:hover {
  transform: translateY(-4px);
  border-color: rgba(139, 92, 246, 0.6);
  box-shadow:
    0 20px 60px rgba(139, 92, 246, 0.25),
    0 0 40px rgba(139, 92, 246, 0.1);
}
.entry-content[data-v-c2eab7bd] {
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  z-index: 2;
}
.entry-icon[data-v-c2eab7bd] {
  font-size: 2.5rem;
  filter: drop-shadow(0 0 10px rgba(167, 139, 250, 0.5));
}
.entry-text[data-v-c2eab7bd] {
  flex: 1;
}
.entry-title[data-v-c2eab7bd] {
  font-size: 1.5rem;
  font-weight: 700;
  background: linear-gradient(135deg, #667eea 0%, #a78bfa 50%, #f472b6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.25rem;
}
.entry-desc[data-v-c2eab7bd] {
  font-size: 0.875rem;
  color: #9ca3af;
}
.entry-arrow[data-v-c2eab7bd] {
  width: 1.5rem;
  height: 1.5rem;
  color: #a78bfa;
  transition: transform 0.3s ease;
}
.ui-showcase-entry:hover .entry-arrow[data-v-c2eab7bd] {
  transform: translateX(8px);
}
.entry-decoration[data-v-c2eab7bd] {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.floating-shape[data-v-c2eab7bd] {
  position: absolute;
  border-radius: 50%;
  filter: blur(40px);
  opacity: 0.5;
  animation: float-c2eab7bd 6s ease-in-out infinite;
}
.shape-1[data-v-c2eab7bd] {
  width: 100px;
  height: 100px;
  background: #667eea;
  top: -20px;
  right: -20px;
  animation-delay: 0s;
}
.shape-2[data-v-c2eab7bd] {
  width: 80px;
  height: 80px;
  background: #a78bfa;
  bottom: -10px;
  left: 10%;
  animation-delay: 2s;
}
.shape-3[data-v-c2eab7bd] {
  width: 60px;
  height: 60px;
  background: #f472b6;
  top: 50%;
  left: 60%;
  animation-delay: 4s;
}
@keyframes float-c2eab7bd {
0%, 100% { transform: translate(0, 0) scale(1);
}
50% { transform: translate(20px, -20px) scale(1.1);
}
}
.template-card[data-v-c2eab7bd] {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}
.template-card[data-v-c2eab7bd]:hover {
  transform: translateY(-8px);
  border-color: rgba(139, 92, 246, 0.5);
  box-shadow: 0 20px 40px rgba(139, 92, 246, 0.2);
}
.card-image-wrapper[data-v-c2eab7bd] {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
}
.card-image[data-v-c2eab7bd] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}
.template-card:hover .card-image[data-v-c2eab7bd] {
  transform: scale(1.05);
}
.template-icon[data-v-c2eab7bd] {
  font-size: 48px;
}
.card-overlay[data-v-c2eab7bd] {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.template-card:hover .card-overlay[data-v-c2eab7bd] {
  opacity: 1;
}
.view-btn[data-v-c2eab7bd] {
  padding: 10px 24px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
}
.card-content[data-v-c2eab7bd] {
  padding: 20px;
}
.card-title[data-v-c2eab7bd] {
  font-size: 18px;
  font-weight: 600;
  color: white;
  margin-bottom: 8px;
}
.card-desc[data-v-c2eab7bd] {
  font-size: 14px;
  color: #9ca3af;
  line-height: 1.5;
  margin-bottom: 12px;
}
.card-tags[data-v-c2eab7bd] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.tag[data-v-c2eab7bd] {
  font-size: 12px;
  padding: 4px 10px;
  background: rgba(139, 92, 246, 0.2);
  color: #a78bfa;
  border-radius: 12px;
}

.ui-showcase[data-v-4883ae6b] {
  min-height: 100vh;
  background: linear-gradient(135deg, #0a0a0f 0%, #1a1a2e 50%, #0f0f1a 100%);
  padding: 4rem 1.5rem;
  position: relative;
}

/* 头部 */
.showcase-header[data-v-4883ae6b] {
  text-align: center;
  margin-bottom: 3rem;
}
.title[data-v-4883ae6b] {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
}
.gradient-text[data-v-4883ae6b] {
  background: linear-gradient(135deg, #667eea 0%, #a78bfa 50%, #f472b6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.subtitle[data-v-4883ae6b] {
  color: #6b7280;
  font-size: 1.1rem;
  letter-spacing: 2px;
}

/* 组件网格 */
.components-grid[data-v-4883ae6b] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}
.component-card[data-v-4883ae6b] {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
}
.component-card[data-v-4883ae6b]:hover {
  border-color: rgba(139, 92, 246, 0.3);
  box-shadow: 0 10px 40px rgba(139, 92, 246, 0.15);
}
.card-header[data-v-4883ae6b] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  background: rgba(255, 255, 255, 0.02);
  flex-wrap: wrap;
}
.card-icon[data-v-4883ae6b] {
  font-size: 1.25rem;
}
.card-title[data-v-4883ae6b] {
  font-size: 0.9rem;
  font-weight: 600;
  color: #e5e7eb;
}
.card-hint[data-v-4883ae6b] {
  font-size: 0.7rem;
  color: #a78bfa;
  background: rgba(139, 92, 246, 0.2);
  padding: 2px 8px;
  border-radius: 12px;
  margin-left: auto;
}
.card-body[data-v-4883ae6b] {
  padding: 1.5rem;
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 1. 磁吸按钮 */
.magnet-container[data-v-4883ae6b] {
  width: 100%;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.magnet-btn[data-v-4883ae6b] {
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  color: white;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: transform 0.15s ease-out;
  box-shadow: 0 4px 20px rgba(102, 126, 234, 0.4);
}

/* 2. 3D 翻转表单 */
.flip-container[data-v-4883ae6b] {
  width: 100%;
  height: 280px;
  perspective: 1200px;
}
.flipper[data-v-4883ae6b] {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.flip-container.flipped .flipper[data-v-4883ae6b] {
  transform: rotateY(180deg) rotateX(10deg);
}
.front[data-v-4883ae6b], .back[data-v-4883ae6b] {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.back[data-v-4883ae6b] {
  transform: rotateY(180deg);
}
.form-card[data-v-4883ae6b] {
  width: 85%;
  padding: 1.25rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  backdrop-filter: blur(20px);
  box-shadow:
    0 25px 80px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 60px rgba(139, 92, 246, 0.1);
  position: relative;
  overflow: hidden;
}
.form-card[data-v-4883ae6b]::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: conic-gradient(from 0deg, transparent, rgba(139, 92, 246, 0.1), transparent 30deg);
  animation: borderRotate-4883ae6b 8s linear infinite;
  pointer-events: none;
}
@keyframes borderRotate-4883ae6b {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
.form-decoration[data-v-4883ae6b] {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.glow-orb[data-v-4883ae6b] {
  position: absolute;
  border-radius: 50%;
  filter: blur(50px);
  opacity: 0.35;
  animation: orbFloat-4883ae6b 8s ease-in-out infinite;
}
.orb-1[data-v-4883ae6b] {
  width: 100px;
  height: 100px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  top: -40px;
  right: -40px;
  animation-delay: 0s;
}
.orb-2[data-v-4883ae6b] {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #f093fb, #f5576c);
  bottom: -30px;
  left: -30px;
  animation-delay: 4s;
}
.orb-3[data-v-4883ae6b] {
  width: 90px;
  height: 90px;
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  top: 50%;
  left: -40px;
  animation-delay: 2s;
}
.orb-4[data-v-4883ae6b] {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #a78bfa, #c4b5fd);
  bottom: -30px;
  right: 40%;
  animation-delay: 6s;
}
@keyframes orbFloat-4883ae6b {
0%, 100% { transform: translate(0, 0) scale(1);
}
50% { transform: translate(30px, -30px) scale(1.1);
}
}
.form-icon[data-v-4883ae6b] {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 0.5rem;
  filter: drop-shadow(0 0 15px rgba(139, 92, 246, 0.5));
  animation: iconPulse-4883ae6b 2s ease-in-out infinite;
}
@keyframes iconPulse-4883ae6b {
0%, 100% { transform: scale(1) rotate(0deg);
}
50% { transform: scale(1.1) rotate(10deg);
}
}
.form-card h3[data-v-4883ae6b] {
  font-size: 1.2rem;
  font-weight: 700;
  color: white;
  margin-bottom: 1rem;
  text-align: center;
  background: linear-gradient(135deg, #fff 0%, #a78bfa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.5px;
}
.form-input[data-v-4883ae6b] {
  width: 100%;
  padding: 0.7rem 0.875rem;
  margin-bottom: 0.7rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  color: white;
  font-size: 0.85rem;
  transition: all 0.3s ease;
}
.form-input[data-v-4883ae6b]:focus {
  outline: none;
  border-color: #a78bfa;
  background: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 0 0 3px rgba(167, 139, 250, 0.1),
    0 0 20px rgba(167, 139, 250, 0.15);
  transform: translateY(-1px);
}
.form-input[data-v-4883ae6b]::-moz-placeholder {
  color: #6b7280;
}
.form-input[data-v-4883ae6b]::placeholder {
  color: #6b7280;
}
.submit-btn[data-v-4883ae6b] {
  width: 100%;
  padding: 0.7rem;
  margin-top: 0.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  position: relative;
  overflow: hidden;
}
.submit-btn[data-v-4883ae6b]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}
.submit-btn[data-v-4883ae6b]:hover::before {
  left: 100%;
}
.submit-btn[data-v-4883ae6b]:hover {
  transform: translateY(-2px);
  box-shadow:
    0 8px 25px rgba(102, 126, 234, 0.4),
    0 0 30px rgba(102, 126, 234, 0.2);
}
.submit-btn[data-v-4883ae6b]:active {
  transform: translateY(-1px);
}
.btn-arrow[data-v-4883ae6b] {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}
.submit-btn:hover .btn-arrow[data-v-4883ae6b] {
  transform: translateX(4px);
}
.form-tip[data-v-4883ae6b] {
  text-align: center;
  margin-top: 1rem;
  font-size: 0.75rem;
  color: #6b7280;
}
.form-tip .link[data-v-4883ae6b] {
  color: #a78bfa;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.3s ease;
  position: relative;
}
.form-tip .link[data-v-4883ae6b]::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #a78bfa;
  transition: width 0.3s ease;
}
.form-tip .link[data-v-4883ae6b]:hover::after {
  width: 100%;
}

/* 3. 液态进度条 */
.progress-section[data-v-4883ae6b] {
  width: 100%;
}
.liquid-progress[data-v-4883ae6b] {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.1);
  position: relative;
  overflow: hidden;
  margin: 0 auto 1rem;
}
.liquid-fill[data-v-4883ae6b] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
  transition: height 0.3s ease;
}
.liquid-fill[data-v-4883ae6b]::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: 20px;
  background: rgba(255, 255, 255, 0.2);
  filter: blur(8px);
}
.wave[data-v-4883ae6b] {
  position: absolute;
  width: 200%;
  height: 40px;
  background: transparent;
  border: 3px solid rgba(255, 255, 255, 0.4);
  border-radius: 45%;
  animation: wave-4883ae6b 4s linear infinite;
  left: -50%;
  top: -5px;
  opacity: 0.6;
}
.wave-1[data-v-4883ae6b] { animation-delay: 0s; animation-duration: 4s;
}
.wave-2[data-v-4883ae6b] { animation-delay: -1.3s; animation-duration: 4.5s; opacity: 0.4;
}
.wave-3[data-v-4883ae6b] { animation-delay: -2.6s; animation-duration: 5s; opacity: 0.3;
}
@keyframes wave-4883ae6b {
0% { transform: translateX(0) rotate(0deg);
}
50% { transform: translateX(25%) rotate(180deg);
}
100% { transform: translateX(50%) rotate(360deg);
}
}
.progress-text[data-v-4883ae6b] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1rem;
  font-weight: 700;
  color: white;
  z-index: 10;
}
.slider[data-v-4883ae6b] {
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.1);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
.slider[data-v-4883ae6b]::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.4);
}

/* 4. 粒子按钮 */
.particle-btn-container[data-v-4883ae6b] {
  position: relative;
  width: 100%;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.particle-btn[data-v-4883ae6b] {
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  color: white;
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  border: none;
  border-radius: 12px;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(245, 87, 108, 0.4);
}
.particle[data-v-4883ae6b] {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  pointer-events: none;
  animation: explode-4883ae6b 0.6s ease-out forwards;
  --tx: 0;
  --ty: 0;
}
@keyframes explode-4883ae6b {
0% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
}
100% {
    transform: translate(var(--tx), var(--ty)) scale(0);
    opacity: 0;
}
}

/* 5. 波纹按钮 */
.ripple-btn[data-v-4883ae6b] {
  position: relative;
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  color: white;
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  border: none;
  border-radius: 12px;
  cursor: pointer;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(79, 172, 254, 0.4);
}
.ripple[data-v-4883ae6b] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  transform: scale(0);
  animation: rippleAnim-4883ae6b 0.8s ease-out forwards;
  pointer-events: none;
  width: 20px;
  height: 20px;
  margin-left: -10px;
  margin-top: -10px;
}
@keyframes rippleAnim-4883ae6b {
to {
    transform: scale(15);
    opacity: 0;
}
}

/* 6. 光标追踪卡片 */
.tracker-card[data-v-4883ae6b] {
  width: 100%;
  height: 120px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  position: relative;
  overflow: hidden;
  cursor: crosshair;
}
.tracker-glow[data-v-4883ae6b] {
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.4) 0%, rgba(139, 92, 246, 0.1) 40%, transparent 70%);
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
  z-index: 1;
}
.tracker-content[data-v-4883ae6b] {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #9ca3af;
  font-size: 0.85rem;
}

/* 7. 玻璃态卡片 */
.glass-card[data-v-4883ae6b] {
  width: 140px;
  height: 80px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.02) 100%);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.glass-content[data-v-4883ae6b] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.glass-icon[data-v-4883ae6b] {
  font-size: 1.5rem;
}
.glass-text[data-v-4883ae6b] {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
}

/* 8. 弹性开关 */
.toggle-container[data-v-4883ae6b] {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.toggle[data-v-4883ae6b] {
  width: 60px;
  height: 32px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  position: relative;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.toggle.active[data-v-4883ae6b] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.toggle-slider[data-v-4883ae6b] {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 24px;
  height: 24px;
  background: white;
  border-radius: 50%;
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.toggle.active .toggle-slider[data-v-4883ae6b] {
  transform: translateX(28px);
}
.toggle-status[data-v-4883ae6b] {
  font-size: 0.9rem;
  font-weight: 700;
  color: #a78bfa;
  min-width: 30px;
}

/* 9. 浮动标签输入框 */
.input-group[data-v-4883ae6b] {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.floating-input[data-v-4883ae6b] {
  position: relative;
  width: 100%;
  padding-top: 0.5rem;
}
.floating-input input[data-v-4883ae6b] {
  width: 100%;
  padding: 1.25rem 0.75rem 0.5rem;
  font-size: 1rem;
  color: #fff;
  background: rgba(255, 255, 255, 0.03);
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  outline: none;
  transition: all 0.3s ease;
  box-sizing: border-box;
}
.floating-input input[data-v-4883ae6b]:focus {
  background: rgba(255, 255, 255, 0.05);
  border-color: #a78bfa;
  box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.15);
  transform: translateY(-2px);
}
.floating-input label[data-v-4883ae6b] {
  position: absolute;
  left: 0.75rem;
  top: 1.1rem;
  font-size: 0.95rem;
  color: #6b7280;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: left center;
}

/* 输入框聚焦或有值时，标签上浮 */
.floating-input input:not(:-moz-placeholder) ~ label[data-v-4883ae6b] {
  top: -0.6rem;
  font-size: 0.75rem;
  color: #a78bfa;
  font-weight: 600;
}
.floating-input input:focus ~ label[data-v-4883ae6b],
.floating-input input:not(:placeholder-shown) ~ label[data-v-4883ae6b] {
  top: -0.6rem;
  font-size: 0.75rem;
  color: #a78bfa;
  font-weight: 600;
}
.input-line[data-v-4883ae6b] {
  position: absolute;
  bottom: 8px;
  left: 50%;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #667eea, #a78bfa, #764ba2, transparent);
  border-radius: 2px;
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateX(-50%);
}
.floating-input input:focus ~ .input-line[data-v-4883ae6b] {
  width: calc(100% - 1.5rem);
}
.input-hint[data-v-4883ae6b] {
  font-size: 0.8rem;
  color: #a78bfa;
  text-align: right;
  font-weight: 500;
}

/* 10. 旋转渐变边框 */
.gradient-border-btn[data-v-4883ae6b] {
  position: relative;
  padding: 1rem 2rem;
  background: #1a1a2e;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
}
.gradient-bg[data-v-4883ae6b] {
  position: absolute;
  inset: -2px;
  background: conic-gradient(from 0deg, transparent 0deg, #667eea 90deg, #a78bfa 180deg, #f472b6 270deg, transparent 360deg);
  border-radius: 12px;
  animation: rotate-4883ae6b 3s linear infinite;
  z-index: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.gradient-border-btn:hover .gradient-bg[data-v-4883ae6b] {
  opacity: 1;
}
@keyframes rotate-4883ae6b {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
.btn-text[data-v-4883ae6b] {
  position: relative;
  z-index: 1;
  color: white;
  font-weight: 600;
}

/* 11. 悬浮卡片组 */
.card-stack[data-v-4883ae6b] {
  position: relative;
  width: 100%;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1000px;
}
.card-indicator[data-v-4883ae6b] {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 1rem;
}
.card-indicator span[data-v-4883ae6b] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(139, 92, 246, 0.3);
  transition: all 0.3s ease;
}
.card-indicator span.active[data-v-4883ae6b] {
  background: linear-gradient(135deg, #667eea 0%, #a78bfa 100%);
  width: 24px;
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(167, 139, 250, 0.5);
}
.stack-card[data-v-4883ae6b] {
  position: absolute;
  width: 140px;
  height: 80px;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.25) 0%, rgba(167, 139, 250, 0.25) 100%);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e5e7eb;
  font-weight: 600;
  font-size: 1rem;
  transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  cursor: pointer;
  backdrop-filter: blur(10px);
}
.stack-card span[data-v-4883ae6b] {
  position: relative;
  z-index: 2;
}
.stack-card[data-v-4883ae6b]::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, transparent 50%, rgba(255,255,255,0.05) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.stack-card.active[data-v-4883ae6b]::before {
  opacity: 1;
}
.stack-card.active[data-v-4883ae6b] {
  border-color: rgba(139, 92, 246, 0.9);
  box-shadow:
    0 25px 80px rgba(139, 92, 246, 0.5),
    0 0 60px rgba(139, 92, 246, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* 12. 加载动画 */
.loader-container[data-v-4883ae6b] {
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dot-loader[data-v-4883ae6b] {
  display: flex;
  gap: 8px;
}
.dot[data-v-4883ae6b] {
  width: 12px;
  height: 12px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  animation: bounce-4883ae6b 1.4s ease-in-out infinite both;
}
.dot[data-v-4883ae6b]:nth-child(1) { animation-delay: -0.32s;
}
.dot[data-v-4883ae6b]:nth-child(2) { animation-delay: -0.16s;
}
.dot[data-v-4883ae6b]:nth-child(3) {
}
@keyframes bounce-4883ae6b {
0%, 80%, 100% {
    transform: scale(0);
}
40% {
    transform: scale(1);
}
}

/* 底部 */
.showcase-footer[data-v-4883ae6b] {
  text-align: center;
  padding: 3rem 0;
  margin-top: 2rem;
}
.showcase-footer p[data-v-4883ae6b] {
  color: #6b7280;
  font-size: 0.9rem;
}

/* 响应式 */
@media (max-width: 768px) {
.title[data-v-4883ae6b] {
    font-size: 2rem;
}
.components-grid[data-v-4883ae6b] {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
}

.deploy-page[data-v-7d7aacf0] {
  min-height: 100vh;
  background: linear-gradient(135deg, #1a1a2e 0%, #2a2a3e 100%);
  animation: fadeIn-7d7aacf0 0.5s ease;
}
@keyframes fadeIn-7d7aacf0 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.prose[data-v-7d7aacf0] h3 {
  color: #ffffff;
  margin-top: 1.5em;
}
.prose[data-v-7d7aacf0] code {
  font-family: 'JetBrains Mono', monospace;
}

.build-page[data-v-f5d4c21b] {
  min-height: 100vh;
  background: linear-gradient(135deg, #0a0a0f 0%, #1a1a2e 50%, #2a2a3e 100%);
  animation: fadeIn-f5d4c21b 0.5s ease;
}
@keyframes fadeIn-f5d4c21b {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.prose[data-v-f5d4c21b] h3 {
  color: #ffffff;
  margin-top: 1.5em;
}
.prose[data-v-f5d4c21b] code {
  font-family: 'JetBrains Mono', monospace;
}

/* 手机端优化 */
@media (max-width: 768px) {
.build-page > div[data-v-f5d4c21b] {
    padding-left: 20px;
    padding-right: 20px;
}
}

.contact-page[data-v-7ed37f75] {
  min-height: 100vh;
  background: linear-gradient(135deg, #0a0a0f 0%, #0f1a15 50%, #0a0f0d 100%);
  position: relative;
  overflow: hidden;
}

/* 粒子背景 */
.particles-container[data-v-7ed37f75] {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.particle[data-v-7ed37f75] {
  position: absolute;
  border-radius: 50%;
  animation: particleFloat-7ed37f75 linear infinite;
  opacity: 0.5;
}
@keyframes particleFloat-7ed37f75 {
0%, 100% { transform: translate(0, 0); opacity: 0.3;
}
50% { transform: translate(20px, -30px); opacity: 0.7;
}
}

/* 鼠标光晕 */
.cursor-glow[data-v-7ed37f75] {
  position: fixed;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(34, 197, 94, 0.1) 0%, transparent 70%);
  pointer-events: none;
  z-index: 2;
  transform: translate(-50%, -50%);
  transition: transform 0.1s ease-out;
}

/* 背景装饰 */
.bg-decoration[data-v-7ed37f75] {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.glow-orb[data-v-7ed37f75] {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.3;
}
.orb-1[data-v-7ed37f75] {
  width: 400px;
  height: 400px;
  background: linear-gradient(135deg, #22c55e, #10b981);
  top: -100px;
  right: -100px;
  animation: float-7ed37f75 25s ease-in-out infinite;
}
.orb-2[data-v-7ed37f75] {
  width: 300px;
  height: 300px;
  background: linear-gradient(135deg, #34d399, #6ee7b7);
  bottom: -50px;
  left: -50px;
  animation: float-7ed37f75 20s ease-in-out infinite reverse;
}
@keyframes float-7ed37f75 {
0%, 100% { transform: translate(0, 0) scale(1);
}
50% { transform: translate(30px, -30px) scale(1.1);
}
}

/* Header */
.contact-icon-wrapper[data-v-7ed37f75] {
  position: relative;
  width: 80px;
  height: 80px;
  margin: 0 auto;
}
.contact-icon-ring[data-v-7ed37f75] {
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  background: linear-gradient(135deg, #22c55e, #10b981, #34d399);
  animation: rotate-7ed37f75 4s linear infinite;
}
@keyframes rotate-7ed37f75 {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
.contact-icon[data-v-7ed37f75] {
  position: relative;
  width: 100%;
  height: 100%;
  background: #0f1a15;
  border-radius: 50%;
  padding: 20px;
  color: #22c55e;
}
.contact-title[data-v-7ed37f75] {
  position: relative;
}
.title-gradient[data-v-7ed37f75] {
  background: linear-gradient(135deg, #fff 0%, #22c55e 50%, #34d399 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Contact Cards */
.contact-card[data-v-7ed37f75] {
  position: relative;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 1.25rem;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.contact-card[data-v-7ed37f75]:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.1);
}
.contact-card.copied[data-v-7ed37f75] {
  border-color: rgba(34, 197, 94, 0.5);
}
.card-glow[data-v-7ed37f75] {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(34, 197, 94, 0.1) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.contact-card:hover .card-glow[data-v-7ed37f75] {
  opacity: 1;
}
.card-content[data-v-7ed37f75] {
  position: relative;
  padding: 1.5rem;
}
.card-header[data-v-7ed37f75] {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.icon-wrapper[data-v-7ed37f75] {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}
.contact-card:hover .icon-wrapper[data-v-7ed37f75] {
  transform: scale(1.05);
}
.icon-wrapper.wechat[data-v-7ed37f75] {
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: white;
}
.icon-wrapper.qq[data-v-7ed37f75] {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: white;
}
.card-info[data-v-7ed37f75] {
  flex: 1;
}
.card-title[data-v-7ed37f75] {
  font-size: 1.25rem;
  font-weight: 600;
  color: white;
}
.card-subtitle[data-v-7ed37f75] {
  font-size: 0.875rem;
  color: #6b7280;
}
.copy-btn[data-v-7ed37f75] {
  padding: 0.625rem 1.25rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}
.copy-btn.wechat-btn[data-v-7ed37f75] {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.copy-btn.wechat-btn[data-v-7ed37f75]:hover {
  background: rgba(34, 197, 94, 0.25);
}
.copy-btn.qq-btn[data-v-7ed37f75] {
  background: rgba(59, 130, 246, 0.15);
  color: #3b82f6;
  border: 1px solid rgba(59, 130, 246, 0.3);
}
.copy-btn.qq-btn[data-v-7ed37f75]:hover {
  background: rgba(59, 130, 246, 0.25);
}
.copied-text[data-v-7ed37f75] {
  color: #22c55e;
}
.id-display[data-v-7ed37f75] {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 0.75rem;
  padding: 1rem;
  margin-bottom: 1rem;
}
.id-text[data-v-7ed37f75] {
  font-size: 1.75rem;
  font-weight: 700;
  font-family: 'SF Mono', 'Fira Code', monospace;
  background: linear-gradient(135deg, #fff 0%, #22c55e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.card-hint[data-v-7ed37f75] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: #6b7280;
}
.hint-icon[data-v-7ed37f75] {
  font-size: 1rem;
}

/* Tips Section */
.tips-section[data-v-7ed37f75] {
  margin-top: 2.5rem;
}
.tips-card[data-v-7ed37f75] {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 1rem;
  padding: 1.5rem;
}
.tips-title[data-v-7ed37f75] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: white;
  margin-bottom: 1rem;
}
.tips-icon[data-v-7ed37f75] {
  font-size: 1.25rem;
}
.tips-grid[data-v-7ed37f75] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}
.tip-item[data-v-7ed37f75] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 0.75rem;
  font-size: 0.875rem;
  color: #9ca3af;
  transition: all 0.3s ease;
}
.tip-item[data-v-7ed37f75]:hover {
  background: rgba(34, 197, 94, 0.1);
  color: #22c55e;
}
.tip-emoji[data-v-7ed37f75] {
  font-size: 1.25rem;
}

/* Back Link */
.back-link[data-v-7ed37f75] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #6b7280;
  font-size: 0.9rem;
  padding: 0.75rem 1.5rem;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
  text-decoration: none;
}
.back-link[data-v-7ed37f75]:hover {
  color: #22c55e;
  border-color: rgba(34, 197, 94, 0.3);
  background: rgba(34, 197, 94, 0.05);
}

/* Responsive */
@media (max-width: 640px) {
.id-text[data-v-7ed37f75] {
    font-size: 1.25rem;
}
.tips-grid[data-v-7ed37f75] {
    grid-template-columns: 1fr;
}
.card-header[data-v-7ed37f75] {
    flex-wrap: wrap;
}
.copy-btn[data-v-7ed37f75] {
    width: 100%;
    text-align: center;
}
}

.shanxin-page[data-v-c810b680] {
  min-height: 100vh;
  background: linear-gradient(135deg, #1a1a2e 0%, #2a2a3e 100%);
}

.shopping-template[data-v-f3187bd9] {
  min-height: 100vh;
  background: #f5f5f5;
  color: #333;
}

/* 导航栏 */
.navbar[data-v-f3187bd9] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  background: #fff;
  border-bottom: 1px solid #eee;
  position: sticky;
  top: 0;
  z-index: 100;
}
.logo[data-v-f3187bd9] {
  font-size: 20px;
  font-weight: 700;
  color: #e74c3c;
}
.search-bar[data-v-f3187bd9] {
  display: flex;
  flex: 1;
  max-width: 400px;
  margin: 0 40px;
}
.search-bar input[data-v-f3187bd9] {
  flex: 1;
  padding: 8px 12px;
  border: 2px solid #e74c3c;
  border-right: none;
  border-radius: 4px 0 0 4px;
  font-size: 14px;
}
.search-bar button[data-v-f3187bd9] {
  padding: 8px 20px;
  background: #e74c3c;
  color: #fff;
  border: none;
  border-radius: 0 4px 4px 0;
  cursor: pointer;
}
.nav-actions[data-v-f3187bd9] {
  display: flex;
  gap: 20px;
}
.nav-actions a[data-v-f3187bd9] {
  font-size: 14px;
  color: #666;
  cursor: pointer;
}
.nav-actions a[data-v-f3187bd9]:hover {
  color: #e74c3c;
}

/* 分类导航 */
.category-nav[data-v-f3187bd9] {
  display: flex;
  gap: 8px;
  padding: 12px 20px;
  background: #fff;
  border-bottom: 1px solid #eee;
  overflow-x: auto;
}
.cat-link[data-v-f3187bd9] {
  padding: 6px 16px;
  font-size: 14px;
  color: #666;
  cursor: pointer;
  white-space: nowrap;
  border-radius: 4px;
  transition: all 0.2s;
}
.cat-link[data-v-f3187bd9]:hover {
  background: #f5f5f5;
}
.cat-link.active[data-v-f3187bd9] {
  background: #e74c3c;
  color: #fff;
}

/* 促销横幅 */
.promo-banner[data-v-f3187bd9] {
  background: linear-gradient(135deg, #ff6b6b, #ee5a24);
  padding: 10px 20px;
}
.promo-content[data-v-f3187bd9] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.promo-tag[data-v-f3187bd9] {
  padding: 2px 8px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
  font-size: 12px;
  color: #fff;
}
.promo-text[data-v-f3187bd9] {
  font-size: 14px;
  color: #fff;
}

/* 商品列表 */
.products[data-v-f3187bd9] {
  padding: 16px;
}
.products-header[data-v-f3187bd9] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.products-header h2[data-v-f3187bd9] {
  font-size: 16px;
  font-weight: 600;
}
.sort-options[data-v-f3187bd9] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.sort-label[data-v-f3187bd9] {
  font-size: 13px;
  color: #999;
}
.sort-options a[data-v-f3187bd9] {
  font-size: 13px;
  color: #666;
  cursor: pointer;
}
.sort-options a.active[data-v-f3187bd9] {
  color: #e74c3c;
}
.product-grid[data-v-f3187bd9] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (min-width: 768px) {
.product-grid[data-v-f3187bd9] {
    grid-template-columns: repeat(4, 1fr);
}
}
@media (min-width: 1024px) {
.product-grid[data-v-f3187bd9] {
    grid-template-columns: repeat(5, 1fr);
}
}
.product-card[data-v-f3187bd9] {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s;
  animation: fadeIn-f3187bd9 0.4s ease forwards;
  opacity: 0;
}
@keyframes fadeIn-f3187bd9 {
from { opacity: 0; transform: translateY(10px);
}
to { opacity: 1; transform: translateY(0);
}
}
.product-card[data-v-f3187bd9]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.product-image[data-v-f3187bd9] {
  position: relative;
  height: 0;
  padding-bottom: 100%;
}
.product-placeholder[data-v-f3187bd9] {
  position: absolute;
  inset: 0;
}
.product-tag[data-v-f3187bd9] {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 2px 6px;
  background: #e74c3c;
  color: #fff;
  border-radius: 2px;
  font-size: 11px;
}
.product-info[data-v-f3187bd9] {
  padding: 10px;
}
.product-name[data-v-f3187bd9] {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  height: 36px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-bottom: 6px;
}
.product-desc[data-v-f3187bd9] {
  font-size: 12px;
  color: #999;
  margin-bottom: 6px;
}
.product-price[data-v-f3187bd9] {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 4px;
}
.current-price[data-v-f3187bd9] {
  font-size: 16px;
  font-weight: 700;
  color: #e74c3c;
}
.original-price[data-v-f3187bd9] {
  font-size: 12px;
  color: #999;
  text-decoration: line-through;
}
.product-sales[data-v-f3187bd9] {
  font-size: 11px;
  color: #999;
}

/* 底部 */
.footer[data-v-f3187bd9] {
  background: #fff;
  padding: 20px;
  border-top: 1px solid #eee;
}
.footer-content[data-v-f3187bd9] {
  text-align: center;
}
.footer-content p[data-v-f3187bd9] {
  font-size: 13px;
  color: #999;
  margin-bottom: 10px;
}
.footer-links[data-v-f3187bd9] {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.footer-links a[data-v-f3187bd9] {
  font-size: 12px;
  color: #666;
  cursor: pointer;
}

.corporate-template[data-v-c4efc03a] {
  min-height: 100vh;
  background: #030712;
  color: #fff;
}
.navbar[data-v-c4efc03a] {
  background: rgba(3, 7, 18, 0.9);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(59, 130, 246, 0.1);
  position: sticky;
  top: 0;
  z-index: 100;
}
.nav-container[data-v-c4efc03a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  height: 60px;
}
.logo[data-v-c4efc03a] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.logo-icon[data-v-c4efc03a] {
  font-size: 24px;
  color: #60a5fa;
}
.logo-text[data-v-c4efc03a] {
  font-size: 18px;
  font-weight: 600;
}
.nav-menu[data-v-c4efc03a] {
  display: flex;
  gap: 40px;
}
.nav-menu a[data-v-c4efc03a] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  transition: color 0.3s;
}
.nav-menu a[data-v-c4efc03a]:hover, .nav-menu a.active[data-v-c4efc03a] {
  color: #60a5fa;
}
.cta-btn[data-v-c4efc03a] {
  padding: 10px 24px;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
}
.hero[data-v-c4efc03a] {
  position: relative;
  min-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  overflow: hidden;
}
.hero-visual[data-v-c4efc03a] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.grid-bg[data-v-c4efc03a] {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(59, 130, 246, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(59, 130, 246, 0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  animation: gridMove-c4efc03a 20s linear infinite;
}
@keyframes gridMove-c4efc03a {
0% { transform: translate(0, 0);
}
100% { transform: translate(60px, 60px);
}
}
.glow-orb[data-v-c4efc03a] {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
}
.orb-1[data-v-c4efc03a] {
  width: 400px;
  height: 400px;
  background: rgba(59, 130, 246, 0.15);
  top: 10%;
  left: 10%;
}
.orb-2[data-v-c4efc03a] {
  width: 300px;
  height: 300px;
  background: rgba(139, 92, 246, 0.15);
  bottom: 20%;
  right: 10%;
}
.hero-content[data-v-c4efc03a] {
  text-align: center;
  position: relative;
  z-index: 1;
}
.hero-badge[data-v-c4efc03a] {
  display: inline-block;
  padding: 10px 24px;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(139, 92, 246, 0.1));
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 30px;
  font-size: 14px;
  color: #60a5fa;
  margin-bottom: 30px;
}
.hero h1[data-v-c4efc03a] {
  margin-bottom: 20px;
}
.hero h1 .line1[data-v-c4efc03a], .hero h1 .line2[data-v-c4efc03a] {
  display: block;
  font-size: 52px;
  font-weight: 800;
  line-height: 1.2;
  background: linear-gradient(135deg, #fff, #93c5fd);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero p[data-v-c4efc03a] {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 40px;
}
.hero-buttons[data-v-c4efc03a] {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin-bottom: 60px;
}
.btn-primary[data-v-c4efc03a], .btn-outline[data-v-c4efc03a] {
  padding: 14px 32px;
  font-size: 15px;
  border-radius: 6px;
  cursor: pointer;
}
.btn-primary[data-v-c4efc03a] {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: #fff;
  border: none;
}
.btn-outline[data-v-c4efc03a] {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
}
.hero-stats[data-v-c4efc03a] {
  display: flex;
  gap: 60px;
}
.stat[data-v-c4efc03a] {
  text-align: center;
}
.stat-value[data-v-c4efc03a] {
  display: block;
  font-size: 32px;
  font-weight: 700;
  color: #60a5fa;
}
.stat-label[data-v-c4efc03a] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
}
.animate-slide-down[data-v-c4efc03a] { animation: slideDown-c4efc03a 0.6s ease forwards;
}
.animate-slide-up[data-v-c4efc03a] { animation: slideUp-c4efc03a 0.6s ease forwards; opacity: 0; animation-delay: 0.2s;
}
.animate-fade-in[data-v-c4efc03a] { animation: fadeIn-c4efc03a 0.6s ease forwards; opacity: 0; animation-delay: 0.4s;
}
.animate-scale-in[data-v-c4efc03a] { animation: scaleIn-c4efc03a 0.5s ease forwards; opacity: 0; animation-delay: 0.6s;
}
@keyframes slideDown-c4efc03a {
from { opacity: 0; transform: translateY(-20px);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes slideUp-c4efc03a {
from { opacity: 0; transform: translateY(30px);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes fadeIn-c4efc03a {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes scaleIn-c4efc03a {
from { opacity: 0; transform: scale(0.95);
}
to { opacity: 1; transform: scale(1);
}
}
.partners[data-v-c4efc03a] {
  padding: 40px 20px;
  background: rgba(0, 0, 0, 0.3);
  text-align: center;
}
.partners p[data-v-c4efc03a] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 20px;
}
.partner-logos[data-v-c4efc03a] {
  display: flex;
  justify-content: center;
  gap: 60px;
}
.partner-logo[data-v-c4efc03a] {
  font-size: 18px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.3);
}
.services[data-v-c4efc03a], .solutions[data-v-c4efc03a], .cases[data-v-c4efc03a], .tech-stack[data-v-c4efc03a], .about[data-v-c4efc03a], .team[data-v-c4efc03a] {
  padding: 100px 20px;
  max-width: 1200px;
  margin: 0 auto;
}
.section-header[data-v-c4efc03a] {
  text-align: center;
  margin-bottom: 60px;
}
.section-label[data-v-c4efc03a] {
  font-size: 12px;
  letter-spacing: 4px;
  color: #60a5fa;
}
.section-header h2[data-v-c4efc03a] {
  font-size: 32px;
  font-weight: 700;
  margin: 12px 0;
}
.section-header p[data-v-c4efc03a] {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.5);
}
.services-grid[data-v-c4efc03a] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.service-card[data-v-c4efc03a] {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  padding: 32px;
  animation: slideUp-c4efc03a 0.5s ease forwards;
  opacity: 0;
}
.service-card[data-v-c4efc03a]:hover {
  border-color: rgba(59, 130, 246, 0.3);
}
.service-icon[data-v-c4efc03a] {
  font-size: 36px;
  margin-bottom: 20px;
}
.service-card h3[data-v-c4efc03a] {
  font-size: 18px;
  margin-bottom: 12px;
}
.service-card > p[data-v-c4efc03a] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 16px;
}
.service-features[data-v-c4efc03a] {
  list-style: none;
  margin-bottom: 20px;
}
.service-features li[data-v-c4efc03a] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  padding: 6px 0;
}
.service-btn[data-v-c4efc03a] {
  padding: 8px 20px;
  background: transparent;
  border: 1px solid rgba(59, 130, 246, 0.5);
  color: #60a5fa;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
}
.solutions[data-v-c4efc03a] {
  background: rgba(0, 0, 0, 0.3);
  max-width: none;
  padding: 100px 20px;
}
.solutions-grid[data-v-c4efc03a] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}
.solution-card[data-v-c4efc03a] {
  border-radius: 16px;
  padding: 32px;
  cursor: pointer;
  transition: transform 0.3s;
}
.solution-card[data-v-c4efc03a]:hover {
  transform: translateY(-8px);
}
.sol-icon[data-v-c4efc03a] {
  font-size: 36px;
  margin-bottom: 16px;
}
.solution-card h3[data-v-c4efc03a] {
  font-size: 18px;
  margin-bottom: 8px;
}
.solution-card p[data-v-c4efc03a] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 16px;
}
.sol-link[data-v-c4efc03a] {
  font-size: 13px;
  color: #60a5fa;
}
.cases-grid[data-v-c4efc03a] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.case-card[data-v-c4efc03a] {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  overflow: hidden;
  animation: slideUp-c4efc03a 0.5s ease forwards;
  opacity: 0;
}
.case-header[data-v-c4efc03a] {
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.case-icon[data-v-c4efc03a] {
  font-size: 48px;
}
.case-body[data-v-c4efc03a] {
  padding: 24px;
}
.case-industry[data-v-c4efc03a] {
  font-size: 12px;
  color: #60a5fa;
  margin-bottom: 8px;
}
.case-body h3[data-v-c4efc03a] {
  font-size: 16px;
  margin-bottom: 8px;
}
.case-body > p[data-v-c4efc03a] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 16px;
}
.case-results[data-v-c4efc03a] {
  display: flex;
  gap: 24px;
}
.result-value[data-v-c4efc03a] {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #60a5fa;
}
.result-label[data-v-c4efc03a] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
}
.tech-stack[data-v-c4efc03a] {
  background: rgba(0, 0, 0, 0.3);
  max-width: none;
}
.tech-grid[data-v-c4efc03a] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
}
.tech-item[data-v-c4efc03a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 24px;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 12px;
}
.tech-icon[data-v-c4efc03a] {
  font-size: 28px;
}
.tech-name[data-v-c4efc03a] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
}
.about-content[data-v-c4efc03a] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.about-text h2[data-v-c4efc03a] {
  font-size: 32px;
  margin: 12px 0 20px;
}
.about-text > p[data-v-c4efc03a] {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.8;
  margin-bottom: 24px;
}
.about-features[data-v-c4efc03a] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
}
.feature[data-v-c4efc03a] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: rgba(59, 130, 246, 0.1);
  border-radius: 8px;
  font-size: 13px;
}
.check[data-v-c4efc03a] {
  color: #22c55e;
}
.about-btn[data-v-c4efc03a] {
  padding: 12px 32px;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
}
.visual-card[data-v-c4efc03a] {
  background: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 16px;
  padding: 40px;
  display: flex;
  justify-content: space-around;
}
.visual-stat[data-v-c4efc03a] {
  text-align: center;
}
.visual-value[data-v-c4efc03a] {
  display: block;
  font-size: 36px;
  font-weight: 700;
  color: #60a5fa;
}
.visual-label[data-v-c4efc03a] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
}
.team-grid[data-v-c4efc03a] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.team-card[data-v-c4efc03a] {
  text-align: center;
  padding: 32px;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 16px;
}
.member-avatar[data-v-c4efc03a] {
  font-size: 56px;
  margin-bottom: 16px;
}
.team-card h3[data-v-c4efc03a] {
  font-size: 18px;
  margin-bottom: 4px;
}
.member-role[data-v-c4efc03a] {
  font-size: 13px;
  color: #60a5fa;
  margin-bottom: 12px;
}
.member-desc[data-v-c4efc03a] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
}
.footer[data-v-c4efc03a] {
  background: #0a0a0f;
  padding: 60px 20px 30px;
}
.footer-main[data-v-c4efc03a] {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
  max-width: 1200px;
  margin: 0 auto 40px;
}
.footer-brand[data-v-c4efc03a] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  font-weight: 600;
  color: #60a5fa;
  margin-bottom: 12px;
}
.brand-icon[data-v-c4efc03a] {
  font-size: 24px;
}
.footer-info p[data-v-c4efc03a] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 8px;
}
.footer-contact[data-v-c4efc03a] {
  margin-top: 20px;
}
.footer-contact p[data-v-c4efc03a] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
}
.footer-links[data-v-c4efc03a] {
  display: flex;
  gap: 80px;
}
.link-group h4[data-v-c4efc03a] {
  font-size: 14px;
  margin-bottom: 16px;
}
.link-group a[data-v-c4efc03a] {
  display: block;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 10px;
  cursor: pointer;
}
.link-group a[data-v-c4efc03a]:hover {
  color: #60a5fa;
}
.copyright[data-v-c4efc03a] {
  text-align: center;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 24px;
}

.forum-template[data-v-33e59aae] {
  min-height: 100vh;
  background: #f4f5f5;
  color: #333;
}
.header[data-v-33e59aae] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  height: 60px;
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
  position: sticky;
  top: 0;
  z-index: 100;
}
.header-left[data-v-33e59aae] {
  display: flex;
  align-items: center;
  gap: 40px;
}
.logo[data-v-33e59aae] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.logo-icon[data-v-33e59aae] {
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #1e80ff, #00c6ff);
  color: #fff;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
}
.logo-text[data-v-33e59aae] {
  font-size: 18px;
  font-weight: 600;
}
.nav[data-v-33e59aae] {
  display: flex;
  gap: 32px;
}
.nav a[data-v-33e59aae] {
  font-size: 14px;
  color: #515767;
  cursor: pointer;
  position: relative;
  padding: 18px 0;
}
.nav a[data-v-33e59aae]:hover, .nav a.active[data-v-33e59aae] {
  color: #1e80ff;
}
.nav a.active[data-v-33e59aae]::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #1e80ff;
  border-radius: 2px;
}
.header-actions[data-v-33e59aae] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.search-box[data-v-33e59aae] {
  display: flex;
  align-items: center;
  background: #f4f5f5;
  border-radius: 4px;
  padding: 0 8px;
}
.search-input[data-v-33e59aae] {
  border: none;
  background: transparent;
  padding: 8px;
  width: 200px;
  font-size: 13px;
  outline: none;
}
.search-btn[data-v-33e59aae] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.btn-create[data-v-33e59aae] {
  padding: 8px 16px;
  border: none;
  background: linear-gradient(135deg, #1e80ff, #00c6ff);
  color: #fff;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
}
.user-menu[data-v-33e59aae] {
  position: relative;
  cursor: pointer;
}
.avatar[data-v-33e59aae] {
  font-size: 24px;
}
.notif-badge[data-v-33e59aae] {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #f53f3f;
  color: #fff;
  font-size: 10px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main-content[data-v-33e59aae] {
  display: grid;
  grid-template-columns: 240px 1fr 260px;
  gap: 20px;
  padding: 20px 40px;
  max-width: 1400px;
  margin: 0 auto;
}
.sidebar[data-v-33e59aae] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.user-card[data-v-33e59aae] {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
}
.user-header[data-v-33e59aae] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.avatar-lg[data-v-33e59aae] {
  width: 48px;
  height: 48px;
  background: #e8f3ff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.user-info h3[data-v-33e59aae] {
  font-size: 15px;
  font-weight: 600;
}
.user-title[data-v-33e59aae] {
  font-size: 12px;
  color: #8a919f;
}
.user-stats[data-v-33e59aae] {
  display: flex;
  justify-content: space-around;
  padding: 16px 0;
  border-top: 1px solid #f4f5f5;
  border-bottom: 1px solid #f4f5f5;
}
.stat[data-v-33e59aae] {
  text-align: center;
}
.stat strong[data-v-33e59aae] {
  display: block;
  font-size: 16px;
  color: #252933;
}
.stat span[data-v-33e59aae] {
  font-size: 12px;
  color: #8a919f;
}
.user-level[data-v-33e59aae] {
  padding-top: 16px;
}
.level-badge[data-v-33e59aae] {
  display: inline-block;
  padding: 2px 8px;
  background: linear-gradient(135deg, #ffba0d, #ff9a0d);
  color: #fff;
  border-radius: 4px;
  font-size: 11px;
  margin-bottom: 8px;
}
.level-bar[data-v-33e59aae] {
  height: 4px;
  background: #e8e8e8;
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 6px;
}
.level-progress[data-v-33e59aae] {
  height: 100%;
  background: linear-gradient(90deg, #1e80ff, #00c6ff);
  border-radius: 2px;
}
.level-text[data-v-33e59aae] {
  font-size: 11px;
  color: #8a919f;
}
.hot-topics[data-v-33e59aae], .recommend-authors[data-v-33e59aae], .announcement[data-v-33e59aae], .activity-card[data-v-33e59aae], .rank-card[data-v-33e59aae] {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
}
.hot-topics h4[data-v-33e59aae], .recommend-authors h4[data-v-33e59aae], .announcement h4[data-v-33e59aae], .activity-card h4[data-v-33e59aae], .rank-card h4[data-v-33e59aae] {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
  color: #252933;
}
.topic-item[data-v-33e59aae] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #f4f5f5;
  cursor: pointer;
}
.topic-item[data-v-33e59aae]:last-child {
  border-bottom: none;
}
.topic-item:hover .topic-name[data-v-33e59aae] {
  color: #1e80ff;
}
.rank[data-v-33e59aae] {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  color: #8a919f;
}
.rank-1[data-v-33e59aae] { color: #f53f3f;
}
.rank-2[data-v-33e59aae] { color: #ff7d00;
}
.rank-3[data-v-33e59aae] { color: #ffb400;
}
.topic-info[data-v-33e59aae] {
  flex: 1;
}
.topic-name[data-v-33e59aae] {
  font-size: 13px;
  color: #252933;
  transition: color 0.2s;
}
.topic-count[data-v-33e59aae] {
  font-size: 11px;
  color: #8a919f;
}
.author-item[data-v-33e59aae] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #f4f5f5;
}
.author-item[data-v-33e59aae]:last-child {
  border-bottom: none;
}
.author-avatar[data-v-33e59aae] {
  font-size: 28px;
}
.author-info[data-v-33e59aae] {
  flex: 1;
}
.author-name[data-v-33e59aae] {
  display: block;
  font-size: 13px;
  font-weight: 500;
}
.author-desc[data-v-33e59aae] {
  font-size: 11px;
  color: #8a919f;
}
.follow-btn[data-v-33e59aae] {
  padding: 4px 12px;
  border: 1px solid #1e80ff;
  background: #fff;
  color: #1e80ff;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.follow-btn[data-v-33e59aae]:hover {
  background: #1e80ff;
  color: #fff;
}
.follow-btn.followed[data-v-33e59aae] {
  background: #f4f5f5;
  border-color: #e8e8e8;
  color: #8a919f;
}
.content-area[data-v-33e59aae] {
  min-width: 0;
}
.category-tabs[data-v-33e59aae] {
  display: flex;
  gap: 0;
  margin-bottom: 16px;
  background: #fff;
  padding: 0 16px;
  border-radius: 8px;
  border-bottom: 1px solid #e8e8e8;
}
.tab[data-v-33e59aae] {
  padding: 16px 20px;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #515767;
  font-size: 14px;
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
}
.tab[data-v-33e59aae]:hover {
  color: #1e80ff;
}
.tab.active[data-v-33e59aae] {
  color: #1e80ff;
  font-weight: 500;
}
.tab.active[data-v-33e59aae]::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #1e80ff;
}
.tab-count[data-v-33e59aae] {
  margin-left: 4px;
  font-size: 10px;
  color: #f53f3f;
}
.posts-list[data-v-33e59aae] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.post-card[data-v-33e59aae] {
  background: #fff;
  border-radius: 8px;
  padding: 16px 20px;
  cursor: pointer;
  animation: fadeIn-33e59aae 0.3s ease forwards;
}
@keyframes fadeIn-33e59aae {
from { opacity: 0; transform: translateY(10px);
}
to { opacity: 1; transform: translateY(0);
}
}
.post-card[data-v-33e59aae]:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
.post-header[data-v-33e59aae] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.author-info[data-v-33e59aae] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.author-avatar[data-v-33e59aae] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.author-name[data-v-33e59aae] {
  font-size: 14px;
  font-weight: 500;
  color: #252933;
}
.author-badge[data-v-33e59aae] {
  margin-left: 6px;
  padding: 2px 6px;
  background: #e8f3ff;
  color: #1e80ff;
  border-radius: 2px;
  font-size: 10px;
}
.post-time[data-v-33e59aae] {
  display: block;
  font-size: 12px;
  color: #8a919f;
  margin-top: 2px;
}
.post-tags[data-v-33e59aae] {
  display: flex;
  gap: 8px;
}
.post-tag[data-v-33e59aae] {
  padding: 2px 8px;
  border-radius: 2px;
  font-size: 12px;
  color: #515767;
}
.post-title[data-v-33e59aae] {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #252933;
  line-height: 1.5;
}
.post-title[data-v-33e59aae]:hover {
  color: #1e80ff;
}
.post-preview[data-v-33e59aae] {
  color: #8a919f;
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-images[data-v-33e59aae] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.post-img[data-v-33e59aae] {
  width: 120px;
  height: 80px;
  border-radius: 4px;
}
.post-footer[data-v-33e59aae] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.post-actions[data-v-33e59aae] {
  display: flex;
  gap: 20px;
}
.action[data-v-33e59aae] {
  color: #8a919f;
  font-size: 13px;
  cursor: pointer;
  transition: color 0.2s;
}
.action[data-v-33e59aae]:hover {
  color: #1e80ff;
}
.action.liked[data-v-33e59aae] {
  color: #f53f3f;
}
.post-share[data-v-33e59aae] {
  font-size: 12px;
  color: #8a919f;
  cursor: pointer;
}
.load-more[data-v-33e59aae] {
  text-align: center;
  padding: 20px;
}
.load-btn[data-v-33e59aae] {
  padding: 10px 40px;
  border: 1px solid #e8e8e8;
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  color: #515767;
}
.right-sidebar[data-v-33e59aae] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.announcement ul[data-v-33e59aae] {
  padding-left: 8px;
}
.announcement li[data-v-33e59aae] {
  font-size: 13px;
  color: #515767;
  padding: 6px 0;
  cursor: pointer;
}
.announcement li[data-v-33e59aae]:hover {
  color: #1e80ff;
}
.activity-card p[data-v-33e59aae] {
  font-size: 12px;
  color: #8a919f;
  margin-bottom: 12px;
}
.signin-btn[data-v-33e59aae] {
  width: 100%;
  padding: 10px;
  border: none;
  background: linear-gradient(135deg, #1e80ff, #00c6ff);
  color: #fff;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}
.signin-btn[data-v-33e59aae]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(30, 128, 255, 0.3);
}
.signin-btn.signed[data-v-33e59aae] {
  background: #e8e8e8;
  color: #8a919f;
}
.signin-streak[data-v-33e59aae] {
  text-align: center;
  font-size: 12px;
  color: #8a919f;
  margin-top: 12px;
}
.signin-streak strong[data-v-33e59aae] {
  color: #1e80ff;
}
.rank-card .rank-tabs[data-v-33e59aae] {
  display: flex;
  gap: 16px;
  margin-bottom: 12px;
  border-bottom: 1px solid #f4f5f5;
  padding-bottom: 10px;
}
.rank-tabs span[data-v-33e59aae] {
  font-size: 13px;
  color: #8a919f;
  cursor: pointer;
}
.rank-tabs span.active[data-v-33e59aae] {
  color: #1e80ff;
  font-weight: 500;
}
.rank-item[data-v-33e59aae] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
}
.rank-num[data-v-33e59aae] {
  width: 18px;
  font-size: 12px;
  font-weight: 600;
  color: #8a919f;
}
.rank-num.top-1[data-v-33e59aae] { color: #f53f3f;
}
.rank-num.top-2[data-v-33e59aae] { color: #ff7d00;
}
.rank-num.top-3[data-v-33e59aae] { color: #ffb400;
}
.rank-avatar[data-v-33e59aae] {
  font-size: 20px;
}
.rank-name[data-v-33e59aae] {
  flex: 1;
  font-size: 13px;
}
.rank-score[data-v-33e59aae] {
  font-size: 12px;
  color: #8a919f;
}
.back-top[data-v-33e59aae] {
  position: fixed;
  bottom: 80px;
  right: 30px;
  width: 44px;
  height: 44px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  z-index: 99;
}
.footer[data-v-33e59aae] {
  padding: 24px;
  text-align: center;
  color: #8a919f;
  font-size: 13px;
  border-top: 1px solid #e8e8e8;
  background: #fff;
}
.footer p[data-v-33e59aae] {
  cursor: pointer;
}

.education-template[data-v-828e9508] {
  min-height: 100vh;
  background: linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 50%, #0f0f2a 100%);
  color: #fff;
}
.navbar[data-v-828e9508] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 60px;
  background: rgba(10, 10, 26, 0.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(79, 172, 254, 0.1);
  position: sticky;
  top: 0;
  z-index: 100;
}
.logo[data-v-828e9508] {
  font-size: 18px;
  font-weight: 700;
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.nav-links[data-v-828e9508] {
  display: flex;
  gap: 40px;
}
.nav-links a[data-v-828e9508] {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  cursor: pointer;
  transition: color 0.3s;
}
.nav-links a[data-v-828e9508]:hover {
  color: #4facfe;
}
.auth-btns[data-v-828e9508] {
  display: flex;
  gap: 12px;
}
.btn-login[data-v-828e9508] {
  padding: 8px 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
  color: #fff;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
}
.btn-signup[data-v-828e9508] {
  padding: 8px 20px;
  border: none;
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  color: #0a0a1a;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
}
.hero[data-v-828e9508] {
  position: relative;
  padding: 100px 60px;
  text-align: center;
  overflow: hidden;
}
.hero-visual[data-v-828e9508] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.particle[data-v-828e9508] {
  position: absolute;
  width: 10px;
  height: 10px;
  background: #4facfe;
  border-radius: 50%;
  animation: particleFloat-828e9508 8s ease-in-out infinite;
}
.p1[data-v-828e9508] { top: 20%; left: 30%; animation-delay: 0s;
}
.p2[data-v-828e9508] { top: 50%; right: 20%; animation-delay: -3s;
}
.p3[data-v-828e9508] { bottom: 30%; left: 50%; animation-delay: -6s;
}
@keyframes particleFloat-828e9508 {
0%, 100% { transform: translateY(0); opacity: 0.3;
}
50% { transform: translateY(-50px); opacity: 0.8;
}
}
.hero-content[data-v-828e9508] {
  position: relative;
  z-index: 1;
}
.hero h1[data-v-828e9508] {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero p[data-v-828e9508] {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 40px;
}
.hero-stats[data-v-828e9508] {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-bottom: 40px;
}
.stat[data-v-828e9508] {
  text-align: center;
  animation: slideUp-828e9508 0.5s ease forwards;
  opacity: 0;
}
.stat-value[data-v-828e9508] {
  display: block;
  font-size: 36px;
  font-weight: 700;
  color: #4facfe;
  margin-bottom: 8px;
}
.stat-label[data-v-828e9508] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
}
.start-btn[data-v-828e9508] {
  padding: 16px 48px;
  border: none;
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  color: #0a0a1a;
  font-size: 16px;
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 10px 30px rgba(79, 172, 254, 0.3);
}
.start-btn[data-v-828e9508]:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 40px rgba(79, 172, 254, 0.4);
}

/* 动画 */
@keyframes slideUp-828e9508 {
from { opacity: 0; transform: translateY(30px);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes fadeIn-828e9508 {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes scaleIn-828e9508 {
from { opacity: 0; transform: scale(0.95);
}
to { opacity: 1; transform: scale(1);
}
}
.animate-slide-up[data-v-828e9508] { animation: slideUp-828e9508 0.6s ease forwards;
}
.animate-fade-in[data-v-828e9508] { animation: fadeIn-828e9508 0.6s ease forwards; opacity: 0; animation-delay: 0.2s;
}
.animate-scale-in[data-v-828e9508] { animation: scaleIn-828e9508 0.5s ease forwards; opacity: 0; animation-delay: 0.6s;
}
.categories[data-v-828e9508], .popular-courses[data-v-828e9508] {
  padding: 80px 60px;
  max-width: 1200px;
  margin: 0 auto;
}
.categories h2[data-v-828e9508], .popular-courses h2[data-v-828e9508] {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 40px;
  text-align: center;
  background: linear-gradient(135deg, #fff, #4facfe);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.cat-grid[data-v-828e9508] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 20px;
}
.cat-card[data-v-828e9508] {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 24px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s;
  animation: slideUp-828e9508 0.5s ease forwards;
  opacity: 0;
}
.cat-card[data-v-828e9508]:hover {
  transform: translateY(-8px);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 40px rgba(79, 172, 254, 0.1);
}
.cat-icon[data-v-828e9508] {
  width: 60px;
  height: 60px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin: 0 auto 16px;
}
.cat-card h3[data-v-828e9508] {
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 4px;
}
.cat-card p[data-v-828e9508] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
}
.popular-courses[data-v-828e9508] {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 20px;
  margin: 0 60px 80px;
  max-width: none;
}
.courses-grid[data-v-828e9508] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.course-card[data-v-828e9508] {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s;
  animation: slideUp-828e9508 0.5s ease forwards;
  opacity: 0;
}
.course-card[data-v-828e9508]:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}
.course-header[data-v-828e9508] {
  padding: 40px;
  text-align: center;
  position: relative;
}
.course-emoji[data-v-828e9508] {
  font-size: 40px;
}
.course-level[data-v-828e9508] {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 12px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  font-size: 12px;
}
.course-body[data-v-828e9508] {
  padding: 16px;
}
.course-body h3[data-v-828e9508] {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 4px;
}
.instructor[data-v-828e9508] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 12px;
}
.course-meta[data-v-828e9508] {
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 12px;
}
.course-footer[data-v-828e9508] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.rating[data-v-828e9508] {
  font-size: 13px;
  color: #fbbf24;
}
.price[data-v-828e9508] {
  font-size: 20px;
  font-weight: 700;
  color: #4facfe;
}
.footer[data-v-828e9508] {
  background: #050510;
  padding: 40px 60px;
}
.footer-main[data-v-828e9508] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto 20px;
}
.footer-brand[data-v-828e9508] {
  font-size: 18px;
  font-weight: 700;
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.footer-links[data-v-828e9508] {
  display: flex;
  gap: 32px;
}
.footer-links a[data-v-828e9508] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}
.footer-links a[data-v-828e9508]:hover {
  color: #4facfe;
}
.copyright[data-v-828e9508] {
  text-align: center;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.3);
}

.music-template[data-v-5113061a] {
  min-height: 100vh;
  background: linear-gradient(180deg, #0a0015 0%, #1a0030 50%, #0f0020 100%);
  color: #fff;
}
.navbar[data-v-5113061a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 60px;
  background: rgba(10, 0, 21, 0.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(168, 85, 247, 0.1);
  position: sticky;
  top: 0;
  z-index: 100;
}
.logo[data-v-5113061a] {
  font-size: 18px;
  font-weight: 700;
  background: linear-gradient(135deg, #a855f7, #ec4899);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.nav-links[data-v-5113061a] {
  display: flex;
  gap: 40px;
}
.nav-links a[data-v-5113061a] {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  cursor: pointer;
  transition: color 0.3s;
}
.nav-links a[data-v-5113061a]:hover {
  color: #a855f7;
}
.search-box input[data-v-5113061a] {
  padding: 10px 16px;
  border: none;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  width: 200px;
  font-size: 14px;
}
.search-box input[data-v-5113061a]::-moz-placeholder {
  color: rgba(255, 255, 255, 0.4);
}
.search-box input[data-v-5113061a]::placeholder {
  color: rgba(255, 255, 255, 0.4);
}
.hero[data-v-5113061a] {
  position: relative;
  padding: 80px 60px;
  text-align: center;
  overflow: hidden;
}
.visualizer[data-v-5113061a] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 4px;
  padding: 20px;
}
.bar[data-v-5113061a] {
  width: 6px;
  height: 20px;
  background: linear-gradient(180deg, #a855f7, #ec4899);
  border-radius: 3px;
  animation: visualize-5113061a 0.8s ease-in-out infinite;
}
@keyframes visualize-5113061a {
0%, 100% { height: 20px;
}
50% { height: 60px;
}
}
.hero-content[data-v-5113061a] {
  position: relative;
  z-index: 1;
}
.hero h1[data-v-5113061a] {
  font-size: 48px;
  font-weight: 800;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #a855f7, #ec4899, #f472b6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero p[data-v-5113061a] {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 32px;
}
.hero-buttons[data-v-5113061a] {
  display: flex;
  gap: 16px;
  justify-content: center;
}
.btn-primary[data-v-5113061a], .btn-outline[data-v-5113061a] {
  padding: 14px 32px;
  font-size: 15px;
  font-weight: 500;
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s;
}
.btn-primary[data-v-5113061a] {
  border: none;
  background: linear-gradient(135deg, #a855f7, #ec4899);
  color: #fff;
  box-shadow: 0 10px 30px rgba(168, 85, 247, 0.4);
}
.btn-primary[data-v-5113061a]:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 40px rgba(168, 85, 247, 0.5);
}
.btn-outline[data-v-5113061a] {
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: transparent;
  color: #fff;
}
.btn-outline[data-v-5113061a]:hover {
  border-color: #a855f7;
}

/* 动画 */
@keyframes slideUp-5113061a {
from { opacity: 0; transform: translateY(30px);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes fadeIn-5113061a {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes scaleIn-5113061a {
from { opacity: 0; transform: scale(0.95);
}
to { opacity: 1; transform: scale(1);
}
}
.animate-slide-up[data-v-5113061a] { animation: slideUp-5113061a 0.6s ease forwards;
}
.animate-fade-in[data-v-5113061a] { animation: fadeIn-5113061a 0.6s ease forwards; opacity: 0; animation-delay: 0.2s;
}
.animate-scale-in[data-v-5113061a] { animation: scaleIn-5113061a 0.5s ease forwards; opacity: 0; animation-delay: 0.4s;
}
.now-playing[data-v-5113061a] {
  padding: 60px;
  display: flex;
  justify-content: center;
}
.player-card[data-v-5113061a] {
  display: flex;
  gap: 32px;
  padding: 32px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(168, 85, 247, 0.2);
  border-radius: 20px;
  max-width: 500px;
  width: 100%;
}
.album-art[data-v-5113061a] {
  width: 140px;
  height: 140px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.song-emoji[data-v-5113061a] {
  font-size: 48px;
  animation: rotate-5113061a 10s linear infinite;
}
@keyframes rotate-5113061a {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
.song-info[data-v-5113061a] {
  flex: 1;
}
.song-info h2[data-v-5113061a] {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 4px;
}
.artist[data-v-5113061a] {
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
  margin-bottom: 20px;
}
.progress-bar[data-v-5113061a] {
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  margin-bottom: 8px;
}
.progress[data-v-5113061a] {
  height: 100%;
  background: linear-gradient(135deg, #a855f7, #ec4899);
  border-radius: 2px;
}
.time[data-v-5113061a] {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 20px;
}
.controls[data-v-5113061a] {
  display: flex;
  justify-content: center;
  gap: 16px;
}
.ctrl-btn[data-v-5113061a] {
  width: 40px;
  height: 40px;
  border: none;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-radius: 50%;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.3s;
}
.ctrl-btn[data-v-5113061a]:hover {
  background: rgba(255, 255, 255, 0.2);
}
.ctrl-btn.play[data-v-5113061a] {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #a855f7, #ec4899);
}
.playlists[data-v-5113061a], .top-songs[data-v-5113061a] {
  padding: 60px;
  max-width: 1200px;
  margin: 0 auto;
}
.playlists h2[data-v-5113061a], .top-songs h2[data-v-5113061a] {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 32px;
  background: linear-gradient(135deg, #fff, #a855f7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.playlist-grid[data-v-5113061a] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
}
.playlist-card[data-v-5113061a] {
  cursor: pointer;
  animation: slideUp-5113061a 0.5s ease forwards;
  opacity: 0;
  transition: transform 0.3s;
}
.playlist-card[data-v-5113061a]:hover {
  transform: translateY(-5px);
}
.pl-cover[data-v-5113061a] {
  height: 160px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.pl-emoji[data-v-5113061a] {
  font-size: 40px;
}
.playlist-card h3[data-v-5113061a] {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 4px;
}
.playlist-card p[data-v-5113061a] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
}
.top-songs[data-v-5113061a] {
  background: rgba(255, 255, 255, 0.02);
  border-radius: 20px;
  margin: 0 60px 60px;
  max-width: none;
}
.songs-list[data-v-5113061a] {
  max-width: 800px;
  margin: 0 auto;
}
.song-item[data-v-5113061a] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  border-radius: 8px;
  cursor: pointer;
  animation: slideUp-5113061a 0.5s ease forwards;
  opacity: 0;
  transition: background 0.3s;
}
.song-item[data-v-5113061a]:hover {
  background: rgba(255, 255, 255, 0.05);
}
.rank[data-v-5113061a] {
  font-size: 18px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.2);
  min-width: 24px;
}
.song-cover[data-v-5113061a] {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.song-details[data-v-5113061a] {
  flex: 1;
}
.song-details h3[data-v-5113061a] {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 4px;
}
.song-details p[data-v-5113061a] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
}
.duration[data-v-5113061a] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
}
.play-btn[data-v-5113061a] {
  width: 32px;
  height: 32px;
  border: none;
  background: linear-gradient(135deg, #a855f7, #ec4899);
  color: #fff;
  border-radius: 50%;
  cursor: pointer;
  font-size: 12px;
  opacity: 0;
  transition: opacity 0.3s;
}
.song-item:hover .play-btn[data-v-5113061a] {
  opacity: 1;
}
.footer[data-v-5113061a] {
  padding: 40px 60px;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.footer-links[data-v-5113061a] {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-bottom: 20px;
}
.footer-links a[data-v-5113061a] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}
.footer-links a[data-v-5113061a]:hover {
  color: #a855f7;
}
.copyright[data-v-5113061a] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.3);
}

.fitness-template[data-v-51b92a09] {
  min-height: 100vh;
  background: #f5f5f5;
  color: #333;
}
.navbar[data-v-51b92a09] {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  position: sticky;
  top: 0;
  z-index: 100;
}
.nav-container[data-v-51b92a09] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  height: 60px;
}
.logo[data-v-51b92a09] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.logo-icon[data-v-51b92a09] {
  font-size: 24px;
}
.logo-text[data-v-51b92a09] {
  font-size: 20px;
  font-weight: 700;
  color: #e74c3c;
}
.nav-links[data-v-51b92a09] {
  display: flex;
  gap: 32px;
}
.nav-links a[data-v-51b92a09] {
  font-size: 15px;
  color: #333;
  cursor: pointer;
}
.nav-links a[data-v-51b92a09]:hover, .nav-links a.active[data-v-51b92a09] {
  color: #e74c3c;
}
.nav-right[data-v-51b92a09] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.phone[data-v-51b92a09] {
  font-size: 14px;
  color: #666;
}
.trial-btn[data-v-51b92a09] {
  padding: 8px 20px;
  background: #e74c3c;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
}
.hero[data-v-51b92a09] {
  position: relative;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  padding: 80px 20px;
  overflow: hidden;
}
.hero-bg[data-v-51b92a09] {
  position: absolute;
  inset: 0;
}
.pulse-circle[data-v-51b92a09] {
  position: absolute;
  width: 400px;
  height: 400px;
  border: 2px solid rgba(231, 76, 60, 0.3);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: pulse-51b92a09 3s ease-out infinite;
}
.pulse-circle.delay[data-v-51b92a09] {
  animation-delay: 1.5s;
}
@keyframes pulse-51b92a09 {
0% { transform: translate(-50%, -50%) scale(0.5); opacity: 1;
}
100% { transform: translate(-50%, -50%) scale(1.5); opacity: 0;
}
}
.hero-content[data-v-51b92a09] {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
.hero-tag[data-v-51b92a09] {
  display: inline-block;
  padding: 8px 20px;
  background: rgba(231, 76, 60, 0.2);
  color: #e74c3c;
  border-radius: 20px;
  font-size: 14px;
  margin-bottom: 24px;
}
.hero h1[data-v-51b92a09] {
  font-size: 48px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.2;
}
.hero p[data-v-51b92a09] {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 32px;
}
.hero-stats[data-v-51b92a09] {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-bottom: 32px;
}
.stat[data-v-51b92a09] {
  text-align: center;
}
.stat-value[data-v-51b92a09] {
  display: block;
  font-size: 36px;
  font-weight: 700;
  color: #e74c3c;
}
.stat-label[data-v-51b92a09] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
}
.hero-buttons[data-v-51b92a09] {
  display: flex;
  justify-content: center;
  gap: 16px;
}
.btn-primary[data-v-51b92a09], .btn-outline[data-v-51b92a09] {
  padding: 14px 40px;
  font-size: 15px;
  font-weight: 500;
  border-radius: 6px;
  cursor: pointer;
}
.btn-primary[data-v-51b92a09] {
  background: #e74c3c;
  color: #fff;
  border: none;
}
.btn-outline[data-v-51b92a09] {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.animate-slide-down[data-v-51b92a09] { animation: slideDown-51b92a09 0.5s ease forwards;
}
.animate-slide-up[data-v-51b92a09] { animation: slideUp-51b92a09 0.5s ease forwards; animation-delay: 0.2s; opacity: 0;
}
.animate-fade-in[data-v-51b92a09] { animation: fadeIn-51b92a09 0.5s ease forwards; animation-delay: 0.4s; opacity: 0;
}
.animate-scale-in[data-v-51b92a09] { animation: scaleIn-51b92a09 0.5s ease forwards; animation-delay: 0.6s; opacity: 0;
}
@keyframes slideDown-51b92a09 {
from { opacity: 0; transform: translateY(-20px);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes slideUp-51b92a09 {
from { opacity: 0; transform: translateY(20px);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes fadeIn-51b92a09 {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes scaleIn-51b92a09 {
from { opacity: 0; transform: scale(0.95);
}
to { opacity: 1; transform: scale(1);
}
}
.schedule[data-v-51b92a09], .programs[data-v-51b92a09], .trainers[data-v-51b92a09], .pricing[data-v-51b92a09], .gallery[data-v-51b92a09], .reviews[data-v-51b92a09] {
  max-width: 1200px;
  margin: 40px auto;
  padding: 0 20px;
}
.schedule-header[data-v-51b92a09], .section-header[data-v-51b92a09] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.section-header.center[data-v-51b92a09] {
  flex-direction: column;
  text-align: center;
}
.section-header.center p[data-v-51b92a09] {
  color: #666;
  margin-top: 8px;
}
.section-header h2[data-v-51b92a09] {
  font-size: 22px;
  font-weight: 600;
}
.more-link[data-v-51b92a09] {
  font-size: 14px;
  color: #e74c3c;
  cursor: pointer;
}
.date-selector[data-v-51b92a09] {
  display: flex;
  gap: 8px;
}
.date-selector span[data-v-51b92a09] {
  padding: 8px 16px;
  background: #f5f5f5;
  border-radius: 20px;
  font-size: 13px;
  cursor: pointer;
}
.date-selector span.active[data-v-51b92a09] {
  background: #e74c3c;
  color: #fff;
}
.schedule-grid[data-v-51b92a09] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.class-card[data-v-51b92a09] {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  animation: fadeIn-51b92a09 0.3s ease forwards;
}
.class-time[data-v-51b92a09] {
  text-align: center;
  min-width: 60px;
}
.class-time .time[data-v-51b92a09] {
  display: block;
  font-size: 18px;
  font-weight: 600;
}
.class-time .duration[data-v-51b92a09] {
  font-size: 11px;
  color: #999;
}
.class-info[data-v-51b92a09] {
  flex: 1;
}
.class-info h3[data-v-51b92a09] {
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 4px;
}
.instructor[data-v-51b92a09] {
  font-size: 12px;
  color: #999;
  margin-bottom: 6px;
}
.class-meta[data-v-51b92a09] {
  display: flex;
  gap: 10px;
}
.level[data-v-51b92a09] {
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  color: #fff;
}
.spots[data-v-51b92a09] {
  font-size: 11px;
  color: #e74c3c;
}
.book-btn[data-v-51b92a09] {
  padding: 8px 16px;
  background: #e74c3c;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
}
.book-btn[data-v-51b92a09]:disabled {
  background: #ddd;
  color: #999;
}
.program-grid[data-v-51b92a09] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.program-card[data-v-51b92a09] {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  text-align: center;
  animation: fadeIn-51b92a09 0.3s ease forwards;
}
.prog-icon[data-v-51b92a09] {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin: 0 auto 16px;
}
.program-card h3[data-v-51b92a09] {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 8px;
}
.program-card p[data-v-51b92a09] {
  font-size: 13px;
  color: #666;
  margin-bottom: 12px;
}
.prog-meta[data-v-51b92a09] {
  display: flex;
  justify-content: center;
  gap: 16px;
  font-size: 12px;
  color: #999;
  margin-bottom: 16px;
}
.learn-btn[data-v-51b92a09] {
  padding: 8px 24px;
  background: transparent;
  border: 1px solid #e74c3c;
  color: #e74c3c;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
}
.trainers[data-v-51b92a09] {
  background: #fff;
  padding: 40px 20px;
  max-width: none;
}
.trainers-grid[data-v-51b92a09] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}
.trainer-card[data-v-51b92a09] {
  text-align: center;
  animation: fadeIn-51b92a09 0.3s ease forwards;
}
.trainer-avatar[data-v-51b92a09] {
  width: 100px;
  height: 100px;
  background: linear-gradient(135deg, #e74c3c, #c0392b);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  margin: 0 auto 16px;
}
.trainer-info h3[data-v-51b92a09] {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 4px;
}
.trainer-info .title[data-v-51b92a09] {
  font-size: 13px;
  color: #e74c3c;
  margin-bottom: 4px;
}
.trainer-info .spec[data-v-51b92a09] {
  font-size: 12px;
  color: #999;
  margin-bottom: 8px;
}
.trainer-stats[data-v-51b92a09] {
  display: flex;
  justify-content: center;
  gap: 16px;
  font-size: 12px;
  color: #666;
  margin-bottom: 12px;
}
.appoint-btn[data-v-51b92a09] {
  padding: 8px 24px;
  background: #e74c3c;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
}
.pricing-grid[data-v-51b92a09] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.pricing-card[data-v-51b92a09] {
  background: #fff;
  border-radius: 12px;
  padding: 32px 24px;
  text-align: center;
  position: relative;
  animation: fadeIn-51b92a09 0.3s ease forwards;
}
.pricing-card.popular[data-v-51b92a09] {
  border: 2px solid #e74c3c;
  transform: scale(1.05);
}
.plan-badge[data-v-51b92a09] {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 20px;
  background: #e74c3c;
  color: #fff;
  border-radius: 20px;
  font-size: 12px;
}
.pricing-card h3[data-v-51b92a09] {
  font-size: 20px;
  margin-bottom: 16px;
}
.price[data-v-51b92a09] {
  margin-bottom: 24px;
}
.price .amount[data-v-51b92a09] {
  font-size: 36px;
  font-weight: 700;
  color: #e74c3c;
}
.price .period[data-v-51b92a09] {
  font-size: 14px;
  color: #999;
}
.features-list[data-v-51b92a09] {
  list-style: none;
  text-align: left;
  margin-bottom: 24px;
}
.features-list li[data-v-51b92a09] {
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #666;
}
.features-list li.check[data-v-51b92a09] {
  color: #333;
}
.buy-btn[data-v-51b92a09] {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  background: #fff;
  font-size: 14px;
  border-radius: 6px;
  cursor: pointer;
}
.buy-btn.primary[data-v-51b92a09] {
  background: #e74c3c;
  color: #fff;
  border: none;
}
.gallery h2[data-v-51b92a09], .reviews h2[data-v-51b92a09] {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 24px;
}
.gallery-grid[data-v-51b92a09] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}
.gallery-item[data-v-51b92a09] {
  height: 120px;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.3s;
}
.gallery-item[data-v-51b92a09]:hover {
  transform: scale(1.05);
}
.gallery-icon[data-v-51b92a09] {
  font-size: 32px;
  margin-bottom: 8px;
}
.gallery-name[data-v-51b92a09] {
  font-size: 12px;
  color: #fff;
}
.reviews-slider[data-v-51b92a09] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.review-card[data-v-51b92a09] {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
}
.review-header[data-v-51b92a09] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.review-avatar[data-v-51b92a09] {
  font-size: 32px;
}
.review-name[data-v-51b92a09] {
  display: block;
  font-size: 14px;
  font-weight: 500;
}
.review-rating[data-v-51b92a09] {
  font-size: 12px;
  color: #f5a623;
}
.review-content[data-v-51b92a09] {
  font-size: 14px;
  line-height: 1.6;
  color: #666;
  margin-bottom: 12px;
}
.review-date[data-v-51b92a09] {
  font-size: 12px;
  color: #999;
}
.footer[data-v-51b92a09] {
  background: #1a1a1a;
  color: #fff;
  padding: 60px 20px 30px;
}
.footer-main[data-v-51b92a09] {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto 40px;
}
.footer-brand[data-v-51b92a09] {
  font-size: 20px;
  font-weight: 600;
  color: #e74c3c;
  margin-bottom: 16px;
}
.footer-info p[data-v-51b92a09], .footer-links a[data-v-51b92a09] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 8px;
}
.footer-links a[data-v-51b92a09] {
  display: block;
  cursor: pointer;
}
.footer-links a[data-v-51b92a09]:hover {
  color: #e74c3c;
}
.qr-placeholder[data-v-51b92a09] {
  width: 100px;
  height: 100px;
  background: #fff;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  margin-bottom: 8px;
}
.footer-qr p[data-v-51b92a09] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
}
.copyright[data-v-51b92a09] {
  text-align: center;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 24px;
}
.modal[data-v-51b92a09] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.modal-content[data-v-51b92a09] {
  background: #fff;
  border-radius: 12px;
  padding: 32px;
  width: 400px;
  position: relative;
}
.modal-content h3[data-v-51b92a09] {
  font-size: 20px;
  margin-bottom: 24px;
  text-align: center;
}
.modal-content form[data-v-51b92a09] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.modal-content input[data-v-51b92a09], .modal-content select[data-v-51b92a09] {
  padding: 12px;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  font-size: 14px;
}
.submit-btn[data-v-51b92a09] {
  padding: 12px;
  background: #e74c3c;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 15px;
  cursor: pointer;
}
.close-btn[data-v-51b92a09] {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #999;
}

.tech-template[data-v-156d92ec] {
  min-height: 100vh;
  background: #f5f5f5;
  color: #333;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* 顶部通知栏 */
.top-bar[data-v-156d92ec] {
  background: #333;
  color: #b0b0b0;
  font-size: 12px;
}
.top-content[data-v-156d92ec] {
  max-width: 1226px;
  margin: 0 auto;
  padding: 8px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.top-content a[data-v-156d92ec] {
  color: #ff6700;
  cursor: pointer;
}

/* 主导航 */
.navbar[data-v-156d92ec] {
  background: #fff;
  border-bottom: 1px solid #e0e0e0;
  position: sticky;
  top: 0;
  z-index: 100;
}
.nav-left[data-v-156d92ec], .nav-right[data-v-156d92ec] {
  display: flex;
  align-items: center;
}
.navbar[data-v-156d92ec] > * {
  max-width: 1226px;
  margin: 0 auto;
  padding: 0 20px;
}
.navbar[data-v-156d92ec] {
  display: flex;
  justify-content: space-between;
  padding: 15px 0;
}
.logo[data-v-156d92ec] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.logo-icon[data-v-156d92ec] {
  width: 36px;
  height: 36px;
  background: #ff6700;
  color: #fff;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
}
.logo-text[data-v-156d92ec] {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}
.nav-links[data-v-156d92ec] {
  display: flex;
  gap: 32px;
  margin-left: 40px;
}
.nav-link[data-v-156d92ec] {
  font-size: 14px;
  color: #333;
  cursor: pointer;
  padding: 8px 0;
  transition: color 0.2s;
}
.nav-link[data-v-156d92ec]:hover, .nav-link.active[data-v-156d92ec] {
  color: #ff6700;
}
.search-box[data-v-156d92ec] {
  display: flex;
  border: 2px solid #ff6700;
  border-radius: 4px;
  overflow: hidden;
}
.search-box input[data-v-156d92ec] {
  border: none;
  padding: 8px 12px;
  width: 180px;
  font-size: 13px;
  outline: none;
}
.search-btn[data-v-156d92ec] {
  background: #fff;
  border: none;
  padding: 0 12px;
  cursor: pointer;
}
.user-actions[data-v-156d92ec] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: 20px;
}
.user-link[data-v-156d92ec] {
  font-size: 13px;
  color: #666;
  cursor: pointer;
}
.user-link[data-v-156d92ec]:hover {
  color: #ff6700;
}
.cart-link[data-v-156d92ec] {
  position: relative;
  cursor: pointer;
}
.cart-count[data-v-156d92ec] {
  position: absolute;
  top: -8px;
  right: -8px;
  background: #ff6700;
  color: #fff;
  font-size: 10px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 分类导航 */
.category-nav[data-v-156d92ec] {
  background: #fff;
  border-bottom: 1px solid #e0e0e0;
}
.category-container[data-v-156d92ec] {
  max-width: 1226px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
}
.category-menu[data-v-156d92ec] {
  background: #ff6700;
  color: #fff;
  padding: 12px 24px;
  cursor: pointer;
}
.menu-title[data-v-156d92ec] {
  font-size: 14px;
}
.category-list[data-v-156d92ec] {
  display: flex;
  gap: 32px;
  padding: 12px 24px;
}
.cat-item[data-v-156d92ec] {
  font-size: 13px;
  color: #666;
  cursor: pointer;
  transition: color 0.2s;
}
.cat-item[data-v-156d92ec]:hover {
  color: #ff6700;
}

/* 主横幅 */
.hero-banner[data-v-156d92ec] {
  max-width: 1226px;
  margin: 20px auto;
  padding: 0 20px;
}
.banner-container[data-v-156d92ec] {
  display: flex;
  gap: 12px;
}
.banner-slide[data-v-156d92ec] {
  flex: 1;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 60px;
  position: relative;
  overflow: hidden;
  animation: fadeIn-156d92ec 0.5s ease;
}
@keyframes fadeIn-156d92ec {
from { opacity: 0;
}
to { opacity: 1;
}
}
.banner-content[data-v-156d92ec] {
  color: #fff;
  z-index: 1;
}
.banner-tag[data-v-156d92ec] {
  display: inline-block;
  padding: 4px 12px;
  background: #ff6700;
  border-radius: 4px;
  font-size: 12px;
  margin-bottom: 16px;
}
.banner-content h2[data-v-156d92ec] {
  font-size: 42px;
  font-weight: 300;
  margin-bottom: 12px;
}
.banner-content p[data-v-156d92ec] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 20px;
}
.banner-price[data-v-156d92ec] {
  margin-bottom: 24px;
}
.price-label[data-v-156d92ec] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  margin-right: 8px;
}
.price-value[data-v-156d92ec] {
  font-size: 28px;
  font-weight: 600;
  color: #ff6700;
}
.banner-btn[data-v-156d92ec] {
  padding: 12px 32px;
  background: #ff6700;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s;
}
.banner-btn[data-v-156d92ec]:hover {
  background: #f25807;
  transform: translateY(-2px);
}
.banner-visual[data-v-156d92ec] {
  z-index: 1;
}
.banner-emoji[data-v-156d92ec] {
  font-size: 120px;
  animation: float-156d92ec 3s ease-in-out infinite;
}
@keyframes float-156d92ec {
0%, 100% { transform: translateY(0);
}
50% { transform: translateY(-15px);
}
}
.banner-dots[data-v-156d92ec] {
  position: absolute;
  bottom: 20px;
  left: 60px;
  display: flex;
  gap: 8px;
}
.dot[data-v-156d92ec] {
  width: 24px;
  height: 4px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.3s;
}
.dot.active[data-v-156d92ec] {
  background: #fff;
  width: 32px;
}
.banner-side[data-v-156d92ec] {
  width: 240px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.side-item[data-v-156d92ec] {
  flex: 1;
  border-radius: 8px;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  transition: transform 0.3s;
}
.side-item[data-v-156d92ec]:hover {
  transform: translateX(-5px);
}
.side-info[data-v-156d92ec] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.side-title[data-v-156d92ec] {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
}
.side-price[data-v-156d92ec] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.8);
}
.side-emoji[data-v-156d92ec] {
  font-size: 32px;
}

/* 热门商品 */
.hot-products[data-v-156d92ec], .new-releases[data-v-156d92ec], .smart-home[data-v-156d92ec] {
  max-width: 1226px;
  margin: 40px auto;
  padding: 0 20px;
}
.section-header[data-v-156d92ec] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.section-header h2[data-v-156d92ec] {
  font-size: 22px;
  font-weight: 500;
  color: #333;
}
.more-link[data-v-156d92ec] {
  font-size: 13px;
  color: #666;
  cursor: pointer;
}
.more-link[data-v-156d92ec]:hover {
  color: #ff6700;
}
.products-grid[data-v-156d92ec] {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.product-card[data-v-156d92ec] {
  background: #fff;
  border-radius: 8px;
  padding: 24px 16px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s;
  animation: slideUp-156d92ec 0.5s ease forwards;
  opacity: 0;
}
@keyframes slideUp-156d92ec {
from { opacity: 0; transform: translateY(20px);
}
to { opacity: 1; transform: translateY(0);
}
}
.product-card[data-v-156d92ec]:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.product-image[data-v-156d92ec] {
  width: 140px;
  height: 140px;
  margin: 0 auto 16px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.product-emoji[data-v-156d92ec] {
  font-size: 56px;
}
.product-tag[data-v-156d92ec] {
  position: absolute;
  top: 0;
  left: 0;
  background: #ff6700;
  color: #fff;
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 4px 0;
}
.product-info h3[data-v-156d92ec] {
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 8px;
  color: #333;
}
.product-desc[data-v-156d92ec] {
  font-size: 12px;
  color: #999;
  margin-bottom: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-price[data-v-156d92ec] {
  margin-bottom: 4px;
}
.current[data-v-156d92ec] {
  font-size: 18px;
  font-weight: 600;
  color: #ff6700;
}
.original[data-v-156d92ec] {
  font-size: 12px;
  color: #999;
  text-decoration: line-through;
  margin-left: 4px;
}
.product-sales[data-v-156d92ec] {
  font-size: 11px;
  color: #999;
}

/* 新品发布 */
.releases-grid[data-v-156d92ec] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.release-card[data-v-156d92ec] {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s;
  animation: slideUp-156d92ec 0.5s ease forwards;
  opacity: 0;
}
.release-card[data-v-156d92ec]:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.release-header[data-v-156d92ec] {
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.release-emoji[data-v-156d92ec] {
  font-size: 80px;
}
.release-badge[data-v-156d92ec] {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #ff6700;
  color: #fff;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 4px;
}
.release-body[data-v-156d92ec] {
  padding: 20px;
}
.release-body h3[data-v-156d92ec] {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
}
.release-specs[data-v-156d92ec] {
  font-size: 12px;
  color: #999;
  margin-bottom: 12px;
}
.release-features[data-v-156d92ec] {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}
.release-features span[data-v-156d92ec] {
  font-size: 11px;
  color: #666;
  background: #f5f5f5;
  padding: 4px 8px;
  border-radius: 4px;
}
.release-footer[data-v-156d92ec] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.release-price[data-v-156d92ec] {
  font-size: 18px;
  font-weight: 600;
  color: #ff6700;
}
.buy-btn[data-v-156d92ec] {
  padding: 8px 20px;
  background: #fff;
  border: 1px solid #ff6700;
  color: #ff6700;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.3s;
}
.buy-btn[data-v-156d92ec]:hover {
  background: #ff6700;
  color: #fff;
}

/* 服务 */
.services[data-v-156d92ec] {
  max-width: 1226px;
  margin: 40px auto;
  padding: 0 20px;
  display: flex;
  background: #fff;
  border-radius: 8px;
}
.service-item[data-v-156d92ec] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 32px 16px;
  border-right: 1px solid #f0f0f0;
}
.service-item[data-v-156d92ec]:last-child {
  border-right: none;
}
.service-icon[data-v-156d92ec] {
  font-size: 28px;
}
.service-info[data-v-156d92ec] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.service-title[data-v-156d92ec] {
  font-size: 14px;
  font-weight: 500;
}
.service-desc[data-v-156d92ec] {
  font-size: 12px;
  color: #999;
}

/* 智能家居 */
.home-grid[data-v-156d92ec] {
  display: flex;
  gap: 12px;
}
.home-main[data-v-156d92ec] {
  width: 600px;
  border-radius: 8px;
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  transition: transform 0.3s;
}
.home-main[data-v-156d92ec]:hover {
  transform: scale(1.02);
}
.home-emoji[data-v-156d92ec] {
  font-size: 100px;
}
.home-info[data-v-156d92ec] {
  color: #fff;
}
.home-info h3[data-v-156d92ec] {
  font-size: 24px;
  font-weight: 400;
  margin-bottom: 8px;
}
.home-info p[data-v-156d92ec] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 16px;
}
.home-price[data-v-156d92ec] {
  font-size: 16px;
  color: #ff6700;
}
.home-side[data-v-156d92ec] {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.home-item[data-v-156d92ec] {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  transition: all 0.3s;
  animation: slideUp-156d92ec 0.5s ease forwards;
  opacity: 0;
}
.home-item[data-v-156d92ec]:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.home-item-name[data-v-156d92ec] {
  font-size: 14px;
  font-weight: 500;
  display: block;
  margin-bottom: 4px;
}
.home-item-price[data-v-156d92ec] {
  font-size: 14px;
  color: #ff6700;
}
.home-item-emoji[data-v-156d92ec] {
  font-size: 36px;
}

/* 底部 */
.footer[data-v-156d92ec] {
  background: #1f1f1f;
  color: #fff;
  padding: 40px 0 0;
  margin-top: 60px;
}
.footer-main[data-v-156d92ec] {
  max-width: 1226px;
  margin: 0 auto;
  padding: 0 20px 40px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #333;
}
.footer-links[data-v-156d92ec] {
  display: flex;
  gap: 80px;
}
.link-group h4[data-v-156d92ec] {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 16px;
}
.link-group a[data-v-156d92ec] {
  display: block;
  font-size: 12px;
  color: #888;
  margin-bottom: 10px;
  cursor: pointer;
  transition: color 0.2s;
}
.link-group a[data-v-156d92ec]:hover {
  color: #ff6700;
}
.footer-contact[data-v-156d92ec] {
  text-align: right;
}
.hotline-label[data-v-156d92ec] {
  font-size: 12px;
  color: #888;
  display: block;
  margin-bottom: 4px;
}
.hotline-number[data-v-156d92ec] {
  font-size: 24px;
  font-weight: 500;
  color: #ff6700;
  display: block;
  margin-bottom: 16px;
}
.contact-btns[data-v-156d92ec] {
  display: flex;
  gap: 12px;
}
.contact-btn[data-v-156d92ec] {
  padding: 10px 24px;
  background: #ff6700;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
}
.contact-btn.outline[data-v-156d92ec] {
  background: transparent;
  border: 1px solid #666;
  color: #888;
}
.footer-bottom[data-v-156d92ec] {
  padding: 24px 20px;
  text-align: center;
}
.footer-bottom p[data-v-156d92ec] {
  font-size: 12px;
  color: #666;
}

.portfolio-template[data-v-9de3576b] {
  min-height: 100vh;
  background: #0a0a0f;
  color: #fff;
}
.navbar[data-v-9de3576b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 60px;
  background: rgba(10, 10, 15, 0.9);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  position: sticky;
  top: 0;
  z-index: 100;
}
.logo[data-v-9de3576b] {
  font-size: 16px;
  font-weight: 600;
  background: linear-gradient(135deg, #a855f7, #ec4899);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.nav-links[data-v-9de3576b] {
  display: flex;
  gap: 32px;
}
.nav-link[data-v-9de3576b] {
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
  cursor: pointer;
  transition: color 0.3s;
}
.nav-link[data-v-9de3576b]:hover {
  color: #a855f7;
}
.hero[data-v-9de3576b] {
  position: relative;
  padding: 120px 60px;
  text-align: center;
  overflow: hidden;
}
.hero-visual[data-v-9de3576b] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.floating-shape[data-v-9de3576b] {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  animation: float-9de3576b 10s ease-in-out infinite;
}
.shape1[data-v-9de3576b] {
  width: 400px;
  height: 400px;
  background: rgba(168, 85, 247, 0.2);
  top: -100px;
  left: -100px;
}
.shape2[data-v-9de3576b] {
  width: 300px;
  height: 300px;
  background: rgba(236, 72, 153, 0.2);
  bottom: -50px;
  right: -50px;
  animation-delay: -5s;
}
@keyframes float-9de3576b {
0%, 100% { transform: translate(0, 0) scale(1);
}
50% { transform: translate(30px, -30px) scale(1.1);
}
}
.hero-content[data-v-9de3576b] {
  position: relative;
  z-index: 1;
}
.greeting[data-v-9de3576b] {
  display: block;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 16px;
}
.hero h1[data-v-9de3576b] {
  margin-bottom: 24px;
}
.name[data-v-9de3576b] {
  display: block;
  font-size: 64px;
  font-weight: 800;
  background: linear-gradient(135deg, #a855f7, #ec4899);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.1;
}
.role[data-v-9de3576b] {
  display: block;
  font-size: 20px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 4px;
  margin-top: 8px;
}
.hero-desc[data-v-9de3576b] {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 40px;
}
.hero-buttons[data-v-9de3576b] {
  display: flex;
  gap: 16px;
  justify-content: center;
}
.btn-primary[data-v-9de3576b], .btn-outline[data-v-9de3576b] {
  padding: 14px 32px;
  font-size: 15px;
  font-weight: 500;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s;
}
.btn-primary[data-v-9de3576b] {
  border: none;
  background: linear-gradient(135deg, #a855f7, #ec4899);
  color: #fff;
  box-shadow: 0 10px 30px rgba(168, 85, 247, 0.4);
}
.btn-primary[data-v-9de3576b]:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 40px rgba(168, 85, 247, 0.5);
}
.btn-outline[data-v-9de3576b] {
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
  color: #fff;
}
.btn-outline[data-v-9de3576b]:hover {
  border-color: #a855f7;
}

/* 动画 */
@keyframes slideDown-9de3576b {
from { opacity: 0; transform: translateY(-20px);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes slideUp-9de3576b {
from { opacity: 0; transform: translateY(30px);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes fadeIn-9de3576b {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes scaleIn-9de3576b {
from { opacity: 0; transform: scale(0.95);
}
to { opacity: 1; transform: scale(1);
}
}
.animate-slide-down[data-v-9de3576b] { animation: slideDown-9de3576b 0.6s ease forwards;
}
.animate-slide-up[data-v-9de3576b] { animation: slideUp-9de3576b 0.6s ease forwards; opacity: 0; animation-delay: 0.2s;
}
.animate-fade-in[data-v-9de3576b] { animation: fadeIn-9de3576b 0.6s ease forwards; opacity: 0; animation-delay: 0.4s;
}
.animate-scale-in[data-v-9de3576b] { animation: scaleIn-9de3576b 0.5s ease forwards; opacity: 0; animation-delay: 0.6s;
}
.skills-section[data-v-9de3576b], .works[data-v-9de3576b], .experience[data-v-9de3576b], .contact[data-v-9de3576b] {
  padding: 80px 60px;
  max-width: 1000px;
  margin: 0 auto;
}
.skills-section h2[data-v-9de3576b], .works h2[data-v-9de3576b], .experience h2[data-v-9de3576b], .contact h2[data-v-9de3576b] {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 48px;
  text-align: center;
  background: linear-gradient(135deg, #fff, #a855f7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.skills-grid[data-v-9de3576b] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.skill-item[data-v-9de3576b] {
  display: flex;
  align-items: center;
  gap: 16px;
  animation: slideUp-9de3576b 0.5s ease forwards;
  opacity: 0;
}
.skill-name[data-v-9de3576b] {
  width: 120px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
}
.skill-bar[data-v-9de3576b] {
  flex: 1;
  height: 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  overflow: hidden;
}
.skill-level[data-v-9de3576b] {
  height: 100%;
  background: linear-gradient(135deg, #a855f7, #ec4899);
  border-radius: 4px;
  transition: width 1s ease;
}
.works-grid[data-v-9de3576b] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.work-card[data-v-9de3576b] {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.4s;
  animation: slideUp-9de3576b 0.5s ease forwards;
  opacity: 0;
}
.work-card[data-v-9de3576b]:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 60px rgba(168, 85, 247, 0.2);
}
.work-image[data-v-9de3576b] {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.work-icon[data-v-9de3576b] {
  font-size: 48px;
  transition: transform 0.3s;
}
.work-card:hover .work-icon[data-v-9de3576b] {
  transform: scale(1.1);
}
.work-info[data-v-9de3576b] {
  padding: 20px;
}
.work-info h3[data-v-9de3576b] {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
}
.work-info p[data-v-9de3576b] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
}
.experience[data-v-9de3576b] {
  background: rgba(255, 255, 255, 0.02);
  border-radius: 20px;
  margin: 0 60px 80px;
  max-width: none;
}
.exp-timeline[data-v-9de3576b] {
  max-width: 700px;
  margin: 0 auto;
  position: relative;
}
.exp-timeline[data-v-9de3576b]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, #a855f7, #ec4899);
}
.exp-item[data-v-9de3576b] {
  display: flex;
  gap: 32px;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  animation: slideUp-9de3576b 0.5s ease forwards;
  opacity: 0;
}
.exp-item[data-v-9de3576b]:last-child {
  border-bottom: none;
}
.exp-period[data-v-9de3576b] {
  width: 120px;
  font-size: 14px;
  color: #a855f7;
  flex-shrink: 0;
  padding-left: 20px;
  position: relative;
}
.exp-period[data-v-9de3576b]::before {
  content: '';
  position: absolute;
  left: -5px;
  top: 8px;
  width: 12px;
  height: 12px;
  background: #a855f7;
  border-radius: 50%;
}
.exp-content h3[data-v-9de3576b] {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 4px;
}
.exp-role[data-v-9de3576b] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 8px;
}
.exp-desc[data-v-9de3576b] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
}
.contact[data-v-9de3576b] {
  text-align: center;
  padding: 60px;
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.1), rgba(236, 72, 153, 0.1));
  border-radius: 20px;
  margin: 0 60px 80px;
  max-width: none;
}
.contact-info[data-v-9de3576b] {
  display: flex;
  justify-content: center;
  gap: 60px;
  flex-wrap: wrap;
}
.contact-item[data-v-9de3576b] {
  text-align: center;
}
.contact-item .label[data-v-9de3576b] {
  display: block;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 8px;
}
.contact-item span[data-v-9de3576b]:last-child {
  font-size: 16px;
}
.footer[data-v-9de3576b] {
  padding: 40px 60px;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.footer p[data-v-9de3576b] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.4);
}

.restaurant-template[data-v-641a5a5d] {
  min-height: 100vh;
  background: linear-gradient(180deg, #1a0a0a 0%, #2d1810 100%);
  color: #fff;
}
.navbar[data-v-641a5a5d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 60px;
  background: rgba(26, 10, 10, 0.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
  position: sticky;
  top: 0;
  z-index: 100;
}
.logo[data-v-641a5a5d] {
  font-size: 20px;
  font-weight: 700;
  color: #d4af37;
}
.nav-links[data-v-641a5a5d] {
  display: flex;
  gap: 40px;
}
.nav-links a[data-v-641a5a5d] {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  cursor: pointer;
  transition: color 0.3s;
}
.nav-links a[data-v-641a5a5d]:hover {
  color: #d4af37;
}
.reserve-btn[data-v-641a5a5d] {
  padding: 10px 24px;
  border: 1px solid #d4af37;
  background: transparent;
  color: #d4af37;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.3s;
}
.reserve-btn[data-v-641a5a5d]:hover {
  background: #d4af37;
  color: #1a0a0a;
}
.hero[data-v-641a5a5d] {
  position: relative;
  padding: 100px 60px;
  text-align: center;
  overflow: hidden;
}
.hero-bg[data-v-641a5a5d] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.steam[data-v-641a5a5d] {
  position: absolute;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.2), transparent);
  border-radius: 50%;
  animation: steamRise-641a5a5d 4s ease-in-out infinite;
}
.steam1[data-v-641a5a5d] { bottom: 20%; left: 20%;
}
.steam2[data-v-641a5a5d] { bottom: 30%; right: 25%; animation-delay: -2s;
}
@keyframes steamRise-641a5a5d {
0% { transform: translateY(0) scale(1); opacity: 0;
}
50% { opacity: 0.5;
}
100% { transform: translateY(-150px) scale(2); opacity: 0;
}
}
.hero-content[data-v-641a5a5d] {
  position: relative;
  z-index: 1;
}
.badge[data-v-641a5a5d] {
  display: inline-block;
  padding: 8px 20px;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.2), rgba(212, 175, 55, 0.1));
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 20px;
  font-size: 14px;
  color: #d4af37;
  margin-bottom: 20px;
}
.hero h1[data-v-641a5a5d] {
  font-size: 56px;
  font-weight: 800;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #d4af37, #f4e4ba, #d4af37);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero p[data-v-641a5a5d] {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 32px;
  letter-spacing: 4px;
}
.hero-buttons[data-v-641a5a5d] {
  display: flex;
  gap: 16px;
  justify-content: center;
}
.btn-primary[data-v-641a5a5d], .btn-outline[data-v-641a5a5d] {
  padding: 14px 32px;
  font-size: 15px;
  font-weight: 500;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s;
}
.btn-primary[data-v-641a5a5d] {
  border: none;
  background: linear-gradient(135deg, #d4af37, #c9a227);
  color: #1a0a0a;
  box-shadow: 0 10px 30px rgba(212, 175, 55, 0.3);
}
.btn-primary[data-v-641a5a5d]:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 40px rgba(212, 175, 55, 0.4);
}
.btn-outline[data-v-641a5a5d] {
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: transparent;
  color: #fff;
}
.btn-outline[data-v-641a5a5d]:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* 动画 */
@keyframes slideUp-641a5a5d {
from { opacity: 0; transform: translateY(30px);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes fadeIn-641a5a5d {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes scaleIn-641a5a5d {
from { opacity: 0; transform: scale(0.9);
}
to { opacity: 1; transform: scale(1);
}
}
.animate-slide-up[data-v-641a5a5d] { animation: slideUp-641a5a5d 0.6s ease forwards;
}
.animate-fade-in[data-v-641a5a5d] { animation: fadeIn-641a5a5d 0.6s ease forwards; opacity: 0; animation-delay: 0.2s;
}
.animate-scale-in[data-v-641a5a5d] { animation: scaleIn-641a5a5d 0.5s ease forwards; opacity: 0; animation-delay: 0.4s;
}
.specials[data-v-641a5a5d], .about[data-v-641a5a5d], .reservation[data-v-641a5a5d] {
  padding: 80px 60px;
  max-width: 1200px;
  margin: 0 auto;
}
.specials h2[data-v-641a5a5d], .about h2[data-v-641a5a5d], .reservation h2[data-v-641a5a5d] {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 40px;
  text-align: center;
  color: #d4af37;
}
.dishes-grid[data-v-641a5a5d] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.dish-card[data-v-641a5a5d] {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(212, 175, 55, 0.1);
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s;
  animation: slideUp-641a5a5d 0.5s ease forwards;
  opacity: 0;
}
.dish-card[data-v-641a5a5d]:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(212, 175, 55, 0.1);
}
.dish-image[data-v-641a5a5d] {
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.dish-emoji[data-v-641a5a5d] {
  font-size: 48px;
}
.dish-tag[data-v-641a5a5d] {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 12px;
  background: linear-gradient(135deg, #d4af37, #c9a227);
  color: #1a0a0a;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
}
.dish-info[data-v-641a5a5d] {
  padding: 16px;
}
.dish-info h3[data-v-641a5a5d] {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
}
.dish-info p[data-v-641a5a5d] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 12px;
}
.dish-footer[data-v-641a5a5d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.price[data-v-641a5a5d] {
  font-size: 20px;
  font-weight: 700;
  color: #d4af37;
}
.add-btn[data-v-641a5a5d] {
  padding: 8px 16px;
  border: none;
  background: linear-gradient(135deg, #d4af37, #c9a227);
  color: #1a0a0a;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  transition: transform 0.2s;
}
.add-btn[data-v-641a5a5d]:hover {
  transform: scale(1.05);
}
.about[data-v-641a5a5d] {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 20px;
  margin: 0 60px;
  max-width: none;
}
.about-content[data-v-641a5a5d] {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}
.about-content p[data-v-641a5a5d] {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.8;
  margin-bottom: 32px;
}
.features[data-v-641a5a5d] {
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
}
.feature[data-v-641a5a5d] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
}
.feature-icon[data-v-641a5a5d] {
  font-size: 20px;
}
.reservation[data-v-641a5a5d] {
  text-align: center;
}
.res-form[data-v-641a5a5d] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  max-width: 500px;
  margin: 0 auto;
}
.res-form input[data-v-641a5a5d], .res-form select[data-v-641a5a5d] {
  padding: 12px 16px;
  border: 1px solid rgba(212, 175, 55, 0.2);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  font-size: 14px;
}
.res-form input[data-v-641a5a5d]::-moz-placeholder {
  color: rgba(255, 255, 255, 0.4);
}
.res-form input[data-v-641a5a5d]::placeholder {
  color: rgba(255, 255, 255, 0.4);
}
.submit-btn[data-v-641a5a5d] {
  grid-column: span 2;
  padding: 14px;
  border: none;
  background: linear-gradient(135deg, #d4af37, #c9a227);
  color: #1a0a0a;
  font-size: 15px;
  font-weight: 500;
  border-radius: 4px;
  cursor: pointer;
  transition: transform 0.2s;
}
.submit-btn[data-v-641a5a5d]:hover {
  transform: scale(1.02);
}
.footer[data-v-641a5a5d] {
  background: #0a0505;
  padding: 60px;
  text-align: center;
}
.footer-brand[data-v-641a5a5d] {
  font-size: 24px;
  font-weight: 700;
  color: #d4af37;
  margin-bottom: 16px;
}
.footer-info p[data-v-641a5a5d] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 8px;
}
.copyright[data-v-641a5a5d] {
  margin-top: 24px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.3);
}

.travel-template[data-v-506cfa2d] {
  min-height: 100vh;
  background: #f5f7fa;
  color: #333;
}
.navbar[data-v-506cfa2d] {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  position: sticky;
  top: 0;
  z-index: 100;
}
.nav-container[data-v-506cfa2d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  height: 60px;
}
.logo[data-v-506cfa2d] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.logo-icon[data-v-506cfa2d] {
  font-size: 28px;
}
.logo-text[data-v-506cfa2d] {
  font-size: 20px;
  font-weight: 700;
  color: #ff7d00;
}
.nav-links[data-v-506cfa2d] {
  display: flex;
  gap: 32px;
}
.nav-links a[data-v-506cfa2d] {
  font-size: 15px;
  color: #333;
  cursor: pointer;
  position: relative;
}
.nav-links a[data-v-506cfa2d]:hover, .nav-links a.active[data-v-506cfa2d] {
  color: #ff7d00;
}
.nav-links a.active[data-v-506cfa2d]::after {
  content: '';
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
  height: 3px;
  background: #ff7d00;
}
.nav-right[data-v-506cfa2d] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.nav-phone[data-v-506cfa2d] {
  font-size: 14px;
  color: #666;
}
.login-link[data-v-506cfa2d], .register-link[data-v-506cfa2d] {
  font-size: 14px;
  cursor: pointer;
}
.login-link[data-v-506cfa2d] {
  color: #666;
}
.register-link[data-v-506cfa2d] {
  padding: 6px 16px;
  background: #ff7d00;
  color: #fff;
  border-radius: 4px;
}
.hero[data-v-506cfa2d] {
  position: relative;
  padding: 60px 20px 100px;
  background: linear-gradient(135deg, #1a365d 0%, #2d3748 100%);
  overflow: hidden;
}
.hero-bg[data-v-506cfa2d] {
  position: absolute;
  inset: 0;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>');
  background-size: 30px 30px;
  opacity: 0.5;
}
.hero-content[data-v-506cfa2d] {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
}
.hero h1[data-v-506cfa2d] {
  font-size: 36px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
}
.hero p[data-v-506cfa2d] {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 32px;
}
.search-panel[data-v-506cfa2d] {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}
.search-tabs[data-v-506cfa2d] {
  display: flex;
  background: #f8f9fa;
  border-bottom: 1px solid #e8e8e8;
}
.search-tabs span[data-v-506cfa2d] {
  padding: 16px 32px;
  font-size: 15px;
  color: #666;
  cursor: pointer;
  transition: all 0.2s;
}
.search-tabs span[data-v-506cfa2d]:hover {
  color: #ff7d00;
}
.search-tabs span.active[data-v-506cfa2d] {
  background: #fff;
  color: #ff7d00;
  font-weight: 500;
  border-bottom: 2px solid #ff7d00;
}
.search-form[data-v-506cfa2d] {
  padding: 24px;
}
.search-row[data-v-506cfa2d] {
  display: flex;
  align-items: flex-end;
  gap: 16px;
}
.search-item[data-v-506cfa2d] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.search-item.large[data-v-506cfa2d] {
  flex: 1;
}
.search-item label[data-v-506cfa2d] {
  font-size: 12px;
  color: #999;
}
.search-item input[data-v-506cfa2d] {
  padding: 12px 16px;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  font-size: 14px;
  min-width: 140px;
}
.swap-btn[data-v-506cfa2d] {
  width: 36px;
  height: 36px;
  background: #f5f5f5;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-bottom: 4px;
}
.swap-btn[data-v-506cfa2d]:hover {
  background: #ff7d00;
  color: #fff;
}
.search-btn[data-v-506cfa2d] {
  padding: 12px 48px;
  background: linear-gradient(135deg, #ff7d00, #ff9500);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}
.search-btn[data-v-506cfa2d]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 125, 0, 0.4);
}
.quick-entry[data-v-506cfa2d] {
  max-width: 1200px;
  margin: -40px auto 0;
  padding: 0 20px;
  position: relative;
  z-index: 10;
}
.entry-grid[data-v-506cfa2d] {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 16px;
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.entry-item[data-v-506cfa2d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 12px;
  cursor: pointer;
  transition: transform 0.2s;
}
.entry-item[data-v-506cfa2d]:hover {
  transform: translateY(-4px);
}
.entry-icon[data-v-506cfa2d] {
  font-size: 32px;
}
.entry-name[data-v-506cfa2d] {
  font-size: 13px;
  color: #333;
}
.deals[data-v-506cfa2d], .destinations[data-v-506cfa2d], .hotels[data-v-506cfa2d] {
  max-width: 1200px;
  margin: 40px auto;
  padding: 0 20px;
}
.section-header[data-v-506cfa2d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.section-header h2[data-v-506cfa2d] {
  font-size: 22px;
  font-weight: 600;
}
.more-link[data-v-506cfa2d] {
  font-size: 14px;
  color: #ff7d00;
  cursor: pointer;
}
.dest-tabs[data-v-506cfa2d] {
  display: flex;
  gap: 24px;
}
.dest-tabs span[data-v-506cfa2d] {
  font-size: 14px;
  color: #666;
  cursor: pointer;
}
.dest-tabs span.active[data-v-506cfa2d] {
  color: #ff7d00;
  font-weight: 500;
}
.deals-grid[data-v-506cfa2d] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.deal-card[data-v-506cfa2d] {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s;
  animation: fadeIn-506cfa2d 0.4s ease forwards;
}
@keyframes fadeIn-506cfa2d {
from { opacity: 0; transform: translateY(10px);
}
to { opacity: 1; transform: translateY(0);
}
}
.deal-card[data-v-506cfa2d]:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.deal-image[data-v-506cfa2d] {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.deal-emoji[data-v-506cfa2d] {
  font-size: 48px;
}
.deal-tag[data-v-506cfa2d] {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  background: #ff4d4f;
  color: #fff;
  font-size: 11px;
  border-radius: 4px;
}
.deal-info[data-v-506cfa2d] {
  padding: 16px;
}
.deal-info h3[data-v-506cfa2d] {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 6px;
}
.deal-desc[data-v-506cfa2d] {
  font-size: 12px;
  color: #999;
  margin-bottom: 12px;
}
.deal-price[data-v-506cfa2d] {
  margin-bottom: 8px;
}
.deal-price .current[data-v-506cfa2d] {
  font-size: 20px;
  font-weight: 700;
  color: #ff4d4f;
}
.deal-price .original[data-v-506cfa2d] {
  font-size: 12px;
  color: #999;
  text-decoration: line-through;
  margin-left: 8px;
}
.deal-meta[data-v-506cfa2d] {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: #999;
}
.countdown[data-v-506cfa2d] {
  color: #ff4d4f;
}
.dest-grid[data-v-506cfa2d] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}
.dest-card[data-v-506cfa2d] {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s;
  animation: fadeIn-506cfa2d 0.4s ease forwards;
}
.dest-card[data-v-506cfa2d]:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.dest-image[data-v-506cfa2d] {
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dest-emoji[data-v-506cfa2d] {
  font-size: 40px;
}
.dest-info[data-v-506cfa2d] {
  padding: 12px;
}
.dest-info h3[data-v-506cfa2d] {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 4px;
}
.dest-info p[data-v-506cfa2d] {
  font-size: 12px;
  color: #999;
  margin-bottom: 8px;
}
.dest-meta[data-v-506cfa2d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.rating[data-v-506cfa2d] {
  font-size: 12px;
  color: #666;
}
.dest-meta .price[data-v-506cfa2d] {
  font-size: 14px;
  font-weight: 600;
  color: #ff7d00;
}
.hotel-grid[data-v-506cfa2d] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.hotel-card[data-v-506cfa2d] {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s;
  animation: fadeIn-506cfa2d 0.4s ease forwards;
}
.hotel-card[data-v-506cfa2d]:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.hotel-image[data-v-506cfa2d] {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.hotel-emoji[data-v-506cfa2d] {
  font-size: 56px;
}
.hotel-tags[data-v-506cfa2d] {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  gap: 8px;
}
.hotel-tags span[data-v-506cfa2d] {
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 11px;
  border-radius: 4px;
}
.hotel-info[data-v-506cfa2d] {
  padding: 16px;
}
.hotel-info h3[data-v-506cfa2d] {
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 6px;
}
.hotel-location[data-v-506cfa2d] {
  font-size: 12px;
  color: #999;
  margin-bottom: 12px;
}
.hotel-features[data-v-506cfa2d] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.hotel-features span[data-v-506cfa2d] {
  padding: 2px 8px;
  background: #f5f5f5;
  font-size: 11px;
  color: #666;
  border-radius: 4px;
}
.hotel-footer[data-v-506cfa2d] {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
}
.score[data-v-506cfa2d] {
  font-size: 18px;
  font-weight: 700;
  color: #ff7d00;
}
.reviews[data-v-506cfa2d] {
  font-size: 11px;
  color: #999;
}
.hotel-price .label[data-v-506cfa2d] {
  font-size: 12px;
  color: #999;
}
.hotel-price .amount[data-v-506cfa2d] {
  font-size: 20px;
  font-weight: 700;
  color: #ff4d4f;
}
.services[data-v-506cfa2d] {
  display: flex;
  background: #fff;
  max-width: 1200px;
  margin: 40px auto;
  padding: 0 20px;
  border-radius: 12px;
}
.service-item[data-v-506cfa2d] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 32px 16px;
  border-right: 1px solid #f0f0f0;
}
.service-item[data-v-506cfa2d]:last-child {
  border-right: none;
}
.service-icon[data-v-506cfa2d] {
  font-size: 28px;
}
.service-info[data-v-506cfa2d] {
  display: flex;
  flex-direction: column;
}
.service-title[data-v-506cfa2d] {
  font-size: 14px;
  font-weight: 500;
}
.service-desc[data-v-506cfa2d] {
  font-size: 12px;
  color: #999;
}
.footer[data-v-506cfa2d] {
  background: #1a1a1a;
  color: #fff;
  padding: 60px 20px 30px;
}
.footer-main[data-v-506cfa2d] {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto 40px;
}
.footer-links[data-v-506cfa2d] {
  display: flex;
  gap: 80px;
}
.link-group h4[data-v-506cfa2d] {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 16px;
}
.link-group a[data-v-506cfa2d] {
  display: block;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 10px;
  cursor: pointer;
}
.link-group a[data-v-506cfa2d]:hover {
  color: #ff7d00;
}
.footer-contact h4[data-v-506cfa2d] {
  font-size: 14px;
  margin-bottom: 12px;
}
.hotline[data-v-506cfa2d] {
  font-size: 24px;
  font-weight: 600;
  color: #ff7d00;
  margin-bottom: 8px;
}
.footer-contact p[data-v-506cfa2d] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 16px;
}
.contact-btns[data-v-506cfa2d] {
  display: flex;
  gap: 12px;
}
.contact-btns button[data-v-506cfa2d] {
  padding: 8px 20px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
}
.copyright[data-v-506cfa2d] {
  text-align: center;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 24px;
}

.minimal-template[data-v-88516dbc] {
  min-height: 100vh;
  background: #fafafa;
  color: #1a1a1a;
}
.navbar[data-v-88516dbc] {
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 100;
}
.nav-container[data-v-88516dbc] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}
.logo[data-v-88516dbc] {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 2px;
}
.nav-links[data-v-88516dbc] {
  display: flex;
  gap: 40px;
}
.nav-links a[data-v-88516dbc] {
  font-size: 14px;
  color: #666;
  cursor: pointer;
  transition: color 0.2s;
}
.nav-links a[data-v-88516dbc]:hover, .nav-links a.active[data-v-88516dbc] {
  color: #1a1a1a;
}
.contact-btn[data-v-88516dbc] {
  padding: 10px 24px;
  background: #1a1a1a;
  color: #fff;
  border: none;
  font-size: 13px;
  cursor: pointer;
}
.hero[data-v-88516dbc] {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  padding: 80px 20px;
  overflow: hidden;
}
.hero-content[data-v-88516dbc] {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}
.hero-label[data-v-88516dbc] {
  font-size: 12px;
  letter-spacing: 4px;
  color: #999;
  text-transform: uppercase;
}
.hero h1[data-v-88516dbc] {
  font-size: 56px;
  font-weight: 300;
  letter-spacing: -1px;
  margin: 24px 0;
  line-height: 1.2;
}
.hero p[data-v-88516dbc] {
  font-size: 18px;
  color: #666;
  margin-bottom: 40px;
  font-weight: 300;
}
.hero-buttons[data-v-88516dbc] {
  display: flex;
  justify-content: center;
  gap: 16px;
}
.btn-primary[data-v-88516dbc] {
  padding: 14px 36px;
  background: #1a1a1a;
  color: #fff;
  border: none;
  font-size: 14px;
  cursor: pointer;
}
.btn-outline[data-v-88516dbc] {
  padding: 14px 36px;
  background: transparent;
  color: #1a1a1a;
  border: 1px solid #1a1a1a;
  font-size: 14px;
  cursor: pointer;
}
.hero-visual[data-v-88516dbc] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.floating-block[data-v-88516dbc] {
  position: absolute;
  background: #e0e0e0;
}
.b1[data-v-88516dbc] {
  width: 200px;
  height: 200px;
  top: 15%;
  right: 15%;
  animation: float1-88516dbc 6s ease-in-out infinite;
}
.b2[data-v-88516dbc] {
  width: 100px;
  height: 100px;
  top: 60%;
  right: 25%;
  background: #d0d0d0;
  animation: float2-88516dbc 8s ease-in-out infinite;
}
.b3[data-v-88516dbc] {
  width: 60px;
  height: 60px;
  top: 30%;
  right: 35%;
  background: #c0c0c0;
  animation: float3-88516dbc 5s ease-in-out infinite;
}
@keyframes float1-88516dbc {
0%, 100% { transform: translateY(0) rotate(0deg);
}
50% { transform: translateY(-20px) rotate(5deg);
}
}
@keyframes float2-88516dbc {
0%, 100% { transform: translateY(0) rotate(0deg);
}
50% { transform: translateY(20px) rotate(-5deg);
}
}
@keyframes float3-88516dbc {
0%, 100% { transform: translateY(0);
}
50% { transform: translateY(-30px);
}
}
.services[data-v-88516dbc], .works[data-v-88516dbc], .process[data-v-88516dbc], .clients[data-v-88516dbc], .contact[data-v-88516dbc] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 100px 20px;
}
.section-header[data-v-88516dbc] {
  text-align: center;
  margin-bottom: 60px;
}
.section-label[data-v-88516dbc] {
  font-size: 11px;
  letter-spacing: 4px;
  color: #999;
  text-transform: uppercase;
}
.section-header h2[data-v-88516dbc] {
  font-size: 32px;
  font-weight: 300;
  margin-top: 12px;
}
.services-grid[data-v-88516dbc] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.service-card[data-v-88516dbc] {
  padding: 40px;
  border: 1px solid #e8e8e8;
  transition: all 0.3s;
  animation: fadeIn-88516dbc 0.5s ease forwards;
}
@keyframes fadeIn-88516dbc {
from { opacity: 0; transform: translateY(20px);
}
to { opacity: 1; transform: translateY(0);
}
}
.service-card[data-v-88516dbc]:hover {
  border-color: #1a1a1a;
}
.service-num[data-v-88516dbc] {
  font-size: 48px;
  font-weight: 200;
  color: #e0e0e0;
}
.service-card h3[data-v-88516dbc] {
  font-size: 20px;
  font-weight: 400;
  margin: 16px 0 12px;
}
.service-card > p[data-v-88516dbc] {
  font-size: 14px;
  color: #666;
  margin-bottom: 20px;
}
.service-list[data-v-88516dbc] {
  list-style: none;
  margin-bottom: 24px;
}
.service-list li[data-v-88516dbc] {
  font-size: 13px;
  color: #666;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
}
.service-btn[data-v-88516dbc] {
  padding: 10px 24px;
  background: transparent;
  border: 1px solid #1a1a1a;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
}
.service-btn[data-v-88516dbc]:hover {
  background: #1a1a1a;
  color: #fff;
}
.works[data-v-88516dbc] {
  background: #fff;
  max-width: none;
  padding: 100px 20px;
}
.works-filter[data-v-88516dbc] {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-bottom: 48px;
}
.works-filter span[data-v-88516dbc] {
  font-size: 14px;
  color: #999;
  cursor: pointer;
  padding-bottom: 8px;
  border-bottom: 1px solid transparent;
}
.works-filter span.active[data-v-88516dbc] {
  color: #1a1a1a;
  border-color: #1a1a1a;
}
.works-grid[data-v-88516dbc] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}
.work-item[data-v-88516dbc] {
  cursor: pointer;
  animation: fadeIn-88516dbc 0.5s ease forwards;
}
.work-image[data-v-88516dbc] {
  height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.work-icon[data-v-88516dbc] {
  font-size: 48px;
  transition: transform 0.3s;
}
.work-overlay[data-v-88516dbc] {
  position: absolute;
  inset: 0;
  background: rgba(26, 26, 26, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s;
}
.work-item:hover .work-overlay[data-v-88516dbc] {
  opacity: 1;
}
.work-item:hover .work-icon[data-v-88516dbc] {
  transform: scale(1.1);
}
.view-btn[data-v-88516dbc] {
  padding: 12px 24px;
  background: #fff;
  color: #1a1a1a;
  border: none;
  font-size: 13px;
  cursor: pointer;
}
.work-info[data-v-88516dbc] {
  padding: 20px 0;
}
.work-info h3[data-v-88516dbc] {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 4px;
}
.work-info p[data-v-88516dbc] {
  font-size: 13px;
  color: #999;
}
.works-more[data-v-88516dbc] {
  text-align: center;
  margin-top: 48px;
}
.more-btn[data-v-88516dbc] {
  padding: 14px 40px;
  background: transparent;
  border: 1px solid #1a1a1a;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}
.more-btn[data-v-88516dbc]:hover {
  background: #1a1a1a;
  color: #fff;
}
.process-grid[data-v-88516dbc] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
.process-step[data-v-88516dbc] {
  text-align: center;
}
.step-num[data-v-88516dbc] {
  width: 48px;
  height: 48px;
  background: #1a1a1a;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin: 0 auto 20px;
}
.process-step h3[data-v-88516dbc] {
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 8px;
}
.process-step p[data-v-88516dbc] {
  font-size: 14px;
  color: #666;
}
.clients-grid[data-v-88516dbc] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
}
.client-item[data-v-88516dbc] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 24px;
  background: #fff;
}
.client-logo[data-v-88516dbc] {
  width: 48px;
  height: 48px;
  background: #f5f5f5;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 600;
}
.client-name[data-v-88516dbc] {
  font-size: 12px;
  color: #999;
}
.stats[data-v-88516dbc] {
  display: flex;
  justify-content: center;
  gap: 100px;
  padding: 80px 20px;
  background: #1a1a1a;
  color: #fff;
}
.stat-item[data-v-88516dbc] {
  text-align: center;
}
.stat-value[data-v-88516dbc] {
  display: block;
  font-size: 48px;
  font-weight: 200;
  margin-bottom: 8px;
}
.stat-label[data-v-88516dbc] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
}
.contact[data-v-88516dbc] {
  background: #fff;
  max-width: none;
}
.contact-content[data-v-88516dbc] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  max-width: 1200px;
  margin: 0 auto;
}
.contact-info h2[data-v-88516dbc] {
  font-size: 32px;
  font-weight: 300;
  margin-bottom: 16px;
}
.contact-info > p[data-v-88516dbc] {
  font-size: 16px;
  color: #666;
  margin-bottom: 40px;
}
.contact-details[data-v-88516dbc] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.contact-item[data-v-88516dbc] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.contact-item .label[data-v-88516dbc] {
  font-size: 12px;
  color: #999;
}
.contact-item span[data-v-88516dbc]:last-child {
  font-size: 15px;
}
.contact-form[data-v-88516dbc] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.contact-form input[data-v-88516dbc], .contact-form textarea[data-v-88516dbc] {
  padding: 16px;
  border: 1px solid #e8e8e8;
  font-size: 14px;
  transition: border-color 0.2s;
}
.contact-form input[data-v-88516dbc]:focus, .contact-form textarea[data-v-88516dbc]:focus {
  outline: none;
  border-color: #1a1a1a;
}
.submit-btn[data-v-88516dbc] {
  padding: 16px;
  background: #1a1a1a;
  color: #fff;
  border: none;
  font-size: 14px;
  cursor: pointer;
}
.footer[data-v-88516dbc] {
  padding: 40px 20px;
  border-top: 1px solid #e8e8e8;
}
.footer-content[data-v-88516dbc] {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
.footer-brand[data-v-88516dbc] {
  margin-bottom: 20px;
}
.brand-logo[data-v-88516dbc] {
  font-size: 24px;
  font-weight: 600;
}
.brand-text[data-v-88516dbc] {
  font-size: 24px;
  font-weight: 300;
}
.footer-links[data-v-88516dbc] {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-bottom: 20px;
}
.footer-links a[data-v-88516dbc] {
  font-size: 14px;
  color: #666;
  cursor: pointer;
}
.copyright[data-v-88516dbc] {
  font-size: 12px;
  color: #999;
}
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-orange-500:oklch(70.5% .213 47.604);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-100:oklch(96.2% .044 156.743);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-900:oklch(38.1% .176 304.987);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-500:oklch(64.5% .246 16.439);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::-moz-placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.mb-20{margin-bottom:calc(var(--spacing) * 20)}.ml-1{margin-left:calc(var(--spacing) * 1)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-48{height:calc(var(--spacing) * 48)}.h-56{height:calc(var(--spacing) * 56)}.h-64{height:calc(var(--spacing) * 64)}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(90vh-14rem\)\]{max-height:calc(90vh - 14rem)}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-none{max-width:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-gray-700{border-color:var(--color-gray-700)}.border-purple-500{border-color:var(--color-purple-500)}.border-purple-500\/10{border-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/10{border-color:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/20{border-color:color-mix(in oklab, var(--color-purple-500) 20%, transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/30{border-color:color-mix(in oklab, var(--color-purple-500) 30%, transparent)}}.border-purple-500\/40{border-color:#ac4bff66}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/40{border-color:color-mix(in oklab, var(--color-purple-500) 40%, transparent)}}.border-purple-500\/50{border-color:#ac4bff80}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/50{border-color:color-mix(in oklab, var(--color-purple-500) 50%, transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-yellow-500\/40{border-color:#edb20066}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/40{border-color:color-mix(in oklab, var(--color-yellow-500) 40%, transparent)}}.bg-\[\#0a0a0f\]{background-color:#0a0a0f}.bg-\[\#1a1a2e\]{background-color:#1a1a2e}.bg-\[\#2a2a3e\]{background-color:#2a2a3e}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/10{background-color:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/20{background-color:color-mix(in oklab, var(--color-purple-500) 20%, transparent)}}.bg-purple-600{background-color:var(--color-purple-600)}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-yellow-500\/20{background-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/20{background-color:color-mix(in oklab, var(--color-yellow-500) 20%, transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#0a0a0f\]\/95{--tw-gradient-from:oklab(14.7335% .00277908 -.0103663/.95);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[\#0f0c29\]{--tw-gradient-from:#0f0c29;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[\#1a1a2e\]{--tw-gradient-from:#1a1a2e;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[\#667eea\]{--tw-gradient-from:#667eea;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-800{--tw-gradient-from:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-green-500{--tw-gradient-from:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-orange-500{--tw-gradient-from:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-400{--tw-gradient-from:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-600{--tw-gradient-from:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-900\/30{--tw-gradient-from:#59168b4d}@supports (color:color-mix(in lab, red, red)){.from-purple-900\/30{--tw-gradient-from:color-mix(in oklab, var(--color-purple-900) 30%, transparent)}}.from-purple-900\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-900\/50{--tw-gradient-from:#59168b80}@supports (color:color-mix(in lab, red, red)){.from-purple-900\/50{--tw-gradient-from:color-mix(in oklab, var(--color-purple-900) 50%, transparent)}}.from-purple-900\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-yellow-600{--tw-gradient-from:var(--color-yellow-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-\[\#1a1a2e\]\/50{--tw-gradient-via:oklab(22.8438% .00860056 -.0374545/.5);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#1a1a2e\]\/95{--tw-gradient-via:oklab(22.8438% .00860056 -.0374545/.95);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#302b63\]{--tw-gradient-via:#302b63;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-pink-400{--tw-gradient-via:var(--color-pink-400);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[\#0a0a0f\]\/95{--tw-gradient-to:oklab(14.7335% .00277908 -.0103663/.95);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[\#0f0f1a\]{--tw-gradient-to:#0f0f1a;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[\#1a1a2e\]\/90{--tw-gradient-to:oklab(22.8438% .00860056 -.0374545/.9);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[\#2a2a3e\]{--tw-gradient-to:#2a2a3e;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[\#764ba2\]{--tw-gradient-to:#764ba2;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[\#24243e\]{--tw-gradient-to:#24243e;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-500{--tw-gradient-to:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-black{--tw-gradient-to:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-400{--tw-gradient-to:var(--color-blue-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-500{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-600{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-900\/30{--tw-gradient-to:#1c398e4d}@supports (color:color-mix(in lab, red, red)){.to-blue-900\/30{--tw-gradient-to:color-mix(in oklab, var(--color-blue-900) 30%, transparent)}}.to-blue-900\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-900\/50{--tw-gradient-to:#1c398e80}@supports (color:color-mix(in lab, red, red)){.to-blue-900\/50{--tw-gradient-to:color-mix(in oklab, var(--color-blue-900) 50%, transparent)}}.to-blue-900\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-pink-500{--tw-gradient-to:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-rose-500{--tw-gradient-to:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-cover{-o-object-fit:cover;object-fit:cover}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-11{padding-left:calc(var(--spacing) * 11)}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-green-400{color:var(--color-green-400)}.text-green-600{color:var(--color-green-600)}.text-pink-400{color:var(--color-pink-400)}.text-purple-300{color:var(--color-purple-300)}.text-purple-400{color:var(--color-purple-400)}.text-purple-600{color:var(--color-purple-600)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-purple-500\/10{--tw-shadow-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.shadow-purple-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-purple-500\/30{--tw-shadow-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.shadow-purple-500\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:-translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:gap-4:is(:where(.group):hover *){gap:calc(var(--spacing) * 4)}.group-hover\:bg-gradient-to-r:is(:where(.group):hover *){--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.group-hover\:from-purple-400:is(:where(.group):hover *){--tw-gradient-from:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.group-hover\:to-pink-400:is(:where(.group):hover *){--tw-gradient-to:var(--color-pink-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.group-hover\:bg-clip-text:is(:where(.group):hover *){-webkit-background-clip:text;background-clip:text}.group-hover\:text-purple-400:is(:where(.group):hover *){color:var(--color-purple-400)}.group-hover\:text-transparent:is(:where(.group):hover *){color:#0000}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:rotate-90:hover{rotate:90deg}.hover\:border-green-400:hover{border-color:var(--color-green-400)}.hover\:border-purple-400:hover{border-color:var(--color-purple-400)}.hover\:border-purple-500\/50:hover{border-color:#ac4bff80}@supports (color:color-mix(in lab, red, red)){.hover\:border-purple-500\/50:hover{border-color:color-mix(in oklab, var(--color-purple-500) 50%, transparent)}}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:text-purple-300:hover{color:var(--color-purple-300)}.hover\:text-purple-400:hover{color:var(--color-purple-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-blue-500\/30:hover{--tw-shadow-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-blue-500\/30:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-gray-800\/30:hover{--tw-shadow-color:#1e29394d}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-gray-800\/30:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-gray-800) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-purple-500\/30:hover{--tw-shadow-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-purple-500\/30:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-purple-500\/50:hover{--tw-shadow-color:#ac4bff80}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-purple-500\/50:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.hover\:shadow-yellow-500\/30:hover{--tw-shadow-color:#edb2004d}@supports (color:color-mix(in lab, red, red)){.hover\:shadow-yellow-500\/30:hover{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-yellow-500) 30%, transparent) var(--tw-shadow-alpha), transparent)}}}.focus\:border-purple-500:focus{border-color:var(--color-purple-500)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-purple-500\/20:focus{--tw-ring-color:#ac4bff33}@supports (color:color-mix(in lab, red, red)){.focus\:ring-purple-500\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-purple-500) 20%, transparent)}}@media (min-width:40rem){.sm\:block{display:block}}@media (min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-10{padding:calc(var(--spacing) * 10)}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}@media (min-width:64rem){.lg\:block{display:block}.lg\:h-80{height:calc(var(--spacing) * 80)}.lg\:w-1\/2{width:50%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f5f5f7}::-webkit-scrollbar-thumb{background:#d2d2d7;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#aeaeb2}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}

.music-player[data-v-23335791] {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  padding: 10px 14px;
  border-radius: 30px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.music-player.expanded[data-v-23335791] {
  padding-right: 20px;
}

/* 手机端优化 */
@media (max-width: 768px) {
.music-player[data-v-23335791] {
    bottom: 16px;
    left: 16px;
    right: 16px;
    padding: 8px 12px;
}
.play-btn[data-v-23335791], .volume-btn[data-v-23335791] {
    width: 32px;
    height: 32px;
}
.icon[data-v-23335791] {
    width: 16px;
    height: 16px;
}
.music-text[data-v-23335791] {
    font-size: 11px;
}
.volume-slider[data-v-23335791] {
    width: 60px;
}
}
.play-btn[data-v-23335791], .volume-btn[data-v-23335791] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.play-btn[data-v-23335791]:hover, .volume-btn[data-v-23335791]:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.play-btn.playing[data-v-23335791] {
  background: linear-gradient(135deg, #ec4141 0%, #c32727 100%);
  border-color: transparent;
}
.play-btn.playing .icon[data-v-23335791], .volume-btn.active .icon[data-v-23335791] {
  color: white;
}
.volume-btn.active[data-v-23335791] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: transparent;
}
.icon[data-v-23335791] {
  width: 18px;
  height: 18px;
  color: #333;
}
.music-info[data-v-23335791] {
  display: flex;
  align-items: center;
  gap: 6px;
  animation: slideIn-23335791 0.3s ease;
}
.music-note[data-v-23335791] {
  font-size: 14px;
  color: #ec4141;
  animation: bounce-23335791 0.5s ease infinite;
}
.music-text[data-v-23335791] {
  font-size: 12px;
  color: #666;
  font-weight: 500;
  white-space: nowrap;
}
.volume-control[data-v-23335791] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.volume-slider[data-v-23335791] {
  width: 80px;
  height: 4px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 2px;
  outline: none;
}
.volume-slider[data-v-23335791]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.volume-slider[data-v-23335791]::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  cursor: pointer;
  border: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
@keyframes pulse-23335791 {
0%, 100% { 
    transform: scale(1);
    box-shadow: 0 4px 12px rgba(236, 65, 65, 0.3);
}
50% { 
    transform: scale(1.05);
    box-shadow: 0 6px 16px rgba(236, 65, 65, 0.5);
}
}
@keyframes bounce-23335791 {
0%, 100% { transform: translateY(0);
}
50% { transform: translateY(-3px);
}
}
@keyframes slideIn-23335791 {
from {
    opacity: 0;
    transform: translateX(-10px);
}
to {
    opacity: 1;
    transform: translateX(0);
}
}
