/* QilyLean 全站稳定渲染、单一内容轴与页尾闭环 v3｜2026-08-10
 * QILY-SITEWIDE-STABLE-LAYOUT-V18-20260810
 * 单一1560px内容轴覆盖静态与运行时模块；真实内容决定高度；悬浮入口稳定可用。
 */
:root{
  --qily-site-content-width:var(--qily-wide-content,1560px);
  --qily-site-gutter:var(--qily-wide-gutter,clamp(14px,2.2vw,40px));
  --qily-site-deep:#073c47;
  --qily-site-forest:#0f4b5a;
  --qily-site-gold:#caa15f;
  --qily-site-gold-light:#ffe39b;
  --qily-site-dark-copy:#fff3d2;
}

/* 一、所有公共内容模块共用 1560px 内容轴和同一安全边距。 */
html body :is(
  .module-hero,
  .module-section,
  .module-footer,
  .hero,
  .daily-hero,
  .section,
  .footer,
  .qily-ia-section,
  .qtc-section,
  .qily-resource-network,
  .qtc-global-trust-footer
){
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:var(--qily-site-gutter)!important;
  padding-right:var(--qily-site-gutter)!important;
}

html body :is(
  .qily-ia-inner,
  .qtc-inner,
  .qily-resource-network__inner,
  .module-inner,
  .hero-inner,
  .hero-grid,
  .daily-inner,
  .section-inner,
  .footer-inner,
  .main-inner,
  .page-inner,
  .content-inner,
  .archive-inner,
  .knowledge-inner,
  .project-inner,
  .tool-inner,
  main > .section > .inner,
  main > .module-section > .module-inner
){
  box-sizing:border-box!important;
  width:min(var(--qily-site-content-width),100%)!important;
  max-width:var(--qily-site-content-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* 运行时新增的可信度、项目启动和归档模块不得建立第二条 1220px 内容轴。 */
html body :is(
  .ql-trust-strip-inner,
  .ql-trust-module,
  .ql-certificate-disclaimer,
  .ql-archive-note
){
  box-sizing:border-box!important;
  width:min(var(--qily-site-content-width),calc(100% - var(--qily-site-gutter) - var(--qily-site-gutter)))!important;
  max-width:var(--qily-site-content-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

html body :is(.qily-ia-heading,.qtc-heading){
  width:100%!important;
  max-width:100%!important;
}

/* 禁止 content-visibility 占位和 contain-intrinsic-size 伪高度造成“模块空白”。 */
html body main > :is(.section,.module-section,.qily-ia-section,.qtc-section,.qily-resource-network),
html body :is(.ql-trust-module,.ql-certificate-disclaimer,.ql-archive-note){
  content-visibility:visible!important;
  contain:none!important;
  contain-intrinsic-size:none!important;
}

/* 二、深青模块只由真实文字、控件及统一内边距撑高，禁止遗留固定高度或空白占位。 */
html body main > :is(.section,.module-section,.qily-ia-section,.qtc-section,.qily-resource-network),
html body #qily-home-ai.qily-ia-section,
html body #qily-home-ai.qily-ai-secondary{
  height:auto!important;
  min-height:0!important;
  block-size:auto!important;
  min-block-size:0!important;
}

html body #results.qily-ia-secondary-section,
html body #results.qily-ia-secondary-section > .inner,
html body #results.qily-ia-secondary-section > .inner > .metrics{
  height:auto!important;
  min-height:0!important;
  block-size:auto!important;
  min-block-size:0!important;
}

html body #results.qily-ia-secondary-section > .inner > .metrics{
  align-items:stretch!important;
}

html body #results.qily-ia-secondary-section > .inner > .metrics > .metric{
  height:auto!important;
  min-height:0!important;
  block-size:auto!important;
  min-block-size:0!important;
}

html body #results.qily-ia-secondary-section .qily-results-toggle{
  position:static!important;
  inset:auto!important;
  display:inline-flex!important;
  min-height:44px!important;
  margin-top:18px!important;
}

