/* 全站微光（报告阅读页不引用） */

.page-glow-layer {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background:
    radial-gradient(ellipse 75% 50% at 50% 22%, rgba(234, 217, 180, 0.16), transparent 60%),
    radial-gradient(ellipse 80% 55% at 82% 88%, rgba(154, 121, 80, 0.09), transparent 52%),
    linear-gradient(165deg, #2a322e 0%, #232a27 46%, #1a1f1c 100%);
}

.page-glow-layer.is-static {
  background:
    radial-gradient(ellipse 70% 50% at 50% 30%, rgba(234, 217, 180, 0.1), transparent 60%),
    linear-gradient(165deg, #2a322e 0%, #1f2623 100%);
}

.page-glow-dust {
  position: absolute;
  inset: 0;
}

.page-glow-dust i {
  position: absolute;
  border-radius: 50%;
  background: #fff8e6;
  box-shadow:
    0 0 3px 1px rgba(255, 236, 190, 0.55),
    0 0 8px 2px rgba(234, 217, 180, 0.22);
  animation-name: page-glow-rise;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform, opacity;
}

@keyframes page-glow-rise {
  0% {
    transform: translate3d(0, 8vh, 0) scale(0.7);
    opacity: 0;
  }
  10% { opacity: 1; }
  55% { opacity: 0.65; }
  100% {
    transform: translate3d(16px, -105vh, 0) scale(1.05);
    opacity: 0;
  }
}

/* 打开问卷：流星右上→左下（约 1.6–2s）+ 拖尾余晖；背景层不挡文字 */
.page-glow-portal {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.page-glow-portal-beam {
  position: absolute;
  right: -18%;
  top: -6%;
  width: 68%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(
    270deg,
    transparent 0%,
    rgba(255, 244, 210, 0.12) 16%,
    rgba(255, 244, 210, 0.95) 46%,
    rgba(234, 217, 180, 0.35) 70%,
    transparent 100%
  );
  box-shadow:
    0 0 8px 1px rgba(255, 236, 190, 0.55),
    0 0 18px 4px rgba(234, 217, 180, 0.28);
  transform-origin: right center;
  transform: rotate(38deg) translate3d(0, 0, 0);
  animation: page-glow-portal-beam 1.65s cubic-bezier(0.22, 0.55, 0.28, 1) forwards;
}

.page-glow-portal-trail {
  position: absolute;
  right: -22%;
  top: -10%;
  width: 74%;
  height: 26px;
  border-radius: 999px;
  background: linear-gradient(
    270deg,
    transparent 0%,
    rgba(255, 244, 210, 0.06) 18%,
    rgba(255, 236, 190, 0.34) 46%,
    rgba(234, 217, 180, 0.12) 68%,
    transparent 100%
  );
  filter: blur(7px);
  transform-origin: right center;
  transform: rotate(38deg);
  animation: page-glow-portal-trail 1.8s cubic-bezier(0.22, 0.55, 0.28, 1) forwards;
}

/* 余晖：光束过后残留的柔光带 */
.page-glow-portal-wake {
  position: absolute;
  right: -20%;
  top: -14%;
  width: 82%;
  height: 56%;
  background: linear-gradient(
    218deg,
    transparent 0%,
    rgba(255, 244, 210, 0.18) 34%,
    rgba(234, 217, 180, 0.09) 56%,
    transparent 78%
  );
  filter: blur(20px);
  opacity: 0;
  transform-origin: 85% 18%;
  animation: page-glow-portal-wake 1.95s ease-out forwards;
}

.page-glow-portal-flare {
  position: absolute;
  left: 22%;
  top: 62%;
  width: 132px;
  height: 132px;
  margin: -66px 0 0 -66px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(255, 244, 210, 0.42) 0%,
    rgba(234, 217, 180, 0.16) 38%,
    transparent 72%
  );
  filter: blur(2px);
  opacity: 0;
  animation: page-glow-portal-flare 2s ease-out forwards;
}

@keyframes page-glow-portal-beam {
  0% { transform: rotate(38deg) translate3d(22%, -38%, 0) scaleX(0.45); opacity: 0; }
  12% { opacity: 1; }
  68% { opacity: 0.5; }
  100% { transform: rotate(38deg) translate3d(-128%, 118%, 0) scaleX(1.05); opacity: 0; }
}

@keyframes page-glow-portal-trail {
  0% { transform: rotate(38deg) translate3d(26%, -42%, 0) scaleX(0.4); opacity: 0; }
  14% { opacity: 0.85; }
  58% { opacity: 0.32; }
  100% { transform: rotate(38deg) translate3d(-120%, 112%, 0) scaleX(1.12); opacity: 0; }
}

@keyframes page-glow-portal-wake {
  0% { opacity: 0; transform: rotate(38deg) translate3d(12%, -14%, 0) scale(0.88); }
  16% { opacity: 0.72; }
  48% { opacity: 0.34; }
  100% { opacity: 0; transform: rotate(38deg) translate3d(-78%, 72%, 0) scale(1.06); }
}

@keyframes page-glow-portal-flare {
  0%,
  28% { opacity: 0; transform: scale(0.5); }
  46% { opacity: 0.55; transform: scale(0.92); }
  70% { opacity: 0.3; transform: scale(1.08); }
  100% { opacity: 0; transform: scale(1.22); }
}

body.has-page-glow {
  position: relative;
  min-height: 100vh;
  background: #1a1f1c !important;
}

body.has-page-glow > *:not(.page-glow-layer):not(.page-glow-portal) {
  position: relative;
  z-index: 1;
}

/* 关键键：外壳米色底会盖住微光层 */
body.has-page-glow #root,
body.has-page-glow .site-shell,
body.has-page-glow .intro-page,
body.has-page-glow .brief-page,
body.has-page-glow .report-lookup-page,
body.has-page-glow .page {
  background: transparent !important;
  background-image: none !important;
}

/* 底部悬浮 CTA：避开遮挡首屏文案 */
body.has-page-glow .sticky-intro-cta,
.site-shell .sticky-intro-cta,
.intro-page .sticky-intro-cta,
body .sticky-intro-cta.has-report-entry-v4 {
  position: fixed !important;
  left: 12px !important;
  right: 12px !important;
  bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  z-index: 60 !important;
  width: auto !important;
  max-width: 560px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.intro-page.intro-unify-v13 .hero-section {
  padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
}

/* ---------- 暗底文字对比度 ---------- */
body.has-page-glow .intro-page .paper-section h2,
body.has-page-glow .intro-page .begin-frame h2,
body.has-page-glow .intro-page .scenario-list h3,
body.has-page-glow .intro-page .method-list h3,
body.has-page-glow .intro-page .trust-section h2 {
  color: #f4ebd8 !important;
}

body.has-page-glow .intro-page .lead-copy,
body.has-page-glow .intro-page .deliverable-intro,
body.has-page-glow .intro-page .scenario-list p,
body.has-page-glow .intro-page .method-list p,
body.has-page-glow .intro-page .trust-points p,
body.has-page-glow .intro-page .quiet-note,
body.has-page-glow .intro-page .about-merge-note-v61,
body.has-page-glow .intro-page .begin-meta,
body.has-page-glow .intro-page .emotional-quote,
body.has-page-glow .intro-page .manifesto-card p,
body.has-page-glow .intro-page .boundary-note p {
  color: rgba(236, 227, 208, 0.82) !important;
}

body.has-page-glow .intro-page .section-kicker,
body.has-page-glow .intro-page .section-kicker span {
  color: #d4b07a !important;
}

body.has-page-glow .intro-page .scenario-list article > span,
body.has-page-glow .intro-page .trust-points span {
  color: #d4b07a !important;
}

body.has-page-glow .intro-page .scenario-list,
body.has-page-glow .intro-page .scenario-list article,
body.has-page-glow .intro-page .trust-points,
body.has-page-glow .intro-page .trust-points p {
  border-color: rgba(234, 217, 180, 0.14) !important;
}

body.has-page-glow .intro-page .manifesto-card,
body.has-page-glow .intro-page .boundary-note,
body.has-page-glow .intro-page .emotional-quote {
  background: rgba(248, 246, 239, 0.08) !important;
  border-color: rgba(234, 217, 180, 0.18) !important;
  color: rgba(236, 227, 208, 0.86) !important;
}

/* 两份报告卡：更亮更暖，透出星光，去掉顶条黑线感 */
body.has-page-glow .intro-page .deliverable-as-report-v12 .report-package,
body.has-page-glow .intro-page .deliverable-as-report-v12 .share-package {
  background:
    radial-gradient(110% 70% at 12% -8%, rgba(255, 236, 190, 0.5), transparent 50%),
    linear-gradient(165deg, rgba(255, 250, 240, 0.82) 0%, rgba(247, 232, 204, 0.58) 100%) !important;
  backdrop-filter: blur(14px) saturate(1.1);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  border-color: rgba(255, 236, 190, 0.42) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.55) inset,
    0 18px 42px rgba(0, 0, 0, 0.24),
    0 4px 18px rgba(234, 217, 180, 0.18);
  color: #2a322e;
}

body.has-page-glow .intro-page .deliverable-as-report-v12 .report-package::before,
body.has-page-glow .intro-page .deliverable-as-report-v12 .share-package::before {
  content: none !important;
  display: none !important;
}

body.has-page-glow .intro-page .delivery-format {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: rgba(236, 227, 208, 0.82) !important;
}

body.has-page-glow .intro-page .delivery-format span {
  color: #d4b07a !important;
}

body.has-page-glow .intro-page .delivery-format strong {
  color: #f4ebd8 !important;
}

body.has-page-glow .intro-page .delivery-format p {
  color: rgba(236, 227, 208, 0.72) !important;
}

/* 准备好了就开始：去卡片，文案 + 按钮直接落在星光上 */
body.has-page-glow .intro-page .begin-frame,
body.has-page-glow .intro-page.intro-unify-v13 .begin-frame {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 28px 8px 20px !important;
}

body.has-page-glow .intro-page .begin-frame h2 {
  color: #f4ebd8 !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

body.has-page-glow .intro-page .begin-frame .begin-query {
  color: #f3ead4 !important;
  background: rgba(248, 246, 239, 0.14) !important;
  border: 1px solid rgba(234, 217, 180, 0.38) !important;
  box-shadow: 0 8px 20px rgba(24, 32, 27, 0.16) !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

body.has-page-glow .intro-page .begin-frame .begin-query:hover {
  color: #fff6e4 !important;
  background: rgba(248, 246, 239, 0.22) !important;
  border-color: rgba(234, 217, 180, 0.52) !important;
}

body.has-page-glow .sticky-intro-cta.has-report-entry-v4 .sticky-report-entry-v4 {
  color: #f3ead4 !important;
  background: rgba(248, 246, 239, 0.14) !important;
  border: 1px solid rgba(234, 217, 180, 0.38) !important;
  box-shadow: 0 8px 20px rgba(24, 32, 27, 0.16) !important;
}

/* 生成 / 查看报告页头：弱化突兀感 */
body.has-page-glow .flow-header {
  background: rgba(26, 31, 28, 0.42) !important;
  border-bottom: 1px solid rgba(234, 217, 180, 0.12) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: #f3ead4;
}

body.has-page-glow .flow-header span {
  color: rgba(243, 234, 212, 0.92) !important;
}

body.has-page-glow .flow-header button {
  color: #f3ead4 !important;
  background: rgba(234, 217, 180, 0.14) !important;
}

body.has-page-glow .flow-header i {
  color: rgba(236, 227, 208, 0.45) !important;
}

body.has-page-glow .brief-page .brief-cover,
body.has-page-glow .report-lookup-page .lookup-hero {
  background:
    radial-gradient(circle at 68% 24%, rgba(154, 121, 80, 0.14), transparent 36%),
    linear-gradient(145deg, rgba(39, 50, 44, 0.55) 0%, rgba(60, 70, 64, 0.35) 54%, rgba(43, 50, 46, 0.45) 100%) !important;
  border: 0 !important;
}

body.has-page-glow .report-lookup-page .lookup-body,
body.has-page-glow .brief-page .brief-body {
  background: transparent !important;
}

body.has-page-glow .report-lookup-page .delivery-access-card,
body.has-page-glow .brief-page .manual-code-step-v5,
body.has-page-glow .brief-page .report-value-card-v7 {
  background:
    radial-gradient(110% 70% at 12% -8%, rgba(255, 236, 190, 0.36), transparent 50%),
    linear-gradient(165deg, rgba(255, 250, 240, 0.78) 0%, rgba(247, 232, 204, 0.55) 100%) !important;
  backdrop-filter: blur(12px) saturate(1.08);
  -webkit-backdrop-filter: blur(12px) saturate(1.08);
  border-color: rgba(255, 236, 190, 0.36) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.45) inset,
    0 16px 36px rgba(0, 0, 0, 0.22);
}

/* 方式1：不要嵌套白底，叠在主卡片上（与方式2一致） */
body.has-page-glow .brief-page .journey-code-entry-v16,
body.has-page-glow .brief-page.generate-flow-v18 .journey-code-entry-v16,
body.has-page-glow .brief-page.generate-flow-v18 .step1-methods-v18 .journey-code-entry-v16 {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.has-page-glow .report-lookup-page .lookup-form-v4,
body.has-page-glow .report-lookup-page .lookup-form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  gap: 10px !important;
}

body.has-page-glow .report-lookup-page .lookup-form-v4 input,
body.has-page-glow .report-lookup-page .lookup-form input {
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(63, 74, 66, 0.12) !important;
  border-radius: 10px !important;
}

body.has-page-glow .report-lookup-page .delivery-access-card {
  border-radius: 20px !important;
}

body.has-page-glow .report-lookup-page .delivery-access-card::before {
  content: none !important;
  display: none !important;
}

/* 问卷 */
body.has-page-glow.survey-glow {
  color: #f3ead4;
  padding-bottom: calc(96px + var(--keyboard-inset, 0px));
}

body.has-page-glow.survey-glow .topbar {
  background: rgba(26, 31, 28, 0.72);
  border-bottom-color: rgba(234, 217, 180, 0.12);
  backdrop-filter: blur(10px);
}

body.has-page-glow.survey-glow .brand,
body.has-page-glow.survey-glow .brand span {
  color: rgba(247, 236, 210, 0.9);
}

body.has-page-glow.survey-glow .close-btn,
body.has-page-glow.survey-glow .copy-code-quiet,
body.has-page-glow.survey-glow .progress-meta,
body.has-page-glow.survey-glow .page-title,
body.has-page-glow.survey-glow .page-intro {
  color: rgba(236, 227, 208, 0.78);
}

body.has-page-glow.survey-glow .progress-bar {
  background: rgba(234, 217, 180, 0.12);
}

body.has-page-glow.survey-glow .progress-fill {
  background: #ead9b4;
}

body.has-page-glow.survey-glow .bottom-bar {
  background: rgba(26, 31, 28, 0.88);
  border-top-color: rgba(234, 217, 180, 0.12);
  backdrop-filter: blur(12px);
}

/* 题目区更通透；选项更亮、文字更清楚 */
body.has-page-glow.survey-glow .q-card,
body.has-page-glow.survey-glow .intro-card,
body.has-page-glow.survey-glow .error-page {
  background:
    linear-gradient(180deg, rgba(255, 252, 245, 0.78) 0%, rgba(248, 246, 239, 0.58) 100%);
  color: #24302a;
  border-color: rgba(255, 244, 210, 0.32);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.5) inset,
    0 16px 40px rgba(0, 0, 0, 0.26),
    0 0 40px rgba(234, 217, 180, 0.08);
  backdrop-filter: blur(14px) saturate(1.06);
  -webkit-backdrop-filter: blur(14px) saturate(1.06);
}

body.has-page-glow.survey-glow .q-title,
body.has-page-glow.survey-glow .q-hint,
body.has-page-glow.survey-glow .intro-card p,
body.has-page-glow.survey-glow .intro-card h2 {
  color: #1f2823;
  text-shadow: none;
}

body.has-page-glow.survey-glow .q-hint {
  color: #5a625c;
}

body.has-page-glow.survey-glow .opt {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(63, 74, 66, 0.16);
  color: #1f2823;
  font-weight: 500;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55) inset;
}

body.has-page-glow.survey-glow .opt:hover {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(63, 74, 66, 0.28);
}

body.has-page-glow.survey-glow .opt.selected {
  background: #3c4640;
  border-color: #3c4640;
  color: #f4f1e8;
  font-weight: 600;
  box-shadow: 0 6px 16px rgba(24, 32, 27, 0.22);
}

body.has-page-glow.survey-glow .opt .marker {
  border-color: rgba(63, 74, 66, 0.35);
  background: rgba(255, 255, 255, 0.85);
}

body.has-page-glow.survey-glow .opt.selected .marker {
  border-color: rgba(244, 241, 232, 0.85);
  background: transparent;
}

body.has-page-glow.survey-glow .scale-btn {
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(63, 74, 66, 0.18);
  color: #1f2823;
}

body.has-page-glow.survey-glow .scale-btn.selected {
  background: #3c4640;
  border-color: #3c4640;
  color: #f4f1e8;
}

body.has-page-glow.survey-glow .text-input {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(63, 74, 66, 0.2);
  color: #1f2823;
}

body.has-page-glow.survey-glow .bottom-bar {
  background: rgba(26, 31, 28, 0.88);
  border-top-color: rgba(234, 217, 180, 0.12);
  backdrop-filter: blur(12px);
}

body.has-page-glow.access-glow .access-topbar {
  background: rgba(26, 31, 28, 0.45);
  border-bottom-color: rgba(234, 217, 180, 0.12);
  backdrop-filter: blur(12px);
}

body.has-page-glow.access-glow .access-topbar a,
body.has-page-glow.access-glow .access-topbar span {
  color: rgba(247, 236, 210, 0.82);
}

body.has-page-glow.access-glow .access-card {
  background: rgba(248, 246, 239, 0.72);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

/* 首屏不盖死微光 */
body.has-page-glow .intro-page .hero-section {
  background: transparent !important;
}

body.has-page-glow .intro-page .hero-section::before,
body.has-page-glow .intro-page .hero-section::after {
  opacity: 0.2 !important;
}

body.has-page-glow .intro-page .scenario-section,
body.has-page-glow .intro-page .about-section,
body.has-page-glow .intro-page .deliverable-section,
body.has-page-glow .intro-page .trust-section,
body.has-page-glow .intro-page .begin-section,
body.has-page-glow .intro-page .paper-section {
  background: transparent !important;
  background-image: none !important;
}

body.has-page-glow .brief-page,
body.has-page-glow .report-lookup-page {
  background: transparent !important;
}

@media (prefers-reduced-motion: reduce) {
  .page-glow-dust,
  .page-glow-portal {
    display: none !important;
  }
}
