/* loen main.css — 14 段结构
 * 01-reset 02-tokens 03-layout 04-header 05-navigation
 * 06-content 07-post-list 08-single 09-sidebar 10-comments
 * 11-widgets 12-components 13-responsive 14-utilities
 */

/* ===== 01-reset 基础重置（元素/排版/表单/图片） ===== */
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(var(--loen-primary-rgb),.12)}
body{background-color:var(--loen-bg);color:var(--loen-text);font-family:Microsoft Yahei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body,figure,p,h1,h2,h3,h4,h5,h6,ol,ul,blockquote,dl{margin:0}
h1,h2,h3,h4,h5,h6,ol,ul,blockquote,dl{padding:0}
h1,h2,h3,h4,h5,h6{letter-spacing:-.01em}
ol,ul{list-style:none}
audio,canvas,progress,video,embed,iframe,img{max-width:100%}
audio,canvas,progress,video{display:inline-block;vertical-align:baseline}
img{border:0;vertical-align:middle}
a,ins{text-decoration:none}
a:focus,a:hover{color:var(--loen-primary)}
a:focus-visible{border-radius:4px;outline:2px solid var(--loen-primary);outline-offset:2px}
abbr[title]{border-bottom:1px dotted var(--loen-text-secondary);cursor:help}
b,strong{font-weight:700}
mark{background:#ff0;color:#000}
sub,sup{font-size:100%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
small{color:var(--loen-text-secondary);font-size:85%;font-weight:400;line-height:1}
ol ol,ol ul,ul ol,ul ul{margin-bottom:0}
blockquote{border-left:5px solid var(--loen-border);font-size:17.5px}
blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}
address{font-weight:400;margin-bottom:20px}
address,pre{line-height:1.5}
pre{color:#333;font-size:1em;margin:0;overflow:auto;padding:0;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}
code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:100%}
code{background-color:var(--loen-border-light);border-radius:4px;color:var(--loen-text);font-weight:400;margin:0;padding:0;white-space:nowrap}
kbd{background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);color:#fff;padding:2px 4px}
pre code{background-color:transparent;border-radius:0;color:inherit;font-size:inherit;padding:0;white-space:pre-wrap}
button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;padding:0}
button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease}
textarea{overflow:auto}
input[type=submit]{background-color:var(--loen-primary);border:none;border-radius:6px;box-shadow:0 4px 12px rgba(var(--loen-primary-rgb),.22);color:#fff}
button[disabled],html input[disabled]{cursor:default}
input[type=checkbox],input[type=radio]{box-sizing:border-box;margin:4px 0 0;padding:0}
input:focus-visible{border-radius:4px;outline:2px solid var(--loen-primary);outline-offset:2px}
label{display:inline-block;font-weight:700;margin-bottom:5px}
table{border-collapse:collapse;border-spacing:0}
th{font-weight:400;text-align:left}
td,th{margin:0;padding:0}
*,:after,:before{box-sizing:border-box}
hr{border:0;border-top:1px solid var(--loen-border);height:0;margin-bottom:20px;margin-top:20px;opacity:.8}
::selection{background:rgba(var(--loen-primary-rgb),.16);color:var(--loen-primary-dark)}
::-webkit-scrollbar{height:9px;width:9px}
::-webkit-scrollbar-track{background:0 0}
::-webkit-scrollbar-thumb{background:#ccd5e3;border:2px solid var(--loen-bg);border-radius:9px;transition:background-color .2s ease}
::-webkit-scrollbar-thumb:hover{background:#b3bfd3}
:focus:not(:focus-visible){outline:0}

/* ===== 02-tokens 设计变量（:root 颜色/字体/间距/圆角） ===== */
:root{--loen-primary:#2878f0;--loen-primary-dark:#1769e0;--loen-primary-light:#eaf1fe;--loen-primary-rgb:40,120,240;--loen-radius:8px;--loen-radius-sm:6px;--loen-shadow:0 1px 2px rgba(0,0,0,.05);--loen-shadow-hover:0 6px 16px rgba(0,0,0,.08);--loen-ease:cubic-bezier(.4,0,.2,1);--loen-transition:transform .2s var(--loen-ease),box-shadow .2s var(--loen-ease),color .15s var(--loen-ease),background-color .15s var(--loen-ease);--loen-bg:#f5f6f8;--loen-surface:#fff;--loen-surface-soft:#f6f7f9;--loen-text:#374151;--loen-text-secondary:#7b8490;--loen-text-muted:#9aa4b5;--loen-text-heading:#263238;--loen-text-content:#4e5358;--loen-border:#e7eaee;--loen-border-light:#eef1f5;--loen-text-lighter:#888}

/* ===== 03-layout 页面布局（container/content/sidebar/footer/grid） ===== */
.container{max-width:var(--loen-container-width,1280px);margin:0 auto;position:relative;display:grid;grid-template-columns:190px minmax(0,1fr) 300px;grid-template-areas:"hd ct sb" "ft ft ft";row-gap:20px;column-gap:20px;min-height:100vh}
.content-wrap{grid-area:ct;min-width:0}
.content{margin:26px 0 0;overflow:hidden;padding:18px 20px 0;background-color:#fff;border-radius:8px}
.error404{background-color:#fff}
.footer{position:relative;z-index:1;margin-top:auto;grid-area:ft;background-color:#fff;border-top:1px solid var(--loen-border);padding:24px 24px 28px 214px;color:var(--loen-text-secondary);line-height:1.9}
.no-sidebar{margin-right:0}
.ui-c2{--loen-container-width:1034px}
.ui-c2 .container{grid-template-columns:190px minmax(0,1fr) 0px}
.ui-c2 .sidebar{display:none}
.ui-c2 .content{margin-top:0}
.ui-c2.page-template-pagehasmenu .content,.ui-c3.page-template-pagehasmenu .content{margin-left:405px}
.woocommerce .content,.woocommerce-cart .content,.woocommerce-checkout .content{margin-right:0}
.footer a{color:var(--loen-text-secondary);transition:color .2s ease}
.footer a:hover{color:var(--loen-primary)}
.footer .footer-info{text-align:center;font-size:14px;line-height:1.8}
.footer .footer-disclaimer{margin-bottom:8px;color:var(--loen-text-lighter,#888)}
.footer .footer-copyright{font-size:14px}
.footer .footer-copyright a{margin:0 4px}

/* ===== 04-header 页头（header/logo/topbar/ui-navtop） ===== */
.header{position:fixed;top:0;bottom:0;width:190px;z-index:99;left:max(0px,calc((100vw - var(--loen-container-width,1280px))/ 2));background-color:#fff}

.logo a{height:120px;overflow:hidden;display:block;background-color:var(--loen-primary);color:#fff;transition:background-color .2s ease}
/* 只有移动 Logo：PC 端隐藏图片、显示文字；两图都有(picture)与只有PC时文字由 :has(img) 规则 sr-only 隐藏 */
.logo-img-mobile-only{display:none}
.logo a:has(.logo-img-mobile-only):not(:has(.logo-img-pc-only)):not(:has(.logo-img-both)) .logo-text{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}
/* 网站名文字：有 logo 图时 clip 隐藏（保留 DOM 供 SEO/无图兜底），无图时正常显示 */
.logo a:has(img) .logo-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.logo a:not(:has(img)) .logo-text{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}
.feed-weixin i{background-color:#4bc916}
.feed-weixin:hover{color:#4bc916}
.feed-weixin-hide{display:none}
.feed-weixin{position:relative;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}
.slinks{text-align:center;line-height:22px;color:var(--loen-text-secondary);font-size:12px}
.slinks a{margin:0 4px;color:var(--loen-text-secondary);transition:color .2s ease;cursor:pointer}
.slinks a:hover{color:var(--loen-primary)}
.ui-navtop.page-template-pagehasmenu > div.container{padding-left:215px;}
.ui-navtop.page-template-pagehasmenu > div.container .content{background-color:#fff;border-bottom:1px solid var(--loen-border);border-radius:5px}
.ui-navtop.page-template-pagehasmenu .pageside{left:0;top:0;border-radius:5px}
.ui-navtop.page-template-pagehasmenu .pagemenu{border-radius:5px}
.ui-navtop{margin-top:97px}
.ui-navtop .container{min-height:calc(100vh - 97px)}
.ui-navtop .header{bottom:auto;width:100%;left:0;background-color:#fff;border-bottom:1px solid var(--loen-border)}
.ui-navtop .header::before{display:none}
.ui-navtop .logo{width:auto}
.ui-navtop .logo a{height:44px;background-position:50% 50%;background-color:var(--loen-primary);color:var(--loen-text);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:3px}
.ui-navtop .logo a:not(:has(img)){color:var(--loen-text);line-height:44px;font-size:20px;font-weight:600}
.ui-navtop .logo a img{display:block;max-width:160px;max-height:40px;flex:none}
.ui-navtop .nav{border-bottom:none;display:flex;align-items:center}
.ui-navtop .site-nav{margin-right:auto;margin-left:28px}
.ui-navtop .nav ul{top:100%;left:0;border:2px solid var(--loen-border);text-align:left}
.ui-navtop .nav ul ul{left:100%;top:-7px;border-left:none;margin-left:2px}
.ui-navtop .nav ul a{padding:12px 24px}
.ui-navtop .nav>li{text-align:center}
.ui-navtop .nav>li>a{display:inline-block;line-height:1.5;padding:3px 14px;white-space:nowrap;font-size:16px}
.ui-navtop .nav>li>a>.icon{margin-right:0;display:block;top:0;margin-bottom:6px;margin-top:-8px}
.ui-navtop .user-welcome{position:static;margin:0 4px 0 20px;padding:0;display:flex;align-items:center;gap:6px}
.ui-navtop .user-welcome .avatar{margin-left:0;top:0}
.ui-navtop .user-welcome a img{width:26px;height:26px;border-radius:50%;display:block;margin:0}
.ui-navtop .user-welcome .user-actions{margin:0;display:flex;gap:4px}
.ui-navtop .user-welcome .user-actions .admin-btn,.ui-navtop .user-welcome .user-actions .logout-btn{padding:3px 8px;font-size:12px;white-space:nowrap}
.ui-navtop .user-welcome span,.ui-navtop .user-welcome strong{display:none}
.ui-navtop .header-main .user-signin{margin:0 8px 0 20px;padding:0;font-size:14px}
.ui-navtop .header-main .user-signin a{color:var(--loen-text-secondary);font-weight:400}
.ui-navtop .header-main .user-signin a:hover{color:var(--loen-primary)}
.ui-navtop .content-wrap.no-sidebar,.ui-navtop.error404 .content-wrap{grid-column:1/-1;min-width:0}
.ui-navtop > div.container{margin-bottom:15px;display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"ct sb";column-gap:20px}
/* header 内容器：与主容器 .container 解耦，自带居中与列布局约束 */
.ui-navtop .header-inner{max-width:var(--loen-container-width,1280px);margin:0 auto;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0}
.ui-navtop .topbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;height:36px;font-size:14px;color:#999;background-color:#fff;flex:none}
/* 顶栏布局：滚动后隐藏 topbar（scrollY>20 且窗口宽>1024px 时 body 加 nav-fixed）
   body 占位 margin-top 恒定 97px 不变（由 .ui-navtop 提供），nav-fixed 只隐藏 topbar、
   header 自然变 61px，下方露出固定背景 —— 内容位置全程不变，避免滚动位置 clamp 翻转抖动 */
.ui-navtop.nav-fixed .topbar{display:none}
.ui-navtop.nav-fixed .site-search{top:61px}
/* ui-navtop：feeds/slinks 全关时无 topbar，header 仅 header-main 高 61px，占位同步收紧（特异性 0,2,0 便于断点覆盖） */
.ui-navtop.no-topbar{margin-top:61px}
.ui-navtop.no-topbar .site-search{top:61px}
.ui-navtop.no-topbar > div.container{min-height:calc(100vh - 61px)}
.ui-navtop .header-main{display:flex;align-items:center;height:60px}
.ui-navtop .feeds{padding:0;background:0 0;border-bottom:none;margin:0;line-height:1;display:flex;align-items:center;gap:12px;overflow:visible}
.ui-navtop .feeds a{margin:0}
.ui-navtop .slinks{text-align:left;line-height:1;color:#999;font-size:14px;display:flex;align-items:center}
.ui-navtop .slinks a{margin:0 10px}
.ui-navtop .topbar a{font-size:14px;color:#999;font-weight:400}
.ui-navtop .topbar a:hover{color:var(--loen-primary)}
.ui-navtop .topbar .feed{width:auto;display:inline-flex;align-items:center}
.ui-navtop .topbar .feed i{margin-right:8px;top:0}
.ui-navtop .footer{background-color:#fff;text-align:center;padding:30px}
.ui-navtop .focusmo a{height:153px}
.ui-navtop .focusmo li.large a{height:316px}

.ui-navtop .article-meta li{display:inline-block}
.ui-navtop .relates a img{height:156px}
.ui-navtop .user-signin{position:static;margin:0;padding:0;background:0 0;border:none;display:flex;gap:16px;align-items:center;font-size:14px;line-height:1}
.navmore,.search_not .header > .search-form{display:none}
.search_not .header .m-search{display:none}
/* 侧栏布局（三栏/双栏）：slinks 与上方元素（搜索框或导航）保持 16px 间距，不紧贴；navtop 布局的 slinks 为横向 flex，不受影响 */
body:not(.ui-navtop) .slinks{margin-top:16px}
.header::before{content:"";position:fixed;top:0;bottom:0;left:0;width:max(0px,calc((100vw - var(--loen-container-width,1280px))/ 2));background-color:var(--loen-bg)}
.logo a:not(:has(img)){font-size:18px;font-weight:600;line-height:120px;text-align:center;white-space:nowrap;overflow:hidden}
.ui-navtop .nav li a:hover{background-color:transparent;color:var(--loen-primary)}
.ui-navtop .nav>li.menu-item-has-children>a::after{transform:translateY(-50%) rotate(135deg);right:12px}
.ui-navtop .nav>li.menu-item-has-children>a:hover::after{transform:translateY(-50%) rotate(45deg)}
.header .search-form{margin:16px 16px 0;width:auto}
.header .search-form .form-control{height:38px;font-size:13px}
.header .search-form .search-submit{height:38px;width:44px}

/* ===== 05-navigation 导航（nav 菜单/汉堡/全屏/移动搜索） ===== */

/* ---- ① 三布局 PC 共同基础（ui-navtop 布局覆盖见 04-header 段） ---- */
.nav li{position:relative}
.nav .icon{margin-right:10px;top:2px}
.nav li a:hover{color:var(--loen-primary)}
.nav li.menu-item-has-children>a{position:relative;padding-right:30px}
.nav li.menu-item-has-children>a::after{content:'';position:absolute;right:15px;top:50%;transform:translateY(-50%) rotate(45deg);width:6px;height:6px;border-top:1.5px solid var(--loen-text-muted);border-right:1.5px solid var(--loen-text-muted);transition:transform .2s ease,right .2s ease,border-color .2s ease}
.nav li.menu-item-has-children>a:hover::after{border-color:var(--loen-primary);right:12px}
.nav li.current-menu-item.menu-item-has-children>a::after,.nav li.current-menu-parent.menu-item-has-children>a::after{border-color:var(--loen-primary)}
.nav li ul{border:1px solid var(--loen-border);border-left:none;background-color:#fff;box-shadow:var(--loen-shadow-hover);border-radius:0 10px 10px 0;padding:6px 0;position:absolute;top:-2px;left:100%;min-width:160px;font-size:14px;z-index:2;display:none;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s var(--loen-ease),visibility .2s var(--loen-ease),transform .2s var(--loen-ease)}
.nav li ul>li>a{display:block;padding:9px 16px 9px 24px;transition:color .15s var(--loen-ease),background-color .15s var(--loen-ease);color:var(--loen-text-secondary)}
.nav li ul>li>a:hover{color:var(--loen-primary);background-color:transparent}
.nav li.current-menu-item>a,.nav li.current-menu-parent>a,.nav li.current-post-ancestor>a,.nav li.current_page_item>a{color:var(--loen-primary);background-color:transparent;position:relative;z-index:2}
.nav li:focus-within>ul,.nav li:hover>ul{display:block;opacity:1;visibility:visible;transform:translateY(0)}

/* ---- ② 默认布局专属（侧栏导航形态；ui-navtop 在 04-header 段覆盖） ---- */
.nav{padding:10px 0;position:relative;font-size:15px;border-bottom:1px solid var(--loen-border)}
.nav>li>a{position:relative;display:block;padding:10px 20px;line-height:1.5;color:var(--loen-text);transition:color .15s var(--loen-ease),background-color .15s var(--loen-ease)}
.nav>li>a:hover{color:var(--loen-primary)}

/* ---- ③ 移动端底部固定导航 fixnav 组件 ---- */
.fixnav{position:fixed;z-index:99;bottom:0;right:0;left:0;width:100%;background-color:#fff;padding:0 4px;display:none;box-shadow:-1px 0 10px rgba(0,0,0,.1);margin:0}
.fixnav>li{-webkit-box-flex:1;flex:1;text-align:center}
.fixnav>li>a{height:56px;line-height:56px;display:block;overflow:hidden;font-size:14px;color:var(--loen-text)}
.fixnav>li>a i,.fixnav>li>a span{display:block;margin-top:10px;margin-bottom:-15px;font-size:18px}
.fixnav>li ul{display:none}
.fixnav>li.current-menu-item>a,.fixnav>li.current_page_item>a{color:var(--loen-primary)}

/* ===== 06-content 正文内容（article-content 排版） ===== */
.article-content{word-wrap:break-word;font-size:16px;line-height:1.85;color:var(--loen-text-content);letter-spacing:.01em}
.article-content img{display:block;border-radius:6px}
.article-content h1{font-weight:700;margin:0 0 24px 0;line-height:1.5;font-size:24px;color:var(--loen-text-heading)}
.article-content h2{font-weight:700;margin:0 0 16px;line-height:1.4;font-size:20px;padding:0 0 0 14px;color:var(--loen-text-heading);position:relative}
.article-content h3{font-weight:600;margin:0 0 12px;line-height:1.5;font-size:18px;color:var(--loen-text-heading)}
.article-content h4{font-weight:600;margin:0 0 10px;line-height:1.5;color:var(--loen-text-heading)}
.article-content h5{font-weight:600;margin:0 0 10px;line-height:1.5;font-size:15px;color:var(--loen-text-heading)}
.article-content h6{font-weight:600;margin:0 0 10px;line-height:1.5;font-size:14px;color:var(--loen-text-heading)}
.article-content ol,.article-content ul{margin:0 0 18px;padding-left:28px}
.article-content ol{list-style:decimal}
.article-content p{margin:0 0 1em;text-align:left}
.article-content pre{word-wrap:break-word;background-color:#f8f9fa;color:#b91c1c;padding:16px 20px;border-radius:6px;overflow-x:auto;margin:24px 0;box-shadow:none;position:relative;font:13px/1.7 "Courier New",Menlo,Consolas,monospace;border:1px solid var(--loen-border)}
.article-content table{border-top:solid 1px var(--loen-border);border-left:solid 1px var(--loen-border);width:100%;border-collapse:collapse;margin:24px 0;border-radius:var(--loen-radius);overflow:hidden}
.article-content table th{color:var(--loen-primary-dark);text-align:left;padding:10px 12px;font-weight:600;border-bottom:solid 1px var(--loen-border);border-right:solid 1px var(--loen-border);background:var(--loen-primary-light)}
.article-content table td{border-bottom:1px solid var(--loen-border-light);border-right:solid 1px var(--loen-border);padding:12px 16px}
.article-content .wp-caption{margin:0 0 24px 0;background-color:var(--loen-surface-soft);padding:14px 14px 2px;max-width:100%;border-radius:var(--loen-radius)}
.article-content .wp-caption img{margin:0 0 4px}
.article-content .wp-caption p{margin-bottom:10px}
.article-content .wp-caption.alignnone{text-align:center}
.article-content .wp-caption:hover .wp-caption-text{color:var(--loen-primary)}
.article-content a{color:#3175e4;transition:color .15s var(--loen-ease)}
/* 链接下划线回归 text-decoration：::after 绝对定位在链接换行时只画在整体包围盒底部（长链接折行后仅显示在末行）；background 无法放到 em 盒下方（内联背景被裁切于盒内）而垂部在盒内。text-decoration 原生按行分段、skip-ink:auto 自动跳过 g/p 垂部。代价：从字形盒起笔，左侧天然多约2px（h 左侧边距），属原生行为 */
.article-content a:hover{color:#1769e0;text-decoration:underline dashed;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-skip-ink:auto}
.post_p_indent .article-content p{text-indent:30px}
.article-content blockquote{border:1px solid rgba(var(--loen-primary-rgb),.14);border-left:4px solid var(--loen-primary);font-size:14px;line-height:1.7;clear:both;padding:18px 24px;margin:24px 0;border-radius:0 var(--loen-radius) var(--loen-radius) 0;color:var(--loen-text);position:relative;background-color:var(--loen-surface-soft)}
.article-content blockquote p{margin:0;padding:0;margin-bottom:5px;font-size:15px;line-height:1.9;text-indent:0}
.single-attachment .entry-title{margin:0;font-size:30px;font-weight:700;word-break:break-all}
.single-attachment .entry-meta{color:var(--loen-text-secondary);margin-top:10px;margin-bottom:20px}
.single-attachment .entry-attachment{text-align:center}
.single-attachment .entry-attachment img{height:auto}
.single-attachment .entry-caption{margin-top:10px}
.article-content .gallery-columns-3 .gallery-item{width:33.333333333333333%}
.article-content .gallery-columns-6 .gallery-item{width:16.666666666666666%}
.article-content .gallery-columns-7 .gallery-item{width:14.285714285714286%}
.article-content .gallery-columns-8 .gallery-item{width:12.5%}
.article-content .gallery-columns-9 .gallery-item{width:11.111111111111111%}
.article-content .gallery{margin:24px -12px 16px 0;overflow:hidden}
.article-content .gallery .gallery-item{margin-top:0;margin-bottom:10px;padding-right:10px}
.article-content .gallery .gallery-icon{margin:0}
.article-content .gallery .gallery-item img{height:auto;border:none;margin:0 auto}
.article-content .gallery .wp-caption-text{font-size:14px;margin-top:5px}
.article-content figcaption{text-align:center;font-size:.85em;color:var(--loen-text-secondary);margin-top:-10px;margin-bottom:20px;padding:8px 0;border-bottom:1px solid var(--loen-border-light)}
.article-content table tr:nth-child(2n){background-color:#f8fafc}
.article-content table tr:hover{background-color:var(--loen-primary-light)}
.article-content code{background-color:#f8f9fa;padding:2px 6px;border-radius:4px;font-size:.9em;color:#b91c1c;font-family:Consolas,Monaco,monospace}
.article-content pre code{background:0 0;padding:0;color:inherit;background-color:transparent}
.article-content ul li{position:relative;padding:0;margin-bottom:8px;line-height:1.8}
.article-content ul li::before{content:'';position:absolute;left:-20px;top:calc(.9em - 3px);width:6px;height:6px;background-color:var(--loen-primary);border-radius:50%}
.article-content ol li{padding:0;margin-bottom:8px;line-height:1.8}
.article-content ol li::marker{color:var(--loen-primary);font-weight:600}
.article-content .cta-button,.article-content a.cta-button{display:inline-block;padding:14px 32px;background:linear-gradient(135deg,var(--loen-primary),var(--loen-primary-dark));color:#fff;border-radius:var(--loen-radius);font-weight:600;box-shadow:0 4px 12px rgba(var(--loen-primary-rgb),.3);transition:background-color .3s ease,box-shadow .3s ease;margin:16px 0}
.article-content .cta-button:hover{color:#fff}
.article-content h2::before{content:"";position:absolute;left:0;top:50%;bottom:6px;width:4px;border-radius:3px;background:var(--loen-primary);transform:translateY(-50%);height:22px}
.article-content ol ul,.article-content ul ul,.article-content ol ol,.article-content ul ol{margin-top:6px;margin-bottom:0}
.article-content table tr:hover td{background-color:#fafcff}
.article-content .wp-caption-text{color:var(--loen-text-secondary);font-size:13px;text-align:center}

/* ===== 07-post-list 文章列表（excerpt/焦点图/置顶/相关/分页） ===== */
.search-empty{padding:60px 24px;font-size:15px;color:var(--loen-text-muted)}
.sticky{overflow:hidden;border:1px solid var(--loen-border);border-radius:var(--loen-radius);padding:18px 18px 4px;margin-bottom:18px}
.sticky ul{padding:2px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-right:-10px}
.sticky li{margin-bottom:20px}
.sticky li a{display:block;margin-right:10px;color:var(--loen-text-secondary);transition:color .15s var(--loen-ease)}
.sticky-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.4;min-height:2.8em;margin-top:6px;font-size:14px;color:var(--loen-text)}
.sticky a:hover{color:var(--loen-primary)}
.sticky img{display:block;margin-bottom:5px;height:132px;border-radius:6px;object-fit:cover}
.focusmo{overflow:hidden;margin-bottom:18px}
.focusmo ul{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto;row-gap:10px;column-gap:0}
.focusmo a{margin-left:10px;display:block;overflow:hidden;height:128px;position:relative;border-radius:6px}
.focusmo a::before{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,0) 100%);z-index:1;pointer-events:none}
.focusmo img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--loen-ease)}
.focusmo li.large{grid-column:span 2;grid-row:span 2;margin-left:0}
.focusmo li.large a{height:266px;margin-left:0}
.focusmo .focus-title{position:absolute;bottom:10px;left:0;right:0;padding:0 15px;color:#fff;font-size:14px;line-height:21px;z-index:2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;height:42px}
.focusmo .large .focus-title{font-size:20px;bottom:15px;padding:0 20px;line-height:28px;height:56px}
.relates{overflow:hidden;border:1px solid var(--loen-border);border-radius:var(--loen-radius);padding:18px 18px 6px;margin-bottom:20px}
.relates ul{padding:2px 0 0;overflow:hidden;margin-right:-10px}
.relates-model-thumb li{display:inline-block;vertical-align:top;width:25%;margin-bottom:20px}
.relates-model-thumb a{margin-right:10px;display:block}
.relates-model-thumb a img{width:100%;margin-bottom:5px;height:132px;border-radius:6px}
.relates-model-text ul{margin:0;padding:0}
.relates-model-text li{display:flex;align-items:center;padding:7px 8px;border-radius:6px;transition:background-color .15s var(--loen-ease)}
.relates-model-text li::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--loen-border);margin-right:10px;flex-shrink:0;transition:background-color .15s var(--loen-ease)}
.relates a{color:var(--loen-text-secondary);transition:color .15s var(--loen-ease)}
.relates-model-text li a{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--loen-text);line-height:1.5;transition:color .15s var(--loen-ease)}
.relates-model-text li:hover::before{background-color:var(--loen-primary)}
.relates-model-text li:hover a{color:var(--loen-primary)}
.relates-model-thumb .rel-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px;color:var(--loen-text)}
.excerpt{position:relative;background-color:#fff;border:1px solid var(--loen-border);border-radius:var(--loen-radius);padding:12px 16px;margin-bottom:18px;overflow:hidden;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}
.excerpt header .-sticky{position:absolute;left:0;top:6px;flex-shrink:0;white-space:nowrap;margin-right:8px;color:#fff;font-size:12px;padding:3px 7px;border-radius:6px;line-height:1;vertical-align:middle;font-weight:400;background-color:var(--loen-primary)}
.excerpt header:has(.-sticky) h2{text-indent:46px}
/* 文章列表元数据链接无下划线（PC端，与移动端一致） */
.excerpt header{position:relative;flex:0 0 100%;margin:0 0 8px 0;display:flex;align-items:flex-start;min-width:0}
.excerpt .focus{position:relative;overflow:hidden;border-radius:6px}
.excerpt p{margin-bottom:10px}
.excerpt .time{flex:0 0 100%;font-size:12px;color:var(--loen-text-muted)}
.excerpt .time .list-author a:hover{color:var(--loen-primary)}
.excerpt-one .thumbnail{position:relative;display:block;overflow:hidden;border-radius:6px}
.excerpt-one .thumbnail::before{content:"";background-color:rgba(0,0,0,0);position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;transition:background-color .2s ease}
.excerpt-one .thumbnail:hover::before{background-color:rgba(0,0,0,.4)}
.excerpt-one .focus .item{width:100%;max-width:240px}
.excerpt header .label{flex-shrink:0;margin-right:8px;position:relative;top:-2px;background-color:var(--loen-primary-light);color:var(--loen-primary);border-radius:var(--loen-radius-sm);padding:2px 8px;font-weight:500}
.excerpt header small{flex-shrink:0;margin-left:10px}
.excerpt header small .icon{margin-right:2px;font-size:14px}
.excerpt h2{flex:1 1 auto;min-width:0;font-weight:500;position:relative;top:1px;line-height:28px;font-size:18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
.excerpt h2 a{color:var(--loen-text-heading);transition:color .15s var(--loen-ease);}
.excerpt h2 a:hover{color:var(--loen-primary)}
.excerpt h2 strong{color:#8cac52;margin-right:10px}

.excerpt .note{flex:1 1 100%;color:var(--loen-text);line-height:24px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.excerpt .views{order:10;flex:0 0 100%;margin-bottom:0;padding-bottom:0;display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.excerpt .post-like{margin-left:auto}
.excerpt .views-actions{margin-left:auto;order:99;display:inline-flex;align-items:center;gap:20px;flex:none}
.excerpt .post-linkto{background-color:var(--loen-primary);color:#fff;opacity:.92;display:inline-block;padding:5px 14px;font-size:12px;line-height:20px;border-radius:var(--loen-radius-sm);flex:none}
/* 元数据字号规范：桌面 14px / 移动端(768) 12px——cat-link 继承 .excerpt .views；flex:none 父级非 flex 容器无效删除；transition 供 hover 变色 */
.excerpt .cat-link{transition:color .15s var(--loen-ease)}
.excerpt .cat-link:before{content:"# "}
.excerpt .cat-link:hover{color:var(--loen-primary)}
.excerpt .cat-links .cat-link+.cat-link{margin-left:8px}
/* excerpt-one：作者时间与图片顶部对齐（grid 布局；position:relative 自 .excerpt 继承定位上下文，此处冗余已并入） */
.excerpt-one{display:grid;grid-template-columns:minmax(0,1fr) 23%;grid-template-areas:"hd hd" "tm img" "nt img" "vw vw";grid-template-rows:auto auto 1fr auto;column-gap:16px;align-items:start}
.excerpt-one header{grid-area:hd;align-self:start;margin-bottom:12px}
.excerpt-one .time{grid-area:tm}
.excerpt-one .note{grid-area:nt;order:1;min-width:0;align-self:flex-start}
.excerpt-one .focus{grid-area:img;position:static;max-width:none;align-self:start;order:2}
.excerpt-one .views{grid-area:vw;padding-top:12px}

.archives .item{padding:20px 0;border-bottom:1px solid var(--loen-border)}
.archives .item:last-child{border-bottom:none}
.archives h2{font-size:16px;margin:0 0 12px;color:var(--loen-text-heading)}
.archives-list{margin:0}
.archives-list li{padding:6px 0;display:flex;align-items:baseline;gap:10px;overflow:hidden}
.archives-list time{flex:none;color:var(--loen-text-secondary)}
.archives-list a{flex:1;min-width:0;color:var(--loen-text);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s var(--loen-ease)}
.archives-list a:hover{color:var(--loen-primary)}
.archives-list a span{color:var(--loen-primary)}
.archives-list .text-muted{flex:none;font-size:12px;color:var(--loen-text-muted)}
.archives .item:hover h2{color:var(--loen-primary)}
/* excerpt_thumb_left：单图在左（grid 布局；旧 order/flex 方案对 grid item 无效，改为交换列与区域；与默认"hd hd/tm img/nt img"镜像：hd 仍全宽在上，img 移到行2-3 左列；480 下由 MQ 覆盖回"标题左图右"=手机端无效） */
.excerpt_thumb_left .excerpt-one{grid-template-columns:minmax(0,23%) minmax(0,1fr);grid-template-areas:"hd hd" "img tm" "img nt" "vw vw"}
/* ui-navtop：正文列较窄（约403px），50% 会占近半导致文本过窄；结合实际布局统一 160px（4:3 → 120px 高，与 768 断点一致） */
.ui-navtop .excerpt-one{grid-template-columns:minmax(0,1fr) 160px}
.ui-navtop.excerpt_thumb_left .excerpt-one{grid-template-columns:160px minmax(0,1fr)}
.cat-leader{overflow:hidden;clear:both;background-color:var(--loen-surface-soft);text-align:center;padding:30px 24px;border-bottom:1px solid var(--loen-border)}
.cat-leader h1{font-size:24px;line-height:1.4;margin:0;padding:0;position:relative}
.cat-leader h1::after{content:'';position:absolute;bottom:-9px;left:50%;margin-left:-11px;width:22px;height:2px;background-color:var(--loen-primary)}
.cat-leader h1 small{display:none}
.cat-leader-desc{overflow:hidden;margin-top:15px;color:var(--loen-text-secondary)}
.excerpt .thumb,.relates a img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:var(--loen-radius-sm)}
/* 覆盖 excerpt-one 缩略图的 HTML height 属性，否则 height 属性会压制 aspect-ratio 导致图片被拉长 */
.excerpt-one .thumb{height:auto}
.search-highlight{color:var(--loen-primary);background:rgba(var(--loen-primary-rgb),.1);border-radius:3px;padding:0 2px}
.excerpt h2 a span,.relates a:hover,.text-muted a:hover{color:var(--loen-primary);border-left-color:var(--loen-primary)}
.excerpt .post-linkto:hover{opacity:1}
.excerpt-multi .focus{flex:0 0 100%;order:1;margin:0 0 10px 0}
.excerpt-multi .note{order:2}
.excerpt-multi .focus a.thumbnail{display:grid;gap:8px;margin-bottom:0}
.excerpt-mode-four .focus a.thumbnail{grid-template-columns:repeat(4,1fr)}
.excerpt-multi .focus .item{width:100%;margin-bottom:0;padding:0}
.excerpt-multi .focus .thumb{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;max-width:none}
.excerpt-multi .focus .thumb-span{margin-right:0}
.excerpt .focus img{transition:transform .45s var(--loen-ease)}
.excerpt .focus .thumbnail:hover img{transform:scale(1.02)}
.focusmo a:hover img{transform:scale(1.04)}
#focusslide{border-radius:var(--loen-radius);overflow:hidden;box-shadow:var(--loen-shadow);margin-bottom:18px}
.carousel-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;color:#fff;font-size:16px;font-weight:400;line-height:1.5;padding:15px 20px;background:transparent}
.carousel-caption a{color:#fff}
.carousel-bg{display:none}

/* ===== 08-single 文章页（article/元信息/面包屑/分享/点赞页） ===== */
.article-nav{display:flex;gap:0;margin-bottom:24px;color:#bbb;border:1px solid var(--loen-border);border-radius:var(--loen-radius);padding:16px 18px}
.article-nav-prev{flex:1;padding-right:18px}
.article-nav-next{flex:1;text-align:right;padding-left:18px}
.article-nav-next span,.article-nav-prev span{display:block;color:var(--loen-text-secondary);font-size:13px;margin-bottom:8px}
.article-nav-next span .icon,.article-nav-prev span .icon{font-size:15px;width:15px;height:15px;position:relative;top:2px}
.article-nav-prev span .icon{margin-right:4px}
.article-nav-next span .icon{margin-left:4px}
.article-nav a{color:var(--loen-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:22px;transition:color .15s var(--loen-ease)}
.article-nav-next a{text-align:right}
.breadcrumbs{padding:8px 0 14px;color:var(--loen-text-secondary)}
.breadcrumbs small{font-family:inherit;font-weight:400;margin:0 2px;color:var(--loen-text-muted);font-size:12px}
.article-meta{margin:0;padding:0 0 8px;color:var(--loen-text-secondary);display:flex;align-items:baseline;flex-wrap:wrap;border-bottom:1px solid var(--loen-border)}
.article-meta .article-meta-author{display:inline;margin-right:16px;padding:0}
.article-meta .article-meta-author .author-name a{color:var(--loen-text)}
.article-meta .article-meta-author .author-name a:hover{color:var(--loen-primary)}
.article-meta .post-from{margin-left:16px}
.article-meta>:last-child{margin-right:0}
.article-meta .post-views{margin-left:auto}
.article-meta .cat-links a:before{content:"# "}
.article-meta a{color:var(--loen-primary)}
/* 更新时间气泡提示（轻量 tooltip 实现，作用于 single 文章页时间元素 .author-time） */
.author-time[data-tip]{position:relative;cursor:help}
.author-time[data-tip]::after{content:attr(data-tip);position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);z-index:1070;width:max-content;max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px;font-size:12px;line-height:1.42857143;white-space:normal;opacity:0;visibility:hidden;transition:opacity .15s;pointer-events:none}
.author-time[data-tip]::before{content:'';position:absolute;top:calc(100% + 1px);left:50%;margin-left:-5px;width:0;height:0;border-width:0 5px 5px;border-style:solid;border-color:transparent transparent #000 transparent;opacity:0;visibility:hidden;transition:opacity .15s;pointer-events:none}
.author-time[data-tip]:hover::after,.author-time[data-tip]:hover::before,.author-time[data-tip]:focus-within::after,.author-time[data-tip]:focus-within::before{opacity:.9;visibility:visible}
.article-header{margin-bottom:6px}
.article-title{font-size:22px;font-weight:700;color:var(--loen-text-heading);margin:0 0 10px;padding:0;line-height:1.35}
.article-title span{color:var(--loen-primary)}
.post-copyright{clear:both;font-size:12px;color:var(--loen-text-secondary);padding:10px 14px;border-radius:0 8px 8px 0;margin-top:14px;border-left:3px solid var(--loen-primary);line-height:1.7;background:var(--loen-border-light)}
.post-copyright a{color:var(--loen-text-secondary);}
.article-tags{text-align:center;margin:24px 0}
.article-tags a{margin:0 8px 8px 0;opacity:.9;display:inline-block;padding:4px 12px;color:var(--loen-primary);border:1px solid rgba(var(--loen-primary-rgb),.25);border-radius:4px;font-size:12px;transition:background-color .15s var(--loen-ease),color .15s var(--loen-ease),border-color .15s var(--loen-ease);background:var(--loen-primary-light)}
.article-tags a:hover{opacity:1;color:#fff;background:var(--loen-primary);border-color:var(--loen-primary)}
.article-paging{text-align:center;font-size:12px;overflow:hidden;clear:both;padding:24px 0;line-height:1}
.article-paging span{display:inline-block;padding:8px 12px;background-color:var(--loen-border);border:1px solid var(--loen-border);border-radius:4px;color:#666}
.article-paging a span{background-color:#fff;color:#666}
.article-paging a:hover span{border-color:#bbb}
.article-author{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;border:1px solid var(--loen-border);border-radius:var(--loen-radius);padding:18px 18px 6px}
.article-author-main{flex:1;min-width:0}
.article-author .avatar{width:50px;height:50px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--loen-border-light);flex-shrink:0}
.article-author h4{margin:2px 0 6px;font-size:14px;font-weight:700;color:var(--loen-text)}
.article-author h4 a{color:var(--loen-text)}
.article-author h4 a:hover{color:var(--loen-primary)}
.article-author-desc,.article-author-desc a{color:var(--loen-text-secondary);line-height:1.6}
.article-author-desc a:hover{color:#444}
.article-social{padding:24px 0;text-align:center;font-size:0}
.article-social .action{margin:0 4px;height:40px;line-height:38px;padding:0 22px;border:1px solid rgba(var(--loen-primary-rgb),.45);background-color:#fff;color:var(--loen-primary);border-radius:8px;font-weight:500;box-shadow:none;transition:background-color .15s var(--loen-ease),color .15s var(--loen-ease),border-color .15s var(--loen-ease)}
.article-social .action-like{background-color:var(--loen-primary);color:#fff;border-color:var(--loen-primary);opacity:.9}
.article-social .post-linkto{color:var(--loen-primary);border:1px solid rgba(var(--loen-primary-rgb),.45);background:#fff}
.article-social .action-like:hover{opacity:1}
.likepage{margin:0;padding:20px 0 4px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.likepage li{position:relative;overflow:hidden;border-radius:var(--loen-radius);box-shadow:var(--loen-shadow);background-color:var(--loen-surface-soft)}
.likepage li img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .3s var(--loen-ease)}
.likepage li:hover img{transform:scale(1.03)}
.likepage a{position:relative;display:block}
.likepage h2{position:absolute;bottom:0;left:0;right:0;margin:0;padding:0 12px;background-color:rgba(0,0,0,.75);color:#fff;font-size:14px;font-weight:400;height:29px;line-height:29px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color .2s ease}
.likepage .post-like{position:absolute;top:10px;right:10px;font-size:12px;background-color:rgba(0,0,0,.7);border-radius:20px;padding:2px 8px 1px;color:#fff;z-index:2}
.likepage .img-count{position:absolute;bottom:29px;left:0;font-size:12px;color:#fff;background-color:rgba(0,0,0,.8);padding:3px 12px 1px;transition:background-color .2s ease}
.likepage .img-count span{margin-right:4px}
.single-attachment .content{margin-right:0}
.single-attachment .image-attachment{background-color:#fff;padding:30px;text-align:center;margin-bottom:15px}
.article-meta a:hover{color:var(--loen-primary-dark)}
.admin-btn,.button,.logout-btn,.page-numbers,.post-edit-link,input[type=button]{transition:color .2s ease,background-color .2s ease,box-shadow .2s ease;cursor:pointer}
.breadcrumbs a{color:var(--loen-text-secondary);transition:var(--loen-transition)}
.breadcrumbs a:hover{color:var(--loen-primary)}
.breadcrumbs .text-muted:last-child{color:var(--loen-text);font-weight:500}
.post-tags a{color:var(--loen-text-secondary);font-size:12px;display:inline}
.post-tags a+a{margin-left:8px}
.post-tags a:hover{color:var(--loen-primary)}
.article-nav a:hover{color:var(--loen-primary)}
.article-meta .icon,.excerpt .views .icon{top:0;vertical-align:-2px}
.article-meta .cat-links a{color:var(--loen-text-secondary);transition:color .15s var(--loen-ease)}
.article-meta .cat-links a:hover{color:var(--loen-primary)}
.article-meta .post-from a{color:var(--loen-text-secondary);transition:color .15s var(--loen-ease)}
.article-meta .post-from a:hover{color:var(--loen-primary)}
.article-social .action:focus,.article-social .action:hover{background-color:var(--loen-primary);color:#fff;border-color:var(--loen-primary)}

/* ===== 09-sidebar 侧栏（sidebar 布局/affix 随动/页面菜单） ===== */
.sidebar{grid-area:sb;position:relative;padding-top:26px;min-width:0}
.pageside{position:absolute;left:215px;top:20px;width:200px;overflow:hidden}
.pagemenu{margin:0 0 16px;padding:0;background-color:#fff;border:1px solid var(--loen-border);border-radius:var(--loen-radius);overflow:hidden}
.pagemenu li a{display:block;padding:12px 24px;font-size:14px;color:var(--loen-text-secondary);border-bottom:1px solid var(--loen-border-light);background-color:#fff;transition:color .15s var(--loen-ease),background-color .15s var(--loen-ease)}
.pagemenu li a:hover{color:var(--loen-primary);background-color:var(--loen-surface-soft)}
.pagemenu li.active a{color:#fff;background-color:var(--loen-primary)}
.pagemenu li:last-child a{border-bottom:none}
.pagemenu li .icon{font-size:14px}
.pagemenu li.on a{background-color:var(--loen-primary-light);font-weight:600;color:var(--loen-primary)}
.pagemenu h4{margin:0}
.pagemenu h4 a{color:var(--loen-text-secondary);background-color:var(--loen-surface-soft);padding-top:15px;cursor:default;border-bottom-color:var(--loen-border)}

/* ===== 10-comments 评论区（表单/列表/回复/提交） ===== */
#postcomments{position:relative;border:1px solid var(--loen-border);border-radius:var(--loen-radius);padding:18px 18px 16px;margin-bottom:20px}
#respond{position:relative;margin-bottom:20px}
#comments{margin-bottom:20px;margin-top:0;}
.comment #respond{padding:12px 0 12px 36px;border-radius:0;margin-bottom:0}
.comment #commentform{margin-bottom:0}
.commentlist.commentnew{padding:24px;background-color:#fff}
.commentnew .c-main{margin-bottom:5px}
.commentlist{padding:0;margin:0}
.c-avatar{width:40px;height:40px;flex-shrink:0}
.c-avatar .avatar{display:block;border-radius:50%;width:40px;height:40px}
.c-main{color:var(--loen-text-secondary);line-height:1.7;position:relative;flex:1;min-width:0;font-size:14px}
.c-main p{margin-bottom:0}
.c-author-row{display:flex;align-items:center;gap:8px}
.c-author-row .c-author{margin-right:auto;min-width:0}
.c-time{font-size:12px;color:var(--loen-text-muted);flex-shrink:0}
.comment-ops{display:none;align-items:center;gap:8px;flex-shrink:0}
.comment:hover>.c-main>.c-author-row>.c-time{display:none}
.comment:hover>.c-main>.c-author-row>.comment-ops{display:inline-flex}
.comment-ops .comment-reply-link{position:static;display:inline-block;font-size:12px;color:var(--loen-primary);padding:1px 10px;border-radius:4px;background-color:var(--loen-primary-light);cursor:pointer;}
.comment-ops .comment-delete{position:static;display:inline-block;font-size:12px;color:var(--loen-text-secondary);cursor:pointer;padding:1px 6px;border:none;background:none;font-family:inherit;line-height:inherit}
.comment-delete:hover{color:var(--loen-error);text-decoration:underline}
.comment .children .c-main p{font-size:13px}
#comments b{font-weight:600;color:var(--loen-primary)}
#comments .pull-right{font-size:12px}
#commentform{margin-bottom:20px}
.comment-user-change,.switch-author{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;display:inline}
.comment-user-change:hover,.switch-author:hover{color:var(--loen-primary)}
.comt-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.comt-avatar{height:40px;width:40px;flex-shrink:0}
.comt-avatar img{border-radius:50%;width:40px;height:40px}
.comt-author{font-size:14px;color:var(--loen-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comt-box{border:1px solid var(--loen-border);border-radius:var(--loen-radius);overflow:hidden}
.comt-area{padding:14px;min-height:92px;line-height:1.7;font-size:14px;width:100%;border:none;outline:0;resize:vertical}
.comt-ctrl{display:flex;align-items:center;justify-content:space-between;gap:10px;background-color:#fff;border-top:1px solid var(--loen-border);min-height:44px;padding:8px 12px}
#submit{border:none;padding:8px 22px;color:#fff;border-radius:6px;background-color:var(--loen-primary);cursor:pointer;transition:background-color .2s var(--loen-ease)}
#submit:hover{background-color:var(--loen-primary-dark)}
#submit:active{transform:none}
#submit:focus-visible{outline:0}
.comt-tips{font-size:12px;color:var(--loen-text-secondary)}
.comt-error{color:var(--loen-error)}
.comt-comterinfo{padding:24px 0 0;color:var(--loen-text-secondary)}
.comt-comterinfo ul{padding:0;margin:0;max-width:320px}
.comt-comterinfo li{margin-bottom:10px;display:flex;align-items:center;gap:10px}
.comt-comterinfo input{flex:1;border:1px solid var(--loen-border);border-radius:6px;height:38px;padding:4px 10px;outline:0;transition:border-color .15s var(--loen-ease),box-shadow .15s var(--loen-ease)}
.comt-comterinfo input:focus{border-color:rgba(var(--loen-primary-rgb),.45);box-shadow:0 0 0 3px rgba(var(--loen-primary-rgb),.15)}
.comt-comterinfo .text-muted{font-size:12px;white-space:nowrap}
#cancel-comment-reply-link{display:none;font-size:12px;color:var(--loen-text-secondary);cursor:pointer;border:none;background:none;padding:0;font-family:inherit;line-height:inherit}
#cancel-comment-reply-link:hover{color:var(--loen-primary)}
.comment #cancel-comment-reply-link{display:inline}
.comment-signarea{border-radius:var(--loen-radius);padding:30px 24px;text-align:center;margin-bottom:20px;background:var(--loen-surface-soft)}
.comment-signarea p{margin:0 0 15px;font-weight:400;font-size:16px}
.woocommerce #respond input#submit{padding:12px 30px;font-size:12px}
.woocommerce #review_form #respond textarea{border:1px solid #ccc}

/* ===== 11-widgets 小工具（widget 组件/热门/标签云/友链） ===== */
.widget .title,.widget h3{position:relative;border-bottom:none;padding:0 0 6px;margin-bottom:8px;font-size:16px;font-weight:600;line-height:22px;color:var(--loen-text-heading)}
.widget{clear:both;position:relative;background:#fff;border-radius:var(--loen-radius);padding:18px 18px 16px;margin-bottom:20px;transition:box-shadow .2s var(--loen-ease)}
.most-comment-posts .title,.relates .title,.sticky .title{border-bottom:none;position:relative;margin:0 0 8px 0;line-height:1.4;font-size:16px;font-weight:600;color:var(--loen-text-heading);padding:0 0 6px 0}

.widget ul:after{display:table;content:"";line-height:0;clear:both}
.widget ul:before{display:table;content:"";line-height:0}
.widget_ssr img{display:block;max-width:100%;border-radius:4px}
.widget_ssr_inner{position:relative;overflow:hidden}
.widget_ssr_empty{display:flex;align-items:center;justify-content:center;min-height:180px;border:1px dashed var(--loen-border,#ddd);border-radius:4px;color:var(--loen-text-secondary);background-color:var(--loen-surface-soft,#f7f8fa);letter-spacing:1px}
.widget ul.widget_tags_inner{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.widget ul.widget_tags_inner::after,.widget ul.widget_tags_inner::before{display:none}
.widget ul.widget_tags_inner li{padding:0;border-bottom:none}
.widget_tags_inner a{display:block;text-align:center;padding:6px 8px;background-color:var(--loen-border-light);color:var(--loen-text-secondary);border:none;border-radius:4px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .15s var(--loen-ease),color .15s var(--loen-ease)}
.widget .widget_tags_inner a:hover{color:#fff;background-color:var(--loen-primary)}
.widget_postlist .items-01 li{padding:0;border-bottom:none}
.widget_postlist .items-01 li+li{border-top:1px solid var(--loen-border-light)}
.widget_postlist .items-01 li a{overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:8px 0;border-radius:8px;transition:var(--loen-transition)}
.widget_postlist .items-01 li.has-thumb a{padding-right:90px;min-height:76px}

.widget_postlist .items-01 .text span{color:var(--loen-primary)}
.widget_postlist .items-01 .thumbnail{position:absolute;right:0;top:8px}
.widget_postlist .items-01 .thumbnail img{width:80px;height:60px}
.widget_postlist .items-01 .text-muted{margin-right:20px;display:block;margin-top:8px;font-size:12px;line-height:1.45;color:var(--loen-text-muted)}
.widget_postlist .items-01 li.has-thumb .text-muted{margin-top:0}
.widget_postlist{overflow:hidden}
.widget_postlist .items-02 li{display:flex;align-items:center;padding:7px 0;border-radius:6px;border-bottom:none}
.widget_postlist .items-02 li a{flex:1;min-width:0;overflow:hidden}
.widget_postlist .items-02 .text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.widget_postlist .items-02 li:hover a{color:var(--loen-primary)}
.widget_links ul{padding:4px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.widget_links ul::before{display:none}
.widget.widget_links ul li{border-bottom:none;padding:0;line-height:32px;align-self:start;min-width:0}
.widget.widget_links ul li a{color:var(--loen-text);transition:color .15s var(--loen-ease);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.widget.widget_links ul li a:hover{color:var(--loen-primary)}
.widget_comments a{display:flex;align-items:flex-start;gap:10px;color:var(--loen-text);transition:color .15s var(--loen-ease)}
.widget_comments a:hover{color:var(--loen-primary)}
.widget_comments .avatar{border-radius:50%;width:36px;height:36px;flex-shrink:0}
.widget_comments .wc-body{flex:1;min-width:0;font-size:13px;line-height:1.6;word-break:break-word}
.widget_comments .wc-body .text-muted{font-size:12px;color:var(--loen-text-muted)}
.widget_comments .wc-body .wc-text{display:block;margin-top:2px;font-size:12px;color:var(--loen-text-muted)}
.widget_archive ul,.widget_categories ul,.widget_meta ul{margin:0;padding:0;color:var(--loen-text-secondary)}


.widget_categories li a{color:var(--loen-text-secondary);transition:color .15s var(--loen-ease),padding-left .15s var(--loen-ease)}
.widget_categories li a:hover{color:var(--loen-primary)}
.widget_categories .children{margin-left:20px;margin-bottom:10px}
.widget_categories .children li{margin-top:0;padding:5px 0}
.widget_categories .postform{margin-top:10px;width:100%;height:38px;border:2px solid var(--loen-border);padding:0 4px;border-radius:var(--loen-radius-sm)}
.widget_rss .rsswidget img{display:none}
.widget_rss li{border-bottom:solid 1px var(--loen-border);overflow:hidden;position:relative;padding:12px 0}
.widget_rss li:hover{background-color:#f8fcfe}
.widget_rss .rss-date{display:block;color:#bbb}
.widget_rss .rssSummary{color:var(--loen-text-secondary)}
.widget_meta li{margin-top:0}

.widget_meta li a{color:var(--loen-text-secondary);transition:color .15s var(--loen-ease),padding-left .15s var(--loen-ease)}
.widget_meta li a:hover{color:var(--loen-primary)}
.widget_text .textwidget{margin-top:0}
.widget_archive .screen-reader-text{display:none}
.widget_archive li{margin-top:0}

.widget_archive li a{color:var(--loen-text-secondary);transition:color .15s var(--loen-ease),padding-left .15s var(--loen-ease)}
.widget_archive li a:hover{color:var(--loen-primary)}
.widget_archive select{margin-top:10px;width:100%;height:38px;border:2px solid var(--loen-border);padding:0 4px;border-radius:var(--loen-radius-sm)}
.widget_calendar{overflow:hidden}
.widget_calendar table{width:100%;text-align:center}
.widget_calendar table caption{padding:12px 0 4px;font-size:16px}
.widget_calendar table #next a,.widget_calendar table #prev a{display:block;padding:0 12px}
.widget_calendar table #prev{text-align:left}
.widget_calendar table #next{text-align:right}
.widget_calendar table tbody td,.widget_calendar table tfoot td{padding:4px 3px;border:1px solid var(--loen-border)}
.widget_calendar table thead th{padding:4px 3px;border:1px solid var(--loen-border);background-color:var(--loen-surface-soft)}
.widget_calendar table tbody td a{display:block;margin:0 3px;background-color:var(--loen-primary);color:#fff;border-radius:6px}
.widget_calendar table tbody td a:hover{background-color:var(--loen-primary-dark)}
.tagcloud{margin-top:0}
.tagcloud a{display:inline-block;margin:4px;padding:4px 12px;background-color:var(--loen-border-light);color:var(--loen-text-secondary);border-radius:20px;transition:background-color .15s var(--loen-ease),color .15s var(--loen-ease)}
.widget_nav_menu ul{margin-left:18px;color:var(--loen-text-secondary)}
.widget_nav_menu li{margin-top:7px}
.widget_nav_menu ul ul{margin-left:20px;margin-bottom:10px}
.widget_nav_menu ul ul li{margin-top:5px}
.widget_nav_menu .icon{margin-right:5px;color:var(--loen-text-secondary)}
.widget_recent_entries li{border-bottom:solid 1px var(--loen-border);overflow:hidden;position:relative;padding:12px 0}
.widget_recent_entries li:hover{background-color:#f8fcfe}
.widget_recent_entries li .post-date{display:block;color:var(--loen-text-secondary)}
.widget_pages ul{margin-left:18px;color:var(--loen-text-secondary)}
.widget_pages li{margin-top:7px}
.widget_textssr a{display:block;transition:color .2s ease}
.widget_textssr a .ue-title{font-size:17px;font-weight:600;margin:12px 0 6px;line-height:1.4;color:inherit}
.widget_textssr a p{color:var(--loen-text-secondary);line-height:1.6}
.widget_textssr a .ue-tag{display:inline-block;padding:4px 14px;color:#fff;font-weight:500}
.widget_textssr a.style01{color:var(--loen-primary)}
.widget_textssr a.style01:hover{color:var(--loen-primary-dark)}
.widget_textssr a.style01 .ue-tag{background-color:var(--loen-primary)}
.widget_textssr a.style02{color:#ff5722}
.widget_textssr a.style02:hover{color:#e64a19}
.widget_textssr a.style02 .ue-tag{background-color:#ff5722}
.widget_textssr a.style03{color:#5cb85c}
.widget_textssr a.style03:hover{color:#3d8b40}
.widget_textssr a.style03 .ue-tag{background-color:#5cb85c}
.widget_textssr a.style04{color:#c35bff}
.widget_textssr a.style04:hover{color:#a73bd6}
.widget_textssr a.style04 .ue-tag{background-color:#c35bff}
.widget_textssr a.style05{color:#61b3e6}
.widget_textssr a.style05:hover{color:#3f8fc0}
.widget_textssr a:hover{color:var(--loen-primary)}
.widget_textssr a.style05 .ue-tag{background-color:#61b3e6}
.ssr{clear:both;text-align:center;border-radius:var(--loen-radius);overflow:hidden;margin:16px 0}
.ssr-content{margin-bottom:20px}
.ssr-content-bom{margin-bottom:25px;margin-top:25px}
.ssr img{display:block;max-width:100%;margin:0 auto}
.most-comment-posts{border:1px solid var(--loen-border);border-radius:var(--loen-radius);padding:18px 18px 16px;margin-bottom:18px}
.most-comment-posts ul{overflow:hidden}
.most-comment-posts li{overflow:hidden;position:relative;display:flex;align-items:center;padding:9px 0 9px 34px;line-height:1.6}
.most-comment-posts li>a:not(.post-like){flex:1;min-width:0;font-size:15px;font-weight:500;color:var(--loen-text);transition:color .15s var(--loen-ease)}
.most-comment-posts li>a:not(.post-like):hover{color:var(--loen-primary)}
.most-comment-posts .post-like{white-space:nowrap;color:var(--loen-text-secondary);}
.plinks{overflow:hidden;margin:0;padding:24px 0 0}
.plinks ul{overflow:hidden;margin:0;padding:0;}
.page-links .article-content:empty{display:none}
.plinks .linkcat>h2{display:none}
.plinks .xoxo li{display:inline-block;margin:0 12px 12px 0}
.plinks .xoxo li a{display:inline-block;padding:8px 18px;border:1px solid var(--loen-border);border-radius:var(--loen-radius-sm);color:var(--loen-text);background-color:#fff;transition:color .15s var(--loen-ease),border-color .15s var(--loen-ease),background-color .15s var(--loen-ease)}
.plinks .xoxo li a:hover{color:var(--loen-primary);border-color:var(--loen-primary);background-color:var(--loen-primary-light)}
.linkcat{margin-bottom:24px}
.linkcat h2{font-size:16px;color:var(--loen-primary);border-bottom:1px solid var(--loen-border-light);padding-bottom:7px;font-weight:600}
.linkcat ul{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0;margin:0}
.linkcat li{height:30px;line-height:30px;overflow:hidden}
.affix{position:fixed;z-index:5}
.flinks{overflow:hidden;padding:4px 0;margin-bottom:20px}

.flinks ul{display:inline-block;margin:0 0 0 -4px}
.flinks ul li{display:inline-block;margin-right:6px;margin-bottom:4px}
.widget .gallery{padding-top:15px;margin-right:-8px}
.widget .gallery .gallery-item{margin-top:0;margin-bottom:5px;padding-right:5px}
.widget .gallery .gallery-item img{height:auto;border:none}
.widget ul li{padding:8px 0;border-bottom:1px solid var(--loen-border-light);transition:background-color .2s ease}
.widget ul li:last-child{border-bottom:none}
.widget ul li:first-child{padding-top:0}
.widget ul li a{color:var(--loen-text);transition:var(--loen-transition)}
.widget ul li a:hover{color:var(--loen-primary)}
.tagcloud a:hover{color:#fff;background-color:var(--loen-primary)}
.widget_ue{border-radius:var(--loen-radius);overflow:hidden;margin:16px 0}
.ssr::before,.widget_ue::before{content:'广告';display:inline-block;padding:2px 8px;background-color:var(--loen-border-light);color:var(--loen-text-secondary);border-radius:var(--loen-radius-sm);margin-bottom:8px}
.widget_archive ul li a::before,.widget_categories ul li a::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--loen-primary-light);margin-right:8px;vertical-align:2px;transition:var(--loen-transition)}
.widget_archive ul li a:hover::before,.widget_categories ul li a:hover::before{background:var(--loen-primary)}
.widget_tag_cloud .tagcloud a,.widget_tags .tagcloud a{display:inline-block;padding:3px 12px;margin:4px 6px 4px 0;border:1px solid var(--loen-border);border-radius:4px;line-height:20px;color:var(--loen-text-secondary);background:#fff;transition:var(--loen-transition)}
.widget_tag_cloud .tagcloud a:hover,.widget_tags .tagcloud a:hover{border-color:var(--loen-primary);color:var(--loen-primary);background:var(--loen-primary-light)}
.footer .flinks{font-size:14px;line-height:2}
.most-comment-posts li .label{position:absolute;left:0;top:11px;width:22px;height:22px;line-height:22px;text-align:center;padding:0;border-radius:7px;font-size:12px;font-weight:600;color:#fff;box-shadow:0 2px 5px rgba(23,32,60,.15)}
.most-comment-posts li a{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:12px}
.most-comment-posts li a:hover{color:var(--loen-primary)}
.most-comment-posts li .text-muted{margin:0;order:1;flex:none;font-size:12px;white-space:nowrap;display:flex;align-items:baseline;gap:8px}
.most-comment-posts li .label-1{background-color:var(--loen-primary)}
.most-comment-posts li .label-2{background-color:rgba(var(--loen-primary-rgb),.72)}
.most-comment-posts li .label-3{background-color:rgba(var(--loen-primary-rgb),.45)}
.most-comment-posts li .label-4,.most-comment-posts li .label-5,.most-comment-posts li:nth-child(n+6) .label{background-color:#d1d5db}
.widget_postlist .items-01 li a .text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45;margin-top:1px}
.widget_pages li a{transition:color .15s var(--loen-ease),padding-left .15s var(--loen-ease)}
.widget_pages li a:hover{color:var(--loen-primary)}
.widget_tags_inner a:hover{background-color:var(--loen-primary);color:#fff}

/* ===== 12-components 通用组件（按钮/搜索框/弹窗/轮播/分享/打赏） ===== */
[hidden],template{display:none}
h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}
h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}
blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.5;color:var(--loen-text-secondary)}
blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}
blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid var(--loen-border);border-left:0}
blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}
blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}
.form-control{display:block;width:100%;height:38px;padding:8px 12px;font-size:14px;line-height:1.5;color:#555;background-color:#fff;border:1px solid var(--loen-border);border-radius:6px;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}
.form-control::-moz-placeholder{color:var(--loen-text-secondary);opacity:1}
.form-control::-webkit-input-placeholder{color:var(--loen-text-secondary)}
.form-control[disabled],.form-control[readonly],textarea.form-control{height:auto}
.checkbox label,.radio label{display:inline;font-weight:400;cursor:pointer}
.checkbox input[type=checkbox],.radio input[type=radio]{float:left;margin-left:-20px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 18px;font-size:14px;font-weight:500;color:var(--loen-text);background:#fff;border:1px solid var(--loen-border);border-radius:var(--loen-radius-sm);cursor:pointer;white-space:nowrap;vertical-align:middle;transition:color .15s var(--loen-ease),background-color .15s var(--loen-ease),border-color .15s var(--loen-ease),box-shadow .2s var(--loen-ease)}
.btn:hover{color:var(--loen-primary);background:var(--loen-primary-light);border-color:rgba(var(--loen-primary-rgb),.45)}
.btn-primary{color:#fff;background:var(--loen-primary);border-color:var(--loen-primary);box-shadow:0 4px 12px rgba(var(--loen-primary-rgb),.22)}
.btn-primary:hover{background:var(--loen-primary-dark);border-color:var(--loen-primary-dark);transform:translateY(-1px)}
.btn-primary:active{background:var(--loen-primary-dark);border-color:var(--loen-primary-dark);transform:scale(.97)}
.btn:focus-visible,.btn-primary:focus-visible{outline:2px solid var(--loen-primary);outline-offset:2px}
.label{position:relative;padding:4px 8px;font-size:12px;line-height:14px;color:#fff;white-space:nowrap;background-color:#999}
.label:empty{display:none}
a.label:focus,a.label:hover{color:#fff;cursor:pointer}
.feed{font-size:12px;display:inline-block;width:48%;color:var(--loen-text-secondary);transition:color .2s ease;cursor:pointer}
.feed i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;position:relative;top:1px}
.feed:active,.feed:hover{opacity:1}
.feed-weibo i{background-color:var(--loen-primary)}
.feed-tqq i{background-color:#1faeff}
.feed-facebook i{background-color:#2365da}
.feed-twitter i{background-color:#00d5e7}
.feed-rss i{background-color:#f1b305}
.feed-weibo:hover{color:var(--loen-primary)}
.feed-tqq:hover{color:#1faeff}
.feed-facebook:hover{color:#2365da}
.feed-twitter:hover{color:#00d5e7}
.feed-rss:hover{color:#f1b305}
.user-welcome{background-color:var(--loen-border-light);border:1px solid var(--loen-border);border-radius:var(--loen-radius-sm);margin:16px;padding:12px;font-size:12px;line-height:1.6;position:relative;overflow:visible;text-align:center}
.pagination{padding:10px 0;text-align:center;margin:30px 0}
.pagination ul{display:inline-block}
.pagination ul>li{display:inline}
.pagination-multi ul>li>a,.pagination-multi ul>li>span{padding:4px 14px;margin:0 1px;font-size:12px}
.pagination ul>.disabled>a,.pagination ul>.disabled>a:focus,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>span{color:var(--loen-text-secondary);background-color:transparent;cursor:default}
.ias_trigger{margin:24px 0}
.ias_trigger a{background-color:var(--loen-border);display:block;line-height:35px;text-align:center;color:var(--loen-text-secondary)}
.ias_trigger a:hover{background-color:#ddd;color:#666}
.pagination-loading{font-size:16px;text-align:center;color:var(--loen-text-secondary);padding:30px 0 40px}
.pagination-loading .icon{top:2px}
.pagenav{overflow:hidden;text-align:center;padding:24px}
.pagenav .current{padding:4px 12px 3px;color:#fff;display:inline-block;background-color:var(--loen-primary);margin:0 1px;border-radius:6px;transition:background-color .15s var(--loen-ease),color .15s var(--loen-ease)}
.pagenav .page-numbers,.pagenav a{padding:4px 12px 3px;color:var(--loen-text-secondary);display:inline-block;background-color:var(--loen-border-light);margin:0 1px;border-radius:6px;transition:background-color .15s var(--loen-ease),color .15s var(--loen-ease)}
.pagenav a:hover{background-color:var(--loen-primary);color:#fff}
.title{position:relative;line-height:22px;font-size:16px;padding:0 0 8px 0;border-bottom:1px solid var(--loen-border);color:var(--loen-text-heading);letter-spacing:.02em}
.title .pull-right{float:right;line-height:32px}
.title small{font-size:16px;color:var(--loen-text-secondary)}
.title-has-right{width:100%}
.post-list > .title{border-bottom:none}
.list-author,.list-time{color:var(--loen-text-muted)}
.thumbnail .item{width:25%;margin-bottom:6px}
.thumbnail .thumb{max-width:240px;width:100%}
.focus .thumbnail .thumb{border-radius:var(--loen-radius-sm);aspect-ratio:4/3;object-fit:cover;width:100%}
.thumb-span{margin-right:6px;display:block;position:relative;overflow:hidden}
.thumb-span::before{content:"";background-color:rgba(0,0,0,0);position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;transition:background-color .2s ease}
.thumb-span:hover::before{background-color:rgba(0,0,0,.4)}
.post-views .post-views-icon{vertical-align:-2px;margin-right:3px}
.post-views-num{font-weight:400}
.post-like{transition:color .15s var(--loen-ease);background:none;border:none}

.post-linkto{color:#fff;opacity:.9;border-radius:8px;transition:opacity .2s var(--loen-ease);background:var(--loen-primary);box-shadow:0 2px 8px rgba(var(--loen-primary-rgb),.22)}
.text-muted .post-linkto:hover,.post-linkto:hover{opacity:1;background-color:var(--loen-primary-dark)}

.share{overflow:hidden;margin-bottom:20px}
.share-dropdown{position:relative;display:inline-block;margin:0 4px;vertical-align:top}
.share-dropdown .action-share{cursor:pointer}
.share-dropdown .action-share .icon{display:inline-block;vertical-align:middle;margin-right:4px}
.share-dropdown .action-share span{vertical-align:middle}
.share-dropdown-menu{display:none;position:absolute;bottom:100%;left:0;background:#fff;border:1px solid var(--loen-border-light);border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.12);padding:6px;z-index:100;width:max-content;min-width:130px;font-size:14px}
.share-dropdown:hover .share-dropdown-menu{display:block}
.share-dropdown-menu .share-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:6px;color:var(--loen-text);transition:background .15s;white-space:nowrap}
.share-dropdown-menu .share-item:hover{background:var(--loen-bg)}
.share-dropdown-menu .share-item .icon{display:block;width:20px;height:20px;flex-shrink:0;color:var(--share-color,#666)}
.share-dropdown-menu .share-item span{line-height:1}
.share-wechat-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999}
.share-wechat-box{background:#fff;border-radius:12px;padding:24px;text-align:center;position:relative;max-width:280px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.share-wechat-box p{margin:0 0 16px;font-size:15px;color:#333}
.share-wechat-close{position:absolute;top:8px;right:14px;font-size:24px;cursor:pointer;color:#999;line-height:1}
.share-wechat-close:hover{color:#333}
.share-wechat-qrcode{width:200px;height:200px;margin:0 auto;background:#f5f5f5;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#999}
.share-wechat-qrcode img,.share-wechat-qrcode svg{max-width:100%;max-height:100%;border-radius:8px}
.rollto{position:fixed;right:20px;bottom:20px;z-index:998;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.rollto.show{opacity:1;visibility:visible}
.rollto a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:rgba(200,200,200,.4);color:#999;backdrop-filter:saturate(2) blur(10px);position:relative;transition:opacity .5s,transform .5s}
.rollto .icon{width:22px;height:22px;font-size:22px}
.comment{padding:16px 0;display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}
.comment .children{flex:0 0 100%;padding:12px 0 0 52px;margin:12px 0 0;border-left:2px solid var(--loen-border)}
.c-author{margin-right:10px;color:var(--loen-text);font-weight:600;font-size:14px}
.c-author .url{color:var(--loen-primary)}
.c-author .url:hover{color:var(--loen-primary-dark);text-decoration:underline}
.c-approved{border-radius:2px;font-size:12px;background-color:var(--loen-border);color:var(--loen-text-secondary);display:inline-block;padding:1px 4px;margin-left:5px}
.comment .children .comment{padding:12px 0;margin-bottom:0;}
.comment .children .comment:first-child{border-top:none}
.comment pre{margin:3px 0 4px;font:12px/20px 'courier new';background:#1f2937;padding:8px 12px;color:#e5e7eb;border:none;border-radius:4px;overflow-x:auto}
.action{position:relative;padding:12px 24px;display:inline-block;border:none;border-radius:2px;color:#fff;box-shadow:0 0 2px rgba(0,0,0,.12);font-size:14px;font-family:inherit;line-height:inherit;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.action:focus,.action:hover{color:#fff}
.action i{margin-right:5px;top:2px;width:14px;display:inline-block}
.action .icon{margin-right:5px}
.action:active{box-shadow:inset 0 2px 2px rgba(0,0,0,.1)}
.page-likes{overflow:hidden}
.readers{display:flex;flex-wrap:wrap;gap:10px;padding:24px 0}
.readers a{width:44px;height:44px;border-radius:8px;overflow:hidden;transition:transform .2s var(--loen-ease),box-shadow .2s var(--loen-ease)}
.readers a:hover{transform:translateY(-2px);box-shadow:var(--loen-shadow-hover)}
.readers .avatar{width:44px;height:44px;display:block;border-radius:8px}
.tagslist{padding:20px 0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);column-gap:20px}
.tagslist li{font-size:12px;min-height:100px;overflow:hidden;color:var(--loen-text-secondary);border-bottom:1px solid var(--loen-border-light);padding:14px 0}
.tagslist .tagname{display:inline-block;margin-right:5px;background-color:var(--loen-surface-soft);color:var(--loen-text-secondary);padding:2px 8px;margin-bottom:6px;border-radius:4px}
.tagslist strong{font-weight:400;color:var(--loen-text-muted)}
.tagslist a{color:var(--loen-text-secondary);margin-right:10px;display:inline-block;transition:color .15s var(--loen-ease)}
.tagslist li a:not(.tagname){display:block;margin:0 0 2px}
.tagslist li .muted{display:block;color:var(--loen-text-muted)}
.tagslist .tagname:hover{color:#fff;background-color:var(--loen-primary)}
.tagslist a:hover{color:var(--loen-primary)}
.e404{text-align:center;padding:40px 0 60px;font-size:16px}
.e404 img{max-width:100%}
.e404 h1{font-size:60px;margin:50px 0 24px}
.user-signin{display:flex;justify-content:center;align-items:center;gap:16px;line-height:22px;font-size:12px;margin:24px 16px;padding:16px}
.user-signin a:hover{color:var(--loen-primary)}
.thumb-span::after{transition:background-color .2s ease}
.action-rewards{background-color:#f7b10d;opacity:.8}
.action-rewards:hover{opacity:1}
/* 微信二维码浮层（原生轻量 popover；渲染到 body 层避免顶部容器 overflow 裁剪；内容来自按钮内 .feed-weixin-hide，行为对齐 xiu 的 Bootstrap popover：hover 显示、navtop 下方 / 常规右侧） */
.qr-popover{position:fixed;z-index:1100;padding:8px;background-color:#fff;border:1px solid var(--loen-border);border-radius:var(--loen-radius-sm);box-shadow:var(--loen-shadow-hover)}
.qr-popover img{display:block;width:128px;height:128px}
.rewards-popover-mask{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:9999;display:none}
.rewards-popover{position:fixed;top:50%;left:50%;margin:-200px 0 0 -275px;width:550px;background-color:#fff;padding:40px 24px 50px;border-radius:4px;overflow:hidden;box-shadow:0 1px 5px rgba(0,0,0,.4);z-index:9999;display:none;text-align:center}
.rewards-popover h3{font-size:16px;font-weight:700;margin:0 16px 30px}
.rewards-popover-item{display:inline-block;width:200px;margin:0 24px}
.rewards-popover-item h4{margin:0 24px 16px;font-size:16px}
.rewards-popover-item img{width:200px;height:200px;background-color:var(--loen-border);border-radius:2px;padding:4px}
.rewards-popover-close{position:absolute;top:0;right:0;padding:16px;font-size:16px;line-height:1;color:var(--loen-text-secondary);cursor:pointer}
.rewards-popover-close:hover{color:#666}
.swiper-container{margin:0 auto;position:relative;overflow:hidden;z-index:1}
.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform,-webkit-transform;box-sizing:content-box;transform:translate3d(0,0,0)}
.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform,-webkit-transform}
.swiper-button-next{position:absolute;top:50%;width:40px;height:60px;line-height:60px;margin-top:-30px;z-index:10;cursor:pointer;font-size:30px;text-align:center;color:#fff;outline:0;opacity:.9;right:-50px;left:auto}
.swiper-button-prev{position:absolute;top:50%;width:40px;height:60px;line-height:60px;margin-top:-30px;z-index:10;cursor:pointer;font-size:30px;text-align:center;color:#fff;outline:0;opacity:.9;left:-50px;right:auto}
.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}
.swiper-container:hover .swiper-button-prev{left:20px}
.swiper-container:hover .swiper-button-next{right:20px}
.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}
.swiper-pagination.swiper-pagination-hidden{opacity:0}
.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-fraction{bottom:auto;left:0;width:100%;top:30px;color:#eee}
.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#fff;opacity:.4}
button.swiper-pagination-bullet{border:none;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}
.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}
.swiper-pagination-bullet-active{opacity:1;background:#fff}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}
.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}
.swiper-zoom-container>canvas,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}
.swiper-zoom-container>img{width:auto;height:auto;max-width:90%;max-height:90%;transition-duration:0s;position:relative}
.swiper-slide-zoomed{cursor:move}
.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}
.scroll-locked{overflow:hidden;scrollbar-gutter:stable}
.article-swiper-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.9);z-index:99999;opacity:1;transition:opacity .2s ease}
.article-swiper-container .swiper-zoom-container{width:fit-content;max-width:calc(100% - 140px);position:relative;height:auto}
.article-swiper-container .swiper-slide{display:flex;justify-content:center;align-items:center}
.article-swiper-container.lightbox-closing{opacity:0}
.lightbox-close{position:absolute;top:16px;right:20px;z-index:20;font-size:32px;line-height:1;color:#fff;opacity:.7;cursor:pointer;transition:opacity .2s}
.lightbox-close:hover{opacity:1}
.article-swiper-container .swiper-pagination-fraction{top:auto;bottom:20px;color:rgba(255,255,255,.8);font-size:14px}
.lightbox-prev,.lightbox-next{position:static;flex:none;margin:0 10px;z-index:20;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;opacity:.75;cursor:pointer;transition:opacity .2s,background .2s;user-select:none}
.lightbox-prev{left:auto}
.lightbox-next{right:auto}
.lightbox-prev:hover,.lightbox-next:hover{opacity:1;background:rgba(0,0,0,.7)}
.lightbox-prev.swiper-button-disabled,.lightbox-next.swiper-button-disabled{opacity:.2;pointer-events:none}
#focusslide.swiper-horizontal>.swiper-pagination-bullets,#focusslide.swiper-pagination-fraction{left:auto;top:auto;right:0;bottom:10px;width:150px}
#focusslide .swiper-pagination{text-align:right;padding-right:10px}
.woomain{padding:30px;position:relative}
.woocommerce-result-count{margin:0;color:var(--loen-text-secondary)}
.woocommerce .woocommerce-breadcrumb{margin-bottom:20px}
.woocommerce ul.products{margin-top:20px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{padding:8px 12px;font-size:12px}
.woocommerce ul.products li.product .button{margin-top:5px}
.woocommerce ul.products li.product .price del{margin-right:10px}
.woocommerce ul.products a.added_to_cart{font-size:12px;margin-left:10px}
.woocommerce .star-rating span{color:#ed7902}
.woocommerce div.product form.cart div.quantity{float:none;margin:0 0 16px}
.woocommerce .quantity .qty{border:1px solid #ccc;width:50px;height:28px}
.woocommerce div.product form.cart .button{float:none;font-size:16px;padding:16px 32px;font-weight:400}
.woocommerce div.product p.price,.woocommerce div.product span.price{margin-bottom:20px}
.woocommerce div.product p.price del,.woocommerce div.product span.price del{margin-right:15px}
.woocommerce div.product p.price ins .woocommerce-Price-currencySymbol,.woocommerce div.product span.price ins .woocommerce-Price-currencySymbol{margin-right:5px}
.woocommerce .product_meta{color:var(--loen-text-secondary)}
.woomain .products h2,.woomain .woocommerce-tabs h2{font-size:19px;font-weight:700;margin:0 0 24px}
#add_payment_method table.cart td.actions .coupon .input-text,.woocommerce-cart table.cart td.actions .coupon .input-text,.woocommerce-checkout table.cart td.actions .coupon .input-text{font-size:12px;padding:1px 8px}
.woocommerce-checkout button.button{font-size:16px;padding:16px 32px}
.woocommerce-tabs .wp-caption{max-width:100%}
.wp-block-gallery{margin-left:0}
.wp-block-image{margin-bottom:16px;overflow:hidden}
.wp-block-image figcaption{font-size:inherit}
.wp-block-quote cite{font-size:12px;color:#bbb}
.wp-block-file{background-color:var(--loen-surface-soft);padding:2em;text-align:center}
.wp-block-file .wp-block-file__button{font-size:inherit;padding:.5em 2em}
.wp-block-file *+.wp-block-file__button{margin-left:2em}
.wp-block-button__link{font-size:inherit;color:#fff;padding:.5em 2em}
.wp-block-button__link:hover{background-color:#505559}
.aligncenter img{margin-left:auto;margin-right:auto}
.icon{display:inline-block;position:relative;top:1px;width:1em;height:1em;fill:currentColor;vertical-align:-.125em}
.m-search{display:none;background:none;border:none}
/* ui-navtop 顶部搜索：放大镜按钮 + 点击展开全宽搜索面板 */
.ui-navtop .m-search{display:flex;align-items:center;justify-content:center;width:44px;height:42px;margin:0 14px 0 8px;line-height:1;color:var(--loen-text);font-size:20px;-webkit-tap-highlight-color:transparent}
.site-search{display:none}
/* ui-navtop 全宽搜索面板：padding 加高留白更从容（对齐 dux 面板呼吸感）；display:none→block 时 animation 自动播放淡入+下滑展开动画（收起为 display:none 硬切，不动 JS 的 toggle 逻辑） */
.ui-navtop .site-search{position:absolute;top:97px;left:0;right:0;z-index:99;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.1);padding:20px 0;animation:loen-search-in .25s ease}
@keyframes loen-search-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.ui-navtop .site-search .search-form{max-width:720px;margin:0 auto}
.ui-navtop .site-search .search-form .form-control{height:46px;padding:0 18px;font-size:15px;border-right:none;border-radius:var(--loen-radius) 0 0 var(--loen-radius)}
.ui-navtop .site-search .search-form .search-submit{flex:0 0 64px;height:46px;font-size:20px;border-radius:0 var(--loen-radius) var(--loen-radius) 0}
/* navtop 展开面板：输入框聚焦去掉 3px 外发光（JS 自动 focus 时 ring 让输入框视觉比按钮膨胀），保留边框变色聚焦提示 */
.ui-navtop .site-search .form-control:focus{box-shadow:none}
/* c3/c2 header 内搜索框（移动端展开自动 focus 同样膨胀）：统一去外发光，保留边框变色 */
.header .search-form .form-control:focus{box-shadow:none}
.user-welcome .avatar{margin:0 auto 8px;width:44px;height:44px;border-radius:50%;position:relative;top:0;display:block}
.user-welcome strong{color:var(--loen-primary);display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}
.user-welcome .text-muted{color:var(--loen-text-secondary);display:block;line-height:1.4}
.user-signin a{color:var(--loen-text-secondary);font-weight:600}
.pagination ul li a:hover{background-color:var(--loen-primary-light);border-color:var(--loen-primary);color:var(--loen-primary)}
.button:active,button:active,input[type=button]:active,input[type=submit]:active{transform:scale(.97)}
.button-primary{border:none;color:#fff;box-shadow:0 2px 8px rgba(var(--loen-primary-rgb),.3);background-color:var(--loen-primary)}
.button-primary:hover,input[type=submit]:hover{background-color:var(--loen-primary-dark)}
.pagination ul li{display:inline-block;margin:0 3px}
.pagination ul li a,.pagination ul li span{display:inline-block;padding:8px 14px;border:1px solid var(--loen-border);border-radius:var(--loen-radius-sm);color:var(--loen-text-secondary);transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.pagination ul li.active span{border-color:var(--loen-primary);color:#fff;background-color:var(--loen-primary)}
.pagination ul li.next-page>a,.pagination ul li.prev-page>a{background-color:#fff;color:var(--loen-text-secondary);border:1px solid var(--loen-border)}
.pagination ul li.next-page>a:hover,.pagination ul li.prev-page>a:hover{background-color:var(--loen-primary-light);color:var(--loen-primary);border-color:var(--loen-primary)}
.search-form{position:relative;display:flex;align-items:stretch}
.search-form .form-control{flex:1;min-width:0;height:38px;padding:8px 12px;border:1px solid var(--loen-border);border-right:none;border-radius:var(--loen-radius) 0 0 var(--loen-radius);background-color:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.search-form .form-control:focus{border-color:rgba(var(--loen-primary-rgb),.45);box-shadow:0 0 0 3px rgba(var(--loen-primary-rgb),.15);outline:0}
.search-form .search-submit{flex:0 0 44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--loen-primary);border-left:none;border-radius:0 var(--loen-radius) var(--loen-radius) 0;background-color:var(--loen-primary);color:#fff;font-size:18px}
.user-welcome .user-actions{margin-top:12px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.user-welcome .user-actions .admin-btn{display:inline-block;padding:8px 16px;border-radius:var(--loen-radius-sm);font-weight:500;transition:color .2s ease,background-color .2s ease;flex:none;min-width:72px;box-sizing:border-box;background:var(--loen-primary);color:#fff}
.user-welcome .user-actions .logout-btn{display:inline-block;padding:8px 16px;border-radius:var(--loen-radius-sm);font-weight:500;transition:color .2s ease,background-color .2s ease;flex:none;min-width:72px;box-sizing:border-box;background-color:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}
.user-welcome .user-actions .admin-btn:hover{background:var(--loen-primary-dark)}
.user-welcome .user-actions .logout-btn:hover{background-color:#e5e7eb;color:var(--loen-text)}
.post-like .icon{vertical-align:-2px}
.post-like:hover{color:var(--loen-primary)}
h1.title{margin:0;padding-left:0;font-size:24px;font-weight:700;line-height:1.4}
/* 独立页面标题：文字等宽主题色横线（灰线2px与蓝线同厚；8px空隙移入span内使文字位置与原始一致；margin-bottom:-2px仅下移蓝线2px与灰线完全重叠） */
.page h1.title{padding-bottom:0;border-bottom-width:2px}
.title-line{display:inline-block;vertical-align:bottom;margin-bottom:-2px;padding-bottom:8px;border-bottom:2px solid var(--loen-primary)}
.feeds{padding:14px 16px;background-color:transparent;border-bottom:1px solid var(--loen-border);margin-bottom:10px;overflow:hidden;line-height:28px}
#focusslide .swiper-slide a{position:relative;display:block}
#focusslide .swiper-slide img{width:100%;height:100%;object-fit:cover;display:block}
#focusslide .swiper-slide a::before{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,0) 100%);z-index:1;pointer-events:none}

/* toast 反馈组件（点赞/复制链接等 AJAX 操作的即时提示；右下角，避开移动端底部导航 fixnav；纯文字无图标） */
.loen-toast-wrap{position:fixed;right:12px;bottom:6em;z-index:1090;display:flex;flex-direction:column;align-items:flex-end;gap:.6em;max-width:320px;pointer-events:none}
.loen-toast{width:max-content;min-width:120px;max-width:320px;padding:12px 18px;border-radius:8px;color:#fff;font-size:13px;line-height:1.6;text-align:center;box-shadow:-3px 3px 6px rgba(0,0,0,.12);transform:translateX(110%);opacity:0;visibility:hidden;transition:transform .3s,opacity .3s,visibility .3s;backdrop-filter:saturate(5) blur(20px)}
.loen-toast.is-success{background:linear-gradient(90deg,rgba(15,147,249,.72),rgba(61,189,249,.82))}
.loen-toast.is-warning{background:linear-gradient(90deg,rgba(253,170,71,.72),rgba(247,154,13,.82))}
.loen-toast.is-danger{background:linear-gradient(90deg,rgba(253,69,28,.72),rgba(251,110,75,.82))}
.loen-toast.in{transform:translateX(0);opacity:1;visibility:visible}

/* ===== 14-utilities 工具类（pull/text-muted/hide/clearfix） ===== */
.text-center{text-align:center}
.text-muted a{color:var(--loen-text-secondary)}
.pull-right{float:right}
.hide{display:none}


/* ===== 13-responsive 响应式（全部 @media，块内顺序保持） ===== */

@media (max-width:1024px){
.ui-navtop .topbar{display:none}
.ui-navtop .feeds,.ui-navtop .slinks,.ui-navtop .user-signin,.ui-navtop .user-welcome{display:none}
.ui-navtop{margin-top:61px}
.ui-navtop .site-search{top:61px}
.container{grid-template-columns:170px minmax(0,1fr);grid-template-areas:"hd ct" "ft ft"}
.ui-c2 .container{grid-template-columns:170px minmax(0,1fr);grid-template-areas:"hd ct" "ft ft";min-height:100vh;column-gap:20px}
.container .footer{padding-left:194px}
.pageside{left:180px}
.ui-c2.page-template-pagehasmenu .content,.ui-c3.page-template-pagehasmenu .content{margin-left:370px}
.ui-navtop > div.container{min-height:calc(100vh - 61px);margin-bottom:0;grid-template-columns:minmax(0,1fr);grid-template-areas:"ct"}
.relates a img,.sticky img,.ui-navtop .relates a img,.ui-navtop .sticky img{height:130px}
/* 列表缩略图缩档：参照 xiu ≤1024 高140px → 4:3 列宽150px（含 ui-navtop 正文全宽场景） */
.excerpt-one{grid-template-columns:minmax(0,1fr) 150px}
.excerpt_thumb_left .excerpt-one{grid-template-columns:150px minmax(0,1fr)}
.ui-navtop .excerpt-one{grid-template-columns:minmax(0,1fr) 150px}
.ui-navtop.excerpt_thumb_left .excerpt-one{grid-template-columns:150px minmax(0,1fr)}
.sidebar{display:none}
.tagslist{padding:14px 0;grid-template-columns:repeat(2,1fr);column-gap:16px}
.header{width:170px}
.logo{height:101px}
.logo a{height:100px}
.logo a:not(:has(img)){line-height:100px}
.ui-navtop .logo{height:44px}
.feeds a{margin-right:2px}
.post-tags{display:none}
.ui-navtop .focusmo a{height:130px}
.ui-navtop .focusmo li.large a{height:270px}
.user-welcome{margin:12px;padding:8px}
.user-welcome .avatar{width:40px;height:40px}
.ui-navtop .nav>li>a{padding:0 12px;font-size:14px}
}

@media (max-width:768px){
.article-content{font-size:15px;line-height:1.7}
.lightbox-prev,.lightbox-next{display:none}
.lightbox-close{top:10px;right:12px;font-size:26px}
.container{grid-template-columns:1fr;grid-template-areas:none;min-height:0;row-gap:0}
.ui-c2 .container{grid-template-columns:1fr;grid-template-areas:none;min-height:0}
.ui-navtop > div.container{grid-template-columns:1fr;grid-template-areas:none;min-height:0}
.ui-navtop .content-wrap,.ui-navtop .sidebar{grid-area:auto}
.content,.content-wrap,.footer,.sidebar{grid-area:auto}
.article-content .wp-block-table,.article-content figure{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.article-content .wp-block-table table{width:auto;min-width:100%;max-width:none}
.ui-navtop.page-template-pagehasmenu > div.container{padding:0}
.pageside{display:none}
.ui-c2.page-template-pagehasmenu .content,.ui-c3.page-template-pagehasmenu .content{margin-left:0}
.ui-navtop.page-template-pagehasmenu > div.container .content{border-radius:0;padding:24px}
.title{padding-bottom:4px}
.relates a img{height:120px}
.sticky img{height:80px;width:100%}
.ui-navtop .relates a img,.ui-navtop .sticky img{height:120px}
.content{margin-top:0;padding-top:14px;min-height:auto}
.pagination{padding:6px 0;margin:20px 0}
.pagination ul{display:flex;flex-wrap:wrap;justify-content:center}
.pagination ul li{margin:2px}
.pagination ul li a,.pagination ul li span{padding:6px 10px}
.header .search-form{display:none;margin:10px 15px;background-color:#fff}
.header.search-open .search-form{display:flex;position:fixed;top:42px;left:0;right:0;z-index:1000;margin:0;padding:10px 12px;background:#fff;border-bottom:1px solid var(--loen-border-light);box-shadow:0 4px 12px rgba(0,0,0,.06)}
.ui-navtop .header{position:relative;top:0}
.ui-navtop .header-inner{display:block;height:auto}
.ui-navtop .header-main{display:block;height:auto}
.ui-navtop .site-nav{margin-left:0}
.breadcrumbs{display:none}
.flinks{padding:2px 0;margin-bottom:8px}
.header{position:relative;width:100%;height:auto;bottom:auto;left:0;border-right:none;overflow:visible;min-width:0}
.logo{height:44px;line-height:44px;text-align:center;background-color:var(--loen-primary);font-size:18px;overflow:hidden}
.ui-navtop .logo{height:42px;line-height:43px;background-color:var(--loen-primary);overflow:hidden}
.logo a,.logo a:not(:has(img)){height:44px;line-height:44px;font-size:18px;font-weight:600;padding:0 54px;text-align:center;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;justify-content:center}
.logo a:active,.logo a:hover{color:#fff}
.ui-navtop .logo a{color:#fff;height:42px;line-height:42px;border-radius:0}
/* 移动端：只有 PC Logo 时隐藏图片、显示文字；只有移动 Logo / 两图都有(picture)时显示图片、隐藏文字 */
.logo a img.logo-img-pc-only{display:none}
/* 不写 display:block：navtop 布局由 .ui-navtop .logo a img 提供(display:block)，非 navtop 布局由 .logo a 的 display:flex 将 img blockify，避免同特异性重复覆盖 */
/* 移动端重置 navtop 的 max-width/max-height：该约束是 PC 顶栏(logo区窄)的遗留；移动端三种布局 header 同为全宽顶栏，应显示原始尺寸保持一致 */
.ui-navtop .logo a img{max-width:none;max-height:none}
.logo a img.logo-img-mobile-only,.logo a img.logo-img-both{margin:8px auto;width:auto}
.logo a:has(.logo-img-pc-only):not(:has(.logo-img-mobile-only)):not(:has(.logo-img-both)) .logo-text{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}
.logo a:has(.logo-img-mobile-only):not(:has(.logo-img-pc-only)):not(:has(.logo-img-both)) .logo-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav::after{height:1px;content:'';position:absolute;left:0;bottom:0;right:0;background-color:var(--loen-border);overflow:hidden}

.ui-navtop .nav>li>a{display:block;height:var(--nav-h,42px);line-height:var(--nav-h,42px)}
.nav .icon{margin-right:2px;display:none}
.nav li.current-menu-item>a:after,.nav li.current-menu-parent>a:after,.nav li.current-post-ancestor>a:after,.nav li.current_page_item>a:after{display:none}
.nav li.navmore .icon{top:0;display:inline-block;font-size:18px;line-height:var(--nav-h,42px);color:var(--loen-text);margin:0}
.nav li:hover>ul,.nav li:focus-within>ul{display:none;opacity:0;visibility:hidden}
.feeds,.slinks{display:none}
.footer{text-align:center;padding:18px 16px 20px;border-radius:0}
.footer .footer-info{font-size:13px}
.footer .footer-copyright{font-size:13px}
.footer .flinks{font-size:13px;line-height:1.8}
.footer .footer-disclaimer{margin-bottom:6px}
.container .footer{padding-left:16px}
.ui-navtop{margin-top:0}
.user-welcome{display:none}
.linkcat h2{font-size:14px}
.archives .item{padding:16px 0}
.archives h2{margin-bottom:10px;font-size:15px}
/* 移动端非 navtop：放大镜撑高点击区至 42px 并在 logo 栏（42px）内垂直居中（top:0，与导航高度统一）。.m-search 已统一为 button 包裹 svg，flex + height 撑高并居中图标 */
.m-search{display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:0;width:50px;height:42px;text-align:center;padding:0;color:#fff;font-size:18px;font-weight:400;z-index:9;cursor:pointer;-webkit-tap-highlight-color:transparent}
/* 移动端 navtop：放大镜撑高点击区至 42px（触控目标，图标 flex 居中；logo 栏内垂直居中 top:0，与菜单/汉堡 42px 统一） */
.ui-navtop .m-search{position:absolute;right:0;top:0;width:50px;margin:0;padding:0;color:#fff;font-size:18px}
/* 移动端搜索框开关分流：search_nav_m 关闭时隐藏 m-search（搜索按钮），开启时显示（覆盖 search_not 的隐藏） */
body:not(.search_m_on) .header .m-search{display:none}
.search_m_on .header .m-search{display:flex}
.ui-navtop .site-search{top:82px;padding:10px 0}
/* 移动端：无 topbar 时占位归零（同特异性后置覆盖 no-topbar 桌面规则） */
.ui-navtop.no-topbar{margin-top:0}
.ui-navtop.no-topbar .site-search{top:82px}
.ui-navtop.no-topbar > div.container{min-height:0}
.ui-navtop .site-search .search-form{display:flex;max-width:none;margin:0 12px}
.ui-navtop .site-search .search-form .form-control{height:40px;padding:0 14px;font-size:14px}
.ui-navtop .site-search .search-form .search-submit{flex:0 0 48px;height:40px;font-size:16px}
.m-sidebar-on .sidebar{margin-left:0;width:100%;clear:both;padding:12px 12px;display:block}
.widget.affix{position:relative;width:auto;top:0}
.widget{margin-bottom:24px;padding:16px}
.widget_ssr img{width:100%}
.most-comment-posts{display:none}
.m-home-most .most-comment-posts{display:block}
.m-home-most .most-comment-posts p{display:none}
.m-home-most .most-comment-posts li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;position:relative;padding:4px 0 4px 24px;line-height:1.4}
.m-home-most .most-comment-posts .label{width:18px;height:18px;line-height:18px;padding:0 0;text-align:center;overflow:hidden;position:absolute;top:50%;transform:translateY(-50%);left:0;border-radius:2px}
.focusmo{display:none}
.sticky{display:none}
.sticky-m .sticky{display:block}
.action{font-size:12px;padding:8px 16px}
.article-social .action{margin:0 3px}
.rollto{right:12px;bottom:64px}
.e404 h1{font-size:38px}
.sticky li{margin-bottom:0;margin-top:10px;vertical-align:top;height:auto;line-height:1.4}
/* 移动端：置顶推荐/热门排行模块间距与卡片间距统一为 14px（覆盖全局 20px） */
.sticky,.most-comment-posts{margin-bottom:14px}
.relates ul{line-height:1.6}
.relates-model-text li{margin-bottom:0;padding:5px 8px}
.relates-model-text li::before{width:5px;height:5px;margin-right:8px}
.relates-model-thumb a{font-size:12px}
.relates-model-thumb li{width:100%;padding-left:90px;margin:0;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--loen-border)}
.relates-model-thumb li a{font-size:14px}
.relates-model-thumb li .thumb{float:left;width:80px;max-width:80px;height:60px;margin-left:-90px;margin-bottom:0}
.likepage{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 0 0}
.excerpt .views{font-size:12px}
.article-meta{font-size:12px}
.action-like .icon,.post-like .icon{font-size:14px;margin-right:4px}
.article-nav{gap:12px}
.article-nav-next,.article-nav-prev{width:auto;margin:0;padding:0;flex:1}
.article-nav-next span,.article-nav-prev span{margin-right:0;margin-bottom:6px}
.article-nav a{margin-left:0;margin-right:0}
.article-nav-next a{margin-left:0}
.cat-leader{padding:24px 16px;margin:0 -12px}
.cat-leader h1{font-size:16px;font-weight:700}
.cat-leader h1::after{width:16px;margin-left:-8px;bottom:-5px}
.cat-leader-desc{font-size:12px;line-height:1.4}
.rewards-popover{width:300px;margin-left:-150px;margin-top:-125px;padding:30px 12px}
.rewards-popover h3{margin:0 4px 16px}
.rewards-popover-item{width:125px;margin:0 4px}
.rewards-popover-item h4{font-size:12px;margin:0 0 12px}
.rewards-popover-item img{width:125px;height:125px}
.swiper-zoom-container>img{max-width:calc(100% - 10px);max-height:calc(100% - 10px)}
#focusslide.swiper-horizontal>.swiper-pagination-bullets,#focusslide.swiper-pagination-fraction{bottom:6px}
#focusslide .swiper-button-next,#focusslide .swiper-button-prev{display:none}
.focusslide_s_m #focusslide{display:block}
.single-attachment .image-attachment{padding:12px 0}
.woomain{padding:0}
.fixnav-m-on{margin-bottom:56px}
body > div.container{padding:0;max-width:100%}
.nav>li{display:inline-block;position:relative;z-index:2}
.nav>li>a:hover{background-color:transparent}
.nav li.navmore{position:absolute;right:0;top:0;width:50px;height:var(--nav-h);text-align:center;z-index:9;cursor:pointer;background-color:transparent;border:none;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
.nav li.navmore .navmore-btn{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:none;background:0 0;padding:0;color:inherit;transition:none;-webkit-tap-highlight-color:transparent}
.nav li.navmore .navmore-btn:active,.nav li.navmore .navmore-btn:focus,.nav li.navmore .navmore-btn:hover{outline:0}
.nav>li.current-menu-item>a::before,.nav>li.current-menu-parent>a::before,.nav>li.current-post-ancestor>a::before,.nav>li.current_page_item>a::before{content:'';position:absolute;left:50%;bottom:0;width:24px;height:2px;background:currentColor;border-radius:2px;transform:translateX(-50%)}
.navshows .nav>li.current-menu-item>a::before,.navshows .nav>li.current-menu-parent>a::before,.navshows .nav>li.current-post-ancestor>a::before,.navshows .nav>li.current_page_item>a::before{display:none}
.user-signin{display:none}

.navshows .nav{position:fixed;left:0;top:44px;right:0;bottom:0;height:calc(100vh - 44px);padding:0 10px 42px 10px;overflow-y:auto;background-color:#fff;z-index:999;border-bottom:none;white-space:normal;max-height:calc(100vh - 44px);display:block}
/* 展开态首菜单与收起态全向重合（三布局）：768 logo 高默认44/ui-navtop 42；收起文字默认22px；有 topbar 再+36px */
.navshows.ui-navtop .nav{top:42px;height:calc(100vh - 42px);max-height:calc(100vh - 42px)}
.navshows.ui-navtop:not(.no-topbar) .nav{top:42px;height:calc(100vh - 42px);max-height:calc(100vh - 42px)}
.navshows .nav>li:not(.navmore){display:block;width:100%;padding:0;border-bottom:1px solid var(--loen-border-light);text-align:left}
.navshows .nav>li:not(.navmore)>a{display:block;padding:11px 12px 9px;line-height:20px;height:auto;font-size:14px;color:var(--loen-text);border-bottom:none;transition:color .15s var(--loen-ease);-webkit-tap-highlight-color:transparent}
.navshows .nav li.menu-item-has-children>a::after{display:none}
.navshows .nav>li>a:hover{color:var(--loen-primary);border-bottom:none;background-color:transparent}
.navshows .nav li.current-menu-item>a,.navshows .nav li.current-menu-parent>a,.navshows .nav li.current_page_item>a{color:var(--loen-primary);box-shadow:none;border-bottom:none;position:relative}
.navshows .nav li ul{display:block;position:relative;left:0;border:none;background-color:transparent;min-width:0;width:100%;padding:0;box-shadow:none;border-radius:0;opacity:1;visibility:visible;transform:none}
.navshows .nav li ul li{display:block;border-bottom:none;margin:0;padding:0}
.navshows .nav li ul li a{display:block;padding:6px 16px 6px 32px;font-size:14px;color:var(--loen-text-secondary);transition:color .15s var(--loen-ease);line-height:20px;-webkit-tap-highlight-color:transparent}
.navshows .nav li ul li ul li a{padding:6px 16px 6px 48px;font-size:14px;color:var(--loen-text-secondary);line-height:18px}
.navshows .nav li ul li a:hover{color:var(--loen-primary);background-color:transparent}
.navshows .nav li.navmore{z-index:10}
/* 移动端：菜单展开后点搜索按钮，复用已有的 site-search / header 内联搜索框固定在菜单面板顶部，菜单面板下移让位 */
/* 注意：不覆盖 form-control 高度，沿用各布局原有高度（ui-navtop 40px / 三栏双栏 38px），保证展开前后一致 */
.navshows .header > .search-form,.navshows .header > .site-search{display:none}
/* 菜单展开后点放大镜，搜索框作为菜单面板头部（白底+圆角卡片+淡入下滑动画），菜单面板下移让位不遮挡 */
/* 覆盖 L1143 的 display:none 需 !important（同时压过展开瞬间 JS 注入的 inline:none）；z-index 高于 .nav 面板（999） */
.navshows.search_m_open .site-search,.navshows.search_m_open .header > .search-form{display:flex !important;position:fixed;left:0;right:0;top:42px;z-index:1000;margin:0;padding:10px 12px;background:#fff;border-bottom:1px solid var(--loen-border-light);box-shadow:0 4px 12px rgba(0,0,0,.06)}
.navshows.search_m_open .site-search{animation:none}
.navshows.search_m_open .site-search .search-form{flex:1 1 100%;margin:0 auto;max-width:520px}
.navshows.search_m_open .header > .search-form{margin:10px 12px}
.navshows.search_m_open .ui-navtop .nav{top:126px;height:calc(100vh - 126px);min-height:calc(100vh - 126px);max-height:calc(100vh - 126px);transition:top .25s ease}
.excerpt{padding:12px;margin-bottom:14px;border-radius:10px}
.article-content table{display:block;overflow-x:auto}
.article-content .cta-button{display:block;text-align:center}
.fixnav{display:flex;border-top:1px solid var(--loen-border);padding-bottom:env(safe-area-inset-bottom)}
.excerpt h2{font-size:16px}
.excerpt-one .note{padding-right:0;font-size:13px;line-height:22px;-webkit-line-clamp:3}
.article-title{font-size:18px}
#postcomments,#respond{padding:18px}
.c-avatar{width:36px;height:36px}
.c-avatar .avatar{width:36px;height:36px}
.most-comment-posts .label{top:50%;transform:translateY(-50%)}
.most-comment-posts li a{padding-right:8px}
.fixnav a{color:var(--loen-text)}
.fixnav a.active{color:var(--loen-primary)}
/* 列表缩略图缩档：参照 xiu ≤879 高105px → 4:3 列宽140px */
.excerpt-one{grid-template-columns:minmax(0,1fr) 140px;column-gap:12px}
.excerpt_thumb_left .excerpt-one{grid-template-columns:140px minmax(0,1fr)}
/* ui-navtop 平板下正文全宽：与普通布局统一 140px 列宽（4:3 → 105px 高） */
.ui-navtop .excerpt-one{grid-template-columns:minmax(0,1fr) 140px}
.ui-navtop.excerpt_thumb_left .excerpt-one{grid-template-columns:140px minmax(0,1fr)}
.nav{--nav-h:42px;padding:0 50px 0 10px;font-size:14px;height:var(--nav-h);line-height:var(--nav-h);background-color:#fff;overflow:hidden;max-height:var(--nav-h);transition:none;border-bottom:none;display:flex;align-items:center;white-space:nowrap;width:100%;min-width:0}
.nav>li:not(.navmore){flex:0 1 auto;min-width:0}
body:not(.navshows) .nav>li:not(.navmore):nth-child(n+5){display:none}
.nav>li>a{padding:0 12px;height:var(--nav-h);line-height:var(--nav-h);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;border-radius:0;border-left:none;transition:color .2s ease;-webkit-tap-highlight-color:transparent}
.nav li.menu-item-has-children>a::after{display:none}
.nav li ul{padding:4px 0;border-radius:0 6px 6px 0;box-shadow:rgba(0,0,0,.08) 2px 2px 8px;border:2px solid var(--loen-border);border-left:none}
.nav li ul>li>a{padding:8px 12px 8px 24px;line-height:var(--nav-h);position:relative;transition:.15s}
.feeds{padding:16px 0 16px 4px;background-color:#f2f4f8}
.header .search-form .form-control{font-size:14px;border-radius:var(--loen-radius) 0 0 var(--loen-radius)}
.header .search-form .search-submit{border-radius:0 var(--loen-radius) var(--loen-radius) 0}
#focusslide{border-radius:0;box-shadow:none;display:none;margin-bottom:14px}
#focusslide .swiper-slide a{display:inline;position:static}
.carousel-caption{position:static;color:#1f2937;z-index:auto;left:auto;right:auto;bottom:auto;font-size:14px;padding:0 12px;line-height:1.6}
.carousel-caption a{font-weight:400;color:#444}
.carousel-bg{display:block;height:30px}
/* 移动端导航浮动：.nav-float-m 时 header 固定顶部（后台 导航→移动端导航浮动 开关驱动）
   三栏/双栏 header 高 84px、navtop 高 85px，body padding-top 补偿避免内容被遮挡 */
.nav-float-m{padding-top:84px}
.nav-float-m .header{position:fixed;top:0;left:0;right:0;z-index:99;background-color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.nav-float-m.ui-navtop{padding-top:85px}
}

@media (max-width:480px){
.article-nav{margin-bottom:10px;font-size:13px}
.relates-model-text ul{margin-left:0}
.relates a img,.ui-navtop .relates a img{height:70px}
h1.title{font-size:18px}
.title .pull-right{margin-top:2px;line-height:14px;font-size:12px}
.container{row-gap:0}
.content{padding-top:15px}
.excerpt .time{display:none}
.excerpt .note{display:none}
.excerpt h2{line-height:1.4}
.excerpt header .-sticky{top:3px}
.thumbnail .item{margin-bottom:3px}
.thumb-span{margin-right:3px}
.excerpt header small{display:none}
.excerpt-one{grid-template-columns:1fr 26%;grid-template-rows:1fr auto;grid-template-areas:"hd img" "vw img";column-gap:8px}
/* 左图选项对手机端无效（后台选项已注明）：恢复标题左图右 */
.excerpt_thumb_left .excerpt-one{grid-template-columns:1fr 26%;grid-template-areas:"hd img" "vw img"}
/* ui-navtop 移动端与全局一致（覆盖上方 768 的 25%） */
.ui-navtop .excerpt-one{grid-template-columns:1fr 26%}
.ui-navtop.excerpt_thumb_left .excerpt-one{grid-template-columns:1fr 26%}
.excerpt-one header{margin-bottom:0}
.excerpt-one .note{grid-area:note;width:auto;display:none}
.excerpt-one .focus{margin:0}
.article-content h2{font-size:18px}
.excerpt_thumb_left .excerpt-one .focus{margin-top:4px}
#respond{overflow:hidden}
.comt-avatar{margin-right:5px}
.comt-avatar img{width:36px;height:36px}
.comt-comterinfo .text-muted{display:none}
.c-time{margin-left:10px}
.comment-ops{display:inline-flex;margin-left:10px}
.comment-ops .comment-delete,.comment-ops .comment-reply-link{position:static;display:inline-block}
.c-main{padding-right:0}
.comment.depth-1>.children>.comment{margin-left:36px}
.e404{padding:24px 0}
.e404 h1{font-size:30px}
.article-author{padding:14px 14px 6px;gap:14px}
.article-author h4{font-size:13px}
.logo{height:42px;line-height:42px}
.logo a{height:42px;line-height:42px;padding:0 46px}
.nav{padding-right:50px;font-size:0}
.nav>li>a{padding:0 12px}
.nav li.menu-item-has-children>a{padding-right:8px}
.navshows .nav{top:42px;height:calc(100vh - 42px);max-height:calc(100vh - 42px);min-height:calc(100vh - 42px)}
.excerpt-mode-four .focus a.thumbnail,.excerpt-multi .focus a.thumbnail{grid-template-columns:repeat(4,1fr);gap:4px}
}

@media (prefers-reduced-motion:reduce){
*,::after,::before{transition-duration:0s;animation-duration:0s}
}

@media print{
.footer,.header,.rollto,.sidebar{display:none}
}
