/* 顶部使用全站 page / page-head；这里仅定义专题特有的信息与侧栏。 */
.hub-profile{margin-bottom:var(--sp-6)}
.hub-info{margin:0;border-top:1px solid var(--c-border)}
.hub-info>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--c-line-soft);font-size:var(--fs-sm);line-height:var(--lh-body)}
.hub-info dt{color:var(--c-text-faint)}.hub-info dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2) var(--sp-3);margin:0;color:var(--c-text-muted)}
.hub-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2);list-style:none;padding:0;margin:0}
.hub-tags li{padding:2px var(--sp-2);background:var(--c-surface-2);border-radius:3px;font-size:var(--fs-xs);line-height:1.6}
.hub-field-note{font-size:var(--fs-xs);color:var(--c-text-faint)}
.hub-sources{font-size:var(--fs-xs);line-height:1.75;color:var(--c-text-faint);margin-top:var(--sp-3)}.hub-sources a{color:var(--c-brand)}
.hub-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-7);align-items:start}
.hub-section{margin-bottom:var(--sp-6)}.hub-section-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--c-border);padding-bottom:var(--sp-3);gap:var(--sp-4)}
.hub-section h2,.hub-side h2{font-size:var(--fs-h3);margin:0}.hub-section-head>span{font-size:var(--fs-xs);color:var(--c-text-faint)}
.hub-article-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);font-size:var(--fs-xs);line-height:1.6;color:var(--c-text-faint);margin:var(--sp-3) 0}
.hub-empty{padding:var(--sp-5) 0;color:var(--c-text-faint);font-size:var(--fs-sm)}
.hub-main .catalog-report-row{margin:var(--sp-4) 0 0;background:var(--c-surface);border:0}
.hub-main .report-heading{display:block}.hub-main .report-meta{margin:var(--sp-2) 0 0}.hub-main .activity-hint{display:none}
.hub-side>section{margin-bottom:var(--sp-6)}.hub-recommend>article{padding:var(--sp-5);margin-top:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md)}
.hub-recommend h3{font-size:var(--fs-h4);line-height:1.5;margin:var(--sp-3) 0}.hub-recommend p{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--c-text-muted);margin:0}.hub-recommend .btn{width:100%;margin-top:var(--sp-4)}
.hub-explore>a{display:flex;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--c-border);font-size:var(--fs-sm);color:var(--c-brand)}.hub-explore h2{font-size:var(--fs-body);margin-bottom:var(--sp-3)}
.hub-metrics{margin-bottom:var(--sp-6)}
.hub-coverage{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--c-text-faint);margin:var(--sp-4) 0 var(--sp-3)}
.hub-children .prog{margin-bottom:var(--sp-5)}.hub-child-details summary{font-size:var(--fs-xs);color:var(--c-brand);cursor:pointer;margin-bottom:var(--sp-4)}
.hub-child-list{display:grid;gap:var(--sp-3)}.hub-child{display:block;border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--sp-4);transition:background var(--dur-fast)}.hub-child:hover{background:var(--c-brand-soft)}
.hub-child-name{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2)}.hub-child-name b{min-width:0;font-size:var(--fs-sm);line-height:1.6;font-weight:500}
.hub-child-meta{display:flex;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--c-text-faint);margin-top:var(--sp-2)}

.hub-custom{margin-top:0}.hub-custom h2{font-size:var(--fs-h3);line-height:1.6;color:var(--c-on-brand)}
@media(max-width:1023px){.hub-layout{grid-template-columns:minmax(0,1fr) 260px;gap:var(--sp-5)}.hub-main .catalog-report-row{grid-template-columns:minmax(0,1fr)}.hub-main .report-actions{align-items:flex-start;text-align:left;justify-self:start}}
@media(max-width:767px){
.hub-info>div{grid-template-columns:64px minmax(0,1fr);gap:var(--sp-3)}
.hub-layout{display:flex;flex-direction:column;gap:0}.hub-main,.hub-side{width:100%;min-width:0}.hub-profile,.hub-section,.hub-metrics,.hub-side>section{margin-bottom:var(--sp-5)}
.hub-custom{margin-top:var(--sp-2)}.hub-custom .btn{min-height:44px}
}

