/* ================================
   F形布局主体 - 符合阅读习惯
   ================================ */

/* 多栏容器（带侧边栏）*/
.container {
    max-width: var(--container-multi-column-base); /* 1200px */
    margin: 0 auto;
    min-width: var(--container-min-width); /* 320px */
    padding: 0 var(--container-padding); /* 0 1rem */
}

/* 单栏容器（无侧边栏）*/
.container.single-column {
    max-width: var(--container-single-column-base); /* 750px */
}

/* 全宽页面内容区域与导航菜单宽度保持一致 */
.main-layout.page-full-width .container {
    max-width: var(--container-multi-column-base); /* 1200px */
}

/* === 响应式断点系统 === */

/* 1440px - 1599px: 中型高分辨率屏幕 */
@media (min-width: 1440px) and (max-width: 1599px) {
    .container {
        max-width: var(--container-multi-column-lg); /* 1400px */
    }
    
    .container.single-column {
        max-width: var(--container-single-column-lg); /* 800px */
    }
    
    /* 全宽页面内容区域与导航菜单宽度保持一致 */
    .main-layout.page-full-width .container {
        max-width: var(--container-multi-column-lg); /* 1400px */
    }
}

/* 1600px - 1919px: 动态计算区间 */
@media (min-width: 1600px) and (max-width: 1919px) {
    .container {
        /* 动态计算: 1400px + (屏幕宽度 - 1600px) * 0.1 */
        width: calc(1400px + (100vw - 1600px) * 0.1);
        max-width: none; /* 解除max-width限制 */
    }
    
    .container.single-column {
        max-width: var(--container-single-column-lg); /* 800px 固定 */
        width: auto; /* 重置动态计算 */
    }
    
    /* 全宽页面内容区域与导航菜单宽度保持一致 */
    .main-layout.page-full-width .container {
        /* 动态计算: 1400px + (屏幕宽度 - 1600px) * 0.1 */
        width: calc(1400px + (100vw - 1600px) * 0.1);
        max-width: none; /* 解除max-width限制 */
    }
}

/* 1920px - 2559px: 大型高分辨率屏幕 */
@media (min-width: 1920px) and (max-width: 2559px) {
    .container {
        max-width: var(--container-multi-column-xl); /* 1500px */
        width: auto; /* 重置动态计算 */
    }
    
    .container.single-column {
        max-width: var(--container-single-column-lg); /* 800px */
    }
    
    /* 全宽页面内容区域与导航菜单宽度保持一致 */
    .main-layout.page-full-width .container {
        max-width: var(--container-multi-column-xl); /* 1500px */
    }
}

/* 2560px+: 4K及超高分辨率屏幕 */
@media (min-width: 2560px) {
    .container {
        max-width: var(--container-multi-column-4k); /* 1600px */
        padding: 0 var(--container-4k-padding); /* 0 2vw */
        width: auto; /* 重置动态计算 */
    }
    
    .container.single-column {
        max-width: var(--container-single-column-lg); /* 800px */
        padding: 0 var(--container-padding); /* 保持标准内边距 */
    }
    
    /* 全宽页面内容区域与导航菜单宽度保持一致 */
    .main-layout.page-full-width .container {
        max-width: var(--container-multi-column-4k); /* 1600px */
        padding: 0 var(--container-4k-padding); /* 0 2vw */
    }
}

.main-layout {
    display: grid;
    grid-template-columns: 1fr 350px;  /* 从300px增加到350px，更好利用空间 */
    gap: var(--space-16);
    padding: var(--space-12) 0;
    align-items: start;
}

/* 页面全宽布局 - 单栏布局 */
.main-layout.page-full-width {
    display: block;
    padding: 0;
}

