/* ================================================================
   www.pinocao.top 专属主题层 —— AI 科技公司风格
   仅由 dist-hide-login (www.pinocao.top) 加载，ai.pinocao.top 不受影响
   设计：深空底 + 电光青(#22d3ee) / 星云紫(#7c5cff) 双强调 + 神经网格
   ================================================================ */

:root {
  /* 底色 */
  --at-bg-0: #03050c;
  --at-bg-1: #070b18;
  --at-bg-2: #0b1224;

  /* 玻璃表面 */
  --at-surface: rgba(12, 20, 40, 0.66);
  --at-surface-2: rgba(18, 28, 54, 0.55);
  --at-surface-3: rgba(24, 36, 66, 0.4);
  --at-solid: linear-gradient(150deg, rgba(16, 28, 56, 0.94), rgba(6, 12, 26, 0.96));

  /* 描边 / 发光 */
  --at-line: rgba(90, 170, 255, 0.14);
  --at-line-2: rgba(34, 211, 238, 0.3);
  --at-line-hot: rgba(34, 211, 238, 0.6);

  /* 强调色 */
  --at-cyan: #22d3ee;
  --at-cyan-hi: #7bf6ff;
  --at-violet: #7c5cff;
  --at-violet-hi: #b39bff;
  --at-mint: #3dffb4;

  --at-glow-cyan: rgba(34, 211, 238, 0.5);
  --at-glow-violet: rgba(124, 92, 255, 0.42);

  /* 文本 */
  --at-text-1: #ecf3ff;
  --at-text-2: #a4b7dc;
  --at-text-3: #66799f;

  --at-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;
}

/* ---------- 基底 ---------- */
html, body {
  background-color: var(--at-bg-0) !important;
}

body {
  background-image:
    radial-gradient(120% 90% at 12% -10%, rgba(34, 211, 238, 0.10) 0%, transparent 46%),
    radial-gradient(110% 80% at 88% 2%, rgba(124, 92, 255, 0.12) 0%, transparent 48%),
    radial-gradient(90% 70% at 50% 108%, rgba(61, 255, 180, 0.06) 0%, transparent 52%),
    linear-gradient(180deg, var(--at-bg-1) 0%, var(--at-bg-0) 100%) !important;
  background-attachment: fixed !important;
  color: var(--at-text-1) !important;
}

#root {
  position: relative;
  z-index: 1;
}

/* 【关键】应用自身的 page-container 带不透明渐变背景，会把处于其下方的
   z-index:0 装饰层（神经网络画布 / 漂移网格 / 暗角氛围）整块盖住导致不可见。
   置为透明，让 body 渐变与画布层透出来。（含首页内联的同一渐变写死色） */
.page-container,
[style*="linear-gradient(135deg, #0f172a 0%, #1e293b 50%"] {
  background: transparent !important;
}

/* 背景装饰层由 www-tech.js 注入，见下方 #www-* 规则 */

/* ---------- 暗角 + 氛围光 ---------- */
#www-bg-vignette {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%, transparent 30%, rgba(3, 5, 12, 0.55) 100%),
    linear-gradient(180deg, transparent 55%, rgba(3, 5, 12, 0.5) 100%);
}

/* ---------- 扫描线 ---------- */
#www-scanline {
  position: fixed; inset: 0; z-index: 3; pointer-events: none; opacity: .5;
  background: repeating-linear-gradient(0deg, rgba(255,255,255,0.022) 0 1px, transparent 1px 3px);
  mix-blend-mode: overlay;
}

/* ---------- 顶部滚动进度条 ---------- */
#www-progress {
  position: fixed; top: 0; left: 0; height: 2px; width: 0%;
  z-index: 100000; pointer-events: none;
  background: linear-gradient(90deg, var(--at-cyan), var(--at-violet), var(--at-cyan-hi));
  box-shadow: 0 0 12px var(--at-glow-cyan), 0 0 26px var(--at-glow-violet);
  transition: width .12s linear;
}

/* ---------- 鼠标氛围光 ---------- */
#www-cursor {
  position: fixed; width: 520px; height: 520px; left: 0; top: 0; z-index: 2;
  pointer-events: none; opacity: 0; transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(34,211,238,0.10) 0%, rgba(124,92,255,0.07) 40%, transparent 70%);
  filter: blur(14px);
  mix-blend-mode: screen;
  transition: opacity .3s ease;
}

