* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 主体布局设置 */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* 顶部区域 */
.top-area {
    height: 80px;
    background: #e3f2fd;
    display: flex;
    align-items: center;
    padding: 0 20px;
    position: sticky;
    top: 0;
    z-index: 100;
}

/* 中间内容区域（自适应高度） */
 .middle-area {
     flex: 1;
     background: #f8f9fa;
     padding: 20px;
     overflow: auto;
     text-align: center;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
 }
 
 /* 图片响应式处理 */
 #dynamic-image {
     max-width: 100%;
     height: auto;
     max-height: 65vh; /* 限制最大高度为视口的80% */
     object-fit: contain; /* 保持比例完整显示 */
     border-radius: 8px;
     box-shadow: 0 2px 8px rgba(0,0,0,0.1);
 }
 
 /* 移动端适配 */
 @media (max-width: 768px) {
     .middle-area {
         padding: 10px;
     }
     #dynamic-image {
         max-height: 70vh;
     }
 }

/* 固定中间区域 */
.fixed-middle-area {
    flex: 1;
    min-height: 0;
}

/* 底部区域 */
.bottom-area {
 height: 100px;
 background: #e0e0e0;
 padding: 15px;
 position: sticky;
 bottom: 0;
 display: flex;
 align-items: center;
 justify-content: center;
 text-align: center;
 }


.title-bar {
    background-color: #e3f2fd;
    padding: 12px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    width: 100%;
}

.logo-button {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #2196F3;
    font-weight: 500;
}

.logo-button img {
    height: 40px;
    transition: transform 0.2s;
}

.logo-button:hover img {
    transform: scale(1.05);
}

.icon-button {
    height: 36px;
    padding: 4px;
    transition: opacity 0.2s;
}

.icon-button:hover {
    opacity: 0.8;
}