:root{--fb-bg:#030712;--fb-surface:#0b1220;--fb-surface-2:#111827;--fb-line:#243044;--fb-text:#f8fafc;--fb-muted:#94a3b8;--fb-cyan:#67e8f9;--fb-blue:#38bdf8;--fb-width:1320px}
*{box-sizing:border-box}.fb-site{margin:0;background:var(--fb-bg);color:var(--fb-text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Segoe UI",sans-serif;line-height:1.75}.fb-site a{color:inherit;text-decoration:none}.fb-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--fb-line);background:rgba(3,7,18,.9);backdrop-filter:blur(14px)}.fb-header-inner{max-width:var(--fb-width);height:68px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:42px}.fb-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.fb-brand b{color:var(--fb-cyan)}.fb-logo{width:30px;height:30px;padding:4px;border:1px solid var(--fb-line);border-radius:8px;fill:none;stroke:var(--fb-cyan);stroke-width:2;filter:drop-shadow(0 0 5px rgba(103,232,249,.45))}.fb-nav{display:flex;gap:30px;font-size:14px}.fb-nav a,.fb-portal{color:#cbd5e1;transition:.18s}.fb-nav a:hover,.fb-portal:hover{color:var(--fb-cyan)}.fb-actions{margin-left:auto;display:flex;align-items:center;gap:15px}.fb-icon-button,.fb-menu-button{border:1px solid var(--fb-line);border-radius:7px;background:var(--fb-surface-2);color:var(--fb-text);font:inherit}.fb-icon-button{width:36px;height:34px}.fb-menu-button{display:none;width:38px;height:36px}.fb-mobile-nav{display:none}.fb-container{max-width:var(--fb-width);margin:0 auto;padding:48px 24px 72px}.fb-main{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:38px}.inner,.inner-main{min-width:0}.fb-intro{padding:12px 0 40px;border-bottom:1px solid var(--fb-line);margin-bottom:30px}.fb-eyebrow{display:inline-block;padding:5px 12px;border:1px solid rgba(103,232,249,.38);border-radius:999px;color:var(--fb-cyan);background:rgba(103,232,249,.06);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.fb-intro h1{max-width:760px;margin:19px 0 10px;color:var(--fb-text);font-size:clamp(28px,4vw,40px);line-height:1.35;letter-spacing:-.035em}.fb-intro p{max-width:720px;margin:0;color:var(--fb-muted);font-size:16px}.fb-feed-label{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.fb-feed-label span{font-size:18px;font-weight:700}.fb-feed-label small{color:var(--fb-muted)}.fb-article-list{display:grid;gap:18px}.fb-article-card{position:relative;margin:0;padding:25px 28px;border:1px solid var(--fb-line);border-radius:10px;background:var(--fb-surface);box-shadow:none;transition:transform .18s,border-color .18s}.fb-article-card:hover{transform:translateY(-2px);border-color:#39516d}.fb-article-card.is-sticky{border-left:3px solid var(--fb-cyan)}.fb-card-meta{display:flex;align-items:center;gap:11px;color:var(--fb-muted);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.fb-card-meta a{color:var(--fb-blue)}.fb-card-meta time:before{content:"·";margin-right:11px}.fb-pinned{padding:1px 7px;border-radius:4px;background:rgba(103,232,249,.12);color:var(--fb-cyan)}.fb-article-card h2{margin:13px 0 10px;font-size:21px;line-height:1.5}.fb-article-card h2 a:hover{color:var(--fb-cyan)}.fb-excerpt{display:-webkit-box;overflow:hidden;color:#cbd5e1;font-size:15px;-webkit-line-clamp:3;-webkit-box-orient:vertical}.fb-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(36,48,68,.7)}.fb-tags{display:flex;flex-wrap:wrap;gap:7px}.fb-tags .tag-list{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.fb-tags a{padding:2px 8px;border:1px solid var(--fb-line);border-radius:4px;color:var(--fb-muted);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.fb-tags a:before{content:"#"}.fb-read-more{flex:none;color:var(--fb-cyan);font-size:13px}.sidebar{position:static;width:auto}.fb-sidebar-inner{position:sticky;top:94px;display:grid;gap:20px}.fb-profile,.widget-wrap{padding:22px;border:1px solid var(--fb-line);border-radius:10px;background:var(--fb-surface)}.fb-profile{display:grid;grid-template-columns:46px 1fr;gap:13px}.fb-profile-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--fb-line);border-radius:9px;color:var(--fb-cyan);font-weight:800}.fb-profile strong,.fb-profile small{display:block}.fb-profile small{color:var(--fb-muted)}.fb-profile p,.fb-profile>a{grid-column:1/-1}.fb-profile p{margin:4px 0;padding:10px 12px;border-left:2px solid var(--fb-cyan);background:rgba(17,24,39,.65);color:#cbd5e1;font-size:13px}.fb-profile>a{color:var(--fb-cyan);font-size:13px}.widget{display:grid;gap:20px}.widget-wrap{margin:0}.widget-title{margin:0 0 13px;padding:0 0 11px;border-bottom:1px solid var(--fb-line);font-weight:700}.widget-title span:before{content:"";display:inline-block;width:3px;height:13px;margin-right:8px;border-radius:2px;background:var(--fb-cyan);box-shadow:0 0 8px rgba(103,232,249,.65)}.widget-inner,.widget-inner a{color:#cbd5e1;font-size:13px}.widget-inner ul{margin:0;padding:0;list-style:none}.widget-inner li{margin:8px 0}.widget-inner a:hover{color:var(--fb-cyan)}.widget-tags .tag-list{display:flex;flex-wrap:wrap;gap:7px}.widget-tags .tag-list-item{margin:0}.widget-tags a{padding:3px 7px;border:1px solid var(--fb-line);border-radius:4px}.pagination{display:flex;justify-content:center;gap:7px;margin:36px 0 0}.pagination a,.pagination span{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--fb-line);border-radius:7px;background:var(--fb-surface);color:var(--fb-muted)}.pagination .current{border-color:var(--fb-cyan);background:var(--fb-cyan);color:#06202a}.fb-footer{border-top:1px solid var(--fb-line);padding:28px max(24px,calc((100vw - var(--fb-width))/2));background:#020611;color:var(--fb-muted);font-size:12px;display:flex;justify-content:space-between;gap:25px}.fb-footer div{display:flex;gap:15px}.fb-footer strong{color:var(--fb-text)}#backtop{background:var(--fb-cyan);color:#06202a}
@media(max-width:900px){.fb-nav{display:none}.fb-menu-button{display:block}.fb-mobile-nav.is-open{display:grid;padding:12px 24px 20px;border-top:1px solid var(--fb-line);gap:4px}.fb-mobile-nav a{padding:9px 0;color:#cbd5e1}.fb-main{grid-template-columns:1fr}.sidebar{display:none}.fb-header-inner{gap:15px}.fb-container{padding-top:32px}}
@media(max-width:600px){.fb-header-inner{height:60px;padding:0 16px}.fb-brand{font-size:14px}.fb-logo{width:27px;height:27px}.fb-portal{display:none}.fb-container{padding:25px 16px 55px}.fb-intro{padding-top:2px}.fb-intro h1{font-size:27px}.fb-article-card{padding:20px 18px}.fb-article-card h2{font-size:18px}.fb-card-footer{align-items:flex-start;flex-direction:column}.fb-read-more{align-self:flex-end}.fb-footer{padding:24px 16px;display:block}.fb-footer div{margin-bottom:7px;flex-direction:column;gap:2px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.fb-is-home .fb-article-card{background:var(--fb-surface)!important}
.fb-sidebar-inner>.widget{margin:0;padding:0;background:transparent;border-radius:0}
.fb-container .inner{width:auto!important;padding-right:0!important}
.fb-container .inner-main{width:auto!important}
.fb-container .pagination{width:auto;padding:0;margin:30px 0 0;gap:8px}
.fb-container .pagination .page-number,.fb-container .pagination .extend{min-width:38px;height:38px;margin:0;padding:0 10px;border:1px solid var(--fb-line);border-radius:7px;background:var(--fb-surface);color:var(--fb-muted);display:grid;place-items:center}
.fb-container .pagination .page-number.current{border-color:var(--fb-cyan);background:var(--fb-cyan);color:#06202a}
.fb-container .pagination .page-number:hover,.fb-container .pagination .extend:hover{border-color:var(--fb-cyan);color:var(--fb-cyan)}
.fb-container .pagination .space{display:grid;place-items:center;color:var(--fb-muted);min-width:24px}
.fb-taxonomy-head{padding:10px 0 38px;border-bottom:1px solid var(--fb-line);margin-bottom:30px}.fb-taxonomy-head h1{margin:17px 0 8px;color:var(--fb-text);font-size:clamp(30px,4vw,44px);line-height:1.25}.fb-taxonomy-head p{margin:0;color:var(--fb-muted)}.fb-taxonomy-head p b{color:var(--fb-cyan)}
.fb-archive-list{display:grid;gap:37px}.fb-archive-year{margin:0}.fb-year-label{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.fb-year-label strong{color:var(--fb-cyan);font-size:28px;line-height:1}.fb-year-label span{color:var(--fb-muted);font:11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.fb-year-posts{display:grid;gap:9px;border-left:1px solid var(--fb-line);padding-left:14px}.fb-archive-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;border:1px solid transparent;border-radius:8px;background:var(--fb-surface);color:#d5dce8}.fb-archive-item:hover{border-color:var(--fb-line)}.fb-archive-item time{color:var(--fb-muted);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.fb-archive-item>a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600}.fb-archive-item>a:hover{color:var(--fb-cyan)}.fb-archive-item>span{color:var(--fb-muted);font-size:12px}.fb-archive-item>span a{color:inherit}
@media(max-width:600px){.fb-archive-item{grid-template-columns:45px minmax(0,1fr);gap:8px}.fb-archive-item>span{grid-column:2}.fb-archive-item>a{white-space:normal}.fb-taxonomy-head{padding-top:0}}
.fb-post{margin:0;padding:0;background:transparent!important}
.fb-post-header{padding:10px 0 28px;border-bottom:1px solid var(--fb-line)}
.fb-post-kicker{display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--fb-muted);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}
.fb-post-kicker a{color:var(--fb-cyan)}.fb-post-kicker span+span:before,.fb-post-kicker time+span:before{content:"·";margin-right:12px}
.fb-post-title{margin:18px 0 13px!important;color:var(--fb-text)!important;font-size:clamp(28px,4vw,46px)!important;line-height:1.25!important;letter-spacing:-.035em;font-weight:800!important}
.fb-post-tags{display:flex;flex-wrap:wrap;gap:8px}.fb-post-tags a{padding:3px 9px;border:1px solid var(--fb-line);border-radius:4px;color:var(--fb-muted);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.fb-post-tags a:before{content:"#"}
/* Hexo 的 list_tags 会在容器内生成 ul/li；把嵌套列表设为 flex，避免标签逐项纵向占位。 */
.fb-post-tags .tag-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    max-height: 64px;
    overflow-y: auto;
    margin: 0;
    padding: 0 2px 2px 0;
    list-style: none;
    scrollbar-width: thin;
    scrollbar-color: var(--fb-line) transparent;
    overscroll-behavior: contain;
}

.fb-post-tags .tag-list-item {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fb-post-tags .tag-list a {
    display: inline-flex;
    align-items: center;
    line-height: 1.4;
    white-space: nowrap;
}
.fb-mobile-toc-trigger{display:none;margin-top:16px;padding:8px 12px;border:1px solid var(--fb-line);border-radius:6px;background:var(--fb-surface);color:var(--fb-cyan);font-family:inherit;font-size:12px;cursor:pointer}
.fb-post-grid{max-width:760px;padding:34px 0 20px}.fb-post-content{color:#d5dce8;font-size:16px;line-height:1.9;overflow-wrap:anywhere}.fb-post-content h2,.fb-post-content h3,.fb-post-content h4{margin:2em 0 .7em;color:var(--fb-text);line-height:1.4}.fb-post-content h2{font-size:25px;border-left:3px solid var(--fb-cyan);padding-left:12px}.fb-post-content h3{font-size:20px}.fb-post-content p{margin:0 0 1.2em}.fb-post-content a{color:var(--fb-cyan);text-decoration:underline;text-decoration-color:rgba(103,232,249,.4);text-underline-offset:3px}.fb-post-content blockquote{margin:1.5em 0;padding:14px 18px;border-left:3px solid var(--fb-cyan);background:var(--fb-surface);color:#cbd5e1}.fb-post-content img{display:block;max-width:100%;height:auto;margin:1.5em auto;border-radius:7px}.fb-post-content pre{overflow:auto;margin:1.5em 0;padding:18px;background:#06101d;border:1px solid var(--fb-line);border-radius:8px;font-size:13px;line-height:1.7}.fb-post-content code{padding:.12em .35em;border-radius:4px;background:rgba(103,232,249,.1);color:#b9f5ff;font-size:.88em}.fb-post-content pre code{padding:0;background:none;color:inherit}.fb-post-content table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}.fb-post-content th,.fb-post-content td{padding:8px 12px;border:1px solid var(--fb-line);white-space:nowrap}.fb-post-content th{color:var(--fb-cyan);background:var(--fb-surface)}
.fb-toc-panel{padding:20px;border:1px solid var(--fb-line);border-radius:10px;background:var(--fb-surface)}.fb-toc-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.fb-side-title{padding-bottom:12px;border-bottom:1px solid var(--fb-line);font-weight:700}.fb-toc-close{display:none;border:0;background:transparent;color:var(--fb-muted);font-size:24px;line-height:1;cursor:pointer}.fb-toc-panel .toc{padding-top:14px}.fb-toc-panel .toc a{display:block;margin:7px 0;color:var(--fb-muted);font-size:13px}.fb-toc-panel .toc a:hover,.fb-toc-panel .toc .node-name--active{color:var(--fb-cyan)}
.fb-post .article-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:760px;margin:25px 0;padding:0}.fb-post .article-nav-link-wrap{padding:15px;border:1px solid var(--fb-line);border-radius:8px;background:var(--fb-surface)}.fb-post .article-nav-caption{color:var(--fb-cyan);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.fb-post .article-nav-title{margin-top:5px;color:#d5dce8;font-size:13px}.fb-post+.ad-post,.fb-post~.comments{max-width:760px;background:var(--fb-surface);border:1px solid var(--fb-line);border-radius:10px;padding:20px;margin:24px 0}
@media(max-width:900px){.fb-toc-panel{display:none}.fb-mobile-toc-trigger{display:inline-block}.fb-post-grid{max-width:none}.fb-post-title{font-size:32px!important}.fb-post .article-nav{max-width:none}.fb-site.fb-toc-open{overflow:hidden}.fb-site.fb-toc-open .sidebar{display:block;position:fixed;inset:60px 0 0;z-index:70;width:auto;padding:16px;background:rgba(3,7,18,.92);backdrop-filter:blur(10px);overflow:auto}.fb-site.fb-toc-open .fb-sidebar-inner{position:static;max-width:680px;margin:0 auto}.fb-site.fb-toc-open .fb-sidebar-inner>.fb-toc-panel{display:block}.fb-site.fb-toc-open .fb-sidebar-inner>.fb-profile,.fb-site.fb-toc-open .fb-sidebar-inner>#widget,.fb-site.fb-toc-open #backtop{display:none}.fb-site.fb-toc-open .fb-toc-close{display:block}}
@media(max-width:600px){.fb-post-header{padding-top:0}.fb-post-title{font-size:27px!important}.fb-post-content{font-size:15px;line-height:1.85}.fb-post .article-nav{grid-template-columns:1fr}.fb-post+.ad-post,.fb-post~.comments{padding:16px}}

/* 分类、标签总览与关于页 */
.fb-overview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:38px;padding:10px 0 30px;border-bottom:1px solid var(--fb-line)}
.fb-search-trigger{width:auto;min-width:72px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.fb-overview-head h1{margin:17px 0 8px;color:var(--fb-text);font-size:clamp(30px,4vw,44px);line-height:1.2;letter-spacing:-.04em}
.fb-overview-head p{max-width:680px;margin:0;color:var(--fb-muted)}
.fb-overview-stats{display:flex;align-items:baseline;gap:8px;white-space:nowrap;color:var(--fb-muted);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}
.fb-overview-stats strong{margin-left:10px;color:var(--fb-cyan);font-size:22px}
.fb-taxonomy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fb-taxonomy-card{display:flex;min-height:194px;flex-direction:column;padding:22px;border:1px solid var(--fb-line);border-radius:10px;background:var(--fb-surface);transition:transform .18s,border-color .18s,background .18s}
.fb-taxonomy-card:hover{transform:translateY(-2px);border-color:rgba(103,232,249,.45);background:var(--fb-surface-2)}
.fb-taxonomy-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fb-taxonomy-index{color:var(--fb-cyan);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}
.fb-taxonomy-count{padding:3px 8px;border-radius:999px;background:rgba(103,232,249,.1);color:var(--fb-cyan);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}
.fb-taxonomy-card h2{margin:30px 0 8px;color:var(--fb-text);font-size:18px;line-height:1.4}
.fb-taxonomy-card p{margin:0;color:var(--fb-muted);font-size:13px;line-height:1.7}
.fb-taxonomy-link{margin-top:auto;padding-top:18px;color:var(--fb-cyan);font-size:12px}
.fb-empty-state{margin:0;padding:42px 20px;border:1px dashed var(--fb-line);border-radius:10px;color:var(--fb-muted);text-align:center}
.fb-tag-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:14px 16px;border:1px solid var(--fb-line);border-radius:9px;background:var(--fb-surface)}
.fb-tag-toolbar label{color:var(--fb-muted);font-size:13px;white-space:nowrap}
.fb-tag-toolbar input{min-width:0;flex:1;padding:9px 11px;border:1px solid var(--fb-line);border-radius:6px;outline:none;background:var(--fb-surface-2);color:var(--fb-text);font-family:inherit;font-size:13px}
.fb-tag-toolbar input:focus{border-color:var(--fb-cyan);box-shadow:0 0 0 3px rgba(103,232,249,.08)}
.fb-tag-toolbar-hint{color:var(--fb-muted);font:11px ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}
.fb-tag-list{display:flex;flex-wrap:wrap;gap:10px;padding:23px;border:1px solid var(--fb-line);border-radius:10px;background:var(--fb-surface)}
.fb-tag-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--fb-line);border-radius:6px;background:var(--fb-surface-2);color:#d5dce8;font:13px ui-monospace,SFMono-Regular,Menlo,monospace;transition:border-color .18s,color .18s,transform .18s}
.fb-tag-pill:hover{transform:translateY(-1px);border-color:var(--fb-cyan);color:var(--fb-cyan)}
.fb-tag-pill b{padding:1px 5px;border-radius:4px;background:#06101d;color:var(--fb-muted);font-size:11px;font-weight:400}
.fb-tag-pill[hidden]{display:none}
.fb-taxonomy-no-match{margin-top:14px}
.fb-about{max-width:920px;margin:0 auto}
.fb-about-hero{display:flex;align-items:center;gap:20px;margin-bottom:40px}
.fb-about-mark{display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(103,232,249,.45);border-radius:10px;background:var(--fb-surface);color:var(--fb-cyan);font-size:24px;font-weight:800;box-shadow:0 0 18px rgba(103,232,249,.16)}
.fb-about-hero h1{margin:10px 0 4px;color:var(--fb-text);font-size:clamp(30px,4vw,42px);line-height:1.2}
.fb-about-hero p{margin:0;color:var(--fb-cyan)}
.fb-about-quote{margin:0 0 42px;padding:24px 28px;border:1px solid var(--fb-line);border-left:3px solid var(--fb-cyan);border-radius:8px;background:var(--fb-surface);color:#d5dce8;font-size:17px}
.fb-about-section{margin-top:35px}
.fb-about-section>h2{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:var(--fb-text);font-size:18px}
.fb-about-section>h2 span{color:var(--fb-cyan);font-size:20px}
.fb-about-card{padding:24px;border:1px solid var(--fb-line);border-radius:9px;background:var(--fb-surface);color:#d5dce8}
.fb-about-content p:last-child{margin-bottom:0}
.fb-about-content a{color:var(--fb-cyan)}
.fb-about-focus{display:grid;gap:12px}
.fb-about-focus>div{display:flex;align-items:baseline;gap:10px;color:#d5dce8}
.fb-about-focus b{color:var(--fb-cyan);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}
.fb-about-focus small{margin-left:auto;color:var(--fb-muted)}
.fb-about-tools{display:flex;flex-wrap:wrap;gap:8px}
.fb-about-tools span{padding:5px 9px;border-radius:4px;background:#1a2a3c;color:#d5dce8;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}
.fb-about-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fb-about-links a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:15px 17px;border:1px solid var(--fb-line);border-radius:8px;background:var(--fb-surface);transition:border-color .18s,transform .18s}
.fb-about-links a:hover{transform:translateY(-1px);border-color:var(--fb-cyan)}
.fb-about-links strong{color:var(--fb-text);font-size:14px}.fb-about-links small{overflow:hidden;color:var(--fb-muted);font:11px ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.fb-about-links span{grid-column:2;grid-row:1/3;align-self:center;color:var(--fb-cyan)}

/* 404 与搜索弹层 */
.fb-error-page{max-width:920px;margin:0 auto;padding:46px 0 20px;text-align:center}
.fb-error-code{color:transparent;font-size:clamp(110px,18vw,180px);font-weight:800;line-height:.9;letter-spacing:-.09em;background:linear-gradient(180deg,#b8eaf2 0%,rgba(103,232,249,.15) 90%);-webkit-background-clip:text;background-clip:text;text-shadow:0 0 30px rgba(103,232,249,.12)}
.fb-error-badge{display:inline-block;margin-top:-12px;padding:5px 11px;border-radius:999px;background:#172a3c;color:var(--fb-cyan);font:11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.fb-error-page h1{margin:34px 0 10px;color:var(--fb-text);font-size:clamp(26px,4vw,36px)}
.fb-error-page>p{max-width:620px;margin:0 auto;color:var(--fb-muted);font-size:16px}
.fb-error-actions{display:flex;justify-content:center;gap:12px;margin:31px 0 68px}
.fb-primary-button,.fb-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:7px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}
.fb-primary-button{background:var(--fb-cyan);color:#06202a;box-shadow:0 0 18px rgba(103,232,249,.22)}.fb-primary-button:hover{background:#a4f4ff}
.fb-secondary-button{border-color:var(--fb-line);background:var(--fb-surface-2);color:#d5dce8}.fb-secondary-button:hover{border-color:var(--fb-cyan);color:var(--fb-cyan)}
.fb-error-recent{text-align:left}.fb-error-recent-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:15px}.fb-error-recent-head h2{margin:0;color:var(--fb-text);font-size:18px}.fb-error-recent-head span{color:var(--fb-muted);font:11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}.fb-error-posts{display:grid;gap:10px}.fb-error-posts a{display:grid;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--fb-line);border-radius:8px;background:var(--fb-surface);color:#d5dce8}.fb-error-posts a:hover{border-color:var(--fb-cyan);color:var(--fb-cyan)}.fb-error-posts b{color:var(--fb-cyan);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.fb-error-posts span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-error-posts i{font-style:normal;text-align:right}
.fb-search-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:start center;padding:110px 20px 30px;background:rgba(1,8,18,.72);backdrop-filter:blur(8px)}
.fb-search-modal[hidden]{display:none}.fb-search-backdrop{position:absolute;inset:0;border:0;background:transparent;cursor:default}.fb-search-dialog{position:relative;width:min(680px,100%);overflow:hidden;border:1px solid rgba(103,232,249,.28);border-radius:11px;background:var(--fb-surface);box-shadow:0 20px 80px rgba(0,0,0,.45)}
.fb-search-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid var(--fb-line)}.fb-search-dialog-head h2{margin:12px 0 0;color:var(--fb-text);font-size:22px}.fb-search-close{border:0;background:transparent;color:var(--fb-muted);font-size:28px;line-height:1;cursor:pointer}.fb-search-close:hover{color:var(--fb-cyan)}
.fb-search-box{margin:20px 24px 0}.fb-search-box .has-icon-right{position:relative}.fb-search-box .form-input{width:100%;height:48px;padding:0 44px 0 15px;border:1px solid var(--fb-line);border-radius:7px;outline:0;background:var(--fb-surface-2);color:var(--fb-text);font-family:inherit;font-size:14px}.fb-search-box .form-input:focus{border-color:var(--fb-cyan);box-shadow:0 0 0 3px rgba(103,232,249,.08)}.fb-search-box .form-icon{position:absolute;right:15px;top:50%;color:var(--fb-cyan);font-size:19px;transform:translateY(-50%)}.fb-search-box .search-result{max-height:390px;margin-top:10px;overflow:auto}.fb-search-box .search-result-item{display:block;padding:11px 13px;border-bottom:1px solid var(--fb-line)}.fb-search-box .search-result-item h1{margin:0;color:var(--fb-text);font-size:14px}.fb-search-box .search-result-item p{margin:2px 0 0;color:var(--fb-muted);font-size:12px}.fb-search-hint,.fb-search-unavailable{margin:14px 24px 22px;color:var(--fb-muted);font-size:12px}.fb-search-unavailable{margin-top:20px;padding:18px;border:1px dashed var(--fb-line);border-radius:7px;background:#06101d}.fb-search-unavailable strong{color:var(--fb-cyan)}.fb-search-unavailable p{margin:7px 0 0}
body.fb-search-open{overflow:hidden}
@media(max-width:900px){.fb-taxonomy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fb-overview-head{align-items:flex-start;flex-direction:column}.fb-about{max-width:none}}
@media(max-width:600px){.fb-search-trigger{width:auto;min-width:36px;padding:0 9px}.fb-search-trigger span{display:none}.fb-taxonomy-grid{grid-template-columns:1fr}.fb-overview-head{margin-bottom:25px}.fb-overview-stats{flex-wrap:wrap}.fb-tag-toolbar{align-items:stretch;flex-wrap:wrap}.fb-tag-toolbar input{flex-basis:100%;order:3}.fb-tag-toolbar-hint{margin-left:auto}.fb-about-hero{align-items:flex-start;gap:14px}.fb-about-mark{width:60px;height:60px;font-size:20px}.fb-about-hero h1{font-size:30px}.fb-about-quote{padding:18px;font-size:15px}.fb-about-card{padding:18px}.fb-about-focus small{display:none}.fb-about-links{grid-template-columns:1fr}.fb-error-page{padding-top:20px}.fb-error-actions{align-items:stretch;flex-direction:column;margin-bottom:48px}.fb-primary-button,.fb-secondary-button{width:100%}.fb-error-posts span{white-space:normal}.fb-search-modal{padding:76px 12px 20px}.fb-search-dialog-head{padding-left:18px;padding-right:18px}.fb-search-box{margin-left:18px;margin-right:18px}.fb-search-hint,.fb-search-unavailable{margin-left:18px;margin-right:18px}}

/* 宽屏首页回归：扩大可用画布，同时保留设计稿的阅读比例与分页状态。 */
:root {
    --fb-width: 1920px;
    --fb-content-gutter: clamp(48px, 8vw, 160px);
}

.fb-header-inner,
.fb-container {
    width: calc(100% - var(--fb-content-gutter));
    max-width: var(--fb-width);
}

.fb-main {
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 40px;
}

.fb-intro {
    padding-top: 12px;
    padding-bottom: 34px;
}

.fb-intro h1 {
    max-width: 900px;
    font-size: clamp(28px, 2.4vw, 36px);
}

.fb-intro p {
    max-width: 680px;
}

.fb-container .pagination .page-number.current {
    border-color: var(--fb-cyan);
    background: rgba(103, 232, 249, .12);
    color: var(--fb-cyan);
    box-shadow: 0 0 0 1px rgba(103, 232, 249, .06);
}

.fb-container .pagination .page-number:hover,
.fb-container .pagination .extend:hover {
    background: var(--fb-surface-2);
}

.fb-is-home .fb-container .pagination .extend {
    width: 38px;
    min-width: 38px;
    padding: 0;
    font-size: 0;
}

.fb-is-home .fb-container .pagination .extend::before {
    color: var(--fb-muted);
    font-size: 18px;
    line-height: 1;
}

.fb-is-home .fb-container .pagination .extend.prev::before {
    content: '‹';
}

.fb-is-home .fb-container .pagination .extend.next::before {
    content: '›';
}

.fb-is-home .fb-container .pagination .extend:hover::before {
    color: var(--fb-cyan);
}

.fb-footer {
    padding-left: max(24px, calc((100vw - var(--fb-width)) / 2), calc(var(--fb-content-gutter) / 2));
    padding-right: max(24px, calc((100vw - var(--fb-width)) / 2), calc(var(--fb-content-gutter) / 2));
}

@media(max-width:900px) {
    .fb-main {
        grid-template-columns: 1fr;
    }
}

@media(max-width:600px) {
    .fb-header-inner,
    .fb-container {
        width: 100%;
        max-width: none;
    }

    .fb-footer {
        padding-left: 16px;
        padding-right: 16px;
    }
}


/* 移动端交互可访问性：保持焦点可见，并让隐藏面板不进入阅读顺序。 */
.fb-mobile-nav[aria-hidden='true'],
.fb-toc-panel[aria-hidden='true'] {
    display: none;
}


.fb-menu-button,
.fb-mobile-toc-trigger,
.fb-toc-close {
    cursor: pointer;
}


.fb-menu-button:focus-visible,
.fb-mobile-nav a:focus-visible,
.fb-mobile-toc-trigger:focus-visible,
.fb-toc-close:focus-visible,
.fb-toc-panel .toc a:focus-visible {
    outline: 2px solid var(--fb-cyan);
    outline-offset: 3px;
}


@media(max-width:900px) {
    .fb-mobile-nav[aria-hidden='false'] {
        display: grid;
        padding: 12px 24px 20px;
        border-top: 1px solid var(--fb-line);
        gap: 4px;
    }


    .fb-toc-panel[aria-hidden='false'] {
        display: block;
    }


    .fb-site.fb-toc-open {
        overscroll-behavior: contain;
    }


    .fb-site.fb-toc-open .sidebar {
        overscroll-behavior: contain;
        padding-bottom: max(16px, env(safe-area-inset-bottom));
    }


    .fb-toc-close {
        min-width: 36px;
        min-height: 36px;
    }
}


@media(prefers-reduced-motion:reduce) {
    .fb-article-card:hover,
    .fb-taxonomy-card:hover,
    .fb-tag-pill:hover,
    .fb-about-links a:hover {
        transform: none;
    }


    .fb-menu-button,
    .fb-mobile-nav,
    .fb-mobile-nav a,
    .fb-mobile-toc-trigger,
    .fb-toc-panel,
    .fb-toc-close {
        animation: none;
        transition: none;
    }
}

/* Aomori 的首个 widget 会清除顶部内边距；FEBIRDY 侧栏卡片需要与 Tags 对齐。 */
.fb-sidebar-inner > #widget > .widget-wrap:first-child {
    padding-top: 22px;
}


/* 主题模式：保留深色科技感，同时为浅色模式提供一套有对比度的语义色。 */
:root {
    color-scheme: dark;
    --fb-secondary-text: #cbd5e1;
    --fb-content-text: #d5dce8;
    --fb-on-accent: #06202a;
    /* GitHub Dark 的代码块基础色，语法 token 在下方按语义着色。 */
    --fb-code-bg: #0d1117;
    --fb-code-border: #30363d;
    --fb-code-text: #c9d1d9;
    --fb-code-comment: #8b949e;
    --fb-code-keyword: #ff7b72;
    --fb-code-string: #a5d6ff;
    --fb-code-number: #79c0ff;
    --fb-code-title: #d2a8ff;
    --fb-code-built-in: #ffa657;
    --fb-code-attr: #79c0ff;
    --fb-code-tag: #7ee787;
    --fb-code-meta: #d2a8ff;
    --fb-code-regexp: #a5d6ff;
    --fb-code-addition: #aff5b4;
    --fb-code-deletion: #ffdcd7;
    --fb-footer-bg: #020611;
    --fb-chip-bg: #1a2a3c;
    --fb-badge-bg: #172a3c;
    --fb-header-bg: rgba(3, 7, 18, .9);
    --fb-overlay: rgba(1, 8, 18, .72);
    --fb-shadow: rgba(0, 0, 0, .45);
    --fb-profile-note-bg: rgba(17, 24, 39, .65);
    --fb-line-subtle: rgba(36, 48, 68, .7);
    --fb-gradient-start: #b8eaf2;
    --fb-accent-hover: #a4f4ff;
    --fb-search-unavailable-bg: #06101d;
    --fb-toc-overlay: rgba(3, 7, 18, .92);
    --fb-inline-code-bg: rgba(103, 232, 249, .1);
    --fb-count-bg: #06101d;
}

:root[data-theme='auto'] {
    color-scheme: light dark;
}

:root[data-theme-effective='light'] {
    color-scheme: light;
    --fb-bg: #f3f7fb;
    --fb-surface: #ffffff;
    --fb-surface-2: #edf3f7;
    --fb-line: #d7e1ea;
    --fb-text: #0f172a;
    --fb-muted: #64748b;
    --fb-cyan: #0e7490;
    --fb-blue: #0369a1;
    --fb-secondary-text: #475569;
    --fb-content-text: #334155;
    --fb-on-accent: #f0fdff;
    /* GitHub Light 的代码块基础色，避免浅色页面中仍嵌一块深色代码区。 */
    --fb-code-bg: #f6f8fa;
    --fb-code-border: #d0d7de;
    --fb-code-text: #24292f;
    --fb-code-comment: #6e7781;
    --fb-code-keyword: #cf222e;
    --fb-code-string: #0a3069;
    --fb-code-number: #0550ae;
    --fb-code-title: #8250df;
    --fb-code-built-in: #953800;
    --fb-code-attr: #0550ae;
    --fb-code-tag: #116329;
    --fb-code-meta: #8250df;
    --fb-code-regexp: #0a3069;
    --fb-code-addition: #116329;
    --fb-code-deletion: #82071e;
    --fb-footer-bg: #e9f0f5;
    --fb-chip-bg: #dbeef3;
    --fb-badge-bg: #dff3f7;
    --fb-header-bg: rgba(243, 247, 251, .92);
    --fb-overlay: rgba(15, 23, 42, .42);
    --fb-shadow: rgba(15, 23, 42, .18);
    --fb-profile-note-bg: rgba(237, 243, 247, .92);
    --fb-line-subtle: rgba(215, 225, 234, .92);
    --fb-gradient-start: #0e7490;
    --fb-accent-hover: #0b6178;
    --fb-search-unavailable-bg: #eaf3f7;
    --fb-toc-overlay: rgba(15, 23, 42, .42);
    --fb-inline-code-bg: rgba(14, 116, 144, .1);
    --fb-count-bg: #dbeef3;
}

:root[data-theme-effective='light'] .fb-header {
    background: var(--fb-header-bg);
}

:root[data-theme-effective='light'] .fb-nav a,
:root[data-theme-effective='light'] .fb-portal,
:root[data-theme-effective='light'] .fb-mobile-nav a,
:root[data-theme-effective='light'] .fb-excerpt,
:root[data-theme-effective='light'] .widget-inner,
:root[data-theme-effective='light'] .widget-inner a,
:root[data-theme-effective='light'] .fb-archive-item,
:root[data-theme-effective='light'] .fb-tag-pill,
:root[data-theme-effective='light'] .fb-about-quote,
:root[data-theme-effective='light'] .fb-about-card,
:root[data-theme-effective='light'] .fb-about-focus > div,
:root[data-theme-effective='light'] .fb-error-posts a,
:root[data-theme-effective='light'] .fb-secondary-button {
    color: var(--fb-secondary-text);
}

:root[data-theme-effective='light'] .fb-post-content,
:root[data-theme-effective='light'] .fb-post-content blockquote,
:root[data-theme-effective='light'] .fb-post .article-nav-title {
    color: var(--fb-content-text);
}

:root[data-theme-effective='light'] .fb-post-content a,
:root[data-theme-effective='light'] .fb-post-kicker a,
:root[data-theme-effective='light'] .fb-post-tags a,
:root[data-theme-effective='light'] .fb-post-content h2,
:root[data-theme-effective='light'] .fb-taxonomy-index,
:root[data-theme-effective='light'] .fb-taxonomy-count,
:root[data-theme-effective='light'] .fb-taxonomy-link,
:root[data-theme-effective='light'] .fb-about-hero p,
:root[data-theme-effective='light'] .fb-about-focus b,
:root[data-theme-effective='light'] .fb-about-links span,
:root[data-theme-effective='light'] .fb-error-posts b,
:root[data-theme-effective='light'] .fb-search-box .form-icon {
    color: var(--fb-cyan);
}

:root[data-theme-effective='light'] .fb-card-footer {
    border-top-color: var(--fb-line-subtle);
}

:root[data-theme-effective='light'] .fb-profile p {
    background: var(--fb-profile-note-bg);
    color: var(--fb-content-text);
}

:root[data-theme-effective='light'] .fb-pagination .current,
:root[data-theme-effective='light'] .fb-container .pagination .page-number.current,
:root[data-theme-effective='light'] #backtop {
    border-color: var(--fb-cyan);
    background: var(--fb-cyan);
    color: var(--fb-on-accent);
}

:root[data-theme-effective='light'] .fb-footer {
    background: var(--fb-footer-bg);
}

:root[data-theme-effective='light'] .fb-post-content pre {
    background: var(--fb-code-bg);
}

:root[data-theme-effective='light'] .fb-post-content code {
    background: var(--fb-inline-code-bg);
    color: var(--fb-cyan);
}

:root[data-theme-effective='light'] .fb-post-content pre code {
    background: none;
    color: var(--fb-code-text);
}

/* 覆盖 Aomori post.css 的高优先级规则，确保行内代码在两种主题下都清晰可读。 */
.fb-post-content.post-inner-html p code {
    padding: 3px 6px;
    border: 1px solid var(--fb-code-border);
    border-radius: 4px;
    background: var(--fb-inline-code-bg);
    color: var(--fb-code-text);
    font-size: .88em;
}

:root[data-theme-effective='light'] .fb-post-content.post-inner-html p code {
    color: var(--fb-cyan);
}

:root[data-theme-effective='light'] .fb-tag-pill b {
    background: var(--fb-count-bg);
    color: var(--fb-muted);
}

:root[data-theme-effective='light'] .fb-about-tools span {
    background: var(--fb-chip-bg);
    color: var(--fb-content-text);
}

:root[data-theme-effective='light'] .fb-error-code {
    background: linear-gradient(180deg, var(--fb-gradient-start) 0%, rgba(14, 116, 144, .15) 90%);
}

:root[data-theme-effective='light'] .fb-error-badge {
    background: var(--fb-badge-bg);
}

:root[data-theme-effective='light'] .fb-search-modal {
    background: var(--fb-overlay);
}

:root[data-theme-effective='light'] .fb-search-dialog {
    box-shadow: 0 20px 80px var(--fb-shadow);
}

:root[data-theme-effective='light'] .fb-search-unavailable {
    background: var(--fb-search-unavailable-bg);
}

:root[data-theme-effective='light'] .fb-site.fb-toc-open .sidebar {
    background: var(--fb-toc-overlay);
}

:root[data-theme-effective='light'] .fb-primary-button {
    color: var(--fb-on-accent);
}

:root[data-theme-effective='light'] .fb-primary-button:hover {
    background: var(--fb-accent-hover);
}

:root[data-theme-effective='light'] .widget .widget-wrap .widget-title {
    color: var(--fb-text);
}

:root[data-theme-effective='light'] .widget .widget-tags .tag-list .tag-list-item {
    border-color: var(--fb-line);
}

:root[data-theme-effective='light'] .widget .widget-tags .tag-list .tag-list-item a {
    color: var(--fb-content-text);
}

:root[data-theme-effective='light'] .widget .widget-tags .tag-list .tag-list-item:hover a {
    color: var(--fb-cyan);
}

/* 侧栏标签只保留列表项的虚线边框，避免链接内层实线形成双重边框。 */
.fb-sidebar-inner .widget-tags .tag-list .tag-list-item a {
    border: 0;
}

.fb-sidebar-inner .widget-tags .tag-list .tag-list-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    margin-left: 5px;
    padding: 1px 5px;
    border-radius: 999px;
    background: var(--fb-count-bg);
    color: var(--fb-muted);
    font: 11px ui-monospace, SFMono-Regular, Menlo, monospace;
    line-height: 1.2;
}

.fb-theme-switch {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px;
    border: 1px solid var(--fb-line);
    border-radius: 999px;
    background: var(--fb-surface-2);
}

.fb-theme-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 30px;
    height: 28px;
    padding: 0 7px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--fb-muted);
    font: inherit;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
    transition: background .18s, color .18s, box-shadow .18s;
}

.fb-theme-option:hover {
    color: var(--fb-cyan);
}

.fb-theme-option.is-active {
    background: var(--fb-cyan);
    color: var(--fb-on-accent);
    box-shadow: 0 0 12px rgba(103, 232, 249, .2);
}

.fb-theme-option:focus-visible {
    outline: 2px solid var(--fb-cyan);
    outline-offset: 2px;
}

@media(max-width:600px) {
    .fb-actions {
        gap: 8px;
    }

    .fb-theme-switch {
        gap: 1px;
        padding: 2px;
    }

    .fb-theme-option {
        width: 29px;
        min-width: 29px;
        height: 28px;
        padding: 0;
        font-size: 14px;
    }

    .fb-theme-option-label {
        display: none;
    }
}

@media(prefers-reduced-motion:reduce) {
    .fb-theme-option {
        transition: none;
    }
}

/* 主题切换动画只在用户主动切换或系统主题变化时启用，首次加载保持无闪烁。 */
@media(prefers-reduced-motion:no-preference) {
    :root.fb-theme-transitioning .fb-site,
    :root.fb-theme-transitioning .fb-site *,
    :root.fb-theme-transitioning .fb-site *::before,
    :root.fb-theme-transitioning .fb-site *::after {
        transition-property: background-color, color, border-color, box-shadow, fill, stroke !important;
        transition-duration: 1s !important;
        transition-timing-function: ease !important;
    }

    :root.fb-theme-transitioning .fb-site::before {
        position: fixed;
        z-index: 20;
        inset: 0;
        pointer-events: none;
        content: '';
        background:
            radial-gradient(circle at 18% 12%, rgba(103, 232, 249, .18), transparent 34%),
            linear-gradient(120deg, rgba(14, 116, 144, .12), transparent 64%);
        animation: fb-theme-wash 1s ease-out both;
    }

    @keyframes fb-theme-wash {
        0% {
            opacity: 0;
            transform: scale(1.02);
        }

        26% {
            opacity: 1;
        }

        100% {
            opacity: 0;
            transform: scale(1);
        }
    }
}

/*
 * Hexo 的 figure.highlight 使用 table 排列行号和代码。
 * 正文表格仍保留原有表格样式；这里只把代码块收敛为 GitHub 风格的单列代码区。
 */
.fb-post-content figure.highlight {
    width: 100%;
    max-width: 100%;
    margin: 1.5em 0;
    overflow: hidden;
    border: 1px solid var(--fb-code-border);
    border-radius: 8px;
    background: var(--fb-code-bg);
    color: var(--fb-code-text);
}

.fb-post-content figure.highlight table {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: visible;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}

.fb-post-content figure.highlight tbody,
.fb-post-content figure.highlight tr {
    display: block;
    width: 100%;
    margin: 0;
}

.fb-post-content figure.highlight td {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: top;
    white-space: normal;
}

/* post.css 对最后一行和奇数行有更高优先级，这里明确清掉它们遗留的表格底色与间距。 */
.fb-post-content.post-inner-html figure.highlight table tbody tr td {
    padding: 0;
    border: 0;
    background: transparent;
}

.fb-post-content figure.highlight .gutter {
    display: none;
}

.fb-post-content figure.highlight .code {
    width: 100%;
}

.fb-post-content figure.highlight pre {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--fb-code-text);
    font-variant-ligatures: none;
    white-space: pre;
}

.fb-post-content figure.highlight pre code {
    display: block;
    min-width: max-content;
    padding: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* Hexo/Highlight.js 兼容的 token 语义色。 */
.fb-post-content figure.highlight .comment,
.fb-post-content figure.highlight .hljs-comment,
.fb-post-content figure.highlight .quote,
.fb-post-content figure.highlight .hljs-quote,
.fb-post-content figure.highlight .doctag,
.fb-post-content figure.highlight .hljs-doctag {
    color: var(--fb-code-comment);
    font-style: italic;
}

.fb-post-content figure.highlight .keyword,
.fb-post-content figure.highlight .hljs-keyword,
.fb-post-content figure.highlight .selector-tag,
.fb-post-content figure.highlight .hljs-selector-tag,
.fb-post-content figure.highlight .subst,
.fb-post-content figure.highlight .hljs-subst {
    color: var(--fb-code-keyword);
}

.fb-post-content figure.highlight .string,
.fb-post-content figure.highlight .hljs-string,
.fb-post-content figure.highlight .regexp,
.fb-post-content figure.highlight .hljs-regexp,
.fb-post-content figure.highlight .link,
.fb-post-content figure.highlight .hljs-link {
    color: var(--fb-code-string);
}

.fb-post-content figure.highlight .number,
.fb-post-content figure.highlight .hljs-number,
.fb-post-content figure.highlight .literal,
.fb-post-content figure.highlight .hljs-literal,
.fb-post-content figure.highlight .variable,
.fb-post-content figure.highlight .hljs-variable,
.fb-post-content figure.highlight .template-variable,
.fb-post-content figure.highlight .hljs-template-variable {
    color: var(--fb-code-number);
}

.fb-post-content figure.highlight .title,
.fb-post-content figure.highlight .hljs-title,
.fb-post-content figure.highlight .section,
.fb-post-content figure.highlight .hljs-section {
    color: var(--fb-code-title);
}

.fb-post-content figure.highlight .built_in,
.fb-post-content figure.highlight .hljs-built_in,
.fb-post-content figure.highlight .builtin-name,
.fb-post-content figure.highlight .hljs-builtin-name,
.fb-post-content figure.highlight .type,
.fb-post-content figure.highlight .hljs-type,
.fb-post-content figure.highlight .class_,
.fb-post-content figure.highlight .hljs-class {
    color: var(--fb-code-built-in);
}

.fb-post-content figure.highlight .attr,
.fb-post-content figure.highlight .hljs-attr,
.fb-post-content figure.highlight .property,
.fb-post-content figure.highlight .hljs-attribute {
    color: var(--fb-code-attr);
}

.fb-post-content figure.highlight .tag,
.fb-post-content figure.highlight .hljs-tag,
.fb-post-content figure.highlight .name,
.fb-post-content figure.highlight .hljs-name {
    color: var(--fb-code-tag);
}

.fb-post-content figure.highlight .meta,
.fb-post-content figure.highlight .hljs-meta {
    color: var(--fb-code-meta);
}

.fb-post-content figure.highlight .symbol,
.fb-post-content figure.highlight .hljs-symbol,
.fb-post-content figure.highlight .bullet,
.fb-post-content figure.highlight .hljs-bullet {
    color: var(--fb-code-built-in);
}

.fb-post-content figure.highlight .addition,
.fb-post-content figure.highlight .hljs-addition {
    background: color-mix(in srgb, var(--fb-code-addition) 18%, transparent);
    color: var(--fb-code-addition);
}

.fb-post-content figure.highlight .deletion,
.fb-post-content figure.highlight .hljs-deletion {
    background: color-mix(in srgb, var(--fb-code-deletion) 18%, transparent);
    color: var(--fb-code-deletion);
}

/* 返回顶部使用真实按钮语义；保留 Aomori 的定位和显示规则，仅补齐浏览器默认按钮样式。 */
#backtop {
    border: 0;
    font: inherit;
    cursor: pointer;
}

#backtop:focus-visible {
    outline: 2px solid var(--fb-cyan);
    outline-offset: 3px;
}