/* 大赛道先选方向，报告占据右侧主要阅读宽度。 */
.hub-root-layout{grid-template-columns:280px minmax(0,1fr)}
.hub-root-layout .hub-side{position:sticky;top:100px}
.hub-root-layout .hub-child-name b{font-weight:500}
.hub-sample-profile .hub-info>div{grid-template-columns:100px minmax(0,1fr);padding:var(--sp-4) 0}
.hub-sample-profile .hub-info dd{display:block}
.hub-sample-profile .hub-info>div:last-child dd{font-weight:500;color:var(--c-brand)}
.hub-reading-note{font-size:var(--fs-sm);color:var(--c-text-faint);margin:var(--sp-3) 0 var(--sp-5)}
.hub-question-group{margin:var(--sp-6) 0}
.hub-question-group>h3{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-h4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--c-border);margin:0}
.hub-group-title{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.hub-group-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;color:var(--c-brand);background:var(--c-brand-soft);border-radius:var(--radius-sm)}
.hub-group-count{font-size:var(--fs-xs);font-weight:400;color:var(--c-text-faint);white-space:nowrap}
.hub-question{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--sp-3);padding:var(--sp-4) 0}
.hub-question-number{font:500 var(--fs-sm)/1.65 var(--font-mono);color:var(--c-text-faint);padding-top:2px}.hub-question-copy{min-width:0}
.hub-question h4{font-size:var(--fs-body);line-height:1.65;margin:0}
.hub-question h4 a{display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:var(--sp-3);align-items:start}.hub-question h4 a:hover{color:var(--c-brand)}
.hub-question h4 .hub-question-arrow{font-size:var(--fs-sm);color:var(--c-brand);text-align:right}
.hub-question p{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--c-text-muted);margin:var(--sp-2) 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.framework-map{margin-top:var(--sp-4);padding:var(--sp-5);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface)}
.framework-map b{display:block;font-size:var(--fs-sm);font-weight:600;line-height:1.6}
.framework-map p,.framework-map span{font-size:var(--fs-xs);line-height:1.8;margin:var(--sp-2) 0 0;color:var(--c-text-muted)}
.framework-funding{display:flex;gap:var(--sp-3);align-items:baseline;border-bottom:1px solid var(--c-border);padding-bottom:var(--sp-3);margin-bottom:var(--sp-4)}
.framework-funding span{margin:0}.framework-supply{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}
.framework-supply>div{padding:var(--sp-3);background:var(--c-surface-2);border-radius:var(--radius-sm)}
.framework-arrow{text-align:center;color:var(--c-brand);font-size:22px;line-height:1.5;margin:var(--sp-2) 0}
.framework-integrator{padding:var(--sp-4);background:var(--c-brand);color:var(--c-on-brand);text-align:center;border-radius:var(--radius-sm)}
.framework-integrator p{color:var(--c-on-brand-2);margin:var(--sp-2) 0 0}
.framework-demand{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
.framework-demand>div{border:1px solid var(--c-border);padding:var(--sp-3);border-radius:var(--radius-sm)}
.framework-demand span{display:block;margin:0 0 var(--sp-2);color:var(--c-brand)}
.framework-feedback{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px dashed var(--c-border-strong);font-size:var(--fs-xs);color:var(--c-brand);text-align:center;line-height:1.8}
@media(max-width:1023px){.hub-root-layout{grid-template-columns:240px minmax(0,1fr)}.framework-map{padding:var(--sp-4)}}
@media(max-width:767px){
.hub-root-layout .hub-side{position:static}.hub-root-layout .hub-main{margin-top:var(--sp-5)}
.hub-sample-profile .hub-info>div{display:block}.hub-sample-profile dt{margin-bottom:var(--sp-2)}
.framework-funding{display:block}.framework-supply{grid-template-columns:minmax(0,1fr)}
.framework-supply>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:var(--sp-2);align-items:start}.framework-supply p{margin:0}
.framework-demand{grid-template-columns:minmax(0,1fr)}.hub-question-group{margin:var(--sp-5) 0}
}

/* 报告随长文停留，限于双栏阅读区；到页尾自然让位给定制入口。 */
@media(min-width:768px){.hub-layout:not(.hub-root-layout)>.hub-side{position:sticky;top:calc(var(--shell-height) + var(--sp-4))}}
@media(max-width:767px){.hub-question{grid-template-columns:26px minmax(0,1fr);gap:var(--sp-2)}.hub-group-title{gap:var(--sp-2)}.hub-group-icon{width:28px;height:28px}}

.hub-framework-image{border:1px solid var(--border);border-radius:12px;padding:24px;background:#fff;overflow-x:auto}.hub-framework-image img{display:block;width:100%;min-width:720px;height:auto}@media(max-width:767px){.hub-framework-image{padding:12px}}
