body { font-family:'Inter','Noto Sans SC',sans-serif; background:#020617; }
.glass { background:rgba(15,23,42,0.7); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(148,163,184,0.1); }
.glass-light { background:rgba(30,41,59,0.6); backdrop-filter:blur(16px); border:1px solid rgba(148,163,184,0.08); }
.gradient-text { background:linear-gradient(135deg,#60a5fa,#d946ef,#f59e0b); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.gradient-border { position:relative; }
.gradient-border::before { content:''; position:absolute; inset:0; border-radius:inherit; padding:1.5px; background:linear-gradient(135deg,#3b82f6,#d946ef,#f59e0b); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.screenshot-frame { box-shadow:0 25px 50px -12px rgba(0,0,0,0.5); border:1px solid rgba(148,163,184,0.15); }
.status-dot { width:8px; height:8px; border-radius:50%; display:inline-block; }
.status-green { background:#22c55e; box-shadow:0 0 8px #22c55e; }
.status-yellow { background:#eab308; box-shadow:0 0 8px #eab308; }
.status-red { background:#ef4444; box-shadow:0 0 8px #ef4444; }
.tab-active { background:linear-gradient(135deg,rgba(59,130,246,0.2),rgba(217,70,239,0.1)); border:1px solid rgba(59,130,246,0.3); color:#60a5fa; }
.hover-lift { transition:transform 0.3s ease, box-shadow 0.3s ease; }
.hover-lift:hover { transform:translateY(-4px); box-shadow:0 20px 40px rgba(0,0,0,0.3); }
.scan-line { position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,#3b82f6,#d946ef,transparent); animation:scan 2s linear infinite; opacity:0.6; }
@keyframes scan { 0%{transform:translateY(0);} 100%{transform:translateY(400px);} }
.typing::after { content:'|'; animation:blink 1s step-end infinite; }
@keyframes blink { 50%{opacity:0;} }
.history-panel { transform:translateX(100%); transition:transform 0.4s cubic-bezier(0.16,1,0.3,1); }
.history-panel.open { transform:translateX(0); }
.history-overlay { opacity:0; pointer-events:none; transition:opacity 0.3s ease; }
.history-overlay.open { opacity:1; pointer-events:auto; }
.tag { display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:6px; font-size:11px; font-weight:500; }
.scrollbar-thin::-webkit-scrollbar { width:4px; }
.scrollbar-thin::-webkit-scrollbar-track { background:transparent; }
.scrollbar-thin::-webkit-scrollbar-thumb { background:rgba(148,163,184,0.2); border-radius:4px; }
.history-item { transition:all 0.2s ease; cursor:pointer; }
.history-item:hover { background:rgba(59,130,246,0.08); border-color:rgba(59,130,246,0.2); }
.history-item.active { background:linear-gradient(135deg,rgba(59,130,246,0.15),rgba(217,70,239,0.08)); border-color:rgba(59,130,246,0.3); }
.category-badge { display:inline-flex; align-items:center; gap:5px; padding:5px 12px; border-radius:9999px; font-size:11px; font-weight:500; line-height:1.4; cursor:pointer; transition:background 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease; white-space:nowrap; }
.category-badge:hover { background:rgba(51,65,85,0.35); }
.category-badge.active { outline:none; box-shadow:0 0 0 2px rgba(59,130,246,0.5); }
.history-filter-group { margin-bottom:0.875rem; }
.history-filter-label { font-size:10px; font-weight:600; letter-spacing:0.05em; color:#64748b; margin:0 0 0.5rem 0.125rem; }
.history-filter-chips { display:flex; flex-wrap:wrap; gap:0.5rem 0.625rem; }
.random-shuffle { animation:shuffle 0.6s ease-in-out; }
@keyframes shuffle { 0%{transform:translateY(0);opacity:1;} 25%{transform:translateY(-10px);opacity:0.5;} 50%{transform:translateY(5px);opacity:0.8;} 75%{transform:translateY(-3px);opacity:0.9;} 100%{transform:translateY(0);opacity:1;} }
.toast { transform:translateY(100px); opacity:0; transition:all 0.4s cubic-bezier(0.16,1,0.3,1); }
.toast.show { transform:translateY(0); opacity:1; }
.progress-ring { transform:rotate(-90deg); }
.progress-ring-circle { transition:stroke-dashoffset 1s ease-in-out; }

/* ===== home 工作台 · 深度分析加载页（对标演示截图） ===== */
.seo-loading-hero-bg {
  background:
    radial-gradient(ellipse 85% 65% at 50% 38%, rgba(124, 58, 237, 0.38), transparent 62%),
    radial-gradient(ellipse 55% 45% at 50% 92%, rgba(59, 130, 246, 0.14), transparent 58%),
    radial-gradient(circle at 50% 20%, rgba(217, 70, 239, 0.08), transparent 45%),
    #020617;
}
.seo-loading-ring-glow { filter: drop-shadow(0 0 10px rgba(167, 139, 250, 0.45)); }
.seo-ring-loader {
  display: block;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(167, 139, 250, 0.22);
  border-top-color: rgba(216, 180, 254, 0.95);
  border-radius: 50%;
  animation: seo-ring-spin 0.85s linear infinite;
  box-shadow: 0 0 14px rgba(168, 85, 247, 0.42);
}
@keyframes seo-ring-spin { to { transform: rotate(360deg); } }
.seo-dot-pending {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #475569;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.9);
}
.seo-load-row.seo-step-done .seo-row-label { color: #f8fafc; }
.seo-load-row.seo-step-active .seo-row-label { color: #94a3b8; }
.seo-load-row.seo-step-pending { opacity: 0.62; }
.seo-load-row.seo-step-pending .seo-row-label { color: #64748b; }

/* 分析报告页 — translate.js 语言切换 */
.seo-report-lang .seo-lang-btn.seo-lang-btn-active {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.35), rgba(217, 70, 239, 0.28));
  color: #f8fafc;
  font-weight: 600;
  box-shadow: 0 0 12px rgba(99, 102, 241, 0.25);
}

/* 首页大类 / 子 Tab 丝滑切换 */
.home-category-tabs-track { position:relative; display:flex; gap:4px; }
.home-category-tabs-slider {
  position:absolute; top:0; bottom:0; left:0; width:calc((100% - 4px) / 2);
  border-radius:0.75rem;
  background:linear-gradient(135deg,rgba(59,130,246,0.28),rgba(217,70,239,0.14));
  border:1px solid rgba(59,130,246,0.35);
  box-shadow:0 4px 20px rgba(59,130,246,0.15);
  transition:transform 0.42s cubic-bezier(0.16,1,0.3,1);
  pointer-events:none;
}
.home-category-tab {
  flex:1; position:relative; z-index:1;
  padding:0.75rem 1rem; border-radius:0.75rem;
  font-size:0.875rem; font-weight:600;
  color:#94a3b8; transition:color 0.28s ease;
  display:flex; align-items:center; justify-content:center; gap:0.5rem;
}
.home-category-tab.is-active { color:#e2e8f0; }
.home-category-tab:hover:not(.is-active) { color:#cbd5e1; }
.home-category-panels {
  position:relative;
  transition:height 0.42s cubic-bezier(0.16,1,0.3,1);
  overflow:hidden;
  margin-bottom:0.5rem;
}
.home-category-panel {
  opacity:0; visibility:hidden;
  transform:translateY(12px) scale(0.985);
  transition:opacity 0.38s cubic-bezier(0.16,1,0.3,1), transform 0.38s cubic-bezier(0.16,1,0.3,1), visibility 0.38s;
  position:absolute; width:100%; top:0; left:0;
  pointer-events:none;
}
.home-category-panel.is-active {
  opacity:1; visibility:visible;
  transform:translateY(0) scale(1);
  position:relative; pointer-events:auto; z-index:1;
}
.home-subtab-track { position:relative; display:flex; gap:4px; }
.home-subtab-slider {
  position:absolute; top:0; bottom:0; left:0; width:calc((100% - 8px) / 3);
  border-radius:0.75rem;
  background:linear-gradient(135deg,rgba(59,130,246,0.22),rgba(217,70,239,0.1));
  border:1px solid rgba(59,130,246,0.28);
  transition:transform 0.38s cubic-bezier(0.16,1,0.3,1), width 0.38s cubic-bezier(0.16,1,0.3,1);
  pointer-events:none;
}
.home-subtab-btn {
  flex:1; position:relative; z-index:1;
  padding:0.75rem 1rem; border-radius:0.75rem;
  font-size:0.875rem; font-weight:500;
  color:#94a3b8; transition:color 0.25s ease;
  display:flex; align-items:center; justify-content:center; gap:0.5rem;
}
.home-subtab-btn.is-active { color:#60a5fa; }
.home-subtab-btn:hover:not(.is-active) { color:#e2e8f0; }
.home-input-switcher { position:relative; min-height:4rem; }
.home-input-panel {
  opacity:0; visibility:hidden;
  transform:translateX(14px);
  transition:opacity 0.32s cubic-bezier(0.16,1,0.3,1), transform 0.32s cubic-bezier(0.16,1,0.3,1), visibility 0.32s;
  position:absolute; width:100%; top:0; left:0;
  pointer-events:none;
}
.home-input-panel.is-active {
  opacity:1; visibility:visible;
  transform:translateX(0);
  position:relative; pointer-events:auto;
}

/* ===== 首页扩展介绍区 ===== */
.home-landing-ext { position:relative; }
.home-landing-block { position:relative; }
#home-tool-modules { margin-bottom:0.25rem; }

.home-intro-band {
  position:relative;
  width:100%;
  margin-top:3rem;
  padding:3.5rem 0 4rem;
  border-top:1px solid rgba(148,163,184,0.08);
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%, rgba(59,130,246,0.08), transparent 62%),
    radial-gradient(ellipse 70% 50% at 80% 100%, rgba(168,85,247,0.06), transparent 55%),
    linear-gradient(180deg, rgba(15,23,42,0.35), rgba(2,6,23,0.15));
}
.home-intro-inner {
  max-width:72rem;
  margin:0 auto;
  padding:0 1.5rem;
}
.home-feature-quick { margin-bottom:3.5rem; }
.home-feature-quick .glass-light {
  padding:1.35rem 1.25rem;
  border-radius:1.15rem;
}
.home-landing-ext { position:relative; }
.home-landing-block { position:relative; }
.home-landing-block + .home-landing-block { padding-top:0.5rem; }

.home-site-footer-full {
  position:relative;
  width:100%;
  margin-top:0;
  margin-bottom:0;
  border-top:1px solid rgba(96,165,250,0.12);
  overflow:hidden;
}
.home-site-footer-full-bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 80% at 0% 50%, rgba(59,130,246,0.1), transparent 55%),
    radial-gradient(ellipse 45% 70% at 100% 50%, rgba(168,85,247,0.08), transparent 50%),
    linear-gradient(180deg, rgba(15,23,42,0.95), rgba(2,6,23,1));
}
.home-site-footer-full-inner {
  position:relative; z-index:1;
  max-width:80rem;
  margin:0 auto;
  padding:3rem 1.5rem 2rem;
  display:flex;
  flex-direction:column;
  gap:2.5rem;
}
@media (min-width:1024px) {
  .home-site-footer-full-inner {
    flex-direction:row;
    align-items:flex-start;
    justify-content:space-between;
    padding:3.5rem 2.5rem 2.25rem;
    gap:3rem;
  }
}
.home-site-footer-brand-block { max-width:28rem; }
.home-site-footer-logo {
  font-size:1.5rem;
  font-weight:700;
  letter-spacing:-0.02em;
  color:#f8fafc;
  margin:0;
}
.home-site-footer-tagline {
  font-size:0.9375rem;
  color:#94a3b8;
  margin:0.5rem 0 0;
}
.home-site-footer-desc {
  font-size:0.8125rem;
  line-height:1.65;
  color:#64748b;
  margin:0.85rem 0 0;
}
.home-site-footer-cols--wide {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.75rem 2.5rem;
  flex:1;
  max-width:42rem;
}
@media (min-width:640px) {
  .home-site-footer-cols--wide { grid-template-columns:repeat(4,1fr); max-width:none; }
}
.home-site-footer-full-bottom {
  position:relative; z-index:1;
  border-top:1px solid rgba(148,163,184,0.1);
  padding:1.15rem 1.5rem;
  display:flex;
  flex-direction:column;
  gap:0.35rem;
  align-items:center;
  text-align:center;
  font-size:0.8125rem;
  color:#64748b;
  max-width:80rem;
  margin:0 auto;
}
@media (min-width:768px) {
  .home-site-footer-full-bottom {
    flex-direction:row;
    justify-content:space-between;
    padding:1.15rem 2.5rem;
    text-align:left;
  }
}

.home-landing-kicker {
  display:inline-flex; align-items:center; gap:0.45rem;
  padding:0.35rem 0.85rem; border-radius:9999px;
  font-size:0.6875rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase;
  color:#93c5fd; background:rgba(59,130,246,0.1); border:1px solid rgba(59,130,246,0.22);
}
.home-workflow-grid {
  display:grid; grid-template-columns:1fr; gap:1.25rem;
}
@media (min-width:640px) {
  .home-workflow-grid { grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1024px) {
  .home-workflow-grid { grid-template-columns:repeat(4,1fr); gap:1rem; }
}
.home-workflow-step {
  position:relative; padding:1.65rem 1.25rem 1.45rem;
  border-radius:1.15rem; text-align:center;
  background:rgba(15,23,42,0.55); border:1px solid rgba(148,163,184,0.1);
  transition:transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.home-workflow-step:hover {
  transform:translateY(-3px);
  border-color:rgba(96,165,250,0.28);
  box-shadow:0 16px 40px rgba(0,0,0,0.28);
}
.home-workflow-num {
  position:absolute; top:0.65rem; right:0.75rem;
  font-size:0.625rem; font-weight:700; letter-spacing:0.08em;
  color:rgba(148,163,184,0.45);
}
.home-workflow-icon {
  width:2.75rem; height:2.75rem; margin:0 auto 0.85rem;
  border-radius:0.85rem; display:flex; align-items:center; justify-content:center;
  font-size:1rem; border:1px solid transparent;
}
.home-workflow-icon--blue { background:rgba(59,130,246,0.12); color:#60a5fa; border-color:rgba(96,165,250,0.25); box-shadow:0 0 20px rgba(59,130,246,0.15); }
.home-workflow-icon--violet { background:rgba(168,85,247,0.12); color:#c084fc; border-color:rgba(192,132,252,0.25); box-shadow:0 0 20px rgba(168,85,247,0.15); }
.home-workflow-icon--amber { background:rgba(245,158,11,0.12); color:#fbbf24; border-color:rgba(251,191,36,0.25); box-shadow:0 0 20px rgba(245,158,11,0.12); }
.home-workflow-icon--emerald { background:rgba(16,185,129,0.12); color:#34d399; border-color:rgba(52,211,153,0.25); box-shadow:0 0 20px rgba(16,185,129,0.12); }
.home-workflow-title { font-size:0.9375rem; font-weight:600; color:#f1f5f9; margin-bottom:0.35rem; }
.home-workflow-desc { font-size:0.75rem; line-height:1.55; color:#94a3b8; }

.home-cap-card {
  position:relative; overflow:hidden;
  padding:1.65rem 1.45rem 1.45rem; border-radius:1.35rem;
  background:rgba(15,23,42,0.6); border:1px solid rgba(148,163,184,0.1);
  transition:transform 0.35s ease, border-color 0.35s ease;
}
.home-cap-card:hover { transform:translateY(-4px); }
.home-cap-card-glow {
  position:absolute; top:-40%; right:-20%; width:55%; height:80%;
  border-radius:50%; filter:blur(40px); opacity:0.35; pointer-events:none;
}
.home-cap-card--link { border-color:rgba(96,165,250,0.18); }
.home-cap-card--link .home-cap-card-glow { background:rgba(59,130,246,0.35); }
.home-cap-card--link:hover { border-color:rgba(96,165,250,0.35); box-shadow:0 20px 48px rgba(59,130,246,0.12); }
.home-cap-card--title { border-color:rgba(192,132,252,0.18); }
.home-cap-card--title .home-cap-card-glow { background:rgba(168,85,247,0.32); }
.home-cap-card--title:hover { border-color:rgba(192,132,252,0.35); box-shadow:0 20px 48px rgba(168,85,247,0.1); }
.home-cap-card--opt { border-color:rgba(251,191,36,0.18); }
.home-cap-card--opt .home-cap-card-glow { background:rgba(245,158,11,0.28); }
.home-cap-card--opt:hover { border-color:rgba(251,191,36,0.32); box-shadow:0 20px 48px rgba(245,158,11,0.08); }
.home-cap-card-head { display:flex; align-items:center; gap:0.75rem; margin-bottom:1rem; position:relative; z-index:1; }
.home-cap-icon {
  width:2.5rem; height:2.5rem; flex-shrink:0;
  border-radius:0.75rem; display:flex; align-items:center; justify-content:center;
  background:rgba(30,41,59,0.8); border:1px solid rgba(148,163,184,0.12);
  color:#93c5fd; font-size:0.95rem;
}
.home-cap-card--title .home-cap-icon { color:#c4b5fd; }
.home-cap-card--opt .home-cap-icon { color:#fcd34d; }
.home-cap-list {
  list-style:none; margin:0; padding:0; position:relative; z-index:1;
  display:flex; flex-direction:column; gap:0.55rem;
}
.home-cap-list li {
  display:flex; align-items:flex-start; gap:0.5rem;
  font-size:0.8125rem; line-height:1.5; color:#94a3b8;
}
.home-cap-list li i { color:#4ade80; font-size:0.65rem; margin-top:0.35rem; flex-shrink:0; }

.home-report-panel {
  border:1px solid rgba(96,165,250,0.15);
  padding:2rem 1.75rem;
  border-radius:1.5rem;
  background:
    radial-gradient(ellipse 70% 55% at 100% 0%, rgba(168,85,247,0.12), transparent 55%),
    radial-gradient(ellipse 60% 50% at 0% 100%, rgba(59,130,246,0.1), transparent 50%),
    rgba(15,23,42,0.75);
}
.home-report-panel-shine {
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(105deg, transparent 42%, rgba(255,255,255,0.03) 50%, transparent 58%);
}
.home-report-chip {
  display:flex; align-items:center; gap:0.55rem;
  padding:0.75rem 0.85rem; border-radius:0.85rem;
  font-size:0.8125rem; color:#cbd5e1; font-weight:500;
  background:rgba(2,6,23,0.45); border:1px solid rgba(148,163,184,0.08);
  transition:background 0.25s ease, border-color 0.25s ease;
}
.home-report-chip:hover { background:rgba(30,41,59,0.55); border-color:rgba(96,165,250,0.2); }
.home-report-chip i { width:1rem; text-align:center; flex-shrink:0; }

.home-faq-item {
  border-radius:1rem; overflow:hidden;
  background:rgba(15,23,42,0.55); border:1px solid rgba(148,163,184,0.1);
  transition:border-color 0.25s ease;
}
.home-faq-item[open] { border-color:rgba(96,165,250,0.28); }
.home-faq-item summary {
  list-style:none; cursor:pointer; padding:1rem 1.15rem;
  font-size:0.9375rem; font-weight:600; color:#e2e8f0;
  display:flex; align-items:center; justify-content:space-between; gap:0.75rem;
  user-select:none;
}
.home-faq-item summary::-webkit-details-marker { display:none; }
.home-faq-item summary::after {
  content:'+'; font-size:1.125rem; font-weight:400; color:#64748b;
  transition:transform 0.25s ease, color 0.25s ease;
}
.home-faq-item[open] summary::after { content:'−'; color:#60a5fa; }
.home-faq-item summary:hover { color:#f8fafc; }
.home-faq-item p {
  margin:0; padding:0 1.15rem 1.1rem;
  font-size:0.8125rem; line-height:1.65; color:#94a3b8;
  border-top:1px solid rgba(148,163,184,0.06);
  padding-top:0.85rem;
}

.home-site-footer {
  border-radius:1.5rem; overflow:hidden;
  border:1px solid rgba(148,163,184,0.1);
  background:linear-gradient(180deg, rgba(15,23,42,0.85), rgba(2,6,23,0.92));
}
.home-site-footer-inner {
  padding:2rem 1.5rem 1.5rem;
  display:flex; flex-direction:column; gap:2rem;
}
@media (min-width:768px) {
  .home-site-footer-inner { flex-direction:row; justify-content:space-between; padding:2.25rem 2rem 1.75rem; }
}
.home-site-footer-cols {
  display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem 2rem;
}
@media (min-width:640px) {
  .home-site-footer-cols { grid-template-columns:repeat(3,1fr); }
}
.home-site-footer-label {
  font-size:0.6875rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase;
  color:#64748b; margin-bottom:0.65rem;
}
.home-site-footer-links {
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:0.4rem;
  font-size:0.8125rem; color:#94a3b8; line-height:1.45;
}
.home-site-footer-bottom {
  padding:1rem 1.5rem; border-top:1px solid rgba(148,163,184,0.08);
  display:flex; flex-direction:column; gap:0.25rem; align-items:center; text-align:center;
  font-size:0.75rem; color:#64748b;
}
@media (min-width:640px) {
  .home-site-footer-bottom { flex-direction:row; justify-content:space-between; text-align:left; padding:1rem 2rem; }
}
.home-site-footer-meta { color:#475569; font-size:0.6875rem; letter-spacing:0.04em; }

#loading-section.hidden,
#results-section.hidden,
.home-intro-band.hidden,
.home-site-footer-full.hidden {
  display:none !important;
}

html.seo-view-loading main {
  min-height: calc(100dvh - 6rem);
  display: flex;
  flex-direction: column;
}

html.seo-view-loading #loading-section:not(.hidden) {
  display: flex !important;
  flex: 1;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: calc(100dvh - 6rem);
  padding-top: 2.5rem;
  padding-bottom: 3rem;
}