/* ---------- 四角 HUD 装饰 ---------- */
#www-hud { position: fixed; inset: 0; z-index: 4; pointer-events: none; }
#www-hud span {
  position: absolute; width: 26px; height: 26px;
  border: 1px solid var(--at-line-2);
  box-shadow: 0 0 12px var(--at-glow-cyan);
  opacity: .55;
}
#www-hud span:nth-child(1) { top: 10px; left: 10px; border-right: 0; border-bottom: 0; }
#www-hud span:nth-child(2) { top: 10px; right: 10px; border-left: 0; border-bottom: 0; }
#www-hud span:nth-child(3) { bottom: 10px; left: 10px; border-right: 0; border-top: 0; }
#www-hud span:nth-child(4) { bottom: 10px; right: 10px; border-left: 0; border-top: 0; }

/* ================================================================
   导航
   ================================================================ */
body .top-nav {
  background: rgba(8, 13, 26, 0.72) !important;
  backdrop-filter: blur(22px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(160%) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.4) !important;
  position: relative !important;
  overflow: visible !important;
}
body .top-nav::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--at-cyan) 20%,
    var(--at-violet) 40%,
    #ec4899 60%,
    var(--at-mint) 80%,
    transparent 100%);
  background-size: 200% 100%;
  animation: at-nav-line-flow 4s linear infinite;
  box-shadow: 0 0 10px var(--at-glow-cyan), 0 0 16px var(--at-glow-violet);
  opacity: .9;
  pointer-events: none;
}
@keyframes at-nav-line-flow {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.nav-title {
  background: linear-gradient(180deg, #f8fafc 0%, #cbd5e1 20%, #f1f5f9 40%, #94a3b8 60%, #e2e8f0 80%, #f8fafc 100%) !important;
  background-size: 100% auto !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: none !important;
  animation: none !important;
  letter-spacing: .5px !important;
}
@keyframes at-title-flow { to { background-position: 220% center; } }

.nav-logo {
  filter: drop-shadow(0 0 18px var(--at-glow-cyan)) drop-shadow(0 0 34px var(--at-glow-violet)) !important;
  transition: transform .5s cubic-bezier(.16,1,.3,1) !important;
}
.nav-logo:hover { transform: scale(1.06) rotate(-2deg) !important; }
.nav-buttons > * { border-radius: 12px !important; }

/* ================================================================
   Hero
   ================================================================ */
.hero-section {
  border: 1px solid var(--at-line) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(90% 120% at 50% -20%, rgba(34,211,238,0.10), transparent 55%),
    radial-gradient(80% 100% at 85% 110%, rgba(124,92,255,0.12), transparent 55%),
    var(--at-surface) !important;
  backdrop-filter: blur(26px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(26px) saturate(150%) !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.07) !important;
  position: relative !important;
  overflow: hidden !important;
}
.hero-section::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: conic-gradient(from 0deg at 50% 50%, transparent 0deg, rgba(34,211,238,.10) 60deg, transparent 120deg, rgba(124,92,255,.10) 220deg, transparent 300deg);
  animation: at-hero-sweep 18s linear infinite;
}
@keyframes at-hero-sweep { to { transform: rotate(360deg); } }

.hero-tag {
  background: linear-gradient(135deg, rgba(34,211,238,0.14), rgba(124,92,255,0.12)) !important;
  border: 1px solid var(--at-line-2) !important;
  color: var(--at-cyan-hi) !important;
  border-radius: 999px !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: inset 0 0 18px rgba(34,211,238,.12) !important;
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-color .3s ease !important;
}
.hero-tag:hover {
  transform: translateY(-3px) scale(1.05) !important;
  border-color: var(--at-line-hot) !important;
  box-shadow: 0 8px 30px rgba(34,211,238,.3), inset 0 0 24px rgba(34,211,238,.22) !important;
}

/* ================================================================
   通用卡片 / 玻璃面板
   ================================================================ */
[style*="rgba(15, 23, 42"], [style*="rgba(15,23,42"] {
  background: var(--at-surface) !important;
  backdrop-filter: blur(22px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(160%) !important;
  border: 1px solid var(--at-line) !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.06) !important;
  position: relative !important;
}
[style*="rgba(30, 41, 59"], [style*="rgba(30,41,59"] {
  background: var(--at-surface-2) !important;
  backdrop-filter: blur(16px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(150%) !important;
  border: 1px solid var(--at-line) !important;
}
[style*="linear-gradient(135deg, #1e293b"], [style*="linear-gradient(135deg,#1e293b"] {
  background: linear-gradient(150deg, rgba(18,28,54,.78), rgba(7,12,26,.9)) !important;
  border: 1px solid var(--at-line) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

/* 卡片顶部高光细线 */
[style*="rgba(15, 23, 42"]::before, [style*="rgba(15,23,42"]::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--at-cyan), var(--at-violet), transparent);
  opacity: .55; pointer-events: none;
}

