        body {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 5%;
            font-size: 100%;
            font-family: "Noto Sans", sans-serif;
            color: #eee9dc;
            background: #2c3e50;
        }

        h1 {
            text-align: center;
            color: #eab020;
        }

        h2 {
            margin: 3em 0 0 0;
            font-size: 1.8em;
            letter-spacing: 2px;
            text-transform: uppercase;
            text-align: center;
            color: #5acee7;
        }

        /* 时间线核心样式 */
        #timeline,
        #timeline-2,
        #timeline-3 {
            list-style: none;
            margin: 50px 0 30px 120px;
            padding-left: 30px;
            border-left: 8px solid #eee9dc;
        }

        #timeline li,
        #timeline-2 li,
        #timeline-3 li {
            margin: 40px 0;
            position: relative;
        }

        #timeline p,
        #timeline-2 p,
        #timeline-3 p {
            margin: 0 0 15px;
            line-height: 1.6;
        }

        /* 日期样式 - 适配"公元XXXX年"宽度，年份数字蓝青色 */
        .date {
            margin-top: -10px;
            top: 50%;
            left: -220px;
            font-size: 1.1em;
            font-weight: bold;
            line-height: 20px;
            position: absolute;
            width: 160px;
            text-align: right;
        }

        /* 蓝青色年份数字样式 */
        .date .year {
            color: #ff6f61;
        }

        /* 节点圆圈 */
        .circle {
            margin-top: -10px;
            top: 50%;
            left: -44px;
            width: 10px;
            height: 10px;
            background: #2c3e50;
            border: 5px solid #eee9dc;
            border-radius: 50%;
            display: block;
            position: absolute;
            transition: background 0.3s ease;
        }

        /* 内容面板 */
        .content {
            max-height: 20px;
            padding: 50px 20px 0;
            border-color: transparent;
            border-width: 2px;
            border-style: solid;
            border-radius: 0.5em;
            position: relative;
            background: rgba(44, 62, 80, 0.8);
            transition: max-height 0.4s linear, border-color 0.5s linear, transform 0.2s linear;
        }

        .content:before,
        .content:after {
            content: "";
            width: 0;
            height: 0;
            border: solid transparent;
            position: absolute;
            pointer-events: none;
            right: 100%;
        }

        .content:before {
            border-right-color: inherit;
            border-width: 20px;
            top: 50%;
            margin-top: -20px;
        }

        .content:after {
            border-right-color: #2c3e50;
            border-width: 17px;
            top: 50%;
            margin-top: -17px;
        }

        .content p {
            max-height: 0;
            color: transparent;
            text-align: justify;
            word-break: break-word;
            hyphens: auto;
            overflow: hidden;
            transition: max-height 0.4s linear, color 0.3s linear 0.3s;
        }

        /* 标签样式 */
        label {
            font-size: 1.2em;
            position: absolute;
            z-index: 100;
            cursor: pointer;
            top: 20px;
            transition: transform 0.2s linear;
        }

        /* 隐藏单选框 */
        .radio {
            display: none;
        }

        /* 选中状态样式 */
        .radio:checked+.relative label {
            cursor: auto;
            transform: translateX(42px);
        }

        .radio:checked+.relative .circle {
            background: #e74c3c;
        }

        .radio:checked~.content {
            max-height: 200px;
            border-color: #eee9dc;
            margin-right: 20px;
            transform: translateX(20px);
        }

        .radio:checked~.content p {
            max-height: 200px;
            color: #eee9dc;
        }

        /* 古建筑标记样式 */
        .heritage {
            color: #fff;
            font-weight: bold;
            font-size: 0.9em;
            margin-left: 5px;
        }

        /* 确保图标垂直居中 */
        .heritage i {
            vertical-align: middle;
        }

        /* 左侧悬浮菜单 - 保留原有样式 */
        #fl_menu {
            position: absolute;
            top: 50px;
            left: 0px;
            z-index: 9999;
            width: 150px;
            height: 50px;
        }

        #fl_menu .label {
            padding-left: 20px;
            line-height: 50px;
            font-size: 14px;
            font-weight: bold;
            background: rgba(0, 0, 0, 0.3);
            color: #fff;
            letter-spacing: 5px;
            border-top-right-radius: 5px; 
            border-bottom-right-radius: 5px;
        }

        #fl_menu .menu {
            display: none;
        }

        #fl_menu .menu .menu_item {
            display: block;
            background: #000;
            color: #bbb;
            border-top: 1px solid #333;
            padding: 10px 20px;
            font-size: 12px;
            text-decoration: none;
        }

        #fl_menu .menu a.menu_item:hover {
            background: #333;
            color: #fff;
        }

        #fl_menu .label i {
            animation: pulse 2s infinite;
            color: #fce59e;
        }

        /* 移动端适配 */
        @media screen and (max-width: 767px) {

            #timeline,
            #timeline-2,
            #timeline-3 {
                margin-left: 0;
                padding-left: 0;
                border-left: none;
            }

            #timeline li,
            #timeline-2 li,
            #timeline-3 li {
                margin: 50px 0;
            }

            label {
                width: 85%;
                font-size: 1.1em;
                white-space: nowrap;
                text-overflow: ellipsis;
                overflow: hidden;
                display: block;
                transform: translateX(18px);
            }

            .content {
                padding-top: 45px;
                border-color: #eee9dc;
            }

            .content:before,
            .content:after {
                border: solid transparent;
                bottom: 100%;
                right: auto;
                left: 50px;
            }

            .content:before {
                border-bottom-color: inherit;
                border-width: 17px;
                top: -16px;
                margin-left: -17px;
            }

            .content:after {
                border-bottom-color: #2c3e50;
                border-width: 20px;
                top: -20px;
                margin-left: -20px;
            }

            .content p {
                font-size: 0.9em;
                line-height: 1.4;
            }

            .circle,
            .date {
                display: none;
            }
        }