html body.qily-home-commercial-focus #qily-home-ai .qily-ia-inner,
html body.qily-home-commercial-focus .qily-ai-secondary .qily-ia-inner,
html body.qily-home-commercial-focus #qily-more-context .qily-ia-inner,
html body #qily-knowledge-positioning .qily-ia-inner{
  width:min(var(--qily-site-content-width),100%)!important;
  max-width:var(--qily-site-content-width)!important;
}

/* 三、页尾不得再由隐藏工具、旧最小高度或补白撑出无内容滚动区。 */
html body.qily-tail-compact{
  height:auto!important;
  min-height:0!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}

html body.qily-tail-compact > :is(
  #floatDock,
  #shareMask,
  #wxMask,
  #qilySearchMask,
  #qilyDockToast,
  #siteMusicMute,
  #qilyPersistentNavigationFrame,
  #qilyPersistentNavigationLoader
){
  margin:0!important;
}

/* 悬浮功能坞是固定工具，不得因页尾收口、导航遮罩或模块样式而消失。 */
html body.qily-tail-compact > #floatDock.qily-float-dock{
  position:fixed!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:9000!important;
}

html body.qily-tail-compact > :is(#shareMask,#wxMask,#qilySearchMask,#qilyPersistentNavigationFrame){
  position:fixed!important;
}

html body.qily-tail-compact > #siteBackgroundMusic:not([controls]){
  display:none!important;
}

html:root:root body.qily-tail-compact .qtc-global-trust-footer{
  height:auto!important;
  min-height:0!important;
  margin:0!important;
}

/* 四、可信度入口使用深青底、金色四边界和清晰浅色字；交互态保持高对比。 */
html:root:root body.qily-tail-compact .qtc-global-trust-footer .qtc-global-trust-links{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
}

html:root:root body.qily-tail-compact .qtc-global-trust-footer .qtc-global-trust-links > a[href]{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:max-content!important;
  min-height:44px!important;
  padding:8px 15px!important;
  border:2px solid var(--qily-site-gold)!important;
  border-radius:999px!important;
  color:var(--qily-site-dark-copy)!important;
  -webkit-text-fill-color:var(--qily-site-dark-copy)!important;
  background:var(--qily-site-forest)!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.25!important;
  text-decoration:none!important;
  text-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}

html:root:root body.qily-tail-compact .qtc-global-trust-footer .qtc-global-trust-links > a[href]:is(:hover:hover,:focus-visible:focus-visible){
  border-color:#fff3c6!important;
  color:#17322d!important;
  -webkit-text-fill-color:#17322d!important;
  background:var(--qily-site-gold-light)!important;
  box-shadow:0 9px 22px rgba(0,0,0,.22)!important;
  outline:3px solid rgba(255,227,155,.45)!important;
  outline-offset:2px!important;
}

html:root:root body.qily-tail-compact .qtc-global-trust-footer .qtc-global-trust-links > a[href]:active:active{
  border-color:var(--qily-site-gold-light)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:var(--qily-site-deep)!important;
  transform:scale(.97)!important;
}

@media(max-width:820px){
  html body :is(.qily-ia-inner,.qtc-inner,.qily-resource-network__inner,.module-inner,.hero-inner,.hero-grid,.daily-inner,.section-inner,.footer-inner,.main-inner,.page-inner,.content-inner,.archive-inner,.knowledge-inner,.project-inner,.tool-inner){
    width:100%!important;
  }
  html body :is(.ql-trust-strip-inner,.ql-trust-module,.ql-certificate-disclaimer,.ql-archive-note){
    width:calc(100% - 24px)!important;
  }
}

@media(max-width:560px){
  html:root:root body.qily-tail-compact .qtc-global-trust-footer .qtc-global-trust-links{align-items:stretch!important;flex-direction:column!important}
  html:root:root body.qily-tail-compact .qtc-global-trust-footer .qtc-global-trust-links > a[href]{width:100%!important;min-width:0!important}
}

@media(prefers-reduced-motion:reduce){
  html:root:root body.qily-tail-compact .qtc-global-trust-footer .qtc-global-trust-links > a[href]{transition:none!important}
}

/* 五、2026-08-10截图问题闭环：只修复内容行宽、悬浮圆形入口与页尾收口，不二次改动业务卡片结构。 */
html body :is(
  .module-heading,
  .module-page .head,
  .qily-ia-heading,
  .qtc-heading,
  .module-lead,
  .section-head,
  .section-heading,
  .page-heading
){
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  max-inline-size:none!important;
}