/* ---------- 功能卡（feature-grid）---------- */
.feature-card {
  background:
    radial-gradient(120% 90% at 20% 0%, rgba(34,211,238,0.10), transparent 60%),
    var(--at-surface-2) !important;
  border: 1px solid var(--at-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.05) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease, border-color .45s ease !important;
}
.feature-card::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(34,211,238,.14), transparent 55%);
  transition: opacity .4s ease;
}
.feature-card:hover {
  border-color: var(--at-line-hot) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.45), 0 0 40px rgba(34,211,238,.28), 0 0 90px rgba(124,92,255,.18) !important;
}
.feature-card:hover::after { opacity: 1; }
.feature-card:hover .card-icon { transform: translateY(-4px) scale(1.12); filter: drop-shadow(0 0 16px var(--at-glow-cyan)); }
.card-icon { transition: transform .4s cubic-bezier(.16,1,.3,1), filter .4s ease; }
.card-title { letter-spacing: .3px !important; }
.card-desc { color: var(--at-text-2) !important; }

/* ---------- 标题 / 分区（流动渐变光） ---------- */
.section-title {
  position: relative !important;
  letter-spacing: .6px !important;
  background: linear-gradient(100deg, #ffffff 0%, var(--at-cyan-hi) 22%, var(--at-violet-hi) 45%, #ffffff 62%, var(--at-cyan-hi) 82%, var(--at-violet-hi) 100%) !important;
  background-size: 260% auto !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  animation: at-title-flow 7s linear infinite !important;
}
.section-title .title-icon {
  -webkit-text-fill-color: initial !important;
  background: none !important;
  color: initial !important;
  filter: drop-shadow(0 0 12px var(--at-glow-cyan));
}
.section-title::after {
  content: ''; position: absolute; left: 0; bottom: -10px; height: 2px; width: 92px;
  background: linear-gradient(90deg, transparent, var(--at-cyan), var(--at-violet), transparent) !important;
  background-size: 200% 100% !important;
  box-shadow: 0 0 14px var(--at-glow-cyan);
  animation: at-underline-flow 3.2s linear infinite;
}
@keyframes at-underline-flow { from { background-position: 180% 0; } to { background-position: -180% 0; } }

/* ---------- 营销块 ---------- */
.marketing-box {
  border: 1px solid var(--at-line-2) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(100% 140% at 15% 0%, rgba(34,211,238,.10), transparent 55%),
    radial-gradient(100% 140% at 90% 100%, rgba(124,92,255,.12), transparent 55%),
    rgba(12, 20, 40, .55) !important;
  box-shadow: inset 0 0 60px rgba(34,211,238,.06), 0 18px 50px rgba(0,0,0,.35) !important;
  position: relative !important; overflow: hidden !important;
}
.marketing-box::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--at-cyan-hi), var(--at-violet-hi), transparent);
  animation: at-line-slide 5s ease-in-out infinite;
}
@keyframes at-line-slide { 0%,100% { transform: translateX(-30%); opacity:.5; } 50% { transform: translateX(30%); opacity:1; } }
.marketing-text { color: var(--at-text-1) !important; }
.marketing-subtitle { color: var(--at-text-2) !important; }

/* ================================================================
   案例展示 / 模板库
   ================================================================ */
.showcase-container {
  border-radius: 20px !important;
}
.showcase-grid > * {
  border-radius: 16px !important;
  transition: transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s ease !important;
}
.showcase-grid > *:hover {
  transform: translateY(-6px) scale(1.015) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,.5), 0 0 36px rgba(34,211,238,.24) !important;
}
.showcase-title { letter-spacing: .2px !important; }
.showcase-desc { color: var(--at-text-2) !important; }
.hover-overlay {
  background: linear-gradient(180deg, transparent 30%, rgba(34,211,238,.16) 70%, rgba(124,92,255,.22) 100%) !important;
}

