/* Jace Pan V3.1 — unified engineering journal theme. Replace previous CSS in full. */
:root{color-scheme:light dark;--jp-bg:#f3f5f7;--jp-card:#fff;--jp-text:#202a35;--jp-muted:#697584;--jp-line:#e2e7ec;--jp-accent:#356b91;--jp-soft:#eaf1f6;--jp-shadow:0 3px 14px rgba(24,39,55,.04)}
@media(prefers-color-scheme:dark){:root{--jp-bg:#20252b;--jp-card:#2a3139;--jp-text:#e7ecf1;--jp-muted:#a2adba;--jp-line:#3b4550;--jp-accent:#96bedb;--jp-soft:#333f4c;--jp-shadow:0 3px 14px rgba(0,0,0,.09)}}
html{scroll-behavior:smooth}body{margin:0;padding:0;background:var(--jp-bg);color:var(--jp-text);font:15px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}body *{box-sizing:border-box}a{color:var(--jp-accent);text-decoration:none}a:hover{color:var(--jp-text);text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--jp-accent);outline-offset:4px}
.jp-navbar{background:var(--jp-card);border-bottom:1px solid var(--jp-line)}.jp-navbar-inner{max-width:1120px;min-height:68px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:12px 0}.jp-brand{display:flex;gap:12px;align-items:center;color:var(--jp-text)}.jp-brand:hover{text-decoration:none}.jp-brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#365a76;color:#fff;font-size:15px;font-weight:700}.jp-brand-text strong{display:block;font-size:17px;line-height:1.3}.jp-brand-text small{display:block;font-size:10px;color:var(--jp-muted);letter-spacing:.04em}.jp-nav{display:flex;gap:26px;flex-wrap:wrap}.jp-nav a{color:var(--jp-muted);font-size:13px}.jp-nav a:hover{color:var(--jp-accent)}
.jp-intro{max-width:1120px;margin:28px auto 0;padding:30px 34px;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:34px;align-items:center;background:var(--jp-card);border:1px solid var(--jp-line);border-radius:12px;box-shadow:var(--jp-shadow)}.jp-eyebrow{margin:0 0 10px;color:var(--jp-accent);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.jp-intro h1{text-wrap:balance;font-size:30px;line-height:1.4;letter-spacing:-.025em;margin:0 0 12px;color:var(--jp-text)}.jp-intro-desc{word-break:normal;margin:0;color:var(--jp-muted);font-size:14px;line-height:1.9;max-width:620px}.jp-focus{border-left:1px solid var(--jp-line);padding-left:28px}.jp-focus p{font-size:11px;margin:0 0 12px;color:var(--jp-muted);letter-spacing:.05em}.jp-tags{display:flex;flex-wrap:wrap;gap:8px}.jp-tags span{padding:4px 11px;border-radius:5px;background:var(--jp-soft);color:var(--jp-accent);font-size:12px}
#home{width:auto;max-width:1120px;min-width:0;margin:28px auto 0;padding:0;background:none;border:0;box-shadow:none;display:flex;flex-direction:column}#main{order:1;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;float:none;clear:both;width:auto;margin:0;padding:0;background:none}#mainContent{float:none;width:auto;min-width:0;min-height:0!important;height:auto;margin:0;padding:0;background:none}#mainContent .forFlow{float:none;width:auto;min-width:0;min-height:0!important;margin:0;padding:0;background:none}
#header{order:2;min-height:0;height:auto;margin:24px 0 0;padding:0;background:none;border:0}body:has(.jp-navbar) #blogTitle{display:none}#navigator{height:auto;min-height:0;margin:0;padding:12px 0;border:0;background:none}#navList{float:none;display:flex;flex-wrap:wrap;gap:16px;height:auto;min-height:0;margin:0;padding:0;list-style:none;line-height:1.6}#navList li{float:none;margin:0;padding:0;border:0;background:none;list-style:none}#navigator #navList a,#navigator #navList a:link,#navigator #navList a:visited{float:none;display:inline;height:auto;padding:0;line-height:1.6;background:none;color:var(--jp-muted);font-size:11px}.blogStats,#navigator .blogStats{float:none;position:static;width:auto;height:auto;margin:8px 0 0;padding:0;font-size:11px;line-height:1.5;text-align:left;color:var(--jp-muted)}
.jp-writing-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.jp-writing-head h2{font-size:18px;line-height:1.5;margin:0;color:var(--jp-text)}.jp-writing-head a{font-size:12px;color:var(--jp-muted)}.jp-empty{padding:30px;border:1px solid var(--jp-line);border-radius:12px;background:var(--jp-card);box-shadow:var(--jp-shadow);margin-bottom:24px}.jp-empty strong{display:block;margin:0 0 8px;color:var(--jp-text);font-size:17px;font-weight:600}.jp-empty p{margin:0;color:var(--jp-muted);font-size:14px;line-height:1.9}
.day,.entrylist{overflow:hidden;margin:0 0 24px;padding:26px 30px;border:1px solid var(--jp-line);border-radius:12px;background:var(--jp-card);box-shadow:var(--jp-shadow)}.dayTitle{float:none;width:auto;margin:0 0 12px;padding:0;color:var(--jp-muted);background:none;font-size:12px}.postTitle{margin:0 0 12px;padding:0;border:0;font-size:23px;line-height:1.5;overflow-wrap:anywhere}.postTitle a,.postTitle a:link,.postTitle a:visited{color:var(--jp-text)}.postCon{margin:0;padding:0;color:var(--jp-muted);font-size:15px;line-height:1.9}.postDesc{float:none;margin:18px 0 0;font-size:12px;color:var(--jp-muted)}.postDesc a{color:var(--jp-muted)}.postSeparator{height:1px;border:0;background:var(--jp-line);margin:24px 0}.post{background:var(--jp-card);padding:28px 30px;border:1px solid var(--jp-line);border-radius:12px;box-shadow:var(--jp-shadow)}.post .post{padding:0;border:0;box-shadow:none}#cnblogs_post_body{color:var(--jp-text);font-size:16px;line-height:1.9;overflow-wrap:break-word}#cnblogs_post_body img,.postCon img{max-width:100%;height:auto;border-radius:8px}#cnblogs_post_body pre{max-width:100%;overflow:auto}#cnblogs_post_body table{display:block;max-width:100%;overflow:auto}
#sideBar{float:none;width:auto;min-width:0;margin:0;padding:0;color:var(--jp-muted);font-size:13px}#sideBarMain{margin:0;padding:0}#sideBar .newsItem,#sideBar .sidebar-block,#sideBar .catListEssay,#sideBar .catListLink,#sideBar .catListView{background:var(--jp-card);border:1px solid var(--jp-line);border-radius:10px;box-shadow:var(--jp-shadow);padding:18px 20px;margin:0 0 20px}#sideBar h3{margin:0 0 12px;padding:0 0 10px;border:0;border-bottom:1px solid var(--jp-line);background:none;color:var(--jp-text);font-size:14px;line-height:1.6}#sideBar a,#sideBar a:link,#sideBar a:visited{color:var(--jp-muted)}#sideBar ul{margin:0;padding:0;list-style:none}#sideBar li{margin:0;padding:5px 0;border:0;background:none;line-height:1.7}#sideBar input[type=text]{max-width:100%;width:100%;padding:9px 10px;margin:0 0 8px;border:1px solid var(--jp-line);border-radius:6px;background:var(--jp-bg);color:var(--jp-text)}#sideBar input[type=button],#sideBar button{border:0;border-radius:6px;padding:6px 12px;background:var(--jp-soft);color:var(--jp-accent)}#calendar,#blog-calendar,#sidebar_scorerank{display:none}
#footer{order:3;clear:both;margin:12px 0 0;padding:16px 0;border:0;background:none;color:var(--jp-muted);font-size:11px;text-align:left;line-height:1.8}#footer a{color:var(--jp-muted)}.jp-featured{max-width:1120px;padding:22px 26px;margin:24px auto 0;border:1px solid var(--jp-line);border-radius:12px;background:var(--jp-card);box-shadow:var(--jp-shadow);color:var(--jp-muted)}.jp-featured h2{font-size:19px;line-height:1.5;margin:0 0 8px;color:var(--jp-text)}.jp-featured p:not(.jp-eyebrow){word-break:normal;font-size:13px;margin:0 0 12px}.jp-featured>a{font-size:12px}.jp-author-tools{max-width:1120px;margin:18px auto 24px;text-align:left;font-size:11px;color:var(--jp-muted)}.jp-author-tools a{color:var(--jp-muted)}.jp-author-tools span{margin:0 10px}
@media(max-width:1180px){.jp-navbar-inner,.jp-intro,#home,.jp-featured,.jp-author-tools{margin-left:24px;margin-right:24px}}
@media(max-width:800px){.jp-intro{grid-template-columns:1fr;padding:26px;gap:20px}.jp-focus{border-left:0;border-top:1px solid var(--jp-line);padding:18px 0 0}.jp-focus p{display:none}#main{grid-template-columns:1fr;gap:24px}.jp-nav{gap:20px}}
@media(max-width:480px){.jp-navbar-inner,.jp-intro,#home,.jp-featured,.jp-author-tools{margin-left:16px;margin-right:16px}.jp-navbar-inner{flex-wrap:wrap;gap:14px;padding:14px 0}.jp-nav{width:100%;justify-content:space-between;gap:12px}.jp-intro{margin-top:20px;padding:22px}.jp-intro h1{font-size:25px}.jp-intro-desc{font-size:13px}.jp-empty,.day,.entrylist,.post{padding:22px}.postTitle{font-size:21px}.jp-featured{padding:22px}}

/* Normalize darkgreentrip link states and nested widget surfaces. */
.jp-brand:link,.jp-brand:visited{color:var(--jp-text)}.jp-featured>a:link,.jp-featured>a:visited{color:var(--jp-accent)}
#sideBar table,#sideBar div:has(> table),#sideBar .sidebar-block:empty{display:none}
#sideBar div{background-color:transparent;box-shadow:none}
#sideBar .newsItem,#sideBar .sidebar-block{background:var(--jp-card);box-shadow:var(--jp-shadow)}
#sideBar .sidebar-block>div,#sideBar .sidebar-block>div>div{background:none;border:0;border-radius:0;box-shadow:none;padding:0;margin:0}
#sideBar h3,#sideBar .catListTitle{background:none;box-shadow:none;text-shadow:none;color:var(--jp-text)}

/* Article-page compatibility verified against migrated Markdown. */
#topics{background:transparent;border:0;box-shadow:none;padding:0}#mainContent .postBody{background:transparent;color:var(--jp-text)}#mainContent a:link,#mainContent a:visited{color:var(--jp-accent)}#mainContent .postTitle a:link,#mainContent .postTitle a:visited{color:var(--jp-text)}#cnblogs_post_body :not(pre)>code{color:var(--jp-accent);background:var(--jp-soft);border:0;border-radius:4px;padding:2px 5px}#cnblogs_post_body blockquote{background:var(--jp-soft);color:var(--jp-muted);border-left:3px solid var(--jp-accent)}#cnblogs_post_body .toc li{margin:4px 0}#blog_post_info,#post_detail,#post_detail .postDesc{color:var(--jp-muted)}#sideBar .sidebar-block:not(:has(h3,a,input,li,p)){display:none}


/* Three columns: brand, navigation and profile / writing / blog widgets. */
body{position:relative;display:flow-root}
.jp-left-rail{position:absolute;top:28px;left:max(24px,calc((100% - 1440px)/2));width:240px;padding:24px;background:var(--jp-card);border:1px solid var(--jp-line);border-radius:12px;box-shadow:var(--jp-shadow)}
.jp-left-rail .jp-navbar{background:none;border:0;margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid var(--jp-line)}
.jp-left-rail .jp-navbar-inner{max-width:none;min-height:0;margin:0;padding:0;display:flex;flex-direction:column;align-items:stretch;gap:22px}
.jp-left-rail .jp-brand{gap:10px;align-items:center}
.jp-left-rail .jp-brand-mark{width:36px;height:36px;min-width:36px;font-size:15px;border-radius:9px}
.jp-left-rail .jp-brand-text strong{font-size:20px}
.jp-left-rail .jp-brand-text small{font-size:9px;line-height:1.6;letter-spacing:.5px;white-space:normal}
.jp-left-rail .jp-nav{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:auto}
.jp-left-rail .jp-nav a{display:block;margin:0;padding:7px 12px;border-radius:7px;font-size:14px;line-height:1.6;text-decoration:none}
.jp-left-rail .jp-nav a:hover,.jp-left-rail .jp-nav a:focus-visible{background:var(--jp-soft);color:var(--jp-accent)}
.jp-left-rail .jp-intro{position:static;width:auto;max-width:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:stretch;gap:20px;border:0;border-radius:0;background:none;box-shadow:none}
.jp-left-rail .jp-intro h1{font-size:21px;line-height:1.5;margin:10px 0 14px;letter-spacing:0}
.jp-left-rail .jp-intro h1 span{display:block}
.jp-left-rail .jp-eyebrow{font-size:9px;letter-spacing:1.1px}
.jp-left-rail .jp-intro-desc{font-size:13px;line-height:1.9;margin:0}
.jp-left-rail .jp-focus{border-left:0;border-top:1px solid var(--jp-line);padding:18px 0 0}
.jp-left-rail .jp-focus p{display:block;font-size:12px;margin:0 0 10px}
.jp-left-rail .jp-tags{gap:7px}
.jp-left-rail .jp-tags span{font-size:11px;padding:4px 9px}
#home{width:calc(100% - 48px);max-width:1440px;margin:28px auto 0;padding:0 0 0 264px;min-height:800px}
#main{grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:start}
#mainContent{min-width:0;width:auto;margin:0;float:none}
#sideBar{min-width:0;width:auto}
.day,.entrylist{padding:24px 28px}
.jp-featured,.jp-author-tools{max-width:1440px}
@media(max-width:1180px){
 .jp-left-rail{width:210px;padding:20px;left:24px}
 .jp-left-rail .jp-intro h1{font-size:19px}
 #home{padding-left:234px;margin:28px auto 0}
 #main{grid-template-columns:minmax(0,1fr) 210px;gap:20px}
 .day,.entrylist{padding:22px}
}
@media(max-width:1000px){#main{grid-template-columns:minmax(0,1fr)}#sideBar{display:grid;grid-template-columns:minmax(0,1fr);margin:0}}
@media(max-width:760px){
 .jp-left-rail{position:static;width:auto;margin:24px 24px 0;padding:22px}
 .jp-left-rail .jp-navbar-inner{gap:16px}
 .jp-left-rail .jp-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
 .jp-left-rail .jp-nav a{text-align:center;padding:8px 4px}
 .jp-left-rail .jp-navbar{margin-bottom:20px;padding-bottom:16px}
 .jp-left-rail .jp-intro h1{font-size:23px}
 .jp-left-rail .jp-intro h1 span{display:inline}
 .jp-left-rail .jp-brand-text small{font-size:10px}
 #home{width:calc(100% - 48px);padding:0;min-height:0;margin:24px auto 0}
 #main{gap:20px}
}
@media(max-width:480px){.jp-left-rail{margin:16px 16px 0;padding:20px}#home{width:calc(100% - 32px);margin:18px auto 0}.day,.entrylist{padding:20px}}

/* Keep list pagination below the articles. */
#homepage_top_pager{display:none!important}

/* Sidebar arrangement: shortcuts on the left, search on the right. */
#sideBar .newsItem,#blog-news,#sidebar_shortcut{display:none!important}
.jp-quick-links{margin-top:22px;padding-top:20px;border-top:1px solid var(--jp-line)}
.jp-quick-links h2{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--jp-text)}
.jp-quick-links nav{display:flex;flex-direction:column;gap:3px}
.jp-quick-links a:link,.jp-quick-links a:visited{display:block;padding:6px 10px;color:var(--jp-muted);font-size:13px;line-height:1.7;text-decoration:none;border-radius:7px}
.jp-quick-links a:hover{background:var(--jp-soft);color:var(--jp-accent)}
#sidebar_search,#sidebar_search_box,#sideBar .sidebar-block:has(.input_my_zzk),#sidebar_news{display:none!important}
#sideBar,#sideBarMain{margin:0!important;padding:0!important}
#sideBarMain>div:empty{display:none}
#sideBar .sidebar-block{margin-top:0!important;margin-bottom:20px!important}
#sidebar_recentposts{margin-top:0!important}

/* Remove the native side-column offset after hiding its leading widgets. */
#blog-sidecolumn{margin:0!important;padding:0!important}
#leftcontentcontainer{margin:0!important;padding:0!important;position:static!important;top:auto!important;transform:none!important}
#sideBarMain>.newsItem,#sideBarMain .newsItem{display:none!important}
#sideBarMain>:not(#leftcontentcontainer){display:none!important}
#sideBarMain,#leftcontentcontainer{display:contents!important}
#blog-sidecolumn{display:flow-root}

/* Independent article cards replace date-group surfaces on the homepage. */
#mainContent .day:has(.jp-article-card){margin:0;padding:0!important;border:0!important;border-radius:0;background:none!important;box-shadow:none!important;overflow:visible}
#mainContent .day .dayTitle,#mainContent .day .postSeparator,#mainContent .day>hr{display:none!important}
#mainContent .jp-article-card{display:block;margin:0 0 20px;padding:24px 28px;border:1px solid var(--jp-line);border-radius:12px;background:var(--jp-card);box-shadow:var(--jp-shadow);overflow:hidden}
#mainContent .jp-card-content{min-width:0}
#mainContent .jp-article-card .postTitle{float:none;margin:0 0 12px!important;padding:0!important;border:0!important;background:none;line-height:1.5;font-size:24px}
#mainContent .jp-article-card .postCon{float:none;margin:0!important;padding:0!important;border:0!important;line-height:1.85}
#mainContent .jp-article-card .postDesc,#mainContent .jp-article-card .postSeparator,#mainContent .jp-article-card hr{display:none!important}
#mainContent .jp-article-card .c_b_p_desc{margin:0;padding:0;border:0;color:var(--jp-muted);line-height:1.85}
#mainContent .jp-card-edit{display:block;margin-top:12px;text-align:right;font-size:12px;color:var(--jp-muted);text-decoration:none}
#mainContent .jp-has-cover{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:center}
#mainContent .jp-card-cover{display:block;overflow:hidden;border-radius:8px;background:var(--jp-bg);aspect-ratio:4/3}
#mainContent .jp-card-cover img{display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;object-fit:contain}
@media(max-width:1180px){#mainContent .jp-has-cover{grid-template-columns:150px minmax(0,1fr);gap:20px}}
@media(max-width:600px){#mainContent .jp-article-card{padding:20px}#mainContent .jp-has-cover{grid-template-columns:1fr;gap:16px}#mainContent .jp-card-cover{max-height:220px;aspect-ratio:16/9}#mainContent .jp-article-card .postTitle{font-size:21px}}

/* Article table headers follow the same light/dark theme as the body. */
#cnblogs_post_body table th {
  background: var(--jp-soft) !important;
  color: var(--jp-text) !important;
  border-color: var(--jp-line) !important;
  font-weight: 600;
}
#cnblogs_post_body table th :is(p,span,strong,em,code,a) {
  color: inherit !important;
}

/* Use one theme border color for article data tables. */
#cnblogs_post_body table:has(th),
#cnblogs_post_body table:has(th) :is(thead,tbody,tfoot,tr,th,td) {
  border-color: var(--jp-line) !important;
}

/* Compact article list: thumbnail, text and a single metadata row. */
#mainContent .jp-article-card{padding:20px!important;margin:0 0 16px!important;border-radius:10px;box-shadow:none;min-height:0}
#mainContent .jp-article-card.jp-has-cover{display:grid;grid-template-columns:176px minmax(0,1fr);gap:20px;align-items:start}
#mainContent .jp-card-cover{width:100%;height:116px;max-height:none;aspect-ratio:auto;border-radius:6px;align-self:start}
#mainContent .jp-card-cover img{width:100%;height:100%;object-fit:contain;object-position:center}
#mainContent .jp-card-content{min-width:0;min-height:116px;gap:0}
#mainContent .jp-article-card:not(.jp-has-cover) .jp-card-content{min-height:0}
#mainContent .jp-article-card .postTitle{font-size:20px;line-height:1.4;margin:0 0 7px!important;font-weight:650}
#mainContent .jp-article-card .postTitle a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-decoration:none}
#mainContent .jp-article-card .postCon,#mainContent .jp-article-card .c_b_p_desc{font-size:14px;line-height:1.65;font-weight:400}
#mainContent .jp-article-card .c_b_p_desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:3.3em}
#mainContent .jp-article-card .c_b_p_desc a:last-child{display:none}
#mainContent .jp-card-meta{justify-content:flex-start!important;padding-top:12px!important;gap:8px 14px!important;line-height:1.5}
#mainContent .jp-card-time{order:0;font-size:12px!important}
#mainContent .jp-card-edit{order:1;margin:0 0 0 auto!important;font-size:12px;text-decoration:none;line-height:1.5}
@media(max-width:1180px){#mainContent .jp-article-card.jp-has-cover{grid-template-columns:144px minmax(0,1fr);gap:16px}#mainContent .jp-card-cover{height:104px}}
@media(max-width:600px){#mainContent .jp-article-card{padding:16px!important}#mainContent .jp-article-card.jp-has-cover{grid-template-columns:100px minmax(0,1fr);gap:12px}#mainContent .jp-card-cover{height:76px;max-height:none;aspect-ratio:auto}#mainContent .jp-card-content{min-height:0}#mainContent .jp-article-card .postTitle{font-size:17px;line-height:1.4;margin-bottom:6px!important}#mainContent .jp-article-card .postCon,#mainContent .jp-article-card .c_b_p_desc{font-size:13px}#mainContent .jp-card-meta{padding-top:10px!important;gap:5px 8px!important}#mainContent .jp-card-time{font-size:11px!important}#mainContent .jp-card-edit{font-size:11px}}