html body :is(
  .module-heading,
  .module-page .head,
  .qily-ia-heading,
  .qtc-heading,
  .section-head,
  .section-heading,
  .page-heading
) > p{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  max-inline-size:none!important;
}

/* 首页QilyLean AI说明在桌面宽屏有足够空间时保持完整单行；窄屏仍允许自然换行。 */
@media(min-width:1100px){
  html body #qily-home-ai .qily-ia-heading p{
    white-space:nowrap!important;
  }
}
@media(max-width:1099px){
  html body #qily-home-ai .qily-ia-heading p{
    white-space:normal!important;
  }
}

/* 悬浮功能入口始终保留完整圆形边界与悬停轮廓，避免贴近视口边缘被裁切。 */
html body #floatDock.qily-float-dock{
  right:max(18px,env(safe-area-inset-right))!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
html body #floatDock.qily-float-dock .qily-float-btn{
  box-sizing:border-box!important;
  flex:0 0 62px!important;
  width:62px!important;
  height:62px!important;
  min-width:62px!important;
  min-height:62px!important;
  aspect-ratio:1 / 1!important;
  border-radius:50%!important;
  overflow:visible!important;
}
html body #floatDock.qily-float-dock .qily-float-btn:is(:hover,:focus-visible){
  outline:3px solid rgba(255,227,155,.72)!important;
  outline-offset:3px!important;
}

/* 页尾统一为连续、紧凑的两段式信息区；消除浅色断层、短页页尾悬空和底部大块空白。 */
html body.qily-tail-compact{
  min-height:100vh!important;
  min-height:100dvh!important;
  display:flex!important;
  flex-direction:column!important;
}
html body.qily-tail-compact > main{
  flex:1 0 auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
html body.qily-tail-compact :is(.module-footer,.footer,footer){
  flex:0 0 auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
html body.qily-tail-compact .module-footer{
  padding-top:16px!important;
  padding-bottom:16px!important;
}
html body.qily-tail-compact .qily-global-contact-footer{
  margin-top:8px!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
html:root:root body.qily-tail-compact > .qtc-global-trust-footer{
  flex:0 0 auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:11px!important;
  padding-bottom:11px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
}
html body.qily-tail-compact > :is(
  #floatDock,
  #shareMask,
  #wxMask,
  #qilySearchMask,
  #qilyDockToast,
  #siteMusicMute,
  #siteBackgroundMusic,
  #qilyPersistentNavigationFrame,
  #qilyPersistentNavigationLoader
){
  flex:none!important;
}

/* QILY-RUNTIME-STABILITY-V20:START
 * 2026-08-12｜静态首屏稳定、页尾稳定、跨模块软导航防抖。
 * 目的：DOM增强尚未完成时也保持同一内容轴和页尾流式布局，避免JS延迟造成瞬时乱版。
 */
html{
  overflow-x:clip!important;
}
html body{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  display:flex!important;
  flex-direction:column!important;
  overflow-x:clip!important;
}
html body > main{
  box-sizing:border-box!important;
  min-width:0!important;
  width:100%!important;
  flex:1 0 auto!important;
}
html body > :is(header,.topbar,.qily-site-header,#qilyGlobalFooter,footer){
  min-width:0!important;
  flex:0 0 auto!important;
}
html body #qilyGlobalFooter{
  width:100%!important;
  margin-top:0!important;
  margin-bottom:0!important;
  clear:both!important;
}
html body :is(section,article,aside,nav,header,footer,main,div){
  min-inline-size:0;
}
html body :is(img,video,canvas,svg){
  max-width:100%;
}
html body :is(#floatDock,#shareMask,#wxMask,#qilySearchMask,#qilyDockToast,#siteMusicMute,#siteBackgroundMusic,#qilyPersistentNavigationFrame,#qilyPersistentNavigationLoader){
  flex:none!important;
}
html[aria-busy="true"] body{
  cursor:progress;
}
@media(max-width:820px){
  html body{width:100%!important}
  html body > main{width:100%!important}
}
/* QILY-RUNTIME-STABILITY-V20:END */
