/* ==========================================================================
   MeyeVPN — ai.css
   AI 加速专题页专属样式（首屏装置 / 正文长文版式 / 工具卡）
   仅本页使用，通用组件一律引用 base.css 与 components.css
   ========================================================================== */

/* ---------- 页首区 ---------- */
.ai-hero{
  position:relative;
  overflow-x:clip;
  background:linear-gradient(180deg,var(--bg-top),var(--bg-bottom));
  padding-top:52px;
  padding-bottom:76px;
}
.ai-hero .wrap{position:relative;z-index:1}
.ai-glow{
  position:absolute;top:-90px;right:-70px;
  width:440px;height:440px;max-width:100%;
  border-radius:50%;
  background:radial-gradient(circle,var(--glow-7),transparent 70%);
  pointer-events:none;
}
.ai-flow{
  position:absolute;left:50%;bottom:-14px;
  width:min(620px,100%);height:auto;
  transform:translateX(-50%);
  opacity:.75;
  pointer-events:none;
}
.ai-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.94fr);
  gap:52px;
  align-items:center;
}
.ai-hero h1{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(32px,4.8vw,58px);
  line-height:1.1;
  letter-spacing:-.03em;
  margin:18px 0 16px;
}
.ai-hero-lead{
  font-size:17.5px;
  color:var(--muted);
  line-height:1.78;
  max-width:580px;
}
.ai-hero-lead strong{color:var(--text);font-weight:600}
.ai-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 22px}
.ai-hero-stack{display:flex;flex-direction:column;gap:16px;margin-top:22px}

/* ---------- 首屏装置：AI 工具观察窗（纯展示，aria-hidden） ---------- */
.ai-window{
  position:relative;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-panel);
  overflow:hidden;
}
.ai-window-bar{
  display:flex;align-items:center;gap:8px;
  padding:12px 14px;
  background:var(--panel-2);
  border-bottom:1px solid var(--border);
}
.ai-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.ai-dot-1{background:var(--dot-1)}
.ai-dot-2{background:var(--dot-2)}
.ai-dot-3{background:var(--dot-3)}
.ai-omnibox{
  flex:1;min-width:0;margin-left:8px;
  display:flex;align-items:center;
  min-height:26px;padding:0 12px;
  border:1px solid var(--border);border-radius:var(--r-pill);
  background:var(--panel);
  font:500 12px/1.4 var(--font-mono);
  color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ai-window-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}

.ai-tool-list{
  display:flex;flex-direction:column;gap:4px;
  padding:14px;
  border-right:1px solid var(--border);
}
.ai-list-head{
  display:flex;align-items:center;gap:9px;
  margin-bottom:8px;
  font:500 11.5px/1.4 var(--font-mono);
  color:var(--muted);
}
.ai-list-head .sq-ic{width:22px;height:22px;border-radius:var(--r-xs)}
.ai-list-head .sq-ic svg{width:12px;height:12px}
.ai-tool-row{
  display:flex;align-items:center;gap:9px;
  min-height:40px;padding:6px 10px;
  border-radius:var(--r-md);
  font-size:13.5px;
}
.ai-tool-row.is-active{background:var(--tint-6)}
.ai-tool-row .tag{margin-left:auto;font-size:11px}
.ai-tool-badge{
  width:22px;height:22px;flex-shrink:0;
  border-radius:50%;
  background:var(--panel-2);
  display:grid;place-items:center;
  color:var(--muted-2);
}
.ai-tool-row.is-active .ai-tool-badge{background:var(--tint-14);color:var(--accent)}
.ai-tool-name{font-weight:600;color:var(--text);white-space:nowrap}

