@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=JetBrains+Mono:wght@400;500;600&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Syne:wght@500;600;700;800&display=swap");
/* 北上还原 / tmdcode.cn landing visual system */
:root {
  --tmd-home-ink: #111827;
  --tmd-home-indigo: #3b46c4;
  --tmd-home-indigo-deep: #2a3399;
  --tmd-home-mute: #6b7280;
  --tmd-home-soft: #f3f5fb;
  --tmd-home-line: #e8ebf2;
}
html, body {
  background: #fff !important;
  color: var(--tmd-home-ink) !important;
  font-family: "Plus Jakarta Sans", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif !important;
  -webkit-font-smoothing: antialiased;
}
body { padding-top: 0 !important; }

/* Minimal centered header */
.ew-header {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(1152px, calc(100% - 48px)) !important;
  height: 76px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  box-shadow: none !important;
  z-index: 20 !important;
}
.ew-header .layui-logo {
  width: auto !important;
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 0 0 42px !important;
  background-image: url("/assets/tmd-brand-mark.png") !important;
  background-position: 0 4px !important;
  background-size: 32px 32px !important;
  background-repeat: no-repeat !important;
  color: var(--tmd-home-ink) !important;
  font-family: "Fraunces", Georgia, serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
}
.ew-header .layui-logo span { color: inherit !important; }
.ew-header .ew-nav-group { margin-left: auto !important; }
.ew-header .layui-nav {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 !important;
  background: transparent !important;
}
.ew-header .layui-nav > .layui-nav-item { padding: 0 !important; line-height: 1 !important; }
.ew-header .layui-nav > .layui-nav-item > a {
  height: 38px !important;
  line-height: 38px !important;
  padding: 0 14px !important;
  color: var(--tmd-home-mute) !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  background: transparent !important;
}
.ew-header .layui-nav > .layui-nav-item > a:hover,
.ew-header .layui-nav > .layui-nav-item.layui-this > a { color: var(--tmd-home-ink) !important; background: #f5f5f4 !important; }
.ew-header .layui-nav > .layui-nav-item > a:after { display: none !important; }
.ew-header .layui-nav > .layui-nav-item.nav-btn-login > a {
  height: 38px !important;
  line-height: 38px !important;
  border: 1px solid var(--tmd-home-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
}
.ew-header .layui-nav > .layui-nav-item.nav-btn-login > a:hover { background: var(--tmd-home-soft) !important; }
.ew-header .nav-toggle { display: none !important; }
.ew-header .layui-nav > .layui-nav-item:first-child { display: none !important; }

/* Hero */
.ew-banner {
  min-height: 100svh !important;
  margin-top: 0 !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse 70% 50% at 50% 35%, rgba(59,70,196,.08), transparent 65%),
    #fff !important;
  color: var(--tmd-home-ink) !important;
  position: relative !important;
}
.ew-banner:before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 130px 12% 0 !important;
  opacity: .9 !important;
  pointer-events: none !important;
  background-image: radial-gradient(circle at 1px 1px, rgba(59,70,196,.12) 1px, transparent 0) !important;
  background-size: 36px 36px !important;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 45%, #000 20%, transparent 75%) !important;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 45%, #000 20%, transparent 75%) !important;
}
.ew-banner > .layui-container {
  position: relative !important;
  z-index: 2 !important;
  width: min(1200px, calc(100% - 48px)) !important;
  max-width: 1200px !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
  padding: 120px 0 64px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
.ew-banner h1 {
  margin: 0 0 12px !important;
  color: var(--tmd-home-ink) !important;
  font-family: "Syne", "Plus Jakarta Sans", sans-serif !important;
  font-size: clamp(40px, 3.5rem, 56px) !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
  line-height: 1.05 !important;
}
.ew-banner h1 b { font-weight: 800 !important; }
.ew-banner p { margin: 0 0 10px !important; color: var(--tmd-home-mute) !important; font-size: 16px !important; line-height: 1.75 !important; }
.ew-banner p:first-of-type { color: var(--tmd-home-indigo) !important; font-size: 20px !important; font-weight: 700 !important; }
.ew-banner p:nth-of-type(2) { color: var(--tmd-home-mute) !important; font-size: 15px !important; }
.ew-banner p:nth-of-type(2) span { color: var(--tmd-home-indigo) !important; font-size: inherit !important; }
.ew-banner-btngroup { margin-top: 24px !important; display: inline-flex !important; gap: 10px !important; }
.ew-banner-btngroup + .ew-banner-btngroup { margin-left: 8px !important; }
.ew-banner .layui-btn {
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 24px !important;
  border: 1px solid var(--tmd-home-indigo) !important;
  border-radius: 12px !important;
  background: var(--tmd-home-indigo) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 24px rgba(59,70,196,.18) !important;
}
.ew-banner .layui-btn:hover { background: var(--tmd-home-indigo-deep) !important; border-color: var(--tmd-home-indigo-deep) !important; transform: translateY(-1px); }
.ew-banner .layui-btn.layui-btn-normal,
.ew-banner .layui-btn.layui-btn-primary { background: #fff !important; color: var(--tmd-home-indigo) !important; border-color: #cfd4ee !important; box-shadow: none !important; }
.ew-banner img.shape, .ew-banner img.shape-main { display: none !important; }

/* A lightweight editor preview occupies the visual slot used by tmdcode.cn. */
.ew-banner > .layui-container:after {
  content: "" !important;
  display: block !important;
  width: min(1024px, 100%) !important;
  aspect-ratio: 1100 / 520 !important;
  height: auto !important;
  margin: 56px auto 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: url("/assets/tmd-editor-preview.svg?v=20260904.2") center / contain no-repeat !important;
  color: transparent !important;
  box-shadow: 0 24px 56px rgba(17,24,39,.12) !important;
  overflow: hidden !important;
}.ew-banner > .layui-container:before { display: none !important; }

/* Feature/product sections */
.section { background: #fff !important; margin: 0 !important; padding: 56px 0 !important; border-top: 1px solid #f5f5f4 !important; }
.section-title { padding: 0 0 30px !important; text-align: center !important; }
.section-title > h2 { color: var(--tmd-home-ink) !important; font-family: "Fraunces", Georgia, serif !important; font-size: 32px !important; font-weight: 600 !important; }
.section-title > p { color: var(--tmd-home-mute) !important; font-size: 15px !important; }
.feature {
  height: 100% !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--tmd-home-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(17,24,39,.04) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
.feature:hover { transform: translateY(-3px) !important; box-shadow: 0 10px 28px rgba(17,24,39,.08) !important; }
.feature > .layui-icon { color: var(--tmd-home-indigo) !important; font-size: 28px !important; }
.feature h3 { color: var(--tmd-home-ink) !important; font-family: "Fraunces", Georgia, serif !important; font-size: 18px !important; }
.feature p { color: var(--tmd-home-mute) !important; font-size: 13px !important; line-height: 1.75 !important; }
.ew-footer { background: #faf9f7 !important; border-top: 1px solid var(--tmd-home-line) !important; color: var(--tmd-home-mute) !important; }
.ew-footer a { color: var(--tmd-home-indigo) !important; }

/* Inner public pages (client/goto) */
.page-intro { background: #fff !important; padding: 76px 0 52px !important; }
.page-intro h1 { color: var(--tmd-home-ink) !important; font-family: "Fraunces", Georgia, serif !important; font-size: 42px !important; }
.page-intro p { color: var(--tmd-home-mute) !important; }
.page-intro .version-tag { background: var(--tmd-home-indigo) !important; border-radius: 999px !important; }
.download-section, .encrypt-section { background: #f3f2f0 !important; }
.download-card, .encrypt-card, .tips-card, .feature-card { border: 1px solid var(--tmd-home-line) !important; border-radius: 16px !important; box-shadow: 0 1px 2px rgba(17,24,39,.04) !important; }
.encrypt-card, .download-card { background: #fff !important; }
.layui-input, .layui-textarea { border-radius: 12px !important; border-color: #d6d9e6 !important; }

@media (max-width: 768px) {
  .ew-header { width: calc(100% - 32px) !important; height: 64px !important; }
  .ew-header .layui-nav > .layui-nav-item > a { padding: 0 8px !important; font-size: 12px !important; }
  .ew-banner { min-height: 100svh !important; }
  .ew-banner > .layui-container { width: calc(100% - 32px) !important; min-height: 100svh !important; padding-top: 92px !important; }
  .ew-banner > .layui-container:after { width: 100% !important; margin-top: 48px !important; }
  .ew-banner-btngroup { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; }
  .section { padding: 40px 16px !important; }
}

/* v2 landing composition: preserve every existing route while matching the
   reference's quiet, centered hero and editor preview. */
.ew-banner {
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse 70% 50% at 50% 35%, rgba(59,70,196,.08), transparent 65%),
    #fff !important;
}
.ew-banner > .layui-container.tmd-hero-container {
  width: min(1024px, calc(100% - 32px)) !important;
  max-width: 1024px !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 92px 0 40px !important;
  margin: 0 auto !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
.tmd-hero-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 640px !important;
  text-align: center !important;
}
.tmd-hero-copy h1,
.ew-banner .tmd-hero-copy h1 {
  margin: 0 0 12px !important;
  color: #111827 !important;
  font-family: "Syne", "Plus Jakarta Sans", sans-serif !important;
  font-size: clamp(42px, 5.5vw, 56px) !important;
  font-weight: 800 !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
}
.tmd-hero-copy h1 b { font-weight: 800 !important; }
.tmd-hero-kicker {
  margin: 0 0 8px !important;
  color: var(--tmd-home-indigo) !important;
  font-family: "Syne", "Plus Jakarta Sans", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: -.02em !important;
}
.tmd-hero-subtitle {
  margin: 0 !important;
  color: var(--tmd-home-mute) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
.tmd-hero-count { display: none !important; }
.tmd-hero-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 22px !important;
}
.tmd-hero-actions .layui-btn,
.ew-banner .tmd-hero-actions .layui-btn {
  min-width: 140px !important;
  height: 41px !important;
  line-height: 39px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.tmd-hero-actions .tmd-btn-secondary { min-width: 110px !important; }
.tmd-editor-preview {
  display: block !important;
  width: min(976px, 100%) !important;
  height: auto !important;
  aspect-ratio: 1100 / 520 !important;
  margin: 9px auto 0 !important;
  object-fit: contain !important;
  filter: drop-shadow(0 24px 56px rgba(17,24,39,.12)) !important;
}
.ew-banner > .layui-container.tmd-hero-container:before,
.ew-banner > .layui-container.tmd-hero-container:after { display: none !important; }
.tmd-secondary-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  margin: 16px auto 0 !important;
  color: var(--tmd-home-mute) !important;
  font-size: 13px !important;
}
.tmd-secondary-actions a {
  color: var(--tmd-home-mute) !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  transition: color .18s ease, border-color .18s ease !important;
}
.tmd-secondary-actions a:hover { color: var(--tmd-home-indigo) !important; border-color: currentColor !important; }

@media (max-width: 768px) {
  .ew-banner > .layui-container.tmd-hero-container {
    width: calc(100% - 32px) !important;
    padding-top: 148px !important;
    padding-bottom: 28px !important;
  }
  .tmd-hero-copy h1,
  .ew-banner .tmd-hero-copy h1 { font-size: 42px !important; }
  .tmd-hero-kicker { font-size: 18px !important; }
  .tmd-hero-subtitle { font-size: 14px !important; }
  .tmd-hero-actions { flex-direction: column !important; gap: 10px !important; margin-top: 22px !important; width: 100% !important; }
  .tmd-hero-actions .layui-btn,
  .tmd-hero-actions .tmd-btn-secondary { width: min(180px, 100%) !important; }
  .tmd-editor-preview { width: 100% !important; margin-top: 48px !important; }
  .tmd-secondary-actions { margin-top: 14px !important; }
}


/* Client feature cards use the same quiet typography as the home surface. */
.feature-card {
  padding: 24px !important;
  border: 1px solid var(--tmd-home-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
}
.feature-card > .layui-icon { color: var(--tmd-home-indigo) !important; font-size: 28px !important; }
.feature-card h3 { color: var(--tmd-home-ink) !important; font-family: "Fraunces", Georgia, serif !important; font-size: 18px !important; font-weight: 600 !important; }
.feature-card p { color: var(--tmd-home-mute) !important; font-size: 13px !important; line-height: 1.75 !important; }

/* Public tools use the same controls as the member surface, rather than the
   stock Layui palette. */
.encrypt-section .layui-btn,
.download-section .layui-btn,
.encrypt-card .layui-btn,
.download-card .layui-btn {
  min-height: 40px !important;
  height: 40px !important;
  line-height: 38px !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  border: 1px solid #1c1917 !important;
  background: #1c1917 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
.encrypt-section .layui-btn:hover,
.download-section .layui-btn:hover,
.encrypt-card .layui-btn:hover,
.download-card .layui-btn:hover { background: #292524 !important; border-color: #292524 !important; }
.encrypt-section .layui-btn.layui-btn-primary,
.download-section .layui-btn.layui-btn-primary,
.encrypt-card .layui-btn.layui-btn-primary,
.download-card .layui-btn.layui-btn-primary {
  border-color: #d6d3d1 !important;
  background: #fff !important;
  color: #57534e !important;
}
.encrypt-section .layui-btn.layui-btn-primary:hover,
.download-section .layui-btn.layui-btn-primary:hover,
.encrypt-card .layui-btn.layui-btn-primary:hover,
.download-card .layui-btn.layui-btn-primary:hover { background: #fafaf9 !important; color: #1c1917 !important; }
.encrypt-section .layui-upload-drag,
.encrypt-card .layui-upload-drag {
  min-height: 220px !important;
  padding: 48px 24px !important;
  border: 2px dashed #d6d3d1 !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #78716c !important;
}
.encrypt-section .layui-upload-drag:hover,
.encrypt-card .layui-upload-drag:hover { border-color: #a8a29e !important; background: #fafaf9 !important; }
.encrypt-section .layui-upload-drag .layui-icon,
.encrypt-card .layui-upload-drag .layui-icon { color: #57534e !important; }
.encrypt-section .layui-input,
.encrypt-section .layui-textarea,
.encrypt-card .layui-input,
.encrypt-card .layui-textarea,
.download-section .layui-input,
.download-section select {
  min-height: 42px !important;
  border: 1px solid #e7e5e4 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #1c1917 !important;
  box-shadow: 0 1px 2px rgba(28,25,23,.02) !important;
}
.tips-card { background: #fffbeb !important; border: 1px solid #fde68a !important; border-left: 3px solid #f59e0b !important; color: #57534e !important; }
.tips-card h3 { color: #92400e !important; font-family: "Fraunces", Georgia, serif !important; }

/* Quiet concentric linework and a sparse dot field echo the reference hero. */
.ew-banner::before {
  content: "" !important;
  position: absolute !important;
  inset: auto !important;
  left: 50% !important;
  top: 52% !important;
  width: 640px !important;
  height: 640px !important;
  transform: translate(-50%, -50%) !important;
  opacity: .9 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  border: 0 !important;
  background:
    radial-gradient(circle at center,
      transparent 0 149px,
      rgba(59,70,196,.08) 150px 151px,
      transparent 152px 229px,
      rgba(59,70,196,.10) 230px 231px,
      transparent 232px 319px,
      rgba(59,70,196,.08) 320px 321px,
      transparent 322px) !important;
}
.ew-banner::after {
  content: "" !important;
  position: absolute !important;
  inset: 96px 0 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .65 !important;
  background-image: radial-gradient(circle at 1px 1px, rgba(59,70,196,.12) 1px, transparent 0) !important;
  background-size: 36px 36px !important;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 45%, #000 20%, transparent 75%) !important;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 45%, #000 20%, transparent 75%) !important;
}
@media (max-width: 768px) {
  .ew-banner::before { width: 520px !important; height: 520px !important; top: 54% !important; }
  .ew-banner::after { top: 120px !important; left: 0 !important; right: 0 !important; bottom: 0 !important; }
}

/* -------------------------------------------------------------------------
   Public landing surfaces: compact, Chinese-first visual pass (2026-09-04)
   ------------------------------------------------------------------------- */
:root {
  --tmd-home-font-sans: "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", system-ui, sans-serif;
  --tmd-home-font-display: "Noto Serif CJK SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", Georgia, serif;
}

.tmd-home-page,
.tmd-goto-page,
.tmd-home-page button,
.tmd-home-page input,
.tmd-home-page select,
.tmd-home-page textarea,
.tmd-goto-page button,
.tmd-goto-page input,
.tmd-goto-page select,
.tmd-goto-page textarea {
  font-family: var(--tmd-home-font-sans) !important;
}
.tmd-home-page .section-title > h2,
.tmd-home-page .feature h3,
.tmd-goto-page .page-intro h1,
.tmd-goto-page .encrypt-card-header h2,
.tmd-goto-page .tips-card h3 {
  font-family: var(--tmd-home-font-display) !important;
  letter-spacing: -.01em;
}

/* A short header keeps the hero and tool surface visible sooner. */
.tmd-home-page .ew-header,
.tmd-goto-page .ew-header {
  width: min(1120px, calc(100% - 32px)) !important;
  height: 64px !important;
  min-height: 64px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}
.tmd-home-page .ew-header .layui-logo,
.tmd-goto-page .ew-header .layui-logo {
  height: 38px !important;
  line-height: 38px !important;
  padding-left: 40px !important;
  background-size: 30px 30px !important;
  background-position: 0 4px !important;
  font-family: var(--tmd-home-font-sans) !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
}
.tmd-home-page .ew-header .ew-nav-group,
.tmd-goto-page .ew-header .ew-nav-group {
  margin-left: auto !important;
}
.tmd-home-page .ew-header .layui-nav,
.tmd-goto-page .ew-header .layui-nav {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 0 !important;
  background: transparent !important;
}
.tmd-home-page .ew-header .layui-nav > .layui-nav-item,
.tmd-goto-page .ew-header .layui-nav > .layui-nav-item {
  height: 34px !important;
  line-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.tmd-home-page .ew-header .layui-nav > .layui-nav-item > a,
.tmd-goto-page .ew-header .layui-nav > .layui-nav-item > a {
  height: 34px !important;
  line-height: 34px !important;
  padding: 0 10px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}
.tmd-home-page .ew-header .layui-nav > .layui-nav-item.nav-btn-login,
.tmd-goto-page .ew-header .layui-nav > .layui-nav-item.nav-btn-login {
  height: 34px !important;
  line-height: 34px !important;
  padding-left: 3px !important;
}
.tmd-home-page .ew-header .layui-nav > .layui-nav-item.nav-btn-login > a,
.tmd-goto-page .ew-header .layui-nav > .layui-nav-item.nav-btn-login > a {
  padding: 0 12px !important;
  border: 1px solid var(--tmd-home-line) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--tmd-home-ink) !important;
}
.tmd-home-page .ew-header .layui-nav > .layui-nav-item.nav-btn-tool > a,
.tmd-goto-page .ew-header .layui-nav > .layui-nav-item.nav-btn-tool > a {
  color: var(--tmd-home-indigo) !important;
  font-weight: 600 !important;
}
.tmd-home-page .ew-header .layui-nav > .layui-nav-item.nav-btn-tool > a:hover,
.tmd-goto-page .ew-header .layui-nav > .layui-nav-item.nav-btn-tool > a:hover {
  background: #eef0ff !important;
}

/* Feature grid: icon and copy share a compact two-column card. */
.tmd-features-section {
  margin: 0 !important;
  padding: 44px 0 !important;
  border-top: 1px solid var(--tmd-home-line) !important;
}
.tmd-features-section > .section-title {
  padding: 0 0 24px !important;
}
.tmd-features-section > .layui-container {
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: 1120px !important;
  padding: 0 !important;
}
.tmd-features-section .layui-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
}
.tmd-features-section .layui-row > [class*="layui-col-"] {
  width: auto !important;
  min-width: 0 !important;
  float: none !important;
  padding: 0 !important;
}
.tmd-features-section .feature {
  min-height: 132px !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  grid-template-rows: auto 1fr !important;
  column-gap: 14px !important;
  align-content: start !important;
  margin: 0 !important;
  padding: 20px !important;
  border: 1px solid var(--tmd-home-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
}
.tmd-features-section .feature > .layui-icon {
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  font-size: 21px !important;
  line-height: 44px !important;
  box-sizing: border-box !important;
}
.tmd-features-section .feature h3 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 0 6px !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
.tmd-features-section .feature p {
  grid-column: 2 !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}
.tmd-features-section .feature p + p { margin-top: 3px !important; }
.tmd-features-section .layui-row > [class*="layui-col-"]:nth-child(3n + 1) .feature > .layui-icon {
  color: #4f46e5 !important; background: #eef2ff !important;
}
.tmd-features-section .layui-row > [class*="layui-col-"]:nth-child(3n + 2) .feature > .layui-icon {
  color: #0f766e !important; background: #ecfdf5 !important;
}
.tmd-features-section .layui-row > [class*="layui-col-"]:nth-child(3n) .feature > .layui-icon {
  color: #c2410c !important; background: #fff7ed !important;
}

/* GOTO tool: remove the oversized vertical gaps while retaining every field. */
.tmd-goto-page .ew-header { border-bottom: 1px solid var(--tmd-home-line) !important; }
.tmd-goto-page .page-intro {
  padding: 48px 0 34px !important;
  border-bottom: 1px solid var(--tmd-home-line) !important;
}
.tmd-goto-page .page-intro h1 { margin-bottom: 8px !important; font-size: 36px !important; }
.tmd-goto-page .page-intro p { margin: 0 !important; font-size: 15px !important; }
.tmd-goto-page .page-intro .version-tag { margin-top: 14px !important; padding: 6px 14px !important; font-size: 12px !important; }
.tmd-goto-page .encrypt-section {
  min-height: 0 !important;
  padding: 32px 0 48px !important;
}
.tmd-goto-page .encrypt-section > .layui-container {
  width: min(1040px, calc(100% - 32px)) !important;
  max-width: 1040px !important;
  padding: 0 !important;
}
.tmd-goto-page .tips-card {
  padding: 16px 20px !important;
  margin-bottom: 16px !important;
  border-radius: 13px !important;
}
.tmd-goto-page .tips-card h3 { margin-bottom: 8px !important; font-size: 17px !important; }
.tmd-goto-page .tips-card p { margin: 3px 0 !important; line-height: 1.6 !important; font-size: 13px !important; }
.tmd-goto-page .encrypt-card {
  padding: 26px 28px !important;
  border-radius: 15px !important;
}
.tmd-goto-page .encrypt-card-header {
  padding-bottom: 14px !important;
  margin-bottom: 18px !important;
}
.tmd-goto-page .encrypt-card-header h2 { font-size: 21px !important; }
.tmd-goto-page .encrypt-card .layui-form-item { margin-bottom: 15px !important; }
.tmd-goto-page .encrypt-card .layui-form-label {
  width: 100px !important;
  padding: 10px 12px 10px 0 !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
}
.tmd-goto-page .encrypt-card .layui-input-block { margin-left: 120px !important; }
.tmd-goto-page .encrypt-card .layui-upload-drag {
  min-height: 150px !important;
  padding: 28px 18px !important;
}
.tmd-goto-page .encrypt-card .layui-upload-drag .layui-icon { font-size: 44px !important; }
.tmd-goto-page .encrypt-card .layui-upload-drag p { font-size: 14px !important; }
.tmd-goto-page .submit-btn {
  width: 160px !important;
  height: 42px !important;
  line-height: 42px !important;
  margin-top: 4px !important;
  border-radius: 11px !important;
}

/* Touch-friendly public navigation. The focus state also works with a tap. */
.tmd-home-page .ew-header .nav-toggle,
.tmd-goto-page .ew-header .nav-toggle {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--tmd-home-ink) !important;
  font: inherit !important;
  cursor: pointer !important;
}
@media (max-width: 935px) {
  .tmd-home-page .ew-header,
  .tmd-goto-page .ew-header {
    width: calc(100% - 16px) !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 8px !important;
  }
  .tmd-home-page .ew-header .layui-logo,
  .tmd-goto-page .ew-header .layui-logo {
    height: 36px !important;
    line-height: 36px !important;
    background-position: 0 3px !important;
  }
  .tmd-home-page .ew-header .ew-nav-group,
  .tmd-goto-page .ew-header .ew-nav-group {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    margin-left: auto !important;
  }
  .tmd-home-page .ew-header .nav-toggle,
  .tmd-goto-page .ew-header .nav-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    line-height: 40px !important;
    border-radius: 10px !important;
  }
  .tmd-home-page .ew-header .nav-toggle:hover,
  .tmd-home-page .ew-header .nav-toggle:focus-visible,
  .tmd-goto-page .ew-header .nav-toggle:hover,
  .tmd-goto-page .ew-header .nav-toggle:focus-visible { background: #f5f5f4 !important; outline: none !important; }
  .tmd-home-page .ew-header .layui-nav,
  .tmd-goto-page .ew-header .layui-nav {
    position: absolute !important;
    top: 46px !important;
    right: 0 !important;
    width: 190px !important;
    min-width: 0 !important;
    display: block !important;
    padding: 6px !important;
    border: 1px solid var(--tmd-home-line) !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 14px 30px rgba(17,24,39,.13) !important;
    transform: scale(.96) !important;
    transform-origin: top right !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
  }
  .tmd-home-page .ew-header .ew-nav-group:hover > .layui-nav,
  .tmd-home-page .ew-header .ew-nav-group:focus-within > .layui-nav,
  .tmd-home-page .ew-header .ew-nav-group.is-open > .layui-nav,
  .tmd-goto-page .ew-header .ew-nav-group:hover > .layui-nav,
  .tmd-goto-page .ew-header .ew-nav-group:focus-within > .layui-nav,
  .tmd-goto-page .ew-header .ew-nav-group.is-open > .layui-nav {
    transform: scale(1) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
  }
  .tmd-home-page .ew-header .layui-nav > .layui-nav-item,
  .tmd-goto-page .ew-header .layui-nav > .layui-nav-item {
    display: block !important;
    width: 100% !important;
    height: 38px !important;
    line-height: 38px !important;
  }
  .tmd-home-page .ew-header .layui-nav > .layui-nav-item > a,
  .tmd-goto-page .ew-header .layui-nav > .layui-nav-item > a {
    display: block !important;
    width: 100% !important;
    height: 38px !important;
    line-height: 38px !important;
    box-sizing: border-box !important;
    padding: 0 12px !important;
    text-align: left !important;
    border: 0 !important;
    border-radius: 9px !important;
  }
  .tmd-home-page .ew-header .layui-nav > .layui-nav-item.nav-btn-login,
  .tmd-goto-page .ew-header .layui-nav > .layui-nav-item.nav-btn-login { padding: 0 !important; }
  .tmd-home-page .ew-header .layui-nav > .layui-nav-item.nav-btn-login > a,
  .tmd-goto-page .ew-header .layui-nav > .layui-nav-item.nav-btn-login > a { background: transparent !important; }
  .tmd-home-page .ew-header .layui-nav > .layui-nav-item > a:hover,
  .tmd-goto-page .ew-header .layui-nav > .layui-nav-item > a:hover { background: #f5f5f4 !important; }
  .tmd-home-page .ew-header .layui-nav > .layui-nav-item:first-child,
  .tmd-goto-page .ew-header .layui-nav > .layui-nav-item:first-child { display: block !important; }
  .tmd-home-page .ew-banner > .layui-container.tmd-hero-container {
    padding-top: 104px !important;
    padding-bottom: 24px !important;
  }
  .tmd-home-page .tmd-editor-preview { margin-top: 24px !important; }
  .tmd-features-section { padding: 32px 0 !important; }
  .tmd-features-section .layui-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .tmd-goto-page .page-intro { padding: 36px 16px 28px !important; }
  .tmd-goto-page .page-intro h1 { font-size: 30px !important; }
  .tmd-goto-page .encrypt-section { padding: 24px 0 32px !important; }
  .tmd-goto-page .encrypt-section > .layui-container { width: calc(100% - 24px) !important; }
  .tmd-goto-page .encrypt-card { padding: 20px 16px !important; }
  .tmd-goto-page .encrypt-card .layui-form-label { width: 100% !important; float: none !important; display: block !important; padding: 5px 0 6px !important; text-align: left !important; }
  .tmd-goto-page .encrypt-card .layui-input-block { margin-left: 0 !important; clear: both !important; }
  .tmd-goto-page .encrypt-card .layui-upload-drag { min-height: 132px !important; padding: 22px 12px !important; }
  .tmd-goto-page .submit-btn { width: 100% !important; }
}
@media (max-width: 560px) {
  .tmd-features-section .layui-row { grid-template-columns: 1fr !important; }
  .tmd-features-section .feature { min-height: 112px !important; padding: 16px !important; }
  .tmd-home-page .tmd-hero-copy h1 { font-size: 38px !important; }
}
/* -------------------------------------------------------------------------
   v5 public polish — Chinese-first typography, compact navigation and
   collision-free feature cards (2026-09-04)
   ------------------------------------------------------------------------- */
:root {
  --tmd-home-font-sans: "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", system-ui, sans-serif;
  --tmd-home-font-display: var(--tmd-home-font-sans);
}

/* Keep Latin branding expressive while all Chinese copy uses a stable local
   sans stack instead of a serif fallback when web fonts are unavailable. */
.tmd-home-page,
.tmd-goto-page,
.tmd-home-page button,
.tmd-home-page input,
.tmd-home-page select,
.tmd-home-page textarea,
.tmd-goto-page button,
.tmd-goto-page input,
.tmd-goto-page select,
.tmd-goto-page textarea {
  font-family: var(--tmd-home-font-sans) !important;
}
.tmd-home-page .section-title > h2,
.tmd-home-page .feature h3,
.tmd-goto-page .page-intro h1,
.tmd-goto-page .encrypt-card-header h2,
.tmd-goto-page .tips-card h3 {
  font-family: var(--tmd-home-font-display) !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
}
.tmd-home-page .ew-banner h1,
.tmd-home-page .tmd-hero-copy h1 {
  font-family: "Syne", "Plus Jakarta Sans", var(--tmd-home-font-sans) !important;
}
.tmd-home-page .tmd-hero-kicker,
.tmd-home-page .tmd-hero-subtitle,
.tmd-home-page .section-title > p,
.tmd-home-page .feature p,
.tmd-goto-page .page-intro p,
.tmd-goto-page .tips-card p,
.tmd-goto-page .encrypt-card label,
.tmd-goto-page .encrypt-card input,
.tmd-goto-page .encrypt-card .layui-upload-drag p {
  font-family: var(--tmd-home-font-sans) !important;
}

/* The public header uses one compact rhythm on desktop and phone. */
.tmd-home-page .ew-header,
.tmd-goto-page .ew-header {
  border-bottom: 1px solid rgba(232,235,242,.9) !important;
  height: 64px !important;
  min-height: 64px !important;
}
.tmd-home-page .ew-header .layui-nav,
.tmd-goto-page .ew-header .layui-nav {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
}
/* main.css/tmd-public's legacy rule hid 首页; expose the existing route. */
.ew-header .layui-nav > .layui-nav-item:first-child {
  display: block !important;
}
.tmd-home-page .ew-header .layui-nav > .layui-nav-item.nav-btn-tool > a,
.tmd-goto-page .ew-header .layui-nav > .layui-nav-item.nav-btn-tool > a {
  color: var(--tmd-home-indigo) !important;
  background: #f2f3ff !important;
  border: 1px solid #e2e5ff !important;
  font-weight: 600 !important;
}
.tmd-home-page .ew-header .layui-nav > .layui-nav-item.nav-btn-tool > a:hover,
.tmd-goto-page .ew-header .layui-nav > .layui-nav-item.nav-btn-tool > a:hover {
  color: var(--tmd-home-indigo-deep) !important;
  background: #e9ebff !important;
}

/* Feature cards: icon occupies its own row, so Chinese titles never collide. */
.tmd-features-section .layui-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}
.tmd-features-section .feature {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  min-height: 154px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 20px 20px 18px !important;
  box-sizing: border-box !important;
}
.tmd-features-section .feature > .layui-icon {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  margin: 0 0 11px !important;
  border-radius: 13px !important;
  font-size: 21px !important;
  line-height: 42px !important;
  box-sizing: border-box !important;
}
.tmd-features-section .feature h3 {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 6px !important;
  font-size: 17px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.tmd-features-section .feature p {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  overflow-wrap: anywhere !important;
}
.tmd-features-section .feature p + p { margin-top: 3px !important; }

/* GOTO: eliminate the old 15px separator and keep the working form intact. */
.tmd-goto-page .ew-header { border-bottom: 1px solid rgba(232,235,242,.9) !important; }
.tmd-goto-page .page-intro {
  padding: 50px 0 30px !important;
}
.tmd-goto-page .page-intro h1 {
  margin: 0 0 8px !important;
  font-size: clamp(30px, 4vw, 38px) !important;
  line-height: 1.25 !important;
}
.tmd-goto-page .page-intro p { margin: 0 !important; font-size: 15px !important; line-height: 1.6 !important; }
.tmd-goto-page .page-intro .version-tag { margin-top: 13px !important; padding: 6px 14px !important; font-size: 12px !important; }
.tmd-goto-page .encrypt-section { padding: 30px 0 46px !important; min-height: 0 !important; }
.tmd-goto-page .tips-card { margin-bottom: 16px !important; }
.tmd-goto-page .encrypt-card { padding: 26px 28px !important; }

@media (max-width: 935px) {
  .tmd-home-page .ew-header,
  .tmd-goto-page .ew-header {
    width: calc(100% - 16px) !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 8px !important;
  }
  .tmd-home-page .ew-header .layui-logo,
  .tmd-goto-page .ew-header .layui-logo {
    height: 38px !important;
    line-height: 38px !important;
    padding-left: 40px !important;
    background-position: 0 3px !important;
    background-size: 30px 30px !important;
  }
  .tmd-home-page .ew-header .ew-nav-group,
  .tmd-goto-page .ew-header .ew-nav-group {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    margin-left: auto !important;
  }
  .tmd-home-page .ew-header .nav-toggle,
  .tmd-goto-page .ew-header .nav-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: var(--tmd-home-ink) !important;
    cursor: pointer !important;
  }
  .tmd-home-page .ew-header .nav-toggle:hover,
  .tmd-home-page .ew-header .nav-toggle:focus-visible,
  .tmd-goto-page .ew-header .nav-toggle:hover,
  .tmd-goto-page .ew-header .nav-toggle:focus-visible {
    background: #f5f5f4 !important;
    outline: none !important;
  }
  .tmd-home-page .ew-header .layui-nav,
  .tmd-goto-page .ew-header .layui-nav {
    position: absolute !important;
    top: 46px !important;
    right: 0 !important;
    width: min(210px, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    display: block !important;
    padding: 6px !important;
    border: 1px solid var(--tmd-home-line) !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 14px 30px rgba(17,24,39,.13) !important;
    transform: translateY(-4px) scale(.97) !important;
    transform-origin: top right !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
    z-index: 30 !important;
  }
  .tmd-home-page .ew-header .ew-nav-group:hover > .layui-nav,
  .tmd-home-page .ew-header .ew-nav-group:focus-within > .layui-nav,
  .tmd-home-page .ew-header .ew-nav-group.is-open > .layui-nav,
  .tmd-goto-page .ew-header .ew-nav-group:hover > .layui-nav,
  .tmd-goto-page .ew-header .ew-nav-group:focus-within > .layui-nav,
  .tmd-goto-page .ew-header .ew-nav-group.is-open > .layui-nav {
    transform: translateY(0) scale(1) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
  }
  .tmd-home-page .ew-header .layui-nav > .layui-nav-item,
  .tmd-goto-page .ew-header .layui-nav > .layui-nav-item {
    display: block !important;
    width: 100% !important;
    height: 38px !important;
    line-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .tmd-home-page .ew-header .layui-nav > .layui-nav-item > a,
  .tmd-goto-page .ew-header .layui-nav > .layui-nav-item > a {
    display: block !important;
    width: 100% !important;
    height: 38px !important;
    line-height: 38px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 9px !important;
    text-align: left !important;
  }
  .tmd-home-page .ew-header .layui-nav > .layui-nav-item.nav-btn-tool > a,
  .tmd-goto-page .ew-header .layui-nav > .layui-nav-item.nav-btn-tool > a,
  .tmd-home-page .ew-header .layui-nav > .layui-nav-item.nav-btn-login > a,
  .tmd-goto-page .ew-header .layui-nav > .layui-nav-item.nav-btn-login > a {
    background: transparent !important;
    border: 0 !important;
  }
  .tmd-home-page .ew-header .layui-nav > .layui-nav-item > a:hover,
  .tmd-goto-page .ew-header .layui-nav > .layui-nav-item > a:hover { background: #f5f5f4 !important; }
  .tmd-home-page .ew-banner > .layui-container.tmd-hero-container {
    padding-top: 104px !important;
    padding-bottom: 24px !important;
  }
  .tmd-home-page .tmd-editor-preview { margin-top: 24px !important; }
  .tmd-features-section { padding: 34px 16px !important; }
  .tmd-features-section > .layui-container { width: 100% !important; }
  .tmd-features-section .layui-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .tmd-features-section .feature { min-height: 148px !important; padding: 17px !important; }
  .tmd-goto-page .page-intro { padding: 78px 16px 26px !important; }
  .tmd-goto-page .page-intro h1 { font-size: 30px !important; }
  .tmd-goto-page .encrypt-section { padding: 24px 0 32px !important; }
  .tmd-goto-page .encrypt-section > .layui-container { width: calc(100% - 24px) !important; }
  .tmd-goto-page .encrypt-card { padding: 20px 16px !important; }
  .tmd-goto-page .encrypt-card .layui-form-label { width: 100% !important; float: none !important; display: block !important; padding: 5px 0 6px !important; text-align: left !important; }
  .tmd-goto-page .encrypt-card .layui-input-block { margin-left: 0 !important; clear: both !important; }
  .tmd-goto-page .encrypt-card .layui-upload-drag { min-height: 132px !important; padding: 22px 12px !important; }
  .tmd-goto-page .submit-btn { width: 100% !important; }
}
@media (max-width: 560px) {
  .tmd-features-section .layui-row { grid-template-columns: 1fr !important; }
  .tmd-features-section .feature { min-height: 0 !important; padding: 16px !important; }
  .tmd-home-page .tmd-hero-copy h1 { font-size: 38px !important; }
}/* Layui rows inject clearing pseudo-elements; remove them from the feature grid
   so they cannot consume a phantom first/last grid cell. */
.tmd-features-section .layui-row::before,
.tmd-features-section .layui-row::after {
  display: none !important;
  content: none !important;
}/* v5b footer contrast: the legacy footer uses white text; the light paper
   surface needs explicit ink colors so contact and filing text remain legible. */
.tmd-home-page .ew-footer,
.tmd-goto-page .ew-footer {
  background: #f7f7f5 !important;
  color: #4b5563 !important;
  border-top: 1px solid #e5e7eb !important;
}
.tmd-home-page .ew-footer .footer-item-title,
.tmd-goto-page .ew-footer .footer-item-title {
  color: #111827 !important;
  font-family: var(--tmd-home-font-sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
}
.tmd-home-page .ew-footer p,
.tmd-goto-page .ew-footer p,
.tmd-home-page .ew-footer .footer-copyright,
.tmd-goto-page .ew-footer .footer-copyright {
  color: #4b5563 !important;
  font-family: var(--tmd-home-font-sans) !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
}
.tmd-home-page .ew-footer a,
.tmd-goto-page .ew-footer a {
  color: #374151 !important;
  text-decoration: none !important;
}
.tmd-home-page .ew-footer a:hover,
.tmd-goto-page .ew-footer a:hover { color: var(--tmd-home-indigo) !important; }
.tmd-home-page .ew-footer .layui-icon,
.tmd-goto-page .ew-footer .layui-icon { color: #6b7280 !important; }
.tmd-home-page .ew-footer .img-group,
.tmd-goto-page .ew-footer .img-group { color: #4b5563 !important; }
.tmd-home-page .ew-footer .img-group img,
.tmd-goto-page .ew-footer .img-group img { border-radius: 10px !important; }
@media (max-width: 768px) {
  .tmd-home-page .ew-footer,
  .tmd-goto-page .ew-footer { padding: 30px 16px 18px !important; }
  .tmd-home-page .ew-footer .layui-row > [class*="layui-col-"],
  .tmd-goto-page .ew-footer .layui-row > [class*="layui-col-"] {
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  .tmd-home-page .ew-footer .layui-container,
  .tmd-goto-page .ew-footer .layui-container { width: 100% !important; padding: 0 !important; }
}
/* v9 free-encryption hero spacing: keep the title below the header divider
   instead of letting the 64px nav line cut through its cap height. */
.tmd-goto-page .page-intro {
  padding-top: 88px !important;
  padding-bottom: 34px !important;
}
.tmd-goto-page .page-intro h1 { line-height: 1.25 !important; }
/* Apply the readable footer palette to the public download page as well. */
.ew-footer {
  background: #f7f7f5 !important;
  color: #4b5563 !important;
  border-top: 1px solid #e5e7eb !important;
}
.ew-footer .footer-item-title {
  color: #111827 !important;
  font-family: var(--tmd-home-font-sans, "Noto Sans SC", "Microsoft YaHei", sans-serif) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
}
.ew-footer p,
.ew-footer .footer-copyright {
  color: #4b5563 !important;
  font-family: var(--tmd-home-font-sans, "Noto Sans SC", "Microsoft YaHei", sans-serif) !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
}
.ew-footer a { color: #374151 !important; }
.ew-footer .layui-icon { color: #6b7280 !important; }
@media (max-width: 935px) {
  .tmd-goto-page .page-intro { padding-top: 82px !important; padding-bottom: 28px !important; }
}
