/* === AI 工具入门系列 — Modern H5 with Animations === */
:root {
  --bg: #0a0e14;--bg-card: #131820;--bg-hover: #1a2030;
  --border: #1e293b;--text: #c9d1d9;--text-dim: #8b949e;
  --accent: #58a6ff;--accent2: #f0883e;--accent3: #d2a8ff;
  --green: #3fb950;--red: #f85149;--radius: 12px;--max-w: 860px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;
  background:var(--bg, #0a0e14);color:var(--text, #c9d1d9);line-height:1.75;min-height:100vh;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}

/* ===== PARTICLE BACKGROUND ===== */
#particles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}
#particles .dot{position:absolute;border-radius:50%;background:var(--accent, #58a6ff);opacity:0;animation:floatUp linear infinite}
@keyframes floatUp{0%{opacity:0;transform:translateY(100vh) scale(0)}10%{opacity:.15}90%{opacity:.1}100%{opacity:0;transform:translateY(-10vh) scale(1)}}

/* ===== HERO ===== */
.hero{
  position:relative;z-index:1;
  background:linear-gradient(160deg,#0f1720 0%,#0a0f18 40%,#0d1520 100%);
  border-bottom:1px solid var(--border, #30363d);padding:64px 20px 52px;text-align:center;
}
.hero-content{max-width:700px;margin:0 auto}
.hero h1{
  font-size:clamp(1.8em,5vw,2.8em);color:#fff;margin-bottom:14px;
  letter-spacing:-0.02em;font-weight:700;animation:fadeSlideDown .8s ease-out;
}
.hero-subtitle{font-size:1.05em;color:var(--text-dim, #8b949e);line-height:1.8;margin-bottom:30px;animation:fadeSlideDown .8s ease-out .15s both}
.hero-stats{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;animation:fadeSlideDown .8s ease-out .3s both}
.stat{text-align:center;color:var(--text-dim, #8b949e);font-size:0.88em}
.stat strong{display:block;font-size:2em;color:var(--accent2, #f0883e);line-height:1.2;font-weight:700}
@keyframes fadeSlideDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}

/* ===== SLIDESHOW ===== */
.slideshow{position:relative;z-index:1;max-width:600px;margin:0 auto 20px;height:120px;overflow:hidden;border-radius:var(--radius, 12px)}
.slide{
  position:absolute;top:0;left:0;width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;gap:16px;
  background:var(--bg-card, #131820);border:1px solid var(--border, #30363d);border-radius:var(--radius, 12px);
  opacity:0;transform:translateX(60px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);
}
.slide.active{opacity:1;transform:translateX(0)}
.slide.prev{opacity:0;transform:translateX(-60px)}
.slide-icon{font-size:2.4em;flex-shrink:0}
.slide-text{text-align:left}
.slide-text h3{font-size:1.1em;color:#fff;margin-bottom:4px}
.slide-text p{font-size:0.85em;color:var(--text-dim, #8b949e);margin:0}
.slide-dots{display:flex;justify-content:center;gap:8px;margin-bottom:36px;position:relative;z-index:1}
.slide-dots button{width:10px;height:10px;border-radius:50%;border:1px solid var(--accent, #58a6ff);background:transparent;cursor:pointer;transition:all .3s;padding:0}
.slide-dots button.active{background:var(--accent, #58a6ff);transform:scale(1.3)}

/* ===== TOP NAV ===== */
.top-nav{
  position:sticky;top:0;z-index:50;
  background:rgba(10,14,20,0.88);
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid var(--border, #30363d);
  padding:12px 20px;display:flex;align-items:center;gap:14px;font-size:0.9em;
}
.top-nav .home-link{color:var(--accent, #58a6ff);text-decoration:none;white-space:nowrap;font-weight:500}
.top-nav .home-link:hover{color:#fff}
.nav-title{color:var(--text-dim, #8b949e);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ===== CONTENT (article pages) ===== */
.content{max-width:var(--max-w, 860px);margin:0 auto;padding:28px 20px 60px}
.content h1{font-size:1.65em;color:var(--accent, #58a6ff);margin:28px 0 14px;line-height:1.3;font-weight:700}
.content h2{font-size:1.22em;color:var(--accent2, #f0883e);margin:32px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border, #30363d);font-weight:600}
.content h3{font-size:1.08em;color:var(--accent3, #d2a8ff);margin:22px 0 10px;font-weight:600}
.content h4{font-size:1em;color:#e6edf3;margin:16px 0 8px;font-weight:600}
.content p{margin:10px 0;font-size:0.95em}
.content a{color:var(--accent, #58a6ff);text-decoration:none;transition:color .15s}
.content a:hover{color:#79c0ff;text-decoration:underline}
.content strong{color:var(--accent2, #f0883e);font-weight:600}
.content pre{background:#0d1117;border:1px solid var(--border, #30363d);border-radius:8px;padding:14px 16px;overflow-x:auto;margin:14px 0;font-size:0.82em;line-height:1.65}
.content code{font-family:'SF Mono','Fira Code','Cascadia Code','Consolas',monospace;font-size:0.9em}
.content :not(pre)>code{background:rgba(240,136,62,0.12);color:var(--accent2, #f0883e);padding:2px 6px;border-radius:4px;font-size:0.9em}
.content blockquote{border-left:3px solid var(--accent, #58a6ff);padding:10px 16px;margin:14px 0;background:rgba(88,166,255,0.04);color:var(--text-dim, #8b949e);border-radius:0 8px 8px 0}
.content hr{border:none;border-top:1px solid var(--border, #30363d);margin:30px 0}
.table-wrap{overflow-x:auto;margin:14px 0;border-radius:8px;border:1px solid var(--border, #30363d)}
.content table{width:100%;border-collapse:collapse;font-size:0.88em;min-width:500px}
.content th,.content td{border-bottom:1px solid var(--border, #30363d);padding:10px 14px;text-align:left}
.content th{background:var(--bg-card, #131820);color:var(--accent2, #f0883e);font-weight:600;white-space:nowrap}
.content td{background:var(--bg, #0a0e14)}
.content tr:hover td{background:var(--bg-hover, #1a2030)}
.content li{margin:4px 0 4px 22px;font-size:0.95em}
.wikilink{color:var(--accent3, #d2a8ff)!important;border-bottom:1px dashed var(--accent3, #d2a8ff)}

/* ===== HOMEPAGE SECTIONS ===== */
main{position:relative;z-index:1}
.cards-section,.paths{max-width:var(--max-w, 860px);margin:0 auto;padding:44px 20px}
.cards-section h2,.paths h2{font-size:1.35em;color:#fff;margin-bottom:24px;padding-bottom:8px;border-bottom:1px solid var(--border, #30363d);font-weight:700}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(40px);transition:all .7s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ===== CARD with 3D hover ===== */
.card{
  display:flex;flex-direction:column;background:var(--bg-card, #131820);
  border:1px solid var(--border, #30363d);border-radius:var(--radius, 12px);padding:22px;
  text-decoration:none;color:var(--text, #c9d1d9);position:relative;overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
  transform-style:preserve-3d;perspective:800px;
}
.card:hover{
  border-color:var(--accent, #58a6ff);
  box-shadow:0 8px 32px rgba(88,166,255,0.15);
}
.card::before{
  content:'';position:absolute;top:0;left:0;transform:translateX(-100%);width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(88,166,255,0.04),transparent);
  transition:transform .6s ease;
}
.card:hover::before{transform:translateX(100%)}
.card-icon{font-size:1.6em;margin-bottom:10px;transition:transform .3s ease}
.card:hover .card-icon{transform:scale(1.15)}
.card h3{font-size:1.02em;color:#fff;margin-bottom:6px;line-height:1.4;font-weight:600}
.card p{font-size:0.83em;color:var(--text-dim, #8b949e);flex:1;margin-bottom:8px}

/* Click ripple */
.ripple{position:absolute;border-radius:50%;background:rgba(88,166,255,0.3);transform:scale(0);animation:ripple .6s ease-out;pointer-events:none}
@keyframes ripple{to{transform:scale(4);opacity:0}}

/* ===== PATHS ===== */
.path-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.path{
  background:var(--bg-card, #131820);border:1px solid var(--border, #30363d);
  border-radius:var(--radius, 12px);padding:22px;transition:all .3s ease;
}
.path:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.3)}
.path h3{font-size:1em;color:#fff;margin-bottom:8px;font-weight:600}
.path p{font-size:0.84em;color:var(--text-dim, #8b949e);margin-bottom:8px}
.path .time{font-size:0.78em;color:var(--accent, #58a6ff);font-weight:500}
.path.green{border-left:3px solid var(--green, #3fb950)}
.path.yellow{border-left:3px solid var(--accent2, #f0883e)}
.path.red{border-left:3px solid var(--accent3, #d2a8ff)}

/* ===== INSTALLER CTA (homepage) ===== */
.installer-cta{max-width:var(--max-w, 860px);margin:36px auto 12px;padding:0 20px;position:relative;z-index:1}
.installer-cta-card{
  background:linear-gradient(135deg,#1e2a3a 0%,#15202f 50%,#1a2433 100%);
  border:2px solid rgba(88,166,255,0.25);border-radius:var(--radius, 12px);
  padding:24px 28px;display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;
  box-shadow:0 4px 24px rgba(88,166,255,0.06);
  transition:border-color .3s,box-shadow .3s;
}
.installer-cta-card:hover{
  border-color:var(--accent, #58a6ff);
  box-shadow:0 8px 36px rgba(88,166,255,0.12);
}
.cta-left{display:flex;align-items:center;gap:16px;flex:1;min-width:240px}
.cta-icon{font-size:2.4em;flex-shrink:0}
.cta-left h2{font-size:1.1em;color:#fff;margin:0 0 4px;border:none;padding:0}
.cta-left p{font-size:0.85em;color:var(--text-dim, #8b949e);margin:0}
.cta-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.cta-btn{
  display:inline-block;background:var(--accent, #58a6ff);color:#fff;border:none;
  padding:10px 22px;border-radius:8px;text-decoration:none;font-size:0.92em;
  font-weight:600;transition:all .2s;white-space:nowrap;
}
.cta-btn:hover{background:#79c0ff;transform:translateY(-1px);box-shadow:0 4px 16px rgba(88,166,255,0.3)}
.cta-cmd{
  font-family:'SF Mono','Fira Code','Cascadia Code','Consolas',monospace;
  font-size:0.78em;color:var(--text-dim, #8b949e);word-break:break-all;text-align:right;
  max-width:100%;
}

@media(max-width:640px){
  .installer-cta{padding:0 14px}
  .installer-cta-card{flex-direction:column;align-items:flex-start;padding:18px}
  .cta-icon{font-size:1.8em}
  .cta-left h2{font-size:1em}
  .cta-right{flex-direction:row;align-items:center;gap:12px;width:100%}
  .cta-cmd{font-size:0.7em;flex:1;text-align:left}
}
/* ===== FOOTER ===== */
footer{
  position:relative;z-index:1;text-align:center;padding:36px 20px;
  color:var(--text-dim, #8b949e);font-size:0.84em;border-top:1px solid var(--border, #30363d);
}
footer a{color:var(--accent, #58a6ff);text-decoration:none}
footer a:hover{color:#fff}
.footer-links{margin-top:8px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* ===== MOBILE BOTTOM NAV ===== */
.mobile-nav{display:none}


/* ===== ACCESSIBILITY — Reduced Motion ===== */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  /* Disable 3D transform effects on cards */
  .card:hover {
    transform: none !important;
  }
  .card:hover::before {
    transform: none !important;
  }
  .card:hover .card-icon {
    transform: none !important;
  }
  .path:hover {
    transform: none !important;
  }
  .cta-btn:hover {
    transform: none !important;
  }
  /* Disable scroll reveal animation */
  .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ===== RESPONSIVE ===== */
@media(max-width:640px){
  .hero{padding:44px 16px 36px}
  .hero h1{font-size:1.6em}
  .hero-stats{gap:24px}
  .stat strong{font-size:1.5em}
  .slideshow{height:100px;margin-bottom:16px}
  .slide{gap:12px}
  .slide-icon{font-size:1.8em}
  .slide-text h3{font-size:.95em}
  .slide-text p{font-size:.78em}
  .cards-grid{grid-template-columns:1fr}
  .path-grid{grid-template-columns:1fr}
  .content{padding:18px 14px 110px}
  .content h1{font-size:1.4em}
  .content h2{font-size:1.12em}
  .content pre{font-size:0.73em;padding:10px 12px}
  .content table{font-size:0.76em;min-width:400px}
  .content th,.content td{padding:8px 10px}
  footer{padding-bottom:100px}
  .top-nav{padding:10px 14px;font-size:0.82em;gap:10px}
  .mobile-nav{
    display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;
    background:rgba(19,24,32,0.96);
    backdrop-filter:blur(16px) saturate(1.2);
    -webkit-backdrop-filter:blur(16px) saturate(1.2);
    border-top:1px solid var(--border, #30363d);
    padding:6px 0 max(env(safe-area-inset-bottom,8px),8px);
    justify-content:space-around;align-items:center;
  }
  .mobile-nav a{
    display:flex;flex-direction:column;align-items:center;
    text-decoration:none;color:var(--text-dim, #8b949e);font-size:0.6em;
    padding:4px 2px;min-width:48px;transition:color .15s;
  }
  .mobile-nav a:active,.mobile-nav a:hover{color:var(--accent, #58a6ff)}
  .mobile-nav a .nav-icon{font-size:1.35em;line-height:1.2}
}
/* ===== RESPONSIVE — Tablet (641–768px) ===== */
@media (min-width: 641px) and (max-width: 768px) {
  /* 2-column card grid */
  .cards-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  /* 2-column path grid */
  .path-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  /* Content padding */
  .content {
    padding: 24px 28px 60px;
  }
  .cards-section,
  .paths {
    padding: 36px 28px;
  }

  /* Font size adjustments */
  .hero h1 {
    font-size: 2.2em;
  }
  .hero-subtitle {
    font-size: 0.98em;
  }
  .content h1 {
    font-size: 1.5em;
  }
  .content h2 {
    font-size: 1.15em;
  }
  .content p,
  .content li {
    font-size: 0.92em;
  }

  /* Card adjustments */
  .card {
    padding: 18px;
  }
  .card h3 {
    font-size: 0.96em;
  }
  .card p {
    font-size: 0.8em;
  }

  /* Slideshow */
  .slideshow {
    max-width: 520px;
    height: 110px;
  }

  /* Installer CTA */
  .installer-cta {
    padding: 0 28px;
  }

  /* Footer */
  footer {
    padding: 32px 28px;
  }
}