.ai-conn{display:flex;flex-direction:column;gap:14px;padding:16px}
.ai-conn-head{display:flex;align-items:center;gap:12px}
.ai-conn-disc{
  width:52px;height:52px;flex-shrink:0;
  border-radius:50%;
  background:linear-gradient(180deg,var(--accent-2),var(--accent));
  display:grid;place-items:center;
  color:var(--white);
  box-shadow:var(--shadow-btn);
}
.ai-conn-disc svg{width:26px;height:26px}
.ai-conn-head b{display:block;font-size:14.5px;font-weight:700}
.ai-conn-head span{font-size:12.5px;color:var(--muted)}
.ai-status-dot{
  width:8px;height:8px;flex-shrink:0;margin-left:auto;
  border-radius:50%;background:var(--accent);
  animation:ai-pulse 3s ease-in-out infinite;
}
@keyframes ai-pulse{0%,100%{opacity:1}50%{opacity:.3}}

.ai-kv{margin:0;display:flex;flex-direction:column}
.ai-kv > div{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 0;
  border-bottom:1px solid var(--border);
  font-size:13px;
}
.ai-kv > div:last-child{border-bottom:0}
.ai-kv dt{margin:0;color:var(--muted)}
.ai-kv dd{
  margin:0;
  font-family:var(--font-mono);
  font-size:12.5px;
  color:var(--text);
  text-align:right;
}
.ai-conn-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.ai-chip-solid{
  display:inline-flex;align-items:center;
  min-height:34px;padding:0 16px;
  border-radius:var(--r-pill);
  background:linear-gradient(180deg,var(--accent-2),var(--accent));
  color:var(--white);
  font-size:13px;font-weight:700;
  white-space:nowrap;
}
.ai-chip-line{
  display:inline-flex;align-items:center;
  min-height:34px;padding:0 14px;
  border:1px solid var(--border);border-radius:var(--r-pill);
  background:var(--panel);
  color:var(--muted);
  font-size:12.5px;
  white-space:nowrap;
}

/* ---------- 正文长文版式 ---------- */
.ai-body{padding-top:56px;padding-bottom:24px}
.ai-article{max-width:1000px;margin-inline:auto;min-width:0}
.ai-article > section{
  padding-top:48px;
  padding-bottom:48px;
  border-top:1px solid var(--border);
}
.ai-article > section:first-of-type{border-top:0;padding-top:20px}
.ai-article h2{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(24px,2.9vw,34px);
  line-height:1.2;
  letter-spacing:-.025em;
  margin-bottom:16px;
}
.ai-article h3{
  font-family:var(--font-display);
  font-size:18px;
  font-weight:700;
  letter-spacing:-.01em;
  margin:28px 0 10px;
}
.ai-article p{font-size:16.5px;line-height:1.85;color:var(--text)}
.ai-article p + p{margin-top:14px}
.ai-article p strong{font-weight:600}
.ai-note{font-size:14.5px;color:var(--muted);line-height:1.75;margin-top:14px}
.ai-article .check-list{margin-top:18px}
.ai-article .check-list li{font-size:16px}
.ai-article pre{margin:18px 0 0}
.ai-article .table-scroll{margin-top:20px}
.ai-article .callout{margin-top:22px}

/* 工具卡 / 场景卡 */
.ai-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}
.ai-card{
  min-width:0;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-xs);
  padding:20px 22px;
}
.ai-card h3{margin:0 0 8px;font-size:16.5px}
.ai-card p{font-size:14.5px;line-height:1.75;color:var(--muted)}
.ai-card .tag{margin-top:12px}

.ai-pick{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}
.ai-pick .ai-card h3{font-size:16px}
.ai-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .ai-hero-grid{grid-template-columns:1fr;gap:36px}
  .ai-window{max-width:660px}
  .ai-pick{grid-template-columns:1fr}
}
@media (max-width:768px){
  .ai-hero{padding-top:36px;padding-bottom:56px}
  .ai-hero-lead{font-size:16.5px}
  .ai-cards{grid-template-columns:1fr}
  .ai-article > section{padding-top:36px;padding-bottom:36px}
}
@media (max-width:640px){
  .ai-window-body{grid-template-columns:1fr}
  .ai-tool-list{border-right:0;border-bottom:1px solid var(--border)}
  .ai-hero-cta .btn-primary,
  .ai-hero-cta .btn-secondary{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .ai-status-dot{animation:none}
}