/* ---------- 节点状态卡 ---------- */
.node-status-card {
  background: var(--at-surface-2) !important;
  border: 1px solid var(--at-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.node-status-item {
  border-radius: 14px !important;
  border: 1px solid var(--at-line) !important;
  background: rgba(10, 18, 36, .5) !important;
  transition: transform .35s cubic-bezier(.16,1,.3,1), border-color .35s ease, box-shadow .35s ease !important;
}
.node-status-item:hover {
  transform: translateY(-4px) !important;
  border-color: var(--at-line-hot) !important;
  box-shadow: 0 0 30px rgba(34,211,238,.25) !important;
}
.node-status-count { font-family: var(--at-mono) !important; letter-spacing: .5px !important; }
.node-status-label { color: var(--at-text-2) !important; }

/* ================================================================
   按钮
   ================================================================ */
[style*="linear-gradient(135deg, #3b82f6, #8b5cf6"],
[style*="linear-gradient(135deg,#3b82f6,#8b5cf6"],
[style*="linear-gradient(135deg, #3b82f6,#8b5cf6"] {
  background: linear-gradient(120deg, #0ea5b7 0%, var(--at-cyan) 42%, var(--at-violet) 100%) !important;
  border: 1px solid var(--at-line-hot) !important;
  color: #021018 !important;
  font-weight: 800 !important;
  letter-spacing: .4px !important;
  box-shadow: 0 8px 30px rgba(34,211,238,.35), 0 0 60px rgba(124,92,255,.2), inset 0 1px 0 rgba(255,255,255,.4) !important;
  position: relative !important; overflow: hidden !important;
  transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease !important;
}
[style*="linear-gradient(135deg, #3b82f6, #8b5cf6"]::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.5) 50%, transparent 70%);
  transform: translateX(-120%);
  animation: at-btn-shine 3s ease-in-out infinite;
}
@keyframes at-btn-shine { 0% { transform: translateX(-120%); } 55%, 100% { transform: translateX(120%); } }
[style*="linear-gradient(135deg, #3b82f6, #8b5cf6"]:hover {
  transform: translateY(-3px) scale(1.03) !important;
  box-shadow: 0 14px 44px rgba(34,211,238,.45), 0 0 90px rgba(34,211,238,.3) !important;
}

/* ---------- chip / 标签 ---------- */
[style*="border-radius: 999"], [style*="border-radius:999"] {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

/* ================================================================
   文本 / 边框 / 表单 微调
   ================================================================ */
[style*="color: '#64748b'"], [style*="color:'#64748b'"],
[style*="color: rgb(100, 116, 139)"],
[style*="color: '#94a3b8'"], [style*="color:'#94a3b8'"],
[style*="color: rgb(148, 163, 184)"] {
  color: var(--at-text-2) !important;
}
[style*="color: '#cbd5e1'"], [style*="color:'#cbd5e1'"],
[style*="color: rgb(203, 213, 225)"],
[style*="color: '#e2e8f0'"], [style*="color:'#e2e8f0'"],
[style*="color: rgb(226, 232, 240)"] {
  color: var(--at-text-1) !important;
}

input, textarea, select {
  background: rgba(10, 18, 36, .72) !important;
  border: 1px solid var(--at-line) !important;
  border-radius: 12px !important;
  color: var(--at-text-1) !important;
}
input::placeholder, textarea::placeholder { color: var(--at-text-3) !important; }
input:focus, textarea:focus, select:focus {
  border-color: var(--at-cyan) !important;
  background: rgba(14, 24, 46, .92) !important;
  box-shadow: 0 0 0 3px rgba(34,211,238,.14), 0 0 28px var(--at-glow-cyan) !important;
  outline: none !important;
}

/* ---------- 页脚 ---------- */
.page-footer, [class*="footer"] {
  background: linear-gradient(180deg, transparent, rgba(8,13,26,.7)) !important;
  border-top: 1px solid var(--at-line) !important;
  color: var(--at-text-3) !important;
}
.footer-contact { border-top-color: var(--at-line) !important; }
.qr-code-wrapper { border-radius: 10px !important; }

/* ---------- 滚动条 / 选中 ---------- */
::-webkit-scrollbar { width: 9px !important; height: 9px !important; }
::-webkit-scrollbar-track { background: rgba(7,11,24,.7) !important; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--at-cyan), var(--at-violet)) !important;
  border-radius: 5px !important;
}
::selection { background: rgba(34,211,238,.28) !important; color: #ffffff !important; }

/* ---------- 加载动画 ---------- */
[style*="border-top-color: #3b82f6"], [style*="border-top-color:#3b82f6"],
[style*="border-top-color: #8b5cf6"], [style*="border-top-color:#8b5cf6"],
[style*="border-top-color: #6366f1"], [style*="border-top-color:#6366f1"],
[style*="border-top-color: #7c3aed"], [style*="border-top-color:#7c3aed"] {
  border-top-color: var(--at-cyan) !important;
  box-shadow: 0 0 16px var(--at-glow-cyan) !important;
}

/* ================================================================
   滚动渐入
   ================================================================ */
.at-reveal {
  opacity: 0; transform: translateY(38px);
  transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform;
}
.at-reveal.at-in { opacity: 1; transform: translateY(0); }

/* ================================================================
   无障碍 / 低端降级
   ================================================================ */
@media (prefers-reduced-motion: reduce) {
  #www-scanline, .hero-section::before,
  .nav-title, [style*="linear-gradient(135deg, #3b82f6, #8b5cf6"]::after,
  .marketing-box::after, .section-title, .section-title::after { animation: none !important; }
  .at-reveal { opacity: 1 !important; transform: none !important; }
  #www-cursor { display: none !important; }
}
