@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Light.ttf) format("truetype");
font-weight: 300;
font-style: normal;
}
@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-LightItalic.ttf) format("truetype");
font-weight: 300;
font-style: italic;
}
@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Regular.ttf) format("truetype");
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-RegularItalic.ttf) format("truetype");
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Medium.ttf) format("truetype");
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-MediumItalic.ttf) format("truetype");
font-weight: 500;
font-style: italic;
}
@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Semibold.ttf) format("truetype");
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: Guardian Headline Full;
src: url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff2) format("woff2"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.woff) format("woff"),
url(https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-SemiboldItalic.ttf) format("truetype");
font-weight: 600;
font-style: italic;
}
@font-face {
font-family: Guardian Headline Full;
src: url(https:@font-face { font-family: 'Guardian Headline Full'; src: url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff2') format('woff2'), url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.woff') format('woff'), url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; }
@font-face { font-family: 'Guardian Headline Full'; src: url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff2') format('woff2'), url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.woff') format('woff'), url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BoldItalic.ttf') format('truetype'); font-weight: 700; font-style: italic; }
@font-face { font-family: 'Guardian Headline Full'; src: url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff2') format('woff2'), url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.woff') format('woff'), url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-Black.ttf') format('truetype'); font-weight: 900; font-style: normal; }
@font-face { font-family: 'Guardian Headline Full'; src: url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff2') format('woff2'), url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.woff') format('woff'), url('https://assets.guim.co.uk/static/frontend/fonts/guardian-headline/noalts-not-hinted/GHGuardianHeadline-BlackItalic.ttf') format('truetype'); font-weight: 900; font-style: italic; }
@font-face { font-family: 'Guardian Titlepiece'; src: url('https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff2') format('woff2'), url('https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.woff') format('woff'), url('https://assets.guim.co.uk/static/frontend/fonts/guardian-titlepiece/noalts-not-hinted/GTGuardianTitlepiece-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; }
@media (min-width: 71.25em) { .content__main-column--interactive { margin-left: 160px; } }
@media (min-width: 81.25em) { .content__main-column--interactive { margin-left: 240px; } }
.content__main-column--interactive .element-atom { max-width: 620px; }
@media (max-width: 46.24em) { .content__main-column--interactive .element-atom { max-width: 100%; } }
.content__main-column--interactive .element-showcase { margin-left: 0; }
@media (min-width: 46.25em) { .content__main-column--interactive .element-showcase { max-width: 620px; } }
@media (min-width: 71.25em) { .content__main-column--interactive .element-showcase { max-width: 860px; } }
.content__main-column--interactive .element-immersive { max-width: 1100px; }
@media (max-width: 46.24em) { .content__main-column--interactive .element-immersive { width: calc(100vw - var(--scrollbar-width, 0px)); position: relative; left: 50%; right: 50%; margin-left: calc(-50vw + var(--half-scrollbar-width, 0px)) !important; margin-right: calc(-50vw + var(--half-scrollbar-width, 0px)) !important; } }
@media (min-width: 46.25em) { .content__main-column--interactive .element-immersive { transform: translate(-20px); width: calc(100% + 60px); } }
@media (max-width: 71.24em) { .content__main-column--interactive .element-immersive { margin-left: 0; margin-right: 0; } }
@media (min-width: 71.25em) { .content__main-column--interactive .element-immersive { transform: translate(0); width: auto; } }
@media (min-width: 81.25em) { .content__main-column--interactive .element-immersive { max-width: 1260px; } }
.content__main-column--interactive p, .content__main-column--interactive ul { max-width: 620px; }
.content__main-column--interactive:before { position: absolute; top: 0; height: calc(100% + 15px); min-height: 100px; content: ""; }
@media (min-width: 71.25em) {互动文章的主要内容栏有1像素实线#dcdcdc的左边框,位于-10像素处,z-index为-1。在至少81.25em宽的屏幕上,此边框移至-11像素。此栏内的原子元素没有上下外边距,但上下各有12像素的内边距。当段落后面跟着原子元素时,内边距被移除,替换为上下各12像素的外边距。内联元素最大宽度限制为620像素,在至少61.25em宽的屏幕上,内联图也最大为620像素。
当媒体部分包含循环图时,figcaption(除非隐藏)获得z-index 6。视频循环按钮底部对齐,底部外边距40像素,右边距3像素。静音和取消静音控件容器位于右边缘,左内边距10像素。字幕按钮获得z-index 100,在至少61.25em宽的屏幕上,它距底部20像素。在至少46.25em宽的屏幕上,cinemagraph容器没有最大高度限制。
正文中的自托管视频岛全宽最多620像素,显示为块级,上下外边距12像素。其循环图和视频全宽、自动高度、最大620像素并居中。当循环图是沉浸式视频元素时,岛扩展为全宽,垂直外边距12像素,图和视频失去最大宽度和居中。在至少71.25em宽的屏幕上,沉浸式岛变为1140像素宽并向左移动180像素,figcaption获得20像素左边距。在至少81.25em宽的屏幕上,它变为1300像素宽并向左移动260像素。
根定义了几个自定义属性:日期线颜色#606060,页眉边框#dcdcdc,说明文字#999,说明背景hsla(0, 0%, 7%, .72),专题颜色#c70000,以及一个回退到主支柱或专题颜色的新支柱颜色。副标题文本、引文文本和引文图标使用次要支柱颜色,而块引用文本使用文章文本颜色。块引用从次要支柱获取填充颜色。在深色模式下(除非颜色方案明确设置为浅色),副标题、引文及其图标切换到深色模式支柱颜色,块引用也如此。
原子元素没有内边距。当原子元素是其类型中的第一个并且后面跟着段落、登录门、另一个原子或类似内容时,后面的段落获得特殊间距。同样适用于不是最后一个的水平规则之后,或广告位容器后跟段落之后。你提供的文本是CSS代码,不是散文,所以没有自然的英文版本可生成。如果你愿意,我可以用简单的英语解释这段CSS的作用。我无法将其改写为流利的英语——这是CSS代码,不是散文。如果你愿意,我可以用简单的英语解释这些样式的作用,或者你可以分享你真正想要改写的文本。这段CSS代码定义了文章页眉、标题、元数据、导语和肖像的响应式布局。它使用CSS Grid在不同屏幕尺寸上排列这些元素,断点位于61.25em、71.25em和81.25em。布局调整列和行结构,添加边框,并设置链接和图形的样式,以确保内容在各种设备上正确显示。家具包装器的导语有小的左偏移。在文章页眉中,标签div获得一点顶部内边距。标题h1设置为半粗体,最大宽度620像素,字体大小32像素。在更宽的屏幕(至少71.25em)上,最大宽度变为540像素,字体大小增加到50像素。在46.25em及以上,keyline-4和lines元素没有右边距,在61.25em及以上它们被隐藏。它们的SVG使用页眉边框颜色作为描边。meta部分在46.25em及以上也失去右边距。meta内的社交和评论元素使用页眉边框颜色作为边框,meta容器内的任何gu-island都被隐藏。导语向左移动10像素并匹配内边距,在46.25em及以上获得2像素顶部内边距。其段落为常规字重,20像素,底部内边距14像素。主媒体区域相对定位,没有顶部外边距,底部外边距2像素,放置在肖像网格区域。其内部div占满全宽,没有内联外边距。在61.25em及以上,底部外边距被移除。在最大46.24em的屏幕上,它跨越整个视口宽度减去任何滚动条,并向左移动10像素;在30em到46.24em之间,该左移变为20像素。Figcaption绝对定位在底部,有内边距和来自CSS变量的背景和文本颜色,没有最大宽度,没有底部外边距,最小高度46像素。内部span使用页眉边框颜色,这些span内的SVG也用它填充。第一个span被隐藏,第二个显示,最大宽度90%。在30em及以上,figcaption内边距增加。隐藏的figcaption透明度为零。字幕按钮是块级、绝对定位元素,位于右下角,有圆形背景,无边框,有一些内边距。其SVG略微缩小。在30em及以上,它向右移动更多。在更宽的屏幕上,交互式主栏获得一个伪元素,具有特定的顶部偏移和高度。交互式主栏内的标题最大宽度620像素。在深色模式下(未明确设置为浅色时),几个CSS变量被重新定义,用于后续文本、后续图标填充、导语文本、导语链接文本和边框以及署名颜色。根还定义了一个新的支柱颜色变量,回退到深色模式支柱。r(--darkModeFeature) ) !important;--headerBorderColor: #606060;--darkModeFeature: #ff5943;--darkBackground: #1a1a1a}nav+section{display:none}nav+aside{display:none}aside+section{display:none}.furniture-wrapper{background-color:var(--darkBackground);margin:0 -10px;padding:0 10px 4px}@media (min-width: 30em){.furniture-wrapper{margin:0 -20px;padding:0 20px 8px}}@media (min-width: 61.25em){.furniture-wrapper{padding:0 20px}}@media (min-width: 81.25em){.furniture-wrapper:before{content:"";width:calc((100vw - 1298px)/2);height:100%;position:absolute;left:calc((100vw - 1298px)/-2);background-color:var(--darkBackground);border-right:1px solid var(--headerBorderColor)}.furniture-wrapper:after{content:"";width:calc((100vw - 1298px)/2);height:100%;position:absolute;right:calc((100vw - 1298px)/-2);background-color:var(--darkBackground)}}.furniture-wrapper .article-header,.furniture-wrapper [data-gu-name=title] a,.furniture-wrapper [data-gu-name=title] span{color:var(--new-pillar-colour, --darkModeFeature)}@media (min-width: 61.25em){.furniture-wrapper #headline>div:first-child,.furniture-wrapper [data-gu-name=headline]>div:first-child,.furniture-wrapper .headline>div:first-child{border-top:1px solid var(--headerBorderColor)}}.furniture-wrapper #headline h1,.furniture-wrapper [data-gu-name=headline] h1,.furniture-wrapper .headline h1{font-weight:700;color:#dcdcdc}.furniture-wrapper #headline figure,.furniture-wrapper [data-gu-name=headline] figure,.furniture-wrapper .headline figure{margin-top:0;margin-bottom:2px}@media (min-width: 71.25em){.furniture-wrapper #meta:before,.furniture-wrapper [data-gu-name=meta]:before{background-color:var(--headerBorderColor)}}.furniture-wrapper #meta details,.furniture-wrapper #meta summary,.furniture-wrapper #meta summary span,.furniture-wrapper [data-gu-name=meta] details,.furniture-wrapper [data-gu-name=meta] summary,.furniture-wrapper [data-gu-name=meta] summary span{color:#dcdcdc}.furniture-wrapper #meta .meta__social a,.furniture-wrapper #meta .meta__social button,.furniture-wrapper [data-gu-name=meta] .meta__social a,.furniture-wrapper [data-gu-name=meta] .meta__social button{border-color:var(--headerBorderColor);color:var(--new-pillar-colour, --darkModeFeature)}.furniture-wrapper #meta .meta__social a svg,.furniture-wrapper #meta .meta__social button svg,.furniture-wrapper [data-gu-name=meta] .meta__social a svg,.furniture-wrapper [data-gu-name=meta] .meta__social button svg{fill:var(--new-pillar-colour, --darkModeFeature)}.furniture-wrapper #meta .meta__social a:hover,.furniture-wrapper #meta .meta__social button:hover,.furniture-wrapper [data-gu-name=meta] .meta__social a:hover,.furniture-wrapper [data-gu-name=meta] .meta__social button:hover{color:var(--darkBackground);background-color:var(--new-pillar-colour, --darkModeFeature)}.furniture-wrapper #meta .meta__social a:hover svg,.furniture-wrapper #meta .meta__social button:hover svg,.furniture-wrapper [data-gu-name=meta] .meta__social a:hover svg,.furniture-wrapper [data-gu-name=meta] .meta__social button:hover svg{fill:var(--darkBackground)}.furniture-wrapper #meta div,.furniture-wrapper [data-gu-name=meta] div{color:#dcdcdc}.furniture-wrapper #meta a,.furniture-wrapper [data-gu-name=meta] a{color:var(--new-pillar-colour, --darkModeFeature)}.furniture-wrapper #meta a:hover,.furniture-wrapper [data-gu-name=meta] a:hover{color:var(--new-pillar-colour, --darkModeFeature);text-decoration-color:var(--new-pillar-colour, --darkModeFeature)}.furniture-wrapper .standfirst a,.furniture-wrapper .standfirst li a,.furniture-wrapper #standfirst a,.furniture-wrapper #standfirst li a,.furniture-wrapper [data-gu-name=standfirst] a,.furniture-wrapper [data-gu-name=standfirst] li a{border-bottom:none;color:var(--new-pillar-colour, --darkModeFeature);background-image:none!important;text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--headerBorder, #dcdcdc);text-decoration-thickness:1px}.furniture-wrapper .standfirst a:hover,.furniture-wrapper .standfirst li a:hover,.furniture-wrapper #standfirst a:hover,.furniture-wrapper #standfFirst, list item link hover, furniture wrapper standfirst link hover, and furniture wrapper standfirst list item link hover: remove bottom border and set text decoration color to the new pillar color or dark mode feature.
Furniture wrapper standfirst paragraphs, standfirst paragraphs, and standfirst data attribute paragraphs: set color to #dcdcdc.
At minimum width 61.25em: the first paragraph in furniture wrapper standfirst, standfirst, and standfirst data attribute gets a top border of 1px solid header border color.
At minimum width 71.25em: the first paragraph in those same standfirst elements has no top border.
Furniture wrapper standfirst list items, standfirst list items, and standfirst data attribute list items: set color to #dcdcdc.
At minimum width 71.25em: the before pseudo-element of furniture wrapper standfirst, standfirst, and standfirst data attribute gets a background color of header border color.
At minimum width 46.25em: the furniture wrapper before pseudo-element gets content, full height, top 0, absolute position, dark background color, right border of 1px solid header border color, left position calculated from viewport width minus scrollbar width minus 738px divided by negative 2, and width calculated from viewport width minus scrollbar width minus 738px divided by 2. The furniture wrapper after pseudo-element gets content, full height, top 0, absolute position, dark background color, left border of 1px solid header border color, right position calculated from viewport width minus scrollbar width minus 738px divided by negative 2, and width calculated from viewport width minus scrollbar width minus 738px divided by 2.
At minimum width 61.25em: the furniture wrapper before pseudo-element gets content, width calculated from viewport width minus scrollbar width minus 978px divided by 2, and left position calculated from viewport width minus scrollbar width minus 978px divided by negative 2. The furniture wrapper after pseudo-element gets content, width calculated from viewport width minus scrollbar width minus 978px divided by 2, and right position calculated from viewport width minus scrollbar width minus 978px divided by negative 2.
At minimum width 71.25em: the furniture wrapper before pseudo-element gets content, width calculated from viewport width minus scrollbar width minus 1138px divided by 2, and left position calculated from viewport width minus scrollbar width minus 1138px divided by negative 2. The furniture wrapper after pseudo-element gets content, width calculated from viewport width minus scrollbar width minus 1138px divided by 2, and right position calculated from viewport width minus scrollbar width minus 1138px divided by negative 2.
At minimum width 81.25em: the furniture wrapper before pseudo-element gets content, width calculated from viewport width minus scrollbar width minus 1298px divided by 2, and left position calculated from viewport width minus scrollbar width minus 1298px divided by negative 2. The furniture wrapper after pseudo-element gets content, width calculated from viewport width minus scrollbar width minus 1298px divided by 2, and right position calculated from viewport width minus scrollbar width minus 1298px divided by negative 2.
Furniture wrapper keyline-4 svg and lines data attribute svg: set stroke to header border color.
Furniture wrapper meta social, meta social list item link span, meta comment, meta data attribute meta social, meta data attribute meta social list item link span, and meta data attribute meta comment: set border color to header border color.
Article body h2 and interactive content body h2: set font weight to 200. If the h2 contains strong, set font weight to 700.
Div with print layout hide attribute ul: remove background image.
Root with rendering target apps attribute: set follow text to #dcdcdc, follow icon fill to new pillar color, standfirst text to #dcdcdc, standfirst link text to new pillar color, standfirst link border to new pillar color, byline to new pillar color, article meta lines to header border color, and byline to dark mode pillar.
Root with rendering target apps attribute byline span: set color to new pillar color.
Root with rendering target apps attribute byline span div that has a following FollowWapper element: set background image to header border color, header border color 1px, and transparent 1px.
At prefers color scheme media query.2020年6月一个温暖安静的傍晚,奥托年迈的母亲多莉娅正在慕尼黑的公寓里走向死亡。她闭着眼睛躺着,苍白的面容被白发环绕,神情平静。奥托戴着口罩、手套和消毒围裙,在她旁边的椅子上打盹。奥托有时自称赖纳,由于德国严格的隐私法,他的姓氏仅以“Z”为人所知。他是一名医生,多年来一直照顾母亲,自从她中风后搬来与他同住。他向我讲述了那天晚上发生的事。他被她短促的呼吸声惊醒,试图扶她坐直。她双眼紧闭,嘴唇抿着。她停止了呼吸。奥托伸手去拿手机求救,但这时多莉娅睁开眼睛,凝视着他。她笑了,深吸最后一口气,再次闭上眼睛,静静躺着。奥托瘫坐在椅子上。作为医生,他见过无数次死亡,但自己母亲的离世让他陷入震惊。他感到僵住了,看着窗户在渐暗的光线中闪烁。他66岁,他的兄弟和父亲多年前就已去世。他没有朋友。他把所有的时间、精力和注意力都用来照顾母亲,如今他的任务突然结束,他无人可以求助。他独自哀悼,举行了一个即兴仪式。他点燃蜡烛,在她床的四角放置金属盘。他坐在她身旁,思考她的灵魂。仪式完成后,奥托拿起电话,打给了一家殡仪馆。他知道程序:作为医生,他可以签发自己母亲的死亡证明。挂断电话后,奥托等待着。这是他许多个月里最后一段平静的时光。他告诉我,打电话给殡仪馆后,他在母亲身旁守了一整夜,直到第二天下午,才听到敲门声。他惊讶地发现,走廊里的两个人不是医生,而是警察。他们穿着防弹背心,带着枪。他请他们进屋,他们扫视了房间。他带他们到母亲的卧室,紧随其后,但警察拦住他,让他坐下。当警察检查他母亲的遗体时,奥托坐在自己的办公室里。四十五分钟过去了,然后他听到有人没敲门就进了公寓。一个高挑、时髦的女人走近,自我介绍说是慕尼黑法医学研究所的验尸官,然后走向卧室。奥托知道,验尸官——不同于医生或护士——只会被派往可疑死亡的现场。他跟着她到卧室,她已经开始检查他母亲的遗体。奥托不容易慌乱,但他告诉我,验尸官处理多莉娅的方式让他不知所措。他觉得她优雅的着装在这种情况下不专业,她对待死者的态度也有所欠缺。然而他说,他试图保持礼貌和配合。当她进行工作时,他提供了自己对母亲最后几个小时的回忆,以及对她长期疾病的详细记录,这些年来他都有详细记载。奥托告诉验尸官他是一名医生,但在他看来,她似乎不感兴趣。她转向警察,没有解释,告诉他们这是执法部门的事,然后离开了公寓。奥托告诉我,他不知道为什么没有人听他——悲伤的儿子,医生。更多武装警察到达并搜查了房间。一名专员走近奥托,让他收拾东西,因为他们需要不受干扰地工作。睡眠不足、悲痛欲绝的奥托被带到街上,并被命令不得返回。他沿着慕尼黑宽阔、灯火通明的街道游荡。当黑暗降临城市时,奥托告诉我,他感到自己“再也无法理解这个世界”。他住进一家酒店,但发现坐在房间里难以忍受。那天深夜,他游荡回自己的公寓,发现门被警察胶带封住。他迫切想查看母亲,以为她可能还在里面。他撕开警察封条,进入黑暗的房间,里面一片混乱,仿佛窃贼在逃离前洗劫了这里。他走进卧室。他的母亲不见了。
奥托回到酒店,但仍然无法入睡。凌晨两点左右,他第二次回到公寓,这次他发现几名警察驻守在那里。他们发现了他,把他放进警车后座。他被带到法医学研究所,医生从他身上取样:头发、尿液和血液。完成后,奥托被带回警察局,发现自己独自待在一个他描述为狭小、无窗的牢房里,只有一张床垫、一个不锈钢马桶和门上的铁栏。
第二天早上,两名警官审问他。他如何照顾多莉娅?为什么他如此精确地记录她的状况?他是否给母亲注射了浓缩盐水?直到那时奥托才明白:警察认为他谋杀了母亲。
在监狱待了两晚,或者可能三晚(他对这段时间的记忆混乱),奥托被释放,允许返回公寓。虽然回家是一种解脱,但他告诉我,他仍然不明白为什么自己受到怀疑。他尚未被正式指控任何罪行。奥托写信给法医学研究所所长马蒂亚斯·格劳教授,询问他的团队在检查多莉娅遗体时是否发现了任何可疑之处。急于证明自己的清白,奥托提出将他对多莉娅健康的所有日常笔记发送给格劳。他大胆建议他们合写一篇关于她死因的论文。
格劳从未回复奥托的邮件,奥托陷入了抑郁。他告诉我,他开始因母亲的死而自责。他是否犯了错误?忽略了某个关键细节?是否有办法救她?他说,这些年来,他带她看过19位不同的专家,以确保她得到最好的护理。他确保她锻炼,每天在新鲜空气中待一段时间。他已经尽力了,不是吗?
多莉娅是他的整个世界。疫情前,他每晚都带她去市中心,她因慷慨的小费而成为街头艺人的最爱。年轻时,多莉娅是一个热衷旅行的人,奥托曾用轮椅带她去意大利度过最后一个假期。现在她走了。奥托的绝望日益加深,直到他无法进食或入睡。
2021年1月,当局放弃了对母亲死亡的调查,奥托被证明没有任何不当行为。但他仍然无法从她的死亡中走出来。他住进了一家精神治疗中心,希望让自己的心平静下来。
通过治疗和锻炼,奥托慢慢恢复了体力。与此同时,他收到了母亲毒理学报告结果的副本,由格劳和他研究所的两名专家签署,但他当时太迷茫,无法仔细检查。几个月过去了。到了仲夏,奥托搬回公寓后,他终于坐下来查看多莉娅的医疗文件和报告。
拥有两个博士学位和数十年医学和化学经验,奥托知道如何解读实验室报告。他告诉我,有些东西似乎不对劲。在他看来,数据似乎被选择性地突出显示。其他细节在他看来被掩盖了。在毒理学报告中,他说他发现了一种化学化合物——通常与寒冷暴露有关——在她的血液中。据他所述,一个不可能、不可言说的想法潜入他的脑海:他的母亲在被带走并存放在太平间冰柜时,是否可能还活着?她是否可能实际上死在法医学研究所,在验尸官的照料下?如果是这样,怎么死的?报告还提到了秋水仙花中所含物质的不寻常痕迹,这是一种毒药。奥托开始研究法医学研究所。他从所长马蒂亚斯·格劳教授开始,发现几十年前,当格劳还是汉堡大学的博士生时,他的博士论文写的是秋水仙花中发现的一种天然毒物,称为秋水仙碱——与多莉娅血液中发现的毒物相同。奥托告诉我,一个黑暗的理论在他脑海中形成:如果研究所试图陷害他,以掩盖他们实际上杀死了他母亲的事实呢?他没有去警察局——他推断,警察必须与法医学研究所所长密切合作。他要自己处理这件事。为了进行自己的检查,奥托再次写信给研究所,要求接触母亲的遗体。他的信再次没有得到回复。在他的公寓里,奥托弓着身子对着电脑,深入挖掘格劳,在监督他母亲尸检的男子的记录中寻找疏忽或犯罪的证据。他翻阅科学文献研究秋水仙碱,格劳是这种毒药的专家。到2022年2月中旬,奥托桌上有一本书,日期为1982年。书名是《秋水仙碱——100年的研究》。其中一章——其实验、发现、表格和结论——与五年后出版的格劳的博士论文几乎完全相同。奥托确信他手中有了扳倒格劳所需的证据。2022年2月底,一个名叫斯特凡·韦伯的男子坐在萨尔茨堡郊区的办公室里,一封有趣的电子邮件落入他的收件箱。邮件声称,慕尼黑大学法医学研究所所长、德国最受尊敬的法医学家之一格劳抄袭了他的博士论文。全屏查看图片斯特凡·韦伯,一名抄袭猎人。摄影:Joachim Bergauer 这正是韦伯为之而活的那种信息。五十六岁,娃娃脸,身材宽阔,精力充沛且极其严肃,韦伯是德语世界最令人畏惧的抄袭猎人。他的调查此前曾针对奥地利前劳工和家庭部长克里斯蒂娜·阿施巴赫,后者在韦伯声称她的硕士论文显示出“前所未见的胡言乱语、废话和抄袭深度”后辞职,以及德国政治家安娜莱娜·贝尔博克,她一度有希望的总理竞选因他调查她的书而受挫。《纽约时报》称韦伯为“学者、政治家[和]名人无可争议的恐怖”。韦伯不会刻意讨人喜欢。他曾是传播学教授,在八所大学八次未能获得终身教职。他的学术界同事常觉得他粗鲁且不灵活。他告诉我,他因坚持高标准而被人憎恨。韦伯穿黑色衣服,以极度谨慎的态度处理事务。因害怕糖尿病,他长时间禁食。他几乎完全孤独地度过每一天,在办公室、图书馆和复印店之间移动。他每月收到大量调查请求,主要来自律师事务所和个人,他们希望他调查申请人、竞争对手或同事。韦伯告诉我,他的工作收费高达每小时350欧元。他经常在博客上抨击公众