/* 确保全宽内容区域使用单栏容器 */
.main-layout.page-full-width .content-area {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

/* 高分辨率下的优化布局 - 已由上方断点系统统一管理 */
/* 这里保留用于其他布局设置 */

.content-area {
    min-width: 0;
}

/* 全宽内容区域 */
.content-area.full-width {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

/* 页面内容样式优化 */
.page .page-content {
    background: var(--bg-primary);
    border-radius: 12px;
    padding: var(--space-8);
    box-shadow: var(--shadow-card);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

/* 页面内容体样式 - 与文章内容保持一致 */
.page-content-body {
    font-size: var(--text-lg);
    line-height: 1.8;
    color: var(--text-primary);
}

.page-content-body p {
    margin-bottom: var(--space-6);
}

.page-content-body h1 {
    font-size: var(--text-4xl);
    font-weight: 700;
    margin: var(--space-12) 0 var(--space-6);
    color: var(--text-primary);
    border-bottom: 3px solid var(--primary-brand);
    padding-bottom: var(--space-3);
}

.page-content-body h2 {
    font-size: var(--text-2xl);
    font-weight: 700;
    margin: var(--space-8) 0 var(--space-4);
    color: var(--text-primary);
    border-bottom: 2px solid var(--border-light);
    padding-bottom: var(--space-2);
}

.page-content-body h3 {
    font-size: var(--text-xl);
    font-weight: 700;
    margin: var(--space-6) 0 var(--space-4);
    color: var(--primary-brand);
}

.page-content-body h4 {
    font-size: var(--text-lg);
    font-weight: 600;
    margin: var(--space-4) 0 var(--space-3);
    color: var(--text-primary);
}

.page-content-body h5 {
    font-size: var(--text-base);
    font-weight: 600;
    margin: var(--space-4) 0 var(--space-3);
    color: var(--text-primary);
}

.page-content-body h6 {
    font-size: var(--text-sm);
    font-weight: 600;
    margin: var(--space-3) 0 var(--space-2);
    color: var(--text-secondary);
}

.page-content-body img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: var(--space-6) 0;
}

.page-content-body blockquote {
    border-left: 4px solid var(--primary-brand);
    padding: var(--space-4) var(--space-6);
    margin: var(--space-6) 0;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    border-radius: 12px;
}

.page-content-body blockquote strong {
    font-weight: 600;
    color: var(--primary-brand);
}

.page-content-body ul,
.page-content-body ol {
    margin: var(--space-6) 0;
    padding-left: var(--space-8);
}

.page-content-body li {
    margin-bottom: var(--space-3);
}

.page-content-body code {
    background: var(--bg-secondary);
    padding: var(--space-1) var(--space-2);
    border-radius: 4px;
    font-family: 'Fira Code', monospace, 'Courier New', Courier;
    font-size: 0.9em;
}

.page-content-body pre {
    background: var(--bg-secondary);
    padding: var(--space-4);
    border-radius: 8px;
    overflow-x: auto;
    margin: var(--space-6) 0;
    font-family: 'Fira Code', monospace, 'Courier New', Courier;
    font-size: 0.9em;
    line-height: 1.5;
}

.page-content-body pre code {
    background: transparent;
    padding: 0;
    border-radius: 0;
    font-size: 0.95em;
    line-height: 1.6;
    color: var(--text-primary);
}

.page-content-body table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--space-6) 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--shadow-card);
}

.page-content-body th,
.page-content-body td {
    padding: var(--space-3) var(--space-4);
    text-align: left;
    border-bottom: 1px solid var(--border-light);
}

.page-content-body th {
    background: var(--bg-secondary);
    font-weight: 600;
    color: var(--text-primary);
}

.page-content-body tr:hover {
    background: var(--bg-secondary);
}





.sidebar-area {
    position: sticky;
    top: calc(80px + var(--space-4));
}

/* 移动端适配 */
@media (max-width: 768px) {
    /* 移动端主布局调整 */
    .main-layout {
        grid-template-columns: 1fr;
    }
    
    .sidebar-area {
        position: static;
        margin-top: var(--space-8);
    }
}
/* 通用布局框架 - 专注结构而非样式 */

/* 全宽容器 */
.full-width-container {
  width: 100%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* 注：内容容器推荐直接使用主题现有的 .container 类
   .container 类在 layout.css 中定义，具有完整的响应式系统和设计系统集成
   如需特殊调整，可以通过以下自定义类扩展 .container 的功能 */

/* 内容容器扩展类 - 可与 .container 配合使用 */
.container-fluid {
  width: 100%;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  box-sizing: border-box;
}

/* 内容容器紧凑版 - 可与 .container 配合使用 */
.container-compact {
  padding-left: var(--spacing-4);
  padding-right: var(--spacing-4);
}

/* 左右两栏布局 - 2:1 比例 */
.two-column-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--gap, 2rem);
  align-items: center;
}

/* 左右两栏布局 - 1:1 比例 */
.two-column-equal-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap, 2rem);
  align-items: center;
}

/* 三栏布局 */
.three-column-layout {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--gap, 1.5rem);
}

/* 左右布局内容区域 */
.layout-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
}

/* 左右布局图像区域 */
.layout-image {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100%;
}

/* 响应式适配 */
@media (max-width: 1024px) {
  .two-column-layout,
  .two-column-equal-layout {
    grid-template-columns: 1fr;
  }
  
  .three-column-layout {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .three-column-layout {
    grid-template-columns: 1fr;
  }
  
  .content-container {
    padding-left: var(--padding-x-mobile, 1rem);
    padding-right: var(--padding-x-mobile, 1rem);
  }
}

/* 可嵌套布局 */
.layout-nested {
  width: 100%;
}

/* 居中对齐 */
.layout-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 垂直居中 */
.layout-vertical-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
}

/* 水平居中 */
.layout-horizontal-center {
  display: flex;
  justify-content: center;
}

/* 弹性空间 */
.layout-space-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* 流式布局 */
.layout-flow {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap, 1rem);
}

/* 固定高度区域 */
.layout-fixed-height {
  height: var(--fixed-height, 400px);
  overflow: hidden;
}

/* 最小高度区域 */
.layout-min-height {
  min-height: var(--min-height, 400px);
}

/* 可滚动区域 */
.layout-scrollable {
  overflow-y: auto;
  max-height: var(--max-height, 500px);
}

/* 悬浮容器 */
.layout-float {
  position: relative;
  z-index: 1;
}

/* 重叠布局 */
.layout-overlap {
  position: relative;
}

.layout-overlap > * {
  position: relative;
  z-index: 1;
}

.layout-overlap-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* 卡片容器 */
.layout-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--card-width, 300px), 1fr));
  gap: var(--gap, 1.5rem);
}

/* 宽屏适配 */
@media (min-width: 1400px) {
  .content-container {
    max-width: var(--max-width-wide, 1400px);
  }
}