/* 
250526-V2.0.11  
*/

    * {
    	border: 0;
    	box-sizing: border-box;
    	margin: 0;
    	padding: 0;
    }

    :root {
    	--hue: 223;
    	--bg: hsl(var(--hue),10%,90%);
    	--fg: hsl(var(--hue),10%,10%);
    	--primary: hsl(var(--hue),90%,50%);
    	--trans-dur: 0.3s;
    	--trans-timing: cubic-bezier(0.65,0,0.35,1);
    	font-size: calc(16px + (24 - 16) * (100vw - 320px) / (2560 - 320));
    }

    a {
    	color: var(--primary);
    	transition: color var(--trans-dur);
    }

    body,
    button {
    	color: var(--fg);
    	font: 1em/1.5 "IBM Plex Sans", sans-serif;
    }

    body {
    	background-color: var(--bg);
    	height: 100vh;
    	transition:
    		background-color var(--trans-dur),
    		color var(--trans-dur);
    }

    h1 {
    	font-size: 2em;
    	margin: 0 0 3rem;
    	padding-top: 1.5rem;
    	text-align: center;
    }

    .container {
        display: flex;
        justify-content: center;
        align-items: baseline;
        text-align: center;
    }
    
    .title-part1 {
        font-size: 2em;
        margin-right: 10px; /* 可以根据需要调整间距 */
    }

    .title-part2 {
        font-size: 1.5em;
    }

    .btn {
    	background-color: var(--fg);
    	border-radius: 0.25em;
    	color: var(--bg);
    	cursor: pointer;
    	padding: 0.375em 0.75em;
    	transition:
    		background-color calc(var(--trans-dur) / 2) linear,
    		color var(--trans-dur);
    	-webkit-tap-highlight-color: transparent;
    }
    
    /* 250526-V2.0.11 精确控制.btn类名的<a>标签，无下划线 */
    a.btn {
      text-decoration: none;
    }

    .btn:hover {
    	background-color: hsl(var(--hue),10%,50%);
    }

    .btn-group {
    	display: flex;
    	justify-content: center; /* 250526-V2.0.11 新增居中属性 */
    	gap: 0.375em;
    	margin-bottom: 1.5em;
    }

    .btn-group .btn {
        font-weight: bold;
    }

    .timeline {
    	margin: auto;
    	padding: 0 1.5em;
    	width: 100%;
    	max-width: 36em;
    }

    .timeline__arrow {
    	background-color: transparent;
    	border-radius: 0.25em;
    	cursor: pointer;
    	flex-shrink: 0;
    	margin-inline-end: 0.25em;
    	outline: transparent;
    	width: 2em;
    	height: 2em;
    	transition:
    		background-color calc(var(--trans-dur) / 2) linear,
    		color var(--trans-dur);
    	-webkit-appearance: none;
    	appearance: none;
    	-webkit-tap-highlight-color: transparent;
    }

    .timeline__arrow:focus-visible,
    
    .timeline__arrow:hover {
    	background-color: hsl(var(--hue),10%,50%,0.4);
    }

    .timeline__arrow-icon {
    	display: block;
    	pointer-events: none;
    	transform: rotate(-90deg);
    	transition: transform var(--trans-dur) var(--trans-timing);
    	width: 100%;
    	height: auto;
    }

    .timeline__date {
    	font-size: 0.833em;
    	line-height: 2.4;
    }

    .timeline__dot {
    	background-color: currentColor;
    	border-radius: 50%;
    	display: inline-block;
    	flex-shrink: 0;
    	margin: 0.625em 0;
    	margin-inline-end: 1em;
    	position: relative;
    	width: 0.75em;
    	height: 0.75em;
    }

    .timeline__item {
    	position: relative;
    	padding-bottom: 2.25em;
    }

    .timeline__item:before {
    	background-color: currentColor;
    	content: "";
    	display: block;
    	position: absolute;
    	top: 1em;
    	left: 2.625em;
    	width: 0.125em;
    	height: 100%;
    	transform: translateX(-50%);
    }

    .end {
        display: none;
    }

    [dir="rtl"] .timeline__arrow-icon {
    	transform: rotate(90deg);
    }

    [dir="rtl"] .timeline__item:not(:last-child):before {
    	right: 2.625em;
    	left: auto;
    	transform: translateX(50%);
    }

    .timeline__item-header {
    	display: flex;
    }

    .timeline__item-body {
    	border-radius: 0.375em;
    	overflow: hidden;
    	margin-top: 0.5em;
    	margin-inline-start: 4em;
    	height: 0;
    }

    .timeline__item-body-content {
    	background-color: hsl(var(--hue),10%,50%,0.2);
    	opacity: 1 !important;        /* 覆盖原有隐藏样式 */
    	padding: 0.5em 0.75em;
    	visibility: visible !important;
    	transition:
    		opacity var(--trans-dur) var(--trans-timing),
    		visibility var(--trans-dur) steps(1,end);
    }

    .timeline__meta {
    	width: 100%;
    }

    .timeline__title {
    	font-size: 1.5em;
    	line-height: 1.333;
    }
    
    /* 250520 V1.0.1 添加 节点副标题样式 */
    .timeline__title p {
        font-size: 0.667em; /* 相对缩小约15% */
        margin: 0.0em 0 0; /* 主标题与副标题的间距 */
        font-weight: normal; /* 可选：取消加粗 */
    }

    .timeline__item-body--expanded {
    	height: auto;
    }

    .timeline__item-body--expanded .timeline__item-body-content {
    	opacity: 1;
    	visibility: visible;
    	transition-delay: var(--trans-dur), 0s;
    }

    .timeline__arrow[aria-expanded="true"] .timeline__arrow-icon {
    	transform: rotate(0);
    }

    @media (prefers-color-scheme: dark) {
    	:root {
    		--bg: hsl(var(--hue),10%,10%);
    		--fg: hsl(var(--hue),10%,90%);
    		--primary: hsl(var(--hue),90%,70%);
    	}
    }
 
    .site-footer {
        background-color: #f5f5f5;
        padding: 20px 0;
        position: relative;
        z-index: 100;
        margin-top: 50px;
    }

    .footer-content {
        max-width: 1200px;
        margin: 0 auto;
        text-align: center;
    }

    .copyright {
        margin-bottom: 5px;
    }

    .copyright a {
        color: #666;
        font-size: 14px;
        text-decoration: none;
        transition: color 0.3s;
    }

    .copyright a:hover {
        color: #333;
    }

    .footer-logo img {
    /* 新增尺寸控制 */
        width: 3vw;
        max-width: 45px;
        min-width: 30px;
    
        /* 保留原有必要属性 */
        height: auto;          /* 保持比例关键属性 */
        vertical-align: middle; /* 垂直对齐方式 */
        opacity: 0.8;          /* 默认透明度 */
        transition: opacity 0.3s; /* 过渡动画 */
    }

    .footer-logo img:hover {
        opacity: 1;
    }


    /* 250505-增加图文混排样式 */
    /* 添加以下样式实现原有布局效果 */
    .figure--plan {
        margin: 15px 0;
        text-align: center;
    }
    .figure__caption {
        margin-top: 8px;
        color: #666;
        font-size: 0.9em;
    }

    .thumbnail {
        display: block; /* 解决图片底部间隙问题 */
        max-width: 300px;
        margin: 0 auto; /* 水平居中 */
        border: 1px solid #ddd;
        border-radius: 4px;
        cursor: pointer;
    }

    /* 新增模态框样式 */
    .modal {
        display: none;
        position: fixed;
        z-index: 9999;/* 确保高于其他元素 */
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.9);
        overflow: auto;
    }

    .modal-content {
        display: block;
        max-width: 90%;
        max-height: 90%;
        margin: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        animation: zoom 0.3s;
    }

    .close-btn {
        position: absolute;
        top: 20px;
        right: 35px;
        color: white;
        font-size: 40px;
        font-weight: bold;
        cursor: pointer;
        z-index: 1001;
    }

    @keyframes zoom {
        from {transform: translate(-50%, -50%) scale(0.9)}
        to {transform: translate(-50%, -50%) scale(1)}
    }

    /* 新增CSS */
    .view-full-btn {
        display: block;
        width: 120px;
        margin: 10px auto;
        padding: 8px 15px;
        background: #2196F3;
        color: white;
        border: none;
        border-radius: 20px;
        cursor: pointer;
        transition: background 0.3s;
    }

    .view-full-btn:hover {
        background: #1976D2;
    }

    .full-view {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.95);
        z-index: 99999;
        overflow-y: auto;
    }

    .full-view-img {
        width: 100%;
        min-width: 100vw;
        min-height: 100vh;
        object-fit: contain;
        padding: 20px;
        box-sizing: border-box;
    }

    .close-full-btn {
        position: fixed;
        bottom: 30px;
        left: 50%;
        transform: translateX(-50%);
        padding: 12px 40px;
        background: #ff4444;
        color: white;
        border: none;
        border-radius: 30px;
        font-size: 16px;
        cursor: pointer;
        box-shadow: 0 4px 12px rgba(0,0,0,0.3);
        z-index: 10000;
    }
    
    /* 250520-V 2.5.7 添加【.breakable-pre】样式，pre 标签内的长文本自动换行 【start】*/
    .breakable-pre {
      white-space: pre-wrap;
      word-wrap: break-word;
      overflow-wrap: break-word;
    }
    /* 250520-V 2.5.7 添加【.breakable-pre】样式，pre 标签内的长文本自动换行 【end】*/
    
    .separator {
            font-size: 18px;
            color: #666;
    }



