/* ===== Reset & Layout ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip;
}


/* ========= 全局配色变量（保留所有非背景相关变量） ========= */
:root {
  /* 原文件非背景全局变量，确保页面其他元素样式正常 */
  --page-bg: #F6F0E8;
  --ink: #5A5145;
  --muted-bg: #EFE6DA;
  --card-bg: #FFF8EE;
  --border: #E3D6C6;
  --accent: #226c59;
  --accent-hover: #124a3e;
  --shadow: rgba(34, 20, 10, .10);
  --selection-bg: #DCCDB7;
  --selection-ink: #2b241c;
}


body {

  /* body 全局渐变*/
  background-image: linear-gradient(180deg,
      #e5dfd7 0%,
      #e5dfd7 5%,
      #e0fdf5 10%,
      #d3fff3 23%,
      #79baab 27%,
      #aacdc4 35%,
      #faf4c8 45%,
      #d7fbde 50%,
      #b8eadc 55%,
      #c7f3e7 60%,
      #ecf8d1 80%,
      #d3fff3 90%,
      #d3fff3 100%
      /* 结束色（页面最底部紫色） */
    );

  background-size: 100% 100%;
  background-repeat: no-repeat;
  min-height: 100vh;
}


/* ===== Typography & Links ===== */
::selection {
  background: var(--selection-bg);
  color: var(--selection-ink);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--ink);
  margin: 0 0 .6em;
}

p,
li,
dd,
dt,
blockquote {
  color: var(--ink);
}

a {
  color: var(--accent);
  text-decoration: none;
  transition: color .15s ease;
}

a:hover,
a:focus {
  color: var(--accent-hover);
  text-decoration: underline;
}

/* ===== Cards & Inputs (可选) ===== */
.card,
.surface,
.paper {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 18px 36px var(--shadow);
}

/* ===== Scrollbar (WebKit) ===== */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: var(--muted-bg);
}

::-webkit-scrollbar-thumb {
  background: #D8CBBB;
  border-radius: 10px;
  border: 2px solid var(--muted-bg);
}

::-webkit-scrollbar-thumb:hover {
  background: #CDBDA7;
}

/* ===== Navbar 基础与“无白边”补丁 ===== */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: rgba(255, 255, 255, .0);
  /* 导航栏透明，露出下方渐变背景 */
  backdrop-filter: blur(0px);
  padding: 10px 16px;
}

.navbar img {
  display: block;
  height: 44px;
  width: auto;
}

.navbar-dark .nav-link {
  color: #2a2a2a;
}

.navbar-dark .nav-link:hover {
  color: #000;
}

.navbar .dropdown-menu {
  background: #fff8ee;
  border: 1px solid var(--border);
  border-radius: 12px;
}

.navbar .dropdown-item {
  color: #4a4035;
}

.navbar .dropdown-item:hover {
  background: #f5ecdf;
}

/* 一些容器类可能带有左右间距，第一屏需要 full-bleed 时禁止它们干扰 */
#page-content,
body>.container,
body>.container-fluid,
body>.wrapper,
body>.page,
body>.main {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
}

/* GSAP pin spacer 若注入，确保透明，不破坏连续背景 */
.gsap-pin-spacer {
  background: transparent !important;
}