.seo-shell {
  position: relative;
  z-index: 1;
  max-width: 1040px;
  margin: 0 auto;
  padding: 32px 24px 120px;
  color: var(--text-primary, #e8eaf0);
  line-height: 1.75;
}

.seo-shell[hidden] { display: none !important; }
.seo-shell h1 { margin: 0 0 12px; font-size: clamp(1.75rem, 4vw, 2.5rem); }
.seo-shell h2 { margin: 32px 0 12px; font-size: 1.35rem; }
.seo-shell h3 { margin: 20px 0 8px; font-size: 1.05rem; }
.seo-shell p { margin: 0 0 14px; color: var(--text-secondary, #b0bcd4); }
.seo-shell a { color: #8ab4f8; text-underline-offset: 3px; }
.seo-shell ul { padding-left: 1.25rem; }
.seo-shell nav { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 18px 0 26px; }
.seo-data-time,
.seo-note { color: var(--text-muted, #8899aa); font-size: .9rem; }
.seo-number-list { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.seo-number-list li { min-width: 2.2rem; padding: 5px 9px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; text-align: center; }
.seo-table-wrap { overflow-x: auto; }
.seo-shell table { width: 100%; border-collapse: collapse; margin: 12px 0 20px; }
.seo-shell th,
.seo-shell td { padding: 9px 10px; border-bottom: 1px solid rgba(255,255,255,.12); text-align: left; white-space: nowrap; }
.seo-shell th { color: var(--text-primary, #e8eaf0); }
.seo-breadcrumb { font-size: .9rem; color: var(--text-muted, #8899aa); }
.seo-article { max-width: 760px; }
.seo-tool-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 14px 0 18px; }
.seo-tool-btn,
.seo-tool-link,
.seo-tool-label select {
  border: 1px solid rgba(138,180,248,.35);
  border-radius: 999px;
  background: rgba(138,180,248,.08);
  color: var(--text-primary, #e8eaf0);
  padding: 8px 13px;
  font: inherit;
  cursor: pointer;
}
.seo-tool-btn.active { border-color: #f6c90e; background: rgba(246,201,14,.15); color: #f6c90e; }
.seo-tool-link { display: inline-block; text-decoration: none; }
.seo-tool-label { display: flex; align-items: center; gap: 10px; margin: 12px 0 18px; }
.seo-landing-active { overflow: auto; }
.seo-landing-active #app,
.seo-landing-active #global-scroll-btns { display: none !important; }
.seo-limit-notice { margin-top: 12px; color: var(--text-muted, #8899aa); font-size: 15px; }
.seo-limit-notice button { margin-left: 6px; border: 0; border-radius: 999px; padding: 5px 10px; background: #f6c90e; color: #111; cursor: pointer; }

@media (max-width: 640px) {
  .seo-shell { padding: 24px 16px 100px; }
}
