.ly_blog_detail_1{padding: 40px 0}.ly_blog_detail_1 .blog_wrapper{display: flex;justify-content: space-between;margin: 0 auto}.ly_blog_detail_1 .left_wrapper{width: 71.53792%}.ly_blog_detail_1 .left_wrapper.full_width{width: 100%}.ly_blog_detail_1 .right_wrapper{width: 25.67849%}.ly_blog_detail_1 .blog_detail .blog_title{font-size: 36px;line-height: 42px}.ly_blog_detail_1 .blog_detail .blog_param{margin-top: 15px;font-size: 16px;color: #5a6272;line-height: 26px}.ly_blog_detail_1 .blog_detail .blog_param span{display: inline-block}.ly_blog_detail_1 .blog_detail .blog_param>span::before{content: "|";display: inline-block;vertical-align: top;margin: 0 20px}.ly_blog_detail_1 .blog_detail .blog_param>span:first-child::before{content: "";margin: 0}.ly_blog_detail_1 .blog_detail .blog_brief{padding-top:25px;font-size: 16px}.ly_blog_detail_1 .blog_detail .blog_img{-webkit-border-radius: 20px;-moz-border-radius: 20px;-ms-border-radius: 20px;-o-border-radius: 20px;border-radius: 20px;overflow: hidden;padding-top: 25px}/* 阅读行长：改前 942px 宽 / 16px 实测 114 字符每行，远超舒适区 45–75。
   限宽 560 + 字号提到 18px。canvas 实测该字体平均字宽 7.22px，560/7.22 ≈ 78 字符每行。
   图片仍可满宽（下面单独放开），只有文字被收窄。 */
.ly_blog_detail_1 .blog_detail .blog_content{margin: 30px auto;max-width: 560px}.ly_blog_detail_1 .blog_detail .blog_content p,
.ly_blog_detail_1 .blog_detail .blog_content li{font-size: 18px;line-height: 1.75}/* 图片不受 720 限制，保持原有满宽观感 */
.ly_blog_detail_1 .blog_detail .blog_content p:has(img){max-width: none}/* ===== 本次新增：正文两端对齐 =====
   实测块级边缘本来就是齐的（文字与图片同左同右），缺的是段落内的两端对齐，
   所以只需要给段落/列表加 justify。窄屏纯 justify 词间空隙会很大，配 hyphens 断词。
   标题不加 —— 短行两端对齐会把字距拉开，反而更难看。 */
.ly_blog_detail_1 .blog_detail .blog_content p,
.ly_blog_detail_1 .blog_detail .blog_content li{text-align: justify;-webkit-hyphens: auto;hyphens: auto;overflow-wrap: break-word}/* 含图片的段落原本是 text-align:center，上面那条会覆盖它，这里恢复。
   若浏览器不支持 :has() 只会丢弃这一条，而图片是满宽的，视觉无差别。 */
.ly_blog_detail_1 .blog_detail .blog_content p:has(img){text-align: center;hyphens: manual}.ly_blog_detail_1 .blog_detail .blog_share{margin-top: 30px}.ly_blog_detail_1 .blog_detail .blog_other{display: flex;justify-content: space-between;margin: 50px 0}.ly_blog_detail_1 .blog_detail .blog_other .blog_item{position: relative;-webkit-border-radius: 20px;-moz-border-radius: 20px;-ms-border-radius: 20px;-o-border-radius: 20px;border-radius: 20px;overflow: hidden;width: calc(50% - 20px);box-shadow: rgba(0, 0, 0, .2) 6px 6px 18px}.ly_blog_detail_1 .blog_detail .blog_other .blog_item .item_img{text-align: center}.ly_blog_detail_1 .blog_detail .blog_other .blog_item .item_text{padding: 9px 30px 30px}.ly_blog_detail_1 .blog_detail .blog_other .blog_item .item_text .target{display: inline-block;vertical-align: top;-webkit-border-radius: 5px;-moz-border-radius: 5px;-ms-border-radius: 5px;-o-border-radius: 5px;border-radius: 5px;margin-top: 20px;padding: 0 20px;font-size: 14px;color: var(--n-0);line-height: 35px;background-color: var(--brand)}.ly_blog_detail_1 .blog_detail .blog_other .blog_item .item_text .title{margin-top: 20px;font-size: 18px;color: var(--n-900);line-height: 34px}.ly_blog_detail_1 .blog_detail .blog_other .blog_item .item_link{position: absolute;top: 0;left: 0;display: block;-webkit-border-radius: 20px;-moz-border-radius: 20px;-ms-border-radius: 20px;-o-border-radius: 20px;border-radius: 20px;overflow: hidden;width: 100%;height: 100%;font-size: 0}.ly_blog_detail_1 .module_item{-webkit-border-radius: 10px;-moz-border-radius: 10px;-ms-border-radius: 10px;-o-border-radius: 10px;border-radius: 10px;border: 2px solid var(--n-50);margin-top: 30px;padding: 25px;background-color: var(--n-0)}.ly_blog_detail_1 .module_item .item_title{line-height: 35px;margin-bottom: 8px;font-size: 16px;font-weight: 600;color: var(--n-900)}.ly_blog_detail_1 .module_item .item_list{line-height: 28px;font-size: 14px;color: #5a6272}.ly_blog_detail_1 .module_item .item_list>li{margin-top: 12px}/* 链接原本是行内元素、实测仅 13px 高；父 li 有 28px 行高，让它填满即可满足
   WCAG 2.5.8 的 24x24 下限（正文内联链接按标准豁免，不在此列）。 */
.ly_blog_detail_1 .module_item .item_list>li>a{color: #6a7180;display: block;line-height: 28px}.ly_blog_detail_1 .module_item:first-child{margin-top: 0}.ly_blog_detail_1 #turn_page{margin-top: 50px}.ly_blog_detail_1 #turn_page li a,
.ly_blog_detail_1 #turn_page li span{font-size: 20px;color: #727272}.ly_blog_detail_1 #turn_page li,
.ly_blog_detail_1 #turn_page li a:hover{background-color: transparent}.ly_blog_detail_1 #turn_page li.active a{color: var(--n-900)}.ly_blog_detail_1 #turn_page li.first,
.ly_blog_detail_1 #turn_page li.last{display: none}.ly_blog_detail_1 #turn_page .prev span,
.ly_blog_detail_1 #turn_page .prev a{position: relative;display: inline-block;vertical-align: top;width: 24px;font-size: 0}.ly_blog_detail_1 #turn_page .prev span::before,
.ly_blog_detail_1 #turn_page .prev span::after,
.ly_blog_detail_1 #turn_page .prev a::before,
.ly_blog_detail_1 #turn_page .prev a::after{content: '\e63c';position: absolute;top: 0;left: 0;font-family: 'iconfont';font-size: 14px;color: #727272}.ly_blog_detail_1 #turn_page .prev span::after,
.ly_blog_detail_1 #turn_page .prev a::after{left: 7px}.ly_blog_detail_1 #turn_page .next span,
.ly_blog_detail_1 #turn_page .next a{position: relative;display: inline-block;vertical-align: top;width: 24px;font-size: 0}.ly_blog_detail_1 #turn_page .next span::before,
.ly_blog_detail_1 #turn_page .next span::after,
.ly_blog_detail_1 #turn_page .next a::before,
.ly_blog_detail_1 #turn_page .next a::after{content: '\e641';position: absolute;top: 0;left: 0;font-family: 'iconfont';font-size: 14px;color: #727272}.ly_blog_detail_1 #turn_page .next span::after,
.ly_blog_detail_1 #turn_page .next a::after{left: 7px}@media screen and (max-width: 1000px){.ly_blog_detail_1{padding: 40px 0}.ly_blog_detail_1 .blog_wrapper{flex-direction: column}.ly_blog_detail_1 .left_wrapper,
    .ly_blog_detail_1 .right_wrapper{width: 100%}.ly_blog_detail_1 .blog_detail .blog_title{font-size: 18px;line-height: 34px}.ly_blog_detail_1 .blog_detail .blog_param{margin-top: 8px;font-size: 12px;line-height: 22px}.ly_blog_detail_1 .blog_detail .blog_img{-webkit-border-radius: 10px;-moz-border-radius: 10px;-ms-border-radius: 10px;-o-border-radius: 10px;border-radius: 10px;margin-top: 15px}.ly_blog_detail_1 .blog_detail .blog_other{flex-direction: column;margin: 20px 0 40px}.ly_blog_detail_1 .blog_detail .blog_other .blog_item{-webkit-border-radius: 10px;-moz-border-radius: 10px;-ms-border-radius: 10px;-o-border-radius: 10px;border-radius: 10px;width: 100%;margin-top: 18px}.ly_blog_detail_1 .blog_detail .blog_other .blog_item .item_text{padding: 6px 16px 20px}.ly_blog_detail_1 .blog_detail .blog_other .blog_item .item_text .target{-webkit-border-radius: 5px;-moz-border-radius: 5px;-ms-border-radius: 5px;-o-border-radius: 5px;border-radius: 5px;margin-top: 11px;padding: 0 15px;font-size: 14px;line-height: 44px}.ly_blog_detail_1 .blog_detail .blog_other .blog_item .item_text .title{margin-top: 11px;font-size: 16px;line-height: 26px}.ly_blog_detail_1 .blog_detail .blog_other .blog_item .item_link{-webkit-border-radius: 10px;-moz-border-radius: 10px;-ms-border-radius: 10px;-o-border-radius: 10px;border-radius: 10px}.ly_blog_detail_1 .module_item{-webkit-border-radius: 5px;-moz-border-radius: 5px;-ms-border-radius: 5px;-o-border-radius: 5px;border-radius: 5px;border: 2px solid var(--n-50);margin-top: 25px;padding: 20px}.ly_blog_detail_1 #turn_page{margin: 35px 0}}

/* 2026-09-22：此处以下原有 2026-09-05 / 09-09 / 09-10 三轮叠加的规则（分享图标、560px 标题列、flex 栏距、字体角色、断词）
   已整体移除。博客详情页的版式现在只由 static/static/css/zt-presentation-20260914.css 的 zt-blogdetail-4 一段负责，
   避免两个文件互相压制（本文件特异性更高，曾把标题列压回 560px、分享钮压回 34px）。 */
